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

Changeset 1703419 is being indexed.

Remove the project generator support for Visual Studio 6.0, .Net (2002) and

2003. This support is unmaintained for quite some time and these compilers

and their C libraries are not even supported by Microsoft anymore.

* build/generator/

Remove file.

* build/generator/

(get_external_project): Remove function; falling back to ancestor.

* build/generator/

(get_external_project): Remove serf project hack that wasn't used since 1.7.

* build/generator/templates/msvc_dsp.ezt

* build/generator/templates/msvc_dsw.ezt

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

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

Remove files.


Update documentation. Make --vsnet-version imply -t vcproj.

  1. … 7 more files in changeset.
In the Windows build mark the DLLs of libsvn_ra, libsvn_fs_base, libsvn_fs_fs,

libsvn_fx as to be delayloaded.

Without this patch these DLLs and their dependencies are always loaded from

code that references them. After this patch the code is dynamically loaded

when first necessary. (In all supported compilers this is implemented as

a per DLL load via the import table, so there is no per function call

performance penalty)

The non-shared-library build is unaffected.

* build.conf




libsvn_ra): Mark as delayload.

* build/generator/

(TargetLib): Load property.

* build/generator/

(write): Calculate dependency dlls to be delayloaded.

* build/generator/

(create_dll_target): Copy property to right target.

* build/generator/templates/vcnet_vcxproj.ezt

Extend linker arguments.

  1. … 4 more files in changeset.
Require Python ≥2.7 for Subversion 1.9, part 2: coding simplifications.

* build/generator/ (hashlib_md5),

* build/ (operator.methodcaller),

* subversion/bindings/swig/python/svn/ (SubversionException.message),

* tools/dev/ (hashlib_md5)

* tools/dist/ (__future__.with_statement):

Remove conditional code for now-unsupported Python versions.

* subversion/bindings/ctypes-python/csvn/ext/

Note a possible code simplification.

  1. … 5 more files in changeset.
Following up on r1692093, also drop optional dependencies when fetching

the dependencies via a different route.

* build/generator/

(get_win_depends): Combine two code paths.

* build/generator/

Stop setting unused self.bdb_lib.

  1. … 1 more file in changeset.
On Windows: drop BDB not found warning, if building without BDB-support.

This makes this code match the *nix configure code.

* build/generator/

(__init__): Remove BDB-warning, if optional 'db' library not found in


* build/generator/

(parse_options): initialize self.bdb_path to None.

(_find_bdb): introduce local variable to determine bdb_path taking

either a specified path (via --with-berkeley-db) or

attempting the legacy default path ('db4-win32')

Only issue the warning, if failing to locate the BDB path

AND the user having explicitly specified the bdb-path.

Patch by: Stefan Hett <stefan{_AT_}>

  1. … 1 more file in changeset.
In the windows project file generator: Stop adding references to optional

libraries that are hardcoded in build.conf, if the library itself is not


* build/generator/

(get_win_depends): Don't add optional dependency libraries, unless the

optional library is actually found.

Apply the standard pre-branch whitespace cleanup via


There should be no functional changes.


* build/generator/

* build/generator/

* subversion/bindings/javahl/native/EditorProxy.h

* subversion/bindings/javahl/native/StateReporter.cpp

* subversion/bindings/javahl/native/org_apache_subversion_javahl_util_ConfigImpl_Category.cpp

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

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

* subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c

* subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c

* subversion/bindings/swig/ruby/test/test_fs.rb

* subversion/bindings/swig/ruby/test/util.rb

* subversion/bindings/swig/ruby/test/windows_util.rb

* subversion/include/private/svn_fs_fs_private.h

* subversion/include/private/svn_packed_data.h

* subversion/include/private/svn_repos_private.h

* subversion/include/private/svn_sorts_private.h

* subversion/include/private/svn_subr_private.h

* subversion/include/private/svn_wc_private.h

* subversion/include/svn_auth.h

* subversion/include/svn_cache_config.h

* subversion/include/svn_client.h

* subversion/include/svn_cmdline.h

* subversion/include/svn_diff.h

* subversion/include/svn_fs.h

* subversion/include/svn_io.h

* subversion/include/svn_ra.h

* subversion/include/svn_repos.h

* subversion/include/svn_string.h

* subversion/libsvn_client/blame.c

* subversion/libsvn_client/commit.c

* subversion/libsvn_client/commit_util.c

* subversion/libsvn_client/copy.c

* subversion/libsvn_client/diff.c

* subversion/libsvn_client/externals.c

* subversion/libsvn_client/log.c

* subversion/libsvn_client/patch.c

* subversion/libsvn_client/ra.c

* subversion/libsvn_client/update.c

* subversion/libsvn_delta/svndiff.c

* subversion/libsvn_diff/parse-diff.c

* subversion/libsvn_fs/fs-loader.c

* subversion/libsvn_fs_base/lock.c

* subversion/libsvn_fs_fs/cached_data.c

* subversion/libsvn_fs_fs/fs_fs.c

* subversion/libsvn_fs_fs/hotcopy.c

* subversion/libsvn_fs_fs/id.c

* subversion/libsvn_fs_fs/index.c

* subversion/libsvn_fs_fs/index.h

* subversion/libsvn_fs_fs/lock.c

* subversion/libsvn_fs_fs/low_level.c

* subversion/libsvn_fs_fs/low_level.h

* subversion/libsvn_fs_fs/pack.c

* subversion/libsvn_fs_fs/recovery.c

* subversion/libsvn_fs_fs/rev_file.c

* subversion/libsvn_fs_fs/revprops.c

* subversion/libsvn_fs_fs/revprops.h

* subversion/libsvn_fs_fs/stats.c

* subversion/libsvn_fs_fs/transaction.c

* subversion/libsvn_fs_fs/tree.c

* subversion/libsvn_fs_fs/verify.c

* subversion/libsvn_fs_x/cached_data.c

* subversion/libsvn_fs_x/changes.c

* subversion/libsvn_fs_x/dag.h

* subversion/libsvn_fs_x/fs.h

* subversion/libsvn_fs_x/fs_id.c

* subversion/libsvn_fs_x/fs_x.c

* subversion/libsvn_fs_x/hotcopy.c

* subversion/libsvn_fs_x/hotcopy.h

* subversion/libsvn_fs_x/index.c

* subversion/libsvn_fs_x/index.h

* subversion/libsvn_fs_x/lock.c

* subversion/libsvn_fs_x/lock.h

* subversion/libsvn_fs_x/low_level.c

* subversion/libsvn_fs_x/low_level.h

* subversion/libsvn_fs_x/noderevs.c

* subversion/libsvn_fs_x/pack.c

* subversion/libsvn_fs_x/reps.c

* subversion/libsvn_fs_x/rev_file.c

* subversion/libsvn_fs_x/revprops.c

* subversion/libsvn_fs_x/revprops.h

* subversion/libsvn_fs_x/string_table.c

* subversion/libsvn_fs_x/string_table.h

* subversion/libsvn_fs_x/transaction.c

* subversion/libsvn_fs_x/tree.c

* subversion/libsvn_fs_x/util.c

* subversion/libsvn_fs_x/verify.c

* subversion/libsvn_ra_local/ra_plugin.c

* subversion/libsvn_ra_serf/ra_serf.h

* subversion/libsvn_ra_serf/serf.c

* subversion/libsvn_ra_serf/update.c

* subversion/libsvn_ra_serf/util.c

* subversion/libsvn_ra_svn/client.c

* subversion/libsvn_ra_svn/marshal.c

* subversion/libsvn_repos/authz_pool.c

* subversion/libsvn_repos/config_pool.c

* subversion/libsvn_repos/dump.c

* subversion/libsvn_repos/fs-wrap.c

* subversion/libsvn_repos/log.c

* subversion/libsvn_subr/bit_array.c

* subversion/libsvn_subr/cache-membuffer.c

* subversion/libsvn_subr/config.c

* subversion/libsvn_subr/dirent_uri.c

* subversion/libsvn_subr/fnv1a.c

* subversion/libsvn_subr/gpg_agent.c

* subversion/libsvn_subr/hash.c

* subversion/libsvn_subr/io.c

* subversion/libsvn_subr/object_pool.c

* subversion/libsvn_subr/packed_data.c

* subversion/libsvn_subr/prefix_string.c

* subversion/libsvn_subr/sorts.c

* subversion/libsvn_subr/sqlite.c

* subversion/libsvn_subr/subst.c

* subversion/libsvn_subr/sysinfo.c

* subversion/libsvn_subr/types.c

* subversion/libsvn_subr/utf.c

* subversion/libsvn_subr/utf8proc/utf8proc_data.c

* subversion/libsvn_subr/x509info.c

* subversion/libsvn_wc/diff.h

* subversion/libsvn_wc/props.c

* subversion/libsvn_wc/update_editor.c

* subversion/libsvn_wc/wc.h

* subversion/libsvn_wc/wc_db.c

* subversion/libsvn_wc/wc_db.h

* subversion/mod_dav_svn/lock.c

* subversion/mod_dav_svn/mod_dav_svn.c

* subversion/mod_dav_svn/status.c

* subversion/svn/auth-cmd.c

* subversion/svn/info-cmd.c

* subversion/svn/mergeinfo-cmd.c

* subversion/svn/notify.c

* subversion/svn/propget-cmd.c

* subversion/svn/svn.c

* subversion/svnadmin/svnadmin.c

* subversion/svnserve/logger.c

* subversion/svnserve/serve.c

* subversion/svnserve/server.h

* subversion/svnserve/svnserve.c

* subversion/tests/cmdline/

* subversion/tests/cmdline/

* subversion/tests/cmdline/

* subversion/tests/cmdline/

* subversion/tests/cmdline/

* subversion/tests/cmdline/

* subversion/tests/cmdline/

* subversion/tests/cmdline/

* subversion/tests/cmdline/

* subversion/tests/cmdline/

* subversion/tests/cmdline/

* subversion/tests/cmdline/

* subversion/tests/cmdline/

* subversion/tests/cmdline/

* subversion/tests/libsvn_client/client-test.c

* subversion/tests/libsvn_client/mtcc-test.c

* subversion/tests/libsvn_fs/fs-test.c

* subversion/tests/libsvn_fs/locks-test.c

* subversion/tests/libsvn_fs_fs/fs-fs-fuzzy-test.c

* subversion/tests/libsvn_fs_fs/fs-fs-pack-test.c

* subversion/tests/libsvn_fs_x/fs-x-pack-test.c

* subversion/tests/libsvn_fs_x/string-table-test.c

* subversion/tests/libsvn_ra/ra-test.c

* subversion/tests/libsvn_subr/cache-test.c

* subversion/tests/libsvn_subr/checksum-test.c

* subversion/tests/libsvn_subr/config-test.c

* subversion/tests/libsvn_subr/io-test.c

* subversion/tests/libsvn_subr/packed-data-test.c

* subversion/tests/libsvn_subr/priority-queue-test.c

* subversion/tests/libsvn_subr/sqlite-test.c

* subversion/tests/libsvn_subr/string-test.c

* subversion/tests/libsvn_subr/subst_translate-test.c

* subversion/tests/libsvn_subr/x509-test.c

* subversion/tests/libsvn_wc/op-depth-test.c

* subversion/tests/svn_test_main.c

* tools/dev/benchmarks/RepoPerf/

* tools/dev/benchmarks/RepoPerf/

* tools/dev/

* tools/dev/fsfs-access-map.c

* tools/dev/

* tools/dev/x509-parser.c

* tools/diff/diff.c

* tools/dist/

* tools/dist/

* tools/hook-scripts/mailer/

* tools/server-side/svnpubsub/


Remove unneeded whitespace via script.

  1. … 184 more files in changeset.
Following up on r1577164, remove the special '*' argument handling from all

Subversion .exe's except the few that really need this.

After this patch

$ svnmucc.exe propset svn:special "*" URL -m "set svn:special"

will work on Windows, while this would try to evaluate '*' before.

* build.conf


svnadmin): Add setargv.obj to msvc-libs.

* build/generator/

(get_win_libs): Remove magic dependency of all .exe's.

  1. … 1 more file in changeset.
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.
Following up on our dependency calculation updates on Windows, resolve an 1.9

regression on our use of libintl, which only shows up when using a shared

library build combined with intl support.

I don't like this hack, but the alternative would be to add intl to +- every

projects' dependencies in build.conf.

* build/generator/


get_win_libs): Reintroduce automatic linkage to libintl.

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.
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.
In the Windows JavaHL build use a different set of lint flags when compiling

legacy 'org/tigris' legacy code than when we compile the new code.

* build/generator/

(get_proj_sources): Suppress some warnings just for compat code and compat


* build/generator/

Following up on r1544226, really suppress the intended warnings on Windows.

Following up on r1544169, reduce the amount of new java warnings by

the change to a level that allows investigating issues.

* build/ac-macros/java.m4

* build/generator/

Suppress deprecation warnings.

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

(get_win_lib_dirs): Following up on r1544171, fix variable reference.

In the windows project generator: resolve a regression in linking swig

libraries when compiling subversion to shared libraries.

Libraries of dependency projects are not available when the

project is turned into a shared library.

* build/generator/


get_win_libs): Link to language specific libraries (E.g. perl516.lib)

from swig project instances for specific languages

* build/generator/

(get_proj_sources): Following up on r1544163 add missing whitespace.

* build/generator/

(get_proj_sources): Add -Xlint flag to the javac invocation.

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.
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.
Re-implement the forced usage of shared libraries for our test suite using a

proper build.conf flag. The updated implementation resolves a few cases where

we linked some applications (E.g. op-depth-test) against both the shared and

the static version of the same library, because direct and indirect

dependencies were handled using different code paths.

This last problem caused test failures on the Windows shared library buildbot,

because svn_error_clear() unhooked a different function for its

maintainer-abort on error leaks, than the other library inserted.

* build.conf

(msvc-force-static): Document.










wc-test): Mark these tests as msvc-force-static they use functions that

aren't published from the libraries that define them.



wc-incomplete-tester): Mark these wc.db test helpers as msvc-force-static.

* build/generator/

(DependencyGraph.remove): New function.

(TargetExe): Read new value from build.conf.

(disable_shared): Don't touch msvc_export.

* build/generator/

(get_install_targets): Handle the magic of forcing static library usage here,

with the code that creates shared libraries.

(create_dll_target): Remove magic name logic.

  1. … 2 more files in changeset.
Revert the last few remaining pieces of r850307 (aka r10233), which made the

swig bindings on Windows link the 'core' library as central component from

every other swig library.

In the few months after this commit (read: somewhere in 2004) most of this

change was tweaked and partially reverted, but some magic was left.

Since this didn't work out as planned (as looked at 9 years later), hacks

were applied to work around all this. E.g some bindings forced a shared

library and then used explicit dll exporting/importing on Windows to get

things working.

This patch makes the bindings all use a proper shared library on Windows,

with the function exporting handled via the standard header file system we

use in other places.

* build.conf

(swig_core): Remove keyword that hasn't been used for at least 8 years.



libsvn_swig_ruby): Add svn-exports.

* build/generator/

(TargetLib.disable_shared): New function.

(TargetSWIG.__init__): Remove include_runtime initialization.

(TargetSWIGLib.disable_shared): New function.

* build/generator/

(get_install_targets): Call disable_shared instead of doing half its work locally.

(get_def_file): Remove disable_shared check.

(get_linked_win_depends): Remove disable_shared check.

* subversion/bindings/swig/core.i

(const void *value): Update caller.

(SWIGPERL init): Remove circular dependency hack.

* subversion/bindings/swig/include/svn_types.swg




PY_AS_VOID): Update caller.

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

(svn_swig_pl_bind_current_pool_fns): Remove


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

(svn_swig_pl_bind_current_pool_fns): Remove


* subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c


svn_swig_py_get_parent_pool): Update caller.

(svn_swig_NewPointerObj): Rename to ...

(svn_swig_py_new_pointer_obj): ... this.

(svn_swig_NewPointerObjString): Rename to ...

(svn_swig_NewPointerObjString): ... this. Update caller.

(svn_swig_ConvertPtr): Rename to ...

(svn_swig_py_convert_ptr): ... this.

(svn_swig_ConvertPtrString): Update caller.

(svn_swig_MustGetPtr): Rename to ...

(svn_swig_py_must_get_ptr): ... this.

(make_ob_pool): Update caller.

(convert_to_swigtype): Update caller.


(svn_swig_py_struct_ptr_hash_from_dict): Update caller.

(svn_swig_py_unwrap_struct_ptr): Update caller.

(svn_swig_py_convert_txdelta_op_c_array): Update caller.

(swig_py_ra_reporter2): Make static.

(svn_swig_py_get_ra_reporter2): New function.

* subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.h

(SVN_SWIG_SWIGUTIL_EXPORT): Remove definition and all usages.

(svn_swig_NewPointerObj): Rename to ...

(svn_swig_py_new_pointer_obj): ... this.

(svn_swig_ConvertPtr): Rename to ...

(svn_swig_py_convert_ptr): ... this.

(svn_swig_MustGetPtr): Rename to ...

(svn_swig_py_must_get_ptr): ... this.

(svn_swig_py_get_ra_reporter2): New function.

* subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.h

(SVN_RB_SWIG_SWIGUTIL_EXPORT): Remove definition and all usages.

* subversion/bindings/swig/svn_ra.i

(const svn_ra_reporter2_t *reporter, void *report_baton): Update caller.


('perl'): Copy libsvn_swig_perl to $PATH instead of _Core.

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

(get_win_includes): Following up on r1506473, do a proper contains check.

* build/generator/

(get_win_includes): Following up on r1505131, don't translate the cxxhl

include path twice.

* build/generator/

(get_win_includes): Give libsvn_swig_[lang] the same include directories

as swig_[lang]_*, in an attempt to unbreak building Ruby on the Windows


In the Windows project file generator: extend the generator and the dependency

framework to allow forcefully including an include file before the actual c


This ugly hack is necessary to allow compiling the 1.9+ Swig Ruby bindings on

Windows without changing the standard swig or ruby headers, as Swig starts

its generated files with a #include <ruby.h> before any other headers :(

This change makes the project generator handle include dirs, lib dirs,

forced headers and libraries in the same way: per configuration.

* build/generator/

(write_project): Remove includes from ezt data.

* build/generator/

(write_project): Remove includes from ezt data.

* build/generator/

(get_configs): Add includes and forced headers to the per configuration data.

* build/generator/templates/msvc_dsp.ezt

Update includes reference.

* build/generator/templates/vcnet_vcproj.ezt

Update includes reference. Support forcing an include.

* build/generator/templates/vcnet_vcxproj.ezt

Update includes reference. Support forcing an include.

Remove doubled semicolon.

* subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c

(swigutil_rb__pre_ruby.h): Add include for dependency tracking.

Fix reference to st.h for Ruby >= 1.9.

* subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.h

(swigutil_rb__pre_ruby.h): Add include for dependency tracking.

Fix reference to regex.h for Ruby >= 1.9.

* subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb__pre_ruby.h

New file

  1. … 8 more files in changeset.
In the Windows project generator: Handle swig as a dependency library.

* build.conf



libsvn_swig_ruby): Use swig.

(swig): New external library.

* build/generator/


get_install_targets): Check for swig as library.

(get_win_includes): Simplify logic.

* build/generator/

(find_libraries): Only check for perl, python, ruby if swig is found.

(_find_ruby): Find more include paths in an attempt to really get it


(_find_swig): Modernize detection. Pass our own swig paths for includes.


_find_sqlite): Wrap lines.

  1. … 2 more files in changeset.
Replace specialized handling of the jdk paths in the windows project generator

with using the standard dependency framework.

* build.conf

(libsvnjavahl): Mark dependency on the jdk.

(java-sdk): New external library project. Currently not really a library.

* build/generator/

(get_install_targets): Check for library existance.

(get_win_includes): Remove unused common include dir and jdk includes.

(get_win_lib_dirs): Easy out on libraries that don't link dependencies


(get_win_libs): Remove unused code.

* build/generator/

(get_win_lib_dirs): Add optional library.

(find_libraries): Always locate the jdk.

(_find_jdk): Create a library instance with build information.



_find_libintl): Fix printing warnings.

  1. … 2 more files in changeset.
Extend the dependency handling in the Windows project generator by allowing

dependencies to define multiple defines and include directories.

The defines allow major code cleanup and the multiple include directories

will be necessary to switch the jdk/javahl detection.

* build/generator/

(get_win_defines): Include defines from external dependencies. Remove all

custom defines that should be handled by the dependencies.

(get_win_includes): Handle multiple includes. Handle the path normalization

in one place instead of everywhere except a few others.

(get_win_lib_dirs): Remove sqlite_inline reference.

* build/generator/

(SVNCommonLibrary): Support multiple include directories and defines.


_find_apr_util_and_expat): Handle defines for static apr.

(_find_bdb): Publish that we have BDB.

(_find_ruby): Provide ruby define.

(_find_serf): Provide serf defines.

(_find_sasl): Publish that we have sasl.

(_find_sqlite): Handle inline define for amalgamation support.

  1. … 1 more file in changeset.