summaryrefslogtreecommitdiff
path: root/buildtools/wafsamba
Commit message (Collapse)AuthorAgeFilesLines
* wafsamba: don't add -DSTATIC_%s_MODULES* arguments for ↵Stefan Metzmacher2015-08-061-0/+3
| | | | | | | | | | | | | | | SAMBA_LIBRARY(pyembed=True) Python helper libraries don't have any modules and having something like '.cpython-34m' in the name, e.g. STATIC_pytalloc-util.cpython-34m_MODULES breaks the build. Another way to fix this would be removing PYTHON_SO_ABI_FLAG from the name. This allows --extra-python=/usr/bin/python3 to work on Ubuntu 14.04. Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
* buildtools: Fix crash on invalid --extra-python optionPetr Viktorin2015-07-211-1/+1
| | | | | | Signed-off-by: Petr Viktorin <pviktori@redhat.com> Reviewed-by: Andrew Bartlett <abartlet@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org>
* buildtools: Don't configure Python more than oncePetr Viktorin2015-07-211-0/+4
| | | | | | Signed-off-by: Petr Viktorin <pviktori@redhat.com> Reviewed-by: Andrew Bartlett <abartlet@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org>
* wafsamba: Cache final_libs for each targetAmitay Isaacs2015-06-301-1/+2
| | | | | | | | | | | | The code for saving/loading dependencies does not cache final_libs for each target. If wafsamba tries to reuse the saved dependencies, then it does not get the dependencies on the private libraries correctly. Signed-off-by: Amitay Isaacs <amitay@gmail.com> Reviewed-by: Martin Schwenke <martin@meltin.net> Autobuild-User(master): Martin Schwenke <martins@samba.org> Autobuild-Date(master): Tue Jun 30 09:44:10 CEST 2015 on sn-devel-104
* Always use Samba's CHECK_CFG instead of waf check_cfgThomas Nagy2015-06-261-1/+1
|
* Remove PYTHONDIR and PYTHONARCHDIR in a single placeThomas Nagy2015-06-261-0/+4
|
* wafsamba: Also build libraries with RELRO protectionAndreas Schneider2015-06-191-0/+2
| | | | | | | | | | BUG: https://bugzilla.samba.org/show_bug.cgi?id=11346 Signed-off-by: Andreas Schneider <asn@samba.org> Reviewed-by: Guenther Deschner <gd@samba.org> Autobuild-User(master): Andreas Schneider <asn@cryptomilk.org> Autobuild-Date(master): Fri Jun 19 12:51:48 CEST 2015 on sn-devel-104
* wafsamba: let CHECK_DECLS() find enum valuesStefan Metzmacher2015-06-121-1/+12
| | | | | | | | In the current state this still generates the same config.h at least on ubuntu 14.04 amd64. Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Michael Adam <obnox@samba.org>
* wafsamba: remove unused allow_warnings=True from SAMBA_PYTHON()Stefan Metzmacher2015-06-121-1/+0
| | | | | | | This is not needed anymore all python bindings build without wawrnings now. Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Michael Adam <obnox@samba.org>
* buildtools: Always reset the build environmentPetr Viktorin2015-06-101-81/+82
| | | | | | | | | | | | | In install_library, the Build object's environment was not reset after an early return, so the extrapython env would be used in subsequent build steps. Wrap everything in a try-finally block to make sure the env is reset. (Almost all of the change is indentation, `git show -w` recommended.) Signed-off-by: Petr Viktorin <pviktori@redhat.com> Reviewed-by: Andrew Bartlett <abartlet@samba.org> Reviewed-by: Jelmer Vernooij <jelmer@samba.org>
* waf: Fix parsing of cross-answers file in case answer includes a colonUri Simchoni2015-05-201-1/+1
| | | | | | | | | | The answer provided in the cross-answers file may include a colon, as in: Checking uname version type: "#57-Ubuntu SMP Tue Jul 15 03:51:08 UTC 2014" Signed-off-by: Uri Simchoni <urisimchoni@gmail.com> Reviewed-by: Andrew Bartlett <abartlet@samba.org> Reviewed-by: Alexander Bokovoy <ab@samba.org>
* waf: allow cross-execute program to have arguments with spacesUri Simchoni2015-05-201-1/+2
| | | | | | | | | | | | | | | | | | | | | When cross-compiling samba using the cross-execute method, allow the cross-excute command to have arguments that contain spaces by quoting them. For example: ./configure --cross-compile '--cross-execute=ce-program "par am"' In this case, for each cross test whose binary is /path/testprog, waf shall run the equivalent of running from a shell: ce-program "par am" /path/testprog This is useful for passing an arbitrary argument list to a subprocess of the cross-execute program, such as in buildtools/examples/run_on_target.py Signed-off-by: Uri Simchoni <urisimchoni@gmail.com> Reviewed-by: Andrew Bartlett <abartlet@samba.org> Reviewed-by: Alexander Bokovoy <ab@samba.org>
* waf: improve readability of cross-answers generated by cross-executeUri Simchoni2015-05-201-5/+8
| | | | | | | | | | | | | | When generating a result for cross-answers from the (retcode, retstring) tuple: - (0, "output") indicated as "output" - 1 is interpreted as generic fail code, instead of 255, because most if not all tests fail with 1 as exit code rather than 255 - For failing test, use NO instead of FAIL, because that's not necessarily a failure (it could mean that something is NOT broken) Signed-off-by: Uri Simchoni <urisimchoni@gmail.com> Reviewed-by: Andrew Bartlett <abartlet@samba.org> Reviewed-by: Alexander Bokovoy <ab@samba.org>
* Adds a new mode to samba cross-compiling.Uri Simchoni2015-05-201-12/+34
| | | | | | | | | | | | When both --cross-answers and --cross-execute are set, this means: - Use cross-answers - If answer is unknown, then instead of adding UNKNOWN to the cross-answers file and failing configure, the new mode runs cross-execute to determine the answer and adds that to the cross-answers file. Signed-off-by: Uri Simchoni <urisimchoni@gmail.com> Reviewed-by: Andrew Bartlett <abartlet@samba.org> Reviewed-by: Alexander Bokovoy <ab@samba.org>
* waf: sanitize and fix added cross answerUri Simchoni2015-05-201-2/+11
| | | | | | | | | | | | | | | | When configuring samba for cross-compilation using the cross-answers method, the function add_answer receives the standard output and exit code of a configuration test and updates the cross-answers file accordingly. This patch sanitizes the standard output to conform to the cross-answers file format - one line of output. It also adds a missing newline. (Note - at this point add_answer is only ever called with empty output but this change is significant for the reminder of this patchset) Signed-off-by: Uri Simchoni <urisimchoni@gmail.com> Reviewed-by: Andrew Bartlett <abartlet@samba.org> Reviewed-by: Alexander Bokovoy <ab@samba.org>
* waf: always close cross answers fileUri Simchoni2015-05-201-0/+2
| | | | | | | | | | When configuring samba for cross-compilation using the cross-answers file, the file is not closed in a couple of cases - fix that. Signed-off-by: Uri Simchoni <urisimchoni@gmail.com> Reviewed-by: Andrew Bartlett <abartlet@samba.org> Reviewed-by: Alexander Bokovoy <ab@samba.org>
* Factor out submodule presence checking.Jelmer Vernooij2015-05-191-1/+10
| | | | | | | | Signed-off-by: Jelmer Vernooij <jelmer@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org> Autobuild-User(master): Andrew Bartlett <abartlet@samba.org> Autobuild-Date(master): Tue May 19 22:17:48 CEST 2015 on sn-devel-104
* Make waf fail if submodules are out of date.Jelmer Vernooij2015-05-191-0/+34
| | | | | | | | | | | | | | | | | | Instead, suggest the user run 'git submodule update'. This should prevent users from accidentally building Samba against outdated or too new versions of the bundled third party libraries after switching branches. I've opted to make this an error rather than actually running 'git submodule update' directly, as the latter could cause unpredictable behaviour. If we find that manually updating submodules is too cumbersome, we can always change this. The normal mode of operation for developers should not involve any submodules at all, but system versions of these libraries. Signed-off-by: Jelmer Vernooij <jelmer@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
* Factor out function for finding Git binary.Jelmer Vernooij2015-05-192-6/+19
| | | | | Signed-Off-By: Jelmer Vernooij <jelmer@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
* Drop bzr VCS support.Jelmer Vernooij2015-05-192-59/+0
| | | | | Signed-Off-By: Jelmer Vernooij <jelmer@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
* buildtools: Add a helper for running Python testsPetr Viktorin2015-05-192-0/+22
| | | | | | | | | | | Add the function samba_utils.RUN_PYTHON_TESTS for running a Python test. When building for multiple Python versions, all are tested. Also, add the list of configured Python interpreters to build config. Signed-off-by: Petr Viktorin <pviktori@redhat.com> Reviewed-by: Andrew Bartlett <abartlet@samba.org> Reviewed-by: Jelmer Vernooij <jelmer@samba.org>
* buildtools: Add a helper to iterate through Python environmentsPetr Viktorin2015-05-192-0/+28
| | | | | | | | | This prevents code duplication to ensure the "extrapython" build is the same as the normal one. Signed-off-by: Petr Viktorin <pviktori@redhat.com> Reviewed-by: Andrew Bartlett <abartlet@samba.org> Reviewed-by: Jelmer Vernooij <jelmer@samba.org>
* buildtools: Add --extra-python configure optionPetr Viktorin2015-05-194-4/+48
| | | | | | | | | This allows building Python support for two different Python versions at the same time. Signed-off-by: Petr Viktorin <pviktori@redhat.com> Reviewed-by: Andrew Bartlett <abartlet@samba.org> Reviewed-by: Jelmer Vernooij <jelmer@samba.org>
* buildtools: Expose the Python 3 ABI tagPetr Viktorin2015-05-191-0/+12
| | | | | | | | | | | | Expose the tag in the env to allow using it in pkg-config files Add a "pyembed_libname" function to correctly form library names. (This can't be done automatically in SAMBA_LIBRARY because the name could be used as a dependency for another library) Signed-off-by: Petr Viktorin <pviktori@redhat.com> Reviewed-by: Andrew Bartlett <abartlet@samba.org> Reviewed-by: Jelmer Vernooij <jelmer@samba.org>
* Convert all uint32/16/8 to _t in a grab-bag of remaining files.Richard Sharpe2015-05-141-3/+3
| | | | | | | | | | I still need to fix the rpc stuff, but we are almost there. Signed-off-by: Richard Sharpe <rsharpe@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org> Autobuild-User(master): Jeremy Allison <jra@samba.org> Autobuild-Date(master): Thu May 14 22:16:56 CEST 2015 on sn-devel-104
* Revert "wafsamba: flags from enviroment are put before our own internal ↵Ralph Boehme2015-04-261-42/+0
| | | | | | | | | | | | versions" This reverts commit b2bb6aeb8057ac725f6ad12378344b201c3a3ba2. Signed-off-by: Ralph Boehme <slow@samba.org> Reviewed-by: Jelmer Vernooij <jelmer@samba.org> Autobuild-User(master): Ralph Böhme <slow@samba.org> Autobuild-Date(master): Sun Apr 26 18:40:39 CEST 2015 on sn-devel-104
* docs: correctly depend on used xsl files and catalog for building manpages.tMichael Adam2015-04-241-1/+3
| | | | | | | | | | So changes in (e.g.) our man.xsl will trigger a rebuild of the manpages. Signed-off-by: Michael Adam <obnox@samba.org> Reviewed-by: Alexander Bokovoy <ab@samba.org> Autobuild-User(master): Michael Adam <obnox@samba.org> Autobuild-Date(master): Fri Apr 24 15:39:31 CEST 2015 on sn-devel-104
* buildtools: Use all of pyext_PATTERN in map_shlib_extensionPetr Viktorin2015-04-241-1/+1
| | | | | | | | | | | | | | | | In Python 3, C extension module filenames have an ABI tag; the pyext_PATTERN is e.g. "%s.cpython-34m.so". The build system was only using the last dot-separated element of that extension (the ".so"). Use the whole extension when constructing the final filename. Signed-off-by: Petr Viktorin <pviktori@redhat.com> Reviewed-By: Jelmer Vernooij <jelmer@samba.org> Reviewed-by: Andreas Schneider <asn@samba.org> Autobuild-User(master): Jelmer Vernooij <jelmer@samba.org> Autobuild-Date(master): Fri Apr 24 04:26:45 CEST 2015 on sn-devel-104
* wafsamba: Add install argument to SAMBA_PYTHONPetr Viktorin2015-04-241-0/+2
| | | | | | | | This allows building Python modules that are only used for testing. Signed-off-by: Petr Viktorin <pviktori@redhat.com> Reviewed-By: Jelmer Vernooij <jelmer@samba.org> Reviewed-by: Andreas Schneider <asn@samba.org>
* build:wafsamba: fix a typoMichael Adam2015-04-021-3/+3
| | | | | | | | Signed-off-by: Michael Adam <obnox@samba.org> Reviewed-by: Ira Cooper <ira@samba.org> Autobuild-User(master): Michael Adam <obnox@samba.org> Autobuild-Date(master): Thu Apr 2 16:39:01 CEST 2015 on sn-devel-104
* waf: Remove 'linkflags.remove(x)' line added in error.Jeremy Allison2015-03-311-1/+0
| | | | | | | | | | | | Fixes bug #11165 - Bug in configure scripts when system-mitkrb5 is used https://bugzilla.samba.org/show_bug.cgi?id=11165 Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: David Disseldorp <ddiss@samba.org> Autobuild-User(master): David Disseldorp <ddiss@samba.org> Autobuild-Date(master): Tue Mar 31 04:32:52 CEST 2015 on sn-devel-104
* lib: Remove tdb_compatVolker Lendecke2015-03-171-1/+1
| | | | | Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Michael Adam <obnox@samba.org>
* Transition to waf 1.8: wrapped conf.check_cfgThomas Nagy2015-03-162-1/+5
| | | | | | | | Reviewed-By: Jelmer Vernooij <jelmer@samba.org> (forward ported to current master by abartlet) Reviewed-by: Andrew Bartlett <abartlet@samba.org>
* Transition to waf 1.8: replaced on_results by update_outputsThomas Nagy2015-03-163-4/+4
| | | | | | Reviewed-By: Jelmer Vernooij <jelmer@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
* test_duplicate_symbol: Use Samba subunit emitter.Jelmer Vernooij2015-03-061-1/+1
| | | | | | Change-Id: I280495706ff460674244183103306ca717c419a8 Signed-Off-By: Jelmer Vernooij <jelmer@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
* build: amend typo for address sanitizer helpGarming Sam2015-02-251-1/+1
| | | | | Signed-off-by: Garming Sam <garming@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
* wafsamba: make sure build fails when uninitialized variable is detectedAlexander Bokovoy2015-02-241-0/+2
| | | | | | | | | | | In developer build, fail if uninitialized variable is found by GCC. Signed-off-by: Alexander Bokovoy <ab@samba.org> Reviewed-by: Andreas Schneider <asn@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org> Autobuild-User(master): Jeremy Allison <jra@samba.org> Autobuild-Date(master): Tue Feb 24 20:21:52 CET 2015 on sn-devel-104
* buildtools: Use separate storage for each function in runoncePetr Viktorin2015-02-171-1/+1
| | | | | | | | | | | | | The runonce decorator used shared storage for all functions, and dispatched only on arguments, so a call would be eliminated if a different runonce function had already been called with the same arguments. Use separate storage for each decorated function. Signed-off-by: Petr Viktorin <pviktori@redhat.com> Reviewed-by: Simo Sorce <simo@samba.org> Reviewed-by: Andreas Schneider <asn@samba.org>
* waf: Add address sanitizer configure option.Andreas Schneider2015-01-282-0/+8
| | | | | Signed-off-by: Andreas Schneider <asn@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org>
* wafsamba: create unique names when building shared modulesStefan Metzmacher2015-01-191-0/+3
| | | | | | | | | | | | | | | | | | | | After commit 76fdcf5c15bd904c3686f0c2dd93d27486c61ca4, 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
* wafsamba: remove unused variable in SAMBA_MODULE()Stefan Metzmacher2015-01-191-2/+0
| | | | | | | 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>
* wafsamba: passing 'subsystem' to SAMBA_MODULE() is not optionalStefan Metzmacher2015-01-191-8/+9
| | | | | | | 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>
* wafsamba: make it possible to pass bundled_name to SAMBA_LIBRARY()Stefan Metzmacher2015-01-191-1/+4
| | | | | | | 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>
* wafsamba: remove commented out code.Michael Adam2015-01-081-27/+0
| | | | | | | | | 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>
* Revert "waf: added suncc_wrap"Michael Adam2015-01-081-18/+1
| | | | | | | | | | This reverts commit 65743f932b511db009655847e77288c95c0aa525. Conflicts: buildtools/wafsamba/samba_optimisation.py Signed-off-by: Michael Adam <obnox@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org>
* wafsamba: generate an empty.c file if a SAMBA_{LIBRARY,SUBSYSTEM} doesn't ↵Stefan Metzmacher2015-01-081-6/+23
| | | | | | | | | | | | | | have any source files This is better than passing '-' as filename to the compiler/linker. This replaces commit 65743f932b511db009655847e77288c95c0aa525. 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>
* wafsamba: flags from enviroment are put before our own internal versionsRalph Boehme2015-01-081-0/+42
| | | | | | | | | | | | | | 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>
* wafsamba: filter out standard library paths from RPATH and LIBPATHMichael Adam2015-01-083-1/+55
| | | | | | | | | | | | | 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>
* wafsamba: fix ordering problems with lib-provided and internal RPATHsMichael Adam2015-01-081-0/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 64f5e24100a764ec198cab9a8d2c43fa86e7027c as it touches wafsamba only. 64f5e24100a764ec198cab9a8d2c43fa86e7027c 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>
* wafsamba: make it possible to specify ADDITIONAL_{CFLAGS,LDFLAGS} as env var ↵Stefan Metzmacher2015-01-081-0/+13
| | | | | | | | | | 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>