from samba_utils import symlink
from optparse import SUPPRESS_HELP
+def get_libc_version():
+ import ctypes
+ libc = ctypes.CDLL("libc.so.6")
+ gnu_get_libc_version = libc.gnu_get_libc_version
+ gnu_get_libc_version.restype = ctypes.c_char_p
+ return gnu_get_libc_version().decode()
+
phs = os.environ.get("PYTHONHASHSEED", None)
if phs != "1":
raise Errors.WafError('''PYTHONHASHSEED=1 missing! Don't use waf directly, use ./configure and make!''')
conf.env.disable_python = Options.options.disable_python
conf.env.enable_rust = Options.options.enable_rust
if Options.options.enable_rust:
+ glibc_vers = float('.'.join(get_libc_version().split('.')[:2]))
+ if glibc_vers < 2.32:
+ conf.fatal('--enable-rust cannot be specified with '
+ 'glibc version %s' % glibc_vers)
conf.DEFINE('HAVE_RUST', '1')
if (conf.env.AUTOCONF_HOST and
import wafsamba, samba_dist, samba_git, samba_version, samba_utils
from waflib import Options, Scripting, Logs, Context, Errors
from waflib.Tools import bison
+import ssl
samba_dist.DIST_DIRS('.')
samba_dist.DIST_BLACKLIST('.gitignore .bzrignore source4/selftest/provisions')
conf.env.debug = Options.options.debug
conf.env.developer = Options.options.developer
conf.env.enable_himmelblau = Options.options.enable_himmelblau
+ if Options.options.enable_himmelblau:
+ if not conf.env.enable_rust:
+ conf.fatal('--with-himmelblau cannot be specified without '
+ '--enable-rust')
+ if ssl.OPENSSL_VERSION_INFO[0] < 3:
+ conf.fatal('--with-himmelblau cannot be specified with '
+ '%s' % ssl.OPENSSL_VERSION)
#
# FreeBSD is broken. It doesn't include 'extern char **environ'