1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-23 17:34:34 +03:00
Commit Graph

961 Commits

Author SHA1 Message Date
Michael Adam
d28f36d16e build:dist: extend meaning of DIST_FILES to also recurse into directories
Pair-Programmed-With: Stefan Metzmacher <metze@samba.org>
2012-09-12 23:53:12 +02:00
Michael Adam
36b2732426 build:dist: make use of file / distfile more obvious in handling of DIST_FILES in "make dist"
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2012-09-12 23:53:09 +02:00
Michael Adam
8ea2a468c3 build:dist: extend samba_dist.DIST_FILES() to take optional parameter extend(=False)
This allows to do multpile DIST_FILES() calls that will extend the list
rather than only setting it initially.

Signed-off-by: Stefan Metzmacher <metze@samba.org>
2012-09-12 23:53:02 +02:00
Michael Adam
4989a9dd7c build:waf dist: factor out function to add list of files to the tarball
Pair-Programmed-With: Stefan Metzmacher <metze@samba.org>
2012-09-12 23:52:56 +02:00
Andreas Schneider
66a87d7cbe wafsamba: Add a SAMBAMANPAGES function. 2012-09-12 12:21:29 +02:00
Alexander Bokovoy
9c3e294400 wafsamba/samba_abi: allow negative matches in abi_match
abi_match keyword for samba libraries allows to selectively
apply ABI versions. samba_abi.py implied !sym to be used to
say 'all symbols but this one' but the actual demotion
of !sym to the local scope was not implemented.

Now abi_match='!sym' properly moves symbol to a local scope.
2012-09-07 12:31:42 +02:00
Alexander Bokovoy
c63dcc97b6 gen_abi.sh: filter out symbols not needed for ABI
gdb does not allow to print definitions of certain section names
and special symbols used for dynamic loading machinery:

__bss_start
_edata
_init
_fini
_end

Please note the space before the pattern, it is needed to avoid
hungry matches of valid symbols with these as substrings (foo_init,
for example).

Without this patch gdb on Fedora 18 breaks when attempting to print
function and struct signature.
2012-09-07 12:31:42 +02:00
Alexander Bokovoy
6b2e7aabb7 wafsamba/samba_abi: fix signature parsing for structures
Signature parsing for structure objects was broken. Existing regexp
was greedingly cutting off additional curly brackets that belonged to
the first and last structure member.
2012-09-07 12:31:42 +02:00
Andreas Schneider
f0da7c509c waf: Create catalog file for manpage generation. 2012-09-07 10:48:57 +02:00
Andreas Schneider
802708b410 wafsamba: Add a CONFIGURE_FILE option. 2012-09-07 10:48:57 +02:00
Andreas Schneider
18eb505b89 wafsamba: Add support for manpages in SAMBA_MODULE. 2012-09-07 10:48:57 +02:00
Andrew Bartlett
4d5471f1c6 build: Remove special case for the build farm
Except in the formatting of the selftest output, this removes the special case
of the build farm, so that an autobuild, a manual make test and the build farm
are more similar.

Andrew Bartlett

Autobuild-User(master): Andrew Bartlett <abartlet@samba.org>
Autobuild-Date(master): Tue Aug 21 06:39:04 CEST 2012 on sn-devel-104
2012-08-21 06:39:04 +02:00
Andrew Bartlett
7cd4eb0ca6 build: Remove accidentily added line in samba_version.py
This was incorrectly added in 0e441636af.

Andrew Bartlett

Autobuild-User(master): Andrew Bartlett <abartlet@samba.org>
Autobuild-Date(master): Tue Aug 21 03:11:16 CEST 2012 on sn-devel-104
2012-08-21 03:11:16 +02:00
Andrew Bartlett
0e441636af WHATSNEW: Remove over-caution on s3fs and explain browsing better 2012-08-20 21:58:06 +10:00
Andrew Bartlett
6ce362afef build: Ensure -Werror=format works with -Wformat=2 on NULL format strings
This should fix the build on some gcc versions, (noticed on FreeBSD by Volker).

We want the protection of -Werror=format without the errors extending
to the format string itself being NULL, because that is valid for
ldb_search().

Andrew Bartlett

Autobuild-User(master): Andrew Bartlett <abartlet@samba.org>
Autobuild-Date(master): Fri Aug 17 14:50:16 CEST 2012 on sn-devel-104
2012-08-17 14:50:16 +02:00
Andrew Bartlett
33c79c8731 build: Make -Werror=format check only run where NULL is still accepted
This is needed because ldb_search() allows a NULL parameter for the format string
and this needs to be permitted by the format string checker before we want to
make this error fatal.

Andrew Bartlett
2012-08-06 20:51:56 +10:00
Andrew Bartlett
3aa6f085c2 build: Add more -Werror flags now the tree is clean of these errors
Autobuild-User(master): Andrew Bartlett <abartlet@samba.org>
Autobuild-Date(master): Mon Jul 30 08:23:24 CEST 2012 on sn-devel-104
2012-07-30 08:23:24 +02:00
Björn Jacke
86c2d486f2 buildtools: use egrep when we need the "-f patternfile" option
Solaris' default grep doesn't know the -f option

Autobuild-User(master): Björn Jacke <bj@sernet.de>
Autobuild-Date(master): Thu Jul 26 20:49:18 CEST 2012 on sn-devel-104
2012-07-26 20:49:17 +02:00
Andrew Bartlett
d00d20626f waf: Update to newer upstream snapshot.
Autobuild-User(master): Andrew Bartlett <abartlet@samba.org>
Autobuild-Date(master): Tue Jul 24 16:42:44 CEST 2012 on sn-devel-104
2012-07-24 16:42:44 +02:00
Andrew Bartlett
00050a12b0 build: Add -Werror=address to the developer build
Signed-off-by: Jeremy Allison <jra@samba.org>
2012-07-24 00:09:46 +02:00
Björn Baumbach
f48f65e695 wafsamba: samba_version: add samba version suffix to vcs_fields
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2012-07-03 15:32:09 +02:00
Stefan Metzmacher
b70164bc31 wafsamba/irixcc: next try to inject '-c99' the the build
metze
2012-06-20 12:58:57 +02:00
Stefan Metzmacher
a94bed3178 Revert "wafsamba/irixcc: add '-c99' option to cc"
This reverts commit 59daf91f39.

Doesn't seem to work :-(

metze
2012-06-20 12:58:57 +02:00
Rusty Russell
6244f668a3 TDB2: make SAMBA use tdb1 again for the moment.
Otherwise the following surgery will break the SAMBA build and testsuite.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2012-06-19 05:38:05 +02:00
Stefan Metzmacher
59daf91f39 wafsamba/irixcc: add '-c99' option to cc
Lets see if this fixes the build on IRIX.

metze

Autobuild-User(master): Stefan Metzmacher <metze@samba.org>
Autobuild-Date(master): Tue Jun 19 02:42:21 CEST 2012 on sn-devel-104
2012-06-19 02:42:20 +02:00
Jelmer Vernooij
98bd0d18db waf: Update to newer upstream snapshot.
Autobuild-User(master): Jelmer Vernooij <jelmer@samba.org>
Autobuild-Date(master): Fri Jun 15 03:12:35 CEST 2012 on sn-devel-104
2012-06-15 03:12:35 +02:00
Jelmer Vernooij
eacb77bb92 update-waf.sh: make mktemp happy by including anything Xes. 2012-06-15 01:18:08 +02:00
Stefan Metzmacher
bff935b814 wafsamba: try to fix the build on AIX with xlc_r
bld.env['CPP'] can be 'None' or '[]', bld.CONFIG_SET("CPP") should return False

File "./buildtools/wafsamba/samba_pidl.py", line 131, in SAMBA_PIDL_LIST
    bld.SAMBA_PIDL(name, p, options=options, output_dir=output_dir, symlink=symlink, generate_tables=generate_tables)
  File "./buildtools/wafsamba/samba_pidl.py", line 65, in SAMBA_PIDL
    cpp = 'CPP="%s"' % bld.CONFIG_GET("CPP")[0]
IndexError: list index out of range

metze

Autobuild-User(master): Stefan Metzmacher <metze@samba.org>
Autobuild-Date(master): Sun Jun 10 20:18:49 CEST 2012 on sn-devel-104
2012-06-10 20:18:49 +02:00
Björn Jacke
2bdfd284ab build: try to fix large file support for AIX
Autobuild-User(master): Björn Jacke <bj@sernet.de>
Autobuild-Date(master): Fri Jun  8 00:37:00 CEST 2012 on sn-devel-104
2012-06-08 00:37:00 +02:00
Andrew Bartlett
d561ef20b5 VERSION: prepare for beta1 by setting and parsing the beta version 2012-06-05 04:27:36 +02:00
Andrew Bartlett
403dda3c22 build: Add automatic compare of config.h files to recursive waf build
This uses the fact that we have both build systems running at the same time.

The krb5 checks are skipped because we typically are comparing internal Heimdal
with the system krb5, so they do not make sense.

The required checks for krb5 are pretty well understood in any case, as
we have a limited set of supported libraries.

Andrew Bartlett
2012-06-01 03:04:27 +02:00
Andriy Syrovenko
a8f5faa09a build: Add option to specify where gettext is (/usr/local by default)
This should help configure script to find gettext on FreeBSD and
(possibly) some other systems as well.
2012-05-27 13:16:47 +10:00
Alexander Bokovoy
77a6c81347 wafsamba: ensure TO_LIST does not fail with empty string 2012-05-23 17:51:50 +03:00
Alexander Bokovoy
2ddf89a2bc Introduce system MIT krb5 build with --with-system-mitkrb5 option.
System MIT krb5 build also enabled by specifying --without-ad-dc

When --with-system-mitkrb5 (or --withou-ad-dc) option is passed to top level
configure in WAF build we are trying to detect and use system-wide MIT krb5
libraries. As result, Samba 4 DC functionality will be disabled due to the fact
that it is currently impossible to implement embedded KDC server with MIT krb5.

Thus, --with-system-mitkrb5/--without-ad-dc build will only produce
  * Samba 4 client libraries and their Python bindings
  * Samba 3 server (smbd, nmbd, winbindd from source3/)
  * Samba 3 client libraries

In addition, Samba 4 DC server-specific tests will not be compiled into smbtorture.
This in particular affects spoolss_win, spoolss_notify, and remote_pac rpc tests.
2012-05-23 17:51:50 +03:00
Andrew Bartlett
8e5badc256 build: Also look for iconv in /usr/local by default
This should help the build find iconv on FreeBSD and similar systems,
and make it possible to operate with 8-bit character sets.

Andrew Bartlett
2012-05-18 15:44:43 +10:00
Thomas Nagy
4626f25b53 Add include/lib folders from the commandline
By using opt.add_option(..., match=['Checking for library iconv'], dest='iconvdir'),
all configuration tests displaying 'Checking for library iconv' will get
$(iconvdir)/lib and $(iconvdir)/include
2012-05-18 15:44:43 +10:00
Andrew Bartlett
b6e36089e5 build: Add explicit mention of --abi-check-disable to ABI checker
This information has always been in the linked wiki page, but put it
in the build to unblock developers using platforms with slightly
different GDB output.

We can also assist this by improving the string normalisiation in the
ABI checker when example errors are provided.

It is better to build with the waf build and the full testsuite than
to avoid the waf build or not to use the developer options simply to
skip the ABI checker.

Andrew Bartlett

Autobuild-User: Andrew Bartlett <abartlet@samba.org>
Autobuild-Date: Wed May 16 01:53:42 CEST 2012 on sn-devel-104
2012-05-16 01:53:42 +02:00
Andrew Bartlett
37609ba6b8 build: Avoid printing the ABI signature normalisation during the default build
This appears to have been accidentily left in acd63fdb86

Andrew Bartlett

Autobuild-User: Andrew Bartlett <abartlet@samba.org>
Autobuild-Date: Thu May 10 09:00:20 CEST 2012 on sn-devel-104
2012-05-10 09:00:20 +02:00
Andrew Bartlett
d74c5a3dc4 build:ignore solaris _GLOBAL_OFFSET_TABLE_ in duplicate symbol checker 2012-05-10 14:57:13 +10:00
Günther Deschner
5f05eacd27 allow to use system iniparser library.
Guenther

Autobuild-User: Günther Deschner <gd@samba.org>
Autobuild-Date: Wed May  9 17:38:33 CEST 2012 on sn-devel-104
2012-05-09 17:38:33 +02:00
Alexander Bokovoy
594e316181 lib/replace: split out GSSAPI from lib/replace/system/kerberos.h into lib/replace/system/gssapi.h
With waf build include directories are defined by dependencies specified to subsystems.
Without proper dependency <gssapi/gssapi.h> cannot be found for embedded Heimdal builds
when there are no system-wide gssapi/gssapi.h available.

Split out GSSAPI header includes in a separate replacement header and use that explicitly
where needed.

Autobuild-User: Alexander Bokovoy <ab@samba.org>
Autobuild-Date: Wed Apr 25 00:18:33 CEST 2012 on sn-devel-104
2012-04-25 00:18:32 +02:00
Andrew Bartlett
26007a8917 wafsamba: allow certain public libraries to be forced to be private
This will help installations where the Samba4 libraries must be used but
the main system is not using the system libs that would normally
be installed.  This in particular impacts on libwbclient, which is a
core dep, but is different to that used by the rest of a Samba 3.x based
system.

Use eg:  ./configure --private-libraries=wbclient

Andrew Bartlett

Autobuild-User: Andrew Bartlett <abartlet@samba.org>
Autobuild-Date: Fri Apr 20 03:27:22 CEST 2012 on sn-devel-104
2012-04-20 03:27:22 +02:00
Simo Sorce
e21029a270 waf: Fix mispelling
Autobuild-User: Simo Sorce <idra@samba.org>
Autobuild-Date: Thu Apr 19 17:36:41 CEST 2012 on sn-devel-104
2012-04-19 17:36:41 +02:00
Andrew Bartlett
99caee5eef build: Remove more of the s3 special cases in waf: only pidfile.c needs -DCONFIGFILE 2012-04-18 12:04:59 +10:00
Simo Sorce
e49efe9e7e Fix typo
Autobuild-User: Simo Sorce <idra@samba.org>
Autobuild-Date: Tue Apr 17 22:22:26 CEST 2012 on sn-devel-104
2012-04-17 22:22:26 +02:00
Alexander Bokovoy
89e998412f waf: samba-specific methods should have capitalized names, change process_separate_rule to follow
Changing process_separate_rule to PROCESS_SEPARATE_RULE.

Thanks Thomas Nagy for review.

Autobuild-User: Alexander Bokovoy <ab@samba.org>
Autobuild-Date: Sat Apr 14 08:55:43 CEST 2012 on sn-devel-104
2012-04-14 08:55:43 +02:00
Alexander Bokovoy
1a8405c320 wafsamba: add support for separate rules in stages
bld.process_separate_rule(rule) and conf.process_separate_rule(rule)
will cause WAF to import wscript_<stage>_<rule> script into current
context.

Files wscript_<configure|build>_<rule> should exist in the current
directory.

This can be used to provide rules specific for alternative
implementations of certain libraries

Autobuild-User: Alexander Bokovoy <ab@samba.org>
Autobuild-Date: Fri Apr 13 18:34:39 CEST 2012 on sn-devel-104
2012-04-13 18:34:39 +02:00
Alexander Bokovoy
dda0531aae WAF: Add support for stopping processing before end of wscript{_*}
WAF scripts are written in Python and Python has no simple way
to stop program execution other than using exceptions.

This change adds WscriptCheckSkipped exception and its handling in
core WAF code. When any of wscript{_*} throws WscriptCheckSkipped
exception, WAF simply continues to process next wscript in queue
rather than breaking build.

WscriptCheckSkipped exception can be used to perform early bail out
of configuration/build target checks if certain dependency is not available
when the default checks are way more numerous than a check for this
particular dependency. This is to avoid 'if ...' indenting for large
blocks of existing code which also muddens git history for nothing.

Signed-off-by: Andreas Schneider <asn@samba.org>
2012-04-12 12:06:43 +02:00
Günther Deschner
011540b520 wafsamba: point out that local heimdal paths are not included when
USING_SYSTEM_KRB5 gets set.

Guenther

Signed-off-by: Andreas Schneider <asn@samba.org>
2012-04-12 12:06:41 +02:00
Andrew Bartlett
30203bda66 build: Fix spelling of tevent
Found by metze.

Andrew Bartlett

Autobuild-User: Andrew Bartlett <abartlet@samba.org>
Autobuild-Date: Wed Apr 11 17:36:19 CEST 2012 on sn-devel-104
2012-04-11 17:36:19 +02:00
Andrew Bartlett
c5a58c3ea7 build: use include paths for pkg-config found libraries 2012-04-11 16:00:38 +02:00
Andrew Bartlett
72b8a0952a buildtools: Add --enable-debug option 2012-04-11 02:30:39 +02:00
Andrew Bartlett
646aced665 build: search for talloc, tdb, tevent in non-standard system locations
This is needed because the s3 includes.h directly mentions these
headers, but not every part of s3 depends on these directly.

Andrew Bartlett
2012-04-11 02:30:39 +02:00
Jelmer Vernooij
800a9d8bc3 wafsamba/bundled: Fix typo in tuplize_version.
Autobuild-User: Jelmer Vernooij <jelmer@samba.org>
Autobuild-Date: Tue Apr 10 02:21:39 CEST 2012 on sn-devel-104
2012-04-10 02:21:39 +02:00
Jelmer Vernooij
7cf78902dc wafsamba: Parse Python versions as integers separated by dots.
This causes tdb "1.2.10" to no longer be considered older than "1.2.9".

Autobuild-User: Jelmer Vernooij <jelmer@samba.org>
Autobuild-Date: Mon Apr  9 23:16:17 CEST 2012 on sn-devel-104
2012-04-09 23:16:17 +02:00
Jelmer Vernooij
4a3da81edb wafsamba: Return missing libs rather than last syslib.
Autobuild-User: Jelmer Vernooij <jelmer@samba.org>
Autobuild-Date: Sun Apr  8 05:31:15 CEST 2012 on sn-devel-104
2012-04-08 05:31:15 +02:00
Andrew Bartlett
d5c7de8650 build: Require 64-bit files support and do not define HAVE_EXPLICIT_LARGEFILE_SUPPORT 2012-04-05 02:39:08 +02:00
Andrew Bartlett
c03398ec0f build: Add getconf LFS_CFLAGS support to waf build 2012-04-05 02:39:08 +02:00
Jelmer Vernooij
5d10b499bf wafsamba: Avoid NameError when printing error about missing system deps.
Autobuild-User: Jelmer Vernooij <jelmer@samba.org>
Autobuild-Date: Tue Apr  3 17:46:42 CEST 2012 on sn-devel-104
2012-04-03 17:46:42 +02:00
Jelmer Vernooij
acd63fdb86 wafsamba: Cope with slight differences in gdb output regarding incomplete sequences.
Bug: https://bugzilla.samba.org/show_bug.cgi?id=8820
2012-03-26 18:28:06 +02:00
Andreas Schneider
06db3bfa37 waf: Add autoconf --target support.
This is needed on some platforms so that you can set it and it is not
automagically transformed into --targets. The --target option is
normally set by the RPM %configure macro.

Autobuild-User: Andreas Schneider <asn@cryptomilk.org>
Autobuild-Date: Wed Mar 21 11:54:02 CET 2012 on sn-devel-104
2012-03-21 11:54:01 +01:00
Amitay Isaacs
af68fe7113 build: Fix build issue on OpenBSD 5.x
Do not use -Wl,-no-undefined flag on OpenBSD 5.x (tested on 5.0)

Autobuild-User: Amitay Isaacs <amitay@samba.org>
Autobuild-Date: Fri Mar 16 05:14:03 CET 2012 on sn-devel-104
2012-03-16 05:14:02 +01:00
Jelmer Vernooij
fa806eb7c6 wafsamba: Remove shebang lines from non-executable files. 2012-03-15 15:56:27 +01:00
Volker Lendecke
51e785949c waf: Do not use standards.h on darwin
We get a nasty warning every time we include that
2012-03-11 12:35:08 +01:00
Andreas Schneider
aed0735862 waf: Make sure libraries are installed with the execute flag set.
There are two reasons for that. The first is that libraries are
executables and can have main functions (see libc). The second reason is
that rpm script to extract debuginfo are looking for executables and
then check if it is the right file to extract the info.

Autobuild-User: Andreas Schneider <asn@cryptomilk.org>
Autobuild-Date: Thu Feb 23 20:57:11 CET 2012 on sn-devel-104
2012-02-23 20:57:11 +01:00
Dave Abrahams
61314dbe0f waf: make "update-waf" script work on Darwin too
This fixes bug #8766

Reviewed by: Jelmer
Signed-off-by: Matthias Dieter Wallnöfer <mdw@samba.org>

Autobuild-User: Matthias Dieter Wallnöfer <mdw@samba.org>
Autobuild-Date: Sun Feb 19 21:35:06 CET 2012 on sn-devel-104
2012-02-19 21:35:06 +01:00
Jelmer Vernooij
5de8beca18 waf: Use libraries when building.
Autobuild-User: Jelmer Vernooij <jelmer@samba.org>
Autobuild-Date: Sun Feb 19 06:27:55 CET 2012 on sn-devel-104
2012-02-19 06:27:55 +01:00
Jelmer Vernooij
8ce7abd449 Use uselib in CHECK_HEADER. 2012-02-19 03:58:32 +01:00
Jelmer Vernooij
ab454403eb library_flags: Leave setting of CPPPATH to waf too. 2012-02-19 02:16:14 +01:00
Jelmer Vernooij
1f29707f57 waf: Update to new upstream version. 2012-02-18 23:19:51 +01:00
Jelmer Vernooij
580657bc25 wafsamba: Fix some whitespace issues. 2012-02-18 23:17:59 +01:00
Michael Adam
56747249ca wafsamba: fix blacklist handling in "make dist" 2012-02-16 12:07:50 +01:00
Jelmer Vernooij
2d66d16af0 wafsamba: Add tests for dict_concat.
Autobuild-User: Jelmer Vernooij <jelmer@samba.org>
Autobuild-Date: Sun Feb 12 20:17:54 CET 2012 on sn-devel-104
2012-02-12 20:17:54 +01:00
Jelmer Vernooij
a0fb7211cd wafsamba: Add tests for unique_list, subst_vars_error. 2012-02-12 18:44:09 +01:00
Jelmer Vernooij
c3a9d1eb15 waf: Add initial unit test for samba_utils. 2012-02-12 18:44:09 +01:00
Jelmer Vernooij
88a041aa21 wafsamba: Expand tabs. 2012-02-10 00:07:56 +01:00
Andrew Tridgell
0fdd6c7632 build: fixed a link order problem
this fixes a problem found by obnox where the -L path for CUPS was put
before the path to internal libraries. The install path for CUPS
happened to be the same as for a old system libtevent, which meant we
linked against the old tevent instead of the correct one from our
private library paths.

The problem was that we were adding the -L paths directly to the
ldflags. The waf core code (in ccroot.py) only adds more paths if they
are not there already. So by adding it in ldflags it was not added at
the end of the list. The fix is just to not do the -L processing in
wafsamba and let the waf core do it in the right order

Autobuild-User: Andrew Tridgell <tridge@samba.org>
Autobuild-Date: Thu Feb  2 06:54:42 CET 2012 on sn-devel-104
2012-02-02 06:54:42 +01:00
Jelmer Vernooij
d2d4dfdfed waf: Use git repository.
Autobuild-User: Jelmer Vernooij <jelmer@samba.org>
Autobuild-Date: Thu Jan  5 00:10:24 CET 2012 on sn-devel-104
2012-01-05 00:10:23 +01:00
Jelmer Vernooij
4f4bce5301 Include waf as an extracted source directory, rather than as a one-in-a-file script. 2012-01-04 22:34:20 +01:00
Jelmer Vernooij
184b50eb2c wafsamba: Fix undefined variable name in error message.
Autobuild-User: Jelmer Vernooij <jelmer@samba.org>
Autobuild-Date: Fri Dec 16 21:53:57 CET 2011 on sn-devel-104
2011-12-16 21:53:57 +01:00
Jelmer Vernooij
41921d6682 wafsamba: Cope with not everything having a final_libs attribute. 2011-12-05 23:11:05 +01:00
Jelmer Vernooij
bef27a9890 wafsamba: Use final_libs list to determine if a target needs private libraries, rather than direct dependencies list. 2011-12-05 23:11:05 +01:00
Jelmer Vernooij
05bc4de083 Revert making public of the samba-module library.
This library was tiny - containing just two public functions than were
themselves trivial. The amount of overhead this causes isn't really worth the
benefits of sharing the code with other projects like OpenChange. In addition, this code
isn't really generically useful anyway, as it can only load from the module path
set for Samba at configure time.

Adding a new library was breaking the API/ABI anyway, so OpenChange had to be
updated to cope with the new situation one way or another. I've added a simpler
(compatible) routine for loading modules to OpenChange, which is less than 100 lines of code.

Autobuild-User: Jelmer Vernooij <jelmer@samba.org>
Autobuild-Date: Sat Dec  3 08:36:33 CET 2011 on sn-devel-104
2011-12-03 08:36:30 +01:00
Jelmer Vernooij
03759fe022 waf: Fix uselib_store for system libsubunit. 2011-11-14 15:49:36 +01:00
Jelmer Vernooij
86afe83d86 waf: Factor checking for undefined symbol flags out into separate method.
Autobuild-User: Jelmer Vernooij <jelmer@samba.org>
Autobuild-Date: Sun Nov 13 19:38:38 CET 2011 on sn-devel-104
2011-11-13 19:38:38 +01:00
Jelmer Vernooij
af5c6fba68 waf: Simplify handling of python modules. 2011-11-13 18:06:06 +01:00
Jelmer Vernooij
126209d2e5 Revert 9a5ae8edd6d006c078b3af8fdfd84677a63276b1. 2011-11-13 18:06:06 +01:00
Jelmer Vernooij
0966be49a0 wafsamba: Support allow_undefined_symbols in SAMBA_SUBSYSTEM. 2011-11-13 18:06:06 +01:00
Jelmer Vernooij
2f29133491 wafsambaa: Support libraries that don't have the same name as their pkg-config file. 2011-11-13 18:06:06 +01:00
Jelmer Vernooij
f429b166b6 wafsamba: add CHECK_BUNDLED_SYSTEM_PKG function. 2011-11-13 18:06:06 +01:00
Jelmer Vernooij
8aa988a455 ldb: Use pyembed rather than pyext for ldb-util library. 2011-11-13 18:06:06 +01:00
Jelmer Vernooij
312fd94002 waf: Don't link python modules against libpython2.x, consistent with other Python modules.
Rather, rely just on waf's pyext feature. This fixes a warning from dh_python2.
2011-11-13 18:06:06 +01:00
Andrew Bartlett
b256799eaf lib/util Rename samba_init_module -> samba_module_init
This is to provide a cleaner namespace in the public samba plugin
functions.

Andrew Bartlett
2011-10-28 13:10:28 +02:00
Andrew Tridgell
dd64f99fd1 build: explain the passing of make options to waf
add a comment explaining how we pass make command line options into
waf

Autobuild-User: Andrew Tridgell <tridge@samba.org>
Autobuild-Date: Thu Oct 20 07:24:02 CEST 2011 on sn-devel-104
2011-10-20 07:24:02 +02:00
Andrew Tridgell
5c5fc5dde4 build: added deletion of stale .so and .o files
when we change our build rules to move a C file, we need to remove the
old ('stale') .so and .o files from the build directory, or they may
be used as part of the new build, which means that old code will be
linked in.

This expands the list of stale files that we remove on rule changes to
include .so and .o files

Pair-Programmed-With: Amitay Isaacs <amitay@gmail.com>

Autobuild-User: Andrew Tridgell <tridge@samba.org>
Autobuild-Date: Wed Oct 19 09:02:23 CEST 2011 on sn-devel-104
2011-10-19 09:02:23 +02:00
Sumit Bose
6af702bdc9 build: added autoconf --disable-silent-rules option
Signed-off-by: Günther Deschner <gd@samba.org>
2011-10-14 17:52:36 +02:00
Andrew Bartlett
055f017b36 build: Reduce build systems to just top level waf and autoconf
The s3-waf build system is a key component of the top level build, but
with this commit is is no longer available directly.  This reduces the
number of build system combinations in master as we prepare for the
Samba 4.0 release.

Andrew Bartlett
2011-10-07 17:42:03 +11:00
Andrew Bartlett
30e11d55b5 build: Add duplicate symbol checking as part of make test
This ensures we do not get duplicate symbols again, when run as
./configure.developer on non-build farm machines.

Andrew Bartlett

Autobuild-User: Andrew Bartlett <abartlet@samba.org>
Autobuild-Date: Thu Sep  8 13:37:40 CEST 2011 on sn-devel-104
2011-09-08 13:37:40 +02:00
Amitay Isaacs
78c2eca811 build: Replace mkbuildoptions-waf awk script with waf target 2011-09-07 12:16:40 +02:00
Jelmer Vernooij
31912781ca wafsamba: Only install .pc files if libraries are public. 2011-08-21 03:22:05 +02:00
Jelmer Vernooij
8cb6449130 wafsamba: Require public libraries to have headers. 2011-08-21 03:22:05 +02:00
Jelmer Vernooij
12e1fdf089 wafsamba: Require public libraries to have a pc file specified, or explicitly specified that they don't need one. 2011-08-21 03:22:05 +02:00
Amitay Isaacs
a1088d0843 waf: Add SAMBA3_PYTHON context to build python wrappers in samba3 2011-08-13 10:25:06 +10:00
Andrew Tridgell
e98e0cf785 waf: update to latest waf 1.5 version
this includes an on_results fix from thomas that fixes a dependency
problem with our autoproto code

Note that this changes task signatures, so it will trigger a complete
rebuild

Autobuild-User: Andrew Tridgell <tridge@samba.org>
Autobuild-Date: Wed Jul 27 04:27:32 CEST 2011 on sn-devel-104
2011-07-27 04:27:32 +02:00
Jelmer Vernooij
cd7e384d2c wafsamba: Properly lock object store when retrieving version through Bazaar. 2011-07-23 22:08:10 +02:00
Andrew Bartlett
2fcbfcd004 param: Move per-share parameters into a seperate file, to share with s3
This will allow the struct loadparm_service to be in common between
the two loadparm implementations in the tree.

Andrew Bartlett
2011-07-08 11:23:23 +02:00
Andrew Bartlett
8420a36dc7 ldb: make ldb a top level library for Samba 4.0
Signed-off-by: Andrew Tridgell <tridge@samba.org>
2011-07-05 17:24:47 +10:00
Andrew Bartlett
73140a11c4 build: remove mktowscript
We finished the conversion a long time ago

Andrew Bartlett

Autobuild-User: Andrew Bartlett <abartlet@samba.org>
Autobuild-Date: Tue Jul  5 05:56:06 CEST 2011 on sn-devel-104
2011-07-05 05:56:06 +02:00
Andrew Bartlett
4a83575ae6 s3-build Require fully defined modules by default
Autobuild-User: Andrew Bartlett <abartlet@samba.org>
Autobuild-Date: Sun Jul  3 10:33:44 CEST 2011 on sn-devel-104
2011-07-03 10:33:43 +02:00
Andrew Bartlett
877de9fee7 s3-build Require fully defined symbols in ALL libraries by default
The only exception here is libsmbregistry, which needs further work to
resolve the library loop caused by the registry based smb.conf
loading.

Andrew Bartlett

Autobuild-User: Andrew Bartlett <abartlet@samba.org>
Autobuild-Date: Fri Jun 24 05:01:38 CEST 2011 on sn-devel-104
2011-06-24 05:01:38 +02:00
Andrew Bartlett
52255f4eb5 s3-build: Require fully defined symbols for all public libraries 2011-06-24 03:52:05 +02:00
Rusty Russell
985e83ef52 tdb2: tie it into build process if --enable-tdb2-breaks-compat
This is simplistic.  We need to support making TDB2 a standalone library,
but for now, we simply built it in-tree.

Once we have tdb1 compatibility in tdb2, we can rename this option to
--enable-tdb2.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2011-06-20 11:18:36 +02:00
Rusty Russell
0e4c358e27 tdb_compat.h: divert every tdb build and includes to tdb_compat
We change all the headers and wscript files to use tdb_compat; this
means we have one place to decide whether to use TDB1 or TDB2.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2011-06-20 11:18:34 +02:00
Andrew Tridgell
d2bc45e7ff build: only use the git version on install, not in the build tree
having the git version in our version.h in the build tree is annoying
for developers, as every time you commit or rebase you need to spend
several minutes re-linking. This changes it to use the git version
only on install, which is much more useful as when you actually
install the binaries you may be using them in a way that reporting the
version is useful

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>

Autobuild-User: Andrew Tridgell <tridge@samba.org>
Autobuild-Date: Fri Jun 17 08:37:06 CEST 2011 on sn-devel-104
2011-06-17 08:37:06 +02:00
Andrew Tridgell
8c14decdb8 build: fixed development symlinks for libraries in subdirectories
this fixes the symlink for libsmbclient.so

Autobuild-User: Andrew Tridgell <tridge@samba.org>
Autobuild-Date: Wed Jun 15 07:23:10 CEST 2011 on sn-devel-104
2011-06-15 07:23:10 +02:00
Andrew Tridgell
720da3cb91 build: fixed dependencies on install prefix for pc files and python scripts
waf can't automatically determine these dependencies as the
construction of the files is via a python function

thanks to Andrew for noticing this bug
2011-06-15 14:13:07 +10:00
Andrew Tridgell
683f9868eb waf-symbols: don't look for symbol lists in GENERATOR targets
generated header files are not object files

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2011-06-10 17:21:26 +10:00
Andrew Tridgell
ae1414e796 waf: fixed 'make bin/XXX' for the remaining binaries
this fixes 'make bin/smbd' to work correctly with the waf build. It
didn't work before as smbd is actually 'smbd/smbd' internally and we
tried to use the target name 'smbd'. The new approach reads the
symlink to get the right target.

This also speeds up the null build by quite a lot
2011-06-10 17:21:26 +10:00
Andrew Tridgell
f725e2b64e build: fixed a problem with installing scripts in the build tree
the SAMBA_SCRIPT() function was not always triggering correctly. The
base problem was that we were using a target outside the build
tree. This implements a simpler solution where we just create the
links directly in SAMBA_SCRIPT() rather than creating a waf task

Autobuild-User: Andrew Tridgell <tridge@samba.org>
Autobuild-Date: Wed Jun  1 06:50:04 CEST 2011 on sn-devel-104
2011-06-01 06:50:04 +02:00
Rusty Russell
3ccfe7cb7b Add -fno-common where supported (WAF only)
Normally under UNIX, uninitialized non-static global variables get
placed in the "common" section, where they are merged at link time.
This means if two C files define "int debug", they will end up
referring to the same variable.  Or if one does "float level" and the
other does "int level" you'll get an accidental union.

Such bugs can be hard to track down; fortunately GCC offers
-fno-common to disable this feature.  It didn't reveal any places
which need fixing, however).

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2011-05-10 11:37:30 +09:30
Andrew Tridgell
7e4ba48135 build: allow s3 libraries to be built with no undefined symbols
Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2011-05-08 10:59:18 +02:00
Matthieu Patou
3a88d49d12 waf: introduce reverse logic for allowing unknown symbols
Some os (ie OSX 10.6) forbids by default unknown symbols so in order to
allow them (for special case) we have no to remove linker option *but*
to add options to ask the linker to be more relax.

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2011-04-26 17:16:34 +10:00
Andrew Tridgell
380bd493bb build: use readelf as a replacement for ldd
using readelf allows us to do a non-recursive library listing, which
is important to remove false positive symbol duplication

Autobuild-User: Andrew Tridgell <tridge@samba.org>
Autobuild-Date: Wed Apr 13 04:37:33 CEST 2011 on sn-devel-104
2011-04-13 04:37:33 +02:00
Andrew Tridgell
601835ee6d build: speed up SYMBOLCHECK code
this uses a nm and ldd cache to speed up the duplicate symbol checking
code

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2011-04-13 11:47:36 +10:00
Andrew Tridgell
59b588a16c waf: a better way to detect duplicated symbols
this detects when we have the same symbol linked in twice in any
binary by using ldd and nm on the binary and its associated libraries.

Some of these duplicates are caused by a subsystem being linked twice,
and some are caused by two versions of the same function name being
linked into a binary

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>

Autobuild-User: Andrew Tridgell <tridge@samba.org>
Autobuild-Date: Wed Apr  6 06:44:14 CEST 2011 on sn-devel-104
2011-04-06 06:44:14 +02:00
Michael Adam
af82dcae30 s3:waf:compare_config_h3.sh: make diff tool configurable as env var "DIFF" 2011-04-02 02:41:19 +02:00
Michael Adam
e06dba1589 s3:waf:compare_config_h3.sh: specify autoconf-config.h as commandline parameter 2011-04-02 02:41:18 +02:00
Andrew Tridgell
282984fdff waf: prevent an error in the symbol checking code 2011-03-23 12:19:29 +11:00
Günther Deschner
a252ded937 wafsamba: add -Wcast-qual only to the toplevel (s4) build.
In samba3 there are a lot of warnings generated that make it a bit hard to track
and monitor other build warnings.

Guenther

Autobuild-User: Günther Deschner <gd@samba.org>
Autobuild-Date: Sat Mar 19 00:58:25 CET 2011 on sn-devel-104
2011-03-19 00:58:25 +01:00
Andrew Tridgell
1404a9fe72 waf: ensure that MAKEFLAGS is set before parsing it 2011-03-15 13:56:46 +11:00
Andrew Tridgell
500c854f79 build: added simple header handling for our libraries
we don't need header munging for tdb/talloc etc
2011-03-15 13:09:30 +11:00
Andrew Tridgell
4907695012 build: removed mkdir of public headers directory
not needed now that we have public_headers_allow_broken
2011-03-15 12:22:20 +11:00
Andrew Tridgell
fd328f8f81 build: added public_headers_allow_broken option
the s3 waf build will use this to say that we should allow public
headers that contain references to non-public headers. In the s4 build
that is not allowed, but the s3 build does not yet have clean public
headers
2011-03-15 12:22:20 +11:00
Andrew Tridgell
023296423a waf: auto-create include paths if needed 2011-03-15 12:22:20 +11:00
Andrew Tridgell
20ec0b6629 waf: make mkdir_p() a bit more robust 2011-03-15 12:22:20 +11:00
Andrew Tridgell
b4d618cc6f waf: build headers in separate 'headers' build group 2011-03-15 12:22:20 +11:00
Andrew Tridgell
f8655f4621 waf: always generate public headers in the build tree
this allows us to properly test our public headers before install
2011-03-15 12:22:19 +11:00
Andrew Tridgell
6c6ab50a40 waf: build substituted public headers in build tree
the bin/default/include/public directory will contain headers that are
ready to install
2011-03-15 12:22:19 +11:00
Andrew Tridgell
f2bcb7028e waf: moved header file handling into its own module
It is getting quite complex now, and shouldn't just be mixed in with
everything else
2011-03-15 12:22:19 +11:00
Andrew Tridgell
03aebc2df8 wafsamba: keep a list of public headers
this will be used to construct test_headers.h, for testing our public
headers
2011-03-15 12:22:18 +11:00
Andrew Tridgell
1c0e539cbb wafsamba: don't follow symlinks outside the build tree
when computing stale files, don't follow symlinks that are not within
the build tree
2011-03-15 12:22:18 +11:00
Andrew Tridgell
59be7265ad wafsamba: added global_include option
this allows you to disable the global include additions. We will use
this for testing our public headers without including any of the
source tree directories
2011-03-15 12:22:18 +11:00
Andrew Tridgell
4f52becec1 build: install public headers in the build tree
this symlinks our public headers into the build tree, which will allow
us to refer to the public headers by their public name inside the
source tree.
2011-03-15 12:22:18 +11:00
Jelmer Vernooij
a051b40075 samba_abi: Also sort ABI files properly so symbols end up in the right version.
Autobuild-User: Jelmer Vernooij <jelmer@samba.org>
Autobuild-Date: Sat Mar 12 02:45:20 CET 2011 on sn-devel-104
2011-03-12 02:45:20 +01:00
Jelmer Vernooij
1d1e5cbd27 Sort by release component integer values rather than using standard string
sort.

This makes sure tevent 0.9.9 is considered to be older than 0.9.10 and 0.9.11
2011-03-12 01:09:31 +01:00
Andrew Tridgell
8870fcb154 build: fixed the ELF name for private libraries
thanks to Simo and rpmbuild for spotting this!

Autobuild-User: Andrew Tridgell <tridge@samba.org>
Autobuild-Date: Wed Mar  2 02:49:34 CET 2011 on sn-devel-104
2011-03-02 02:49:34 +01:00
Jelmer Vernooij
0bd390e706 samba_abi: Generate vscript entries even for ABI versions that didn't introduce
any new symbols.

The version entries also appear in the symbol table and removing them 
(we always add an entry for the current version) breaks the ABI.
2011-02-28 21:11:21 +01:00
Andrew Tridgell
4f48a28c3c build: fixed 'make dist' without configuring
this finds git inside samba_version.py

thanks to Simo for noticing this problem

Autobuild-User: Andrew Tridgell <tridge@samba.org>
Autobuild-Date: Wed Feb 23 07:55:28 CET 2011 on sn-devel-104
2011-02-23 07:55:28 +01:00
Andrew Tridgell
0a6e0edc04 build: don't display expected duplicate symbols 2011-02-23 17:10:14 +11:00
Andrew Tridgell
5f6790bc74 build: duplicate symbols between system libraries aren't interesting
we expect dups in libpthread, libc and libattr

Autobuild-User: Andrew Tridgell <tridge@samba.org>
Autobuild-Date: Wed Feb 23 01:29:38 CET 2011 on sn-devel-104
2011-02-23 01:29:38 +01:00
Andrew Tridgell
c43eb39098 build: added WHYNEEDED=TARGET:DEPENDENCY
you can now do:

  make WHYNEEDED=smbd/smbd:gensec

and it will print:

 Checking why smbd/smbd needs to link to gensec
 target 'smbd/smbd' uses symbols set(['open_schannel_session_store']) from 'gensec'

Autobuild-User: Andrew Tridgell <tridge@samba.org>
Autobuild-Date: Tue Feb 22 03:35:58 CET 2011 on sn-devel-104
2011-02-22 03:35:58 +01:00
Andrew Tridgell
0e0ea4efe3 build: enhanced the symbolcheck code
we can now work out why a binary needs a library, and we can find all
the duplicate symbols (we currently have 1087 symbols defined in more
than one place in Samba).
2011-02-22 02:51:10 +01:00
Andrew Tridgell
949427c208 python: use os.environ[] instead of os.putenv()
using os.putenv() causes too much confusion, as it doesn't update
os.getenv()

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2011-02-22 02:51:10 +01:00
Andrew Tridgell
a94f7768d9 build: we don't need the special case for s3build any more
Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2011-02-22 02:51:10 +01:00
Jelmer Vernooij
fd880fda0d s4-version: Fix version finding for bzr branches.
Autobuild-User: Jelmer Vernooij <jelmer@samba.org>
Autobuild-Date: Sun Feb 20 17:35:45 CET 2011 on sn-devel-104
2011-02-20 17:35:45 +01:00
Günther Deschner
a2f4a17b5e s3-waf: fix popt support.
Guenther
2011-02-18 15:34:27 +01:00
Andrew Tridgell
e92922308b build: put links for libs in the right directory
when a library is declared as libdir/libname, still put the symlink in
bin/shared

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>

Autobuild-User: Andrew Tridgell <tridge@samba.org>
Autobuild-Date: Fri Feb 18 06:03:57 CET 2011 on sn-devel-104
2011-02-18 06:03:57 +01:00
Andrew Tridgell
13bffa02d8 waf: improved error message for bad paths in SAMBA_LIBRARY()
Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2011-02-18 15:09:47 +11:00
Andrew Tridgell
1c5108c98b waf: support building libraries with a directory prefix
SAMBA_LIBRARY('libsmb/smbclient') can now be built, which
distinguishes it from the binary 'smbclient'

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2011-02-18 15:09:47 +11:00
Andrew Tridgell
ba942c8bfe waf: added SAMBA3_*() build rules to samba3.py
these provide samba build rule wrappers for Samba3 specific subsystems

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2011-02-18 15:09:47 +11:00
Andrew Tridgell
c7456013b9 waf: give a more sensible error on symlink_bin with missing directory
Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2011-02-18 15:09:47 +11:00
Andrew Tridgell
066a93d41c build: fixed passing of includes= for modules
Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2011-02-18 15:09:46 +11:00
Andrew Tridgell
1570058b0d build: added subdir option for module building
Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2011-02-18 15:09:46 +11:00
Andrew Tridgell
8ef9cb0bed build: added allow_undefined_symbols options for libraries and modules
the s4 build uses linker flags to disallow undefined symbols in
libraries. To accomodate s3 libraries in the top level build we need
to be able to disable this on a per-library basis.

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2011-02-18 15:09:46 +11:00
Andrew Tridgell
b31055189a build: make ADD_LDFLAGS() returns the flags that were added
this will be used by the s3 top level build to work out how to undo
the effects of -Wl,-no-undefined

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2011-02-18 15:09:46 +11:00
Andrew Tridgell
433f68efaa waf: library_flags() doesn't only operate on conf objects
use a better name for the first argument

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2011-02-18 15:09:46 +11:00
Andrew Tridgell
aec015525b waf: added subdir= option in SAMBA_*() rules
this allows you to prepend a subdirectory to the source rules, after
variable substitution. This is useful for the s3 waf build when it is
in s3build/
2011-02-18 15:09:45 +11:00
Andrew Tridgell
a7ee6e81ff waf: use Utils.WafError() instead of sys.exit(1)
better to raise an expection than just exiting
2011-02-18 15:09:45 +11:00
Andrew Bartlett
dce69c29e7 waf Fix dependencies for .pc (pkg-config) files
We used the wrong parameter for the dependency calculation.

thanks to Thomas Nagy for the fix!

Andrew Bartlett
2011-02-16 00:24:12 +01:00
Simo Sorce
18926e5907 Fix private libdir and codepages paths
The private libraries need to be arch specific as well.

With --enable-fhs the codepages should go in /usr/share/samba and not
in /usr/lib{64}/samba as they are data files not libraries.

Autobuild-User: Simo Sorce <idra@samba.org>
Autobuild-Date: Tue Feb 15 04:22:37 CET 2011 on sn-devel-104
2011-02-15 04:22:37 +01:00
Günther Deschner
d08ddf08a8 waf: substitute '/' in -D static defines as well.
Tridge, please check.

Guenther
2011-02-11 12:22:41 +01:00
Günther Deschner
587cfd1832 waf: bring back shared Makefile and configure (needed by s3-waf).
Guenther

Revert "build: removed unused build scripts"

This reverts commit 2e520ca911.
2011-02-08 20:44:55 +01:00
Andrew Tridgell
4d3de16b8b s4-build: fixed uses of os.path.relpath()
these should be os_path_relpath() to support older python versions.
This should fix the build on FreeBSD 7.2

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>

Autobuild-User: Andrew Tridgell <tridge@samba.org>
Autobuild-Date: Mon Feb  7 05:49:58 CET 2011 on sn-devel-104
2011-02-07 05:49:58 +01:00
Andrew Tridgell
2e520ca911 build: removed unused build scripts
each library has its own configure/Makefile now

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2011-02-07 15:03:40 +11:00
Andrew Tridgell
9796f7398b build: fixed error message for incorrect waf version
just need configure now

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2011-02-07 15:03:40 +11:00
Andrew Tridgell
3f3696ce07 waf: samba deps generation depends on EXTRA_INCLUDES 2011-02-07 13:22:00 +11:00
Andrew Bartlett
38aacd7a7b waf: Replace python installation rule to allow PYTHONARCHDIR and PYTHONDIR
The old rule could only substitute one part of one line, but we need
to add a second line to handle when PYTHONDIR and PYTHONARCHDIR do not
match.

This also avoids shelling out to sed with a regex, which was difficult
to read.

Andrew Bartlett
2011-02-02 15:21:12 +11:00
Jelmer Vernooij
5b839230e1 s4-waf: Skip header-not-found cache if a library is specified, as it may provide
additional C flags.

Tridge, please check.

Autobuild-User: Jelmer Vernooij <jelmer@samba.org>
Autobuild-Date: Tue Jan 25 03:59:32 CET 2011 on sn-devel-104
2011-01-25 03:59:32 +01:00
Jelmer Vernooij
57d1dcef7f s4-waf: Only show minversion when there was a minimum version specified. 2011-01-24 17:15:49 -08:00
Jelmer Vernooij
4078b649f1 Show text output messages when interfacing with bzr. 2011-01-24 17:14:50 -08:00
Stefan Metzmacher
dd141cf5f7 wafsamba: quote CPP and CC values when calling pidl
metze

Autobuild-User: Stefan Metzmacher <metze@samba.org>
Autobuild-Date: Wed Jan 19 20:23:50 CET 2011 on sn-devel-104
2011-01-19 20:23:50 +01:00
Andrew Tridgell
7d8e9706f7 waf: change private libraries to use the same soname as public libraries
See
http://lists.samba.org/archive/samba-technical/2011-January/075816.html
for a description of the reason behind this change

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>

Autobuild-User: Andrew Tridgell <tridge@samba.org>
Autobuild-Date: Wed Jan 19 02:21:06 CET 2011 on sn-devel-104
2011-01-19 02:21:06 +01:00
Andrew Tridgell
8e0233576e waf: this script does need bash
this is a developer test script. It is not meant to be portable.

Autobuild-User: Andrew Tridgell <tridge@samba.org>
Autobuild-Date: Fri Jan 14 09:10:20 CET 2011 on sn-devel-104
2011-01-14 09:10:20 +01:00
Andrew Tridgell
46a3588d3f waf: use PYTHONARCHDIR for installing python shared libs
Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>

Autobuild-User: Andrew Tridgell <tridge@samba.org>
Autobuild-Date: Fri Jan 14 08:19:40 CET 2011 on sn-devel-104
2011-01-14 08:19:39 +01:00
Andrew Tridgell
0346b5b93c waf: new version of waf
this one adds PYTHONARCHDIR to fix bug 7905

thanks to Thomas Nagy for the fix!
2011-01-14 17:34:32 +11:00
Andrew Tridgell
d7c2eb1be3 abi: force TERM=none in abi generation
on Fedora12 gdb puts out a bit of binary garbage at the front of
script output when TERM=xterm, presumably trying something like a
clear screen.

luckily it doesn't do it for unknown terminal types

Autobuild-User: Andrew Tridgell <tridge@samba.org>
Autobuild-Date: Tue Jan 11 06:48:56 CET 2011 on sn-devel-104
2011-01-11 06:48:56 +01:00
Stefan Metzmacher
e0a9b58de8 buildtools/wafsamba: import 'sys' and 'Logs' if we use them
We should avoid generating a backtrace in a normal
error case, just because sys.exit(1) isn't known.

metze
2011-01-05 12:30:23 +01:00
Jelmer Vernooij
8b34a2dff6 wafsamba: Fix handling of nick name in VERSION. 2010-12-24 01:15:05 +01:00
Jelmer Vernooij
e43de85b97 wafsamba: Allow newer or the same python module versions to be installed,
not older.

Autobuild-User: Jelmer Vernooij <jelmer@samba.org>
Autobuild-Date: Wed Dec 22 00:42:23 CET 2010 on sn-devel-104
2010-12-22 00:42:23 +01:00
Jelmer Vernooij
2d1e91fd0c wafsamba: Use abi_match in version script files. 2010-12-18 00:47:06 +01:00
Jelmer Vernooij
c09d4b85b5 wafsamba: Specify full vscript path so non-autogenerated files are possible, too. 2010-12-17 19:38:12 +01:00
Jelmer Vernooij
48f91ebc5a wafsamba: Don't build vscript for modules. 2010-12-17 19:21:47 +01:00
Jelmer Vernooij
13b4e6e8c7 wafsamba: Move version script handling out of SAMBA_LIBRARY. 2010-12-17 19:16:33 +01:00
Jelmer Vernooij
5bccb32643 Simplify link installation. 2010-12-17 18:47:05 +01:00
Jelmer Vernooij
85299bea65 heimdal_build: Simplify library handling. 2010-12-17 18:42:34 +01:00
Andrew Tridgell
6f6aa5f775 waf: fixed re-running of build rules
the addition of ldflags deps caused us to re-run the build rules every
time.
2010-12-15 21:48:15 +11:00
Matthieu Patou
05e0f75c74 build: hpux didn't support -Bdynamic 2010-12-15 12:07:32 +03:00
Matthieu Patou
a55f5e7080 wafsamba: change the default value for SAMBA_MODULE of pyembed to False
ALL SAMBA_MODULE didn't need this, new modules that could need will just
have to opt this in

Autobuild-User: Matthieu Patou <mat@samba.org>
Autobuild-Date: Tue Dec 14 14:45:15 CET 2010 on sn-devel-104
2010-12-14 14:45:15 +01:00
Matthieu Patou
35206df51a build: move the import near the place where need it, so that we can build on hosts with python's zlib
Autobuild-User: Matthieu Patou <mat@samba.org>
Autobuild-Date: Sun Dec 12 22:54:19 CET 2010 on sn-devel-104
2010-12-12 22:54:19 +01:00
Matthieu Patou
bf13d76280 build: add more CFLAGS for aix
Autobuild-User: Matthieu Patou <mat@samba.org>
Autobuild-Date: Sat Dec 11 18:09:23 CET 2010 on sn-devel-104
2010-12-11 18:09:23 +01:00
Matthieu Patou
097075c31f build: On AIX we need _XOPEN_SOURCE >= 500 for CLOCK_REALTIME
Autobuild-User: Matthieu Patou <mat@samba.org>
Autobuild-Date: Sat Dec 11 14:48:21 CET 2010 on sn-devel-104
2010-12-11 14:48:21 +01:00
Matthieu Patou
a1db341e46 build: cpp is prefixed by CPP=
Autobuild-User: Matthieu Patou <mat@samba.org>
Autobuild-Date: Fri Dec 10 22:34:45 CET 2010 on sn-devel-104
2010-12-10 22:34:45 +01:00
Matthieu Patou
6875a611a7 build: add a function to test if -lc is needed
This is needed on openbsd as some linking flags makes mandatory to
specify the libc for the linking
2010-12-10 23:22:28 +03:00
Matthieu Patou
6ef8524840 build: compiler on aix is xlc_r not xlr_c
Autobuild-User: Matthieu Patou <mat@samba.org>
Autobuild-Date: Fri Dec 10 17:54:49 CET 2010 on sn-devel-104
2010-12-10 17:54:49 +01:00
Matthieu Patou
d1bfa333f5 build: reset cpp on host with xlr_c and let pidl use $CC -E
Autobuild-User: Matthieu Patou <mat@samba.org>
Autobuild-Date: Fri Dec 10 13:27:22 CET 2010 on sn-devel-104
2010-12-10 13:27:22 +01:00
Matthieu Patou
378295c3fe build: detect if conf.env['CPP'] is an array or not
Autobuild-User: Matthieu Patou <mat@samba.org>
Autobuild-Date: Fri Dec 10 10:18:20 CET 2010 on sn-devel-104
2010-12-10 10:18:20 +01:00
Andrew Tridgell
1b63c78693 waf: the libXX.inst.so file also depends on the vscript
this fixes a problem with installed libraries not relinking after a
git version change

Autobuild-User: Andrew Tridgell <tridge@samba.org>
Autobuild-Date: Fri Dec 10 09:30:46 CET 2010 on sn-devel-104
2010-12-10 09:30:46 +01:00
Matthieu Patou
301d59caf2 build: use CPP and CC values when calling pidl 2010-12-10 02:39:42 +03:00
Matthieu Patou
8733738357 build: introduce SAMBA_CHECK_PYTHON_HEADERS
This function is a wrapper around waf's check_python_header.
It avoids searching more than once for the headers bringing a small
speed improvement and a better lisibility of the logs.

But it's mainly to avoid a nasty bug when python libraries are in path
pointed by python_LIBPL (ie. /usr/local/lib/python2.6/config/) instead
of python_LIBDIR (ie. /usr/local/lib).

On the first call waf will correctly find that in order to link with
python libs it needs to add -L$python_LIBPL.

But on the next calls of check_python_headers, waf will use both the
current library path value (ie. -L/usr/local/lib/python2.6/config) and
-L$python_LIBDIR (ie. /usr/local/lib/) which will make him beleive that
python libraries are in $python_LIBDIR which at the end will make the
final link test fails in check_python_headers as it will not use the
good directory.

So by avoiding calling check_python_headers more than once we avoid
making waf fooling itself.
2010-12-10 02:07:18 +03:00
Andrew Tridgell
57f2f1d72a waf: remove the restriction that private libraries must not have a vnum
we need the vnum for ABI checking for public libraries built as
private libraries when bundled

Autobuild-User: Andrew Tridgell <tridge@samba.org>
Autobuild-Date: Thu Dec  9 12:47:41 CET 2010 on sn-devel-104
2010-12-09 12:47:40 +01:00
Andrew Tridgell
ca247bee2f waf: fixed path to abi_directory
this broke in a recent patch
2010-12-09 21:49:01 +11:00
Andrew Tridgell
a6351e2bce waf: add a dependency between the library and its vscript
Autobuild-User: Andrew Tridgell <tridge@samba.org>
Autobuild-Date: Thu Dec  9 04:32:18 CET 2010 on sn-devel-104
2010-12-09 04:32:18 +01:00
Andrew Tridgell
f3d36b13ac waf: don't use symbol versioning on our modules
Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-12-09 13:18:08 +11:00
Andrew Tridgell
c90b7824a6 waf: use vscripts for our private libraries too
if the library has a vnum, then use it. If it doesn't have a vnum then
use the application version for symbol versions
2010-12-09 13:18:03 +11:00
Andrew Tridgell
ffb2b3d1c6 waf: make mkdir_p on a empty string not recurse forever 2010-12-09 13:17:27 +11:00
Andrew Tridgell
ebe2867fc2 waf-abi: auto-generate per-symbol versions from ABI files
This changes our version-script generation to use the ABI files that
are saved in git with each version number change of our public
libraries.

We use these ABI files to generate a linker version script that gives
the exact version number that each symbol was introduced. This
provides us with automatic fine grained symbol versioning.

Pair-Programmed-With: Jelmer Vernooij <jelmer@samba.org>
Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-12-09 13:17:19 +11:00
Stefan Metzmacher
e3a7a080b4 buildtools: private_libraries should not have a version in the soname
metze
2010-12-08 16:11:49 +01:00
Stefan Metzmacher
aee086c4d5 buildtools: add the PRIVATE_EXTENSION for private libraries
metze
2010-12-08 16:11:48 +01:00
Stefan Metzmacher
3d289fe14d buildtools: make sure we have no '+' in the version scripts
This happens if '--git-local-changes' was used.

metze
2010-12-08 16:11:48 +01:00
Andrew Tridgell
8b3ae1a3b8 waf: added --disable-symbol-versions configure option
some people may not want symbol versions.
2010-12-08 12:01:25 +01:00
Andrew Tridgell
92961d2828 waf: support @LIB_RPATH@ in pc files
this will be used to get the needed -Wl,-rpath options into our pc
files

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-12-08 12:01:25 +01:00
Matthieu Patou
53b49d4091 build: tru64 needs -shared for building libs
Autobuild-User: Matthieu Patou <mat@samba.org>
Autobuild-Date: Wed Dec  8 08:33:54 CET 2010 on sn-devel-104
2010-12-08 08:33:54 +01:00
Andrew Tridgell
b352ecb1cf waf: added -Wmissing-prototypes to build
This ensures that we always have a prototype for any function we
declare

Autobuild-User: Andrew Tridgell <tridge@samba.org>
Autobuild-Date: Wed Dec  8 06:12:07 CET 2010 on sn-devel-104
2010-12-08 06:12:07 +01:00
Andrew Tridgell
be99d84972 waf: make all generators depend on their rules
this ensures we rebuild when a constructed rule changes
2010-12-08 05:26:06 +01:00
Andrew Tridgell
35134214ae waf: use -Wl,--version-script if available
This enables symbol version on our libraries, if the system supports
it

If the library is a public library, then set the symbol version based
on the major number. If it is a private library then set it based on
the full version number (which will include the git hash if
available).

This ensures that applications using our libraries don't use symbols
from other libraries that they may be linked to. It also ensures we
only use the right version of any private libraries.

Note that the linker ends up generating both a version and unversioned
symbol for all symbols. This means existing users of our public
libraries will continue to work, with symbols resolved to the
unversioned symbol. When applications are re-linked they will bind to
the specific symbol version.

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
Pair-Programmed-With: Jelmer Vernooij <jelmer@samba.org>
2010-12-08 05:26:06 +01:00
Andrew Tridgell
d0c93ba115 waf: added configure test for -Wl,--version-script
this checks that the linker supports --version-script

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-12-08 05:26:06 +01:00
Andrew Tridgell
d5bf525591 s4-waf: get the version number right on private libraries
use the first digit of the version number for the library version

Pair-Programmed-With: Jelmer Vernooij <jelmer@samba.org>
2010-12-08 05:26:06 +01:00
Matthieu Patou
994bcf35d2 build: fix hpux build pb
Pair-Programmed-With: Thomas Nagy <tnagy2pow10@gmail.com>

Fix the library extension from .so to .sl
Add full path to library when linking this is needed due to a strange
behavior of HP-UX:

This command: gcc demo demo.c -L dir1/dir2/ -lsomelib
will give a binary with a hard coded lib like dir1/dir2/libsomelib.sl.
Somehow like a partial rpath, it has the first impact of fooling waf
detection of wether the plateform support libraries or not (leading to
being unable to compile samba on HPUX) and the impact of having non
functionnal binaries.

Autobuild-User: Matthieu Patou <mat@samba.org>
Autobuild-Date: Wed Dec  8 00:32:50 CET 2010 on sn-devel-104
2010-12-08 00:32:49 +01:00
Jelmer Vernooij
496ef92b09 wafsamba: Only include versioned files when building tarball from bzr.
Autobuild-User: Jelmer Vernooij <jelmer@samba.org>
Autobuild-Date: Sun Dec  5 16:13:06 CET 2010 on sn-devel-104
2010-12-05 16:13:06 +01:00
Jelmer Vernooij
8dcd4cca4e wafsamba: Override GIT_DIR without using putenv.
putenv has sideffects on later code. This overrides GIT_DIR for just this call.

Autobuild-User: Jelmer Vernooij <jelmer@samba.org>
Autobuild-Date: Fri Dec  3 04:24:53 CET 2010 on sn-devel-104
2010-12-03 04:24:53 +01:00
Björn Jacke
8c365d5d4d waf/buildtools: remove more bash shebangs and fix a == to = 2010-12-02 10:36:06 +01:00
Björn Jacke
fca9d05230 waf/buildtools: use /bin/sh instead of /bin/bash and put ^ in quotes
- some Unix shells actually don't like grep ^foo, use grep "^foo" instead.

- bash is not installed on every system, please avoid #!/bin/bash and
  use #!/bin/sh instead
2010-12-02 10:36:06 +01:00
Stefan Metzmacher
beb01815f0 buildtools: fix --git-local-changes option
If we set the GIT_DIR envvar we also need to set GIT_WORK_TREE,
otherwise we can't expect valid output from 'git diff HEAD'.

metze

Autobuild-User: Stefan Metzmacher <metze@samba.org>
Autobuild-Date: Thu Dec  2 09:09:21 CET 2010 on sn-devel-104
2010-12-02 09:09:21 +01:00
Günther Deschner
133a2ffd00 s3-waf: avoid module name uppercasing.
This finally allows mixed case module names like the classic build
(./configure --shared_modules=charset_CP850)

Guenther

Autobuild-User: Günther Deschner <gd@samba.org>
Autobuild-Date: Wed Dec  1 18:39:14 CET 2010 on sn-devel-104
2010-12-01 18:39:14 +01:00
Andrew Tridgell
380739e9be waf: less verbose message for failing to resolve a syslib path 2010-12-01 16:09:57 +11:00
Andrew Tridgell
bbf953464e waf: use Logs.warn() instead of print() in the symbol check code 2010-12-01 16:09:57 +11:00
Andrew Tridgell
0acc93cc2c waf: added a help target for the other waf builds
this lets the s3 waf build use "make help"

Autobuild-User: Andrew Tridgell <tridge@samba.org>
Autobuild-Date: Wed Dec  1 01:47:50 CET 2010 on sn-devel-104
2010-12-01 01:47:50 +01:00
Jelmer Vernooij
f430dd3cb8 wafsamba: Fix indentation.
Without this change we'd exclude the rpath for private libraries
whenever the first dependency of a subsystem was a public library.

Autobuild-User: Jelmer Vernooij <jelmer@samba.org>
Autobuild-Date: Tue Nov 30 13:08:04 CET 2010 on sn-devel-104
2010-11-30 13:08:04 +01:00
Jelmer Vernooij
2a5daa7ddb wafsamba: Only use private library rpath when linking against private
libraries.

Autobuild-User: Jelmer Vernooij <jelmer@samba.org>
Autobuild-Date: Tue Nov 30 02:23:37 CET 2010 on sn-devel-104
2010-11-30 02:23:37 +01:00
Jelmer Vernooij
7ab6aa1575 samba_dist: Fix dist for subprojects.
Autobuild-User: Jelmer Vernooij <jelmer@samba.org>
Autobuild-Date: Tue Nov 30 00:32:41 CET 2010 on sn-devel-104
2010-11-30 00:32:41 +01:00
Andrew Tridgell
fcdbd06136 waf: fixed the build with a space in the source directory 2010-11-21 23:10:14 +11:00
Andrew Tridgell
fe5c48cbed waf: added --git-local-changes configure option
if you use --git-local-changes then the version number that waf
extracts from git will have a '+' on the end if you have local
changes, as determined by running 'git diff'.

This used to be the default, but unfortunately it is far too slow on
some systems. On a NFS build system I was using the first line of
configure took about 2 minutes.

Autobuild-User: Andrew Tridgell <tridge@samba.org>
Autobuild-Date: Tue Nov 16 01:51:54 UTC 2010 on sn-devel-104
2010-11-16 01:51:54 +00:00
Andrew Tridgell
88d694ac8e waf: fixed configure again on RHEL5
the fancier cmd_output() broke git versioning

Autobuild-User: Andrew Tridgell <tridge@samba.org>
Autobuild-Date: Mon Nov 15 11:33:41 UTC 2010 on sn-devel-104
2010-11-15 11:33:41 +00:00
Jelmer Vernooij
e4eba98f83 waf/samba_version: Simplify git show command.
Autobuild-User: Jelmer Vernooij <jelmer@samba.org>
Autobuild-Date: Fri Nov 12 18:38:21 UTC 2010 on sn-devel-104
2010-11-12 18:38:21 +00:00
Jelmer Vernooij
8d07e6d986 samba_version: Make COMMIT_IS_CLEAN an int rather than a string. 2010-11-12 17:42:14 +00:00
Jelmer Vernooij
7d961ddc44 samba_version: Simplify dirty tree detection. 2010-11-12 17:42:14 +00:00
Jelmer Vernooij
c338dede1b waf/samba_version: Support integer defines. 2010-11-12 17:42:14 +00:00
Jelmer Vernooij
7b964c7269 samba_version: When working from git checkout, display git revision SHA1 rather
than Bazaar revision ids.
2010-11-12 17:42:13 +00:00
Jelmer Vernooij
a0c2040ab6 samba_version: Support retrieving snapshot identity from bzr. 2010-11-12 17:42:13 +00:00
Jelmer Vernooij
45af495695 samba_version: Cope with building snapshots in directories without git checkout.
Error out when run in a git checkout in which git fails.
2010-11-12 17:42:13 +00:00