mirror of
https://github.com/samba-team/samba.git
synced 2025-01-11 05:18:09 +03:00
r14332: Built in different paths when running locally (from ./bin/) in developer
mode (./configure.developer). This will change the hardcoded value of a few paths (BINDIR, SWATDIR, EJSDIR, SETUPDIR, DATADIR, MODULESDIR). The regular locations will be used when running 'make install'. This enables developers to work on (shared built) modules, swat, ejs and setup files without having to run 'make install' each time.
This commit is contained in:
parent
7871b07e21
commit
f12c1ee193
@ -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__
|
||||
);
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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;
|
||||
|
@ -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/>");
|
||||
|
63
source/lib/version.c
Normal file
63
source/lib/version.c
Normal file
@ -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;
|
||||
}
|
@ -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 $@
|
||||
|
Loading…
Reference in New Issue
Block a user