summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog16
-rw-r--r--configure.in21
-rw-r--r--ext/Win32API/extconf.rb2
-rw-r--r--lib/mkmf.rb6
4 files changed, 35 insertions, 10 deletions
diff --git a/ChangeLog b/ChangeLog
index a9da009790..1308aa40e3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,19 @@
+Thu Dec 12 18:19:14 2002 WATANABE Hirofumi <eban@ruby-lang.org>
+
+ * configure.in (RUBY_PROG_GNU_LD): add $CFLAGS, $CPPFLAGS, $LDFLAGS
+ to the option of $CC.
+
+ * configure.in: set LIBRUBYARG to '-l$(RUBY_SO_NAME)' if the
+ target os is cygwin and --disable-shared option is supplied.
+
+ * lib/mkmf.rb (init_mkmf): expand config["LIBRUBY"] and
+ config["LIBRUBY_A"]. don't link $LIBRUBYARG_STATIC if
+ --disable-shared option is supplied.
+
+ * configure.in (RUBY_CPPOUTFILE): should be a better message.
+
+ * ext/Win32API/extconf.rb: join with a space.
+
Thu Dec 12 17:27:19 2002 Yukihiro Matsumoto <matz@ruby-lang.org>
* re.c (rb_reg_hash): define Regexp#hash to make regexps to be
diff --git a/configure.in b/configure.in
index df9a331e62..2765072790 100644
--- a/configure.in
+++ b/configure.in
@@ -18,18 +18,24 @@ test "$rb_cv_mingw32" = yes && target_os="mingw32"
esac])
AC_DEFUN(RUBY_CPPOUTFILE,
+[AC_CACHE_CHECK(whether ${CPP} accepts -o, rb_cv_cppoutfile,
[cppflags=$CPPFLAGS
-AC_CACHE_CHECK(whether ${CPP} accepts -o, rb_cv_cppoutfile,
-[CPPFLAGS='-o conftest.i'
-AC_TRY_CPP([], rb_cv_cppoutfile="$CPPFLAGS", rb_cv_cppoutfile=' >conftest.i')
+CPPFLAGS='-o conftest.i'
+AC_TRY_CPP([], rb_cv_cppoutfile=yes, rb_cv_cppoutfile=no)
+CPPFLAGS=$cppflags
rm -f conftest*])
-CPPOUTFILE="$rb_cv_cppoutfile"
-AC_SUBST(CPPOUTFILE)
-CPPFLAGS=$cppflags])
+if test "$rb_cv_cppoutfile" = yes; then
+ CPPOUTFILE='-o conftest.i'
+elif test "$rb_cv_cppoutfile" = no; then
+ CPPOUTFILE='> conftest.i'
+elif test -n "$rb_cv_cppoutfile"; then
+ CPPOUTFILE="$rb_cv_cppoutfile"
+fi
+AC_SUBST(CPPOUTFILE)])
AC_DEFUN(RUBY_PROG_GNU_LD,
[AC_CACHE_CHECK(whether the linker is GNU ld, rb_cv_prog_gnu_ld,
-[if `$CC --print-prog-name=ld` -v 2>&1 | grep "GNU ld" > /dev/null; then
+[if `$CC $CFLAGS $CPPFLAGS $LDFLAGS --print-prog-name=ld` -v 2>&1 | grep "GNU ld" > /dev/null; then
rb_cv_prog_gnu_ld=yes
else
rb_cv_prog_gnu_ld=no
@@ -1161,6 +1167,7 @@ case "$target_os" in
LIBRUBY_SO=dummy
LIBRUBY_DLDFLAGS=''
LIBRUBY='lib$(RUBY_SO_NAME).a'
+ LIBRUBYARG='-l$(RUBY_SO_NAME)'
fi
LIBRUBY_ALIASES=''
FIRSTMAKEFILE=GNUmakefile:cygwin/GNUmakefile.in
diff --git a/ext/Win32API/extconf.rb b/ext/Win32API/extconf.rb
index d7658cfff8..8117a38720 100644
--- a/ext/Win32API/extconf.rb
+++ b/ext/Win32API/extconf.rb
@@ -2,7 +2,7 @@ require 'mkmf'
if have_header("windows.h") and have_library("kernel32")
if Config::CONFIG["CC"] =~ /gcc/
- $CFLAGS += "-fno-defer-pop -fno-omit-frame-pointer"
+ $CFLAGS += " -fno-defer-pop -fno-omit-frame-pointer"
end
create_makefile("Win32API")
end
diff --git a/lib/mkmf.rb b/lib/mkmf.rb
index 42d96ef590..bf661346bf 100644
--- a/lib/mkmf.rb
+++ b/lib/mkmf.rb
@@ -767,6 +767,7 @@ all: $(DLLIB)
end
def init_mkmf(config = CONFIG)
+ $enable_shared = config['ENABLE_SHARED'] == 'yes'
$defs = []
$CFLAGS = with_config("cflags", arg_config("CFLAGS", config["CFLAGS"])).dup
$CPPFLAGS = with_config("cppflags", arg_config("CPPFLAGS", config["CPPFLAGS"])).dup
@@ -776,16 +777,17 @@ def init_mkmf(config = CONFIG)
$LIBEXT = config['LIBEXT'].dup
$OBJEXT = config["OBJEXT"].dup
$LIBS = "#{config['LIBS']} #{config['DLDLIBS']}"
- $LIBRUBYARG = config['LIBRUBYARG']
+ $LIBRUBYARG = ""
$LIBRUBYARG_STATIC = config['LIBRUBYARG_STATIC']
$LIBRUBYARG_SHARED = config['LIBRUBYARG_SHARED']
$LIBPATH = []
$objs = nil
$libs = ""
- if config['ENABLE_SHARED'] == 'yes' or config["LIBRUBY"] != config["LIBRUBY_A"]
+ if $enable_shared or Config.expand(config["LIBRUBY"].dup) != Config.expand(config["LIBRUBY_A"].dup)
$LIBPATH = ["$(topdir)"]
$LIBPATH.unshift("$(libdir)") unless $extmk or defined? CROSS_COMPILING
+ $LIBRUBYARG = config['LIBRUBYARG']
end
$LIBPATH << "$(archdir)"