fi
])
+AC_DEFUN(STEPMAKE_GXXCODEGENBUG, [
+ AC_MSG_CHECKING([options for known g++ bugs])
+ case "$GXX:$CXX_VERSION" in
+ yes:400600[[0-2]])
+ AC_MSG_RESULT([-fno-optimize-sibling-calls (tail call bug)])
+ CXXFLAGS="$CXXFLAGS -fno-optimize-sibling-calls"
+ ;;
+ yes:400700?)
+ AC_MSG_RESULT([-fno-tree-vrp (comparison bug)])
+ CXXFLAGS="$CXXFLAGS -fno-tree-vrp"
+ ;;
+ *) AC_MSG_RESULT([none])
+ esac
+ AC_SUBST(CXXFLAGS)
+])
+
AC_DEFUN(STEPMAKE_DATADIR, [
if test "$datadir" = "\${prefix}/share"; then
exit 2
fi
- for d in 2 3 4 ; do
- for mf in `cd $srcdir ; find -maxdepth $d -mindepth $d -name GNUmakefile`; do
- mkdir -p $(dirname $mf)
+ abssrcdir="`cd $srcdir; pwd`"
+ absbuilddir="`pwd`"
+ for d in 2 3 4 5 ; do
+ for mf in `cd $srcdir ; find . -maxdepth $d -mindepth $d -name GNUmakefile`; do
+ case "$abssrcdir" in
+ "$absbuilddir"/*)
+# source is below build directory, always copy
+ ;;
+ *)
+ case "$abssrcdir/${mf#./}" in
+ "$absbuilddir"/*)
+# find descended into build directory, don't copy
+ continue
+ esac
+ esac
+ mkdir -p ${mf%/*}
cat <<EOF | $PYTHON - > $mf
print 'depth=' + ('../' * ( $d-1 ) )
print 'include \$(depth)/config\$(if \$(conf),-\$(conf),).make'
print 'MODULE_INCLUDES += \$(src-dir)/\$(outbase)'
EOF
done
- for mf in `cd $srcdir ; find -maxdepth $d -mindepth $d -name '*.make' | grep -v config.make `; do
- mkdir -p $(dirname $mf)
+ for mf in `cd $srcdir ; find . -maxdepth $d -mindepth $d -name '*.make' | grep -v config.make `; do
+ case "$abssrcdir" in
+ "$absbuilddir"/*)
+# source is below build directory, always copy
+ ;;
+ *)
+ case "$abssrcdir/${mf#./}" in
+ "$absbuilddir"/*)
+# find descended into build directory, don't copy
+ continue
+ esac
+ esac
+ mkdir -p ${mf%/*}
cat <<EOF | $PYTHON - > $mf
print 'include \$(depth)/config\$(if \$(conf),-\$(conf),).make'
print 'include \$(configure-srcdir)/$mf'
done
done
-
+ rm -f GNUmakefile
cat <<EOF > GNUmakefile
depth = .
include config\$(if \$(conf),-\$(conf),).make
include \$(configure-srcdir)/GNUmakefile.in
EOF
+ chmod 444 GNUmakefile
AC_SUBST(VPATH)
fi
])
AC_MSG_RESULT($FLEXLEXER_FILE)
])
-AC_DEFUN(STEPMAKE_GCC, [
- if test "$GCC" = "yes"; then
- STEPMAKE_CHECK_VERSION(CC, $1, $2)
- else
- warn="$CC (Please install *GNU* cc)"
- STEPMAKE_ADD_ENTRY($1, $warn)
+AC_DEFUN(STEPMAKE_GCC_OR_CLANG, [
+ STEPMAKE_HAS_CLANG()
+ if test "$HAS_CLANG" = "no"; then
+ if test "$GCC" = "yes"; then
+ STEPMAKE_CHECK_VERSION(CC, $1, $2)
+ else
+ warn="$CC (Please install *GNU* cc)"
+ STEPMAKE_ADD_ENTRY($1, $warn)
+ fi
fi
+ # no else, we're fine with any clang
])
AC_DEFUN(STEPMAKE_GETTEXT, [
AC_DEFUN(STEPMAKE_GUILE, [
- STEPMAKE_PATH_PROG(GUILE, guile, $1)
+ STEPMAKE_PATH_PROG(GUILE, guile guile1, $1)
])
test -n "$target_alias" && target_guile_config=$target_alias-guile-config
test -n "$host_alias" && host_guile_config=$host_alias-guile-config
AC_MSG_CHECKING([for guile-config])
- for guile_config in $GUILE_CONFIG $target_guile_config $host_guile_config $build_guile_config guile-config; do
+ for guile_config in $GUILE_CONFIG $target_guile_config $host_guile_config $build_guile_config guile-config guile1-config; do
AC_MSG_RESULT([$guile_config])
if ! $guile_config --version > /dev/null 2>&1 ; then
AC_MSG_WARN([cannot execute $guile_config])
done
STEPMAKE_OPTIONAL_REQUIRED(GUILE_CONFIG, $guile_config, $1)
if test $? -ne 0; then
- STEPMAKE_ADD_ENTRY($1, 'guile-config (guile-devel, guile-dev or libguile-dev package)')
+ STEPMAKE_ADD_ENTRY($1, 'guile-config (guile-devel, guile-dev or libguile-dev package) or guile1-config (guile1-devel package)')
fi
STEPMAKE_CHECK_SEARCH_RESULT(GUILE_CONFIG)
AC_CHECK_FUNCS(dlopen)
])
-AC_DEFUN(STEPMAKE_GXX, [
- if test "$GXX" = "yes"; then
- STEPMAKE_CHECK_VERSION(CXX, $1, $2)
- else
- warn="$CXX (Please install *GNU* c++)"
- STEPMAKE_ADD_ENTRY($1, $warn)
+AC_DEFUN(STEPMAKE_HAS_CLANG, [
+ AC_EGREP_CPP(yes,
+ [#ifdef __clang__
+ yes
+ #endif
+ ], HAS_CLANG=yes, HAS_CLANG=no)
+])
+
+AC_DEFUN(STEPMAKE_GXX_OR_CLANG, [
+ STEPMAKE_HAS_CLANG()
+ if test "$HAS_CLANG" = "no"; then
+ if test "$GXX" = "yes"; then
+ STEPMAKE_CHECK_VERSION(CXX, $1, $2)
+ else
+ warn="$CXX (Please install *GNU* c++)"
+ STEPMAKE_ADD_ENTRY($1, $warn)
+ fi
fi
+ # no else, we're fine with any clang
])
AC_CHECK_PROGS($1, $2, no)
STEPMAKE_OPTIONAL_REQUIRED($1, $2, $3)
if test $? -eq 0; then
- AC_PATH_PROG($1, $2)
+ AC_PATH_PROGS($1, $2)
if test -n "$4"; then
STEPMAKE_CHECK_VERSION($1, $3, $4)
fi