Rename without-mingw-progs to with-cross-bootstrap

Rename without-mingw-progs to with-cross-bootstrap, since it now
disables additional checks that are problematic for cross-compilers.

When cross-compiling a toolchain targeting cygwin, building cygwin1.dll
requires libgcc.
However, building libgcc requires the cygwin headers to be
installed.
Configuring cygwin requries the mingw-crt libraries, which require the
cygwin headers to be installed.
Work around this circular dependency by making the
--with-cross-bootstrap configure option skip cygwin's configure checks
for valid mingw-crt libraries. Cygwin will still properly link against
these libraries if they exist, but this allows configure to succeed even
if the libraries have not been built yet.
Since the mingw-crt libraries only require the cygwin headers to be
installed, this allows us to successfully configure cygwin so that we
can only install the headers without trying to build any
libraries.

winsup/ChangeLog
configure.ac: rename without-mingw-progs option to with-cross-bootstrap
configure: regenerate
winsup/cygserver/ChangeLog
configure.ac: don't check AC_WINDOWS_LIBS when using with-cross-bootstrap
configure: regenerate
winsup/cygwin/ChangeLog
configure.ac: don't check AC_WINDOWS_LIBS when using with-cross-bootstrap
configure: regenerate

Signed-off-by: Peter Foley <pefoley2@pefoley.com>
This commit is contained in:
Peter Foley 2016-04-02 10:56:44 -04:00 committed by Corinna Vinschen
parent 5d3ad3b123
commit e7e6119241
6 changed files with 33 additions and 18 deletions

19
winsup/configure vendored
View File

@ -665,7 +665,7 @@ target_builddir'
ac_subst_files=''
ac_user_opts='
enable_option_checking
with_mingw_progs
with_cross_bootstrap
with_windows_headers
with_windows_libs
'
@ -1295,8 +1295,9 @@ if test -n "$ac_init_help"; then
Optional Packages:
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
--without-mingw-progs do not build programs using the mingw toolchain
(useful for cross-compiling)
--with-cross-bootstrap do not build programs using the mingw toolchain or
check for mingw libraries (useful for bootstrapping
a cross-compiler)
--with-windows-headers=DIR
specify where the windows includes are located
--with-windows-libs=DIR specify where the windows libraries are located
@ -3362,11 +3363,11 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $
ac_compiler_gnu=$ac_cv_c_compiler_gnu
# Check whether --with-mingw-progs was given.
if test "${with_mingw_progs+set}" = set; then :
withval=$with_mingw_progs;
# Check whether --with-cross-bootstrap was given.
if test "${with_cross_bootstrap+set}" = set; then :
withval=$with_cross_bootstrap;
else
with_mingw_progs=yes
with_cross_bootstrap=no
fi
@ -3379,6 +3380,7 @@ if test "${with_windows_headers+set}" = set; then :
fi
if test "x$with_cross_bootstrap" != "xyes"; then
# Check whether --with-windows-libs was given.
@ -3397,6 +3399,7 @@ fi
fi
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
@ -3448,7 +3451,7 @@ export CXX
subdirs="$subdirs cygwin cygserver doc"
if test "x$with_mingw_progs" != xno; then
if test "x$with_cross_bootstrap" != "xyes"; then
subdirs="$subdirs utils lsaauth"
fi

View File

@ -25,17 +25,19 @@ AC_PROG_CC
AC_PROG_CXX
AC_PROG_CPP
AC_LANG(C)
AC_ARG_WITH([mingw-progs],[AS_HELP_STRING([--without-mingw-progs],[do not build programs using the mingw toolchain (useful for cross-compiling)])],[],[with_mingw_progs=yes])
AC_ARG_WITH([cross-bootstrap],[AS_HELP_STRING([--with-cross-bootstrap],[do not build programs using the mingw toolchain or check for mingw libraries (useful for bootstrapping a cross-compiler)])],[],[with_cross_bootstrap=no])
AC_WINDOWS_HEADERS
AC_WINDOWS_LIBS
if test "x$with_cross_bootstrap" != "xyes"; then
AC_WINDOWS_LIBS
fi
AC_LANG(C++)
AC_CYGWIN_INCLUDES
AC_CONFIG_SUBDIRS(cygwin cygserver doc)
if test "x$with_mingw_progs" != xno; then
if test "x$with_cross_bootstrap" != "xyes"; then
AC_CONFIG_SUBDIRS([utils lsaauth])
fi

View File

@ -3381,6 +3381,7 @@ if test "${with_windows_headers+set}" = set; then :
fi
if test "x$with_cross_bootstrap" != "xyes"; then
# Check whether --with-windows-libs was given.
@ -3399,6 +3400,7 @@ fi
fi
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'

View File

@ -9,7 +9,7 @@ dnl details.
dnl
dnl Process this file with autoconf to produce a configure script.
AC_PREREQ(2.59)
AC_PREREQ([2.59])
AC_INIT([Cygwin Cygserver],[0],[cygwin@cygwin.com],[cygwin],[https://cygwin.com])
AC_CONFIG_SRCDIR(cygserver.cc)
AC_CONFIG_AUX_DIR(..)
@ -26,7 +26,9 @@ AC_PROG_CPP
AC_LANG(C)
AC_WINDOWS_HEADERS
AC_WINDOWS_LIBS
if test "x$with_cross_bootstrap" != "xyes"; then
AC_WINDOWS_LIBS
fi
AC_LANG(C++)
@ -65,4 +67,5 @@ esac
])
AC_CONFIGURE_ARGS
AC_OUTPUT(Makefile)
AC_CONFIG_FILES([Makefile])
AC_OUTPUT

View File

@ -3392,6 +3392,7 @@ if test "${with_windows_headers+set}" = set; then :
fi
if test "x$with_cross_bootstrap" != "xyes"; then
# Check whether --with-windows-libs was given.
@ -3410,6 +3411,7 @@ fi
fi
ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'

View File

@ -10,7 +10,7 @@ dnl details.
dnl
dnl Process this file with autoconf to produce a configure script.
AC_PREREQ(2.59)
AC_PREREQ([2.59])
AC_INIT([Cygwin DLL],[0],[cygwin@cygwin.com],[cygwin],[https://cygwin.com])
AC_CONFIG_SRCDIR(Makefile.in)
AC_CONFIG_HEADER(config.h)
@ -28,7 +28,9 @@ AC_PROG_CPP
AC_LANG(C)
AC_WINDOWS_HEADERS
AC_WINDOWS_LIBS
if test "x$with_cross_bootstrap" != "xyes"; then
AC_WINDOWS_LIBS
fi
AC_LANG(C++)
@ -99,7 +101,7 @@ case "$target_cpu" in
DIN_FILE="x86_64.din"
TLSOFFSETS_H="tlsoffsets64.h"
;;
*) AC_MSG_ERROR(Invalid target processor \"$target_cpu\") ;;
*) AC_MSG_ERROR([Invalid target processor "$target_cpu"]) ;;
esac
AC_CONFIGURE_ARGS
@ -109,4 +111,5 @@ AC_SUBST(DLL_ENTRY)
AC_SUBST(DEF_DLL_ENTRY)
AC_SUBST(DIN_FILE)
AC_SUBST(TLSOFFSETS_H)
AC_OUTPUT(Makefile)
AC_CONFIG_FILES([Makefile])
AC_OUTPUT