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

665 Commits

Author SHA1 Message Date
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