ports/net/samba/patches/patch-buildtools_wafsamba_samba_autoconf_py

45 lines
1.5 KiB
Text
Raw Normal View History

2023-08-16 22:26:55 +00:00
1. Sort -L flags to unbreak linking when any other version of Samba is installed.
2. Use -Wl,-no-undefined as on other platforms.
Index: buildtools/wafsamba/samba_autoconf.py
--- buildtools/wafsamba/samba_autoconf.py.orig
+++ buildtools/wafsamba/samba_autoconf.py
2023-09-08 05:21:37 +00:00
@@ -936,6 +936,27 @@ def ADD_LDFLAGS(conf, flags, testflags=False):
2023-08-16 22:26:55 +00:00
if not 'EXTRA_LDFLAGS' in conf.env:
conf.env['EXTRA_LDFLAGS'] = []
conf.env['EXTRA_LDFLAGS'].extend(TO_LIST(flags))
+
+ ''' Make sure things go in order:
+ 1. Local -L and -rpath flags
+ 2. External -L and -rpath flags
+ 3. Others
+ '''
+ localL = []
+ extL = []
+ other = []
+ for f in conf.env['EXTRA_LDFLAGS']:
+ if f.startswith("-L%s" % "/usr/ports"):
+ localL.extend( [ f ] )
+ elif f.startswith("-L"):
+ extL.extend( [ f ] )
+ else:
+ other.extend( [ f ] )
+ conf.env['EXTRA_LDFLAGS'] = []
+ conf.env['EXTRA_LDFLAGS'].extend(localL)
+ conf.env['EXTRA_LDFLAGS'].extend(extL)
+ conf.env['EXTRA_LDFLAGS'].extend(other)
+
return flags
2023-09-08 05:21:37 +00:00
@@ -1007,7 +1028,7 @@ def SAMBA_CHECK_UNDEFINED_SYMBOL_FLAGS(conf):
2023-08-16 22:26:55 +00:00
# symbols used for fuzzers are only defined by compiler wrappers.
return
- if not sys.platform.startswith("openbsd"):
+ if True:
# we don't want any libraries or modules to rely on runtime
# resolution of symbols
conf.env.undefined_ldflags = conf.ADD_LDFLAGS('-Wl,-no-undefined', testflags=True)