summaryrefslogtreecommitdiff
path: root/buildtools/wafsamba/samba_deps.py
AgeCommit message (Collapse)AuthorFilesLines
2010-12-08waf: use -Wl,--version-script if availableAndrew Tridgell1-1/+2
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-11-08waf: fixed tabs/spaces for python3.0Andrew Tridgell1-1/+1
Autobuild-User: Andrew Tridgell <tridge@samba.org> Autobuild-Date: Mon Nov 8 00:55:13 UTC 2010 on sn-devel-104
2010-11-03waf: more agressively expand subsystem syslib depsAndrew Tridgell1-4/+9
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-03waf: rerun deps calculation on LDFLAGS or CFLAGS changeAndrew Tridgell1-1/+1
2010-11-01waf: added automatic prototyping of static module init functionsAndrew Tridgell1-0/+8
this avoids the need to manually list all our static init functions in the code Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-10-30waf: fixed building of non-shared binaries that contain modulesAndrew Tridgell1-0/+19
we need to incorporate the module objects too
2010-10-30waf: get rid of target aliases in wafsambaAndrew Tridgell1-24/+1
these aliases are no longer needed, and can cause a lot of confusion
2010-10-30waf: save the samba_deps_extendedAndrew Tridgell1-1/+1
this is needed for the symbols.py extension
2010-10-30waf: give a better error on a bad grouping libraryAndrew Tridgell1-0/+1
give a clear error on an unknown dependency in a grouping library Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-10-30waf: cope with subsystems with no static modulesAndrew Tridgell1-4/+6
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-30waf: don't auto-depend on subsystemsAndrew Tridgell1-7/+0
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-30waf: separate out get_tgt_list()Andrew Tridgell1-12/+1
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-30waf: display the paths in library loopsAndrew Tridgell1-0/+21
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-27waf: sped up the project rules checkingAndrew Tridgell1-21/+60
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-26waf: quote subsystem names to make them clearerAndrew Tridgell1-1/+1
2010-10-21waf: loosen the restriction on depending on python libsAndrew Tridgell1-1/+3
the pidl generated python code can generate dependencies between two python modules, so we have to allow this for now
2010-10-21waf: fixed the handling of -Wl,-no-undefinedAndrew Tridgell1-1/+1
this flag was not being propogated to our link rules, so we were not in fact enforcing no undefined symbols in libraries.
2010-10-21waf: show duplicate objects in python modules as well as librariesAndrew Tridgell1-2/+3
Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-10-21waf: raise an error on a dependency on a python moduleAndrew Tridgell1-0/+3
it is never correct to list a dependency on a python module Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2010-10-21waf: prevent the global deps list creating depenency loopsAndrew Tridgell1-1/+9
this prevents a loop between SOCKET_WRAPPER and replace in the s3 waf build
2010-10-21waf: added the concept of a grouping_libraryAndrew Tridgell1-1/+32
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-21waf: fixed expansion of direct_objects and direct_libsAndrew Tridgell1-2/+2
these do not need to be expanded in break_dependency_loops()
2010-10-21waf: rework expand_subsystem_deps()Andrew Tridgell1-18/+36
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-21waf: added --show-deps and --show-duplicatesAndrew Tridgell1-1/+66
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-19waf: don't save deps on installAndrew Tridgell1-1/+2
this prevents an install triggering a new check of the project rules on the next build
2010-10-14s4-waf: automatically remove stale C and header filesAndrew Tridgell1-0/+1
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-13wafsamba: Don't allow circular dependencies involving libraries byJelmer Vernooij1-7/+17
default.
2010-10-12wafsamba: Warn about circular dependencies between libraries.Jelmer Vernooij1-1/+1
2010-06-15wafsamba: Improve assertion error message to include the module.Jelmer Vernooij1-1/+2
2010-05-03build: added a check for group ordering within target dependenciesAndrew Tridgell1-0/+47
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-04-26build: normalise paths in unique source checkingAndrew Tridgell1-1/+1
2010-04-21build: recalculate project deps when NONSHARED_BINARIES changesAndrew Tridgell1-0/+10
2010-04-21build: added --nonshared-binary=LIST optionAndrew Tridgell1-0/+13
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-15build: ensure we don't recreate library loops in expansionsAndrew Tridgell1-1/+26
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-13build: check the type of implied dependenciesAndrew Tridgell1-1/+12
an implied dependency needs to be a library or module
2010-04-12wafsamba: don't add global dependencies to hostcc targetsStefan Metzmacher1-1/+2
metze
2010-04-09build: use Logs.error() and Logs.info() instead of print()Andrew Tridgell1-11/+12
this gives appropriate colors on output, and ensures it works with compiler output
2010-04-08build: the exceptions here are not usefulAndrew Tridgell1-3/+3
they just make the failure hard to spot
2010-04-08build: make the handling of relative paths a bit sanerAndrew Tridgell1-1/+1
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-08build: allow the waf build to work with python 3.0 and 3.1Thomas Nagy1-11/+10
Python 3.x is a bit fussier about print statements and indentation. Signed-off-by: Andrew Tridgell <tridge@samba.org>
2010-04-06build: loop until all object reductions are completeAndrew Tridgell1-2/+14
we will issue a warning if any object duplication remains
2010-04-06build: much simpler and faster rpath install handlerAndrew Tridgell1-48/+2
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-06build: only link install targets at install timeAndrew Tridgell1-6/+11
2010-04-06build: fixed the dependencies of the install targetsAndrew Tridgell1-3/+47
we want the install targets to have identical calculated dependencies to the build targets.
2010-04-06build: refactor the object reduction codeAndrew Tridgell1-30/+39
split it out into a separate function, and use the final_* attributes instead of the direct_* and indirect_* attributes
2010-04-06build: finally got LIBRARY<->LIBRARY reductions workingAndrew Tridgell1-2/+12
the install size is now 100M
2010-04-06build: add python library object reductionAndrew Tridgell1-1/+1
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-06build: expand indirect includes to fix disable-shared buildAndrew Tridgell1-3/+32
2010-04-06build: removed debug lineAndrew Tridgell1-1/+0
2010-04-06s4-waf: added implied_deps for system librariesAndrew Tridgell1-1/+13
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.