configure.ac

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

Changeset 1596882 is being indexed.

Allow Swig to use Ruby 2.0 and 2.1.

Patch by: James McCoy <jamessan{_AT_}debian.org>

* build/ac-macros/swig.m4

(SVN_FIND_SWIG): Adjust include path for Ruby 2.

* configure.ac: Allow Ruby 2.0 and 2.1.

  1. … 1 more file in changeset.
Remove absurd warning message for ruby.

* configure.ac:

Ruby 1.9 support is hardly new now and only warning when using exactly 1.9.3

is silly.

Repeat the change made in r1577223, this time also tested on Linux.

Add libintl linker flags to SVN_INTL_LIBS on *nix builds.

Fixes linker flags recorded in libsvn_subr's pkg-config file

which never mentioned -lintl even if required.

* Makefile.in: Define SVN_INTL_LIBS.

* configure.ac: Set SVN_INTL_LIBS to the linker flags required

to link to libintl and export the value of SVN_INTL_LIBS

to the Makefile.

Revert part of r1577223 in an attempt to unbreak the Unix build.

* configure.ac: Don't set SVN_INTL_LIBS thus making it always empty.

Add libintl link flags to SVN_INTL_LIBS on *nix builds.

The SVN_INTL_LIBS variable was referred to but never defined.

* Makefile.in: Define SVN_INTL_LIBS.

* configure.ac: Set SVN_INTL_LIBS to the linker flags required

to link to libintl and export the value of SVN_INTL_LIBS

to the Makefile.

  1. … 1 more file in changeset.
* configure.ac: Don't ignore user-provided LDFLAGS while trying

to detect libmagic. Fixes libmagic detection where configure

relies on LDFLAGS to find libraries in non-standard locations.

* configure.ac: Add quotes around ${abs_srcdir}.

* configure.ac: Tweak .pc generation to handle builddir != srcdir.

Kick off work on pkg-config support (issue #738, and also #4435).

pkg-config support allows API consumers on UNIX-like systems to link

to Subversion libraries without having to manually specify the correct

set of linker flags, including the particular flags for dependencies

required by a particular build of Subversion (bdb, serf, etc.).

pkg-config uses libsvn_foo.pc files which describe the set of flags

required to link to libsvn_foo.

See http://www.freedesktop.org/wiki/Software/pkg-config/ for more information.

Make gen-make.py produce .pc.in files for all Subversion libraries,

and make the configure script produce .pc files from these .pc.in files.

Dependency declarations and linker flags are based on information

parsed from build.conf.

Dependencies of Subversion which support pkg-config can be marked

as such in build.conf, allowing pkg-config to resolve them. The

name of the dependency's pkg-config script has to be specified

without the .pc extension, e.g.:

[gnome-keyring]

type = lib

external-lib = $(SVN_GNOME_KEYRING_LIBS)

pkg-config = gnome-keyring-1

Dependencies not aware of pkg-config are added to linker flags directly.

To illustrate, the generated libsvn_client.pc file on my system contains:

[[[

prefix=/home/stsp/svn/prefix/svn-trunk

exec_prefix=${prefix}

libdir=${exec_prefix}/lib

includedir=${prefix}/include

Name: libsvn_client

Description: Subversion Client Library

Version: 1.9.0

Required: apr-1

Required.private:

Libs: -L${libdir} -lsvn_wc -lsvn_ra -lsvn_delta -lsvn_diff -lsvn_subr

Cflags: -I${includedir}

]]]

There is no support for optional dependencies between Subversion libraries

yet, however. For instance, libsvn_client might or might not be linked to

libsvn_ra_serf. Such dependencies are currently omitted. Also, I'm not

sure yet what to do in cases where a dependency might be statically or

dynamically linked, e.g. sqlite.

The .pc files are not being installed yet. I don't want to expose these

files to systems using pkg-config until all outstanding issues are resolved.

* build/generator/gen_make.py

(Generator.write): Generate .pc.in files.

(Generator.write_pkg_config_dot_in_files): New helper function.

* build/generator/templates/pkg-config.in.ezt: New file, the .pc.in template.

* build.conf: apr, apr-util, serf, gnome-keyring, and sqlite support pkg-config.

There may be others (kwallet?) but I haven't investiged more yet.

I also haven't checked yet if all versions of these dependencies support

pkg-config. The most recent versions do support it.

* configure.ac

(SVN_APR_MAJOR_VERSION): Declare. APR's major version number is needed

to select the correct pkg-config script name (e.g. apr-1 or apr-2).

Generate .pc files from pc.in files.

* subversion/libsvn_auth_gnome_keyring, subversion/libsvn_auth_kwallet,

subversion/libsvn_client, subversion/libsvn_delta, subversion/libsvn_diff,

subversion/libsvn_fs, subversion/libsvn_fs_base, subversion/libsvn_fs_fs,

subversion/libsvn_fs_util, subversion/libsvn_fs_x, subversion/libsvn_ra,

subversion/libsvn_ra_local, subversion/libsvn_ra_serf,

subversion/libsvn_ra_svn, subversion/libsvn_repos, subversion/libsvn_subr,

subversion/libsvn_wc: Ignore generated .pc and .pc.in files.

  1. … 20 more files in changeset.
Quote the libtool path in case it contains spaces.

* configure.ac: Quote when definining since sometimes we specify the shell and

not just the path to libtool.

Don't rely on the presence of stdbool.h and inttypes.h headers for utf8proc.

* configure.ac: Check for stdbool.h and inttypes.h.

* subversion/libsvn_subr/utf8proc/utf8proc.h:

Include stdbool.h and inttypes.h only if we know they're available.

Otherwise, use typedefs based on APR's sized types.

* subversion/libsvn_subr/utf8proc.c:

Move the include of utf8proc.c after svn_private_config.h, so that the

presence symbols for stdbool.h and inttypes.h are available.

  1. … 2 more files in changeset.
Bump required version of Apache httpd to 2.2.x or newer.

* INSTALL: Change from 2.x to 2.2.x or newer.

* configure.ac: Require 2.2.x's module magic number.

  1. … 1 more file in changeset.
* configure.ac: Update require versions of APR/APR-Util to 1.3.x or newer.

* configure.ac: Raise required serf version to 1.3.4 (aka break the buildbots)

Fix accidentally-global variables.

[ Changes to libsvn_subr and named_atomic-test-common.h reverted in r1571500 ]

* configure.ac

(CMAINTAINERFLAGS): Add -Wmissing-variable-declarations.

* subversion/libsvn_fs_fs/hotcopy.c

(hotcopy_body_baton):

* subversion/libsvn_fs_x/hotcopy.c

(hotcopy_body_baton):

* subversion/libsvn_repos/hooks.c

(parse_hooks_env_option_baton, parse_hooks_env_section_baton):

* subversion/libsvn_wc/wc_db.c

(struct op_delete_many_baton_t):

* subversion/svn/file-merge.c

(struct file_merge_baton):

Remove accidental declaration of global variables.

* subversion/libsvn_subr/ctype.c

(svn_ctype_table_internal):

* subversion/svndumpfilter/svndumpfilter.c

(filtering_vtable):

* subversion/svnserve/svnserve.c

(connection_pools, threads):

* subversion/tests/libsvn_fs_x/string-table-test.c

(basic_strings):

* subversion/tests/libsvn_subr/hashdump-test.c

(proplist, new_proplist, review):

* subversion/tests/libsvn_subr/io-test.c

(test_file_definitions_template):

* subversion/tests/libsvn_subr/named_atomic-test-common.h

(name_namespace, name_namespace1, name_namespace2):

* subversion/tests/libsvn_subr/packed-data-test.c

(sub_records, test_data_:

* subversion/tests/libsvn_subr/prefix-string-test.c

(test_cases):

* subversion/tests/libsvn_subr/priority-queue-test.c

(numbers, expected_modified):

* subversion/tests/libsvn_subr/string-test.c

(phrase_1, phrase_2):

* subversion/tests/libsvn_subr/time-test.c

(test_timestamp, test_timestring, test_old_timestring):

* subversion/tests/libsvn_subr/translate-test.c

(base_origin_subtests):

* subversion/tests/svn_test_main.c

(mode_filter):

Make these variables file-static.

* subversion/tests/svn_test_main.c

(test_argc, test_argv):

* tools/server-side/mod_dontdothat/mod_dontdothat.c

(dontdothat_module):

Make these variables truly global by also declaring them extern.

  1. … 21 more files in changeset.
Remove unused --with-openssl configure option, Issue #4456.

This hasn't had a use since 1.7.0 when we removed the ability to build

neon in-tree.

* configure.ac

(): Remove definition of --with-openssl.

Fix building svn trunk on Mac OS X with the gnome keyring lib installed.

Don't check for gnome keyring and kwallet on Mac OS X. While these libraries are

available on the platform - you get libgnome-keyring when installing Gimp via

MacPorts - the auth providers' functions and symbols are currently not declared

on Mac OS X and Windows.

* configure.ac

* build/ac-macros/kwallet.m4: Don't check for kwallet and gnome keyring on

darwin platforms.

  1. … 1 more file in changeset.
Filter out -no-cpp-precomp from flags passed to SWIG.

This is necessary since APR for whatever reason leaks the fact that it uses

-no-cpp-precomp on OS X into apr-1-config. Unfortunately, a lot of versions

of APR have this in the wild so we just have to deal with it. If you use clang

directly you don't see this because we already filter it out of CPPFLAGS.

* Makefile.in

(SWIG_CPPFLAGS): New variable, deliberately pulling in EXTRA_CPPFLAGS and

not EXTRA_SIWG_CPPFLAGS because it would be harmful to split those

(e.g. users wanting to enable a feature that adds an API).

* build.conf

(swig-python-opts, swig-perl-opts, swig-ruby-opts): Use SWIG_CPPFLAGS

instead of CPPFLAGS.

* configure.acc

(SWIG_CPPFLAGS): Add the variable and copy it from the normal CPPFLAGS

while filtering out the -no-cpp-precomp.

  1. … 2 more files in changeset.
* configure.ac

(): don't use the -fwhole-program flag as it is superseded by

-flto and by itself causes issues with llvm

We managed not to propagate configure-time CFLAGS to the makefile.

Fix that, and while there, make sure that gcc/clang-specific compiler

flags (for compilation mode etc.) are only set if Autoconf detects

a GCC-compatible compiler.

* configure.ac (CMAINTAINERFLAGS, CXXMAINTAINERFLAGS): Do not

initialize from environment.

* Makefile.in (CFLAGS): Add substituted CUSERFLAGS to the definition.

(CXXFLAGS): Likewise, with CXXUSERFLAGS.

* build/ac-macros/compiler.m4

(SVN_CC_MODE_SETUP, SVN_CXX_MODE_SETUP): Add specific mode flags

only if the corresponding $GCC or $GXX variable is set.

Substitute CUSERFLAGS and CXXUSERFLAGS.

  1. … 2 more files in changeset.
Fix 'make install' broken by faulty FS_X install dependency.

* configure.ac

(SVN_LIBSVN_FS_LINKS_FS_X): remove bogus dependency;

add comment about the correct one

Merge fsx branch into /trunk with no conflicts.

Remove BRANCH-README.

  1. … 83 more files in changeset.
Remove detection of __builtin_constant_p from the build system. It is unused

as of r1509166.

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

(SVN_CHECK_FOR_DUNDER_BUILTINS): Remove.

* configure.ac

(SVN_HAS_DUNDER_BUILTINS): Remove.

* subversion/svn_private_config.hw

(SVN_HAS_DUNDER_BUILTINS): Remove.

  1. … 2 more files in changeset.
Follow-up to r1508221.

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

(SVN_CHECK_FOR_DUNDER_BUILTINS): make the cross-compile case match the

standard check

* configure.ac

(SVN_CHECK_FOR_DUNDER_BUILTINS): update comment

Found by: danielsh

  1. … 1 more file in changeset.
Follow-up to r1507366: svn_hash_gets: compute the length of string literal

keys (common case) at compile-time, without multiply-evaluating dynamically-

computed keys.

Review by: philip

breser

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

(SVN_CHECK_FOR_DUNDER_BUILTINS): New macro.

* configure.ac:

Call SVN_CHECK_FOR_DUNDER_BUILTINS() and set -D SVN_HAS_DUNDER_BUILTINS.

* subversion/include/svn_hash.h

(svn_hash_gets): Use __builtin_choose_expr() and __builtin_constant_p(),

when available.

  1. … 2 more files in changeset.
Tweak the cxxhl/Googlemock build.

* build.conf

(cxxhl-test): Add apr to libs.

* configure.ac

(gmock): Make behaviour match help text, i.e. enabled by default

with --disable-gmock to disable.

  1. … 1 more file in changeset.
Followup to r1461851 and its merge to trunk in r1502712:

Fix the while() construction to properly have parens. We should not

rely on the macro expression to provide parentheses.

Fix the non-GCC expansion of SVN__PREDICT_*() to actually perform the

test(!).

* configure.ac:

(svn_private_config:SVN__PREDICT_*): default to (x)

* subversion/libsvn_subr/compress.c:

(svn__decode_uint): add parens for the while() statement.

  1. … 1 more file in changeset.
Cherrypick merge c1442910,1443171 from the fsfs-format7 branch

to /trunk and resolve a trivial tree conflict.

This move svn__(de)compress from libsvn_delta to libsvn_subr and

makes the API slightly more symmetric by using stringbuf for in and

out parameters.

  1. … 8 more files in changeset.
Silence some compiler warnings.

* configure.ac

(--enable-maintainer-mode): Suppress -Wstring-plus-int.

* subversion/include/private/svn_ra_svn_private.h

* subversion/libsvn_ra_svn/marshal.c

(svn_ra_svn__write_data_log_entry): Change type of a parameter to match what

the caller has.

* subversion/svnserve/serve.c

(log_receiver): Avoid up- then down-casting an integer.

* subversion/libsvn_client/merge.c

(find_gaps_in_merge_source_history): Use the correct variant of abs().

* subversion/libsvn_ra_serf/property.c

(parse_status_code, propfind_closed): Since we use a function that returns

an int64 to parse, just use a 64-bit return type, too. That avoids

an implicit downcast.

* subversion/svnadmin/svnadmin.c

(subcommand_info): Use the correct integer type.

  1. … 6 more files in changeset.
Reintegrate the gtest_addition branch to trunk and convert the result to

use Googlemock and begin writing a Googlemock/Googletest-based test suite

for C++HL.

* .: Ignore gmock-fused instead of gtest.

* INSTALL: Note optional dependency on Googlemock.

* get-deps.sh: Rename all getst to gmock and implement Googlemock downloader.

* build.conf (cxxhl-tests): Depend on libgmock and make conditional.

(libgmock): New target.

* configure.ac: Check for Googlemock.

(GMOCK_SRCDIR, SVN_USE_GMOCK): New substituted variables.

* Makefile.in (SVN_USE_GMOCK, GMOCK_INCLUDES, CNOWARNFLAGS, CXXNOWARNFLAGS):

Expand configure variables.

(COMPILE_NOWARN, COMPILE_CXX_NOWARN, LT_COMPILE_CXX_NOWARN):

New generic compilation rules.

(COMPILE_CXXHL_CXX): Rewrite in terms of LT_COMPILE_CXX.

(COMPILE_GMOCK_CXX, COMPILE_CXXHL_GMOCK_CXX): New rules.

* gen-make.py: Add placeholder for --disable-gmock option.

* build/generator/gen_base.py (TargetLinked): Make .cc a source file extension.

* doc/programmer/gtest-guide.txt: New.

* subversion/bindings/cxxhl/tests/cxxhl-tests.cpp,

subversion/bindings/cxxhl/tests/test_aprwrap.cpp: New test suite files.

* subversion/bindings/cxxhl/tests/test_exception.cpp: Temporarily disable.

* tools/dist/make-deps-tarball.sh:

Mergeinfo was updated as a side effect of the merge.

  1. … 12 more files in changeset.