gen_vcnet_vcproj.py

Checkout Tools
  • last updated 1 hour ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
* build/generator/gen_vcnet_vcproj.py

(quote_value): Fix yet another stupid bug introduced by remote testing :(.

Following up on r1860175, fix typo in python code.

* build/generator/gen_vcnet_vcproj.py

(quote_define): Add missing ':'.

Fix compiling Subversion with Visual Studio 2005 and 2008 by properly escaping

the e-mail address we use for the Win32 crash handler.

* build/generator/gen_vcnet_vcproj.py

(quote_define): New function

* build/generator/gen_win.py

(get_win_defines): Quote e-mail address in defines.

(quote_define): Add function (stub).

  1. … 1 more file in changeset.
Following up on r1703419, remove another unneeded template.

* build/generator/gen_vcnet_vcproj.py

(write): Always write modern .sln files.

* build/generator/templates/vcnet_vc7_sln.ezt

Delete file.

  1. … 1 more file in changeset.
Remove the project generator support for Visual Studio 6.0, .Net (2002) and

2003. This support is unmaintained for quite some time and these compilers

and their C libraries are not even supported by Microsoft anymore.

* build/generator/gen_msvc_dsp.py

Remove file.

* build/generator/gen_vcnet_vcproj.py

(get_external_project): Remove function; falling back to ancestor.

* build/generator/gen_win.py

(get_external_project): Remove serf project hack that wasn't used since 1.7.

* build/generator/templates/msvc_dsp.ezt

* build/generator/templates/msvc_dsw.ezt

* build/generator/templates/svn_config.dsp.ezt

* build/generator/templates/svn_locale.dsp.ezt

Remove files.

* gen-make.py

Update documentation. Make --vsnet-version imply -t vcproj.

  1. … 7 more files in changeset.
Following up on r1696783, avoid some warnings in non-shared library builds on

Windows.

* generator/gen_vcnet_vcproj.py

Don't record .lib files as to be delayloaded.

In the Windows build mark the DLLs of libsvn_ra, libsvn_fs_base, libsvn_fs_fs,

libsvn_fx as to be delayloaded.

Without this patch these DLLs and their dependencies are always loaded from

code that references them. After this patch the code is dynamically loaded

when first necessary. (In all supported compilers this is implemented as

a per DLL load via the import table, so there is no per function call

performance penalty)

The non-shared-library build is unaffected.

* build.conf

(libsvn_fs_base,

libsvn_fs_fs,

libsvn_fs_x,

libsvn_ra): Mark as delayload.

* build/generator/gen_base.py

(TargetLib): Load property.

* build/generator/gen_vcnet_vcproj.py

(write): Calculate dependency dlls to be delayloaded.

* build/generator/gen_win.py

(create_dll_target): Copy property to right target.

* build/generator/templates/vcnet_vcxproj.ezt

Extend linker arguments.

  1. … 4 more files in changeset.
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.
* build/generator/gen_vcnet_vcproj.py

(gen_proj_names): Following up on r1505440 and r1505429 properly call

function in base class.

Following up on r1505429, properly handle '11.0' style version numbers.

* build/generator/gen_vcnet_vcproj.py

(gen_proj_names): Compare project number as float.

Visual Studio 2012 and later support project nesting in the Solution explorer

in every release (including Express), so we can stop changing the names of

projects just for sorting.

This makes it easier to see project names in the VS UI.

* build/generator/gen_vcnet_vcproj.py

(gen_proj_names): Create less project name prefixes for VS2012 and later.

In the Windows project file generator: extend the generator and the dependency

framework to allow forcefully including an include file before the actual c

file.

This ugly hack is necessary to allow compiling the 1.9+ Swig Ruby bindings on

Windows without changing the standard swig or ruby headers, as Swig starts

its generated files with a #include <ruby.h> before any other headers :(

This change makes the project generator handle include dirs, lib dirs,

forced headers and libraries in the same way: per configuration.

* build/generator/gen_msvc_dsp.py

(write_project): Remove includes from ezt data.

* build/generator/gen_vcnet_vcproj.py

(write_project): Remove includes from ezt data.

* build/generator/gen_win.py

(get_configs): Add includes and forced headers to the per configuration data.

* build/generator/templates/msvc_dsp.ezt

Update includes reference.

* build/generator/templates/vcnet_vcproj.ezt

Update includes reference. Support forcing an include.

* build/generator/templates/vcnet_vcxproj.ezt

Update includes reference. Support forcing an include.

Remove doubled semicolon.

* subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c

(swigutil_rb__pre_ruby.h): Add include for dependency tracking.

Fix reference to st.h for Ruby >= 1.9.

* subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.h

(swigutil_rb__pre_ruby.h): Add include for dependency tracking.

Fix reference to regex.h for Ruby >= 1.9.

* subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb__pre_ruby.h

New file

  1. … 8 more files in changeset.
Fix breakage from r1370526: expose the svn_python variable to the svn_config

project file generator.

* build/generator/gen_vcnet_vcproj.py (svn_config): Expose svn_python

outside the SQL-file-specific enumeration.

* build/generator/templates/svn_config.vcxproj.ezt,

build/generator/templates/svn_config.vcproj.ezt: Update temppates.

  1. … 2 more files in changeset.
Don't build libsvn_ra_neon, in preparation for its removal.

See this thread for more info:

http://svn.haxx.se/dev/archive-2012-06/0195.shtml

* build/ac-macros/neon.m4,

build/generator/templates/neon.vcproj.ezt,

build/generator/templates/neon.vcxproj.ezt,

build/generator/templates/neon.dsp.ezt:

Remove.

* build/generator/gen_vcnet_vcproj.py,

build/generator/gen_msvc_dsp.py,

build/generator/gen_win.py,

build/win32/vc6-build.bat.in,

build/win32/make_dist.py,

configure.ac,

Makefile.in:

Remove neon bits.

* get-deps.sh:

Don't bother fetching the neon deps.

* build.conf:

Remove libsvn_ra_neon, and neon as depenencies.

  1. … 12 more files in changeset.
* build/generator/gen_vcnet_vcproj.py

(write): Use a proper join for paths, instead of a string concat.

Stop generating $(SolutionDir) inside project files where we can just calculate

the relative path. This somehow triggered a bug in more recent VS versions.

* build/generator/gen_vcnet_vcproj.py

(find_rootpath): Remove function (fall back to base class).

(write): Calculate relative path.

Extend our project generator to allow generating Visual Studio 11 compatible

projects. This requires bumping the solution and toolset version.

* build/generator/gen_vcnet_vcproj.py

(write_project): Add toolset_version variable for templates.

* build/generator/gen_win.py

(GeneratorBase): Allow generating for Visual Studio 11.

(move_proj_file): Add toolset_version variable for templates.

* build/generator/templates/svn_locale.vcxproj.ezt

* build/generator/templates/svn_config.vcxproj.ezt

* build/generator/templates/neon.vcxproj.ezt

* build/generator/templates/serf.vcxproj.ezt

* build/generator/templates/zlib.vcxproj.ezt

* build/generator/templates/vcnet_vcxproj.ezt

Set the toolset version dynamically.

  1. … 7 more files in changeset.
The semi-annual trailing whitespace cleansing ritual.

* everywhere:

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

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

done

  1. … 144 more files in changeset.
Remove a bit more ..\..\.. magic from the Visual C++ project system to allow more

automatic dependency reduction in MSBuild via simple path comparing.

Note that $(SolutionDir) always ends in a final '\', but double slashes are

allowed.

* build/generator/gen_vcnet_vcproj.py

(find_rootpath): New function.

* build/generator/gen_win.py

(WinGeneratorBase.__init__): Use find_rootpath instead of a number of ..\

instances.

(find_rootpath): New function.

* build/generator/templates/vcnet_vcxproj.ezt

Replace another ..\ style path with a variable pointing to the right path.

  1. … 2 more files in changeset.
Properly detect sql include files during gen-make. Also forward this

knowledge to the VS2010 build.

* build/generator/gen_vcnet_vcproj.py

(Generator.write): Forward sql dependencies to svn_config project.

* build/generator/gen_base.py

(write_sqlite_headers): Remove now invalid assertion.

(TargetSQLHeader.add_dependencies): Scan for includes.

* build/generator/templates/svn_config.vcxproj.ezt

Use $(SolutionDir) instead of a magic ..\..\.. and add dependencies

to the .sql files.

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

(quote): Following up on r1085316, stop the escaping of the quoting in

python. This should fix the swig build on Windows.

Move projects generated by the Windows build to the right locations. The

necessary changes in the python scripting to handle this also allowed moving

the remaining project templates .ezt files to the templates directory.

Please let me know if this patch breaks something for you.

* build/generator/build_locale.ezt

* build/generator/msvc_dsp.ezt

* build/generator/svn_locale.vcxproj.ezt

* build/generator/build_zlib.ezt

* build/generator/neon.dsp.ezt

* build/generator/serf.dsp.ezt

* build/generator/zlib.dsp.ezt

* build/generator/svn_config.vcproj.ezt

* build/generator/svn_config.vcxproj.ezt

* build/generator/msvc_dsw.ezt

* build/generator/svn_locale.vcproj.ezt

* build/generator/serf.vcxproj.ezt

* build/generator/neon.vcxproj.ezt

* build/generator/zlib.vcxproj.ezt

* build/generator/neon.vcproj.ezt

* build/generator/serf.vcproj.ezt

* build/generator/zlib.vcproj.ezt Moved to build/generator/templates/.

* build/win32/svn_config.dsp

* build/win32/svn_locale.dsp

Moved to build/generator/templates/ with extension .dsp.ezt.

* build/generator/gen_vcnet_vcproj.py

(write): Move svn_config and svn_locale output to the projects directory.

* build/generator/gen_msvc_dsp.py

(write): Generate svn_config and svn_locale projects from a .ezt file, just

like the Visual Studio 2002-2010 versions.

* build/generator/gen_win.py

(WinGeneratorBase::__init__): Generate all files in the projectfiles directory

instead of a few in build/win32.

* build/generator/templates/msvc_dsp.ezt

* build/generator/templates/build_locale.ezt

* build/generator/templates/build_zlib.ezt

* build/generator/templates/svn_locale.vcxproj.ezt

* build/generator/templates/svn_config.dsp.ezt

* build/generator/templates/neon.dsp.ezt

* build/generator/templates/serf.dsp.ezt

* build/generator/templates/msvc_dsw.ezt

* build/generator/templates/zlib.dsp.ezt

* build/generator/templates/svn_locale.vcproj.ezt

* build/generator/templates/neon.vcxproj.ezt

* build/generator/templates/serf.vcxproj.ezt

* build/generator/templates/zlib.vcxproj.ezt

* build/generator/templates/neon.vcproj.ezt

* build/generator/templates/serf.vcproj.ezt

* build/generator/templates/zlib.vcproj.ezt

* build/generator/templates/svn_locale.dsp.ezt

Moved here from their old locations

* build/generator/templates/svn_config.vcxproj.ezt

* build/generator/templates/svn_config.vcproj.ezt

Moved here. Fix relative path to .sql files

  1. … 40 more files in changeset.
* build/generator/gen_vcnet_vcproj.py

(Generator.write):

The diff applications belong in the programs category of the Visual

Studio solution instead of in tests.

Trailing whitespace scrub.

* subversion/libsvn_subr/prompt.c,

subversion/bindings/javahl/tests/org/apache/subversion/javahl/BasicTests.java,

subversion/bindings/javahl/tests/org/tigris/subversion/javahl/BasicTests.java,

subversion/bindings/javahl/native/CreateJ.cpp,

subversion/bindings/javahl/src/org/apache/subversion/javahl/SVNClient.java,

subversion/bindings/javahl/src/org/apache/subversion/javahl/NativeResources.java,

subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNClient.java,

subversion/bindings/javahl/src/org/tigris/subversion/javahl/Info2.java,

subversion/bindings/javahl/src/org/tigris/subversion/javahl/SVNAdmin.java,

subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c,

subversion/bindings/swig/ruby/test/test_wc.rb,

subversion/bindings/swig/ruby/svn/wc.rb,

subversion/tests/libsvn_subr/mergeinfo-test.c,

subversion/tests/cmdline/mergeinfo_tests.py,

subversion/tests/cmdline/log_tests.py,

subversion/tests/cmdline/upgrade_tests.py,

subversion/tests/cmdline/lock_tests.py,

subversion/tests/cmdline/switch_tests.py,

subversion/tests/cmdline/merge_authz_tests.py,

subversion/tests/cmdline/update_tests.py,

subversion/tests/cmdline/svntest/actions.py,

subversion/tests/cmdline/patch_tests.py,

subversion/tests/cmdline/merge_tests.py,

subversion/tests/cmdline/checkout_tests.py,

subversion/tests/libsvn_fs_fs/fs-pack-test.c,

subversion/libsvn_ra_svn/client.c,

subversion/svn/cl.h,

subversion/svn/notify.c,

subversion/include/svn_io.h,

subversion/include/svn_wc.h,

subversion/include/private/svn_wc_private.h,

subversion/libsvn_wc/util.c,

subversion/libsvn_wc/adm_ops.c,

subversion/libsvn_wc/status.c,

subversion/libsvn_wc/update_editor.c,

subversion/libsvn_wc/wc_db.c,

subversion/libsvn_wc/wc_db.h,

subversion/libsvn_wc/upgrade.c,

subversion/libsvn_wc/workqueue.c,

subversion/libsvn_client/switch.c,

subversion/libsvn_client/externals.c,

subversion/libsvn_client/merge.c,

subversion/libsvn_client/patch.c,

subversion/libsvn_client/revert.c,

subversion/libsvn_client/copy.c,

subversion/libsvn_client/mergeinfo.c,

subversion/libsvn_client/update.c,

subversion/libsvn_client/commit_util.c,

subversion/libsvn_client/cleanup.c,

subversion/libsvn_ra_neon/ra_neon.h,

subversion/libsvn_repos/load.c,

subversion/libsvn_fs_fs/fs_fs.c,

subversion/libsvn_fs_fs/fs.h,

build/generator/gen_vcnet_vcproj.py,

build/generator/gen_win.py:

Scrub trailing whitespace.

  1. … 54 more files in changeset.
* gen_vcnet_vcproj.py

(Generator.write_project):

Pass output extension to .ezt files and (following up on r888486),

only use %(FullPath) for .vcxproj files.

Further Visual Studio 2010 tweaks: Fix the names of the libraries

to match our versioning convention. Make project paths absolute to

resolve warnings while building and remove some extra semicolons.

* build/generator/gen_vcnet_vcproj.py

(Generator.write_project):

Pass output name without extension to ezt.

* build/generator/templates/vcnet_vcxproj.ezt

Fix fall through values, semicolons and project directories.

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

(write_project):

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

Pass project guids

* build/win32

Add *.vcxproj to svn:ignore

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

directory.

* build/generator/gen_vcnet_vcproj.py

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

(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

Deleted

  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

templates.

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

project files and requires guid references for the IDE.

* build/generator/gen_vcnet_vcproj.py

(imports): Remove md5 import

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

(Generator.makeguid): Move to gen_win.py.

* build/generator/gen_win.py

(imports): Import md5 support

(GeneratorBase.makeguid): Moved here from gen_vcnet_vcproj.py.

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