build.conf revision 262250
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
346# Working copy management lib
347[libsvn_wc]
348description = Subversion Working Copy Library
349type = lib
350path = subversion/libsvn_wc
351libs = libsvn_delta libsvn_diff libsvn_subr aprutil apriconv apr
352install = lib
353msvc-export = svn_wc.h private\svn_wc_private.h
354
355# Subversion plugin for Apache's mod_dav
356[mod_dav_svn]
357description = Subversion plug-in for the Apache DAV module
358when = INSTALL_APACHE_MODS
359type = apache-mod
360path = subversion/mod_dav_svn
361sources = *.c reports/*.c posts/*.c
362libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr
363nonlibs = apr aprutil
364install = apache-mod
365msvc-libs = mod_dav.lib libhttpd.lib
366
367[mod_authz_svn]
368description = Subversion path-based authorization module for Apache
369when = INSTALL_APACHE_MODS
370type = apache-mod
371path = subversion/mod_authz_svn
372nonlibs = mod_dav_svn apr aprutil
373libs = libsvn_repos libsvn_subr
374install = apache-mod
375msvc-libs = libhttpd.lib
376
377[mod_dontdothat]
378description = Apache Httpd module to block certain kinds of Apache Subversion requests
379when = INSTALL_APACHE_MODS
380type = apache-mod
381path = tools/server-side/mod_dontdothat
382nonlibs = mod_dav_svn apr aprutil
383libs = libsvn_subr xml
384install = tools
385msvc-libs = libhttpd.lib
386
387# ----------------------------------------------------------------------------
388#
389# CONSTRUCTED HEADERS
390#
391
392[rep_cache]
393description = Schema for the rep-sharing feature
394type = sql-header
395path = subversion/libsvn_fs_fs
396sources = rep-cache-db.sql
397
398[wc_queries]
399desription = Queries on the WC database
400type = sql-header
401path = subversion/libsvn_wc
402sources = wc-queries.sql
403
404[subr_sqlite]
405description = Internal statements for SQLite interface
406type = sql-header
407path = subversion/libsvn_subr
408sources = internal_statements.sql
409
410
411# ----------------------------------------------------------------------------
412#
413# TARGETS FOR I18N SUPPORT
414#
415[locale]
416type = i18n
417path = subversion/po
418install = locale
419external-project = svn_locale
420
421# ----------------------------------------------------------------------------
422#
423# TARGETS FOR SWIG SUPPORT
424#
425
426[swig_core]
427type = swig
428path = subversion/bindings/swig
429sources = core.i
430libs = libsvn_swig_py libsvn_swig_perl libsvn_swig_ruby
431       libsvn_diff libsvn_subr apr
432description = Subversion core library bindings
433include-runtime = yes
434
435[swig_client]
436type = swig
437path = subversion/bindings/swig
438sources = svn_client.i
439libs = libsvn_swig_py libsvn_swig_perl libsvn_swig_ruby
440       libsvn_client libsvn_subr apr
441nonlibs = swig_core
442description = Subversion client library bindings
443
444[swig_delta]
445type = swig
446path = subversion/bindings/swig
447sources = svn_delta.i
448libs = libsvn_swig_py libsvn_swig_perl libsvn_swig_ruby
449       libsvn_delta libsvn_subr apr
450nonlibs = swig_core
451description = Subversion delta library bindings
452
453[swig_diff]
454type = swig
455path = subversion/bindings/swig
456sources = svn_diff.i
457libs = libsvn_swig_py libsvn_swig_perl libsvn_swig_ruby
458       libsvn_diff libsvn_subr apr
459nonlibs = swig_core
460description = Subversion diff library bindings
461
462[swig_fs]
463type = swig
464path = subversion/bindings/swig
465sources = svn_fs.i
466libs = libsvn_swig_py libsvn_swig_perl libsvn_swig_ruby
467       libsvn_fs libsvn_subr apr
468nonlibs = swig_core
469description = Subversion FS library bindings
470
471[swig_ra]
472type = swig
473path = subversion/bindings/swig
474sources = svn_ra.i
475libs = libsvn_swig_py libsvn_swig_perl libsvn_swig_ruby
476       libsvn_ra libsvn_subr apr
477nonlibs = swig_core
478description = Subversion RA library bindings
479
480[swig_repos]
481type = swig
482path = subversion/bindings/swig
483sources = svn_repos.i
484libs = libsvn_swig_py libsvn_swig_perl libsvn_swig_ruby
485       libsvn_repos libsvn_subr apr
486nonlibs = swig_core
487description = Subversion repository library bindings
488
489[swig_wc]
490type = swig
491path = subversion/bindings/swig
492sources = svn_wc.i
493libs = libsvn_swig_py libsvn_swig_perl libsvn_swig_ruby
494       libsvn_wc libsvn_subr apr
495nonlibs = swig_core
496description = Subversion WC library bindings
497
498# SWIG utility library for Python modules
499[libsvn_swig_py]
500type = swig_lib
501lang = python
502path = subversion/bindings/swig/python/libsvn_swig_py
503libs = libsvn_client libsvn_wc libsvn_ra libsvn_delta libsvn_subr apriconv apr
504link-cmd = $(LINK)
505install = swig-py-lib
506# need special build rule to include -DSWIGPYTHON
507compile-cmd = $(COMPILE_SWIG_PY)
508msvc-static = no
509
510# SWIG utility library for Perl modules
511[libsvn_swig_perl]
512type = swig_lib
513lang = perl
514path = subversion/bindings/swig/perl/libsvn_swig_perl
515libs = libsvn_delta libsvn_subr apriconv apr
516install = swig-pl-lib
517# need special build rule to include
518compile-cmd = $(COMPILE_SWIG_PL)
519msvc-static = yes
520
521# SWIG utility library for Ruby modules
522[libsvn_swig_ruby]
523type = swig_lib
524lang = ruby
525path = subversion/bindings/swig/ruby/libsvn_swig_ruby
526libs = libsvn_client libsvn_wc libsvn_delta libsvn_subr apriconv apr
527link-cmd = $(LINK) $(SWIG_RB_LIBS)
528install = swig-rb-lib
529# need special build rule to include
530compile-cmd = $(COMPILE_SWIG_RB)
531msvc-static = no
532
533# ----------------------------------------------------------------------------
534#
535# JavaHL targets
536#
537[javahl-java]
538type = java
539path = subversion/bindings/javahl/src/org/apache/subversion/javahl
540  subversion/bindings/javahl/src/org/apache/subversion/javahl/callback
541  subversion/bindings/javahl/src/org/apache/subversion/javahl/types
542src-root = subversion/bindings/javahl/src
543sources = *.java
544install = javahl-java
545link-cmd = $(COMPILE_JAVAHL_JAVAC)
546classes = subversion/bindings/javahl/classes
547package-roots = org
548
549[javahl-compat-java]
550type = java
551path = subversion/bindings/javahl/src/org/tigris/subversion/javahl
552sources = *.java
553install = javahl-java
554link-cmd = $(COMPILE_JAVAHL_JAVAC)
555classes = subversion/bindings/javahl/classes
556add-deps = $(javahl_java_DEPS)
557### Replace JAR call in INSTALL_EXTRA_JAVAHL_JAVA macro Makefile.in.
558#jar = svn-javahl.jar
559package-roots = org
560
561[javahl-tests]
562type = java
563path = subversion/bindings/javahl/tests/org/apache/subversion/javahl
564sources = *.java
565install = javahl-java
566link-cmd = $(COMPILE_JAVAHL_JAVAC)
567classes = subversion/bindings/javahl/classes
568package-roots = org
569### Java targets don't do up-to-date checks yet.
570#add-deps = javahl-java
571add-deps = $(javahl_java_DEPS)
572
573[javahl-compat-tests]
574type = java
575path = subversion/bindings/javahl/tests/org/tigris/subversion/javahl
576sources = *.java
577install = javahl-java
578link-cmd = $(COMPILE_JAVAHL_JAVAC)
579classes = subversion/bindings/javahl/classes
580package-roots = org
581### Java targets don't do up-to-date checks yet.
582#add-deps = javahl-compat-java
583add-deps = $(javahl_compat_java_DEPS)
584
585[javahl-types-javah]
586type = javah 
587path = subversion/bindings/javahl/src/org/apache/subversion/javahl/types
588classes = subversion/bindings/javahl/classes
589headers = subversion/bindings/javahl/include
590package = org.apache.subversion.javahl.types
591sources = *.java
592add-deps = $(javahl_java_DEPS)
593install = javahl-javah
594link-cmd = $(COMPILE_JAVAHL_JAVAH) -force
595
596[javahl-callback-javah]
597type = javah 
598path = subversion/bindings/javahl/src/org/apache/subversion/javahl/callback
599classes = subversion/bindings/javahl/classes
600headers = subversion/bindings/javahl/include
601package = org.apache.subversion.javahl.callback
602sources = *.java
603add-deps = $(javahl_java_DEPS)
604install = javahl-javah
605link-cmd = $(COMPILE_JAVAHL_JAVAH) -force
606
607[javahl-javah]
608type = javah 
609path = subversion/bindings/javahl/src/org/apache/subversion/javahl
610classes = subversion/bindings/javahl/classes
611headers = subversion/bindings/javahl/include
612package = org.apache.subversion.javahl
613sources = *.java
614add-deps = $(javahl_java_DEPS)
615install = javahl-javah
616link-cmd = $(COMPILE_JAVAHL_JAVAH) -force
617
618[libsvnjavahl]
619description = Subversion Java HighLevel binding
620type = lib
621path = subversion/bindings/javahl/native
622libs = libsvn_repos libsvn_client libsvn_wc libsvn_ra libsvn_delta libsvn_diff 
623       libsvn_subr libsvn_fs aprutil apriconv apr
624sources = *.cpp *.c
625add-deps = $(javahl_javah_DEPS) $(javahl_java_DEPS) $(javahl_callback_javah_DEPS) $(javahl_types_javah_DEPS)
626install = javahl-lib
627# need special build rule to include -I$(JDK)/include/jni.h
628compile-cmd = $(COMPILE_JAVAHL_CXX)
629link-cmd = $(LINK_JAVAHL_CXX)
630
631# ----------------------------------------------------------------------------
632#
633# C++HL targets
634#
635
636[libsvncxxhl]
637description = Subversion C++ HighLevel bindings
638type = lib
639path = subversion/bindings/cxxhl
640libs = libsvn_repos libsvn_client libsvn_wc libsvn_ra libsvn_delta libsvn_diff
641       libsvn_subr libsvn_fs aprutil apriconv apr
642sources = src/*.cpp
643install = cxxhl-lib
644msvc-static = yes
645compile-cmd = $(COMPILE_CXXHL_CXX)
646link-cmd = $(LINK_CXX_LIB)
647
648[cxxhl-tests]
649description = Unit tests for Subversion C++ HighLevel bindings
650type = exe
651path = subversion/bindings/cxxhl
652libs = libsvncxxhl libsvn_subr
653sources = tests/*.cpp
654install = tests
655compile-cmd = $(COMPILE_CXXHL_CXX)
656link-cmd = $(LINK_CXX)
657
658# ----------------------------------------------------------------------------
659#
660# TESTING TARGETS
661#
662
663# general library:  our C testing framework
664[libsvn_test]
665type = lib
666path = subversion/tests
667install = test
668libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr aprutil apriconv apr
669msvc-static = yes
670undefined-lib-symbols = yes
671
672# ----------------------------------------------------------------------------
673# Tests for libsvn_fs_base
674
675[fs-base-test]
676description = Tests for *public* fs API (svn_fs.h)
677type = exe
678path = subversion/tests/libsvn_fs_base
679sources = fs-base-test.c
680install = bdb-test
681libs = libsvn_test libsvn_fs libsvn_fs_base libsvn_delta
682       libsvn_fs_util libsvn_subr apriconv apr
683
684[strings-reps-test]
685description = Test strings/reps in libsvn_fs_base
686type = exe
687path = subversion/tests/libsvn_fs_base
688sources = strings-reps-test.c
689install = bdb-test
690libs = libsvn_test libsvn_fs libsvn_fs_base libsvn_delta
691       libsvn_subr apriconv apr
692
693[changes-test]
694description = Test changes in libsvn_fs_base
695type = exe
696path = subversion/tests/libsvn_fs_base
697sources = changes-test.c
698install = bdb-test
699libs = libsvn_test libsvn_fs libsvn_fs_base libsvn_delta
700       libsvn_subr apriconv apr
701
702# ----------------------------------------------------------------------------
703# Tests for libsvn_fs_fs
704[fs-pack-test]
705description = Test fsfs packing in libsvn_fs_fs
706type = exe
707path = subversion/tests/libsvn_fs_fs
708sources = fs-pack-test.c
709install = test
710libs = libsvn_test libsvn_fs libsvn_fs_fs libsvn_delta
711       libsvn_subr apriconv apr
712
713# ----------------------------------------------------------------------------
714# Tests for libsvn_fs
715
716[locks-test]
717description = Test locks in libsvn_fs
718type = exe
719path = subversion/tests/libsvn_fs
720sources = locks-test.c
721install = test
722libs = libsvn_test libsvn_fs libsvn_delta libsvn_subr apriconv apr
723
724[fs-test]
725description = Test locks in libsvn_fs
726type = exe
727path = subversion/tests/libsvn_fs
728sources = fs-test.c
729install = test
730libs = libsvn_test libsvn_fs libsvn_delta
731       libsvn_subr aprutil apriconv apr
732
733# ----------------------------------------------------------------------------
734# Tests for libsvn_repos
735
736[repos-test]
737description = Test delta editor in libsvn_repos
738type = exe
739path = subversion/tests/libsvn_repos
740sources = repos-test.c dir-delta-editor.c
741install = test
742libs = libsvn_test libsvn_repos libsvn_fs libsvn_delta libsvn_subr apriconv apr
743
744# ----------------------------------------------------------------------------
745# Tests for libsvn_subr
746
747[auth-test]
748description = Test platform-specific auth provider access
749type = exe
750path = subversion/tests/libsvn_subr
751sources = auth-test.c
752install = test
753libs = libsvn_test libsvn_subr apr
754
755[cache-test]
756description = Test in-memory cache
757type = exe
758path = subversion/tests/libsvn_subr
759sources = cache-test.c
760install = test
761libs = libsvn_test libsvn_subr apr
762
763[checksum-test]
764description = Test checksum functions
765type = exe
766path = subversion/tests/libsvn_subr
767sources = checksum-test.c
768install = test
769libs = libsvn_test libsvn_subr apr zlib
770
771[compat-test]
772description = Test compatibility functions
773type = exe
774path = subversion/tests/libsvn_subr
775sources = compat-test.c
776install = test
777libs = libsvn_test libsvn_subr apr
778
779[config-test]
780description = Test svn_config utilities
781type = exe
782path = subversion/tests/libsvn_subr
783sources = config-test.c
784install = test
785libs = libsvn_test libsvn_subr apriconv apr
786
787[crypto-test]
788description = Test svn_crypto utilities
789type = exe
790path = subversion/tests/libsvn_subr
791sources = crypto-test.c
792install = test
793libs = libsvn_test libsvn_subr aprutil apr
794
795[dirent_uri-test]
796description = Test dirent_uri library
797type = exe
798path = subversion/tests/libsvn_subr
799sources = dirent_uri-test.c
800install = test
801libs = libsvn_test libsvn_subr apriconv apr
802
803[error-test]
804description = Test error library
805type = exe
806path = subversion/tests/libsvn_subr
807sources = error-test.c
808install = test
809libs = libsvn_test libsvn_subr apriconv apr
810
811[error-code-test]
812description = Test error library
813type = exe
814path = subversion/tests/libsvn_subr
815sources = error-code-test.c
816install = test
817libs = libsvn_test libsvn_subr apriconv apr
818
819[hashdump-test]
820description = Test hashfile format for props
821type = exe
822path = subversion/tests/libsvn_subr
823sources = hashdump-test.c
824install = test
825libs = libsvn_test libsvn_subr apriconv apr
826
827[io-test]
828description = Test I/O Operations
829type = exe
830path = subversion/tests/libsvn_subr
831sources = io-test.c
832install = test
833libs = libsvn_test libsvn_subr apriconv apr
834
835[opt-test]
836description = Test options library
837type = exe
838path = subversion/tests/libsvn_subr
839sources = opt-test.c
840install = test
841libs = libsvn_test libsvn_subr apr
842
843[mergeinfo-test]
844description = Test mergeinfo library
845type = exe
846path = subversion/tests/libsvn_subr
847sources = mergeinfo-test.c
848install = test
849libs = libsvn_test libsvn_subr apr
850
851[named_atomic-test]
852description = Test named atomics
853type = exe
854path = subversion/tests/libsvn_subr
855sources = named_atomic-test.c
856install = test
857libs = libsvn_test libsvn_subr apr
858
859[named_atomic-proc-test]
860description = Sub-process for named atomics
861type = exe
862path = subversion/tests/libsvn_subr
863sources = named_atomic-test-proc.c
864install = sub-test
865libs = libsvn_subr apr
866
867[path-test]
868description = Test path library
869type = exe
870path = subversion/tests/libsvn_subr
871sources = path-test.c
872install = test
873libs = libsvn_test libsvn_subr apriconv apr
874
875[revision-test]
876description = Test revision library
877type = exe
878path = subversion/tests/libsvn_subr
879sources = revision-test.c
880install = test
881libs = libsvn_test libsvn_subr apr
882
883[skel-test]
884description = Test skels in libsvn_subr
885type = exe
886path = subversion/tests/libsvn_subr
887sources = skel-test.c
888install = test
889libs = libsvn_test libsvn_subr apriconv apr
890
891[spillbuf-test]
892description = Test spillbuf in libsvn_subr
893type = exe
894path = subversion/tests/libsvn_subr
895sources = spillbuf-test.c
896install = test
897libs = libsvn_test libsvn_subr apriconv apr
898
899[stream-test]
900description = Test stream library
901type = exe
902path = subversion/tests/libsvn_subr
903sources = stream-test.c
904install = test
905libs = libsvn_test libsvn_subr apriconv apr
906
907[string-test]
908description = Test svn_stringbuf_t utilities
909type = exe
910path = subversion/tests/libsvn_subr
911sources = string-test.c
912install = test
913libs = libsvn_test libsvn_subr apriconv apr
914
915[time-test]
916description = Test time functions
917type = exe
918path = subversion/tests/libsvn_subr
919sources = time-test.c
920install = test
921libs = libsvn_test libsvn_subr apriconv apr
922
923[utf-test]
924description = Test UTF-8 functions
925type = exe
926path = subversion/tests/libsvn_subr
927sources = utf-test.c
928install = test
929libs = libsvn_test libsvn_subr apriconv apr
930
931[subst_translate-test]
932description = Test the svn_subst_translate* functions
933type = exe
934path = subversion/tests/libsvn_subr
935sources = subst_translate-test.c
936install = test
937libs = libsvn_test libsvn_subr apriconv apr
938
939[translate-test]
940description = Test eol conversion and keyword substitution routines
941type = exe
942path = subversion/tests/libsvn_subr
943sources = translate-test.c
944install = test
945libs = libsvn_test libsvn_subr apriconv apr
946
947# ----------------------------------------------------------------------------
948# Tests for libsvn_delta
949
950[random-test]
951description = Use random data to test delta processing
952type = exe
953path = subversion/tests/libsvn_delta
954sources = random-test.c
955install = test
956libs = libsvn_test libsvn_delta libsvn_subr apriconv apr
957
958[window-test]
959description = Test delta window generation
960type = exe
961path = subversion/tests/libsvn_delta
962sources = window-test.c
963install = test
964libs = libsvn_test libsvn_delta libsvn_subr apriconv apr
965
966# ----------------------------------------------------------------------------
967# Tests for libsvn_client
968
969[client-test]
970description = Test low-level functionality in libsvn_client
971type = exe
972path = subversion/tests/libsvn_client
973sources = client-test.c
974install = test
975libs = libsvn_test libsvn_client libsvn_wc libsvn_repos libsvn_ra libsvn_fs libsvn_delta libsvn_subr apriconv apr
976
977# ----------------------------------------------------------------------------
978# Tests for libsvn_diff
979
980[diff-diff3-test]
981description = Test the diff/diff3 library
982type = exe
983path = subversion/tests/libsvn_diff
984sources = diff-diff3-test.c
985install = test
986libs = libsvn_test libsvn_diff libsvn_subr apriconv apr
987
988[parse-diff-test]
989description = Test unidiff parsing
990type = exe
991path = subversion/tests/libsvn_diff
992sources = parse-diff-test.c
993install = test
994libs = libsvn_test libsvn_diff libsvn_subr apriconv apr
995
996# ----------------------------------------------------------------------------
997# Tests for libsvn_ra
998
999[ra-test]
1000description = Test a few things in libsvn_ra
1001type = exe
1002path = subversion/tests/libsvn_ra
1003sources = ra-test.c
1004install = test
1005libs = libsvn_test libsvn_ra libsvn_fs libsvn_delta libsvn_subr
1006       apriconv apr
1007
1008# ----------------------------------------------------------------------------
1009# Tests for libsvn_ra_local
1010
1011[ra-local-test]
1012description = Test a few things in libsvn_ra_local
1013type = exe
1014path = subversion/tests/libsvn_ra_local
1015sources = ra-local-test.c
1016install = test
1017libs = libsvn_test libsvn_ra_local libsvn_ra libsvn_fs libsvn_delta libsvn_subr
1018       apriconv apr
1019
1020# ----------------------------------------------------------------------------
1021# Tests for libsvn_wc
1022
1023[conflict-data-test]
1024description = Test the storage of tree conflict data
1025type = exe
1026path = subversion/tests/libsvn_wc
1027sources = conflict-data-test.c utils.c
1028install = test
1029libs = libsvn_client libsvn_test libsvn_wc libsvn_subr apriconv apr
1030
1031[db-test]
1032description = Test the wc-ng database subsystem
1033type = exe
1034path = subversion/tests/libsvn_wc
1035sources = db-test.c utils.c
1036install = test
1037libs = libsvn_client libsvn_test libsvn_wc libsvn_subr apriconv apr
1038
1039[pristine-store-test]
1040description = Test the wc-ng pristine text storage subsystem
1041type = exe
1042path = subversion/tests/libsvn_wc
1043sources = pristine-store-test.c utils.c
1044install = test
1045libs = libsvn_client libsvn_test libsvn_wc libsvn_subr apriconv apr
1046
1047[entries-compat-test]
1048description = Test backwards compat for the entry interface
1049type = exe
1050path = subversion/tests/libsvn_wc
1051sources = entries-compat.c utils.c
1052install = test
1053libs = libsvn_client libsvn_test libsvn_wc libsvn_subr apriconv apr
1054
1055[op-depth-test]
1056description = Test layered tree changes
1057type = exe
1058path = subversion/tests/libsvn_wc
1059sources = op-depth-test.c utils.c
1060install = test
1061libs = libsvn_client libsvn_test libsvn_wc libsvn_subr apriconv apr
1062
1063[wc-queries-test]
1064description = Test Sqlite query evaluation
1065type = exe
1066path = subversion/tests/libsvn_wc
1067sources = wc-queries-test.c
1068install = test
1069libs = libsvn_test libsvn_subr apriconv apr sqlite
1070
1071[wc-test]
1072description = Test the main WC API functions
1073type = exe
1074path = subversion/tests/libsvn_wc
1075sources = wc-test.c utils.c
1076install = test
1077libs = libsvn_client libsvn_test libsvn_wc libsvn_subr apriconv apr
1078
1079# ----------------------------------------------------------------------------
1080# These are not unit tests at all, they are small programs that exercise
1081# parts of the libsvn_delta API from the command line.  They are stuck here
1082# because of some historical association with the test-suite, but should
1083# really be put somewhere else.
1084
1085# test our textdelta encoding
1086[svndiff-test]
1087type = exe
1088path = subversion/tests/libsvn_delta
1089sources = svndiff-test.c
1090install = test
1091libs = libsvn_delta libsvn_subr apriconv apr
1092testing = skip
1093
1094# compare two files, print txdelta windows
1095[vdelta-test]
1096type = exe
1097path = subversion/tests/libsvn_delta
1098sources = vdelta-test.c
1099install = test
1100libs = libsvn_delta libsvn_subr apriconv apr
1101testing = skip
1102
1103[entries-dump]
1104type = exe
1105path = subversion/tests/cmdline
1106sources = entries-dump.c
1107install = test
1108libs = libsvn_wc libsvn_subr apriconv apr
1109testing = skip
1110
1111[atomic-ra-revprop-change]
1112type = exe
1113path = subversion/tests/cmdline
1114sources = atomic-ra-revprop-change.c
1115install = test
1116libs = libsvn_ra libsvn_subr apriconv apr
1117testing = skip
1118
1119[wc-lock-tester]
1120type = exe
1121path = subversion/tests/libsvn_wc
1122sources = wc-lock-tester.c
1123install = test
1124libs = libsvn_wc libsvn_subr apriconv apr
1125testing = skip
1126
1127[wc-incomplete-tester]
1128type = exe
1129path = subversion/tests/libsvn_wc
1130sources = wc-incomplete-tester.c
1131install = test
1132libs = libsvn_wc libsvn_subr apriconv apr
1133testing = skip
1134
1135# ----------------------------------------------------------------------------
1136#
1137# EXTERNAL TARGETS (NO BUILD NEEDED)
1138#
1139
1140[apr]
1141type = lib
1142external-lib = $(SVN_APR_LIBS)
1143msvc-libs = ws2_32.lib rpcrt4.lib mswsock.lib
1144
1145[aprutil]
1146type = lib
1147external-lib = $(SVN_APRUTIL_LIBS)
1148
1149[apriconv]
1150type = lib
1151external-lib = $(SVN_APRUTIL_LIBS)
1152
1153[bdb]
1154type = lib
1155external-lib = $(SVN_DB_LIBS)
1156
1157[gnome-keyring]
1158type = lib
1159external-lib = $(SVN_GNOME_KEYRING_LIBS)
1160
1161[kwallet]
1162type = lib
1163external-lib = $(SVN_KWALLET_LIBS)
1164
1165[magic]
1166type = lib
1167external-lib = $(SVN_MAGIC_LIBS)
1168
1169[sasl]
1170type = lib
1171external-lib = $(SVN_SASL_LIBS)
1172
1173[zlib]
1174type = lib
1175external-lib = $(SVN_ZLIB_LIBS)
1176external-project = zlib
1177msvc-static = yes
1178
1179[apr_memcache]
1180type = lib
1181external-lib = $(SVN_APR_MEMCACHE_LIBS)
1182
1183[serf]
1184type = lib
1185external-lib = $(SVN_SERF_LIBS)
1186external-project = serf/serf
1187libs = apr aprutil xml
1188msvc-static = yes
1189
1190[sqlite]
1191type = lib
1192external-lib = $(SVN_SQLITE_LIBS)
1193
1194[xml]
1195type = lib
1196external-lib = $(SVN_XML_LIBS)
1197
1198[ra-libs]
1199type = lib
1200external-lib = $(SVN_RA_LIB_LINK)
1201libs = libsvn_ra_serf libsvn_ra_local libsvn_ra_svn
1202
1203[fs-libs]
1204type = lib
1205external-lib = $(SVN_FS_LIB_LINK)
1206libs = libsvn_fs_base libsvn_fs_fs
1207
1208[__ALL__]
1209type = project
1210path = build/win32
1211libs = svn svnadmin svndumpfilter svnlook svnmucc svnserve svnrdump svnsync
1212       svnversion
1213       mod_authz_svn mod_dav_svn mod_dontdothat
1214       svnauthz svnauthz-validate svnraisetreeconflict
1215
1216[__ALL_TESTS__]
1217type = project
1218path = build/win32
1219libs = __ALL__
1220       fs-test fs-base-test fs-fsfs-test fs-pack-test skel-test
1221       strings-reps-test changes-test locks-test repos-test
1222       checksum-test compat-test config-test hashdump-test mergeinfo-test
1223       opt-test path-test stream-test string-test time-test utf-test
1224       error-test error-code-test cache-test spillbuf-test crypto-test
1225       named_atomic-test named_atomic-proc-test revision-test
1226       subst_translate-test io-test
1227       translate-test
1228       random-test window-test
1229       diff-diff3-test
1230       ra-test
1231       ra-local-test
1232       svndiff-test vdelta-test
1233       entries-dump atomic-ra-revprop-change wc-lock-tester wc-incomplete-tester
1234       client-test
1235       conflict-data-test db-test pristine-store-test entries-compat-test
1236       op-depth-test dirent_uri-test wc-queries-test wc-test
1237       auth-test
1238       parse-diff-test
1239
1240[__MORE__]
1241type = project
1242path = build/win32
1243libs = __ALL_TESTS__
1244       diff diff3 diff4 fsfs-reorg fsfs-stats fsfs-access-map svn-bench
1245       svn-rep-sharing-stats svn-populate-node-origins-index
1246
1247[__LIBS__]
1248type = project
1249path = build/win32
1250libs = fs-libs ra-libs libsvn_client libsvn_subr libsvn_wc
1251       aprutil apriconv apr
1252
1253[__CONFIG__]
1254type = lib
1255external-project = svn_config
1256
1257[__SWIG_PYTHON__]
1258type = swig_project
1259path = build/win32
1260libs = swig_client swig_delta swig_diff swig_fs swig_ra swig_repos swig_wc swig_core
1261lang = python
1262
1263[__SWIG_PERL__]
1264type = swig_project
1265path = build/win32
1266libs = swig_client swig_delta swig_diff swig_fs swig_ra swig_repos swig_wc swig_core
1267lang = perl
1268
1269[__SWIG_RUBY__]
1270type = swig_project
1271path = build/win32
1272libs = swig_client swig_delta swig_diff swig_fs swig_ra swig_repos swig_wc swig_core
1273lang = ruby
1274
1275[__JAVAHL__]
1276type = project
1277path = build/win32
1278libs = javahl-java javahl-javah libsvnjavahl
1279
1280[__JAVAHL_TESTS__]
1281type = project
1282path = build/win32
1283libs = __JAVAHL__ javahl-tests javahl-compat-tests
1284
1285# ----------------------------------------------------------------------------
1286# Contrib and tools
1287
1288[fsfs-reorg]
1289type = exe
1290path = tools/dev
1291sources = fsfs-reorg.c
1292install = tools
1293libs = libsvn_delta libsvn_subr apr
1294
1295[fsfs-stats]
1296type = exe
1297path = tools/server-side
1298sources = fsfs-stats.c
1299install = tools
1300libs = libsvn_delta libsvn_subr apr
1301
1302[fsfs-access-map]
1303type = exe
1304path = tools/dev
1305sources = fsfs-access-map.c
1306install = tools
1307libs = libsvn_subr apr
1308
1309[diff]
1310type = exe
1311path = tools/diff
1312sources = diff.c
1313install = tools
1314libs = libsvn_diff libsvn_subr apriconv apr
1315
1316[diff3]
1317type = exe
1318path = tools/diff
1319sources = diff3.c
1320install = tools
1321libs = libsvn_diff libsvn_subr apriconv apr
1322
1323[diff4]
1324type = exe
1325path = tools/diff
1326sources = diff4.c
1327install = tools
1328libs = libsvn_diff libsvn_subr apriconv apr
1329
1330[svn-bench]
1331type = exe
1332path = tools/client-side/svn-bench
1333install = tools
1334libs = libsvn_client libsvn_wc libsvn_ra libsvn_subr libsvn_delta
1335       apriconv apr
1336
1337[svnauthz]
1338description = Authz config file tool
1339type = exe
1340path = tools/server-side
1341sources = svnauthz.c
1342install = tools
1343libs = libsvn_repos libsvn_fs libsvn_subr apr
1344
1345# svnauthz-validate is the compat mode of the new svnauthz tool.  It is
1346# exactly the same code as svnauthz.  This duplicated target is needed
1347# in order to easily test both commands as part of the build since libtool
1348# does not provide a way to set argv[0] different from the commands actual
1349# name in the wrapper script.
1350[svnauthz-validate]
1351description = Authz config file validator
1352type = exe
1353path = tools/server-side
1354sources = svnauthz.c
1355install = tools
1356libs = libsvn_repos libsvn_fs libsvn_subr apr
1357
1358[svn-populate-node-origins-index]
1359type = exe
1360path = tools/server-side
1361sources = svn-populate-node-origins-index.c
1362install = tools
1363libs = libsvn_repos libsvn_fs libsvn_subr apr
1364
1365[svnraisetreeconflict]
1366description = Tool to Flag a Tree Conflict
1367type = exe
1368path = tools/dev/svnraisetreeconflict
1369libs = libsvn_wc libsvn_subr apriconv apr
1370install = tools
1371
1372[svn-rep-sharing-stats]
1373type = exe
1374path = tools/server-side
1375sources = svn-rep-sharing-stats.c
1376install = tools
1377libs = libsvn_repos libsvn_fs libsvn_fs_fs libsvn_subr apriconv apr
1378