1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-12 09:18:10 +03:00
Commit Graph

349 Commits

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