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

Changeset 1425617 is being indexed.

Reintegrate tweak-build-take-two branch to trunk.

Summary of changes:

** Split standards-compliance mode and maintainer mode compiler flags

out of CFLAGS, so that compilation command lines that do not

generate (too many) warnings or are not forced to comply with ISO

C '90 can be constructed without having to resort to stripping

individual flags out of CFLAGS.

$ svn diff -r1424288:1424822 \

^/subversion/branches/tweak-build-take-two/ \

^/subversion/branches/tweak-build-take-two/aclocal.m4 \

^/subversion/branches/tweak-build-take-two/build/ac-macros/compiler.m4 \


** Now that warning and standards-compliance mode macros are no

longer part of CFLAGS, stop stripping them in the Swig wrapper

configury, except for Ruby, which is more delicate.

$ svn diff -r1424329:1425040 \


** Allow optimization and debugging to coexist, including in

maintainer mode, adding a new configure option

--enable-optimize. Neither --enable-optimize nor --enable-debug

will override any optimization or debugging flags set by the user

in C(XX)FLAGS at configure time. If debugging and optimization are

enabled at the same time, we will try to use -O1, then -O; if

debuggin is not enabled, we will try -O2 first.

$ svn diff -c1424860 \


** Remove an obsolete autoconf macro that was not used anywhere and

is superceded with SVN_CFLAGS_ADD_IFELSE.

$ svn diff -c1424297 \


** Move the sqlite-amalgamation directory from the root of the source tree

under subversion/include/private to make include paths safer from

possible collision with sqlite include files from other install locations.

$ svn diff -c1425050 \


** Allow a user to set a custom set of compiler flags at configure time that

are used for Subversion sources, but not, e.g., Swig-generated sources,

like this:

$ ./configure CUSERFLAGS=--flags-for-C CXXUSERFLAGS=--flags-for-C++

$ svn diff -c1425086 \


  1. … 14 more files in changeset.
Similar to r1421645, but for the Python bindings: filter out noisy warnings.

* build/ac-macros/swig.m4

(SVN_FIND_SWIG): Filter some noise from the output of 'make swig-py'.

Make the warnings issued when building the Ruby bindings *much* less verbose.

The removed warnings are the result of swig's---ahem---interesting way of

generating code. Hopefully, this helps us find more errors, more quickly.

* build/ac-macros/swig.m4

(SVN_FIND_SWIG): Filter out a number of compiler warnings flags for the Ruby


The swig python bindings generate a lot of shadowed variables, which then

emit a number of warnings when compiling. Turn off those warnings for swig-py.

* build/ac-macros/swig.m4:

Filter -Wshadow from SWIG_PY_COMPILE.

fix Ruby 1.9 deprecation warning for Config, use RbConfig


replace Config with RbConfig

* build/ac-macros/swig.m4

replace Config with RbConfig

Approved by: gstein

  1. … 1 more file in changeset.
* build/ac-macros/swig.m4

(SVN_FIND_SWIG): Strip -std=c89 from CFLAGS in a second place, just

like -ansi.

* build/ac-macros/swig.m4: When checking how to link ruby libraries,

include all libraries that libruby depends on in the linker argument

list, rather than just the ruby library itself. Should fix the build on

OpenBSD with ruby-1.9. The configure script could not detect rb_errinfo()

because linking ruby libraries failed as the -pthread argument was missing.

This argument isn't part of the LIBRUBYARG value in rbconfig, but of LIBS.

Remove check for maximal version of SWIG.

* build/ac-macros/swig.m4

(SVN_FIND_SWIG): Remove check for maximal version of SWIG.

* subversion/bindings/swig/INSTALL: Update documentation.

  1. … 1 more file in changeset.
Support SWIG 2.0.2.

* build/ac-macros/swig.m4


* subversion/bindings/swig/INSTALL: Support SWIG 2.0.2.

  1. … 1 more file in changeset.
[ This was reverted/redone as part of issue #3850, which see. ]

Don't error on 'none: bad command or file name' when SWIG was disabled

at configure-time.

(Yes, I'm on Debian, thanks for asking.)


(check-SWIG): New target.

(swig-py, swig-pl, swig-rb): Use new target to fail early.

* build/generator/

(Generator.write): Use the new target in, too.

* build/ac-macros/swig.m4

(SVN_FIND_SWIG): Don't check for 'none', just set the thing to 'none'.

As a side effect, the message to stdout is obliterated.

  1. … 2 more files in changeset.
Fix comparisons of SWIG version in build system. Previously

generator.swig.Generator.version() was returning 20001 for SWIG 2.0.1, which

was incorrectly compared with hardcoded integers corresponding to SWIG 1.3.2*

(e.g. 103024 for SWIG 1.3.24).

This change also fixes building of Ruby bindings with SWIG 2.0.0 and 2.0.1.

* build/generator/swig/

(Generator.version): Return a tuple of integers instead of

a single integer.

* build/generator/swig/

(Generator.checkout, Generator._skip_checkout):

* build/generator/swig/

(Generator.write_external_runtime): Compare tuples returned by

generator.swig.Generator.version() with tuples of integers.

* build/ac-macros/swig.m4


* subversion/bindings/swig/INSTALL: Declare SWIG 2.0.1 supported.

  1. … 4 more files in changeset.
Fix warnings about missing AC_LANG_SOURCE with autoconf 2.68; tested also

against 2.59.

Kudos to Philip Martin for pointing me at final bit needed to fix this.

* build/ac-macros/kwallet.m4 (SVN_LIB_KWALLET),

build/ac-macros/swig.m4 (SVN_FIND_SWIG),

build/ac-macros/gssapi.m4 (SVN_LIB_RA_SERF_GSSAPI),

build/ac-macros/neon.m4 (SVN_NEON_CONFIG),


  1. … 4 more files in changeset.
* build/ac-macros/swig.m4

(SVN_FIND_SWIG): Remove -std=c89 (equivalent to -ansi) from SWIG_RB_COMPILE.

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.
Fix Issue #3458: Use '$SED' instead of 'sed'.


* build/ac-macros/berkeley-db.m4


* build/ac-macros/neon.m4


* build/ac-macros/svn-macros.m4


* build/ac-macros/swig.m4

(SVN_FIND_SWIG): Use '$SED' instead of 'sed'.

  1. … 4 more files in changeset.
Follow-up to r38377:

* build/ac-macros/swig.m4



Revert r38218. Buildbots now provide 'config.log' when an error occurs.

  1. … 16 more files in changeset.
Make `configure` sometimes print the content of 'config.log' when an error occurs.

* build/ac-macros/svn-macros.m4


* build/ac-macros/apache.m4:

* build/ac-macros/apr.m4:

* build/ac-macros/apr_memcache.m4:

* build/ac-macros/aprutil.m4:

* build/ac-macros/berkeley-db.m4:

* build/ac-macros/ctypesgen.m4:

* build/ac-macros/gssapi.m4:

* build/ac-macros/java.m4:

* build/ac-macros/kwallet.m4:

* build/ac-macros/neon.m4:

* build/ac-macros/sasl.m4:

* build/ac-macros/serf.m4:

* build/ac-macros/sqlite.m4:

* build/ac-macros/swig.m4:

* build/ac-macros/zlib.m4:

* Use SVN_MSG_ERROR() instead of AC_MSG_ERROR().

[Reverted in r38285.]

  1. … 16 more files in changeset.
* build/ac-macros/swig.m4

(SVN_FIND_SWIG): Allow SWIG 1.3.39.

Follow-up to r35852:

Improve check for rb_errinfo().

* build/ac-macros/swig.m4

(SVN_FIND_SWIG): Define HAVE_RB_ERRINFO if rb_errinfo() is available.

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

(callback_rescue): Use rb_errinfo() if HAVE_RB_ERRINFO is defined.

  1. … 1 more file in changeset.
Respect CFLAGS in SWIG bindings.

* build/ac-macros/swig.m4


* build/ Don't print BASECFLAGS and OPT.


(COMPILE_SWIG_PY): Delete $(CFLAGS) which is now in $(SWIG_PY_COMPILE).

(COMPILE_SWIG_RB): Delete $(CFLAGS) which is now in $(SWIG_RB_COMPILE).

(swig-pl): Appropriately set OPTIMIZE when calling $(MAKE) in

subversion/bindings/swig/perl/native directory.

* subversion/bindings/swig/perl/native/ Respect CFLAGS.

  1. … 3 more files in changeset.
Fix building Ruby bindings with Ruby 1.9.

* build/ac-macros/swig.m4

(SVN_FIND_SWIG): Use appropriate -I options.

* subversion/bindings/swig/core.i: Use RSTRING_LEN().

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

(): Include <version.h>.

(rb_holder_pop, svn_swig_rb_set_pool, svn_swig_rb_to_apr_array_row_prop,

svn_swig_rb_to_apr_array_prop, svn_swig_rb_array_to_apr_array_revision_range,

name, read_handler_rbio): Use RARRAY_LEN(), RARRAY_PTR() and RSTRING_LEN().

(callback_rescue): Use rb_errinfo() instead of ruby_errinfo when Ruby >=1.9 is used.

* subversion/bindings/swig/include/svn_types.swg

(_swig_rb_closed): Use RSTRING_LEN().

* subversion/bindings/swig/include/svn_string.swg

(%typemap(in) svn_stringbuf_t *, %typemap(in) svn_stringbuf_t *node_name,

%typemap(in) const svn_string_t * (svn_string_t value)): Use RSTRING_LEN().

Unrelated changes which fix 'implicit declarations of svn_md5_digest_to_cstring()'

and some 'casts to pointer from integer of different size' accidentally discovered

when building Ruby bindings with Ruby 1.9:

* subversion/bindings/swig/core.i: Include svn_md5_h.swg.

* subversion/bindings/swig/svn_fs.i:

* subversion/bindings/swig/svn_wc.i:

* subversion/bindings/swig/svn_delta.i: Include "svn_md5.h" to get the

prototype for svn_md5_digest_to_cstring() (used in some typemaps in


  1. … 7 more files in changeset.
Follow-up to r35647:

* build/ac-macros/swig.m4

(SVN_FIND_SWIG): Fix quoting so that it works on all platforms.

Tested by: stsp

* build/ac-macros/swig.m4

(SVN_FIND_SWIG): Do not quote $rbconfig_sitedir inside a quoted

and backtick'ed invocation of sed.

This does not work on OpenBSD, where neither m4 nor /bin/sh

swallow the extra quotes around $rbconfig_sitedir, causing

sed to see " instead of s as the command character.

As a result of this problem, ruby bindings where installing

stuff in wacky places.

If this breaks things on other platforms, we need a better fix.

The only problem I could imagine is people using spaces in their

ruby install path, which is a silly thing to do given that these

paths are often used by configure scripts written in /bin/sh.

* build/ac-macros/swig.m4

(SVN_FIND_SWIG): Allow SWIG 1.3.36.

Resolve crazy space/tab mix.

* build/ac-macros/apache.m4

* build/ac-macros/swig.m4

* build/ac-macros/neon.m4

  1. … 2 more files in changeset.
* (AC_PREREQ): Require autoconf >= 2.58.


* build/ac-macros/apache.m4:

* build/ac-macros/java.m4:

* build/ac-macros/neon.m4:

* build/ac-macros/serf.m4:

* build/ac-macros/sqlite.m4:

* build/ac-macros/svn-macros.m4:

* build/ac-macros/swig.m4:

* build/ac-macros/zlib.m4:


  1. … 8 more files in changeset.
Increase SWIG upper bound to 1.3.31.

* build/ac-macros/swig.m4

* subversion/bindings/swig/INSTALL

  1. … 1 more file in changeset.
Don't use changequote.

* build/ac-macros/swig.m4 (SVN_FIND_SWIG): Use @<:@ and @:>@ instead of

changequote(<<, >>) for [ and ].

Suggested by: malcolm

Link with ruby library.

* build/ac-macros/swig.m4 (SVN_FIND_SWIG): Detect ruby library.

* (SWIG_RB_LINK): Register.

* build.conf (libsvn_swig_ruby): Use SWIG_RB_LIBS for linking.

Suggested by: Joe Swatosh

  1. … 2 more files in changeset.