gen-make.py

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

Changeset 870115 is being indexed.

* 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.
Support building DLLs on Windows. This closes #1627.

Patch by: Vlad Georgescu <vgeorgescu@gmail.com>

rey4

(Tweaked by me.)

* build.conf:

(libsvn_client, libsvn_delta, libsvn_diff, libsvn_fs,

libsvn_ra, libsvn_repos, libsvn_subr, libsvn_wc):

Replace the msvc_static option with a msvc_export option containing the

list of public header files for that library.

(swig_client, swig_delta, swig_fs, swig_ra, swig_repos):

Add dependency on APR.

(svnserve): Add dependency on advapi32.lib

* build/generator/extractor.py:

Handle svn_ctype_table.

(_filter_names): Add svn_auth_get_keychain_simple_provider.

* build/generator/gen_win.py

(create_dll_target): New. Given a static library, it creates a new

dynamic library target that depends on that library.

(get_install_targets): Call create_dll_target for each target that has

msvc_export set.

(get_linked_win_depends): Scan the dependency tree in breadth-first

order, allowing us to prevent cases when both a dll and its

corresponding static library are linked into a project.

(get_def_file): Return a name that's in a generated directory, not

in the source tree.

* build/generator/vcnet_vcproj.ezt,

build/generator/msvc_dsp.ezt:

Add empty.c as a source file for dll projects, because Visual Studio

refuses to build a project's outputs if it has no source files.

* build/win32/empty.c: New file.

* gen-make.py:

Handle the new --disable-shared option.

* subversion/libsvn_ra/ra_loader.c

(svn_ra_dav_init, svn_ra_svn_init, svn_ra_local_init, svn_ra_serf_init):

Implement these here if their corresponding libraries are not linked in,

and have them return a "not implemented" error.

* subversion/libsvn_subr/ctype.c

(svn_ctype_table_internal): Rename from ctype_table. Remove 'static'

qualifier.

* win-tests.py:

Append the paths to our libraries' dlls to the PATH environment variable.

  1. … 9 more files in changeset.
Add in --enable-ml to gen-make.py.

(Overlooked as part of r22162.)

* gen-make.py

(_usage_exit): Include description of --enable-ml.

(__main__): Add enable-ml as a valid option.

Modify the build system on Windows to optionally include and link

Cyrus SASL.

Patch by: Vlad Georgescu <vgeorgescu@gmail.com>

me

* build/gen-make.py

(_usage_exit): Document the new '--with-sasl' option.

Add '--with-sasl' to the options list.

* build/generator/gen_win.py

(parse_options): Parse the '--with-sasl' option.

(get_win_defines): Define SVN_HAVE_SASL.

(get_win_includes): Add Cyrus SASL's include directory.

(get_win_lib_dirs): Add Cyrus SASL's library directory.

(get_win_libs): Add libsasl.lib.

  1. … 1 more file in changeset.
For every getopt-using Python script which does not already do so,

use GNU-style getopt if available.

* gen-make.py

* tools/hook-scripts/log-police.py

* tools/hook-scripts/svnperms.py

* tools/dev/contribulyze.py

* tools/dev/iz/ff2csv.py

* tools/dev/iz/find-fix.py

* tools/dev/lock-check.py

* tools/dev/scramble-tree.py

* tools/examples/dumpprops.py

* tools/examples/revplist.py

* tools/examples/putfile.py

* tools/examples/getfile.py

* tools/examples/blame.py

* contrib/client-side/svnmerge.py

* contrib/hook-scripts/svn2rss.py

* build/win32/make_dist.py

  1. … 15 more files in changeset.
Implement generation of project files for building Serf on

Windows.

NOTE: This doesn't add option to link Subversion with Serf

on Windows. It is only add ability to build ra_serf. Option

to enable Subversion use ra_serf will be committed later.

* build.conf

(serf): Rename external project to be serf instead of libserf,

since we use static linking on Windows.

* build/generator/gen_vcnet_vcproj.py

* build/generator/gen_msvc_dsp.py

(write): Write serf project file too.

* build/generator/gen_win.py

(parse_options): Parse new option '--with-serf'.

(get_external_project): Change location of serf project,

if serf path is specified.

(get_win_includes): Add serf path to includes list.

(write_serf_project_file): New method for generation serf project

file.

* build/generator/serf.dsp.ezt

* build/generator/serf.vcproj.ezt

New templates for serf project files.

* gen-make.py

Add new option '--with-serf' to usage text and options list.

  1. … 6 more files in changeset.
Only regenerate SWIG files based on timestamps when we are in non-release mode.

* autogen.sh

(RELEASE_ARGS): Add variable. Initialize to "--release" in release mode.

(RELEASE_MODE): Build SWIG-related files prior to creating build-outputs.mk.

* gen-make.py

(_usage_exit, __main__): Accept --release option.

* build/generator/gen_base.py

(GeneratorBase.__init__): Set self.release_mode variable based on --release

option.

* build/generator/gen_make.py

(write): Do not generate dependencies for autogenerating SWIG code when we

are in release mode.

* build/generator/gen_win.py

(Generator.__init__): Pass supplied options to GeneratorBase.__init__.

  1. … 4 more files in changeset.
Add a new Makefile specific gen-make.py option '--assume-shared-libs'.

If you know what you are doing, and all your Subversion libs will build shared,

you can use this to omit inter-lib dependencies to avoid unnecessary rebuilds.

* gen-make.py (main): Simplify unnecessarily cautious test.

(_usage_exit): Describe new option. Also fix unrelated typo.

(if __name__ == '__main__'): Add option to getopt options list.

* build/generator/gen_make.py

(file scope): Add compatibility definitions for True and False.

(Generator.__init__): Parse option into member variable.

(Generator.write section 'Individual target build rules'):

If option set, omit certain dependencies.

  1. … 1 more file in changeset.
* gen-make.py:

Fix typo. Followup to r15944.

Teach the Win32 build generator to use a SWIG that's not in the path.

* gen-make.py: Accept option --with-swig.

* build/generator/gen_win.py (WinGeneratorBase.parse_option): Remember

the value of the --with-swig option in self.swig_path.

(WinGeneratorBase._find_swig): Calculate swlf.swig_exe fom self.swig_path.

(WinGeneratorBase.__init__, .get_proj_sources, ._find_swig_libdir):

Use self.swig_exe to run swig.

(WinGeneratorBase.get_proj_sources): Add -DWIN32 to swig options.

  1. … 1 more file in changeset.
Merge python-bindings-improvements to trunk, by comparing trunkURL with

branchURL.

Major changes:

* Always build SWIG headers in the build dir, unless we are still using

pristine SWIG headers from an official Subversion release (r15865).

* Enable SWIG bindings, even if we compile --without-swig. In release builds,

we can build the bindings without SWIG (r15857).

* Refactor SWIG generator to use a modular architecture, separate from the

Unix / Windows generators (r15855).

Minor changes:

* See r15879, r15870, r15868, r15867, r15857, and r15856.

Approved by: jerenkrantz

  1. … 17 more files in changeset.
Merge python-bindings-improvements to trunk, by comparing trunkURL with

branchURL.

New features:

- Automated Test Suite

* Test suite for memory pools (r15396, r15462)

* Test suite for FS library (r15590, r15632)

* In-build-directory testing (r15478)

* Nightly smoke tests (r15505)

- Automatic Memory Management

* Autogenerated proxy classes for SVN structs (r15428)

* Hand-written proxy classes for APR structs (r15484)

* Real reference counting for Pool objects (r15489, r15495, r15500)

* Treat svn_string_t objects as Python strings (r15595)

* Optional Pool Arguments (r15370, r15529)

- Better Documentation and error messages

* Enabled SWIG autodoc feature (r15490)

* Report assertion failures when variables are deleted prematurely

(r15488, r15489, r15492)

* Python argument numbers in error messages (r15460, r15493, r15525)

- Streamlined build process

* Release versions of Subversion bindings can be built without SWIG (r15620,

r15623, r15626, r15635, r15636, r15637, r15642, r15643)

* Automatic dependency checking for SWIG files (r15381, r15405, r15426,

r15429, r15430)

* Makefile rule for clean-swig-py (r15476)

- Other changes

* Compile-time type lookups for SWIG (r15396, r15407, r15408, r15409,

r15412, r15417)

* Move SWIG includes into include directory (r15407, r15408, r15413)

* Refactoring (r15411, r15425, r15453, r15521, r15522, r15527, r15559)

* SWIG bindings compile with Microsoft Visual C++ 6.0 (r15644)

* Minor bugfixes (r15409, r15494, r15496, r15497, r15498, r15499, r15501,

r15511, r15519, r15526, r15565, r15566, r15591, r15592, r15603, r15607,

r15645, r15646, r15653, r15579)

To see commit logs for this feature, examine

/branches/python-bindings-improvements, r15365:15846

Approved by: kfogel

Review by: dberlin

breser

cmpilato

brane

Testing by: Troy Straszheim <troy@resophonic.com>

Christian Boos <cboos@wanadoo.fr>

cmpilato

  1. … 53 more files in changeset.
Simplify regeneration of build scripts by teaching gen-make.py to

reuse options from a previous invocation. Currenty this only affects

the Win32 build due to build generator specifics, but the feature is

generic.

* gen-make.py: Add new option "--reload" to re-read the gen-make.opts

generated by the previous invocation of the script.

Further buildsystem cleanup. Add "gen-make.py --debug" option.

* build/generator/gen_base.py

(TargetSWIGRuntime.__init__): Don't leave parent class uninitialized. Take a

descriptive name, for debugging purposes.

(TargetSWIG.add_dependencies, TargetSWIGLib.add_dependencies):

Change the "may use a SWIG runtime" condition from "not java" to "python or

perl", to accomodate the upcoming ruby bindings.

Adapt to TargetSWIGRuntime change.

(TargetJava): Derive from TargetLinked, not TargetLib. Consequently, no need

to "del self.filename".

* gen-make.py: Implement a new --debug option, which prints out the generator

internal data structures.

(_objinfo): New support routine.

  1. … 1 more file in changeset.
Build generator: Some cleanups. First, don't list names for generators which

have not been implemented. Second, simplify the Generator interface by removing

the configurable output file name - it was an unused and flawed concept, since

2 of the 3 generators generate multiple files anyway.

* gen-make.py (gen_modules): Remove stub entries for non-implemented generator

modules. It is trivial to add a line here if/when an additional generator

is implemented.

(main): Remove the 'not yet implemented' error, it's no longer accurate.

Remove oname parameter, no longer call default_output, and pass no parameter

to write().

* build/generator/gen_vcnet_vcproj.py (Generator.default_output): Remove.

(write): Take no parameters. Use a literal name for the solution file.

* build/generator/gen_vcnet_nmake.py (Generator.default_output): Remove.

(write): Take no parameters. Use a literal name for the workspace file.

* build/generator/gen_make.py (Generator.default_output): Remove.

(write): Take no parameters. Use a literal name for the output file.

  1. … 3 more files in changeset.
Update the Win32 build and packaging scripts:

-- the location of the Neon sources and libintl can be customised;

-- add some missing libraries and the *.mo files to the distribution.

* gen-make.py: Add options --with-neon and --with-libintl.

* build/generator/gen_win.py

(WinGeneratorBase.parse_options): Handle --with-neon and --with-libintl.

(WinGeneratorBase.__init__): Use the neon path parameter when generating

build_neon.bat.

(WinGeneratorBase.get_win_includes): Point at the Neon and libibintl

include directories.

(WinGeneratorBase.get_win_libs): Point at intl.lib.

(WinGeneratorBase.write_neon_project_file): New.

(WinGeneratorBase.move_proj_file): Move here from gen_vcnet_vcproj.py

and add an optional list of parameters for template generation.

* build/generator/gen_vcnet_vcproj.py

(Generator.move_proj_file): Move to WinGeneratorBase.

(Generator.write): Use write_neon_project_file to generate neon.vcproj.

* build/generator/gen_msvc_dsp.py

(Generator.write): Use write_neon_project_file to generate neon.dsp.

* build/generator/build_neon.ezt: Parametrize the Neon source path.

* build/generator/neon.dsp.ezt: New. Used to generate neon.dsp.

* build/generator/neon.vcproj.ezt: Don't hardcode the list of Neon files.

* build/win32/neon.dsp: Remove. This file is now generated.

* win-tests.py: Optionally copy intl.dll where the test programs

can find it.

* build/win32/make_dist.py

(OptFile.run): Correctly handle the case where the path gets expanded

from the config but the file itself doesn't exist.

(InstallMoFiles): New class. Puts *.mo files in the correct place

in the package tree.

(_disttree): Add missing files to the distribution list.

(_make_dist): Add message translations to the base zip file.

* build/win32/make_dist.conf.template: Set default relative path

for Expat libraries.

* build/win32: Ignore all generated .dsp and .vcproj files.

  1. … 11 more files in changeset.
First part of making the vcproj project generator handle multiple versions.

* gen-make.py

(_usage_exit): Add VS2005 to possible versions list.

* build/generator/gen_vcnet_vcproj.py

(write_project): Add version to template data.

* build/generator/vcnet_vcproj.ezt

Use version data instead of hardcoded version number.

* build/generator/gen_win.py

(parse_options): Set template data versions based on version option.

  1. … 3 more files in changeset.
Teach the project generator to crate .sln files for different versions

of VS.NET.

* gen-make.py: New option --vsnet-version.

* build/generator/gen_win.py (WinGeneratorBase.parse_options): Parse it.

* build/generator/gen_vcnet_vcproj.py (Generator.write): Pass the

VS.NET version string to EZT in the 'version' parameter.

* build/generator/vcnet_sln.ezt: Expand the 'version' parameter in the

format vereion field.

  1. … 3 more files in changeset.
I *said* I don't want w32locatedb.pl to run by default, and why.

I just got bitten by this. Grrrr.

* gen-make.py: Accept new option --enable-bdb-in-apr-util.

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

Handle --enable-bdb-in-apr-util.

(WinGeneratorBase._configure_apr_util): Do nothing unless the

--enable-bdb-in-apr-util option was set.

* INSTALL, build/win32/vc6-build.bat.in: Add "--enable-bdb-in-apr-util"

in the right places.

  1. … 3 more files in changeset.
Attempt to allow gen-make.py to stay as native.

* gen-make.py

Set svn:eol-style to native.

* autogen.sh

Explicitly call gen-make.py with python rather than depending on the

shebang line to work.

  1. … 1 more file in changeset.
Correction, everything that assumes that it can run by using the shebang

line needs to be in LF.

* build/get-neon-ver.sh

* build/buildcheck.sh

* build/PrintPath

* gen-make.py

Set svn:eol-style to LF.

  1. … 3 more files in changeset.
* gen-make.py: Remove an out-of-date usage comment, in favour of the printed

usage message.

* build.conf

javahl-javah

removing the extra-classes option

libsvnjavahl

add a description to add the resource file to the projects

__JAVAHL__

add top level project like __SWIG_JAVA__

* gen-make.py

add --with-junit option like the configure --with-junit option

* build/generator/msvc_dsp.ezt

replace the hardcode build rules for swig with general build rule

* build/generator/gen_vcnet_vcproj.py

add method get_project_quote for writing quotes into the project file.

* build/generator/vcnet_vcproj.ezt

replace the hardcode build rules for swig with general build rule

* build/generator/gen_base.py

DependencyNode.__hash__

use member name of member filename contains an empty string

DependencyNode.__cmp__

use member name of member filename contains an empty string

Target.__init__

init marker needs_windows_custom_build to None

TargetJavaHeaders.__init__

set marker need_windows_custom_build to "Yes" and remove the

extra-classes option

TargetJavaHeaders.add_dependencies

removing the extra-classes option

TargetJavaHeaders.get_windows_custom_build

implement new method

TargetJavaHeaders.get_windows_custom_target

implement new method

TargetJavaClasses.__init__

set marker need_windows_custom_build to "Yes"

TargetJavaClasses.get_windows_custom_build

implement new method

TargetJavaClasses.get_windows_custom_target

implement new method

* build/generator/gen_win.py

WinGeneratorBase.__init__

Add new --with-junit option

WinGeneratorBase.parse_options

Add new --with-junit option

WinGeneratorBase.get_proj_sources

Add support for generating "custom build" steps

Changed the "custom build" steps for swig projects to new

general style

* build/generator/gen_msvc_dsp.py

add method get_project_quote for writing quotes into the project file.

* subversion/bindings/java/javahl/native/svnjavahl.dsp

remove now unused project file

* subversion/bindings/java/javahl/native/svnjavahl.dsw

remove now unused project file

* subversion/bindings/java/javahl/README

adjust build instructions for windows

  1. … 10 more files in changeset.
Update the Win32 vcproj project generator to handle gettext and

localization requirements. Dsp generator changes coming.

* build.conf

Add external-project path to locale target for Win32.

* build/win32/svn_locale.vcproj

New project file for locale build target.

* build/generator/build_locale.ezt

New batch file template for creating localization files.

* build/generator/gen_vcnet_vcproj.py

Add support for the new TargetI18N target type.

* build/generator/gen_base.py

(TargetI18N.__init__): Read in the external-project option.

* build/generator/gen_win.py

Add --enable-nls option. If it's on then populate the

build_locale.bat file with the .po file targets and setup the

appropriate defines and link settings.

* svn_private_config.hw

Define N_, _, PACKAGE_NAME appropriately and stub in a

SVN_LOCALE_DIR for now.

* gen-make.py

Add Windows-specific --enable-nls option.

* subversion/libsvn_subr/cmdline.c

(svn_cmdline_init): Setup gettext support for Win32 which involved

moving the gettext initialization to after apr initialization so

it's functionality could be used.

  1. … 8 more files in changeset.