Home | History | Annotate | Line # | Download | only in config
      1 dnl This file is included into all any other acinclude file that needs
      2 dnl to use these macros.
      3 
      4 dnl This is copied from autoconf 2.12, but does calls our own AC_PROG_CC_WORKS,
      5 dnl and doesn't call AC_PROG_CXX_GNU, cause we test for that in  AC_PROG_CC_WORKS.
      6 dnl We are probably using a cross compiler, which will not be able to fully
      7 dnl link an executable.  This should really be fixed in autoconf itself.
      8 dnl Find a working G++ cross compiler. This only works for the GNU C++ compiler.
      9 AC_DEFUN([CYG_AC_PROG_CXX_CROSS],
     10 [AC_BEFORE([$0], [AC_PROG_CXXCPP])
     11 AC_CHECK_PROGS(CXX, $CCC c++ g++ gcc CC cxx cc++, gcc)
     12 
     13 CYG_AC_PROG_GXX_WORKS
     14 
     15 if test $ac_cv_prog_gxx = yes; then
     16   GXX=yes
     17 dnl Check whether -g works, even if CXXFLAGS is set, in case the package
     18 dnl plays around with CXXFLAGS (such as to build both debugging and
     19 dnl normal versions of a library), tasteless as that idea is.
     20   ac_test_CXXFLAGS="${CXXFLAGS+set}"
     21   ac_save_CXXFLAGS="$CXXFLAGS"
     22   CXXFLAGS=
     23   AC_PROG_CXX_G
     24   if test "$ac_test_CXXFLAGS" = set; then
     25     CXXFLAGS="$ac_save_CXXFLAGS"
     26   elif test $ac_cv_prog_cxx_g = yes; then
     27     CXXFLAGS="-g -O2"
     28   else
     29     CXXFLAGS="-O2"
     30   fi
     31 else
     32   GXX=
     33   test "${CXXFLAGS+set}" = set || CXXFLAGS="-g"
     34 fi
     35 ])
     36 
     37 dnl See if the G++ compiler we found works.
     38 AC_DEFUN([CYG_AC_PROG_GXX_WORKS],
     39 [AC_MSG_CHECKING([whether the G++ compiler ($CXX $CXXFLAGS $LDFLAGS) actually works])
     40 AC_LANG_SAVE
     41 AC_LANG_CPLUSPLUS
     42 dnl Try a test case. We only compile, because it's close to impossible
     43 dnl to get a correct fully linked executable with a cross compiler. For
     44 dnl most cross compilers, this test is bogus. For G++, we can use various
     45 dnl other compile line options to get a decent idea that the cross compiler
     46 dnl actually does work, even though we can't produce an executable without
     47 dnl more info about the target it's being compiled for. This only works
     48 dnl for the GNU C++ compiler.
     49 
     50 dnl Transform the name of the compiler to it's cross variant, unless
     51 dnl CXX is set. This is also what CXX gets set to in the generated
     52 dnl Makefile.
     53 if test x"${CXX}" = xc++ ; then
     54     CXX=`echo gcc | sed -e "${program_transform_name}"`
     55 fi
     56 
     57 dnl Get G++'s full path to libgcc.a
     58 libgccpath=`${CXX} --print-libgcc`
     59 
     60 dnl If we don't have a path with libgcc.a on the end, this isn't G++.
     61 if test `echo $libgccpath | sed -e 's:/.*/::'` = libgcc.a ; then
     62    ac_cv_prog_gxx=yes
     63 else
     64    ac_cv_prog_gxx=no
     65 fi
     66 
     67 dnl If we are using G++, look for the files that need to exist if this
     68 dnl compiler works.
     69 if test x"${ac_cv_prog_gxx}" = xyes ; then
     70     gccfiles=`echo $libgccpath | sed -e 's:/libgcc.a::'`
     71     if test -f ${gccfiles}/specs -a -f ${gccfiles}/cpp -a -f ${gccfiles}/cc1plus; then
     72 	gccfiles=yes
     73     else
     74 	gccfiles=no
     75     fi
     76     gcclibs=`echo $libgccpath | sed -e 's:lib/gcc-lib/::' -e 's:/libgcc.a::' -e 's,\(.*\)/.*,\1,g'`/lib
     77     if test -d ${gcclibs}/ldscripts -a -f ${gcclibs}/libc.a -a -f ${gcclibs}/libstdc++.a ; then
     78 	gcclibs=yes
     79     else
     80 	gcclibs=no
     81     fi
     82 fi
     83 
     84 dnl If everything is OK, then we can safely assume the compiler works.
     85 if test x"${gccfiles}" = xno -o x"${gcclibs}" = xno; then
     86     ac_cv_prog_cxx_works=no
     87     AC_MSG_ERROR(${CXX} is a non-working cross compiler)
     88 else
     89    ac_cv_prog_cxx_works=yes 
     90 fi
     91 
     92 AC_LANG_RESTORE
     93 AC_MSG_RESULT($ac_cv_prog_cxx_works)
     94 if test x"$ac_cv_prog_cxx_works" = xno; then
     95   AC_MSG_ERROR([installation or configuration problem: C++ compiler cannot create executables.])
     96 fi
     97 AC_MSG_CHECKING([whether the G++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler])
     98 AC_MSG_RESULT($ac_cv_prog_cxx_cross)
     99 cross_compiling=$ac_cv_prog_cxx_cross
    100 AC_SUBST(CXX)
    101 ])
    102 
    103 dnl ====================================================================
    104 dnl Find a working GCC cross compiler. This only works for the GNU gcc compiler.
    105 dnl This is based on the macros above for G++.
    106 AC_DEFUN([CYG_AC_PROG_CC_CROSS],
    107 [AC_BEFORE([$0], [AC_PROG_CCPP])
    108 AC_CHECK_PROGS(CC, cc, gcc)
    109 
    110 CYG_AC_PROG_GCC_WORKS
    111 
    112 if test $ac_cv_prog_gcc = yes; then
    113   GCC=yes
    114 dnl Check whether -g works, even if CFLAGS is set, in case the package
    115 dnl plays around with CFLAGS (such as to build both debugging and
    116 dnl normal versions of a library), tasteless as that idea is.
    117   ac_test_CFLAGS="${CFLAGS+set}"
    118   ac_save_CFLAGS="$CFLAGS"
    119   CFLAGS=
    120   AC_PROG_CC_G
    121   if test "$ac_test_CFLAGS" = set; then
    122     CFLAGS="$ac_save_CFLAGS"
    123   elif test $ac_cv_prog_cc_g = yes; then
    124     CFLAGS="-g -O2"
    125   else
    126     CFLAGS="-O2"
    127   fi
    128 else
    129   GXX=
    130   test "${CFLAGS+set}" = set || CFLAGS="-g"
    131 fi
    132 ])
    133 
    134 dnl See if the GCC compiler we found works.
    135 AC_DEFUN([CYG_AC_PROG_GCC_WORKS],
    136 [AC_MSG_CHECKING([whether the Gcc compiler ($CC $CFLAGS $LDFLAGS) actually works])
    137 AC_LANG_SAVE
    138 AC_LANG_C
    139 dnl Try a test case. We only compile, because it's close to impossible
    140 dnl to get a correct fully linked executable with a cross
    141 dnl compiler. For most cross compilers, this test is bogus. For G++,
    142 dnl we can use various other compile line options to get a decent idea
    143 dnl that the cross compiler actually does work, even though we can't
    144 dnl produce an executable without more info about the target it's
    145 dnl being compiled for. This only works for the GNU C++ compiler.
    146 
    147 dnl Transform the name of the compiler to it's cross variant, unless
    148 dnl CXX is set. This is also what CC gets set to in the generated Makefile.
    149 if test x"${CC}" = xcc ; then
    150     CC=`echo gcc | sed -e "${program_transform_name}"`
    151 fi
    152 
    153 dnl Get Gcc's full path to libgcc.a
    154 libgccpath=`${CC} --print-libgcc`
    155 
    156 dnl If we don't have a path with libgcc.a on the end, this isn't G++.
    157 if test `echo $libgccpath | sed -e 's:/.*/::'` = libgcc.a ; then
    158    ac_cv_prog_gcc=yes
    159 else
    160    ac_cv_prog_gcc=no
    161 fi
    162 
    163 dnl If we are using Gcc, look for the files that need to exist if this
    164 dnl compiler works.
    165 if test x"${ac_cv_prog_gcc}" = xyes ; then
    166     gccfiles=`echo $libgccpath | sed -e 's:/libgcc.a::'`
    167     if test -f ${gccfiles}/specs -a -f ${gccfiles}/cpp -a -f ${gccfiles}/cc1plus; then
    168 	gccfiles=yes
    169     else
    170 	gccfiles=no
    171     fi
    172     gcclibs=`echo $libgccpath | sed -e 's:lib/gcc-lib/::' -e 's:/libgcc.a::' -e 's,\(.*\)/.*,\1,g'`/lib
    173     if test -d ${gcclibs}/ldscripts -a -f ${gcclibs}/libc.a -a -f ${gcclibs}/libstdc++.a ; then
    174 	gcclibs=yes
    175     else
    176 	gcclibs=no
    177     fi
    178 fi
    179 
    180 dnl If everything is OK, then we can safely assume the compiler works.
    181 if test x"${gccfiles}" = xno -o x"${gcclibs}" = xno; then
    182     ac_cv_prog_cc_works=no
    183     AC_MSG_ERROR(${CC} is a non-working cross compiler)    
    184 else
    185     ac_cv_prog_cc_works=yes
    186 fi
    187 
    188 AC_LANG_RESTORE
    189 AC_MSG_RESULT($ac_cv_prog_cc_works)
    190 if test x"$ac_cv_prog_cc_works" = xno; then
    191   AC_MSG_ERROR([installation or configuration problem: C++ compiler cannot create executables.])
    192 fi
    193 AC_MSG_CHECKING([whether the Gcc compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler])
    194 AC_MSG_RESULT($ac_cv_prog_cc_cross)
    195 cross_compiling=$ac_cv_prog_cc_cross
    196 AC_SUBST(CC)
    197 ])
    198 
    199 dnl ====================================================================
    200 dnl Find the BFD library in the build tree. This is used to access and
    201 dnl manipulate object or executable files.
    202 AC_DEFUN([CYG_AC_PATH_BFD], [
    203 AC_MSG_CHECKING(for the bfd header in the build tree)
    204 dirlist=".. ../../ ../../../ ../../../../ ../../../../../ ../../../../../../ ../../../../../../.. ../../../../../../../.. ../../../../../../../../.. ../../../../../../../../../.."
    205 dnl Look for the header file
    206 AC_CACHE_VAL(ac_cv_c_bfdh,[
    207 for i in $dirlist; do
    208     if test -f "$i/bfd/bfd.h" ; then
    209 	ac_cv_c_bfdh=`(cd $i/bfd; ${PWDCMD-pwd})`
    210 	break
    211     fi
    212 done
    213 ])
    214 if test x"${ac_cv_c_bfdh}" != x; then
    215     BFDHDIR="-I${ac_cv_c_bfdh}"
    216     AC_MSG_RESULT(${ac_cv_c_bfdh})
    217 else
    218     AC_MSG_RESULT(none)
    219 fi
    220 AC_SUBST(BFDHDIR)
    221 
    222 dnl Look for the library
    223 AC_MSG_CHECKING(for the bfd library in the build tree)
    224 AC_CACHE_VAL(ac_cv_c_bfdlib,[
    225 for i in $dirlist; do
    226     if test -f "$i/bfd/Makefile" ; then
    227 	ac_cv_c_bfdlib=`(cd $i/bfd; ${PWDCMD-pwd})`
    228     fi
    229 done
    230 ])
    231 dnl We list two directories cause bfd now uses libtool
    232 if test x"${ac_cv_c_bfdlib}" != x; then
    233     BFDLIB="-L${ac_cv_c_bfdlib} -L${ac_cv_c_bfdlib}/.libs"
    234     AC_MSG_RESULT(${ac_cv_c_bfdlib})
    235 else
    236     AC_MSG_RESULT(none)
    237 fi
    238 AC_SUBST(BFDLIB)
    239 ])
    240 
    241 dnl ====================================================================
    242 dnl Find the libiberty library. This defines many commonly used C
    243 dnl functions that exists in various states based on the underlying OS.
    244 AC_DEFUN([CYG_AC_PATH_LIBERTY], [
    245 AC_MSG_CHECKING(for the liberty library in the build tree)
    246 dirlist=".. ../../ ../../../ ../../../../ ../../../../../ ../../../../../../ ../../../../../../.. ../../../../../../../.. ../../../../../../../../.. ../../../../../../../../../.."
    247 AC_CACHE_VAL(ac_cv_c_liberty,[
    248 for i in $dirlist; do
    249     if test -f "$i/libiberty/Makefile" ; then
    250 	ac_cv_c_liberty=`(cd $i/libiberty; ${PWDCMD-pwd})`
    251     fi
    252 done
    253 ])
    254 if test x"${ac_cv_c_liberty}" != x; then
    255     LIBERTY="-L${ac_cv_c_liberty}"
    256     AC_MSG_RESULT(${ac_cv_c_liberty})
    257 else
    258     AC_MSG_RESULT(none)
    259 fi
    260 AC_SUBST(LIBERTY)
    261 ])
    262 
    263 dnl ====================================================================
    264 dnl Find the opcodes library. This is used to do dissasemblies.
    265 AC_DEFUN([CYG_AC_PATH_OPCODES], [
    266 AC_MSG_CHECKING(for the opcodes library in the build tree)
    267 dirlist=".. ../../ ../../../ ../../../../ ../../../../../ ../../../../../../ ../../../../../../.. ../../../../../../../.. ../../../../../../../../.. ../../../../../../../../../.."
    268 AC_CACHE_VAL(ac_cv_c_opc,[
    269 for i in $dirlist; do
    270     if test -f "$i/opcodes/Makefile" ; then
    271 	ac_cv_c_opc=`(cd $i/opcodes; ${PWDCMD-pwd})`
    272     fi
    273 done
    274 ])
    275 if test x"${ac_cv_c_opc}" != x; then
    276     OPCODESLIB="-L${ac_cv_c_opc}"
    277     AC_MSG_RESULT(${ac_cv_c_opc})
    278 else
    279     AC_MSG_RESULT(none)
    280 fi
    281 AC_SUBST(OPCODESLIB)
    282 ])
    283 
    284 dnl ====================================================================
    285 dnl Look for the DejaGnu header file in the source tree. This file
    286 dnl defines the functions used to testing support.
    287 AC_DEFUN([CYG_AC_PATH_DEJAGNU], [
    288 AC_MSG_CHECKING(for the testing support files in the source tree)
    289 dirlist=".. ../../ ../../../ ../../../../ ../../../../../ ../../../../../../ ../../../../../../.. ../../../../../../../.. ../../../../../../../../.. ../../../../../../../../../.."
    290 AC_CACHE_VAL(ac_cv_c_dejagnu,[
    291 for i in $dirlist; do
    292     if test -f "$srcdir/$i/ecc/ecc/infra/testlib/current/include/dejagnu.h" ; then
    293 	ac_cv_c_dejagnu=`(cd $srcdir/$i/ecc/ecc/infra/testlib/current/include; ${PWDCMD-pwd})`
    294     fi
    295 done
    296 ])
    297 if test x"${ac_cv_c_dejagnu}" != x; then
    298     DEJAGNUHDIR="-I${ac_cv_c_dejagnu}"
    299     AC_MSG_RESULT(${ac_cv_c_dejagnu})
    300 else
    301     AC_MSG_RESULT(none)
    302 fi
    303 AC_CACHE_VAL(ac_cv_c_dejagnulib,[
    304 for i in $dirlist; do
    305     if test -f "$srcdir/$i/infra/testlib/current/lib/hostutil.exp" ; then
    306 	ac_cv_c_dejagnulib=`(cd $srcdir/$i/infra/testlib/current/lib; ${PWDCMD-pwd})`
    307     fi
    308 done
    309 ])
    310 if test x"${ac_cv_c_dejagnulib}" != x; then
    311     DEJAGNULIB="${ac_cv_c_dejagnulib}"
    312 else
    313     DEJAGNULIB=""
    314 fi
    315 AC_MSG_CHECKING(for runtest in the source tree)
    316 AC_CACHE_VAL(ac_cv_c_runtest,[
    317 for i in $dirlist; do
    318     if test -f "$srcdir/$i/dejagnu/runtest" ; then
    319 	ac_cv_c_runtest=`(cd $srcdir/$i/dejagnu; ${PWDCMD-pwd})`
    320     fi
    321 done
    322 ])
    323 if test x"${ac_cv_c_runtest}" != x; then
    324     RUNTESTDIR="${ac_cv_c_runtest}"
    325    AC_MSG_RESULT(${ac_cv_c_runtest})
    326 else
    327     RUNTESTDIR=""
    328     AC_MSG_RESULT(none)
    329 fi
    330 AC_SUBST(RUNTESTDIR)
    331 AC_SUBST(DEJAGNULIB)
    332 AC_SUBST(DEJAGNUHDIR)
    333 ])
    334 
    335 dnl ====================================================================
    336 dnl Find the libintl library in the build tree. This is for
    337 dnl  internationalization support.
    338 AC_DEFUN([CYG_AC_PATH_INTL], [
    339 AC_MSG_CHECKING(for the intl header in the build tree)
    340 dirlist=".. ../../ ../../../ ../../../../ ../../../../../ ../../../../../../ ../../../../../../.. ../../../../../../../.. ../../../../../../../../.. ../../../../../../../../../.."
    341 dnl Look for the header file
    342 AC_CACHE_VAL(ac_cv_c_intlh,[
    343 for i in $dirlist; do
    344     if test -f "$i/intl/libintl.h" ; then
    345 	ac_cv_c_intlh=`(cd $i/intl; ${PWDCMD-pwd})`
    346 	break
    347     fi
    348 done
    349 ])
    350 if test x"${ac_cv_c_intlh}" != x; then
    351     INTLHDIR="-I${ac_cv_c_intlh}"
    352     AC_MSG_RESULT(${ac_cv_c_intlh})
    353 else
    354     AC_MSG_RESULT(none)
    355 fi
    356 AC_SUBST(INTLHDIR)
    357 
    358 dnl Look for the library
    359 AC_MSG_CHECKING(for the libintl library in the build tree)
    360 AC_CACHE_VAL(ac_cv_c_intllib,[
    361 for i in $dirlist; do
    362     if test -f "$i/intl/Makefile" ; then
    363 	ac_cv_c_intllib=`(cd $i/intl; ${PWDCMD-pwd})`
    364     fi
    365 done
    366 ])
    367 if test x"${ac_cv_c_intllib}" != x; then
    368     INTLLIB="-L${ac_cv_c_intllib} -lintl"
    369     AC_MSG_RESULT(${ac_cv_c_intllib})
    370 else
    371     AC_MSG_RESULT(none)
    372 fi
    373 AC_SUBST(INTLLIB)
    374 ])
    375 
    376 dnl ====================================================================
    377 dnl Find the libiberty library.
    378 AC_DEFUN([CYG_AC_PATH_LIBIBERTY], [
    379 AC_MSG_CHECKING(for the libiberty library in the build tree)
    380 dirlist=".. ../../ ../../../ ../../../../ ../../../../../ ../../../../../../ ../../../../../../.. ../../../../../../../.. ../../../../../../../../.. ../../../../../../../../../.."
    381 AC_CACHE_VAL(ac_cv_c_libib,[
    382 for i in $dirlist; do
    383     if test -f "$i/libiberty/Makefile" ; then
    384 	ac_cv_c_libib=`(cd $i/libiberty/; ${PWDCMD-pwd})`
    385     fi
    386 done
    387 ])
    388 if test x"${ac_cv_c_libib}" != x; then
    389     LIBIBERTY="-L${ac_cv_c_libib}"
    390     AC_MSG_RESULT(${ac_cv_c_libib})
    391 else
    392     AC_MSG_RESULT(none)
    393 fi
    394 AC_SUBST(LIBIBERTY)
    395 ])
    396 
    397 dnl ====================================================================
    398 dnl Find all the ILU headers and libraries
    399 AC_DEFUN([CYG_AC_PATH_ILU], [
    400 AC_MSG_CHECKING(for ILU kernel headers in the source tree)
    401 dirlist=".. ../../ ../../../ ../../../../ ../../../../../ ../../../../../../ ../../../../../../.. ../../../../../../../.. ../../../../../../../../.. ../../../../../../../../../.."
    402 AC_CACHE_VAL(ac_cv_c_iluh,[
    403 for i in $dirlist; do
    404     if test -f "${srcdir}/$i/ilu/runtime/kernel/method.h" ; then
    405 	ac_cv_c_iluh=`(cd ${srcdir}/$i/ilu/runtime/kernel; ${PWDCMD-pwd})`
    406     fi
    407 done
    408 ])
    409 if test x"${ac_cv_c_iluh}" != x; then
    410     ILUHDIR="-I${ac_cv_c_iluh}"
    411     AC_MSG_RESULT(${ac_cv_c_iluh})
    412 else
    413     AC_MSG_RESULT(none)
    414 fi
    415 
    416 AC_MSG_CHECKING(for ILU kernel headers in the build tree)
    417 dirlist=".. ../../ ../../../ ../../../../ ../../../../../ ../../../../../../ ../../../../../../.. ../../../../../../../.. ../../../../../../../../.. ../../../../../../../../../.."
    418 AC_CACHE_VAL(ac_cv_c_iluh5,[
    419 for i in $dirlist; do
    420     if test -f "$i/ilu/runtime/kernel/iluconf.h" ; then
    421 	ac_cv_c_iluh5=`(cd $i/ilu/runtime/kernel; ${PWDCMD-pwd})`
    422     fi
    423 done
    424 ])
    425 if test x"${ac_cv_c_iluh5}" != x; then
    426     ILUHDIR="${ILUHDIR} -I${ac_cv_c_iluh5}"
    427     AC_MSG_RESULT(${ac_cv_c_iluh5})
    428 else
    429     AC_MSG_RESULT(none)
    430 fi
    431 
    432 AC_MSG_CHECKING(for ILU C++ headers in the source tree)
    433 AC_CACHE_VAL(ac_cv_c_iluh2,[
    434 for i in $dirlist; do
    435     if test -f "${srcdir}/$i/ilu/stubbers/cpp/resource.h" ; then
    436 	ac_cv_c_iluh2=`(cd ${srcdir}/$i/ilu/stubbers/cpp; ${PWDCMD-pwd})`
    437     fi
    438 done
    439 ])
    440 if test x"${ac_cv_c_iluh2}" != x; then
    441     ILUHDIR="${ILUHDIR} -I${ac_cv_c_iluh2}"
    442     AC_MSG_RESULT(${ac_cv_c_iluh2})
    443 else
    444     AC_MSG_RESULT(none)
    445 fi
    446 
    447 AC_MSG_CHECKING(for ILU C headers)
    448 AC_CACHE_VAL(ac_cv_c_iluh3,[
    449 for i in $dirlist; do
    450     if test -f "${srcdir}/$i/ilu/stubbers/c/resource.h" ; then
    451 	ac_cv_c_iluh3=`(cd ${srcdir}/$i/ilu/stubbers/c  ; ${PWDCMD-pwd})`
    452     fi
    453 done
    454 ])
    455 if test x"${ac_cv_c_iluh3}" != x; then
    456     ILUHDIR="${ILUHDIR} -I${ac_cv_c_iluh3}"
    457     AC_MSG_RESULT(${ac_cv_c_iluh3})
    458 else
    459     AC_MSG_RESULT(none)
    460 fi
    461 
    462 AC_MSG_CHECKING(for ILU C runtime headers)
    463 AC_CACHE_VAL(ac_cv_c_iluh4,[
    464 for i in $dirlist; do
    465     if test -f "${srcdir}/$i/ilu/runtime/c/ilucstub.h" ; then
    466 	ac_cv_c_iluh4=`(cd ${srcdir}/$i/ilu/runtime/c  ; ${PWDCMD-pwd})`
    467     fi
    468 done
    469 ])
    470 if test x"${ac_cv_c_iluh4}" != x; then
    471     ILUHDIR="${ILUHDIR} -I${ac_cv_c_iluh4}"
    472     AC_MSG_RESULT(${ac_cv_c_iluh4})
    473 else
    474     AC_MSG_RESULT(none)
    475 fi
    476 
    477 AC_CACHE_VAL(ac_cv_c_ilupath,[
    478 for i in $dirlist; do
    479     if test -f "$i/ilu/Makefile" ; then
    480 	ac_cv_c_ilupath=`(cd $i/ilu; ${PWDCMD-pwd})`
    481 	break
    482     fi
    483 done
    484 ])
    485 ILUTOP=${ac_cv_c_ilupath}
    486 
    487 AC_MSG_CHECKING(for the ILU library in the build tree)
    488 AC_CACHE_VAL(ac_cv_c_ilulib,[
    489 if test -f "$ac_cv_c_ilupath/runtime/kernel/Makefile" ; then
    490     ac_cv_c_ilulib=`(cd $ac_cv_c_ilupath/runtime/kernel; ${PWDCMD-pwd})`
    491     AC_MSG_RESULT(found ${ac_cv_c_ilulib}/libilu.a)
    492 else
    493     AC_MSG_RESULT(no)
    494 fi])
    495    
    496 AC_MSG_CHECKING(for the ILU C++ bindings library in the build tree)
    497 AC_CACHE_VAL(ac_cv_c_ilulib2,[
    498 if test -f "$ac_cv_c_ilupath/runtime/cpp/Makefile" ; then
    499     ac_cv_c_ilulib2=`(cd $ac_cv_c_ilupath/runtime/cpp; ${PWDCMD-pwd})`
    500     AC_MSG_RESULT(found ${ac_cv_c_ilulib2}/libilu-c++.a)
    501 else
    502     AC_MSG_RESULT(no)
    503 fi])
    504 
    505 AC_MSG_CHECKING(for the ILU C bindings library in the build tree)
    506 AC_CACHE_VAL(ac_cv_c_ilulib3,[
    507 if test -f "$ac_cv_c_ilupath/runtime/c/Makefile" ; then
    508     ac_cv_c_ilulib3=`(cd $ac_cv_c_ilupath/runtime/c; ${PWDCMD-pwd})`
    509     AC_MSG_RESULT(found ${ac_cv_c_ilulib3}/libilu-c.a)
    510 else
    511     AC_MSG_RESULT(no)
    512 fi])
    513 
    514 AC_MSG_CHECKING(for the ILU Tk bindings library in the build tree)
    515 AC_CACHE_VAL(ac_cv_c_ilulib4,[
    516 if test -f "$ac_cv_c_ilupath/runtime/mainloop/Makefile" ; then
    517     ac_cv_c_ilulib4=`(cd $ac_cv_c_ilupath/runtime/mainloop; ${PWDCMD-pwd})`
    518     AC_MSG_RESULT(found ${ac_cv_c_ilulib4}/libilu-tk.a)
    519 else
    520     AC_MSG_RESULT(no)
    521 fi])
    522 
    523 if test x"${ac_cv_c_ilulib}" = x -a x"${ac_cv_c_ilulib2}" = x; then
    524   ILUHDIR=""
    525 fi
    526 
    527 if test x"${ac_cv_c_ilulib}" != x -a x"${ac_cv_c_ilulib2}" != x; then
    528     ILULIB="-L${ac_cv_c_ilulib} -L${ac_cv_c_ilulib2} -L${ac_cv_c_ilulib3} -L${ac_cv_c_ilulib4}"
    529 else
    530     ILULIB=""
    531 fi
    532 
    533 if test x"${ILULIB}" = x; then
    534     AC_MSG_CHECKING(for ILU libraries installed with the compiler)
    535     AC_CACHE_VAL(ac_cv_c_ilulib5,[
    536     NATIVE_GCC=`echo gcc | sed -e "${program_transform_name}"`
    537 
    538     dnl Get G++'s full path to it's libraries
    539     ac_cv_c_ilulib5=`${NATIVE_GCC} --print-libgcc | sed -e 's:lib/gcc-lib/.*::'`lib
    540     if test -f $ac_cv_c_ilulib5/libilu-c.a -o -f $ac_cv_c_ilulib5/libilu-c.so ; then
    541         if test x"${ILUHDIR}" = x; then
    542                ILUHDIR="-I${ac_cv_c_ilulib5}/../include"
    543         fi
    544         ILULIB="-L${ac_cv_c_ilulib5}"
    545         AC_MSG_RESULT(${ac_cv_c_ilulib5})
    546     else
    547         ac_cv_c_ilulib=none
    548         AC_MSG_RESULT(none)
    549     fi
    550 fi])
    551 AC_SUBST(ILUHDIR)
    552 AC_SUBST(ILULIB)
    553 AC_SUBST(ILUTOP)
    554 ])
    555 
    556 dnl ====================================================================
    557 dnl This defines the byte order for the host. We can't use
    558 dnl AC_C_BIGENDIAN, cause we want to create a config file and
    559 dnl substitue the real value, so the header files work right
    560 AC_DEFUN([CYG_AC_C_ENDIAN], [
    561 AC_MSG_CHECKING(to see if this is a little endian host)
    562 AC_CACHE_VAL(ac_cv_c_little_endian, [
    563 ac_cv_c_little_endian=unknown
    564 # See if sys/param.h defines the BYTE_ORDER macro.
    565 AC_TRY_COMPILE([#include <sys/types.h>
    566 #include <sys/param.h>], [
    567 #if !BYTE_ORDER || !_BIG_ENDIAN || !_LITTLE_ENDIAN
    568  bogus endian macros
    569 #endif], [# It does; now see whether it defined to _LITTLE_ENDIAN or not.
    570 AC_TRY_COMPILE([#include <sys/types.h>
    571 #include <sys/param.h>], [
    572 #if BYTE_ORDER != _LITTLE_ENDIAN
    573  not big endian
    574 #endif], ac_cv_c_little_endian=yes, ac_cv_c_little_endian=no)
    575 ])
    576 if test ${ac_cv_c_little_endian} = unknown; then
    577 old_cflags=$CFLAGS
    578 CFLAGS=-g
    579 AC_TRY_RUN([
    580 main () {
    581   /* Are we little or big endian?  From Harbison&Steele.  */
    582   union
    583   {
    584     long l;
    585     char c[sizeof (long)];
    586   } u;
    587   u.l = 1;
    588   exit (u.c[0] == 1);
    589 }],
    590 ac_cv_c_little_endian=no,
    591 ac_cv_c_little_endian=yes,[
    592 dnl Yes, this is ugly, and only used for a canadian cross anyway. This
    593 dnl is just to keep configure from stopping here.
    594 case "${host}" in
    595 changequote(,)
    596    i[3456789]86-*-*) ac_cv_c_little_endian=yes ;;
    597    sparc*-*-*)    ac_cv_c_little_endian=no ;;
    598 changequote([,])
    599   *)    AC_MSG_WARN(Can't cross compile this test) ;;
    600 esac])
    601 CFLAGS=$old_cflags
    602 fi])
    603 
    604 if test x"${ac_cv_c_little_endian}" = xyes; then
    605     AC_DEFINE(LITTLE_ENDIAN_HOST)
    606     ENDIAN="CYG_LSBFIRST";
    607 else
    608     ENDIAN="CYG_MSBFIRST";
    609 fi
    610 AC_MSG_RESULT(${ac_cv_c_little_endian})
    611 AC_SUBST(ENDIAN)
    612 ])
    613 
    614 dnl ====================================================================
    615 dnl Look for the path to libgcc, so we can use it to directly link
    616 dnl in libgcc.a with LD.
    617 AC_DEFUN([CYG_AC_PATH_LIBGCC],
    618 [AC_MSG_CHECKING([Looking for the path to libgcc.a])
    619 AC_LANG_SAVE
    620 AC_LANG_C
    621 
    622 dnl Get Gcc's full path to libgcc.a
    623 libgccpath=`${CC} --print-libgcc`
    624 
    625 dnl If we don't have a path with libgcc.a on the end, this isn't G++.
    626 if test `echo $libgccpath | sed -e 's:/.*/::'` = libgcc.a ; then
    627    ac_cv_prog_gcc=yes
    628 else
    629    ac_cv_prog_gcc=no
    630 fi
    631 
    632 dnl 
    633 if test x"${ac_cv_prog_gcc}" = xyes ; then
    634    gccpath=`echo $libgccpath | sed -e 's:/libgcc.a::'`
    635    LIBGCC="-L${gccpath}"
    636    AC_MSG_RESULT(${gccpath})
    637 else
    638    LIBGCC=""
    639    AC_MSG_ERROR(Not using gcc)
    640 fi
    641 
    642 AC_LANG_RESTORE
    643 AC_SUBST(LIBGCC)
    644 ])
    645