gen-make.py

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

Changeset 1663183 is being indexed.

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.
autogen.sh: Support Python 3. All Python versions previously supported

remain supported.

Review by: rhuijben, brane

* build/generator/gen_base.py

(GeneratorBase.write_file_if_changed):

Convert str to bytes. Document argument type.

* build/getversion.py

(traceback): Import.

(svn_extractor, sqlite_extractor):

Rewrite 'except' statements in a syntax compatible with both Python 2.5

and Python 3. No functional change.

* gen-make.py:

Ditto.

* build/transform_sql.py

(Processor.process_file): Use dict.items() instead of dict.iteritems().

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

(test_svn_subst_translate_string2_null_encoding_helper):

Convert comment to ASCII.

  1. … 4 more files 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.
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.
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.
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.
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.
Reintegrate the gtest_addition branch to trunk and convert the result to

use Googlemock and begin writing a Googlemock/Googletest-based test suite

for C++HL.

* .: Ignore gmock-fused instead of gtest.

* INSTALL: Note optional dependency on Googlemock.

* get-deps.sh: Rename all getst to gmock and implement Googlemock downloader.

* build.conf (cxxhl-tests): Depend on libgmock and make conditional.

(libgmock): New target.

* configure.ac: Check for Googlemock.

(GMOCK_SRCDIR, SVN_USE_GMOCK): New substituted variables.

* Makefile.in (SVN_USE_GMOCK, GMOCK_INCLUDES, CNOWARNFLAGS, CXXNOWARNFLAGS):

Expand configure variables.

(COMPILE_NOWARN, COMPILE_CXX_NOWARN, LT_COMPILE_CXX_NOWARN):

New generic compilation rules.

(COMPILE_CXXHL_CXX): Rewrite in terms of LT_COMPILE_CXX.

(COMPILE_GMOCK_CXX, COMPILE_CXXHL_GMOCK_CXX): New rules.

* gen-make.py: Add placeholder for --disable-gmock option.

* build/generator/gen_base.py (TargetLinked): Make .cc a source file extension.

* doc/programmer/gtest-guide.txt: New.

* subversion/bindings/cxxhl/tests/cxxhl-tests.cpp,

subversion/bindings/cxxhl/tests/test_aprwrap.cpp: New test suite files.

* subversion/bindings/cxxhl/tests/test_exception.cpp: Temporarily disable.

* tools/dist/make-deps-tarball.sh:

Mergeinfo was updated as a side effect of the merge.

  1. … 12 more files in changeset.
Maintainer-mode stack traces: print symbolic names for errno.h errors, too.

Example output:

% $svnadmin upgrade /

subversion/svnadmin/svnadmin.c:1925,

subversion/libsvn_repos/repos.c:1555,

subversion/libsvn_repos/repos.c:1461,

subversion/libsvn_repos/repos.c:1423,

subversion/libsvn_subr/io.c:4120,

subversion/libsvn_subr/io.c:3271: (apr_err=ENOENT)

svnadmin: E000002: Can't open file '/format': No such file or directory

* build/generator/gen_base.py

(GeneratorBase.write_errno_table): New function.

(IncludeDependencyInfo._scan_for_includes): Add exemption.

* gen-make.py

(main): Invoke the new logic.

* subversion/libsvn_subr/errorcode.inc: New svn:ignore'd file.

* subversion/libsvn_subr/error.c

(errorcode.inc): Include, in maintainer mode.

(svn__errno): New file-private variable, defined by errorcode.inc.

(svn_error_symbolic_name): Try svn__errno too.

  1. … 3 more files in changeset.
Revert r1436512 ... wrong branch.
  1. … 3 more files in changeset.
On the windows-build-update: Add branch readme file and checkpoint current

minimal prototype of the build generator changes.

* BRANCH-README: New.

* gen-make.py: Accept new option --with-deps-package.

Based on that, select a differend build generator.

Print a number of warnings related to option usage.

* build/generator/gen_vcnet_vcproj_packaged_deps.py,

build/generator/gen_win_packaged_deps.py: New generator

for the Windows project files.

  1. … 3 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.
* gen-make.py

Make the --with-neon= and --without-neon arguments on gen-make.py optional,

just like how ./configure handles those. Windows doesn't use ./configure and

this breaks tools that are friendly enough to provide hints.

* gen-make.py:

Remove more neon artifacts.

Update references to Visual Studio 11 to Visual Studio 2012.

* gen-make.py

Update documentation

* build/generator/gen_win.py

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

  1. … 1 more file in changeset.
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.

* win-tests.py

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

* gen-make.py

Add support for --with-static-apr.

* build/generator/gen_win.py

(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.
Give gen-make.py the ability to tell ya what ya did wrong.

* gen-make.py

(_usage_exit): Add 'err' parameter, used to print an error (if any).

(__main__): Pass useful error info to _usage_exit().

Allow setting an explicit jdk version to use for building on Windows. This

allows building with a 64 bit JDK when using a 32 bit python (or the

other way around) on Windows x64.

* gen-make.py

(_usage_exit): Show help for --with-jdk.

(global): Parse 'with-jdk' option.

* build/generator/gen_win.py

(parse_options): Set jdk_path to None and fill

from options.

(_find_jdk): If already set, just print the jdk path.

  1. … 1 more file in changeset.
Further tweaking of the Visual 2010 project support.

* build/generator/serf.vcxproj.ezt

* build/generator/neon.vcxproj.ezt

* build/generator/zlib.vcxproj.ezt

Fix external project build references to actually

build these projects, instead of using their existing files.

* build/win32

Add *.vcxproj to svn:ignore.

* gen-make.py

(_usage_exit): Document generating for VS2010.

  1. … 4 more files in changeset.
Apply ASF license headers to a number of files included under that license

but lacking said header.

Patch by: Niall Pemberton <niallp{_AT_}apache.org>

  1. … 175 more files in changeset.
Use transform_sql.py to generate the sql header files at gen-make time.

For developers, we also keep the implicit rule, but end-users are not

expected to need Python because the generated headers will be included in

the tarball.

* build/generator/gen_base.py:

(GeneratorBase.write_sqlite_headers): new. run the transform on the

sqlite header targets.

(dep_types): new dependency type.

(SWIGSource): remove extraneous 'pass' statement

(TargetSQLHeader): new class to process sql-header targets

(_build_types): new sql-header build type

* build/generator/gen_make.py:

(Generator.write): add new 'sql' member to the template data

* build/generator/templates/makefile.ezt:

(EXTRACLEAN_FILES): new makefile macro for files to remove at

'extraclean' time.

* gen-make.py:

(main): call new write_sqlite_headers() after the main write() call.

* Makefile.in:

(fast-clean): don't remove the sqlite headers

(local-extraclean): remove the (new) EXTRACLEAN_FILES

(.sql.h): use the Python script to do the transform

* build.conf:

(test-scripts): just use a glob. geez.

(rep_cache, wc_metadata, wc_checks): new targets

* build/transform_sql.sh: removed. just use the python script

  1. … 6 more files in changeset.
Use isinstance() for type comparisons.

* build/generator/util/executable.py:

* build/win32/make_dist.py:

* gen-make.py:

* subversion/tests/cmdline/svnadmin_tests.py:

* subversion/tests/cmdline/svndumpfilter_tests.py:

* tools/bdb/skel.py:

* www/toctool.py: Use isinstance() for type comparisons.

  1. … 6 more files in changeset.
Use some types directly instead of using type().

* build/generator/util/executable.py:

* build/win32/make_dist.py:

* gen-make.py:

* subversion/tests/cmdline/merge_tests.py:

* subversion/tests/cmdline/svnadmin_tests.py:

* subversion/tests/cmdline/svndumpfilter_tests.py:

* subversion/tests/cmdline/svntest/actions.py:

* subversion/tests/cmdline/svntest/verify.py: Use some types directly instead

of using type().

  1. … 7 more files in changeset.
Use sorted() to simplify some code.

* build/generator/gen_base.py:

* build/generator/gen_make.py:

* build/generator/gen_vcnet_vcproj.py:

* build/win32/make_dist.py:

* doc/tools/bin/find-xsl.py:

* gen-make.py:

* subversion/bindings/swig/python/tests/mergeinfo.py:

* subversion/bindings/swig/python/tests/ra.py:

* subversion/tests/cmdline/changelist_tests.py:

* subversion/tests/cmdline/svnadmin_tests.py:

* subversion/tests/cmdline/svnlook_tests.py:

* subversion/tests/cmdline/svntest/actions.py:

* subversion/tests/cmdline/svntest/tree.py:

* tools/bdb/svn-bdb-view.py:

* tools/dev/contribulyze.py:

* tools/dev/gen-javahl-errors.py:

* tools/dev/normalize-dump.py:

* tools/dev/which-error.py:

* tools/examples/svnshell.py:

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

* tools/po/l10n-report.py: Use sorted() to simplify some code.

  1. … 20 more files in changeset.
Following up on r35263, reverted r35252 to re-enable --with-sqlite option to

gen-make.py on Windows.

* build/generator/gen_win.py

* gen-make.py

Reverse merged r35263

  1. … 1 more file in changeset.
Follow-up to r35241, use the sqlite amalgamation included in libsvn_subr

when building on Windows.

[Reverted in r35294]

* build/generator/gen_win.py

(GeneratorBase.parse_options): Remove self.sqlite_path initialization

and parsing of '--with-sqlite' option.

(WinGeneratorBase.__init__): Don't try to find sqlite.

(WinGeneratorBase.get_win_includes,

WinGeneratorBase.get_win_lib_dirs,

WinGeneratorBase.get_win_libs): Remove sqlite related stuff.

(WinGeneratorBase._find_sqlite): Remove.

* gen-make.py

(_usage_exit, Options): Remove --with-sqlite option.

  1. … 1 more file in changeset.
Python 3 compatibility:

Use dict.keys(), dict.values() and dict.items() instead of dict.iterkeys(),

dict.itervalues() and dict.iteritems().

Use list(dict.keys()), list(dict.values()) and list(dict.items()) instead of

dict.keys(), dict.values() and dict.items(). Function calls with 'for', 'in' or

len() weren't updated.

* build/generator/ezt.py:

* build/generator/gen_base.py:

* build/generator/gen_vcnet_vcproj.py:

* build/generator/gen_win.py:

* build/win32/make_dist.py:

* gen-make.py:

* subversion/bindings/ctypes-python/csvn/types.py:

* subversion/bindings/ctypes-python/examples/log.py:

* subversion/bindings/ctypes-python/examples/trunkify.py:

* subversion/bindings/swig/python/tests/mergeinfo.py:

* subversion/bindings/swig/python/tests/ra.py:

* subversion/bindings/swig/python/tests/wc.py:

* subversion/tests/cmdline/externals_tests.py:

* subversion/tests/cmdline/svntest/actions.py:

* tools/bdb/svn-bdb-view.py:

* tools/dev/contribulyze.py:

* tools/dev/gen-javahl-errors.py:

* tools/dev/normalize-dump.py:

* tools/dev/trails.py:

* tools/dev/which-error.py:

* tools/examples/svnshell.py:

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

* tools/hook-scripts/svnperms.py: Use dict.keys(), dict.values() and

dict.items() instead of dict.iterkeys(), dict.itervalues() and

dict.iteritems(). Use list(dict.keys()), list(dict.values()) and

list(dict.items()) instead of dict.keys(), dict.values() and dict.items().

  1. … 22 more files in changeset.
Following up to r33335, replace 'print()' with 'print("")' to

remove '()' output in gen-make.py --help. Also exit with error 1 on

invalid argument.

* gen-make.py

(_usage_exit): Make sure the printed tuple always contains a string

and exit with error 1 instead of 0.

Python 3 compatibility:

Try to import configparser module.

(ConfigParser was renamed to configparser.)

* build/generator/gen_base.py:

* build/generator/gen_make.py:

* build/generator/swig/__init__.py:

* build/win32/make_dist.py:

* gen-make.py:

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

* win-tests.py: Try to import configparser module.

  1. … 6 more files in changeset.
Python 3 compatibility:

Update calls to print() in 'build' directory, 'gen-make.py' and 'win-tests.py'.

* build/generator/extractor.py:

* build/generator/gen_win.py:

* build/generator/swig/checkout_swig_header.py:

* build/generator/swig/external_runtime.py:

* build/generator/swig/header_wrappers.py:

* build/get-py-info.py:

* build/getversion.py:

* build/run_tests.py:

* build/strip-po-charset.py:

* build/win32/make_dist.py:

* gen-make.py:

* win-tests.py: Call print() or file.write().

  1. … 11 more files in changeset.