From b60172917f0403a4ac83d4862530509b3935ad7b Mon Sep 17 00:00:00 2001 From: eban Date: Thu, 12 Dec 2002 10:21:41 +0000 Subject: * 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. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3138 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 16 ++++++++++++++++ configure.in | 21 ++++++++++++++------- ext/Win32API/extconf.rb | 2 +- lib/mkmf.rb | 6 ++++-- 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 + + * 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 * 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)" -- cgit v1.2.3