Checkout Tools
  • last updated 3 hours ago
Constraints: committers
Constraints: files
Constraints: dates

Changeset 1654027 is being indexed.

* generator/

(_find_openssl): Update regex to support OpenSSL's new formatting rules.

Correctly handle a situation of an unresolved SQLite dependency in

our script, instead of printing a stacktrace

(TypeError: not all arguments converted during string formatting).

* build/generator/

(_find_sqlite): The error message does not have any '%s' placeholders,

so there is no need to pass the self.sqlite_path format argument.

* build/generator/

(_find_perl): Following up on r1617030, properly read the new line instead

of using the same line twice.

On Windows: Properly detect the right name of the perl library file on

Windows, for newer perl versions that sometimes generate a .lib file

with the more linux like libperl158.a name.

* build/generator/

(_find_perl): Ask perl for the library name instead of guessing one


Fix another problem in the script. There are some

cases when we want to print a warning about an unresolved dependency, e.g.:


WARNING: 'opensslv.h' not found

Use '--with-openssl' to configure openssl location.


Prior to this changeset, we would instead end up with printing a stacktrace

("... global name 'show_warning' is not defined") instead of issuing a

warning and continuing to work. The reason for that is somewhat trivial --

we inconsistently use the names 'show_warning' and 'show_warnings' across

the script and sometimes encounter a situation when the name of the function

argument does not match the name of the variable in its body. Fix this by

using a consistent naming scheme across the whole script file.

* build/generator/

(_find_httpd, _find_openssl, _find_jdk, _find_swig, _find_serf,

_find_sasl, _find_libintl): Use 'show_warnings' instead of 'show_warning'

as the argument names. The discrepancies are only in the openssl,

jdk, and swig-related functions, but using a consistent naming scheme

*everywhere* could probably avoid the same mistakes in the future.

Do not check whether the apu_version.h file exists in the supplied APR-Util

location *twice*. os.path.isfile(path) implicates os.path.exists(path), so

the second check effectively does nothing.

* build/generator/

(_find_apr_util_and_expat): Only check for the existence of the

'apu_version.h' once.

Following up on r1504501, gracefully exit in situations when the APR include

is missing instead of throwing out a cryptic stacktrace ("... local variable

'version_file_path' referenced before assignment").

* build/generator/

(_find_apr): Do not attempt to use the uninitialized 'version_file_path'

variable in the error message, because we initialize it later. Just

stick to the same approach as in the _find_apr_util_and_expat(), i.e.

use the hardcoded filename in the error message.

Create Visual Studio 2010+ compatible solutions and projects when generating

projects for VS 2012 and later. This introduces/fixes support for the Visual

Studio '14' compile chain's projects via the 'fallback' 14 behavior.

As the current estimated release time for VS '14' is 2015 at earliest, I'm

not adding a more specific name yet.

* build/generator/

Make regex matches for deprecated versions a bit stricter. Fix vsversion


* build/generator/templates/vcnet_sln.ezt

Generate compatible versions header, specifying compatibility with VS 2010

SP 1 (which introduced support for the 12.0 format, really added in VS2012).

  1. … 1 more file in changeset.
Remove some (since at least 1.8.0) unused gen-make options, from when we only

supported in-tree builds of bdb and apr-util.


Remove support for --enable-bdb-in-apr-util,

--with-neon and --without-neon.

* build/generator/

Stop parsing enable-bdb-in-apr-util.

  1. … 1 more file in changeset.
* build/generator/


_find_apr_util_and_expat): Bump minimal versions to 1.3.0.

Following up on r1572253, bump serf requirement on Windows.

* build/generator/

* build/generator/

Don't generate serf and zlib projects.

* build/generator/

Don't create build_zlib.bat

Stop filtering serf and zlib projects in specific cases.

* build/generator/

Remove special is_src support that was only needed for

this ugly zlib/serf dependency case.

Bump minimal required serf version.

* build/generator/templates/build_zlib.ezt

* build/generator/templates/serf.dsp.ezt

* build/generator/templates/serf.vcproj.ezt

* build/generator/templates/serf.vcxproj.ezt

* build/generator/templates/zlib.dsp.ezt

* build/generator/templates/zlib.vcproj.ezt

* build/generator/templates/zlib.vcxproj.ezt

Remove unused templates.

* build.conf

Make serf and zlib normal external projects.

  1. … 11 more files in changeset.
In the Windows build: make it much easier to apply a define through

all projects when building via project systems such as Visual Studio

by adding an optional -D option to

* build/generator/

(get_win_defines): Add cpp_defines when set.

* build/generator/

Initialize cpp_defines. Parse -D options.


Allow and document -D option.

  1. … 2 more files in changeset.
* build/generator/

(_find_apr_util_and_expat): Declare APU_DECLARE_STATIC when using a static

apr-util, as APR_DECLARE_STATIC only applies to apr itself.

* build/generator/


_find_apr_util_and_expat): Fix detection for complete static builds of

apr and apr-util.

On further thought just remove support for ASM Zlib entirely.

Since the ASM implementations of Zlib have bugs that we run into there's

no reason anyone should use them. If that changes we can revert this

in the future.


(_usage_exit, __main__): Remove enable-ml option.

* build/generator/

(GenDependenciesBase.parse_options): Remove enable-ml option

(GenDependenciesBase._find_ml): Remove

(GenDependenciesBase._find_zlib): Remove call to _find_ml

* build/generator/

(WinGeneratorBase.__init__, WinGeneratorBase.write_zlib_project_file):

remove use_ml from data sent to ezt.

* build/generator/templates/build_zlib.ezt

(): Remove the code to use the assembler from bat file

  1. … 3 more files in changeset.
* build/generator/

(_find_apr): Explicitly check for install location, to avoid

setting wrong values in fallback scenario.

Followup to r1560558, unbreak builds with installed APR/APR-util builds.

* build/generator/


GenDependenciesBase._find_apr_util_and_expat): Need both tests since the

debug_dll_dir will be None with binary installs.

Don't fail when apr and apr-util only have Release mode built.

* build/generator/


GenDependenciesBase._find_apr_util_and_expat): Check that the directory

exists before trying to get the files in the directory.

* build/generator/

(GenDependenciesBase._find_ml): Add a warning to discourage the use of

ASM sources with ZLib.

On Windows: Fix compilation against perl 5.18, which somehow thinks that

Visual C++ support gnu's/mingw's __inline__.

* build/generator/

(_find_perl): Add a forced include when using perl 5.18 or later.

* subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.c

(includes): Include swigutil_pl__pre_perl.h directly.

* subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl__pre_perl.h

New file.

  1. … 2 more files in changeset.
In the Windows project generator: Turn httpd and mod_dav into 'regular'

dependencies instead of hardcoded magic in the project generator.

* build.conf



mod_dontdothat): Update dependencies.


mod_dav): New external targets.

* build/generator/

(get_win_includes): Remove now unneeded hardcoded include dirs.

(get_win_lib_dirs): Remove now unneeded hardcoded library dirs.

* build/generator/

(find_libraries): Call _find_httpd.

(_find_httpd): New function.

  1. … 2 more files in changeset.
* build/generator/

(_find_apr_util_and_expat): Properly detect if expat is compiled to

libexpat.lib or xml.lib to support more recent apr versions.

In the Windows test runner: automatically copy additional apr dlls

(such as the apr-util crypto dll).


(locate_libs): When a dependency has additional binaries, copy these too.

* build/generator/


_find_apr_util_and_expat): Find additional binaries and provide information

on them.

  1. … 1 more file in changeset.
* build/generator/

(parse_options): Following up on r1533907, remove duplicated VS 2012 block

and create a VS 2012 compatible solution file, as VS 2013 writes solutions

in this format when it determines projects are backwards compatible, such

as our .vcxproj files.

Support Visual Studio 2013 as '2013' in the Windows build.

(It was already possible to use the option '12' to create a working

but sub-optimal solution)


Document VS 2013 value.

* build/generator/

(parse_options): Set internal versions for VS 2013.

  1. … 1 more file in changeset.
Properly handle the 'when' option in build.conf on Windows. This filters

a few projects that currently can't be build on Windows.

* build/generator/

(get_install_targets): Filter projects that are disabled.

* build/generator/

(_windows_when): New variable.

  1. … 1 more file in changeset.
* build/generator/

Resolve about a dozen test failures by defining a NUM2LL macro when building

the swig ruby bindings to make sure swig doesn't redefine a macro in an

invalid way.

On Windows, make it possible to build Subversion against Serf 1.3.0 and

higher by allowing compilation against an already compiled serf.

* build/generator/

(_find_serf): Set is_src to False when version >= 1.3.0.

Following up on r1505481, reinstate the dynamic generation of the ruby shared

library linkage. And resolve the extension table problems that were hidden

for me by this problem. This should fix building swig ruby on !Windows.

* build/generator/

(add_dependencies): Use the retrieved extension instead of accidentally

hardcoding .so.

* build/generator/

(_extension_map): Create a .so for a .so project.

  1. … 1 more file in changeset.
Make it possible to run the Swig Ruby testsuite on Windows.

Somehow my Ruby expects its DLLs to be named .so on Windows, so apply a

similar handling as in the Python build: compile to the expected extension.

Make '' capable of starting the ruby tests and prepare to

also handle the python and perl tests.

* build/generator/

(add_dependencies): Reorganize if to make python and perl handling

of dll extensions special and no replacement default.

* build/generator/

(_extension_map): Add default mapping of 'so'

* build/generator/

(_extension_map): Add Windows mapping of 'so'


Add --swig=language argument. Implement ruby version and

store win32 buildbot code as todo for implementing for python

and perl. (Hopefully the implementation will be smarter than

this buildbot hack)

  1. … 3 more files in changeset.