This is the mail archive of the
cygwin-patches
mailing list for the Cygwin project.
Re: Try #3 for changes to Cygwin configure
On Nov 13 22:39, Christopher Faylor wrote:
> Try #3. This is a smaller patch with some bug fixes found after
> building from-scratch, cleanly on a Fedora system with Yaakov's cross
> tools (ok, so I lied and did end up setting up a Fedora system to test
> this).
Is that the point where I have to say "na na na na naaa na"? Just kidding.
> Also fixed some long-standing Makefile bugs and misconceptions in
> cygwin and utils.
>
> I'm not entirely thrilled with the fact that configuring and building
> this from the level above winsup results in lots of compiler command
> line parameters passed in which are also discerned by macros in
> acinclude.m4. If we do end up staying in the src CVS repository I'll
> have to fix that.
For a start I applied the patch to CVS HEAD and ran a stock `configure;
make' from toplevel on Fedora 17 with Yaakov's Cygwin packages.
I can't link the Cygwin DLL:
/usr/lib64/gcc/i686-pc-cygwin/4.5.3/../../../../i686-pc-cygwin/bin/ld: cannot find -luser32
/usr/lib64/gcc/i686-pc-cygwin/4.5.3/../../../../i686-pc-cygwin/bin/ld: cannot find -lkernel32
/usr/lib64/gcc/i686-pc-cygwin/4.5.3/../../../../i686-pc-cygwin/bin/ld: cannot find -ladvapi32
/usr/lib64/gcc/i686-pc-cygwin/4.5.3/../../../../i686-pc-cygwin/bin/ld: cannot find -lshell32
collect2: ld returned 1 exit status
I didn't look why it doesn't find these libs. But this means the
-nostdlib flag is missing. If I add it I get a lot of messages pointing
out missing symbols, though:
.../cygtls.h:301: undefined reference to `__Unwind_Resume'
.../bsdlib.o:bsdlib.cc:(.eh_frame+0x12): undefined reference to `___gxx_personality_v0'
[...]
After a bit of digging I found that the -fno-rtti -fno-exceptions flags
are missing when building the C++ source files.
When building cygserver stuff, the flags -mno-use-libstdc-wrappers
-fno-rtti -fno-exceptions are missing, too.
In utils, I get an interesting error when building cygcheck:
In file included from .../cygcheck.cc:13:0:
.../newlib/libc/include/stdio.h:35:20: fatal error: stddef.h: No such file or directory
Newlib? For a Mingw application? The compiler instruction actually
contains the following paths:
-I${srcdir}/winsup/cygwin \
-isystem /usr/i686-pc-cygwin/sys-root/usr/include/w32api \
-isystem ${srcdir}/winsup/cygwin/include \
-isystem ${srcdir}-pc-cygwin/newlib/targ-include \
-isystem ${srcdir}/newlib/libc/include
None of them should be used when building with the Mingw compiler.
Btw., why did you remove $(CFLAGS) from the definition of MINGW_CXX?
I added it just a couple of days ago explicitely to be able to build
the utils manually with different optimizing settings:
2012-11-05 Corinna Vinschen <...>
* Makefile.in (MINGW_CXX): Attach $(CFLAGS) to allow providing
build option tweaks to mingw compiler as well.
Corinna
--
Corinna Vinschen Please, send mails regarding Cygwin to
Cygwin Project Co-Leader cygwin AT cygwin DOT com
Red Hat