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

Changeset 1504501 is being indexed.

In the Windows project generator: Make libintl a proper optional dependency,

instead of specializing the includes/libpath/library everywhere.

* build.conf

(libsvn_subr): Use libintl.

(intl): New marker project

* build/generator/gen_win.py

(get_win_includes): Just add includes. Remove libintl support.

Remove duplicated items.

(get_win_lib_dirs): Simplify addition. Remove duplicated items.

(get_win_libs): Remove specialized handling of libintl.

* build/generator/gen_win_dependencies.py

(SVNCommonLibrary): Add extra_include_dir option.

(find_libraries): Call _find_libintl.

(_find_apr): Really handle an install location.

(_find_openssl): Properly set bin_dir

(_find_libintl): New function.

* gen-make.py

(Options.add): Make overwriting old values optional.

(.): Don't override every --apr-* argument via --with-httpd.

* win-tests.py

(locate_libs): Remove libintl specific copying.

  1. … 4 more files in changeset.
In the windows project generator: Handle Cyrus sasl as a proper dependency

instead of local patches to the generator.

* win-tests.py

Handle sasl as a standard dependency, instead of by using sasl knowledge.

* build/generator/gen_win.py

(get_win_defines): Detect sasl by checking libraries collection.

(get_win_includes,

get_win_lib_dirs): Don't add sasl include dir to all projects, but handle

via dependencies.

(get_win_libs): Remove specialized handling.

* build/generator/gen_win_dependencies.py

(imports): Remove unused ugly import.

(find_libraries): Find sasl.

(_find_sasl): New function.

  1. … 2 more files in changeset.
* gen_win.py

Don't generate a zlib project and bat file if we are using an install source.

Suppress gen-make.py warnings when compiling without serf or bdb.

* generator/gen_win.py

Fix Exception when BDB is not found.

Remove now duplicated BDB version information output.

* generator/gen_win_dependencies.py

Check the right variable for static openssl.

Remove TAB character

Found by: Masaru Tsuchiyama <m.tmatma{_AT_}gmail.com>

  1. … 1 more file in changeset.
In the Windows project file generator: update openssl and serf to the new

dependency framework. The serf in-tree build needs openssl and we need

openssl for running the tests.

* build/generator/gen_win.py

(get_install_targets): Don't build a serf project if we use an installed

serf.

(get_external_project): Update check to avoid .serf_lib

(get_win_defines): Use modern checks for library availability.

(get_win_includes,

get_win_lib_dirs,

get_win_libs): Remove hardcoded serf handling.

(write_serf_project_file): Use modern check.

* build/generator/gen_win_dependencies.py

(GenDependenciesBase): Remove now unused variable.

(find_libraries): Organize library find calls. Avoid 2 lines for openssl.

(_find_zlib): Find ml from here.

(_find_db): Remove unneeded '\n'

(_find_openssl): New function.

(_get_serf_version): Add include dir argument to allow probing in more

locations.

(_find_serf): Fill library object.

  1. … 1 more file in changeset.
In the Windows projectfile generator: hook the ZLib dependency in the new

framework. This support for specifying a zlib install instead of source

directory. In this case no zlib makefile project is created.

* build/generator/gen_win.py

(get_install_targets): Filter on library instances instead of library

specific variables.

(get_win_depends): Allow retrieving all external library dependencies of a

project.

(get_externallib_depends): New function.

(get_win_includes): Determine the include directories based on the

dependencies instead of hardcoded on project name for the already

converted dependencies.

(get_win_lib_dirs): Determine the library directories based on the

dependencies instead of hardcoded.

(get_win_libs): Remove unhandled case for zlib.

(FILTER_EXTERNALLIBS): New global.

* build/generator/gen_win_dependencies.py

(SVNCommonLibrary): Add is_src variable.

(_find_apr_util_and_expat): Apply minimal version check

(_find_zlib): Parse version and locations of ZLib. Move to sane location.

(_find_zlib): Remove old function here.

  1. … 1 more file in changeset.
Following up on r1502535, update the apr and apr-util detection to the

common library detection.

* win-tests.py

Remove knowledge about apr and apr-util. Handled by the copy dependencies

handling now.

* build/generator/gen_win.py

(find_libraries): Remove function here. Assume the parent implementation

handles everything.

(get_win_libs): Remove apr / apr-util specialization

* build/generator/gen_win_dependencies.py

(find_libraries): Find all libraries from here. Temporarily use

show_warnings to disable finding optional components.

(_find_apr,

_find_apr_util_and_expat): New functions. Store full dependency knowledge

in the _libraries dict. Move to top of list.

(_find_apr,

_find_apr_util): Remove functions here.

  1. … 2 more files in changeset.
In the Windows project generator: move the code that locates external libraries

to a separate python file.

* win-tests.py

Import just gen_win_dependencies.py

* build/generator/gen_win.py

Import gen_win_dependencies.py

(SVNCommonLibrary): Move to gen_win_dependencies.py.

(GeneratorBase): Move to gen_win_dependencies.py

(WinGeneratorBase): Inherit GenDependenciesBase fom gen_win_dependencies.py

(WinGeneratorBase.__init__): Call ancestor initializer. Request no library

finding from the constructor. Explicitly locate libraries later.

Move library locator code to find_libraries)

(WinGeneratorBase.find_libraries): New function.

(_find_perl,

_find_ruby,

_find_python,

_find_jdk,

_find_swig,

_find_swig_libdir,

_find_ml,

_get_serf_version,

_find_serf,

_find_apr,

_find_apr_util,

_find_sqlite,

_find_zlib,

escape_shell_arg): Move to gen_win_dependencies.py.

* build/generator/gen_win_dependencies.py

New file. Copied from gen_win.py.

(GeneratorBase): Renamed to ...

(GenDependenciesBase): ... this.

(GenDependenciesBase.__init__): Add optional argument.

Delegate finding libraries to helper function.

(_find_bdb): Produce warning when not found, but allowed

(_find_perl,

_find_ruby,

_find_python,

_find_jdk,

_find_swig,

_find_swig_libdir,

_find_ml,

_get_serf_version,

_find_serf,

_find_apr,

_find_apr_util,

_find_sqlite,

_find_zlib,

escape_shell_arg): Functions moved here from gen_win.py

  1. … 2 more files in changeset.
In the windows build generator: start storing Windows library dependencies in

a python object to allow processing the source/install tree information in a

single place instead of in many separate places.

This is the first patch in a serie of windows build generator patches.

* win-tests.py

(locate_libs): Use the libraries set for locating bdb

* build/generator/gen_win.py

(SVNCommonLibrary): New class

(GeneratorBase): Add _libraries variable

(_find_bdb): Parse version from header. Create SVNCommonLibrary instance.

(WinGeneratorBase): Produce message using GeneratorBase.

(get_win_libs): Look for dependencies in _libraries first.

Produce warning for unknown dependencies.

  1. … 1 more file in changeset.
* gen_win.py

(errno_filter): The SOC* errors are from the python system error

import, not from apr.

* build/generator/gen_win.py:

Remove a tab, no functional change.

Fix the ability to build against debug BDB on Windows.

Not sure this is the best way to fix this, the real problem here is that

when we look for BDB we have no idea if this is a debug or release build.

* build/generator/gen_win.py

(GeneratorBase._find_bdb): Look for the debug lib as well as release.

(WinGeneratorBase.__init__): Adjust output since it doesn't know if it

found a release or debug lib file at this layer.

Block building with BDB 6.

* build/ac-macros/berkeley-db.m4

(SVN_LIB_BERKELEY_DB_TRY): Block building with BDB 6, with a comment

explaining why.

(SVN_LIB_BERKELEY_DB): Document that only 4.x and 5.x are supported.

(--with-berkeley-db): Ditto. The help string does not evaluate the $,

but that is a preexisting bug that should be fixed separately.

* build/generator/gen_win.py

(GeneratorBase._find_bdb): Add a comment cautioning against enabling

BDB 6.

* configure.ac: Define $db_alt_version and use it in an error message.

  1. … 2 more files in changeset.
Fix Windows project file generator to not exclude .c files

generated by Swig from the build.

* build/generator/gen_win.py (GeneratorBase.__init__):

Construct a set of all private include files that were explicitly

listed in build.conf.

(WinGeneratorBase.get_proj_sources): Only exclude from build those

dependencies that appear in the exclude list.

Tell the Visual Studio project file generator to not compile C files that

appear in the project's dependency list but are not in the source list.

This fixes the issue with embedding utf8proc sources in libsvn_subr.

* build/generator/gen_win.py (WinGeneratorBase.get_proj_sources):

Mark header dependencies for exclusion from the build.

(ProjectItem): Set files to not excluded by default.

* build/generator/templates/vcnet_vcproj.ezt,

build/generator/templates/vcnet_vcxproj.ezt: Tweak the .vc(x)proj templates

to treat excluded sources differently, and to treat *.hpp as header files.

* build.conf (private-includes): Remove the .inline suffix from

utf8proc/utf8proc.c and utf8proc/utf8proc_data.c.

* subversion/libsvn_subr/utf8proc.c:

Update directive to include utf8proc/utf8proc.c.

* subversion/libsvn_subr/utf8proc/utf8proc.c: Rename from utf8proc.c.inline.

Update directive to include utf8proc_data.c.

* subversion/libsvn_subr/utf8proc/utf8proc_data.c:

Rename from utf8proc_data.c.inline.

  1. … 8 more files in changeset.
For issue #4371 ("Subversion requires Serf 1.2.1"), teach the build

system to expect Serf 1.2.1 now.

* INSTALL,

* configure.ac,

* get-deps.sh,

* build/generator/gen_win.py

Bump Serf required version to 1.2.1.

  1. … 3 more files in changeset.
windows build: Silence a false positive warning.

Tested by: jcorvel

* build/generator/gen_base.py

(GeneratorBase.write_errno_table): Make this an instance method, rather than

a static one. Use self.errno_filter.

(GeneratorBase.errno_filter): Provide default implementation.

* build/generator/gen_win.py

(WinGeneratorBase.errno_filter): Override the default implementation.

  1. … 1 more file in changeset.
* build/generator/gen_win.py:

(_find_bdb): Look for BDB 5.0, 5.1, 5.2 and 5.3 versions.

Properly detect Ruby 1.9 on Windows.

* build/generator/gen_win.py:

(WinGeneratorBase._find_ruby): Pass the -W0 option to ruby.exe to stifle

the warning about Config being deprecated and that RbConfig should be

used. Ruby just uses RbConfig anyway.

* **/**

Run tools/dev/remove-trailing-whitespace.sh to remove all trailing whitespace

before we branch 1.8, like we did before creating previous branches.

No functional changes.

  1. … 199 more files in changeset.
Follow up to r1354410 which dropped the JavaHL targets in the absense of a jdk.

It appears to contain an copy-paste-o that also removes the swig targets in

the absense of a jdk.

* build/generator/gen_win.py

(get_install_targets): Drop the line the removes the swig targets when there

is no jdk.

Approved by: danielsh

* build/generator/gen_win.py

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

to find their header files on Windows.

* build/generator/gen_win.py

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/gen_win.py

(_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/gen_win.py

(_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/gen_base.py

(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 strip-po-charset.py invocation.

* build/generator/gen_win.py:

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

* build/strip-po-charset.py: 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,

see http://code.google.com/p/serf/issues/detail?id=88

* gen-make.py: New option --with-static-openssl.

* build/generator/gen_win.py (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/gen_win.py (get_win_lib_dirs): Translate APR/APR-Util

artefact paths if linking against static APR libs.

* build/generator/gen_win.py

(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.