# # 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 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 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 [bdb-test-scripts] paths = subversion/tests/libsvn_fs_base/run-fs-tests.py subversion/tests/libsvn_repos/run-repos-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 = 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) 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) 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 undefined-lib-symbols = yes [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 undefined-lib-symbols = yes [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 = swig_runtime libsvn_swig_py libsvn_swig_java libsvn_swig_perl libsvn_client libsvn_subr apr 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 libsvn_subr 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 libsvn_subr 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 libsvn_subr 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 libsvn_subr 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 libsvn_subr 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_delta libsvn_diff libsvn_subr apr 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/python/libsvn_swig_py sources = swigutil_py.c libs = swig_runtime 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 Java modules [libsvn_swig_java] type = swig_lib lang = java path = subversion/bindings/swig/java/libsvn_swig_java sources = swigutil_java.c libs = libsvn_subr libsvn_delta 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-java-api] type = java path = subversion/bindings/java/org/tigris/subversion sources = *.java opt/*.java auth/*.java client/*.java wc/*.java #install = For now, API code is installed by swig-java-java. link-cmd = $(COMPILE_SWIG_JAVA_JAVAC) ### Decouple API targets from SWIG-specific targets #classes = subversion/bindings/java/build classes = subversion/bindings/swig/java/build #add-deps = swig-java-api-setup add-deps = swig-java-setup package-roots = org [swig-java-java] type = java path = subversion/bindings/swig/java/org/tigris/subversion sources = swig/*.java util/*.java client/*.java install = swig-java-java link-cmd = $(COMPILE_SWIG_JAVA_JAVAC) classes = subversion/bindings/swig/java/build ### A JAR containing SWIG-specific classes shouldn't be named -api. jar = svn-api.jar package-roots = org libs = swig-java-api swig_client swig_delta swig_fs swig_ra swig_repos swig_wc swig_core add-deps = swig-java-setup [swig-java-tests] type = java path = subversion/bindings/swig/java/org/tigris/subversion sources = test/*.java #install = test code isn't installed link-cmd = $(COMPILE_SWIG_JAVA_JAVAC) classes = subversion/bindings/swig/java/build package-roots = org ### Java targets don't do up-to-date checks yet. #add-deps = swig-java-java # 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 = swig_runtime libsvn_subr libsvn_delta aprutil apriconv apr install = swig-pl-lib # need special build rule to include compile-cmd = $(COMPILE_SWIG_PL) msvc-export = swigutil_pl.h # ---------------------------------------------------------------------------- # # 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 install = javahl-javah link-cmd = $(COMPILE_JAVAHL_JAVAH) [libsvnjavahl] description = Subversion Java HighLevel binding type = lib path = subversion/bindings/java/javahl/native #libs = javahl-javah aprutil apriconv apr libs = libsvn_client libsvn_wc libsvn_ra libsvn_delta libsvn_subr aprutil apriconv apr neon sources = *.cpp *.c 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 = bdb-test libs = libsvn_fs_base 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 *public* fs API (svn_fs.h) [fs-test] 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 # run-fs-tests.py will run this for us testing = skip # test skels in libsvn_fs_base [skel-test] 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 # run-fs-tests.py will run this for us testing = skip # test keygen funcs in libsvn_fs_base [key-test] 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 # run-fs-tests.py will run this for us testing = skip # test strings/reps in libsvn_fs_base [strings-reps-test] 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 # run-fs-tests.sh will run this for us testing = skip # test strings/reps in libsvn_fs_base [changes-test] 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 # 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 = bdb-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 UTF-8 functions [utf-test] type = exe path = subversion/tests/libsvn_subr sources = utf-test.c install = test libs = libsvn_test 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 = 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/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) [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 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 utf-test ra-local-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_JAVA__] type = swig_project path = build/win32 libs = swig-java-java 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 [__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