1#
2# build.conf -- configuration information for building Subversion
3#
4######################################################################
5#    Licensed to the Apache Software Foundation (ASF) under one
6#    or more contributor license agreements.  See the NOTICE file
7#    distributed with this work for additional information
8#    regarding copyright ownership.  The ASF licenses this file
9#    to you under the Apache License, Version 2.0 (the
10#    "License"); you may not use this file except in compliance
11#    with the License.  You may obtain a copy of the License at
12#
13#      http://www.apache.org/licenses/LICENSE-2.0
14#
15#    Unless required by applicable law or agreed to in writing,
16#    software distributed under the License is distributed on an
17#    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
18#    KIND, either express or implied.  See the License for the
19#    specific language governing permissions and limitations
20#    under the License.
21######################################################################
22#
23# This file is processed by gen-make.py, creating build-outputs.mk
24#
25
26# ----------------------------------------------------------------------------
27#
28# PREDEFINED SECTION
29#
30# This [options] section is global in scope, providing information to the
31# process, rather than defining a build target, as all other sections do.
32#
33
34[options]
35includes = subversion/include/*.h
36include-wildcards = *.h *.i *.swg
37private-includes =
38        subversion/include/private/*.h
39        subversion/bindings/swig/include/*.swg
40        subversion/libsvn_delta/compose_delta.c
41        subversion/bindings/cxxhl/include/*.hpp
42        subversion/bindings/cxxhl/include/svncxxhl/*.hpp
43private-built-includes =
44        subversion/svn_private_config.h
45        subversion/libsvn_fs_fs/rep-cache-db.h
46        subversion/libsvn_wc/wc-metadata.h
47        subversion/libsvn_wc/wc-queries.h
48        subversion/libsvn_wc/wc-checks.h
49        subversion/libsvn_subr/internal_statements.h
50        subversion/bindings/swig/proxy/swig_python_external_runtime.swg
51        subversion/bindings/swig/proxy/swig_perl_external_runtime.swg
52        subversion/bindings/swig/proxy/swig_ruby_external_runtime.swg
53        subversion/bindings/swig/proxy/rubyhead.swg
54        subversion/bindings/javahl/include/org_apache_subversion_javahl_CommitItemStateFlags.h
55        subversion/bindings/javahl/include/org_apache_subversion_javahl_NativeResources.h
56        subversion/bindings/javahl/include/org_apache_subversion_javahl_Path.h
57        subversion/bindings/javahl/include/org_apache_subversion_javahl_SVNRepos.h
58        subversion/bindings/javahl/include/org_apache_subversion_javahl_SVNClient.h
59        subversion/bindings/javahl/include/org_apache_subversion_javahl_types_Version.h
60        subversion/bindings/javahl/include/org_apache_subversion_javahl_types_VersionExtended.h
61        subversion/bindings/javahl/include/org_apache_subversion_javahl_types_VersionExtended_LinkedLib.h
62        subversion/bindings/javahl/include/org_apache_subversion_javahl_types_VersionExtended_LinkedLibIterator.h
63        subversion/bindings/javahl/include/org_apache_subversion_javahl_types_VersionExtended_LoadedLib.h
64        subversion/bindings/javahl/include/org_apache_subversion_javahl_types_VersionExtended_LoadedLibIterator.h
65        subversion/bindings/javahl/include/org_apache_subversion_javahl_types_Revision.h
66        subversion/bindings/javahl/include/org_apache_subversion_javahl_callback_UserPasswordCallback.h
67
68
69test-scripts =
70        subversion/tests/cmdline/*_tests.py
71
72bdb-test-scripts =
73
74swig-python-opts = $(SWIG_CPPFLAGS) -python -classic
75swig-perl-opts = $(SWIG_CPPFLAGS) -perl -nopm -noproxy
76swig-ruby-opts = $(SWIG_CPPFLAGS) -ruby
77swig-languages = python perl ruby
78swig-dirs = 
79        subversion/bindings/swig/python
80        subversion/bindings/swig/perl
81        subversion/bindings/swig/ruby
82        subversion/bindings/swig/proxy
83
84swig-proxy-dir = subversion/bindings/swig/proxy
85swig-checkout-files = common.swg swigrun.swg runtime.swg
86                      ruby/rubydef.swg ruby/rubyhead.swg ruby/rubytracking.swg
87                      perl5/perlrun.swg python/pyrun.swg python/python.swg
88
89# ----------------------------------------------------------------------------
90#
91# BUILD TARGETS
92#
93# Target parameters:
94#    description      - optional build target description
95#    type             - the target type, defines how to build it
96#    when             - the name of an autoconf-substed variable that muset be
97#                       defined to either "true" or "false", that determines
98#                       whether this target should be built and installed.
99#    path             - relative path to target sources
100#    sources          - explicit list of target sources
101#    install          - the installation group/type
102#    manpages         - the man pages associated with this target
103#    libs             - libraries that this target depends on
104#    nonlibs          - dependencies that are not linked into the target
105#    lang             - bindings for language $(lang)
106#    msvc-libs        - additional libraries to link with on Windows
107#    msvc-export      - additional list of files to expose in dsp/vc(x)proj
108#    msvc-static      - visual studio target produces only a static lib
109#    add-deps         - expands to additional autoconf-defined dependencies
110#    add-install-deps - like add-deps, but for the install step
111#    external-lib     - expands to additional autoconf-defined libs
112#    external-project - visual studio project to depend on
113#
114
115# The subversion command-line client
116[svn]
117description = Subversion Client
118type = exe
119path = subversion/svn
120libs = libsvn_client libsvn_wc libsvn_ra libsvn_delta libsvn_diff libsvn_subr
121       apriconv apr
122manpages = subversion/svn/svn.1
123install = bin
124
125# The subversion repository administration tool
126[svnadmin]
127description = Subversion Repository Administrator
128type = exe
129path = subversion/svnadmin
130install = bin
131manpages = subversion/svnadmin/svnadmin.1
132libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr apriconv apr
133
134# The subversion repository dump filtering tool
135[svndumpfilter]
136description = Subversion Dumpfile Filter
137type = exe
138path = subversion/svndumpfilter
139install = bin
140manpages = subversion/svndumpfilter/svndumpfilter.1
141libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr apriconv apr
142
143# The subversion repository inspection tool
144[svnlook]
145description = Subversion Repository Browser
146type = exe
147path = subversion/svnlook
148install = bin
149manpages = subversion/svnlook/svnlook.1
150libs = libsvn_repos libsvn_fs libsvn_delta libsvn_diff libsvn_subr apriconv apr
151
152[svnserve]
153description = Subversion Server
154type = exe
155path = subversion/svnserve
156install = bin
157manpages = subversion/svnserve/svnserve.8 subversion/svnserve/svnserve.conf.5
158libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr libsvn_ra_svn
159       apriconv apr sasl
160msvc-libs = advapi32.lib ws2_32.lib
161
162[svnsync]
163description = Subversion repository replicator
164type = exe
165path = subversion/svnsync
166libs = libsvn_ra libsvn_delta libsvn_subr apr
167install = bin
168manpages = subversion/svnsync/svnsync.1
169
170[svnversion]
171description = Subversion Revision Extractor
172type = exe
173path = subversion/svnversion
174libs = libsvn_wc libsvn_subr apriconv apr
175install = bin
176manpages = subversion/svnversion/svnversion.1
177
178[svnrdump]
179description = Subversion remote repository dumper and loader
180type = exe
181path = subversion/svnrdump
182libs = libsvn_client libsvn_ra libsvn_repos libsvn_delta libsvn_subr aprutil apr
183install = bin
184manpages = subversion/svnrdump/svnrdump.1
185
186[svnmucc]
187description = Subversion Multiple URL Command Client
188type = exe
189path = subversion/svnmucc
190libs = libsvn_client libsvn_ra libsvn_subr libsvn_delta apriconv apr
191install = bin
192manpages = subversion/svnmucc/svnmucc.1
193
194# Support for GNOME Keyring
195[libsvn_auth_gnome_keyring]
196description = Subversion GNOME Keyring Library
197type = lib
198install = gnome-keyring-lib
199path = subversion/libsvn_auth_gnome_keyring
200libs = libsvn_subr apr gnome-keyring
201
202# Support for KWallet
203[libsvn_auth_kwallet]
204description = Subversion KWallet Library
205type = lib
206install = kwallet-lib
207path = subversion/libsvn_auth_kwallet
208libs = libsvn_subr apr kwallet
209link-cmd = $(LINK_CXX_LIB)
210
211# Library needed by all subversion clients
212[libsvn_client]
213description = Subversion Client Library
214type = lib
215path = subversion/libsvn_client
216libs = libsvn_wc libsvn_ra libsvn_delta libsvn_diff libsvn_subr apriconv apr
217install = lib
218msvc-export = svn_client.h private/svn_client_private.h
219
220# Routines for binary diffing and tree-deltas
221[libsvn_delta]
222description = Subversion Delta Library
223type = lib
224install = fsmod-lib
225path = subversion/libsvn_delta
226libs = libsvn_subr aprutil apriconv apr zlib
227msvc-export = svn_delta.h private/svn_editor.h private/svn_delta_private.h
228
229# Routines for diffing
230[libsvn_diff]
231description = Subversion Diff Library
232type = lib
233path = subversion/libsvn_diff
234libs = libsvn_subr apriconv apr zlib
235install = lib
236msvc-export = svn_diff.h private/svn_diff_private.h private/svn_diff_tree.h
237
238# The repository filesystem library
239[libsvn_fs]
240description = Subversion Repository Filesystem Library
241type = lib
242path = subversion/libsvn_fs
243install = ramod-lib
244libs = libsvn_fs_util libsvn_delta libsvn_subr fs-libs aprutil apr
245# conditionally add more dependencies
246add-deps = $(SVN_FS_LIB_DEPS)
247add-install-deps = $(SVN_FS_LIB_INSTALL_DEPS)
248msvc-export = svn_fs.h private/svn_fs_private.h
249
250[libsvn_fs_base]
251type = fs-module
252path = subversion/libsvn_fs_base
253sources = *.c bdb/*.c util/*.c
254install = bdb-lib
255libs = libsvn_delta libsvn_subr aprutil apriconv apr bdb libsvn_fs_util
256msvc-static = yes
257
258[libsvn_fs_fs]
259type = fs-module
260path = subversion/libsvn_fs_fs
261install = fsmod-lib
262libs = libsvn_delta libsvn_subr aprutil apriconv apr libsvn_fs_util
263msvc-static = yes
264
265# Low-level grab bag of utilities
266[libsvn_fs_util]
267type = lib
268install = fsmod-lib
269path = subversion/libsvn_fs_util
270libs = libsvn_subr aprutil apriconv apr
271msvc-libs = advapi32.lib shfolder.lib
272msvc-static = yes
273
274# General API for accessing repositories
275[libsvn_ra]
276description = Subversion Repository Access Library
277type = lib
278path = subversion/libsvn_ra
279libs = libsvn_delta libsvn_subr ra-libs apriconv apr
280# conditionally add more dependencies
281add-deps = $(SVN_RA_LIB_DEPS)
282add-install-deps = $(SVN_RA_LIB_INSTALL_DEPS)
283install = lib
284msvc-export = svn_ra.h private\svn_ra_private.h
285
286# Accessing repositories via DAV through serf
287[libsvn_ra_serf]
288type = ra-module
289path = subversion/libsvn_ra_serf
290install = serf-lib
291libs = libsvn_delta libsvn_subr aprutil apriconv apr serf xml
292msvc-libs = secur32.lib
293msvc-static = yes
294
295# Accessing repositories via SVN
296[libsvn_ra_svn]
297type = ra-module
298path = subversion/libsvn_ra_svn
299install = ramod-lib
300libs = libsvn_delta libsvn_subr aprutil apriconv apr sasl
301msvc-static = yes
302
303# Accessing repositories via direct libsvn_fs
304[libsvn_ra_local]
305type = ra-module
306path = subversion/libsvn_ra_local
307install = ramod-lib
308libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr apriconv apr
309msvc-static = yes
310
311# Routines built on top of libsvn_fs
312[libsvn_repos]
313description = Subversion Repository Library
314type = lib
315path = subversion/libsvn_repos
316install = ramod-lib
317libs = libsvn_fs libsvn_delta libsvn_subr apriconv apr
318msvc-export = svn_repos.h  private/svn_repos_private.h
319
320# Low-level grab bag of utilities
321[libsvn_subr]
322description = Subversion General Utility Library
323type = lib
324install = fsmod-lib
325path = subversion/libsvn_subr
326libs = aprutil apriconv apr xml zlib apr_memcache sqlite magic
327msvc-libs = kernel32.lib advapi32.lib shfolder.lib ole32.lib
328            crypt32.lib version.lib
329msvc-export = 
330        svn_auth.h svn_base64.h svn_cache_config.h svn_checksum.h svn_cmdline.h
331        svn_compat.h svn_config.h svn_ctype.h svn_dirent_uri.h svn_dso.h 
332        svn_error.h svn_hash.h svn_io.h svn_iter.h svn_md5.h svn_mergeinfo.h 
333        svn_nls.h svn_opt.h svn_path.h svn_pools.h svn_props.h svn_quoprint.h 
334        svn_sorts.h svn_string.h svn_subst.h svn_time.h svn_types.h svn_user.h
335        svn_utf.h svn_version.h svn_xml.h 
336        private\svn_atomic.h private\svn_cache.h private\svn_cmdline_private.h
337        private\svn_debug.h private\svn_error_private.h private\svn_fspath.h
338        private\svn_log.h private\svn_mergeinfo_private.h
339        private\svn_opt_private.h private\svn_skel.h private\svn_sqlite.h
340        private\svn_utf_private.h private\svn_eol_private.h
341        private\svn_token.h  private\svn_adler32.h
342        private\svn_temp_serializer.h private\svn_io_private.h
343        private\svn_string_private.h private\svn_magic.h
344        private\svn_subr_private.h private\svn_mutex.h private\svn_named_atomic.h
345        private\svn_cert.h
346
347# Working copy management lib
348[libsvn_wc]
349description = Subversion Working Copy Library
350type = lib
351path = subversion/libsvn_wc
352libs = libsvn_delta libsvn_diff libsvn_subr aprutil apriconv apr
353install = lib
354msvc-export = svn_wc.h private\svn_wc_private.h
355
356# Subversion plugin for Apache's mod_dav
357[mod_dav_svn]
358description = Subversion plug-in for the Apache DAV module
359when = INSTALL_APACHE_MODS
360type = apache-mod
361path = subversion/mod_dav_svn
362sources = *.c reports/*.c posts/*.c
363libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr
364nonlibs = apr aprutil
365install = apache-mod
366msvc-libs = mod_dav.lib libhttpd.lib
367
368[mod_authz_svn]
369description = Subversion path-based authorization module for Apache
370when = INSTALL_APACHE_MODS
371type = apache-mod
372path = subversion/mod_authz_svn
373nonlibs = mod_dav_svn apr aprutil
374libs = libsvn_repos libsvn_subr
375install = apache-mod
376msvc-libs = libhttpd.lib
377
378[mod_dontdothat]
379description = Apache Httpd module to block certain kinds of Apache Subversion requests
380when = INSTALL_APACHE_MODS
381type = apache-mod
382path = tools/server-side/mod_dontdothat
383nonlibs = mod_dav_svn apr aprutil
384libs = libsvn_subr xml
385install = tools
386msvc-libs = libhttpd.lib
387
388# ----------------------------------------------------------------------------
389#
390# CONSTRUCTED HEADERS
391#
392
393[rep_cache]
394description = Schema for the rep-sharing feature
395type = sql-header
396path = subversion/libsvn_fs_fs
397sources = rep-cache-db.sql
398
399[wc_queries]
400desription = Queries on the WC database
401type = sql-header
402path = subversion/libsvn_wc
403sources = wc-queries.sql
404
405[subr_sqlite]
406description = Internal statements for SQLite interface
407type = sql-header
408path = subversion/libsvn_subr
409sources = internal_statements.sql
410
411
412# ----------------------------------------------------------------------------
413#
414# TARGETS FOR I18N SUPPORT
415#
416[locale]
417type = i18n
418path = subversion/po
419install = locale
420external-project = svn_locale
421
422# ----------------------------------------------------------------------------
423#
424# TARGETS FOR SWIG SUPPORT
425#
426
427[swig_core]
428type = swig
429path = subversion/bindings/swig
430sources = core.i
431libs = libsvn_swig_py libsvn_swig_perl libsvn_swig_ruby
432       libsvn_diff libsvn_subr apr
433description = Subversion core library bindings
434include-runtime = yes
435
436[swig_client]
437type = swig
438path = subversion/bindings/swig
439sources = svn_client.i
440libs = libsvn_swig_py libsvn_swig_perl libsvn_swig_ruby
441       libsvn_client libsvn_subr apr
442nonlibs = swig_core
443description = Subversion client library bindings
444
445[swig_delta]
446type = swig
447path = subversion/bindings/swig
448sources = svn_delta.i
449libs = libsvn_swig_py libsvn_swig_perl libsvn_swig_ruby
450       libsvn_delta libsvn_subr apr
451nonlibs = swig_core
452description = Subversion delta library bindings
453
454[swig_diff]
455type = swig
456path = subversion/bindings/swig
457sources = svn_diff.i
458libs = libsvn_swig_py libsvn_swig_perl libsvn_swig_ruby
459       libsvn_diff libsvn_subr apr
460nonlibs = swig_core
461description = Subversion diff library bindings
462
463[swig_fs]
464type = swig
465path = subversion/bindings/swig
466sources = svn_fs.i
467libs = libsvn_swig_py libsvn_swig_perl libsvn_swig_ruby
468       libsvn_fs libsvn_subr apr
469nonlibs = swig_core
470description = Subversion FS library bindings
471
472[swig_ra]
473type = swig
474path = subversion/bindings/swig
475sources = svn_ra.i
476libs = libsvn_swig_py libsvn_swig_perl libsvn_swig_ruby
477       libsvn_ra libsvn_subr apr
478nonlibs = swig_core
479description = Subversion RA library bindings
480
481[swig_repos]
482type = swig
483path = subversion/bindings/swig
484sources = svn_repos.i
485libs = libsvn_swig_py libsvn_swig_perl libsvn_swig_ruby
486       libsvn_repos libsvn_subr apr
487nonlibs = swig_core
488description = Subversion repository library bindings
489
490[swig_wc]
491type = swig
492path = subversion/bindings/swig
493sources = svn_wc.i
494libs = libsvn_swig_py libsvn_swig_perl libsvn_swig_ruby
495       libsvn_wc libsvn_subr apr
496nonlibs = swig_core
497description = Subversion WC library bindings
498
499# SWIG utility library for Python modules
500[libsvn_swig_py]
501type = swig_lib
502lang = python
503path = subversion/bindings/swig/python/libsvn_swig_py
504libs = libsvn_client libsvn_wc libsvn_ra libsvn_delta libsvn_subr apriconv apr
505link-cmd = $(LINK)
506install = swig-py-lib
507# need special build rule to include -DSWIGPYTHON
508compile-cmd = $(COMPILE_SWIG_PY)
509msvc-static = no
510
511# SWIG utility library for Perl modules
512[libsvn_swig_perl]
513type = swig_lib
514lang = perl
515path = subversion/bindings/swig/perl/libsvn_swig_perl
516libs = libsvn_delta libsvn_subr apriconv apr
517install = swig-pl-lib
518# need special build rule to include
519compile-cmd = $(COMPILE_SWIG_PL)
520msvc-static = yes
521
522# SWIG utility library for Ruby modules
523[libsvn_swig_ruby]
524type = swig_lib
525lang = ruby
526path = subversion/bindings/swig/ruby/libsvn_swig_ruby
527libs = libsvn_client libsvn_wc libsvn_delta libsvn_subr apriconv apr
528link-cmd = $(LINK) $(SWIG_RB_LIBS)
529install = swig-rb-lib
530# need special build rule to include
531compile-cmd = $(COMPILE_SWIG_RB)
532msvc-static = no
533
534# ----------------------------------------------------------------------------
535#
536# JavaHL targets
537#
538[javahl-java]
539type = java
540path = subversion/bindings/javahl/src/org/apache/subversion/javahl
541  subversion/bindings/javahl/src/org/apache/subversion/javahl/callback
542  subversion/bindings/javahl/src/org/apache/subversion/javahl/types
543src-root = subversion/bindings/javahl/src
544sources = *.java
545install = javahl-java
546link-cmd = $(COMPILE_JAVAHL_JAVAC)
547classes = subversion/bindings/javahl/classes
548package-roots = org
549
550[javahl-compat-java]
551type = java
552path = subversion/bindings/javahl/src/org/tigris/subversion/javahl
553sources = *.java
554install = javahl-java
555link-cmd = $(COMPILE_JAVAHL_JAVAC)
556classes = subversion/bindings/javahl/classes
557add-deps = $(javahl_java_DEPS)
558### Replace JAR call in INSTALL_EXTRA_JAVAHL_JAVA macro Makefile.in.
559#jar = svn-javahl.jar
560package-roots = org
561
562[javahl-tests]
563type = java
564path = subversion/bindings/javahl/tests/org/apache/subversion/javahl
565sources = *.java
566install = javahl-java
567link-cmd = $(COMPILE_JAVAHL_JAVAC)
568classes = subversion/bindings/javahl/classes
569package-roots = org
570### Java targets don't do up-to-date checks yet.
571#add-deps = javahl-java
572add-deps = $(javahl_java_DEPS)
573
574[javahl-compat-tests]
575type = java
576path = subversion/bindings/javahl/tests/org/tigris/subversion/javahl
577sources = *.java
578install = javahl-java
579link-cmd = $(COMPILE_JAVAHL_JAVAC)
580classes = subversion/bindings/javahl/classes
581package-roots = org
582### Java targets don't do up-to-date checks yet.
583#add-deps = javahl-compat-java
584add-deps = $(javahl_compat_java_DEPS)
585
586[javahl-types-javah]
587type = javah 
588path = subversion/bindings/javahl/src/org/apache/subversion/javahl/types
589classes = subversion/bindings/javahl/classes
590headers = subversion/bindings/javahl/include
591package = org.apache.subversion.javahl.types
592sources = *.java
593add-deps = $(javahl_java_DEPS)
594install = javahl-javah
595link-cmd = $(COMPILE_JAVAHL_JAVAH) -force
596
597[javahl-callback-javah]
598type = javah 
599path = subversion/bindings/javahl/src/org/apache/subversion/javahl/callback
600classes = subversion/bindings/javahl/classes
601headers = subversion/bindings/javahl/include
602package = org.apache.subversion.javahl.callback
603sources = *.java
604add-deps = $(javahl_java_DEPS)
605install = javahl-javah
606link-cmd = $(COMPILE_JAVAHL_JAVAH) -force
607
608[javahl-javah]
609type = javah 
610path = subversion/bindings/javahl/src/org/apache/subversion/javahl
611classes = subversion/bindings/javahl/classes
612headers = subversion/bindings/javahl/include
613package = org.apache.subversion.javahl
614sources = *.java
615add-deps = $(javahl_java_DEPS)
616install = javahl-javah
617link-cmd = $(COMPILE_JAVAHL_JAVAH) -force
618
619[libsvnjavahl]
620description = Subversion Java HighLevel binding
621type = lib
622path = subversion/bindings/javahl/native
623libs = libsvn_repos libsvn_client libsvn_wc libsvn_ra libsvn_delta libsvn_diff 
624       libsvn_subr libsvn_fs aprutil apriconv apr
625sources = *.cpp *.c
626add-deps = $(javahl_javah_DEPS) $(javahl_java_DEPS) $(javahl_callback_javah_DEPS) $(javahl_types_javah_DEPS)
627install = javahl-lib
628# need special build rule to include -I$(JDK)/include/jni.h
629compile-cmd = $(COMPILE_JAVAHL_CXX)
630link-cmd = $(LINK_JAVAHL_CXX)
631
632# ----------------------------------------------------------------------------
633#
634# C++HL targets
635#
636
637[libsvncxxhl]
638description = Subversion C++ HighLevel bindings
639type = lib
640path = subversion/bindings/cxxhl
641libs = libsvn_repos libsvn_client libsvn_wc libsvn_ra libsvn_delta libsvn_diff
642       libsvn_subr libsvn_fs aprutil apriconv apr
643sources = src/*.cpp
644install = cxxhl-lib
645msvc-static = yes
646compile-cmd = $(COMPILE_CXXHL_CXX)
647link-cmd = $(LINK_CXX_LIB)
648
649[cxxhl-tests]
650description = Unit tests for Subversion C++ HighLevel bindings
651type = exe
652path = subversion/bindings/cxxhl
653libs = libsvncxxhl libsvn_subr
654sources = tests/*.cpp
655install = tests
656compile-cmd = $(COMPILE_CXXHL_CXX)
657link-cmd = $(LINK_CXX)
658
659# ----------------------------------------------------------------------------
660#
661# TESTING TARGETS
662#
663
664# general library:  our C testing framework
665[libsvn_test]
666type = lib
667path = subversion/tests
668install = test
669libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr aprutil apriconv apr
670msvc-static = yes
671undefined-lib-symbols = yes
672
673# ----------------------------------------------------------------------------
674# Tests for libsvn_fs_base
675
676[fs-base-test]
677description = Tests for *public* fs API (svn_fs.h)
678type = exe
679path = subversion/tests/libsvn_fs_base
680sources = fs-base-test.c
681install = bdb-test
682libs = libsvn_test libsvn_fs libsvn_fs_base libsvn_delta
683       libsvn_fs_util libsvn_subr apriconv apr
684
685[strings-reps-test]
686description = Test strings/reps in libsvn_fs_base
687type = exe
688path = subversion/tests/libsvn_fs_base
689sources = strings-reps-test.c
690install = bdb-test
691libs = libsvn_test libsvn_fs libsvn_fs_base libsvn_delta
692       libsvn_subr apriconv apr
693
694[changes-test]
695description = Test changes in libsvn_fs_base
696type = exe
697path = subversion/tests/libsvn_fs_base
698sources = changes-test.c
699install = bdb-test
700libs = libsvn_test libsvn_fs libsvn_fs_base libsvn_delta
701       libsvn_subr apriconv apr
702
703# ----------------------------------------------------------------------------
704# Tests for libsvn_fs_fs
705[fs-pack-test]
706description = Test fsfs packing in libsvn_fs_fs
707type = exe
708path = subversion/tests/libsvn_fs_fs
709sources = fs-pack-test.c
710install = test
711libs = libsvn_test libsvn_fs libsvn_fs_fs libsvn_delta
712       libsvn_subr apriconv apr
713
714# ----------------------------------------------------------------------------
715# Tests for libsvn_fs
716
717[locks-test]
718description = Test locks in libsvn_fs
719type = exe
720path = subversion/tests/libsvn_fs
721sources = locks-test.c
722install = test
723libs = libsvn_test libsvn_fs libsvn_delta libsvn_subr apriconv apr
724
725[fs-test]
726description = Test locks in libsvn_fs
727type = exe
728path = subversion/tests/libsvn_fs
729sources = fs-test.c
730install = test
731libs = libsvn_test libsvn_fs libsvn_delta
732       libsvn_subr aprutil apriconv apr
733
734# ----------------------------------------------------------------------------
735# Tests for libsvn_repos
736
737[repos-test]
738description = Test delta editor in libsvn_repos
739type = exe
740path = subversion/tests/libsvn_repos
741sources = repos-test.c dir-delta-editor.c
742install = test
743libs = libsvn_test libsvn_repos libsvn_fs libsvn_delta libsvn_subr apriconv apr
744
745# ----------------------------------------------------------------------------
746# Tests for libsvn_subr
747
748[auth-test]
749description = Test platform-specific auth provider access
750type = exe
751path = subversion/tests/libsvn_subr
752sources = auth-test.c
753install = test
754libs = libsvn_test libsvn_subr apr
755
756[cache-test]
757description = Test in-memory cache
758type = exe
759path = subversion/tests/libsvn_subr
760sources = cache-test.c
761install = test
762libs = libsvn_test libsvn_subr apr
763
764[checksum-test]
765description = Test checksum functions
766type = exe
767path = subversion/tests/libsvn_subr
768sources = checksum-test.c
769install = test
770libs = libsvn_test libsvn_subr apr zlib
771
772[compat-test]
773description = Test compatibility functions
774type = exe
775path = subversion/tests/libsvn_subr
776sources = compat-test.c
777install = test
778libs = libsvn_test libsvn_subr apr
779
780[config-test]
781description = Test svn_config utilities
782type = exe
783path = subversion/tests/libsvn_subr
784sources = config-test.c
785install = test
786libs = libsvn_test libsvn_subr apriconv apr
787
788[crypto-test]
789description = Test svn_crypto utilities
790type = exe
791path = subversion/tests/libsvn_subr
792sources = crypto-test.c
793install = test
794libs = libsvn_test libsvn_subr aprutil apr
795
796[dirent_uri-test]
797description = Test dirent_uri library
798type = exe
799path = subversion/tests/libsvn_subr
800sources = dirent_uri-test.c
801install = test
802libs = libsvn_test libsvn_subr apriconv apr
803
804[error-test]
805description = Test error library
806type = exe
807path = subversion/tests/libsvn_subr
808sources = error-test.c
809install = test
810libs = libsvn_test libsvn_subr apriconv apr
811
812[error-code-test]
813description = Test error library
814type = exe
815path = subversion/tests/libsvn_subr
816sources = error-code-test.c
817install = test
818libs = libsvn_test libsvn_subr apriconv apr
819
820[hashdump-test]
821description = Test hashfile format for props
822type = exe
823path = subversion/tests/libsvn_subr
824sources = hashdump-test.c
825install = test
826libs = libsvn_test libsvn_subr apriconv apr
827
828[io-test]
829description = Test I/O Operations
830type = exe
831path = subversion/tests/libsvn_subr
832sources = io-test.c
833install = test
834libs = libsvn_test libsvn_subr apriconv apr
835
836[opt-test]
837description = Test options library
838type = exe
839path = subversion/tests/libsvn_subr
840sources = opt-test.c
841install = test
842libs = libsvn_test libsvn_subr apr
843
844[mergeinfo-test]
845description = Test mergeinfo library
846type = exe
847path = subversion/tests/libsvn_subr
848sources = mergeinfo-test.c
849install = test
850libs = libsvn_test libsvn_subr apr
851
852[named_atomic-test]
853description = Test named atomics
854type = exe
855path = subversion/tests/libsvn_subr
856sources = named_atomic-test.c
857install = test
858libs = libsvn_test libsvn_subr apr
859
860[named_atomic-proc-test]
861description = Sub-process for named atomics
862type = exe
863path = subversion/tests/libsvn_subr
864sources = named_atomic-test-proc.c
865install = sub-test
866libs = libsvn_subr apr
867
868[path-test]
869description = Test path library
870type = exe
871path = subversion/tests/libsvn_subr
872sources = path-test.c
873install = test
874libs = libsvn_test libsvn_subr apriconv apr
875
876[revision-test]
877description = Test revision library
878type = exe
879path = subversion/tests/libsvn_subr
880sources = revision-test.c
881install = test
882libs = libsvn_test libsvn_subr apr
883
884[skel-test]
885description = Test skels in libsvn_subr
886type = exe
887path = subversion/tests/libsvn_subr
888sources = skel-test.c
889install = test
890libs = libsvn_test libsvn_subr apriconv apr
891
892[spillbuf-test]
893description = Test spillbuf in libsvn_subr
894type = exe
895path = subversion/tests/libsvn_subr
896sources = spillbuf-test.c
897install = test
898libs = libsvn_test libsvn_subr apriconv apr
899
900[stream-test]
901description = Test stream library
902type = exe
903path = subversion/tests/libsvn_subr
904sources = stream-test.c
905install = test
906libs = libsvn_test libsvn_subr apriconv apr
907
908[string-test]
909description = Test svn_stringbuf_t utilities
910type = exe
911path = subversion/tests/libsvn_subr
912sources = string-test.c
913install = test
914libs = libsvn_test libsvn_subr apriconv apr
915
916[time-test]
917description = Test time functions
918type = exe
919path = subversion/tests/libsvn_subr
920sources = time-test.c
921install = test
922libs = libsvn_test libsvn_subr apriconv apr
923
924[utf-test]
925description = Test UTF-8 functions
926type = exe
927path = subversion/tests/libsvn_subr
928sources = utf-test.c
929install = test
930libs = libsvn_test libsvn_subr apriconv apr
931
932[subst_translate-test]
933description = Test the svn_subst_translate* functions
934type = exe
935path = subversion/tests/libsvn_subr
936sources = subst_translate-test.c
937install = test
938libs = libsvn_test libsvn_subr apriconv apr
939
940[translate-test]
941description = Test eol conversion and keyword substitution routines
942type = exe
943path = subversion/tests/libsvn_subr
944sources = translate-test.c
945install = test
946libs = libsvn_test libsvn_subr apriconv apr
947
948# ----------------------------------------------------------------------------
949# Tests for libsvn_delta
950
951[random-test]
952description = Use random data to test delta processing
953type = exe
954path = subversion/tests/libsvn_delta
955sources = random-test.c
956install = test
957libs = libsvn_test libsvn_delta libsvn_subr apriconv apr
958
959[window-test]
960description = Test delta window generation
961type = exe
962path = subversion/tests/libsvn_delta
963sources = window-test.c
964install = test
965libs = libsvn_test libsvn_delta libsvn_subr apriconv apr
966
967# ----------------------------------------------------------------------------
968# Tests for libsvn_client
969
970[client-test]
971description = Test low-level functionality in libsvn_client
972type = exe
973path = subversion/tests/libsvn_client
974sources = client-test.c
975install = test
976libs = libsvn_test libsvn_client libsvn_wc libsvn_repos libsvn_ra libsvn_fs libsvn_delta libsvn_subr apriconv apr
977
978# ----------------------------------------------------------------------------
979# Tests for libsvn_diff
980
981[diff-diff3-test]
982description = Test the diff/diff3 library
983type = exe
984path = subversion/tests/libsvn_diff
985sources = diff-diff3-test.c
986install = test
987libs = libsvn_test libsvn_diff libsvn_subr apriconv apr
988
989[parse-diff-test]
990description = Test unidiff parsing
991type = exe
992path = subversion/tests/libsvn_diff
993sources = parse-diff-test.c
994install = test
995libs = libsvn_test libsvn_diff libsvn_subr apriconv apr
996
997# ----------------------------------------------------------------------------
998# Tests for libsvn_ra
999
1000[ra-test]
1001description = Test a few things in libsvn_ra
1002type = exe
1003path = subversion/tests/libsvn_ra
1004sources = ra-test.c
1005install = test
1006libs = libsvn_test libsvn_ra libsvn_fs libsvn_delta libsvn_subr
1007       apriconv apr
1008
1009# ----------------------------------------------------------------------------
1010# Tests for libsvn_ra_local
1011
1012[ra-local-test]
1013description = Test a few things in libsvn_ra_local
1014type = exe
1015path = subversion/tests/libsvn_ra_local
1016sources = ra-local-test.c
1017install = test
1018libs = libsvn_test libsvn_ra_local libsvn_ra libsvn_fs libsvn_delta libsvn_subr
1019       apriconv apr
1020
1021# ----------------------------------------------------------------------------
1022# Tests for libsvn_wc
1023
1024[conflict-data-test]
1025description = Test the storage of tree conflict data
1026type = exe
1027path = subversion/tests/libsvn_wc
1028sources = conflict-data-test.c utils.c
1029install = test
1030libs = libsvn_client libsvn_test libsvn_wc libsvn_subr apriconv apr
1031
1032[db-test]
1033description = Test the wc-ng database subsystem
1034type = exe
1035path = subversion/tests/libsvn_wc
1036sources = db-test.c utils.c
1037install = test
1038libs = libsvn_client libsvn_test libsvn_wc libsvn_subr apriconv apr
1039
1040[pristine-store-test]
1041description = Test the wc-ng pristine text storage subsystem
1042type = exe
1043path = subversion/tests/libsvn_wc
1044sources = pristine-store-test.c utils.c
1045install = test
1046libs = libsvn_client libsvn_test libsvn_wc libsvn_subr apriconv apr
1047
1048[entries-compat-test]
1049description = Test backwards compat for the entry interface
1050type = exe
1051path = subversion/tests/libsvn_wc
1052sources = entries-compat.c utils.c
1053install = test
1054libs = libsvn_client libsvn_test libsvn_wc libsvn_subr apriconv apr
1055
1056[op-depth-test]
1057description = Test layered tree changes
1058type = exe
1059path = subversion/tests/libsvn_wc
1060sources = op-depth-test.c utils.c
1061install = test
1062libs = libsvn_client libsvn_test libsvn_wc libsvn_subr apriconv apr
1063
1064[wc-queries-test]
1065description = Test Sqlite query evaluation
1066type = exe
1067path = subversion/tests/libsvn_wc
1068sources = wc-queries-test.c
1069install = test
1070libs = libsvn_test libsvn_subr apriconv apr sqlite
1071
1072[wc-test]
1073description = Test the main WC API functions
1074type = exe
1075path = subversion/tests/libsvn_wc
1076sources = wc-test.c utils.c
1077install = test
1078libs = libsvn_client libsvn_test libsvn_wc libsvn_subr apriconv apr
1079
1080# ----------------------------------------------------------------------------
1081# These are not unit tests at all, they are small programs that exercise
1082# parts of the libsvn_delta API from the command line.  They are stuck here
1083# because of some historical association with the test-suite, but should
1084# really be put somewhere else.
1085
1086# test our textdelta encoding
1087[svndiff-test]
1088type = exe
1089path = subversion/tests/libsvn_delta
1090sources = svndiff-test.c
1091install = test
1092libs = libsvn_delta libsvn_subr apriconv apr
1093testing = skip
1094
1095# compare two files, print txdelta windows
1096[vdelta-test]
1097type = exe
1098path = subversion/tests/libsvn_delta
1099sources = vdelta-test.c
1100install = test
1101libs = libsvn_delta libsvn_subr apriconv apr
1102testing = skip
1103
1104[entries-dump]
1105type = exe
1106path = subversion/tests/cmdline
1107sources = entries-dump.c
1108install = test
1109libs = libsvn_wc libsvn_subr apriconv apr
1110testing = skip
1111
1112[atomic-ra-revprop-change]
1113type = exe
1114path = subversion/tests/cmdline
1115sources = atomic-ra-revprop-change.c
1116install = test
1117libs = libsvn_ra libsvn_subr apriconv apr
1118testing = skip
1119
1120[wc-lock-tester]
1121type = exe
1122path = subversion/tests/libsvn_wc
1123sources = wc-lock-tester.c
1124install = test
1125libs = libsvn_wc libsvn_subr apriconv apr
1126testing = skip
1127
1128[wc-incomplete-tester]
1129type = exe
1130path = subversion/tests/libsvn_wc
1131sources = wc-incomplete-tester.c
1132install = test
1133libs = libsvn_wc libsvn_subr apriconv apr
1134testing = skip
1135
1136# ----------------------------------------------------------------------------
1137#
1138# EXTERNAL TARGETS (NO BUILD NEEDED)
1139#
1140
1141[apr]
1142type = lib
1143external-lib = $(SVN_APR_LIBS)
1144msvc-libs = ws2_32.lib rpcrt4.lib mswsock.lib
1145
1146[aprutil]
1147type = lib
1148external-lib = $(SVN_APRUTIL_LIBS)
1149
1150[apriconv]
1151type = lib
1152external-lib = $(SVN_APRUTIL_LIBS)
1153
1154[bdb]
1155type = lib
1156external-lib = $(SVN_DB_LIBS)
1157
1158[gnome-keyring]
1159type = lib
1160external-lib = $(SVN_GNOME_KEYRING_LIBS)
1161
1162[kwallet]
1163type = lib
1164external-lib = $(SVN_KWALLET_LIBS)
1165
1166[magic]
1167type = lib
1168external-lib = $(SVN_MAGIC_LIBS)
1169
1170[sasl]
1171type = lib
1172external-lib = $(SVN_SASL_LIBS)
1173
1174[zlib]
1175type = lib
1176external-lib = $(SVN_ZLIB_LIBS)
1177external-project = zlib
1178msvc-static = yes
1179
1180[apr_memcache]
1181type = lib
1182external-lib = $(SVN_APR_MEMCACHE_LIBS)
1183
1184[serf]
1185type = lib
1186external-lib = $(SVN_SERF_LIBS)
1187external-project = serf/serf
1188libs = apr aprutil xml
1189msvc-static = yes
1190
1191[sqlite]
1192type = lib
1193external-lib = $(SVN_SQLITE_LIBS)
1194
1195[xml]
1196type = lib
1197external-lib = $(SVN_XML_LIBS)
1198
1199[ra-libs]
1200type = lib
1201external-lib = $(SVN_RA_LIB_LINK)
1202libs = libsvn_ra_serf libsvn_ra_local libsvn_ra_svn
1203
1204[fs-libs]
1205type = lib
1206external-lib = $(SVN_FS_LIB_LINK)
1207libs = libsvn_fs_base libsvn_fs_fs
1208
1209[__ALL__]
1210type = project
1211path = build/win32
1212libs = svn svnadmin svndumpfilter svnlook svnmucc svnserve svnrdump svnsync
1213       svnversion
1214       mod_authz_svn mod_dav_svn mod_dontdothat
1215       svnauthz svnauthz-validate svnraisetreeconflict
1216
1217[__ALL_TESTS__]
1218type = project
1219path = build/win32
1220libs = __ALL__
1221       fs-test fs-base-test fs-fsfs-test fs-pack-test skel-test
1222       strings-reps-test changes-test locks-test repos-test
1223       checksum-test compat-test config-test hashdump-test mergeinfo-test
1224       opt-test path-test stream-test string-test time-test utf-test
1225       error-test error-code-test cache-test spillbuf-test crypto-test
1226       named_atomic-test named_atomic-proc-test revision-test
1227       subst_translate-test io-test
1228       translate-test
1229       random-test window-test
1230       diff-diff3-test
1231       ra-test
1232       ra-local-test
1233       svndiff-test vdelta-test
1234       entries-dump atomic-ra-revprop-change wc-lock-tester wc-incomplete-tester
1235       client-test
1236       conflict-data-test db-test pristine-store-test entries-compat-test
1237       op-depth-test dirent_uri-test wc-queries-test wc-test
1238       auth-test
1239       parse-diff-test
1240
1241[__MORE__]
1242type = project
1243path = build/win32
1244libs = __ALL_TESTS__
1245       diff diff3 diff4 fsfs-reorg fsfs-stats fsfs-access-map svn-bench
1246       svn-rep-sharing-stats svn-populate-node-origins-index
1247
1248[__LIBS__]
1249type = project
1250path = build/win32
1251libs = fs-libs ra-libs libsvn_client libsvn_subr libsvn_wc
1252       aprutil apriconv apr
1253
1254[__CONFIG__]
1255type = lib
1256external-project = svn_config
1257
1258[__SWIG_PYTHON__]
1259type = swig_project
1260path = build/win32
1261libs = swig_client swig_delta swig_diff swig_fs swig_ra swig_repos swig_wc swig_core
1262lang = python
1263
1264[__SWIG_PERL__]
1265type = swig_project
1266path = build/win32
1267libs = swig_client swig_delta swig_diff swig_fs swig_ra swig_repos swig_wc swig_core
1268lang = perl
1269
1270[__SWIG_RUBY__]
1271type = swig_project
1272path = build/win32
1273libs = swig_client swig_delta swig_diff swig_fs swig_ra swig_repos swig_wc swig_core
1274lang = ruby
1275
1276[__JAVAHL__]
1277type = project
1278path = build/win32
1279libs = javahl-java javahl-javah libsvnjavahl
1280
1281[__JAVAHL_TESTS__]
1282type = project
1283path = build/win32
1284libs = __JAVAHL__ javahl-tests javahl-compat-tests
1285
1286# ----------------------------------------------------------------------------
1287# Contrib and tools
1288
1289[fsfs-reorg]
1290type = exe
1291path = tools/dev
1292sources = fsfs-reorg.c
1293install = tools
1294libs = libsvn_delta libsvn_subr apr
1295
1296[fsfs-stats]
1297type = exe
1298path = tools/server-side
1299sources = fsfs-stats.c
1300install = tools
1301libs = libsvn_delta libsvn_subr apr
1302
1303[fsfs-access-map]
1304type = exe
1305path = tools/dev
1306sources = fsfs-access-map.c
1307install = tools
1308libs = libsvn_subr apr
1309
1310[diff]
1311type = exe
1312path = tools/diff
1313sources = diff.c
1314install = tools
1315libs = libsvn_diff libsvn_subr apriconv apr
1316
1317[diff3]
1318type = exe
1319path = tools/diff
1320sources = diff3.c
1321install = tools
1322libs = libsvn_diff libsvn_subr apriconv apr
1323
1324[diff4]
1325type = exe
1326path = tools/diff
1327sources = diff4.c
1328install = tools
1329libs = libsvn_diff libsvn_subr apriconv apr
1330
1331[svn-bench]
1332type = exe
1333path = tools/client-side/svn-bench
1334install = tools
1335libs = libsvn_client libsvn_wc libsvn_ra libsvn_subr libsvn_delta
1336       apriconv apr
1337
1338[svnauthz]
1339description = Authz config file tool
1340type = exe
1341path = tools/server-side
1342sources = svnauthz.c
1343install = tools
1344libs = libsvn_repos libsvn_fs libsvn_subr apr
1345
1346# svnauthz-validate is the compat mode of the new svnauthz tool.  It is
1347# exactly the same code as svnauthz.  This duplicated target is needed
1348# in order to easily test both commands as part of the build since libtool
1349# does not provide a way to set argv[0] different from the commands actual
1350# name in the wrapper script.
1351[svnauthz-validate]
1352description = Authz config file validator
1353type = exe
1354path = tools/server-side
1355sources = svnauthz.c
1356install = tools
1357libs = libsvn_repos libsvn_fs libsvn_subr apr
1358
1359[svn-populate-node-origins-index]
1360type = exe
1361path = tools/server-side
1362sources = svn-populate-node-origins-index.c
1363install = tools
1364libs = libsvn_repos libsvn_fs libsvn_subr apr
1365
1366[svnraisetreeconflict]
1367description = Tool to Flag a Tree Conflict
1368type = exe
1369path = tools/dev/svnraisetreeconflict
1370libs = libsvn_wc libsvn_subr apriconv apr
1371install = tools
1372
1373[svn-rep-sharing-stats]
1374type = exe
1375path = tools/server-side
1376sources = svn-rep-sharing-stats.c
1377install = tools
1378libs = libsvn_repos libsvn_fs libsvn_fs_fs libsvn_subr apriconv apr
1379