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

Changeset 1452148 is being indexed.

* build/generator/

(get_win_includes): Add fake include for the cxxhl projects to allow them

to find their header files on Windows.

* build/generator/

Apply some educated guesses on how future Visual Studio versions can be

supported, given how VS 2010 and VS 2012 bumped their formats.

Make the regexes a bit stricter.

* build/generator/

(_find_sqlite): Following up on r1449422, fix error message. Also use the

optional 4th component of the version for diagnostics.

On Windows, use similar version checks for serf, apr, aprutil and sqlite

instead of many slightly different checks.

Also print the version numbers found to allow easy access on the buildbot.

Note that this bumps required versions of several dependencies to what

they already are on the unix builds.

* build/generator/

(_find_serf): Require serf 1.2.0 or later

(_find_apr): Require apr 0.9.0 or later

(_find_apr_util): Require aprutil 0.9.0 or later

(_find_sqlite): Require sqlite 3.7.12 or later.

(_find_zlib): Print version in the same format.

* build/generator/

(create_dll_target): Add exception for entries-dump to unbreak windows

shared library build support.

On Windows, don't strip the Content-Type field from .po files during their compilation.

GNU libintl, by default, converts the l10n strings into the locale encoding, while Subversion requires UTF-8. This conversion can be suppressed by calling bind_textdomain_codeset, but certain old versions of libintl don't have that, so the Unix build system checks for the existence of that function, and if it's not present, strips the Content-Type header from the .po files (which prevents encoding conversion, as well, but makes msgfmt complain).

When building on Windows, this stripping is done unconditionally, but is completely unnecessary:

- On Windows, we only support linking with svn-win32-libintl, which is hacked to disable all encoding conversions.

- Even if someone links with with his own version of libintl, it's a safe bet that it will be new enough to support bind_textdomain_codeset, so we can just call that.

This patch removes Content-Type stripping on Windows, which gets rid of msgfmt warnings, as well as simplifies the build system.

* build/generator/build_locale.ezt: Remove the invocation.

* build/generator/

(POFile.__init__): don't store the .spo file name.

* build/ Delete.

* subversion/libsvn_subr/nls.c:

(svn_nls_init): Move the bind_textdomain_codeset call out of the #ifdef WIN32 block, so it's executed on Windows, as well.

* subversion/svn_private_config.hw: Indicate that bind_textdomain_codeset is available if NLS is enabled.

Approved by: brane

  1. … 4 more files in changeset.
Teach serf build on Windows to use static APR/Util and OpenSSL.

Note: The APR_STATIC support requires a patch to serf.mak,


* New option --with-static-openssl.

* build/generator/ (write_serf_project_file):

Send configuration for static APR and OpenSSL linking to the serf

project file generator.

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

build/generator/templates/serf.vcxproj.ezt: Update nmake command templates.

  1. … 3 more files in changeset.
APR's static builds use LibD/LibR to store the build artefacts.

* build/generator/ (get_win_lib_dirs): Translate APR/APR-Util

artefact paths if linking against static APR libs.

* build/generator/

(get_install_targets): Drop the JavaHL targets from the build if we can't find a

jdk, just like how we handle serf, bdb and swig.

Don't build libsvn_ra_neon, in preparation for its removal.

See this thread for more info:

* build/ac-macros/neon.m4,





* build/generator/,





Remove neon bits.


Don't bother fetching the neon deps.

* build.conf:

Remove libsvn_ra_neon, and neon as depenencies.

  1. … 12 more files in changeset.
Update references to Visual Studio 11 to Visual Studio 2012.


Update documentation

* build/generator/

Accept 2012 argument and provide the right text for the .sln file

  1. … 1 more file in changeset.
Purge trailing whitespace, in the spirit of r1138109.

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

(_find_perl): Following up on r1291797, fix the invocation of perl

to actually retrieve the requested information.

Following up on r1291740, use relative paths for zlib in a few more places.

* build/generator/

(WinGeneratorBase): Use relative paths in .bat file.

(write_zlib_project_file): Use relative path to output folder.

Locate the library and header directories for perl on Windows, just like how

we handle them for ruby and python.

* build/generator/

(get_win_includes): Add perl includes if necessary.

(get_win_lib_dirs): Add perl libdir if necessary.

(_find_perl): Ask the required information from perl.

Use relative paths in more cases in the Visual C++ project files. This looks

more like how Visual Studio would create these files and makes it easier to

access a development working copy on a network drive.

* build/generator/

(find_rootpath): Use os.path.relpath instead of a simple reimplementation.



write_serf_project_file): Calculate relative paths instead of abspaths.

Extend our project generator to allow generating Visual Studio 11 compatible

projects. This requires bumping the solution and toolset version.

* build/generator/

(write_project): Add toolset_version variable for templates.

* build/generator/

(GeneratorBase): Allow generating for Visual Studio 11.

(move_proj_file): Add toolset_version variable for templates.

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

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

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

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

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

* build/generator/templates/vcnet_vcxproj.ezt

Set the toolset version dynamically.

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

(GeneratorBase.parse_options): Don't build mod_dontdothat if building without

httpd, just like how we handle mod_dav_svn and mod_authz_svn.

* build/generator/

(get_win_defines): Add _CRT_SECURE_NO_WARNINGS here instead of in the


* build/generator/templates/vcnet_vcxproj.ezt

* build/generator/templates/vcnet_vcproj.ezt

Remove _CRT_SECURE_NO_WARNINGS definition and define WIN64 in x64 builds.

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

(get_win_libs, write_serf_project_file): Following up on r1148043 (and a fix

in serf) dynamically generate serf library names based on the serf version.

Remove libsvn_auth_gpg_agent and move gpg-agent support into libsvn_subr.

There is no need to put gpg-agent support into a library loaded at runtime.

The svn code talks to the GPG agent via a UNIX stream socket.

There are no massive external library dependencies involved that

we need to keep at a distance, as with GNOME or KDE.

This should also fix the problem where svn fails to enable gpg-agent

support on Mac OS X because of a filename mismatch (*.so vs. *.dylib).

* subversion/include/svn_auth.h

(svn_auth_gpg_agent_version): Remove declaration. A version function

is only needed for DSOs.

(svn_auth_get_gpg_agent_simple_provider): Declare this function on Darwin.

Remove mention of libsvn_auth_gpg_agent from docstring.

* subversion/libsvn_auth_gpg_agent,

subversion/libsvn_auth_gpg_agent/version.c: Remove.

* subversion/libsvn_auth_gpg_agent/gpg_agent.c: Move to ...

* subversion/libsvn_subr/gpg_agent.c: ... here. Wrap all code into

the SVN_HAVE_GPG_AGENT define.

* subversion/libsvn_subr/auth.c

(svn_auth_get_platform_specific_provider): Directly call

svn_auth_get_gpg_agent_simple_provider() if SVN_HAVE_GPG_AGENT is defined

instead of loading gpg-agent support as a DSO.

* subversion/bindings/swig/core.i: Remove svn_auth_gpg_agent_version.




build/generator/ Remove references to libsvn_auth_gpg_agent.

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

(parse_options): Don't generate a libsvn_auth_gpg_agent project on Windows.

* build/generator/


write_serf_project_file): Fix compilation agains serf trunk (2.0) which

currently still creates a serf-1.lib on Windows.

Make Visual C++ link to the right library for serf 1.0.

* build/generator/

(write_serf_project_file): Add serf_lib argument.

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

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

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

Replace serf.lib with [serf_lib].

  1. … 3 more files in changeset.
Support forthcoming serf 1.0.0 on Windows (and fix Windows build when using

serf trunk).

* build/generator/

(WinGeneratorBase.get_win_libs.): Support serf-1.lib or serf.lib as


(WinGeneratorBase._get_serf_version): Keep the major, minor, and patch

version of serf as instance attributes.

The semi-annual trailing whitespace cleansing ritual.

* everywhere:

for extsn in c h cpp java py pl rb; do

sed -i -e 's/[ \t]*$//' `find . -name "*.$extsn" | xargs grep '[ \t]$' -l`


  1. … 144 more files in changeset.
Remove a few double '\'-s from the constructed paths in MSBuild by

not using a '\' after $(SolutionDir).

* build/generator/

(find_rootpath): Include the final '\' in the result.

(path, apath): Assume the rootpath has a final '\'

* build/generator/templates/vcnet_vcxproj.ezt

Assume $(SolutionDir) has a final '\'

  1. … 1 more file in changeset.
Remove a bit more ..\..\.. magic from the Visual C++ project system to allow more

automatic dependency reduction in MSBuild via simple path comparing.

Note that $(SolutionDir) always ends in a final '\', but double slashes are


* build/generator/

(find_rootpath): New function.

* build/generator/

(WinGeneratorBase.__init__): Use find_rootpath instead of a number of ..\


(find_rootpath): New function.

* build/generator/templates/vcnet_vcxproj.ezt

Replace another ..\ style path with a variable pointing to the right path.

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

(get_proj_sources): Quote path to Python executable in generated project


Allow building Subversion with a statically linked apr and apr-util on Windows.

Note that this currently only works when you are not using serf, as

the serf makefile doesn't support this scenario yet.

* build.conf

(apr): Add a few required system libraries which are used by apr internally.


(locate): Don't copy apr dlls if compiling staticly.


Add support for --with-static-apr.

* build/generator/

(parse_options): Parse --with-static-apr.

(get_win_defines): Add necessary defines.

(_find_apr, _find_aprutil): Find static apr.

(write_serf_project_file): Forward static linkage information to serf ezt.

  1. … 3 more files in changeset.