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()
|
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