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
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