gen_win_dependencies.py

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

Changeset 1674785 is being indexed.

* build/generator/gen_win_dependencies.py

(_find_apr_util_etc): Following up on r1674626, remove unneeded libname

definition. Users already depend on apr-util.

On Windows: enable detecting memcache support from apr-util 1.3 or later.

* build/generator/gen_win_dependencies.py

(find_libraries): Update caller.

(_find_apr_util_and_expat): Rename to...

(_find_apr_util_etc): ... this. Declare availability of memcache support

when we have apr-util 1.3 or later.

Add gen-make generator support for Visual Studio "2015"

* build/generator/gen_win_dependencies.py

Document support for VS 2015.

* gen-make.py

Add magic values for VS2015. Stop guessing that we have

VS 7.0 on future versions, as VS 2012 is a much better starting point

for future VS versions (as that has at least the latest .vcxproj file

support, which 7.0 didn't have.)

  1. … 1 more file in changeset.
Apply the standard pre-branch whitespace cleanup via

tools/dev/remove-trailing-whitespace.zsh

There should be no functional changes.

* .ycm_extra_conf.py

* build/generator/gen_win.py

* build/generator/gen_win_dependencies.py

* 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/blame_tests.py

* subversion/tests/cmdline/checkout_tests.py

* subversion/tests/cmdline/commit_tests.py

* subversion/tests/cmdline/export_tests.py

* subversion/tests/cmdline/externals_tests.py

* subversion/tests/cmdline/lock_tests.py

* subversion/tests/cmdline/merge_tests.py

* subversion/tests/cmdline/merge_tree_conflict_tests.py

* subversion/tests/cmdline/move_tests.py

* subversion/tests/cmdline/redirect_tests.py

* subversion/tests/cmdline/stat_tests.py

* subversion/tests/cmdline/svnadmin_tests.py

* subversion/tests/cmdline/switch_tests.py

* subversion/tests/cmdline/update_tests.py

* 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/copy_repo.py

* tools/dev/benchmarks/RepoPerf/win_repo_bench.py

* tools/dev/build-svn-deps-win.pl

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

* tools/dev/po-merge.py

* tools/dev/x509-parser.c

* tools/diff/diff.c

* tools/dist/backport.pl

* tools/dist/backport_tests.py

* tools/hook-scripts/mailer/mailer.py

* tools/server-side/svnpubsub/daemonize.py

* win-tests.py

Remove unneeded whitespace via script.

  1. … 184 more files in changeset.
* generator/gen_win_dependencies.py

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

Correctly handle a situation of an unresolved SQLite dependency in

our gen_win_dependencies.py script, instead of printing a stacktrace

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

* build/generator/gen_win_dependencies.py

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

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

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

ourselves.

Fix another problem in the gen_win_dependencies.py 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/gen_win_dependencies.py

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

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

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

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

typo.

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

* gen-make.py

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

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

* build/generator/gen_win_dependencies.py

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

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

(_find_apr,

_find_apr_util_and_expat): Bump minimal versions to 1.3.0.

Following up on r1572253, bump serf requirement on Windows.

* build/generator/gen_msvc_dsp.py

* build/generator/gen_vcnet_vcproj.py

Don't generate serf and zlib projects.

* build/generator/gen_win.py

Don't create build_zlib.bat

Stop filtering serf and zlib projects in specific cases.

* build/generator/gen_win_dependencies.py

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 gen-make.py.

* build/generator/gen_win.py

(get_win_defines): Add cpp_defines when set.

* build/generator/gen_win_dependencies.py

Initialize cpp_defines. Parse -D options.

* gen-make.py

Allow and document -D option.

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

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

(_find_apr,

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

* gen-make.py

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

* build/generator/gen_win_dependencies.py

(GenDependenciesBase.parse_options): Remove enable-ml option

(GenDependenciesBase._find_ml): Remove

(GenDependenciesBase._find_zlib): Remove call to _find_ml

* build/generator/gen_win.py

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

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

(GenDependenciesBase._find_apr,

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

(GenDependenciesBase._find_apr,

GenDependenciesBase._find_apr_util_and_expat): Check that the directory

exists before trying to get the files in the directory.

* build/generator/gen_win_dependencies.py

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

(_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_dav_svn,

mod_authz_svn,

mod_dontdothat): Update dependencies.

(libhttpd,

mod_dav): New external targets.

* build/generator/gen_win.py

(get_win_includes): Remove now unneeded hardcoded include dirs.

(get_win_lib_dirs): Remove now unneeded hardcoded library dirs.

* build/generator/gen_win_dependencies.py

(find_libraries): Call _find_httpd.

(_find_httpd): New function.

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

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

* win-tests.py

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

* build/generator/gen_win_dependencies.py

(_find_apr,

_find_apr_util_and_expat): Find additional binaries and provide information

on them.

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

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

* gen-make.py

Document VS 2013 value.

* build/generator/gen_win_dependencies.py

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

(get_install_targets): Filter projects that are disabled.

* build/generator/gen_win_dependencies.py

(_windows_when): New variable.

  1. … 1 more file in changeset.