blob: 74e1c218e86e9a3f47e4a4a468c2c5ed8e96b2a6 [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/export_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/autoprop_tests.py
subversion/tests/clients/cmdline/svnadmin_tests.py
subversion/tests/clients/cmdline/svnlook_tests.py
subversion/tests/clients/cmdline/svnversion_tests.py
[swig-dirs]
paths =
subversion/bindings/swig/python
subversion/bindings/swig/java/org/tigris/subversion/swig
subversion/bindings/swig/perl
# ----------------------------------------------------------------------------
#
# 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
aprutil apriconv apr neon
manpages = subversion/clients/cmdline/svn.1
install = bin
# The subversion repository administration tool
[svnadmin]
description = Subversion Repository Administrator
type = exe
path = subversion/svnadmin
install = fs-bin
manpages = subversion/svnadmin/svnadmin.1
libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr aprutil apriconv apr
# The subversion repository dump filtering tool
[svndumpfilter]
description = Subversion Dumpfile Filter
type = exe
path = subversion/svndumpfilter
install = fs-bin
manpages = subversion/svndumpfilter/svndumpfilter.1
libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr aprutil apriconv apr
# The subversion repository inspection tool
[svnlook]
description = Subversion Repository Browser
type = exe
path = subversion/svnlook
install = fs-bin
manpages = subversion/svnlook/svnlook.1
libs = libsvn_repos libsvn_fs libsvn_delta libsvn_diff libsvn_subr aprutil apriconv apr
# 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 aprutil apriconv apr
install = lib
msvc-static = yes
# Routines for binary diffing and tree-deltas
[libsvn_delta]
type = lib
install = base-lib
path = subversion/libsvn_delta
libs = libsvn_subr aprutil apriconv apr
msvc-static = yes
# Routines for diffing
[libsvn_diff]
type = lib
path = subversion/libsvn_diff
libs = libsvn_subr aprutil apriconv apr
install = lib
msvc-static = yes
# 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 aprutil apriconv bdb apr
msvc-static = yes
# General API for accessing repositories
[libsvn_ra]
type = lib
path = subversion/libsvn_ra
libs = libsvn_subr ra-libs aprutil apriconv apr
# conditionally add more dependencies
add-deps = $(SVN_RA_LIB_DEPS)
install = lib
msvc-static = yes
# Accessing repositories via DAV
[libsvn_ra_dav]
type = ra-module
path = subversion/libsvn_ra_dav
install = dav-lib
libs = libsvn_delta libsvn_subr aprutil apriconv apr neon
msvc-static = yes
# Accessing repositories via SVN
[libsvn_ra_svn]
type = ra-module
path = subversion/libsvn_ra_svn
install = base-lib
libs = libsvn_delta libsvn_subr aprutil apriconv apr
msvc-static = yes
# Accessing repositories via direct libsvn_fs
[libsvn_ra_local]
type = ra-module
path = subversion/libsvn_ra_local
install = fs-lib
libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr aprutil apriconv apr
msvc-static = yes
# 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 aprutil apriconv apr
msvc-static = yes
# Low-level grab bag of utilities
[libsvn_subr]
type = lib
install = base-lib
path = subversion/libsvn_subr
libs = aprutil apriconv apr xml
msvc-libs = advapi32.lib shfolder.lib
msvc-static = yes
# Working copy management lib
[libsvn_wc]
type = lib
path = subversion/libsvn_wc
libs = libsvn_delta libsvn_subr libsvn_diff aprutil apriconv apr
install = lib
msvc-static = yes
# Subversion plugin for Apache's mod_dav
[mod_dav_svn]
description = Subversion plug-in for the Apache DAV module
type = apache-mod
path = subversion/mod_dav_svn
libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr
install = apache-mod
[mod_authz_svn]
description = Subversion path-based authorization module for Apache
type = apache-mod
path = subversion/mod_authz_svn
nonlibs = mod_dav_svn
libs = libsvn_subr
install = apache-mod
[svnserve]
description = Subversion Server
type = exe
path = subversion/svnserve
install = fs-bin
manpages = subversion/svnserve/svnserve.1
libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr libsvn_ra_svn aprutil apriconv apr
[svnversion]
description = Subversion Revision Extractor
type = exe
path = subversion/svnversion
libs = libsvn_client libsvn_subr libsvn_wc aprutil apriconv apr neon
install = bin
manpages = subversion/svnversion/svnversion.1
# ----------------------------------------------------------------------------
#
# TARGETS FOR SWIG SUPPORT
#
[swig_client]
type = swig
path = subversion/bindings/swig
sources = svn_client.i
libs = swig_runtime libsvn_swig_py libsvn_swig_java libsvn_swig_perl libsvn_client
add-deps = mkdir-init
description = Subversion client library bindings
[swig_delta]
type = swig
path = subversion/bindings/swig
sources = svn_delta.i
libs = swig_runtime libsvn_swig_py libsvn_swig_java libsvn_swig_perl libsvn_delta
add-deps = mkdir-init
description = Subversion delta library bindings
[swig_fs]
type = swig
path = subversion/bindings/swig
sources = svn_fs.i
libs = swig_runtime libsvn_swig_py libsvn_swig_java libsvn_swig_perl libsvn_fs
add-deps = mkdir-init
description = Subversion FS library bindings
[swig_ra]
type = swig
path = subversion/bindings/swig
sources = svn_ra.i
libs = swig_runtime libsvn_swig_py libsvn_swig_java libsvn_swig_perl libsvn_ra
add-deps = mkdir-init
description = Subversion RA library bindings
[swig_repos]
type = swig
path = subversion/bindings/swig
sources = svn_repos.i
libs = swig_runtime libsvn_swig_py libsvn_swig_java libsvn_swig_perl libsvn_repos
add-deps = mkdir-init
description = Subversion repository library bindings
[swig_wc]
type = swig
path = subversion/bindings/swig
sources = svn_wc.i
libs = swig_runtime libsvn_swig_py libsvn_swig_java libsvn_swig_perl libsvn_wc
add-deps = mkdir-init
description = Subversion WC library bindings
[swig_core]
type = swig
path = subversion/bindings/swig
sources = core.i
libs = swig_runtime libsvn_swig_py libsvn_swig_java libsvn_swig_perl libsvn_subr apr
add-deps = mkdir-init
description = Subversion core library bindings
[swig_runtime]
type = swig_runtime
path = subversion/bindings/swig
add-deps = mkdir-init
description = Swig language runtime libraries
# SWIG utility library for Python modules
[libsvn_swig_py]
type = swig_lib
lang = python
path = subversion/bindings/swig
sources = swigutil_py.c
libs = libsvn_subr libsvn_delta aprutil apriconv apr
install = swig-py-lib
# need special build rule to include -DSWIGPYTHON
compile-cmd = $(COMPILE_SWIG_PY)
msvc-static = yes
# SWIG utility library for Java modules
[libsvn_swig_java]
type = swig_lib
lang = java
path = subversion/bindings/swig
sources = swigutil_java.c
libs = aprutil apriconv apr
install = swig-java-lib
# need special build rule to include -DSWIGJAVA and -I$(JDK)/include/jni.h
compile-cmd = $(COMPILE_SWIG_JAVA)
msvc-static = yes
# SWIG utility library for Perl modules
[libsvn_swig_perl]
type = swig_lib
lang = perl
path = subversion/bindings/swig
sources = swigutil_pl.c
libs = aprutil apriconv apr
install = swig-pl-lib
# need special build rule to include
compile-cmd = $(COMPILE_SWIG_PL)
msvc-static = yes
# ----------------------------------------------------------------------------
#
# 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 aprutil apriconv apr
msvc-static = yes
# 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
msvc-static = yes
# 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
aprutil apriconv apr
# 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 aprutil apriconv apr
# 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 aprutil apriconv apr
# 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
aprutil apriconv apr
# 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
aprutil apriconv apr
# 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 aprutil apriconv apr
# 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 aprutil apriconv apr
# 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 aprutil apriconv apr
# 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 aprutil apriconv apr
# test path library
[path-test]
type = exe
path = subversion/tests/libsvn_subr
sources = path-test.c
install = test
libs = libsvn_test libsvn_subr aprutil apriconv apr
# test stream library
[stream-test]
type = exe
path = subversion/tests/libsvn_subr
sources = stream-test.c
install = test
libs = libsvn_test libsvn_subr aprutil apriconv apr
# test time functions
[time-test]
type = exe
path = subversion/tests/libsvn_subr
sources = time-test.c
install = test
libs = libsvn_test libsvn_subr aprutil apriconv apr
# 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 aprutil apriconv apr
# test svn_config utilities
[config-test]
type = exe
path = subversion/tests/libsvn_subr
sources = config-test.c
install = test
libs = libsvn_test libsvn_subr aprutil apriconv apr
# 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 aprutil apriconv apr
# 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 aprutil apriconv apr
### 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
aprutil apriconv apr neon
# 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 aprutil apriconv apr
# 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 aprutil apriconv apr
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 aprutil apriconv apr
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 aprutil apriconv apr
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 aprutil apriconv apr
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 aprutil apriconv apr
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
# install = bin
# ----------------------------------------------------------------------------
#
# DOC TARGETS
#
#[svn-design]
#type = doc
#path = doc
#install = doc
#sources = svn-design.texi
#deps = ...
# ----------------------------------------------------------------------------
#
# EXTERNAL TARGETS (NO BUILD NEEDED)
#
[apr]
type = lib
external-lib = $(SVN_APR_LIBS)
external-project = apr\apr
msvc-libs = mswsock.lib ws2_32.lib advapi32.lib rpcrt4.lib
msvc-static = yes
msvc-fake = yes
[aprutil]
type = lib
external-lib = $(SVN_APRUTIL_LIBS)
external-project = apr-util\aprutil
libs = xml apr apriconv apriconv_ccs_modules apriconv_ces_modules gen_uri_delims
msvc-static = yes
msvc-fake = yes
[apriconv]
type = lib
external-lib = $(SVN_APRUTIL_LIBS)
external-project = apr-iconv\apriconv
libs = apr
msvc-static = yes
[apriconv_ccs_modules]
type = exe
external-project = apr-iconv/ccs\apriconv_ccs_modules
libs = apriconv apr
[apriconv_ces_modules]
type = exe
external-project = apr-iconv/ces\apriconv_ces_modules
libs = apriconv apr
[bdb]
type = lib
external-lib = $(SVN_DB_LIBS)
[neon]
type = lib
external-lib = $(NEON_LIBS)
external-project = build/win32\neon
libs = xml
msvc-libs = ws2_32.lib
msvc-static = yes
[gen_uri_delims]
type = exe
external-project = apr-util/uri\gen_uri_delims
[xml]
type = lib
external-lib = $(SVN_APR_LIBS)
external-project = apr-util/xml/expat/lib\xml
msvc-static = yes
msvc-fake = yes
[ra-libs]
type = lib
external-lib = $(SVN_RA_LIB_LINK)
libs = libsvn_ra_dav libsvn_ra_local libsvn_ra_svn
[__ALL__]
type = project
path = build/win32
libs = svn svnserve svnadmin svnlook svnversion svndumpfilter
mod_authz_svn mod_dav_svn
[__ALL_TESTS__]
type = project
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 = lib
external-project = build/win32\svn_config
[__INSTALLER__]
type = project
path = build/win32
libs = __ALL__
cmd = installer.bat
release = ..\..\Release\svn-setup.exe
debug = ..\..\Debug\svn-setup.exe
[__SWIG_PYTHON__]
type = swig_project
path = build/win32
libs = swig_client swig_delta swig_fs swig_ra swig_repos swig_wc swig_core
lang = python
[__SWIG_JAVA__]
type = swig_project
path = build/win32
libs = swig_client swig_delta swig_fs swig_ra swig_repos swig_wc swig_core
lang = java
[__SWIG_PERL__]
type = swig_project
path = build/win32
libs = swig_client swig_delta swig_fs swig_ra swig_repos swig_wc swig_core
lang = perl
# ----------------------------------------------------------------------------
# Contrib, build-only targets: compile, but don't install
[svn-push]
type = exe
path = contrib/client-side/svn-push
sources = svn-push.c
install = contrib
libs = libsvn_delta libsvn_ra aprutil apriconv apr