# a waf tool to add extension based build patterns for Samba
-import Build
+import sys
+from waflib import Build
from wafsamba import samba_version_file
def write_version_header(task):
fp.write("*/\n")
fp.write("\n")
fp.write("#include \"includes.h\"\n")
- fp.write("#include \"build_env.h\"\n")
fp.write("#include \"dynconfig/dynconfig.h\"\n")
fp.write("#include \"lib/cluster_support.h\"\n")
fp.write(" return;\n")
fp.write(" }\n")
fp.write("\n")
- fp.write("#ifdef _BUILD_ENV_H\n")
- fp.write(" /* Output information about the build environment */\n")
- fp.write(" output(screen,\"Build environment:\\n\");\n")
- fp.write(" output(screen,\" Built by: %s@%s\\n\",BUILD_ENV_USER,BUILD_ENV_HOST);\n")
- fp.write(" output(screen,\" Built on: %s\\n\",BUILD_ENV_DATE);\n")
- fp.write("\n")
- fp.write(" output(screen,\" Built using: %s\\n\",BUILD_ENV_COMPILER);\n")
- fp.write(" output(screen,\" Build host: %s\\n\",BUILD_ENV_UNAME);\n")
- fp.write(" output(screen,\" SRCDIR: %s\\n\",BUILD_ENV_SRCDIR);\n")
- fp.write(" output(screen,\" BUILDDIR: %s\\n\",BUILD_ENV_BUILDDIR);\n")
- fp.write("\n")
- fp.write("\n")
- fp.write("#endif\n")
fp.write("\n")
fp.write(" /* Output various paths to files and directories */\n")
fp.write(" output(screen,\"\\nPaths:\\n\");\n")
fp.write(" output(screen,\" PIDDIR: %s\\n\", get_dyn_PIDDIR());\n")
fp.write(" output(screen,\" SMB_PASSWD_FILE: %s\\n\",get_dyn_SMB_PASSWD_FILE());\n")
fp.write(" output(screen,\" PRIVATE_DIR: %s\\n\",get_dyn_PRIVATE_DIR());\n")
+ fp.write(" output(screen,\" BINDDNS_DIR: %s\\n\",get_dyn_BINDDNS_DIR());\n")
fp.write("\n")
def write_build_options_footer(fp):
fp.write("\n")
def write_build_options(task):
- tbl = task.env['defines']
+ tbl = task.env
keys_option_with = []
keys_option_utmp = []
keys_option_have = []
keys_header_sys = []
keys_header_other = []
keys_misc = []
+ if sys.hexversion>0x300000f:
+ trans_table = bytes.maketrans('.-()', '____')
+ else:
+ import string
+ trans_table = string.maketrans('.-()', '____')
+
for key in tbl:
if key.startswith("HAVE_UT_UT_") or key.find("UTMP") >= 0:
keys_option_utmp.append(key)
l = key.split("(")
keys_misc.append(l[0])
else:
- keys_misc.append(key)
+ keys_misc.append(key.translate(trans_table))
tgt = task.outputs[0].bldpath(task.env)
f = open(tgt, 'w')