added FlagsConfigure for compiler and linker flags configuration
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@4586 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
parent
26a6b6d96e
commit
7430499571
1 changed files with 55 additions and 1 deletions
|
@ -10,4 +10,58 @@ def AddAvailableLibs(env, libs):
|
|||
|
||||
conf.Finish()
|
||||
|
||||
Export('AddAvailableLibs')
|
||||
"""
|
||||
Checks if a compiler flag is valid.
|
||||
"""
|
||||
def check_compile_flag(ctx, flag):
|
||||
ctx.Message('Checking for compiler flag %s... ' % flag)
|
||||
|
||||
old_flags = ctx.env['CCFLAGS']
|
||||
ctx.env.Append(CCFLAGS = flag)
|
||||
|
||||
test = """
|
||||
int __main() {
|
||||
return 0;
|
||||
}
|
||||
"""
|
||||
|
||||
result = not ctx.TryCompile(test, '.c')
|
||||
ctx.Result(result)
|
||||
|
||||
if not result:
|
||||
ctx.env.Replace(CCFLAGS = old_flags)
|
||||
|
||||
return result
|
||||
|
||||
"""
|
||||
Checks if a linker flag is valid.
|
||||
"""
|
||||
def check_link_flag(ctx, flag):
|
||||
ctx.Message('Checking for linker flag %s... ' % flag)
|
||||
|
||||
old_flags = ctx.env['LINKFLAGS']
|
||||
ctx.env.Append(LINKFLAGS = flag)
|
||||
|
||||
test = """
|
||||
int __main() {
|
||||
return 0;
|
||||
}
|
||||
"""
|
||||
|
||||
result = not ctx.TryLink(test, '.c')
|
||||
ctx.Result(result)
|
||||
|
||||
if not result:
|
||||
ctx.env.Replace(LINKFLAGS = old_flags)
|
||||
|
||||
return result
|
||||
|
||||
"""
|
||||
Wrapper for env.Configure which adds two new tests:
|
||||
CheckCompileFlag - checks for a compiler flag
|
||||
CheckLinkFlag - checks for a linker flag
|
||||
"""
|
||||
def FlagsConfigure(env):
|
||||
return env.Configure(custom_tests = { 'CheckCompileFlag' : check_compile_flag, 'CheckLinkFlag': check_link_flag })
|
||||
|
||||
Export('AddAvailableLibs FlagsConfigure')
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue