Generate debugging information during compilation. (bug 5227, r=ds)
1.1 --- a/AMBuildScript Fri Dec 16 09:43:05 2011 -0500
1.2 +++ b/AMBuildScript Thu Feb 16 19:26:49 2012 +0000
1.3 @@ -2,6 +2,7 @@
1.4 import os
1.5 import sys
1.6 from ambuild.command import SymlinkCommand
1.7 +from ambuild.command import ShellCommand
1.8
1.9 class SM:
1.10 def __init__(self):
1.11 @@ -113,6 +114,7 @@
1.12 self.compiler.AddToListVar('CFLAGS', '-Wno-switch')
1.13 self.compiler.AddToListVar('CFLAGS', '-msse')
1.14 self.compiler.AddToListVar('CFLAGS', '-m32')
1.15 + self.compiler.AddToListVar('CFLAGS', '-g3')
1.16 self.compiler.AddToListVar('POSTLINKFLAGS', '-m32')
1.17 self.compiler.AddToListVar('CXXFLAGS', '-fno-exceptions')
1.18 self.compiler.AddToListVar('CXXFLAGS', '-fno-rtti')
1.19 @@ -169,9 +171,7 @@
1.20 if AMBuild.options.debug == '1':
1.21 self.compiler.AddToListVar('CDEFINES', 'DEBUG')
1.22 self.compiler.AddToListVar('CDEFINES', '_DEBUG')
1.23 - if self.vendor == 'gcc' or self.vendor == 'clang':
1.24 - self.compiler.AddToListVar('CFLAGS', '-g3')
1.25 - elif self.vendor == 'msvc':
1.26 + if self.vendor == 'msvc':
1.27 self.compiler.AddToListVar('CFLAGS', '/Od')
1.28 self.compiler.AddToListVar('CFLAGS', '/RTC1')
1.29
1.30 @@ -257,6 +257,17 @@
1.31 else:
1.32 return
1.33
1.34 + def StripBinary(self, job, binary):
1.35 + workFolder = os.path.join(AMBuild.outputFolder, job.workFolder)
1.36 + src = os.path.join('..', workFolder, binary.binaryFile)
1.37 + if AMBuild.target['platform'] == 'linux':
1.38 + job.AddCommand(ShellCommand('objcopy --only-keep-debug ' + src + ' ' + src + '.dbg'))
1.39 + job.AddCommand(ShellCommand('objcopy --strip-debug ' + src))
1.40 + job.AddCommand(ShellCommand('objcopy --add-gnu-debuglink=' + src + '.dbg ' + src))
1.41 + elif AMBuild.target['platform'] == 'darwin':
1.42 + job.AddCommand(ShellCommand('dsymutil ' + src))
1.43 + job.AddCommand(ShellCommand('strip -S ' + src))
1.44 +
1.45 def PreSetupHL2Job(self, job, builder, sdk):
1.46 info = self.sdkInfo[sdk]
1.47 sdkPath = AMBuild.cache[info['sdk']]
1.48 @@ -304,7 +315,7 @@
1.49 def PostSetupHL2Job(self, job, builder, sdk):
1.50 if AMBuild.target['platform'] in ['linux', 'darwin']:
1.51 builder.AddObjectFiles(['tier1_i486.a', 'mathlib_i486.a'])
1.52 -
1.53 +
1.54 def DefaultHL2Compiler(self, path, sdk, noLink = False, oldMms = '-legacy'):
1.55 compiler = self.DefaultExtCompiler(path)
1.56
2.1 --- a/core/AMBuilder Fri Dec 16 09:43:05 2011 -0500
2.2 +++ b/core/AMBuilder Thu Feb 16 19:26:49 2012 +0000
2.3 @@ -75,4 +75,4 @@
2.4 SM.PostSetupHL2Job(extension, binary, i)
2.5 SM.AutoVersion('core', binary)
2.6 binary.SendToJob()
2.7 -
2.8 + SM.StripBinary(extension, binary)
3.1 --- a/core/logic/AMBuilder Fri Dec 16 09:43:05 2011 -0500
3.2 +++ b/core/logic/AMBuilder Thu Feb 16 19:26:49 2012 +0000
3.3 @@ -56,4 +56,5 @@
3.4 binary.AddSourceFiles('core/logic', files)
3.5 SM.AutoVersion('core/logic', binary)
3.6 binary.SendToJob()
3.7 +SM.StripBinary(extension, binary)
3.8
4.1 --- a/extensions/bintools/AMBuilder Fri Dec 16 09:43:05 2011 -0500
4.2 +++ b/extensions/bintools/AMBuilder Thu Feb 16 19:26:49 2012 +0000
4.3 @@ -20,5 +20,4 @@
4.4 ])
4.5 SM.AutoVersion('extensions/bintools', binary)
4.6 binary.SendToJob()
4.7 -
4.8 -
4.9 +SM.StripBinary(extension, binary)
5.1 --- a/extensions/clientprefs/AMBuilder Fri Dec 16 09:43:05 2011 -0500
5.2 +++ b/extensions/clientprefs/AMBuilder Thu Feb 16 19:26:49 2012 +0000
5.3 @@ -16,4 +16,4 @@
5.4 ])
5.5 SM.AutoVersion('extensions/clientprefs', binary)
5.6 binary.SendToJob()
5.7 -
5.8 +SM.StripBinary(extension, binary)
6.1 --- a/extensions/cstrike/AMBuilder Fri Dec 16 09:43:05 2011 -0500
6.2 +++ b/extensions/cstrike/AMBuilder Thu Feb 16 19:26:49 2012 +0000
6.3 @@ -22,4 +22,5 @@
6.4 ])
6.5 SM.PostSetupHL2Job(extension, binary, 'ep2v')
6.6 SM.AutoVersion('extensions/cstrike', binary)
6.7 - binary.SendToJob()
6.8 \ No newline at end of file
6.9 + binary.SendToJob()
6.10 + SM.StripBinary(extension, binary)
7.1 --- a/extensions/curl/AMBuilder Fri Dec 16 09:43:05 2011 -0500
7.2 +++ b/extensions/curl/AMBuilder Thu Feb 16 19:26:49 2012 +0000
7.3 @@ -84,4 +84,4 @@
7.4
7.5 SM.AutoVersion('extensions/curl', binary)
7.6 binary.SendToJob()
7.7 -
7.8 +SM.StripBinary(extension, binary)
8.1 --- a/extensions/geoip/AMBuilder Fri Dec 16 09:43:05 2011 -0500
8.2 +++ b/extensions/geoip/AMBuilder Thu Feb 16 19:26:49 2012 +0000
8.3 @@ -12,4 +12,4 @@
8.4 binary['POSTLINKFLAGS'].append('wsock32.lib')
8.5 SM.AutoVersion('extensions/geoip', binary)
8.6 binary.SendToJob()
8.7 -
8.8 +SM.StripBinary(extension, binary)
9.1 --- a/extensions/mysql/AMBuilder Fri Dec 16 09:43:05 2011 -0500
9.2 +++ b/extensions/mysql/AMBuilder Thu Feb 16 19:26:49 2012 +0000
9.3 @@ -35,4 +35,4 @@
9.4 ])
9.5 SM.AutoVersion('extensions/mysql', binary)
9.6 binary.SendToJob()
9.7 -
9.8 +SM.StripBinary(extension, binary)
10.1 --- a/extensions/regex/AMBuilder Fri Dec 16 09:43:05 2011 -0500
10.2 +++ b/extensions/regex/AMBuilder Thu Feb 16 19:26:49 2012 +0000
10.3 @@ -24,4 +24,4 @@
10.4 ])
10.5 SM.AutoVersion('extensions/regex', binary)
10.6 binary.SendToJob()
10.7 -
10.8 +SM.StripBinary(extension, binary)
11.1 --- a/extensions/sdktools/AMBuilder Fri Dec 16 09:43:05 2011 -0500
11.2 +++ b/extensions/sdktools/AMBuilder Thu Feb 16 19:26:49 2012 +0000
11.3 @@ -49,4 +49,4 @@
11.4 SM.PostSetupHL2Job(extension, binary, i)
11.5 SM.AutoVersion('extensions/sdktools', binary)
11.6 binary.SendToJob()
11.7 -
11.8 + SM.StripBinary(extension, binary)
12.1 --- a/extensions/sqlite/AMBuilder Fri Dec 16 09:43:05 2011 -0500
12.2 +++ b/extensions/sqlite/AMBuilder Thu Feb 16 19:26:49 2012 +0000
12.3 @@ -37,4 +37,4 @@
12.4 binary.AddSourceFiles('extensions/sqlite', files)
12.5 SM.AutoVersion('extensions/sqlite', binary)
12.6 binary.SendToJob()
12.7 -
12.8 +SM.StripBinary(extension, binary)
13.1 --- a/extensions/tf2/AMBuilder Fri Dec 16 09:43:05 2011 -0500
13.2 +++ b/extensions/tf2/AMBuilder Thu Feb 16 19:26:49 2012 +0000
13.3 @@ -26,4 +26,4 @@
13.4 SM.PostSetupHL2Job(extension, binary, 'ep2v')
13.5 SM.AutoVersion('extensions/tf2', binary)
13.6 binary.SendToJob()
13.7 -
13.8 +SM.StripBinary(extension, binary)
14.1 --- a/extensions/topmenus/AMBuilder Fri Dec 16 09:43:05 2011 -0500
14.2 +++ b/extensions/topmenus/AMBuilder Thu Feb 16 19:26:49 2012 +0000
14.3 @@ -16,4 +16,4 @@
14.4 ])
14.5 SM.AutoVersion('extensions/topmenus', binary)
14.6 binary.SendToJob()
14.7 -
14.8 +SM.StripBinary(extension, binary)
15.1 --- a/extensions/updater/AMBuilder Fri Dec 16 09:43:05 2011 -0500
15.2 +++ b/extensions/updater/AMBuilder Thu Feb 16 19:26:49 2012 +0000
15.3 @@ -15,4 +15,4 @@
15.4 ])
15.5 SM.AutoVersion('extensions/updater', binary)
15.6 binary.SendToJob()
15.7 -
15.8 +SM.StripBinary(extension, binary)
16.1 --- a/loader/AMBuilder Fri Dec 16 09:43:05 2011 -0500
16.2 +++ b/loader/AMBuilder Thu Feb 16 19:26:49 2012 +0000
16.3 @@ -18,4 +18,4 @@
16.4 ])
16.5 SM.AutoVersion('loader', binary)
16.6 binary.SendToJob()
16.7 -
16.8 +SM.StripBinary(loader, binary)
17.1 --- a/sourcepawn/compiler/AMBuilder Fri Dec 16 09:43:05 2011 -0500
17.2 +++ b/sourcepawn/compiler/AMBuilder Thu Feb 16 19:26:49 2012 +0000
17.3 @@ -65,4 +65,4 @@
17.4 binary.AddResourceFile('sourcepawn/compiler/libpawnc.rc', env)
17.5
17.6 binary.SendToJob()
17.7 -
17.8 +SM.StripBinary(extension, binary)
18.1 --- a/sourcepawn/jit/AMBuilder Fri Dec 16 09:43:05 2011 -0500
18.2 +++ b/sourcepawn/jit/AMBuilder Thu Feb 16 19:26:49 2012 +0000
18.3 @@ -40,4 +40,4 @@
18.4 ])
18.5 SM.AutoVersion('sourcepawn/jit', binary)
18.6 binary.SendToJob()
18.7 -
18.8 +SM.StripBinary(extension, binary)