gen-make.py

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

Changeset 1371338 is being indexed.

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.
Python 3 compatibility:

Don't use 'has_key'.

* build/generator/ezt.py:

* build/generator/gen_base.py:

* build/generator/gen_win.py:

* gen-make.py:

* subversion/bindings/swig/python/svn/repos.py:

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

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

* subversion/tests/cmdline/changelist_tests.py:

* subversion/tests/cmdline/info_tests.py:

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

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

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

* tools/backup/hot-backup.py.in:

* tools/bdb/erase-all-text-data.py:

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

* tools/client-side/change-svn-wc-format.py:

* tools/dev/contribulyze.py:

* tools/dev/normalize-dump.py:

* tools/dev/verify-history.py:

* tools/examples/blame.py:

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

* tools/hook-scripts/svnperms.py: Use 'in' instead of 'has_key'.

  1. … 21 more files in changeset.
Add SQLite to the config/build process. It is (currently) an optional

dependency and not (yet) used by any libraries.

This reverts parts of r29036 and r29047.

* Makefile.in:

(SVN_SQLITE_LIBS): new symbol to hold configure'd location of SQLite libs

(INCLUDES): add SQLite headers to the includes

* build.conf:

(sqlite): define new library as an external library

* build/win32/make_dist.py:

(_disttree): add optional distro files for SQLite

* build/generator/gen_win.py:

(GeneratorBase.parse_options): initialize .sqlite_path

(WinGeneratorBase.__init__): commented-out check for SQLite validity

(WinGeneratorBase.get_win_includes): add sqlite

(WinGeneratorBase.get_win_lib_dirs): add sqlite

(WinGeneratorBase.get_win_libs): add sqlite

* configure.ac: add section to locate SQLite

* gen-make.py: add --with-sqlite switch (for Windows)

* aclocal.m4: include new sqlite.m4, and order includes alphabetically

* build/ac-macros/sqlite.m4: new M4 file to locate SQLite

  1. … 7 more files in changeset.
Save all options including -t and -s to gen-make.opts, to make

gen-make.py --reload really works on Windows.

* gen-make.py:

(__main__): Save -t and -s options to gen-make.opts.

Merge the in-memory-cache branch to trunk.

See that branch's log for full details, but in short:

The branch rewrote various in-memory caches in FSFS to use a unified

API. By default this API is implemented by some in-process hashes,

but via a configuration file (db/fsfs.conf), it can use memcached

instead. Additionally, expanded fulltexts are cached if memcached is

available.

memcached is accessed with the apr_memcached API, which will be in a

future version (1.3.x branch, now) of apr-util, and is also available as an

separately-distributed library. The build system knows how to deal

with both.

Other things that changed:

* The test suite now has a config file; currently, the config file is

just used as the FSFS config file for any created repositories.

* New random APIs: svn_base64_encode_string2, svn_stream_from_string.

* ra_local ignores "FS warnings" instead of aborting.

  1. … 48 more files in changeset.
* build/buildcheck.sh:

* build/PrintPath:

* build/getversion.py:

* build/install-sh:

* subversion/tests/cmdline/svnadmin_tests.py:

* subversion/tests/cmdline/log_tests.py:

* subversion/tests/cmdline/trans_tests.py:

* subversion/tests/cmdline/svnlook_tests.py:

* subversion/tests/cmdline/switch_tests.py:

* subversion/tests/cmdline/externals_tests.py:

* subversion/tests/cmdline/diff_tests.py:

* subversion/tests/cmdline/copy_tests.py:

* subversion/tests/cmdline/stat_tests.py:

* subversion/tests/cmdline/svnversion_tests.py:

* subversion/tests/cmdline/prop_tests.py:

* subversion/tests/cmdline/basic_tests.py:

* subversion/tests/cmdline/update_tests.py:

* subversion/tests/cmdline/utf8_tests.py:

* subversion/tests/cmdline/commit_tests.py:

* subversion/tests/cmdline/schedule_tests.py:

* subversion/tests/cmdline/merge_tests.py:

* subversion/tests/cmdline/getopt_tests.py:

* contrib/client-side/svn_all_diffs.pl:

* contrib/client-side/search-svnlog.pl:

* contrib/client-side/svn_load_dirs/svn_load_dirs.pl.in:

* contrib/cgi/mirror_dir_through_svn.cgi:

* tools/client-side/showchange.pl:

* tools/dist/dist.sh:

* tools/hook-scripts/commit-access-control.pl.in:

* tools/hook-scripts/svnperms.py:

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

* tools/hook-scripts/mailer/tests/mailer-init.sh:

* tools/hook-scripts/mailer/tests/mailer-t1.sh:

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

* tools/hook-scripts/commit-email.pl.in:

* tools/dev/stress.pl:

* tools/dev/gnuify-changelog.pl:

* tools/dev/prebuild-cleanup.sh:

* tools/examples/dumpprops.py:

* tools/examples/check-modified.py:

* tools/examples/svnlook.py:

* tools/examples/svnshell.py:

* tools/examples/geturl.py:

* tools/examples/putfile.py:

* tools/examples/revplist.py:

* tools/examples/getfile.py:

* tools/examples/blame.py:

* doc/tools/bin/run-fop.sh:

* autogen.sh:

* gen-make.py:

Set svn:executable property to "*".

  1. … 49 more files in changeset.
Add --installed-libs option, allowing packagers to build parts of svn

(usually bindings) against installed svn libraries.

* Makefile.in

(swig-pl_DEPS): Remove libsvn_client libsvn_delta libsvn_diff libsvn_fs

libsvn_ra libsvn_repos libsvn_subr libsvn_wc so that swig-pl can be

built against installed libraries, as py and rb already can.

* build/generator/gen_make.py

(Generator.write): Load gen-make.opts and save the list of installed

libraries in self.installed_libs. For libraries in the list, write out

-l lines instead of references to the .la file, and don't attempt to

build that library.

* gen-make.py

(_usage_exit): Document --installed-libs option.

(): And parse it from sys.argv.

  1. … 2 more files in changeset.
Purge (I think) the source code tree of sqlite stuffs.

* Makefile.in,

* configure.ac,

* gen-make.py,

* build.conf,

* build/win32/make_dist.py,

* build/generator/gen_win.py,

* build/ac-macros/sqlite.m4

Remove sqlite build stuffs.

* subversion/include/private/svn_fs_mergeinfo.h,

* subversion/include/private/svn_fs_sqlite.h,

* subversion/libsvn_fs_util/mergeinfo-sqlite-index.c,

* subversion/libsvn_fs_util/sqlite-util.h,

* subversion/libsvn_fs_util/sqlite-util.c

Remove sqlite-specific source code files.

* subversion/libsvn_fs_base/tree.c,

* subversion/libsvn_fs_base/dag.c,

* subversion/libsvn_fs_fs/tree.c

Stop including now-missing headers.

* subversion/include/svn_error_codes.h

(SVN_ERR_FS_SQLITE_ERROR, SVN_ERR_FS_SQLITE_READONLY): Removed.

(SVN_ERR_FS_NO_SUCH_NODE_ORIGIN): Shift value to fill in a hole.

* subversion/libsvn_fs_fs/fs_fs.c

Stop including now-missing headers.

(svn_fs_fs__hotcopy): Don't copy the sqlite index database.

(commit_body): Don't try to update the sqlite mergeinfo index.

(svn_fs_fs__create): Don't try to create the sqlite index database.

* tools/server-side/svn-populate-node-origins-index.c

(usage_summary): Don't mention the sqlite index file.

* INSTALL

No longer name sqlite as a dependency.

  1. … 18 more files in changeset.
Make generated solution and project files compatible with VS2008 and

MSBuild 3.5 if the --vsnet-version=2008 option is used.

Patch by: Bert Huijben <b.huijben@competence.biz>

* build/generator/gen_vcnet_vcproj.py

Check for new version and use VS2005 solution template

* build/generator/gen_win.py

Allow more versions and set solution and project version for VS2008

Fixed a typo in the error case

* build/generator/vc2005_sln.ezt

Updated to insert "2005" or "2008" based on the selected version.

* gen-make.py

Updated --help documentation

  1. … 3 more files in changeset.
Channeling Erik Hülsmann, remove all trailing whitespace within our source

tree:

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

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

done

Inspired by: ehu

  1. … 449 more files in changeset.
Support ra_serf and ra_dav builds on Win32.

* build/generator/gen_win.py

(GeneratorBase): Support --without-neon option.

(WinGeneratorBase.get_install_targets): Don't drop neon and ra_dav targets

unless --without-neon is specified.

(WinGeneratorBase.get_win_defines): Allow SVN_LIBSVN_CLIENT_LINKS_RA_SERF

*and* SVN_LIBSVN_CLIENT_LINKS_RA_DAV to be defined, r25384 allows this now.

(WinGeneratorBase.write_neon_project_file): Skip creation of neon project

file only when --without-neon is specified.

* gen-make.py

Handle the --without-neon option.

  1. … 1 more file in changeset.
Merge the merge-tracking branch to trunk.

See notes/merge-tracking.txt for work remaining. Copy test #11,

"working-copy to repository copy", is known to be failing over ra_dav.

A fix has been outlined, and it will be coded up ASAP.

  1. … 85 more files in changeset.