#
# build.conf -- configuration information for building Subversion
#
# This file is processed by ###, creating ###
#

# ----------------------------------------------------------------------------
#
# PREDEFINED SECTIONS
#
# These are global in scope, providing information to the process, rather
# than defining build targets.
#

[includes]
paths = subversion/include/*.h

[static-apache]
# Makefile.in and config.m4 (omit README)
paths = subversion/mod_dav_svn/static/[Mc]*

[test-scripts]
paths =
# bourne: test client XML handling
	subversion/tests/clients/cmdline/xmltests/*.sh
# bourne: test target condensation in libsvn_subr
	subversion/tests/libsvn_subr/target-test.sh

[fs-test-scripts]
paths =
# C:  test both external and internal APIs of libsvn_fs
	subversion/tests/libsvn_fs/run-fs-tests.sh
# C: test svn_repos_update() in libsvn_repos
	subversion/tests/libsvn_repos/run-repos-tests.sh
# Python: command line processing tests
        subversion/tests/clients/cmdline/getopt_tests.py
# Python: general blackbox tests
        subversion/tests/clients/cmdline/basic_tests.py
# Python: commit-related tests
        subversion/tests/clients/cmdline/commit_tests.py
# Python: update-related tests
        subversion/tests/clients/cmdline/update_tests.py
# Python: property-related tests
        subversion/tests/clients/cmdline/prop_tests.py
# Python: working copy scheduling tests
        subversion/tests/clients/cmdline/schedule_tests.py
# Python: 'svn log' tests
        subversion/tests/clients/cmdline/log_tests.py
# Python: 'svn cp' tests
        subversion/tests/clients/cmdline/copy_tests.py
# Python: 'svn diff -r' tests
        subversion/tests/clients/cmdline/diff_tests.py
# Python: 'svn stat' tests
        subversion/tests/clients/cmdline/stat_tests.py
# Python: eol-translation tests
        subversion/tests/clients/cmdline/trans_tests.py
# Python: 'svnadmin' tests
        subversion/tests/clients/cmdline/svnadmin_tests.py

# ----------------------------------------------------------------------------
#
# BUILD TARGETS
#

# The subversion command-line client
[svn]
type = exe
path = subversion/clients/cmdline
libs = libsvn_client libsvn_wc libsvn_ra libsvn_delta libsvn_subr
	$(SVN_APR_LIBS) libexpat
manpages = subversion/clients/cmdline/man/svn.1
infopages = doc/user/manual/svn-manual.info
 doc/user/svn_for_cvs_users/svn_for_cvs_users.info 
 doc/programmer/design/svn-design.info
 doc/programmer/design/svn-design.info-1
 doc/programmer/design/svn-design.info-2
 doc/programmer/design/svn-design.info-3

# The subversion repository administration tool
[svnadmin]
type = exe
path = subversion/svnadmin
install = fs-bin
libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr $(SVN_APR_LIBS) libexpat

# The subversion repository inspection tool
[svnlook]
type = exe
path = subversion/svnlook
install = fs-bin
libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr $(SVN_APR_LIBS) libexpat

# Library needed by all subversion clients
[libsvn_client]
type = lib
path = subversion/libsvn_client
libs = libsvn_wc libsvn_ra libsvn_delta libsvn_subr $(SVN_APR_LIBS)

# Routines for binary diffing and tree-deltas
[libsvn_delta]
type = lib
install = base-lib
path = subversion/libsvn_delta
libs = libsvn_subr $(SVN_APR_LIBS)

# The repository filesystem library
[libsvn_fs]
type = lib
path = subversion/libsvn_fs
install = fs-lib
libs = libsvn_delta libsvn_subr $(SVN_APR_LIBS) $(SVN_DB_LIBS)

# General API for accessing repositories
[libsvn_ra]
type = lib
path = subversion/libsvn_ra
# conditionally link in some more libs
libs = libsvn_subr $(SVN_RA_LIB_LINK) $(SVN_APR_LIBS)
# conditionally add more dependencies
add-deps = $(SVN_RA_LIB_DEPS)

# Accessing repositories via DAV
[libsvn_ra_dav]
type = lib
path = subversion/libsvn_ra_dav
install = base-lib
libs = libsvn_subr $(SVN_APR_LIBS) $(NEON_LIBS)

# Accessing repositories via direct libsvn_fs
[libsvn_ra_local]
type = lib
path = subversion/libsvn_ra_local
install = fs-lib
libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr $(SVN_APR_LIBS)

# Routines built on top of libsvn_fs
[libsvn_repos]
type = lib
path = subversion/libsvn_repos
install = fs-lib
libs = libsvn_fs libsvn_delta libsvn_subr $(SVN_APR_LIBS)

# Low-level grab bag of utilities
[libsvn_subr]
type = lib
install = base-lib
path = subversion/libsvn_subr
libs =  $(SVN_APR_LIBS) libexpat

# Working copy management lib
[libsvn_wc]
type = lib
path = subversion/libsvn_wc
libs = libsvn_delta libsvn_subr $(SVN_APR_LIBS)

# Subversion plugin for Apache's mod_dav
[libmod_dav_svn]
type = lib
path = subversion/mod_dav_svn
libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr
# we don't need the .so version stuff for an Apache module, so avoid them
link-flags = -avoid-version
# need special build rules to include the Apache headers
custom = apache-mod
install = apache-mod

# Simple XML-parsing lib
[libexpat]
type = lib
install = base-lib
path = expat-lite
# there are some .c files included by others, so *.c isn't appropriate
sources = hashtable.c xmlparse.c xmlrole.c xmltok.c

# ----------------------------------------------------------------------------
#
# TARGETS FOR SWIG SUPPORT
#

# SWIG utility library for Python modules
[libsvn_swig_py]
type = lib
path = subversion/bindings/swig
libs = $(SVN_APR_LIBS)
install = swig-py-lib
# need special build rule to include -DSWIGPYTHON
custom = swig-py

# ----------------------------------------------------------------------------
#
# TESTING TARGETS
#

# general library:  our C testing framework
[libsvn_test]
type = lib
path = subversion/tests
sources = svn_tests_main.c svn_test_editor.c
install = test
libs = libsvn_delta libsvn_subr $(SVN_APR_LIBS)

# shared utils for writing fs tests
[libsvn_test_fs]
type = lib
path = subversion/tests
sources = fs-helpers.c
install = fs-test
libs = libsvn_fs libsvn_repos

# tests for *public* fs API (svn_fs.h)
[fs-test]
type = exe
path = subversion/tests/libsvn_fs
sources = fs-test.c
install = fs-test
libs = libsvn_test libsvn_test_fs libsvn_fs libsvn_delta libsvn_subr
	$(SVN_APR_LIBS) libexpat
# run-fs-tests.sh will run this for us
testing = skip

# test skels in libsvn_fs
[skel-test]
type = exe
path = subversion/tests/libsvn_fs
sources = skel-test.c
install = fs-test
libs = libsvn_test libsvn_fs libsvn_delta libsvn_subr $(SVN_APR_LIBS) libexpat
# run-fs-tests.sh will run this for us
testing = skip

# test keygen funcs in libsvn_fs
[key-test]
type = exe
path = subversion/tests/libsvn_fs
sources = key-test.c
install = fs-test
libs = libsvn_test libsvn_fs libsvn_delta libsvn_subr $(SVN_APR_LIBS) libexpat
# run-fs-tests.sh will run this for us
testing = skip

# test strings/reps in libsvn_fs
[strings-reps-test]
type = exe
path = subversion/tests/libsvn_fs
sources = strings-reps-test.c
install = fs-test
libs = libsvn_test libsvn_test_fs libsvn_fs libsvn_delta libsvn_subr
       $(SVN_APR_LIBS) libexpat
# run-fs-tests.sh will run this for us
testing = skip

# Little argument verification tool used by repos-test
[md5args]
type = exe
path = subversion/tests/libsvn_repos
sources = md5args.c
install = test
libs = libsvn_subr $(SVN_APR_LIBS) libexpat
# run-repos-tests.sh will run this for us
testing = skip

# test svn_repos_update() is libsvn_repos
[repos-test]
type = exe
path = subversion/tests/libsvn_repos
sources = repos-test.c dir-delta-editor.c
install = fs-test
libs = libsvn_test libsvn_test_fs libsvn_repos libsvn_fs libsvn_delta
	libsvn_subr $(SVN_APR_LIBS) libexpat
# run-repos-tests.sh will run this for us
testing = skip

# test hashfile format for props
[hashdump-test]
type = exe
path = subversion/tests/libsvn_subr
sources = hashdump-test.c
install = test
libs = libsvn_test libsvn_delta libsvn_subr $(SVN_APR_LIBS) libexpat

# test svn_stringbuf_t utilities
[stringtest]
type = exe
path = subversion/tests/libsvn_subr
sources = stringtest.c
install = test
libs = libsvn_test libsvn_delta libsvn_subr $(SVN_APR_LIBS) libexpat

# test path library
[path-test]
type = exe
path = subversion/tests/libsvn_subr
sources = path-test.c
install = test
libs = libsvn_test libsvn_subr $(SVN_APR_LIBS)

# test eol conversion and keyword substitution routines
[translate-test]
type = exe
path = subversion/tests/libsvn_wc
sources = translate-test.c
install = test
libs = libsvn_test libsvn_delta libsvn_wc libsvn_subr $(SVN_APR_LIBS) libexpat

# use random data to test delta processing
[random-test]
type = exe
path = subversion/tests/libsvn_delta
sources = random-test.c
install = test
libs = libsvn_test libsvn_delta libsvn_subr $(SVN_APR_LIBS) libexpat


### Tests that are simply broken (fix?)  ----------

# test delta combination
[delta-combine-test]
type = exe
path = subversion/tests/libsvn_delta
sources = delta-combine-test.c
install = test
libs = libsvn_delta libsvn_subr $(SVN_APR_LIBS) libexpat
# disabled for now -- the delta combiner isn't written, and we
# don't really have any idea if the interface would be compatible 
# with this test, anyway.
testing = skip

# test public routines in libsvn_ra_local
[ra-local-test]
type = exe
path = subversion/tests/libsvn_ra_local
sources = ra-local-test.c
install = fs-test
libs = libsvn_test libsvn_ra libsvn_fs libsvn_delta libsvn_subr
	$(SVN_APR_LIBS) libexpat
# disabled for now, BROKEN.
testing = skip


### Tests that don't use the C framework (rewrite?) ----------

# test svn_path_condense_targets()
[target-test]
type = exe
path = subversion/tests/libsvn_subr
sources = target-test.c
install = test
libs = libsvn_subr $(SVN_APR_LIBS) libexpat
# target-test.sh will run this for us
testing = skip

# write an xml file by driving xml editor
[xml-output-test]
type = exe
path = subversion/tests/libsvn_delta
sources = xml-output-test.c
install = test
libs = libsvn_delta libsvn_subr $(SVN_APR_LIBS) libexpat
# this is really redundant with our XML svn-test*.sh tests.
testing = skip

# checkout a wc from an XML file
[checkout-test]
type = exe
path = subversion/tests/libsvn_wc
sources = checkout-test.c
install = test
libs = libsvn_wc libsvn_delta libsvn_subr $(SVN_APR_LIBS) libexpat
# this is really redundant with our XML svn-test*.sh tests.
testing = skip

### Disabled tests that don't use our C framework (rewrite?) ---------

# process and print commands from an XML tree-delta
[deltaparse-test]
type = exe
path = subversion/tests/libsvn_delta
sources = deltaparse-test.c
install = test
libs = libsvn_test libsvn_delta libsvn_subr $(SVN_APR_LIBS) libexpat
testing = skip


### Disabled tests that don't use our C framework and are BROKEN --------
###  (rewrite these?  delete these?)

# test our textdelta encoding
[svndiff-test]
type = exe
path = subversion/tests/libsvn_delta
sources = svndiff-test.c
install = test
libs = libsvn_delta libsvn_subr $(SVN_APR_LIBS) libexpat
testing = skip

# compare two files, print txdelta windows
[vdelta-test]
type = exe
path = subversion/tests/libsvn_delta
sources = vdelta-test.c
install = test
libs = libsvn_delta libsvn_subr $(SVN_APR_LIBS) libexpat
testing = skip


# ----------------------------------------------------------------------------
#
# DOC TARGETS
#

#[svn-design]
#type = doc
#path = doc
#install = doc
#sources = svn-design.texi
#deps = ...

# ----------------------------------------------------------------------------
