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

571 Commits

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