1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-27 14:04:05 +03:00

84 Commits

Author SHA1 Message Date
Thomas Nagy
1c5ef289a8 Reduce the no-op build times by 30%
Change-Id: Ie68436c1e7c75c1786e9ed6b6a54d2b55abbbcea
Reviewed-by: Matthieu Patou <mat@matws.net>
Reviewed-by: Stefan Metzmacher <metze@samba.org>

Autobuild-User(master): Michael Adam <obnox@samba.org>
Autobuild-Date(master): Fri Oct  3 13:25:18 CEST 2014 on sn-devel-104
2014-10-03 13:25:18 +02:00
Stefan Metzmacher
d88f41f698 wafsamba: require a ';' after STATIC_*_MODULES_PROTO
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2014-04-02 09:03:41 +02:00
Matthieu Patou
e1b71f1c13 buildtools: Fix compilation warnings
STATIC_%s_MODULES_PROTO is defined on the compilation command line by
-DSTATIC_<something>_MODULES_PROTO which the compiler seems to turn into
define STATIC_<something>_MODULES_PROTO 1 thus yielding a warning due to
unused var

Signed-off-by: Matthieu Patou <mat@matws.net>

Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2013-05-20 21:52:44 +10:00
Jelmer Vernooij
2a797f29aa s4-python: Various formatting fixes.
* Trailing whitespace
* use of "==" where "is" should be used
* double spaces
2012-09-27 18:45:12 +02:00
Simo Sorce
e21029a270 waf: Fix mispelling
Autobuild-User: Simo Sorce <idra@samba.org>
Autobuild-Date: Thu Apr 19 17:36:41 CEST 2012 on sn-devel-104
2012-04-19 17:36:41 +02:00
Simo Sorce
e49efe9e7e Fix typo
Autobuild-User: Simo Sorce <idra@samba.org>
Autobuild-Date: Tue Apr 17 22:22:26 CEST 2012 on sn-devel-104
2012-04-17 22:22:26 +02:00
Andrew Bartlett
c5a58c3ea7 build: use include paths for pkg-config found libraries 2012-04-11 16:00:38 +02:00
Jelmer Vernooij
580657bc25 wafsamba: Fix some whitespace issues. 2012-02-18 23:17:59 +01:00
Matthieu Patou
3a88d49d12 waf: introduce reverse logic for allowing unknown symbols
Some os (ie OSX 10.6) forbids by default unknown symbols so in order to
allow them (for special case) we have no to remove linker option *but*
to add options to ask the linker to be more relax.

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2011-04-26 17:16:34 +10:00
Andrew Tridgell
59be7265ad wafsamba: added global_include option
this allows you to disable the global include additions. We will use
this for testing our public headers without including any of the
source tree directories
2011-03-15 12:22:18 +11:00
Andrew Tridgell
8ef9cb0bed build: added allow_undefined_symbols options for libraries and modules
the s4 build uses linker flags to disallow undefined symbols in
libraries. To accomodate s3 libraries in the top level build we need
to be able to disable this on a per-library basis.

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2011-02-18 15:09:46 +11:00
Andrew Tridgell
a7ee6e81ff waf: use Utils.WafError() instead of sys.exit(1)
better to raise an expection than just exiting
2011-02-18 15:09:45 +11:00
Günther Deschner
d08ddf08a8 waf: substitute '/' in -D static defines as well.
Tridge, please check.

Guenther
2011-02-11 12:22:41 +01:00
Andrew Tridgell
3f3696ce07 waf: samba deps generation depends on EXTRA_INCLUDES 2011-02-07 13:22:00 +11:00
Stefan Metzmacher
e0a9b58de8 buildtools/wafsamba: import 'sys' and 'Logs' if we use them
We should avoid generating a backtrace in a normal
error case, just because sys.exit(1) isn't known.

metze
2011-01-05 12:30:23 +01:00
Jelmer Vernooij
13b4e6e8c7 wafsamba: Move version script handling out of SAMBA_LIBRARY. 2010-12-17 19:16:33 +01:00
Andrew Tridgell
6f6aa5f775 waf: fixed re-running of build rules
the addition of ldflags deps caused us to re-run the build rules every
time.
2010-12-15 21:48:15 +11:00
Andrew Tridgell
35134214ae waf: use -Wl,--version-script if available
This enables symbol version on our libraries, if the system supports
it

If the library is a public library, then set the symbol version based
on the major number. If it is a private library then set it based on
the full version number (which will include the git hash if
available).

This ensures that applications using our libraries don't use symbols
from other libraries that they may be linked to. It also ensures we
only use the right version of any private libraries.

Note that the linker ends up generating both a version and unversioned
symbol for all symbols. This means existing users of our public
libraries will continue to work, with symbols resolved to the
unversioned symbol. When applications are re-linked they will bind to
the specific symbol version.

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
Pair-Programmed-With: Jelmer Vernooij <jelmer@samba.org>
2010-12-08 05:26:06 +01: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
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
5a3d22a256 waf: rerun deps calculation on LDFLAGS or CFLAGS change 2010-11-03 10:53:12 +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
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
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
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
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
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
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
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
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
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
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
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
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
12b4647289 wafsamba: Improve assertion error message to include the module. 2010-06-15 13:15:50 +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
c6b8ffd3a5 build: normalise paths in unique source checking 2010-04-26 14:36:54 +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