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 simulator library. 378 AC_DEFUN([CYG_AC_PATH_SIM], [ 379 dirlist=".. ../../ ../../../ ../../../../ ../../../../../ ../../../../../../ ../../../../../../.. ../../../../../../../.. ../../../../../../../../.. ../../../../../../../../../.. ../../../../../../../../../.." 380 case "$target_cpu" in 381 powerpc) target_dir=ppc ;; 382 sparc*) target_dir=erc32 ;; 383 mips*) target_dir=mips ;; 384 *) target_dir=$target_cpu ;; 385 esac 386 dnl First look for the header file 387 AC_MSG_CHECKING(for the simulator header file) 388 AC_CACHE_VAL(ac_cv_c_simh,[ 389 for i in $dirlist; do 390 if test -f "${srcdir}/$i/include/remote-sim.h" ; then 391 ac_cv_c_simh=`(cd ${srcdir}/$i/include; ${PWDCMD-pwd})` 392 break 393 fi 394 done 395 ]) 396 if test x"${ac_cv_c_simh}" != x; then 397 SIMHDIR="-I${ac_cv_c_simh}" 398 AC_MSG_RESULT(${ac_cv_c_simh}) 399 else 400 AC_MSG_RESULT(none) 401 fi 402 AC_SUBST(SIMHDIR) 403 404 dnl See whether it's a devo or Foundry branch simulator 405 AC_MSG_CHECKING(Whether this is a devo simulator ) 406 AC_CACHE_VAL(ac_cv_c_simdevo,[ 407 CPPFLAGS="$CPPFLAGS $SIMHDIR" 408 AC_EGREP_HEADER([SIM_DESC sim_open.*struct _bfd], remote-sim.h, 409 ac_cv_c_simdevo=yes, 410 ac_cv_c_simdevo=no) 411 ]) 412 if test x"$ac_cv_c_simdevo" = x"yes" ; then 413 AC_DEFINE(HAVE_DEVO_SIM) 414 fi 415 AC_MSG_RESULT(${ac_cv_c_simdevo}) 416 AC_SUBST(HAVE_DEVO_SIM) 417 418 dnl Next look for the library 419 AC_MSG_CHECKING(for the simulator library) 420 AC_CACHE_VAL(ac_cv_c_simlib,[ 421 for i in $dirlist; do 422 if test -f "$i/sim/$target_dir/Makefile" ; then 423 ac_cv_c_simlib=`(cd $i/sim/$target_dir; ${PWDCMD-pwd})` 424 fi 425 done 426 ]) 427 if test x"${ac_cv_c_simlib}" != x; then 428 SIMLIB="-L${ac_cv_c_simlib}" 429 else 430 AC_MSG_RESULT(none) 431 dnl FIXME: this is kinda bogus, cause umtimately the TM will build 432 dnl all the libraries for several architectures. But for now, this 433 dnl will work till then. 434 dnl AC_MSG_CHECKING(for the simulator installed with the compiler libraries) 435 dnl Transform the name of the compiler to it's cross variant, unless 436 dnl CXX is set. This is also what CXX gets set to in the generated 437 dnl Makefile. 438 CROSS_GCC=`echo gcc | sed -e "s/^/$target/"` 439 440 dnl Get G++'s full path to libgcc.a 441 changequote(,) 442 gccpath=`${CROSS_GCC} --print-libgcc | sed -e 's:[a-z0-9A-Z\.\-]*/libgcc.a::' -e 's:lib/gcc-lib/::'`lib 443 changequote([,]) 444 if test -f $gccpath/libsim.a -o -f $gccpath/libsim.so ; then 445 ac_cv_c_simlib="$gccpath/" 446 SIMLIB="-L${ac_cv_c_simlib}" 447 AC_MSG_RESULT(${ac_cv_c_simlib}) 448 else 449 AM_CONDITIONAL(PSIM, test x$psim = xno) 450 SIMLIB="" 451 AC_MSG_RESULT(none) 452 dnl ac_cv_c_simlib=none 453 fi 454 fi 455 AC_SUBST(SIMLIB) 456 ]) 457 458 dnl ==================================================================== 459 dnl Find the libiberty library. 460 AC_DEFUN([CYG_AC_PATH_LIBIBERTY], [ 461 AC_MSG_CHECKING(for the libiberty library in the build tree) 462 dirlist=".. ../../ ../../../ ../../../../ ../../../../../ ../../../../../../ ../../../../../../.. ../../../../../../../.. ../../../../../../../../.. ../../../../../../../../../.." 463 AC_CACHE_VAL(ac_cv_c_libib,[ 464 for i in $dirlist; do 465 if test -f "$i/libiberty/Makefile" ; then 466 ac_cv_c_libib=`(cd $i/libiberty/; ${PWDCMD-pwd})` 467 fi 468 done 469 ]) 470 if test x"${ac_cv_c_libib}" != x; then 471 LIBIBERTY="-L${ac_cv_c_libib}" 472 AC_MSG_RESULT(${ac_cv_c_libib}) 473 else 474 AC_MSG_RESULT(none) 475 fi 476 AC_SUBST(LIBIBERTY) 477 ]) 478 479 dnl ==================================================================== 480 AC_DEFUN([CYG_AC_PATH_DEVO], [ 481 AC_MSG_CHECKING(for devo headers in the source tree) 482 dirlist=".. ../../ ../../../ ../../../../ ../../../../../ ../../../../../../ ../../../../../../.. ../../../../../../../.. ../../../../../../../../.. ../../../../../../../../../.." 483 AC_CACHE_VAL(ac_cv_c_devoh,[ 484 for i in $dirlist; do 485 if test -f "${srcdir}/$i/include/remote-sim.h" ; then 486 ac_cv_c_devoh=`(cd ${srcdir}/$i/include; ${PWDCMD-pwd})` 487 fi 488 done 489 ]) 490 if test x"${ac_cv_c_devoh}" != x; then 491 DEVOHDIR="-I${ac_cv_c_devoh}" 492 AC_MSG_RESULT(${ac_cv_c_devoh}) 493 else 494 AC_MSG_RESULT(none) 495 fi 496 AC_SUBST(DEVOHDIR) 497 ]) 498 499 dnl ==================================================================== 500 dnl Find all the ILU headers and libraries 501 AC_DEFUN([CYG_AC_PATH_ILU], [ 502 AC_MSG_CHECKING(for ILU kernel headers in the source tree) 503 dirlist=".. ../../ ../../../ ../../../../ ../../../../../ ../../../../../../ ../../../../../../.. ../../../../../../../.. ../../../../../../../../.. ../../../../../../../../../.." 504 AC_CACHE_VAL(ac_cv_c_iluh,[ 505 for i in $dirlist; do 506 if test -f "${srcdir}/$i/ilu/runtime/kernel/method.h" ; then 507 ac_cv_c_iluh=`(cd ${srcdir}/$i/ilu/runtime/kernel; ${PWDCMD-pwd})` 508 fi 509 done 510 ]) 511 if test x"${ac_cv_c_iluh}" != x; then 512 ILUHDIR="-I${ac_cv_c_iluh}" 513 AC_MSG_RESULT(${ac_cv_c_iluh}) 514 else 515 AC_MSG_RESULT(none) 516 fi 517 518 AC_MSG_CHECKING(for ILU kernel headers in the build tree) 519 dirlist=".. ../../ ../../../ ../../../../ ../../../../../ ../../../../../../ ../../../../../../.. ../../../../../../../.. ../../../../../../../../.. ../../../../../../../../../.." 520 AC_CACHE_VAL(ac_cv_c_iluh5,[ 521 for i in $dirlist; do 522 if test -f "$i/ilu/runtime/kernel/iluconf.h" ; then 523 ac_cv_c_iluh5=`(cd $i/ilu/runtime/kernel; ${PWDCMD-pwd})` 524 fi 525 done 526 ]) 527 if test x"${ac_cv_c_iluh5}" != x; then 528 ILUHDIR="${ILUHDIR} -I${ac_cv_c_iluh5}" 529 AC_MSG_RESULT(${ac_cv_c_iluh5}) 530 else 531 AC_MSG_RESULT(none) 532 fi 533 534 AC_MSG_CHECKING(for ILU C++ headers in the source tree) 535 AC_CACHE_VAL(ac_cv_c_iluh2,[ 536 for i in $dirlist; do 537 if test -f "${srcdir}/$i/ilu/stubbers/cpp/resource.h" ; then 538 ac_cv_c_iluh2=`(cd ${srcdir}/$i/ilu/stubbers/cpp; ${PWDCMD-pwd})` 539 fi 540 done 541 ]) 542 if test x"${ac_cv_c_iluh2}" != x; then 543 ILUHDIR="${ILUHDIR} -I${ac_cv_c_iluh2}" 544 AC_MSG_RESULT(${ac_cv_c_iluh2}) 545 else 546 AC_MSG_RESULT(none) 547 fi 548 549 AC_MSG_CHECKING(for ILU C headers) 550 AC_CACHE_VAL(ac_cv_c_iluh3,[ 551 for i in $dirlist; do 552 if test -f "${srcdir}/$i/ilu/stubbers/c/resource.h" ; then 553 ac_cv_c_iluh3=`(cd ${srcdir}/$i/ilu/stubbers/c ; ${PWDCMD-pwd})` 554 fi 555 done 556 ]) 557 if test x"${ac_cv_c_iluh3}" != x; then 558 ILUHDIR="${ILUHDIR} -I${ac_cv_c_iluh3}" 559 AC_MSG_RESULT(${ac_cv_c_iluh3}) 560 else 561 AC_MSG_RESULT(none) 562 fi 563 564 AC_MSG_CHECKING(for ILU C runtime headers) 565 AC_CACHE_VAL(ac_cv_c_iluh4,[ 566 for i in $dirlist; do 567 if test -f "${srcdir}/$i/ilu/runtime/c/ilucstub.h" ; then 568 ac_cv_c_iluh4=`(cd ${srcdir}/$i/ilu/runtime/c ; ${PWDCMD-pwd})` 569 fi 570 done 571 ]) 572 if test x"${ac_cv_c_iluh4}" != x; then 573 ILUHDIR="${ILUHDIR} -I${ac_cv_c_iluh4}" 574 AC_MSG_RESULT(${ac_cv_c_iluh4}) 575 else 576 AC_MSG_RESULT(none) 577 fi 578 579 AC_CACHE_VAL(ac_cv_c_ilupath,[ 580 for i in $dirlist; do 581 if test -f "$i/ilu/Makefile" ; then 582 ac_cv_c_ilupath=`(cd $i/ilu; ${PWDCMD-pwd})` 583 break 584 fi 585 done 586 ]) 587 ILUTOP=${ac_cv_c_ilupath} 588 589 AC_MSG_CHECKING(for the ILU library in the build tree) 590 AC_CACHE_VAL(ac_cv_c_ilulib,[ 591 if test -f "$ac_cv_c_ilupath/runtime/kernel/Makefile" ; then 592 ac_cv_c_ilulib=`(cd $ac_cv_c_ilupath/runtime/kernel; ${PWDCMD-pwd})` 593 AC_MSG_RESULT(found ${ac_cv_c_ilulib}/libilu.a) 594 else 595 AC_MSG_RESULT(no) 596 fi]) 597 598 AC_MSG_CHECKING(for the ILU C++ bindings library in the build tree) 599 AC_CACHE_VAL(ac_cv_c_ilulib2,[ 600 if test -f "$ac_cv_c_ilupath/runtime/cpp/Makefile" ; then 601 ac_cv_c_ilulib2=`(cd $ac_cv_c_ilupath/runtime/cpp; ${PWDCMD-pwd})` 602 AC_MSG_RESULT(found ${ac_cv_c_ilulib2}/libilu-c++.a) 603 else 604 AC_MSG_RESULT(no) 605 fi]) 606 607 AC_MSG_CHECKING(for the ILU C bindings library in the build tree) 608 AC_CACHE_VAL(ac_cv_c_ilulib3,[ 609 if test -f "$ac_cv_c_ilupath/runtime/c/Makefile" ; then 610 ac_cv_c_ilulib3=`(cd $ac_cv_c_ilupath/runtime/c; ${PWDCMD-pwd})` 611 AC_MSG_RESULT(found ${ac_cv_c_ilulib3}/libilu-c.a) 612 else 613 AC_MSG_RESULT(no) 614 fi]) 615 616 AC_MSG_CHECKING(for the ILU Tk bindings library in the build tree) 617 AC_CACHE_VAL(ac_cv_c_ilulib4,[ 618 if test -f "$ac_cv_c_ilupath/runtime/mainloop/Makefile" ; then 619 ac_cv_c_ilulib4=`(cd $ac_cv_c_ilupath/runtime/mainloop; ${PWDCMD-pwd})` 620 AC_MSG_RESULT(found ${ac_cv_c_ilulib4}/libilu-tk.a) 621 else 622 AC_MSG_RESULT(no) 623 fi]) 624 625 if test x"${ac_cv_c_ilulib}" = x -a x"${ac_cv_c_ilulib2}" = x; then 626 ILUHDIR="" 627 fi 628 629 if test x"${ac_cv_c_ilulib}" != x -a x"${ac_cv_c_ilulib2}" != x; then 630 ILULIB="-L${ac_cv_c_ilulib} -L${ac_cv_c_ilulib2} -L${ac_cv_c_ilulib3} -L${ac_cv_c_ilulib4}" 631 else 632 ILULIB="" 633 fi 634 635 if test x"${ILULIB}" = x; then 636 AC_MSG_CHECKING(for ILU libraries installed with the compiler) 637 AC_CACHE_VAL(ac_cv_c_ilulib5,[ 638 NATIVE_GCC=`echo gcc | sed -e "${program_transform_name}"` 639 640 dnl Get G++'s full path to it's libraries 641 ac_cv_c_ilulib5=`${NATIVE_GCC} --print-libgcc | sed -e 's:lib/gcc-lib/.*::'`lib 642 if test -f $ac_cv_c_ilulib5/libilu-c.a -o -f $ac_cv_c_ilulib5/libilu-c.so ; then 643 if test x"${ILUHDIR}" = x; then 644 ILUHDIR="-I${ac_cv_c_ilulib5}/../include" 645 fi 646 ILULIB="-L${ac_cv_c_ilulib5}" 647 AC_MSG_RESULT(${ac_cv_c_ilulib5}) 648 else 649 ac_cv_c_ilulib=none 650 AC_MSG_RESULT(none) 651 fi 652 fi]) 653 AC_SUBST(ILUHDIR) 654 AC_SUBST(ILULIB) 655 AC_SUBST(ILUTOP) 656 ]) 657 658 dnl ==================================================================== 659 dnl This defines the byte order for the host. We can't use 660 dnl AC_C_BIGENDIAN, cause we want to create a config file and 661 dnl substitue the real value, so the header files work right 662 AC_DEFUN([CYG_AC_C_ENDIAN], [ 663 AC_MSG_CHECKING(to see if this is a little endian host) 664 AC_CACHE_VAL(ac_cv_c_little_endian, [ 665 ac_cv_c_little_endian=unknown 666 # See if sys/param.h defines the BYTE_ORDER macro. 667 AC_TRY_COMPILE([#include <sys/types.h> 668 #include <sys/param.h>], [ 669 #if !BYTE_ORDER || !_BIG_ENDIAN || !_LITTLE_ENDIAN 670 bogus endian macros 671 #endif], [# It does; now see whether it defined to _LITTLE_ENDIAN or not. 672 AC_TRY_COMPILE([#include <sys/types.h> 673 #include <sys/param.h>], [ 674 #if BYTE_ORDER != _LITTLE_ENDIAN 675 not big endian 676 #endif], ac_cv_c_little_endian=yes, ac_cv_c_little_endian=no) 677 ]) 678 if test ${ac_cv_c_little_endian} = unknown; then 679 old_cflags=$CFLAGS 680 CFLAGS=-g 681 AC_TRY_RUN([ 682 main () { 683 /* Are we little or big endian? From Harbison&Steele. */ 684 union 685 { 686 long l; 687 char c[sizeof (long)]; 688 } u; 689 u.l = 1; 690 exit (u.c[0] == 1); 691 }], 692 ac_cv_c_little_endian=no, 693 ac_cv_c_little_endian=yes,[ 694 dnl Yes, this is ugly, and only used for a canadian cross anyway. This 695 dnl is just to keep configure from stopping here. 696 case "${host}" in 697 changequote(,) 698 i[3456789]86-*-*) ac_cv_c_little_endian=yes ;; 699 sparc*-*-*) ac_cv_c_little_endian=no ;; 700 changequote([,]) 701 *) AC_MSG_WARN(Can't cross compile this test) ;; 702 esac]) 703 CFLAGS=$old_cflags 704 fi]) 705 706 if test x"${ac_cv_c_little_endian}" = xyes; then 707 AC_DEFINE(LITTLE_ENDIAN_HOST) 708 ENDIAN="CYG_LSBFIRST"; 709 else 710 ENDIAN="CYG_MSBFIRST"; 711 fi 712 AC_MSG_RESULT(${ac_cv_c_little_endian}) 713 AC_SUBST(ENDIAN) 714 ]) 715 716 dnl ==================================================================== 717 dnl Look for the path to libgcc, so we can use it to directly link 718 dnl in libgcc.a with LD. 719 AC_DEFUN([CYG_AC_PATH_LIBGCC], 720 [AC_MSG_CHECKING([Looking for the path to libgcc.a]) 721 AC_LANG_SAVE 722 AC_LANG_C 723 724 dnl Get Gcc's full path to libgcc.a 725 libgccpath=`${CC} --print-libgcc` 726 727 dnl If we don't have a path with libgcc.a on the end, this isn't G++. 728 if test `echo $libgccpath | sed -e 's:/.*/::'` = libgcc.a ; then 729 ac_cv_prog_gcc=yes 730 else 731 ac_cv_prog_gcc=no 732 fi 733 734 dnl 735 if test x"${ac_cv_prog_gcc}" = xyes ; then 736 gccpath=`echo $libgccpath | sed -e 's:/libgcc.a::'` 737 LIBGCC="-L${gccpath}" 738 AC_MSG_RESULT(${gccpath}) 739 else 740 LIBGCC="" 741 AC_MSG_ERROR(Not using gcc) 742 fi 743 744 AC_LANG_RESTORE 745 AC_SUBST(LIBGCC) 746 ]) 747