2010-03-23 18:26:49 -06:00
import string , Utils
# list of directory options to offer in configure
dir_options = {
2010-09-19 22:35:26 +02:00
' with-cachedir ' : [ ' $ {PREFIX} /var/locks ' , ' where to put temporary cache files ' ] ,
2011-01-07 00:05:27 +01:00
' with-codepagedir ' : [ ' $ {PREFIX} /lib/samba ' , ' where to put codepages ' ] ,
2010-09-23 16:39:41 -07:00
' with-configdir ' : [ ' $ {PREFIX} /etc/samba ' , ' Where to put configuration files ' ] ,
2011-01-07 00:05:27 +01:00
' with-lockdir ' : [ ' $ {PREFIX} /var/locks ' , ' where to put lock files ' ] ,
' with-logfilebase ' : [ ' $ {PREFIX} /var/log/samba ' , ' Where to put log files ' ] ,
2010-09-23 16:39:41 -07:00
' with-ncalrpcdir ' : [ ' $ {PREFIX} /var/ncalrpc ' , ' where to put ncalrpc sockets ' ] ,
2011-01-07 00:05:27 +01:00
' with-ntp-signd-socket-dir ' : [ ' $ {PREFIX} /var/run/ntp_signd ' , ' NTP signed directory ' ] ,
2010-09-23 16:39:41 -07:00
' with-pammodulesdir ' : [ ' ' , ' Which directory to use for PAM modules ' ] ,
2011-01-07 00:05:27 +01:00
' with-piddir ' : [ ' $ {PREFIX} /var/locks ' , ' where to put pid files ' ] ,
' with-privatedir ' : [ ' $ {PREFIX} /private ' , ' where to put smbpasswd ' ] ,
2010-09-23 16:39:41 -07:00
' with-selftest-prefix ' : [ ' ' , ' The prefix where make test will be run ' ] ,
2011-01-07 00:05:27 +01:00
' with-selftest-shrdir ' : [ ' ' , ' The share directory that make test will be run against ' ] ,
' with-statedir ' : [ ' $ {PREFIX} /var/locks ' , ' where to put persistent state files ' ] ,
' with-swatdir ' : [ ' $ {PREFIX} /swat ' , ' Where to put SWAT files ' ] ,
' with-winbindd-privileged-socket-dir ' : [ ' $ {PREFIX} /var/lib/winbindd_privileged ' , ' winbind privileged socket directory ' ] ,
' with-winbindd-socket-dir ' : [ ' $ {PREFIX} /var/lib/winbindd ' , ' winbind socket directory ' ] ,
2010-03-23 18:26:49 -06:00
}
# list of cflags to use for dynconfig.c
dyn_cflags = {
' BINDIR ' : ' $ {BINDIR} ' ,
2011-01-07 00:05:27 +01:00
' CACHEDIR ' : ' $ {CACHEDIR} ' ,
' CODEPAGEDIR ' : ' $ {CODEPAGEDIR} ' ,
' CONFIGDIR ' : ' $ {SYSCONFDIR} ' ,
' CONFIGFILE ' : ' $ {SYSCONFDIR} /smb.conf ' ,
' DATADIR ' : ' $ {DATADIR} ' ,
2010-03-23 18:26:49 -06:00
' LIBDIR ' : ' $ {LIBDIR} ' ,
' LMHOSTSFILE ' : ' $ {SYSCONFDIR} /lmhosts ' ,
' LOCKDIR ' : ' $ {LOCALSTATEDIR} /locks ' ,
' LOGFILEBASE ' : ' $ {LOCALSTATEDIR} ' ,
2011-01-07 00:05:27 +01:00
' MODULESDIR ' : ' $ {PREFIX} /modules ' ,
2010-03-23 18:26:49 -06:00
' NCALRPCDIR ' : ' $ {LOCALSTATEDIR} /ncalrpc ' ,
2011-01-07 00:05:27 +01:00
' NTP_SIGND_SOCKET_DIR ' : ' $ {NTP_SIGND_SOCKET_DIR} ' ,
' PIDDIR ' : ' $ {LOCALSTATEDIR} /run ' ,
2010-03-23 18:26:49 -06:00
' PRIVATE_DIR ' : ' $ {PRIVATEDIR} ' ,
2011-01-07 00:05:27 +01:00
' SBINDIR ' : ' $ {SBINDIR} ' ,
2010-03-23 18:26:49 -06:00
' SETUPDIR ' : ' $ {DATADIR} /setup ' ,
2011-01-07 00:05:27 +01:00
' SMB_PASSWD_FILE ' : ' $ {PRIVATEDIR} /smbpasswd ' ,
' STATEDIR ' : ' $ {LOCALSTATEDIR} ' ,
' SWATDIR ' : ' $ {PREFIX} /swat ' ,
2010-03-23 18:26:49 -06:00
' WINBINDD_PRIVILEGED_SOCKET_DIR ' : ' $ {WINBINDD_PRIVILEGED_SOCKET_DIR} ' ,
' WINBINDD_SOCKET_DIR ' : ' $ {WINBINDD_SOCKET_DIR} ' ,
}
def get_varname ( v ) :
''' work out a variable name from a configure option name '''
if v . startswith ( ' with- ' ) :
v = v [ 5 : ]
v = v . upper ( )
v = string . replace ( v , ' - ' , ' _ ' )
return v
def dynconfig_cflags ( bld ) :
''' work out the extra CFLAGS for dynconfig.c '''
cflags = [ ]
for f in dyn_cflags . keys ( ) :
# substitute twice, as we could have substitutions containing variables
v = Utils . subst_vars ( dyn_cflags [ f ] , bld . env )
v = Utils . subst_vars ( v , bld . env )
bld . ASSERT ( v != ' ' , " Empty dynconfig value for %s " % f )
bld . ASSERT ( v . find ( ' $ { ' ) == - 1 , " Unsubstituted variable in %s : %s : %s " % ( f , dyn_cflags [ f ] , v ) )
cflags . append ( ' -D %s = " %s " ' % ( f , v ) )
return cflags