Allow --enable-gold co-exists with --enable-ld=default
[android/toolchain/build.git] / configure.ac
1 #   Copyright (C) 2008, 2010, 2011 Google Inc.
2 #
3 # This file is free software; you can redistribute it and/or modify it
4 # under the terms of the GNU General Public License as published by
5 # the Free Software Foundation; either version 2 of the License, or
6 # (at your option) any later version.
7 #
8 # This program is distributed in the hope that it will be useful, but
9 # WITHOUT ANY WARRANTY; without even the implied warranty of
10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
11 # General Public License for more details.
12 #
13
14 AC_INIT(android-tools,2.0)
15 AC_PREREQ(2.59)
16
17 AC_CONFIG_FILES([Makefile])
18
19 AC_CANONICAL_SYSTEM
20
21 # Get 'install' or 'install-sh' and its variants.
22 AC_PROG_INSTALL
23
24 # We only allow the following 3 targets:
25 # 1. arm-linux-androideabi (primary target)
26 # 2. arm-eabi (for Android kernel)
27 # 3. arm-newlib-eabi (for gcc testing)
28 # 4. i[3456]86-*-linux-gnu, x86-*-linux-gnu, i[3456]86-*-linux-android, x86-*-linux-android (for x86 targets)
29 # 5. mips*-*-linux* (for mips targets)
30
31 GDB_TARGET=$target
32 case $target in
33   arm-unknown-linux-androideabi | arm-unknown-eabi)
34     BUILD_ANDROID_GCC=yes
35     GDB_TARGET=arm-elf-linux
36     ;;
37   arm-newlib-elf)
38     BUILD_ANDROID_GCC=no
39     ;;
40   i[[3456]]86-*-linux-gnu | x86_64-*-linux-gnu | i[[3456]]86-*-linux-android | x86_64-*-linux-android)
41     BUILD_ANDROID_GCC=yes
42     ;;
43   mips*-*-linux*)
44     BUILD_ANDROID_GCC=yes
45     ;;
46   *)
47     AC_MSG_ERROR(Unsupported target $target.);
48 esac
49 AC_SUBST(BUILD_ANDROID_GCC)
50 AC_SUBST(GDB_TARGET)
51 AC_ARG_PROGRAM
52
53 # TOPLEVEL_CONFIGURE_ARGUMENTS lifted from top-level configure.ac in gcc.
54
55 # Export original configure arguments for use by sub-configures.
56 # Quote arguments with shell meta charatcers.
57 TOPLEVEL_CONFIGURE_ARGUMENTS=
58 TOPLEVEL_NO_GOLD_CONFIGURE_ARGUMENTS=
59
60 set -- "$progname" "$@"
61 for ac_arg
62 do
63   case "$ac_arg" in
64   *" "*|*"      "*|*[[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\']]*)
65     ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"`
66     # if the argument is of the form -foo=baz, quote the baz part only
67     ac_arg=`echo "'$ac_arg'" | sed "s/^'\([[-a-zA-Z0-9]]*=\)/\\1'/"` ;;
68   *) ;;
69   esac
70   # Add the quoted argument to the list.
71   TOPLEVEL_CONFIGURE_ARGUMENTS="$TOPLEVEL_CONFIGURE_ARGUMENTS $ac_arg"
72 done
73 if test "$silent" = yes; then
74   TOPLEVEL_CONFIGURE_ARGUMENTS="$TOPLEVEL_CONFIGURE_ARGUMENTS --silent"
75 fi
76 # Remove the initial space we just introduced and, as these will be
77 # expanded by make, quote '$'.
78 TOPLEVEL_CONFIGURE_ARGUMENTS=`echo "x$TOPLEVEL_CONFIGURE_ARGUMENTS" | sed -e 's/^x *//' -e 's,\\$,$$,g'`
79 AC_SUBST(TOPLEVEL_CONFIGURE_ARGUMENTS)
80
81 # Base args.  Strip norecursion, cache-file, srcdir, host, build,
82 # target, nonopt, and variable assignments.  These are the ones we
83 # might not want to pass down to subconfigures.  Also strip
84 # program-prefix, program-suffix, and program-transform-name, so that
85 # we can pass down a consistent program-transform-name.
86 baseargs=
87 keep_next=no
88 skip_next=no
89 enable_gold=
90 enable_ld_default=
91 eval "set -- $ac_configure_args"
92 for ac_arg
93 do
94   if test X"$skip_next" = X"yes"; then
95     skip_next=no
96     continue
97   fi
98   if test X"$keep_next" = X"yes"; then
99     case $ac_arg in
100       *\'*)
101         ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
102     esac
103     baseargs="$baseargs '$ac_arg'"
104     keep_next=no
105     continue
106   fi
107
108   # Handle separated arguments.  Based on the logic generated by
109   # autoconf 2.59.
110   case $ac_arg in
111     *=* | --config-cache | -C | -disable-* | --disable-* \
112       | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
113       | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
114       | -with-* | --with-* | -without-* | --without-* | --x)
115       separate_arg=no
116       ;;
117     -*)
118       separate_arg=yes
119       ;;
120     *)
121       separate_arg=no
122       ;;
123   esac
124
125   case "$ac_arg" in
126     --no*)
127       continue
128       ;;
129     --c* | \
130     --sr* | \
131     --ho* | \
132     --bu* | \
133     --t* | \
134     --program-* | \
135     -cache_file* | \
136     -srcdir* | \
137     -host* | \
138     -build* | \
139     -target* | \
140     -program-prefix* | \
141     -program-suffix* | \
142     -program-transform-name* )
143       skip_next=$separate_arg
144       continue
145       ;;
146     -*)
147       # Strip argument from --enable-gold=*, since our binutils and
148       # gcc-4.6 take different arguments for dual linker support. We will
149       # pass --enable-gold=both/gold to binutils and --enable-gold=default
150       # gcc-4.6 if dual linker is needed.
151       case "$ac_arg" in
152         --enable-gold | --enable-gold=* )
153           enable_gold="$ac_arg"
154           ac_arg="--enable-gold"
155           ;;
156         --disable-gold )
157           enable_gold=
158           ;;
159         --enable-ld=default )
160           enable_ld_default=yes
161           ;;
162         --disable-ld )
163           enable_ld_default=
164           ;;
165       esac
166
167       # An option.  Add it.
168       case $ac_arg in
169         *\'*)
170           ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
171       esac
172       baseargs="$baseargs '$ac_arg'"
173       keep_next=$separate_arg
174       ;;
175     *)
176       # Either a variable assignment, or a nonopt (triplet).  Don't
177       # pass it down; let the Makefile handle this.
178       continue
179       ;;
180   esac
181 done
182 # Remove the initial space we just introduced and, as these will be
183 # expanded by make, quote '$'.
184 baseargs=`echo "x$baseargs" | sed -e 's/^x *//' -e 's,\\$,$$,g'`
185
186 # Add in --program-transform-name, after --program-prefix and
187 # --program-suffix have been applied to it.  Autoconf has already
188 # doubled dollar signs and backslashes in program_transform_name; we want
189 # the backslashes un-doubled, and then the entire thing wrapped in single
190 # quotes, because this will be expanded first by make and then by the shell.
191 # Also, because we want to override the logic in subdir configure scripts to
192 # choose program_transform_name, replace any s,x,x, with s,y,y,.
193 sed -e "s,\\\\\\\\,\\\\,g; s,','\\\\'',g; s/s,x,x,/s,y,y,/" <<EOF_SED > conftestsed.out
194 ${program_transform_name}
195 EOF_SED
196 gcc_transform_name=`cat conftestsed.out`
197 rm -f conftestsed.out
198 baseargs="$baseargs --program-transform-name='${gcc_transform_name}'"
199 if test "$silent" = yes; then
200   baseargs="$baseargs --silent"
201 fi
202
203 AC_SUBST(baseargs)
204 AC_SUBST(enable_gold)
205 AC_SUBST(enable_ld_default)
206
207 # Strip --{enable|disable}-{gold|ld}* from baseargs.  These are used for the
208 # gold binutils.  Note that baseargs are quoted.
209 gold_baseargs=
210 for ac_arg in $baseargs
211 do
212   case $ac_arg in
213   \'--enable-gold\' | \'--enable-gold=*\' | \'--disable-gold\' | \
214    \'--enable-ld\' | \'--enable-ld=*\' | \'--disable-ld\' )
215     ;;
216   *)
217     gold_baseargs="$gold_baseargs $ac_arg"
218     ;;
219   esac
220 done
221
222 AC_SUBST(gold_baseargs)
223
224 ENABLE_GRAPHITE=no
225 AC_ARG_ENABLE([graphite],
226               AC_HELP_STRING([--enable-graphite],
227                              [Enable Graphite optimization @<:@default=no@:>@]))
228 if test x${enableval} != xyes; then
229   graphite=no
230 fi
231 if test "$GCC_MIN_VERSION_4_5_0" == "no"; then
232   graphite=no
233 fi
234 ENABLE_GRAPHITE=$graphite
235 AC_SUBST(ENABLE_GRAPHITE)
236
237 # package to source path
238 case $srcdir in
239  /* | [A-Za-z]:*) package_to_srcdir=$srcdir ;;
240  *) package_to_srcdir=../$srcdir ;;
241 esac
242 AC_SUBST(package_to_srcdir)
243 #
244 # Specify tool component versions
245 #
246
247 # macro to check that we have a package. A package x exists if any one
248 # of the following exists (x is in the format of "tool-version"):
249 # 1. tool/x
250 # 2. tool/x.tar.gz
251 # 3. tool/x.tgz
252 # 4. tool/x.tar.bz2
253 m4_pattern_allow([^AC_MSG_ERROR$])
254 AC_DEFUN([ANDROID_CHECK_PACKAGE],
255 [x=$1; tool=$(echo "$x" | sed -e 's/-.*//'); version=$(echo "$x" | sed -e 's/[[^-]]*-//'); \
256 if test \( ! -d $srcdir/../$tool/$1 \) -a \( x"$version" != x"none"  \) ; then
257   if test -f $srcdir/../$tool/$1.tar ; then
258     mkdir -p temp-src && tar -C temp-src -xf $srcdir/../$tool/$1.tar
259   elif test -f $srcdir/../$tool/$1.tar.gz ; then
260     mkdir -p temp-src && tar -C temp-src -xzf $srcdir/../$tool/$1.tar.gz
261   elif test -f $srcdir/../$tool/$1.tgz ; then
262     mkdir -p temp-src && tar -C temp-src -xzf $srcdir/../$tool/$1.tgz
263   elif test -f $srcdir/../$tool/$1.tar.bz2 ; then
264     mkdir -p temp-src && tar -C temp-src -xjf $srcdir/../$tool/$1.tar.bz2
265   elif test -f $srcdir/../tarballs/$1.tar ; then
266     mkdir -p temp-src && tar -C temp-src -xf $srcdir/../tarballs/$1.tar
267   elif test -f $srcdir/../tarballs/$1.tar.gz ; then
268     mkdir -p temp-src && tar -C temp-src -xzf $srcdir/../tarballs/$1.tar.gz
269   elif test -f $srcdir/../tarballs/$1.tgz ; then
270     mkdir -p temp-src && tar -C temp-src -xzf $srcdir/../tarballs/$1.tgz
271   elif test -f $srcdir/../tarballs/$1.tar.bz2 ; then
272     mkdir -p temp-src && tar -C temp-src -xjf $srcdir/../tarballs/$1.tar.bz2
273   else
274     AC_MSG_ERROR('package $1 does not exist.')
275   fi
276 fi ])
277
278 # binutils version (default is 2.17)
279 AC_MSG_CHECKING([target binutils version to build])
280 AC_ARG_WITH([binutils-version],
281   [  --with-binutils-version=VERSION
282                           use binutils-VERSION (default is 2.17)],
283   [if test x"$withval" != x ; then
284      BINUTILS_VERSION="$withval"
285    fi],
286 [BINUTILS_VERSION="2.17"])
287 AC_MSG_RESULT($BINUTILS_VERSION)
288 AC_SUBST(BINUTILS_VERSION)
289 ANDROID_CHECK_PACKAGE(binutils-${BINUTILS_VERSION})
290
291 m4_pattern_allow(AM_INIT_AUTOMAKE)
292 # macro to find binutils version for dual linker support.
293 # For binutils-2.21 and up, add --enable-gold=default,
294 # else add --enable-gold=both/gold.
295 AC_DEFUN([FIND_BINUTILS_VERSION],
296 [binutils_version_file="${srcdir}/../binutils/$1/bfd/configure.in"
297 if test -f "${binutils_version_file}"; then
298   binutils_version_num=`grep AM_INIT_AUTOMAKE ${binutils_version_file} | \
299                         sed -n "s/[AM_INIT_AUTOMAKE][[^,]]*,*\([[^)]]*\))/\1/p"`
300   BINUTILS_MAJOR=`echo $binutils_version_num | sed -e "s/[[^0-9]].*//"`
301   BINUTILS_MINOR=`echo $binutils_version_num | \
302                   sed  -e "s/^[[0-9]]*\.//" -e "s/[[^0-9]].*//"`
303   if test "$BINUTILS_MAJOR" -gt 2 -o \
304           \( "$BINUTILS_MAJOR" -eq 2 -a "$BINUTILS_MINOR" -ge 21 \); then
305     $2_MIN_VERSION_2_21="yes"
306   else
307     $2_MIN_VERSION_2_21="no"
308   fi
309 else
310   # No configure file found. assume yes.
311   $2_MIN_VERSION_2_21="yes"
312 fi ])
313
314 FIND_BINUTILS_VERSION(binutils-${BINUTILS_VERSION},[BINUTILS])
315 AC_SUBST(BINUTILS_MIN_VERSION_2_21)
316
317 # gold binutils version (default is the same version as the main
318 # binutils package).
319 GOLD_VERSION="$BINUTILS_VERSION"
320 AC_MSG_CHECKING([target gold binutils version to build])
321 AC_ARG_WITH([gold-version],
322   [  --with-gold-version=VERSION
323                           use binutils-VERSION for gold (default is the main binutils version)],
324   [if test x"$withval" != x ; then
325      GOLD_VERSION="$withval"
326    fi])
327 AC_MSG_RESULT($GOLD_VERSION)
328 AC_SUBST(GOLD_VERSION)
329
330 # Skip check if we are using the main binutils for gold.
331 GOLD_MIN_VERSION_2_21="$BINUTILS_MIN_VERSION_2_21"
332 if test x"$GOLD_VERSION" != x"$BINUTILS_VERSION" ; then
333   ANDROID_CHECK_PACKAGE(binutils-${GOLD_VERSION})
334   FIND_BINUTILS_VERSION(binutils-${GOLD_VERSION},[GOLD])
335 fi
336 AC_SUBST(GOLD_MIN_VERSION_2_21)
337
338 # gcc version (default is 4.2.1)
339 AC_MSG_CHECKING([target gcc version to build])
340 AC_ARG_WITH([gcc-version],
341   [  --with-gcc-version=VERSION
342                           use gcc-VERSION (default is 4.2.1)],
343   [if test x"$withval" != x ; then
344      GCC_VERSION="$withval"
345    fi],
346 [GCC_VERSION="4.2.1"])
347 AC_MSG_RESULT($GCC_VERSION)
348 AC_SUBST(GCC_VERSION)
349 ANDROID_CHECK_PACKAGE(gcc-${GCC_VERSION})
350
351 # figure out if we need to build gmp and mpfr for gcc 4.3.0+ 
352 gcc_version_file="${srcdir}/../gcc/gcc-${GCC_VERSION}/gcc/BASE-VER"
353 if test -f "${gcc_version_file}"; then
354   GCC_MAJOR=`head -n 1 $gcc_version_file | sed  -e "s/[[^0-9]].*//"`
355   GCC_MINOR=`head -n 1 $gcc_version_file | \
356             sed  -e "s/^[[0-9]]*\.//" -e "s/[[^0-9]].*//"`
357   if test "$GCC_MAJOR" -gt 4 -o \
358           \( "$GCC_MAJOR" -eq 4 -a "$GCC_MINOR" -ge 3 \) ; then
359     GCC_MIN_VERSION_4_3_0="yes"
360   else
361     GCC_MIN_VERSION_4_3_0="no"
362   fi
363   if test "$GCC_MAJOR" -gt 4 -o \
364               \( "$GCC_MAJOR" -eq 4 -a "$GCC_MINOR" -ge 5 \) ; then
365     GCC_MIN_VERSION_4_5_0="yes"
366   else
367     GCC_MIN_VERSION_4_5_0="no"
368   fi
369 else
370   # No version file, assume it is trunk
371   GCC_MIN_VERSION_4_3_0="yes"
372   GCC_MIN_VERSION_4_5_0="yes"
373 fi
374 AC_SUBST(GCC_MIN_VERSION_4_3_0)
375 AC_SUBST(GCC_MIN_VERSION_4_5_0)
376
377 # newlib version (default is 1.16.0)
378 # newlib is only used for arm-newlib-eabi for testing
379 if test x$target == xarm-newlib-elf ; then 
380 AC_MSG_CHECKING([target newlib version to build])
381 AC_ARG_WITH([newlib-version],
382   [  --with-newlib-version=VERSION
383                           use newlib-VERSION (default is 1.16.0)],
384   [if test x"$withval" != x ; then
385      NEWLIB_VERSION="$withval"
386    fi],
387 [NEWLIB_VERSION="1.16.0"])
388 AC_MSG_RESULT($NEWLIB_VERSION)
389 AC_SUBST(NEWLIB_VERSION)
390 ANDROID_CHECK_PACKAGE(newlib-${NEWLIB_VERSION})
391 fi
392
393 if test "$GCC_MIN_VERSION_4_3_0" == "yes"; then
394 # gmp version (default is 4.2.2)
395 # gmp is only used for gcc version higher than 4.3.0
396 AC_MSG_CHECKING([gmp version])
397 AC_ARG_WITH([gmp-version],
398   [  --with-gmp-version=VERSION
399                           use gmp-VERSION (default is 4.2.2)],
400   [if test x"$withval" != x ; then
401      GMP_VERSION="$withval"
402    fi],
403 [GMP_VERSION="4.2.2"])
404 AC_MSG_RESULT($GMP_VERSION)
405 ANDROID_CHECK_PACKAGE(gmp-${GMP_VERSION})
406
407 # mpfr version (default is 2.3.0)
408 # mpfr is only used for gcc version higher than 4.3.0
409 AC_MSG_CHECKING([mpfr version])
410 AC_ARG_WITH([mpfr-version],
411   [  --with-mpfr-version=VERSION
412                           use mpfr-VERSION (default is 2.3.0)],
413   [if test x"$withval" != x ; then
414      MPFR_VERSION="$withval"
415    fi],
416 [MPFR_VERSION="2.3.0"])
417 AC_MSG_RESULT($MPFR_VERSION)
418 ANDROID_CHECK_PACKAGE(mpfr-${MPFR_VERSION})
419
420 fi
421 AC_SUBST(GMP_VERSION)
422 AC_SUBST(MPFR_VERSION)
423
424 if test "$GCC_MIN_VERSION_4_5_0" == "yes"; then
425 # mpc version (default is 0.8.1)
426 # mpc is only used for gcc version higher than 4.5.0
427 AC_MSG_CHECKING([mpc version])
428 AC_ARG_WITH([mpc-version],
429   [  --with-mpc-version=VERSION
430                           use mpc-VERSION (default is 0.8.1)],
431   [if test x"$withval" != x; then
432      MPC_VERSION="$withval"
433    fi],
434 [MPC_VERSION="0.8.1"])
435 AC_MSG_RESULT($MPC_VERSION)
436 ANDROID_CHECK_PACKAGE(mpc-${MPC_VERSION})
437 fi
438 AC_SUBST(MPC_VERSION)
439
440 if test "$ENABLE_GRAPHITE" == "yes"; then
441 # ppl version (default is 0.11.2)
442 # ppl is only used for gcc 4.5+ with graphite optimization.
443 AC_MSG_CHECKING([ppl version])
444 AC_ARG_WITH([ppl-version],
445   [  --with-ppl-version=VERSION
446                          use ppl-VERSION (default is 0.11.2)],
447   [if test x"$withval" != x ; then
448      PPL_VERSION="$withval"
449    fi],
450 [PPL_VERSION="0.11.2"])
451 AC_MSG_RESULT($PPL_VERSION)
452 ANDROID_CHECK_PACKAGE(ppl-${PPL_VERSION})
453 fi
454 AC_SUBST(PPL_VERSION)
455
456 if test "$ENABLE_GRAPHITE" == "yes"; then
457 # cloog-ppl or cloog version (default is 0.15.9)
458 # cloog is only used for gcc 4.5+ with graphite optimization.
459 AC_MSG_CHECKING([cloog version])
460 AC_ARG_WITH([cloog-version],
461   [  --with-cloog-version=VERSION
462                            use cloog-VERSION (default is 0.15.9)],
463   [if test x"$withval" != x ; then
464      CLOOG_VERSION="$withval"
465    fi],
466 [CLOOG_VERSION="0.15.9"])
467 AC_MSG_RESULT($CLOOG_VERSION)
468 case $CLOOG_VERSION in
469   0.15*)
470     # CLooG/PPL relies on the PPL for version 0.15.x
471     CLOOG_VERSION="ppl-$CLOOG_VERSION"
472     ;;
473   0.16*)
474     # CLooG 0.16.x has its own embedded polyhedral library
475     ;;
476   *)
477     AC_MSG_ERROR(Unsupported cloog version);
478 esac
479 ANDROID_CHECK_PACKAGE(cloog-${CLOOG_VERSION})
480 fi
481 AC_SUBST(CLOOG_VERSION)
482
483 # gdb version (default is 6.6)
484 AC_MSG_CHECKING([target gdb version to build])
485 AC_ARG_WITH([gdb-version],
486   [  --with-gdb-version=VERSION
487                           use gdb-VERSION (default is 6.6)],
488   [if test x"$withval" != x ; then
489      GDB_VERSION="$withval"
490    fi],
491 [GDB_VERSION="6.6"])
492 AC_MSG_RESULT($GDB_VERSION)
493 AC_SUBST(GDB_VERSION)
494 ANDROID_CHECK_PACKAGE(gdb-${GDB_VERSION})
495
496 # figure out if we need to build expat for gdb 7.2+
497 gdb_version_file="${srcdir}/../gdb/gdb-${GDB_VERSION}/gdb/version.in"
498 if test -f "${gdb_version_file}"; then
499   GDB_MAJOR=`head -n 1 $gdb_version_file | sed  -e "s/[[^0-9]].*//"`
500   GDB_MINOR=`head -n 1 $gdb_version_file | \
501             sed  -e "s/^[[0-9]]*\.//" -e "s/[[^0-9]].*//"`
502   if test "$GDB_MAJOR" -gt 7 -o \
503           \( "$GDB_MAJOR" -eq 7 -a "$GDB_MINOR" -ge 2 \) ; then
504     GDB_MIN_VERSION_7_2="yes"
505   else
506     GDB_MIN_VERSION_7_2="no"
507   fi
508 else
509   # No version file, assume it is trunk
510   GDB_MIN_VERSION_7_2="yes"
511 fi
512 AC_SUBST(GDB_MIN_VERSION_7_2)
513
514 if test "$GDB_MIN_VERSION_7_2" == "yes"; then
515 # expat version (default is 2.0.1)
516 # expat is only used for gdb version higher than 7.2
517 AC_MSG_CHECKING([expat version])
518 AC_ARG_WITH([expat-version],
519   [  --with-expat-version=VERSION
520                           use expat-VERSION (default is 2.0.1)],
521   [if test x"$withval" != x ; then
522      EXPAT_VERSION="$withval"
523    fi],
524 [EXPAT_VERSION="2.0.1"])
525 AC_MSG_RESULT($EXPAT_VERSION)
526 ANDROID_CHECK_PACKAGE(expat-${EXPAT_VERSION})
527 fi
528 AC_SUBST(EXPAT_VERSION)
529
530 # For certain targets, with gdb 7.2+, the proper gdb target is 
531 # arm-linux-android.
532 if test "$GDB_MIN_VERSION_7_2" == "yes"; then
533 case $target in
534   arm-unknown-linux-androideabi | arm-unknown-eabi)
535     GDB_TARGET=arm-linux-android
536     ;;
537     *)
538     ;;
539 esac
540 fi
541
542 # Sysroot location
543 AC_ARG_WITH([sysroot],
544   [  --with-sysroot=DIR
545                           use target sysroot in DIR],
546   [if test x"$withval" != x ; then
547      if test $build != $host ; then
548        case "$withval" in
549          "$prefix"|"${prefix%/}/"*)
550            ;;
551          *)
552            AC_MSG_ERROR('Target sysroot must be a subdirectory of <prefix> for canadian cross build $prefix ; $withval')
553            ;;
554        esac
555      fi
556
557      sysroot="$withval"
558    fi],
559 [if test $build != $host ; then
560    AC_MSG_ERROR('Target sysroot is not set for canadian cross build')
561  fi])
562 AC_SUBST(sysroot)
563
564 # Specify a location for mpc
565 AC_ARG_WITH(mpc, [  --with-mpc=PATH
566                           specify prefix directory for installed MPC package.],
567   [if test -d "$withval" ; then
568      have_mpc="$withval"
569      have_mpfr="$withval"
570      have_gmp="$withval"
571    elif test x"$withval" != x"no"; then
572      AC_MSG_ERROR(invalid value for --with-mpc)
573    else
574      have_mpc=no
575    fi],
576   [have_mpc=no])
577 AC_SUBST(have_mpc)
578
579 # Specify a location for mpfr
580 AC_ARG_WITH(mpfr, [  --with-mpfr=PATH
581                           specify prefix directory for installed MPFR package.],
582   [if test -d "$withval" ; then
583      have_mpfr="$withval"
584      have_gmp="$withval"
585    elif test x"$withval" != x"no"; then
586      AC_MSG_ERROR(invalid value for --with-mpfr)
587    else
588      have_mpfr=no
589    fi],
590   [have_mpfr=no])
591 AC_SUBST(have_mpfr)
592
593 # Specify a location for gmp
594 AC_ARG_WITH(gmp, [  --with-gmp=PATH
595                           specify prefix directory for the installed GMP package.],
596   [if test -d "$withval" ; then
597      have_gmp="$withval"
598    elif test x"$withval" != x"no"; then
599      AC_MSG_ERROR(invalid value for --with-gmp)
600    else
601      have_gmp=no
602    fi],
603   [have_gmp=no])
604 AC_SUBST(have_gmp)
605
606 # Specify a location for ppl
607 AC_ARG_WITH(ppl, [  --with-ppl=PATH
608                           specify prefix directory for the installed PPL package.],
609   [if test -d "$withval" ; then
610      have_ppl="$withval"
611    elif test x"$withval" != x"no"; then
612      AC_MSG_ERROR(invalid value for --with-ppl)
613    else
614      have_ppl=no
615    fi],
616   [have_ppl=no])
617 AC_SUBST(have_ppl)
618
619 # Specify a location for cloog
620 AC_ARG_WITH(cloog, [  --with-cloog=PATH
621                           specify prefix directory for the installed CLooG package.],
622   [if test -d "$withval" ; then
623      have_cloog="$withval"
624    elif test x"$withval" != x"no"; then
625      AC_MSG_ERROR(invalid value for --with-cloog)
626    else
627      have_cloog=no
628    fi],
629   [have_cloog=no])
630 AC_SUBST(have_cloog)
631
632 # Specify a location for expat
633 AC_ARG_WITH(expat, [  --with-expat=PATH
634                           specify prefix directory for the installed EXPAT package.],
635   [if test -d "$withval" ; then
636      have_expat="$withval"
637    elif test x"$withval" != x"no"; then
638      AC_MSG_ERROR(invalid value for --with-expat)
639    else
640      have_expat=no
641    fi],
642   [have_expat=no])
643 AC_SUBST(have_expat)
644
645 AC_OUTPUT