1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-07 17:18:11 +03:00
Commit Graph

50 Commits

Author SHA1 Message Date
Joseph Sutton
94f46f0cbb buildtools: Fix comments and documentation
Signed-off-by: Joseph Sutton <josephsutton@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2023-08-30 02:15:28 +00:00
Björn Jacke
e6cd888425 buildtools/wafsamba/samba_install.py: typo fixes
Signed-off-by: Bjoern Jacke <bjacke@samba.org>
Reviewed-by: Martin Schwenke <martin@meltin.net>
2019-10-31 00:43:38 +00:00
Andrew Bartlett
270d04e4ea build: Remove --extra-python
This option is quite invasive in waf and was mainly for the python3 transition.

Testing with multiple python versions can be done by testing a full compile against
multiple versions, likewise multiple different binding versions can be created
the same way.

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
2019-03-21 04:06:14 +00:00
Björn Jacke
42e96696a0 wafbuild: create missing private library symlinks on platforms without soname support for shared libs
BUG: https://bugzilla.samba.org/show_bug.cgi?id=9557

Signed-off-by: Bjoern Jacke <bjacke@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>

Autobuild-User(master): Björn Jacke <bjacke@samba.org>
Autobuild-Date(master): Fri Mar  1 17:05:19 UTC 2019 on sn-devel-144
2019-03-01 17:05:19 +00:00
Alexander Bokovoy
4e65b33c1d third_party:waf: update to upstream 2.0.4 release
Update third_party/waf/ to 2.0.4 to bring us closer to Python 3

This change requires a number of changes in buildtools/ too.

Signed-off-by: Alexander Bokovoy <ab@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2018-09-05 06:37:22 +02:00
Thomas Nagy
8077f462c9 build:wafsamba: Build on waf 1.9
Signed-off-by: Thomas Nagy <tnagy@waf.io>
Reviewed-by: Alexander Bokovoy <ab@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2018-09-05 06:37:21 +02:00
Thomas Nagy
735cf0683d build:wafsamba: Ensure that target clones get a different name
Changing the 'target' attribute results in a different file name,
which is visibly necessary. Yet the 'name' attribute should also
be modified even if invisible as it is used to query targets
(uselib for example). Failing to do so results in errors in Waf 1.8.

Signed-off-by: Thomas Nagy <tnagy@waf.io>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
2015-11-24 05:00:27 +01:00
Thomas Nagy
cfe8becb9e build:wafsamba: Replace Options.is_install by bld.is_install
Options.is_install is a deprecated module variable that is more
verbose than bld.is_install and complicates the Waf 1.8 upgrade.

Signed-off-by: Thomas Nagy <tnagy@waf.io>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
2015-11-16 11:48:14 +01:00
Thomas Nagy
2666d06f29 build:wafsamba: removed most import * statements
The 'import *' statements make it more difficult to reason about
the modules and tends to conceal bugs. These changes enable running
pyflakes against most of the build scripts.

Signed-off-by: Thomas Nagy <tnagy@waf.io>
Reviewed-by: Andrew Bartlet <abartlet@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>

Autobuild-User(master): Andreas Schneider <asn@cryptomilk.org>
Autobuild-Date(master): Wed Oct 28 12:52:17 CET 2015 on sn-devel-104
2015-10-28 12:52:17 +01:00
Petr Viktorin
2bf1443bd0 buildtools: Always reset the build environment
In install_library, the Build object's environment was not reset
after an early return, so the extrapython env would be used in
subsequent build steps.
Wrap everything in a try-finally block to make sure the env is reset.

(Almost all of the change is indentation, `git show -w` recommended.)

Signed-off-by: Petr Viktorin <pviktori@redhat.com>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Jelmer Vernooij <jelmer@samba.org>
2015-06-10 06:06:18 +02:00
Petr Viktorin
616dfae8ff buildtools: Add --extra-python configure option
This allows building Python support for two different Python versions
at the same time.

Signed-off-by: Petr Viktorin <pviktori@redhat.com>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Jelmer Vernooij <jelmer@samba.org>
2015-05-19 19:28:18 +02:00
Andreas Schneider
8490c1a503 wafsamba: If we define a realname and a soname create a symlink.
This is needed that libnss_winbind.so.2 and libnss_wins.so.2 will get a
corresponding symlinks.
2012-10-22 09:04:21 +02:00
Andreas Schneider
aed0735862 waf: Make sure libraries are installed with the execute flag set.
There are two reasons for that. The first is that libraries are
executables and can have main functions (see libc). The second reason is
that rpm script to extract debuginfo are looking for executables and
then check if it is the right file to extract the info.

Autobuild-User: Andreas Schneider <asn@cryptomilk.org>
Autobuild-Date: Thu Feb 23 20:57:11 CET 2012 on sn-devel-104
2012-02-23 20:57:11 +01: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
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
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
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
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
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
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
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
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
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
e15cd9c6d5 Add --with-privatelibdir build option. 2010-11-05 02:06:05 +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
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
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
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
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
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
1ba533f4cb waf: Make shared modules available in the build dir. 2010-09-04 15:00:32 +02:00
Jelmer Vernooij
24930aa716 wafsamba: Use octal modes directly rather than constants. 2010-06-19 16:00:04 +02:00
Jelmer Vernooij
2edd652729 s4-waf: Fix installation of .so links for libraries that are not bundled but have a mangled name. 2010-06-13 20:52:47 +02:00
Andrew Tridgell
eec93985d1 build: get the SONAME right for installed libraries 2010-05-23 22:11:57 +02:00
Andrew Tridgell
47fb7dfd1c build: mark cloned task generators as not posted
this solves an incompatibility with a newer version of waf from svn
2010-05-05 16:14:13 +02:00
Andrew Tridgell
6d1e8c5835 build: use the waf patterns for RPATH
Use the self.env.RPATH variable to set the RPATH for each target. This
gives consistent ordering of the link command, ensuring that we don't
get rebuilds if we ask for a --targets= build after a normal build.

This also means we are now using the RPATH_ST pattern, which means we
can potentially support compilers that don't use -Wl,xxx as the
command line for rpath support
2010-05-03 17:16:48 +02:00
Andrew Tridgell
f66fcd9608 build: cope with realname for install of non-python libs
this fixes the install of mit_samba.so
2010-04-26 19:06:06 +10:00
Andrew Tridgell
f8e3e5ce07 build: fixed install of binary targets that are in subdirs
this should fix the smbd/smbd install problem with Kai's s3 waf build
2010-04-18 21:08:48 +10:00
Andrew Tridgell
58abd9ac81 build: for unbundled libraries install devel link too
We need a symlink libFOO.so -> libFOO.so.x.y as a 
development symlink

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-04-13 20:15:41 +10:00
Andrew Tridgell
9c6781277a build: cope with existing binaries in bin/ left over from the old build 2010-04-13 09:36:03 +10:00
Kai Blin
c09fa85735 s3-waf: Correctly create symlink if SAMBA_BINARY targets are not in the current diectory
Many thanks to ita for pointing out the fix.
2010-04-12 17:47:30 +10:00
Andrew Tridgell
0b8a3a4036 build: no need to re-create the lib and bin symlinks if they exist
this saves a few unlink/symlink calls for null builds
2010-04-09 20:31:06 +10:00
Andrew Tridgell
4ca46c6b8d build: make the handling of relative paths a bit saner
This should fix a problem that Anatoliy has struck with the PIDL
rules. It also brings us much closer to a working build for a true out
of tree build (ie. with waf configure -b /tmp/build)
2010-04-08 22:11:49 +10:00
Thomas Nagy
7f3116a63d build: allow the waf build to work with python 3.0 and 3.1
Python 3.x is a bit fussier about print statements and indentation.

Signed-off-by: Andrew Tridgell <tridge@samba.org>
2010-04-08 07:46:39 +10:00
Andrew Tridgell
35ec7c34b3 build: cope with binaries with subdir prefixes (for s3 waf build) 2010-04-06 20:27:27 +10:00
Andrew Tridgell
cd712dff31 build: simpler symlink_bin and symlink_lib methods 2010-04-06 20:27:26 +10:00
Andrew Tridgell
ba64e236d5 build: much simpler and faster rpath install handler
This avoids creating additional task generators at build time, and
instead moves all the rpath logic into samba_install.py where it is
triggered by the install_lib and install_bin features
2010-04-06 20:27:22 +10:00