1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-25 23:21:54 +03:00
Commit Graph

1086 Commits

Author SHA1 Message Date
Stefan Metzmacher
47155641cb wafsamba: create unique names when building shared modules
After commit 76fdcf5c15, we could endup
with bin/default/source3/auth/libauth-samba4.so being created two times.
Once by SAMBA3_LIBRARY('auth',...) and once again by SAMBA3_MODULE('auth_samba4', ...).

As a result bin/default/source3/auth/libauth-samba4.so gets randomly
overwritten.

SAMBA3_MODULE('auth_samba4', ...) results in
bin/default/source3/auth/libauth_module_samba4.so now.

Bug: https://bugzilla.samba.org/show_bug.cgi?id=10112

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Jelmer Vernooij <jelmer@samba.org>

Autobuild-User(master): Stefan Metzmacher <metze@samba.org>
Autobuild-Date(master): Mon Jan 19 04:43:53 CET 2015 on sn-devel-104
2015-01-19 04:43:53 +01:00
Stefan Metzmacher
4da20e2e31 wafsamba: remove unused variable in SAMBA_MODULE()
Bug: https://bugzilla.samba.org/show_bug.cgi?id=10112

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Jelmer Vernooij <jelmer@samba.org>
2015-01-19 02:24:03 +01:00
Stefan Metzmacher
85a30cc440 wafsamba: passing 'subsystem' to SAMBA_MODULE() is not optional
Bug: https://bugzilla.samba.org/show_bug.cgi?id=10112

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Jelmer Vernooij <jelmer@samba.org>
2015-01-19 02:24:03 +01:00
Stefan Metzmacher
7668e457a6 wafsamba: make it possible to pass bundled_name to SAMBA_LIBRARY()
Bug: https://bugzilla.samba.org/show_bug.cgi?id=10112

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Jelmer Vernooij <jelmer@samba.org>
2015-01-19 02:24:03 +01:00
Thomas Nagy
115eb94215 wafadmin: backported the openbsd fixes from waf 1.7
This is a backport from waf 1.5...

Reviewed-by: Michael Adam <obnox@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>

Autobuild-User(master): Jeremy Allison <jra@samba.org>
Autobuild-Date(master): Fri Jan  9 02:02:07 CET 2015 on sn-devel-104
2015-01-09 02:02:07 +01:00
Michael Adam
9f2979a1a4 wafsamba: remove commented out code.
This code has only ever been there as commented out...

Pair-Programmed-With: Stefan Metzmacher <metze@samba.org>

Signed-off-by: Michael Adam <obnox@samba.org>
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2015-01-08 23:38:07 +01:00
Michael Adam
ffff95d421 Revert "waf: added suncc_wrap"
This reverts commit 65743f932b.

Conflicts:
	buildtools/wafsamba/samba_optimisation.py

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
2015-01-08 23:38:07 +01:00
Stefan Metzmacher
d7bd51a79d wafsamba: generate an empty.c file if a SAMBA_{LIBRARY,SUBSYSTEM} doesn't have any source files
This is better than passing '-' as filename to the compiler/linker.
This replaces commit 65743f932b.

Bug: https://bugzilla.samba.org/show_bug.cgi?id=9334
Bug: https://bugzilla.samba.org/show_bug.cgi?id=10315

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
2015-01-08 23:38:07 +01:00
Ralph Boehme
a6bda1f2bc wafsamba: flags from enviroment are put before our own internal versions
Ensure user provided CPPFLAGS and LDFLAGS are put *behind* our
internally computed compiler and linker flags.

Bug: https://bugzilla.samba.org/show_bug.cgi?id=10877

Pair-Programmed-With: Michael Adam <obnox@samba.org>
Pair-Programmed-With: Stefan Metzmacher <metze@samba.org>

Signed-off-by: Ralph Boehme <slow@samba.org>
Signed-off-by: Michael Adam <obnox@samba.org>
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2015-01-08 23:38:07 +01:00
Michael Adam
707dc16987 wafsamba: filter out standard library paths from RPATH and LIBPATH
We should avoid passing them explicitly to the compiler/linker.

We ask the compiler with the '-print-search-dirs' argument
or fallback to [ '/usr/lib', '/usr/lib64' ].

Pair-Programmed-With: Stefan Metzmacher <metze@samba.org>

Signed-off-by: Michael Adam <obnox@samba.org>
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2015-01-08 23:38:07 +01:00
Michael Adam
dc808a466e wafsamba: fix ordering problems with lib-provided and internal RPATHs
When a library or system (like cups) provides an RPATH,
e.g. with -Wl,-R or -Wl,-rpath, this was added by waf
to the LINKFLAGS, wich was later prepended to our RPATH.
But if the path by chance contains an older version of
one of our internal libraries like talloc, this would lead
to linking the too old talloc into our binaries.

This has been observed on, e.g., FreeBSD, but it is a general
problem.

This patch fixes the problem by specially parsing the RPATH
linker options from the pkg-config(, cups-config, ....) output
and putting the paths into the RPATH_<lib> container, which
is then later correctly appended to our internal RPATH.

This is a better fix than commit 64f5e24100
as it touches wafsamba only. 64f5e24100
is already in waf 1.5 upstream, but has some possible bugs,
e.g. it doesn't handle -Wl,-R, (with ',' at the end)
or some combinations where the path is given via an additional
-Wl,/path argument.

Bug: https://bugzilla.samba.org/show_bug.cgi?id=10548

Pair-Programmed-With: Stefan Metzmacher <metze@samba.org>

Signed-off-by: Michael Adam <obnox@samba.org>
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2015-01-08 23:38:07 +01:00
Stefan Metzmacher
d744c7c080 wafsamba: make it possible to specify ADDITIONAL_{CFLAGS,LDFLAGS} as env var to ./configure
CFLAGS and LDFLAGS are also used during the configure checks and might impact
their results.

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
2015-01-08 23:38:07 +01:00
Stefan Metzmacher
46fdd6221e wafsamba: improve -fvisibility=hidden, we should check it together this WERROR_CFLAGS
GCC ignores -fvisibility=hidden with a warning instead of failing
om some platforms (e.g. Solaris).

Bug: https://bugzilla.samba.org/show_bug.cgi?id=11031

Based on a patch from Tom Schulz <schulz@adi.com>.

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
2015-01-08 23:38:07 +01:00
Stefan Metzmacher
52eb8854ff wafsamba: let CURRENT_CFLAGS() use bld.env.VISIBILITY_CFLAGS
This is better than a hardcoded value in multiple places.

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
2015-01-08 23:38:07 +01:00
Stefan Metzmacher
4683fc0f1d wafsamba: move -fvisibility=hidden checks from lib/replace to wafsamba
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
2015-01-08 23:38:07 +01:00
Stefan Metzmacher
208be32c6a wafsamba: move '-fstack-protector' checks from lib/replace to wafsamba
This moves the check to the end of the configure run,
which means we no longer use this on configure checks,
but only for the real build.

This behavior is similar than our developer cflags.

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
2015-01-08 23:38:07 +01:00
Stefan Metzmacher
0f4ce418ae wafsamba: move WERROR_CFLAGS checks from lib/replace to wafsamba
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
2015-01-08 23:38:07 +01:00
Stefan Metzmacher
7a3dc66852 wafsamba: move compiler / cflags related stuff from lib/replace to wafsamba
We should have this just in one central place.

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
2015-01-08 23:38:07 +01:00
Stefan Metzmacher
ab4b988ba2 wafsamba: let TO_LIST(mylist) return a copy of mylist
In most cases we have TO_LIST(mystring) which returns an independent
list.

newlist = TO_LIST(mylist) returned just a reference to mylist.
Which means newlist.append("end") would also modify mylist.

TO_LIST() should always return an independent list.

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
2015-01-08 23:38:06 +01:00
Ralph Boehme
89cc31f5cf wafsamba: check for rpath compiler/linker flags
Older SunOS linker only support -Wl,-R,/path instead of -Wl,-rpath,/path.

Bug: https://bugzilla.samba.org/show_bug.cgi?id=10112

Pair-Programmed-With: Stefan Metzmacher <metze@samba.org>

Signed-off-by: Ralph Boehme <slow@samba.org>
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2014-12-19 13:15:12 +01:00
Stefan Metzmacher
76fdcf5c15 wafsamba: fill PRIVATE_NAME() logic again
We append bld.env.PRIVATE_EXTENSION to the name of private libraries
again, but only unless they have a abi_directory, vnum or soname defined.

This avoids naming conflicts with system libraries, e.g. libidmap.so
on Solaris

Bug: https://bugzilla.samba.org/show_bug.cgi?id=10112

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2014-12-19 13:15:12 +01:00
Stefan Metzmacher
82e583b04b wafsamba: add optional keep_underscore=True to SAMBA_LIBRARY()
Bug: https://bugzilla.samba.org/show_bug.cgi?id=9299

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2014-12-19 13:15:12 +01:00
Stefan Metzmacher
7c7d3ebb41 wafsamba: change the default to allow_warnings=False for CURRENT_CFLAGS()
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2014-11-25 07:25:46 +01:00
Stefan Metzmacher
994eea61cc wafsamba: change the default to allow_warnings=False for SAMBA_{SUBSYSTEM,LIBRARY,MODULE}()
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2014-11-25 07:25:46 +01:00
Stefan Metzmacher
989eb5d8f8 wafsamba: use -Wno-error=deprecated-declarations in picky-developer mode
Currently we use too many deprecated function like
dcerpc_binding_handle_set_sync_ev() and others, but this should not be a reason
to require 'allow_warnings=True'.

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2014-11-25 07:25:46 +01:00
Stefan Metzmacher
6ff9388172 wafsamba: add -Werror=return-type for developer builds
This avoids errors like this:

 ../source3/utils/status.c: In function ‘print_share_mode’:
 ../source3/utils/status.c:126:3: error: ‘return’ with no value, in function
 returning non-void [-Werror=return-type]
   return;

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2014-11-14 23:27:04 +01:00
Jelmer Vernooij
c7b6897b80 Run duplicate symbol check as just another test, rather than as part of "waf test".
This allows it to be scheduled independently as part of a parallel test
run, and reduces the overhead of "waf test".

Change-Id: I780fd2c4dd711ed27df73f56de98e7f1ffd53aaf
Signed-Off-By: Jelmer Vernooij <jelmer@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Bug: https://bugzilla.samba.org/show_bug.cgi?id=10875
2014-10-14 06:44:07 +02:00
Jelmer Vernooij
0c24085317 Fix more pep8 issues in code I touched recently.
Signed-Off-By: Jelmer Vernooij <jelmer@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Change-Id: I35f3204bdf5d00b3280d703427ded2fa2163a6f7
2014-10-14 06:44:06 +02:00
Jelmer Vernooij
bd6faaf56a Remove last instances of pep8 error E712 (use 'is' rather than '==' for booleans)
Signed-Off-By: Jelmer Vernooij <jelmer@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Change-Id: I43b394a6225b4c2049d979fda75548c82d781f67
2014-10-14 06:44:06 +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
Michael Adam
1f878b9986 Revert "buildtools: Rename perl vendorarch configure option."
This reverts commit 04685ff4ee.

We are reverting buildtools/wafadmin/Tools/perl.py back to upstream state.
Everything special is now in buildtools/wafsamba/samba_perl.py.

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

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>

Autobuild-User(master): Stefan Metzmacher <metze@samba.org>
Autobuild-Date(master): Tue Sep  9 03:07:20 CEST 2014 on sn-devel-104
2014-09-09 03:07:20 +02:00
Michael Adam
0b91f7d806 Revert "buildtools: Add perl vendorlib configure option."
This reverts commit 48f0183dbe.

We are reverting buildtools/wafadmin/Tools/perl.py back to upstream state.
Everything special is now in buildtools/wafsamba/samba_perl.py.

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

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
2014-09-09 00:39:07 +02:00
Michael Adam
42990ca3c8 Revert "wafsamba: If perl can't provide defaults, define them."
This reverts commit 0ba276ebad.

We are reverting buildtools/wafadmin/Tools/perl.py back to upstream state.
Everything special is now in buildtools/wafsamba/samba_perl.py.

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

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
2014-09-09 00:39:07 +02:00
Michael Adam
c5dd2f18dd Revert "wafsamba: Fail with error message if perl doesn't provide valid dirs."
This reverts commit 2637890ef4.

We are reverting buildtools/wafadmin/Tools/perl.py back to upstream state.
Everything special is now in buildtools/wafsamba/samba_perl.py.

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

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
2014-09-09 00:39:07 +02:00
Michael Adam
f73a0c2af9 wafsamba: add perl_fixup parameter to INSTALL_FILES
This fixes the search path for modules when installing
a perl "binary" by replacing a line 'use lib "$RealBin/lib";'
which works for the build directory with the appropriate
"use lib" line.

This is a step in allowing to install perl modules under the
prefix directory again.

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

Pair-Programmed-With: Stefan Metzmacher <metze@samba.org>
Signed-off-by: Michael Adam <obnox@samba.org>
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2014-09-05 19:47:06 +02:00
Michael Adam
75c3e240e0 wafsamba: add samba_perl.py with SAMBA_CHECK_PERL() higher level check.
This checks for the perl binary, sets PERL and PERL_SPECIFIED
as well es the PERL_ARCH_INSTALL_DIR and PERL_LIB_INSTALL_DIR.

We want to avoid installing the perl modules outside the prefix.
I.e. generally,the perl modules should be installed
under "$prefix/share/perl5".

This improves the fixes for bug #10472.

The new strategy for automatically setting the paths is this:

- if the prefix equals perl's vendorprefix, then
  - PERL_LIB_INSTALL_DIR is set to perl's vendorlib dir
  - PERL_ARCH_INSTALL_DIR is set to perl's vendorarch dir
- otherwise:
  - PERL_LIB_INSTALL_DIR is set to ${DATADIR}/perl5
    (usually ${PREFIX}/share/perl5)
  - PERL_ARCH_INSTALL_DIR is set to ${LIBDIR}/perl5
    (usually ${PREFIX}/lib/perl5)

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

Pair-Programmed-With: Stefan Metzmacher <metze@samba.org>
Signed-off-by: Michael Adam <obnox@samba.org>
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2014-09-05 19:47:06 +02:00
Stefan Metzmacher
a41a9ad074 wafsamba: let SAMBA_BLDOPTIONS() use dep_vars=['defines'] instead of always=True
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
2014-09-05 19:47:06 +02:00
Stefan Metzmacher
7316653a82 wafsamba: fix dependencies on environment variables for python_fixup
We now checksum the sourcecode of copy_and_fix_python_path()
and the env variables used by this function.

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
2014-09-05 19:47:06 +02:00
Stefan Metzmacher
04bb8ff7e6 wafsamba: allow an optional dep_vars list to be passed to SAMBA_GENERATOR()
This can be used to checksum variables used in the rule function.

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
2014-09-05 19:47:06 +02:00
Stefan Metzmacher
da8c763545 wafsamba: fix dependency for SAMBA_GENERATOR() when passing vars!=None
vars can only be a dictionary as that's the only thing bld.EXPAND_VARIABLES()
accepts.

We need to checksum the whole vars dictionary into the dependencies.

We set task.env.SAMBA_GENERATOR_VARS = vars and add SAMBA_GENERATOR_VARS
to the dep_vars.

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

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
2014-09-05 19:47:05 +02:00
Stefan Metzmacher
ee8fbbd417 wafsamba: fix dependency calculation for SAMBA_GENERATOR()
We need to checksum the rule as string command of the
sourcecode of the python function.

This is stored in the 'ruledeps' envariable on the waf Task.
See exec_rule() in wafadmin/TaskGen.py.

    dep_vars = getattr(self, 'dep_vars', ['ruledeps'])
    if dep_vars:
        tsk.dep_vars = dep_vars
    if isinstance(self.rule, str):
        tsk.env.ruledeps = self.rule
    else:
        # only works if the function is in a global module such as a waf tool
        tsk.env.ruledeps = Utils.h_fun(self.rule)

If there's no 'dep_vars' it defaults to ['ruledeps'].
As we pass our own 'dep_vars' we need to explicitly add
'ruledeps'.

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

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
2014-09-05 19:47:05 +02:00
Michael Adam
210d7de34f wafsamba: improve wording in a comment
Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
2014-09-05 19:47:05 +02:00
Michael Adam
ca06fac2c8 wafsamba: remove unused variable from copy_and_fix_python_path
Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
2014-09-05 19:47:05 +02:00
Amitay Isaacs
4f105b27b7 wafsamba: Correctly locate the 'third_party' directory
Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
2014-08-21 09:11:06 +02:00
Jeremy Allison
a4fa65811d Don't build iniparser anymore.
Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
2014-08-14 21:27:13 +02:00
Ira Cooper
38de110b02 third_party/popt: Initial support for popt.
ctdb, ldb, and samba are supported builds for third_party popt.

Signed-off-by: Ira Cooper <ira@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2014-08-09 18:26:17 +02:00
Ira Cooper
ba8ee8c9e0 third_party/zlib: Initial support for zlib
Signed-off-by: Ira Cooper <ira@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2014-08-09 18:26:16 +02:00
Ira Cooper
f46b79bdb8 third_party/iniparser: Initial support for iniparser.
This is the initial support for iniparser, as well the basic
third_party framework.

Signed-off-by: Ira Cooper <ira@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2014-08-09 18:26:16 +02:00
Volker Lendecke
b3d1d56b5e smbd/nmbd: Remove HAVE_LONGLONG
We always have 64-bit variables available by now

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
2014-07-22 15:32:39 +02:00
Michael Adam
fe6685dbf3 build: rename argument of list_directory_files(): abspath->path
It is never called with an absolute path.

Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Amitay Isaacs <amitay@gmail.com>
2014-06-20 23:38:10 +02:00
Amitay Isaacs
4a5ded2b69 wafsamba: allow samba_dist.dist() to be called from a different directory.
Up to now it assumed to be called from the top level srcdir.

Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Reviewed-by: Michael Adam <obnox@samba.org>
2014-06-20 23:38:09 +02:00
Stefan Metzmacher
2637890ef4 wafsamba: Fail with error message if perl doesn't provide valid dirs.
We try harder to get valid directories, we now fallback like this:

vendorarch => sitearch => archlib
and
vendorlib => sitelib => privlib

The new options are --with-perl-arch-install-dir and
--with-perl-lib-install-dir.

Bug: https://bugzilla.samba.org/show_bug.cgi?id=10472

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
2014-05-09 23:10:07 +02:00
Andreas Schneider
0ba276ebad wafsamba: If perl can't provide defaults, define them.
This should fix the installation on FreeBSD.

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

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Alexander Bokovoy <ab@samba.org>

Autobuild-User(master): Andreas Schneider <asn@cryptomilk.org>
Autobuild-Date(master): Thu May  8 13:55:50 CEST 2014 on sn-devel-104
2014-05-08 13:55:50 +02:00
Gustavo Zacarias
6619055f60 build: make wafsamba CHECK_SIZEOF cross-compile friendly
Use the same trick as commit 0d9bb86293
We do the same array trick iteratively starting from 1 (byte) by powers
of 2 up to 32.

The new 'critical' option is used to make the invocation die or not
according to each test.
The default is True since normally it's expected to find a proper
result and should error out if not.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: David Disseldorp <ddiss@samba.org>
2014-05-06 18:14:13 +02:00
Gustavo Zacarias
5ac317e2b6 build: unify and fix endian tests
Unify the endian tests out of lib/ccan/wscript into wafsamba since
they're almost cross-compile friendly.
While at it fix them to be so by moving the preprocessor directives out
of main scope since that will fail.
And keep the WORDS_BIGENDIAN, HAVE_LITTLE_ENDIAN and HAVE_BIG_ENDIAN
defines separate because of different codebases.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: David Disseldorp <ddiss@samba.org>
2014-05-06 18:14:13 +02:00
Andreas Schneider
ad3a431670 wafsamba: Add set_target to CHECK_BUNDLED_SYSTEM.
Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
2014-04-17 14:56:05 +02:00
Ralph Boehme
85041c88d8 wafsamba: replace dots in library names
Certain libraries use a version number with a dot in the library name,
eg libtracker-sparql-0.16. The dot is passed to the HAVE_LIBXXX macro
but dots aren't allowed in C macros, compiler diagnostic:

  warning: missing whitespace after the macro name

Signed-off-by: Ralph Boehme <rb@sernet.de>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2014-04-08 19:26:13 +02:00
Stefan Metzmacher
e1ec1f5d8d wafsamba: explicitly use allow_warnings=True for SAMBA_PYTHON()
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>

Autobuild-User(master): Andrew Bartlett <abartlet@samba.org>
Autobuild-Date(master): Wed Apr  2 11:04:36 CEST 2014 on sn-devel-104
2014-04-02 11:04:36 +02:00
Stefan Metzmacher
8a1f67b53b wafsamba: add optional allow_warnings(default=True) to SAMBA_{SUBSYSTEM,LIBRARY,MODULE}()
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2014-04-02 09:03:45 +02:00
Stefan Metzmacher
404f025284 wafsamba: add an optional allow_warnings(default=True) to CURRENT_CFLAGS()
-Werror is now remembered in PICKY_CFLAGS and only added if
allow_warnings is False.

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2014-04-02 09:03:45 +02:00
Stefan Metzmacher
8cdd9f3a7f wafsamba: split out a conf.ADD_NAMED_CFLAGS() function
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2014-04-02 09:03:45 +02:00
Stefan Metzmacher
2f059329b0 wafsamba: use -Werror=declaration-after-statement if available
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2014-04-02 09:03:45 +02:00
Stefan Metzmacher
e21aa7bf09 wafsamba: use multiple conf.ADD_CFLAGS() lines for developer CFLAGS
We first check for warn flags then for error flags.

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2014-04-02 09:03:45 +02:00
Stefan Metzmacher
cc765baa64 wafsamba: allow --bundled-libraries=ALL,!popt
This will not bundle 'popt', but everything else.

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2014-04-02 09:03:42 +02:00
Stefan Metzmacher
c19e5a0386 wafsamba: allow --bundled-libraries=NONE,popt
This will bundle only 'popt'.

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2014-04-02 09:03:41 +02:00
Stefan Metzmacher
ef380bb2a9 wafsamba: simplify LIB_MUST_BE_BUNDLED()
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2014-04-02 09:03:41 +02:00
Stefan Metzmacher
9a8e35a049 wafsamba: simplify LIB_MAY_BE_BUNDLED()
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2014-04-02 09:03:41 +02:00
Stefan Metzmacher
6ae4121da5 wafsamba: allow optional 'checkcode' argument to CHECK_BUNDLED_SYSTEM()
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2014-04-02 09:03:41 +02:00
Stefan Metzmacher
764706c2b0 wafsamba: allow CHECK_BUNDLED_SYSTEM() to check headers without functions
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2014-04-02 09:03:41 +02:00
Stefan Metzmacher
cec109ccf9 wafsamba: simplify CHECK_BUNDLED_SYSTEM_PKG() by just calling CHECK_BUNDLED_SYSTEM()
If checkfunctions is not specified they are the same.

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2014-04-02 09:03:41 +02:00
Stefan Metzmacher
4dea4e310d wafsamba: port optional 'pkg' option from CHECK_BUNDLED_SYSTEM_PKG() to CHECK_BUNDLED_SYSTEM()
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2014-04-02 09:03:41 +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
Stefan Metzmacher
47dbd4ef60 wafsamba: use cluster_support_features in build_options.c
This way 'smbd -b' returns the cluster features of the currently used
libsamba-cluster-support.so.

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
2014-03-24 17:09:10 +01:00
Stefan Metzmacher
1c1a2e4596 wafsamba: add CONFIG_RESET()
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
2014-03-24 17:09:10 +01:00
Andreas Schneider
48f0183dbe buildtools: Add perl vendorlib configure option.
After this patch has been pushed, we need to change autobuild to compile
with this option or we will not be able to install pidl.

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
2014-03-06 09:59:43 +01:00
Andreas Schneider
04685ff4ee buildtools: Rename perl vendorarch configure option.
Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
2014-03-06 09:59:42 +01:00
Andreas Schneider
c2d58c3c20 Revert "waf: Add option to specify perl vendor dir."
This reverts commit 9b200555fe.

Reviewed-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
2014-03-06 09:59:42 +01:00
Andreas Schneider
9b200555fe waf: Add option to specify perl vendor dir.
BUG: https://bugzilla.samba.org/show_bug.cgi?id=10472

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Kai Blin <kai@samba.org>

Autobuild-User(master): Andreas Schneider <asn@cryptomilk.org>
Autobuild-Date(master): Thu Feb 27 11:48:54 CET 2014 on sn-devel-104
2014-02-27 11:48:54 +01:00
Gustavo Zacarias
f8c179b80e build: allow some python variable overrides
The python variables (settings) are fetched from a running python
interpreter which usually isn't the target one when cross compiling,
hence libraries and flags aren't the same and can pollute the target build.
Allow some of these variables to be redefined via environment variables
in order to aid cross-compiling.
According to testing python_LDFLAGS and python_LIBDIR should be enough.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Reviewed-by: Jeremy Allison <jra@samba.org>
Reviewed-by: David Disseldorp <ddiss@samba.org>

Autobuild-User(master): Jeremy Allison <jra@samba.org>
Autobuild-Date(master): Thu Feb 13 06:03:26 CET 2014 on sn-devel-104
2014-02-13 06:03:26 +01:00
David Disseldorp
a8071954fe build: warn about mixed declarations and code
Attempt to use the -Wdeclaration-after-statement cflag when building in
developer mode.

Signed-off-by: David Disseldorp <ddiss@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>

Autobuild-User(master): Jeremy Allison <jra@samba.org>
Autobuild-Date(master): Sat Feb  1 20:20:35 CET 2014 on sn-devel-104
2014-02-01 20:20:35 +01:00
Garming Sam
57ba012c10 docs: define and include entities for the docs
This allows for dynamic default settings to be generated.

Change-Id: If8b93d233fb941bc7e3073ccf4b5ec0b0a231bd9
Pair-programmed-with: Andrew Bartlett <abartlet@samba.org>
Signed-off-by: Garming Sam <garming@catalyst.net.nz>
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
2014-01-31 21:07:05 +01:00
Christian Ambach
a83f491810 waf:lib/replace change detection of gettext
convert this to an automatic check: if no option is given, try to find gettext
and if found, use it
if user has specified --with-gettext, then bail out if it could not be found
in case of --without-gettext, skip all gettext related configure checks

Bug: https://bugzilla.samba.org/show_bug.cgi?id=9911

Signed-off-by: Christian Ambach <ambi@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2014-01-03 05:04:44 +01:00
Björn Jacke
af5102fe00 build: test the generic md5 function after importing it from hashlib
otherwise we used the one from md5 which lead to the following warning on SerNet-imini:

the md5 module is deprecated; use hashlib instead import md5

Signed-off-by: Bjoern Jacke <bj@sernet.de>

Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2014-01-08 18:20:19 +13:00
Steven Siloti
319c2d7311 waf: parse LDFLAGS from python
The LDFLAGS returned by get_python_variables may contain additional library
search paths. These need to be parsed out and placed in LIBPATH to maintain
correct ordering of search paths in the final link flags.

Specifically, appending LDFLAGS directly to LINKFLAGS on my system was causing
/usr/lib to be the first search path specified. This lead to linking against
installed libraries rather than the versions from the current build.

Reviewed-by: Andrew Bartlett <abartlet@samba.org>

Autobuild-User(master): Andrew Bartlett <abartlet@samba.org>
Autobuild-Date(master): Fri Oct 25 02:48:35 CEST 2013 on sn-devel-104
2013-10-25 02:48:35 +02:00
Michael Adam
64f5e24100 build: fix ordering problems with lib-provided and internal RPATHs
When a library or system (like cups) provides an RPATH,
e.g. with -Wl,-R or -Wl,-rpath, this was added by waf
to the LINKFLAGS, wich was later prepended to our RPATH.
But if the path by chance contains an older version of
one of our internal libraries like talloc, this would lead
to linking the too old talloc into our binaries.

This has been observed on, e.g., FreeBSD, but it is a general
problem.

This patch fixes the problem by specially parsing the RPATH
linker options from the pkg-config(, cups-config, ....) output
and putting the paths into the RPATH_<lib> container, which
is then later correctly appended to our internal RPATH.

Signed-off-by: Michael Adam <obnox@samba.org>

Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2013-10-25 11:55:14 +13:00
Matthieu Patou
096c962bfe Backport 0e97908 from WAF repository: symlink fix for OpenBSD
Author: Thomas Nagy <tnagy1024@gmail.com>
Signed-off-by: Matthieu Patou <mat@matws.net>
Reviewed-by: Kai Blin <kai@samba.org>

Autobuild-User(master): Kai Blin <kai@samba.org>
Autobuild-Date(master): Sat Sep 21 11:14:30 CEST 2013 on sn-devel-104
2013-09-21 11:14:30 +02:00
Christian Ambach
a742e87b39 waf: add --without-gettext option
Signed-off-by: Christian Ambach <ambi@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2013-08-09 22:46:51 +02:00
Christian Ambach
ce8fbdf76e waf: fix build on AIX7
the same works for AIX 5,6,7 so leave away the version specifics (as autoconf build did)

Signed-off-by: Christian Ambach <ambi@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2013-08-09 22:45:35 +02:00
Andreas Schneider
191e6b9441 waf: Build with RELRO if supported by the compiler.
Make sure we create binaries with full RELocation Read-Only support. See
https://isisblogs.poly.edu/2011/06/01/relro-relocation-read-only/
for more details.

The default is to check if the compiler supports RELRO and then enable
it. Specifying '--with-relro' will make it mandatory and
'--without-relro' will disable it.

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2013-07-09 13:00:37 -07:00
Michael Adam
3f24d694e7 build: Add missing new line to replaced python shebang line. (Fix bug #9909)
When configuring with a non-standard python specified in
the PYTHON environment variable, the shebang lines in various
python tools like samba-tool and samba_dnsupdate get replaced.

This replace line for the shebang was missing a newline
which joined the shebang line with the following line,
rendereing those scripts with a nonempty second line unusuable,
for example samba_dnsupdate.

This patch fixes this bug which is bug #9909 on bugzilla.

Pair-Programmed-With: Karolin Seeger <kseeger@samba.org>

Signed-off-by: Michael Adam <obnox@samba.org>
Signed-off-by: Karolin Seeger <kseeger@samba.org>

Reviewed-by: Andrew Bartlett <abartlet@samba.org>

Autobuild-User(master): Michael Adam <obnox@samba.org>
Autobuild-Date(master): Wed May 29 13:21:51 CEST 2013 on sn-devel-104
2013-05-29 13:21:51 +02:00
Andrew Bartlett
dd72d85e92 build: Remove unused tool for config.h comparison
Reviewed-by: Jelmer Vernooij <jelmer@samba.org>

Reviewed-by: David Disseldorp <ddiss@samba.org>
2013-05-28 12:17:12 +10:00
David Disseldorp
4e76a77f62 waf: build position independent executables
This patch re-instates support for building Position Independent
Executables using the '-fPIE' and '-pie' compiler and linker flags
respectively.

PIE builds are enabled by default, and can be explicitly disabled using
the '--without-pie' configure argument.

Reviewed-by: Andrew Bartlett <abartlet@samba.org>

Autobuild-User(master): Andrew Bartlett <abartlet@samba.org>
Autobuild-Date(master): Tue May 28 02:56:36 CEST 2013 on sn-devel-104
2013-05-28 02:56:36 +02:00
Andrew Bartlett
8903103bd6 build: Do not always regenerate the version.h file
Reviewed-by: Jelmer Vernooij <jelmer@samba.org>
2013-05-27 11:57:02 +10:00
Andrew Bartlett
c6673b96a5 build: Remove binaries and libraries build groups
Build groups are used in Samba to ensure that even if the dependency
chain for a target is not perfect, that it builds reliably.  This
matters most in the early build stages, where we are building the asn1
compiler and autogenerating files.

Once we get to the main stage, dependencies between C files, libraries
and binaries are much clearer, because the C compiler and linker takes
these as inputs anyway.

Groups were added to our waf build for stability during early
development, as dependency information was first imported from the
previous autoconf/perl based build system.

I don't think we need this distinction in the main build of C files
into .o, and when linking these into binaries, because the invocation
of these tools is very well defined, and we will find any missing
inputs very quickly.

As such, I've removed the libraries and binaries targets,
consolidating them with 'main'

By making this change, a build of smbtorture only on a clean tree
drops from 3778 to 2489 targets, and much of the expensive linker
stage is skipped.  The time for a null build of smbtorture only also
drops from 4.673s to as low as 2.499s on my laptop.

Andrew Bartlett

Reviewed-by: Jelmer Vernooij <jelmer@samba.org>
2013-05-27 11:56:46 +10: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
Kai Blin
61a2ad3c02 swat: Remove swat.
Signed-off-by: Kai Blin <kai@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>

Autobuild-User(master): Kai Blin <kai@samba.org>
Autobuild-Date(master): Sat May 18 16:32:38 CEST 2013 on sn-devel-104
2013-05-18 16:32:38 +02:00
Vadim Zhukov
2fda6c47f4 More generic check for OpenBSD platform
OpenBSD versioning is different from many other
projects, and, say, 5.0 does not differ from 4.9 more than from 5.1. So the
right approach will be to check that platform name starts with "openbsd"
instead. This is also the thing OpenBSD developers do when patching other
software, so this patch is consistent with already existing practicies.

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

Reviewed-by: Lars Müller <lars@samba.org>
Reviewed-by: Björn Jacke <bj@sernet.de>

Autobuild-User(master): Björn Jacke <bj@sernet.de>
Autobuild-Date(master): Fri May 17 17:58:16 CEST 2013 on sn-devel-104
2013-05-17 17:58:16 +02:00
Matthieu Patou
1160b699cb configure: print a message when docbook.xsl is missing localy
Signed-off-by: Matthieu Patou <mat@matws.net>

Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2013-05-06 21:05:25 +12:00
Andrew Bartlett
7955bf473f build: Raise minimum python version to 2.5.0 for samba build
RHEL5 has a python26 package for a modern python, and was the main reason we
kept python 2.5 support.

However, this support never actually worked for AD DC installations,
as samba-tool uses a feature only in 2.5 and above.  Very few folks
noticed and those were on RHEL5, and moving to 2.5 allows us to remove
some other workarounds.

Andrew Bartlett

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

Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2013-04-11 16:44:46 +10:00
Andrew Bartlett
58e3c5323e build: Replace #!/usr/bin/env python with passed in PYTHON=
This means that if we were forced to use a specific python for the build, we
will put that binary into the top of samba-tool, so it continues to work
after the install.

Andrew Bartlett

Reviewed-by: Michael Adam <obnox@samba.org>
2013-04-10 00:13:45 +02:00
Alexander Bokovoy
6058bc9bb6 wafsamba: fix samba_abi for default catch-all case
Only filter out the symbol when positive match was not found and there is
negative match.

ABI signature file generator worked incorrectly for cases when mixture of
positive and negative matches were provided. This resulted in generating empty
signature file for libpdb since there was no catch-all positive match anymore.

Commit 9ba44cc610 removed explicit '*' positive
match and corresponding vscript generator adds '*' by default if global match
list is empty, so this commit introduces feature parity into signature
generator.

Reviewed-by: Andreas Schneider <asn@samba.org>
2013-04-09 20:29:18 +02:00
Stefan Metzmacher
81cc940c99 wafsamba: display the default value in help for SAMBA3_ADD_OPTION
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
2013-04-03 09:53:08 +02:00
Andrew Bartlett
afe9343880 build: Do not pass CPP="" to pidl, skip the env variable entirely
This will cause pidl to use $CC -E instead.

Andrew Bartlett

Reviewed-by: Stefan Metzmacher <metze@samba.org>
2013-03-25 10:25:36 +01:00
Andrew Bartlett
7dc6dfd90c build: Remove the forced use of only the first part of the compiler string
This corrects parts of 378295c3fe and
301d59caf2.  This is seen if CC="ccache
gcc" and CPP isn't used for some reason.

Andrew Bartlett

Reviewed-by: Stefan Metzmacher <metze@samba.org>
2013-03-25 10:23:00 +01:00
Andrew Bartlett
80fce353e7 build: Change bin/default/python -> bin/python symlink to bin/default/python_modules
This avoids a collision with the new top level python directory.

Andrew Bartlett
2013-03-02 02:16:52 +01:00
Stefan Metzmacher
87f255821b wafsamba: add CHECK_VALUEOF() helper
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2013-03-01 11:58:38 -08:00
Björn Baumbach
d61d2af372 wafsamba: use additional xml catalog file (bug #9512)
Add additional "/usr/local/share/xml/catalog" catalog file
platforms (used by freebsd).
Fix manual page build on freebsd.

Signed-off-by: Björn Baumbach <bb@sernet.de>
Reviewed-by: Michael Adam <obnox@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
2013-01-15 14:49:19 +01:00
Andrew Bartlett
9dfd0a0dc9 build: Remove bashism from SAMBAMANPAGES rule
In sh, you must assign the variable, then export it.

Andrew Bartlett

Reviewed-by: Stefan Metzmacher <metze@samba.org>
2013-01-10 18:46:22 +11:00
Jelmer Vernooij
e1a819ea18 wafsamba: python-config is not always a script. 2012-12-26 20:48:36 +01:00
Alexander Bokovoy
b6e2be8e14 wafsamba: replace try:except: case with explicit comment about FIPS mode
Since exceptions will be caught be outer try:except: pair anyway, mark
the test of MD5 code by the comment that explains why we need to really
test it.

Do it for both hashlib.md5 and md5 modules.

Autobuild-User(master): Alexander Bokovoy <ab@samba.org>
Autobuild-Date(master): Sat Dec  8 18:41:07 CET 2012 on sn-devel-104
2012-12-08 18:41:07 +01:00
Alexander Bokovoy
56d9c8c4bf wafsamba: Make sure md5 is really work before using it or overriding the hash function
In FIPS mode importing md5 Python module will not cause any error but calling md5.md5()
function will throw ValueError since md5 is not available.

Make sure md5.md5() actually works and if not, fall back to use hash replacement that
we already have in wafsamba.

Reviewed-by: Andreas Schneider <asn@samba.org>

Autobuild-User(master): Andreas Schneider <asn@cryptomilk.org>
Autobuild-Date(master): Sat Dec  8 13:30:07 CET 2012 on sn-devel-104
2012-12-08 13:30:07 +01:00
Andreas Schneider
2ad562057a BUG 9459: Install manpages only if we install the target.
Reviewed-by: Alexander Bokovoy <ab@samba.org>

Autobuild-User(master): Andreas Schneider <asn@cryptomilk.org>
Autobuild-Date(master): Tue Dec  4 18:07:47 CET 2012 on sn-devel-104
2012-12-04 18:07:47 +01:00
Christian Ambach
3712de7b9c build(waf): support AIX 6.1
on AIX6.1, we need to define _ALL_SOURCE as well, otherwise
system headers with BSD types like u_int cannot be used
2012-11-09 19:15:24 +01:00
Jelmer Vernooij
ec3cbb6c47 wafsamba.abi: Fix abi_match with both excludes and includes.
This fixes a regression introduced by 9c3e294400
which caused internal symbols in libldb to be exposed.

Bug: https://bugzilla.samba.org/show_bug.cgi?id=9357

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Stephen Gallagher <sgallagh@redhat.com>
2012-11-06 08:27:44 +11:00
Jelmer Vernooij
d02c8ba122 wafsamba.samba_abi: Add basic unit tests.
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Stephen Gallagher <sgallagh@redhat.com>
2012-11-06 08:27:44 +11:00
Andrew Bartlett
97102fa996 buildtools: Remove extra space from global: line
This makes it easier to put the expected values in a file
as we will not have trailing whitespace that is against git style.

Andrew Bartlett

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Jelmer Vernooij <jelmer@samba.org>

Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2012-11-06 08:27:44 +11:00
Jelmer Vernooij
ea5ef95fbe wafsamba.samba_abi: Refactor abi_write_vscript to take file argument.
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Stephen Gallagher <sgallagh@redhat.com>
2012-11-06 08:27:43 +11:00
Andrew Bartlett
06eee7f50b build: Remove support for IDL-generated files in git tree
This was added in a9ea3d6fa5 but is no
longer required, as we do not store IDL-generated files in GIT.

Andrew Bartlett
2012-10-28 19:39:00 +11:00
Andreas Schneider
8490c1a503 wafsamba: If we define a realname and a soname create a symlink.
This is needed that libnss_winbind.so.2 and libnss_wins.so.2 will get a
corresponding symlinks.
2012-10-22 09:04:21 +02:00
Stefan Metzmacher
1de9e71475 buildtools/wafsamba: only display 'ok' if the result is True
Otherwise we print the raw value.

metze

Signed-off-by: Michael Adam <obnox@samba.org>
2012-10-19 12:14:57 +02:00
Jelmer Vernooij
276460cf8a wafsamba: Ignore some more symbols when checking for dupes. 2012-10-11 15:21:31 +02:00
Andrew Bartlett
0f435a7adc build: Remove --disable-shared
This does not work, and has no known use cases.  Remove it so we do
not waste time trying to support it.

This also removes it for ldb/tdb/ntdb/talloc, but as these are first
shared libraries, and then tools on top of those, rpath or (for
emergency tools) --nonshared-binary= seems more appropriate.

Andrew Bartlett
2012-10-11 14:57:44 +11: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
Ira Cooper
0231575709 waf: Make samba "ok" with directories for install being symlinks
stat -> lstat conversion.  This allows people for whom $PREFIX/var is a
symlink to complete make install.

Autobuild-User(master): Ira Cooper <ira@samba.org>
Autobuild-Date(master): Thu Sep 20 23:26:26 CEST 2012 on sn-devel-104
2012-09-20 23:26:26 +02:00
Alexander Bokovoy
73ed153310 docs-xml: convert smb.conf.5 build to waf
smb.conf(5) is different from other manpages because before it is
built, it gets merged together from a number of smaller files, one
per parameter. So we first create a parameters.all.xml file that
references all these files and then include it into master smb.conf.5.xml

One small issue is how to handle generated files in WAF build
from xi:include perspective as the files are generated in bin/default/docs-xml
rather than in docs-xml. We solve this by further expanding use of XML catalogs
and rewriting virtual path http://www.samba.org/samba/smbdotconf/ to proper
location.

Both docs-xml autoconf and waf builds work correctly now.

Autobuild-User(master): Alexander Bokovoy <ab@samba.org>
Autobuild-Date(master): Mon Sep 17 14:18:31 CEST 2012 on sn-devel-104
2012-09-17 14:18:31 +02:00
Michael Adam
d28f36d16e build:dist: extend meaning of DIST_FILES to also recurse into directories
Pair-Programmed-With: Stefan Metzmacher <metze@samba.org>
2012-09-12 23:53:12 +02:00
Michael Adam
36b2732426 build:dist: make use of file / distfile more obvious in handling of DIST_FILES in "make dist"
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2012-09-12 23:53:09 +02:00
Michael Adam
8ea2a468c3 build:dist: extend samba_dist.DIST_FILES() to take optional parameter extend(=False)
This allows to do multpile DIST_FILES() calls that will extend the list
rather than only setting it initially.

Signed-off-by: Stefan Metzmacher <metze@samba.org>
2012-09-12 23:53:02 +02:00
Michael Adam
4989a9dd7c build:waf dist: factor out function to add list of files to the tarball
Pair-Programmed-With: Stefan Metzmacher <metze@samba.org>
2012-09-12 23:52:56 +02:00
Andreas Schneider
66a87d7cbe wafsamba: Add a SAMBAMANPAGES function. 2012-09-12 12:21:29 +02:00
Alexander Bokovoy
9c3e294400 wafsamba/samba_abi: allow negative matches in abi_match
abi_match keyword for samba libraries allows to selectively
apply ABI versions. samba_abi.py implied !sym to be used to
say 'all symbols but this one' but the actual demotion
of !sym to the local scope was not implemented.

Now abi_match='!sym' properly moves symbol to a local scope.
2012-09-07 12:31:42 +02:00
Alexander Bokovoy
c63dcc97b6 gen_abi.sh: filter out symbols not needed for ABI
gdb does not allow to print definitions of certain section names
and special symbols used for dynamic loading machinery:

__bss_start
_edata
_init
_fini
_end

Please note the space before the pattern, it is needed to avoid
hungry matches of valid symbols with these as substrings (foo_init,
for example).

Without this patch gdb on Fedora 18 breaks when attempting to print
function and struct signature.
2012-09-07 12:31:42 +02:00
Alexander Bokovoy
6b2e7aabb7 wafsamba/samba_abi: fix signature parsing for structures
Signature parsing for structure objects was broken. Existing regexp
was greedingly cutting off additional curly brackets that belonged to
the first and last structure member.
2012-09-07 12:31:42 +02:00
Andreas Schneider
f0da7c509c waf: Create catalog file for manpage generation. 2012-09-07 10:48:57 +02:00
Andreas Schneider
802708b410 wafsamba: Add a CONFIGURE_FILE option. 2012-09-07 10:48:57 +02:00
Andreas Schneider
18eb505b89 wafsamba: Add support for manpages in SAMBA_MODULE. 2012-09-07 10:48:57 +02:00
Andrew Bartlett
4d5471f1c6 build: Remove special case for the build farm
Except in the formatting of the selftest output, this removes the special case
of the build farm, so that an autobuild, a manual make test and the build farm
are more similar.

Andrew Bartlett

Autobuild-User(master): Andrew Bartlett <abartlet@samba.org>
Autobuild-Date(master): Tue Aug 21 06:39:04 CEST 2012 on sn-devel-104
2012-08-21 06:39:04 +02:00
Andrew Bartlett
7cd4eb0ca6 build: Remove accidentily added line in samba_version.py
This was incorrectly added in 0e441636af.

Andrew Bartlett

Autobuild-User(master): Andrew Bartlett <abartlet@samba.org>
Autobuild-Date(master): Tue Aug 21 03:11:16 CEST 2012 on sn-devel-104
2012-08-21 03:11:16 +02:00
Andrew Bartlett
0e441636af WHATSNEW: Remove over-caution on s3fs and explain browsing better 2012-08-20 21:58:06 +10:00
Andrew Bartlett
6ce362afef build: Ensure -Werror=format works with -Wformat=2 on NULL format strings
This should fix the build on some gcc versions, (noticed on FreeBSD by Volker).

We want the protection of -Werror=format without the errors extending
to the format string itself being NULL, because that is valid for
ldb_search().

Andrew Bartlett

Autobuild-User(master): Andrew Bartlett <abartlet@samba.org>
Autobuild-Date(master): Fri Aug 17 14:50:16 CEST 2012 on sn-devel-104
2012-08-17 14:50:16 +02:00
Andrew Bartlett
33c79c8731 build: Make -Werror=format check only run where NULL is still accepted
This is needed because ldb_search() allows a NULL parameter for the format string
and this needs to be permitted by the format string checker before we want to
make this error fatal.

Andrew Bartlett
2012-08-06 20:51:56 +10:00
Andrew Bartlett
3aa6f085c2 build: Add more -Werror flags now the tree is clean of these errors
Autobuild-User(master): Andrew Bartlett <abartlet@samba.org>
Autobuild-Date(master): Mon Jul 30 08:23:24 CEST 2012 on sn-devel-104
2012-07-30 08:23:24 +02:00
Björn Jacke
86c2d486f2 buildtools: use egrep when we need the "-f patternfile" option
Solaris' default grep doesn't know the -f option

Autobuild-User(master): Björn Jacke <bj@sernet.de>
Autobuild-Date(master): Thu Jul 26 20:49:18 CEST 2012 on sn-devel-104
2012-07-26 20:49:17 +02:00
Andrew Bartlett
d00d20626f waf: Update to newer upstream snapshot.
Autobuild-User(master): Andrew Bartlett <abartlet@samba.org>
Autobuild-Date(master): Tue Jul 24 16:42:44 CEST 2012 on sn-devel-104
2012-07-24 16:42:44 +02:00
Andrew Bartlett
00050a12b0 build: Add -Werror=address to the developer build
Signed-off-by: Jeremy Allison <jra@samba.org>
2012-07-24 00:09:46 +02:00
Björn Baumbach
f48f65e695 wafsamba: samba_version: add samba version suffix to vcs_fields
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2012-07-03 15:32:09 +02:00
Stefan Metzmacher
b70164bc31 wafsamba/irixcc: next try to inject '-c99' the the build
metze
2012-06-20 12:58:57 +02:00
Stefan Metzmacher
a94bed3178 Revert "wafsamba/irixcc: add '-c99' option to cc"
This reverts commit 59daf91f39.

Doesn't seem to work :-(

metze
2012-06-20 12:58:57 +02:00
Rusty Russell
6244f668a3 TDB2: make SAMBA use tdb1 again for the moment.
Otherwise the following surgery will break the SAMBA build and testsuite.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2012-06-19 05:38:05 +02:00
Stefan Metzmacher
59daf91f39 wafsamba/irixcc: add '-c99' option to cc
Lets see if this fixes the build on IRIX.

metze

Autobuild-User(master): Stefan Metzmacher <metze@samba.org>
Autobuild-Date(master): Tue Jun 19 02:42:21 CEST 2012 on sn-devel-104
2012-06-19 02:42:20 +02:00
Jelmer Vernooij
98bd0d18db waf: Update to newer upstream snapshot.
Autobuild-User(master): Jelmer Vernooij <jelmer@samba.org>
Autobuild-Date(master): Fri Jun 15 03:12:35 CEST 2012 on sn-devel-104
2012-06-15 03:12:35 +02:00
Jelmer Vernooij
eacb77bb92 update-waf.sh: make mktemp happy by including anything Xes. 2012-06-15 01:18:08 +02:00
Stefan Metzmacher
bff935b814 wafsamba: try to fix the build on AIX with xlc_r
bld.env['CPP'] can be 'None' or '[]', bld.CONFIG_SET("CPP") should return False

File "./buildtools/wafsamba/samba_pidl.py", line 131, in SAMBA_PIDL_LIST
    bld.SAMBA_PIDL(name, p, options=options, output_dir=output_dir, symlink=symlink, generate_tables=generate_tables)
  File "./buildtools/wafsamba/samba_pidl.py", line 65, in SAMBA_PIDL
    cpp = 'CPP="%s"' % bld.CONFIG_GET("CPP")[0]
IndexError: list index out of range

metze

Autobuild-User(master): Stefan Metzmacher <metze@samba.org>
Autobuild-Date(master): Sun Jun 10 20:18:49 CEST 2012 on sn-devel-104
2012-06-10 20:18:49 +02:00
Björn Jacke
2bdfd284ab build: try to fix large file support for AIX
Autobuild-User(master): Björn Jacke <bj@sernet.de>
Autobuild-Date(master): Fri Jun  8 00:37:00 CEST 2012 on sn-devel-104
2012-06-08 00:37:00 +02:00
Andrew Bartlett
d561ef20b5 VERSION: prepare for beta1 by setting and parsing the beta version 2012-06-05 04:27:36 +02:00
Andrew Bartlett
403dda3c22 build: Add automatic compare of config.h files to recursive waf build
This uses the fact that we have both build systems running at the same time.

The krb5 checks are skipped because we typically are comparing internal Heimdal
with the system krb5, so they do not make sense.

The required checks for krb5 are pretty well understood in any case, as
we have a limited set of supported libraries.

Andrew Bartlett
2012-06-01 03:04:27 +02:00
Andriy Syrovenko
a8f5faa09a build: Add option to specify where gettext is (/usr/local by default)
This should help configure script to find gettext on FreeBSD and
(possibly) some other systems as well.
2012-05-27 13:16:47 +10:00
Alexander Bokovoy
77a6c81347 wafsamba: ensure TO_LIST does not fail with empty string 2012-05-23 17:51:50 +03:00
Alexander Bokovoy
2ddf89a2bc Introduce system MIT krb5 build with --with-system-mitkrb5 option.
System MIT krb5 build also enabled by specifying --without-ad-dc

When --with-system-mitkrb5 (or --withou-ad-dc) option is passed to top level
configure in WAF build we are trying to detect and use system-wide MIT krb5
libraries. As result, Samba 4 DC functionality will be disabled due to the fact
that it is currently impossible to implement embedded KDC server with MIT krb5.

Thus, --with-system-mitkrb5/--without-ad-dc build will only produce
  * Samba 4 client libraries and their Python bindings
  * Samba 3 server (smbd, nmbd, winbindd from source3/)
  * Samba 3 client libraries

In addition, Samba 4 DC server-specific tests will not be compiled into smbtorture.
This in particular affects spoolss_win, spoolss_notify, and remote_pac rpc tests.
2012-05-23 17:51:50 +03:00
Andrew Bartlett
8e5badc256 build: Also look for iconv in /usr/local by default
This should help the build find iconv on FreeBSD and similar systems,
and make it possible to operate with 8-bit character sets.

Andrew Bartlett
2012-05-18 15:44:43 +10:00
Thomas Nagy
4626f25b53 Add include/lib folders from the commandline
By using opt.add_option(..., match=['Checking for library iconv'], dest='iconvdir'),
all configuration tests displaying 'Checking for library iconv' will get
$(iconvdir)/lib and $(iconvdir)/include
2012-05-18 15:44:43 +10:00
Andrew Bartlett
b6e36089e5 build: Add explicit mention of --abi-check-disable to ABI checker
This information has always been in the linked wiki page, but put it
in the build to unblock developers using platforms with slightly
different GDB output.

We can also assist this by improving the string normalisiation in the
ABI checker when example errors are provided.

It is better to build with the waf build and the full testsuite than
to avoid the waf build or not to use the developer options simply to
skip the ABI checker.

Andrew Bartlett

Autobuild-User: Andrew Bartlett <abartlet@samba.org>
Autobuild-Date: Wed May 16 01:53:42 CEST 2012 on sn-devel-104
2012-05-16 01:53:42 +02:00
Andrew Bartlett
37609ba6b8 build: Avoid printing the ABI signature normalisation during the default build
This appears to have been accidentily left in acd63fdb86

Andrew Bartlett

Autobuild-User: Andrew Bartlett <abartlet@samba.org>
Autobuild-Date: Thu May 10 09:00:20 CEST 2012 on sn-devel-104
2012-05-10 09:00:20 +02:00
Andrew Bartlett
d74c5a3dc4 build:ignore solaris _GLOBAL_OFFSET_TABLE_ in duplicate symbol checker 2012-05-10 14:57:13 +10:00
Günther Deschner
5f05eacd27 allow to use system iniparser library.
Guenther

Autobuild-User: Günther Deschner <gd@samba.org>
Autobuild-Date: Wed May  9 17:38:33 CEST 2012 on sn-devel-104
2012-05-09 17:38:33 +02:00
Alexander Bokovoy
594e316181 lib/replace: split out GSSAPI from lib/replace/system/kerberos.h into lib/replace/system/gssapi.h
With waf build include directories are defined by dependencies specified to subsystems.
Without proper dependency <gssapi/gssapi.h> cannot be found for embedded Heimdal builds
when there are no system-wide gssapi/gssapi.h available.

Split out GSSAPI header includes in a separate replacement header and use that explicitly
where needed.

Autobuild-User: Alexander Bokovoy <ab@samba.org>
Autobuild-Date: Wed Apr 25 00:18:33 CEST 2012 on sn-devel-104
2012-04-25 00:18:32 +02:00
Andrew Bartlett
26007a8917 wafsamba: allow certain public libraries to be forced to be private
This will help installations where the Samba4 libraries must be used but
the main system is not using the system libs that would normally
be installed.  This in particular impacts on libwbclient, which is a
core dep, but is different to that used by the rest of a Samba 3.x based
system.

Use eg:  ./configure --private-libraries=wbclient

Andrew Bartlett

Autobuild-User: Andrew Bartlett <abartlet@samba.org>
Autobuild-Date: Fri Apr 20 03:27:22 CEST 2012 on sn-devel-104
2012-04-20 03:27:22 +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
Andrew Bartlett
99caee5eef build: Remove more of the s3 special cases in waf: only pidfile.c needs -DCONFIGFILE 2012-04-18 12:04:59 +10: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
Alexander Bokovoy
89e998412f waf: samba-specific methods should have capitalized names, change process_separate_rule to follow
Changing process_separate_rule to PROCESS_SEPARATE_RULE.

Thanks Thomas Nagy for review.

Autobuild-User: Alexander Bokovoy <ab@samba.org>
Autobuild-Date: Sat Apr 14 08:55:43 CEST 2012 on sn-devel-104
2012-04-14 08:55:43 +02:00
Alexander Bokovoy
1a8405c320 wafsamba: add support for separate rules in stages
bld.process_separate_rule(rule) and conf.process_separate_rule(rule)
will cause WAF to import wscript_<stage>_<rule> script into current
context.

Files wscript_<configure|build>_<rule> should exist in the current
directory.

This can be used to provide rules specific for alternative
implementations of certain libraries

Autobuild-User: Alexander Bokovoy <ab@samba.org>
Autobuild-Date: Fri Apr 13 18:34:39 CEST 2012 on sn-devel-104
2012-04-13 18:34:39 +02:00
Alexander Bokovoy
dda0531aae WAF: Add support for stopping processing before end of wscript{_*}
WAF scripts are written in Python and Python has no simple way
to stop program execution other than using exceptions.

This change adds WscriptCheckSkipped exception and its handling in
core WAF code. When any of wscript{_*} throws WscriptCheckSkipped
exception, WAF simply continues to process next wscript in queue
rather than breaking build.

WscriptCheckSkipped exception can be used to perform early bail out
of configuration/build target checks if certain dependency is not available
when the default checks are way more numerous than a check for this
particular dependency. This is to avoid 'if ...' indenting for large
blocks of existing code which also muddens git history for nothing.

Signed-off-by: Andreas Schneider <asn@samba.org>
2012-04-12 12:06:43 +02:00
Günther Deschner
011540b520 wafsamba: point out that local heimdal paths are not included when
USING_SYSTEM_KRB5 gets set.

Guenther

Signed-off-by: Andreas Schneider <asn@samba.org>
2012-04-12 12:06:41 +02:00
Andrew Bartlett
30203bda66 build: Fix spelling of tevent
Found by metze.

Andrew Bartlett

Autobuild-User: Andrew Bartlett <abartlet@samba.org>
Autobuild-Date: Wed Apr 11 17:36:19 CEST 2012 on sn-devel-104
2012-04-11 17:36:19 +02:00
Andrew Bartlett
c5a58c3ea7 build: use include paths for pkg-config found libraries 2012-04-11 16:00:38 +02:00
Andrew Bartlett
72b8a0952a buildtools: Add --enable-debug option 2012-04-11 02:30:39 +02:00
Andrew Bartlett
646aced665 build: search for talloc, tdb, tevent in non-standard system locations
This is needed because the s3 includes.h directly mentions these
headers, but not every part of s3 depends on these directly.

Andrew Bartlett
2012-04-11 02:30:39 +02:00
Jelmer Vernooij
800a9d8bc3 wafsamba/bundled: Fix typo in tuplize_version.
Autobuild-User: Jelmer Vernooij <jelmer@samba.org>
Autobuild-Date: Tue Apr 10 02:21:39 CEST 2012 on sn-devel-104
2012-04-10 02:21:39 +02:00
Jelmer Vernooij
7cf78902dc wafsamba: Parse Python versions as integers separated by dots.
This causes tdb "1.2.10" to no longer be considered older than "1.2.9".

Autobuild-User: Jelmer Vernooij <jelmer@samba.org>
Autobuild-Date: Mon Apr  9 23:16:17 CEST 2012 on sn-devel-104
2012-04-09 23:16:17 +02:00
Jelmer Vernooij
4a3da81edb wafsamba: Return missing libs rather than last syslib.
Autobuild-User: Jelmer Vernooij <jelmer@samba.org>
Autobuild-Date: Sun Apr  8 05:31:15 CEST 2012 on sn-devel-104
2012-04-08 05:31:15 +02:00
Andrew Bartlett
d5c7de8650 build: Require 64-bit files support and do not define HAVE_EXPLICIT_LARGEFILE_SUPPORT 2012-04-05 02:39:08 +02:00
Andrew Bartlett
c03398ec0f build: Add getconf LFS_CFLAGS support to waf build 2012-04-05 02:39:08 +02:00
Jelmer Vernooij
5d10b499bf wafsamba: Avoid NameError when printing error about missing system deps.
Autobuild-User: Jelmer Vernooij <jelmer@samba.org>
Autobuild-Date: Tue Apr  3 17:46:42 CEST 2012 on sn-devel-104
2012-04-03 17:46:42 +02:00
Jelmer Vernooij
acd63fdb86 wafsamba: Cope with slight differences in gdb output regarding incomplete sequences.
Bug: https://bugzilla.samba.org/show_bug.cgi?id=8820
2012-03-26 18:28:06 +02:00
Andreas Schneider
06db3bfa37 waf: Add autoconf --target support.
This is needed on some platforms so that you can set it and it is not
automagically transformed into --targets. The --target option is
normally set by the RPM %configure macro.

Autobuild-User: Andreas Schneider <asn@cryptomilk.org>
Autobuild-Date: Wed Mar 21 11:54:02 CET 2012 on sn-devel-104
2012-03-21 11:54:01 +01:00
Amitay Isaacs
af68fe7113 build: Fix build issue on OpenBSD 5.x
Do not use -Wl,-no-undefined flag on OpenBSD 5.x (tested on 5.0)

Autobuild-User: Amitay Isaacs <amitay@samba.org>
Autobuild-Date: Fri Mar 16 05:14:03 CET 2012 on sn-devel-104
2012-03-16 05:14:02 +01:00
Jelmer Vernooij
fa806eb7c6 wafsamba: Remove shebang lines from non-executable files. 2012-03-15 15:56:27 +01:00
Volker Lendecke
51e785949c waf: Do not use standards.h on darwin
We get a nasty warning every time we include that
2012-03-11 12:35:08 +01:00
Andreas Schneider
aed0735862 waf: Make sure libraries are installed with the execute flag set.
There are two reasons for that. The first is that libraries are
executables and can have main functions (see libc). The second reason is
that rpm script to extract debuginfo are looking for executables and
then check if it is the right file to extract the info.

Autobuild-User: Andreas Schneider <asn@cryptomilk.org>
Autobuild-Date: Thu Feb 23 20:57:11 CET 2012 on sn-devel-104
2012-02-23 20:57:11 +01:00
Dave Abrahams
61314dbe0f waf: make "update-waf" script work on Darwin too
This fixes bug #8766

Reviewed by: Jelmer
Signed-off-by: Matthias Dieter Wallnöfer <mdw@samba.org>

Autobuild-User: Matthias Dieter Wallnöfer <mdw@samba.org>
Autobuild-Date: Sun Feb 19 21:35:06 CET 2012 on sn-devel-104
2012-02-19 21:35:06 +01:00
Jelmer Vernooij
5de8beca18 waf: Use libraries when building.
Autobuild-User: Jelmer Vernooij <jelmer@samba.org>
Autobuild-Date: Sun Feb 19 06:27:55 CET 2012 on sn-devel-104
2012-02-19 06:27:55 +01:00
Jelmer Vernooij
8ce7abd449 Use uselib in CHECK_HEADER. 2012-02-19 03:58:32 +01:00
Jelmer Vernooij
ab454403eb library_flags: Leave setting of CPPPATH to waf too. 2012-02-19 02:16:14 +01:00
Jelmer Vernooij
1f29707f57 waf: Update to new upstream version. 2012-02-18 23:19:51 +01:00
Jelmer Vernooij
580657bc25 wafsamba: Fix some whitespace issues. 2012-02-18 23:17:59 +01:00
Michael Adam
56747249ca wafsamba: fix blacklist handling in "make dist" 2012-02-16 12:07:50 +01:00
Jelmer Vernooij
2d66d16af0 wafsamba: Add tests for dict_concat.
Autobuild-User: Jelmer Vernooij <jelmer@samba.org>
Autobuild-Date: Sun Feb 12 20:17:54 CET 2012 on sn-devel-104
2012-02-12 20:17:54 +01:00
Jelmer Vernooij
a0fb7211cd wafsamba: Add tests for unique_list, subst_vars_error. 2012-02-12 18:44:09 +01:00
Jelmer Vernooij
c3a9d1eb15 waf: Add initial unit test for samba_utils. 2012-02-12 18:44:09 +01:00
Jelmer Vernooij
88a041aa21 wafsamba: Expand tabs. 2012-02-10 00:07:56 +01:00
Andrew Tridgell
0fdd6c7632 build: fixed a link order problem
this fixes a problem found by obnox where the -L path for CUPS was put
before the path to internal libraries. The install path for CUPS
happened to be the same as for a old system libtevent, which meant we
linked against the old tevent instead of the correct one from our
private library paths.

The problem was that we were adding the -L paths directly to the
ldflags. The waf core code (in ccroot.py) only adds more paths if they
are not there already. So by adding it in ldflags it was not added at
the end of the list. The fix is just to not do the -L processing in
wafsamba and let the waf core do it in the right order

Autobuild-User: Andrew Tridgell <tridge@samba.org>
Autobuild-Date: Thu Feb  2 06:54:42 CET 2012 on sn-devel-104
2012-02-02 06:54:42 +01:00
Jelmer Vernooij
d2d4dfdfed waf: Use git repository.
Autobuild-User: Jelmer Vernooij <jelmer@samba.org>
Autobuild-Date: Thu Jan  5 00:10:24 CET 2012 on sn-devel-104
2012-01-05 00:10:23 +01:00
Jelmer Vernooij
4f4bce5301 Include waf as an extracted source directory, rather than as a one-in-a-file script. 2012-01-04 22:34:20 +01:00
Jelmer Vernooij
184b50eb2c wafsamba: Fix undefined variable name in error message.
Autobuild-User: Jelmer Vernooij <jelmer@samba.org>
Autobuild-Date: Fri Dec 16 21:53:57 CET 2011 on sn-devel-104
2011-12-16 21:53:57 +01:00
Jelmer Vernooij
41921d6682 wafsamba: Cope with not everything having a final_libs attribute. 2011-12-05 23:11:05 +01:00
Jelmer Vernooij
bef27a9890 wafsamba: Use final_libs list to determine if a target needs private libraries, rather than direct dependencies list. 2011-12-05 23:11:05 +01:00
Jelmer Vernooij
05bc4de083 Revert making public of the samba-module library.
This library was tiny - containing just two public functions than were
themselves trivial. The amount of overhead this causes isn't really worth the
benefits of sharing the code with other projects like OpenChange. In addition, this code
isn't really generically useful anyway, as it can only load from the module path
set for Samba at configure time.

Adding a new library was breaking the API/ABI anyway, so OpenChange had to be
updated to cope with the new situation one way or another. I've added a simpler
(compatible) routine for loading modules to OpenChange, which is less than 100 lines of code.

Autobuild-User: Jelmer Vernooij <jelmer@samba.org>
Autobuild-Date: Sat Dec  3 08:36:33 CET 2011 on sn-devel-104
2011-12-03 08:36:30 +01:00
Jelmer Vernooij
03759fe022 waf: Fix uselib_store for system libsubunit. 2011-11-14 15:49:36 +01:00
Jelmer Vernooij
86afe83d86 waf: Factor checking for undefined symbol flags out into separate method.
Autobuild-User: Jelmer Vernooij <jelmer@samba.org>
Autobuild-Date: Sun Nov 13 19:38:38 CET 2011 on sn-devel-104
2011-11-13 19:38:38 +01:00
Jelmer Vernooij
af5c6fba68 waf: Simplify handling of python modules. 2011-11-13 18:06:06 +01:00
Jelmer Vernooij
126209d2e5 Revert 9a5ae8edd6d006c078b3af8fdfd84677a63276b1. 2011-11-13 18:06:06 +01:00
Jelmer Vernooij
0966be49a0 wafsamba: Support allow_undefined_symbols in SAMBA_SUBSYSTEM. 2011-11-13 18:06:06 +01:00
Jelmer Vernooij
2f29133491 wafsambaa: Support libraries that don't have the same name as their pkg-config file. 2011-11-13 18:06:06 +01:00
Jelmer Vernooij
f429b166b6 wafsamba: add CHECK_BUNDLED_SYSTEM_PKG function. 2011-11-13 18:06:06 +01:00
Jelmer Vernooij
8aa988a455 ldb: Use pyembed rather than pyext for ldb-util library. 2011-11-13 18:06:06 +01:00
Jelmer Vernooij
312fd94002 waf: Don't link python modules against libpython2.x, consistent with other Python modules.
Rather, rely just on waf's pyext feature. This fixes a warning from dh_python2.
2011-11-13 18:06:06 +01:00
Andrew Bartlett
b256799eaf lib/util Rename samba_init_module -> samba_module_init
This is to provide a cleaner namespace in the public samba plugin
functions.

Andrew Bartlett
2011-10-28 13:10:28 +02:00
Andrew Tridgell
dd64f99fd1 build: explain the passing of make options to waf
add a comment explaining how we pass make command line options into
waf

Autobuild-User: Andrew Tridgell <tridge@samba.org>
Autobuild-Date: Thu Oct 20 07:24:02 CEST 2011 on sn-devel-104
2011-10-20 07:24:02 +02:00
Andrew Tridgell
5c5fc5dde4 build: added deletion of stale .so and .o files
when we change our build rules to move a C file, we need to remove the
old ('stale') .so and .o files from the build directory, or they may
be used as part of the new build, which means that old code will be
linked in.

This expands the list of stale files that we remove on rule changes to
include .so and .o files

Pair-Programmed-With: Amitay Isaacs <amitay@gmail.com>

Autobuild-User: Andrew Tridgell <tridge@samba.org>
Autobuild-Date: Wed Oct 19 09:02:23 CEST 2011 on sn-devel-104
2011-10-19 09:02:23 +02:00
Sumit Bose
6af702bdc9 build: added autoconf --disable-silent-rules option
Signed-off-by: Günther Deschner <gd@samba.org>
2011-10-14 17:52:36 +02:00
Andrew Bartlett
055f017b36 build: Reduce build systems to just top level waf and autoconf
The s3-waf build system is a key component of the top level build, but
with this commit is is no longer available directly.  This reduces the
number of build system combinations in master as we prepare for the
Samba 4.0 release.

Andrew Bartlett
2011-10-07 17:42:03 +11:00
Andrew Bartlett
30e11d55b5 build: Add duplicate symbol checking as part of make test
This ensures we do not get duplicate symbols again, when run as
./configure.developer on non-build farm machines.

Andrew Bartlett

Autobuild-User: Andrew Bartlett <abartlet@samba.org>
Autobuild-Date: Thu Sep  8 13:37:40 CEST 2011 on sn-devel-104
2011-09-08 13:37:40 +02:00
Amitay Isaacs
78c2eca811 build: Replace mkbuildoptions-waf awk script with waf target 2011-09-07 12:16:40 +02:00
Jelmer Vernooij
31912781ca wafsamba: Only install .pc files if libraries are public. 2011-08-21 03:22:05 +02:00
Jelmer Vernooij
8cb6449130 wafsamba: Require public libraries to have headers. 2011-08-21 03:22:05 +02:00
Jelmer Vernooij
12e1fdf089 wafsamba: Require public libraries to have a pc file specified, or explicitly specified that they don't need one. 2011-08-21 03:22:05 +02:00
Amitay Isaacs
a1088d0843 waf: Add SAMBA3_PYTHON context to build python wrappers in samba3 2011-08-13 10:25:06 +10:00
Andrew Tridgell
e98e0cf785 waf: update to latest waf 1.5 version
this includes an on_results fix from thomas that fixes a dependency
problem with our autoproto code

Note that this changes task signatures, so it will trigger a complete
rebuild

Autobuild-User: Andrew Tridgell <tridge@samba.org>
Autobuild-Date: Wed Jul 27 04:27:32 CEST 2011 on sn-devel-104
2011-07-27 04:27:32 +02:00
Jelmer Vernooij
cd7e384d2c wafsamba: Properly lock object store when retrieving version through Bazaar. 2011-07-23 22:08:10 +02:00
Andrew Bartlett
2fcbfcd004 param: Move per-share parameters into a seperate file, to share with s3
This will allow the struct loadparm_service to be in common between
the two loadparm implementations in the tree.

Andrew Bartlett
2011-07-08 11:23:23 +02:00
Andrew Bartlett
8420a36dc7 ldb: make ldb a top level library for Samba 4.0
Signed-off-by: Andrew Tridgell <tridge@samba.org>
2011-07-05 17:24:47 +10:00
Andrew Bartlett
73140a11c4 build: remove mktowscript
We finished the conversion a long time ago

Andrew Bartlett

Autobuild-User: Andrew Bartlett <abartlet@samba.org>
Autobuild-Date: Tue Jul  5 05:56:06 CEST 2011 on sn-devel-104
2011-07-05 05:56:06 +02:00
Andrew Bartlett
4a83575ae6 s3-build Require fully defined modules by default
Autobuild-User: Andrew Bartlett <abartlet@samba.org>
Autobuild-Date: Sun Jul  3 10:33:44 CEST 2011 on sn-devel-104
2011-07-03 10:33:43 +02:00
Andrew Bartlett
877de9fee7 s3-build Require fully defined symbols in ALL libraries by default
The only exception here is libsmbregistry, which needs further work to
resolve the library loop caused by the registry based smb.conf
loading.

Andrew Bartlett

Autobuild-User: Andrew Bartlett <abartlet@samba.org>
Autobuild-Date: Fri Jun 24 05:01:38 CEST 2011 on sn-devel-104
2011-06-24 05:01:38 +02:00
Andrew Bartlett
52255f4eb5 s3-build: Require fully defined symbols for all public libraries 2011-06-24 03:52:05 +02:00
Rusty Russell
985e83ef52 tdb2: tie it into build process if --enable-tdb2-breaks-compat
This is simplistic.  We need to support making TDB2 a standalone library,
but for now, we simply built it in-tree.

Once we have tdb1 compatibility in tdb2, we can rename this option to
--enable-tdb2.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2011-06-20 11:18:36 +02:00
Rusty Russell
0e4c358e27 tdb_compat.h: divert every tdb build and includes to tdb_compat
We change all the headers and wscript files to use tdb_compat; this
means we have one place to decide whether to use TDB1 or TDB2.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2011-06-20 11:18:34 +02:00
Andrew Tridgell
d2bc45e7ff build: only use the git version on install, not in the build tree
having the git version in our version.h in the build tree is annoying
for developers, as every time you commit or rebase you need to spend
several minutes re-linking. This changes it to use the git version
only on install, which is much more useful as when you actually
install the binaries you may be using them in a way that reporting the
version is useful

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>

Autobuild-User: Andrew Tridgell <tridge@samba.org>
Autobuild-Date: Fri Jun 17 08:37:06 CEST 2011 on sn-devel-104
2011-06-17 08:37:06 +02:00
Andrew Tridgell
8c14decdb8 build: fixed development symlinks for libraries in subdirectories
this fixes the symlink for libsmbclient.so

Autobuild-User: Andrew Tridgell <tridge@samba.org>
Autobuild-Date: Wed Jun 15 07:23:10 CEST 2011 on sn-devel-104
2011-06-15 07:23:10 +02:00
Andrew Tridgell
720da3cb91 build: fixed dependencies on install prefix for pc files and python scripts
waf can't automatically determine these dependencies as the
construction of the files is via a python function

thanks to Andrew for noticing this bug
2011-06-15 14:13:07 +10:00
Andrew Tridgell
683f9868eb waf-symbols: don't look for symbol lists in GENERATOR targets
generated header files are not object files

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2011-06-10 17:21:26 +10:00
Andrew Tridgell
ae1414e796 waf: fixed 'make bin/XXX' for the remaining binaries
this fixes 'make bin/smbd' to work correctly with the waf build. It
didn't work before as smbd is actually 'smbd/smbd' internally and we
tried to use the target name 'smbd'. The new approach reads the
symlink to get the right target.

This also speeds up the null build by quite a lot
2011-06-10 17:21:26 +10:00
Andrew Tridgell
f725e2b64e build: fixed a problem with installing scripts in the build tree
the SAMBA_SCRIPT() function was not always triggering correctly. The
base problem was that we were using a target outside the build
tree. This implements a simpler solution where we just create the
links directly in SAMBA_SCRIPT() rather than creating a waf task

Autobuild-User: Andrew Tridgell <tridge@samba.org>
Autobuild-Date: Wed Jun  1 06:50:04 CEST 2011 on sn-devel-104
2011-06-01 06:50:04 +02:00
Rusty Russell
3ccfe7cb7b Add -fno-common where supported (WAF only)
Normally under UNIX, uninitialized non-static global variables get
placed in the "common" section, where they are merged at link time.
This means if two C files define "int debug", they will end up
referring to the same variable.  Or if one does "float level" and the
other does "int level" you'll get an accidental union.

Such bugs can be hard to track down; fortunately GCC offers
-fno-common to disable this feature.  It didn't reveal any places
which need fixing, however).

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2011-05-10 11:37:30 +09:30
Andrew Tridgell
7e4ba48135 build: allow s3 libraries to be built with no undefined symbols
Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2011-05-08 10:59:18 +02: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
380bd493bb build: use readelf as a replacement for ldd
using readelf allows us to do a non-recursive library listing, which
is important to remove false positive symbol duplication

Autobuild-User: Andrew Tridgell <tridge@samba.org>
Autobuild-Date: Wed Apr 13 04:37:33 CEST 2011 on sn-devel-104
2011-04-13 04:37:33 +02:00
Andrew Tridgell
601835ee6d build: speed up SYMBOLCHECK code
this uses a nm and ldd cache to speed up the duplicate symbol checking
code

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2011-04-13 11:47:36 +10:00
Andrew Tridgell
59b588a16c waf: a better way to detect duplicated symbols
this detects when we have the same symbol linked in twice in any
binary by using ldd and nm on the binary and its associated libraries.

Some of these duplicates are caused by a subsystem being linked twice,
and some are caused by two versions of the same function name being
linked into a binary

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>

Autobuild-User: Andrew Tridgell <tridge@samba.org>
Autobuild-Date: Wed Apr  6 06:44:14 CEST 2011 on sn-devel-104
2011-04-06 06:44:14 +02:00