1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-27 14:04:05 +03:00

585 Commits

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