mirror of
https://gitlab.com/ita1024/waf.git
synced 2024-11-22 01:46:15 +01:00
Support versioned shared libraries.
Shared libraries often use a suffix encoding their version which should be handled when parsing linker flags.
This commit is contained in:
parent
d97ac90419
commit
799001bfae
@ -107,6 +107,8 @@ def parse_flags(self, line, uselib_store, env=None, force_static=False, posix=No
|
|||||||
lex.commenters = ''
|
lex.commenters = ''
|
||||||
lst = list(lex)
|
lst = list(lex)
|
||||||
|
|
||||||
|
so_re = re.compile(r"\.so(?:\.[0-9]+)*$")
|
||||||
|
|
||||||
# append_unique is not always possible
|
# append_unique is not always possible
|
||||||
# for example, apple flags may require both -arch i386 and -arch ppc
|
# for example, apple flags may require both -arch i386 and -arch ppc
|
||||||
uselib = uselib_store
|
uselib = uselib_store
|
||||||
@ -184,7 +186,7 @@ def parse_flags(self, line, uselib_store, env=None, force_static=False, posix=No
|
|||||||
app('CFLAGS', tmp)
|
app('CFLAGS', tmp)
|
||||||
app('CXXFLAGS', tmp)
|
app('CXXFLAGS', tmp)
|
||||||
app('LINKFLAGS', tmp)
|
app('LINKFLAGS', tmp)
|
||||||
elif x.endswith(('.a', '.so', '.dylib', '.lib')):
|
elif x.endswith(('.a', '.dylib', '.lib')) or so_re.search(x):
|
||||||
appu('LINKFLAGS', x) # not cool, #762
|
appu('LINKFLAGS', x) # not cool, #762
|
||||||
else:
|
else:
|
||||||
self.to_log('Unhandled flag %r' % x)
|
self.to_log('Unhandled flag %r' % x)
|
||||||
|
Loading…
Reference in New Issue
Block a user