18cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd/** 28cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * @file opannotate_options.h 38cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * Options for opannotate tool 48cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * 58cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * @remark Copyright 2003 OProfile authors 68cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * @remark Read the file COPYING 78cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * 88cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * @author John Levon 98cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * @author Philippe Elie 108cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd */ 118cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd 128cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd#ifndef OPANNOTATE_OPTIONS_H 138cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd#define OPANNOTATE_OPTIONS_H 148cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd 158cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd#include <string> 168cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd#include <vector> 178cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd 188cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd#include "common_option.h" 198cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd#include "path_filter.h" 208cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd 218cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Doddclass profile_classes; 228cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd 238cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Doddnamespace options { 248cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd extern demangle_type demangle; 258cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd extern bool source; 268cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd extern bool assembly; 278cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd extern string_filter symbol_filter; 288cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd extern path_filter file_filter; 298cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd extern std::string output_dir; 308cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd extern std::vector<std::string> search_dirs; 318cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd extern std::vector<std::string> base_dirs; 328cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd extern std::vector<std::string> objdump_params; 338cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd extern double threshold; 348cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd} 358cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd 368cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd/// classes of sample filenames to handle 378cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Doddextern profile_classes classes; 388cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd 398cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd/** 408cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * handle_options - process command line 418cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * @param spec profile specification 428cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * 438cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd * Process the spec, fatally complaining on error. 448cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd */ 458cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Doddvoid handle_options(options::spec const & spec); 468cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd 478cfa702f803c5ef6a2b062a489a1b2cf66b45b5eMike Dodd#endif // OPANNOTATE_OPTIONS_H 48