Tell about using the mingw-based gcc, which is much easier than modifying

2000-03-26  Tor Lillqvist  <tml@iki.fi>

* README.win32: Tell about using the mingw-based gcc, which is
much easier than modifying the cygwin gcc to product mingw code
for the msvcrt runtime.

* makefile.cygwin.in (WIN32APIHEADERS): Kludge to make it work
with a "pure" mingw gcc, too.
This commit is contained in:
Tor Lillqvist 2000-03-26 20:56:07 +00:00 committed by Tor Lillqvist
parent 9698f728c6
commit d6f6134103
10 changed files with 98 additions and 10 deletions

View File

@ -1,3 +1,12 @@
2000-03-26 Tor Lillqvist <tml@iki.fi>
* README.win32: Tell about using the mingw-based gcc, which is
much easier than modifying the cygwin gcc to product mingw code
for the msvcrt runtime.
* makefile.cygwin.in (WIN32APIHEADERS): Kludge to make it work
with a "pure" mingw gcc, too.
2000-03-24 Sebastian Wilhelmi <wilhelmi@ira.uka.de> 2000-03-24 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* garray.c: Made GArray behave correctly. Now zero_terminated * garray.c: Made GArray behave correctly. Now zero_terminated

View File

@ -1,3 +1,12 @@
2000-03-26 Tor Lillqvist <tml@iki.fi>
* README.win32: Tell about using the mingw-based gcc, which is
much easier than modifying the cygwin gcc to product mingw code
for the msvcrt runtime.
* makefile.cygwin.in (WIN32APIHEADERS): Kludge to make it work
with a "pure" mingw gcc, too.
2000-03-24 Sebastian Wilhelmi <wilhelmi@ira.uka.de> 2000-03-24 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* garray.c: Made GArray behave correctly. Now zero_terminated * garray.c: Made GArray behave correctly. Now zero_terminated

View File

@ -1,3 +1,12 @@
2000-03-26 Tor Lillqvist <tml@iki.fi>
* README.win32: Tell about using the mingw-based gcc, which is
much easier than modifying the cygwin gcc to product mingw code
for the msvcrt runtime.
* makefile.cygwin.in (WIN32APIHEADERS): Kludge to make it work
with a "pure" mingw gcc, too.
2000-03-24 Sebastian Wilhelmi <wilhelmi@ira.uka.de> 2000-03-24 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* garray.c: Made GArray behave correctly. Now zero_terminated * garray.c: Made GArray behave correctly. Now zero_terminated

View File

@ -1,3 +1,12 @@
2000-03-26 Tor Lillqvist <tml@iki.fi>
* README.win32: Tell about using the mingw-based gcc, which is
much easier than modifying the cygwin gcc to product mingw code
for the msvcrt runtime.
* makefile.cygwin.in (WIN32APIHEADERS): Kludge to make it work
with a "pure" mingw gcc, too.
2000-03-24 Sebastian Wilhelmi <wilhelmi@ira.uka.de> 2000-03-24 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* garray.c: Made GArray behave correctly. Now zero_terminated * garray.c: Made GArray behave correctly. Now zero_terminated

View File

@ -1,3 +1,12 @@
2000-03-26 Tor Lillqvist <tml@iki.fi>
* README.win32: Tell about using the mingw-based gcc, which is
much easier than modifying the cygwin gcc to product mingw code
for the msvcrt runtime.
* makefile.cygwin.in (WIN32APIHEADERS): Kludge to make it work
with a "pure" mingw gcc, too.
2000-03-24 Sebastian Wilhelmi <wilhelmi@ira.uka.de> 2000-03-24 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* garray.c: Made GArray behave correctly. Now zero_terminated * garray.c: Made GArray behave correctly. Now zero_terminated

View File

@ -1,3 +1,12 @@
2000-03-26 Tor Lillqvist <tml@iki.fi>
* README.win32: Tell about using the mingw-based gcc, which is
much easier than modifying the cygwin gcc to product mingw code
for the msvcrt runtime.
* makefile.cygwin.in (WIN32APIHEADERS): Kludge to make it work
with a "pure" mingw gcc, too.
2000-03-24 Sebastian Wilhelmi <wilhelmi@ira.uka.de> 2000-03-24 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* garray.c: Made GArray behave correctly. Now zero_terminated * garray.c: Made GArray behave correctly. Now zero_terminated

View File

@ -1,3 +1,12 @@
2000-03-26 Tor Lillqvist <tml@iki.fi>
* README.win32: Tell about using the mingw-based gcc, which is
much easier than modifying the cygwin gcc to product mingw code
for the msvcrt runtime.
* makefile.cygwin.in (WIN32APIHEADERS): Kludge to make it work
with a "pure" mingw gcc, too.
2000-03-24 Sebastian Wilhelmi <wilhelmi@ira.uka.de> 2000-03-24 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* garray.c: Made GArray behave correctly. Now zero_terminated * garray.c: Made GArray behave correctly. Now zero_terminated

View File

@ -1,3 +1,12 @@
2000-03-26 Tor Lillqvist <tml@iki.fi>
* README.win32: Tell about using the mingw-based gcc, which is
much easier than modifying the cygwin gcc to product mingw code
for the msvcrt runtime.
* makefile.cygwin.in (WIN32APIHEADERS): Kludge to make it work
with a "pure" mingw gcc, too.
2000-03-24 Sebastian Wilhelmi <wilhelmi@ira.uka.de> 2000-03-24 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* garray.c: Made GArray behave correctly. Now zero_terminated * garray.c: Made GArray behave correctly. Now zero_terminated

View File

@ -11,11 +11,11 @@ library is used.
To build GLib on Win32, you can use either the Microsoft compiler and To build GLib on Win32, you can use either the Microsoft compiler and
tools, or gcc. Both the compiler from MSVC 5.0 and from MSVC 6.0 have tools, or gcc. Both the compiler from MSVC 5.0 and from MSVC 6.0 have
been used successfully. With gcc I mean gcc-2.95 or gcc-2.95.2 as been used successfully. With gcc I mean gcc-2.95 or gcc-2.95.2 as
distributed by Mumit Khan, running under cygwin-b20.1. To successfully distributed by Mumit Khan, either as a mingw version (preferred), or
use gcc, follow the instructions below. We want to use gcc running under cygwin. To successfully use gcc, follow the instructions
-mno-cygwin, i.e. produce executables (.exe and .dll files) that do below. We want to use gcc -mno-cygwin, i.e. produce executables (.exe
*not* require the cygwin runtime library. This is sometimes called and .dll files) that do *not* require the cygwin runtime library. This
"mingw32". is called "mingw".
To test the GLib functions, go to the tests subdirectory and enter To test the GLib functions, go to the tests subdirectory and enter
`nmake -f makefile.msc check` or `make -f makefile.cygwin check`. `nmake -f makefile.msc check` or `make -f makefile.cygwin check`.
@ -99,9 +99,23 @@ Building with gcc
I use the latest and greatest gcc, gcc-2.95.2. 2.95 will also work. I use the latest and greatest gcc, gcc-2.95.2. 2.95 will also work.
Earlier version might, but you are on your own. Earlier version might, but you are on your own.
Read these instruction carefully and understand them. If you don't You can either use gcc running on cygwin, or the "pure" mingw
understand or can't follow the instructions, you probably shouldn't gcc. Using the latter is much easier. Just fetch the latest version of
want to build GLib (or GTk+ or GIMP) yourself anyway. gcc for mingw and the msvcrt runtime, currently from
ftp://ftp.nanotech.wisc.edu/pub/khan/gnu-win32/mingw32/snapshots/gcc-2.95.2-1/
. Download the three zip archives: the gcc-<version>-msvcrt,
mingw-msvcrt-<timestamp> and binutils-<timestamp>-msvcrt, and unpack
them in a suitable directory. Set up your PATH so that the gcc from
the bin directory that got created above is the one that gets
used. You can skip steps 1--5 below. Even if you run the mingw gcc,
you still want to have cygwin to run make in.
If you want to run a cygwin-based gcc, it gets much more
complicated. We still want gcc to produce code that does not use
cygwin, but the msvcrt runtime. Read the below instruction carefully
and understand them. If you don't understand or can't follow the
instructions, you probably shouldn't want to build GLib (or GTk+ or
GIMP) yourself anyway.
0) Get and install Cygwin B20.1. 0) Get and install Cygwin B20.1.

View File

@ -28,8 +28,10 @@ GLIB_VER = @GLIB_MAJOR_VERSION@.@GLIB_MINOR_VERSION@
CFLAGS = $(OPTIMIZE) -I. -DHAVE_CONFIG_H CFLAGS = $(OPTIMIZE) -I. -DHAVE_CONFIG_H
# Kludge to get the path to the win32 headers # Kludge to get the path to the win32 headers. Should work for both
WIN32APIHEADERS = $(shell echo "\#include <winver.h>" | $(CC) -M -E - | tail -1 | sed -e 's!/winver.h!!') # gcc running on cygwin, and bare mingw gcc, even if the make is
# running on cygwin (whew).
WIN32APIHEADERS = $(shell echo "\#include <winver.h>" | $(CC) -M -E - | tail -1 | sed -e 's![\\/]winver.h!!' | tr -d '\015')
all : \ all : \
config.h \ config.h \