# # build.conf -- configuration information for building Subversion # ###################################################################### # # Copyright (c) 2000-2004 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 SECTION # # This [options] section is global in scope, providing information to the # process, rather than defining a build target, as all other sections do. # [options] includes = subversion/include/*.h # Makefile.in and config.m4 (omit README) static-apache-files = subversion/mod_dav_svn/static/[Mc]* test-scripts = subversion/tests/libsvn_subr/target-test.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/revert_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/blame_tests.py subversion/tests/clients/cmdline/special_tests.py subversion/tests/clients/cmdline/svnadmin_tests.py subversion/tests/clients/cmdline/svnlook_tests.py subversion/tests/clients/cmdline/svnversion_tests.py subversion/tests/clients/cmdline/utf8_tests.py subversion/tests/clients/cmdline/history_tests.py subversion/tests/clients/cmdline/lock_tests.py subversion/tests/clients/cmdline/cat_tests.py subversion/tests/clients/cmdline/import_tests.py bdb-test-scripts = swig-languages = python perl ruby swig-dirs = subversion/bindings/swig/python subversion/bindings/swig/perl subversion/bindings/swig/ruby # ---------------------------------------------------------------------------- # # 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 = 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 = 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 = 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 = fsmod-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 install = ramod-lib libs = libsvn_subr fs-libs apr # conditionally add more dependencies add-deps = $(SVN_FS_LIB_DEPS) add-install-deps = $(SVN_FS_LIB_INSTALL_DEPS) msvc-static = yes [libsvn_fs_base] type = fs-module path = subversion/libsvn_fs_base sources = *.c bdb/*.c util/*.c install = bdb-lib libs = libsvn_delta libsvn_subr aprutil apriconv bdb apr msvc-static = yes [libsvn_fs_fs] type = fs-module path = subversion/libsvn_fs_fs sources = *.c install = fsmod-lib libs = libsvn_delta libsvn_subr aprutil apriconv 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) add-install-deps = $(SVN_RA_LIB_INSTALL_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 = ramod-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 = ramod-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 = ramod-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 = fsmod-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 nonlibs = apr aprutil install = apache-mod msvc-libs = mod_dav.lib libhttpd.lib [mod_authz_svn] description = Subversion path-based authorization module for Apache type = apache-mod path = subversion/mod_authz_svn nonlibs = mod_dav_svn apr aprutil libs = libsvn_subr install = apache-mod msvc-libs = libhttpd.lib [svnserve] description = Subversion Server type = exe path = subversion/svnserve install = bin manpages = subversion/svnserve/svnserve.8 subversion/svnserve/svnserve.conf.5 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 I18N SUPPORT # [locale] type = i18n path = subversion/po install = locale external-project = build/win32/svn_locale # ---------------------------------------------------------------------------- # # TARGETS FOR SWIG SUPPORT # [swig_client] type = swig path = subversion/bindings/swig sources = svn_client.i libs = libsvn_swig_py libsvn_swig_perl libsvn_swig_ruby libsvn_client libsvn_subr apr nonlibs = swig_core description = Subversion client library bindings [swig_delta] type = swig path = subversion/bindings/swig sources = svn_delta.i libs = libsvn_swig_py libsvn_swig_perl libsvn_swig_ruby libsvn_delta libsvn_subr nonlibs = swig_core description = Subversion delta library bindings [swig_fs] type = swig path = subversion/bindings/swig sources = svn_fs.i libs = libsvn_swig_py libsvn_swig_perl libsvn_swig_ruby libsvn_fs libsvn_subr nonlibs = swig_core description = Subversion FS library bindings [swig_ra] type = swig path = subversion/bindings/swig sources = svn_ra.i libs = libsvn_swig_py libsvn_swig_perl libsvn_swig_ruby libsvn_ra libsvn_subr nonlibs = swig_core description = Subversion RA library bindings [swig_repos] type = swig path = subversion/bindings/swig sources = svn_repos.i libs = libsvn_swig_py libsvn_swig_perl libsvn_swig_ruby libsvn_repos libsvn_subr nonlibs = swig_core description = Subversion repository library bindings [swig_wc] type = swig path = subversion/bindings/swig sources = svn_wc.i libs = libsvn_swig_py libsvn_swig_perl libsvn_swig_ruby libsvn_wc libsvn_subr nonlibs = swig_core description = Subversion WC library bindings [swig_core] type = swig path = subversion/bindings/swig sources = core.i libs = libsvn_swig_py libsvn_swig_perl libsvn_swig_ruby libsvn_delta libsvn_diff libsvn_subr apr description = Subversion core library bindings include-runtime = yes # SWIG utility library for Python modules [libsvn_swig_py] type = swig_lib lang = python path = subversion/bindings/swig/python/libsvn_swig_py sources = swigutil_py.c libs = libsvn_subr libsvn_delta aprutil apriconv apr # need SWIG_LDFLAGS to be able to link swig_runtime link-cmd = $(LINK) $(SWIG_LDFLAGS) $(SWIG_PY_LIBS) install = swig-py-lib # need special build rule to include -DSWIGPYTHON compile-cmd = $(COMPILE_SWIG_PY) msvc-static = yes # SWIG utility library for Perl modules [libsvn_swig_perl] type = swig_lib lang = perl path = subversion/bindings/swig/perl/libsvn_swig_perl sources = swigutil_pl.c libs = libsvn_subr libsvn_delta aprutil apriconv apr install = swig-pl-lib # need special build rule to include compile-cmd = $(COMPILE_SWIG_PL) msvc-static = yes # SWIG utility library for Ruby modules [libsvn_swig_ruby] type = swig_lib lang = ruby path = subversion/bindings/swig/ruby/libsvn_swig_ruby sources = swigutil_rb.c libs = libsvn_subr libsvn_delta aprutil apriconv apr install = swig-rb-lib # need special build rule to include compile-cmd = $(COMPILE_SWIG_RB) msvc-static = yes # ---------------------------------------------------------------------------- # # JavaHL targets # [javahl-java] type = java path = subversion/bindings/java/javahl/src/org/tigris/subversion/javahl sources = *.java install = javahl-java link-cmd = $(COMPILE_JAVAHL_JAVAC) classes = subversion/bindings/java/javahl/classes ### Replace JAR call in INSTALL_EXTRA_JAVAHL_JAVA macro Makefile.in. #jar = svn-javahl.jar package-roots = org [javahl-tests] type = java path = subversion/bindings/java/javahl/src/org/tigris/subversion/javahl/tests sources = *.java install = javahl-java link-cmd = $(COMPILE_JAVAHL_JAVAC) classes = subversion/bindings/java/javahl/classes package-roots = org ### Java targets don't do up-to-date checks yet. #add-deps = javahl-java [javahl-javah] type = javah path = subversion/bindings/java/javahl/src/org/tigris/subversion/javahl classes = subversion/bindings/java/javahl/classes headers = subversion/bindings/java/javahl/include package = org.tigris.subversion.javahl sources = *.java add-deps = $(javahl_java_DEPS) install = javahl-javah link-cmd = $(COMPILE_JAVAHL_JAVAH) -force [libsvnjavahl] description = Subversion Java HighLevel binding type = lib path = subversion/bindings/java/javahl/native libs = libsvn_repos libsvn_client libsvn_wc libsvn_ra libsvn_delta libsvn_subr aprutil apriconv apr neon sources = *.cpp *.c add-deps = $(javahl_javah_DEPS) $(javahl_java_DEPS) install = javahl-lib # need special build rule to include -I$(JDK)/include/jni.h compile-cmd = $(COMPILE_JAVAHL_CXX) link-cmd = $(LINK_JAVAHL_CXX) # ---------------------------------------------------------------------------- # # 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 undefined-lib-symbols = yes # shared utils for writing fs tests [libsvn_test_fs] type = lib path = subversion/tests sources = fs-helpers.c install = test libs = libsvn_fs libsvn_repos libsvn_delta libsvn_subr libsvn_test apr msvc-static = yes # this lib does not actually have linktime undefined symbols, but as it depends # on libsvn_test, which does, and libtool refuses to link shared libs with # static libs, we have to ensure that if libsvn_test is forced static due to # the platform not supporting link-time undefined symbols in shared libs, then # this lib is forced static too. undefined-lib-symbols = yes # ---------------------------------------------------------------------------- # Tests for libsvn_fs_base [fs-test] description = Tests for *public* fs API (svn_fs.h) type = exe path = subversion/tests/libsvn_fs_base sources = fs-test.c install = bdb-test libs = libsvn_test libsvn_test_fs libsvn_fs_base libsvn_fs libsvn_delta libsvn_subr aprutil apriconv apr [skel-test] description = Test skels in libsvn_fs_base type = exe path = subversion/tests/libsvn_fs_base sources = skel-test.c install = bdb-test libs = libsvn_test libsvn_fs_base libsvn_fs libsvn_delta libsvn_subr aprutil apriconv apr [key-test] description = Test keygen funcs in libsvn_fs_base type = exe path = subversion/tests/libsvn_fs_base sources = key-test.c install = bdb-test libs = libsvn_test libsvn_fs_base libsvn_fs libsvn_delta libsvn_subr aprutil apriconv apr [strings-reps-test] description = Test strings/reps in libsvn_fs_base type = exe path = subversion/tests/libsvn_fs_base sources = strings-reps-test.c install = bdb-test libs = libsvn_test libsvn_test_fs libsvn_fs_base libsvn_fs libsvn_delta libsvn_subr aprutil apriconv apr [changes-test] description = Test changes in libsvn_fs_base type = exe path = subversion/tests/libsvn_fs_base sources = changes-test.c install = bdb-test libs = libsvn_test libsvn_test_fs libsvn_fs_base libsvn_fs libsvn_delta libsvn_subr aprutil apriconv apr # ---------------------------------------------------------------------------- # Tests for libsvn_fs [locks-test] description = Test locks in libsvn_fs type = exe path = subversion/tests/libsvn_fs sources = locks-test.c install = test libs = libsvn_test libsvn_test_fs libsvn_fs libsvn_delta libsvn_subr aprutil apriconv apr # ---------------------------------------------------------------------------- # Tests for libsvn_repos [repos-test] description = Test svn_repos_update() is libsvn_repos type = exe path = subversion/tests/libsvn_repos sources = repos-test.c dir-delta-editor.c install = test libs = libsvn_test libsvn_test_fs libsvn_repos libsvn_fs libsvn_delta libsvn_subr aprutil apriconv apr # ---------------------------------------------------------------------------- # Tests for libsvn_subr [compat-test] description = Test compatibility functions type = exe path = subversion/tests/libsvn_subr sources = compat-test.c install = test libs = libsvn_test libsvn_subr apr [config-test] description = Test svn_config utilities type = exe path = subversion/tests/libsvn_subr sources = config-test.c install = test libs = libsvn_test libsvn_subr aprutil apriconv apr [hashdump-test] description = Test hashfile format for props type = exe path = subversion/tests/libsvn_subr sources = hashdump-test.c install = test libs = libsvn_test libsvn_delta libsvn_subr aprutil apriconv apr [opt-test] description = Test options library type = exe path = subversion/tests/libsvn_subr sources = opt-test.c install = test libs = libsvn_test libsvn_subr apr [path-test] description = Test path library type = exe path = subversion/tests/libsvn_subr sources = path-test.c install = test libs = libsvn_test libsvn_subr aprutil apriconv apr [stream-test] description = Test stream library type = exe path = subversion/tests/libsvn_subr sources = stream-test.c install = test libs = libsvn_test libsvn_subr aprutil apriconv apr [string-test] description = Test svn_stringbuf_t utilities type = exe path = subversion/tests/libsvn_subr sources = string-test.c install = test libs = libsvn_test libsvn_delta libsvn_subr aprutil apriconv apr [time-test] description = Test time functions type = exe path = subversion/tests/libsvn_subr sources = time-test.c install = test libs = libsvn_test libsvn_subr aprutil apriconv apr [utf-test] description = Test UTF-8 functions type = exe path = subversion/tests/libsvn_subr sources = utf-test.c install = test libs = libsvn_test libsvn_subr aprutil apriconv apr [target-test] description = Utility used by target-test.py to test svn_path_condense_targets() 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 # ---------------------------------------------------------------------------- # Tests for libsvn_wc [translate-test] description = Test eol conversion and keyword substitution routines 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 # ---------------------------------------------------------------------------- # Tests for libsvn_delta [random-test] description = Use random data to test delta processing type = exe path = subversion/tests/libsvn_delta sources = random-test.c install = test libs = libsvn_test libsvn_delta libsvn_subr aprutil apriconv apr # ---------------------------------------------------------------------------- # Tests for libsvn_repos [diff-diff3-test] description = Test the diff/diff3 library 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 for libsvn_repos [ra-local-test] description = Test a few things in libsvn_ra_local type = exe path = subversion/tests/libsvn_ra_local sources = ra-local-test.c install = test libs = libsvn_test libsvn_test_fs libsvn_ra_local libsvn_ra libsvn_fs libsvn_delta libsvn_subr aprutil apriconv apr ### 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/libapr msvc-libs = mswsock.lib ws2_32.lib advapi32.lib rpcrt4.lib msvc-fake = yes msvc-name = libapr [aprutil] type = lib external-lib = $(SVN_APRUTIL_LIBS) external-project = apr-util/libaprutil libs = xml apr apriconv apriconv_ccs_modules apriconv_ces_modules gen_uri_delims msvc-fake = yes msvc-name = libaprutil [apriconv] type = lib external-lib = $(SVN_APRUTIL_LIBS) external-project = apr-iconv/libapriconv libs = apr msvc-name = libapriconv [apriconv_ccs_modules] type = exe external-project = apr-iconv/ccs/libapriconv_ccs_modules libs = apriconv apr msvc-name = libapriconv_ccs_modules [apriconv_ces_modules] type = exe external-project = apr-iconv/ces/libapriconv_ces_modules libs = apriconv apr msvc-name = libapriconv_ces_modules [bdb] type = lib external-lib = $(SVN_DB_LIBS) [zlib] type = lib external-project = build/win32/zlib msvc-static = yes [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 [fs-libs] type = lib external-lib = $(SVN_FS_LIB_LINK) libs = libsvn_fs_base libsvn_fs_fs [__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 locks-test repos-test compat-test config-test hashdump-test opt-test path-test stream-test string-test time-test utf-test target-test translate-test random-test diff-diff3-test ra-local-test svndiff-test vdelta-test diff-test diff3-test diff4-test locks-test [__CONFIG__] type = lib external-project = build/win32/svn_config [__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_PERL__] type = swig_project path = build/win32 libs = swig_client swig_delta swig_fs swig_ra swig_repos swig_wc swig_core lang = perl [__SWIG_RUBY__] type = swig_project path = build/win32 libs = swig_client swig_delta swig_fs swig_ra swig_repos swig_wc swig_core lang = ruby [__JAVAHL__] type = project path = build/win32 libs = javahl-java javahl-javah libsvnjavahl # ---------------------------------------------------------------------------- # 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