struct perf_tool tool;
        struct perf_session *session;
        struct annotation_options opts;
-       bool       use_tui, use_stdio, use_stdio2, use_gtk;
+#ifdef HAVE_SLANG_SUPPORT
+       bool       use_tui;
+#endif
+       bool       use_stdio, use_stdio2;
+       bool       use_gtk;
        bool       skip_missing;
        bool       has_br_stack;
        bool       group_set;
        OPT_BOOLEAN('D', "dump-raw-trace", &dump_trace,
                    "dump raw trace in ASCII"),
        OPT_BOOLEAN(0, "gtk", &annotate.use_gtk, "Use the GTK interface"),
+#ifdef HAVE_SLANG_SUPPORT
        OPT_BOOLEAN(0, "tui", &annotate.use_tui, "Use the TUI interface"),
+#endif
        OPT_BOOLEAN(0, "stdio", &annotate.use_stdio, "Use the stdio interface"),
        OPT_BOOLEAN(0, "stdio2", &annotate.use_stdio2, "Use the stdio interface"),
        OPT_BOOLEAN(0, "ignore-vmlinux", &symbol_conf.ignore_vmlinux,
 
        if (annotate.use_stdio || annotate.use_stdio2)
                use_browser = 0;
+#ifdef HAVE_SLANG_SUPPORT
        else if (annotate.use_tui)
                use_browser = 1;
+#endif
        else if (annotate.use_gtk)
                use_browser = 2;
 
 
        struct perf_tool        tool;
        struct perf_session     *session;
        struct evswitch         evswitch;
-       bool                    use_tui, use_gtk, use_stdio;
+#ifdef HAVE_SLANG_SUPPORT
+       bool                    use_tui;
+#endif
+       bool                    use_gtk;
+       bool                    use_stdio;
        bool                    show_full_info;
        bool                    show_threads;
        bool                    inverted_callchain;
                    "Show per-thread event counters"),
        OPT_STRING(0, "pretty", &report.pretty_printing_style, "key",
                   "pretty printing style key: normal raw"),
+#ifdef HAVE_SLANG_SUPPORT
        OPT_BOOLEAN(0, "tui", &report.use_tui, "Use the TUI interface"),
+#endif
        OPT_BOOLEAN(0, "gtk", &report.use_gtk, "Use the GTK2 interface"),
        OPT_BOOLEAN(0, "stdio", &report.use_stdio,
                    "Use the stdio interface"),
 
        if (report.use_stdio)
                use_browser = 0;
+#ifdef HAVE_SLANG_SUPPORT
        else if (report.use_tui)
                use_browser = 1;
+#endif
        else if (report.use_gtk)
                use_browser = 2;
 
 
                    "display this many functions"),
        OPT_BOOLEAN('U', "hide_user_symbols", &top.hide_user_symbols,
                    "hide user symbols"),
+#ifdef HAVE_SLANG_SUPPORT
        OPT_BOOLEAN(0, "tui", &top.use_tui, "Use the TUI interface"),
+#endif
        OPT_BOOLEAN(0, "stdio", &top.use_stdio, "Use the stdio interface"),
        OPT_INCR('v', "verbose", &verbose,
                    "be more verbose (show counter open errors, etc)"),
 
        if (top.use_stdio)
                use_browser = 0;
+#ifdef HAVE_SLANG_SUPPORT
        else if (top.use_tui)
                use_browser = 1;
+#endif
 
        setup_browser(false);
 
 
        int                print_entries, count_filter, delay_secs;
        int                max_stack;
        bool               hide_kernel_symbols, hide_user_symbols, zero;
-       bool               use_tui, use_stdio;
+#ifdef HAVE_SLANG_SUPPORT
+       bool               use_tui;
+#endif
+       bool               use_stdio;
        bool               vmlinux_warned;
        bool               dump_symtab;
        bool               stitch_lbr;