mirror of
git://sourceware.org/git/newlib-cygwin.git
synced 2025-01-19 12:59:21 +08:00
b55e3f1916
ccwrap massages the compiler's standard include directories to remove '/usr/include/w32api', with the intent of allowing it to be overriden by '--with-windows-headers' (See 4c36016b). I'm not 100% convinced that this is always working as desired, since in some places w32api includes are done using <w32api/something.h>, which will find them via the path /usr/include. If this does turn out to be needed, this could also be implemented by constructing the appropriate compiler flags once, rather than on every compiler invocation.
82 lines
2.6 KiB
Plaintext
82 lines
2.6 KiB
Plaintext
dnl This provides configure definitions used by all the cygwin
|
|
dnl configure.in files.
|
|
|
|
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([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], [
|
|
: ${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"
|
|
|
|
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
|
|
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
|
|
|
|
INCLUDES="-I${srcdir}/../cygwin -I${target_builddir}/winsup/cygwin"
|
|
INCLUDES="${INCLUDES} -isystem ${cygwin_headers}"
|
|
for h in ${newlib_headers}; do
|
|
INCLUDES="${INCLUDES} -isystem $h"
|
|
done
|
|
INCLUDES="${INCLUDES} -isystem ${windows_headers}"
|
|
AC_SUBST(INCLUDES)
|
|
])
|
|
|
|
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)
|