diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-12-15 09:56:59 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-12-15 09:56:59 +0000 |
commit | f2bd108d8df6def3ff39674337eb4d40cfb25e3b (patch) | |
tree | 7520d2b73558bb8a6a4973eaf86f861d2c4f3b9b /configure.in | |
parent | c5851d1d6906e130bbb156d9ace962c59c8b0086 (diff) | |
download | ruby-f2bd108d8df6def3ff39674337eb4d40cfb25e3b.tar.gz |
* 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
Diffstat (limited to 'configure.in')
-rw-r--r-- | configure.in | 33 |
1 files changed, 32 insertions, 1 deletions
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)' |