merged source tree gcc + cygwin-snapshot-20080822-1 (+ binutils 2.18, mpfr, gmp..)
configure -build i686-pc-cygwin -host i686-pc-cygwin -target i686-pc-mingw32 ... Perhaps that is not a valid combination. Story could end right there. (and configure should reject it and tell you to use i686-pc-cygwin.) I tried it as a workaround for this bug: http://sourceforge.net/tracker/index.php?func=detail&aid=2090602&group_id=2435&atid=102435 but I have another workaround to try (listed there). Anyway, this works a lot, but eventually: make[3]: Leaving directory `/obj/gcc.1/i686-pc-cygwin/i686-pc-mingw32/i686-pc-mi ngw32/winsup/lsaauth' /bin/sh: line 0: cd: /obj/gcc.1/i686-pc-cygwin/i686-pc-mingw32/i686-pc-mingw32/w insup/cygwin/..: No such file or directory make[3]: Entering directory `/obj/gcc.1/i686-pc-cygwin/i686-pc-mingw32/i686-pc-m ingw32/winsup/cygserver' make[3]: *** No rule to make target `/obj/gcc.1/i686-pc-cygwin/i686-pc-mingw32/i 686-pc-mingw32/winsup/cygserver/cygwin/libcygwin.a', needed by `cygserver.exe'. Stop. make[3]: Leaving directory `/obj/gcc.1/i686-pc-cygwin/i686-pc-mingw32/i686-pc-mi ngw32/winsup/cygserver' make[2]: *** [cygserver] Error 1 make[2]: Leaving directory `/obj/gcc.1/i686-pc-cygwin/i686-pc-mingw32/i686-pc-mi ngw32/winsup' make[1]: *** [all-target-winsup] Error 2 make[1]: Leaving directory `/obj/gcc.1/i686-pc-cygwin/i686-pc-mingw32' make: *** [all] Error 2 The first two platform directories are my doing -- host and target. The last one is the build system's doing -- target again. So, do lsaauth and cygserver really make sense for mingw32? I don't think so, esp. not cygserver, from the error message. winsup does make sense, to get to winsup/mingw, for the target. Or maybe..since the mingw32 compiler is almost the same as the cygwin compiler, it can build it fine? And one can say i686-pc-mingw32 -mcygwin? I see that cc1.exe etc. are just symlinks in the binary packages. I've heard it said these are different targets, and best treated that way. But this is kind of a counterpoint to that. As well winsup/cygwin, and probably the others, make sense for the HOST. SO I think the fix is roughly: gcc/Makefile.def only lists winsup as target: target_modules = { module= winsup; }; dependencies = { module=all-target-winsup; on=all-target-libiberty; }; dependencies = { module=all-target-winsup; on=all-target-libtermcap; }; But it is also needed on the host. So I think those three lines need to duplicated, but with target changed to host. As well, winsup/configure.in I think needs a change, to avoid building this stuff for target=mingw32. The code is currently: case "$target" in *cygwin*) if ! test -d $srcdir/cygwin; then AC_MSG_ERROR("No cygwin dir. Can't build Cygwin. Exiting...") fi AC_CONFIG_SUBDIRS(cygwin) INSTALL_LICENSE="install-license" ;; *mingw*) if ! test -d $srcdir/mingw; then AC_MSG_ERROR("No mingw dir. Can't build Mingw. Exiting...") fi ;; esac if test -d $srcdir/mingw; then AC_CONFIG_SUBDIRS(mingw) fi AC_CONFIG_SUBDIRS(w32api) case "$with_cross_host" in ""|*cygwin*) # if test -d $srcdir/bz2lib; then # AC_CONFIG_SUBDIRS(bz2lib) # fi # if test -d $srcdir/zlib; then # AC_CONFIG_SUBDIRS(zlib) # fi if test -d $srcdir/cygwin; then AC_CONFIG_SUBDIRS(cygwin) fi if test -d $srcdir/lsaauth; then AC_CONFIG_SUBDIRS(lsaauth) fi if test -n "$use_cygserver" -a -d $srcdir/cygserver; then AC_CONFIG_SUBDIRS(cygserver) fi AC_CONFIG_SUBDIRS(utils doc) ;; esac but I think needs to be more like: case "$target" in *cygwin*) if ! test -d $srcdir/cygwin; then AC_MSG_ERROR("No cygwin dir. Can't build Cygwin. Exiting...") fi AC_CONFIG_SUBDIRS(cygwin) if test -d $srcdir/lsaauth; then AC_CONFIG_SUBDIRS(lsaauth) fi if test -n "$use_cygserver" -a -d $srcdir/cygserver; then AC_CONFIG_SUBDIRS(cygserver) fi AC_CONFIG_SUBDIRS(utils doc) INSTALL_LICENSE="install-license" ;; *mingw*) if ! test -d $srcdir/mingw; then AC_MSG_ERROR("No mingw dir. Can't build Mingw. Exiting...") fi ;; esac if test -d $srcdir/mingw; then AC_CONFIG_SUBDIRS(mingw) fi AC_CONFIG_SUBDIRS(w32api) I'll see if I can come up with a working patch, though my workaround of just using -B../../../gcc is much cheaper for me at this point. - Jay -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/