diff options
Diffstat (limited to 'source4')
-rw-r--r-- | source4/build/smb_build/makefile.pm | 8 | ||||
-rw-r--r-- | source4/dynconfig.c | 45 | ||||
-rw-r--r-- | source4/dynconfig.h | 1 | ||||
-rw-r--r-- | source4/gtk/common/gtk-smb.c | 3 | ||||
-rw-r--r-- | source4/lib/version.c | 63 | ||||
-rw-r--r-- | source4/param/config.mk | 28 |
6 files changed, 92 insertions, 56 deletions
diff --git a/source4/build/smb_build/makefile.pm b/source4/build/smb_build/makefile.pm index 8ab19e980d..7002bc8844 100644 --- a/source4/build/smb_build/makefile.pm +++ b/source4/build/smb_build/makefile.pm @@ -408,22 +408,22 @@ sub Binary($$) if ($self->{duplicate_build}) { $self->output(<< "__EOD__" # -bin/$ctx->{BINARY}: \$($ctx->{TYPE}_$ctx->{NAME}_DEPEND_LIST) \$($ctx->{TYPE}_$ctx->{NAME}_OBJ_LIST) +bin/$ctx->{BINARY}: \$($ctx->{TYPE}_$ctx->{NAME}_DEPEND_LIST) \$($ctx->{TYPE}_$ctx->{NAME}_OBJ_LIST) \$(builddir)/dynconfig-devel.o \@echo Linking \$\@ \@\$(CC) \$(LDFLAGS) -o \$\@ \$(LOCAL_LINK_FLAGS) \\ \$\($ctx->{TYPE}_$ctx->{NAME}_LINK_LIST) \\ - \$\($ctx->{TYPE}_$ctx->{NAME}_LINK_FLAGS) + \$\($ctx->{TYPE}_$ctx->{NAME}_LINK_FLAGS) \$(builddir)/dynconfig-devel.o __EOD__ ); } $self->output(<< "__EOD__" -$installdir/$ctx->{BINARY}: \$($ctx->{TYPE}_$ctx->{NAME}_DEPEND_LIST) \$($ctx->{TYPE}_$ctx->{NAME}_OBJ_LIST) +$installdir/$ctx->{BINARY}: \$($ctx->{TYPE}_$ctx->{NAME}_DEPEND_LIST) \$($ctx->{TYPE}_$ctx->{NAME}_OBJ_LIST) \$(builddir)/dynconfig.o \@echo Linking \$\@ \@\$(CC) \$(LDFLAGS) -o \$\@ \$(INSTALL_LINK_FLAGS) \\ \$\($ctx->{TYPE}_$ctx->{NAME}_LINK_LIST) \\ - \$\($ctx->{TYPE}_$ctx->{NAME}_LINK_FLAGS) + \$\($ctx->{TYPE}_$ctx->{NAME}_LINK_FLAGS) \$(builddir)/dynconfig.o __EOD__ ); diff --git a/source4/dynconfig.c b/source4/dynconfig.c index 26bbbec2d4..41728af57d 100644 --- a/source4/dynconfig.c +++ b/source4/dynconfig.c @@ -20,7 +20,6 @@ */ #include "includes.h" -#include "version.h" /** * @file dynconfig.c @@ -42,9 +41,6 @@ * table? There's kind of a chicken-and-egg situation there... **/ -/** Directory with super-user binaries */ -_PUBLIC_ const char *dyn_SBINDIR = SBINDIR; - /** Directory with generic binaries */ _PUBLIC_ const char *dyn_BINDIR = BINDIR; @@ -91,45 +87,4 @@ _PUBLIC_ const char *dyn_SETUPDIR = SETUPDIR; _PUBLIC_ const char *dyn_JSDIR = JSDIR; /** Where to find the winbindd socket */ - _PUBLIC_ const char *dyn_WINBINDD_SOCKET_DIR = WINBINDD_SOCKET_DIR; - -_PUBLIC_ const char *samba_version_string(void) -{ - const char *official_string = SAMBA_VERSION_OFFICIAL_STRING; -#ifdef SAMBA_VERSION_RELEASE_NICKNAME - const char *release_nickname = SAMBA_VERSION_RELEASE_NICKNAME; -#else - const char *release_nickname = NULL; -#endif -#ifdef SAMBA_VERSION_VENDOR_SUFFIX - const char *vendor_suffix = SAMBA_VERSION_VENDOR_SUFFIX; -#else - const char *vendor_suffix = NULL; -#endif -#ifdef SAMBA_VERSION_VENDOR_PATCH - const char *vendor_patch = SAMBA_VERSION_VENDOR_PATCH; -#else - const char *vendor_patch = NULL; -#endif - static char *samba_version; - static BOOL init_samba_version; - - if (init_samba_version) { - return samba_version; - } - - samba_version = talloc_asprintf(talloc_autofree_context(), - "%s%s%s%s%s%s%s%s", - official_string, - (vendor_suffix?"-":""), - (vendor_suffix?vendor_suffix:""), - (vendor_patch?"-":""), - (vendor_patch?vendor_patch:""), - (release_nickname?" (":""), - (release_nickname?release_nickname:""), - (release_nickname?")":"")); - - init_samba_version = True; - return samba_version; -} diff --git a/source4/dynconfig.h b/source4/dynconfig.h index 9504a5886a..b1a7fff191 100644 --- a/source4/dynconfig.h +++ b/source4/dynconfig.h @@ -25,7 +25,6 @@ * @brief Exported global configurations. **/ -extern const char *dyn_SBINDIR; extern const char *dyn_BINDIR; extern const char *dyn_CONFIGFILE; extern const char *dyn_NCALRPCDIR; diff --git a/source4/gtk/common/gtk-smb.c b/source4/gtk/common/gtk-smb.c index 57a437ef96..3f818dae76 100644 --- a/source4/gtk/common/gtk-smb.c +++ b/source4/gtk/common/gtk-smb.c @@ -22,6 +22,7 @@ #include "includes.h" #include "gtk/common/gtk-smb.h" #include "gtk/common/select.h" +#include "version.h" void gtk_show_werror(GtkWidget *win, const char *message, WERROR err) { @@ -282,7 +283,7 @@ GtkWidget *create_gtk_samba_about_dialog (const char *appname) label1 = gtk_label_new (appname); gtk_box_pack_start (GTK_BOX (dialog_vbox1), label1, FALSE, FALSE, 0); - label2 = gtk_label_new (samba_version_string()); + label2 = gtk_label_new (SAMBA_VERSION_STRING); gtk_box_pack_start (GTK_BOX (dialog_vbox1), label2, FALSE, FALSE, 0); label3 = gtk_label_new_with_mnemonic ("Part of Samba <http://www.samba.org/>"); diff --git a/source4/lib/version.c b/source4/lib/version.c new file mode 100644 index 0000000000..b7aa81a081 --- /dev/null +++ b/source4/lib/version.c @@ -0,0 +1,63 @@ +/* + 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 2 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, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ + +#include "includes.h" +#include "version.h" + +const char *samba_version_string(void) +{ + const char *official_string = SAMBA_VERSION_OFFICIAL_STRING; +#ifdef SAMBA_VERSION_RELEASE_NICKNAME + const char *release_nickname = SAMBA_VERSION_RELEASE_NICKNAME; +#else + const char *release_nickname = NULL; +#endif +#ifdef SAMBA_VERSION_VENDOR_SUFFIX + const char *vendor_suffix = SAMBA_VERSION_VENDOR_SUFFIX; +#else + const char *vendor_suffix = NULL; +#endif +#ifdef SAMBA_VERSION_VENDOR_PATCH + const char *vendor_patch = SAMBA_VERSION_VENDOR_PATCH; +#else + const char *vendor_patch = NULL; +#endif + static char *samba_version; + static BOOL init_samba_version; + + if (init_samba_version) { + return samba_version; + } + + samba_version = talloc_asprintf(talloc_autofree_context(), + "%s%s%s%s%s%s%s%s", + official_string, + (vendor_suffix?"-":""), + (vendor_suffix?vendor_suffix:""), + (vendor_patch?"-":""), + (vendor_patch?vendor_patch:""), + (release_nickname?" (":""), + (release_nickname?release_nickname:""), + (release_nickname?")":"")); + + init_samba_version = True; + return samba_version; +} diff --git a/source4/param/config.mk b/source4/param/config.mk index b6e94c004c..2304195e26 100644 --- a/source4/param/config.mk +++ b/source4/param/config.mk @@ -1,12 +1,12 @@ [SUBSYSTEM::CONFIG] -OBJ_FILES = ../dynconfig.o \ - loadparm.o \ - params.o \ - generic.o +OBJ_FILES = loadparm.o \ + params.o \ + generic.o \ + ../lib/version.o REQUIRED_SUBSYSTEMS = LIBBASIC PRIVATE_PROTO_HEADER = param.h -PATH_FLAGS = -DCONFIGFILE=\"$(CONFIGFILE)\" -DSBINDIR=\"$(SBINDIR)\" \ +PATH_FLAGS = -DCONFIGFILE=\"$(CONFIGFILE)\" \ -DBINDIR=\"$(BINDIR)\" -DLMHOSTSFILE=\"$(LMHOSTSFILE)\" \ -DLOCKDIR=\"$(LOCKDIR)\" -DPIDDIR=\"$(PIDDIR)\" -DDATADIR=\"$(DATADIR)\" \ -DLOGFILEBASE=\"$(LOGFILEBASE)\" -DSHLIBEXT=\"$(SHLIBEXT)\" \ @@ -18,3 +18,21 @@ PATH_FLAGS = -DCONFIGFILE=\"$(CONFIGFILE)\" -DSBINDIR=\"$(SBINDIR)\" \ dynconfig.o: dynconfig.c Makefile @echo Compiling $< @$(CC) $(CFLAGS) $(PICFLAG) $(PATH_FLAGS) -c $< -o $@ + +# dynconfig defines used for binaries in bin/, when configure ran in developer +# mode: + +DEVEL_PATH_FLAGS = -DCONFIGFILE=\"$(CONFIGFILE)\" -DBINDIR=\"$(builddir)/bin\" \ + -DLMHOSTSFILE=\"$(LMHOSTSFILE)\" -DLOCKDIR=\"$(LOCKDIR)\" \ + -DPIDDIR=\"$(PIDDIR)\" -DDATADIR=\"$(srcdir)/codepages\" \ + -DLOGFILEBASE=\"$(LOGFILEBASE)\" -DSHLIBEXT=\"$(SHLIBEXT)\" \ + -DCONFIGDIR=\"$(CONFIGDIR)\" -DNCALRPCDIR=\"$(NCALRPCDIR)\" \ + -DSWATDIR=\"$(srcdir)/../swat\" -DPRIVATE_DIR=\"$(PRIVATEDIR)\" \ + -DMODULESDIR=\"$(builddir)/bin/modules\" \ + -DJSDIR=\"$(srcdir)/scripting/libjs\" \ + -DSETUPDIR=\"$(srcdir)/setup\" \ + -DWINBINDD_SOCKET_DIR=\"$(WINBINDD_SOCKET_DIR)\" + +dynconfig-devel.o: dynconfig.c Makefile + @echo Compiling $< + @$(CC) $(CFLAGS) $(PICFLAG) $(DEVEL_PATH_FLAGS) -c $< -o $@ |