1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-24 02:04:21 +03:00

99 Commits

Author SHA1 Message Date
Andrew Bartlett
92ce387ed0 build: Remove workaround for missing os.path.relpath in Python < 2.6
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: David Mulder <dmulder@suse.com>
Reviewed-by: Andreas Schneider <asn@samba.org>
2019-11-13 08:42:30 +00:00
Björn Jacke
432d9fd221 samba_deps.py avoid inefficient string concatenations
Signed-off-by: Bjoern Jacke <bjacke@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2019-09-21 19:33:25 +00:00
Lukas Slebodnik
dc27ff44de wafsamba: Use native waf timer
__main__:1: DeprecationWarning: time.clock has been deprecated in Python 3.3
  and will be removed from Python 3.8: use time.perf_counter
  or time.process_time instead

BUG: https://bugzilla.samba.org/show_bug.cgi?id=13998

Signed-off-by: Lukas Slebodnik <lslebodn@fedoraproject.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Alexander Bokovoy <ab@samba.org>
2019-06-18 16:55:20 +00:00
Andreas Schneider
7eaa59686b wafsamba: Do not remove BUILTINS as duplicates
BUILTINS add object files to the target, so we can't remove them as
duplicates.

The issue e.g happens when tevent wants to link libreplace:

   20:04:10 deps removing dups from tevent of type LIBRARY: {'replace'}
   also in LIBRARY talloc

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Alexander Bokovoy <ab@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2018-12-20 12:16:39 +01:00
Stefan Metzmacher
8e1135f99b wafsamba: remove the need of BuildContext.bdir
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2018-11-20 01:33:34 +01:00
Alexander Bokovoy
4e65b33c1d third_party:waf: update to upstream 2.0.4 release
Update third_party/waf/ to 2.0.4 to bring us closer to Python 3

This change requires a number of changes in buildtools/ too.

Signed-off-by: Alexander Bokovoy <ab@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2018-09-05 06:37:22 +02:00
Thomas Nagy
8077f462c9 build:wafsamba: Build on waf 1.9
Signed-off-by: Thomas Nagy <tnagy@waf.io>
Reviewed-by: Alexander Bokovoy <ab@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2018-09-05 06:37:21 +02:00
Andrew Bartlett
b7a5308612 buildtools: Work around a . being in the target name when building python3 helpers
The pyparam_util module becomes pyparam_util.cpython_35m_x86_64_linux_gnu but
the command line parser for -D stops at the first .

That we even set -DSTATIC_subsystem_MODULES_PROTO for these subsystems without
any modules ever declared is left for another time

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
2017-03-10 07:31:11 +01:00
Thomas Nagy
3b2ae078a5 build:wafsamba: Ensure that check_group_ordering can be overridden
Group ordering verifications are performed by default in Waf 1.8,
so this method will be redundant. The purpose of this change is
to make it easier to disable check_group_ordering as it contains
code that is very specific to Waf 1.5.

Signed-off-by: Thomas Nagy <tnagy@waf.io>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>

Autobuild-User(master): Andrew Bartlett <abartlet@samba.org>
Autobuild-Date(master): Tue Nov 24 08:03:29 CET 2015 on sn-devel-104
2015-11-24 08:03:29 +01:00
Thomas Nagy
5036c6e744 build:wafsamba: remove check_orphaned_targets
The function check_orphaned_targets is not used and has
no specification, so it can be removed safely.

Signed-off-by: Thomas Nagy <tnagy@waf.io>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>

Autobuild-User(master): Michael Adam <obnox@samba.org>
Autobuild-Date(master): Thu Nov 19 13:10:53 CET 2015 on sn-devel-104
2015-11-19 13:10:53 +01:00
Thomas Nagy
40a2deb520 build:wafsamba: Removed unnecessary and misleading variables
There is no 'allow_duplicates' attribute anywhere.
The function 'check_duplicate_sources' always returns True unless it raises an exception
There is no list of source files to use
The variable 'tstart' is unused

Signed-off-by: Thomas Nagy <tnagy@waf.io>
Reviewed-by: Uri Simchoni uri@samba.org
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2015-11-06 10:37:24 +01:00
Thomas Nagy
2666d06f29 build:wafsamba: removed most import * statements
The 'import *' statements make it more difficult to reason about
the modules and tends to conceal bugs. These changes enable running
pyflakes against most of the build scripts.

Signed-off-by: Thomas Nagy <tnagy@waf.io>
Reviewed-by: Andrew Bartlet <abartlet@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>

Autobuild-User(master): Andreas Schneider <asn@cryptomilk.org>
Autobuild-Date(master): Wed Oct 28 12:52:17 CET 2015 on sn-devel-104
2015-10-28 12:52:17 +01:00
Thomas Nagy
ba6c7df7f9 build:wafsamba: Use the Waf 1.8 API get_tgen_by_name instead of name_to_obj
Signed-off-by: Thomas Nagy <tnagy@waf.io>
Reviewed-by: Michael Adam <obnox@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>

Autobuild-User(master): Andrew Bartlett <abartlet@samba.org>
Autobuild-Date(master): Wed Sep  2 03:49:51 CEST 2015 on sn-devel-104
2015-09-02 03:49:51 +02:00
Stefan Metzmacher
9d9a767ef2 wafsamba: don't add -DSTATIC_%s_MODULES* arguments for SAMBA_LIBRARY(pyembed=True)
Python helper libraries don't have any modules and having something like
'.cpython-34m' in the name, e.g. STATIC_pytalloc-util.cpython-34m_MODULES
breaks the build.

Another way to fix this would be removing PYTHON_SO_ABI_FLAG from the name.

This allows --extra-python=/usr/bin/python3 to work on Ubuntu 14.04.

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2015-08-06 00:43:24 +02:00
Amitay Isaacs
4974322119 wafsamba: Cache final_libs for each target
The code for saving/loading dependencies does not cache final_libs for
each target.  If wafsamba tries to reuse the saved dependencies, then
it does not get the dependencies on the private libraries correctly.

Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Reviewed-by: Martin Schwenke <martin@meltin.net>

Autobuild-User(master): Martin Schwenke <martins@samba.org>
Autobuild-Date(master): Tue Jun 30 09:44:10 CEST 2015 on sn-devel-104
2015-06-30 09:44:10 +02:00
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