summaryrefslogtreecommitdiff
path: root/README.win32
diff options
context:
space:
mode:
authorTor Lillqvist <tml@src.gnome.org>1999-07-31 21:45:21 +0000
committerTor Lillqvist <tml@src.gnome.org>1999-07-31 21:45:21 +0000
commit1146c6fbb37bb85f8c49f572cfae9469339f89ff (patch)
treedab4325dc6082366c991649a822998a36c0e0da2 /README.win32
parent87c7aeb93bd654776f59805a342ad913031034f3 (diff)
New functions.
* gstrfuncs.c (g_strccpy, g_strecpy): New functions. * glib.h: Declare and document them. Define the deprecated g_strescape as a macro that calls g_strecpy. * tests/strfunc-test.c (main): Test them. * makefile.{cygwin,msc}.in * tests/makefile.{cygwin,msc}.in: Remove gstack and its test program. * glib.def: Additions and removals. * README.win32: Improve gcc build instructions. * build-dll: Also build import library for MSVC.
Diffstat (limited to 'README.win32')
-rw-r--r--README.win3271
1 files changed, 23 insertions, 48 deletions
diff --git a/README.win32 b/README.win32
index 36b9b5109..693fea448 100644
--- a/README.win32
+++ b/README.win32
@@ -10,12 +10,11 @@ library is used.
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
-been used successfully. With gcc I mean the gcc-2.95 pre-release as
-distributed by Mumit Khan, running under cygwin-b20.1. To successfully
-use gcc, follow the instructions below. We want to use gcc
--mno-cygwin, i.e. produce executables (.exe and .dll files) that do
-*not* require the cygwin runtime library. This is sometimes called
-"mingw32".
+been used successfully. With gcc I mean gcc-2.95 as distributed by
+Mumit Khan, running under cygwin-b20.1. To successfully use gcc,
+follow the instructions below. We want to use gcc -mno-cygwin,
+i.e. produce executables (.exe and .dll files) that do *not* require
+the cygwin runtime library. This is sometimes called "mingw32".
To test the GLib functions, go to the tests subdirectory and enter
`nmake -f makefile.msc check` or `make -f makefile.cygwin check`.
@@ -94,48 +93,24 @@ The gcc support was added quite recently, but seems to work. Debugging
with gdb works. I use the latest and greatest gcc and mingw32.
Somewhat earlier versions will also work, but you are on your own.
-Fetch the gcc-2.95 developer snapshot from
-ftp://ftp.xraylith.wisc.edu/pub/khan/gnu-win32/cygwin/snapshots/gcc-2.95-19990715/.
-Install it somewhere, for instance \gcc-2.95.
-
-Fetch the mingw runtime snapshot from 1999-07-15 from
-ftp://ftp.xraylith.wisc.edu/pub/khan/gnu-win32/mingw32/runtime/. You
-must fix two bugs in it:
-
-1) Fix the prototype and call to __getmainargs() in init.c to include
-one more parameter, an int *, which should be passed the address of a
-zero int. Code snippets below:
-
-...
-#ifdef __MSVCRT__
-extern void __getmainargs(int *, char***, char***, int, int *);
-#else
-...
-#ifdef __MSVCRT__
- int newmode = 0;
- (void) __getmainargs(&_argc, &_argv, &dummy_environ, _CRT_glob, &newmode);
-#else
-...
-
-2) Fix the type of the function __p___argv() in stdlib.h to be char***,
-not char**.
-
-Build the mingw32 runtime and install the libraries in the
-gcc-2.95\H-i586-cygwin32\lib directory, and the headers in the
-gcc-2.95\H-i586-cygwin32\i586-cygwin32\include\mingw32 directory.
-Remember to build and install also the w32api import libraries and
-headers.
-
-I prefer to use the msvcrt runtime and not the default
-crtdll. Especially, as the pthread library also uses msvcrt, using
-crtdll would probably not be a good idea at all. Using msvcrt can be
-achieved by applying a few changes to the specs file.
-
-The specs file is in gcc-2.95\H-i586-cygwin32\lib\gcc-lib\i586-cygwin32\2.95
-
-The necessary changes are: replace -lcrtdll with -lmsvcrt, replace
-crt1 with crt2, change -lmoldname to -lmoldname-msvc, and define
-__MSVCRT__.
+Read and understand these instruction carefully. 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.
+
+Fetch gcc-2.95 built for cygwin from
+ftp://ftp.xraylith.wisc.edu/pub/khan/gnu-win32/cygwin/gcc-2.95/gcc-2.95-cygb20.tar.gz
+Install it somewhere, for instance "C:\gcc-2.95" (/gcc-2.95 as seen
+from cygwin). We call this directory $GCCDIR below. You will have
+subdirectories "H-i586-cygwin32" and "include" under $GCCDIR.
+
+Next, you need to modify the gcc setup to use the msvcrt runtime
+instead of crtdll. Also, the mingw32 and win32 API headers and import
+libraries need to be added. I have collected all the necessary
+additions in the file
+http://www.iki.fi/tml/gimp/win32/gcc-2.95-additions.zip . Install that
+in $GCCDIR. If you really want to do everything by yourself, follow
+the instructions in
+http://www.iki.fi/tml/gimp/win32/gcc-environment-setup.html
Next, go back to the GLib directory and build using `make -f
makefile.cygwin`. Building the dlls uses the script build-dll which