From f2bd108d8df6def3ff39674337eb4d40cfb25e3b Mon Sep 17 00:00:00 2001 From: nobu Date: Sat, 15 Dec 2007 09:56:59 +0000 Subject: * configure.in (enc/Makefile): add external encoding objects list. * common.mk (BUILTIN_ENCOBJS): renamed from ENCOBJS. * Makefile.in (BUILTIN_ENCOBJS): substitued by autoconf. * enc/Makefile.in: new file to compile external encoding sources. * encoding.c (rb_enc_find_index): auto-load external encoding objects as "ext/ENCODING_NAME". [ruby-dev:32606] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14238 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- configure.in | 33 ++++++++++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) (limited to 'configure.in') diff --git a/configure.in b/configure.in index 469de63449..fb0994cb60 100644 --- a/configure.in +++ b/configure.in @@ -1203,6 +1203,7 @@ n=`expr "$DLEXT2" : '.*'`; test "$n" -gt "$len" && len=$n AC_DEFINE_UNQUOTED(DLEXT_MAXLEN, `expr $len + 1`) test ".$DLEXT" = "." || AC_DEFINE_UNQUOTED(DLEXT, ".$DLEXT") test ".$DLEXT2" = "." || AC_DEFINE_UNQUOTED(DLEXT2, ".$DLEXT2") +AC_SUBST(DLEXT) AC_SUBST(STRIP)dnl if test "$with_dln_a_out" = yes; then @@ -1578,7 +1579,7 @@ AC_SUBST(EXPORT_PREFIX) AC_SUBST(MINIOBJS) AC_SUBST(THREAD_MODEL) -MAKEFILES="Makefile `echo $FIRSTMAKEFILE | sed 's/:.*//'`" +MAKEFILES="Makefile `echo $FIRSTMAKEFILE | sed 's/:.*//'` enc/GNUmakefile" MAKEFILES="`echo $MAKEFILES`" AC_SUBST(MAKEFILES) @@ -1734,7 +1735,37 @@ else fi tr -d '\015' < largefile.h > confdefs.h +test -d enc || mkdir enc +BUILTIN_ENCS="`sed -n '/^BUILTIN_ENCS[ ]*=/{s///;:l;/\\\\$/N;s/\\\\\\n/ /;t l;p}' \"${srcdir}/enc/Makefile.in\"`" +BUILTIN_ENCS="`echo $BUILTIN_ENCS`" +EXTERNAL_ENCS= +for e in "${srcdir}/enc"/*.c; do + e=`basename "$e" .c` + case " $BUILTIN_ENCS " in + *" $e "*) ;; + *) EXTERNAL_ENCS="$EXTERNAL_ENCS $e";; + esac +done +echo $EX +BUILTIN_ENCOBJS= +for e in $BUILTIN_ENCS; do BUILTIN_ENCOBJS="$BUILTIN_ENCOBJS $e"'.$(OBJEXT)'; done +EXTERNAL_ENCOBJS= +for e in $EXTERNAL_ENCS; do EXTERNAL_ENCOBJS="$EXTERNAL_ENCOBJS $e"'.$(OBJEXT)'; done +ENCSOS= +for e in $EXTERNAL_ENCS; do ENCSOS="$ENCSOS "'$(ENCSODIR)/'"$e"'.$(DLEXT)'; done + +AC_SUBST(BUILTIN_ENCOBJS) +AC_SUBST(EXTERNAL_ENCOBJS) +AC_SUBST(ENCSOS) + AC_CONFIG_FILES($FIRSTMAKEFILE) +AC_CONFIG_FILES(enc/Makefile, [{ + for e in $ENCS; do + echo '' + echo '$(ENCSODIR)/'"$e"'.$(DLEXT): '"$e"'.$(OBJEXT)' + echo ' $(LDSHARED) $(DLDFLAGS) $< $(OUTFLAG)$''@' + done >> enc/Makefile +}], [ENCS="$EXTERNAL_ENCS"]) AC_CONFIG_FILES(Makefile, [{ sed '/^MISSING/s/\$U\././g' Makefile echo; test x"$EXEEXT" = x || echo 'miniruby: miniruby$(EXEEXT)' -- cgit v1.2.3