jerenkrantz 2003/04/24 01:08:33
Modified: . CHANGES Makefile.in buildconf configure.in
build .cvsignore apr-iconv.m4
ccs Makefile.in
ces Makefile.in
lib Makefile.in
util Makefile.in
Removed: . Makefile Makefile.inc Makefile.new
build rules.mk.in
ccs Makefile Makefile.new
ces Makefile Makefile.new
lib Makefile Makefile.new
util Makefile Makefile.new
Log:
Overhaul the apr-iconv build system and bring it in line with the rest of APR.
apr-iconv now builds and installs for me on Darwin. No comment on whether
what installs works.
If someone wants libtool-1.3, they can figure out the bits to tweak.
Revision Changes Path
1.8 +4 -2 apr-iconv/CHANGES
Index: CHANGES
===================================================================
RCS file: /home/cvs/apr-iconv/CHANGES,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -u -r1.7 -r1.8
--- CHANGES 24 Mar 2003 00:37:49 -0000 1.7
+++ CHANGES 24 Apr 2003 08:08:31 -0000 1.8
@@ -1,6 +1,8 @@
-Changes with APR-ICONV 0.9.3
+Changes with APR-ICONV 0.9.4
+ *) A third pass at a build system. [Justin Erenkrantz]
+Changes with APR-ICONV 0.9.3
Changes with APR-ICONV 0.9.2
@@ -15,4 +17,4 @@
[jean-frederic clere <[EMAIL PROTECTED]>]
*) Source moved from the apr library into it's own repository
- due to size concerns. Still requires portability overhaul.
\ No newline at end of file
+ due to size concerns. Still requires portability overhaul.
1.5 +17 -19 apr-iconv/Makefile.in
Index: Makefile.in
===================================================================
RCS file: /home/cvs/apr-iconv/Makefile.in,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -u -r1.4 -r1.5
--- Makefile.in 21 Jun 2001 09:06:49 -0000 1.4
+++ Makefile.in 24 Apr 2003 08:08:31 -0000 1.5
@@ -1,20 +1,20 @@
#
# Top-level Makefile for APRICONV
#
-TARGET_LIB = lib/libapriconv.la
-TARGET_EXPORTS = lib/apriconv.exports
-
-TARGETS = delete-lib $(TARGET_LIB) delete-exports $(TARGET_EXPORTS)
[EMAIL PROTECTED]@
[EMAIL PROTECTED]@
+VPATH = @srcdir@
# bring in rules.mk for standard functionality
@INCLUDE_RULES@
-SUBDIRS = lib ccs ces util
-CLEAN_SUBDIRS = . lib ccs ces util
+SUBDIRS = lib ccs ces
+CLEAN_SUBDIRS = . lib ccs ces
+
+TARGET_LIB = lib/libapriconv.la
CLEAN_TARGETS = $(TARGET_EXPORTS)
-DISTCLEAN_TARGETS = config.cache config.log config.status \
- export_vars.sh
+DISTCLEAN_TARGETS = config.cache config.log config.status export_vars.sh
EXTRACLEAN_TARGETS = configure libtool aclocal.m4
### install location
@@ -24,6 +24,7 @@
[EMAIL PROTECTED]@
[EMAIL PROTECTED]@
+MKINSTALLDIRS=$(abs_srcdir)/build/mkdir.sh
delete-lib:
@if test -f $(TARGET_LIB); then \
@@ -37,26 +38,24 @@
install: $(TARGET_LIB)
if [ ! -d $(includedir) ]; then \
- @APR_SOURCE_DIR@/build/mkdir.sh $(includedir); \
+ $(MKINSTALLDIRS) $(includedir); \
fi; \
- cp lib/*.h $(includedir); \
+ cp -p $(abs_srcdir)/lib/*.h $(includedir); \
+ cp -p $(abs_builddir)/lib/*.h $(includedir); \
if [ ! -d $(lib_prefix) ]; then \
- @APR_SOURCE_DIR@/build/mkdir.sh $(lib_prefix); \
+ $(MKINSTALLDIRS) $(lib_prefix); \
fi; \
$(LIBTOOL) --mode=install cp $(TARGET_LIB) $(lib_prefix)
if [ ! -d $(libdir) ]; then \
- @APR_SOURCE_DIR@/build/mkdir.sh $(libdir); \
+ $(MKINSTALLDIRS) $(libdir); \
fi; \
- (cd ccs; $(LIBTOOL) --mode=install cp *.la $(libdir))
- (cd ces; $(LIBTOOL) --mode=install cp *.la $(libdir))
+ (cd ccs; for i in *.la; do $(LIBTOOL) --mode=install cp $$i $(libdir);
done)
+ (cd ces; for i in *.la; do $(LIBTOOL) --mode=install cp $$i $(libdir);
done)
if [ ! -d $(exec_prefix) ]; then \
- @APR_SOURCE_DIR@/build/mkdir.sh $(exec_prefix); \
+ $(MKINSTALLDIRS) $(exec_prefix); \
fi; \
(cd util/.libs; $(LIBTOOL) --mode=install cp iconv $(exec_prefix))
-$(TARGET_LIB):
- (cd lib; make)
-
delete-exports:
@if test -f $(TARGET_EXPORTS); then \
headers="`find lib/*.h -newer $(TARGET_EXPORTS)`" ; \
@@ -73,6 +72,5 @@
docs:
mkdir ./docs
perl @APR_SOURCE_DIR@/build/scandoc.pl -i./build/default.pl -p./docs/
./lib/*.h
-
.PHONY: delete-lib delete-exports
1.2 +49 -25 apr-iconv/buildconf
Index: buildconf
===================================================================
RCS file: /home/cvs/apr-iconv/buildconf,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -u -r1.1 -r1.2
--- buildconf 23 Mar 2003 00:08:48 -0000 1.1
+++ buildconf 24 Apr 2003 08:08:31 -0000 1.2
@@ -1,35 +1,59 @@
#!/bin/sh
-#
-# Build aclocal.m4 from libtool's libtool.m4 and our own M4 files.
-#
-libtoolize=`../apr/build/PrintPath glibtoolize libtoolize`
-if [ "x$libtoolize" = "x" ]; then
- echo "libtoolize not found in path"
- exit 1
+# Default place to look for apr source. Can be overridden with
+# --with-apr=[directory]
+apr_src_dir=../apr
+
+while test $# -gt 0
+do
+ # Normalize
+ case "$1" in
+ -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+ *) optarg= ;;
+ esac
+
+ case "$1" in
+ --with-apr=*)
+ apr_src_dir=$optarg
+ ;;
+ esac
+
+ shift
+done
+
+if test -d "$apr_src_dir"
+then
+ echo ""
+ echo "Looking for apr source in $apr_src_dir"
+else
+ echo ""
+ echo "Problem finding apr source in $apr_src_dir."
+ echo "Use:"
+ echo " --with-apr=[directory]"
+ exit 1
fi
-ltpath=`dirname $libtoolize`
-ltfile=`cd $ltpath/../share/aclocal ; pwd`/libtool.m4
-echo "Incorporating $ltfile into aclocal.m4 ..."
-echo "dnl THIS FILE IS AUTOMATICALLY GENERATED BY buildconf.sh" > aclocal.m4
-echo "dnl edits here will be lost" >> aclocal.m4
-cat build/apr-iconv.m4 >> aclocal.m4
-cat $ltfile >> aclocal.m4
-#
-# Create the libtool helper files
-#
-# Note: we always replace the files, and we copy (rather than link) them.
-#
-echo "Copying libtool helper files ..."
-$libtoolize --force --copy
+# Remove some files, then copy them from apr source tree
+rm -f build/apr_common.m4 build/find_apr.m4 build/install.sh \
+ build/config.guess build/config.sub build/mkdir.sh
+cp $apr_src_dir/build/apr_common.m4 $apr_src_dir/build/find_apr.m4 \
+ $apr_src_dir/build/install.sh $apr_src_dir/build/config.guess \
+ $apr_src_dir/build/config.sub $apr_src_dir/build/mkdir.sh build
+
+# Remove aclocal.m4 as it'll break some builds...
+rm -rf aclocal.m4 autom4te*.cache
#
-# Generate the autoconf header (include/apu_config.h) and ./configure
+# Generate the autoconf header and ./configure
#
-echo "Creating include/private/apu_config.h ..."
-autoheader
+echo "Creating lib/apr_iconv_private.h ..."
+${AUTOHEADER:-autoheader}
echo "Creating configure ..."
### do some work to toss config.cache?
-autoconf
+if ${AUTOCONF:-autoconf}; then
+ :
+else
+ echo "autoconf failed"
+ exit 1
+fi
1.7 +32 -43 apr-iconv/configure.in
Index: configure.in
===================================================================
RCS file: /home/cvs/apr-iconv/configure.in,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -u -r1.6 -r1.7
--- configure.in 12 Feb 2003 20:36:11 -0000 1.6
+++ configure.in 24 Apr 2003 08:08:31 -0000 1.7
@@ -3,64 +3,54 @@
dnl
AC_PREREQ(2.13)
-AC_INIT(build/rules.mk.in)
+AC_INIT(Makefile.in)
-AC_CONFIG_AUX_DIR(../apr/build)
+AC_CONFIG_AUX_DIR(build)
AC_CONFIG_HEADER(lib/apr_iconv_private.h)
AC_PREFIX_DEFAULT(/usr/local/apache2)
-#test "$prefix" = "NONE" && prefix='/usr/local/apache2'
-AC_PROG_CC
+sinclude(build/apr-iconv.m4)
+sinclude(build/apr_common.m4)
+sinclude(build/find_apr.m4)
+
+dnl This is required by autoconf!
AC_PROG_AWK
-AC_CHECK_PROG(RM, rm, rm)
-dnl
dnl compute the top directory of the build
-dnl note: this is needed for LIBTOOL
-dnl
-top_builddir="`cd $srcdir ; pwd`"
-AC_SUBST(top_builddir)
+abs_srcdir=`(cd $srcdir && pwd)`
+abs_builddir=`pwd`
+top_builddir="$abs_builddir"
-dnl check for APR
-APU_FIND_APR
-aprbuild=$APR_SOURCE_DIR/build
+AC_SUBST(abs_srcdir)
+AC_SUBST(abs_builddir)
+AC_SUBST(top_builddir)
-dnl
-dnl set up the compilation flags and stuff
-dnl
-INCLUDES="$INCLUDES -I\$(top_builddir)/lib"
+if test "$abs_builddir" != "$abs_srcdir"; then
+ USE_VPATH=1
+fi
-INCLUDES="$INCLUDES -I$APR_INCLUDES"
+dnl check for APR
+API_FIND_APR
-dnl
-dnl prep libtool
-dnl
-echo "performing libtool configuration..."
-AC_PROG_LIBTOOL
+dnl copy apr's rules.mk into our build directory.
+if test ! -d $abs_builddir/build ; then
+ mkdir $abs_builddir/build
+fi
+cp $APR_BUILD_DIR/apr_rules.mk $abs_builddir/build/rules.mk
-$SHELL $aprbuild/ltconfig --output=shlibtool --disable-static
--srcdir=$aprbuild --cache-file=./config.cache $aprbuild/ltmain.sh
dnl
-dnl grab flags from APR.
-dnl ### APR doesn't have "nice" names for its exports (yet), but it isn't
-dnl ### a problem to deal with them right here
+dnl set up the compilation flags and stuff
dnl
+API_INCLUDES="-I$abs_builddir/lib -I$abs_builddir/include"
+if test -n "$USE_VPATH"; then
+ API_INCLUDES="$API_INCLUDES -I$abs_srcdir/lib -I$abs_srcdir/include"
+fi
-. "$APR_SOURCE_DIR/APRVARS"
-APR_EXPORT_CPPFLAGS="$EXTRA_CPPFLAGS"
-APR_EXPORT_CFLAGS="$EXTRA_CFLAGS"
-APR_EXPORT_LIBS="$EXTRA_LIBS"
+AC_SUBST(API_INCLUDES)
-dnl
-dnl Prep all the flags and stuff for compilation and export to other builds
-dnl
-CFLAGS="$CFLAGS $INCLUDES $APR_EXPORT_CFLAGS $APR_EXPORT_CPPFLAGS"
-LIBS="$LIBS $APR_EXPORT_LIBS"
-
-AC_SUBST(APRUTIL_EXPORT_LIBS)
+AC_SUBST(APR_SO_EXT)
-dnl
dnl Adds in config *.h file
-dnl
AC_DEFINE_UNQUOTED(ICONV_DEFAULT_PATH,"$prefix/lib/iconv",
[ Directory where the *.so tables are stored ] )
iconv_libdir=$prefix/lib/iconv
@@ -71,10 +61,10 @@
dnl
case "$host_alias" in
*bsdi*)
- INCLUDE_RULES=".include \"$top_builddir/build/rules.mk\""
+ INCLUDE_RULES=".include \"$abs_builddir/build/rules.mk\""
;;
*)
- INCLUDE_RULES="include $top_builddir/build/rules.mk"
+ INCLUDE_RULES="include $abs_builddir/build/rules.mk"
;;
esac
AC_SUBST(INCLUDE_RULES)
@@ -87,5 +77,4 @@
ces/Makefile
lib/Makefile
util/Makefile
- build/rules.mk
])
1.2 +6 -1 apr-iconv/build/.cvsignore
Index: .cvsignore
===================================================================
RCS file: /home/cvs/apr-iconv/build/.cvsignore,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -u -r1.1 -r1.2
--- .cvsignore 22 May 2001 13:45:28 -0000 1.1
+++ .cvsignore 24 Apr 2003 08:08:31 -0000 1.2
@@ -1 +1,6 @@
-rules.mk
+apr_common.m4
+config.guess
+config.sub
+find_apr.m4
+install.sh
+mkdir.sh
1.2 +26 -33 apr-iconv/build/apr-iconv.m4
Index: apr-iconv.m4
===================================================================
RCS file: /home/cvs/apr-iconv/build/apr-iconv.m4,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -u -r1.1 -r1.2
--- apr-iconv.m4 24 Mar 2001 04:15:45 -0000 1.1
+++ apr-iconv.m4 24 Apr 2003 08:08:31 -0000 1.2
@@ -1,43 +1,36 @@
-
dnl
dnl custom autoconf rules for APRICONV
dnl
dnl
-dnl APU_FIND_APR: figure out where APR is located
-dnl that a copy from apr-util...
+dnl API_FIND_APR: figure out where APR is located
dnl
-AC_DEFUN(APU_FIND_APR,[
+AC_DEFUN(API_FIND_APR,[
-AC_MSG_CHECKING(for APR)
-AC_ARG_WITH(apr,
-[ --with-apr=DIR path to APR source or the APR includes],
-[
- if test "$withval" = "yes"; then
- AC_MSG_ERROR(You need to specify a directory with --with-apr)
- fi
- absdir="`cd $withval ; pwd`"
- if test -f "$absdir/apr_pools.h"; then
- APR_INCLUDES="$absdir"
- elif test -f "$absdir/include/apr_pools.h"; then
- APR_SOURCE_DIR="$absdir"
- fi
-],[
- dnl see if we can find APR
- if test -f "$srcdir/apr/include/apr_pools.h"; then
- APR_SOURCE_DIR="$srcdir/apr"
- elif test -f "$srcdir/../apr/include/apr_pools.h"; then
- APR_SOURCE_DIR="`cd $srcdir/../apr ; pwd`"
- fi
-])
-if test -n "$APR_SOURCE_DIR"; then
- APR_INCLUDES="$APR_SOURCE_DIR/include"
-fi
-if test -z "$APR_INCLUDES"; then
- AC_MSG_RESULT(not found)
+ dnl use the find_apr.m4 script to locate APR. sets apr_found and apr_config
+ APR_FIND_APR
+ if test "$apr_found" = "no"; then
AC_MSG_ERROR(APR could not be located. Please use the --with-apr option.)
-fi
-AC_MSG_RESULT($APR_INCLUDES)
+ fi
+
+ APR_BUILD_DIR="`$apr_config --installbuilddir`"
+
+ dnl make APR_BUILD_DIR an absolute directory (we'll need it in the
+ dnl sub-projects in some cases)
+ APR_BUILD_DIR="`cd $APR_BUILD_DIR && pwd`"
+
+ APR_INCLUDES="`$apr_config --includes`"
+ APR_LIBS="`$apr_config --link-libtool --libs`"
+ APR_SO_EXT="`$apr_config --apr-so-ext`"
+ APR_LIB_TARGET="`$apr_config --apr-lib-target`"
+
+ AC_SUBST(APR_INCLUDES)
+ AC_SUBST(APR_LIBS)
+ AC_SUBST(APR_SO_EXT)
+ AC_SUBST(APR_LIB_TARGET)
-AC_SUBST(APR_SOURCE_DIR)
+ dnl ### would be nice to obsolete these
+ APR_SOURCE_DIR="`$apr_config --srcdir`"
+ AC_SUBST(APR_BUILD_DIR)
+ AC_SUBST(APR_SOURCE_DIR)
])
1.2 +7 -3 apr-iconv/ccs/Makefile.in
Index: Makefile.in
===================================================================
RCS file: /home/cvs/apr-iconv/ccs/Makefile.in,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -u -r1.1 -r1.2
--- Makefile.in 24 Mar 2001 04:15:45 -0000 1.1
+++ Makefile.in 24 Apr 2003 08:08:31 -0000 1.2
@@ -1,3 +1,6 @@
+VPATH = @srcdir@
+INCLUDES = @API_INCLUDES@ @APR_INCLUDES@
+
CHARSETS_ISO8859 = iso-8859-1.la iso-8859-2.la iso-8859-4.la iso-8859-5.la \
iso-8859-15.la
CHARSETS_PC = cp775.la cp850.la cp852.la cp855.la cp866.la
@@ -51,9 +54,10 @@
RFC1345_MISC = dec-mcs.la hp-roman8.la iso646-dk.la iso646-kr.la
macintosh.la
RFC1345_ALL = ${RFC1345_PC} ${RFC1345_EBCDIC} ${RFC1345_IR}
${RFC1345_MISC}
-MODULES = ${CHARSETS_ALL} ${EXTRA_ALL} ${RFC1345_ALL}
-
-all: ${MODULES}
+TARGETS = ${CHARSETS_ALL} ${EXTRA_ALL} ${RFC1345_ALL}
# bring in rules.mk for standard functionality
@INCLUDE_RULES@
+
+%.la: %.lo
+ $(LIBTOOL) --mode=link $(COMPILE) -module -avoid-version -rpath
@iconv_libdir@ $(LT_LDFLAGS) $(ALL_LDFLAGS) -o $@ $<
1.2 +7 -2 apr-iconv/ces/Makefile.in
Index: Makefile.in
===================================================================
RCS file: /home/cvs/apr-iconv/ces/Makefile.in,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -u -r1.1 -r1.2
--- Makefile.in 24 Mar 2001 04:15:45 -0000 1.1
+++ Makefile.in 24 Apr 2003 08:08:31 -0000 1.2
@@ -1,3 +1,6 @@
+VPATH = @srcdir@
+INCLUDES = @API_INCLUDES@ @APR_INCLUDES@
+
MODULES_CORE= _tbl_simple.la euc-jp.la euc-kr.la euc-tw.la gb2312.la \
iso-10646-ucs-2.la iso-10646-ucs-4.la \
ucs2-internal.la ucs4-internal.la utf-8.la utf-16.la
@@ -5,9 +8,11 @@
MODULES_EXTRA = unicode-1-1-utf-7.la iso-2022-cn.la iso-2022-jp.la \
iso-2022-jp-2.la iso-2022-kr.la
-MODULES = ${MODULES_CORE} ${MODULES_EXTRA}
-all: ${MODULES}
+TARGETS = ${MODULES_CORE} ${MODULES_EXTRA}
# bring in rules.mk for standard functionality
@INCLUDE_RULES@
+
+%.la: %.lo
+ $(LIBTOOL) --mode=link $(COMPILE) -module -avoid-version -rpath
@iconv_libdir@ $(LT_LDFLAGS) $(ALL_LDFLAGS) -o $@ $<
1.3 +19 -11 apr-iconv/lib/Makefile.in
Index: Makefile.in
===================================================================
RCS file: /home/cvs/apr-iconv/lib/Makefile.in,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -u -r1.2 -r1.3
--- Makefile.in 30 Mar 2001 17:20:52 -0000 1.2
+++ Makefile.in 24 Apr 2003 08:08:32 -0000 1.3
@@ -1,14 +1,22 @@
# Generated automatically from Makefile.in by configure.
-libdir = /usr/local/lib
+VPATH = @srcdir@
+
+INCLUDES = @API_INCLUDES@ @APR_INCLUDES@
+
TARGET_LIB = libapriconv.la
-TARGET_EXPORTS = apriconv.exports
-OBJECTS= iconv_module.lo iconv.lo iconv_int.lo iconv_uc.lo \
- iconv_ces.lo iconv_ces_euc.lo iconv_ces_iso2022.lo
-
-$(TARGET_LIB): $(OBJECTS)
- $(LINK) -rpath $(libdir) $(OBJECTS)
-
-all: $(TARGET_LIB)
-
-# bring in rules.mk for standard functionality
+SUBDIRS = .
+
+# May need to do something for apriconv.exports
+TARGETS = iconv_module.lo iconv.lo iconv_int.lo iconv_uc.lo \
+ iconv_ces.lo iconv_ces_euc.lo iconv_ces_iso2022.lo $(TARGET_LIB)
+
+#OBJECTS=
+
+# bring in rules.mk for standard functionality
@INCLUDE_RULES@
+
+$(TARGET_LIB):
+ @objects="`find $(SUBDIRS) -name '[EMAIL PROTECTED]@' -print`"; \
+ tmpcmd="$(LINK) @APR_LIB_TARGET@"; \
+ echo $$tmpcmd; \
+ $$tmpcmd && touch $@
1.4 +6 -5 apr-iconv/util/Makefile.in
Index: Makefile.in
===================================================================
RCS file: /home/cvs/apr-iconv/util/Makefile.in,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -u -r1.3 -r1.4
--- Makefile.in 4 Apr 2001 15:17:55 -0000 1.3
+++ Makefile.in 24 Apr 2003 08:08:32 -0000 1.4
@@ -1,13 +1,14 @@
-TARGETS =
+VPATH = @srcdir@
+INCLUDES = @API_INCLUDES@ @APR_INCLUDES@
+
PROGRAMS = iconv
+TARGETS = $(PROGRAMS)
-# bring in rules.mk for standard functionality
+# bring in rules.mk for standard functionality
@INCLUDE_RULES@
-all: $(PROGRAMS)
-
iconv_OBJECTS = iconv.lo iconv_stream.lo
-iconv_LDADD = ../lib/libapriconv.la ../../apr/libapr.la
+iconv_LDADD = ../lib/libapriconv.la @APR_LIBS@
iconv: $(iconv_OBJECTS) $(iconv_LDADD)
$(LINK) $(iconv_OBJECTS) $(iconv_LDADD) $(LIBS)