118 lines
2.8 KiB
Diff
118 lines
2.8 KiB
Diff
Index: configure.rb
|
|
===================================================================
|
|
--- configure.rb (revision 140)
|
|
+++ configure.rb (working copy)
|
|
@@ -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)"
|
|
@@ -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")
|