Fix binutils-2.24 detection
[android/toolchain/build.git] / configure.ac
index 6953909..b316a7e 100644 (file)
@@ -25,7 +25,8 @@ AC_PROG_INSTALL
 # 1. arm-linux-androideabi (primary target)
 # 2. arm-eabi (for Android kernel)
 # 3. arm-newlib-eabi (for gcc testing)
-# 4.i[3456]86-*-linux-gnu, x86-*-linux-gnu (for x86 targets)
+# 4. i[3456]86-*-linux-gnu, x86-*-linux-gnu, i[3456]86-*-linux-android, x86-*-linux-android (for x86 targets)
+# 5. mips*-*-linux* (for mips targets)
 
 GDB_TARGET=$target
 case $target in
@@ -39,6 +40,9 @@ case $target in
   i[[3456]]86-*-linux-gnu | x86_64-*-linux-gnu | i[[3456]]86-*-linux-android | x86_64-*-linux-android)
     BUILD_ANDROID_GCC=yes
     ;;
+  mips*-*-linux*)
+    BUILD_ANDROID_GCC=yes
+    ;;
   *)
     AC_MSG_ERROR(Unsupported target $target.);
 esac
@@ -83,6 +87,7 @@ baseargs=
 keep_next=no
 skip_next=no
 enable_gold=
+enable_ld_default=
 eval "set -- $ac_configure_args"
 for ac_arg
 do
@@ -151,6 +156,12 @@ do
         --disable-gold )
           enable_gold=
           ;;
+        --enable-ld=default )
+          enable_ld_default=yes
+          ;;
+        --disable-ld )
+          enable_ld_default=
+          ;;
       esac
 
       # An option.  Add it.
@@ -191,28 +202,35 @@ fi
 
 AC_SUBST(baseargs)
 AC_SUBST(enable_gold)
+AC_SUBST(enable_ld_default)
 
-# Strip --{enable|disable}-{gold|ld}* from baseargs.  These are used for the
-# gold binutils.  Note that baseargs are quoted.
-gold_baseargs=
+# Strip --with-sysroot, which is really "target" sysroot, from baseargs
+# to form host_baseargs for building host libraries.  Passing target
+# --with-sysroot is detrimantal (*1). Invent a new option
+# --with-host-sysroot if needed in the future.
+# Note that baseargs are quoted.
+#
+# (*1) path dependency_libs= in .libs/libgmpxx.lai has '=' prefix!
+#
+host_baseargs=
 for ac_arg in $baseargs
 do
   case $ac_arg in
-  \'--enable-gold\' | \'--enable-gold=*\' | \'--disable-gold\' | \
-   \'--enable-ld\' | \'--enable-ld=*\' | \'--disable-ld\' )
+  \'--with-sysroot=*\' )
     ;;
   *)
-    gold_baseargs="$gold_baseargs $ac_arg"
+    host_baseargs="$host_baseargs $ac_arg"
     ;;
   esac
 done
 
-AC_SUBST(gold_baseargs)
+AC_SUBST(host_baseargs)
 
 ENABLE_GRAPHITE=no
 AC_ARG_ENABLE([graphite],
               AC_HELP_STRING([--enable-graphite],
                              [Enable Graphite optimization @<:@default=no@:>@]))
+graphite=yes
 if test x${enableval} != xyes; then
   graphite=no
 fi
@@ -354,13 +372,21 @@ if test -f "${gcc_version_file}"; then
   else
     GCC_MIN_VERSION_4_5_0="no"
   fi
+  if test "$GCC_MAJOR" -gt 4 -o \
+              \( "$GCC_MAJOR" -eq 4 -a "$GCC_MINOR" -ge 8 \) ; then
+    GCC_MIN_VERSION_4_8_0="yes"
+  else
+    GCC_MIN_VERSION_4_8_0="no"
+  fi
 else
   # No version file, assume it is trunk
   GCC_MIN_VERSION_4_3_0="yes"
   GCC_MIN_VERSION_4_5_0="yes"
+  GCC_MIN_VERSION_4_8_0="yes"
 fi
 AC_SUBST(GCC_MIN_VERSION_4_3_0)
 AC_SUBST(GCC_MIN_VERSION_4_5_0)
+AC_SUBST(GCC_MIN_VERSION_4_8_0)
 
 # newlib version (default is 1.16.0)
 # newlib is only used for arm-newlib-eabi for testing
@@ -427,7 +453,7 @@ AC_SUBST(MPC_VERSION)
 
 if test "$ENABLE_GRAPHITE" == "yes"; then
 # ppl version (default is 0.11.2)
-# ppl is only used for gcc 4.5+ with graphite optimization.
+# ppl is only used for gcc 4.5 and 4.6 with graphite optimization.
 AC_MSG_CHECKING([ppl version])
 AC_ARG_WITH([ppl-version],
   [  --with-ppl-version=VERSION
@@ -458,16 +484,34 @@ case $CLOOG_VERSION in
     # CLooG/PPL relies on the PPL for version 0.15.x
     CLOOG_VERSION="ppl-$CLOOG_VERSION"
     ;;
-  0.16*)
-    # CLooG 0.16.x has its own embedded polyhedral library
+  0.16*|0.17*|0.18*)
+    # CLooG 0.16+ has its own embedded polyhedral library
+    CLOOG_BACKEND="--enable-cloog-backend=isl"
     ;;
   *)
     AC_MSG_ERROR(Unsupported cloog version);
 esac
+AC_SUBST(CLOOG_BACKEND)
 ANDROID_CHECK_PACKAGE(cloog-${CLOOG_VERSION})
 fi
 AC_SUBST(CLOOG_VERSION)
 
+if test "$ENABLE_GRAPHITE" == "yes"; then
+# isl version (default is 0.11.1)
+# isl is only used for gcc 4.8+ with graphite optimization.
+AC_MSG_CHECKING([isl version])
+AC_ARG_WITH([isl-version],
+  [  --with-isl-version=VERSION
+                         use isl-VERSION (default is 0.11.1)],
+  [if test x"$withval" != x ; then
+     ISL_VERSION="$withval"
+   fi],
+[ISL_VERSION="0.11.1"])
+AC_MSG_RESULT($ISL_VERSION)
+ANDROID_CHECK_PACKAGE(isl-${ISL_VERSION})
+fi
+AC_SUBST(ISL_VERSION)
+
 # gdb version (default is 6.6)
 AC_MSG_CHECKING([target gdb version to build])
 AC_ARG_WITH([gdb-version],
@@ -515,6 +559,19 @@ ANDROID_CHECK_PACKAGE(expat-${EXPAT_VERSION})
 fi
 AC_SUBST(EXPAT_VERSION)
 
+if test "$GDB_MIN_VERSION_7_2" == "yes"; then
+AC_MSG_CHECKING([with python])
+AC_ARG_WITH([python],
+  [  --with-python=WITH_PYTHON
+                          use python WITH_PYTHON)],
+  [if test x"$withval" != x ; then
+     WITH_PYTHON="$withval"
+   fi],
+[WITH_PYTHON=""])
+AC_MSG_RESULT($WITH_PYTHON)
+fi
+AC_SUBST(WITH_PYTHON)
+
 # For certain targets, with gdb 7.2+, the proper gdb target is 
 # arm-linux-android.
 if test "$GDB_MIN_VERSION_7_2" == "yes"; then
@@ -617,6 +674,19 @@ AC_ARG_WITH(cloog, [  --with-cloog=PATH
   [have_cloog=no])
 AC_SUBST(have_cloog)
 
+# Specify a location for isl
+AC_ARG_WITH(isl, [  --with-isl=PATH
+                          specify prefix directory for the installed ISL package.],
+  [if test -d "$withval" ; then
+     have_isl="$withval"
+   elif test x"$withval" != x"no"; then
+     AC_MSG_ERROR(invalid value for --with-isl)
+   else
+     have_isl=no
+   fi],
+  [have_isl=no])
+AC_SUBST(have_isl)
+
 # Specify a location for expat
 AC_ARG_WITH(expat, [  --with-expat=PATH
                           specify prefix directory for the installed EXPAT package.],