Cleanup MIPS preconfigure script

Message ID 1410284684.2740.162.camel@ubuntu-sellcey
State Committed
Headers

Commit Message

Steve Ellcey Sept. 9, 2014, 5:44 p.m. UTC
  On Tue, 2014-09-09 at 17:24 +0000, Joseph S. Myers wrote:
> On Tue, 9 Sep 2014, Adhemerval Zanella wrote:
> 
> > And patch 0febba23ddabcd971be5259ee20236b9e3efa690 broke powerpc64 configure:
> 
> Steve, you need to put preconfigure back inside a case statement so 
> nothing runs for non-mips* machines.
> 

Ack, I didn't realize that was necessary.  Here is a patch to fix that,
should I go ahead and check it in?  I also made the capitalization
changes that Maciej recommended.

Steve Ellcey
sellcey@mips.com


2014-09-09  Steve Ellcey  <sellcey@mips.com>

	* sysdeps/mips/preconfigure: Put code inside mips* case statement.
	Fix capitalization of error message.


 
-if test "$abiflag" != "_ABIO32" -a "$mips16flag" = "1"; then
-	as_fn_error $? "mips16 is only supported with the O32 ABI." "$LINENO"
5
-fi
+	if test "$abiflag" != "_ABIO32" -a "$mips16flag" = "1"; then
+		as_fn_error $? "MIPS16 is only supported with the o32 ABI." "$LINENO"
5
+	fi
+	;;
+esac
  

Comments

Joseph Myers Sept. 9, 2014, 5:48 p.m. UTC | #1
On Tue, 9 Sep 2014, Steve Ellcey wrote:

> On Tue, 2014-09-09 at 17:24 +0000, Joseph S. Myers wrote:
> > On Tue, 9 Sep 2014, Adhemerval Zanella wrote:
> > 
> > > And patch 0febba23ddabcd971be5259ee20236b9e3efa690 broke powerpc64 configure:
> > 
> > Steve, you need to put preconfigure back inside a case statement so 
> > nothing runs for non-mips* machines.
> > 
> 
> Ack, I didn't realize that was necessary.  Here is a patch to fix that,
> should I go ahead and check it in?  I also made the capitalization
> changes that Maciej recommended.

Yes, please commit.
  
Steve Ellcey Sept. 9, 2014, 6:01 p.m. UTC | #2
On Tue, 2014-09-09 at 17:48 +0000, Joseph S. Myers wrote:

> > 
> > Ack, I didn't realize that was necessary.  Here is a patch to fix that,
> > should I go ahead and check it in?  I also made the capitalization
> > changes that Maciej recommended.
> 
> Yes, please commit.

OK, I have commited the new patch.  Hopefully that fixes everything. I
didn't realize that all the preconfigure scripts get run when building
so it never occurred to me that changing something under sysdeps/mips
would affect non-mips platforms.  Sorry for the breakage.

Steve Ellcey
sellcey@mips.com
  

Patch

diff --git a/sysdeps/mips/preconfigure b/sysdeps/mips/preconfigure
index fb572d7..c118592 100644
--- a/sysdeps/mips/preconfigure
+++ b/sysdeps/mips/preconfigure
@@ -1,24 +1,29 @@ 
-abiflag=`$CC $CFLAGS $CPPFLAGS -E -dM -xc /dev/null | sed -n
's/^#define _MIPS_SIM \(.*\)/\1/p'`
-mips16flag=`$CC $CFLAGS $CPPFLAGS -E -dM -xc /dev/null | sed -n
's/^#define __mips16 \(.*\)/\1/p'`
+case "$machine" in
+mips*)
+	abiflag=`$CC $CFLAGS $CPPFLAGS -E -dM -xc /dev/null | sed -n
's/^#define _MIPS_SIM \(.*\)/\1/p'`
+	mips16flag=`$CC $CFLAGS $CPPFLAGS -E -dM -xc /dev/null | sed -n
's/^#define __mips16 \(.*\)/\1/p'`
 
-base_machine=mips
-if test "$abiflag" = "_ABIO32" ; then
-	if test "$mips16flag" = "1" ; then
-		machine=mips/mips32/mips16
+	base_machine=mips
+	if test "$abiflag" = "_ABIO32" ; then
+		if test "$mips16flag" = "1" ; then
+			machine=mips/mips32/mips16
+		else
+			machine=mips/mips32
+		fi
+	elif test "$abiflag" = "_ABIN32" ; then
+		machine=mips/mips64/n32
+	elif test "$abiflag" = "_ABI64" ; then
+		machine=mips/mips64/n64
 	else
-		machine=mips/mips32
+		as_fn_error $? "Unable to determine ABI." "$LINENO" 5
 	fi
-elif test "$abiflag" = "_ABIN32" ; then
-	machine=mips/mips64/n32
-elif test "$abiflag" = "_ABI64" ; then
-	machine=mips/mips64/n64
-else
-	as_fn_error $? "Unable to determine ABI." "$LINENO" 5
-fi
-# $config_machine is not really needed here but the slash after
$machine is
-# needed by the case statement in
sysdeps/unix/sysv/linux/mips/configure.ac.
-machine=$machine/$config_machine
+	# $config_machine is not really needed here but the slash after
+	# $machine is needed by the case statement in
+	# sysdeps/unix/sysv/linux/mips/configure.ac.
+	machine=$machine/$config_machine