summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTor Lillqvist <tml@iki.fi>2004-03-06 07:37:46 +0000
committerTor Lillqvist <tml@src.gnome.org>2004-03-06 07:37:46 +0000
commitfd64571b800dc1b72d2ff35faba18053be369b40 (patch)
treecf8b1e4b687b7139a7b90ffd67a87cf963f3409e
parentab0031bf0060acb38781b0cb8e855fb33dc444ad (diff)
downloadglib-fd64571b800dc1b72d2ff35faba18053be369b40.tar.gz
Update.
2004-03-06 Tor Lillqvist <tml@iki.fi> * README.win32: Update. * configure.in * Makefile.am * */Makefile.am: Drop the hand-written makefile.mingw(.in) files. They haven't been maintained in a long time. As several people have managed to build GLib for Win32 using the autoconfiscation mechanism, there is no real reason to even try to maintain the hand-written mingw makefiles.
-rw-r--r--ChangeLog12
-rw-r--r--ChangeLog.pre-2-1012
-rw-r--r--ChangeLog.pre-2-1212
-rw-r--r--ChangeLog.pre-2-412
-rw-r--r--ChangeLog.pre-2-612
-rw-r--r--ChangeLog.pre-2-812
-rw-r--r--Makefile.am1
-rw-r--r--README.win32125
-rw-r--r--configure.in5
-rw-r--r--glib/Makefile.am2
-rw-r--r--gmodule/Makefile.am2
-rw-r--r--gobject/Makefile.am2
-rw-r--r--gthread/Makefile.am2
-rw-r--r--tests/Makefile.am2
14 files changed, 123 insertions, 90 deletions
diff --git a/ChangeLog b/ChangeLog
index 324b33ead..6e83eac93 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2004-03-06 Tor Lillqvist <tml@iki.fi>
+
+ * README.win32: Update.
+
+ * configure.in
+ * Makefile.am
+ * */Makefile.am: Drop the hand-written makefile.mingw(.in)
+ files. They haven't been maintained in a long time. As several
+ people have managed to build GLib for Win32 using the
+ autoconfiscation mechanism, there is no real reason to even try to
+ maintain the hand-written mingw makefiles.
+
2004-03-05 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* glib/gatomic.c: Fix infinite recursion for
diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10
index 324b33ead..6e83eac93 100644
--- a/ChangeLog.pre-2-10
+++ b/ChangeLog.pre-2-10
@@ -1,3 +1,15 @@
+2004-03-06 Tor Lillqvist <tml@iki.fi>
+
+ * README.win32: Update.
+
+ * configure.in
+ * Makefile.am
+ * */Makefile.am: Drop the hand-written makefile.mingw(.in)
+ files. They haven't been maintained in a long time. As several
+ people have managed to build GLib for Win32 using the
+ autoconfiscation mechanism, there is no real reason to even try to
+ maintain the hand-written mingw makefiles.
+
2004-03-05 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* glib/gatomic.c: Fix infinite recursion for
diff --git a/ChangeLog.pre-2-12 b/ChangeLog.pre-2-12
index 324b33ead..6e83eac93 100644
--- a/ChangeLog.pre-2-12
+++ b/ChangeLog.pre-2-12
@@ -1,3 +1,15 @@
+2004-03-06 Tor Lillqvist <tml@iki.fi>
+
+ * README.win32: Update.
+
+ * configure.in
+ * Makefile.am
+ * */Makefile.am: Drop the hand-written makefile.mingw(.in)
+ files. They haven't been maintained in a long time. As several
+ people have managed to build GLib for Win32 using the
+ autoconfiscation mechanism, there is no real reason to even try to
+ maintain the hand-written mingw makefiles.
+
2004-03-05 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* glib/gatomic.c: Fix infinite recursion for
diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4
index 324b33ead..6e83eac93 100644
--- a/ChangeLog.pre-2-4
+++ b/ChangeLog.pre-2-4
@@ -1,3 +1,15 @@
+2004-03-06 Tor Lillqvist <tml@iki.fi>
+
+ * README.win32: Update.
+
+ * configure.in
+ * Makefile.am
+ * */Makefile.am: Drop the hand-written makefile.mingw(.in)
+ files. They haven't been maintained in a long time. As several
+ people have managed to build GLib for Win32 using the
+ autoconfiscation mechanism, there is no real reason to even try to
+ maintain the hand-written mingw makefiles.
+
2004-03-05 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* glib/gatomic.c: Fix infinite recursion for
diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6
index 324b33ead..6e83eac93 100644
--- a/ChangeLog.pre-2-6
+++ b/ChangeLog.pre-2-6
@@ -1,3 +1,15 @@
+2004-03-06 Tor Lillqvist <tml@iki.fi>
+
+ * README.win32: Update.
+
+ * configure.in
+ * Makefile.am
+ * */Makefile.am: Drop the hand-written makefile.mingw(.in)
+ files. They haven't been maintained in a long time. As several
+ people have managed to build GLib for Win32 using the
+ autoconfiscation mechanism, there is no real reason to even try to
+ maintain the hand-written mingw makefiles.
+
2004-03-05 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* glib/gatomic.c: Fix infinite recursion for
diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8
index 324b33ead..6e83eac93 100644
--- a/ChangeLog.pre-2-8
+++ b/ChangeLog.pre-2-8
@@ -1,3 +1,15 @@
+2004-03-06 Tor Lillqvist <tml@iki.fi>
+
+ * README.win32: Update.
+
+ * configure.in
+ * Makefile.am
+ * */Makefile.am: Drop the hand-written makefile.mingw(.in)
+ files. They haven't been maintained in a long time. As several
+ people have managed to build GLib for Win32 using the
+ autoconfiscation mechanism, there is no real reason to even try to
+ maintain the hand-written mingw makefiles.
+
2004-03-05 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* glib/gatomic.c: Fix infinite recursion for
diff --git a/Makefile.am b/Makefile.am
index f1b204a97..16e0b5dfb 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -21,7 +21,6 @@ EXTRA_DIST = \
INSTALL.in \
README.win32 \
makefile.msc \
- makefile.mingw \
glibconfig.h.win32.in \
msvc_recommended_pragmas.h \
config.h.win32.in \
diff --git a/README.win32 b/README.win32
index d2819927d..562e6e8e7 100644
--- a/README.win32
+++ b/README.win32
@@ -9,9 +9,9 @@ General
For prebuilt binaries (DLLs and EXEs) and developer packages (headers,
import libraries) of GLib, GTK+, GIMP etc for Windows, surf to
-http://www.gimp.org/win32/ . They are for "native" Windows meaning
-they use the Win32 API and Microsoft C runtime library only, no POSIX
-(Unix) emulation layer (like Cygwin).
+http://www.gimp.org/win32/downloads.html . They are for "native"
+Windows meaning they use the Win32 API and Microsoft C runtime library
+only, no POSIX (Unix) emulation layer (like Cygwin).
To build GLib on Win32, you can use either gcc or the Microsoft
compiler and tools. Both the compiler from MSVC 5.0 and from MSVC 6.0
@@ -20,12 +20,15 @@ have been used successfully.
But note that to just *use* GLib on Windows, there is no need to build
it yourself. Prepackaged runtime and developer packages are available
from the webiste above. On Unix, it is quite normal that system admins
-build and install libraries like GLib themselves. But on Windows
-setting up a correct build environment can be quite a task, especially
-if you are used to just type "./configure; make" on Unix, and expect
-things to work as smoothly on Windows.
+build and install libraries like GLib themselves without bothering to
+look for prebuilt packages, especially if prebuilt packages tend to
+use installation paths that don't conform to local customs.
-The following preprocessor macros can be used for conditional
+On Windows setting up a correct build environment can be quite a task,
+especially if you are used to just type "./configure; make" on Unix,
+and expect things to work as smoothly on Windows.
+
+The following preprocessor macros are to be used for conditional
compilation related to Win32 in GLib-using code:
- G_OS_WIN32 is defined when compiling for native Win32, without
@@ -50,7 +53,12 @@ Additionally, there are the compiler-specific macros:
G_OS_WIN32 implies using the Microsoft C runtime MSVCRT.DLL. GLib is
not known to work with the older CRTDLL.DLL runtime, or the static
Microsoft C runtime libraries LIBC.LIB and LIBCMT.LIB. It apparently
-does work with the debugging version of MSVCRT.DLL, MSVCRTD.DLL.
+does work with the debugging version of MSVCRT.DLL,
+MSVCRTD.DLL. Presumably, if compiled with MSVC.NET, it also works with
+MSVCR70.DLL. Please note that it's dubious if you would be allowed by
+the license to distrubute a GLib linked to MSVCR70.DLL, as it is not
+part of the operating system, but of the MSVC product. MSVCRT.DLL is
+part of Windows.
Building software that use GLib or GTK+
=======================================
@@ -62,10 +70,10 @@ gcc, follow the relevant instructions below in that case, too.
Tor uses gcc with the -mms-bitfields flag (used to be called
-fnative-struct in gcc 2.x), which means that in order to use the
prebuilt DLLs (especially of GTK+), if you compile your code with gcc,
-you *must* also use that flag. (This flag means that the struct layout
+you *must* also use that flag. This flag means that the struct layout
rules are identical to those used by MSVC. This is essential if the
same DLLs are to be usable both from gcc- and MSVC-compiled code. This
-definitely is something one wants.)
+definitely is something one wants.
Building GLib
=============
@@ -74,72 +82,29 @@ Again, first decide whether you really want to do this.
Before building GLib you must also have the libiconv library and GNU
gettext. Get prebuilt binaries of libiconv (1.9.1 or newer), and
-gettext-runtime (0.12.1 or newer) from your nearest GNU ftp mirror. If
-you use gcc, you will also have to edit the libintl.h file from
-gettext a tiny bit: Change the
-
-# if __GNUC__ >= 2 && !defined __APPLE_CC__ && (defined __STDC__ || defined __cplusplus)
-
-line to
-
-# if __GNUC__ >= 2 && !defined __APPLE_CC__ && !defined __MINGW32__ && (defined __STDC__ || defined __cplusplus)
-
-around line 102.
-
-Where are the makefiles?
-========================
+gettext-runtime (0.13.1 or newer) from www.gimp.org/win32/downloads.html.
-If you are building from a CVS snapshot, you will not have any
-makefile.mingw or makefile.msc files. You should copy the
-corresponding makefile.mingw.in or makefile.msc.in file to that name,
-and replace any @...@ strings with the correct value.
-
-This is done automatically when an official GLib source distribution
-package is built, so if you get GLib from a source distribution
-package, there should be makefile.mingw and makefile.msc files ready
-to use (after some editing).
-
-Building GLib with gcc
-======================
+Autoconfiscated build (with gcc)
+================================
Tor uses gcc 3.2. Version 2.95.3 also works.
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
-point.
-
-Fetch the latest version of gcc for mingw and the msvcrt runtime, from
-www.mingw.org.
+point. You should be running Cygwin, or maybe cross-compiling from
+real Unix, for the configure script to work, obviously. It is also
+possible to use MSYS.
-Set up your PATH so that the gcc from the bin directory that got
-created above is the one that gets used. Even if you run the mingw
-gcc, you still want to have Cygwin to run make in.
-
-Then run make -f makefile.mingw. Install the resulting DLLs somewhere
-in your PATH. You can either keep the headers and import libraries
-where they are, or install them somewhere else. There are no rules in
-the makefile.mingws for installing, it is up to you where to put them.
-
-Autoconfiscated build
-=====================
-
-It is also possible to use the auto*, ./configure and libtool
-mechanism when building with gcc. You should be running Cygwin, or
-maybe cross-compiling from real Unix, for the configure script to
-work, obviously. It is also possible to use MSYS.
-
-When building from an official source distribution, to be able to
-build DLLs without problems, it might well be necessary to have a
-relatively new version of libtool installed. If so, replace the
-libtool parts included with GLib sources with newer versions by
-running libtoolize --force. After that you want to run aclocal-1.4 and
-autoconf before running configure.
+If you want to use mingw's gcc, install gcc, Win32 headers and
+binutils from www.mingw.org. Set up your PATH so that the mingw gcc is
+the one that gets used, and not Cygwin's gcc. Even if you run the
+mingw gcc, you still want to have Cygwin to run make in.
Tor invokes configure using:
CC='gcc -mcpu=pentium3' CPPFLAGS='-I/target/include'
CFLAGS=-O3 LDFLAGS='-L/target/lib' ./configure --with-libiconv
- --disable-static --prefix=/target --host=i386-pc-mingw32
+ --disable-gtk-doc --prefix=/target --host=i386-pc-mingw32
(on a single line). The /target/include mentioned contains the header
files for libintl and libiconv, and the (import) libraries are in
@@ -156,15 +121,13 @@ with MSVC.
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
MSVC users, as the compilers generate code that uses the same C
-runtime library, and is mutually binary compatible. Thus one either
-has to manually edit glibconfig.h afterwards, or use the supplied
-glibconfig.h.win32. This has been produced by running configure twice,
-once using gcc and once using MSVC, and merging the resulting files
-with diff -D.
-
-The hand-written makefile.{mingw,msc} files, and the stuff in the
-"build" subdirectory, produce DLLs and import libraries that match
-what Makefile.am and libtool produces. For GLib, the DLL is called
+runtime library. The DLL generated by either compiler is binary
+compatible with the other one. Thus one either has to manually edit
+glibconfig.h afterwards, or use the supplied glibconfig.h.win32 which
+has been produced by running configure twice, once using gcc and once
+using MSVC, and merging the resulting files with diff -D.
+
+For GLib, the DLL is called
libglib-2.0-0.dll, and the import libraries libglib-2.0.dll.a and
glib-2.0.lib. Note that the "2.0" is part of the "basename" of the
library, it is not something that libtool has tucked on. The -0 suffix
@@ -189,6 +152,20 @@ and automake.) Tor hasn't tested this in a while, either.
Building with MSVC
==================
+If you are building from a CVS snapshot, you will not have any
+makefile.msc files. You should copy the corresponding makefile.msc.in
+file to that name, and replace any @...@ strings with the correct
+value.
+
+This is done automatically when an official GLib source distribution
+package is built, so if you get GLib from a source distribution
+package, there should be makefile.msc files ready to use (after some
+editing).
+
+The hand-written makefile.msc files, and the stuff in the "build"
+subdirectory, produce DLLs and import libraries that match what the
+so-called autoconfiscated build produces.
+
All the MSVC makefiles are for the command line build with nmake. If
you want to use the VC-UI you can simply create wrapper .dsp makefiles
(read the VC docs how to do so).
diff --git a/configure.in b/configure.in
index 89bc1e8cd..73f29f37a 100644
--- a/configure.in
+++ b/configure.in
@@ -2618,19 +2618,14 @@ if false; then
README
config.h.win32
glibconfig.h.win32
- glib/makefile.mingw
glib/makefile.msc
glib/glib.rc
- gmodule/makefile.mingw
gmodule/makefile.msc
gmodule/gmodule.rc
- gobject/makefile.mingw
gobject/makefile.msc
gobject/gobject.rc
- gthread/makefile.mingw
gthread/makefile.msc
gthread/gthread.rc
- tests/makefile.mingw
tests/makefile.msc
])
fi
diff --git a/glib/Makefile.am b/glib/Makefile.am
index abd8113ee..a8cb5c754 100644
--- a/glib/Makefile.am
+++ b/glib/Makefile.am
@@ -14,7 +14,6 @@ INCLUDES = -I$(top_srcdir) -DG_LOG_DOMAIN=\"GLib\" \
$(GLIB_DEBUG_FLAGS) -DG_DISABLE_DEPRECATED -DGLIB_COMPILATION
EXTRA_DIST = \
- makefile.mingw.in \
makefile.msc.in \
glib.rc.in \
gen-unicode-tables.pl \
@@ -23,7 +22,6 @@ EXTRA_DIST = \
# These may be in the builddir too
BUILT_EXTRA_DIST = \
makefile.msc \
- makefile.mingw \
glib.rc
lib_LTLIBRARIES = libglib-2.0.la
diff --git a/gmodule/Makefile.am b/gmodule/Makefile.am
index 4f7c7b52f..4cf4a906a 100644
--- a/gmodule/Makefile.am
+++ b/gmodule/Makefile.am
@@ -4,7 +4,6 @@ INCLUDES = -I$(top_srcdir) -I$(top_srcdir)/glib -I$(top_srcdir)/gmodule \
-DG_LOG_DOMAIN=\"GModule\" @GLIB_DEBUG_FLAGS@ -DG_DISABLE_DEPRECATED
EXTRA_DIST = \
- makefile.mingw.in \
makefile.msc.in \
gmoduleconf.h.in \
gmodule.def \
@@ -18,7 +17,6 @@ EXTRA_DIST = \
gmodule.rc.in
BUILT_EXTRA_DIST = \
- makefile.mingw \
makefile.msc \
gmodule.rc
diff --git a/gobject/Makefile.am b/gobject/Makefile.am
index 909fc2e3d..dfb49dc72 100644
--- a/gobject/Makefile.am
+++ b/gobject/Makefile.am
@@ -192,7 +192,6 @@ testgobject_LDADD = $(progs_LDADD)
# auxillary files
#
EXTRA_DIST += \
- makefile.mingw.in \
makefile.msc.in \
gobject.def \
gobject.rc.in \
@@ -201,7 +200,6 @@ EXTRA_DIST += \
glib-mkenums.1
BUILT_EXTRA_DIST = \
- makefile.mingw \
makefile.msc \
gobject.rc \
gmarshal.h \
diff --git a/gthread/Makefile.am b/gthread/Makefile.am
index b633a958a..a6d7b6e52 100644
--- a/gthread/Makefile.am
+++ b/gthread/Makefile.am
@@ -5,7 +5,6 @@ INCLUDES = -I$(top_srcdir) -I$(top_srcdir)/glib -I$(top_srcdir)/gthread \
@GLIB_DEBUG_FLAGS@ -DG_DISABLE_DEPRECATED
EXTRA_DIST = \
- makefile.mingw.in \
makefile.msc.in \
gthread-posix.c \
gthread-solaris.c \
@@ -15,7 +14,6 @@ EXTRA_DIST = \
gthread.rc.in
BUILT_EXTRA_DIST = \
- makefile.mingw \
makefile.msc \
gthread.rc
diff --git a/tests/Makefile.am b/tests/Makefile.am
index b9f90ad58..94b29c2fa 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -28,7 +28,6 @@ endif
EXTRA_DIST = \
$(test_scripts) \
makefile.msc.in \
- makefile.mingw.in \
casefold.txt \
casemap.txt \
gen-casefold-txt.pl \
@@ -37,7 +36,6 @@ EXTRA_DIST = \
utf8.txt
BUILT_EXTRA_DIST = \
- makefile.mingw \
makefile.msc
if HAVE_CXX