Checkout Tools
  • last updated 5 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Fix search for Serf via pkg-config when the include directory contains '-D'.

* build/ac-macros/serf.m4

(SVN_SERF_PKG_CONFIG): Use "pkg-config --cflags-only-I".

Patch by: Ian Miller

Fixes #4670

* build/ac-macros/serf.m4: Typo fix in comment. No functional change.
* build/ac-macros/serf.m4

(SVN_SERF_PKG_CONFIG): Tweak sed regex. The regex was too simple, it

mangled any "-D", for example, a path "My-Demo" was removed. Improve

the regex to only delete the -D after a space or at start of the line.

Patch by: <Kai.Kang{_AT_}windriver.com>

Fix a problem with the Unix build that could result in linking to the wrong

Subversion libraries at build time or at run time.

The bug shows up when all of these conditions are met:

* there is a development package of Subversion libraries, that we don't

want to use, installed somewhere (such as /usr);

* the 'serf' package that we are building against is installed under that

same prefix (such as /usr);

* 'pkgconfig' is not being used to find the 'serf' package;

* the libtool in use does not strip out indirect dependencies.

See the email thread "Issues with bindings tests" started by Julian Foad on

2014-05-12, at e.g. <http://svn.haxx.se/dev/archive-2014-05/0066.shtml>.

Thanks to Philip for help in tracking down the cause.

* build/ac-macros/serf.m4

(SVN_SERF_PREFIX_CONFIG): Remove standard paths from LDFLAGS additions,

like we already do for other packages.

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

(SVN_LIB_BERKELEY_DB): Same.

  1. … 1 more file in changeset.
Fix a number of problems with our serf configure detection.

* build/ac-macros/serf.m4

(): Update the description

(SVN_LIB_SERF): Providing a prefix should trigger an error if serf isn't

found. Set a serf_prefix variable when a prefix is passed. Shift running

the tests outside the AC_ARG_WITH macro, it never belonged there anyway.

Try with pkg-config before falling back on the prefix method and only

use the prefix method if someone provided a prefix.

(SVN_SERF_PREFIX_CONFIG): Don't use withval and instead use the new

serf_prefix environment variable we set above.

(SVN_SERF_PKG_CONFIG): Make our pkg-config handling capable of supporting

prefixes, only accept the pkg-config detected library if it's the library

in the prefix provided. Support prefixes that point at the dir containing

the pc file. Only -l arguments belong in SVN_SERF_LIBS, fixes pkg-config

builds failing with libraries not in the default search path for the

linker.

* build/ac-macros/serf.m4

(SVN_SERF_PKG_CONFIG): Stop searching after we find a usable version of serf.

Implement auto-detection of serf via pkg-config.

* build/ac-macros/serf.m4

(SVN_LIB_SERF): Refactor the old prefix search code out into it's own function.

Add logic to detect serf without a prefix passed in.

Add logic to error if an explicity argument for serf but wasn't found.

Add logic to display a friendly message telling people serf wasn't found.

(SVN_SERF_PREFIX_CONFIG): New function, moved code from SVN_LIB_SERF().

(SVN_SERF_PKG_CONFIG): New function, searches for serf with pkg-config.

(SVN_DOWNLOAD_SERF): New function, friendly message mentioning required serf version.

Require a minimum of serf 1.0.x, though this will switch to 1.1.x

shortly. Remove in-tree builds, in favor of an installed library.

* configure.ac: update minimum serf version to 1.0.0

* build/ac-macros/serf.m4:

(SVN_LIB_SERF): adjust help string, remove serf-0, and remove the

in-tree ("reconfig") builds

  1. … 1 more file in changeset.
Remove unused variables in build system.

* build/ac-macros/apr.m4

(SVN_LIB_APR): Don't set SVN_APR_PREFIX.

* build/ac-macros/aprutil.m4

(SVN_LIB_APRUTIL): Don't set SVN_APRUTIL_PREFIX.

* build/ac-macros/apr_memcache.m4

(SVN_LIB_APR_MEMCACHE): Don't set SVN_APR_MEMCACHE_PREFIX.

* build/ac-macros/serf.m4

(SVN_LIB_SERF): Don't set SVN_SERF_PREFIX.

* build/ac-macros/zlib.m4

(SVN_LIB_Z): Don't set SVN_ZLIB_PREFIX.

* configure.ac: Don't mark SVN_APRUTIL_PREFIX for substitution.

* Makefile.in: Don't set SVN_APR_INCLUDES, SVN_APR_PREFIX,

SVN_APRUTIL_INCLUDES, SVN_APRUTIL_PREFIX, SVN_APR_MEMCACHE_PREFIX,

SVN_APR_MEMCACHE_INCLUDES, SVN_SERF_INCLUDES, SVN_SERF_PREFIX,

SVN_ZLIB_PREFIX and SVN_ZLIB_INCLUDES variables.

  1. … 6 more files in changeset.
Support Serf 2 (current trunk).

* build/ac-macros/serf.m4

(SVN_LIB_SERF): Search for headers/library of Serf 2.

* build/ac-macros/serf.m4

(SVN_LIB_SERF): Search for both serf-0 and serf-1.

Parameterize the serf checking macro to take a minimal version number, rather

than hard-coding it into the macro itself.

* build/ac-macros/serf.m4

(SVN_LIB_SERF): Use the parameter values.

* configure.ac:

Provide a minimal serf version (currently 0.3.1).

  1. … 1 more file in changeset.
Follow up to r987956 by removing useless part of autoconf macro. (m4 sux.)

* build/ac-macros/serf.m4

(SVN_LIB_SERF): Make #error consistent with AC_MSG_WARN notice.

Add a compile-time version check for serf so we can reject old versions.

* build/ac-macros/serf.m4

(SVN_LIB_SERF): Set minimum version to 0.3.1 and ensure we see at least that.

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.
* build/ac-macros/serf.m4

(SVN_LIB_SERF): Properly restore the value of CPPFLAGS after temporarily

changing it. It was needlessly adding SVN_APR_INCLUDES to CPPFLAGS

which was hiding the need of adding SVN_APR_INCLUDES to CPPFLAGS

before using AC_EGREP_CPP in apache.m4, causing r38290 to break

the build without serf.

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

  1. … 16 more files in changeset.
Revert r38164.

Since r38218 buildbots should print the content of 'config.log' which should

allow to quicklier fix possible problems.

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

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

(SVN_MSG_ERROR): New.

* 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:

* configure.ac: Use SVN_MSG_ERROR() instead of AC_MSG_ERROR().

[Reverted in r38285.]

  1. … 16 more files in changeset.
Revert r38152, r38133, r38132, and r38120.

Per our 'build breakage can be immediately reverted" policy, I'm reverting

these revisions which introduced feature regressions in various dependency

detections at configure-time. This is evidenced by at least one buildbot.

  1. … 6 more files in changeset.
Don't set variables which aren't used anywhere.

* build/ac-macros/apr_memcache.m4

(SVN_LIB_APR_MEMCACHE): Don't set SVN_APR_MEMCACHE_EXPORT_LIBS variable.

* build/ac-macros/serf.m4

(SVN_LIB_SERF): Don't set SVN_SERF_EXPORT_LIBS variable.

  1. … 1 more file in changeset.
Try to avoid linking against unused libraries.

Libraries printed by `apr-1-config --libs` / `apu-1-config --libs` might be

needed only for static linking.

[ Reverted in r38164. ]

* build/ac-macros/apr.m4

(SVN_LIB_APR): Remove SVN_APR_LIBS. Rename SVN_APR_EXPORT_LIBS to SVN_APR_LIBS.

Pass the '--libs' option to '$apr_config' only for static linking.

* build/ac-macros/aprutil.m4

(SVN_LIB_APRUTIL): Remove SVN_APRUTIL_LIBS. Rename SVN_APRUTIL_EXPORT_LIBS to

SVN_APRUTIL_LIBS. Pass the '--libs' option to '$apu_config' only for static

linking.

* configure.ac

(Expat): New section which implements the new '--with-expat' option, checks

for Expat and defines SVN_XML_INCLUDES and SVN_XML_LIBS.

* Makefile.in

(SVN_XML_LIBS): Define.

(INCLUDES): Add '@SVN_XML_INCLUDES@'.

* build/ac-macros/apr_memcache.m4

(SVN_LIB_APR_MEMCACHE): Use SVN_APRUTIL_LIBS instead of SVN_APRUTIL_EXPORT_LIBS.

* build/ac-macros/serf.m4

(SVN_LIB_SERF): Use SVN_APR_LIBS instead of SVN_APR_EXPORT_LIBS.

* subversion/bindings/swig/perl/native/Makefile.PL.in: Use SVN_APR_LIBS instead

of SVN_APR_EXPORT_LIBS.

  1. … 6 more files in changeset.
Set svn:eol-style property on some files.

* build/ac-macros/apr_memcache.m4:

* build/ac-macros/ctypesgen.m4:

* build/ac-macros/gssapi.m4:

* build/ac-macros/sasl.m4:

* build/ac-macros/serf.m4:

* build/ac-macros/sqlite.m4:

* build/ac-macros/zlib.m4: Set svn:eol-style property to 'native'.

  1. … 6 more files in changeset.
* build/ac-macros/serf.m4 (SVN_LIB_SERF): Handle the --without-serf case.
Some minor auto-fu cleanups.

* build/ac-macros/sasl.m4:

(SVN_LIB_SASL): I don't have /usr/local and I don't want it in my Makefile.

Be gone!

* build/ac-macros/serf.m4

(SVN_LIB_SERF): Simplify test and eliminate redundant redundancy.

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

(SVN_LIB_SERF): Default to using .la file but if not present, fall back

to a graceful way to build without.

Fix linking against serf on some platforms.

* build/ac-macros/serf.m4: add serf's libdir to LDFLAGS

Make it possible to build Subversion against binary installations of its deps.

* build/ac-macros/neon.m4,

build/ac-macros/serf.m4: Remove the requirement for the libtool archive files

when configured to build against binary installations.

  1. … 1 more file in changeset.
* build/ac-macros/serf.m4: Pass serf's library dependencies to

AC_CHECK_LIB macro.

* configure.in (AC_PREREQ): Require autoconf >= 2.58.

* configure.in:

* 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:

Blind s/AC_HELP_STRING/AS_HELP_STRING/.

  1. … 8 more files in changeset.