diff options
Diffstat (limited to 'build.conf')
-rw-r--r-- | build.conf | 307 |
1 files changed, 223 insertions, 84 deletions
@@ -38,6 +38,8 @@ private-includes = subversion/include/private/*.h subversion/bindings/swig/include/*.swg subversion/libsvn_delta/compose_delta.c + subversion/bindings/cxxhl/include/*.hpp + subversion/bindings/cxxhl/include/svncxxhl/*.hpp private-built-includes = subversion/svn_private_config.h subversion/libsvn_fs_fs/rep-cache-db.h @@ -55,6 +57,11 @@ private-built-includes = subversion/bindings/javahl/include/org_apache_subversion_javahl_SVNRepos.h subversion/bindings/javahl/include/org_apache_subversion_javahl_SVNClient.h subversion/bindings/javahl/include/org_apache_subversion_javahl_types_Version.h + subversion/bindings/javahl/include/org_apache_subversion_javahl_types_VersionExtended.h + subversion/bindings/javahl/include/org_apache_subversion_javahl_types_VersionExtended_LinkedLib.h + subversion/bindings/javahl/include/org_apache_subversion_javahl_types_VersionExtended_LinkedLibIterator.h + subversion/bindings/javahl/include/org_apache_subversion_javahl_types_VersionExtended_LoadedLib.h + subversion/bindings/javahl/include/org_apache_subversion_javahl_types_VersionExtended_LoadedLibIterator.h subversion/bindings/javahl/include/org_apache_subversion_javahl_types_Revision.h subversion/bindings/javahl/include/org_apache_subversion_javahl_callback_UserPasswordCallback.h @@ -64,9 +71,9 @@ test-scripts = bdb-test-scripts = -swig-python-opts = -python -classic -swig-perl-opts = -perl -nopm -noproxy -swig-ruby-opts = -ruby +swig-python-opts = $(SWIG_CPPFLAGS) -python -classic +swig-perl-opts = $(SWIG_CPPFLAGS) -perl -nopm -noproxy +swig-ruby-opts = $(SWIG_CPPFLAGS) -ruby swig-languages = python perl ruby swig-dirs = subversion/bindings/swig/python @@ -83,25 +90,27 @@ swig-checkout-files = common.swg swigrun.swg runtime.swg # # BUILD TARGETS # - -# Explanation for the seemingly-spurious mention of 'neon' in the libs lines -# for svn, svnsync, ra-local-test, client-test, svn-push and svnmucc: -# This is a workaround for a libtool bug, which manifests on Linux and similar -# ELF platforms, when linking to an installed Neon, and there are old -# Subversion libraries in the same directory as the installed Neon. In such -# cases, the run-before-installing version of the executables (.libs/lt-foo), -# gets given an ELF RPATH which includes the install directory *before* all the -# uninstalled libsvn_foo/.libs directories have been mentioned. This occurs -# because when libtool is at the point of handling Neon, it adds an RPATH entry -# pointing to its directory, but fails to correctly consider that it should -# prioritize all the RPATH entries for *un*installed libraries before all those -# for installed libraries, to avoid this bug. As a kludgy workaround, we add -# a mention of 'neon' to the end of the libs lines for executables which -# indirectly link to libsvn_ra_neon, which has the effect of 'pulling' the -# harmful RPATH entry toward the end of RPATH, enabling the executables to run -# correctly before installation, even when old versions of the Subversion -# libraries are present. -# This bug was last confirmed to be present in libtool 1.5.22. +# Target parameters: +# description - optional build target description +# type - the target type, defines how to build it +# when - the name of an autoconf-substed variable that muset be +# defined to either "true" or "false", that determines +# whether this target should be built and installed. +# path - relative path to target sources +# sources - explicit list of target sources +# install - the installation group/type +# manpages - the man pages associated with this target +# libs - libraries that this target depends on +# nonlibs - dependencies that are not linked into the target +# lang - bindings for language $(lang) +# msvc-libs - additional libraries to link with on Windows +# msvc-export - additional list of files to expose in dsp/vc(x)proj +# msvc-static - visual studio target produces only a static lib +# add-deps - expands to additional autoconf-defined dependencies +# add-install-deps - like add-deps, but for the install step +# external-lib - expands to additional autoconf-defined libs +# external-project - visual studio project to depend on +# # The subversion command-line client [svn] @@ -109,7 +118,7 @@ description = Subversion Client type = exe path = subversion/svn libs = libsvn_client libsvn_wc libsvn_ra libsvn_delta libsvn_diff libsvn_subr - apriconv apr neon + apriconv apr manpages = subversion/svn/svn.1 install = bin @@ -154,7 +163,7 @@ msvc-libs = advapi32.lib ws2_32.lib description = Subversion repository replicator type = exe path = subversion/svnsync -libs = libsvn_ra libsvn_delta libsvn_subr apr neon +libs = libsvn_ra libsvn_delta libsvn_subr apr install = bin manpages = subversion/svnsync/svnsync.1 @@ -170,10 +179,18 @@ manpages = subversion/svnversion/svnversion.1 description = Subversion remote repository dumper and loader type = exe path = subversion/svnrdump -libs = libsvn_client libsvn_ra libsvn_repos libsvn_delta libsvn_subr apr +libs = libsvn_client libsvn_ra libsvn_repos libsvn_delta libsvn_subr aprutil apr install = bin manpages = subversion/svnrdump/svnrdump.1 +[svnmucc] +description = Subversion Multiple URL Command Client +type = exe +path = subversion/svnmucc +libs = libsvn_client libsvn_ra libsvn_subr libsvn_delta apriconv apr +install = bin +manpages = subversion/svnmucc/svnmucc.1 + # Support for GNOME Keyring [libsvn_auth_gnome_keyring] description = Subversion GNOME Keyring Library @@ -207,7 +224,7 @@ type = lib install = fsmod-lib path = subversion/libsvn_delta libs = libsvn_subr aprutil apriconv apr zlib -msvc-export = svn_delta.h +msvc-export = svn_delta.h private/svn_editor.h private/svn_delta_private.h # Routines for diffing [libsvn_diff] @@ -216,7 +233,7 @@ type = lib path = subversion/libsvn_diff libs = libsvn_subr apriconv apr zlib install = lib -msvc-export = svn_diff.h +msvc-export = svn_diff.h private/svn_diff_private.h private/svn_diff_tree.h # The repository filesystem library [libsvn_fs] @@ -224,7 +241,7 @@ description = Subversion Repository Filesystem Library type = lib path = subversion/libsvn_fs install = ramod-lib -libs = libsvn_fs_util libsvn_subr fs-libs aprutil apr +libs = libsvn_fs_util libsvn_delta libsvn_subr fs-libs aprutil apr # conditionally add more dependencies add-deps = $(SVN_FS_LIB_DEPS) add-install-deps = $(SVN_FS_LIB_INSTALL_DEPS) @@ -266,20 +283,12 @@ add-install-deps = $(SVN_RA_LIB_INSTALL_DEPS) install = lib msvc-export = svn_ra.h private\svn_ra_private.h -# Accessing repositories via DAV through neon -[libsvn_ra_neon] -type = ra-module -path = subversion/libsvn_ra_neon -install = neon-lib -libs = libsvn_delta libsvn_subr aprutil apriconv apr neon -msvc-static = yes - # Accessing repositories via DAV through serf [libsvn_ra_serf] type = ra-module path = subversion/libsvn_ra_serf install = serf-lib -libs = libsvn_delta libsvn_subr aprutil apriconv apr serf gssapi xml +libs = libsvn_delta libsvn_subr aprutil apriconv apr serf xml msvc-libs = secur32.lib msvc-static = yes @@ -315,7 +324,8 @@ type = lib install = fsmod-lib path = subversion/libsvn_subr libs = aprutil apriconv apr xml zlib apr_memcache sqlite magic -msvc-libs = advapi32.lib shfolder.lib ole32.lib crypt32.lib version.lib +msvc-libs = kernel32.lib advapi32.lib shfolder.lib ole32.lib + crypt32.lib version.lib msvc-export = svn_auth.h svn_base64.h svn_cache_config.h svn_checksum.h svn_cmdline.h svn_compat.h svn_config.h svn_ctype.h svn_dirent_uri.h svn_dso.h @@ -324,13 +334,15 @@ msvc-export = svn_sorts.h svn_string.h svn_subst.h svn_time.h svn_types.h svn_user.h svn_utf.h svn_version.h svn_xml.h private\svn_atomic.h private\svn_cache.h private\svn_cmdline_private.h - private\svn_debug.h private\svn_fspath.h + private\svn_debug.h private\svn_error_private.h private\svn_fspath.h private\svn_log.h private\svn_mergeinfo_private.h private\svn_opt_private.h private\svn_skel.h private\svn_sqlite.h private\svn_utf_private.h private\svn_eol_private.h private\svn_token.h private\svn_adler32.h private\svn_temp_serializer.h private\svn_io_private.h private\svn_string_private.h private\svn_magic.h + private\svn_subr_private.h private\svn_mutex.h private\svn_named_atomic.h + private\svn_cert.h # Working copy management lib [libsvn_wc] @@ -344,6 +356,7 @@ msvc-export = svn_wc.h private\svn_wc_private.h # Subversion plugin for Apache's mod_dav [mod_dav_svn] description = Subversion plug-in for the Apache DAV module +when = INSTALL_APACHE_MODS type = apache-mod path = subversion/mod_dav_svn sources = *.c reports/*.c posts/*.c @@ -354,6 +367,7 @@ msvc-libs = mod_dav.lib libhttpd.lib [mod_authz_svn] description = Subversion path-based authorization module for Apache +when = INSTALL_APACHE_MODS type = apache-mod path = subversion/mod_authz_svn nonlibs = mod_dav_svn apr aprutil @@ -363,6 +377,7 @@ msvc-libs = libhttpd.lib [mod_dontdothat] description = Apache Httpd module to block certain kinds of Apache Subversion requests +when = INSTALL_APACHE_MODS type = apache-mod path = tools/server-side/mod_dontdothat nonlibs = mod_dav_svn apr aprutil @@ -606,7 +621,7 @@ description = Subversion Java HighLevel binding type = lib path = subversion/bindings/javahl/native libs = libsvn_repos libsvn_client libsvn_wc libsvn_ra libsvn_delta libsvn_diff - libsvn_subr libsvn_fs aprutil apriconv apr neon + libsvn_subr libsvn_fs aprutil apriconv apr sources = *.cpp *.c add-deps = $(javahl_javah_DEPS) $(javahl_java_DEPS) $(javahl_callback_javah_DEPS) $(javahl_types_javah_DEPS) install = javahl-lib @@ -616,6 +631,33 @@ link-cmd = $(LINK_JAVAHL_CXX) # ---------------------------------------------------------------------------- # +# C++HL targets +# + +[libsvncxxhl] +description = Subversion C++ HighLevel bindings +type = lib +path = subversion/bindings/cxxhl +libs = libsvn_repos libsvn_client libsvn_wc libsvn_ra libsvn_delta libsvn_diff + libsvn_subr libsvn_fs aprutil apriconv apr +sources = src/*.cpp +install = cxxhl-lib +msvc-static = yes +compile-cmd = $(COMPILE_CXXHL_CXX) +link-cmd = $(LINK_CXX_LIB) + +[cxxhl-tests] +description = Unit tests for Subversion C++ HighLevel bindings +type = exe +path = subversion/bindings/cxxhl +libs = libsvncxxhl libsvn_subr +sources = tests/*.cpp +install = tests +compile-cmd = $(COMPILE_CXXHL_CXX) +link-cmd = $(LINK_CXX) + +# ---------------------------------------------------------------------------- +# # TESTING TARGETS # @@ -709,7 +751,7 @@ type = exe path = subversion/tests/libsvn_subr sources = auth-test.c install = test -libs = libsvn_test libsvn_subr +libs = libsvn_test libsvn_subr apr [cache-test] description = Test in-memory cache @@ -725,7 +767,7 @@ type = exe path = subversion/tests/libsvn_subr sources = checksum-test.c install = test -libs = libsvn_test libsvn_subr apr +libs = libsvn_test libsvn_subr apr zlib [compat-test] description = Test compatibility functions @@ -743,6 +785,14 @@ sources = config-test.c install = test libs = libsvn_test libsvn_subr apriconv apr +[crypto-test] +description = Test svn_crypto utilities +type = exe +path = subversion/tests/libsvn_subr +sources = crypto-test.c +install = test +libs = libsvn_test libsvn_subr aprutil apr + [dirent_uri-test] description = Test dirent_uri library type = exe @@ -759,6 +809,14 @@ sources = error-test.c install = test libs = libsvn_test libsvn_subr apriconv apr +[error-code-test] +description = Test error library +type = exe +path = subversion/tests/libsvn_subr +sources = error-code-test.c +install = test +libs = libsvn_test libsvn_subr apriconv apr + [hashdump-test] description = Test hashfile format for props type = exe @@ -767,6 +825,14 @@ sources = hashdump-test.c install = test libs = libsvn_test libsvn_subr apriconv apr +[io-test] +description = Test I/O Operations +type = exe +path = subversion/tests/libsvn_subr +sources = io-test.c +install = test +libs = libsvn_test libsvn_subr apriconv apr + [opt-test] description = Test options library type = exe @@ -783,6 +849,22 @@ sources = mergeinfo-test.c install = test libs = libsvn_test libsvn_subr apr +[named_atomic-test] +description = Test named atomics +type = exe +path = subversion/tests/libsvn_subr +sources = named_atomic-test.c +install = test +libs = libsvn_test libsvn_subr apr + +[named_atomic-proc-test] +description = Sub-process for named atomics +type = exe +path = subversion/tests/libsvn_subr +sources = named_atomic-test-proc.c +install = sub-test +libs = libsvn_subr apr + [path-test] description = Test path library type = exe @@ -807,6 +889,14 @@ sources = skel-test.c install = test libs = libsvn_test libsvn_subr apriconv apr +[spillbuf-test] +description = Test spillbuf in libsvn_subr +type = exe +path = subversion/tests/libsvn_subr +sources = spillbuf-test.c +install = test +libs = libsvn_test libsvn_subr apriconv apr + [stream-test] description = Test stream library type = exe @@ -839,14 +929,6 @@ sources = utf-test.c install = test libs = libsvn_test libsvn_subr apriconv apr -[target-test] -description = Test the condense_targets functions -type = exe -path = subversion/tests/libsvn_subr -sources = target-test.c -install = test -libs = libsvn_test libsvn_subr apriconv apr - [subst_translate-test] description = Test the svn_subst_translate* functions type = exe @@ -891,7 +973,7 @@ type = exe path = subversion/tests/libsvn_client sources = client-test.c install = test -libs = libsvn_test libsvn_client libsvn_wc libsvn_repos libsvn_ra libsvn_fs libsvn_delta libsvn_subr apriconv apr neon +libs = libsvn_test libsvn_client libsvn_wc libsvn_repos libsvn_ra libsvn_fs libsvn_delta libsvn_subr apriconv apr # ---------------------------------------------------------------------------- # Tests for libsvn_diff @@ -913,6 +995,18 @@ install = test libs = libsvn_test libsvn_diff libsvn_subr apriconv apr # ---------------------------------------------------------------------------- +# Tests for libsvn_ra + +[ra-test] +description = Test a few things in libsvn_ra +type = exe +path = subversion/tests/libsvn_ra +sources = ra-test.c +install = test +libs = libsvn_test libsvn_ra libsvn_fs libsvn_delta libsvn_subr + apriconv apr + +# ---------------------------------------------------------------------------- # Tests for libsvn_ra_local [ra-local-test] @@ -922,16 +1016,16 @@ path = subversion/tests/libsvn_ra_local sources = ra-local-test.c install = test libs = libsvn_test libsvn_ra_local libsvn_ra libsvn_fs libsvn_delta libsvn_subr - apriconv apr neon + apriconv apr # ---------------------------------------------------------------------------- # Tests for libsvn_wc -[tree-conflict-data-test] +[conflict-data-test] description = Test the storage of tree conflict data type = exe path = subversion/tests/libsvn_wc -sources = tree-conflict-data-test.c utils.c +sources = conflict-data-test.c utils.c install = test libs = libsvn_client libsvn_test libsvn_wc libsvn_subr apriconv apr @@ -960,13 +1054,29 @@ install = test libs = libsvn_client libsvn_test libsvn_wc libsvn_subr apriconv apr [op-depth-test] -description = Test the main WC API functions +description = Test layered tree changes type = exe path = subversion/tests/libsvn_wc sources = op-depth-test.c utils.c install = test libs = libsvn_client libsvn_test libsvn_wc libsvn_subr apriconv apr +[wc-queries-test] +description = Test Sqlite query evaluation +type = exe +path = subversion/tests/libsvn_wc +sources = wc-queries-test.c +install = test +libs = libsvn_test libsvn_subr apriconv apr sqlite + +[wc-test] +description = Test the main WC API functions +type = exe +path = subversion/tests/libsvn_wc +sources = wc-test.c utils.c +install = test +libs = libsvn_client libsvn_test libsvn_wc libsvn_subr apriconv apr + # ---------------------------------------------------------------------------- # These are not unit tests at all, they are small programs that exercise # parts of the libsvn_delta API from the command line. They are stuck here @@ -1049,10 +1159,6 @@ external-lib = $(SVN_DB_LIBS) type = lib external-lib = $(SVN_GNOME_KEYRING_LIBS) -[gssapi] -type = lib -external-lib = $(SVN_GSSAPI_LIBS) - [kwallet] type = lib external-lib = $(SVN_KWALLET_LIBS) @@ -1071,14 +1177,6 @@ external-lib = $(SVN_ZLIB_LIBS) external-project = zlib msvc-static = yes -[neon] -type = lib -external-lib = $(NEON_LIBS) -external-project = neon/neon -libs = xml -msvc-libs = ws2_32.lib -msvc-static = yes - [apr_memcache] type = lib external-lib = $(SVN_APR_MEMCACHE_LIBS) @@ -1101,7 +1199,7 @@ external-lib = $(SVN_XML_LIBS) [ra-libs] type = lib external-lib = $(SVN_RA_LIB_LINK) -libs = libsvn_ra_neon libsvn_ra_serf libsvn_ra_local libsvn_ra_svn +libs = libsvn_ra_serf libsvn_ra_local libsvn_ra_svn [fs-libs] type = lib @@ -1114,7 +1212,7 @@ path = build/win32 libs = svn svnadmin svndumpfilter svnlook svnmucc svnserve svnrdump svnsync svnversion mod_authz_svn mod_dav_svn mod_dontdothat - svnauthz-validate svnraisetreeconflict + svnauthz svnauthz-validate svnraisetreeconflict [__ALL_TESTS__] type = project @@ -1124,28 +1222,34 @@ libs = __ALL__ strings-reps-test changes-test locks-test repos-test checksum-test compat-test config-test hashdump-test mergeinfo-test opt-test path-test stream-test string-test time-test utf-test - target-test error-test cache-test - revision-test - subst_translate-test + error-test error-code-test cache-test spillbuf-test crypto-test + named_atomic-test named_atomic-proc-test revision-test + subst_translate-test io-test translate-test random-test window-test diff-diff3-test + ra-test ra-local-test svndiff-test vdelta-test entries-dump atomic-ra-revprop-change wc-lock-tester wc-incomplete-tester - diff diff3 diff4 client-test - tree-conflict-data-test db-test pristine-store-test entries-compat-test - op-depth-test dirent_uri-test + conflict-data-test db-test pristine-store-test entries-compat-test + op-depth-test dirent_uri-test wc-queries-test wc-test auth-test parse-diff-test + +[__MORE__] +type = project +path = build/win32 +libs = __ALL_TESTS__ + diff diff3 diff4 fsfs-reorg fsfs-stats fsfs-access-map svn-bench svn-rep-sharing-stats svn-populate-node-origins-index [__LIBS__] type = project path = build/win32 libs = fs-libs ra-libs libsvn_client libsvn_subr libsvn_wc - aprutil apriconv apr neon + aprutil apriconv apr [__CONFIG__] type = lib @@ -1160,13 +1264,13 @@ 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 +libs = swig_client swig_delta swig_diff 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 +libs = swig_client swig_delta swig_diff swig_fs swig_ra swig_repos swig_wc swig_core lang = ruby [__JAVAHL__] @@ -1182,12 +1286,26 @@ libs = __JAVAHL__ javahl-tests javahl-compat-tests # ---------------------------------------------------------------------------- # Contrib and tools -[svnmucc] +[fsfs-reorg] +type = exe +path = tools/dev +sources = fsfs-reorg.c +install = tools +libs = libsvn_delta libsvn_subr apr + +[fsfs-stats] +type = exe +path = tools/server-side +sources = fsfs-stats.c +install = tools +libs = libsvn_delta libsvn_subr apr + +[fsfs-access-map] type = exe -path = tools/client-side/svnmucc -sources = svnmucc.c +path = tools/dev +sources = fsfs-access-map.c install = tools -libs = libsvn_client libsvn_ra libsvn_subr libsvn_delta apriconv apr neon +libs = libsvn_subr apr [diff] type = exe @@ -1210,15 +1328,36 @@ sources = diff4.c install = tools libs = libsvn_diff libsvn_subr apriconv apr +[svn-bench] +type = exe +path = tools/client-side/svn-bench +install = tools +libs = libsvn_client libsvn_wc libsvn_ra libsvn_subr libsvn_delta + apriconv apr + +[svnauthz] +description = Authz config file tool +type = exe +path = tools/server-side +sources = svnauthz.c +install = tools +libs = libsvn_repos libsvn_fs libsvn_subr apr + +# svnauthz-validate is the compat mode of the new svnauthz tool. It is +# exactly the same code as svnauthz. This duplicated target is needed +# in order to easily test both commands as part of the build since libtool +# does not provide a way to set argv[0] different from the commands actual +# name in the wrapper script. [svnauthz-validate] description = Authz config file validator type = exe path = tools/server-side -sources = svnauthz-validate.c +sources = svnauthz.c install = tools -libs = libsvn_repos libsvn_subr apr +libs = libsvn_repos libsvn_fs libsvn_subr apr [svn-populate-node-origins-index] +description = Tool to populate the node origins index of a repository type = exe path = tools/server-side sources = svn-populate-node-origins-index.c |