Age | Commit message (Collapse) | Author | Files | Lines |
|
We should avoid generating a backtrace in a normal
error case, just because sys.exit(1) isn't known.
metze
|
|
|
|
the addition of ldflags deps caused us to re-run the build rules every
time.
|
|
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>
|
|
Autobuild-User: Andrew Tridgell <tridge@samba.org>
Autobuild-Date: Mon Nov 8 00:55:13 UTC 2010 on sn-devel-104
|
|
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
|
|
|
|
this avoids the need to manually list all our static init functions in
the code
Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
|
|
we need to incorporate the module objects too
|
|
these aliases are no longer needed, and can cause a lot of confusion
|
|
this is needed for the symbols.py extension
|
|
give a clear error on an unknown dependency in a grouping library
Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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
|
|
|
|
the pidl generated python code can generate dependencies between two
python modules, so we have to allow this for now
|
|
this flag was not being propogated to our link rules, so we were not
in fact enforcing no undefined symbols in libraries.
|
|
Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
|
|
it is never correct to list a dependency on a python module
Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
|
|
this prevents a loop between SOCKET_WRAPPER and replace in the s3 waf
build
|
|
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>
|
|
these do not need to be expanded in break_dependency_loops()
|
|
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>
|
|
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
|
|
this prevents an install triggering a new check of the project rules
on the next build
|
|
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
|
|
default.
|
|
|
|
|
|
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
|
|
|
|
|
|
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
|
|
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.
|
|
an implied dependency needs to be a library or module
|
|
metze
|
|
this gives appropriate colors on output, and ensures it works with
compiler output
|
|
they just make the failure hard to spot
|
|
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)
|
|
Python 3.x is a bit fussier about print statements and indentation.
Signed-off-by: Andrew Tridgell <tridge@samba.org>
|
|
we will issue a warning if any object duplication remains
|
|
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
|
|
|
|
we want the install targets to have identical calculated dependencies
to the build targets.
|
|
split it out into a separate function, and use the final_* attributes
instead of the direct_* and indirect_* attributes
|
|
the install size is now 100M
|
|
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!
|