summaryrefslogtreecommitdiff
path: root/buildtools/wafsamba/wafsamba.py
AgeCommit message (Collapse)AuthorFilesLines
2013-07-09waf: Build with RELRO if supported by the compiler.Andreas Schneider1-0/+2
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-05-29build: Add missing new line to replaced python shebang line. (Fix bug #9909)Michael Adam1-2/+2
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-28waf: build position independent executablesDavid Disseldorp1-2/+9
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-27build: Remove binaries and libraries build groupsAndrew Bartlett1-4/+2
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-04-10build: Replace #!/usr/bin/env python with passed in PYTHON=Andrew Bartlett1-1/+14
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-03-02build: Change bin/default/python -> bin/python symlink to ↵Andrew Bartlett1-3/+3
bin/default/python_modules This avoids a collision with the new top level python directory. Andrew Bartlett
2013-01-15wafsamba: use additional xml catalog file (bug #9512)Björn Baumbach1-1/+2
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-10build: Remove bashism from SAMBAMANPAGES ruleAndrew Bartlett1-1/+2
In sh, you must assign the variable, then export it. Andrew Bartlett Reviewed-by: Stefan Metzmacher <metze@samba.org>
2012-12-04BUG 9459: Install manpages only if we install the target.Andreas Schneider1-4/+5
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-09-27s4-python: Various formatting fixes.Jelmer Vernooij1-2/+2
* Trailing whitespace * use of "==" where "is" should be used * double spaces
2012-09-17docs-xml: convert smb.conf.5 build to wafAlexander Bokovoy1-2/+4
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-12wafsamba: Add a SAMBAMANPAGES function.Andreas Schneider1-1/+15
2012-09-07waf: Create catalog file for manpage generation.Andreas Schneider1-1/+2
2012-09-07wafsamba: Add a CONFIGURE_FILE option.Andreas Schneider1-1/+8
2012-09-07wafsamba: Add support for manpages in SAMBA_MODULE.Andreas Schneider1-0/+2
2012-05-23Introduce system MIT krb5 build with --with-system-mitkrb5 option.Alexander Bokovoy1-0/+7
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-04-20wafsamba: allow certain public libraries to be forced to be privateAndrew Bartlett1-0/+3
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-19waf: Fix mispellingSimo Sorce1-1/+1
Autobuild-User: Simo Sorce <idra@samba.org> Autobuild-Date: Thu Apr 19 17:36:41 CEST 2012 on sn-devel-104
2011-12-03Revert making public of the samba-module library.Jelmer Vernooij1-1/+1
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-11-13waf: Simplify handling of python modules.Jelmer Vernooij1-4/+0
2011-11-13Revert 9a5ae8edd6d006c078b3af8fdfd84677a63276b1.Jelmer Vernooij1-3/+0
2011-11-13wafsamba: Support allow_undefined_symbols in SAMBA_SUBSYSTEM.Jelmer Vernooij1-4/+10
2011-11-13ldb: Use pyembed rather than pyext for ldb-util library.Jelmer Vernooij1-1/+5
2011-11-13waf: Don't link python modules against libpython2.x, consistent with other ↵Jelmer Vernooij1-3/+2
Python modules. Rather, rely just on waf's pyext feature. This fixes a warning from dh_python2.
2011-10-28lib/util Rename samba_init_module -> samba_module_initAndrew Bartlett1-1/+1
This is to provide a cleaner namespace in the public samba plugin functions. Andrew Bartlett
2011-08-21wafsamba: Only install .pc files if libraries are public.Jelmer Vernooij1-1/+1
2011-08-21wafsamba: Require public libraries to have headers.Jelmer Vernooij1-0/+3
2011-08-21wafsamba: Require public libraries to have a pc file specified, or ↵Jelmer Vernooij1-4/+11
explicitly specified that they don't need one.
2011-07-08param: Move per-share parameters into a seperate file, to share with s3Andrew Bartlett1-0/+2
This will allow the struct loadparm_service to be in common between the two loadparm implementations in the tree. Andrew Bartlett
2011-06-15build: fixed dependencies on install prefix for pc files and python scriptsAndrew Tridgell1-0/+2
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-01build: fixed a problem with installing scripts in the build treeAndrew Tridgell1-18/+9
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-03-15waf: build headers in separate 'headers' build groupAndrew Tridgell1-0/+1
2011-03-15waf: always generate public headers in the build treeAndrew Tridgell1-1/+5
this allows us to properly test our public headers before install
2011-03-15waf: build substituted public headers in build treeAndrew Tridgell1-1/+3
the bin/default/include/public directory will contain headers that are ready to install
2011-03-15waf: moved header file handling into its own moduleAndrew Tridgell1-196/+1
It is getting quite complex now, and shouldn't just be mixed in with everything else
2011-03-15wafsamba: keep a list of public headersAndrew Tridgell1-1/+3
this will be used to construct test_headers.h, for testing our public headers
2011-03-15wafsamba: added global_include optionAndrew Tridgell1-1/+12
this allows you to disable the global include additions. We will use this for testing our public headers without including any of the source tree directories
2011-03-15build: install public headers in the build treeAndrew Tridgell1-15/+54
this symlinks our public headers into the build tree, which will allow us to refer to the public headers by their public name inside the source tree.
2011-02-22python: use os.environ[] instead of os.putenv()Andrew Tridgell1-1/+1
using os.putenv() causes too much confusion, as it doesn't update os.getenv() Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2011-02-18waf: improved error message for bad paths in SAMBA_LIBRARY()Andrew Tridgell1-1/+7
Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2011-02-18waf: support building libraries with a directory prefixAndrew Tridgell1-2/+2
SAMBA_LIBRARY('libsmb/smbclient') can now be built, which distinguishes it from the binary 'smbclient' Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2011-02-18build: fixed passing of includes= for modulesAndrew Tridgell1-0/+1
Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2011-02-18build: added subdir option for module buildingAndrew Tridgell1-0/+3
Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2011-02-18build: added allow_undefined_symbols options for libraries and modulesAndrew Tridgell1-1/+5
the s4 build uses linker flags to disallow undefined symbols in libraries. To accomodate s3 libraries in the top level build we need to be able to disable this on a per-library basis. Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2011-02-18waf: added subdir= option in SAMBA_*() rulesAndrew Tridgell1-0/+9
this allows you to prepend a subdirectory to the source rules, after variable substitution. This is useful for the s3 waf build when it is in s3build/
2011-02-16waf Fix dependencies for .pc (pkg-config) filesAndrew Bartlett1-1/+1
We used the wrong parameter for the dependency calculation. thanks to Thomas Nagy for the fix! Andrew Bartlett
2011-02-07build: fixed error message for incorrect waf versionAndrew Tridgell1-3/+2
just need configure now Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
2011-02-02waf: Replace python installation rule to allow PYTHONARCHDIR and PYTHONDIRAndrew Bartlett1-7/+23
The old rule could only substitute one part of one line, but we need to add a second line to handle when PYTHONDIR and PYTHONARCHDIR do not match. This also avoids shelling out to sed with a regex, which was difficult to read. Andrew Bartlett
2011-01-14waf: use PYTHONARCHDIR for installing python shared libsAndrew Tridgell1-2/+2
Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org> Autobuild-User: Andrew Tridgell <tridge@samba.org> Autobuild-Date: Fri Jan 14 08:19:40 CET 2011 on sn-devel-104
2011-01-05buildtools/wafsamba: import 'sys' and 'Logs' if we use themStefan Metzmacher1-1/+1
We should avoid generating a backtrace in a normal error case, just because sys.exit(1) isn't known. metze