dnl See whether we can include both string.h and strings.h. AC_DEFUN(GCC_HEADER_STRING, [AC_CACHE_CHECK([whether string.h and strings.h may both be included], gcc_cv_header_string, [AC_TRY_COMPILE([#include #include ], , gcc_cv_header_string=yes, gcc_cv_header_string=no)]) if test $gcc_cv_header_string = yes; then AC_DEFINE(STRING_WITH_STRINGS) fi ]) dnl See whether we need a declaration for a function. dnl GCC_NEED_DECLARATION(FUNCTION [, EXTRA-HEADER-FILES]) AC_DEFUN(GCC_NEED_DECLARATION, [AC_MSG_CHECKING([whether $1 must be declared]) AC_CACHE_VAL(gcc_cv_decl_needed_$1, [AC_TRY_COMPILE([ #include #ifdef STRING_WITH_STRINGS # include # include #else # ifdef HAVE_STRING_H # include # else # ifdef HAVE_STRINGS_H # include # endif # endif #endif #ifdef HAVE_STDLIB_H #include #endif #ifdef HAVE_UNISTD_H #include #endif #ifndef HAVE_RINDEX #define rindex strrchr #endif #ifndef HAVE_INDEX #define index strchr #endif $2], [char *(*pfn) = (char *(*)) $1], eval "gcc_cv_decl_needed_$1=no", eval "gcc_cv_decl_needed_$1=yes")]) if eval "test \"`echo '$gcc_cv_decl_needed_'$1`\" = yes"; then AC_MSG_RESULT(yes) gcc_tr_decl=NEED_DECLARATION_`echo $1 | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` AC_DEFINE_UNQUOTED($gcc_tr_decl) else AC_MSG_RESULT(no) fi ])dnl dnl Check multiple functions to see whether each needs a declaration. dnl GCC_NEED_DECLARATIONS(FUNCTION... [, EXTRA-HEADER-FILES]) AC_DEFUN(GCC_NEED_DECLARATIONS, [for ac_func in $1 do GCC_NEED_DECLARATION($ac_func, $2) done ]) dnl Check if we have vprintf and possibly _doprnt. dnl Note autoconf checks for vprintf even though we care about vfprintf. AC_DEFUN(GCC_FUNC_VFPRINTF_DOPRNT, [AC_FUNC_VPRINTF vfprintf= doprint= if test $ac_cv_func_vprintf != yes ; then vfprintf=vfprintf.o if test $ac_cv_func__doprnt != yes ; then doprint=doprint.o fi fi AC_SUBST(vfprintf) AC_SUBST(doprint) ]) dnl See if the printf functions in libc support %p in format strings. AC_DEFUN(GCC_FUNC_PRINTF_PTR, [AC_CACHE_CHECK(whether the printf functions support %p, gcc_cv_func_printf_ptr, [AC_TRY_RUN([#include main() { char buf[64]; char *p = buf, *q = NULL; sprintf(buf, "%p", p); sscanf(buf, "%p", &q); exit (p != q); }], gcc_cv_func_printf_ptr=yes, gcc_cv_func_printf_ptr=no, gcc_cv_func_printf_ptr=no) rm -f core core.* *.core]) if test $gcc_cv_func_printf_ptr = yes ; then AC_DEFINE(HAVE_PRINTF_PTR) fi ]) dnl See if symbolic links work and if not, try to substitute either hard links or simple copy. AC_DEFUN(GCC_PROG_LN_S, [AC_MSG_CHECKING(whether ln -s works) AC_CACHE_VAL(gcc_cv_prog_LN_S, [rm -f conftestdata_t echo >conftestdata_f if ln -s conftestdata_f conftestdata_t 2>/dev/null then gcc_cv_prog_LN_S="ln -s" else if ln conftestdata_f conftestdata_t 2>/dev/null then gcc_cv_prog_LN_S=ln else gcc_cv_prog_LN_S=cp fi fi rm -f conftestdata_f conftestdata_t ])dnl LN_S="$gcc_cv_prog_LN_S" if test "$gcc_cv_prog_LN_S" = "ln -s"; then AC_MSG_RESULT(yes) else if test "$gcc_cv_prog_LN_S" = "ln"; then AC_MSG_RESULT([no, using ln]) else AC_MSG_RESULT([no, and neither does ln, so using cp]) fi fi AC_SUBST(LN_S)dnl ]) dnl See if hard links work and if not, try to substitute either symbolic links or simple copy. AC_DEFUN(GCC_PROG_LN, [AC_MSG_CHECKING(whether ln works) AC_CACHE_VAL(gcc_cv_prog_LN, [rm -f conftestdata_t echo >conftestdata_f if ln conftestdata_f conftestdata_t 2>/dev/null then gcc_cv_prog_LN="ln" else if ln -s conftestdata_f conftestdata_t 2>/dev/null then gcc_cv_prog_LN="ln -s" else gcc_cv_prog_LN=cp fi fi rm -f conftestdata_f conftestdata_t ])dnl LN="$gcc_cv_prog_LN" if test "$gcc_cv_prog_LN" = "ln"; then AC_MSG_RESULT(yes) else if test "$gcc_cv_prog_LN" = "ln -s"; then AC_MSG_RESULT([no, using ln -s]) else AC_MSG_RESULT([no, and neither does ln -s, so using cp]) fi fi AC_SUBST(LN)dnl ]) dnl See whether the stage1 host compiler accepts the volatile keyword. AC_DEFUN(GCC_C_VOLATILE, [AC_CACHE_CHECK([for volatile], gcc_cv_c_volatile, [AC_TRY_COMPILE(, [volatile int foo;], gcc_cv_c_volatile=yes, gcc_cv_c_volatile=no)]) if test $gcc_cv_c_volatile = yes ; then AC_DEFINE(HAVE_VOLATILE) fi ]) AC_DEFUN(EGCS_PROG_INSTALL, [AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # ./install, which can be erroneously created by make from ./install.sh. AC_MSG_CHECKING(for a BSD compatible install) if test -z "$INSTALL"; then AC_CACHE_VAL(ac_cv_path_install, [ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS="${IFS}:" for ac_dir in $PATH; do # Account for people who put trailing slashes in PATH elements. case "$ac_dir/" in /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. for ac_prog in ginstall scoinst install; do if test -f $ac_dir/$ac_prog; then if test $ac_prog = install && grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. # OSF/1 installbsd also uses dspmsg, but is usable. : else ac_cv_path_install="$ac_dir/$ac_prog -c" break 2 fi fi done ;; esac done IFS="$ac_save_IFS" ])dnl if test "${ac_cv_path_install+set}" = set; then INSTALL="$ac_cv_path_install" else # As a last resort, use the slow shell script. We don't cache a # path for INSTALL within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the path is relative. INSTALL="$ac_install_sh" fi fi dnl We do special magic for INSTALL instead of AC_SUBST, to get dnl relative paths right. AC_MSG_RESULT($INSTALL) AC_SUBST(INSTALL)dnl # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' AC_SUBST(INSTALL_PROGRAM)dnl test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' AC_SUBST(INSTALL_DATA)dnl ])