1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-27 03:21:53 +03:00
Commit Graph

856 Commits

Author SHA1 Message Date
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
Jelmer Vernooij
d9a0a18dda Put git tree finding into a separate function. 2010-11-12 17:42:13 +00:00
Jelmer Vernooij
80e2adc9c3 sambaversion.py: Some cleanups, make less git-specific. 2010-11-12 17:42:13 +00:00
Jelmer Vernooij
e3b7ce85e2 wafsamba: Support make dist from bzr checkout. 2010-11-12 17:42:13 +00:00
Andrew Tridgell
8759523295 waf: go back to the previous method of handling .inst. rules
the change broke the library linkages for some library, as spotted by
Brad
2010-11-08 15:46:27 +11:00
Andrew Tridgell
e427f2fc81 waf: fixed the names of the installed libraries after the last change
Autobuild-User: Andrew Tridgell <tridge@samba.org>
Autobuild-Date: Mon Nov  8 02:31:18 UTC 2010 on sn-devel-104
2010-11-08 02:31:18 +00:00
Andrew Tridgell
c0297e5e89 waf: fixed tabs/spaces for python3.0
Autobuild-User: Andrew Tridgell <tridge@samba.org>
Autobuild-Date: Mon Nov  8 00:55:13 UTC 2010 on sn-devel-104
2010-11-08 00:55:13 +00:00
Andrew Tridgell
b867dc9ea2 waf: prevent us from modifying non-install libs during make install
we need to ensure that 'make install' does not change any of our build
libraries, and only changes the .inst.so libraries, otherwise doing a
make test in the build directory directly after a make install could
use the installed libraries, which would mean using the wrong
LDB_MODULES_PATH

this could cause the "unknown error" loading ldb modules when running
some commands directly after a make install

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-11-08 11:13:28 +11:00
Jelmer Vernooij
c9756cac05 waf: Put private libraries in a separate directory when building.
Thanks to Tridge for pointing out what exactly I had to change. :-)
2010-11-05 02:06:06 +00:00
Jelmer Vernooij
21233bba96 wafsamba: Use project name variable rather than hardcoding 'samba4'.
Suggested-By: Andrew Tridgell <tridge@samba.org>
2010-11-05 02:06:06 +00:00
Jelmer Vernooij
afc332fdb1 wafsamba: Drop private library prefix when installing private libraries
to a custom path.
2010-11-05 02:06:05 +00:00
Jelmer Vernooij
ec7501ea4f wafsamba: Support expanding variables in LIBDIR/PRIVATELIBDIR variables. 2010-11-05 02:06:05 +00:00
Jelmer Vernooij
e84e8705a9 Add --disable-rpath-private-install flag. 2010-11-05 02:06:05 +00:00
Jelmer Vernooij
e15cd9c6d5 Add --with-privatelibdir build option. 2010-11-05 02:06:05 +00:00
Jelmer Vernooij
0d4fa8514b samba_utils: Use LIBDIR rather than assuming it is set to $prefix/lib. 2010-11-05 02:06:05 +00:00
Andrew Tridgell
ef1afae2ce waf: more agressively expand subsystem syslib deps
this solves an openchange build problem with an indirect dependency on
talloc when talloc is a syslib

Autobuild-User: Andrew Tridgell <tridge@samba.org>
Autobuild-Date: Wed Nov  3 02:17:30 UTC 2010 on sn-devel-104
2010-11-03 02:17:30 +00:00
Andrew Tridgell
8c44dfc371 waf: ensure pkgconfig files depend on the prefix 2010-11-03 01:34:04 +00:00
Andrew Tridgell
dfa20fcd48 waf: split pkgconfig logic into a separate module 2010-11-03 01:34:04 +00:00
Andrew Tridgell
2a5e5cd8fa waf: fixed wildcard build for full paths 2010-11-03 10:53:12 +11:00
Andrew Tridgell
5a3d22a256 waf: rerun deps calculation on LDFLAGS or CFLAGS change 2010-11-03 10:53:12 +11:00
Andrew Tridgell
9cac0bfde6 waf: fixed wildcard build
this fixes minimal includes for subsystems that use autoproto
2010-11-03 10:53:12 +11:00
Andrew Tridgell
4404b4c700 waf: removed the module aliases code
This is not needed with the new ldb modules approacg
2010-11-01 18:55:19 +11:00
Andrew Tridgell
0a703c7fd1 waf: added automatic prototyping of static module init functions
this avoids the need to manually list all our static init functions in
the code

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-11-01 18:55:19 +11:00
Andrew Tridgell
fd6d29bc08 waf: added module_init_name parameter to SAMBA_MODULE()
this will be used for ldb module loading
2010-11-01 18:55:18 +11:00
Matthieu Patou
c3fa203435 build: In some case the flags for the sun studio linker are wrong
In this case we test if the -Wl,-h,%s works and if so use this form

Autobuild-User: Matthieu Patou <mat@samba.org>
Autobuild-Date: Sun Oct 31 16:35:17 UTC 2010 on sn-devel-104
2010-10-31 16:35:17 +00:00
Matthieu Patou
9f0fb0261e build: check that if we provide -liconv we can build shared libs
On Solaris with sun studio compiling an executable with -liconv even if
there is no libiconv.so or libiconv.a will work but not for a shared
lib.

This problem leads to build problem as the linker won't be able to find
libiconv when building shared lib as liconv is wrongly specified
2010-10-31 18:51:54 +03:00
Matthieu Patou
edebb76a61 build: strip -single_module when doing bundle on mac OS X 2010-10-30 13:45:18 +00:00
Matthieu Patou
33b276c2f1 build: set shared libraries flags correctly on mac os X 2010-10-30 13:45:18 +00:00
Andrew Tridgell
55063cddd5 waf: fixed building of non-shared binaries that contain modules
we need to incorporate the module objects too
2010-10-30 23:49:02 +11:00
Andrew Tridgell
e08c9ac696 waf: get rid of target aliases in wafsamba
these aliases are no longer needed, and can cause a lot of confusion
2010-10-30 23:49:01 +11:00
Andrew Tridgell
3a78148269 waf: save the samba_deps_extended
this is needed for the symbols.py extension
2010-10-30 23:49:00 +11:00
Andrew Tridgell
f7b70a5a7a waf: give a better error on a bad grouping library
give a clear error on an unknown dependency in a grouping library

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-10-30 23:49:00 +11:00
Andrew Tridgell
78d732cc40 waf: cope with subsystems with no static modules
we still need the STATIC_xx_MODULES define when there are no static
modules. It contains just the sentinal.

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-10-30 23:49:00 +11:00
Andrew Tridgell
ae0f420dd9 waf: don't auto-depend on subsystems
this is part of an effort to reduce the amount of automatic dependency
munging we do. When working on the correct dependency tree for Samba
it is easier to add the right dependencies in the wscript files than
rely on them being added by the waf rules. This change removes the
automatic dependency of modules on their subsystem. Many modules don't
actually need this dependency anyway, so it is better to add it where
they are needed (for example, for ldb modules)

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-10-30 23:49:00 +11:00
Andrew Tridgell
adabc3d082 waf: added --symbol-check option
this adds checking of the symbols in all our object files, libraries
and syslibs. It will form the basis in future for a lot more checks,
but for now it just checks basic rules like not allowing us to use
symbols that are in system libs.

Currently this is enabled only if you use the --symbol-check option,
(or use make with SYMBOLCHECK=1) but I intend to make this always
enabled once it has had more testing.

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-10-30 23:49:00 +11:00
Andrew Tridgell
df34bb2685 waf: build all libraries after all object files
this makes it easier to perform symbol checking before the link
stage. The two new build groups symbolcheck and syslibcheck will be
used by the symbols.py extension
2010-10-30 23:49:00 +11:00
Andrew Tridgell
170c255f09 waf: use Utils.WafError() instead of raising an AssertionError
this produces clearer output on errors
2010-10-30 23:49:00 +11:00
Andrew Tridgell
d1e94980bf waf: cope with rules with no inputs
when we display a rule with no inputs, just call the original display
function

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-10-30 23:49:00 +11:00
Andrew Tridgell
ccbb77693c waf: separate out get_tgt_list()
this is a useful function for the new symbols code, so separate it out
of samba_deps.py

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-10-30 23:49:00 +11:00
Andrew Tridgell
e97be0860b waf: display the paths in library loops
when we detect a library loop, try to display the paths between the
two libraries. This should make it easier to fix.

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-10-30 23:49:00 +11:00
Andrew Tridgell
d489880ecd waf: added env.DEVELOPER_MODE flag
this makes it easier to add project rules that are only run in
developer mode

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-10-30 23:49:00 +11:00
Andrew Tridgell
65743f932b waf: added suncc_wrap
this should solve a problem with creating alias modules with Sun CC.

Thanks to Matthieu for the idea, and Thomas for the waf code
2010-10-30 23:49:00 +11:00
Matthieu Patou
4a11cad0e0 build: add the -fno-common flags to fix the link pb on mac os X
Autobuild-User: Matthieu Patou <mat@samba.org>
Autobuild-Date: Thu Oct 28 22:35:08 UTC 2010 on sn-devel-104
2010-10-28 22:35:08 +00:00
Matthieu Patou
95cbff76d6 build: Add XPG6 otherwise we have a configure pb on sun Solaris 2010-10-28 08:57:18 +00:00
Matthieu Patou
5634f55cc8 build: remove warnings about redifinition of boolean use -KPIC on suncc
Autobuild-User: Matthieu Patou <mat@samba.org>
Autobuild-Date: Wed Oct 27 22:57:19 UTC 2010 on sn-devel-104
2010-10-27 22:57:19 +00:00
Stefan Metzmacher
073d3bf1fc wafsamba: support 'soname' attribute on SAMBA_LIBRARY()
It's sometimes needed to specifiy the soname directly.

metze
2010-10-27 05:07:22 +02:00
Andrew Tridgell
a06192b33b waf: sped up the project rules checking
this also makes the --show-duplicates output more useful

Autobuild-User: Andrew Tridgell <tridge@samba.org>
Autobuild-Date: Wed Oct 27 01:36:46 UTC 2010 on sn-devel-104
2010-10-27 01:36:46 +00:00
Andrew Tridgell
afe40c7ecc waf: quote subsystem names to make them clearer 2010-10-26 23:40:04 +00:00
Jelmer Vernooij
c251cb62ec wafsamba: Fix soname for standalone private libraries.
Autobuild-User: Jelmer Vernooij <jelmer@samba.org>
Autobuild-Date: Tue Oct 26 18:10:13 UTC 2010 on sn-devel-104
2010-10-26 18:10:13 +00:00
Jelmer Vernooij
a74e8be6d1 waf: Stop automaticaly changing dashes to underscores in library names. 2010-10-26 10:17:18 -07:00
Jelmer Vernooij
8cf61377aa waf: Remove lib prefix from libraries manually. 2010-10-26 10:17:17 -07:00
Jelmer Vernooij
df76c3f147 waf: build private libraries with so names. 2010-10-26 10:17:17 -07:00
Andrew Tridgell
db73b4a2c1 waf: moved the -Wl,-no-undefined flags to source4 and ldb
moved it out of the general waf build as the s3 waf build cannot yet
handle linking with -Wl,-no-undefined

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

Autobuild-User: Andrew Tridgell <tridge@samba.org>
Autobuild-Date: Mon Oct 25 01:12:15 UTC 2010 on sn-devel-104
2010-10-25 01:12:15 +00:00
Jelmer Vernooij
49ef288819 waf: Rename some BUNDLED_ functios to PRIVATE_. 2010-10-23 22:24:06 +00:00
Andrew Tridgell
6c3e670f31 waf: check the linker accepts a set of ldflags before using them
Autobuild-User: Andrew Tridgell <tridge@samba.org>
Autobuild-Date: Thu Oct 21 08:45:49 UTC 2010 on sn-devel-104
2010-10-21 08:45:49 +00:00
Andrew Tridgell
dc729c62ea waf: loosen the restriction on depending on python libs
the pidl generated python code can generate dependencies between two
python modules, so we have to allow this for now
2010-10-21 19:03:27 +11:00
Andrew Tridgell
7ffb781e81 waf-python: make the pyext flag add the pyembed features for libraries
this is rather strange, but we get build errors without it. There may
be a bug in the waf python tool, or I may misunderstand how to use it
2010-10-21 19:03:27 +11:00
Andrew Tridgell
0966776b36 waf: fixed the handling of -Wl,-no-undefined
this flag was not being propogated to our link rules, so we were not
in fact enforcing no undefined symbols in libraries.
2010-10-21 19:03:27 +11:00
Andrew Tridgell
51dc322f63 waf: show duplicate objects in python modules as well as libraries
Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-10-21 19:03:26 +11:00
Andrew Tridgell
ec7bb906db waf: added pyext option to SAMBA_LIBRARY()
Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-10-21 19:03:26 +11:00
Andrew Tridgell
7a2cad43df waf: raise an error on a dependency on a python module
it is never correct to list a dependency on a python module

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-10-21 19:03:26 +11:00
Andrew Tridgell
6f36a015b1 waf: prevent the global deps list creating depenency loops
this prevents a loop between SOCKET_WRAPPER and replace in the s3 waf
build
2010-10-21 19:03:25 +11:00
Andrew Tridgell
7cba3cfac8 waf: replace the is_bundled option with private_library
'private_library' better captures what we are trying to get at when we
bundle a library
2010-10-21 19:03:24 +11:00
Andrew Tridgell
1d8733537e waf: added the concept of a grouping_library
a grouping library is one which 'groups' a set of subsystems. This
means that if a target depends on a subsystem that is within a
grouping library then that dependency is replaced with a dependency on
the grouping library.

This gives us a powerful method to avoid duplicated object files
between libraries.

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-10-21 19:03:24 +11:00
Andrew Tridgell
e2a2c71757 waf: cope with libraries with a specified version number
this fixes a problem with libnss_winbind.so.2. Thanks to Jelmer for
spotting this.
2010-10-21 19:03:24 +11:00
Andrew Tridgell
29c0b86126 waf: re-work the module alias code
we now create a base library, and then create the alias modules as
wrappers around that base. That prevents double instantiation of any
object files in the modules

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-10-21 19:03:23 +11:00
Andrew Tridgell
e596a4e6c3 waf: fixed expansion of direct_objects and direct_libs
these do not need to be expanded in break_dependency_loops()
2010-10-21 19:03:23 +11:00
Andrew Tridgell
cd7190b802 waf: allows libraries to be marked as private_library=True
this is for libraries where we make no promises about the API, but
where we wish it to be a library to allow our binaries to use common
code.

These libraries always get the project suffix added to the library
name, to ensure we are in a separate namespace

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-10-21 19:03:23 +11:00
Andrew Tridgell
c0878cfb61 waf: rework expand_subsystem_deps()
make the variable names a lot clearer, and restrict the expansion of
subsystem deps to object style subsystems and modules. If a subsystem
or a module is built as a library then we don't need to expand the
dependencies across that boundary

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-10-21 19:03:23 +11:00
Andrew Tridgell
14081efcc0 waf: added --show-deps and --show-duplicates
these options make it easier to examine our depenency tree, by showing
any objects linked into more than one library, and by showing the
dependency tree for a chosen target
2010-10-21 19:03:23 +11:00
Andrew Tridgell
968381a4e2 waf: put -Wl,-no-undefined only in the linker flags, not when compiling C 2010-10-19 11:22:35 +11:00
Andrew Tridgell
1b8355897d waf: don't save deps on install
this prevents an install triggering a new check of the project rules
on the next build
2010-10-19 11:22:35 +11:00
Andrew Tridgell
d485701436 waf: automap shared library names from .so to the right extension
this should help with MacOSX .dylib libraries
2010-10-19 11:22:35 +11:00
Jelmer Vernooij
7af5687504 heimdal_build: Use existing functions for finding system libraries. 2010-10-16 01:32:05 +00:00
Andrew Tridgell
3921d6f4d3 s4-waf: automatically remove stale C and header files
this prevents stale .c and .h files in bin/ from causing build
problems

Thanks to Thomas Nagy for the example implementation!

Autobuild-User: Andrew Tridgell <tridge@samba.org>
Autobuild-Date: Thu Oct 14 07:44:13 UTC 2010 on sn-devel-104
2010-10-14 07:44:13 +00:00
Jelmer Vernooij
5954e7173a wafsamba/developer: Forbid shared objects with unresolved symbols, if
the linker supports such a flag.

Autobuild-User: Jelmer Vernooij <jelmer@samba.org>
Autobuild-Date: Wed Oct 13 12:52:22 UTC 2010 on sn-devel-104
2010-10-13 12:52:22 +00:00
Jelmer Vernooij
870de461cb wafsamba: Don't allow circular dependencies involving libraries by
default.
2010-10-13 14:10:42 +02:00
Jelmer Vernooij
24ec465790 wafsamba: Warn about circular dependencies between libraries. 2010-10-12 19:23:59 +02:00
Jelmer Vernooij
5324b943e7 wafsamba: Fix handling of pyembed/pyext. 2010-10-10 23:54:04 +00:00
Jelmer Vernooij
ea6a3f5c48 wafsamba: Support setting pyembed on libraries. 2010-10-11 01:06:36 +02:00
Jelmer Vernooij
a20f025ff6 wafsamba: Fix init function when building modules as shared objects.
Signed-off-by: Jelmer Vernooij <jelmer@samba.org>
2010-10-10 23:05:40 +02:00
Jelmer Vernooij
c15e919a09 wafsamba: Clarify needs_python argument name, use pyembed/pyext where
applicable.

Allow using both pyembed and pyext, to prevent unresolved symbols.

Autobuild-User: Jelmer Vernooij <jelmer@samba.org>
Autobuild-Date: Sun Oct 10 03:54:01 UTC 2010 on sn-devel-104
2010-10-10 03:54:01 +00:00
Andrew Tridgell
7dcecbd077 waf: allow for commands like "make bin/smbtorture"
I finally worked out the GNU make syntax for this
2010-10-06 12:18:04 +00:00
Andrew Tridgell
c24240bcd2 waf: fixed some python3.x portability issues
these have crept into the tree over time. Maybe we should add testing
of a range of python versions to autobuild?
2010-10-06 11:13:05 +00:00
Andrew Tridgell
8fcccae6aa waf: update to waf version 1.5.19
this includes a number of perforance improvements and bug
fixes. Thanks to Thomas for all the recent improvements!
2010-10-06 11:13:05 +00:00
Andrew Tridgell
1e267b03da waf: fixed the problem with com_err on Ubuntu 9.04
this changes CHECK_BUNDLED_SYSTEM() to honor the checkfunctions and
headers options even for libraries found with pkgconfig.

Autobuild-User: Andrew Tridgell <tridge@samba.org>
Autobuild-Date: Wed Oct  6 05:06:42 UTC 2010 on sn-devel-104
2010-10-06 05:06:42 +00:00
Andrew Tridgell
7c5d7a5b63 waf: workaround for the 'make install' breakage
This is a temporary workaround until Jelmer gets a chance to look at
this

Autobuild-User: Andrew Tridgell <tridge@samba.org>
Autobuild-Date: Tue Oct  5 06:57:59 UTC 2010 on sn-devel-104
2010-10-05 06:57:59 +00:00
Jelmer Vernooij
e604532b49 waf: Add function for checking for system python modules. 2010-10-04 13:52:09 +02:00
Jelmer Vernooij
120f5ee429 wafsamba: Some reformatting. 2010-10-03 16:25:38 +02:00
Jelmer Vernooij
257e259a26 heimdal: Move asn1 list to heimdal_build. 2010-10-03 16:25:38 +02:00
Jelmer Vernooij
dd5a91b437 heimdal: Move SAMBA_ERRTABLE to heimdal_build. 2010-10-03 16:25:38 +02:00
Jelmer Vernooij
8e5a9e7721 heimdal: Move autoproto code to heimdal_build. 2010-10-03 16:25:38 +02:00
Jelmer Vernooij
3c1eca124e wafsamba: Move heimdal library code to heimdal_build. 2010-10-03 16:25:37 +02:00
Jelmer Vernooij
beed95e3a2 heimdal: convert some subsystems to libraries, consistent with upstream heimdal. 2010-10-03 16:25:37 +02:00
Günther Deschner
63c3af7981 waf: add delimiter argument to TO_LIST.
Guenther
2010-09-27 00:39:38 +02:00
Günther Deschner
ca2bbe00dc s3-waf: add some module specific functions for s3 waf build.
Thanks to Kai.

Guenther
2010-09-27 00:39:37 +02:00
Jelmer Vernooij
ead126caac Merge branch 'v4-0-stable' into newmaster 2010-09-20 15:24:44 -07:00
Jelmer Vernooij
aa8a2e3105 wafsamba: Fix docstring for DIST_BLACKLIST. 2010-09-20 14:41:09 -07:00
Jelmer Vernooij
e4d7bc24d1 wafsamba: Fix parsing of IS_GIT_VERSION. 2010-09-20 13:08:29 -07:00
Stefan Metzmacher
92eccf89a1 waf: add a '+' to the git hash if the working tree isn't clean
metze
2010-09-19 07:40:39 +02:00
Stefan Metzmacher
a66db2cb78 waf: fix typos in GIT_COMMIT_* strings
metze
2010-09-19 07:40:14 +02:00
Jelmer Vernooij
8140182f3d wafsamba: Eliminate sys.path updating if installing to a standard python
path.
2010-09-08 22:52:43 +02:00
Andrew Tridgell
2d77c766fa waf-abi: fixed small uninitialised data on PPC64
on PPC64 Linux systems a 'S' line from nm means "small object
uninitialised data"
2010-09-07 13:45:46 +10:00
Jelmer Vernooij
cf616ec316 wafsamba: Create bin/defaukt/modules if it does not yet exist. 2010-09-05 20:16:50 +02:00
Jelmer Vernooij
61e537cf50 waf: Use os.makedirs rather than os.mkdir in case parent directories
don't exist yet.
2010-09-05 18:01:43 +02:00
Jelmer Vernooij
84c1874677 waf: Support aliases in SAMBA_MODULE. 2010-09-04 15:00:32 +02:00