| dnl written by Rob Savoye <rob@cygnus.com> for Cygnus Support |
| dnl major rewriting for Tcl 7.5 by Don Libes <libes@nist.gov> |
| |
| dnl gdb/configure.in uses BFD_NEED_DECLARATION, so get its definition. |
| sinclude(../bfd/bfd.m4) |
| |
| dnl This gets the standard macros, like the TCL, TK, etc ones. |
| sinclude(../config/acinclude.m4) |
| |
| sinclude(../gettext.m4) |
| dnl The lines below arrange for aclocal not to bring gettext.m4's |
| dnl CY_GNU_GETTEXT into aclocal.m4. |
| ifelse(yes,no,[ |
| AC_DEFUN([CY_GNU_GETTEXT],) |
| ]) |
| |
| dnl CYGNUS LOCAL: This gets the right posix flag for gcc |
| AC_DEFUN([CY_AC_TCL_LYNX_POSIX], |
| [AC_REQUIRE([AC_PROG_CC])AC_REQUIRE([AC_PROG_CPP]) |
| AC_MSG_CHECKING([if running LynxOS]) |
| AC_CACHE_VAL(ac_cv_os_lynx, |
| [AC_EGREP_CPP(yes, |
| [/* |
| * The old Lynx "cc" only defines "Lynx", but the newer one uses "__Lynx__" |
| */ |
| #if defined(__Lynx__) || defined(Lynx) |
| yes |
| #endif |
| ], ac_cv_os_lynx=yes, ac_cv_os_lynx=no)]) |
| # |
| if test "$ac_cv_os_lynx" = "yes" ; then |
| AC_MSG_RESULT(yes) |
| AC_DEFINE(LYNX) |
| AC_MSG_CHECKING([whether -mposix or -X is available]) |
| AC_CACHE_VAL(ac_cv_c_posix_flag, |
| [AC_TRY_COMPILE(,[ |
| /* |
| * This flag varies depending on how old the compiler is. |
| * -X is for the old "cc" and "gcc" (based on 1.42). |
| * -mposix is for the new gcc (at least 2.5.8). |
| */ |
| #if defined(__GNUC__) && __GNUC__ >= 2 |
| choke me |
| #endif |
| ], ac_cv_c_posix_flag=" -mposix", ac_cv_c_posix_flag=" -X")]) |
| CC="$CC $ac_cv_c_posix_flag" |
| AC_MSG_RESULT($ac_cv_c_posix_flag) |
| else |
| AC_MSG_RESULT(no) |
| fi |
| ]) |
| |
| # |
| # Sometimes the native compiler is a bogus stub for gcc or /usr/ucb/cc. This |
| # makes configure think it's cross compiling. If --target wasn't used, then |
| # we can't configure, so something is wrong. We don't use the cache |
| # here cause if somebody fixes their compiler install, we want this to work. |
| AC_DEFUN([CY_AC_C_WORKS], |
| [# If we cannot compile and link a trivial program, we can't expect anything to work |
| AC_MSG_CHECKING(whether the compiler ($CC) actually works) |
| AC_TRY_COMPILE(, [/* don't need anything here */], |
| c_compiles=yes, c_compiles=no) |
| |
| AC_TRY_LINK(, [/* don't need anything here */], |
| c_links=yes, c_links=no) |
| |
| if test x"${c_compiles}" = x"no" ; then |
| AC_MSG_ERROR(the native compiler is broken and won't compile.) |
| fi |
| |
| if test x"${c_links}" = x"no" ; then |
| AC_MSG_ERROR(the native compiler is broken and won't link.) |
| fi |
| AC_MSG_RESULT(yes) |
| ]) |
| |
| AC_DEFUN([CY_AC_PATH_TCLH], [ |
| # |
| # Ok, lets find the tcl source trees so we can use the headers |
| # Warning: transition of version 9 to 10 will break this algorithm |
| # because 10 sorts before 9. We also look for just tcl. We have to |
| # be careful that we don't match stuff like tclX by accident. |
| # the alternative search directory is involked by --with-tclinclude |
| # |
| |
| no_tcl=true |
| AC_MSG_CHECKING(for Tcl private headers. dir=${configdir}) |
| AC_ARG_WITH(tclinclude, [ --with-tclinclude=DIR Directory where tcl private headers are], with_tclinclude=${withval}) |
| AC_CACHE_VAL(ac_cv_c_tclh,[ |
| # first check to see if --with-tclinclude was specified |
| if test x"${with_tclinclude}" != x ; then |
| if test -f ${with_tclinclude}/tclInt.h ; then |
| ac_cv_c_tclh=`(cd ${with_tclinclude}; pwd)` |
| elif test -f ${with_tclinclude}/generic/tclInt.h ; then |
| ac_cv_c_tclh=`(cd ${with_tclinclude}/generic; pwd)` |
| else |
| AC_MSG_ERROR([${with_tclinclude} directory doesn't contain private headers]) |
| fi |
| fi |
| |
| # next check if it came with Tcl configuration file |
| if test x"${ac_cv_c_tclconfig}" = x ; then |
| if test -f $ac_cv_c_tclconfig/../generic/tclInt.h ; then |
| ac_cv_c_tclh=`(cd $ac_cv_c_tclconfig/..; pwd)` |
| fi |
| fi |
| |
| # next check in private source directory |
| # |
| # since ls returns lowest version numbers first, reverse its output |
| if test x"${ac_cv_c_tclh}" = x ; then |
| for i in \ |
| ${srcdir}/../tcl \ |
| `ls -dr ${srcdir}/../tcl[[7-9]]* 2>/dev/null` \ |
| ${srcdir}/../../tcl \ |
| `ls -dr ${srcdir}/../../tcl[[7-9]]* 2>/dev/null` \ |
| ${srcdir}/../../../tcl \ |
| `ls -dr ${srcdir}/../../../tcl[[7-9]]* 2>/dev/null ` ; do |
| if test -f $i/generic/tclInt.h ; then |
| ac_cv_c_tclh=`(cd $i/generic; pwd)` |
| break |
| fi |
| done |
| fi |
| # finally check in a few common install locations |
| # |
| # since ls returns lowest version numbers first, reverse its output |
| if test x"${ac_cv_c_tclh}" = x ; then |
| for i in \ |
| `ls -dr /usr/local/src/tcl[[7-9]]* 2>/dev/null` \ |
| `ls -dr /usr/local/lib/tcl[[7-9]]* 2>/dev/null` \ |
| /usr/local/src/tcl \ |
| /usr/local/lib/tcl \ |
| ${prefix}/include ; do |
| if test -f $i/generic/tclInt.h ; then |
| ac_cv_c_tclh=`(cd $i/generic; pwd)` |
| break |
| fi |
| done |
| fi |
| # see if one is installed |
| if test x"${ac_cv_c_tclh}" = x ; then |
| AC_HEADER_CHECK(tclInt.h, ac_cv_c_tclh=installed, ac_cv_c_tclh="") |
| fi |
| ]) |
| if test x"${ac_cv_c_tclh}" = x ; then |
| TCLHDIR="# no Tcl private headers found" |
| AC_MSG_ERROR([Can't find Tcl private headers]) |
| fi |
| if test x"${ac_cv_c_tclh}" != x ; then |
| no_tcl="" |
| if test x"${ac_cv_c_tclh}" = x"installed" ; then |
| AC_MSG_RESULT([is installed]) |
| TCLHDIR="" |
| else |
| AC_MSG_RESULT([found in ${ac_cv_c_tclh}]) |
| # this hack is cause the TCLHDIR won't print if there is a "-I" in it. |
| TCLHDIR="-I${ac_cv_c_tclh}" |
| fi |
| fi |
| |
| AC_SUBST(TCLHDIR) |
| ]) |
| |
| |
| AC_DEFUN([CY_AC_PATH_TCLCONFIG], [ |
| # |
| # Ok, lets find the tcl configuration |
| # First, look for one uninstalled. |
| # the alternative search directory is invoked by --with-tclconfig |
| # |
| |
| if test x"${no_tcl}" = x ; then |
| # we reset no_tcl in case something fails here |
| no_tcl=true |
| AC_ARG_WITH(tclconfig, [ --with-tclconfig=DIR Directory containing tcl configuration (tclConfig.sh)], |
| with_tclconfig=${withval}) |
| AC_MSG_CHECKING([for Tcl configuration]) |
| AC_CACHE_VAL(ac_cv_c_tclconfig,[ |
| |
| # First check to see if --with-tclconfig was specified. |
| if test x"${with_tclconfig}" != x ; then |
| if test -f "${with_tclconfig}/tclConfig.sh" ; then |
| ac_cv_c_tclconfig=`(cd ${with_tclconfig}; pwd)` |
| else |
| AC_MSG_ERROR([${with_tclconfig} directory doesn't contain tclConfig.sh]) |
| fi |
| fi |
| |
| # then check for a private Tcl installation |
| if test x"${ac_cv_c_tclconfig}" = x ; then |
| for i in \ |
| ../tcl \ |
| `ls -dr ../tcl[[7-9]]* 2>/dev/null` \ |
| ../../tcl \ |
| `ls -dr ../../tcl[[7-9]]* 2>/dev/null` \ |
| ../../../tcl \ |
| `ls -dr ../../../tcl[[7-9]]* 2>/dev/null` ; do |
| if test -f "$i/${configdir}/tclConfig.sh" ; then |
| ac_cv_c_tclconfig=`(cd $i/${configdir}; pwd)` |
| break |
| fi |
| done |
| fi |
| # check in a few common install locations |
| if test x"${ac_cv_c_tclconfig}" = x ; then |
| for i in `ls -d ${prefix}/lib /usr/local/lib 2>/dev/null` ; do |
| if test -f "$i/tclConfig.sh" ; then |
| ac_cv_c_tclconfig=`(cd $i; pwd)` |
| break |
| fi |
| done |
| fi |
| # check in a few other private locations |
| if test x"${ac_cv_c_tclconfig}" = x ; then |
| for i in \ |
| ${srcdir}/../tcl \ |
| `ls -dr ${srcdir}/../tcl[[7-9]]* 2>/dev/null` ; do |
| if test -f "$i/${configdir}/tclConfig.sh" ; then |
| ac_cv_c_tclconfig=`(cd $i/${configdir}; pwd)` |
| break |
| fi |
| done |
| fi |
| ]) |
| if test x"${ac_cv_c_tclconfig}" = x ; then |
| TCLCONFIG="# no Tcl configs found" |
| AC_MSG_WARN(Can't find Tcl configuration definitions) |
| else |
| no_tcl= |
| TCLCONFIG=${ac_cv_c_tclconfig}/tclConfig.sh |
| AC_MSG_RESULT(found $TCLCONFIG) |
| fi |
| fi |
| ]) |
| |
| # Defined as a separate macro so we don't have to cache the values |
| # from PATH_TCLCONFIG (because this can also be cached). |
| AC_DEFUN([CY_AC_LOAD_TCLCONFIG], [ |
| . $TCLCONFIG |
| |
| AC_SUBST(TCL_VERSION) |
| AC_SUBST(TCL_MAJOR_VERSION) |
| AC_SUBST(TCL_MINOR_VERSION) |
| AC_SUBST(TCL_CC) |
| AC_SUBST(TCL_DEFS) |
| |
| dnl not used, don't export to save symbols |
| dnl AC_SUBST(TCL_LIB_FILE) |
| |
| dnl don't export, not used outside of configure |
| dnl AC_SUBST(TCL_LIBS) |
| dnl not used, don't export to save symbols |
| dnl AC_SUBST(TCL_PREFIX) |
| |
| dnl not used, don't export to save symbols |
| dnl AC_SUBST(TCL_EXEC_PREFIX) |
| |
| AC_SUBST(TCL_SHLIB_CFLAGS) |
| AC_SUBST(TCL_SHLIB_LD) |
| dnl don't export, not used outside of configure |
| AC_SUBST(TCL_SHLIB_LD_LIBS) |
| AC_SUBST(TCL_SHLIB_SUFFIX) |
| dnl not used, don't export to save symbols |
| AC_SUBST(TCL_DL_LIBS) |
| AC_SUBST(TCL_LD_FLAGS) |
| dnl don't export, not used outside of configure |
| AC_SUBST(TCL_LD_SEARCH_FLAGS) |
| AC_SUBST(TCL_CC_SEARCH_FLAGS) |
| AC_SUBST(TCL_COMPAT_OBJS) |
| AC_SUBST(TCL_RANLIB) |
| AC_SUBST(TCL_BUILD_LIB_SPEC) |
| AC_SUBST(TCL_LIB_SPEC) |
| AC_SUBST(TCL_LIB_VERSIONS_OK) |
| |
| dnl not used, don't export to save symbols |
| dnl AC_SUBST(TCL_SHARED_LIB_SUFFIX) |
| |
| dnl not used, don't export to save symbols |
| dnl AC_SUBST(TCL_UNSHARED_LIB_SUFFIX) |
| ]) |
| |
| # Warning: Tk definitions are very similar to Tcl definitions but |
| # are not precisely the same. There are a couple of differences, |
| # so don't do changes to Tcl thinking you can cut and paste it do |
| # the Tk differences and later simply substitute "Tk" for "Tcl". |
| # Known differences: |
| # - Acceptable Tcl major version #s is 7-9 while Tk is 4-9 |
| # - Searching for Tcl includes looking for tclInt.h, Tk looks for tk.h |
| # - Computing major/minor versions is different because Tk depends on |
| # headers to Tcl, Tk, and X. |
| # - Symbols in tkConfig.sh are different than tclConfig.sh |
| # - Acceptable for Tk to be missing but not Tcl. |
| |
| AC_DEFUN([CY_AC_PATH_TKH], [ |
| # |
| # Ok, lets find the tk source trees so we can use the headers |
| # If the directory (presumably symlink) named "tk" exists, use that one |
| # in preference to any others. Same logic is used when choosing library |
| # and again with Tcl. The search order is the best place to look first, then in |
| # decreasing significance. The loop breaks if the trigger file is found. |
| # Note the gross little conversion here of srcdir by cd'ing to the found |
| # directory. This converts the path from a relative to an absolute, so |
| # recursive cache variables for the path will work right. We check all |
| # the possible paths in one loop rather than many seperate loops to speed |
| # things up. |
| # the alternative search directory is involked by --with-tkinclude |
| # |
| no_tk=true |
| AC_MSG_CHECKING(for Tk private headers) |
| AC_ARG_WITH(tkinclude, [ --with-tkinclude=DIR Directory where tk private headers are], with_tkinclude=${withval}) |
| AC_CACHE_VAL(ac_cv_c_tkh,[ |
| # first check to see if --with-tkinclude was specified |
| if test x"${with_tkinclude}" != x ; then |
| if test -f ${with_tkinclude}/tk.h ; then |
| ac_cv_c_tkh=`(cd ${with_tkinclude}; pwd)` |
| elif test -f ${with_tkinclude}/generic/tk.h ; then |
| ac_cv_c_tkh=`(cd ${with_tkinclude}/generic; pwd)` |
| else |
| AC_MSG_ERROR([${with_tkinclude} directory doesn't contain private headers]) |
| fi |
| fi |
| |
| # next check if it came with Tk configuration file |
| if test x"${ac_cv_c_tkconfig}" = x ; then |
| if test -f $ac_cv_c_tkconfig/../generic/tk.h ; then |
| ac_cv_c_tkh=`(cd $ac_cv_c_tkconfig/..; pwd)` |
| fi |
| fi |
| |
| # next check in private source directory |
| # |
| # since ls returns lowest version numbers first, reverse its output |
| if test x"${ac_cv_c_tkh}" = x ; then |
| for i in \ |
| ${srcdir}/../tk \ |
| `ls -dr ${srcdir}/../tk[[4-9]]* 2>/dev/null` \ |
| ${srcdir}/../../tk \ |
| `ls -dr ${srcdir}/../../tk[[4-9]]* 2>/dev/null` \ |
| ${srcdir}/../../../tk \ |
| `ls -dr ${srcdir}/../../../tk[[4-9]]* 2>/dev/null ` ; do |
| if test -f $i/generic/tk.h ; then |
| ac_cv_c_tkh=`(cd $i/generic; pwd)` |
| break |
| fi |
| done |
| fi |
| # finally check in a few common install locations |
| # |
| # since ls returns lowest version numbers first, reverse its output |
| if test x"${ac_cv_c_tkh}" = x ; then |
| for i in \ |
| `ls -dr /usr/local/src/tk[[4-9]]* 2>/dev/null` \ |
| `ls -dr /usr/local/lib/tk[[4-9]]* 2>/dev/null` \ |
| /usr/local/src/tk \ |
| /usr/local/lib/tk \ |
| ${prefix}/include ; do |
| if test -f $i/generic/tk.h ; then |
| ac_cv_c_tkh=`(cd $i/generic; pwd)` |
| break |
| fi |
| done |
| fi |
| # see if one is installed |
| if test x"${ac_cv_c_tkh}" = x ; then |
| AC_HEADER_CHECK(tk.h, ac_cv_c_tkh=installed, ac_cv_c_tkh="") |
| fi |
| ]) |
| if test x"${ac_cv_c_tkh}" != x ; then |
| no_tk="" |
| if test x"${ac_cv_c_tkh}" = x"installed" ; then |
| AC_MSG_RESULT([is installed]) |
| TKHDIR="" |
| else |
| AC_MSG_RESULT([found in ${ac_cv_c_tkh}]) |
| # this hack is cause the TKHDIR won't print if there is a "-I" in it. |
| TKHDIR="-I${ac_cv_c_tkh}" |
| fi |
| else |
| TKHDIR="# no Tk directory found" |
| AC_MSG_WARN([Can't find Tk private headers]) |
| no_tk=true |
| fi |
| |
| AC_SUBST(TKHDIR) |
| ]) |
| |
| |
| AC_DEFUN([CY_AC_PATH_TKCONFIG], [ |
| # |
| # Ok, lets find the tk configuration |
| # First, look for one uninstalled. |
| # the alternative search directory is invoked by --with-tkconfig |
| # |
| |
| if test x"${no_tk}" = x ; then |
| # we reset no_tk in case something fails here |
| no_tk=true |
| AC_ARG_WITH(tkconfig, [ --with-tkconfig=DIR Directory containing tk configuration (tkConfig.sh)], |
| with_tkconfig=${withval}) |
| AC_MSG_CHECKING([for Tk configuration]) |
| AC_CACHE_VAL(ac_cv_c_tkconfig,[ |
| |
| # First check to see if --with-tkconfig was specified. |
| if test x"${with_tkconfig}" != x ; then |
| if test -f "${with_tkconfig}/tkConfig.sh" ; then |
| ac_cv_c_tkconfig=`(cd ${with_tkconfig}; pwd)` |
| else |
| AC_MSG_ERROR([${with_tkconfig} directory doesn't contain tkConfig.sh]) |
| fi |
| fi |
| |
| # then check for a private Tk library |
| if test x"${ac_cv_c_tkconfig}" = x ; then |
| for i in \ |
| ../tk \ |
| `ls -dr ../tk[[4-9]]* 2>/dev/null` \ |
| ../../tk \ |
| `ls -dr ../../tk[[4-9]]* 2>/dev/null` \ |
| ../../../tk \ |
| `ls -dr ../../../tk[[4-9]]* 2>/dev/null` ; do |
| if test -f "$i/${configdir}/tkConfig.sh" ; then |
| ac_cv_c_tkconfig=`(cd $i/${configdir}; pwd)` |
| break |
| fi |
| done |
| fi |
| # check in a few common install locations |
| if test x"${ac_cv_c_tkconfig}" = x ; then |
| for i in `ls -d ${prefix}/lib /usr/local/lib 2>/dev/null` ; do |
| if test -f "$i/tkConfig.sh" ; then |
| ac_cv_c_tkconfig=`(cd $i; pwd)` |
| break |
| fi |
| done |
| fi |
| # check in a few other private locations |
| if test x"${ac_cv_c_tkconfig}" = x ; then |
| for i in \ |
| ${srcdir}/../tk \ |
| `ls -dr ${srcdir}/../tk[[4-9]]* 2>/dev/null` ; do |
| if test -f "$i/${configdir}/tkConfig.sh" ; then |
| ac_cv_c_tkconfig=`(cd $i/${configdir}; pwd)` |
| break |
| fi |
| done |
| fi |
| ]) |
| if test x"${ac_cv_c_tkconfig}" = x ; then |
| TKCONFIG="# no Tk configs found" |
| AC_MSG_WARN(Can't find Tk configuration definitions) |
| else |
| no_tk= |
| TKCONFIG=${ac_cv_c_tkconfig}/tkConfig.sh |
| AC_MSG_RESULT(found $TKCONFIG) |
| fi |
| fi |
| |
| ]) |
| |
| # Defined as a separate macro so we don't have to cache the values |
| # from PATH_TKCONFIG (because this can also be cached). |
| AC_DEFUN([CY_AC_LOAD_TKCONFIG], [ |
| if test -f "$TKCONFIG" ; then |
| . $TKCONFIG |
| fi |
| |
| AC_SUBST(TK_VERSION) |
| dnl not actually used, don't export to save symbols |
| dnl AC_SUBST(TK_MAJOR_VERSION) |
| dnl AC_SUBST(TK_MINOR_VERSION) |
| AC_SUBST(TK_DEFS) |
| |
| dnl not used, don't export to save symbols |
| dnl AC_SUBST(TK_LIB_FILE) |
| |
| dnl not used outside of configure |
| dnl AC_SUBST(TK_LIBS) |
| dnl not used, don't export to save symbols |
| dnl AC_SUBST(TK_PREFIX) |
| |
| dnl not used, don't export to save symbols |
| dnl AC_SUBST(TK_EXEC_PREFIX) |
| |
| AC_SUBST(TK_BUILD_INCLUDES) |
| AC_SUBST(TK_XINCLUDES) |
| AC_SUBST(TK_XLIBSW) |
| AC_SUBST(TK_BUILD_LIB_SPEC) |
| AC_SUBST(TK_LIB_SPEC) |
| ]) |
| |
| # check for Itcl headers. |
| |
| AC_DEFUN([CY_AC_PATH_ITCLCONFIG], [ |
| # |
| # Ok, lets find the itcl configuration |
| # First, look for one uninstalled. |
| # the alternative search directory is invoked by --with-itclconfig |
| # |
| |
| if test x"${no_itcl}" = x ; then |
| # we reset no_itcl in case something fails here |
| no_itcl=true |
| AC_ARG_WITH(itclconfig, [ --with-itclconfig Directory containing itcl configuration (itclConfig.sh)], |
| with_itclconfig=${withval}) |
| AC_MSG_CHECKING([for Itcl configuration]) |
| AC_CACHE_VAL(ac_cv_c_itclconfig,[ |
| |
| # First check to see if --with-itclconfig was specified. |
| if test x"${with_itclconfig}" != x ; then |
| if test -f "${with_itclconfig}/itclConfig.sh" ; then |
| ac_cv_c_itclconfig=`(cd ${with_itclconfig}; pwd)` |
| else |
| AC_MSG_ERROR([${with_itclconfig} directory doesn't contain itclConfig.sh]) |
| fi |
| fi |
| |
| # then check for a private Itcl library |
| if test x"${ac_cv_c_itclconfig}" = x ; then |
| for i in \ |
| ../itcl/itcl \ |
| `ls -dr ../itcl[[4-9]]*/itcl 2>/dev/null` \ |
| ../../itcl \ |
| `ls -dr ../../itcl[[4-9]]*/itcl 2>/dev/null` \ |
| ../../../itcl \ |
| `ls -dr ../../../itcl[[4-9]]*/itcl 2>/dev/null` ; do |
| if test -f "$i/itclConfig.sh" ; then |
| ac_cv_c_itclconfig=`(cd $i; pwd)` |
| break |
| fi |
| done |
| fi |
| # check in a few common install locations |
| if test x"${ac_cv_c_itclconfig}" = x ; then |
| for i in `ls -d ${prefix}/lib /usr/local/lib 2>/dev/null` ; do |
| if test -f "$i/itclConfig.sh" ; then |
| ac_cv_c_itclconfig=`(cd $i; pwd)` |
| break |
| fi |
| done |
| fi |
| # check in a few other private locations |
| if test x"${ac_cv_c_itclconfig}" = x ; then |
| for i in \ |
| ${srcdir}/../itcl/itcl \ |
| `ls -dr ${srcdir}/../itcl[[4-9]]*/itcl 2>/dev/null` ; do |
| if test -f "$i/itclConfig.sh" ; then |
| ac_cv_c_itclconfig=`(cd $i; pwd)` |
| break |
| fi |
| done |
| fi |
| ]) |
| if test x"${ac_cv_c_itclconfig}" = x ; then |
| ITCLCONFIG="# no Itcl configs found" |
| AC_MSG_WARN(Can't find Itcl configuration definitions) |
| else |
| no_itcl= |
| ITCLCONFIG=${ac_cv_c_itclconfig}/itclConfig.sh |
| AC_MSG_RESULT(found $ITCLCONFIG) |
| fi |
| fi |
| ]) |
| |
| # Defined as a separate macro so we don't have to cache the values |
| # from PATH_ITCLCONFIG (because this can also be cached). |
| AC_DEFUN([CY_AC_LOAD_ITCLCONFIG], [ |
| if test -f "$ITCLCONFIG" ; then |
| . $ITCLCONFIG |
| fi |
| |
| AC_SUBST(ITCL_VERSION) |
| dnl not actually used, don't export to save symbols |
| dnl AC_SUBST(ITCL_MAJOR_VERSION) |
| dnl AC_SUBST(ITCL_MINOR_VERSION) |
| AC_SUBST(ITCL_DEFS) |
| |
| dnl not used, don't export to save symbols |
| dnl AC_SUBST(ITCL_LIB_FILE) |
| |
| dnl not used outside of configure |
| dnl AC_SUBST(ITCL_LIBS) |
| dnl not used, don't export to save symbols |
| dnl AC_SUBST(ITCL_PREFIX) |
| |
| dnl not used, don't export to save symbols |
| dnl AC_SUBST(ITCL_EXEC_PREFIX) |
| |
| AC_SUBST(ITCL_BUILD_INCLUDES) |
| AC_SUBST(ITCL_BUILD_LIB_SPEC) |
| AC_SUBST(ITCL_LIB_SPEC) |
| ]) |
| |
| # check for Itcl headers. |
| |
| AC_DEFUN([CY_AC_PATH_ITCLH], [ |
| AC_MSG_CHECKING(for Itcl private headers. srcdir=${srcdir}) |
| if test x"${ac_cv_c_itclh}" = x ; then |
| for i in ${srcdir}/../itcl ${srcdir}/../../itcl ${srcdir}/../../../itcl ${srcdir}/../itcl/itcl; do |
| if test -f $i/generic/itcl.h ; then |
| ac_cv_c_itclh=`(cd $i/generic; pwd)` |
| break |
| fi |
| done |
| fi |
| if test x"${ac_cv_c_itclh}" = x ; then |
| ITCLHDIR="# no Itcl private headers found" |
| AC_MSG_ERROR([Can't find Itcl private headers]) |
| fi |
| if test x"${ac_cv_c_itclh}" != x ; then |
| ITCLHDIR="-I${ac_cv_c_itclh}" |
| fi |
| # should always be here |
| # ITCLLIB="../itcl/itcl/unix/libitcl.a" |
| AC_SUBST(ITCLHDIR) |
| #AC_SUBST(ITCLLIB) |
| ]) |
| |
| |
| AC_DEFUN([CY_AC_PATH_ITKCONFIG], [ |
| # |
| # Ok, lets find the itk configuration |
| # First, look for one uninstalled. |
| # the alternative search directory is invoked by --with-itkconfig |
| # |
| |
| if test x"${no_itk}" = x ; then |
| # we reset no_itk in case something fails here |
| no_itk=true |
| AC_ARG_WITH(itkconfig, [ --with-itkconfig Directory containing itk configuration (itkConfig.sh)], |
| with_itkconfig=${withval}) |
| AC_MSG_CHECKING([for Itk configuration]) |
| AC_CACHE_VAL(ac_cv_c_itkconfig,[ |
| |
| # First check to see if --with-itkconfig was specified. |
| if test x"${with_itkconfig}" != x ; then |
| if test -f "${with_itkconfig}/itkConfig.sh" ; then |
| ac_cv_c_itkconfig=`(cd ${with_itkconfig}; pwd)` |
| else |
| AC_MSG_ERROR([${with_itkconfig} directory doesn't contain itkConfig.sh]) |
| fi |
| fi |
| |
| # then check for a private Itk library |
| if test x"${ac_cv_c_itkconfig}" = x ; then |
| for i in \ |
| ../itcl/itk \ |
| `ls -dr ../itcl[[4-9]]*/itk 2>/dev/null` \ |
| ../../itk \ |
| `ls -dr ../../itcl[[4-9]]*/itk 2>/dev/null` \ |
| ../../../itk \ |
| `ls -dr ../../../itcl[[4-9]]*/itk 2>/dev/null` ; do |
| if test -f "$i/itkConfig.sh" ; then |
| ac_cv_c_itkconfig=`(cd $i; pwd)` |
| break |
| fi |
| done |
| fi |
| # check in a few common install locations |
| if test x"${ac_cv_c_itkconfig}" = x ; then |
| for i in `ls -d ${prefix}/lib /usr/local/lib 2>/dev/null` ; do |
| if test -f "$i/itkConfig.sh" ; then |
| ac_cv_c_itkconfig=`(cd $i; pwd)` |
| break |
| fi |
| done |
| fi |
| # check in a few other private locations |
| if test x"${ac_cv_c_itkconfig}" = x ; then |
| for i in \ |
| ${srcdir}/../itcl/itk \ |
| `ls -dr ${srcdir}/../itcl[[4-9]]*/itk 2>/dev/null` ; do |
| if test -f "$i/itkConfig.sh" ; then |
| ac_cv_c_itkconfig=`(cd $i; pwd)` |
| break |
| fi |
| done |
| fi |
| ]) |
| if test x"${ac_cv_c_itkconfig}" = x ; then |
| ITKCONFIG="# no Itk configs found" |
| AC_MSG_WARN(Can't find Itk configuration definitions) |
| else |
| no_itk= |
| ITKCONFIG=${ac_cv_c_itkconfig}/itkConfig.sh |
| AC_MSG_RESULT(found $ITKCONFIG) |
| fi |
| fi |
| |
| ]) |
| |
| # Defined as a separate macro so we don't have to cache the values |
| # from PATH_ITKCONFIG (because this can also be cached). |
| AC_DEFUN([CY_AC_LOAD_ITKCONFIG], [ |
| if test -f "$ITKCONFIG" ; then |
| . $ITKCONFIG |
| fi |
| |
| AC_SUBST(ITK_VERSION) |
| dnl not actually used, don't export to save symbols |
| dnl AC_SUBST(ITK_MAJOR_VERSION) |
| dnl AC_SUBST(ITK_MINOR_VERSION) |
| AC_SUBST(ITK_DEFS) |
| |
| dnl not used, don't export to save symbols |
| dnl AC_SUBST(ITK_LIB_FILE) |
| |
| dnl not used outside of configure |
| dnl AC_SUBST(ITK_LIBS) |
| dnl not used, don't export to save symbols |
| dnl AC_SUBST(ITK_PREFIX) |
| |
| dnl not used, don't export to save symbols |
| dnl AC_SUBST(ITK_EXEC_PREFIX) |
| |
| AC_SUBST(ITK_BUILD_INCLUDES) |
| AC_SUBST(ITK_BUILD_LIB_SPEC) |
| AC_SUBST(ITK_LIB_SPEC) |
| ]) |
| |
| AC_DEFUN([CY_AC_PATH_ITKH], [ |
| AC_MSG_CHECKING(for Itk private headers. srcdir=${srcdir}) |
| if test x"${ac_cv_c_itkh}" = x ; then |
| for i in ${srcdir}/../itcl ${srcdir}/../../itcl ${srcdir}/../../../itcl ${srcdir}/../itcl/itk; do |
| if test -f $i/generic/itk.h ; then |
| ac_cv_c_itkh=`(cd $i/generic; pwd)` |
| break |
| fi |
| done |
| fi |
| if test x"${ac_cv_c_itkh}" = x ; then |
| ITKHDIR="# no Itk private headers found" |
| AC_MSG_ERROR([Can't find Itk private headers]) |
| fi |
| if test x"${ac_cv_c_itkh}" != x ; then |
| ITKHDIR="-I${ac_cv_c_itkh}" |
| fi |
| # should always be here |
| # ITKLIB="../itcl/itk/unix/libitk.a" |
| AC_SUBST(ITKHDIR) |
| #AC_SUBST(ITKLIB) |
| ]) |
| |
| |
| ## ----------------------------------------- ## |
| ## ANSIfy the C compiler whenever possible. ## |
| ## From Franc,ois Pinard ## |
| ## ----------------------------------------- ## |
| |
| # Copyright (C) 1996, 1997, 1999, 2000, 2001 Free Software Foundation, Inc. |
| |
| # This program is free software; you can redistribute it and/or modify |
| # it under the terms of the GNU General Public License as published by |
| # the Free Software Foundation; either version 2, or (at your option) |
| # any later version. |
| |
| # This program is distributed in the hope that it will be useful, |
| # but WITHOUT ANY WARRANTY; without even the implied warranty of |
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| # GNU General Public License for more details. |
| |
| # You should have received a copy of the GNU General Public License |
| # along with this program; if not, write to the Free Software |
| # Foundation, Inc., 51 Franklin Street, Fifth Floor, |
| # Boston, MA 02110-1301, USA. |
| |
| # serial 1 |
| |
| # @defmac AC_PROG_CC_STDC |
| # @maindex PROG_CC_STDC |
| # @ovindex CC |
| # If the C compiler in not in ANSI C mode by default, try to add an option |
| # to output variable @code{CC} to make it so. This macro tries various |
| # options that select ANSI C on some system or another. It considers the |
| # compiler to be in ANSI C mode if it handles function prototypes correctly. |
| # |
| # If you use this macro, you should check after calling it whether the C |
| # compiler has been set to accept ANSI C; if not, the shell variable |
| # @code{am_cv_prog_cc_stdc} is set to @samp{no}. If you wrote your source |
| # code in ANSI C, you can make an un-ANSIfied copy of it by using the |
| # program @code{ansi2knr}, which comes with Ghostscript. |
| # @end defmac |
| |
| AC_DEFUN([AM_PROG_CC_STDC], |
| [AC_REQUIRE([AC_PROG_CC]) |
| AC_BEFORE([$0], [AC_C_INLINE]) |
| AC_BEFORE([$0], [AC_C_CONST]) |
| dnl Force this before AC_PROG_CPP. Some cpp's, eg on HPUX, require |
| dnl a magic option to avoid problems with ANSI preprocessor commands |
| dnl like #elif. |
| dnl FIXME: can't do this because then AC_AIX won't work due to a |
| dnl circular dependency. |
| dnl AC_BEFORE([$0], [AC_PROG_CPP]) |
| AC_MSG_CHECKING([for ${CC-cc} option to accept ANSI C]) |
| AC_CACHE_VAL(am_cv_prog_cc_stdc, |
| [am_cv_prog_cc_stdc=no |
| ac_save_CC="$CC" |
| # Don't try gcc -ansi; that turns off useful extensions and |
| # breaks some systems' header files. |
| # AIX -qlanglvl=ansi |
| # Ultrix and OSF/1 -std1 |
| # HP-UX 10.20 and later -Ae |
| # HP-UX older versions -Aa -D_HPUX_SOURCE |
| # SVR4 -Xc -D__EXTENSIONS__ |
| for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" |
| do |
| CC="$ac_save_CC $ac_arg" |
| AC_TRY_COMPILE( |
| [#include <stdarg.h> |
| #include <stdio.h> |
| #include <sys/types.h> |
| #include <sys/stat.h> |
| /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ |
| struct buf { int x; }; |
| FILE * (*rcsopen) (struct buf *, struct stat *, int); |
| static char *e (p, i) |
| char **p; |
| int i; |
| { |
| return p[i]; |
| } |
| static char *f (char * (*g) (char **, int), char **p, ...) |
| { |
| char *s; |
| va_list v; |
| va_start (v,p); |
| s = g (p, va_arg (v,int)); |
| va_end (v); |
| return s; |
| } |
| int test (int i, double x); |
| struct s1 {int (*f) (int a);}; |
| struct s2 {int (*f) (double a);}; |
| int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); |
| int argc; |
| char **argv; |
| ], [ |
| return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; |
| ], |
| [am_cv_prog_cc_stdc="$ac_arg"; break]) |
| done |
| CC="$ac_save_CC" |
| ]) |
| if test -z "$am_cv_prog_cc_stdc"; then |
| AC_MSG_RESULT([none needed]) |
| else |
| AC_MSG_RESULT([$am_cv_prog_cc_stdc]) |
| fi |
| case "x$am_cv_prog_cc_stdc" in |
| x|xno) ;; |
| *) CC="$CC $am_cv_prog_cc_stdc" ;; |
| esac |
| ]) |
| |
| dnl From Bruno Haible. |
| |
| AC_DEFUN([AM_ICONV], |
| [ |
| dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and |
| dnl those with the standalone portable GNU libiconv installed). |
| |
| AC_ARG_WITH([libiconv-prefix], |
| [ --with-libiconv-prefix=DIR search for libiconv in DIR/include and DIR/lib], [ |
| for dir in `echo "$withval" | tr : ' '`; do |
| if test -d $dir/include; then CPPFLAGS="$CPPFLAGS -I$dir/include"; fi |
| if test -d $dir/lib; then LDFLAGS="$LDFLAGS -L$dir/lib"; fi |
| done |
| ]) |
| |
| AC_CACHE_CHECK(for iconv, am_cv_func_iconv, [ |
| am_cv_func_iconv="no, consider installing GNU libiconv" |
| am_cv_lib_iconv=no |
| AC_TRY_LINK([#include <stdlib.h> |
| #include <iconv.h>], |
| [iconv_t cd = iconv_open("",""); |
| iconv(cd,NULL,NULL,NULL,NULL); |
| iconv_close(cd);], |
| am_cv_func_iconv=yes) |
| if test "$am_cv_func_iconv" != yes; then |
| am_save_LIBS="$LIBS" |
| LIBS="$LIBS -liconv" |
| AC_TRY_LINK([#include <stdlib.h> |
| #include <iconv.h>], |
| [iconv_t cd = iconv_open("",""); |
| iconv(cd,NULL,NULL,NULL,NULL); |
| iconv_close(cd);], |
| am_cv_lib_iconv=yes |
| am_cv_func_iconv=yes) |
| LIBS="$am_save_LIBS" |
| fi |
| ]) |
| if test "$am_cv_func_iconv" = yes; then |
| AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.]) |
| AC_MSG_CHECKING([for iconv declaration]) |
| AC_CACHE_VAL(am_cv_proto_iconv, [ |
| AC_TRY_COMPILE([ |
| #include <stdlib.h> |
| #include <iconv.h> |
| extern |
| #ifdef __cplusplus |
| "C" |
| #endif |
| #if defined(__STDC__) || defined(__cplusplus) |
| size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); |
| #else |
| size_t iconv(); |
| #endif |
| ], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const") |
| 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);"]) |
| am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'` |
| AC_MSG_RESULT([$]{ac_t:- |
| }[$]am_cv_proto_iconv) |
| AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1, |
| [Define as const if the declaration of iconv() needs const.]) |
| fi |
| LIBICONV= |
| if test "$am_cv_lib_iconv" = yes; then |
| LIBICONV="-liconv" |
| fi |
| AC_SUBST(LIBICONV) |
| ]) |
| |
| dnl written by Guido Draheim <guidod@gmx.de>, original by Alexandre Oliva |
| dnl Version 1.3 (2001/03/02) |
| dnl source http://www.gnu.org/software/ac-archive/Miscellaneous/ac_define_dir.html |
| |
| AC_DEFUN([AC_DEFINE_DIR], [ |
| test "x$prefix" = xNONE && prefix="$ac_default_prefix" |
| test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' |
| ac_define_dir=`eval echo [$]$2` |
| ac_define_dir=`eval echo [$]ac_define_dir` |
| ifelse($3, , |
| AC_DEFINE_UNQUOTED($1, "$ac_define_dir"), |
| AC_DEFINE_UNQUOTED($1, "$ac_define_dir", $3)) |
| ]) |
| |
| dnl See whether we need a declaration for a function. |
| dnl The result is highly dependent on the INCLUDES passed in, so make sure |
| dnl to use a different cache variable name in this macro if it is invoked |
| dnl in a different context somewhere else. |
| dnl gcc_AC_CHECK_DECL(SYMBOL, |
| dnl [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND [, INCLUDES]]]) |
| AC_DEFUN([gcc_AC_CHECK_DECL], |
| [AC_MSG_CHECKING([whether $1 is declared]) |
| AC_CACHE_VAL(gcc_cv_have_decl_$1, |
| [AC_TRY_COMPILE([$4], |
| [#ifndef $1 |
| char *(*pfn) = (char *(*)) $1 ; |
| #endif], eval "gcc_cv_have_decl_$1=yes", eval "gcc_cv_have_decl_$1=no")]) |
| if eval "test \"`echo '$gcc_cv_have_decl_'$1`\" = yes"; then |
| AC_MSG_RESULT(yes) ; ifelse([$2], , :, [$2]) |
| else |
| AC_MSG_RESULT(no) ; ifelse([$3], , :, [$3]) |
| fi |
| ])dnl |
| |
| dnl Check multiple functions to see whether each needs a declaration. |
| dnl Arrange to define HAVE_DECL_<FUNCTION> to 0 or 1 as appropriate. |
| dnl gcc_AC_CHECK_DECLS(SYMBOLS, |
| dnl [ACTION-IF-NEEDED [, ACTION-IF-NOT-NEEDED [, INCLUDES]]]) |
| AC_DEFUN([gcc_AC_CHECK_DECLS], |
| [for ac_func in $1 |
| do |
| changequote(, )dnl |
| ac_tr_decl=HAVE_DECL_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` |
| changequote([, ])dnl |
| gcc_AC_CHECK_DECL($ac_func, |
| [AC_DEFINE_UNQUOTED($ac_tr_decl, 1) $2], |
| [AC_DEFINE_UNQUOTED($ac_tr_decl, 0) $3], |
| dnl It is possible that the include files passed in here are local headers |
| dnl which supply a backup declaration for the relevant prototype based on |
| dnl the definition of (or lack of) the HAVE_DECL_ macro. If so, this test |
| dnl will always return success. E.g. see libiberty.h's handling of |
| dnl `basename'. To avoid this, we define the relevant HAVE_DECL_ macro to |
| dnl 1 so that any local headers used do not provide their own prototype |
| dnl during this test. |
| #undef $ac_tr_decl |
| #define $ac_tr_decl 1 |
| $4 |
| ) |
| done |
| dnl Automatically generate config.h entries via autoheader. |
| if test x = y ; then |
| patsubst(translit([$1], [a-z], [A-Z]), [\w+], |
| [AC_DEFINE([HAVE_DECL_\&], 1, |
| [Define to 1 if we found this declaration otherwise define to 0.])])dnl |
| fi |
| ]) |
| |