Andrew Tridgell
dfdabffae3
build: fixed LOAD_ENVIRONMENT for out of tree builds
2010-04-06 20:27:26 +10:00
Andrew Tridgell
1e35da6145
s4-waf: new autogen-waf.sh
...
this one will work with the tdb, talloc, etc directories
2010-04-06 20:27:25 +10:00
Andrew Tridgell
553324bc10
s4-waf: move to a universal method of recursing into subdirs
...
This works with both standalone lib builds and bundled builds
2010-04-06 20:27:25 +10:00
Andrew Tridgell
1883ee6dbc
s4-waf: avoid having to run waf configure before waf dist
...
This should be useful for building tarballs from a clean checkout
2010-04-06 20:27:25 +10:00
Andrew Tridgell
3ed6d7e76f
build: nicer error msg when git ls-files fails
2010-04-06 20:27:25 +10:00
Andrew Tridgell
528d7c7cf3
s4-waf: added 'waf dist' to our standalone libs as well
2010-04-06 20:27:25 +10:00
Andrew Tridgell
c8062fb65e
s4-waf: added 'waf dist' to build the tarball
2010-04-06 20:27:24 +10:00
Andrew Tridgell
735934bfed
build: removed some unused imports found by pyflakes
...
thanks to Jelmer for pointing me at pyflakes
2010-04-06 20:27:24 +10:00
Andrew Tridgell
23ff97e629
build: fixed the expansions in pkgconfig files
...
thanks to Jelmer for the hint on this
2010-04-06 20:27:24 +10:00
Andrew Tridgell
7aa3f08f85
build: fixed DESTDIR for TOUCH_FILE()
2010-04-06 20:27:24 +10:00
Andrew Tridgell
feafcd2fb4
build: waf update to fix macos build error
2010-04-06 20:27:24 +10:00
Andrew Tridgell
fce1f19800
build: try to fix the python link problem on SerNet-imini
2010-04-06 20:27:24 +10:00
Andrew Tridgell
3efd865d61
build: use waf from waf-svn.git repo
...
Added README explaining where waf comes from, and where to get the
upstream sources and the exact version we use in Samba
2010-04-06 20:27:24 +10:00
Andrew Tridgell
1b15b28eaa
build: try the generic C compiler on hpux if gcc not found
2010-04-06 20:27:24 +10:00
Andrew Tridgell
a02d98ebb6
build: update wav-svn
...
this version works around the tarfile problem on irix
2010-04-06 20:27:23 +10:00
Andrew Tridgell
20c7cd878b
build: added 'generic' cc support and a simple irix cc support module
...
these will let us get past the 'detect cc' stage and try a build. It
also makes for a reasonable template for new ports
2010-04-06 20:27:23 +10:00
Andrew Tridgell
b849bea079
build: initial version of a tru64 compiler module
...
this doesn't do shared libs yet, but at least configure passes
2010-04-06 20:27:23 +10:00
Andrew Tridgell
a799f5995e
pidl-waf: better handling of the man page generation
...
we now avoid leaving build files in the source tree
2010-04-06 20:27:23 +10:00
Andrew Tridgell
0c294655f6
build: don't depend on the blib/ files in SAMBA_PIDL()
2010-04-06 20:27:23 +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
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
Andrew Tridgell
28a05bc1b0
build: better waf test script
2010-04-06 20:27:12 +10:00
Andrew Tridgell
f6a7d5b907
build: added support for controlling library types
...
added:
--bundled-library-extension : control library extension for bundled libraries
--builtin-libraries : force a list of libraries to be builtin (non-shared)
2010-04-06 20:27:12 +10:00
Andrew Tridgell
92de30dcab
build: fixed build group for the PIDL tables generation
2010-04-06 20:27:11 +10:00
Andrew Tridgell
f9eae32f4b
s4-waf: mark the wscript files as python so vim/emacs knows how to highlight them
2010-04-06 20:27:11 +10:00
Andrew Tridgell
c64ce3cd03
build: mark python rules as being part of the "main" group
2010-04-06 20:27:11 +10:00
Andrew Tridgell
9875be5511
build: throw an error on all bad variable substitutions
2010-04-06 20:27:11 +10:00
Andrew Tridgell
1ee19592f0
s4-waf: move the gnu dirs check to the generic wafsamba code
2010-04-06 20:27:11 +10:00
Andrew Tridgell
91d604add3
build: substitute @VAR@ variables in pkgconfig .pc.in files
2010-04-06 20:27:11 +10:00
Andrew Tridgell
5b572f1bd8
build: fixed the python path in installed python scripts
2010-04-06 20:27:11 +10:00
Andrew Tridgell
7c8b20037e
build: fixed destination name for pc_files
2010-04-06 20:27:10 +10:00
Andrew Tridgell
1750bd4b36
build: added support for pc_files= for pkgconfig files
2010-04-06 20:27:10 +10:00
Andrew Tridgell
5c6e8371b2
build: a hack to get perl to put its generated blib files in the build directory
...
perl wants to put generated files in the source directory, whereas waf wants
them in the build directory. Use a symlink to trick perl into putting them
in the right place
2010-04-06 20:27:10 +10:00
Andrew Tridgell
723e9b87ce
build: only depend on the actual pidl source files in the pidl rule
...
We don't need to depend on the wscript files, or any backup editor
files.
2010-04-06 20:27:10 +10:00
Andrew Tridgell
85a11c4fb7
build: support wildcard excludes in INSTALL_WILDCARD()
2010-04-06 20:27:09 +10:00
Andrew Tridgell
307ac977a2
build: install build python modules correctly
2010-04-06 20:27:09 +10:00
Andrew Tridgell
97ce609393
build: support wildcard mappings for header_path
...
this allows a public_headers attribute to put different headers in
different install directories
2010-04-06 20:27:09 +10:00
Andrew Tridgell
03998d0970
s4-waf: started adding auto-install of include files
2010-04-06 20:27:09 +10:00
Andrew Tridgell
11ca0c7b9d
build: fixed EXPAND_VARIABLES() for env expansion
2010-04-06 20:27:09 +10:00
Andrew Tridgell
cfeaed22c5
build: these chdir() calls break waf on HPUX. They are not needed
2010-04-06 20:27:08 +10:00
Andrew Tridgell
2201d3d232
build: added quote option to conf.DEFINE()
...
Pair-Programmed-With: Kai Blin <kai@samba.org>
2010-04-06 20:27:08 +10:00
Andrew Tridgell
6b3a72dd45
s3-waf: fixed tests for charsets
...
Pair-Programmed-With: Kai
2010-04-06 20:27:08 +10:00
Andrew Tridgell
9ddd9de59b
build: fixed copy_script typo
2010-04-06 20:27:07 +10:00
Andrew Tridgell
6d268e4a82
build: improved exception handling for systems without rpath
2010-04-06 20:27:07 +10:00
Andrew Tridgell
eb776a80b5
build: much better rpath test function
...
This creates a full shared lib, and a binary that uses it. Then it
tests that the binary runs correctly, relying on rpath
Thanks to Thomas for the code for this!
2010-04-06 20:27:07 +10:00
Andrew Tridgell
5e94bca62e
build: a better way of calculating syslib dependencies
2010-04-06 20:27:07 +10:00
Kai Blin
6663f78256
build: Import conf decorator in samba_conftests.py
2010-04-06 20:27:07 +10:00
Andrew Tridgell
2cac0c27cf
build: started a library of common config tests for s3/s4
...
Pair-Programmed-With: Kai Blin <kai@samba.org>
2010-04-06 20:27:07 +10:00
Andrew Tridgell
239cdb53f4
build: support variable expansion in source= arguments to build rules
...
This makes it much easier to follow the s3 approach to lists of
source files in the top level wscript
Pair-Programmed-With: Kai Blin <kai@samba.org>
2010-04-06 20:27:06 +10:00
Andrew Tridgell
7bb5be1324
build: solaris8 doesn't honor the -f flag to ln.
...
It's in the man page, but it doesn't work!
2010-04-06 20:27:06 +10:00
Andrew Tridgell
6c3b69be9b
build: honor existing LD_LIBRARY_PATH settings when adding shared lib paths
2010-04-06 20:27:06 +10:00
Andrew Tridgell
12e6a920a7
build: old versions of perl don't understand the -W option
2010-04-06 20:27:06 +10:00
Andrew Tridgell
14fc71fc27
build: we need to replace md5 in Task as well
2010-04-06 20:27:06 +10:00
Andrew Tridgell
2454baf83b
build: need to set h_file on Utils
2010-04-06 20:27:06 +10:00
Thomas Nagy
81f5efba91
build: replace h_file when replacing md5
...
Signed-off-by: Andrew Tridgell <tridge@samba.org>
2010-04-06 20:27:05 +10:00
Andrew Tridgell
1588a8d7a9
build: attempt to fix md5 problem on solaris8
2010-04-06 20:27:05 +10:00
Andrew Tridgell
eba9a54927
build: a few more build rules that should have on_results=True
2010-04-06 20:27:05 +10:00
Andrew Tridgell
742cb4547a
build: fixed case of system library deps
2010-04-06 20:27:05 +10:00
Stefan Metzmacher
988bc0cdc2
build: make use on_results=True for some build rules
...
This makes sure we generate a checksum over the result.
In practice it means we no longer recompile when a proto header
is triggers a rebuild if it hasn't changed its md5sum.
metze
2010-04-06 20:27:05 +10:00
Andrew Tridgell
e35864afdc
build: cope with systems that don't have md5 in python
2010-04-06 20:27:05 +10:00
Andrew Tridgell
a6ce1c3dce
build: need to mark disabled libraries as DISABLED
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
7848344d55
build: split out the base waf rules into buildtools/wafsamba/wscript
...
this stops lib/replace becoming a mess
2010-04-06 20:27:04 +10:00
Andrew Tridgell
3d5dda63e3
build: use gzip for waf packing, to try to make it work on irix
2010-04-06 20:27:04 +10:00
Andrew Tridgell
8de258c81b
build: use shell=True for SAMBA_GENERATOR
...
This allows for shell redirection in rules
2010-04-06 20:27:04 +10:00
Andrew Tridgell
1fb1af92b3
build: added msg argument to CHECK_TYPE()
2010-04-06 20:27:04 +10:00
Andrew Tridgell
0632fac52e
build: add cflags from pkg_config results to header/function tests
...
When we find a package with pkg_config we may need to use the
resulting ccflags and ldflags in later tests.
Support this by adding lib= options to CHECK_FUNC and CHECK_HEADER
This gets gnutls on FreeBSD working
2010-04-06 20:27:01 +10:00
Andrew Tridgell
3b87d36c2b
build: test all the developer cflags before adding them
2010-04-06 20:27:01 +10:00
Andrew Tridgell
3e84e10daf
build: finer grained rpath checking for binary/install
2010-04-06 20:27:01 +10:00
Andrew Tridgell
9730166fd6
build: configure fixes for opensolaris
2010-04-06 20:27:01 +10:00
Andrew Tridgell
8e7922e10c
build: fixed headers for C prototype check
2010-04-06 20:27:01 +10:00
Andrew Tridgell
f95ca1afc9
build: rewrote the autoconf-like macros to be more consistent
...
This also brings them much closer to the behaviour of autoconf
2010-04-06 20:27:00 +10:00
Andrew Tridgell
98d16cbec0
build: fixed prototype test
2010-04-06 20:27:00 +10:00
Andrew Tridgell
570847054c
build: added CHECK_C_PROTOTYPE() configure function
2010-04-06 20:27:00 +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
b18f85041e
build: don't use double binaries/libs if not needed
...
when rpath is disabled on both install and build we don't need the
double binaries
2010-04-06 20:27:00 +10:00
Andrew Tridgell
0dc64c7458
build: mark wafsamba as unbuffered, so stdout and stderr are better in sync
2010-04-06 20:27:00 +10:00
Andrew Tridgell
8bc9560822
build: more complete implementation of waf configure -C
...
this is a closer emulation of the autoconf behaviour
2010-04-06 20:26:59 +10:00
Andrew Tridgell
a538ed1c82
build: fixed build of heimdal/lib/roken/err.h
2010-04-06 20:26:59 +10:00
Andrew Tridgell
9e0d0fa250
build: enable real cacheing with waf configure -C
2010-04-06 20:26:59 +10:00
Andrew Tridgell
e8775226ad
build: added --disable-shared option
2010-04-06 20:26:59 +10:00
Andrew Tridgell
69c065c719
build: optimise and re-enable check_duplicate_sources
2010-04-06 20:26:59 +10:00
Andrew Tridgell
b282660d39
build: fixed issue with CC="ccache cc" on solaris
2010-04-06 20:26:58 +10:00
Andrew Tridgell
dc9010572c
build: support systems without rpath
2010-04-06 20:26:58 +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
ea8d112683
build: fixed ifaddrs.h for heimdal (from template)
2010-04-06 20:26:58 +10:00
Andrew Tridgell
19ed4c7095
build: if a library is found, but not the fn, still define the library
2010-04-06 20:26:58 +10:00
Andrew Tridgell
8253fe0c72
build: don't use gcc warnings during configure
2010-04-06 20:26:58 +10:00
Andrew Tridgell
db8115f687
build: fixed check for pthread_create()
2010-04-06 20:26:57 +10:00
Andrew Tridgell
f2f8fc440e
build: more careful library list handling
2010-04-06 20:26:57 +10:00
Andrew Tridgell
d148461101
build: CONFIG_SET() takes conf argument
2010-04-06 20:26:57 +10:00
Andrew Tridgell
508cb5b97e
build: cope with double check for functions
2010-04-06 20:26:57 +10:00
Andrew Tridgell
1130f8f8d7
build: lib needs to take a list when more than 1
2010-04-06 20:26:57 +10:00
Andrew Tridgell
593c28b717
build: ensure all libs in CHECK_FUNCS_IN() get a target type
2010-04-06 20:26:57 +10:00
Andrew Tridgell
7628cb7da1
build: cope with multiple libs in CHECK_FUNCS_IN()
2010-04-06 20:26:56 +10:00
Andrew Tridgell
0bad3dacb0
build: cope with multiple checks for the same function/library
2010-04-06 20:26:56 +10:00
Kai Blin
7c20de97a0
build: rename s4 compare_config_h.sh helper and add a s3 version of it
2010-04-06 20:26:56 +10:00
Andrew Tridgell
86cfbbafcd
build: gccdeps fixes from ita
2010-04-06 20:26:55 +10:00
Andrew Tridgell
8ea03369bc
build: tool to find missing install components
2010-04-06 20:26:55 +10:00
Andrew Tridgell
3254003956
build: fixed includes paths for CHECK_CODE()
2010-04-06 20:26:54 +10:00