summaryrefslogtreecommitdiff
path: root/build
diff options
context:
space:
mode:
Diffstat (limited to 'build')
-rw-r--r--build/ac-macros/java.m42
-rw-r--r--build/ac-macros/swig.m45
-rw-r--r--build/generator/gen_base.py115
-rw-r--r--build/generator/gen_make.py2
-rw-r--r--build/generator/gen_win.py47
-rw-r--r--build/generator/gen_win_dependencies.py10
-rw-r--r--build/generator/templates/build-outputs.mk.ezt10
-rw-r--r--build/generator/templates/vcnet_vcxproj.ezt1
-rwxr-xr-xbuild/transform_libtool_scripts.sh1
-rwxr-xr-xbuild/transform_sql.py2
-rw-r--r--build/win32/vc6-build.bat.in176
11 files changed, 70 insertions, 301 deletions
diff --git a/build/ac-macros/java.m4 b/build/ac-macros/java.m4
index d8a7a36..928a9a3 100644
--- a/build/ac-macros/java.m4
+++ b/build/ac-macros/java.m4
@@ -166,7 +166,7 @@ AC_DEFUN(SVN_FIND_JDK,
# The release for "-source" could actually be greater than that
# of "-target", if we want to cross-compile for lesser JVMs.
if test -z "$JAVAC_FLAGS"; then
- JAVAC_FLAGS="-target $JAVA_OLDEST_WORKING_VER -source 1.6"
+ JAVAC_FLAGS="-target $JAVA_OLDEST_WORKING_VER -source 1.8"
if test "$enable_debugging" = "yes"; then
JAVAC_FLAGS="-g -Xlint -Xlint:unchecked -Xlint:serial -Xlint:path $JAVAC_FLAGS"
if test -z "$JAVAC_COMPAT_FLAGS"; then
diff --git a/build/ac-macros/swig.m4 b/build/ac-macros/swig.m4
index 8119d65..55501fb 100644
--- a/build/ac-macros/swig.m4
+++ b/build/ac-macros/swig.m4
@@ -183,6 +183,11 @@ AC_DEFUN(SVN_FIND_SWIG,
SWIG_RB_COMPILE="none"
SWIG_RB_LINK="none"
if test "$RUBY" != "none"; then
+ if test x"$SWIG_VERSION" = x"3""00""008"; then
+ # Use a local variable to escape the '#' sign.
+ ruby_swig_issue_602='https://subversion.apache.org/docs/release-notes/1.11#ruby-swig-issue-602'
+ AC_MSG_WARN([Ruby bindings are known not to support swig 3.0.8; see $ruby_swig_issue_602])
+ fi
rbconfig="$RUBY -rrbconfig -e "
for var_name in arch archdir CC LDSHARED DLEXT LIBS LIBRUBYARG \
diff --git a/build/generator/gen_base.py b/build/generator/gen_base.py
index f7a75da..e4ed243 100644
--- a/build/generator/gen_base.py
+++ b/build/generator/gen_base.py
@@ -900,115 +900,67 @@ class TargetJava(TargetLinked):
def __init__(self, name, options, gen_obj):
TargetLinked.__init__(self, name, options, gen_obj)
self.link_cmd = options.get('link-cmd')
- self.packages = options.get('package-roots', '').split()
+ self.package = options.get('package')
self.jar = options.get('jar')
self.deps = [ ]
-
-class TargetJavaHeaders(TargetJava):
- def __init__(self, name, options, gen_obj):
- TargetJava.__init__(self, name, options, gen_obj)
self.objext = '.class'
- self.javah_objext = '.h'
self.headers = options.get('headers')
self.classes = options.get('classes')
- self.package = options.get('package')
- self.output_dir = self.headers
+ self.native = options.get('native', '')
+ self.output_dir = self.classes
+ self.headers_dir = self.headers
def add_dependencies(self):
sources = _collect_paths(self.sources, self.path)
+ native = _collect_paths(self.native, self.path)
+
+ class_pkg_list = self.package.split('.')
+ sourcepath = build_path_split(self.path)[:-len(class_pkg_list)]
+ sourcepath = build_path_join(*sourcepath)
for src, reldir in sources:
if src[-5:] != '.java':
raise GenError('ERROR: unknown file extension on ' + src)
+ sfile = SourceFile(src, reldir)
+ sfile.sourcepath = sourcepath
+
class_name = build_path_basename(src[:-5])
- class_header = build_path_join(self.headers, class_name + '.h')
- class_header_win = build_path_join(self.headers,
- self.package.replace(".", "_")
- + "_" + class_name + '.h')
- class_pkg_list = self.package.split('.')
class_pkg = build_path_join(*class_pkg_list)
class_file = ObjectFile(build_path_join(self.classes, class_pkg,
class_name + self.objext),
- self.when)
+ self.compile_cmd, self.when)
class_file.source_generated = 1
class_file.class_name = class_name
- hfile = HeaderFile(class_header, self.package + '.' + class_name,
- self.compile_cmd)
- hfile.filename_win = class_header_win
- hfile.source_generated = 1
- self.gen_obj.graph.add(DT_OBJECT, hfile, class_file)
- self.deps.append(hfile)
-
- # target (a linked item) depends upon object
- self.gen_obj.graph.add(DT_LINK, self.name, hfile)
-
-
- # collect all the paths where stuff might get built
- ### we should collect this from the dependency nodes rather than
- ### the sources. "what dir are you going to put yourself into?"
- self.gen_obj.target_dirs.append(self.path)
- self.gen_obj.target_dirs.append(self.classes)
- self.gen_obj.target_dirs.append(self.headers)
- for pattern in self.sources.split():
- dirname = build_path_dirname(pattern)
- if dirname:
- self.gen_obj.target_dirs.append(build_path_join(self.path, dirname))
-
- self.gen_obj.graph.add(DT_INSTALL, self.name, self)
-
-class TargetJavaClasses(TargetJava):
- def __init__(self, name, options, gen_obj):
- TargetJava.__init__(self, name, options, gen_obj)
- self.objext = '.class'
- self.lang = 'java'
- self.classes = options.get('classes')
- self.output_dir = self.classes
-
- def add_dependencies(self):
- sources = []
- for p in self.path.split():
- sources.extend(_collect_paths(self.sources, p))
- for src, reldir in sources:
- if src[-5:] == '.java':
- objname = src[:-5] + self.objext
-
- # As .class files are likely not generated into the same
- # directory as the source files, the object path may need
- # adjustment. To this effect, take "target_ob.classes" into
- # account.
- dirs = build_path_split(objname)
- sourcedirs = dirs[:-1] # Last element is the .class file name.
- while sourcedirs:
- if sourcedirs.pop() in self.packages:
- sourcepath = build_path_join(*sourcedirs)
- objname = build_path_join(self.classes, *dirs[len(sourcedirs):])
- break
- else:
- raise GenError('Unable to find Java package root in path "%s"' % objname)
- else:
- raise GenError('ERROR: unknown file extension on "' + src + '"')
-
- ofile = ObjectFile(objname, self.compile_cmd, self.when)
- sfile = SourceFile(src, reldir)
- sfile.sourcepath = sourcepath
+ self.gen_obj.graph.add(DT_OBJECT, class_file, sfile)
+ self.gen_obj.graph.add(DT_LINK, self.name, class_file)
+ self.deps.append(class_file)
- # object depends upon source
- self.gen_obj.graph.add(DT_OBJECT, ofile, sfile)
+ if (src, reldir) in native:
+ class_header = build_path_join(self.headers, class_name + '.h')
+ class_header_win = build_path_join(self.headers,
+ self.package.replace(".", "_")
+ + "_" + class_name + '.h')
+ hfile = HeaderFile(class_header, self.package + '.' + class_name,
+ self.compile_cmd)
+ hfile.filename_win = class_header_win
+ hfile.source_generated = 1
+ self.gen_obj.graph.add(DT_OBJECT, hfile, sfile)
+ self.deps.append(hfile)
- # target (a linked item) depends upon object
- self.gen_obj.graph.add(DT_LINK, self.name, ofile)
+ # target (a linked item) depends upon object
+ self.gen_obj.graph.add(DT_LINK, self.name, hfile)
- # Add the class file to the dependency tree for this target
- self.deps.append(ofile)
# collect all the paths where stuff might get built
### we should collect this from the dependency nodes rather than
### the sources. "what dir are you going to put yourself into?"
- self.gen_obj.target_dirs.extend(self.path.split())
+ self.gen_obj.target_dirs.append(self.path)
self.gen_obj.target_dirs.append(self.classes)
+ if self.headers:
+ self.gen_obj.target_dirs.append(self.headers)
for pattern in self.sources.split():
dirname = build_path_dirname(pattern)
if dirname:
@@ -1057,8 +1009,7 @@ _build_types = {
'apache-mod': TargetApacheMod,
'shared-only-lib': TargetSharedOnlyLib,
'shared-only-cxx-lib': TargetSharedOnlyCxxLib,
- 'javah' : TargetJavaHeaders,
- 'java' : TargetJavaClasses,
+ 'java' : TargetJava,
'i18n' : TargetI18N,
'sql-header' : TargetSQLHeader,
}
diff --git a/build/generator/gen_make.py b/build/generator/gen_make.py
index df9677c..e1790b9 100644
--- a/build/generator/gen_make.py
+++ b/build/generator/gen_make.py
@@ -309,6 +309,8 @@ class Generator(gen_base.GeneratorBase):
ezt_target.link_cmd = target_ob.link_cmd
if hasattr(target_ob, 'output_dir'):
ezt_target.output_dir = target_ob.output_dir
+ if hasattr(target_ob, 'headers_dir'):
+ ezt_target.headers_dir = target_ob.headers_dir
# Add additional install dependencies if necessary
if target_ob.add_install_deps:
diff --git a/build/generator/gen_win.py b/build/generator/gen_win.py
index d2a900c..e2f2fe4 100644
--- a/build/generator/gen_win.py
+++ b/build/generator/gen_win.py
@@ -217,7 +217,6 @@ class WinGeneratorBase(gen_win_dependencies.GenDependenciesBase):
if 'java_sdk' not in self._libraries:
install_targets = [x for x in install_targets
if not (isinstance(x, gen_base.TargetJava)
- or isinstance(x, gen_base.TargetJavaHeaders)
or x.name == '__JAVAHL__'
or x.name == '__JAVAHL_TESTS__'
or x.name == 'libsvnjavahl')]
@@ -332,11 +331,9 @@ class WinGeneratorBase(gen_win_dependencies.GenDependenciesBase):
sources = [ ]
javac_exe = "javac"
- javah_exe = "javah"
jar_exe = "jar"
if self.jdk_path:
javac_exe = os.path.join(self.jdk_path, "bin", javac_exe)
- javah_exe = os.path.join(self.jdk_path, "bin", javah_exe)
jar_exe = os.path.join(self.jdk_path, "bin", jar_exe)
if not isinstance(target, gen_base.TargetProject):
@@ -345,25 +342,13 @@ class WinGeneratorBase(gen_win_dependencies.GenDependenciesBase):
ctarget = None
cdesc = None
cignore = None
- if isinstance(target, gen_base.TargetJavaHeaders):
- classes = self.path(target.classes)
- if self.junit_path is not None:
- classes = "%s;%s" % (classes, self.junit_path)
-
- headers = self.path(target.headers)
- classname = target.package + "." + source.class_name
-
- cbuild = "%s -verbose -force -classpath %s -d %s %s" \
- % (self.quote(javah_exe), self.quote(classes),
- self.quote(headers), classname)
-
- ctarget = self.path(object.filename_win)
- cdesc = "Generating %s" % (object.filename_win)
-
- elif isinstance(target, gen_base.TargetJavaClasses):
+ if isinstance(target, gen_base.TargetJava):
classes = targetdir = self.path(target.classes)
if self.junit_path is not None:
classes = "%s;%s" % (classes, self.junit_path)
+ headers = ''
+ if target.headers is not None:
+ headers = '-h %s' % self.quote(self.path(target.headers))
sourcepath = self.path(source.sourcepath)
@@ -373,17 +358,21 @@ class WinGeneratorBase(gen_win_dependencies.GenDependenciesBase):
per_project_flags += "-Xlint:-deprecation -Xlint:-dep-ann" \
" -Xlint:-rawtypes"
- cbuild = ("%s -g -Xlint -Xlint:-options " +
- per_project_flags +
- " -target 1.5 -source 1.5 -classpath "
+ cbuild = ("%s -g -Xlint -Xlint:-options %s %s "
+ " -target 1.8 -source 1.8 -classpath "
" %s -d %s "
" -sourcepath %s $(InputPath)") \
- % tuple(map(self.quote, (javac_exe, classes,
- targetdir, sourcepath)))
+ % (self.quote(javac_exe), per_project_flags, headers,
+ self.quote(classes), self.quote(targetdir),
+ self.quote(sourcepath))
- ctarget = self.path(object.filename)
- cdesc = "Compiling %s" % (source)
+ if isinstance(object, gen_base.HeaderFile):
+ ctarget = self.path(object.filename_win)
+ cdesc = "Generating %s" % (object.filename_win)
+ else:
+ ctarget = self.path(object.filename)
+ cdesc = "Compiling %s" % (source)
rsrc = self.path(str(source))
if quote_path and '-' in rsrc:
@@ -403,7 +392,7 @@ class WinGeneratorBase(gen_win_dependencies.GenDependenciesBase):
custom_desc=cdesc, ignored = cignore,
extension=os.path.splitext(rsrc)[1]))
- if isinstance(target, gen_base.TargetJavaClasses) and target.jar:
+ if isinstance(target, gen_base.TargetJava) and target.jar:
classdir = self.path(target.classes)
jarfile = msvc_path_join(classdir, target.jar)
cbuild = "%s cf %s -C %s %s" \
@@ -507,9 +496,7 @@ class WinGeneratorBase(gen_win_dependencies.GenDependenciesBase):
return name[0] + '.pdb'
def get_output_dir(self, target):
- if isinstance(target, gen_base.TargetJavaHeaders):
- return msvc_path("../" + target.headers)
- elif isinstance(target, gen_base.TargetJavaClasses):
+ if isinstance(target, gen_base.TargetJava):
return msvc_path("../" + target.classes)
else:
return msvc_path(target.path)
diff --git a/build/generator/gen_win_dependencies.py b/build/generator/gen_win_dependencies.py
index a9ee652..2325ccf 100644
--- a/build/generator/gen_win_dependencies.py
+++ b/build/generator/gen_win_dependencies.py
@@ -1067,11 +1067,15 @@ class GenDependenciesBase(gen_base.GeneratorBase):
return
try:
- outfp = subprocess.Popen([os.path.join(jdk_path, 'bin', 'javah.exe'),
- '-version'], stdout=subprocess.PIPE).stdout
+ # Apparently a 1.8 javac writes its version output to stderr, while
+ # a 1.10 javac writes it to stdout. To catch them all, we redirect
+ # stderr to stdout.
+ outfp = subprocess.Popen([os.path.join(jdk_path, 'bin', 'javac.exe'),
+ '-version'], stdout=subprocess.PIPE,
+ stderr=subprocess.STDOUT).stdout
line = outfp.read()
if line:
- vermatch = re.search(r'"(([0-9]+(\.[0-9]+)+)(_[._0-9]+)?)"', line, re.M)
+ vermatch = re.search(r'(([0-9]+(\.[0-9]+)+)(_[._0-9]+)?)', line, re.M)
else:
vermatch = None
diff --git a/build/generator/templates/build-outputs.mk.ezt b/build/generator/templates/build-outputs.mk.ezt
index 3677a6d..8e52bdf 100644
--- a/build/generator/templates/build-outputs.mk.ezt
+++ b/build/generator/templates/build-outputs.mk.ezt
@@ -102,13 +102,9 @@ install-[target.install]: [target.install_deps][end]
[target.varname]_OBJECTS = [for target.objects][if-index target.objects first][else] [end][target.objects][end]
[target.varname]_DEPS = $([target.varname]_HEADERS) $([target.varname]_OBJECTS)[for target.add_deps] [target.add_deps][end][for target.deps][if-index target.deps first][else] [end][target.deps][end]
[target.name]: $([target.varname]_DEPS)
-[if-any target.headers][target.varname]_CLASS_FILENAMES =[for target.header_class_filenames] [target.header_class_filenames][end]
-[target.varname]_CLASSES =[for target.header_classes] [target.header_classes][end]
-$([target.varname]_HEADERS): $([target.varname]_CLASS_FILENAMES)
- [target.link_cmd] -d [target.output_dir] -classpath [target.classes]:$([target.varname]_CLASSPATH) $([target.varname]_CLASSES)
-[end][if-any target.sources][target.varname]_SRC =[for target.sources] [target.sources][end]
-$([target.varname]_OBJECTS): $([target.varname]_SRC)
- [target.link_cmd] -d [target.output_dir] -classpath [target.classes]:$([target.varname]_CLASSPATH) $([target.varname]_SRC)
+[if-any target.sources][target.varname]_SRC =[for target.sources] [target.sources][end]
+$([target.varname]_HEADERS) $([target.varname]_OBJECTS): $([target.varname]_SRC)
+ [target.link_cmd][if-any target.headers] -h [target.headers_dir][end] -d [target.output_dir] -classpath [target.classes]:$([target.varname]_CLASSPATH) $([target.varname]_SRC)
[if-any target.jar]
$(JAR) cf [target.jar_path] -C [target.classes][for target.packages] [target.packages][end][end][end]
[else][is target.type "i18n"][target.varname]_DEPS =[for target.add_deps] [target.add_deps][end][for target.objects] [target.objects][end][for target.deps] [target.deps][end]
diff --git a/build/generator/templates/vcnet_vcxproj.ezt b/build/generator/templates/vcnet_vcxproj.ezt
index 845c322..41c8f08 100644
--- a/build/generator/templates/vcnet_vcxproj.ezt
+++ b/build/generator/templates/vcnet_vcxproj.ezt
@@ -62,7 +62,6 @@
<PreprocessorDefinitions>[if-any instrument_apr_pools]APR_POOL_DEBUG=[instrument_apr_pools];[end][is platforms "x64"]WIN64;[end][for configs.defines][configs.defines];[end]%(PreprocessorDefinitions)</PreprocessorDefinitions>
<WarningLevel>Level4</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
- <ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName>
<DisableSpecificWarnings>4100;4127;4206;4512;4701;4706;4800;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<TreatSpecificWarningsAsErrors>4002;4003;4013;4020;4022;4024;4028;4029;4030;4031;4033;4047;4089;4113;4115;4133;4204;4700;4715;4789;%(TreatSpecificWarningsAsErrors)</TreatSpecificWarningsAsErrors>
[if-any configs.forced_include_files] <ForcedIncludeFiles>[for configs.forced_include_files][configs.forced_include_files];[end]%(ForcedIncludeFiles)</ForcedIncludeFiles>
diff --git a/build/transform_libtool_scripts.sh b/build/transform_libtool_scripts.sh
index cdced3a..c4768ec 100755
--- a/build/transform_libtool_scripts.sh
+++ b/build/transform_libtool_scripts.sh
@@ -49,6 +49,7 @@ transform()
DIR=`pwd`
+transform subversion/tests/afl/afl-svndiff "$DIR/subversion/libsvn_auth_gnome_keyring/.libs/libsvn_auth_gnome_keyring-1.so $DIR/subversion/libsvn_auth_kwallet/.libs/libsvn_auth_kwallet-1.so $DIR/subversion/libsvn_delta/.libs/libsvn_delta-1.so $DIR/subversion/libsvn_subr/.libs/libsvn_subr-1.so"
transform subversion/tests/afl/afl-x509 "$DIR/subversion/libsvn_auth_gnome_keyring/.libs/libsvn_auth_gnome_keyring-1.so $DIR/subversion/libsvn_auth_kwallet/.libs/libsvn_auth_kwallet-1.so $DIR/subversion/libsvn_subr/.libs/libsvn_subr-1.so"
transform subversion/tests/cmdline/atomic-ra-revprop-change "$DIR/subversion/libsvn_auth_gnome_keyring/.libs/libsvn_auth_gnome_keyring-1.so $DIR/subversion/libsvn_auth_kwallet/.libs/libsvn_auth_kwallet-1.so $DIR/subversion/libsvn_delta/.libs/libsvn_delta-1.so $DIR/subversion/libsvn_fs/.libs/libsvn_fs-1.so $DIR/subversion/libsvn_fs_base/.libs/libsvn_fs_base-1.so $DIR/subversion/libsvn_fs_fs/.libs/libsvn_fs_fs-1.so $DIR/subversion/libsvn_fs_util/.libs/libsvn_fs_util-1.so $DIR/subversion/libsvn_fs_x/.libs/libsvn_fs_x-1.so $DIR/subversion/libsvn_ra/.libs/libsvn_ra-1.so $DIR/subversion/libsvn_ra_local/.libs/libsvn_ra_local-1.so $DIR/subversion/libsvn_ra_serf/.libs/libsvn_ra_serf-1.so $DIR/subversion/libsvn_ra_svn/.libs/libsvn_ra_svn-1.so $DIR/subversion/libsvn_repos/.libs/libsvn_repos-1.so $DIR/subversion/libsvn_subr/.libs/libsvn_subr-1.so"
transform subversion/tests/libsvn_subr/auth-test "$DIR/subversion/libsvn_auth_gnome_keyring/.libs/libsvn_auth_gnome_keyring-1.so $DIR/subversion/libsvn_auth_kwallet/.libs/libsvn_auth_kwallet-1.so $DIR/subversion/libsvn_delta/.libs/libsvn_delta-1.so $DIR/subversion/libsvn_fs/.libs/libsvn_fs-1.so $DIR/subversion/libsvn_fs_base/.libs/libsvn_fs_base-1.so $DIR/subversion/libsvn_fs_fs/.libs/libsvn_fs_fs-1.so $DIR/subversion/libsvn_fs_util/.libs/libsvn_fs_util-1.so $DIR/subversion/libsvn_fs_x/.libs/libsvn_fs_x-1.so $DIR/subversion/libsvn_repos/.libs/libsvn_repos-1.so $DIR/subversion/libsvn_subr/.libs/libsvn_subr-1.so $DIR/subversion/tests/.libs/libsvn_test-1.so"
diff --git a/build/transform_sql.py b/build/transform_sql.py
index a1cc6f0..18091f2 100755
--- a/build/transform_sql.py
+++ b/build/transform_sql.py
@@ -274,7 +274,7 @@ def main(input_filepath, output):
'/* This file is automatically generated from %s and %s.\n'
' * Do not edit this file -- edit the source and rerun gen-make.py */\n'
'\n'
- % (filename, token_map_filename))
+ % (filename, os.path.basename(token_map_filename)))
proc = Processor(os.path.dirname(input_filepath), output, var_name, token_map)
proc.process_file(input)
diff --git a/build/win32/vc6-build.bat.in b/build/win32/vc6-build.bat.in
deleted file mode 100644
index 7bfce71..0000000
--- a/build/win32/vc6-build.bat.in
+++ /dev/null
@@ -1,176 +0,0 @@
-@echo off
-@REM Licensed to the Apache Software Foundation (ASF) under one
-@REM or more contributor license agreements. See the NOTICE file
-@REM distributed with this work for additional information
-@REM regarding copyright ownership. The ASF licenses this file
-@REM to you under the Apache License, Version 2.0 (the
-@REM "License"); you may not use this file except in compliance
-@REM with the License. You may obtain a copy of the License at
-@REM
-@REM http://www.apache.org/licenses/LICENSE-2.0
-@REM
-@REM Unless required by applicable law or agreed to in writing,
-@REM software distributed under the License is distributed on an
-@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-@REM KIND, either express or implied. See the License for the
-@REM specific language governing permissions and limitations
-@REM under the License.
-
-rem ====== Environment change lives only for the duration of the script
-setlocal
-
-rem ====== Set these shell variables before doing a build.
-rem VER is used to name the output bin dir as svn-win32-%VER%
-set VER=trunk
-rem DIR is appended to src- to make the dir name, e.g., src-trunk
-set DIR=trunk
-set DRIVE=C
-set PYTHONDIR=C:\Python22
-set AWKDIR=C:\SVN\awk
-set NASMDIR=C:\SVN\nasm
-set SDKINC=C:\Program Files\Microsoft SDK\include
-set SDKLIB=C:\Program Files\Microsoft SDK\lib
-set APACHEDIR=C:\Program Files\Apache Group\Apache2
-set GETTEXTINC=C:\SVN\gettext\include
-set GETTEXTLIB=C:\SVN\gettext\lib
-set GETTEXTBIN=C:\SVN\gettext\bin
-rem ====== End of shell variables which need to be set.
-
-rem Set up path to include Python and BDB.
-PATH=%PATH%;%DRIVE%:\SVN\src-%DIR%\db4-win32;%NASMDIR%;%PYTHONDIR%;%AWKDIR%;%GETTEXTBIN%
-
-rem Set INCLUDE and LIB for the msdev builds.
-set INCLUDE=%SDKINC%;%INCLUDE%;%GETTEXTINC%
-set LIB=%SDKLIB%;%LIB%;%GETTEXTLIB%
-
-rem Check that the subversion code exists here.
-cd %DRIVE%:\SVN\src-%DIR%
-if not exist subversion goto wrongstartdir
-cd ..
-
-rem ====== Check the prerequisites are at least in the right place.
-if not exist httpd-2.0.50 goto httpderr
-if not exist nasm goto nasmerr
-if not exist openssl-0.9.7d goto opensslerr
-if not exist src-%DIR% goto svnerr
-if not exist zlib goto zliberr
-if not exist zlib\zlibstat.lib goto zlibstaterr
-if not exist src-%DIR%\db4-win32 goto bdberr
-if not exist gettext goto gettexterr
-goto allok
-
-:wrongstartdir
-echo Unable to find %DRIVE%:\SVN\src-%DIR%\subversion
-goto theveryend
-:httpderr
-echo Unable to find httpd-2.0.50
-goto end
-:nasmerr
-echo Unable to find nasm
-goto end
-:opensslerr
-echo Unable to find openssl-0.9.7d
-goto end
-:svnerr
-echo Unable to find Subversion source in src-%DIR%
-goto end
-:zliberr
-echo Unable to find zlib
-goto end
-:zlibstaterr
-echo Please copy zlib\static32\zlibstat.lib to zlib\zlibstat.lib
-goto end
-:bdberr
-echo Unable to find Berekely DB
-goto end
-:gettexterr
-echo Unable to find gettext
-goto end
-:allok
-
-rem ====== Build openssl.
-cd openssl-0.9.7d
-perl Configure VC-WIN32
-call ms\do_nasm
-nmake -f ms\ntdll.mak
-cd out32dll
-call ..\ms\test
-cd ..\..
-
-rem ====== Build Apache 2
-cd src-%DIR%
-python gen-make.py -t dsp --with-httpd=..\httpd-2.0.50 --with-berkeley-db=db4-win32 --with-openssl=..\openssl-0.9.7d --with-zlib=..\zlib --enable-nls --enable-bdb-in-apr-util
-cd ..
-msdev httpd-2.0.50\apache.dsw /MAKE "BuildBin - Win32 Release"
-
-rem ====== Subversion
-cd src-%DIR%
-msdev subversion_msvc.dsw /USEENV /MAKE "__ALL_TESTS__ - Win32 Release"
-mkdir Release\subversion\tests\cmdline
-xcopy /S /Y subversion\tests\cmdline Release\subversion\tests\cmdline
-copy Release\subversion\mod_dav_svn\mod_dav_svn.so "%APACHEDIR%"\modules
-copy Release\subversion\mod_authz_svn\mod_authz_svn.so "%APACHEDIR%"\modules
-cd ..
-
-rem ====== Copy the binaries into a tree suitable for zipping.
-mkdir svn-win32-%VER%
-mkdir svn-win32-%VER%\bin
-mkdir svn-win32-%VER%\httpd
-mkdir svn-win32-%VER%\iconv
-copy src-%DIR%\db4-win32\bin\libdb42.dll svn-win32-%VER%\bin
-copy openssl-0.9.7d\out32dll\libeay32.dll svn-win32-%VER%\bin
-copy openssl-0.9.7d\out32dll\ssleay32.dll svn-win32-%VER%\bin
-copy httpd-2.0.50\srclib\apr\Release\libapr.dll svn-win32-%VER%\bin
-copy httpd-2.0.50\srclib\apr-iconv\Release\libapriconv.dll svn-win32-%VER%\bin
-copy httpd-2.0.50\srclib\apr-iconv\Release\iconv\*.so svn-win32-%VER%\iconv
-copy httpd-2.0.50\srclib\apr-util\Release\libaprutil.dll svn-win32-%VER%\bin
-copy gettext\bin\intl.dll svn-win32-%VER%\bin
-copy gettext\bin\iconv.dll svn-win32-%VER%\bin
-copy src-%DIR%\Release\subversion\svn\svn.exe svn-win32-%VER%\bin
-copy src-%DIR%\Release\subversion\svnadmin\svnadmin.exe svn-win32-%VER%\bin
-copy src-%DIR%\Release\subversion\svndumpfilter\svndumpfilter.exe svn-win32-%VER%\bin
-copy src-%DIR%\Release\subversion\svnlook\svnlook.exe svn-win32-%VER%\bin
-copy src-%DIR%\Release\subversion\svnserve\svnserve.exe svn-win32-%VER%\bin
-copy src-%DIR%\Release\subversion\svnversion\svnversion.exe svn-win32-%VER%\bin
-copy src-%DIR%\Release\subversion\svnrdump\svnrdump.exe svn-win32-%VER%\bin
-copy src-%DIR%\Release\subversion\svnmucc\svnmucc.exe svn-win32-%VER%\bin
-copy src-%DIR%\Release\subversion\mod_authz_svn\mod_authz_svn.so svn-win32-%VER%\httpd
-copy src-%DIR%\Release\subversion\mod_dav_svn\mod_dav_svn.so svn-win32-%VER%\httpd
-copy svn-win32-%VER%\bin\intl.dll "%APACHEDIR%\bin"
-copy svn-win32-%VER%\bin\iconv.dll "%APACHEDIR%\bin"
-copy svn-win32-%VER%\bin\libdb42.dll "%APACHEDIR%\bin"
-
-rem ====== Configure Apache ready for doing tests.
-@echo off
-echo Configure Apache to use the mod_dav_svn and mod_authz_svn modules
-echo by making sure these lines appear uncommented in httpd.conf:
-echo LoadModule dav_module modules/mod_dav.so
-echo LoadModule dav_fs_module modules/mod_dav_fs.so
-echo LoadModule dav_svn_module modules/mod_dav_svn.so
-echo LoadModule authz_svn_module modules/mod_authz_svn.so
-echo And further down the file add:
-echo ^<Location /svn-test-work/repositories^>
-echo DAV svn
-echo SVNParentPath %DRIVE%:/SVN/src-%DIR%/Release/subversion/tests/cmdline/svn-test-work/repositories
-echo ^</Location^>
-echo ^<Location /svn-test-work/local_tmp/repos^>
-echo DAV svn
-echo SVNPath %DRIVE%:/SVN/src-%DIR%/Release/subversion/tests/cmdline/svn-test-work/local_tmp/repos
-echo ^</Location^>
-echo Then restart Apache.
-
-echo Please configure Apache and press enter:
-pause
-@echo on
-
-rem ====== Run the tests.
-PATH=%DRIVE%:\SVN\svn-win32-%VER%\bin;%PATH%
-cd src-%DIR%
-python win-tests.py -c -r -v
-python win-tests.py -c -r -v -u http://localhost
-cd ..
-
-:end
-cd src-%DIR%
-endlocal
-:theveryend