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

Changeset 906059 is being indexed.

Follow-up to r905787:

* build/generator/

(WinGeneratorBase._create_sqlite_headers): Track parameter list change

for transform_sql.main().

Patch by: joeswatosh

Enable generating Visual Studio/C++ 2010 projects with the project file

generator. This will need some further tweaking, but after this commit

you can get working binaries with VS 2010 Beta 2.

* build/generator/svn_locale.vcxproj.ezt

New template.

* build/generator/


Declare config types for new projects. Replace commonly used variable

reference with its MSBuild version. Pass more variables to the ezt file.

Write .vcxproj and .vcxproj.filters files for VS 2010.

(write): Pass explicit project guid to templates to make sure they are

stable even when generating for the first time. Retrieve valid

project extension. Remove _vcnet suffix from project file names, to make

the project names match the file name (MSBuild requirement). Move

dependency generation a bit to allow passing it to the project files.

Remove obsolete quoting and unquoting code inherited from the old VS

6.0 generator.

* build/generator/svn_config.vcxproj.ezt

* build/generator/serf.vcxproj.ezt

* build/generator/neon.vcxproj.ezt

* build/generator/zlib.vcxproj.ezt

New template. Have to be in the generator dir (limitation in python code)

* build/generator/templates/vcnet_vcproj.ezt

Moved to the template directory

* build/generator/templates/vcnet_vcxproj_filters.ezt

* build/generator/templates/vcnet_vcxproj.ezt

New templates

* build/generator/templates/vcnet_sln.ezt

Remove unneeded block close.

* build/generator/svn_config.vcproj.ezt

* build/generator/serf.vcproj.ezt

* build/generator/neon.vcproj.ezt

Use passed project guid.

* build/generator/vcnet_vcproj.ezt

Moved to templates directory

* build/generator/zlib.vcproj.ezt

Use passed project guid.

* build/generator/

Pass project guids

* build/win32

Add *.vcxproj to svn:ignore

  1. … 15 more files in changeset.

(*): Use print() instead of stderr.write() for outputting all

notifications except fatal errors to make the generator

output its notifications in order.

Without this patch stderr and stdout output can be delayed,

making the log somewhat distorted.

As small step for adding Visual Studio 2010 support, switch some internal

defaults to prefer the newer solution formats over the 2002/2003 formats.

Also move the solution templates to the recently introduced templates


* build/generator/

(Generator.write_project): Update property user

(Generator.write): Pass solution and studio versions and information on

where to generate dependencies. Use the old template for 2002 and 2003

versions and the new template for all newer versions.

* build/generator/

(GeneratorBase.parse_options): Rename Visual Studio/C++ variables to match

their usage and to help further processing. Add studio version and

project extension variables. Stop using version numbers

(WinGeneratorBase.__init__): Write the stored version instead of

determining the version from the project version. Choose the supported

targets based on the VC version

* build/generator/templates/vcnet_sln.ezt

Copied from build/generator/vc2005_sln.ezt. Write passed Visual Studio

version and only write dependencies if the dependency storage location

is the solution.

* build/generator/templates/vcnet_vc7_sln.ezt

Copied from build/generator/vcnet_sln.ezt

* build/generator/vc2005_sln.ezt

* build/generator/vcnet_sln.ezt


  1. … 5 more files in changeset.
In preparation for adding Visual Studio 2010 support, move the project guid

generation to the creation of the targets and provide the guid to the project


Visual Studio moves the dependency references from the solution file to the

project files and requires guid references for the IDE.

* build/generator/

(imports): Remove md5 import

(Generator.write_project): Rename variable and pass project guid to ezt.

(Generator.makeguid): Move to

* build/generator/

(imports): Import md5 support

(GeneratorBase.makeguid): Moved here from

(GeneratorBase.write): Get guid from target instead of generating it and

store the result on the target to allow retrieving it when writing the

project file.

* build/generator/vcnet_vcproj.ezt

Write ProjectGUID in vcproj file.

  1. … 2 more files in changeset.
Follow-up to r882679: Fix Windows build.

* build/generator/

(_create_sqlite_headers): Add libsvn_fs_fs/revprops-db.sql to the SQL

sources list.

Apply ASF license headers to a number of files included under that license

but lacking said header.

Patch by: Niall Pemberton <niallp{_AT_}>

  1. … 175 more files in changeset.
Scrub trailing whitespace throughout (see r35894).

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

(GeneratorBase._find_bdb): Support Berkeley DB 4.8.

Follow-up to r39285:

* build/generator/

(WinGeneratorBase._find_serf): Don't hardcode minimal version of Serf in

a message.

I introduced a bug in my mods to Edmund's patch. He found; here's the fix.

* build/generator/

(_get_serf_version): correct a couple variable names

Fixed such that it checks for the presence of the Serf library

(which it does prior to this patch) and also outputs the library version

(which is what this patch does). It also checks if the serf version >=

0.3.0. If not, ra_serf is not built.

* build/generator/

(_get_serf_version): New function to return the serf library version.

(_find_serf): Added a version check and if a valid version is found,

ra_serf is built; otherwise, it isn't. If the version cannot be

determined, ra_serf will still be built. The user is the informed of

the results.

Patch by: Edmund Wong <>

Suggested by: danielsh

Patch heavily tweaked by: gstein

* build/generator/

(get_install_targets): Following up on r38305, skip swig file generation

if swig_libdir is not available. This matches other tests for swig and

should fix the Windows buildbot.

* build/generator/

(get_install_targets): Remove swig targets if we don't have a swig path.

Follow-up to r37562:

* build/generator/

(WinGeneratorBase._find_swig): Don't use syntax which is supported only by

Python >=2.5.

Follow-up to r37522:

* build/generator/

(WinGeneratorBase._find_swig): Don't try to use 'outfp' when it isn't defined.

Found by: rhuijben

* build/generator/

(WinGeneratorBase._find_swig): Use subprocess.Popen() instead of os.popen4()

for compatibility with Python 3.

Tested by: pburba

On Windows, shared libs for Python bindings should be *.pyd not *.dll.

* build/generator/ (TargetSWIG.add_dependencies): Mark Python

wrapper shared libs as type "pyd" not "lib".

* build/generator/, build/generator/

(Generator._extension_map): Add mappings for the "pyd" object type.

* packages/python-windows/ (package_data): Search for *.pyd.

Patch by: Marc Haesen <>

(Tweaked by me, from

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

Try to import winreg module.

(_winreg was renamed to winreg.)

* build/generator/

(WinGeneratorBase._find_jdk): Try to import winreg module.

Create some infrastructure to add additional constraints/checks within the

WC datastore, for developers only.

* subversion/libsvn_wc/wc-checks.sql: new set of SQL commands to create

triggers to perform checks on all operations in the database.

* subversion/libsvn_wc:

(svn:ignore): ignore the wc-checks.h (generated) file

* clean out the generated wc-checks.h

* build/generator/

(WinGeneratoreBase._create_sqlite_headers): add new .sql file

* subversion/libsvn_wc/entries.c:

(svn_wc__entries_init): if SVN_DEBUG is defined, then exec all the

statements from wc-checks into the new database.

  1. … 4 more files in changeset.
Add support to build and use SQLite amalgamation version on Windows.

This change implements the same behavior as *nix build system does.

* build/generator/

(parse_options): set self.sqlite_path to sqlite-amalgamation

directory if --with-sqlite parameter not specified.

(get_win_defines): Add SVN_SQLITE_INLINE define in SQLite amalgamation used.

(get_win_includes,get_win_lib_dirs): Use headers and libraries from

correct location if we're using SQLite amalgamation.

(get_win_libs): Do not depend on sqlite3.lib if we're using SQLite


(_find_sqlite): Try SQLite amalgamation if compiled SQLite not found

in specified location. Error if SQLite version less than 3.4.0.

Tested by: pburba

More merging from the explore-wc branch to trunk.

Revisions merged, and primary (desired) change:

35412: start generating wc-metadata.sql.h

35708: look for wc.db when checking the wc format

35721: be consistent and use wc-metadata.h

35722: move version detection into wc_db

35762: update svn:ignore on libsvn_wc

35861: correct CLEAN_FILES handling in

After handling a few conflicts, post-merge, I needed to #ifdef out some of

the new sqlite code in entries.c, and tweak svn_wc__db_version().

* subversion/libsvn_wc/entries.c:

(...): plain old merge

(svn_wc__entries_write_old, svn_wc__entries_init): add some #ifdef

guards around the new sqlite code.

* subversion/libsvn_wc/wc_db.c:

(...): plain old merge

(svn_wc__db_version): check for APR_ENOENT from the db version test

  1. … 10 more files in changeset.
Cleanup trailing whitespace:

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

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


This should have been done before the 1.6.x branch, so I'm going to merge

it over there, to avoid merge conflicts in the future.

  1. … 83 more files in changeset.
Oops. Added a paren too many.

* build/generator/

(WinGeneratorBase._create_sqlite_headers): remove paren.

When transforming sql files, for the filename parameter, add '.sql' so

that the guard symbols have the proper extension.

* build/generator/

(WinGeneratorBase._create_sqlite_headers): add .sql to the filename

Found by: Chris Foote <>

Clean up the Python used in, and make it even easier to

use than r35853 (ie. not forced to provide an output file).

* build/

(): use consistent string quoting throughout the file (single quotes)

(usage_and_exit): use a more conventional output form, signifying the

variable values, and that brackets mean "optional". detail the option.

remove a useless backslash.

(main): revise args to take file handles rather than names. use a single

re.sub() rather than a couple replace() calls to turn the filename

into a variable name. in the output, note the user should be running (on Windows, where this script is used). remove an unused

replace() of newlines (the're all gone after the split()), and

simplify the hell out of the "got non-whitespace?" test.

(): adjust the sys.argv handling.

* build/ add a comment to fix emacs syntax coloring

* build/generator/

(WinGeneratorBase._create_sqlite_headers): adjust parameters for


  1. … 2 more files in changeset.
Revert r35748, in accordance with the sentiment described in this thread:

[ There were accidental changes to subversion/tests/cmdline/

committed with the revert. Those changes were themselves reverted in

r35848. ]

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

(parse_options): Skip generating libsvn_auth_kwallet and

libsvn_auth_gnome_keyring projects on Windows.

Use '.sql_h' filename extension for headers generated from '.sql' files.

This filename extension (or .sql.h) allows to easier distinguish headers

generated from .sql files.


(fast-clean, .SUFFIXES): Update.

(.sql.h): Rename to ...

(.sql.sql_h): ... this.

* build.conf

(private-built-includes): Update.

* build/generator/

(WinGeneratorBase._create_sqlite_headers): Update.

* subversion/libsvn_fs_fs/rep-cache.c: Include "rep-cache-db.sql_h" instead of


[ Reverted in r35846. ]

  1. … 3 more files in changeset.
A few cleanups for generating the sql headers on windows. I do not have a

Windows build, and thus have no way of testing this.

* build/generator/

(__init__): Update caller.

(_create_sqlite_headers): Renamed from _create_sqlite_header(), and made

a bit more extensible for adding future derived files.