configure.ac

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

Changeset 1722164 is being indexed.

Filter out -Wdate-time from SWIG_CPPFLAGS

As part of the reproducible builds effort[0], it's becoming more common to see

-Wdate-time in CPPFLAGS, which is used to seed SWIG_CPPFLAGS. Swig doesn't

understand this switch, so continue the current whack-a-mole approach of

filtering out unsupported switches in SWIG_CPPFLAGS.

[0]: https://reproducible-builds.org/

* configure.ac

(SWIG_CPPFLAGS): Filter out -Wdate-time

* configure.ac: Add -Wno-unused-const-variable as we use const variables

in several internal header files and recent gcc will issue warnings.

* trunk/configure.ac

Fix message to reflect reality (since before 1.0).

Rename the ill-defined SVN_LIBSVN_CLIENT_LINKS_* defines to an

easier to maintain SVN_LIBSVN_RA_LINKS_*. LIBSVN_CLIENT didn't

link any of this since well before 1.0.

* trunk/build/generator/gen_win_dependencies.py

* trunk/configure.ac

* trunk/subversion/libsvn_ra/ra_loader.c

* trunk/subversion/libsvn_ra_local/ra_plugin.c

* trunk/subversion/svn_private_config.hw

Update references.

  1. … 4 more files in changeset.
Merge the 'svnmover' prototype from the 'move-tracking-2' branch to trunk.

See the dev@ email thread "Merge 'svnmover' demo tool to trunk" started on

2015-11-10, archived at e.g. <http://mail-archives.apache.org/mod_mbox/subversion-dev/201511.mbox/%3CCAEcU=1YE5Ci02j_4aAeB_roS1X0H2QWPP3juu0exjVJ-FGCLyg@mail.gmail.com%3E>.

This is a reintegration (performed as an automatic merge) followed by

reverting the unwanted parts. As such, those unwanted parts (such as shim

insertions in several libraries) will be treated as 'record-only merged' and

will not be picked up by any subsequent automatic merge to trunk.

A brief description of the changes follows.

* build.conf

Adjust to build the new files.

* configure.ac

Adjust compiler warning flags to not warn about passing or returning a

structure, because some of the code does so.

* LICENSE

Add the licence text for the embedded 'linenoise' library.

* notes/move-tracking/README

New file, describing this work.

* subversion/include/private/svn_branch.h,

subversion/include/private/svn_branch_compat.h,

subversion/include/private/svn_branch_impl.h,

subversion/include/private/svn_branch_nested.h,

subversion/include/private/svn_branch_repos.h,

subversion/include/private/svn_element.h

New files.

* subversion/libsvn_delta/branch.c,

subversion/libsvn_delta/branch_compat.c,

subversion/libsvn_delta/branch_migrate.c,

subversion/libsvn_delta/branch_nested.c,

subversion/libsvn_delta/branch_repos.c,

subversion/libsvn_delta/element.c

New files.

* subversion/include/private/svn_cmdline_private.h

subversion/libsvn_subr/cmdline.c

(svn_cmdline__stdin_is_a_terminal,

svn_cmdline__stdout_is_a_terminal,

svn_cmdline__stderr_is_a_terminal): New.

* subversion/tests/cmdline/svnmover_tests.py

New file.

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

(run_and_verify_svnmover,

run_and_verify_svnmover2): New.

* subversion/tests/cmdline/svntest/main.py

(svnmover_binary,

run_svnmover): New.

(execute_tests): Initialize 'svnmover_binary'.

* subversion/tests/cmdline/svntest/wc.py

(State): Add 'rename' and 'from_eids' methods.

(StateItem): Add an 'eid' attribute.

* tools/dev/svnmover

New tool.

  1. … 25 more files in changeset.
Use similar detection for a few system headers on Windows and other platforms,

to avoid problems whenever we want to reuse this code and to make it easier

to fix Windows specifics in one place.

* configure.ac

Check for stdint.h instead of the less likely to exist inttypes.h, where

we use the include of stdint.h of.

* subversion/libsvn_subr/utf8proc/utf8proc.h

Use standard defines for the headers we need.

* subversion/svn_private_config.hw

Declare defines for Visual Studio.

  1. … 2 more files in changeset.
Require Python ≥2.7 for Subversion 1.9, part 1: documentation and dependency

version checks.

* INSTALL

(I.C. Dependencies in Detail):

Document that Python 2.7 is required.

Add statement about Python 3.x.

* subversion/tests/cmdline/README,

* subversion/bindings/swig/INSTALL:

Document that Python 2.7 is required.

* autogen.sh,

* build/find_python.sh,

* configure.ac,

* Makefile.in (check),

* subversion/tests/cmdline/svntest/__init__.py:

Update comments, version number checks, and error messages.

  1. … 7 more files in changeset.
Support the --enable-runtime-module-search configure option on Mac OS X.

OSX shared libraries have a MAJOR.SOVERSION.dylib suffix instead of the

MAJOR.so.SOVERSION more common on ELF platforms.

* configure.ac (SVN_DSO_SUFFIX_FMT): New platform-specific variable.

* subversion/libsvn_fs/fs-loader.c (load_module),

* subversion/libsvn_ra/ra_loader.c (load_ra_module):

Use SVN_DSO_SUFFIX_FMT to construct the library name.

  1. … 2 more files in changeset.
Bump required JDK version for JavaHL to 1.6.

* configure.ac (JAVA_OLDEST_WORKING_VER): Set to 1.6.

* build/ac-macros/java.m4 (SVN_FIND_JDK): Set Java source version to 1.6.

* subversion/bindings/javahl/README:

Update JDK and C++ version requirements. Update the rest of the

doc to match the current state of JavaHL.

  1. … 2 more files in changeset.
* configure.ac: Don't add -lstdc++ on FreeBSD 10 as it is not needed and

adding it causes linking to fail.

* configure.ac: Remove SVN_AVOID_CIRCULAR_LINKAGE_AT_ALL_COSTS_HACK, a

followup to r1506554.

* configure.ac: Followup to r1619075, we no longer need to disable the

string-plus-int compiler warning.

* configure.ac

(CMAINTAINERFLAGS): Add -Wbad-function-cast, warnings show up in FSX.

Follow-up to r1572261:

* configure.ac: Actually accept APR/APR-Util 1.6.* - 1.9.*. Delete obsolete comment.

Move SVN_UNUSED into a private header.

* subversion/include/svn_types.h

(SVN_UNUSED): Remove and move to ...

* configure.ac

(AH_BOTTOM): to here ...

* subversion/svn_private_config.hw

(SVN_UNUSED): and here.

  1. … 2 more files in changeset.
Fix GCC's "always_inline function might not be inlinable" warning.

As it turns out, these functions must also be marked as "inline"

if we want to enforce inlining.

Once at it, make the forced inline macro fall back to at least

APR-defined inlining (instead of no decoration at all) if there

is no way to enforce it.

* configure.ac

(AH_BOTTOM): Make SVN__FORCE_INLINE imply APR_INLINE when not in

SVN_DEBUG mode.

* subversion/svn_private_config.hw

(SVN__FORCE_INLINE): Fall back to APR_INLINE in non-SVN_DEBUG mode

when not using Visual C.

  1. … 1 more file in changeset.
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)