1 diff -ur nsis-2.39-src.orig/SCons/Config/gnu nsis-2.39-src.debopt/SCons/Config/gnu
2 --- nsis-2.39-src.orig/SCons/Config/gnu 2008-03-03 16:33:56.000000000 +0000
3 +++ nsis-2.39-src.debopt/SCons/Config/gnu 2008-09-22 12:53:18.000000000 +0100
5 stub_env = defenv.Clone()
8 -if not defenv['DEBUG']:
9 - stub_env.Append(CCFLAGS = '-Os') # optimize for size
10 +if not defenv['DEBUG_SYMBOLS']:
11 + stub_env.Append(CCFLAGS = '-g') # debugging
12 + stub_env.Append(LINKFLAGS = '-g') # debugging
13 +if not defenv['DEBUG'] and defenv['OPT']:
14 + stub_env.Append(CCFLAGS = '-O2') # optimize
15 stub_env.Append(CCFLAGS = '-Wall') # all warnings
16 stub_env.Append(CCFLAGS = '-x c') # force compile as c
17 stub_env.Append(CCFLAGS = '-fno-strict-aliasing') # not safe for strict aliasing
19 conf.CheckCompileFlag('-m32') #
20 conf.CheckLinkFlag('-m32') #
21 conf.CheckLinkFlag('$MAP_FLAG') # generate map file
22 -if not defenv['DEBUG'] and defenv['STRIP'] and defenv['STRIP_CP']:
23 +if not defenv['DEBUG'] and not defenv['DEBUG_SYMBOLS'] and defenv['STRIP'] and defenv['STRIP_CP']:
24 TestStrip(conf) # strip
29 cp_util_env = defenv.Clone()
31 -if not defenv['DEBUG']:
32 +if defenv['DEBUG_SYMBOLS']:
33 + cp_util_env.Append(CCFLAGS = '-g') # debugging
34 + cp_util_env.Append(LINKFLAGS = '-g') # debugging
35 +if not defenv['DEBUG'] and defenv['OPT']:
36 cp_util_env.Append(CCFLAGS = '-O2') # optimize
37 cp_util_env.Append(CCFLAGS = '-Wall') # all warnings
38 cp_util_env.Append(CCFLAGS = '-fno-strict-aliasing') # not safe for strict aliasing
42 test_env = defenv.Clone()
43 +if defenv['DEBUG_SYMBOLS']:
44 + test_env.Append(LINKFLAGS = '-g') # debugging
45 + test_env.Append(CCFLAGS = '-g') # debugging
47 conf = FlagsConfigure(test_env)
48 conf.CheckCompileFlag('-m32')
49 conf.CheckLinkFlag('-m32')
50 diff -ur nsis-2.39-src.orig/SConstruct nsis-2.39-src.debopt/SConstruct
51 --- nsis-2.39-src.orig/SConstruct 2008-05-04 09:30:07.000000000 +0100
52 +++ nsis-2.39-src.debopt/SConstruct 2008-09-22 12:55:55.000000000 +0100
54 opts.Add(('APPEND_LINKFLAGS', 'Additional linker flags'))
\r
56 opts.Add(BoolOption('DEBUG', 'Build executables with debugging information', 'no'))
\r
57 +opts.Add(BoolOption('DEBUG_SYMBOLS', 'Build with debugging information, but none of the side effects of DEBUG', 'no'))
\r
58 +opts.Add(BoolOption('OPT', 'Build with optimization', 'yes'))
\r
59 opts.Add(PathOption('CODESIGNER', 'A program used to sign executables', None))
\r
60 opts.Add(BoolOption('STRIP', 'Strips executables of any unrequired data such as symbols', 'yes'))
\r
61 opts.Add(BoolOption('STRIP_CP', 'Strips cross-platform executables of any unrequired data such as symbols', 'yes'))
\r