Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/acinclude.m4')
-rw-r--r--winsup/acinclude.m4112
1 files changed, 76 insertions, 36 deletions
diff --git a/winsup/acinclude.m4 b/winsup/acinclude.m4
index 4e2db0768..80c920e8c 100644
--- a/winsup/acinclude.m4
+++ b/winsup/acinclude.m4
@@ -1,43 +1,83 @@
-dnl This provides configure definitions used by all the winsup
+dnl This provides configure definitions used by all the cygwin
dnl configure.in files.
-# FIXME: We temporarily define our own version of AC_PROG_CC. This is
-# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
-# are probably using a cross compiler, which will not be able to fully
-# link an executable. This should really be fixed in autoconf
-# itself.
-
-AC_DEFUN([LIB_AC_PROG_CC_GNU],
-[AC_CACHE_CHECK(whether we are using GNU C, ac_cv_prog_gcc,
-[dnl The semicolon is to pacify NeXT's syntax-checking cpp.
-cat > conftest.c <<EOF
-#ifdef __GNUC__
- yes;
-#endif
-EOF
-if AC_TRY_COMMAND(${CC-cc} -E conftest.c) | egrep yes >/dev/null 2>&1; then
- ac_cv_prog_gcc=yes
-else
- ac_cv_prog_gcc=no
-fi])])
-
-AC_DEFUN([LIB_AC_PROG_CC],
-[AC_BEFORE([$0], [AC_PROG_CPP])dnl
-AC_CHECK_TOOL(CC, gcc, gcc)
-: ${CC:=gcc}
-AC_PROG_CC
-test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
+AC_DEFUN([AC_WINDOWS_HEADERS],[
+AC_ARG_WITH(
+ [windows-headers],
+ [AS_HELP_STRING([--with-windows-headers=DIR],
+ [specify where the windows includes are located])],
+ [test -z "$withval" && AC_MSG_ERROR([must specify value for --with-windows-headers])]
+)
])
-AC_DEFUN([LIB_AC_PROG_CXX],
-[AC_BEFORE([$0], [AC_PROG_CPP])dnl
-AC_CHECK_TOOL(CXX, g++, g++)
-if test -z "$CXX"; then
- AC_CHECK_TOOL(CXX, g++, c++, , , )
- : ${CXX:=g++}
- AC_PROG_CXX
- test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
+AC_DEFUN([AC_WINDOWS_LIBS],[
+AC_ARG_WITH(
+ [windows-libs],
+ [AS_HELP_STRING([--with-windows-libs=DIR],
+ [specify where the windows libraries are located])],
+ [test -z "$withval" && AC_MSG_ERROR([must specify value for --with-windows-libs])]
+)
+windows_libdir=$(realdirpath "$with_windows_libs")
+if test -z "$windows_libdir"; then
+ windows_libdir=$(realdirpath $(${ac_cv_prog_CC:-$CC} -xc /dev/null -Wl,--verbose=1 -lntdll 2>&1 | sed -rn 's%^.*\s(\S+)/libntdll\..*succeeded%\1%p'))
+ if test -z "$windows_libdir"; then
+ AC_MSG_ERROR([cannot find windows library files])
+ fi
+fi
+AC_SUBST(windows_libdir)
+]
+)
+
+AC_DEFUN([AC_CYGWIN_INCLUDES], [
+addto_CPPFLAGS -nostdinc
+: ${ac_cv_prog_CXX:=$CXX}
+: ${ac_cv_prog_CC:=$CC}
+
+cygwin_headers=$(realdirpath "$winsup_srcdir/cygwin/include")
+if test -z "$cygwin_headers"; then
+ AC_MSG_ERROR([cannot find $winsup_srcdir/cygwin/include directory])
+fi
+
+newlib_headers=$(realdirpath $winsup_srcdir/../newlib/libc/include)
+if test -z "$newlib_headers"; then
+ AC_MSG_ERROR([cannot find newlib source directory: $winsup_srcdir/../newlib/libc/include])
fi
+newlib_headers="$target_builddir/newlib/targ-include $newlib_headers"
-CXXFLAGS='$(CFLAGS)'
+if test -n "$with_windows_headers"; then
+ if test -e "$with_windows_headers/windef.h"; then
+ windows_headers="$with_windows_headers"
+ else
+ AC_MSG_ERROR([cannot find windef.h in specified --with-windows-headers path: $saw_windows_headers]);
+ fi
+elif test -d "$winsup_srcdir/w32api/include/windef.h"; then
+ windows_headers="$winsup_srcdir/w32api/include"
+else
+ windows_headers=$(cd $($ac_cv_prog_CC -xc /dev/null -E -include windef.h 2>/dev/null | sed -n 's%^# 1 "\([^"]*\)/windef\.h".*$%\1%p' | head -n1) 2>/dev/null && pwd)
+ if test -z "$windows_headers" -o ! -d "$windows_headers"; then
+ AC_MSG_ERROR([cannot find windows header files])
+ fi
+fi
+CC=$ac_cv_prog_CC
+CXX=$ac_cv_prog_CXX
+export CC
+export CXX
+AC_SUBST(windows_headers)
+AC_SUBST(newlib_headers)
+AC_SUBST(cygwin_headers)
])
+
+AC_DEFUN([AC_CONFIGURE_ARGS], [
+configure_args=X
+for f in $ac_configure_args; do
+ case "$f" in
+ *--srcdir*) ;;
+ *) configure_args="$configure_args $f" ;;
+ esac
+done
+configure_args=$(/usr/bin/expr "$configure_args" : 'X \(.*\)')
+AC_SUBST(configure_args)
+])
+
+AC_SUBST(target_builddir)
+AC_SUBST(winsup_srcdir)