From: SHIROYAMA Takayuki Date: 1999-06-29T10:59:36+09:00 Subject: [ruby-dev:7253] Re: Ruby 1.3.4-990625 白山です。 NeXTSTEP/MacOS X Server で mkmf.rbを使えるように する為のパッチです。(インストールの時には何故か問題 なかったので気が付かなかったのですが、mkmf.rbを使う と実はmakeできないMakefileを作ってました ) 修正点としては、 ・ mkmf.rb内の変数 CFLAGSに -archフラグがはいらない ようにする ・ Makefileに出力する LIBSに -lc がはいらないようにする ・ .m (Obj-Cの接尾子)もソースファイルとして認識させる ・ -rhapsodyでも -nextstepと同じように、ldではなく cc -r を使うようにする ・ configure.inの私の恥づいミスを直す の4点です diff -rcN ruby-1.3.4-990625.orig/lib/mkmf.rb ruby-1.3.4-990625/lib/mkmf.rb *** ruby-1.3.4-990625.orig/lib/mkmf.rb Fri Jun 25 17:00:54 1999 --- ruby-1.3.4-990625/lib/mkmf.rb Tue Jun 29 10:49:25 1999 *************** *** 54,59 **** --- 54,61 ---- CFLAGS = CONFIG["CFLAGS"] if PLATFORM == "m68k-human" CFLAGS.gsub!(/-c..-stack=[0-9]+ */, '') + elsif PLATFORM =~ /-nextstep|-rhapsody/ + CFLAGS.gsub!( /-arch\s\w*/, '' ); end if /win32|djgpp|mingw32|m68k-human|i386-os2_emx/i =~ PLATFORM $null = open("nul", "w") *************** *** 98,103 **** --- 100,106 ---- cfile.print src cfile.close begin + xsystem(format(CPP, $CFLAGS, opt)) ensure system "rm -f conftest*" *************** *** 335,343 **** end unless $objs then ! $objs = Dir["*.{c,cc}"] for f in $objs ! f.sub!(/\.(c|cc)$/, ".o") end end $objs = $objs.join(" ") --- 338,346 ---- end unless $objs then ! $objs = Dir["*.{c,cc,m}"] for f in $objs ! f.sub!(/\.(c|cc|m)$/, ".o") end end $objs = $objs.join(" ") *************** *** 409,414 **** --- 412,419 ---- mfile.printf "ar cru $(DLLIB) $(OBJS)\n" when /-nextstep/ mfile.printf "cc -r $(CFLAGS) -o $(DLLIB) $(OBJS)\n" + when /-rhapsody/ + mfile.printf "cc -r $(CFLAGS) -o $(DLLIB) $(OBJS)\n" else mfile.printf "ld $(DLDFLAGS) -r -o $(DLLIB) $(OBJS)\n" end *************** *** 459,465 **** end end ! $libs = PLATFORM =~ /cygwin32|beos/ ? nil : "-lc" $objs = nil $LOCAL_LIBS = "" $CFLAGS = "" --- 464,470 ---- end end ! $libs = PLATFORM =~ /cygwin32|beos|rhapsody|nextstep/ ? nil : "-lc" $objs = nil $LOCAL_LIBS = "" $CFLAGS = "" diff -rcN ruby-1.3.4-990625.orig/configure.in ruby-1.3.4-990625/configure.in *** ruby-1.3.4-990625.orig/configure.in Fri Jun 25 17:43:49 1999 --- ruby-1.3.4-990625/configure.in Tue Jun 29 10:48:42 1999 *************** *** 39,57 **** case "$host_os" in rhapsody*) echo -n "MacOS X Server: " ! if test "$TARGET_ARCHS" = "" ; then ! TARGET_ARCHS="ppc i386" ! fi ;; nextstep*|openstep*) - echo -n "NeXTSTEP/OPENSTEP: " - - if test "$host_os" = "rhapsody" ; then - echo -n "Rhapsody: " - if test "$TARGET_ARCHS" = "" ; then - TARGET_ARCHS="ppc i486" - fi - else echo -n "NeXTSTEP/OPENSTEP: " if test "$TARGET_ARCHS" = "" ; then if test `/usr/bin/arch` = "m68k" ; then --- 39,49 ---- case "$host_os" in rhapsody*) echo -n "MacOS X Server: " ! if test "$TARGET_ARCHS" = "" ; then ! TARGET_ARCHS="ppc i386" ! fi ;; nextstep*|openstep*) echo -n "NeXTSTEP/OPENSTEP: " if test "$TARGET_ARCHS" = "" ; then if test `/usr/bin/arch` = "m68k" ; then *************** *** 60,66 **** TARGET_ARCHS="m68k `/usr/bin/arch`" fi fi - fi ;; esac # /usr/lib/arch_tool -archify_list $TARGET_ARCHS --- 52,57 ----