IF YOU WOULD LIKE TO GET AN ACCOUNT, please write an
email to Administrator. User accounts are meant only to access repo
and report issues and/or generate pull requests.
This is a purpose-specific Git hosting for
BaseALT
projects. Thank you for your understanding!
Только зарегистрированные пользователи имеют доступ к сервису!
Для получения аккаунта, обратитесь к администратору.
this fixes a problem with installed libraries not relinking after a
git version change
Autobuild-User: Andrew Tridgell <tridge@samba.org>
Autobuild-Date: Fri Dec 10 09:30:46 CET 2010 on sn-devel-104
This function is a wrapper around waf's check_python_header.
It avoids searching more than once for the headers bringing a small
speed improvement and a better lisibility of the logs.
But it's mainly to avoid a nasty bug when python libraries are in path
pointed by python_LIBPL (ie. /usr/local/lib/python2.6/config/) instead
of python_LIBDIR (ie. /usr/local/lib).
On the first call waf will correctly find that in order to link with
python libs it needs to add -L$python_LIBPL.
But on the next calls of check_python_headers, waf will use both the
current library path value (ie. -L/usr/local/lib/python2.6/config) and
-L$python_LIBDIR (ie. /usr/local/lib/) which will make him beleive that
python libraries are in $python_LIBDIR which at the end will make the
final link test fails in check_python_headers as it will not use the
good directory.
So by avoiding calling check_python_headers more than once we avoid
making waf fooling itself.
we need the vnum for ABI checking for public libraries built as
private libraries when bundled
Autobuild-User: Andrew Tridgell <tridge@samba.org>
Autobuild-Date: Thu Dec 9 12:47:41 CET 2010 on sn-devel-104
This changes our version-script generation to use the ABI files that
are saved in git with each version number change of our public
libraries.
We use these ABI files to generate a linker version script that gives
the exact version number that each symbol was introduced. This
provides us with automatic fine grained symbol versioning.
Pair-Programmed-With: Jelmer Vernooij <jelmer@samba.org>
Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
This ensures that we always have a prototype for any function we
declare
Autobuild-User: Andrew Tridgell <tridge@samba.org>
Autobuild-Date: Wed Dec 8 06:12:07 CET 2010 on sn-devel-104
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>
Pair-Programmed-With: Thomas Nagy <tnagy2pow10@gmail.com>
Fix the library extension from .so to .sl
Add full path to library when linking this is needed due to a strange
behavior of HP-UX:
This command: gcc demo demo.c -L dir1/dir2/ -lsomelib
will give a binary with a hard coded lib like dir1/dir2/libsomelib.sl.
Somehow like a partial rpath, it has the first impact of fooling waf
detection of wether the plateform support libraries or not (leading to
being unable to compile samba on HPUX) and the impact of having non
functionnal binaries.
Autobuild-User: Matthieu Patou <mat@samba.org>
Autobuild-Date: Wed Dec 8 00:32:50 CET 2010 on sn-devel-104
putenv has sideffects on later code. This overrides GIT_DIR for just this call.
Autobuild-User: Jelmer Vernooij <jelmer@samba.org>
Autobuild-Date: Fri Dec 3 04:24:53 CET 2010 on sn-devel-104
- some Unix shells actually don't like grep ^foo, use grep "^foo" instead.
- bash is not installed on every system, please avoid #!/bin/bash and
use #!/bin/sh instead
If we set the GIT_DIR envvar we also need to set GIT_WORK_TREE,
otherwise we can't expect valid output from 'git diff HEAD'.
metze
Autobuild-User: Stefan Metzmacher <metze@samba.org>
Autobuild-Date: Thu Dec 2 09:09:21 CET 2010 on sn-devel-104
This finally allows mixed case module names like the classic build
(./configure --shared_modules=charset_CP850)
Guenther
Autobuild-User: Günther Deschner <gd@samba.org>
Autobuild-Date: Wed Dec 1 18:39:14 CET 2010 on sn-devel-104
this lets the s3 waf build use "make help"
Autobuild-User: Andrew Tridgell <tridge@samba.org>
Autobuild-Date: Wed Dec 1 01:47:50 CET 2010 on sn-devel-104
Without this change we'd exclude the rpath for private libraries
whenever the first dependency of a subsystem was a public library.
Autobuild-User: Jelmer Vernooij <jelmer@samba.org>
Autobuild-Date: Tue Nov 30 13:08:04 CET 2010 on sn-devel-104
if you use --git-local-changes then the version number that waf
extracts from git will have a '+' on the end if you have local
changes, as determined by running 'git diff'.
This used to be the default, but unfortunately it is far too slow on
some systems. On a NFS build system I was using the first line of
configure took about 2 minutes.
Autobuild-User: Andrew Tridgell <tridge@samba.org>
Autobuild-Date: Tue Nov 16 01:51:54 UTC 2010 on sn-devel-104
the fancier cmd_output() broke git versioning
Autobuild-User: Andrew Tridgell <tridge@samba.org>
Autobuild-Date: Mon Nov 15 11:33:41 UTC 2010 on sn-devel-104
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>
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
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
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
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 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>
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
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
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
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>
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>
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>
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 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
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
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
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
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>
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
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
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>
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>
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
The headers generated by pidl contain references to bin/default. Those paths
may be replaced automatically.
Signed-off-by: Jelmer Vernooij <jelmer@samba.org>
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
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
I'm still too addicted to this as my standard debugging environment, and while I can learn the new command, this helps the muscle-memory.
Andrew Bartlett
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
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
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
The waf build now checks for all A=B variables passed via make
and sets the same waf internal variable. This means all waf options
are available via make.
Removing this from the Makefile makes us less reliant on a modern
version of make.
Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
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