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
470c14cbf3
build: make sure the directory exists in TOUCH_FILE()
2010-04-06 20:27:23 +10:00
Andrew Tridgell
31a88f266c
build: nicer display of command type for prototypes and generators
2010-04-06 20:27:22 +10:00
Andrew Tridgell
865e478e25
s4-waf: create a blank __init__.py in samba/external
...
needed for the external lib loader
2010-04-06 20:27:22 +10:00
Andrew Tridgell
9eb5cb784c
build: a bit more information for tracking --target deps
2010-04-06 20:27:22 +10:00
Andrew Tridgell
4fa9c3187d
s4-waf: updates for the new python installer from jelmer
2010-04-06 20:27:22 +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
f189af143b
build: enable nothreads workaround only with WAF_NOTHREADS=1
2010-04-06 20:27:21 +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
c0b67c6e7e
build: fixed the task counter when nothreads is used
2010-04-06 20:27:21 +10:00
Andrew Tridgell
e42a13d1d0
build: enable 'nothreads' when JOBS=1
...
this makes waf not use pthreads, which should fix the problems on AIX
and maybe on HPUX. It looks like process handling with Python on AIX
is broken if threads are used.
When JOBS=1 we don't need threads anyway.
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
9ac8899d87
build: sys.exit is better than raise here
...
using raise produces a screen full of stuff the user can't
understand. The message is much clearer with an exit
2010-04-06 20:27:21 +10:00
Andrew Tridgell
cd104102b9
build: don't define vars in config.h for CONFIG_PATH()
...
we don't want paths in config.h, as that just causes full rebuilds
when you change --prefix. Better to use cflags= on the right subsystem
2010-04-06 20:27:20 +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
d39b44c989
build: python libs need to be built shared, regardless of --disable-shared
...
we don't have a way to load them otherwise
2010-04-06 20:27:19 +10:00
Andrew Tridgell
178b0d178d
build: add require_headers option to CHECK_BUNDLED_SYSTEM()
...
Useful to ensure the package has usable headers
2010-04-06 20:27:18 +10:00
Andrew Tridgell
b498378c8f
s4-waf: fixed some of the group ordering
...
We need to try to keep targets in the right groups
2010-04-06 20:27:18 +10:00
Andrew Tridgell
4854afcfa1
build: expand indirect includes to fix disable-shared build
2010-04-06 20:27:18 +10:00
Andrew Tridgell
354a76aeb3
build: fixed install target for systems with rpath disabled
2010-04-06 20:27:18 +10:00
Andrew Tridgell
385e02e9d9
build: added functions for compound configuration testing
...
This allows us to give a single 'Checking ...' msg for a compound
set of tests.
2010-04-06 20:27:18 +10:00
Andrew Tridgell
33d5c4a18c
build: don't link when checking a C prototype
2010-04-06 20:27:18 +10:00
Andrew Tridgell
7da57cc94b
build: tweak the strategy for finding functions
...
Based on a problem with res_ndestroy() on sunx in the build farm, I've
changed the default strategy for finding functions with
CHECK_FUNC(). It now accepts either a macro of a linked function, but
won't accept a declaration only unless you set link=False.
2010-04-06 20:27:17 +10:00
Andrew Tridgell
8ed23a408d
build: new waf version with local patches replaced by upstream changes
2010-04-06 20:27:17 +10:00
Andrew Tridgell
2277134e8e
build: removed debug line
2010-04-06 20:27:17 +10:00
Andrew Tridgell
f0f67ebd2f
build: fixed a configure error with a totally clean tree
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
989eb9dbdc
s4-waf: added rules for rebuilding the yapp parser in pidl
2010-04-06 20:27:16 +10:00
Andrew Tridgell
720742424d
build: fixed the on_results problem with SAMBA_AUTOPROTO()
2010-04-06 20:27:16 +10:00
Andrew Tridgell
7a3dd2c53f
build: fixed missing nodes display on errors
...
when waf can't build something due to a missing file, it displayed the
whole group of files. This update makes it display only the missing
files.
2010-04-06 20:27:16 +10:00
Andrew Tridgell
65edcfa016
build: added pattern option for recursive_dirlist
...
also added LOAD_ENVIRONMENT(), which will be used in the testsuite
2010-04-06 20:27:16 +10:00
Andrew Tridgell
da1fed0a8f
build: nicer progress display for a standard build
2010-04-06 20:27:15 +10:00
Andrew Tridgell
970892594b
build: override PACKAGE_VERSION in pkg-config generation for libraries
...
we should use the vnum
2010-04-06 20:27:15 +10:00
Andrew Tridgell
d87b77e649
build: reuse SAMBA_LIBRARY() to build python modules
...
This allows the rpath logic to be shared, and simplifies the install
logic
2010-04-06 20:27:15 +10:00
Andrew Tridgell
6dc2b16859
build: fixed progress display
2010-04-06 20:27:15 +10:00
Andrew Tridgell
3d4c99207d
build: use 'Compiling foo.c' and 'Linking foo' like old build system
...
When -p is not used, display compilation messages similarly to the old
build system, but with a progress indicator
2010-04-06 20:27:15 +10:00
Andrew Tridgell
c6e73cb3b6
build: move waf into buildtools/bin
2010-04-06 20:27:15 +10:00
Andrew Tridgell
a2b4d7e8eb
s4-waf: ensure we don't end up with mixed versions of talloc/tdb/tevent
2010-04-06 20:27:15 +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
88b6b86c59
s4-waf: added auto-detection of perl manpage extensions
...
some systems produce pidl.1p, others pidl.1. We need to know which one
to use.
2010-04-06 20:27:14 +10:00
Andrew Tridgell
06e10a2904
build: work around missing defaults from gnu_dirs.py
2010-04-06 20:27:14 +10:00
Andrew Tridgell
20146b3fe0
build: fixed popt subsystem on systems without popt
2010-04-06 20:27:13 +10:00
Andrew Tridgell
32ac04c028
s4-waf: merge in the latest changes from master
...
The heimdal changes mean the asn1 compiler produces a 2nd header file
2010-04-06 20:27:13 +10:00
Andrew Tridgell
ab1b096538
build: auto-detect platforms which don't support shared libs
2010-04-06 20:27:13 +10:00
Andrew Tridgell
28a7348294
build: only add -fPIC if it is supported
2010-04-06 20:27:13 +10:00
Andrew Tridgell
b9aa63887c
s4-waf: cleanup use of LIBPOPT vs popt dependency
2010-04-06 20:27:13 +10:00
Andrew Tridgell
bfbf43cc36
s4-waf: support the use of system libraries
...
distros can set --bundled-libraries=NONE to force use of all system
libraries. If the right version isn't found then configure will fail.
Users may choose which libraries to use from the system, and which to
use bundled libs. The default is to try system libs, and use them if
their version matches the one in the source tree.
2010-04-06 20:27:13 +10:00
Andrew Tridgell
3b380ea7ac
build: better control over bundled library extensions
2010-04-06 20:27:12 +10:00