2003-01-05  Tor Lillqvist  <tml@iki.fi>

	* README.win32: Updates.

	* configure.in: Don't use -lm in TRIO_LIBS on Windows, with no
	libm. (Mingw has a dummy libm.a, but the .pc file should be
	useable by MSVC users, too.)
This commit is contained in:
Tor Lillqvist 2003-01-05 22:51:09 +00:00 committed by Tor Lillqvist
parent dcb78fd43a
commit b123bcf25c
8 changed files with 76 additions and 27 deletions

View File

@ -1,3 +1,11 @@
2003-01-05 Tor Lillqvist <tml@iki.fi>
* README.win32: Updates.
* configure.in: Don't use -lm in TRIO_LIBS on Windows, with no
libm. (Mingw has a dummy libm.a, but the .pc file should be
useable by MSVC users, too.)
2003-01-25 Ron Steinke <rsteinke@w-link.net> 2003-01-25 Ron Steinke <rsteinke@w-link.net>
(Ancient, binary compatible fixes found sitting in my tree) (Ancient, binary compatible fixes found sitting in my tree)

View File

@ -1,3 +1,11 @@
2003-01-05 Tor Lillqvist <tml@iki.fi>
* README.win32: Updates.
* configure.in: Don't use -lm in TRIO_LIBS on Windows, with no
libm. (Mingw has a dummy libm.a, but the .pc file should be
useable by MSVC users, too.)
2003-01-25 Ron Steinke <rsteinke@w-link.net> 2003-01-25 Ron Steinke <rsteinke@w-link.net>
(Ancient, binary compatible fixes found sitting in my tree) (Ancient, binary compatible fixes found sitting in my tree)

View File

@ -1,3 +1,11 @@
2003-01-05 Tor Lillqvist <tml@iki.fi>
* README.win32: Updates.
* configure.in: Don't use -lm in TRIO_LIBS on Windows, with no
libm. (Mingw has a dummy libm.a, but the .pc file should be
useable by MSVC users, too.)
2003-01-25 Ron Steinke <rsteinke@w-link.net> 2003-01-25 Ron Steinke <rsteinke@w-link.net>
(Ancient, binary compatible fixes found sitting in my tree) (Ancient, binary compatible fixes found sitting in my tree)

View File

@ -1,3 +1,11 @@
2003-01-05 Tor Lillqvist <tml@iki.fi>
* README.win32: Updates.
* configure.in: Don't use -lm in TRIO_LIBS on Windows, with no
libm. (Mingw has a dummy libm.a, but the .pc file should be
useable by MSVC users, too.)
2003-01-25 Ron Steinke <rsteinke@w-link.net> 2003-01-25 Ron Steinke <rsteinke@w-link.net>
(Ancient, binary compatible fixes found sitting in my tree) (Ancient, binary compatible fixes found sitting in my tree)

View File

@ -1,3 +1,11 @@
2003-01-05 Tor Lillqvist <tml@iki.fi>
* README.win32: Updates.
* configure.in: Don't use -lm in TRIO_LIBS on Windows, with no
libm. (Mingw has a dummy libm.a, but the .pc file should be
useable by MSVC users, too.)
2003-01-25 Ron Steinke <rsteinke@w-link.net> 2003-01-25 Ron Steinke <rsteinke@w-link.net>
(Ancient, binary compatible fixes found sitting in my tree) (Ancient, binary compatible fixes found sitting in my tree)

View File

@ -1,3 +1,11 @@
2003-01-05 Tor Lillqvist <tml@iki.fi>
* README.win32: Updates.
* configure.in: Don't use -lm in TRIO_LIBS on Windows, with no
libm. (Mingw has a dummy libm.a, but the .pc file should be
useable by MSVC users, too.)
2003-01-25 Ron Steinke <rsteinke@w-link.net> 2003-01-25 Ron Steinke <rsteinke@w-link.net>
(Ancient, binary compatible fixes found sitting in my tree) (Ancient, binary compatible fixes found sitting in my tree)

View File

@ -59,12 +59,13 @@ Even building software that just *uses* GLib or GTK+ also require to
have the right compiler set up the right way, so if you intend to use have the right compiler set up the right way, so if you intend to use
gcc, follow the relevant instructions below in that case, too. gcc, follow the relevant instructions below in that case, too.
Tor uses gcc with the -fnative-struct flag, which means that in order to Tor uses gcc with the -mms-bitfields flag (used to be called
use the prebuilt DLLs (especially of GTK+), you *must* also use that -fnative-struct in gcc 2.x), which means that in order to use the
flag. (This flag means that the struct layout rules are identical to prebuilt DLLs (especially of GTK+), if you compile your code with gcc,
those used by MSVC. This is essential if the same DLLs are to be you *must* also use that flag. (This flag means that the struct layout
usable both from gcc- and MSVC-compiled code. This definitely is rules are identical to those used by MSVC. This is essential if the
something one wants.) same DLLs are to be usable both from gcc- and MSVC-compiled code. This
definitely is something one wants.)
Building GLib Building GLib
============= =============
@ -99,7 +100,7 @@ to use (after some editing).
Building GLib with gcc Building GLib with gcc
====================== ======================
Tor uses gcc-2.95.3. Version 2.95.2 will most probably also work. Tor uses gcc 3.2. Version 2.95.3 also works.
You can either use gcc running on Cygwin, or the "pure" mingw You can either use gcc running on Cygwin, or the "pure" mingw
gcc. Using the latter might work better, or at least did at some gcc. Using the latter might work better, or at least did at some
@ -123,15 +124,13 @@ Autoconfiscated build
It is also possible to use the auto*, ./configure and libtool It is also possible to use the auto*, ./configure and libtool
mechanism when building with gcc. You should be running Cygwin, or mechanism when building with gcc. You should be running Cygwin, or
maybe cross-compiling from real Unix, for the configure script to maybe cross-compiling from real Unix, for the configure script to
work, obviously. (It might also be possible to use "MSYS", but I work, obviously. (It should also be possible to use MSYS.) Tor invokes
haven't checked.) You most probably should have very new auto* and configure using:
libtool. Tor invokes configure using:
CC='gcc -mpentium -fnative-struct' CC='gcc -mcpu=pentium3' CPPFLAGS='-I/target/include'
CPPFLAGS='-I/src/libiconv-1.7/include -I/target/include' CFLAGS=-O3 LDFLAGS='-L/target/lib' ./configure --with-libiconv
LDFLAGS='-L/src/libiconv-1.7/lib -L/target/lib' ./configure --disable-static --prefix=/target --host=i386-pc-mingw32
--with-libiconv --disable-static --prefix=/target --enable-maintainer-mode
--host=i386-pc-mingw32 --enable-maintainer-mode
(on a single line) (on a single line)
@ -146,10 +145,9 @@ Except for this and a few other minor issues, there really shouldn't
be any reason to distribute separate GLib headers and DLLs for gcc and be any reason to distribute separate GLib headers and DLLs for gcc and
MSVC users, as both compilers generate code that uses the same C MSVC users, as both compilers generate code that uses the same C
runtime library. Thus one either has to manually edit glibconfig.h runtime library. Thus one either has to manually edit glibconfig.h
afterwards, or use the supplied config.h.win32 and afterwards, or use the supplied glibconfig.h.win32. This has been
glibconfig.h.win32. These have been produced by running configure produced by running configure twice, once using gcc and once using
twice, once using gcc and once using MSVC, and merging the resulting MSVC, and merging the resulting files with diff -D.
files with diff -D.
There might be other hickups when using auto* and configure to build There might be other hickups when using auto* and configure to build
with gcc. Lately Tor has used auto*/configure/libtool exclusively when with gcc. Lately Tor has used auto*/configure/libtool exclusively when
@ -159,12 +157,13 @@ building GLib, GTK+, GIMP etc on Win32, and it seems to work well
The hand-written makefile.{mingw,msc} files, and the stuff in the The hand-written makefile.{mingw,msc} files, and the stuff in the
"build" subdirectory, produce DLLs and import libraries that match "build" subdirectory, produce DLLs and import libraries that match
what Makefile.am and libtool produces. For GLib, the DLL is called what Makefile.am and libtool produces. For GLib, the DLL is called
libglib-1.3-15.dll (at GLib 1.3.15), and the import libraries libglib-2.0-0.dll, and the import libraries libglib-2.0.dll.a and
libglib-1.3.dll.a and glib-1.3.lib. Note that the "1.3" is part of the glib-2.0.lib. Note that the "2.0" is part of the "basename" of the
"basename" of the library, it is not something that libtool have library, it is not something that libtool has tucked on. The -0 suffix
tucked on. The -15 suffix is the value of "LT_CURRENT - LT_AGE". The is the value of "LT_CURRENT - LT_AGE". The 0 is *not* simply the micro
15 is *not* simply the micro version number of GLib, although, for version number of GLib, although, for GLib 2.2.0, it happens to be the
GLib 1.3.15, it happens to be the same. For the gory details, see same. The LT_CURRENT - LT_AGE value will on purpose be kept as zero as
long as binary compatibility is maintained. For the gory details, see
configure.in and libtool documentation. configure.in and libtool documentation.
If you want to run the Cygwin-hosted gcc, and still want to produce If you want to run the Cygwin-hosted gcc, and still want to produce
@ -177,7 +176,7 @@ If you would want to use the Cygwin tools to generate a GLib that
should work as if on Unix. Note that successfully producing shared should work as if on Unix. Note that successfully producing shared
libraries (DLLs) for Cygwin most probably requires you to have a very libraries (DLLs) for Cygwin most probably requires you to have a very
new libtool. (And a new libtool probably requires rather new autoconf new libtool. (And a new libtool probably requires rather new autoconf
and automake.) Tor hasn't tested this in a while. and automake.) Tor hasn't tested this in a while, either.
Building with MSVC Building with MSVC
================== ==================

View File

@ -734,8 +734,10 @@ else
AC_DEFINE(HAVE_VASPRINTF,1) AC_DEFINE(HAVE_VASPRINTF,1)
AC_DEFINE(HAVE_C99_VSNPRINTF,1) AC_DEFINE(HAVE_C99_VSNPRINTF,1)
AC_DEFINE(HAVE_UNIX98_PRINTF,1) AC_DEFINE(HAVE_UNIX98_PRINTF,1)
if test "$glib_native_win32" != "yes" ; then
TRIO_LIBS=-lm TRIO_LIBS=-lm
fi fi
fi
AC_SUBST(TRIO_LIBS) AC_SUBST(TRIO_LIBS)
# Check if bcopy can be used for overlapping copies, if memmove isn't found. # Check if bcopy can be used for overlapping copies, if memmove isn't found.