From f85a88852cf27b3c48372f5ed98d935d412eb442 Mon Sep 17 00:00:00 2001 From: kichik Date: Thu, 12 May 2005 16:27:35 +0000 Subject: [PATCH] made NSIS_VERSION a define set by the scons script git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@4024 212acab6-be3b-0410-9dea-997c60f758d6 --- SConstruct | 2 ++ Source/SConscript | 6 +++++- Source/build.cpp | 3 +-- Source/lang.cpp | 6 ++---- Source/makenssi.cpp | 6 ++---- Source/script.cpp | 5 ++--- Source/util.h | 2 ++ 7 files changed, 16 insertions(+), 14 deletions(-) diff --git a/SConstruct b/SConstruct index 965f1dba..5aa1c31b 100644 --- a/SConstruct +++ b/SConstruct @@ -55,6 +55,8 @@ defenv = Environment() defenv.SConsignFile() Export('defenv') +defenv.Append(NSIS_VERSION = VERSION) + ###################################################################### ####### Options ### ###################################################################### diff --git a/Source/SConscript b/Source/SConscript index 2a6d34a3..6cef9eab 100644 --- a/Source/SConscript +++ b/Source/SConscript @@ -72,7 +72,11 @@ conf.Finish() #env['PCH'] = env.PCH(pch)[0] #env['PCHSTOP'] = pch -##### Compile LZMA +##### Defines + +env.Append(CPPDEFINES = ['NSIS_VERSION=v$NSIS_VERSION']) + +##### LZMA specific defines lzma_env = env.Copy() lzma_env.Append(CPPDEFINES = ['COMPRESS_MF_BT']) diff --git a/Source/build.cpp b/Source/build.cpp index 55800279..b281f7dc 100644 --- a/Source/build.cpp +++ b/Source/build.cpp @@ -84,8 +84,7 @@ CEXEBuild::CEXEBuild() : ns_func.add("",0); // make sure offset 0 is special on these (i.e. never used by a label) ns_label.add("",0); - extern const char *NSIS_VERSION; - definedlist.add("NSIS_VERSION", NSIS_VERSION); + definedlist.add("NSIS_VERSION", CONST_STR(NSIS_VERSION)); #define intdef2str_(x) #x #define intdef2str(x) intdef2str_(x) diff --git a/Source/lang.cpp b/Source/lang.cpp index 7cadfa2c..d986eb3a 100644 --- a/Source/lang.cpp +++ b/Source/lang.cpp @@ -6,8 +6,6 @@ #include "DialogTemplate.h" #include "exehead/resource.h" -extern const char *NSIS_VERSION; - // Default English strings. Should match NSIS_DEFAULT_LANG // Do not change the first string in every item, it's the LangString // name for usage in scripts. @@ -830,8 +828,8 @@ void CEXEBuild::FillLanguageTable(LanguageTable *table) { if (!dstr) continue; if (i == NLF_BRANDING) { - char temp[NSIS_MAX_STRLEN + sizeof(NSIS_VERSION)]; - sprintf(temp, dstr, NSIS_VERSION); + char temp[NSIS_MAX_STRLEN + sizeof(CONST_STR(NSIS_VERSION))]; + sprintf(temp, dstr, CONST_STR(NSIS_VERSION)); table->lang_strings->set(sn, temp); continue; } diff --git a/Source/makenssi.cpp b/Source/makenssi.cpp index fd713fee..bdad8aa3 100644 --- a/Source/makenssi.cpp +++ b/Source/makenssi.cpp @@ -1,5 +1,3 @@ -const char *NSIS_VERSION="v2.06"; - /* Nullsoft Scriptable Install System (NSIS) @@ -108,7 +106,7 @@ int main(int argc, char **argv) if (argc > 1 && !stricmp(argv[1], OPT_STR "VERSION")) { - fprintf(g_output,NSIS_VERSION); + fprintf(g_output,CONST_STR(NSIS_VERSION)); fflush(g_output); return 0; } @@ -139,7 +137,7 @@ int main(int argc, char **argv) "Portions Copyright (C) 1996-2002 Julian R Seward (bzip2).\n" "Portions Copyright (C) 1999-2003 Igor Pavlov (lzma).\n" "\n" - "Contributors: nnop@newmail.ru, Ryan Geiss, Andras Varga, Drew Davidson, Peter Windridge, Dave Laundon, Robert Rainwater, Yaroslav Faybishenko, Jeff Doozan, Amir Szekely, Ximon Eighteen, et al.\n\n",NSIS_VERSION); + "Contributors: nnop@newmail.ru, Ryan Geiss, Andras Varga, Drew Davidson, Peter Windridge, Dave Laundon, Robert Rainwater, Yaroslav Faybishenko, Jeff Doozan, Amir Szekely, Ximon Eighteen, et al.\n\n",CONST_STR(NSIS_VERSION)); fflush(g_output); } diff --git a/Source/script.cpp b/Source/script.cpp index 948cfd07..598cba77 100644 --- a/Source/script.cpp +++ b/Source/script.cpp @@ -2191,7 +2191,7 @@ int CEXEBuild::doCommand(int which_token, LineParser &line) if (k == -1) PRINTHELP() SCRIPT_MSG("XPStyle: %s\n", line.gettoken_str(1)); init_res_editor(); - const char *szXPManifest = k ? 0 : "Nullsoft Install System v2.06"; + const char *szXPManifest = k ? 0 : "Nullsoft Install System " CONST_STR(NSIS_VERSION) ""; res_editor->UpdateResource(MAKEINTRESOURCE(24), MAKEINTRESOURCE(1), NSIS_DEFAULT_LANG, (unsigned char*)szXPManifest, k ? 0 : strlen(szXPManifest)); } catch (exception& err) { @@ -3188,11 +3188,10 @@ int CEXEBuild::doCommand(int which_token, LineParser &line) if (trim) { char str[512]; - extern const char *NSIS_VERSION; if (line.getnumtokens()==a+1 && line.gettoken_str(a)[0]) strcpy(str, line.gettoken_str(a)); else - wsprintf(str, "Nullsoft Install System %s", NSIS_VERSION); + wsprintf(str, "Nullsoft Install System %s", CONST_STR(NSIS_VERSION)); switch (trim) { case 1: td.LTrimToString(IDC_VERSTR, str, 4); break; diff --git a/Source/util.h b/Source/util.h index e10188bb..3b79b463 100644 --- a/Source/util.h +++ b/Source/util.h @@ -35,6 +35,8 @@ size_t WCStrLen(const WCHAR* szwStr); size_t my_strftime(char *s, size_t max, const char *fmt, const struct tm *tm); +#define CONST_STR(x) #x + #ifndef __BIG_ENDIAN__ # define FIX_ENDIAN_INT32_INPLACE(x) (x) #else