diff -Naur eruby-1.0.5.orig/configure.rb eruby-1.0.5/configure.rb --- eruby-1.0.5.orig/configure.rb 2003-02-10 04:18:10.000000000 +0100 +++ eruby-1.0.5/configure.rb 2010-04-24 22:48:43.000000000 +0200 @@ -59,21 +59,24 @@ end end -require 'ftools' +require 'fileutils' def AC_OUTPUT(*files) + $DEFS ||= "" if $AC_LIST_HEADER - $DEFS = "-DHAVE_CONFIG_H" + $DEFS << " -DHAVE_CONFIG_H" AC_OUTPUT_HEADER($AC_LIST_HEADER) else - $DEFS = $ac_confdefs.collect {|k, v| "-D#{k}=#{v}" }.join(" ") + $DEFS << " " + $ac_confdefs.collect {|k, v| "-D#{k}=#{v}" }.join(" ") end for file in files print "creating ", file, "\n" open(File.join($srcdir, file + ".in")) do |fin| - File.makedirs(File.dirname(file)) + FileUtils.mkdir_p(File.dirname(file)) open(file, "w") do |fout| + depend = false while line = fin.gets + depend = true if /^\#\#\# depend/ =~ line line.gsub!(/@([A-Za-z_]+)@/) do |s| name = $1 if $ac_sed.key?(name) @@ -82,6 +85,7 @@ s end end + line.gsub!(/(\s)([^\s\/]+\.[ch])/, '\1{$(srcdir)}\2') if depend && $nmake fout.print(line) end end @@ -153,13 +157,18 @@ file = File.join(dir, prog) if File.file?(file); then $ac_aux_dir = dir - $ac_install_rb = "#{file} -c" + $ac_install_rb = "$(RUBY) #{file} -c" return end end end end +begin + require "continuation" +rescue LoadError +end + def AC_PROG_INSTALL AC_MSG_CHECKING("for a BSD compatible install") $ac_cv_path_install = callcc { |c| @@ -291,6 +300,13 @@ $AR = CONFIG["AR"] $LD = "$(CC)" $RANLIB = CONFIG["RANLIB"] +$ruby = arg_config("--ruby", File.join(Config::CONFIG["bindir"], CONFIG["ruby_install_name"])) +$RUBY = ($nmake && !$configure_args.has_key?('--ruby')) ? $ruby.gsub(%r'/', '\\') : $ruby +if RUBY_VERSION < "1.8.0" + $RM = 'rm -f' +else + $RM = CONFIG["RM"] || '$(RUBY) -run -e rm -- -f' +end if not defined? CFLAGS CFLAGS = CONFIG["CFLAGS"] @@ -306,7 +322,7 @@ $LDFLAGS = "-link -incremental:no -pdb:none" end $LIBS = CONFIG["LIBS"] -$XLDFLAGS = CONFIG["XLDFLAGS"] +$XLDFLAGS = CONFIG["XLDFLAGS"].to_s $XLDFLAGS.gsub!(/-L\./, "") if /mswin32/ !~ RUBY_PLATFORM $XLDFLAGS += " -L$(libdir)" @@ -333,7 +349,7 @@ $LIBRUBY_A = CONFIG["LIBRUBY_A"] $RUBY_SO_NAME = CONFIG["RUBY_SO_NAME"] -case PLATFORM +case RUBY_PLATFORM when /-aix/ if $RUBY_SHARED $LIBRUBYARG = "-Wl,$(libdir)/" + CONFIG["LIBRUBY_SO"] @@ -349,6 +365,14 @@ end end +$COMPILE_RULES = '' +if defined?(COMPILE_RULES) + COMPILE_RULES.each do |rule| + $COMPILE_RULES << sprintf(rule, 'c', $OBJEXT) + $COMPILE_RULES << sprintf("\n\t%s\n\n", COMPILE_C) + end +end + AC_SUBST("srcdir") AC_SUBST("topdir") AC_SUBST("hdrdir") @@ -375,6 +399,8 @@ AC_SUBST("AR") AC_SUBST("LD") AC_SUBST("RANLIB") +AC_SUBST("RUBY") +AC_SUBST("RM") AC_SUBST("CFLAGS") AC_SUBST("DEFS") @@ -388,6 +414,8 @@ AC_SUBST("EXEEXT") AC_SUBST("DLEXT") +AC_SUBST("COMPILE_RULES") + AC_SUBST("RUBY_INSTALL_NAME") AC_SUBST("LIBRUBYARG") AC_SUBST("LIBRUBYARG_SHARED") @@ -431,7 +459,7 @@ $ENABLE_SHARED = false AC_ENABLE("shared") { |enableval| if enableval == "yes" - if PLATFORM =~ /-mswin32/ + if /-mswin32/ =~ RUBY_PLATFORM AC_MSG_ERROR("can't enable shared on mswin32") end $ENABLE_SHARED = true @@ -449,7 +477,7 @@ if $ENABLE_SHARED $LIBERUBY = "${LIBERUBY_SO}" $LIBERUBYARG = "-L. -leruby" - case PLATFORM + case RUBY_PLATFORM when /-sunos4/ $LIBERUBY_ALIASES = "liberuby.so.$(MAJOR).$(MINOR) liberuby.so" when /-linux/ @@ -457,7 +485,7 @@ $LIBERUBY_ALIASES = "liberuby.so.$(MAJOR).$(MINOR) liberuby.so" when /-(freebsd|netbsd)/ $LIBERUBY_SO = "liberuby.so.$(MAJOR).$(MINOR)" - if PLATFORM =~ /elf/ || PLATFORM =~ /-freebsd[3-9]/ + if /elf/ =~ RUBY_PLATFORM || /-freebsd[3-9]/ =~ RUBY_PLATFORM $LIBERUBY_SO = "liberuby.so.$(MAJOR_MINOR)" $LIBERUBY_ALIASES = "liberuby.so" else @@ -493,7 +521,7 @@ end end -if PLATFORM =~ /-mswin32/ +if /-mswin32/ =~ RUBY_PLATFORM $AR = "lib" $AROPT = "/out:$@" $LIBERUBY_A = "liberuby.lib" @@ -519,7 +547,7 @@ AC_SUBST("AROPT") $EXT_DLDFLAGS = CONFIG["DLDFLAGS"] -if $RUBY_SHARED || RUBY_PLATFORM =~ /mswin32/ +if $RUBY_SHARED || /mswin32/ =~ RUBY_PLATFORM $EXT_LIBRUBYARG = "$(LIBRUBYARG)" else $EXT_LIBRUBYARG = "" .