From 5c66b80c07bfa379971ffaed1936b43a44f4e581 Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Tue, 27 May 2008 13:38:39 +0200 Subject: Move version.o and dynconfig.o into their own directory. (This used to be commit 2cc924a412578c052a7793408300c28c8bc87c2d) --- source4/dynconfig/config.mk | 23 ++++++++++++ source4/dynconfig/dynconfig.c | 86 +++++++++++++++++++++++++++++++++++++++++++ source4/dynconfig/dynconfig.h | 40 ++++++++++++++++++++ source4/dynconfig/version.c | 27 ++++++++++++++ 4 files changed, 176 insertions(+) create mode 100644 source4/dynconfig/config.mk create mode 100644 source4/dynconfig/dynconfig.c create mode 100644 source4/dynconfig/dynconfig.h create mode 100644 source4/dynconfig/version.c (limited to 'source4/dynconfig') diff --git a/source4/dynconfig/config.mk b/source4/dynconfig/config.mk new file mode 100644 index 0000000000..5f2887f8b6 --- /dev/null +++ b/source4/dynconfig/config.mk @@ -0,0 +1,23 @@ +[SUBSYSTEM::DYNCONFIG] + +DYNCONFIG_OBJ_FILES = $(dynconfigsrcdir)/dynconfig.o \ + $(dynconfigsrcdir)/version.o + +# set these to where to find various files +# These can be overridden by command line switches (see smbd(8)) +# or in smb.conf (see smb.conf(5)) +CONFIGFILE = $(sysconfdir)/smb.conf +PKGCONFIGDIR = $(libdir)/pkgconfig +LMHOSTSFILE = $(sysconfdir)/lmhosts + +$(dynconfigsrcdir)/dynconfig.o: CFLAGS+=-DCONFIGFILE=\"$(CONFIGFILE)\" -DBINDIR=\"$(bindir)\" \ + -DLMHOSTSFILE=\"$(LMHOSTSFILE)\" \ + -DLOCKDIR=\"$(lockdir)\" -DPIDDIR=\"$(piddir)\" -DDATADIR=\"$(datadir)\" \ + -DLOGFILEBASE=\"$(logfilebase)\" \ + -DCONFIGDIR=\"$(sysconfdir)\" -DNCALRPCDIR=\"$(NCALRPCDIR)\" \ + -DSWATDIR=\"$(SWATDIR)\" \ + -DPRIVATE_DIR=\"$(privatedir)\" \ + -DMODULESDIR=\"$(modulesdir)\" -DJSDIR=\"$(JSDIR)\" \ + -DTORTUREDIR=\"$(TORTUREDIR)\" \ + -DSETUPDIR=\"$(SETUPDIR)\" -DWINBINDD_SOCKET_DIR=\"$(winbindd_socket_dir)\" + diff --git a/source4/dynconfig/dynconfig.c b/source4/dynconfig/dynconfig.c new file mode 100644 index 0000000000..6dbbf872d9 --- /dev/null +++ b/source4/dynconfig/dynconfig.c @@ -0,0 +1,86 @@ +/* + Unix SMB/CIFS implementation. + Copyright (C) 2001 by Martin Pool + Copyright (C) Jim McDonough (jmcd@us.ibm.com) 2003. + Copyright (C) Stefan Metzmacher 2003 + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +#include "includes.h" + +/** + * @file dynconfig.c + * + * @brief Global configurations, initialized to configured defaults. + * + * This file should be the only file that depends on path + * configuration (--prefix, etc), so that if ./configure is re-run, + * all programs will be appropriately updated. Everything else in + * Samba should import extern variables from here, rather than relying + * on preprocessor macros. + * + * Eventually some of these may become even more variable, so that + * they can for example consistently be set across the whole of Samba + * by command-line parameters, config file entries, or environment + * variables. + * + * @todo Perhaps eventually these should be merged into the parameter + * table? There's kind of a chicken-and-egg situation there... + **/ + +/** Directory with generic binaries */ +_PUBLIC_ const char *dyn_BINDIR = BINDIR; + +/**< Location of smb.conf file. **/ +_PUBLIC_ const char *dyn_CONFIGFILE = CONFIGFILE; + +/** Log file directory. **/ +_PUBLIC_ const char *dyn_LOGFILEBASE = LOGFILEBASE; + +/** Directory for local RPC (ncalrpc: transport) */ +_PUBLIC_ const char *dyn_NCALRPCDIR = NCALRPCDIR; + +/** Statically configured LanMan hosts. **/ +_PUBLIC_ const char *dyn_LMHOSTSFILE = LMHOSTSFILE; + +/** Samba data directory. */ +_PUBLIC_ const char *dyn_DATADIR = DATADIR; + +_PUBLIC_ const char *dyn_MODULESDIR = MODULESDIR; + +/** + * @brief Directory holding lock files. + * + * Not writable, but used to set a default in the parameter table. + **/ +_PUBLIC_ const char *dyn_LOCKDIR = LOCKDIR; + +/** pid file directory */ +_PUBLIC_ const char *dyn_PIDDIR = PIDDIR; + +/** Private data directory; holds ldb files and the like */ +_PUBLIC_ const char *dyn_PRIVATE_DIR = PRIVATE_DIR; + +/** SWAT directory */ +_PUBLIC_ const char *dyn_SWATDIR = SWATDIR; + +/** SETUP files (source files used by the provision) */ +_PUBLIC_ const char *dyn_SETUPDIR = SETUPDIR; + +/** EJS Javascript library includes */ +_PUBLIC_ const char *dyn_JSDIR = JSDIR; + +/** Where to find the winbindd socket */ +_PUBLIC_ const char *dyn_WINBINDD_SOCKET_DIR = WINBINDD_SOCKET_DIR; diff --git a/source4/dynconfig/dynconfig.h b/source4/dynconfig/dynconfig.h new file mode 100644 index 0000000000..ac54db63d6 --- /dev/null +++ b/source4/dynconfig/dynconfig.h @@ -0,0 +1,40 @@ +/* + Unix SMB/CIFS implementation. + Copyright (C) 2001 by Martin Pool + Copyright (C) Jim McDonough (jmcd@us.ibm.com) 2003. + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +/** + * @file dynconfig.h + * + * @brief Exported global configurations. + **/ + +extern const char *dyn_BINDIR; +extern const char *dyn_CONFIGFILE; +extern const char *dyn_NCALRPCDIR; +extern const char *dyn_LOGFILEBASE; +extern const char *dyn_LMHOSTSFILE; +extern const char *dyn_DATADIR; +extern const char *dyn_MODULESDIR; +extern const char *dyn_LOCKDIR; +extern const char *dyn_PIDDIR; +extern const char *dyn_PRIVATE_DIR; +extern const char *dyn_SWATDIR; +extern const char *dyn_JSDIR; +extern const char *dyn_SETUPDIR; +extern const char *dyn_WINBINDD_SOCKET_DIR; diff --git a/source4/dynconfig/version.c b/source4/dynconfig/version.c new file mode 100644 index 0000000000..e81f463586 --- /dev/null +++ b/source4/dynconfig/version.c @@ -0,0 +1,27 @@ +/* + Unix SMB/CIFS implementation. + Samba Version functions + + Copyright (C) Stefan Metzmacher 2003 + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +#include "includes.h" +#include "version.h" + +const char *samba_version_string(void) +{ + return SAMBA_VERSION_STRING; +} -- cgit