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

[email protected]
Newsgroups gmane.comp.version-control.subversion.svn
Message-ID <[email protected]>
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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.