[前][次][番号順一覧][スレッド一覧]

ruby-changes:27203

From: knu <ko1@a...>
Date: Fri, 15 Feb 2013 22:27:42 +0900 (JST)
Subject: [ruby-changes:27203] knu:r39255 (trunk): Fix CFLAGS and CXXFLAGS in RbConfig::CONFIG on FreeBSD and NetBSD/amd64.

knu	2013-02-15 22:25:28 +0900 (Fri, 15 Feb 2013)

  New Revision: 39255

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=39255

  Log:
    Fix CFLAGS and CXXFLAGS in RbConfig::CONFIG on FreeBSD and NetBSD/amd64.
    
    * configure.in: Fix a bug introduced in r38342 that the cflagspat
      substitution is messed up by the way CFLAGS and optflags are
      modified, which affected FreeBSD and NetBSD/amd64 when
      configured to use libexecinfo.  This bug resulted in CFLAGS and
      CXXFLAGS in RbConfig::CONFIG having warnflags expanded in them,
      forcing third-party C/C++ extensions to follow what warnflags
      demands, like ANSI/ISO-C90 conformance.  ref [Bug #7101]

  Modified files:
    trunk/ChangeLog
    trunk/configure.in

Index: configure.in
===================================================================
--- configure.in	(revision 39254)
+++ configure.in	(revision 39255)
@@ -2421,8 +2421,15 @@ AS_CASE(["$target_cpu-$target_os"], https://github.com/ruby/ruby/blob/trunk/configure.in#L2421
 	execinfo_frame_pointer=no
 	RUBY_TRY_CFLAGS(-fno-omit-frame-pointer, [execinfo_frame_pointer=yes])
 	if test "x$execinfo_frame_pointer" = xyes; then
-	    optflags="${optflags+$optflags }-fno-omit-frame-pointer"
-	    CFLAGS="$CFLAGS -fno-omit-frame-pointer"
+	    # optflags must be manipulated very carefully.  For the
+	    # later cflagspat/cxxflagspat substitution to work, CFLAGS
+	    # and CXXFLAGS must start exactly with the value of
+	    # optflags.
+	    CFLAGS="${CFLAGS# }"; CFLAGS="${CFLAGS#"$optflags "}"
+	    CXXFLAGS="${CXXFLAGS# }"; CXXFLAGS="${CXXFLAGS#"$optflags "}"
+	    RUBY_APPEND_OPTION(optflags, -fno-omit-frame-pointer)
+	    CFLAGS=" $optflags $CFLAGS"
+	    CXXFLAGS=" $optflags $CXXFLAGS"
 	fi
     fi])
 AC_CHECK_FUNCS(backtrace)
Index: ChangeLog
===================================================================
--- ChangeLog	(revision 39254)
+++ ChangeLog	(revision 39255)
@@ -1,3 +1,13 @@ https://github.com/ruby/ruby/blob/trunk/ChangeLog#L1
+Fri Feb 15 22:21:37 2013  Akinori MUSHA  <knu@i...>
+
+	* configure.in: Fix a bug introduced in r38342 that the cflagspat
+	  substitution is messed up by the way CFLAGS and optflags are
+	  modified, which affected FreeBSD and NetBSD/amd64 when
+	  configured to use libexecinfo.  This bug resulted in CFLAGS and
+	  CXXFLAGS in RbConfig::CONFIG having warnflags expanded in them,
+	  forcing third-party C/C++ extensions to follow what warnflags
+	  demands, like ANSI/ISO-C90 conformance.  ref [Bug #7101]
+
 Fri Feb 15 20:29:11 2013  Tanaka Akira  <akr@f...>
 
 	* ext/socket/sockport.h (SET_SIN_LEN): defined for strict-aliasing

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]