You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by st...@apache.org on 2010/05/20 02:38:20 UTC

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

Author: stsp
Date: Thu May 20 00:38:20 2010
New Revision: 946493

URL: http://svn.apache.org/viewvc?rev=946493&view=rev
Log:
* tools/dev/unix-build/Makefile.svn: Bump some dependencies to newer versions.
   Also, switch to using GNU iconv because I had trouble running the swig
   bindings tests using APR-iconv (some weird problem with loading APR-iconv's
   shared library modules with dlopen which only happened during the bindings
   tests for some reason). APR-iconv can still be used if preferred by
   toggling a flag at the top of the Makefile.

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=946493&r1=946492&r2=946493&view=diff
==============================================================================
--- subversion/trunk/tools/dev/unix-build/Makefile.svn (original)
+++ subversion/trunk/tools/dev/unix-build/Makefile.svn Thu May 20 00:38:20 2010
@@ -32,6 +32,7 @@ ENABLE_PYTHON_BINDINGS ?= yes
 ENABLE_RUBY_BINDINGS ?= yes
 ENABLE_PERL_BINDINGS ?= yes
 ENABLE_JAVA_BINDINGS ?= no # they don't build with thread-less APR...
+USE_APR_ICONV ?= no # set to yes to use APR iconv instead of GNU iconv
 
 PWD		= $(shell pwd)
 
@@ -53,17 +54,19 @@ SRCDIR		= $(PWD)/src
 OBJDIR		= $(PWD)/objdir
 
 BDB_MAJOR_VER	= 4.8
-BDB_VER		= $(BDB_MAJOR_VER).26
-APR_VER		= 1.3.9
+BDB_VER		= $(BDB_MAJOR_VER).30
+APR_VER		= 1.4.2
 APR_ICONV_VER	= 1.2.1
+GNU_ICONV_VER	= 1.13.1
 APR_UTIL_VER	= 1.3.9
-HTTPD_VER	= 2.2.14
+HTTPD_VER	= 2.2.15
 NEON_VER	= 0.29.3
 SERF_VER	= 0.6.1
-SQLITE_VER	= 3.6.22
+SQLITE_VER	= 3.6.23.1
 
 BDB_DIST	= db-$(BDB_VER).tar.gz
 APR_ICONV_DIST	= apr-iconv-$(APR_ICONV_VER).tar.gz
+GNU_ICONV_DIST	= libiconv-$(GNU_ICONV_VER).tar.gz
 NEON_DIST	= neon-$(NEON_VER).tar.gz
 SERF_DIST	= serf-$(SERF_VER).tar.gz
 SQLITE_DIST	= sqlite-$(SQLITE_VER).tar.gz
@@ -73,7 +76,8 @@ DISTFILES	= $(DISTDIR)/$(NEON_DIST) \
 		$(DISTDIR)/$(SERF_DIST) \
 		$(DISTDIR)/$(SQLITE_DIST) \
 		$(DISTDIR)/$(HTTPD_DIST) \
-		$(DISTDIR)/$(APR_ICONV_DIST)
+		$(DISTDIR)/$(APR_ICONV_DIST) \
+		$(DISTDIR)/$(GNU_ICONV_DIST)
 
 FETCH_CMD	= wget -c
 
@@ -81,6 +85,7 @@ SUBVERSION_REPOS_URL = https://svn.apach
 BDB_URL		= http://download.oracle.com/berkeley-db/$(BDB_DIST)
 APR_URL		= http://svn.apache.org/repos/asf/apr/apr
 APR_ICONV_URL	= ftp://ftp.fu-berlin.de/unix/www/apache/apr/$(APR_ICONV_DIST)
+GNU_ICONV_URL	= ftp://ftp.fu-berlin.de/unix/gnu/libiconv/$(GNU_ICONV_DIST)
 APR_UTIL_URL	= http://svn.apache.org/repos/asf/apr/apr-util
 HTTPD_URL	= http://archive.apache.org/dist/httpd/$(HTTPD_DIST)
 NEON_URL	= http://webdav.org/neon/$(NEON_DIST)
@@ -90,6 +95,7 @@ SQLITE_URL	= http://www.sqlite.org/$(SQL
 BDB_SRCDIR	= $(SRCDIR)/db-$(BDB_VER)
 APR_SRCDIR	= $(SRCDIR)/apr-$(APR_VER)
 APR_ICONV_SRCDIR	= $(SRCDIR)/apr-iconv-$(APR_ICONV_VER)
+GNU_ICONV_SRCDIR	= $(SRCDIR)/libiconv-$(GNU_ICONV_VER)
 APR_UTIL_SRCDIR	= $(SRCDIR)/apr-util-$(APR_UTIL_VER)
 HTTPD_SRCDIR	= $(SRCDIR)/httpd-$(HTTPD_VER)
 NEON_SRCDIR	= $(SRCDIR)/neon-$(NEON_VER)
@@ -100,6 +106,7 @@ SVN_SRCDIR	= $(SVN_WC)
 BDB_OBJDIR	= $(OBJDIR)/db-$(BDB_VER)
 APR_OBJDIR	= $(OBJDIR)/apr-$(APR_VER)
 APR_ICONV_OBJDIR	= $(OBJDIR)/apr-iconv-$(APR_ICONV_VER)
+GNU_ICONV_OBJDIR	= $(OBJDIR)/libiconv-$(GNU_ICONV_VER)
 APR_UTIL_OBJDIR	= $(OBJDIR)/apr-util-$(APR_UTIL_VER)
 HTTPD_OBJDIR	= $(OBJDIR)/httpd-$(HTTPD_VER)
 NEON_OBJDIR	= $(OBJDIR)/neon-$(NEON_VER)
@@ -118,16 +125,16 @@ svn_builddir	?=$(SVN_WC)
 
 .PHONY: all reset clean nuke
 
-all: dirs-create bdb-install apr-install apr-iconv-install apr-util-install \
+all: dirs-create bdb-install apr-install iconv-install apr-util-install \
 	httpd-install neon-install serf-install sqlite-install svn-install \
 	svn-bindings-install
 
 # Use these to start a build from the beginning.
-reset: dirs-reset bdb-reset apr-reset apr-iconv-reset apr-util-reset \
+reset: dirs-reset bdb-reset apr-reset iconv-reset apr-util-reset \
 	httpd-reset neon-reset serf-reset sqlite-reset svn-reset
 
 # Use to save disc space.
-clean: bdb-clean apr-clean apr-iconv-clean apr-util-clean httpd-clean \
+clean: bdb-clean apr-clean iconv-clean apr-util-clean httpd-clean \
 	neon-clean serf-clean svn-clean
 
 # Nukes everything (including installed binaries!)
@@ -303,6 +310,64 @@ $(APR_ICONV_OBJDIR)/.installed: $(APR_IC
 	touch $@
 
 #######################################################################
+# gnu-iconv
+#######################################################################
+
+gnu-iconv-retrieve:	$(GNU_ICONV_OBJDIR)/.retrieved
+gnu-iconv-configure:	$(GNU_ICONV_OBJDIR)/.configured
+gnu-iconv-compile:	$(GNU_ICONV_OBJDIR)/.compiled
+gnu-iconv-install:	$(GNU_ICONV_OBJDIR)/.installed
+gnu-iconv-reset:
+	$(foreach f, .retrieved .configured .compiled .installed, \
+		rm -f $(GNU_ICONV_OBJDIR)/$(f);)
+
+gnu-iconv-clean:
+	-(cd $(GNU_ICONV_OBJDIR) && make clean)
+
+# fetch distfile for gnu-iconv
+$(DISTDIR)/$(GNU_ICONV_DIST):
+	cd $(DISTDIR) && $(FETCH_CMD) $(GNU_ICONV_URL)
+
+# retrieve gnu-iconv
+$(GNU_ICONV_OBJDIR)/.retrieved: $(DISTDIR)/$(GNU_ICONV_DIST)
+	[ -d $(GNU_ICONV_OBJDIR) ] || mkdir -p $(GNU_ICONV_OBJDIR)
+	tar -C $(SRCDIR) -zxf $(DISTDIR)/$(GNU_ICONV_DIST)
+	touch $@
+
+# configure gnu-iconv
+$(GNU_ICONV_OBJDIR)/.configured: $(GNU_ICONV_OBJDIR)/.retrieved
+	cd $(GNU_ICONV_OBJDIR) \
+		&& env CFLAGS="-g" $(GNU_ICONV_SRCDIR)/configure \
+		--prefix=$(PREFIX)/iconv
+	touch $@
+
+# compile gnu-iconv
+$(GNU_ICONV_OBJDIR)/.compiled: $(GNU_ICONV_OBJDIR)/.configured
+	(cd $(GNU_ICONV_OBJDIR) && make)
+	touch $@
+
+# install gnu-iconv
+$(GNU_ICONV_OBJDIR)/.installed: $(GNU_ICONV_OBJDIR)/.compiled
+	(cd $(GNU_ICONV_OBJDIR) && make install)
+	touch $@
+
+#######################################################################
+# iconv
+#######################################################################
+
+.PHONY: iconv-install iconv-reset iconv-clean
+
+ifeq ($(USE_APR_ICONV),yes)
+iconv-install: apr-iconv-install
+iconv-reset: apr-iconv-reset
+iconv-clean: apr-iconv-clean
+else
+iconv-install: gnu-iconv-install
+iconv-reset: gnu-iconv-reset
+iconv-clean: gnu-iconv-clean
+endif
+
+#######################################################################
 # apr-util
 #######################################################################
 
@@ -327,6 +392,12 @@ $(APR_UTIL_OBJDIR)/.retrieved:
 	fi
 	touch $@
 
+ifeq ($(USE_APR_ICONV),yes)
+ICONV_FLAG=--with-iconv=$(PREFIX)/apr
+else
+ICONV_FLAG=--with-iconv=$(PREFIX)/iconv
+endif
+
 # configure apr-util
 $(APR_UTIL_OBJDIR)/.configured: $(APR_UTIL_OBJDIR)/.retrieved
 	cd $(APR_UTIL_SRCDIR) && ./buildconf --with-apr=$(APR_SRCDIR)
@@ -337,7 +408,7 @@ $(APR_UTIL_OBJDIR)/.configured: $(APR_UT
 		--enable-maintainer-mode \
 		--with-apr=$(PREFIX)/apr \
 		--with-berkeley-db=$(PREFIX)/bdb \
-		--with-iconv=$(PREFIX)/apr
+		$(ICONV_FLAG)
 	touch $@
 
 # compile apr-util
@@ -628,7 +699,7 @@ $(SVN_OBJDIR)/.configured: $(SVN_OBJDIR)
 	cd $(SVN_SRCDIR) && ./autogen.sh
 	cd $(svn_builddir) && \
 		env LDFLAGS="-L$(PREFIX)/neon/lib -L$(PREFIX)/apr/lib" \
-			LD_LIBRARY_PATH="$(PREFIX)/bdb/lib:$$LD_LIBRARY_PATH" \
+			LD_LIBRARY_PATH="$(PREFIX)/bdb/lib:$(PREFIX)/iconv/lib:$$LD_LIBRARY_PATH" \
 			$(SVN_SRCDIR)/configure \
 			--enable-maintainer-mode \
 			--with-ssl \
@@ -746,7 +817,7 @@ httpd-conf:
 	echo "</Location>" >> $(HTTPD_CHECK_CONF)
 
 # We need this to make sure some targets below pick up the right libraries
-LD_LIBRARY_PATH=$(PREFIX)/apr/lib:$(PREFIX)/bdb/lib:$(PREFIX)/neon/lib:$(PREFIX)/serf/lib:$(PREFIX)/sqlite/lib:$(PREFIX)/svn-$(WC)/lib
+LD_LIBRARY_PATH=$(PREFIX)/apr/lib:$(PREFIX)/iconv/lib:$(PREFIX)/bdb/lib:$(PREFIX)/neon/lib:$(PREFIX)/serf/lib:$(PREFIX)/sqlite/lib:$(PREFIX)/svn-$(WC)/lib
 
 .PHONY: start-svnserve stop-svnserve start-httpd stop-httpd