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

741 Commits

Author SHA1 Message Date
Andrew Tridgell
dc729c62ea waf: loosen the restriction on depending on python libs
the pidl generated python code can generate dependencies between two
python modules, so we have to allow this for now
2010-10-21 19:03:27 +11:00
Andrew Tridgell
7ffb781e81 waf-python: make the pyext flag add the pyembed features for libraries
this is rather strange, but we get build errors without it. There may
be a bug in the waf python tool, or I may misunderstand how to use it
2010-10-21 19:03:27 +11:00
Andrew Tridgell
0966776b36 waf: fixed the handling of -Wl,-no-undefined
this flag was not being propogated to our link rules, so we were not
in fact enforcing no undefined symbols in libraries.
2010-10-21 19:03:27 +11:00
Andrew Tridgell
51dc322f63 waf: show duplicate objects in python modules as well as libraries
Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-10-21 19:03:26 +11:00
Andrew Tridgell
ec7bb906db waf: added pyext option to SAMBA_LIBRARY()
Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-10-21 19:03:26 +11:00
Andrew Tridgell
7a2cad43df waf: raise an error on a dependency on a python module
it is never correct to list a dependency on a python module

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-10-21 19:03:26 +11:00
Andrew Tridgell
6f36a015b1 waf: prevent the global deps list creating depenency loops
this prevents a loop between SOCKET_WRAPPER and replace in the s3 waf
build
2010-10-21 19:03:25 +11: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
1d8733537e waf: added the concept of a grouping_library
a grouping library is one which 'groups' a set of subsystems. This
means that if a target depends on a subsystem that is within a
grouping library then that dependency is replaced with a dependency on
the grouping library.

This gives us a powerful method to avoid duplicated object files
between libraries.

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-10-21 19:03:24 +11:00
Andrew Tridgell
e2a2c71757 waf: cope with libraries with a specified version number
this fixes a problem with libnss_winbind.so.2. Thanks to Jelmer for
spotting this.
2010-10-21 19:03:24 +11:00
Andrew Tridgell
29c0b86126 waf: re-work the module alias code
we now create a base library, and then create the alias modules as
wrappers around that base. That prevents double instantiation of any
object files in the modules

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-10-21 19:03:23 +11:00
Andrew Tridgell
e596a4e6c3 waf: fixed expansion of direct_objects and direct_libs
these do not need to be expanded in break_dependency_loops()
2010-10-21 19:03:23 +11:00
Andrew Tridgell
cd7190b802 waf: allows libraries to be marked as private_library=True
this is for libraries where we make no promises about the API, but
where we wish it to be a library to allow our binaries to use common
code.

These libraries always get the project suffix added to the library
name, to ensure we are in a separate namespace

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-10-21 19:03:23 +11:00
Andrew Tridgell
c0878cfb61 waf: rework expand_subsystem_deps()
make the variable names a lot clearer, and restrict the expansion of
subsystem deps to object style subsystems and modules. If a subsystem
or a module is built as a library then we don't need to expand the
dependencies across that boundary

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-10-21 19:03:23 +11:00
Andrew Tridgell
14081efcc0 waf: added --show-deps and --show-duplicates
these options make it easier to examine our depenency tree, by showing
any objects linked into more than one library, and by showing the
dependency tree for a chosen target
2010-10-21 19:03:23 +11:00
Andrew Tridgell
968381a4e2 waf: put -Wl,-no-undefined only in the linker flags, not when compiling C 2010-10-19 11:22:35 +11:00
Andrew Tridgell
1b8355897d waf: don't save deps on install
this prevents an install triggering a new check of the project rules
on the next build
2010-10-19 11:22:35 +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
Jelmer Vernooij
7af5687504 heimdal_build: Use existing functions for finding system libraries. 2010-10-16 01:32:05 +00:00
Andrew Tridgell
3921d6f4d3 s4-waf: automatically remove stale C and header files
this prevents stale .c and .h files in bin/ from causing build
problems

Thanks to Thomas Nagy for the example implementation!

Autobuild-User: Andrew Tridgell <tridge@samba.org>
Autobuild-Date: Thu Oct 14 07:44:13 UTC 2010 on sn-devel-104
2010-10-14 07:44:13 +00:00
Jelmer Vernooij
5954e7173a wafsamba/developer: Forbid shared objects with unresolved symbols, if
the linker supports such a flag.

Autobuild-User: Jelmer Vernooij <jelmer@samba.org>
Autobuild-Date: Wed Oct 13 12:52:22 UTC 2010 on sn-devel-104
2010-10-13 12:52:22 +00:00
Jelmer Vernooij
870de461cb wafsamba: Don't allow circular dependencies involving libraries by
default.
2010-10-13 14:10:42 +02:00
Jelmer Vernooij
24ec465790 wafsamba: Warn about circular dependencies between libraries. 2010-10-12 19:23:59 +02:00
Jelmer Vernooij
5324b943e7 wafsamba: Fix handling of pyembed/pyext. 2010-10-10 23:54:04 +00:00
Jelmer Vernooij
ea6a3f5c48 wafsamba: Support setting pyembed on libraries. 2010-10-11 01:06:36 +02:00
Jelmer Vernooij
a20f025ff6 wafsamba: Fix init function when building modules as shared objects.
Signed-off-by: Jelmer Vernooij <jelmer@samba.org>
2010-10-10 23:05:40 +02:00
Jelmer Vernooij
c15e919a09 wafsamba: Clarify needs_python argument name, use pyembed/pyext where
applicable.

Allow using both pyembed and pyext, to prevent unresolved symbols.

Autobuild-User: Jelmer Vernooij <jelmer@samba.org>
Autobuild-Date: Sun Oct 10 03:54:01 UTC 2010 on sn-devel-104
2010-10-10 03:54:01 +00: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
8fcccae6aa waf: update to waf version 1.5.19
this includes a number of perforance improvements and bug
fixes. Thanks to Thomas for all the recent improvements!
2010-10-06 11:13:05 +00:00
Andrew Tridgell
1e267b03da waf: fixed the problem with com_err on Ubuntu 9.04
this changes CHECK_BUNDLED_SYSTEM() to honor the checkfunctions and
headers options even for libraries found with pkgconfig.

Autobuild-User: Andrew Tridgell <tridge@samba.org>
Autobuild-Date: Wed Oct  6 05:06:42 UTC 2010 on sn-devel-104
2010-10-06 05:06:42 +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
e604532b49 waf: Add function for checking for system python modules. 2010-10-04 13:52:09 +02:00
Jelmer Vernooij
120f5ee429 wafsamba: Some reformatting. 2010-10-03 16:25:38 +02:00
Jelmer Vernooij
257e259a26 heimdal: Move asn1 list to heimdal_build. 2010-10-03 16:25:38 +02:00
Jelmer Vernooij
dd5a91b437 heimdal: Move SAMBA_ERRTABLE to heimdal_build. 2010-10-03 16:25:38 +02:00
Jelmer Vernooij
8e5a9e7721 heimdal: Move autoproto code to heimdal_build. 2010-10-03 16:25:38 +02:00
Jelmer Vernooij
3c1eca124e wafsamba: Move heimdal library code to heimdal_build. 2010-10-03 16:25:37 +02:00
Jelmer Vernooij
beed95e3a2 heimdal: convert some subsystems to libraries, consistent with upstream heimdal. 2010-10-03 16:25:37 +02:00
Günther Deschner
63c3af7981 waf: add delimiter argument to TO_LIST.
Guenther
2010-09-27 00:39:38 +02:00
Günther Deschner
ca2bbe00dc s3-waf: add some module specific functions for s3 waf build.
Thanks to Kai.

Guenther
2010-09-27 00:39:37 +02:00
Jelmer Vernooij
ead126caac Merge branch 'v4-0-stable' into newmaster 2010-09-20 15:24:44 -07:00
Jelmer Vernooij
aa8a2e3105 wafsamba: Fix docstring for DIST_BLACKLIST. 2010-09-20 14:41:09 -07:00
Jelmer Vernooij
e4d7bc24d1 wafsamba: Fix parsing of IS_GIT_VERSION. 2010-09-20 13:08:29 -07:00
Stefan Metzmacher
92eccf89a1 waf: add a '+' to the git hash if the working tree isn't clean
metze
2010-09-19 07:40:39 +02:00
Stefan Metzmacher
a66db2cb78 waf: fix typos in GIT_COMMIT_* strings
metze
2010-09-19 07:40:14 +02:00
Jelmer Vernooij
8140182f3d wafsamba: Eliminate sys.path updating if installing to a standard python
path.
2010-09-08 22:52:43 +02:00
Jelmer Vernooij
cf616ec316 wafsamba: Create bin/defaukt/modules if it does not yet exist. 2010-09-05 20:16:50 +02: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
84c1874677 waf: Support aliases in SAMBA_MODULE. 2010-09-04 15:00:32 +02:00
Jelmer Vernooij
1ba533f4cb waf: Make shared modules available in the build dir. 2010-09-04 15:00:32 +02:00
Andrew Tridgell
aefbdc4a9d waf: fixed make test with TESTS="test1 test2"
when multiple tests are specified, make escapes the space in MAKEFLAGS
with a backslash, so we need to use shlex.split()
2010-09-04 12:29:10 +10:00
Thomas Nagy
734677292f Disable gccdeps if -MD is not supported
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2010-08-30 21:01:19 +02:00
Andrew Tridgell
cfcfe3c1f5 s4-waf: re-use SAMBA_LIBRARY() in building shared modules
make SAMBA_MODULE() call SAMBA_LIBRARY() to do the heavy lifting. This
fixes the problem with modules being a bit too slim :-)

Pair-Programmed-With: Jelmer Vernooij <jelmer@samba.org>
2010-08-22 16:35:30 +02:00
Jelmer Vernooij
aa74b6ade4 wafsamba: fix CHECK_XSLTPROC_MANPAGES(). 2010-08-22 14:05:58 +02:00
Stefan Metzmacher
7eebcebbab Revert "waf: enable gccdeps in developer mode"
This reverts commit 61930f50cb.

This breaks the build with older gcc versions
gcc --version
gcc (SUSE Linux) 4.3.2 [gcc-4_3-branch revision 141291]
(This is SLES 11)

Please only enable it if thet compiler supports it.

metze
2010-08-17 17:32:13 +02:00
Andrew Tridgell
61930f50cb waf: enable gccdeps in developer mode
there are some bugs in the waf builtin preproc this that avoids
2010-08-14 11:58:13 +10:00
Andrew Tridgell
630a2eb68a waf: make the error msg when gen_ndr directory is missing clearer
the next time someone removes gen_ndr/README the fix should be more
obvious.
2010-07-19 22:17:17 +10:00
Andrew Tridgell
30dc87dab9 build: only use git when found by configure
this rebuilds version.h whenever the git version changes, so we always
get the right version with samba -V. That adds about 15s to the build
time on each git commit, which shouldn't be too onerous
2010-06-29 14:28:08 +10:00
Andrew Tridgell
3774ba350e build: allow LOAD_ENVIRONMENT() to pass when no configure has been run
this returns an empty environment
2010-06-29 14:28:08 +10:00
Andrew Tridgell
8cbd36afe8 build: allow always=True/False on SAMBA_GENERATOR()
this allows us to force a rule to always run. Will be used by 
samba_version

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2010-06-29 14:28:08 +10:00
Andrew Tridgell
f6e46ee0fb build: check if the manpages stylesheet is available locally
this avoids trying to fetch the stylesheet from the internet. If we
can't process the stylesheet with --nonet at configure time then don't
build manpages.

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2010-06-24 18:46:57 +10:00
Kai Blin
fa3e50fee4 build: Allow for a custom message in CHECK_C_PROTOTYPE 2010-06-20 09:34:28 +02:00
Jelmer Vernooij
24930aa716 wafsamba: Use octal modes directly rather than constants. 2010-06-19 16:00:04 +02:00
Jelmer Vernooij
f370bd47b0 wafsamba: Allow manually specifying cflags/ldflags for system libraries. 2010-06-19 14:45:35 +02:00
Jelmer Vernooij
7646eb6a0f wafsamba: Use convenience function to find out if bundling is necessary. 2010-06-19 14:02:18 +02:00
Jelmer Vernooij
a8aaf3d4be wafsamba: Factor out functions to determine if a bundled library should not or
must be used.
2010-06-19 13:47:11 +02:00
Jelmer Vernooij
bd1786f7f1 wafsamba: Fix typo: noextenion -> noextension. 2010-06-19 12:10:29 +02:00
Jelmer Vernooij
e0fe941218 wafsamba: Use BUILTIN_LIBRARY() rather than relying on side-effects. 2010-06-18 23:51:40 +02:00
Jelmer Vernooij
a4a127ea5a s4-waf: Fix build of libldb_ildap against system ldb. 2010-06-15 20:52:01 +02:00
Jelmer Vernooij
773e47f4a9 wafsamba: Fix include path inheritance from module subsystems. 2010-06-15 20:35:22 +02:00
Jelmer Vernooij
fb7a98aa32 ldb: Fix included ldb build. 2010-06-15 13:15:50 +02:00
Jelmer Vernooij
de68718d3d wafsamba: Fix filenames for ldb modules. 2010-06-15 13:15:50 +02:00
Jelmer Vernooij
0d7f8fb73d wafsamba: Fix building of modules as shared libraries. 2010-06-15 13:15:50 +02:00
Jelmer Vernooij
12b4647289 wafsamba: Improve assertion error message to include the module. 2010-06-15 13:15:50 +02:00
Jelmer Vernooij
419928b8df wafsamba: Only add init function if not building module as shared library. 2010-06-15 13:15:50 +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
Thomas Nagy
09fb7fcd5f Do not use headermap.txt for the header installation
Try to find the headers by searching on the filesystem. Warn when
a public header replacement cannot be found (talloc.h, ...).

Signed-off-by: Jelmer Vernooij <jelmer@samba.org>
2010-06-13 19:26:48 +02:00
Jelmer Vernooij
a22d7db308 wafsamba: Only try to build manpages if XSLTPROC was actually found. 2010-05-31 20:45:14 +02:00
Stefan Metzmacher
1da4153459 buildtools/wafsamba: use build group 'final' for the creation of manpages
This way we don't try to build manpages just for waf build --target=smbtorture

metze
2010-05-31 17:52:31 +02:00
Jelmer Vernooij
f89e390fbc waf: Refactor manpage building code. 2010-05-31 13:56:25 +02:00
Jelmer Vernooij
f98bb7ffc3 Add manpages argument to SAMBA_LIBRARY(). 2010-05-31 13:56:25 +02:00
Kai Blin
e3997c2a6d wafsamba: Correctly detect if bld.env.XSLTPROC is not set
This fixes the build on some build farm hosts and my machine.

Jelmer, please check.
2010-05-31 09:40:14 +02:00
Jelmer Vernooij
1d1d31f703 wafsamba: Default blacklist to an empty list rather than None. 2010-05-31 03:59:50 +02:00
Jelmer Vernooij
3858b5db8b s4-waf: sanitize library names like the old build system did, only add
-samba4 suffix for libraries that are bundled.
2010-05-31 03:28:42 +02:00
Jelmer Vernooij
f3f1745e27 wafsamba: Actually install manual pages. 2010-05-31 01:38:35 +02:00
Kai Blin
04d251a847 build: Also replace '-' by '_' when creating header defines
Tridge, please check
2010-05-30 23:29:29 +02:00
Andrew Bartlett
7ea7b23413 waf Provide release signing capability in 'waf dist'
This helps ensure the release is signed correctly - the .tar file, not
the .tar.gz must be signed, and it's easy to forget this.

Andrew Bartlett
2010-05-28 21:59:08 +10:00
Andrew Bartlett
b50c006e20 waf Add DIST_BLACKLIST to list files that we cannot include in a release
This currently includes the source3 directory for Samba4 releases (per
past practice in mkrelease.sh), but also could include things like
DFSG-unfree RFC files in the future.

Andrew Barltett
2010-05-28 21:59:07 +10:00
Andrew Bartlett
892a4b24e7 waf Read VERSION file inside WAF to set package version
This replaces the call to mkversion.sh in both the Samba3 and Samba4
WAF builds.

Andrew Bartlett
2010-05-28 15:20:03 +10:00
Thomas Nagy
792743cfab solve the error "ldb.inst.h does not exist"
The error happens when headermap.txt is not available

Signed-off-by: Jelmer Vernooij <jelmer@samba.org>
2010-05-24 01:26:43 +02:00
Andrew Tridgell
eec93985d1 build: get the SONAME right for installed libraries 2010-05-23 22:11:57 +02:00
Thomas Nagy
bd8e3cf855 Substitute the pidl files without using 'headermap.txt'
The headers generated by pidl contain references to bin/default. Those paths
may be replaced automatically.

Signed-off-by: Jelmer Vernooij <jelmer@samba.org>
2010-05-23 17:51:06 +02:00
Thomas Nagy
ab093ffe46 wafsamba: Disable the abi checks when gdb is not available
Try to find gdb during the configuration, if gdb is missing, disable
the abi checks.

Signed-off-by: Stefan Metzmacher <metze@samba.org>
2010-05-21 13:59:55 +02:00
Kai Blin
f242a31a43 s3-waf: note that the options are broken 2010-05-20 22:16:14 +02:00
Kai Blin
b2431163fc s3-waf: replace all - with _ in the configuration option names 2010-05-20 22:16:14 +02:00
Kai Blin
771a8c17af s3-waf: Allow using --enable/--disable options as well 2010-05-20 22:16:13 +02:00
Kai Blin
3d1c0f1a21 s3-waf: Add helper that facilitates defining --with-x and --without-x options 2010-05-20 22:16:13 +02:00
Thomas Nagy
66cbc62961 s4-waf: Replace local includes in header files with proper system names.
Signed-off-by: Jelmer Vernooij <jelmer@samba.org>
2010-05-19 22:30:05 +02:00
Andrew Bartlett
79bd6a6764 waf: Make waf handle IDL files from Samba3
For s3compat, we need to handle IDL files not in the current directory
(so the incoming file names have a directory prefix - so we must use
os.path.basename()).

We also need to be able to disable the addition of some IDL files into
the tables.c/tables.h - some of the Samba3 IDL files are in conflict
with Samba4.

Andrew Bartlett
2010-05-14 23:25:45 +10:00
Stefan Metzmacher
3b8d9cd87e Revert "wafsamba: use -D_XOPEN_SOURCE=700 for the build"
This reverts commit 3408c942ab.

This seems to cause more problems than it tries to solve.

And Mac OS 10.4 doesn't need it anymore
(after commit bd6d76d776).

metze
2010-05-14 15:21:45 +02:00
Stefan Metzmacher
3408c942ab wafsamba: use -D_XOPEN_SOURCE=700 for the build
Some systems set this automaticly via -D_GNU_SOURCE=1,
but on others we need to set it ourself (e.g. Mac OS 10.4)

metze
2010-05-14 13:38:38 +02:00
Thomas Nagy
b4cfa3b9e4 buildtools/wafsamba: fix build group ordering
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2010-05-13 19:23:37 +02:00
Andrew Tridgell
022266566d build: fixed pc file variable substitution
We should not substitute for the first use of each variable
declaration in the pkgconfig file
2010-05-07 15:14:49 +02:00
Andrew Tridgell
815fcfba48 build: treat a blank --build or --host as not a cross-compile
This matches autoconf behaviour
2010-05-07 09:03:47 +02:00
Andrew Tridgell
c61f4dcc0f build: added a reconfigure target
this is meant to be used by the s3 build, to allow jelmers work on
smbtorture4 in s3 to avoid re-running configure unless its needed
2010-05-06 14:56:43 +02:00
Andrew Tridgell
ed2941ba3d build: added configure test for inline 2010-05-05 16:14:13 +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
ce67027c07 build: fixed wildcard handling for python 3.x
print must take parentheses
2010-05-04 13:02:30 +02:00
Andrew Tridgell
7281b02181 build: allow use of target names as commands in waf
This allows for the following types of commands:

 waf smbd/samba
 waf smbd/server.c
 waf ../lib/util/util_file.c
 waf ../lib/util/util_file_*.o

this will be used as part of an updated minimal_includes.pl script
2010-05-04 11:45:43 +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
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
8bc5194b04 build: fix for combined configure/build in one command
This is a fix from ita for "waf distclean configure build". Running
it as one command failed with missing config.h
2010-05-03 17:16:47 +02:00
Andrew Tridgell
d83850abe2 build: uname on opensolaris returns 1 for success
check for -1 as failure, not 0 for success
2010-05-02 18:25:13 +02:00
Andrew Tridgell
08c3ce25c6 build: added enabled=True/False option to SAMBA_BINARY() 2010-04-29 08:01:48 +10: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
c6b8ffd3a5 build: normalise paths in unique source checking 2010-04-26 14:36:54 +10:00
Andrew Tridgell
a241daae2d build: a library is only empty if it has no deps 2010-04-26 14:36:54 +10:00
Andrew Tridgell
c8824fd9b4 build: use option_group() not add_option_group()
option_group() ensures we don't end up with duplicate groups
2010-04-26 14:36:54 +10:00
Andrew Tridgell
6c79b9f480 build: cope with duplicates in source lists 2010-04-26 14:36:54 +10:00
Stefan Metzmacher
051535f196 buildtools/wafsamba: inline defines during configure into the tests
There 2 reasons for this change:
- This is how autoconf tests work and it makes config.log much more useful
- The waf c preprocessor ignored changes in bin/default/__confdefs.h when using
  waf configure -C, because is outside of the configure tests project path
  and handled like a system header.

Many thanks to ita for pointing out the fix.

metze
2010-04-24 20:03:50 +02:00
Stefan Metzmacher
1ed5f71820 buildtools/wafsamba: make sure we create bin/default/ before trying to create symlinks in it
metze
2010-04-24 20:03:50 +02:00
Andrew Tridgell
93c86fe615 build: give a more useful error when the source dir has moved
you need a distclean if you mv the source directory
2010-04-23 08:25:01 +10:00
Andrew Tridgell
d950e9e6f3 build: added --enable-auto-reconfigure
this is off by default until some issues are resolved. See my mail to
samba-technical for details.
2010-04-22 12:03:36 +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
667f672c94 build: fixed uname output to be on target machine when cross compiling
this also makes the output of define_ret configure tests show up 
in the configure output
2010-04-21 15:16:01 +10:00
Andrew Tridgell
5e69259671 build: added uname display and SYSTEM_UNAME define
suggestion from Metze
2010-04-20 23:43:33 +10:00
Andrew Tridgell
0e56037129 build: quote cross-answer strings
This allows for spaces and special characters in cross-answers
2010-04-20 15:50:26 +10:00
Andrew Tridgell
f2bd78cb26 build: allow "waf --abi-check" to force a re-check of the ABI 2010-04-20 15:50:26 +10:00
Andrew Tridgell
456351cdb1 s4-waf: follow the configure directories for the empty install dirs
Thanks to Metze for spotting this
2010-04-19 21:54:40 +10:00
Andrew Tridgell
db0eb2f239 s4-waf: install some missing empty directories 2010-04-19 21:00:36 +10:00
Andrew Tridgell
b6dff759f7 build: added --cross-answers support
This allows you to easily cross-compile even without a --cross-execute
emulator

See http://wiki.samba.org/index.php/Waf#cross-compiling for details
2010-04-19 16:34:14 +10:00
Andrew Tridgell
93f4f7a037 build: fixed a python-3 indent error 2010-04-19 16:34:14 +10:00
Andrew Tridgell
69ce29826c build: more dependencies on /usr/bin/perl -> ${PERL} 2010-04-18 23:08:28 +10:00
Andrew Tridgell
3ca5fd8e03 build: cope with perl not being in /usr/bin/perl
This should fixed the pidl build on SerNet-NetBSD5
2010-04-18 22:55:16 +10:00
Andrew Tridgell
211bf1ea17 s4-waf: removed the unused installdir= option to SAMBA_BINARY()
This was left over from the automatic conversion of the config.mk
files
2010-04-18 21:47:00 +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
639fe34667 build: support make V=1 for verbose build
this also adds support for other options, such as "make TESTS=testpattern"
2010-04-18 21:08:48 +10:00
Andrew Tridgell
7aa4c11fc4 build: more adjustments for the ABI type name maps
- use 'va_list' instead of 'struct __va_list_tag *'
  Using the C name for va_list is preferable

- add support for negative ABI name matches in abi_match=.  That is
  used to exlude ldb_*module_ops from the ldb ABI

- don't include the ldb module ops or backend ops in the ABI
2010-04-18 18:24:27 +10:00
Andrew Tridgell
1a73e967f5 build: added abi_type_maps for FC12 struct va_list
fedora12 x86 uses "struct va_list"
2010-04-18 17:35:53 +10:00
Andrew Tridgell
8dc2db0f6d build: added abi type maps for _Bool and __va_list_tag
This allows us to make the signature files platform independent
2010-04-18 15:39:14 +10:00
Andrew Tridgell
d3dea9b124 build: added ABI checking to the WAF build
See http://wiki.samba.org/index.php/Waf#ABI_Checking for details
2010-04-18 15:00:37 +10:00
Andrew Tridgell
0bda3bae4c build: throw a fatal error for duplicate target declarations
We don't want someone to declare two subsystems of the same name but
with different source files

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-04-15 14:43:50 +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
167ba0eac9 build: make the 'wrong version of waf' message even clearer
suggest ./autogen-waf.sh
2010-04-15 09:22:24 +10:00
Andrew Tridgell
208eb7469d build: check that the user is not using an old /usr/bin/waf
some systems have /usr/bin/waf installed, and its quite old
2010-04-15 08:57:07 +10:00
Andrew Tridgell
e81e057b6d build: try to honor MAKEFLAGS from make
This means "make -j" and "make -k" now do roughly what is expected

make -j will use the number of CPUs on the system, regardless of the
number after the -j (as MAKEFLAGS doesn't contain that value).

make -k will will continue on errors
2010-04-14 23:37:47 +10:00
Stefan Metzmacher
974025944e buildtools/wafsamba: make sure CHECK_FUNC() and CHECK_VARIABLE() work with -O3 in the CFLAGS
'CFLAGS="-O3" waf configure' was not detecting dlopen() needs -ldl.

metze
2010-04-13 12:59:07 +02:00
Andrew Tridgell
367ba43b63 tdb-waf: added build of manpages and config options for RPM build
Building a RPM from the fedora spec file now works with minimal changes

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-04-13 20:15:41 +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
64f860e96a build: added autoconf compatible configure options
This adds --build, --host, --program-prefix and
--disable-dependency-tracking. All we do with them is check them for sanity
and throw an error if (for example) the user tries a cross-compile using
these options

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-04-13 17:34:44 +10:00
Andrew Tridgell
a7d762bd29 build: allow cross-builds to use shared libraries 2010-04-13 12:41:34 +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
Andrew Tridgell
b7ffc6e5b2 build: fixed a typo that prevented --bundled-libraries from working correctly
Jelmer noticed that --minimum-library-version=talloc:2.0.1 --bundled-libraries=!tevent
didn't do the right thing.
2010-04-13 11:27:34 +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
Andrew Tridgell
d12605c679 build: added cross-compilation configure options
this enables use of a cross-compilation emulator, so configure tests
run on an emulator of the target platform
2010-04-12 23:13:30 +10:00
Stefan Metzmacher
4f73658544 wafsamba: don't add global dependencies to hostcc targets
metze
2010-04-12 12:31:14 +02:00
Stefan Metzmacher
8a00c56649 wafsamba: allow passing 'use_hostcc' to SAMBA_SUBSYSTEM()
metze
2010-04-12 12:31:13 +02:00
Kai Blin
acc81f96a4 build: Add an always parameter to CHECK_DECLS 2010-04-12 17:47:30 +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
e683ac6f81 build: allow target upgrades from EMPTY to SYSLIB
A library may be initially set as empty if it wasn't needed for a list
of functions in CHECK_FUNCS_IN(). A later check may require the
library.

Pair-Programmed-With: Kai Blin <kai@samba.org>
2010-04-12 17:47:29 +10:00
Andrew Tridgell
9ffd6c0ec3 build: cope with symlinks between build components in waf dist
This will allow us to have autogen-waf.sh be a symlink to
../buildtools/scripts/autogen-waf.sh in each library.

That will prevent people from updating only the script in source4/,
and forgetting to udpate the scripts in the other libs, as happened
with commit f3f82496
2010-04-12 11:17:35 +10:00
Andrew Tridgell
f8e527b088 build: added --minimum-library-version configure option
this allows the packager to override the default choice of system
library version
2010-04-12 09:50:49 +10: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
d661759780 build: nicer error message on missing file in waf dist 2010-04-09 21:12:09 +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
5f90d3260b build: added --picky-developer and --fatal-errors
Added configure options for --fatal-errors and --picky-developer. This
removes -Wfatal-errors from the --enable-developer flags.
2010-04-09 20:31:06 +10:00
Andrew Tridgell
bf4189eb80 build: we need this isinstance() check for distcheck
Jelmer, this works around a bug in waf distcheck that will be fixed
soon. We really need the isinstance() check for now.
2010-04-08 22:11:50 +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
Jelmer Vernooij
e5bb6d56df s4-waf: Fix 'waf dist' app name. 2010-04-07 22:53:39 +02:00
Andrew Tridgell
07d9da4d2f build: use a target_in_list() function for more flexible builtin control 2010-04-06 20:27:27 +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
64594f296c s4-waf: replace TOUCH_FILE() with normal install rules
this allows it to work with 'waf uninstall'
2010-04-06 20:27:26 +10:00
Andrew Tridgell
cd712dff31 build: simpler symlink_bin and symlink_lib methods 2010-04-06 20:27:26 +10:00
Andrew Tridgell
7ae4372124 s4-waf: fixed waf distcheck for our standalone libs and s4 2010-04-06 20:27:26 +10:00
Andrew Tridgell
dfdabffae3 build: fixed LOAD_ENVIRONMENT for out of tree builds 2010-04-06 20:27:26 +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
1b15b28eaa build: try the generic C compiler on hpux if gcc not found 2010-04-06 20:27:24 +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
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
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
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
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
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
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
Andrew Tridgell
86cfbbafcd build: gccdeps fixes from ita 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
Andrew Tridgell
19b6e8b408 build: use SUBST_VARS_RECURSIVE() for install_path 2010-04-06 20:26:54 +10:00
Andrew Tridgell
3335ff7424 build: added SUBST_VARS_RECURSIVE() 2010-04-06 20:26:54 +10:00
Andrew Tridgell
9a243a791b build: rename samba_includes.py to samba_optimisation.py 2010-04-06 20:26:54 +10:00
Andrew Tridgell
8caac7a1a3 build: more optimisations from Thomas 2010-04-06 20:26:54 +10:00
Andrew Tridgell
8ba2a345b4 build: fixed git version in samba -V 2010-04-06 20:26:53 +10:00
Andrew Tridgell
3ff3a11c33 build: use RUN_COMMAND() to wrap os.system() 2010-04-06 20:26:53 +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
9799356082 build: fixed config.h generation when we have source -> source4 symlink 2010-04-06 20:26:53 +10:00
Andrew Tridgell
7eab82fce0 build: fixed the install name for python modules 2010-04-06 20:26:52 +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
c1f4015dcd build: cleanup the ASN1 rules a bit 2010-04-06 20:26:52 +10:00
Andrew Tridgell
fe7d1a18b9 build: don't need the S4 in the PIDL prefix 2010-04-06 20:26:52 +10:00
Andrew Tridgell
b7cc6d48d5 build: teach samba_pild.py about the --com-header and --dcom-proxy options 2010-04-06 20:26:52 +10:00
Andrew Tridgell
64a528efee build: added a cflags_end SAMBA_SUBSYSTEM() option 2010-04-06 20:26:51 +10:00
Andrew Tridgell
a559edf906 build: fixed init function sentinal for python modules 2010-04-06 20:26:50 +10:00
Andrew Tridgell
e6a47a8dea build: we don't need varients in samba, so we can optimise a bit more
Thanks to ita for suggesting this
2010-04-06 20:26:50 +10:00
Andrew Tridgell
7c35b9ca70 build: an optimisation for includes file handling
This optimisation makes waf include file handling more efficient
2010-04-06 20:26:50 +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
e4104eb085 build: more efficient pidl rules from ita
Don't re-scan the pidl source tree each time
2010-04-06 20:26:50 +10:00
Andrew Tridgell
3c9e8e18aa build: check that the symlink doesn't exist before creating 2010-04-06 20:26:49 +10:00
Andrew Tridgell
062c2b1fe6 build: allow shared and python staging areas to be referenced in build tree 2010-04-06 20:26:49 +10:00
Andrew Tridgell
a9ea3d6fa5 build: cope with the common gen_ndr files being in the git tree 2010-04-06 20:26:49 +10:00
Andrew Tridgell
e502031171 build: fixed samba_deps.py for python 2.4 2010-04-06 20:26:49 +10:00
Andrew Tridgell
7cd9a6be35 build: fixed cflags in CHECK_CODE 2010-04-06 20:26:49 +10:00
Andrew Tridgell
ec2b11c7fa build: fixed group for heimdal autoproto 2010-04-06 20:26:48 +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
Andrew Tridgell
8f1b809d2c build: nearly there on samba4 build 2010-04-06 20:26:47 +10:00
Andrew Tridgell
9cb39847c0 build: better target name for lib link 2010-04-06 20:26:47 +10:00
Andrew Tridgell
c6e095de74 build: assert on missing dependency 2010-04-06 20:26:47 +10:00
Andrew Tridgell
e916aff9e1 build: much nicer pidl rules 2010-04-06 20:26:47 +10:00
Andrew Tridgell
6bba8cfd92 build: use export_incdirs 2010-04-06 20:26:47 +10:00
Andrew Tridgell
d70c4e8ea9 build: fixed heimdal include lists 2010-04-06 20:26:47 +10:00
Andrew Tridgell
2498a0d25e build: saner CFLAGS handling for defines 2010-04-06 20:26:47 +10:00
Andrew Tridgell
7c3234c485 build: enable ENFORCE_GROUP_ORDERING()
also fixed ASN1 target names
2010-04-06 20:26:47 +10:00
Andrew Tridgell
d01f75c72d build: back to stricter deps 2010-04-06 20:26:46 +10:00
Andrew Tridgell
cdf1a3d4bf build: added ENFORCE_GROUP_ORDERING() 2010-04-06 20:26:46 +10:00
Andrew Tridgell
b2f7e4b5e2 build: make CONFIG_PATH() understand absolute paths 2010-04-06 20:26:46 +10:00
Andrew Tridgell
1726ba92cf build: added SUBST_ENV_VAR() 2010-04-06 20:26:46 +10:00
Andrew Tridgell
fdd2f416eb build: added local_include option to CHECK_CODE() 2010-04-06 20:26:46 +10:00
Andrew Tridgell
12c46d9055 build: fixed cflags in CHECK_CODE() 2010-04-06 20:26:45 +10:00
Andrew Tridgell
1958a0987e build: added CHECK_CFLAGS() 2010-04-06 20:26:44 +10:00
Andrew Tridgell
6beff490c5 build: fix name of libs with - in them 2010-04-06 20:26:44 +10:00
Andrew Tridgell
bbb85a26eb build: define HAVE_LIBxxx when we find a library 2010-04-06 20:26:44 +10:00
Andrew Tridgell
165b5b660a build: move gettimeofday check to libreplace
- add checklink option to CHECK_FUNC()
- Used for when a prototype is not available
2010-04-06 20:26:44 +10:00
Andrew Tridgell
eadf918402 build: expand CHECK_CODE() function 2010-04-06 20:26:43 +10:00
Andrew Tridgell
2dfced59d5 build: added CHECK_CODE_COMPILES() 2010-04-06 20:26:43 +10:00
Andrew Tridgell
6edb70c59e build: added help on fns
also added CHECK_STRUCTURE_MEMBER()
2010-04-06 20:26:43 +10:00
Andrew Tridgell
001068d26f build: check for volatile 2010-04-06 20:26:43 +10:00
Andrew Tridgell
cfb4f55a7b build: check size of types
allow name of SIZEOF test to be specified
2010-04-06 20:26:42 +10:00
Andrew Tridgell
f7ed3e544c build: added CHECK_SIZEOF() 2010-04-06 20:26:42 +10:00
Andrew Tridgell
39807fd091 build: smarter list splitting 2010-04-06 20:26:42 +10:00
Andrew Tridgell
dd05b6512a build: improve autoconf macros
- enable headers to be specified
- enable both forms of DECL check
- more libreplace checks
- more heimdal checks
- more sysdep checks
2010-04-06 20:26:42 +10:00
Andrew Tridgell
54e26fcb48 build: added CHECK_DECLS() 2010-04-06 20:26:42 +10:00
Andrew Tridgell
bf17c9a56e build: return values for autoconf-like tests
also add checklibc options for CHECK_FUNCS_IN()
2010-04-06 20:26:42 +10:00
Andrew Tridgell
62137089a0 build: another typo 2010-04-06 20:26:42 +10:00
Andrew Tridgell
abaf9aaba7 build: add_headers flag to CHECK_HEADER()
This allows you to ask the header not be added to the list of headers
for future configure checks
2010-04-06 20:26:41 +10:00
Andrew Tridgell
e01a71942c build: added define and always options to CHECK_VARIABLE() 2010-04-06 20:26:41 +10:00
Andrew Tridgell
5b9ca48d81 build: added generation of version.h 2010-04-06 20:26:40 +10:00
Andrew Tridgell
88a138f373 build: a useful example of a debug technique in waf 2010-04-06 20:26:40 +10:00
Andrew Tridgell
d004964142 build: moved main autoproto rule into samba_autoproto.py 2010-04-06 20:26:40 +10:00
Andrew Tridgell
6dcf5563ea build: allow selection of build group in HEIMDAL_AUTOPROTO() 2010-04-06 20:26:40 +10:00
Andrew Tridgell
8c4e709818 build: use shell for TDR rule, as -- confuses the build rule 2010-04-06 20:26:40 +10:00
Andrew Tridgell
7ed65d2e12 build: result of hack session with ita 2010-04-06 20:26:40 +10:00
Andrew Tridgell
36e6d11dce build: add README to explain gen_ndr, and ensure directory exists 2010-04-06 20:26:40 +10:00
Andrew Tridgell
9129c3b3b6 build: fixes from ita 2010-04-06 20:26:40 +10:00
Andrew Tridgell
c8f4ca41f6 build: fixed formatting 2010-04-06 20:26:40 +10:00
Andrew Tridgell
c7ea3e6fbf build: source= is clearer for source lists 2010-04-06 20:26:39 +10:00
Andrew Tridgell
bc39054bc3 build: rewrote PIDL rules, breaking them into a separate waf tool 2010-04-06 20:26:39 +10:00
Andrew Tridgell
bd54d2a87d build: fixed location of gen_ndr files 2010-04-06 20:26:39 +10:00
Andrew Tridgell
d6f2855d96 build: fixed --includedir options for PIDL 2010-04-06 20:26:39 +10:00
Andrew Tridgell
49b4d29ad3 build: split out the extension based build patterns 2010-04-06 20:26:39 +10:00
Andrew Tridgell
8364d6b7e8 build: add output_type and realname for mit_samba library 2010-04-06 20:26:39 +10:00
Andrew Tridgell
5ad6369cd0 build: started to split up wafsamba.py into separate modules 2010-04-06 20:26:38 +10:00
Andrew Tridgell
ec6049c93d build: aded wafsamba README 2010-04-06 20:26:38 +10:00
Andrew Tridgell
cada19f58b build: cope with empty source lists for libs 2010-04-06 20:26:38 +10:00