1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-27 03:21:53 +03:00
Commit Graph

665 Commits

Author SHA1 Message Date
Jelmer Vernooij
c338dede1b waf/samba_version: Support integer defines. 2010-11-12 17:42:14 +00:00
Jelmer Vernooij
7b964c7269 samba_version: When working from git checkout, display git revision SHA1 rather
than Bazaar revision ids.
2010-11-12 17:42:13 +00:00
Jelmer Vernooij
a0c2040ab6 samba_version: Support retrieving snapshot identity from bzr. 2010-11-12 17:42:13 +00:00
Jelmer Vernooij
45af495695 samba_version: Cope with building snapshots in directories without git checkout.
Error out when run in a git checkout in which git fails.
2010-11-12 17:42:13 +00:00
Jelmer Vernooij
d9a0a18dda Put git tree finding into a separate function. 2010-11-12 17:42:13 +00:00
Jelmer Vernooij
80e2adc9c3 sambaversion.py: Some cleanups, make less git-specific. 2010-11-12 17:42:13 +00:00
Jelmer Vernooij
e3b7ce85e2 wafsamba: Support make dist from bzr checkout. 2010-11-12 17:42:13 +00:00
Andrew Tridgell
8759523295 waf: go back to the previous method of handling .inst. rules
the change broke the library linkages for some library, as spotted by
Brad
2010-11-08 15:46:27 +11:00
Andrew Tridgell
e427f2fc81 waf: fixed the names of the installed libraries after the last change
Autobuild-User: Andrew Tridgell <tridge@samba.org>
Autobuild-Date: Mon Nov  8 02:31:18 UTC 2010 on sn-devel-104
2010-11-08 02:31:18 +00:00
Andrew Tridgell
c0297e5e89 waf: fixed tabs/spaces for python3.0
Autobuild-User: Andrew Tridgell <tridge@samba.org>
Autobuild-Date: Mon Nov  8 00:55:13 UTC 2010 on sn-devel-104
2010-11-08 00:55:13 +00:00
Andrew Tridgell
b867dc9ea2 waf: prevent us from modifying non-install libs during make install
we need to ensure that 'make install' does not change any of our build
libraries, and only changes the .inst.so libraries, otherwise doing a
make test in the build directory directly after a make install could
use the installed libraries, which would mean using the wrong
LDB_MODULES_PATH

this could cause the "unknown error" loading ldb modules when running
some commands directly after a make install

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-11-08 11:13:28 +11:00
Jelmer Vernooij
c9756cac05 waf: Put private libraries in a separate directory when building.
Thanks to Tridge for pointing out what exactly I had to change. :-)
2010-11-05 02:06:06 +00:00
Jelmer Vernooij
21233bba96 wafsamba: Use project name variable rather than hardcoding 'samba4'.
Suggested-By: Andrew Tridgell <tridge@samba.org>
2010-11-05 02:06:06 +00:00
Jelmer Vernooij
afc332fdb1 wafsamba: Drop private library prefix when installing private libraries
to a custom path.
2010-11-05 02:06:05 +00:00
Jelmer Vernooij
ec7501ea4f wafsamba: Support expanding variables in LIBDIR/PRIVATELIBDIR variables. 2010-11-05 02:06:05 +00:00
Jelmer Vernooij
e84e8705a9 Add --disable-rpath-private-install flag. 2010-11-05 02:06:05 +00:00
Jelmer Vernooij
e15cd9c6d5 Add --with-privatelibdir build option. 2010-11-05 02:06:05 +00:00
Jelmer Vernooij
0d4fa8514b samba_utils: Use LIBDIR rather than assuming it is set to $prefix/lib. 2010-11-05 02:06:05 +00:00
Andrew Tridgell
ef1afae2ce waf: more agressively expand subsystem syslib deps
this solves an openchange build problem with an indirect dependency on
talloc when talloc is a syslib

Autobuild-User: Andrew Tridgell <tridge@samba.org>
Autobuild-Date: Wed Nov  3 02:17:30 UTC 2010 on sn-devel-104
2010-11-03 02:17:30 +00:00
Andrew Tridgell
8c44dfc371 waf: ensure pkgconfig files depend on the prefix 2010-11-03 01:34:04 +00:00
Andrew Tridgell
dfa20fcd48 waf: split pkgconfig logic into a separate module 2010-11-03 01:34:04 +00:00
Andrew Tridgell
2a5e5cd8fa waf: fixed wildcard build for full paths 2010-11-03 10:53:12 +11:00
Andrew Tridgell
5a3d22a256 waf: rerun deps calculation on LDFLAGS or CFLAGS change 2010-11-03 10:53:12 +11:00
Andrew Tridgell
9cac0bfde6 waf: fixed wildcard build
this fixes minimal includes for subsystems that use autoproto
2010-11-03 10:53:12 +11:00
Andrew Tridgell
4404b4c700 waf: removed the module aliases code
This is not needed with the new ldb modules approacg
2010-11-01 18:55:19 +11:00
Andrew Tridgell
0a703c7fd1 waf: added automatic prototyping of static module init functions
this avoids the need to manually list all our static init functions in
the code

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-11-01 18:55:19 +11:00
Andrew Tridgell
fd6d29bc08 waf: added module_init_name parameter to SAMBA_MODULE()
this will be used for ldb module loading
2010-11-01 18:55:18 +11:00
Matthieu Patou
c3fa203435 build: In some case the flags for the sun studio linker are wrong
In this case we test if the -Wl,-h,%s works and if so use this form

Autobuild-User: Matthieu Patou <mat@samba.org>
Autobuild-Date: Sun Oct 31 16:35:17 UTC 2010 on sn-devel-104
2010-10-31 16:35:17 +00:00
Matthieu Patou
9f0fb0261e build: check that if we provide -liconv we can build shared libs
On Solaris with sun studio compiling an executable with -liconv even if
there is no libiconv.so or libiconv.a will work but not for a shared
lib.

This problem leads to build problem as the linker won't be able to find
libiconv when building shared lib as liconv is wrongly specified
2010-10-31 18:51:54 +03:00
Matthieu Patou
edebb76a61 build: strip -single_module when doing bundle on mac OS X 2010-10-30 13:45:18 +00:00
Matthieu Patou
33b276c2f1 build: set shared libraries flags correctly on mac os X 2010-10-30 13:45:18 +00:00
Andrew Tridgell
55063cddd5 waf: fixed building of non-shared binaries that contain modules
we need to incorporate the module objects too
2010-10-30 23:49:02 +11:00
Andrew Tridgell
e08c9ac696 waf: get rid of target aliases in wafsamba
these aliases are no longer needed, and can cause a lot of confusion
2010-10-30 23:49:01 +11:00
Andrew Tridgell
3a78148269 waf: save the samba_deps_extended
this is needed for the symbols.py extension
2010-10-30 23:49:00 +11:00
Andrew Tridgell
f7b70a5a7a waf: give a better error on a bad grouping library
give a clear error on an unknown dependency in a grouping library

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-10-30 23:49:00 +11:00
Andrew Tridgell
78d732cc40 waf: cope with subsystems with no static modules
we still need the STATIC_xx_MODULES define when there are no static
modules. It contains just the sentinal.

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-10-30 23:49:00 +11:00
Andrew Tridgell
ae0f420dd9 waf: don't auto-depend on subsystems
this is part of an effort to reduce the amount of automatic dependency
munging we do. When working on the correct dependency tree for Samba
it is easier to add the right dependencies in the wscript files than
rely on them being added by the waf rules. This change removes the
automatic dependency of modules on their subsystem. Many modules don't
actually need this dependency anyway, so it is better to add it where
they are needed (for example, for ldb modules)

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-10-30 23:49:00 +11:00
Andrew Tridgell
adabc3d082 waf: added --symbol-check option
this adds checking of the symbols in all our object files, libraries
and syslibs. It will form the basis in future for a lot more checks,
but for now it just checks basic rules like not allowing us to use
symbols that are in system libs.

Currently this is enabled only if you use the --symbol-check option,
(or use make with SYMBOLCHECK=1) but I intend to make this always
enabled once it has had more testing.

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-10-30 23:49:00 +11:00
Andrew Tridgell
df34bb2685 waf: build all libraries after all object files
this makes it easier to perform symbol checking before the link
stage. The two new build groups symbolcheck and syslibcheck will be
used by the symbols.py extension
2010-10-30 23:49:00 +11:00
Andrew Tridgell
170c255f09 waf: use Utils.WafError() instead of raising an AssertionError
this produces clearer output on errors
2010-10-30 23:49:00 +11:00
Andrew Tridgell
d1e94980bf waf: cope with rules with no inputs
when we display a rule with no inputs, just call the original display
function

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-10-30 23:49:00 +11:00
Andrew Tridgell
ccbb77693c waf: separate out get_tgt_list()
this is a useful function for the new symbols code, so separate it out
of samba_deps.py

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-10-30 23:49:00 +11:00
Andrew Tridgell
e97be0860b waf: display the paths in library loops
when we detect a library loop, try to display the paths between the
two libraries. This should make it easier to fix.

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-10-30 23:49:00 +11:00
Andrew Tridgell
d489880ecd waf: added env.DEVELOPER_MODE flag
this makes it easier to add project rules that are only run in
developer mode

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-10-30 23:49:00 +11:00
Andrew Tridgell
65743f932b waf: added suncc_wrap
this should solve a problem with creating alias modules with Sun CC.

Thanks to Matthieu for the idea, and Thomas for the waf code
2010-10-30 23:49:00 +11:00
Matthieu Patou
4a11cad0e0 build: add the -fno-common flags to fix the link pb on mac os X
Autobuild-User: Matthieu Patou <mat@samba.org>
Autobuild-Date: Thu Oct 28 22:35:08 UTC 2010 on sn-devel-104
2010-10-28 22:35:08 +00:00
Matthieu Patou
95cbff76d6 build: Add XPG6 otherwise we have a configure pb on sun Solaris 2010-10-28 08:57:18 +00:00
Matthieu Patou
5634f55cc8 build: remove warnings about redifinition of boolean use -KPIC on suncc
Autobuild-User: Matthieu Patou <mat@samba.org>
Autobuild-Date: Wed Oct 27 22:57:19 UTC 2010 on sn-devel-104
2010-10-27 22:57:19 +00:00
Stefan Metzmacher
073d3bf1fc wafsamba: support 'soname' attribute on SAMBA_LIBRARY()
It's sometimes needed to specifiy the soname directly.

metze
2010-10-27 05:07:22 +02:00
Andrew Tridgell
a06192b33b waf: sped up the project rules checking
this also makes the --show-duplicates output more useful

Autobuild-User: Andrew Tridgell <tridge@samba.org>
Autobuild-Date: Wed Oct 27 01:36:46 UTC 2010 on sn-devel-104
2010-10-27 01:36:46 +00:00
Andrew Tridgell
afe40c7ecc waf: quote subsystem names to make them clearer 2010-10-26 23:40:04 +00:00
Jelmer Vernooij
c251cb62ec wafsamba: Fix soname for standalone private libraries.
Autobuild-User: Jelmer Vernooij <jelmer@samba.org>
Autobuild-Date: Tue Oct 26 18:10:13 UTC 2010 on sn-devel-104
2010-10-26 18:10:13 +00:00
Jelmer Vernooij
a74e8be6d1 waf: Stop automaticaly changing dashes to underscores in library names. 2010-10-26 10:17:18 -07:00
Jelmer Vernooij
8cf61377aa waf: Remove lib prefix from libraries manually. 2010-10-26 10:17:17 -07:00
Jelmer Vernooij
df76c3f147 waf: build private libraries with so names. 2010-10-26 10:17:17 -07:00
Andrew Tridgell
db73b4a2c1 waf: moved the -Wl,-no-undefined flags to source4 and ldb
moved it out of the general waf build as the s3 waf build cannot yet
handle linking with -Wl,-no-undefined

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>

Autobuild-User: Andrew Tridgell <tridge@samba.org>
Autobuild-Date: Mon Oct 25 01:12:15 UTC 2010 on sn-devel-104
2010-10-25 01:12:15 +00:00
Jelmer Vernooij
49ef288819 waf: Rename some BUNDLED_ functios to PRIVATE_. 2010-10-23 22:24:06 +00:00
Andrew Tridgell
6c3e670f31 waf: check the linker accepts a set of ldflags before using them
Autobuild-User: Andrew Tridgell <tridge@samba.org>
Autobuild-Date: Thu Oct 21 08:45:49 UTC 2010 on sn-devel-104
2010-10-21 08:45:49 +00:00
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
7dcecbd077 waf: allow for commands like "make bin/smbtorture"
I finally worked out the GNU make syntax for this
2010-10-06 12:18:04 +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
Andrew Tridgell
2d77c766fa waf-abi: fixed small uninitialised data on PPC64
on PPC64 Linux systems a 'S' line from nm means "small object
uninitialised data"
2010-09-07 13:45:46 +10: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
Stefan Metzmacher
85f73840b0 s4:buildtools: add 'make show_waf_options'
metze
2010-07-10 09:35:01 +02:00
Stefan Metzmacher
c48ff4c6a9 s4:buildtools: make it possible to use advanced test options via the make waf wrapper
You can to do thinks like this now:
make test TEST_OPTIONS="--valgrind-server" TESTS=wbinfo

metze
2010-07-10 09:35:00 +02: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
Kai Blin
eda5888492 build: skip missing executables in testwaf.sh 2010-05-11 14:49:28 +02:00
Kai Blin
7c68512a21 build: Update the waf build to fix python header checks 2010-05-10 10:25:34 +02:00
Andrew Bartlett
23cafd5569 buildtools: Add 'make testenv' to Samba4 make targets
I'm still too addicted to this as my standard debugging environment, and while I can learn the new command, this helps the muscle-memory.

Andrew Bartlett
2010-05-09 21:18:52 +10: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
20d77705ce build: update version of waf
this fixes a slow configure problem on HPUX
2010-05-05 16:14:13 +02:00
Andrew Tridgell
3d2819bd86 build: use the wrapper commands in testwaf.sh
this ensures they are well tested
2010-05-05 16:14:13 +02:00
Andrew Tridgell
f8120ab697 build: added a distcheck target 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
fa172c494f build: exit with an error if waf configure fails
We don't want configure in the build farm to show green when it fails
2010-05-05 16:14:13 +02:00
Andrew Tridgell
6ed45442c4 build: enable python 3.0 and 3.1 in testwaf.sh
try to ensure that we don't let support for python 3.x bitrot
2010-05-04 13:02:30 +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
0a47bf5f15 build: automatically run autogen-waf.sh when needed 2010-04-26 14:36:55 +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
a36c7b8b74 build: use 'waf distclean' for make distclean
this cleans up the more than rm -rf bin
2010-04-23 08:25:01 +10:00
Andrew Tridgell
6669152a4a build: we don't need this makefile magic any more
The waf build now checks for all A=B variables passed via make
and sets the same waf internal variable. This means all waf options
are available via make.

Removing this from the Makefile makes us less reliant on a modern
version of make.

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-04-22 19:36:15 +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
06fa4c8ebc build: make python development headers not mandatory in standalone libs
This needed an update to the python tool in waf

thanks to Kai for spotting this
2010-04-21 16:17:08 +10:00
Andrew Tridgell
ab2555faac waftest: updated the cross compilation environment I test with 2010-04-21 15:36:26 +10:00