Author: dsahlberg
Date: Thu Nov 14 09:03:16 2024
New Revision: 1921887

URL: http://svn.apache.org/viewvc?rev=1921887&view=rev
Log:
In tools/dev/unix-build:

Enable building with local swig for 1.14.x and trunk builds.

* Makefile.svn
  - Rename SWIG_OLD_* variables to SWIG_* and swig-old-* targets to swig-*,
    there is nothing inherently old about those.
  - Check for SWIG 3 if building 1.13.x and older.
  - Add --with-swig also for 1.14.x and trunk builds, if SWIG_VER is set.


Modified:
    subversion/trunk/tools/dev/unix-build/Makefile.svn

Modified: subversion/trunk/tools/dev/unix-build/Makefile.svn
URL: 
http://svn.apache.org/viewvc/subversion/trunk/tools/dev/unix-build/Makefile.svn?rev=1921887&r1=1921886&r2=1921887&view=diff
==============================================================================
--- subversion/trunk/tools/dev/unix-build/Makefile.svn (original)
+++ subversion/trunk/tools/dev/unix-build/Makefile.svn Thu Nov 14 09:03:16 2024
@@ -124,7 +124,11 @@ PY3C_VER   = 1.1
 JUNIT_VER      = 4.10
 GETTEXT_VER    = 0.19.8.1
 LZ4_VER                = 1.7.5
-SWIG_OLD_VER   = 3.0.12
+ifeq ($(BRANCH_MAJOR), $(filter 1.5 1.6 1.7 1.8 1.9 1.10 1.11 1.12 1.13, 
$(BRANCH_MAJOR)))
+SWIG_VER       = 3.0.12
+else
+SWIG_VER       =
+endif
 
 # Get local dependency versions
 include Makefile.local
@@ -146,7 +150,7 @@ PY3C_DIST   = py3c-$(PY3C_VER).tar.gz
 JUNIT_DIST     = junit-${JUNIT_VER}.jar
 GETTEXT_DIST   = gettext-$(GETTEXT_VER).tar.gz
 LZ4_DIST       = lz4-$(LZ4_VER).tar.gz
-SWIG_OLD_DIST  = swig-$(SWIG_OLD_VER).tar.gz
+SWIG_DIST      = swig-$(SWIG_VER).tar.gz
 
 SHA256_${BDB_DIST} = 
f14fd96dd38915a1d63dcb94a63fbb8092334ceba6b5060760427096f631263e
 SHA256_${APR_ICONV_DIST} = 
19381959d50c4a5f3b9c84d594a5f9ffb3809786919b3058281f4c87e1f4b245
@@ -208,7 +212,7 @@ DISTFILES   = $(DISTDIR)/$(NEON_DIST) \
                $(DISTDIR)/$(PY3C_DIST) \
                $(DISTDIR)/$(JUNIT_DIST) \
                $(DISTDIR)/$(GETTEXT_DIST) \
-               $(DISTDIR)/$(SWIG_OLD_DIST)
+               $(DISTDIR)/$(SWIG_DIST)
 
 FETCH_CMD      = wget -c
 
@@ -233,7 +237,7 @@ PY3C_URL    = https://stsp.name/distfiles/p
 JUNIT_URL      = https://stsp.name/distfiles/$(JUNIT_DIST)
 GETTEXT_URL    = https://ftp.gnu.org/pub/gnu/gettext/$(GETTEXT_DIST)
 LZ4_URL                = https://github.com/lz4/lz4/archive/v$(LZ4_VER).tar.gz
-SWIG_OLD_URL   = 
https://downloads.sourceforge.net/sourceforge/swig/swig-$(SWIG_OLD_VER).tar.gz
+SWIG_URL       = 
https://downloads.sourceforge.net/sourceforge/swig/swig-$(SWIG_VER).tar.gz
 
 
 BDB_SRCDIR     = $(SRCDIR)/db-$(BDB_VER)
@@ -255,7 +259,7 @@ PYTHON2_SRCDIR      = $(SRCDIR)/Python-$(PYTH
 PY3C_SRCDIR    = $(SRCDIR)/py3c-$(PY3C_VER)
 GETTEXT_SRCDIR = $(SRCDIR)/gettext-$(GETTEXT_VER)
 LZ4_SRCDIR     = ${SRCDIR}/lz4-$(LZ4_VER)
-SWIG_OLD_SRCDIR        = ${SRCDIR}/swig-$(SWIG_OLD_VER)
+SWIG_SRCDIR    = ${SRCDIR}/swig-$(SWIG_VER)
 SVN_SRCDIR     = $(SVN_WC)
 
 BDB_OBJDIR     = $(OBJDIR)/db-$(BDB_VER)
@@ -277,7 +281,7 @@ PYTHON2_OBJDIR      = $(OBJDIR)/python-$(PYTH
 PY3C_OBJDIR    = $(OBJDIR)/py3c-$(PY3C_VER)
 GETTEXT_OBJDIR = $(OBJDIR)/gettext-$(GETTEXT_VER)
 LZ4_OBJDIR     = ${OBJDIR}/lz4-$(LZ4_VER)
-SWIG_OLD_OBJDIR        = ${OBJDIR}/swig-$(SWIG_OLD_VER)
+SWIG_OBJDIR    = ${OBJDIR}/swig-$(SWIG_VER)
 SVN_OBJDIR     = $(OBJDIR)/$(SVN_REL_WC)
 
 # Tweak this for out-of-tree builds. Note that running individual
@@ -306,20 +310,20 @@ all: dirs-create bdb-install apr-install
        pcre-install httpd-install neon-install serf-install \
        sqlite-install cyrus-sasl-install libmagic-install \
        ruby-install bz2-install python-install python2-install py3c-retrieve \
-       gettext-install lz4-install swig-old-install svn-install \
+       gettext-install lz4-install swig-install svn-install \
        svn-bindings-install
 
 # Use these to start a build from the beginning.
 reset: dirs-reset bdb-reset apr-reset iconv-reset apr-util-reset \
        pcre-reset httpd-reset neon-reset serf-reset \
        sqlite-reset cyrus-sasl-reset libmagic-reset ruby-reset python-reset \
-       python2-reset bz2-reset gettext-reset lz4-reset swig-old-reset svn-reset
+       python2-reset bz2-reset gettext-reset lz4-reset swig-reset svn-reset
 
 # Use to save disk space.
 clean: bdb-clean apr-clean iconv-clean apr-util-clean pcre-clean httpd-clean \
        neon-clean serf-clean sqlite-clean cyrus-sasl-clean \
        libmagic-clean ruby-clean bz2-clean python-clean python2-clean \
-       gettext-clean lz4-clean swig-old-clean svn-clean
+       gettext-clean lz4-clean swig-clean svn-clean
 
 # Nukes everything (including installed binaries!)
 # Use this to start ALL OVER AGAIN! Use with caution!
@@ -1654,54 +1658,64 @@ $(LZ4_OBJDIR)/.installed: $(LZ4_OBJDIR)/
        touch $@
 
 #######################################################################
-# swig-old
+# swig
 #######################################################################
 
-swig-old-retrieve:     $(SWIG_OLD_OBJDIR)/.retrieved
-swig-old-configure:    $(SWIG_OLD_OBJDIR)/.configured
-swig-old-compile:      $(SWIG_OLD_OBJDIR)/.compiled
-swig-old-install:      $(SWIG_OLD_OBJDIR)/.installed
-swig-old-reset:
+swig-retrieve: $(SWIG_OBJDIR)/.retrieved
+swig-configure:        $(SWIG_OBJDIR)/.configured
+swig-compile:  $(SWIG_OBJDIR)/.compiled
+swig-install:  $(SWIG_OBJDIR)/.installed
+swig-reset:
        $(foreach f, .retrieved .configured .compiled .installed, \
-               rm -f $(SWIG_OLD_OBJDIR)/$(f);)
+               rm -f $(SWIG_OBJDIR)/$(f);)
 
-swig-old-clean:
-       -(cd $(SWIG_OLD_SRCDIR) && env MAKEFLAGS= $(MAKE) clean)
+swig-clean:
+       -(cd $(SWIG_SRCDIR) && env MAKEFLAGS= $(MAKE) clean)
 
-# fetch distfile for swig-old
-$(DISTDIR)/$(SWIG_OLD_DIST):
-       cd $(DISTDIR) && $(FETCH_CMD) -O $(SWIG_OLD_DIST) $(SWIG_OLD_URL)
+# fetch distfile for swig
+$(DISTDIR)/$(SWIG_DIST):
+ifneq ($(SWIG_VER),)
+       cd $(DISTDIR) && $(FETCH_CMD) -O $(SWIG_DIST) $(SWIG_URL)
+endif
 
-# retrieve swig-old
-$(SWIG_OLD_OBJDIR)/.retrieved: $(DISTDIR)/$(SWIG_OLD_DIST)
-       $(call do_check_sha256,$(SWIG_OLD_DIST))
-       [ -d $(SWIG_OLD_OBJDIR) ] || mkdir -p $(SWIG_OLD_OBJDIR)
-       tar -C $(SRCDIR) -zxf $(DISTDIR)/$(SWIG_OLD_DIST)
+# retrieve swig
+$(SWIG_OBJDIR)/.retrieved: $(DISTDIR)/$(SWIG_DIST)
+ifneq ($(SWIG_VER),)
+       $(call do_check_sha256,$(SWIG_DIST))
+       [ -d $(SWIG_OBJDIR) ] || mkdir -p $(SWIG_OBJDIR)
+       tar -C $(SRCDIR) -zxf $(DISTDIR)/$(SWIG_DIST)
        touch $@
+endif
 
-# configure swig-old
-$(SWIG_OLD_OBJDIR)/.configured: $(SWIG_OLD_OBJDIR)/.retrieved
-       cd $(SWIG_OLD_SRCDIR) \
+# configure swig
+$(SWIG_OBJDIR)/.configured: $(SWIG_OBJDIR)/.retrieved
+ifneq ($(SWIG_VER),)
+       cd $(SWIG_SRCDIR) \
                && env CFLAGS="-g $(PROFILE_CFLAGS)" GREP="`which grep`"\
                CC=$(CC) CXX=$(CXX) \
                LDFLAGS="-L$(PREFIX)/iconv/lib" \
                PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) \
-               $(SWIG_OLD_SRCDIR)/configure \
-               --prefix=$(PREFIX)/swig-old
+               $(SWIG_SRCDIR)/configure \
+               --prefix=$(PREFIX)/swig
        touch $@
+endif
 
-# compile swig-old
-$(SWIG_OLD_OBJDIR)/.compiled: $(SWIG_OLD_OBJDIR)/.configured
-       (cd $(SWIG_OLD_SRCDIR) && \
+# compile swig
+$(SWIG_OBJDIR)/.compiled: $(SWIG_OBJDIR)/.configured
+ifneq ($(SWIG_VER),)
+       (cd $(SWIG_SRCDIR) && \
                env MAKEFLAGS= $(MAKE) CC=$(CC) CXX=$(CXX) \
-                       -j${MAKE_JOBS} PREFIX=$(PREFIX)/swig-old)
+                       -j${MAKE_JOBS} PREFIX=$(PREFIX)/swig)
        touch $@
+endif
 
-# install swig-old
-$(SWIG_OLD_OBJDIR)/.installed: $(SWIG_OLD_OBJDIR)/.compiled
-       (cd $(SWIG_OLD_SRCDIR) && \
-               env MAKEFLAGS= $(MAKE) PREFIX=$(PREFIX)/swig-old install)
+# install swig
+$(SWIG_OBJDIR)/.installed: $(SWIG_OBJDIR)/.compiled
+ifneq ($(SWIG_VER),)
+       (cd $(SWIG_SRCDIR) && \
+               env MAKEFLAGS= $(MAKE) PREFIX=$(PREFIX)/swig install)
        touch $@
+endif
 
 #######################################################################
 # svn
@@ -1757,7 +1771,7 @@ MOD_DONTDOTHAT=modules/svn-$(WC)/mod_don
 LIBMAGIC_FLAG=--with-libmagic=$(PREFIX)/libmagic
 NEON_FLAG=--with-neon="$(PREFIX)/neon"
 JAVAHL_CHECK_TARGET=check-javahl
-SWIG_OLD_FLAG=--with-swig=$(PREFIX)/swig-old/bin/swig
+SWIG_FLAG=--with-swig=$(PREFIX)/swig/bin/swig
 PYTHON_BIN_PATH=$(PREFIX)/python2/bin
 else ifeq ($(BRANCH_MAJOR),1.6)
 BDB_FLAG=db.h:$(PREFIX)/bdb/include:$(PREFIX)/bdb/lib:db-$(BDB_MAJOR_VER)
@@ -1768,7 +1782,7 @@ MOD_DONTDOTHAT=modules/svn-$(WC)/mod_don
 W_NO_SYSTEM_HEADERS=-Wno-system-headers
 NEON_FLAG=--with-neon="$(PREFIX)/neon"
 JAVAHL_CHECK_TARGET=check-javahl
-SWIG_OLD_FLAG=--with-swig=$(PREFIX)/swig-old/bin/swig
+SWIG_FLAG=--with-swig=$(PREFIX)/swig/bin/swig
 PYTHON_BIN_PATH=$(PREFIX)/python2/bin
 else ifeq ($(BRANCH_MAJOR), $(filter 1.8 1.9, $(BRANCH_MAJOR)))
 BDB_FLAG=db.h:$(PREFIX)/bdb/include:$(PREFIX)/bdb/lib:db-$(BDB_MAJOR_VER)
@@ -1780,7 +1794,7 @@ MOD_AUTHZ_SVN=modules/svn-$(WC)/mod_auth
 MOD_DONTDOTHAT=modules/svn-$(WC)/mod_dontdothat.so
 LIBMAGIC_FLAG=--with-libmagic=$(PREFIX)/libmagic
 JAVAHL_CHECK_TARGET=check-all-javahl
-SWIG_OLD_FLAG=--with-swig=$(PREFIX)/swig-old/bin/swig
+SWIG_FLAG=--with-swig=$(PREFIX)/swig/bin/swig
 PYTHON_BIN_PATH=$(PREFIX)/python2/bin
 else ifeq ($(BRANCH_MAJOR), $(filter 1.10 1.11, 1.12, 1.13 $(BRANCH_MAJOR)))
 BDB_FLAG=db.h:$(PREFIX)/bdb/include:$(PREFIX)/bdb/lib:db-$(BDB_MAJOR_VER)
@@ -1795,7 +1809,7 @@ LIBMAGIC_FLAG=--with-libmagic=$(PREFIX)/
 JAVAHL_CHECK_TARGET=check-all-javahl
 LZ4_FLAG=--with-lz4=$(PREFIX)/lz4
 UTF8PROC_FLAG=--with-utf8proc=internal
-SWIG_OLD_FLAG=--with-swig=$(PREFIX)/swig-old/bin/swig
+SWIG_FLAG=--with-swig=$(PREFIX)/swig/bin/swig
 PYTHON_BIN_PATH=$(PREFIX)/python2/bin
 else # 1.14, trunk
 BDB_FLAG=db.h:$(PREFIX)/bdb/include:$(PREFIX)/bdb/lib:db-$(BDB_MAJOR_VER)
@@ -1810,6 +1824,9 @@ LIBMAGIC_FLAG=--with-libmagic=$(PREFIX)/
 JAVAHL_CHECK_TARGET=check-all-javahl
 LZ4_FLAG=--with-lz4=$(PREFIX)/lz4
 UTF8PROC_FLAG=--with-utf8proc=internal
+ifneq ($(SWIG_VER),)
+SWIG_FLAG=--with-swig=$(PREFIX)/swig/bin/swig
+endif
 PYTHON_BIN_PATH=$(PREFIX)/python/bin
 endif
 
@@ -1845,8 +1862,14 @@ $(SVN_OBJDIR)/.configured: $(SVN_OBJDIR)
        $(BDB_OBJDIR)/.installed $(SQLITE_OBJDIR)/.installed \
        $(HTTPD_OBJDIR)/.installed $(CYRUS_SASL_OBJDIR)/.installed \
        $(LIBMAGIC_OBJDIR)/.installed $(NEON_OBJDIR)/.installed \
-       $(SERF_OBJDIR)/.installed \
+       $(SERF_OBJDIR)/.installed $(SWIG_OBJDIR)/.installed \
        $(RUBY_OBJDIR)/.installed $(PYTHON_OBJDIR)/.installed
+ifeq ($(BRANCH_MAJOR), $(filter 1.5 1.6 1.7 1.8 1.9 1.10 1.11 1.12 1.13, 
$(BRANCH_MAJOR)))
+ifneq ($(shell test $(SWIG_VER) \< 4.0 && echo 1), 1)
+       @echo "SWIG 3 is required for Subversion < 1.14"
+       @exit 1
+endif
+endif
        cd $(SVN_SRCDIR) && ./autogen.sh
        $(SWIG_PL_INCLUDES_HACK)
        $(SWIG_PL_LINK_HACK)
@@ -1881,7 +1904,7 @@ $(SVN_OBJDIR)/.configured: $(SVN_OBJDIR)
                        $(LIBMAGIC_FLAG) \
                        $(LZ4_FLAG) \
                        $(UTF8PROC_FLAG) \
-                       $(SWIG_OLD_FLAG) \
+                       $(SWIG_FLAG) \
                        --with-swig-python=$(PYTHON_BIN_PATH)/python \
                        $(SVN_STATIC_FLAG) \
                        $(DISABLE_NEON_VERSION_CHECK)
@@ -2523,8 +2546,8 @@ ifdef LZ4_FLAG
        @echo "lz4:        $(LZ4_VER)"
 endif
        @echo "libssl:     `openssl version`"
-ifdef SWIG_OLD_FLAG
-       @echo "swig:       `$(PREFIX)/swig-old/bin/swig -version | grep Version 
| cut -d' ' -f3`"
+ifdef SWIG_FLAG
+       @echo "swig:       `$(PREFIX)/swig/bin/swig -version | grep Version | 
cut -d' ' -f3`"
 else
        @echo "swig:       `swig -version | grep Version | cut -d' ' -f3`"
 endif


Reply via email to