Andrew Tridgell
b3d8a7136a
build: added a check for group ordering within target dependencies
...
If target A depends on target B, then target B must not be in a later
build group from target A
Pair-Programmed-With: Thomas Nagy
2010-05-03 17:16:47 +02:00
Andrew Tridgell
c6b8ffd3a5
build: normalise paths in unique source checking
2010-04-26 14:36:54 +10:00
Andrew Tridgell
adb5f943de
build: recalculate project deps when NONSHARED_BINARIES changes
2010-04-21 17:29:06 +10:00
Andrew Tridgell
681f3dad7c
build: added --nonshared-binary=LIST option
...
This allows you to specify some binaries that should be built without
shared libs. A non-shared smbtorture will make testing s3 in the build
farm easier
2010-04-21 17:13:16 +10:00
Andrew Tridgell
34887de6b0
build: ensure we don't recreate library loops in expansions
...
after removing library loops from the dependeny graph, we re-add
parent dependencies. We need to ensure that we don't re-add a
dependency which re-creates the loop we so carefully removed.
This also adds a final check for library dependency loops, and shows
an appropriate error if one is found.
2010-04-15 14:01:06 +10:00
Andrew Tridgell
0ca484f457
build: check the type of implied dependencies
...
an implied dependency needs to be a library or module
2010-04-13 11:41:20 +10:00
Stefan Metzmacher
4f73658544
wafsamba: don't add global dependencies to hostcc targets
...
metze
2010-04-12 12:31:14 +02:00
Andrew Tridgell
45d3ac05b3
build: use Logs.error() and Logs.info() instead of print()
...
this gives appropriate colors on output, and ensures it works with
compiler output
2010-04-09 21:12:09 +10:00
Andrew Tridgell
baec7a6b9e
build: the exceptions here are not useful
...
they just make the failure hard to spot
2010-04-08 22:11:49 +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
93a099c2de
build: loop until all object reductions are complete
...
we will issue a warning if any object duplication remains
2010-04-06 20:27:23 +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
Andrew Tridgell
6dbf576e81
build: only link install targets at install time
2010-04-06 20:27:22 +10:00
Andrew Tridgell
d06df81df2
build: fixed the dependencies of the install targets
...
we want the install targets to have identical calculated dependencies
to the build targets.
2010-04-06 20:27:21 +10:00
Andrew Tridgell
fe2c1f1e7c
build: refactor the object reduction code
...
split it out into a separate function, and use the final_* attributes
instead of the direct_* and indirect_* attributes
2010-04-06 20:27:21 +10:00
Andrew Tridgell
30fa7da524
build: finally got LIBRARY<->LIBRARY reductions working
...
the install size is now 100M
2010-04-06 20:27:20 +10:00
Andrew Tridgell
3154733c33
build: add python library object reduction
...
This reduces the install size of s4 from 393M down to 132M on my
system. We had a lot of duplicate code in our python modules!
2010-04-06 20:27:20 +10:00
Andrew Tridgell
4854afcfa1
build: expand indirect includes to fix disable-shared build
2010-04-06 20:27:18 +10:00
Andrew Tridgell
2277134e8e
build: removed debug line
2010-04-06 20:27:17 +10:00
Andrew Tridgell
874e39cbf0
s4-waf: added implied_deps for system libraries
...
when we use a system version of a library such as talloc, then we
no longer get the automtica dependency propogation of talloc implying
libreplace. That means we don't get the includes for libreplace, which
means things can fail to build.
To fix this this change adds an implied_deps option to
CHECK_BUNDLED_SYSTEM(), which tells the samba_deps module to add an
implied dependency on the listed targets if the system library is
chosen.
2010-04-06 20:27:17 +10:00
Andrew Tridgell
b7ff06b904
build: tidy up the wafsamba rules a bit
...
use python string conventions for function comments
2010-04-06 20:27:14 +10:00
Andrew Tridgell
5e94bca62e
build: a better way of calculating syslib dependencies
2010-04-06 20:27:07 +10:00
Andrew Tridgell
742cb4547a
build: fixed case of system library deps
2010-04-06 20:27:05 +10:00
Andrew Tridgell
6ef817dd7c
build: fixed the cflags for pkg_config libs
2010-04-06 20:27:04 +10:00
Andrew Tridgell
cc2284cca1
build: python 2.4 doesn't support multiple union arguments for sets
2010-04-06 20:27:00 +10:00
Andrew Tridgell
a973c5f280
build: expand indirect syslibs after loop unrolling
...
otherwide python libs in the disable-shared build don't get all the
needed syslibs
2010-04-06 20:27:00 +10:00
Andrew Tridgell
c5d0208aa9
build: fixed handling of full dependencies for --disable-shared
...
the subsystem dependency loops get quite complex when shared libs are
disabled
2010-04-06 20:27:00 +10:00
Andrew Tridgell
69c065c719
build: optimise and re-enable check_duplicate_sources
2010-04-06 20:26:59 +10:00
Andrew Tridgell
584986e392
build: cope with subsystems with no enabled modules
...
This happens for the notify subsystem on non-Linux systems
2010-04-06 20:26:58 +10:00
Andrew Tridgell
2a1520ba67
build: make bin/sambadeps depend on samba_deps.py modtime
2010-04-06 20:26:53 +10:00
Andrew Tridgell
651941abba
build: python modules need the libs from broken lib loops too
2010-04-06 20:26:53 +10:00
Andrew Tridgell
e9fd67f4de
build: split build and install libraries/binaries
...
we need to split these to avoid re-compilation on install
as install has different rpath settings
2010-04-06 20:26:52 +10:00
Andrew Tridgell
fb2d78954d
build: allow waf to cache include lists more efficiently
...
Using include paths all based on the topdir is more efficient
2010-04-06 20:26:50 +10:00
Andrew Tridgell
e6f7a13a17
build: try faster includes processing
2010-04-06 20:26:50 +10:00
Andrew Tridgell
e502031171
build: fixed samba_deps.py for python 2.4
2010-04-06 20:26:49 +10:00
Andrew Tridgell
844acb2260
build: waf quicktest nearly works
...
Rewrote wafsamba using a new dependency handling system, and started
adding the waf test code
2010-04-06 20:26:48 +10:00
Andrew Tridgell
fffa6a5b48
build: separate out dependencies and python rules
2010-04-06 20:26:47 +10:00