From: Andrew Bartlett Date: Tue, 8 Feb 2011 23:50:57 +0000 (+1100) Subject: s4-waf Remove source4 build system. X-Git-Tag: tevent-0.9.11~862 X-Git-Url: http://git.samba.org/?p=samba.git;a=commitdiff_plain;h=45b16de1fcc6a76bd4d9dcdd41616942065f7fc4 s4-waf Remove source4 build system. The top level build is the official build system now. Andrew Bartlett --- diff --git a/source4/Makefile b/source4/Makefile deleted file mode 100644 index bc77be965cc..00000000000 --- a/source4/Makefile +++ /dev/null @@ -1,75 +0,0 @@ -# simple makefile wrapper to run waf - -WAF_BINARY=../buildtools/bin/waf -WAF=WAF_MAKE=1 $(WAF_BINARY) - -all: - $(WAF) build - -install: - $(WAF) install - -uninstall: - $(WAF) uninstall - -test: - $(WAF) test $(TEST_OPTIONS) - -help: - @echo NOTE: to run extended waf options use $(WAF_BINARY) or modify your PATH - $(WAF) --help - -subunit-test: - $(WAF) test --filtered-subunit $(TEST_OPTIONS) - -testenv: - $(WAF) test --testenv $(TEST_OPTIONS) - -quicktest: - $(WAF) test --quick $(TEST_OPTIONS) - -dist: - touch .tmplock - WAFLOCK=.tmplock $(WAF) dist - -distcheck: - touch .tmplock - WAFLOCK=.tmplock $(WAF) distcheck - -clean: - $(WAF) clean - -distclean: - $(WAF) distclean - -reconfigure: configure - $(WAF) reconfigure - -show_waf_options: - $(WAF) --help - -# some compatibility make targets -everything: all - -testsuite: all - -check: test - -torture: all - -# this should do an install as well, once install is finished -installcheck: test - -etags: - $(WAF) etags - -ctags: - $(WAF) ctags - -# this allows for things like "make bin/smbtorture" -bin/%:: FORCE - $(WAF) --targets=`basename $@` -FORCE: - -pydoctor: - $(WAF) pydoctor diff --git a/source4/VERSION b/source4/VERSION deleted file mode 100644 index 394e114fed4..00000000000 --- a/source4/VERSION +++ /dev/null @@ -1,117 +0,0 @@ -######################################################## -# SAMBA Version # -# # -# Samba versions are as follows # -# 3.0.x New production series # -# 3.0.x{tp,pre,rc}y Preview/Testing & RC # -# 3.0.x[a-z] Patch releases # -# 3.0.x[a-z]-VENDOR-z Vendor patch releases # -# # -# script/mkversion.sh # -# will use this file to create # -# include/version.h # -# # -######################################################## - -######################################################## -# This are the main SAMBA version numbers # -# # -# .. # -# # -# e.g. SAMBA_VERSION_MAJOR=3 # -# SAMBA_VERSION_MINOR=0 # -# SAMBA_VERSION_RELEASE=0 # -# -> "3.0.0" # -######################################################## -SAMBA_VERSION_MAJOR=4 -SAMBA_VERSION_MINOR=0 -SAMBA_VERSION_RELEASE=0 - -######################################################## -# If a official release has a serious bug # -# a security release will have 'a' sufffix # -# # -# so SAMBA's version will be # -# .. # -# # -# e.g. SAMBA_VERSION_REVISION=a # -# -> "2.2.8a" # -######################################################## -SAMBA_VERSION_REVISION= - -######################################################## -# For 'tp' releases the version will be # -# # -# ..tp # -# # -# e.g. SAMBA_VERSION_TP_RELEASE=1 # -# -> "4.0.0tp1" # -######################################################## -SAMBA_VERSION_TP_RELEASE= - -######################################################## -# For 'alpha' releases the version will be # -# # -# ..alpha # -# # -# e.g. SAMBA_VERSION_ALPHA_RELEASE=1 # -# -> "4.0.0alpha1" # -######################################################## -SAMBA_VERSION_ALPHA_RELEASE=15 - -######################################################## -# For 'pre' releases the version will be # -# # -# ..pre # -# # -# e.g. SAMBA_VERSION_PRE_RELEASE=1 # -# -> "2.2.9pre1" # -######################################################## -SAMBA_VERSION_PRE_RELEASE= - -######################################################## -# For 'rc' releases the version will be # -# # -# ..rc # -# # -# e.g. SAMBA_VERSION_RC_RELEASE=1 # -# -> "3.0.0rc1" # -######################################################## -SAMBA_VERSION_RC_RELEASE= - -######################################################## -# To mark SVN snapshots this should be set to 'yes' # -# in the development BRANCH, and set to 'no' only in # -# the SAMBA_X_X_RELEASE BRANCH # -# # -# ..[...]-SVN-build-xxx # -# # -# e.g. SAMBA_VERSION_IS_SVN_SNAPSHOT=yes # -# -> "3.0.0-SVN-build-199" # -######################################################## -SAMBA_VERSION_IS_GIT_SNAPSHOT=yes - -######################################################## -# This is for specifying a release nickname # -# # -# e.g. SAMBA_VERSION_RELEASE_NICKNAME=Nicky Nickname # -# smbd --version will then give: # -# -> "4.0.0-tp1-VendorVersion (Nicky Nickname)" # -######################################################## -SAMBA_VERSION_RELEASE_NICKNAME= - -######################################################## -# This can be set by vendors if they want... # -# This can be a string constant or a function which # -# returns a string (const char *) # -# # -# ..[...]- # -# # -# Note the '-' is automaticaly added # -# # -# e.g. SAMBA_VERSION_VENDOR_SUFFIX=VendorVersion # -# -> "3.0.0rc2-VendorVersion" # -# # -######################################################## -SAMBA_VERSION_VENDOR_SUFFIX= -SAMBA_VERSION_VENDOR_PATCH= diff --git a/source4/configure b/source4/configure deleted file mode 100755 index fbd81fe1c53..00000000000 --- a/source4/configure +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/sh - -PREVPATH=`dirname $0` - -WAF=../buildtools/bin/waf - -# using JOBS=1 gives maximum compatibility with -# systems like AIX which have broken threading in python -JOBS=1 -export JOBS - -cd . || exit 1 -$WAF configure "$@" || exit 1 -cd $PREVPATH diff --git a/source4/configure.nodebug.developer b/source4/configure.nodebug.developer deleted file mode 100755 index 36741ffb3bd..00000000000 --- a/source4/configure.nodebug.developer +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh -CFLAGS="-Wall -Wshadow -Wstrict-prototypes -Wpointer-arith -Wcast-qual -Wcast-align -DDEBUG_PASSWORD"; export CFLAGS -./configure "$@" diff --git a/source4/configure.tridge.opt b/source4/configure.tridge.opt deleted file mode 100755 index 4f6ee99d465..00000000000 --- a/source4/configure.tridge.opt +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/sh -./configure "$@" -C --prefix=/home/tridge/samba/samba4/prefix --enable-developer --enable-debug --enable-socket-wrapper diff --git a/source4/wscript b/source4/wscript deleted file mode 100644 index 3fdeb3c14e4..00000000000 --- a/source4/wscript +++ /dev/null @@ -1,199 +0,0 @@ -#! /usr/bin/env python - -srcdir = '..' -blddir = 'bin' - -APPNAME='samba' -VERSION=None - -import sys, os -sys.path.insert(0, srcdir+"/buildtools/wafsamba") -import wafsamba, Options, samba_dist, Scripting, Utils, samba_version - - -samba_dist.DIST_DIRS('.') - -#This is a list of files that we don't want in the package, for -#whatever reason. Directories should be listed with a trailing / to -#avoid over-exclusion. - -#This list includes files that would confuse the recipient of a -#samba-4.0.0 branded tarball (until the merge is complete) and the -#core elements of the autotools build system (which is known to -#produce buggy binaries). -samba_dist.DIST_BLACKLIST('README Manifest Read-Manifest-Now Roadmap source3/ ' + - 'packaging/ docs-xml/ examples/ swat/ WHATSNEW.txt MAINTAINERS ') -# install in /usr/local/samba by default -Options.default_prefix = '/usr/local/samba' - - -def set_options(opt): - opt.BUILTIN_DEFAULT('NONE') - opt.PRIVATE_EXTENSION_DEFAULT('samba4') - opt.RECURSE('../lib/replace') - opt.RECURSE('dynconfig') - opt.RECURSE('lib/ldb') - opt.RECURSE('selftest') - opt.RECURSE('lib/tls') - opt.RECURSE('../lib/nss_wrapper') - opt.RECURSE('../lib/socket_wrapper') - opt.RECURSE('../lib/uid_wrapper') - opt.RECURSE('../pidl') - - gr = opt.option_group('developer options') - gr.add_option('--enable-build-farm', - help='enable special build farm options', - action='store_true', dest='BUILD_FARM') - - opt.tool_options('python') # options for disabling pyc or pyo compilation - # enable options related to building python extensions - - -def configure(conf): - version = samba_version.load_version(env=conf.env) - - conf.DEFINE('CONFIG_H_IS_FROM_SAMBA', 1) - conf.DEFINE('_SAMBA_BUILD_', version.MAJOR, add_to_cflags=True) - conf.DEFINE('HAVE_CONFIG_H', 1, add_to_cflags=True) - - if Options.options.developer: - conf.ADD_CFLAGS('-DDEVELOPER -DDEBUG_PASSWORD') - - # this enables smbtorture.static for s3 in the build farm - conf.env.BUILD_FARM = Options.options.BUILD_FARM or os.environ.get('RUN_FROM_BUILD_FARM') - - conf.ADD_EXTRA_INCLUDES('#source4 #lib #source4/lib #source4/include') - - conf.RECURSE('../lib/replace') - - conf.find_program('python', var='PYTHON', mandatory=True) - conf.find_program('perl', var='PERL', mandatory=True) - conf.find_program('xsltproc', var='XSLTPROC') - - # enable tool to build python extensions - conf.check_tool('python') - conf.check_python_version((2,4,2)) - conf.SAMBA_CHECK_PYTHON_HEADERS(mandatory=True) - - if sys.platform == 'darwin' and not conf.env['HAVE_ENVIRON_DECL']: - # Mac OSX needs to have this and it's also needed that the python is compiled with this - # otherwise you face errors about common symbols - if not conf.CHECK_SHLIB_W_PYTHON("Checking if -fno-common is needed"): - conf.ADD_CFLAGS('-fno-common') - if not conf.CHECK_SHLIB_W_PYTHON("Checking if -undefined dynamic_lookup is not need"): - conf.env.append_value('shlib_LINKFLAGS', ['-undefined', 'dynamic_lookup']) - if int(conf.env['PYTHON_VERSION'][0]) >= 3: - raise Utils.WafError('Python version 3.x is not supported by Samba yet') - - conf.RECURSE('dynconfig') - conf.RECURSE('lib/ldb') - conf.RECURSE('heimdal_build') - conf.RECURSE('lib/tls') - conf.RECURSE('ntvfs/sysdep') - conf.RECURSE('../lib/util') - conf.RECURSE('../lib/zlib') - conf.RECURSE('../lib/util/charset') - conf.RECURSE('auth') - conf.RECURSE('../lib/nss_wrapper') - conf.RECURSE('../nsswitch') - conf.RECURSE('../lib/socket_wrapper') - conf.RECURSE('../lib/uid_wrapper') - conf.RECURSE('../lib/popt') - conf.RECURSE('../lib/subunit/c') - conf.RECURSE('../libcli/smbreadline') - conf.RECURSE('../pidl') - conf.RECURSE('selftest') - - # we don't want any libraries or modules to rely on runtime - # resolution of symbols - if sys.platform != "openbsd4": - conf.ADD_LDFLAGS('-Wl,-no-undefined', testflags=True) - - # gentoo always adds this. We want our normal build to be as - # strict as the strictest OS we support, so adding this here - # allows us to find problems on our development hosts faster. - # It also results in faster load time. - if sys.platform != "openbsd4": - conf.ADD_LDFLAGS('-Wl,--as-needed', testflags=True) - - if not conf.CHECK_NEED_LC("-lc not needed"): - conf.ADD_LDFLAGS('-lc', testflags=False) - - # we don't want PYTHONDIR in config.h, as otherwise changing - # --prefix causes a complete rebuild - del(conf.env.defines['PYTHONDIR']) - del(conf.env.defines['PYTHONARCHDIR']) - - conf.SAMBA_CONFIG_H('include/config.h') - - -def etags(ctx): - '''build TAGS file using etags''' - import Utils - source_root = os.path.dirname(Utils.g_module.root_path) - cmd = 'etags $(find %s/.. -name "*.[ch]" | egrep -v \.inst\.)' % source_root - print("Running: %s" % cmd) - os.system(cmd) - -def ctags(ctx): - "build 'tags' file using ctags" - import Utils - source_root = os.path.dirname(Utils.g_module.root_path) - cmd = 'ctags $(find %s/.. -name "*.[ch]" | grep -v "*_proto\.h" | egrep -v \.inst\.)' % source_root - print("Running: %s" % cmd) - os.system(cmd) - -# putting this here enabled build in the list -# of commands in --help -def build(bld): - '''build all targets''' - samba_version.load_version(env=bld.env) - pass - - -def pydoctor(ctx): - '''build python apidocs''' - cmd='PYTHONPATH=bin/python pydoctor --project-name=Samba --project-url=http://www.samba.org --make-html --docformat=restructuredtext --add-package bin/python/samba' - print("Running: %s" % cmd) - os.system(cmd) - -def wafdocs(ctx): - '''build wafsamba apidocs''' - from samba_utils import recursive_dirlist - os.system('pwd') - list = recursive_dirlist('../buildtools/wafsamba', '.', pattern='*.py') - - cmd='PYTHONPATH=bin/python pydoctor --project-name=wafsamba --project-url=http://www.samba.org --make-html --docformat=restructuredtext' - print(list) - for f in list: - cmd += ' --add-module %s' % f - print("Running: %s" % cmd) - os.system(cmd) - - -def dist(): - '''makes a tarball for distribution''' - samba_version.load_version(env=None) - samba_dist.dist() - -def distcheck(): - '''test that distribution tarball builds and installs''' - samba_version.load_version(env=None) - import Scripting - d = Scripting.distcheck - d(subdir='source4') - -def wildcard_cmd(cmd): - '''called on a unknown command''' - from samba_wildcard import run_named_build_task - run_named_build_task(cmd) - -def main(): - from samba_wildcard import wildcard_main - wildcard_main(wildcard_cmd) -Scripting.main = main - -def reconfigure(ctx): - '''reconfigure if config scripts have changed''' - import samba_utils - samba_utils.reconfigure(ctx) diff --git a/source4/wscript_build b/source4/wscript_build deleted file mode 100644 index daf2bce03d8..00000000000 --- a/source4/wscript_build +++ /dev/null @@ -1,106 +0,0 @@ -#!/usr/bin/env python - -# top level waf build script for samba4 - -import os -srcdir = ".." - -import samba_version - -# create separate build groups for building the asn1 and et compiler, then -# building the C from ASN1 and IDL, and finally the main build process -bld.SETUP_BUILD_GROUPS() -bld.AUTOCLEANUP_STALE_FILES() - -samba_version.load_version(bld.env) -bld.SAMBA_MKVERSION('version.h') - -# bld.ENABLE_MAGIC_ORDERING() - -bld.RECURSE('../lib/replace') -bld.RECURSE('../lib/talloc') -bld.RECURSE('../lib/tdb') -bld.RECURSE('../lib/tevent') -bld.RECURSE('lib/ldb') -bld.RECURSE('dynconfig') -bld.RECURSE('../lib/util/charset') -bld.RECURSE('scripting/python') -bld.RECURSE('param') -bld.RECURSE('librpc') -bld.RECURSE('dsdb') -bld.RECURSE('smbd') -bld.RECURSE('cluster') -bld.RECURSE('smbd') -bld.RECURSE('libnet') -bld.RECURSE('auth') -bld.RECURSE('../lib/iniparser/src') -bld.RECURSE('../nsswitch') -bld.RECURSE('../nsswitch/libwbclient') -bld.RECURSE('lib/samba3') -bld.RECURSE('lib/socket') -bld.RECURSE('lib/ldb-samba') -bld.RECURSE('lib/tls') -bld.RECURSE('lib/registry') -bld.RECURSE('lib/messaging') -bld.RECURSE('lib/events') -bld.RECURSE('lib/cmdline') -bld.RECURSE('../lib/socket_wrapper') -bld.RECURSE('../lib/nss_wrapper') -bld.RECURSE('../lib/uid_wrapper') -bld.RECURSE('../lib/popt') -bld.RECURSE('lib/stream') -bld.RECURSE('../lib/util') -bld.RECURSE('../lib/tdr') -bld.RECURSE('../lib/tsocket') -bld.RECURSE('../lib/crypto') -bld.RECURSE('../lib/torture') -bld.RECURSE('../lib/zlib') -bld.RECURSE('lib') -bld.RECURSE('lib/com') -bld.RECURSE('dns_server') -bld.RECURSE('echo_server') -bld.RECURSE('smb_server') -bld.RECURSE('rpc_server') -bld.RECURSE('ldap_server') -bld.RECURSE('web_server') -bld.RECURSE('winbind') -bld.RECURSE('nbt_server') -bld.RECURSE('wrepl_server') -bld.RECURSE('cldap_server') -bld.RECURSE('ntp_signd') -bld.RECURSE('samba_tool') -bld.RECURSE('utils') -bld.RECURSE('ntvfs') -bld.RECURSE('ntptr') -bld.RECURSE('torture') -bld.RECURSE('../librpc') -bld.RECURSE('client') -bld.RECURSE('libcli') -bld.RECURSE('../libcli/smb') -bld.RECURSE('../libcli/cldap') -bld.RECURSE('../lib/subunit/c') -bld.RECURSE('kdc') -bld.RECURSE('../lib/smbconf') -bld.RECURSE('../lib/async_req') -bld.RECURSE('../libcli/security') -bld.RECURSE('../libcli/ldap') -bld.RECURSE('../libcli/nbt') -bld.RECURSE('../libcli/netlogon') -bld.RECURSE('../libcli/auth') -bld.RECURSE('../libcli/drsuapi') -bld.RECURSE('../libcli/echo') -bld.RECURSE('../libcli/samsync') -bld.RECURSE('lib/policy') -bld.RECURSE('../libcli/named_pipe_auth') -bld.RECURSE('heimdal_build') -bld.RECURSE('../libcli/smbreadline') -bld.RECURSE('../codepages') -bld.RECURSE('setup') -bld.RECURSE('scripting') -bld.RECURSE('../pidl') -bld.RECURSE('../lib') - -# install some extra empty directories -bld.INSTALL_DIRS("", "${LOCKDIR} ${SYSCONFDIR} ${LOCKDIR} ${PIDDIR} ${LOCALSTATEDIR}/lib ${PRIVATEDIR}/smbd.tmp/messaging") - -bld.SYMBOL_CHECK()