diff options
Diffstat (limited to 'tools/perf/perf.c')
-rw-r--r-- | tools/perf/perf.c | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/tools/perf/perf.c b/tools/perf/perf.c index 6d50eb0b4251..0f661fbce6a8 100644 --- a/tools/perf/perf.c +++ b/tools/perf/perf.c | |||
@@ -24,6 +24,7 @@ const char perf_more_info_string[] = | |||
24 | 24 | ||
25 | int use_browser = -1; | 25 | int use_browser = -1; |
26 | static int use_pager = -1; | 26 | static int use_pager = -1; |
27 | const char *input_name; | ||
27 | 28 | ||
28 | struct cmd_struct { | 29 | struct cmd_struct { |
29 | const char *cmd; | 30 | const char *cmd; |
@@ -84,21 +85,26 @@ int check_pager_config(const char *cmd) | |||
84 | return c.val; | 85 | return c.val; |
85 | } | 86 | } |
86 | 87 | ||
87 | static int tui_command_config(const char *var, const char *value, void *data) | 88 | static int browser_command_config(const char *var, const char *value, void *data) |
88 | { | 89 | { |
89 | struct pager_config *c = data; | 90 | struct pager_config *c = data; |
90 | if (!prefixcmp(var, "tui.") && !strcmp(var + 4, c->cmd)) | 91 | if (!prefixcmp(var, "tui.") && !strcmp(var + 4, c->cmd)) |
91 | c->val = perf_config_bool(var, value); | 92 | c->val = perf_config_bool(var, value); |
93 | if (!prefixcmp(var, "gtk.") && !strcmp(var + 4, c->cmd)) | ||
94 | c->val = perf_config_bool(var, value) ? 2 : 0; | ||
92 | return 0; | 95 | return 0; |
93 | } | 96 | } |
94 | 97 | ||
95 | /* returns 0 for "no tui", 1 for "use tui", and -1 for "not specified" */ | 98 | /* |
96 | static int check_tui_config(const char *cmd) | 99 | * returns 0 for "no tui", 1 for "use tui", 2 for "use gtk", |
100 | * and -1 for "not specified" | ||
101 | */ | ||
102 | static int check_browser_config(const char *cmd) | ||
97 | { | 103 | { |
98 | struct pager_config c; | 104 | struct pager_config c; |
99 | c.cmd = cmd; | 105 | c.cmd = cmd; |
100 | c.val = -1; | 106 | c.val = -1; |
101 | perf_config(tui_command_config, &c); | 107 | perf_config(browser_command_config, &c); |
102 | return c.val; | 108 | return c.val; |
103 | } | 109 | } |
104 | 110 | ||
@@ -301,7 +307,7 @@ static int run_builtin(struct cmd_struct *p, int argc, const char **argv) | |||
301 | prefix = NULL; /* setup_perf_directory(); */ | 307 | prefix = NULL; /* setup_perf_directory(); */ |
302 | 308 | ||
303 | if (use_browser == -1) | 309 | if (use_browser == -1) |
304 | use_browser = check_tui_config(p->cmd); | 310 | use_browser = check_browser_config(p->cmd); |
305 | 311 | ||
306 | if (use_pager == -1 && p->option & RUN_SETUP) | 312 | if (use_pager == -1 && p->option & RUN_SETUP) |
307 | use_pager = check_pager_config(p->cmd); | 313 | use_pager = check_pager_config(p->cmd); |
@@ -440,6 +446,8 @@ int main(int argc, const char **argv) | |||
440 | { | 446 | { |
441 | const char *cmd; | 447 | const char *cmd; |
442 | 448 | ||
449 | page_size = sysconf(_SC_PAGE_SIZE); | ||
450 | |||
443 | cmd = perf_extract_argv0_path(argv[0]); | 451 | cmd = perf_extract_argv0_path(argv[0]); |
444 | if (!cmd) | 452 | if (!cmd) |
445 | cmd = "perf-help"; | 453 | cmd = "perf-help"; |
@@ -481,6 +489,8 @@ int main(int argc, const char **argv) | |||
481 | } | 489 | } |
482 | cmd = argv[0]; | 490 | cmd = argv[0]; |
483 | 491 | ||
492 | test_attr__init(); | ||
493 | |||
484 | /* | 494 | /* |
485 | * We use PATH to find perf commands, but we prepend some higher | 495 | * We use PATH to find perf commands, but we prepend some higher |
486 | * precedence paths: the "--exec-path" option, the PERF_EXEC_PATH | 496 | * precedence paths: the "--exec-path" option, the PERF_EXEC_PATH |