#!/usr/bin/env python
-import string, Logs, Utils, Options, sys, Build, os, intltool, optparse, textwrap
+import string, Logs, Utils, Options, Build, os, optparse, textwrap
from samba_utils import EXPAND_VARIABLES, os_path_relpath
class SambaIndentedHelpFormatter (optparse.IndentedHelpFormatter):
'FHS-PATH': '${PYTHONARCHDIR}',
'OVERWRITE': True,
},
+ 'PERL_LIB_INSTALL_DIR' : {
+ 'STD-PATH': '${PERL_LIB_INSTALL_DIR}',
+ 'FHS-PATH': '${PERL_LIB_INSTALL_DIR}',
+ 'OVERWRITE': True,
+ },
+ 'PERL_ARCH_INSTALL_DIR' : {
+ 'STD-PATH': '${PERL_ARCH_INSTALL_DIR}',
+ 'FHS-PATH': '${PERL_ARCH_INSTALL_DIR}',
+ 'OVERWRITE': True,
+ },
'INCLUDEDIR' : {
'STD-PATH': '${INCLUDEDIR}',
'FHS-PATH': '${INCLUDEDIR}/samba-4.0',
'FHS-PATH': '${SOCKET_DIR}/winbindd',
'DELAY': True,
},
- 'WINBINDD_PRIVILEGED_SOCKET_DIR' : {
- 'STD-PATH': '${PRIVILEGED_SOCKET_DIR}/winbindd_privileged',
- 'FHS-PATH': '${PRIVILEGED_SOCKET_DIR}/winbindd_privileged',
- 'DELAY': True,
- },
'NMBDSOCKETDIR' : {
'STD-PATH': '${SOCKET_DIR}/nmbd',
'FHS-PATH': '${SOCKET_DIR}/nmbd',
'SMB_PASSWD_FILE' : {
'STD-PATH': '${PRIVATE_DIR}/smbpasswd',
'FHS-PATH': '${PRIVATE_DIR}/smbpasswd',
+ 'OPTION': '--with-smbpasswd-file',
+ 'HELPTEXT': 'Where to put the smbpasswd file',
'DELAY': True,
},
}
conf.start_msg("Dynconfig[%s]: " % (varname))
conf.end_msg("'%s'" % (value), 'GREEN')
-def dynconfig_cflags(bld, list=None):
- '''work out the extra CFLAGS for dynconfig.c'''
- cflags = []
- # override some paths when running from the build directory
+def get_override(bld):
override = { 'MODULESDIR' : 'bin/modules',
'PYTHONDIR' : 'bin/python',
'PYTHONARCHDIR' : 'bin/python',
'BINDIR' : 'bin',
'SBINDIR' : 'bin',
- 'CODEPAGEDIR' : os.path.join(bld.env.srcdir, 'codepages'),
- 'SCRIPTSBINDIR' : os.path.join(bld.env.srcdir, 'source4/scripting/bin'),
- 'SETUPDIR' : os.path.join(bld.env.srcdir, 'source4/setup') }
+ 'CODEPAGEDIR' : 'codepages',
+ 'SCRIPTSBINDIR' : 'source4/scripting/bin',
+ 'SETUPDIR' : 'source4/setup'
+ }
+ return override
+
+def dynconfig_cflags(bld, list=None):
+ '''work out the extra CFLAGS for dynconfig.c'''
+ cflags = []
for varname in dynconfig.keys():
if list and not varname in list:
continue
value = bld.env[varname]
- if not Options.is_install:
+ if not bld.is_install:
+ override = get_override(bld)
if varname in override:
- value = os.path.join(os.getcwd(), override[varname])
+ value = os.path.join(bld.env.srcdir, override[varname])
cflags.append('-D%s="%s"' % (varname, value))
return cflags
Build.BuildContext.dynconfig_cflags = dynconfig_cflags
+def dynconfig_varnames(bld, list=None):
+ '''work out the dynconfig variables'''
+ varnames = []
+ for varname in dynconfig.keys():
+ if list and not varname in list:
+ continue
+ varnames.append(varname)
+ return varnames
+Build.BuildContext.dynconfig_varnames = dynconfig_varnames
+
+def pathconfig_entities(bld, list=None):
+ '''work out the extra entities for the docs'''
+ entities = []
+ for varname in dynconfig.keys():
+ if list and not varname in list:
+ continue
+ value = bld.env[varname]
+ if not bld.is_install:
+ override = get_override(bld)
+ if varname in override:
+ value = os.path.join(bld.env.srcdir, override[varname])
+ entities.append("<!ENTITY pathconfig.%s '%s'>" % (varname, value))
+ return entities
+Build.BuildContext.pathconfig_entities = pathconfig_entities
+
def build(bld):
cflags = bld.dynconfig_cflags()
version_header = 'version.h'
bld.SAMBA_SUBSYSTEM('DYNCONFIG',
'dynconfig.c',
- deps='replace talloc',
+ deps='replace',
public_headers=os_path_relpath(os.path.join(Options.launch_dir, version_header), bld.curdir),
header_path='samba',
cflags=cflags)