#
# build.conf -- configuration information for building Subversion
#
######################################################################
#
# Copyright (c) 2000-2004 CollabNet.  All rights reserved.
#
# This software is licensed as described in the file COPYING, which
# you should have received as part of this distribution.  The terms
# are also available at http://subversion.tigris.org/license-1.html.
# If newer versions of this license are posted there, you may use a
# newer version instead, at your option.
#
######################################################################
#
# This file is processed by gen-make.py, creating build-outputs.mk
#

# ----------------------------------------------------------------------------
#
# PREDEFINED SECTION
#
# This [options] section is global in scope, providing information to the
# process, rather than defining a build target, as all other sections do.
#

[options]
includes = subversion/include/*.h

# Makefile.in and config.m4 (omit README)
static-apache-files = subversion/mod_dav_svn/static/[Mc]*

test-scripts =
        subversion/tests/libsvn_subr/target-test.py
        subversion/tests/clients/cmdline/getopt_tests.py
        subversion/tests/clients/cmdline/basic_tests.py
        subversion/tests/clients/cmdline/commit_tests.py
        subversion/tests/clients/cmdline/update_tests.py
        subversion/tests/clients/cmdline/switch_tests.py
        subversion/tests/clients/cmdline/prop_tests.py
        subversion/tests/clients/cmdline/schedule_tests.py
        subversion/tests/clients/cmdline/log_tests.py
        subversion/tests/clients/cmdline/copy_tests.py
        subversion/tests/clients/cmdline/diff_tests.py
        subversion/tests/clients/cmdline/export_tests.py
        subversion/tests/clients/cmdline/externals_tests.py
        subversion/tests/clients/cmdline/merge_tests.py
        subversion/tests/clients/cmdline/revert_tests.py
        subversion/tests/clients/cmdline/stat_tests.py
        subversion/tests/clients/cmdline/trans_tests.py
        subversion/tests/clients/cmdline/autoprop_tests.py
        subversion/tests/clients/cmdline/blame_tests.py
        subversion/tests/clients/cmdline/special_tests.py
        subversion/tests/clients/cmdline/svnadmin_tests.py
        subversion/tests/clients/cmdline/svnlook_tests.py
        subversion/tests/clients/cmdline/svnversion_tests.py
        subversion/tests/clients/cmdline/utf8_tests.py
        subversion/tests/clients/cmdline/history_tests.py
        subversion/tests/clients/cmdline/lock_tests.py
        subversion/tests/clients/cmdline/cat_tests.py
        subversion/tests/clients/cmdline/import_tests.py

bdb-test-scripts =

swig-languages = python perl ruby
swig-dirs = 
        subversion/bindings/swig/python
        subversion/bindings/swig/perl
        subversion/bindings/swig/ruby

# ----------------------------------------------------------------------------
#
# BUILD TARGETS
#

# The subversion command-line client
[svn]
description = Subversion Client
type = exe
path = subversion/clients/cmdline
libs = libsvn_client libsvn_wc libsvn_ra libsvn_delta libsvn_subr
       aprutil apriconv apr neon
manpages = subversion/clients/cmdline/svn.1
install = bin

# The subversion repository administration tool
[svnadmin]
description = Subversion Repository Administrator
type = exe
path = subversion/svnadmin
install = bin
manpages = subversion/svnadmin/svnadmin.1
libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr aprutil apriconv apr

# The subversion repository dump filtering tool
[svndumpfilter]
description = Subversion Dumpfile Filter
type = exe
path = subversion/svndumpfilter
install = bin
manpages = subversion/svndumpfilter/svndumpfilter.1
libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr aprutil apriconv apr

# The subversion repository inspection tool
[svnlook]
description = Subversion Repository Browser
type = exe
path = subversion/svnlook
install = bin
manpages = subversion/svnlook/svnlook.1
libs = libsvn_repos libsvn_fs libsvn_delta libsvn_diff libsvn_subr
       aprutil apriconv apr

# Library needed by all subversion clients
[libsvn_client]
type = lib
path = subversion/libsvn_client
libs = libsvn_wc libsvn_ra libsvn_delta libsvn_diff libsvn_subr
       aprutil apriconv apr
install = lib
msvc-static = yes

# Routines for binary diffing and tree-deltas
[libsvn_delta]
type = lib
install = fsmod-lib
path = subversion/libsvn_delta
libs = libsvn_subr aprutil apriconv apr
msvc-static = yes

# Routines for diffing
[libsvn_diff]
type = lib
path = subversion/libsvn_diff
libs = libsvn_subr aprutil apriconv apr
install = lib
msvc-static = yes

# The repository filesystem library
[libsvn_fs]
type = lib
path = subversion/libsvn_fs
install = ramod-lib
libs = libsvn_subr fs-libs apr
# conditionally add more dependencies
add-deps = $(SVN_FS_LIB_DEPS)
add-install-deps = $(SVN_FS_LIB_INSTALL_DEPS)
msvc-static = yes

[libsvn_fs_base]
type = fs-module
path = subversion/libsvn_fs_base
sources = *.c bdb/*.c util/*.c
install = bdb-lib
libs = libsvn_delta libsvn_subr aprutil apriconv bdb apr
msvc-static = yes

[libsvn_fs_fs]
type = fs-module
path = subversion/libsvn_fs_fs
install = fsmod-lib
libs = libsvn_delta libsvn_subr aprutil apriconv apr
msvc-static = yes

# General API for accessing repositories
[libsvn_ra]
type = lib
path = subversion/libsvn_ra
libs = libsvn_subr ra-libs aprutil apriconv apr
# conditionally add more dependencies
add-deps = $(SVN_RA_LIB_DEPS)
add-install-deps = $(SVN_RA_LIB_INSTALL_DEPS)
install = lib
msvc-static = yes

# Accessing repositories via DAV
[libsvn_ra_dav]
type = ra-module
path = subversion/libsvn_ra_dav
install = dav-lib
libs = libsvn_delta libsvn_subr aprutil apriconv apr neon
msvc-static = yes

# Accessing repositories via SVN
[libsvn_ra_svn]
type = ra-module
path = subversion/libsvn_ra_svn
install = ramod-lib
libs = libsvn_delta libsvn_subr aprutil apriconv apr
msvc-static = yes

# Accessing repositories via direct libsvn_fs
[libsvn_ra_local]
type = ra-module
path = subversion/libsvn_ra_local
install = ramod-lib
libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr aprutil apriconv apr
msvc-static = yes

# Routines built on top of libsvn_fs
[libsvn_repos]
type = lib
path = subversion/libsvn_repos
install = ramod-lib
libs = libsvn_fs libsvn_delta libsvn_subr aprutil apriconv apr
msvc-static = yes

# Low-level grab bag of utilities
[libsvn_subr]
type = lib
install = fsmod-lib
path = subversion/libsvn_subr
libs =  aprutil apriconv apr xml
msvc-libs = advapi32.lib shfolder.lib
msvc-static = yes

# Working copy management lib
[libsvn_wc]
type = lib
path = subversion/libsvn_wc
libs = libsvn_delta libsvn_subr libsvn_diff aprutil apriconv apr
install = lib
msvc-static = yes

# Subversion plugin for Apache's mod_dav
[mod_dav_svn]
description = Subversion plug-in for the Apache DAV module
type = apache-mod
path = subversion/mod_dav_svn
libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr
nonlibs = apr aprutil
install = apache-mod
msvc-libs = mod_dav.lib libhttpd.lib

[mod_authz_svn]
description = Subversion path-based authorization module for Apache
type = apache-mod
path = subversion/mod_authz_svn
nonlibs = mod_dav_svn apr aprutil
libs = libsvn_subr libsvn_repos
install = apache-mod
msvc-libs = libhttpd.lib

[svnserve]
description = Subversion Server
type = exe
path = subversion/svnserve
install = bin
manpages = subversion/svnserve/svnserve.8 subversion/svnserve/svnserve.conf.5
libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr libsvn_ra_svn
       aprutil apriconv apr

[svnversion]
description = Subversion Revision Extractor
type = exe
path = subversion/svnversion
libs = libsvn_client libsvn_subr libsvn_wc aprutil apriconv apr neon
install = bin
manpages = subversion/svnversion/svnversion.1

# ----------------------------------------------------------------------------
#
# TARGETS FOR I18N SUPPORT
#
[locale]
type = i18n
path = subversion/po
install = locale
external-project = build/win32/svn_locale

# ----------------------------------------------------------------------------
#
# TARGETS FOR SWIG SUPPORT
#

[swig_client]
type = swig
path = subversion/bindings/swig
sources = svn_client.i
libs = libsvn_swig_py libsvn_swig_perl libsvn_swig_ruby
       libsvn_client libsvn_subr apr
nonlibs = swig_core
description = Subversion client library bindings

[swig_delta]
type = swig
path = subversion/bindings/swig
sources = svn_delta.i
libs = libsvn_swig_py libsvn_swig_perl libsvn_swig_ruby
       libsvn_delta libsvn_subr
nonlibs = swig_core
description = Subversion delta library bindings

[swig_fs]
type = swig
path = subversion/bindings/swig
sources = svn_fs.i
libs = libsvn_swig_py libsvn_swig_perl libsvn_swig_ruby
       libsvn_fs libsvn_subr
nonlibs = swig_core
description = Subversion FS library bindings

[swig_ra]
type = swig
path = subversion/bindings/swig
sources = svn_ra.i
libs = libsvn_swig_py libsvn_swig_perl libsvn_swig_ruby
       libsvn_ra libsvn_subr
nonlibs = swig_core
description = Subversion RA library bindings

[swig_repos]
type = swig
path = subversion/bindings/swig
sources = svn_repos.i
libs = libsvn_swig_py libsvn_swig_perl libsvn_swig_ruby
       libsvn_repos libsvn_subr
nonlibs = swig_core
description = Subversion repository library bindings

[swig_wc]
type = swig
path = subversion/bindings/swig
sources = svn_wc.i
libs = libsvn_swig_py libsvn_swig_perl libsvn_swig_ruby
       libsvn_wc libsvn_subr
nonlibs = swig_core
description = Subversion WC library bindings

[swig_core]
type = swig
path = subversion/bindings/swig
sources = core.i
libs = libsvn_swig_py libsvn_swig_perl libsvn_swig_ruby
       libsvn_delta libsvn_diff libsvn_subr apr
description = Subversion core library bindings
include-runtime = yes

# SWIG utility library for Python modules
[libsvn_swig_py]
type = swig_lib
lang = python
path = subversion/bindings/swig/python/libsvn_swig_py
libs = libsvn_subr libsvn_delta aprutil apriconv apr
# need SWIG_LDFLAGS to be able to link swig_runtime
link-cmd = $(LINK) $(SWIG_LDFLAGS) $(SWIG_PY_LIBS)
install = swig-py-lib
# need special build rule to include -DSWIGPYTHON
compile-cmd = $(COMPILE_SWIG_PY)
msvc-static = yes

# SWIG utility library for Perl modules
[libsvn_swig_perl]
type = swig_lib
lang = perl
path = subversion/bindings/swig/perl/libsvn_swig_perl
libs = libsvn_subr libsvn_delta aprutil apriconv apr
install = swig-pl-lib
# need special build rule to include
compile-cmd = $(COMPILE_SWIG_PL)
msvc-static = yes

# SWIG utility library for Ruby modules
[libsvn_swig_ruby]
type = swig_lib
lang = ruby
path = subversion/bindings/swig/ruby/libsvn_swig_ruby
libs = libsvn_subr libsvn_delta aprutil apriconv apr
install = swig-rb-lib
# need special build rule to include
compile-cmd = $(COMPILE_SWIG_RB)
msvc-static = yes

# ----------------------------------------------------------------------------
#
# JavaHL targets
#
[javahl-java]
type = java
path = subversion/bindings/java/javahl/src/org/tigris/subversion/javahl
sources = *.java
install = javahl-java
link-cmd = $(COMPILE_JAVAHL_JAVAC)
classes = subversion/bindings/java/javahl/classes
### Replace JAR call in INSTALL_EXTRA_JAVAHL_JAVA macro Makefile.in.
#jar = svn-javahl.jar
package-roots = org

[javahl-tests]
type = java
path = subversion/bindings/java/javahl/src/org/tigris/subversion/javahl/tests
sources = *.java
install = javahl-java
link-cmd = $(COMPILE_JAVAHL_JAVAC)
classes = subversion/bindings/java/javahl/classes
package-roots = org
### Java targets don't do up-to-date checks yet.
#add-deps = javahl-java

[javahl-javah]
type = javah 
path = subversion/bindings/java/javahl/src/org/tigris/subversion/javahl
classes = subversion/bindings/java/javahl/classes
headers = subversion/bindings/java/javahl/include
package = org.tigris.subversion.javahl
sources = *.java
add-deps = $(javahl_java_DEPS)
install = javahl-javah
link-cmd = $(COMPILE_JAVAHL_JAVAH) -force

[libsvnjavahl]
description = Subversion Java HighLevel binding
type = lib
path = subversion/bindings/java/javahl/native
libs = libsvn_repos libsvn_client libsvn_wc libsvn_ra libsvn_delta libsvn_subr
       aprutil apriconv apr neon
sources = *.cpp *.c
add-deps = $(javahl_javah_DEPS) $(javahl_java_DEPS)
install = javahl-lib
# need special build rule to include -I$(JDK)/include/jni.h
compile-cmd = $(COMPILE_JAVAHL_CXX)
link-cmd = $(LINK_JAVAHL_CXX)

# ----------------------------------------------------------------------------
#
# TESTING TARGETS
#

# general library:  our C testing framework
[libsvn_test]
type = lib
path = subversion/tests
install = test
libs = libsvn_repos libsvn_fs libsvn_delta libsvn_subr aprutil apriconv apr
msvc-static = yes
undefined-lib-symbols = yes

# ----------------------------------------------------------------------------
# Tests for libsvn_fs_base

[fs-test]
description = Tests for *public* fs API (svn_fs.h)
type = exe
path = subversion/tests/libsvn_fs_base
sources = fs-test.c
install = bdb-test
libs = libsvn_test libsvn_fs_base libsvn_fs libsvn_delta
       libsvn_subr aprutil apriconv apr

[skel-test]
description = Test skels in libsvn_fs_base
type = exe
path = subversion/tests/libsvn_fs_base
sources = skel-test.c
install = bdb-test
libs = libsvn_test libsvn_fs_base libsvn_fs libsvn_delta libsvn_subr
       aprutil apriconv apr

[key-test]
description = Test keygen funcs in libsvn_fs_base
type = exe
path = subversion/tests/libsvn_fs_base
sources = key-test.c
install = bdb-test
libs = libsvn_test libsvn_fs_base libsvn_fs libsvn_delta libsvn_subr
       aprutil apriconv apr 

[strings-reps-test]
description = Test strings/reps in libsvn_fs_base
type = exe
path = subversion/tests/libsvn_fs_base
sources = strings-reps-test.c
install = bdb-test
libs = libsvn_test libsvn_fs_base libsvn_fs libsvn_delta
       libsvn_subr aprutil apriconv apr

[changes-test]
description = Test changes in libsvn_fs_base
type = exe
path = subversion/tests/libsvn_fs_base
sources = changes-test.c
install = bdb-test
libs = libsvn_test libsvn_fs_base libsvn_fs libsvn_delta
       libsvn_subr aprutil apriconv apr

# ----------------------------------------------------------------------------
# Tests for libsvn_fs

[locks-test]
description = Test locks in libsvn_fs
type = exe
path = subversion/tests/libsvn_fs
sources = locks-test.c
install = test
libs = libsvn_test libsvn_fs libsvn_delta
       libsvn_subr aprutil apriconv apr

# ----------------------------------------------------------------------------
# Tests for libsvn_repos

[repos-test]
description = Test svn_repos_update() is libsvn_repos
type = exe
path = subversion/tests/libsvn_repos
sources = repos-test.c dir-delta-editor.c
install = test
libs = libsvn_test libsvn_repos libsvn_fs libsvn_delta
       libsvn_subr aprutil apriconv apr

# ----------------------------------------------------------------------------
# Tests for libsvn_subr

[compat-test]
description = Test compatibility functions
type = exe
path = subversion/tests/libsvn_subr
sources = compat-test.c
install = test
libs = libsvn_test libsvn_subr apr

[config-test]
description = Test svn_config utilities
type = exe
path = subversion/tests/libsvn_subr
sources = config-test.c
install = test
libs = libsvn_test libsvn_subr aprutil apriconv apr

[hashdump-test]
description = Test hashfile format for props
type = exe
path = subversion/tests/libsvn_subr
sources = hashdump-test.c
install = test
libs = libsvn_test libsvn_delta libsvn_subr aprutil apriconv apr

[opt-test]
description = Test options library
type = exe
path = subversion/tests/libsvn_subr
sources = opt-test.c
install = test
libs = libsvn_test libsvn_subr apr

[path-test]
description = Test path library
type = exe
path = subversion/tests/libsvn_subr
sources = path-test.c
install = test
libs = libsvn_test libsvn_subr aprutil apriconv apr

[stream-test]
description = Test stream library
type = exe
path = subversion/tests/libsvn_subr
sources = stream-test.c
install = test
libs = libsvn_test libsvn_subr aprutil apriconv apr

[string-test]
description = Test svn_stringbuf_t utilities
type = exe
path = subversion/tests/libsvn_subr
sources = string-test.c
install = test
libs = libsvn_test libsvn_delta libsvn_subr aprutil apriconv apr

[time-test]
description = Test time functions
type = exe
path = subversion/tests/libsvn_subr
sources = time-test.c
install = test
libs = libsvn_test libsvn_subr aprutil apriconv apr

[utf-test]
description = Test UTF-8 functions
type = exe
path = subversion/tests/libsvn_subr
sources = utf-test.c
install = test
libs = libsvn_test libsvn_subr aprutil apriconv apr

[target-test]
description = Utility used by target-test.py to test svn_path_condense_targets()
type = exe
path = subversion/tests/libsvn_subr
sources = target-test.c
install = test
libs = libsvn_subr aprutil apriconv apr
# target-test.py will run this for us
testing = skip

# ----------------------------------------------------------------------------
# Tests for libsvn_wc

[translate-test]
description = Test eol conversion and keyword substitution routines
type = exe
path = subversion/tests/libsvn_wc
sources = translate-test.c
install = test
libs = libsvn_test libsvn_delta libsvn_wc libsvn_subr aprutil apriconv apr

# ----------------------------------------------------------------------------
# Tests for libsvn_delta

[random-test]
description = Use random data to test delta processing
type = exe
path = subversion/tests/libsvn_delta
sources = random-test.c
install = test
libs = libsvn_test libsvn_delta libsvn_subr aprutil apriconv apr

# ----------------------------------------------------------------------------
# Tests for libsvn_repos

[diff-diff3-test]
description = Test the diff/diff3 library
type = exe
path = subversion/tests/libsvn_diff
sources = diff-diff3-test.c
install = test
libs = libsvn_test libsvn_diff libsvn_subr aprutil apriconv apr

# ----------------------------------------------------------------------------
# Tests for libsvn_repos

[ra-local-test]
description = Test a few things in libsvn_ra_local
type = exe
path = subversion/tests/libsvn_ra_local
sources = ra-local-test.c
install = test
libs = libsvn_test libsvn_ra_local libsvn_ra
       libsvn_fs libsvn_delta libsvn_subr
       aprutil 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
# because of some historical association with the test-suite, but should
# really be put somewhere else.

# test our textdelta encoding
[svndiff-test]
type = exe
path = subversion/tests/libsvn_delta
sources = svndiff-test.c
install = test
libs = libsvn_delta libsvn_subr aprutil apriconv apr
testing = skip

# compare two files, print txdelta windows
[vdelta-test]
type = exe
path = subversion/tests/libsvn_delta
sources = vdelta-test.c
install = test
libs = libsvn_delta libsvn_subr aprutil apriconv apr
testing = skip


# ----------------------------------------------------------------------------
#
# SCRIPT TARGETS (NO BUILD NEEDED)
#

### FIXME: See http://subversion.tigris.org/issues/show_bug.cgi?id=751
### for why we don't install this right now.
# [svn-config]
# type = script
# path = .
# sources = svn-config
# install = bin


# ----------------------------------------------------------------------------
#
# DOC TARGETS
#

#[svn-design]
#type = doc
#path = doc
#install = doc
#sources = svn-design.texi
#deps = ...

# ----------------------------------------------------------------------------
#
# EXTERNAL TARGETS (NO BUILD NEEDED)
#

[apr]
type = lib
external-lib = $(SVN_APR_LIBS)
external-project = apr/libapr
msvc-libs = mswsock.lib ws2_32.lib advapi32.lib rpcrt4.lib
msvc-fake = yes
msvc-name = libapr

[aprutil]
type = lib
external-lib = $(SVN_APRUTIL_LIBS)
external-project = apr-util/libaprutil
libs = xml apr apriconv apriconv_ccs_modules apriconv_ces_modules
       gen_uri_delims
msvc-fake = yes
msvc-name = libaprutil

[apriconv]
type = lib
external-lib = $(SVN_APRUTIL_LIBS)
external-project = apr-iconv/libapriconv
libs = apr
msvc-name = libapriconv

[apriconv_ccs_modules]
type = exe
external-project = apr-iconv/ccs/libapriconv_ccs_modules
libs = apriconv apr
msvc-name = libapriconv_ccs_modules

[apriconv_ces_modules]
type = exe
external-project = apr-iconv/ces/libapriconv_ces_modules
libs = apriconv apr
msvc-name = libapriconv_ces_modules

[bdb]
type = lib
external-lib = $(SVN_DB_LIBS)

[zlib]
type = lib
external-project = build/win32/zlib
msvc-static = yes

[neon]
type = lib
external-lib = $(NEON_LIBS)
external-project = build/win32/neon
libs = xml
msvc-libs = ws2_32.lib
msvc-static = yes

[gen_uri_delims]
type = exe
external-project = apr-util/uri/gen_uri_delims

[xml]
type = lib
external-lib = $(SVN_APR_LIBS)
external-project = apr-util/xml/expat/lib/xml
msvc-static = yes
msvc-fake = yes

[ra-libs]
type = lib
external-lib = $(SVN_RA_LIB_LINK)
libs = libsvn_ra_dav libsvn_ra_local libsvn_ra_svn

[fs-libs]
type = lib
external-lib = $(SVN_FS_LIB_LINK)
libs = libsvn_fs_base libsvn_fs_fs

[__ALL__]
type = project
path = build/win32
libs = svn svnserve svnadmin svnlook svnversion svndumpfilter
       mod_authz_svn mod_dav_svn

[__ALL_TESTS__]
type = project
path = build/win32
libs = __ALL__
       fs-test skel-test key-test strings-reps-test changes-test locks-test
       repos-test
       compat-test config-test hashdump-test opt-test path-test stream-test
       string-test time-test utf-test target-test
       translate-test
       random-test
       diff-diff3-test
       ra-local-test
       svndiff-test vdelta-test
       diff-test diff3-test diff4-test
       locks-test

[__CONFIG__]
type = lib
external-project = build/win32/svn_config

[__SWIG_PYTHON__]
type = swig_project
path = build/win32
libs = swig_client swig_delta swig_fs swig_ra swig_repos swig_wc swig_core
lang = python

[__SWIG_PERL__]
type = swig_project
path = build/win32
libs = swig_client swig_delta swig_fs swig_ra swig_repos swig_wc swig_core
lang = perl

[__SWIG_RUBY__]
type = swig_project
path = build/win32
libs = swig_client swig_delta swig_fs swig_ra swig_repos swig_wc swig_core
lang = ruby

[__JAVAHL__]
type = project
path = build/win32
libs = javahl-java javahl-javah libsvnjavahl

# ----------------------------------------------------------------------------
# Contrib and tools, build-only targets: compile, but don't install

[svn-push]
type = exe
path = contrib/client-side/svn-push
sources = svn-push.c
install = contrib
libs = libsvn_delta libsvn_ra aprutil apriconv apr

[mucc]
type = exe
path = contrib/client-side
sources = mucc.c
install = contrib
libs = libsvn_client libsvn_ra libsvn_subr aprutil apriconv apr neon

[diff]
type = exe
path = tools/diff
sources = diff.c
install = contrib
libs = libsvn_diff libsvn_subr aprutil apriconv apr

[diff3]
type = exe
path = tools/diff
sources = diff3.c
install = contrib
libs = libsvn_diff libsvn_subr aprutil apriconv apr

[diff4]
type = exe
path = tools/diff
sources = diff4.c
install = contrib
libs = libsvn_diff libsvn_subr aprutil apriconv apr

