1dnl written by Rob Savoye <rob@cygnus.com> for Cygnus Support 2dnl major rewriting for Tcl 7.5 by Don Libes <libes@nist.gov> 3 4dnl gdb/configure.in uses BFD_NEED_DECLARATION, so get its definition. 5sinclude(../bfd/acinclude.m4) 6 7dnl This gets the standard macros, like the TCL, TK, etc ones. 8sinclude(../config/acinclude.m4) 9 10dnl CYGNUS LOCAL: This gets the right posix flag for gcc 11AC_DEFUN([CY_AC_TCL_LYNX_POSIX], 12[AC_REQUIRE([AC_PROG_CC])AC_REQUIRE([AC_PROG_CPP]) 13AC_MSG_CHECKING([if running LynxOS]) 14AC_CACHE_VAL(ac_cv_os_lynx, 15[AC_EGREP_CPP(yes, 16[/* 17 * The old Lynx "cc" only defines "Lynx", but the newer one uses "__Lynx__" 18 */ 19#if defined(__Lynx__) || defined(Lynx) 20yes 21#endif 22], ac_cv_os_lynx=yes, ac_cv_os_lynx=no)]) 23# 24if test "$ac_cv_os_lynx" = "yes" ; then 25 AC_MSG_RESULT(yes) 26 AC_DEFINE(LYNX) 27 AC_MSG_CHECKING([whether -mposix or -X is available]) 28 AC_CACHE_VAL(ac_cv_c_posix_flag, 29 [AC_TRY_COMPILE(,[ 30 /* 31 * This flag varies depending on how old the compiler is. 32 * -X is for the old "cc" and "gcc" (based on 1.42). 33 * -mposix is for the new gcc (at least 2.5.8). 34 */ 35 #if defined(__GNUC__) && __GNUC__ >= 2 36 choke me 37 #endif 38 ], ac_cv_c_posix_flag=" -mposix", ac_cv_c_posix_flag=" -X")]) 39 CC="$CC $ac_cv_c_posix_flag" 40 AC_MSG_RESULT($ac_cv_c_posix_flag) 41 else 42 AC_MSG_RESULT(no) 43fi 44]) 45 46# 47# Sometimes the native compiler is a bogus stub for gcc or /usr/ucb/cc. This 48# makes configure think it's cross compiling. If --target wasn't used, then 49# we can't configure, so something is wrong. We don't use the cache 50# here cause if somebody fixes their compiler install, we want this to work. 51AC_DEFUN([CY_AC_C_WORKS], 52[# If we cannot compile and link a trivial program, we can't expect anything to work 53AC_MSG_CHECKING(whether the compiler ($CC) actually works) 54AC_TRY_COMPILE(, [/* don't need anything here */], 55 c_compiles=yes, c_compiles=no) 56 57AC_TRY_LINK(, [/* don't need anything here */], 58 c_links=yes, c_links=no) 59 60if test x"${c_compiles}" = x"no" ; then 61 AC_MSG_ERROR(the native compiler is broken and won't compile.) 62fi 63 64if test x"${c_links}" = x"no" ; then 65 AC_MSG_ERROR(the native compiler is broken and won't link.) 66fi 67AC_MSG_RESULT(yes) 68]) 69 70AC_DEFUN([CY_AC_PATH_TCLH], [ 71# 72# Ok, lets find the tcl source trees so we can use the headers 73# Warning: transition of version 9 to 10 will break this algorithm 74# because 10 sorts before 9. We also look for just tcl. We have to 75# be careful that we don't match stuff like tclX by accident. 76# the alternative search directory is involked by --with-tclinclude 77# 78 79no_tcl=true 80AC_MSG_CHECKING(for Tcl private headers. dir=${configdir}) 81AC_ARG_WITH(tclinclude, [ --with-tclinclude=DIR Directory where tcl private headers are], with_tclinclude=${withval}) 82AC_CACHE_VAL(ac_cv_c_tclh,[ 83# first check to see if --with-tclinclude was specified 84if test x"${with_tclinclude}" != x ; then 85 if test -f ${with_tclinclude}/tclInt.h ; then 86 ac_cv_c_tclh=`(cd ${with_tclinclude}; pwd)` 87 elif test -f ${with_tclinclude}/generic/tclInt.h ; then 88 ac_cv_c_tclh=`(cd ${with_tclinclude}/generic; pwd)` 89 else 90 AC_MSG_ERROR([${with_tclinclude} directory doesn't contain private headers]) 91 fi 92fi 93 94# next check if it came with Tcl configuration file 95if test x"${ac_cv_c_tclconfig}" = x ; then 96 if test -f $ac_cv_c_tclconfig/../generic/tclInt.h ; then 97 ac_cv_c_tclh=`(cd $ac_cv_c_tclconfig/..; pwd)` 98 fi 99fi 100 101# next check in private source directory 102# 103# since ls returns lowest version numbers first, reverse its output 104if test x"${ac_cv_c_tclh}" = x ; then 105 for i in \ 106 ${srcdir}/../tcl \ 107 `ls -dr ${srcdir}/../tcl[[7-9]]* 2>/dev/null` \ 108 ${srcdir}/../../tcl \ 109 `ls -dr ${srcdir}/../../tcl[[7-9]]* 2>/dev/null` \ 110 ${srcdir}/../../../tcl \ 111 `ls -dr ${srcdir}/../../../tcl[[7-9]]* 2>/dev/null ` ; do 112 if test -f $i/generic/tclInt.h ; then 113 ac_cv_c_tclh=`(cd $i/generic; pwd)` 114 break 115 fi 116 done 117fi 118# finally check in a few common install locations 119# 120# since ls returns lowest version numbers first, reverse its output 121if test x"${ac_cv_c_tclh}" = x ; then 122 for i in \ 123 `ls -dr /usr/local/src/tcl[[7-9]]* 2>/dev/null` \ 124 `ls -dr /usr/local/lib/tcl[[7-9]]* 2>/dev/null` \ 125 /usr/local/src/tcl \ 126 /usr/local/lib/tcl \ 127 ${prefix}/include ; do 128 if test -f $i/generic/tclInt.h ; then 129 ac_cv_c_tclh=`(cd $i/generic; pwd)` 130 break 131 fi 132 done 133fi 134# see if one is installed 135if test x"${ac_cv_c_tclh}" = x ; then 136 AC_HEADER_CHECK(tclInt.h, ac_cv_c_tclh=installed, ac_cv_c_tclh="") 137fi 138]) 139if test x"${ac_cv_c_tclh}" = x ; then 140 TCLHDIR="# no Tcl private headers found" 141 AC_MSG_ERROR([Can't find Tcl private headers]) 142fi 143if test x"${ac_cv_c_tclh}" != x ; then 144 no_tcl="" 145 if test x"${ac_cv_c_tclh}" = x"installed" ; then 146 AC_MSG_RESULT([is installed]) 147 TCLHDIR="" 148 else 149 AC_MSG_RESULT([found in ${ac_cv_c_tclh}]) 150 # this hack is cause the TCLHDIR won't print if there is a "-I" in it. 151 TCLHDIR="-I${ac_cv_c_tclh}" 152 fi 153fi 154 155AC_SUBST(TCLHDIR) 156]) 157 158 159AC_DEFUN([CY_AC_PATH_TCLCONFIG], [ 160# 161# Ok, lets find the tcl configuration 162# First, look for one uninstalled. 163# the alternative search directory is invoked by --with-tclconfig 164# 165 166if test x"${no_tcl}" = x ; then 167 # we reset no_tcl in case something fails here 168 no_tcl=true 169 AC_ARG_WITH(tclconfig, [ --with-tclconfig=DIR Directory containing tcl configuration (tclConfig.sh)], 170 with_tclconfig=${withval}) 171 AC_MSG_CHECKING([for Tcl configuration]) 172 AC_CACHE_VAL(ac_cv_c_tclconfig,[ 173 174 # First check to see if --with-tclconfig was specified. 175 if test x"${with_tclconfig}" != x ; then 176 if test -f "${with_tclconfig}/tclConfig.sh" ; then 177 ac_cv_c_tclconfig=`(cd ${with_tclconfig}; pwd)` 178 else 179 AC_MSG_ERROR([${with_tclconfig} directory doesn't contain tclConfig.sh]) 180 fi 181 fi 182 183 # then check for a private Tcl installation 184 if test x"${ac_cv_c_tclconfig}" = x ; then 185 for i in \ 186 ../tcl \ 187 `ls -dr ../tcl[[7-9]]* 2>/dev/null` \ 188 ../../tcl \ 189 `ls -dr ../../tcl[[7-9]]* 2>/dev/null` \ 190 ../../../tcl \ 191 `ls -dr ../../../tcl[[7-9]]* 2>/dev/null` ; do 192 if test -f "$i/${configdir}/tclConfig.sh" ; then 193 ac_cv_c_tclconfig=`(cd $i/${configdir}; pwd)` 194 break 195 fi 196 done 197 fi 198 # check in a few common install locations 199 if test x"${ac_cv_c_tclconfig}" = x ; then 200 for i in `ls -d ${prefix}/lib /usr/local/lib 2>/dev/null` ; do 201 if test -f "$i/tclConfig.sh" ; then 202 ac_cv_c_tclconfig=`(cd $i; pwd)` 203 break 204 fi 205 done 206 fi 207 # check in a few other private locations 208 if test x"${ac_cv_c_tclconfig}" = x ; then 209 for i in \ 210 ${srcdir}/../tcl \ 211 `ls -dr ${srcdir}/../tcl[[7-9]]* 2>/dev/null` ; do 212 if test -f "$i/${configdir}/tclConfig.sh" ; then 213 ac_cv_c_tclconfig=`(cd $i/${configdir}; pwd)` 214 break 215 fi 216 done 217 fi 218 ]) 219 if test x"${ac_cv_c_tclconfig}" = x ; then 220 TCLCONFIG="# no Tcl configs found" 221 AC_MSG_WARN(Can't find Tcl configuration definitions) 222 else 223 no_tcl= 224 TCLCONFIG=${ac_cv_c_tclconfig}/tclConfig.sh 225 AC_MSG_RESULT(found $TCLCONFIG) 226 fi 227fi 228]) 229 230# Defined as a separate macro so we don't have to cache the values 231# from PATH_TCLCONFIG (because this can also be cached). 232AC_DEFUN([CY_AC_LOAD_TCLCONFIG], [ 233 . $TCLCONFIG 234 235 AC_SUBST(TCL_VERSION) 236 AC_SUBST(TCL_MAJOR_VERSION) 237 AC_SUBST(TCL_MINOR_VERSION) 238 AC_SUBST(TCL_CC) 239 AC_SUBST(TCL_DEFS) 240 241dnl not used, don't export to save symbols 242dnl AC_SUBST(TCL_LIB_FILE) 243 244dnl don't export, not used outside of configure 245dnl AC_SUBST(TCL_LIBS) 246dnl not used, don't export to save symbols 247dnl AC_SUBST(TCL_PREFIX) 248 249dnl not used, don't export to save symbols 250dnl AC_SUBST(TCL_EXEC_PREFIX) 251 252 AC_SUBST(TCL_SHLIB_CFLAGS) 253 AC_SUBST(TCL_SHLIB_LD) 254dnl don't export, not used outside of configure 255 AC_SUBST(TCL_SHLIB_LD_LIBS) 256 AC_SUBST(TCL_SHLIB_SUFFIX) 257dnl not used, don't export to save symbols 258 AC_SUBST(TCL_DL_LIBS) 259 AC_SUBST(TCL_LD_FLAGS) 260dnl don't export, not used outside of configure 261 AC_SUBST(TCL_LD_SEARCH_FLAGS) 262 AC_SUBST(TCL_CC_SEARCH_FLAGS) 263 AC_SUBST(TCL_COMPAT_OBJS) 264 AC_SUBST(TCL_RANLIB) 265 AC_SUBST(TCL_BUILD_LIB_SPEC) 266 AC_SUBST(TCL_LIB_SPEC) 267 AC_SUBST(TCL_LIB_VERSIONS_OK) 268 269dnl not used, don't export to save symbols 270dnl AC_SUBST(TCL_SHARED_LIB_SUFFIX) 271 272dnl not used, don't export to save symbols 273dnl AC_SUBST(TCL_UNSHARED_LIB_SUFFIX) 274]) 275 276# Warning: Tk definitions are very similar to Tcl definitions but 277# are not precisely the same. There are a couple of differences, 278# so don't do changes to Tcl thinking you can cut and paste it do 279# the Tk differences and later simply substitute "Tk" for "Tcl". 280# Known differences: 281# - Acceptable Tcl major version #s is 7-9 while Tk is 4-9 282# - Searching for Tcl includes looking for tclInt.h, Tk looks for tk.h 283# - Computing major/minor versions is different because Tk depends on 284# headers to Tcl, Tk, and X. 285# - Symbols in tkConfig.sh are different than tclConfig.sh 286# - Acceptable for Tk to be missing but not Tcl. 287 288AC_DEFUN([CY_AC_PATH_TKH], [ 289# 290# Ok, lets find the tk source trees so we can use the headers 291# If the directory (presumably symlink) named "tk" exists, use that one 292# in preference to any others. Same logic is used when choosing library 293# and again with Tcl. The search order is the best place to look first, then in 294# decreasing significance. The loop breaks if the trigger file is found. 295# Note the gross little conversion here of srcdir by cd'ing to the found 296# directory. This converts the path from a relative to an absolute, so 297# recursive cache variables for the path will work right. We check all 298# the possible paths in one loop rather than many seperate loops to speed 299# things up. 300# the alternative search directory is involked by --with-tkinclude 301# 302no_tk=true 303AC_MSG_CHECKING(for Tk private headers) 304AC_ARG_WITH(tkinclude, [ --with-tkinclude=DIR Directory where tk private headers are], with_tkinclude=${withval}) 305AC_CACHE_VAL(ac_cv_c_tkh,[ 306# first check to see if --with-tkinclude was specified 307if test x"${with_tkinclude}" != x ; then 308 if test -f ${with_tkinclude}/tk.h ; then 309 ac_cv_c_tkh=`(cd ${with_tkinclude}; pwd)` 310 elif test -f ${with_tkinclude}/generic/tk.h ; then 311 ac_cv_c_tkh=`(cd ${with_tkinclude}/generic; pwd)` 312 else 313 AC_MSG_ERROR([${with_tkinclude} directory doesn't contain private headers]) 314 fi 315fi 316 317# next check if it came with Tk configuration file 318if test x"${ac_cv_c_tkconfig}" = x ; then 319 if test -f $ac_cv_c_tkconfig/../generic/tk.h ; then 320 ac_cv_c_tkh=`(cd $ac_cv_c_tkconfig/..; pwd)` 321 fi 322fi 323 324# next check in private source directory 325# 326# since ls returns lowest version numbers first, reverse its output 327if test x"${ac_cv_c_tkh}" = x ; then 328 for i in \ 329 ${srcdir}/../tk \ 330 `ls -dr ${srcdir}/../tk[[4-9]]* 2>/dev/null` \ 331 ${srcdir}/../../tk \ 332 `ls -dr ${srcdir}/../../tk[[4-9]]* 2>/dev/null` \ 333 ${srcdir}/../../../tk \ 334 `ls -dr ${srcdir}/../../../tk[[4-9]]* 2>/dev/null ` ; do 335 if test -f $i/generic/tk.h ; then 336 ac_cv_c_tkh=`(cd $i/generic; pwd)` 337 break 338 fi 339 done 340fi 341# finally check in a few common install locations 342# 343# since ls returns lowest version numbers first, reverse its output 344if test x"${ac_cv_c_tkh}" = x ; then 345 for i in \ 346 `ls -dr /usr/local/src/tk[[4-9]]* 2>/dev/null` \ 347 `ls -dr /usr/local/lib/tk[[4-9]]* 2>/dev/null` \ 348 /usr/local/src/tk \ 349 /usr/local/lib/tk \ 350 ${prefix}/include ; do 351 if test -f $i/generic/tk.h ; then 352 ac_cv_c_tkh=`(cd $i/generic; pwd)` 353 break 354 fi 355 done 356fi 357# see if one is installed 358if test x"${ac_cv_c_tkh}" = x ; then 359 AC_HEADER_CHECK(tk.h, ac_cv_c_tkh=installed, ac_cv_c_tkh="") 360fi 361]) 362if test x"${ac_cv_c_tkh}" != x ; then 363 no_tk="" 364 if test x"${ac_cv_c_tkh}" = x"installed" ; then 365 AC_MSG_RESULT([is installed]) 366 TKHDIR="" 367 else 368 AC_MSG_RESULT([found in ${ac_cv_c_tkh}]) 369 # this hack is cause the TKHDIR won't print if there is a "-I" in it. 370 TKHDIR="-I${ac_cv_c_tkh}" 371 fi 372else 373 TKHDIR="# no Tk directory found" 374 AC_MSG_WARN([Can't find Tk private headers]) 375 no_tk=true 376fi 377 378AC_SUBST(TKHDIR) 379]) 380 381 382AC_DEFUN([CY_AC_PATH_TKCONFIG], [ 383# 384# Ok, lets find the tk configuration 385# First, look for one uninstalled. 386# the alternative search directory is invoked by --with-tkconfig 387# 388 389if test x"${no_tk}" = x ; then 390 # we reset no_tk in case something fails here 391 no_tk=true 392 AC_ARG_WITH(tkconfig, [ --with-tkconfig=DIR Directory containing tk configuration (tkConfig.sh)], 393 with_tkconfig=${withval}) 394 AC_MSG_CHECKING([for Tk configuration]) 395 AC_CACHE_VAL(ac_cv_c_tkconfig,[ 396 397 # First check to see if --with-tkconfig was specified. 398 if test x"${with_tkconfig}" != x ; then 399 if test -f "${with_tkconfig}/tkConfig.sh" ; then 400 ac_cv_c_tkconfig=`(cd ${with_tkconfig}; pwd)` 401 else 402 AC_MSG_ERROR([${with_tkconfig} directory doesn't contain tkConfig.sh]) 403 fi 404 fi 405 406 # then check for a private Tk library 407 if test x"${ac_cv_c_tkconfig}" = x ; then 408 for i in \ 409 ../tk \ 410 `ls -dr ../tk[[4-9]]* 2>/dev/null` \ 411 ../../tk \ 412 `ls -dr ../../tk[[4-9]]* 2>/dev/null` \ 413 ../../../tk \ 414 `ls -dr ../../../tk[[4-9]]* 2>/dev/null` ; do 415 if test -f "$i/${configdir}/tkConfig.sh" ; then 416 ac_cv_c_tkconfig=`(cd $i/${configdir}; pwd)` 417 break 418 fi 419 done 420 fi 421 # check in a few common install locations 422 if test x"${ac_cv_c_tkconfig}" = x ; then 423 for i in `ls -d ${prefix}/lib /usr/local/lib 2>/dev/null` ; do 424 if test -f "$i/tkConfig.sh" ; then 425 ac_cv_c_tkconfig=`(cd $i; pwd)` 426 break 427 fi 428 done 429 fi 430 # check in a few other private locations 431 if test x"${ac_cv_c_tkconfig}" = x ; then 432 for i in \ 433 ${srcdir}/../tk \ 434 `ls -dr ${srcdir}/../tk[[4-9]]* 2>/dev/null` ; do 435 if test -f "$i/${configdir}/tkConfig.sh" ; then 436 ac_cv_c_tkconfig=`(cd $i/${configdir}; pwd)` 437 break 438 fi 439 done 440 fi 441 ]) 442 if test x"${ac_cv_c_tkconfig}" = x ; then 443 TKCONFIG="# no Tk configs found" 444 AC_MSG_WARN(Can't find Tk configuration definitions) 445 else 446 no_tk= 447 TKCONFIG=${ac_cv_c_tkconfig}/tkConfig.sh 448 AC_MSG_RESULT(found $TKCONFIG) 449 fi 450fi 451 452]) 453 454# Defined as a separate macro so we don't have to cache the values 455# from PATH_TKCONFIG (because this can also be cached). 456AC_DEFUN([CY_AC_LOAD_TKCONFIG], [ 457 if test -f "$TKCONFIG" ; then 458 . $TKCONFIG 459 fi 460 461 AC_SUBST(TK_VERSION) 462dnl not actually used, don't export to save symbols 463dnl AC_SUBST(TK_MAJOR_VERSION) 464dnl AC_SUBST(TK_MINOR_VERSION) 465 AC_SUBST(TK_DEFS) 466 467dnl not used, don't export to save symbols 468 dnl AC_SUBST(TK_LIB_FILE) 469 470dnl not used outside of configure 471dnl AC_SUBST(TK_LIBS) 472dnl not used, don't export to save symbols 473dnl AC_SUBST(TK_PREFIX) 474 475dnl not used, don't export to save symbols 476dnl AC_SUBST(TK_EXEC_PREFIX) 477 478 AC_SUBST(TK_BUILD_INCLUDES) 479 AC_SUBST(TK_XINCLUDES) 480 AC_SUBST(TK_XLIBSW) 481 AC_SUBST(TK_BUILD_LIB_SPEC) 482 AC_SUBST(TK_LIB_SPEC) 483]) 484 485# check for Itcl headers. 486 487AC_DEFUN([CY_AC_PATH_ITCLCONFIG], [ 488# 489# Ok, lets find the itcl configuration 490# First, look for one uninstalled. 491# the alternative search directory is invoked by --with-itclconfig 492# 493 494if test x"${no_itcl}" = x ; then 495 # we reset no_itcl in case something fails here 496 no_itcl=true 497 AC_ARG_WITH(itclconfig, [ --with-itclconfig Directory containing itcl configuration (itclConfig.sh)], 498 with_itclconfig=${withval}) 499 AC_MSG_CHECKING([for Itcl configuration]) 500 AC_CACHE_VAL(ac_cv_c_itclconfig,[ 501 502 # First check to see if --with-itclconfig was specified. 503 if test x"${with_itclconfig}" != x ; then 504 if test -f "${with_itclconfig}/itclConfig.sh" ; then 505 ac_cv_c_itclconfig=`(cd ${with_itclconfig}; pwd)` 506 else 507 AC_MSG_ERROR([${with_itclconfig} directory doesn't contain itclConfig.sh]) 508 fi 509 fi 510 511 # then check for a private Itcl library 512 if test x"${ac_cv_c_itclconfig}" = x ; then 513 for i in \ 514 ../itcl/itcl \ 515 `ls -dr ../itcl[[4-9]]*/itcl 2>/dev/null` \ 516 ../../itcl \ 517 `ls -dr ../../itcl[[4-9]]*/itcl 2>/dev/null` \ 518 ../../../itcl \ 519 `ls -dr ../../../itcl[[4-9]]*/itcl 2>/dev/null` ; do 520 if test -f "$i/itclConfig.sh" ; then 521 ac_cv_c_itclconfig=`(cd $i; pwd)` 522 break 523 fi 524 done 525 fi 526 # check in a few common install locations 527 if test x"${ac_cv_c_itclconfig}" = x ; then 528 for i in `ls -d ${prefix}/lib /usr/local/lib 2>/dev/null` ; do 529 if test -f "$i/itclConfig.sh" ; then 530 ac_cv_c_itclconfig=`(cd $i; pwd)` 531 break 532 fi 533 done 534 fi 535 # check in a few other private locations 536 if test x"${ac_cv_c_itclconfig}" = x ; then 537 for i in \ 538 ${srcdir}/../itcl/itcl \ 539 `ls -dr ${srcdir}/../itcl[[4-9]]*/itcl 2>/dev/null` ; do 540 if test -f "$i/itclConfig.sh" ; then 541 ac_cv_c_itclconfig=`(cd $i; pwd)` 542 break 543 fi 544 done 545 fi 546 ]) 547 if test x"${ac_cv_c_itclconfig}" = x ; then 548 ITCLCONFIG="# no Itcl configs found" 549 AC_MSG_WARN(Can't find Itcl configuration definitions) 550 else 551 no_itcl= 552 ITCLCONFIG=${ac_cv_c_itclconfig}/itclConfig.sh 553 AC_MSG_RESULT(found $ITCLCONFIG) 554 fi 555fi 556]) 557 558# Defined as a separate macro so we don't have to cache the values 559# from PATH_ITCLCONFIG (because this can also be cached). 560AC_DEFUN([CY_AC_LOAD_ITCLCONFIG], [ 561 if test -f "$ITCLCONFIG" ; then 562 . $ITCLCONFIG 563 fi 564 565 AC_SUBST(ITCL_VERSION) 566dnl not actually used, don't export to save symbols 567dnl AC_SUBST(ITCL_MAJOR_VERSION) 568dnl AC_SUBST(ITCL_MINOR_VERSION) 569 AC_SUBST(ITCL_DEFS) 570 571dnl not used, don't export to save symbols 572 dnl AC_SUBST(ITCL_LIB_FILE) 573 574dnl not used outside of configure 575dnl AC_SUBST(ITCL_LIBS) 576dnl not used, don't export to save symbols 577dnl AC_SUBST(ITCL_PREFIX) 578 579dnl not used, don't export to save symbols 580dnl AC_SUBST(ITCL_EXEC_PREFIX) 581 582 AC_SUBST(ITCL_BUILD_INCLUDES) 583 AC_SUBST(ITCL_BUILD_LIB_SPEC) 584 AC_SUBST(ITCL_LIB_SPEC) 585]) 586 587# check for Itcl headers. 588 589AC_DEFUN([CY_AC_PATH_ITCLH], [ 590AC_MSG_CHECKING(for Itcl private headers. srcdir=${srcdir}) 591if test x"${ac_cv_c_itclh}" = x ; then 592 for i in ${srcdir}/../itcl ${srcdir}/../../itcl ${srcdir}/../../../itcl ${srcdir}/../itcl/itcl; do 593 if test -f $i/generic/itcl.h ; then 594 ac_cv_c_itclh=`(cd $i/generic; pwd)` 595 break 596 fi 597 done 598fi 599if test x"${ac_cv_c_itclh}" = x ; then 600 ITCLHDIR="# no Itcl private headers found" 601 AC_MSG_ERROR([Can't find Itcl private headers]) 602fi 603if test x"${ac_cv_c_itclh}" != x ; then 604 ITCLHDIR="-I${ac_cv_c_itclh}" 605fi 606# should always be here 607# ITCLLIB="../itcl/itcl/unix/libitcl.a" 608AC_SUBST(ITCLHDIR) 609#AC_SUBST(ITCLLIB) 610]) 611 612 613AC_DEFUN([CY_AC_PATH_ITKCONFIG], [ 614# 615# Ok, lets find the itk configuration 616# First, look for one uninstalled. 617# the alternative search directory is invoked by --with-itkconfig 618# 619 620if test x"${no_itk}" = x ; then 621 # we reset no_itk in case something fails here 622 no_itk=true 623 AC_ARG_WITH(itkconfig, [ --with-itkconfig Directory containing itk configuration (itkConfig.sh)], 624 with_itkconfig=${withval}) 625 AC_MSG_CHECKING([for Itk configuration]) 626 AC_CACHE_VAL(ac_cv_c_itkconfig,[ 627 628 # First check to see if --with-itkconfig was specified. 629 if test x"${with_itkconfig}" != x ; then 630 if test -f "${with_itkconfig}/itkConfig.sh" ; then 631 ac_cv_c_itkconfig=`(cd ${with_itkconfig}; pwd)` 632 else 633 AC_MSG_ERROR([${with_itkconfig} directory doesn't contain itkConfig.sh]) 634 fi 635 fi 636 637 # then check for a private Itk library 638 if test x"${ac_cv_c_itkconfig}" = x ; then 639 for i in \ 640 ../itcl/itk \ 641 `ls -dr ../itcl[[4-9]]*/itk 2>/dev/null` \ 642 ../../itk \ 643 `ls -dr ../../itcl[[4-9]]*/itk 2>/dev/null` \ 644 ../../../itk \ 645 `ls -dr ../../../itcl[[4-9]]*/itk 2>/dev/null` ; do 646 if test -f "$i/itkConfig.sh" ; then 647 ac_cv_c_itkconfig=`(cd $i; pwd)` 648 break 649 fi 650 done 651 fi 652 # check in a few common install locations 653 if test x"${ac_cv_c_itkconfig}" = x ; then 654 for i in `ls -d ${prefix}/lib /usr/local/lib 2>/dev/null` ; do 655 if test -f "$i/itkConfig.sh" ; then 656 ac_cv_c_itkconfig=`(cd $i; pwd)` 657 break 658 fi 659 done 660 fi 661 # check in a few other private locations 662 if test x"${ac_cv_c_itkconfig}" = x ; then 663 for i in \ 664 ${srcdir}/../itcl/itk \ 665 `ls -dr ${srcdir}/../itcl[[4-9]]*/itk 2>/dev/null` ; do 666 if test -f "$i/itkConfig.sh" ; then 667 ac_cv_c_itkconfig=`(cd $i; pwd)` 668 break 669 fi 670 done 671 fi 672 ]) 673 if test x"${ac_cv_c_itkconfig}" = x ; then 674 ITKCONFIG="# no Itk configs found" 675 AC_MSG_WARN(Can't find Itk configuration definitions) 676 else 677 no_itk= 678 ITKCONFIG=${ac_cv_c_itkconfig}/itkConfig.sh 679 AC_MSG_RESULT(found $ITKCONFIG) 680 fi 681fi 682 683]) 684 685# Defined as a separate macro so we don't have to cache the values 686# from PATH_ITKCONFIG (because this can also be cached). 687AC_DEFUN([CY_AC_LOAD_ITKCONFIG], [ 688 if test -f "$ITKCONFIG" ; then 689 . $ITKCONFIG 690 fi 691 692 AC_SUBST(ITK_VERSION) 693dnl not actually used, don't export to save symbols 694dnl AC_SUBST(ITK_MAJOR_VERSION) 695dnl AC_SUBST(ITK_MINOR_VERSION) 696 AC_SUBST(ITK_DEFS) 697 698dnl not used, don't export to save symbols 699 dnl AC_SUBST(ITK_LIB_FILE) 700 701dnl not used outside of configure 702dnl AC_SUBST(ITK_LIBS) 703dnl not used, don't export to save symbols 704dnl AC_SUBST(ITK_PREFIX) 705 706dnl not used, don't export to save symbols 707dnl AC_SUBST(ITK_EXEC_PREFIX) 708 709 AC_SUBST(ITK_BUILD_INCLUDES) 710 AC_SUBST(ITK_BUILD_LIB_SPEC) 711 AC_SUBST(ITK_LIB_SPEC) 712]) 713 714AC_DEFUN([CY_AC_PATH_ITKH], [ 715AC_MSG_CHECKING(for Itk private headers. srcdir=${srcdir}) 716if test x"${ac_cv_c_itkh}" = x ; then 717 for i in ${srcdir}/../itcl ${srcdir}/../../itcl ${srcdir}/../../../itcl ${srcdir}/../itcl/itk; do 718 if test -f $i/generic/itk.h ; then 719 ac_cv_c_itkh=`(cd $i/generic; pwd)` 720 break 721 fi 722 done 723fi 724if test x"${ac_cv_c_itkh}" = x ; then 725 ITKHDIR="# no Itk private headers found" 726 AC_MSG_ERROR([Can't find Itk private headers]) 727fi 728if test x"${ac_cv_c_itkh}" != x ; then 729 ITKHDIR="-I${ac_cv_c_itkh}" 730fi 731# should always be here 732# ITKLIB="../itcl/itk/unix/libitk.a" 733AC_SUBST(ITKHDIR) 734#AC_SUBST(ITKLIB) 735]) 736 737 738dnl sinclude(../gettext.m4) already included by bfd/acinclude.m4 739dnl The lines below arrange for aclocal not to bring gettext.m4's 740dnl CY_GNU_GETTEXT into aclocal.m4. 741ifelse(yes,no,[ 742AC_DEFUN([CY_GNU_GETTEXT],) 743]) 744 745## ----------------------------------------- ## 746## ANSIfy the C compiler whenever possible. ## 747## From Franc,ois Pinard ## 748## ----------------------------------------- ## 749 750# Copyright 1996, 1997, 1999, 2000, 2001 Free Software Foundation, Inc. 751 752# This program is free software; you can redistribute it and/or modify 753# it under the terms of the GNU General Public License as published by 754# the Free Software Foundation; either version 2, or (at your option) 755# any later version. 756 757# This program is distributed in the hope that it will be useful, 758# but WITHOUT ANY WARRANTY; without even the implied warranty of 759# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 760# GNU General Public License for more details. 761 762# You should have received a copy of the GNU General Public License 763# along with this program; if not, write to the Free Software 764# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 765# 02111-1307, USA. 766 767# serial 1 768 769# @defmac AC_PROG_CC_STDC 770# @maindex PROG_CC_STDC 771# @ovindex CC 772# If the C compiler in not in ANSI C mode by default, try to add an option 773# to output variable @code{CC} to make it so. This macro tries various 774# options that select ANSI C on some system or another. It considers the 775# compiler to be in ANSI C mode if it handles function prototypes correctly. 776# 777# If you use this macro, you should check after calling it whether the C 778# compiler has been set to accept ANSI C; if not, the shell variable 779# @code{am_cv_prog_cc_stdc} is set to @samp{no}. If you wrote your source 780# code in ANSI C, you can make an un-ANSIfied copy of it by using the 781# program @code{ansi2knr}, which comes with Ghostscript. 782# @end defmac 783 784AC_DEFUN([AM_PROG_CC_STDC], 785[AC_REQUIRE([AC_PROG_CC]) 786AC_BEFORE([$0], [AC_C_INLINE]) 787AC_BEFORE([$0], [AC_C_CONST]) 788dnl Force this before AC_PROG_CPP. Some cpp's, eg on HPUX, require 789dnl a magic option to avoid problems with ANSI preprocessor commands 790dnl like #elif. 791dnl FIXME: can't do this because then AC_AIX won't work due to a 792dnl circular dependency. 793dnl AC_BEFORE([$0], [AC_PROG_CPP]) 794AC_MSG_CHECKING([for ${CC-cc} option to accept ANSI C]) 795AC_CACHE_VAL(am_cv_prog_cc_stdc, 796[am_cv_prog_cc_stdc=no 797ac_save_CC="$CC" 798# Don't try gcc -ansi; that turns off useful extensions and 799# breaks some systems' header files. 800# AIX -qlanglvl=ansi 801# Ultrix and OSF/1 -std1 802# HP-UX 10.20 and later -Ae 803# HP-UX older versions -Aa -D_HPUX_SOURCE 804# SVR4 -Xc -D__EXTENSIONS__ 805for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" 806do 807 CC="$ac_save_CC $ac_arg" 808 AC_TRY_COMPILE( 809[#include <stdarg.h> 810#include <stdio.h> 811#include <sys/types.h> 812#include <sys/stat.h> 813/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ 814struct buf { int x; }; 815FILE * (*rcsopen) (struct buf *, struct stat *, int); 816static char *e (p, i) 817 char **p; 818 int i; 819{ 820 return p[i]; 821} 822static char *f (char * (*g) (char **, int), char **p, ...) 823{ 824 char *s; 825 va_list v; 826 va_start (v,p); 827 s = g (p, va_arg (v,int)); 828 va_end (v); 829 return s; 830} 831int test (int i, double x); 832struct s1 {int (*f) (int a);}; 833struct s2 {int (*f) (double a);}; 834int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); 835int argc; 836char **argv; 837], [ 838return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; 839], 840[am_cv_prog_cc_stdc="$ac_arg"; break]) 841done 842CC="$ac_save_CC" 843]) 844if test -z "$am_cv_prog_cc_stdc"; then 845 AC_MSG_RESULT([none needed]) 846else 847 AC_MSG_RESULT([$am_cv_prog_cc_stdc]) 848fi 849case "x$am_cv_prog_cc_stdc" in 850 x|xno) ;; 851 *) CC="$CC $am_cv_prog_cc_stdc" ;; 852esac 853]) 854 855dnl From Bruno Haible. 856 857AC_DEFUN([AM_ICONV], 858[ 859 dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and 860 dnl those with the standalone portable GNU libiconv installed). 861 862 AC_ARG_WITH([libiconv-prefix], 863[ --with-libiconv-prefix=DIR search for libiconv in DIR/include and DIR/lib], [ 864 for dir in `echo "$withval" | tr : ' '`; do 865 if test -d $dir/include; then CPPFLAGS="$CPPFLAGS -I$dir/include"; fi 866 if test -d $dir/lib; then LDFLAGS="$LDFLAGS -L$dir/lib"; fi 867 done 868 ]) 869 870 AC_CACHE_CHECK(for iconv, am_cv_func_iconv, [ 871 am_cv_func_iconv="no, consider installing GNU libiconv" 872 am_cv_lib_iconv=no 873 AC_TRY_LINK([#include <stdlib.h> 874#include <iconv.h>], 875 [iconv_t cd = iconv_open("",""); 876 iconv(cd,NULL,NULL,NULL,NULL); 877 iconv_close(cd);], 878 am_cv_func_iconv=yes) 879 if test "$am_cv_func_iconv" != yes; then 880 am_save_LIBS="$LIBS" 881 LIBS="$LIBS -liconv" 882 AC_TRY_LINK([#include <stdlib.h> 883#include <iconv.h>], 884 [iconv_t cd = iconv_open("",""); 885 iconv(cd,NULL,NULL,NULL,NULL); 886 iconv_close(cd);], 887 am_cv_lib_iconv=yes 888 am_cv_func_iconv=yes) 889 LIBS="$am_save_LIBS" 890 fi 891 ]) 892 if test "$am_cv_func_iconv" = yes; then 893 AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.]) 894 AC_MSG_CHECKING([for iconv declaration]) 895 AC_CACHE_VAL(am_cv_proto_iconv, [ 896 AC_TRY_COMPILE([ 897#include <stdlib.h> 898#include <iconv.h> 899extern 900#ifdef __cplusplus 901"C" 902#endif 903#if defined(__STDC__) || defined(__cplusplus) 904size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); 905#else 906size_t iconv(); 907#endif 908], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const") 909 am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"]) 910 am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'` 911 AC_MSG_RESULT([$]{ac_t:- 912 }[$]am_cv_proto_iconv) 913 AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1, 914 [Define as const if the declaration of iconv() needs const.]) 915 fi 916 LIBICONV= 917 if test "$am_cv_lib_iconv" = yes; then 918 LIBICONV="-liconv" 919 fi 920 AC_SUBST(LIBICONV) 921]) 922 923# AC_GNU_SOURCE 924# ------------- 925# FIXME: Remove thise once we start using Autoconf 2.5x (x>=4). 926AC_DEFUN([AC_GNU_SOURCE], 927[AC_BEFORE([$0], [AC_TRY_COMPILE])dnl 928AC_BEFORE([$0], [AC_TRY_RUN])dnl 929AC_DEFINE([_GNU_SOURCE]) 930]) 931 932dnl written by Guido Draheim <guidod@gmx.de>, original by Alexandre Oliva 933dnl Version 1.3 (2001/03/02) 934dnl source http://www.gnu.org/software/ac-archive/Miscellaneous/ac_define_dir.html 935 936AC_DEFUN([AC_DEFINE_DIR], [ 937 test "x$prefix" = xNONE && prefix="$ac_default_prefix" 938 test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' 939 ac_define_dir=`eval echo [$]$2` 940 ac_define_dir=`eval echo [$]ac_define_dir` 941 ifelse($3, , 942 AC_DEFINE_UNQUOTED($1, "$ac_define_dir"), 943 AC_DEFINE_UNQUOTED($1, "$ac_define_dir", $3)) 944]) 945 946dnl See whether we need a declaration for a function. 947dnl The result is highly dependent on the INCLUDES passed in, so make sure 948dnl to use a different cache variable name in this macro if it is invoked 949dnl in a different context somewhere else. 950dnl gcc_AC_CHECK_DECL(SYMBOL, 951dnl [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND [, INCLUDES]]]) 952AC_DEFUN([gcc_AC_CHECK_DECL], 953[AC_MSG_CHECKING([whether $1 is declared]) 954AC_CACHE_VAL(gcc_cv_have_decl_$1, 955[AC_TRY_COMPILE([$4], 956[#ifndef $1 957char *(*pfn) = (char *(*)) $1 ; 958#endif], eval "gcc_cv_have_decl_$1=yes", eval "gcc_cv_have_decl_$1=no")]) 959if eval "test \"`echo '$gcc_cv_have_decl_'$1`\" = yes"; then 960 AC_MSG_RESULT(yes) ; ifelse([$2], , :, [$2]) 961else 962 AC_MSG_RESULT(no) ; ifelse([$3], , :, [$3]) 963fi 964])dnl 965 966dnl Check multiple functions to see whether each needs a declaration. 967dnl Arrange to define HAVE_DECL_<FUNCTION> to 0 or 1 as appropriate. 968dnl gcc_AC_CHECK_DECLS(SYMBOLS, 969dnl [ACTION-IF-NEEDED [, ACTION-IF-NOT-NEEDED [, INCLUDES]]]) 970AC_DEFUN([gcc_AC_CHECK_DECLS], 971[for ac_func in $1 972do 973changequote(, )dnl 974 ac_tr_decl=HAVE_DECL_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` 975changequote([, ])dnl 976gcc_AC_CHECK_DECL($ac_func, 977 [AC_DEFINE_UNQUOTED($ac_tr_decl, 1) $2], 978 [AC_DEFINE_UNQUOTED($ac_tr_decl, 0) $3], 979dnl It is possible that the include files passed in here are local headers 980dnl which supply a backup declaration for the relevant prototype based on 981dnl the definition of (or lack of) the HAVE_DECL_ macro. If so, this test 982dnl will always return success. E.g. see libiberty.h's handling of 983dnl `basename'. To avoid this, we define the relevant HAVE_DECL_ macro to 984dnl 1 so that any local headers used do not provide their own prototype 985dnl during this test. 986#undef $ac_tr_decl 987#define $ac_tr_decl 1 988 $4 989) 990done 991dnl Automatically generate config.h entries via autoheader. 992if test x = y ; then 993 patsubst(translit([$1], [a-z], [A-Z]), [\w+], 994 [AC_DEFINE([HAVE_DECL_\&], 1, 995 [Define to 1 if we found this declaration otherwise define to 0.])])dnl 996fi 997]) 998 999