diff options
author | Michele Calgaro <michele.calgaro@yahoo.it> | 2019-04-21 23:22:20 +0900 |
---|---|---|
committer | Michele Calgaro <michele.calgaro@yahoo.it> | 2019-04-21 23:22:20 +0900 |
commit | dba036816b279bc1539a9f3894fbc414665d2bce (patch) | |
tree | 29e4bf00bafe515e7afdd02168d65a47a3f9fbc0 /tqtinterface/qt4/qmake/option.cpp | |
parent | 6f1b4f0c7505a049d992a33f6e409b7c75732d4b (diff) | |
download | experimental-dba036816b279bc1539a9f3894fbc414665d2bce.tar.gz experimental-dba036816b279bc1539a9f3894fbc414665d2bce.zip |
Removed unnecessary and/or TDE-unrelated code.
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
Diffstat (limited to 'tqtinterface/qt4/qmake/option.cpp')
-rw-r--r-- | tqtinterface/qt4/qmake/option.cpp | 548 |
1 files changed, 0 insertions, 548 deletions
diff --git a/tqtinterface/qt4/qmake/option.cpp b/tqtinterface/qt4/qmake/option.cpp deleted file mode 100644 index 04c1771..0000000 --- a/tqtinterface/qt4/qmake/option.cpp +++ /dev/null @@ -1,548 +0,0 @@ -/**************************************************************************** -** -** Implementation of Option class. -** -** Copyright (C) 2010 Timothy Pearson and (C) 1992-2008 Trolltech ASA. -** -** This file is part of qmake. -** -** This file may be used under the terms of the GNU General -** Public License versions 2.0 or 3.0 as published by the Free -** Software Foundation and appearing in the files LICENSE.GPL2 -** and LICENSE.GPL3 included in the packaging of this file. -** Alternatively you may (at your option) use any later version -** of the GNU General Public License if such license has been -** publicly approved by Trolltech ASA (or its successors, if any) -** and the KDE Free TQt Foundation. -** -** Please review the following information to ensure GNU General -** Public Licensing requirements will be met: -** http://trolltech.com/products/qt/licenses/licensing/opensource/. -** If you are unsure which license is appropriate for your use, please -** review the following information: -** http://trolltech.com/products/qt/licenses/licensing/licensingoverview -** or contact the sales department at sales@trolltech.com. -** -** This file may be used under the terms of the Q Public License as -** defined by Trolltech ASA and appearing in the file LICENSE.TQPL -** included in the packaging of this file. Licensees holding valid TQt -** Commercial licenses may use this file in accordance with the TQt -** Commercial License Agreement provided with the Software. -** -** This file is provided "AS IS" with NO WARRANTY OF ANY KIND, -** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted -** herein. -** -**********************************************************************/ - -#include "option.h" -#include <tqdir.h> -#include <tqregexp.h> -#include <stdlib.h> -#include <stdarg.h> - -//convenience -TQString Option::prf_ext; -TQString Option::prl_ext; -TQString Option::libtool_ext; -TQString Option::pkgcfg_ext; -TQString Option::ui_ext; -TQStringList Option::h_ext; -TQString Option::cpp_tqmoc_ext; -TQString Option::h_tqmoc_ext; -TQStringList Option::cpp_ext; -TQString Option::obj_ext; -TQString Option::lex_ext; -TQString Option::yacc_ext; -TQString Option::dir_sep; -TQString Option::h_tqmoc_mod; -TQString Option::cpp_tqmoc_mod; -TQString Option::yacc_mod; -TQString Option::lex_mod; - -//mode -Option::TQMAKE_MODE Option::qmake_mode = Option::TQMAKE_GENERATE_NOTHING; - -//all modes -int Option::warn_level = WarnLogic; -int Option::debug_level = 0; -TQFile Option::output(""); -TQString Option::output_dir; -TQStringList Option::before_user_vars; -TQStringList Option::after_user_vars; -TQString Option::user_template; -TQString Option::user_template_prefix; -#if defined(TQ_OS_WIN32) -Option::TARG_MODE Option::target_mode = Option::TARG_WIN_MODE; -#elif defined(TQ_OS_MAC9) -Option::TARG_MODE Option::target_mode = Option::TARG_MAC9_MODE; -#elif defined(TQ_OS_MACX) -Option::TARG_MODE Option::target_mode = Option::TARG_MACX_MODE; -#elif defined(TQ_OS_TQNX6) -Option::TARG_MODE Option::target_mode = Option::TARG_TQNX6_MODE; -#else -Option::TARG_MODE Option::target_mode = Option::TARG_UNIX_MODE; -#endif - -//TQMAKE_*_PROPERTY stuff -TQStringList Option::prop::properties; - -//TQMAKE_GENERATE_PROJECT stuff -bool Option::projfile::do_pwd = TRUE; -bool Option::projfile::do_recursive = TRUE; -TQStringList Option::projfile::project_dirs; - -//TQMAKE_GENERATE_MAKEFILE stuff -TQString Option::mkfile::qmakespec; -int Option::mkfile::cachefile_depth = -1; -bool Option::mkfile::do_deps = TRUE; -bool Option::mkfile::do_tqmocs = TRUE; -bool Option::mkfile::do_dep_heuristics = TRUE; -bool Option::mkfile::do_preprocess = FALSE; -bool Option::mkfile::do_cache = TRUE; -TQString Option::mkfile::cachefile; -TQStringList Option::mkfile::project_files; -TQString Option::mkfile::qmakespec_commandline; - -static Option::TQMAKE_MODE default_mode(TQString progname) -{ - int s = progname.findRev(Option::dir_sep); - if(s != -1) - progname = progname.right(progname.length() - (s + 1)); - if(progname == "qmakegen") - return Option::TQMAKE_GENERATE_PROJECT; - else if(progname == "qt-config") - return Option::TQMAKE_TQUERY_PROPERTY; - return Option::TQMAKE_GENERATE_MAKEFILE; -} - -TQString project_builtin_regx(); -bool usage(const char *a0) -{ - fprintf(stdout, "Usage: %s [mode] [options] [files]\n" - "\n" - " TQMake has two modes, one mode for generating project files based on\n" - "some heuristics, and the other for generating makefiles. Normally you\n" - "shouldn't need to specify a mode, as makefile generation is the default\n" - "mode for qmake, but you may use this to test qmake on an existing project\n" - "\n" - "Mode:\n" - "\t-project Put qmake into project file generation mode%s\n" - "\t In this mode qmake interprets files as files to\n" - "\t be built,\n" - "\t defaults to %s\n" - "\t-makefile Put qmake into makefile generation mode%s\n" - "\t In this mode qmake interprets files as project files to\n" - "\t be processed, if skipped qmake will try to find a project\n" - "\t file in your current working directory\n" - "\n" - "Warnings Options:\n" - "\t-Wnone Turn off all warnings\n" - "\t-Wall Turn on all warnings\n" - "\t-Wparser Turn on parser warnings\n" - "\t-Wlogic Turn on logic warnings\n" - "\n" - "Options:\n" - "\t * You can place any variable assignment in options and it will be *\n" - "\t * processed as if it was in [files]. These assignments will be parsed *\n" - "\t * before [files]. *\n" - "\t-o file Write output to file\n" - "\t-unix Run in unix mode\n" - "\t-win32 Run in win32 mode\n" - "\t-macx Run in Mac OS X mode\n" - "\t-d Increase debug level\n" - "\t-t templ Overrides TEMPLATE as templ\n" - "\t-tp prefix Overrides TEMPLATE so that prefix is prefixed into the value\n" - "\t-help This help\n" - "\t-v Version information\n" - "\t-after All variable assignments after this will be\n" - "\t parsed after [files]\n" - "\t-cache file Use file as cache [makefile mode only]\n" - "\t-spec spec Use spec as TQMAKESPEC [makefile mode only]\n" - "\t-nocache Don't use a cache file [makefile mode only]\n" - "\t-nodepend Don't generate dependencies [makefile mode only]\n" - "\t-notqmoc Don't generate tqmoc targets [makefile mode only]\n" - "\t-nopwd Don't look for files in pwd [ project mode only]\n" - "\t-norecursive Don't do a recursive search [ project mode only]\n" - ,a0, - default_mode(a0) == Option::TQMAKE_GENERATE_PROJECT ? " (default)" : "", project_builtin_regx().latin1(), - default_mode(a0) == Option::TQMAKE_GENERATE_MAKEFILE ? " (default)" : ""); - return FALSE; -} - -enum { - TQMAKE_CMDLINE_SUCCESS, - TQMAKE_CMDLINE_SHOW_USAGE, - TQMAKE_CMDLINE_BAIL -}; -int -Option::internalParseCommandLine(int argc, char **argv, int skip) -{ - bool before = TRUE; - for(int x = skip; x < argc; x++) { - if(*argv[x] == '-' && strlen(argv[x]) > 1) { /* options */ - TQString opt = argv[x] + 1; - - //first param is a mode, or we default - if(x == 1) { - bool specified = TRUE; - if(opt == "project") { - Option::qmake_mode = Option::TQMAKE_GENERATE_PROJECT; - } else if(opt == "prl") { - Option::mkfile::do_deps = FALSE; - Option::mkfile::do_tqmocs = FALSE; - Option::qmake_mode = Option::TQMAKE_GENERATE_PRL; - } else if(opt == "set") { - Option::qmake_mode = Option::TQMAKE_SET_PROPERTY; - } else if(opt == "query") { - Option::qmake_mode = Option::TQMAKE_TQUERY_PROPERTY; - } else if(opt == "makefile") { - Option::qmake_mode = Option::TQMAKE_GENERATE_MAKEFILE; - } else { - specified = FALSE; - } - if(specified) - continue; - } - //all modes - if(opt == "o" || opt == "output") { - Option::output.setName(argv[++x]); - } else if(opt == "after") { - before = FALSE; - } else if(opt == "t" || opt == "template") { - Option::user_template = argv[++x]; - } else if(opt == "tp" || opt == "template_prefix") { - Option::user_template_prefix = argv[++x]; - } else if(opt == "mac9") { - Option::target_mode = TARG_MAC9_MODE; - } else if(opt == "macx") { - Option::target_mode = TARG_MACX_MODE; - } else if(opt == "unix") { - Option::target_mode = TARG_UNIX_MODE; - } else if(opt == "win32") { - Option::target_mode = TARG_WIN_MODE; - } else if(opt == "d") { - Option::debug_level++; - } else if(opt == "version" || opt == "v" || opt == "-version") { - fprintf(stderr, "Qmake version: %s (TQt %s)\n", qmake_version(), TQT_VERSION_STR); - fprintf(stderr, "Qmake is free software from Trolltech ASA.\n"); - return TQMAKE_CMDLINE_BAIL; - } else if(opt == "h" || opt == "help") { - return TQMAKE_CMDLINE_SHOW_USAGE; - } else if(opt == "Wall") { - Option::warn_level |= WarnAll; - } else if(opt == "Wparser") { - Option::warn_level |= WarnParser; - } else if(opt == "Wlogic") { - Option::warn_level |= WarnLogic; - } else if(opt == "Wnone") { - Option::warn_level = WarnNone; - } else { - if(Option::qmake_mode == Option::TQMAKE_GENERATE_MAKEFILE || - Option::qmake_mode == Option::TQMAKE_GENERATE_PRL) { - if(opt == "nodepend") { - Option::mkfile::do_deps = FALSE; - } else if(opt == "notqmoc") { - Option::mkfile::do_tqmocs = FALSE; - } else if(opt == "nocache") { - Option::mkfile::do_cache = FALSE; - } else if(opt == "nodependheuristics") { - Option::mkfile::do_dep_heuristics = FALSE; - } else if(opt == "E") { - Option::mkfile::do_preprocess = TRUE; - } else if(opt == "cache") { - Option::mkfile::cachefile = argv[++x]; - } else if(opt == "platform" || opt == "spec") { - Option::mkfile::qmakespec = argv[++x]; - Option::mkfile::qmakespec_commandline = argv[x]; - } else { - fprintf(stderr, "***Unknown option -%s\n", opt.latin1()); - return TQMAKE_CMDLINE_SHOW_USAGE; - } - } else if(Option::qmake_mode == Option::TQMAKE_GENERATE_PROJECT) { - if(opt == "nopwd") { - Option::projfile::do_pwd = FALSE; - } else if(opt == "r") { - Option::projfile::do_recursive = TRUE; - } else if(opt == "norecursive") { - Option::projfile::do_recursive = FALSE; - } else { - fprintf(stderr, "***Unknown option -%s\n", opt.latin1()); - return TQMAKE_CMDLINE_SHOW_USAGE; - } - } - } - } else { - TQString arg = argv[x]; - if(arg.find('=') != -1) { - if(before) - Option::before_user_vars.append(arg); - else - Option::after_user_vars.append(arg); - } else { - bool handled = TRUE; - if(Option::qmake_mode == Option::TQMAKE_TQUERY_PROPERTY || - Option::qmake_mode == Option::TQMAKE_SET_PROPERTY) { - Option::prop::properties.append(arg); - } else { - TQFileInfo fi(arg); - if(!fi.convertToAbs()) //strange - arg = fi.filePath(); - if(Option::qmake_mode == Option::TQMAKE_GENERATE_MAKEFILE || - Option::qmake_mode == Option::TQMAKE_GENERATE_PRL) - Option::mkfile::project_files.append(arg); - else if(Option::qmake_mode == Option::TQMAKE_GENERATE_PROJECT) - Option::projfile::project_dirs.append(arg); - else - handled = FALSE; - } - if(!handled) - return TQMAKE_CMDLINE_SHOW_USAGE; - } - } - } - return TQMAKE_CMDLINE_SUCCESS; -} - - -bool -Option::parseCommandLine(int argc, char **argv) -{ - Option::cpp_tqmoc_mod = ""; - Option::h_tqmoc_mod = "tqmoc_"; - Option::lex_mod = "_lex"; - Option::yacc_mod = "_yacc"; - Option::prl_ext = ".prl"; - Option::libtool_ext = ".la"; - Option::pkgcfg_ext = ".pc"; - Option::prf_ext = ".prf"; - Option::ui_ext = ".ui"; - Option::h_ext << ".h" << ".hpp" << ".hh" << ".H" << ".hxx"; - Option::cpp_tqmoc_ext = ".tqmoc"; - Option::h_tqmoc_ext = ".cpp"; - Option::cpp_ext << ".cpp" << ".cc" << ".cxx" << ".C"; - Option::lex_ext = ".l"; - Option::yacc_ext = ".y"; - - if(Option::qmake_mode == Option::TQMAKE_GENERATE_NOTHING) - Option::qmake_mode = default_mode(argv[0]); - if(const char *envflags = getenv("TQMAKEFLAGS")) { - int env_argc = 0, env_size = 0, currlen=0; - char quote = 0, **env_argv = NULL; - for(int i = 0; envflags[i]; i++) { - if(!quote && (envflags[i] == '\'' || envflags[i] == '"')) { - quote = envflags[i]; - } else if(envflags[i] == quote) { - quote = 0; - } else if(!quote && envflags[i] == ' ') { - if(currlen && env_argv && env_argv[env_argc]) { - env_argv[env_argc][currlen] = '\0'; - currlen = 0; - env_argc++; - } - } else { - if(!env_argv || env_argc > env_size) { - env_argv = (char **)realloc(env_argv, sizeof(char *)*(env_size+=10)); - for(int i2 = env_argc; i2 < env_size; i2++) - env_argv[i2] = NULL; - } - if(!env_argv[env_argc]) { - currlen = 0; - env_argv[env_argc] = (char*)malloc(255); - } - if(currlen < 255) - env_argv[env_argc][currlen++] = envflags[i]; - } - } - if(env_argv[env_argc]) { - env_argv[env_argc][currlen] = '\0'; - currlen = 0; - env_argc++; - } - internalParseCommandLine(env_argc, env_argv); - for(int i2 = 0; i2 < env_size; i2++) { - if(env_argv[i2]) - free(env_argv[i2]); - } - free(env_argv); - } - { - int ret = internalParseCommandLine(argc, argv, 1); - if(ret != TQMAKE_CMDLINE_SUCCESS) - return ret == TQMAKE_CMDLINE_SHOW_USAGE ? usage(argv[0]) : FALSE; - } - - //last chance for defaults - if(Option::qmake_mode == Option::TQMAKE_GENERATE_MAKEFILE || - Option::qmake_mode == Option::TQMAKE_GENERATE_PRL) { - if(Option::mkfile::qmakespec.isNull() || Option::mkfile::qmakespec.isEmpty()) - Option::mkfile::qmakespec = getenv("TQMAKESPEC"); - - //try REALLY hard to do it for them, lazy.. - if(Option::mkfile::project_files.isEmpty()) { - TQString pwd = TQDir::currentDirPath(), - proj = pwd + "/" + pwd.right(pwd.length() - (pwd.findRev('/') + 1)) + ".pro"; - if(TQFile::exists(proj)) { - Option::mkfile::project_files.append(proj); - } else { //last try.. - TQDir d(pwd, "*.pro"); - if(d.count() != 1) - return usage(argv[0]); - Option::mkfile::project_files.append(pwd + "/" + d[0]); - } - } - } - - //defaults for globals - if(Option::target_mode == Option::TARG_WIN_MODE) { - Option::dir_sep = "\\"; - Option::obj_ext = ".obj"; - } else { - if(Option::target_mode == Option::TARG_MAC9_MODE) - Option::dir_sep = ":"; - else - Option::dir_sep = "/"; - Option::obj_ext = ".o"; - } - return TRUE; -} - -bool Option::postProcessProject(TQMakeProject *project) -{ - Option::cpp_ext = project->variables()["TQMAKE_EXT_CPP"]; - if(cpp_ext.isEmpty()) - cpp_ext << ".cpp"; //something must be there - Option::h_ext = project->variables()["TQMAKE_EXT_H"]; - if(h_ext.isEmpty()) - h_ext << ".h"; - - if(!project->isEmpty("TQMAKE_EXT_PKGCONFIG")) - Option::pkgcfg_ext = project->first("TQMAKE_EXT_PKGCONFIG"); - if(!project->isEmpty("TQMAKE_EXT_LIBTOOL")) - Option::libtool_ext = project->first("TQMAKE_EXT_LIBTOOL"); - if(!project->isEmpty("TQMAKE_EXT_PRL")) - Option::prl_ext = project->first("TQMAKE_EXT_PRL"); - if(!project->isEmpty("TQMAKE_EXT_PRF")) - Option::prf_ext = project->first("TQMAKE_EXT_PRF"); - if(!project->isEmpty("TQMAKE_EXT_UI")) - Option::ui_ext = project->first("TQMAKE_EXT_UI"); - if(!project->isEmpty("TQMAKE_EXT_CPP_TQMOC")) - Option::cpp_tqmoc_ext = project->first("TQMAKE_EXT_CPP_TQMOC"); - if(!project->isEmpty("TQMAKE_EXT_H_TQMOC")) - Option::h_tqmoc_ext = project->first("TQMAKE_EXT_H_TQMOC"); - if(!project->isEmpty("TQMAKE_EXT_LEX")) - Option::lex_ext = project->first("TQMAKE_EXT_LEX"); - if(!project->isEmpty("TQMAKE_EXT_YACC")) - Option::yacc_ext = project->first("TQMAKE_EXT_YACC"); - if(!project->isEmpty("TQMAKE_EXT_OBJ")) - Option::obj_ext = project->first("TQMAKE_EXT_OBJ"); - if(!project->isEmpty("TQMAKE_H_MOD_TQMOC")) - Option::h_tqmoc_mod = project->first("TQMAKE_H_MOD_TQMOC"); - if(!project->isEmpty("TQMAKE_CPP_MOD_TQMOC")) - Option::cpp_tqmoc_mod = project->first("TQMAKE_CPP_MOD_TQMOC"); - if(!project->isEmpty("TQMAKE_MOD_LEX")) - Option::lex_mod = project->first("TQMAKE_MOD_LEX"); - if(!project->isEmpty("TQMAKE_MOD_YACC")) - Option::yacc_mod = project->first("TQMAKE_MOD_YACC"); - if(!project->isEmpty("TQMAKE_DIR_SEP")) - Option::dir_sep = project->first("TQMAKE_DIR_SEP"); - return TRUE; -} - -void fixEnvVariables(TQString &x) -{ - int rep; - TQRegExp reg_var("\\$\\(.*\\)"); - reg_var.setMinimal( TRUE ); - while((rep = reg_var.search(x)) != -1) - x.replace(rep, reg_var.matchedLength(), TQString(getenv(TQT_TQSTRING(x.mid(rep + 2, reg_var.matchedLength() - 3)).latin1()))); -} -static TQString fixPath(TQString x) -{ -#if 0 - TQFileInfo fi(x); - if(fi.isDir()) { - TQDir dir(x); - x = dir.canonicalPath(); - } else { - TQString dir = fi.dir().canonicalPath(); - if(!dir.isEmpty() && dir.right(1) != Option::dir_sep) - dir += Option::dir_sep; - x = dir + fi.fileName(); - } -#endif - return TQDir::cleanDirPath(x); -} - - -TQString -Option::fixPathToTargetOS(const TQString& in, bool fix_env, bool canonical) -{ - TQString tmp(in); - if(fix_env) - fixEnvVariables(tmp); - if(canonical) - tmp = fixPath(tmp); - TQString rep; - if(Option::target_mode == TARG_MAC9_MODE) - tmp = TQT_TQSTRING(tmp.replace('/', Option::dir_sep)).replace('\\', Option::dir_sep); - else if(Option::target_mode == TARG_WIN_MODE) - tmp = tmp.replace('/', Option::dir_sep); - else - tmp = tmp.replace('\\', Option::dir_sep); - return tmp; -} - -TQString -Option::fixPathToLocalOS(const TQString& in, bool fix_env, bool canonical) -{ - TQString tmp(in); - if(fix_env) - fixEnvVariables(tmp); - if(canonical) - tmp = fixPath(tmp); -#if defined(TQ_OS_WIN32) - return tmp.replace('/', '\\'); -#else - return tmp.replace('\\', '/'); -#endif -} - -const char *qmake_version() -{ - static char *ret = NULL; - if(ret) - return ret; - ret = (char *)malloc(15); - sprintf(ret, "%d.%02d%c", TQMAKE_VERSION_MAJOR, TQMAKE_VERSION_MINOR, 'a' + TQMAKE_VERSION_PATCH); - return ret; -} - -void debug_msg(int level, const char *fmt, ...) -{ - if(Option::debug_level < level) - return; - fprintf(stderr, "DEBUG %d: ", level); - { - va_list ap; - va_start(ap, fmt); - vfprintf(stderr, fmt, ap); - va_end(ap); - } - fprintf(stderr, "\n"); -} - -void warn_msg(TQMakeWarn type, const char *fmt, ...) -{ - if(!(Option::warn_level & type)) - return; - fprintf(stderr, "WARNING: "); - { - va_list ap; - va_start(ap, fmt); - vfprintf(stderr, fmt, ap); - va_end(ap); - } - fprintf(stderr, "\n"); -} |