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

604 Commits

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