1
0
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:
Jelmer Vernooij 2006-03-13 18:31:42 +00:00 committed by Gerald (Jerry) Carter
parent 7871b07e21
commit f12c1ee193
6 changed files with 92 additions and 56 deletions

View File

@ -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__
);

View File

@ -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;
}

View File

@ -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;

View File

@ -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
View 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;
}

View File

@ -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 $@