blob: 3135adc9010c927f4f1ac4f817e57d7fff3d57a7 [file] [log] [blame]
#
# build.conf -- configuration information for building Subversion
#
######################################################################
#
# Copyright (c) 2000-2003 CollabNet. All rights reserved.
#
# This software is licensed as described in the file COPYING, which
# you should have received as part of this distribution. The terms
# are also available at http://subversion.tigris.org/license-1.html.
# If newer versions of this license are posted there, you may use a
# newer version instead, at your option.
#
######################################################################
#
# This file is processed by gen-make.py, creating build-outputs.mk
#
# ----------------------------------------------------------------------------
#
# PREDEFINED SECTIONS
#
# These are global in scope, providing information to the process, rather
# than defining build targets.
#
[options]
includes = subversion/include/*.h
swig-languages = python java perl
[static-apache]
# Makefile.in and config.m4 (omit README)
paths = subversion/mod_dav_svn/static/[Mc]*
[test-scripts]
paths =
subversion/tests/libsvn_subr/target-test.py
[fs-test-scripts]
paths =
subversion/tests/libsvn_fs/run-fs-tests.py
subversion/tests/libsvn_repos/run-repos-tests.py
subversion/tests/clients/cmdline/getopt_tests.py
subversion/tests/clients/cmdline/basic_tests.py
subversion/tests/clients/cmdline/commit_tests.py
subversion/tests/clients/cmdline/update_tests.py
subversion/tests/clients/cmdline/switch_tests.py
subversion/tests/clients/cmdline/prop_tests.py
subversion/tests/clients/cmdline/schedule_tests.py
subversion/tests/clients/cmdline/log_tests.py
subversion/tests/clients/cmdline/copy_tests.py
subversion/tests/clients/cmdline/diff_tests.py
subversion/tests/clients/cmdline/externals_tests.py
subversion/tests/clients/cmdline/merge_tests.py
subversion/tests/clients/cmdline/stat_tests.py
subversion/tests/clients/cmdline/trans_tests.py
subversion/tests/clients/cmdline/svnadmin_tests.py
subversion/tests/clients/cmdline/svnlook_tests.py
subversion/tests/clients/cmdline/svnversion_tests.py
# ----------------------------------------------------------------------------
#
# BUILD TARGETS
#
# The subversion command-line client
[svn]
description = Subversion Client
type = exe
path = subversion/clients/cmdline
libs = libsvn_client libsvn_wc libsvn_ra libsvn_delta libsvn_subr
$(SVN_APRUTIL_LIBS) $(SVN_APR_LIBS) $(NEON_LIBS)
manpages = subversion/clients/cmdline/man/svn.1
subversion/svnadmin/svnadmin.1
# The subversion repository administration tool
[svnadmin]
description = Subversion Repository Administrator
type = exe
path = subversion/svnadmin
install = fs-bin
libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr $(SVN_APRUTIL_LIBS) $(SVN_APR_LIBS)
# The subversion repository dump filtering tool
[svndumpfilter]
description = Subversion Dumpfile Filter
type = exe
path = subversion/svndumpfilter
install = fs-bin
libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr $(SVN_APRUTIL_LIBS) $(SVN_APR_LIBS)
# The subversion repository inspection tool
[svnlook]
description = Subversion Repository Browser
type = exe
path = subversion/svnlook
install = fs-bin
libs = libsvn_repos libsvn_fs libsvn_delta libsvn_diff libsvn_subr $(SVN_APRUTIL_LIBS) $(SVN_APR_LIBS)
# Library needed by all subversion clients
[libsvn_client]
type = lib
path = subversion/libsvn_client
libs = libsvn_wc libsvn_ra libsvn_delta libsvn_diff libsvn_subr $(SVN_APRUTIL_LIBS) $(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_APRUTIL_LIBS) $(SVN_APR_LIBS)
# Routines for diffing
[libsvn_diff]
type = lib
path = subversion/libsvn_diff
libs = libsvn_subr $(SVN_APRUTIL_LIBS) $(SVN_APR_LIBS)
# The repository filesystem library
[libsvn_fs]
type = lib
path = subversion/libsvn_fs
sources = *.c bdb/*.c util/*.c
install = fs-lib
libs = libsvn_delta libsvn_subr $(SVN_APRUTIL_LIBS) $(SVN_DB_LIBS) $(SVN_APR_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_APRUTIL_LIBS) $(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 = dav-lib
libs = libsvn_delta libsvn_subr $(SVN_APRUTIL_LIBS) $(SVN_APR_LIBS) $(NEON_LIBS)
custom = ra-module
# Accessing repositories via SVN
[libsvn_ra_svn]
type = lib
path = subversion/libsvn_ra_svn
install = base-lib
libs = libsvn_delta libsvn_subr $(SVN_APRUTIL_LIBS) $(SVN_APR_LIBS)
custom = ra-module
# 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_APRUTIL_LIBS) $(SVN_APR_LIBS)
custom = ra-module
# 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_APRUTIL_LIBS) $(SVN_APR_LIBS)
# Low-level grab bag of utilities
[libsvn_subr]
type = lib
install = base-lib
path = subversion/libsvn_subr
libs = $(SVN_APRUTIL_LIBS) $(SVN_APR_LIBS)
# Working copy management lib
[libsvn_wc]
type = lib
path = subversion/libsvn_wc
libs = libsvn_delta libsvn_subr libsvn_diff $(SVN_APRUTIL_LIBS) $(SVN_APR_LIBS)
# Subversion plugin for Apache's mod_dav
[mod_dav_svn]
description = Subversion plug-in for the Apache DAV module
type = lib
path = subversion/mod_dav_svn
libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr
# need special build rules to include the Apache headers
custom = apache-mod
install = apache-mod
[mod_authz_svn]
description = Subversion path-based authorization module for Apache
type = lib
path = subversion/mod_authz_svn
nonlibs = mod_dav_svn
libs = libsvn_subr
# need special build rules to include the Apache headers
custom = apache-mod
install = apache-mod
[svnserve]
description = Subversion Server
type = exe
path = subversion/svnserve
install = fs-bin
libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr libsvn_ra_svn $(SVN_APRUTIL_LIBS) $(SVN_APR_LIBS)
[svnversion]
description = Subversion Revision Extractor
type = exe
path = subversion/svnversion
libs = libsvn_client $(SVN_APRUTIL_LIBS) $(SVN_APR_LIBS)
# ----------------------------------------------------------------------------
#
# TARGETS FOR SWIG SUPPORT
#
[swig_client]
type = swig
path = subversion/bindings/swig
sources = svn_client.i
libs = libsvn_client
description = Subversion client library bindings
[swig_delta]
type = swig
path = subversion/bindings/swig
sources = svn_delta.i
libs = libsvn_delta
description = Subversion delta library bindings
[swig_fs]
type = swig
path = subversion/bindings/swig
sources = svn_fs.i
libs = libsvn_fs
description = Subversion FS library bindings
[swig_ra]
type = swig
path = subversion/bindings/swig
sources = svn_ra.i
libs = libsvn_ra
description = Subversion RA library bindings
[swig_repos]
type = swig
path = subversion/bindings/swig
sources = svn_repos.i
libs = libsvn_repos
description = Subversion repository library bindings
[swig_wc]
type = swig
path = subversion/bindings/swig
sources = svn_wc.i
libs = libsvn_wc
description = Subversion WC library bindings
[swig_core]
type = swig
path = subversion/bindings/swig
sources = core.i
libs = libsvn_subr $(SVN_APR_LIBS)
description = Subversion core library bindings
# SWIG utility library for Python modules
[libsvn_swig_py]
type = lib
path = subversion/bindings/swig
sources = swigutil_py.c
libs = libsvn_subr libsvn_delta $(SVN_APRUTIL_LIBS) $(SVN_APR_LIBS)
install = swig-py-lib
# need special build rule to include -DSWIGPYTHON
custom = swig-py
# SWIG utility library for Java modules
[libsvn_swig_java]
type = lib
path = subversion/bindings/swig
sources = swigutil_java.c
libs = $(SVN_APRUTIL_LIBS) $(SVN_APR_LIBS)
install = swig-java-lib
# need special build rule to include -DSWIGJAVA and -I$(JDK)/include/jni.h
custom = swig-java
# SWIG utility library for Perl modules
[libsvn_swig_perl]
type = lib
path = subversion/bindings/swig
sources = swigutil_pl.c
libs = $(SVN_APRUTIL_LIBS) $(SVN_APR_LIBS)
install = swig-pl-lib
# need special build rule to include
custom = swig-pl
# ----------------------------------------------------------------------------
#
# 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_APRUTIL_LIBS) $(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_APRUTIL_LIBS) $(SVN_APR_LIBS)
# run-fs-tests.py 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_APRUTIL_LIBS) $(SVN_APR_LIBS)
# run-fs-tests.py 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_APRUTIL_LIBS) $(SVN_APR_LIBS)
# run-fs-tests.py 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_APRUTIL_LIBS) $(SVN_APR_LIBS)
# run-fs-tests.sh will run this for us
testing = skip
# test strings/reps in libsvn_fs
[changes-test]
type = exe
path = subversion/tests/libsvn_fs
sources = changes-test.c
install = fs-test
libs = libsvn_test libsvn_test_fs libsvn_fs libsvn_delta libsvn_subr
$(SVN_APRUTIL_LIBS) $(SVN_APR_LIBS)
# 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_APRUTIL_LIBS) $(SVN_APR_LIBS)
# run-repos-tests.py 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_APRUTIL_LIBS) $(SVN_APR_LIBS)
# run-repos-tests.py 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_APRUTIL_LIBS) $(SVN_APR_LIBS)
# test svn_stringbuf_t utilities
[string-test]
type = exe
path = subversion/tests/libsvn_subr
sources = string-test.c
install = test
libs = libsvn_test libsvn_delta libsvn_subr $(SVN_APRUTIL_LIBS) $(SVN_APR_LIBS)
# test path library
[path-test]
type = exe
path = subversion/tests/libsvn_subr
sources = path-test.c
install = test
libs = libsvn_test libsvn_subr $(SVN_APRUTIL_LIBS) $(SVN_APR_LIBS)
# test stream library
[stream-test]
type = exe
path = subversion/tests/libsvn_subr
sources = stream-test.c
install = test
libs = libsvn_test libsvn_subr $(SVN_APRUTIL_LIBS) $(SVN_APR_LIBS)
# test time functions
[time-test]
type = exe
path = subversion/tests/libsvn_subr
sources = time-test.c
install = test
libs = libsvn_test libsvn_subr $(SVN_APRUTIL_LIBS) $(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_APRUTIL_LIBS) $(SVN_APR_LIBS)
# test svn_config utilities
[config-test]
type = exe
path = subversion/tests/libsvn_subr
sources = config-test.c
install = test
libs = libsvn_test libsvn_subr $(SVN_APRUTIL_LIBS) $(SVN_APR_LIBS)
# 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_APRUTIL_LIBS) $(SVN_APR_LIBS)
# test the diff/diff3 library
[diff-diff3-test]
type = exe
path = subversion/tests/libsvn_diff
sources = diff-diff3-test.c
install = test
libs = libsvn_test libsvn_diff libsvn_subr $(SVN_APRUTIL_LIBS) $(SVN_APR_LIBS)
### Tests that are simply broken (fix?) ----------
# 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_APRUTIL_LIBS) $(SVN_APR_LIBS) $(NEON_LIBS)
# 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_APRUTIL_LIBS) $(SVN_APR_LIBS)
# target-test.py will run this for us
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_APRUTIL_LIBS) $(SVN_APR_LIBS)
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_APRUTIL_LIBS) $(SVN_APR_LIBS)
testing = skip
# test our diff algorithm and output
[diff-test]
type = exe
path = subversion/tests/libsvn_diff
sources = diff-test.c
install = test
libs = libsvn_diff libsvn_subr $(SVN_APRUTIL_LIBS) $(SVN_APR_LIBS)
testing = skip
# test our diff3 algorithm and output
[diff3-test]
type = exe
path = subversion/tests/libsvn_diff
sources = diff3-test.c
install = test
libs = libsvn_diff libsvn_subr $(SVN_APRUTIL_LIBS) $(SVN_APR_LIBS)
testing = skip
# test our diff4 algorithm and output
[diff4-test]
type = exe
path = subversion/tests/libsvn_diff
sources = diff4-test.c
install = test
libs = libsvn_diff libsvn_subr $(SVN_APRUTIL_LIBS) $(SVN_APR_LIBS)
testing = skip
# ----------------------------------------------------------------------------
#
# SCRIPT TARGETS (NO BUILD NEEDED)
#
### FIXME: See http://subversion.tigris.org/issues/show_bug.cgi?id=751
### for why we don't install this right now.
# [svn-config]
# type = script
# path = .
# sources = svn-config
# ----------------------------------------------------------------------------
#
# DOC TARGETS
#
#[svn-design]
#type = doc
#path = doc
#install = doc
#sources = svn-design.texi
#deps = ...
# ----------------------------------------------------------------------------
#
# EXTERNAL TARGETS (NO BUILD NEEDED)
#
[apr]
type = project
path = apr
libs = mswsock ws2_32 advapi32 rpcrt4 shfolder
[aprutil]
type = project
path = apr-util
libs = xml apriconv apriconv_ccs_modules apriconv_ces_modules gen_uri_delims
[apriconv]
type = project
path = apr-iconv
libs = apr
[apriconv_ccs_modules]
type = project
path = apr-iconv/ccs
libs = apriconv apr
[apriconv_ces_modules]
type = project
path = apr-iconv/ces
libs = apriconv apr
[neon]
type = project
path = build/win32
libs = xml
release = ../../neon/libneon.lib
debug = ../../neon/libneonD.lib
[gen_uri_delims]
type = project
path = apr-util/uri
[xml]
type = project
path = apr-util/xml/expat/lib
[__ALL__]
type = utility
path = build/win32
libs = svn svnserve svnadmin svnlook svnversion svndumpfilter
mod_authz_svn mod_dav_svn
[__ALL_TESTS__]
type = utility
path = build/win32
libs = __ALL__
fs-test skel-test key-test strings-reps-test changes-test
md5args repos-test
config-test hashdump-test string-test path-test stream-test time-test
translate-test
random-test diff-diff3-test
target-test svndiff-test vdelta-test diff-test diff3-test diff4-test
[__CONFIG__]
type = project
path = build/win32
project_name = svn_config
[__INSTALLER__]
type = external
path = build/win32
libs = __ALL__
cmd = installer.bat
release = ..\..\Release\svn-setup.exe
debug = ..\..\Debug\svn-setup.exe
[__SWIG_PYTHON__]
type = swig_utility
path = build/win32
libs = swig_client swig_delta swig_fs swig_ra swig_repos swig_wc swig_core
libsvn_swig_py
language = python
[__SWIG_JAVA__]
type = swig_utility
path = build/win32
libs = swig_client swig_delta swig_fs swig_ra swig_repos swig_wc swig_core
libsvn_swig_java
language = java
[__SWIG_PERL__]
type = swig_utility
path = build/win32
libs = swig_client swig_delta swig_fs swig_ra swig_repos swig_wc swig_core
language = perl
# ----------------------------------------------------------------------------