[CLN-list] CLN vs weird mixture of Cygwin and MinGW [Was: Results of building cln-1.1.13 ...]

Richard Haney rfhaney at yahoo.com
Tue Aug 22 00:39:10 CEST 2006


--- Sheplyakov Alexei <varg at theor.jinr.ru> wrote:

> If you insist on using Cygwin+MinGW, you need at least to
> 
> 1) give the configure script proper --build and --host arguments,
>    e.g.,
> 
>    --build=i586-mingw32msvc --host=i586-mingw32msvc


I did a grep first on "i586-mingw32msvc" and found nothing and then on
"i586".  The following code in config.guess seems particularly
interesting:

	case `/bin/uname -X | grep "^Machine"` in
	    *486*)	     UNAME_MACHINE=i486 ;;
	    *Pentium)	     UNAME_MACHINE=i586 ;;
	    *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
	esac

This seems to say that a Celeron processor should be identified as an
"i686" rather than a "i586"; and that is exactly what the configure
script determined, as shown in the config.log file.  My processor is a
"Inspiron 2650 Notebook: Intel® Celeron® processor, 1.5GHz-M",
according to the sale specification provided by Dell.  So, assuming
that the script(s) must ordinarily piece together the identification in
place of the "--build=..." info, it would seem that the first part of
"--build=..." value, if needed, should be "i686".  But I also did a
grep on "mingw32msvc" and found nothing and then on (case-insensitive)
"msvc" and found _only_ some comments to the effect "# FIXME: the
MSVC++ port hasn't been tested in a loooong time". (BTW, all "grep"s
were case-insensitive.)

Thus, it appears that the configure script, without the override you
suggest, correctly determines the type of processor I have, and the
"mingw32msvc" certainly seems erroneous since not even a meaningful
"msvc" can be found.

I also did a grep on "mingw32" and found a line "config.guess:776:	echo
${UNAME_MACHINE}-pc-mingw32", which seems to suggest, with the earlier
information above, that "i686-pc-mingw32" would be an appropriate value
for "--build=..." and "--host=...".  However, it seems that it should
be _very_ easy for the configure script to figure out that the compiler
I'm using is a MinGW gcc compiler.  So I would think that the configure
script would be able to determine on its own that the appropriate value
is "i686-pc-mingw32", without my having to provide an override.  But
evidently the cln configure script came up with
"ac_cv_build=i686-pc-cygwin" and "ac_cv_host=i686-pc-cygwin".

Of course, I am largely guessing about things here based on what I
found.

I also examined the ginac-1.3.5 files as well, without having run
./configure, and the situation seems to be the same there as far as the
script files are concerned.

So my questions are these:  Would "--build=i686-pc-mingw32
--host=i686-pc-mingw32" be the appropriate override?

And moreover, shouldn't this need for an override be considered a bug
in the configuration scripts; shouldn't the scripts be able to
determine this value without the override since I'm essentially telling
configure to use my MinGW gcc?  Note the "CC=C:/Dev-Cpp/bin/gcc" and
"CXX=C:/Dev-Cpp/bin/g++" on the configure command line.

And note also that the config.log file has this line (which is somewhat
puzzling since, in particular, I don't know of any command
"../gcc/configure"):

Configured with: ../gcc/configure --with-gcc --with-gnu-ld
--with-gnu-as --host=mingw32 --target=mingw32 --prefix=/mingw
--enable-threads --disable-nls
--enable-languages=c,c++,f77,ada,objc,java --disable-win32-registry
--disable-shared --enable-sjlj-exceptions --enable-libgcj
--disable-java-awt --without-x --enable-java-gc=boehm
--disable-libgcj-debug --enable-interpreter
--enable-hash-synchronization --enable-libstdcxx-debug

Best regards,

Richard


__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 


More information about the CLN-list mailing list