More editing. Use gcc, not ld to link. On native Win32 use _unlink(). Use

* README.win32: More editing.
	* build-dll: Use gcc, not ld to link.
	* glib.h: On native Win32 use _unlink().
	* gscanner.c: Use corrent NATIVE_WIN32 feature test macro,
	not _MSC_VER.
	* gstring.c: Include <io.h> on Win32 for _read prototype.
	* gutils.c: Remove old IO channel code (was in #if 0).
	* makefile.cygwin: Don't need to link with kernel32 and msvcrt
	explicitly, they are included anyway.
This commit is contained in:
Tor Lillqvist 1999-04-25 20:52:42 +00:00
parent 2aa1277d60
commit d6c6eb3d92
19 changed files with 174 additions and 171 deletions

View File

@ -1,3 +1,15 @@
1999-04-25 Tor Lillqvist <tml@iki.fi>
* README.win32: More editing.
* build-dll: Use gcc, not ld to link.
* glib.h: On native Win32 use _unlink().
* gscanner.c: Use corrent NATIVE_WIN32 feature test macro,
not _MSC_VER.
* gstring.c: Include <io.h> on Win32 for _read prototype.
* gutils.c: Remove old IO channel code (was in #if 0).
* makefile.cygwin: Don't need to link with kernel32 and msvcrt
explicitly, they are included anyway.
1999-04-24 Tor Lillqvist <tml@iki.fi>
Support added for building using a GNU toolchain on Win32,

View File

@ -1,3 +1,15 @@
1999-04-25 Tor Lillqvist <tml@iki.fi>
* README.win32: More editing.
* build-dll: Use gcc, not ld to link.
* glib.h: On native Win32 use _unlink().
* gscanner.c: Use corrent NATIVE_WIN32 feature test macro,
not _MSC_VER.
* gstring.c: Include <io.h> on Win32 for _read prototype.
* gutils.c: Remove old IO channel code (was in #if 0).
* makefile.cygwin: Don't need to link with kernel32 and msvcrt
explicitly, they are included anyway.
1999-04-24 Tor Lillqvist <tml@iki.fi>
Support added for building using a GNU toolchain on Win32,

View File

@ -1,3 +1,15 @@
1999-04-25 Tor Lillqvist <tml@iki.fi>
* README.win32: More editing.
* build-dll: Use gcc, not ld to link.
* glib.h: On native Win32 use _unlink().
* gscanner.c: Use corrent NATIVE_WIN32 feature test macro,
not _MSC_VER.
* gstring.c: Include <io.h> on Win32 for _read prototype.
* gutils.c: Remove old IO channel code (was in #if 0).
* makefile.cygwin: Don't need to link with kernel32 and msvcrt
explicitly, they are included anyway.
1999-04-24 Tor Lillqvist <tml@iki.fi>
Support added for building using a GNU toolchain on Win32,

View File

@ -1,3 +1,15 @@
1999-04-25 Tor Lillqvist <tml@iki.fi>
* README.win32: More editing.
* build-dll: Use gcc, not ld to link.
* glib.h: On native Win32 use _unlink().
* gscanner.c: Use corrent NATIVE_WIN32 feature test macro,
not _MSC_VER.
* gstring.c: Include <io.h> on Win32 for _read prototype.
* gutils.c: Remove old IO channel code (was in #if 0).
* makefile.cygwin: Don't need to link with kernel32 and msvcrt
explicitly, they are included anyway.
1999-04-24 Tor Lillqvist <tml@iki.fi>
Support added for building using a GNU toolchain on Win32,

View File

@ -1,3 +1,15 @@
1999-04-25 Tor Lillqvist <tml@iki.fi>
* README.win32: More editing.
* build-dll: Use gcc, not ld to link.
* glib.h: On native Win32 use _unlink().
* gscanner.c: Use corrent NATIVE_WIN32 feature test macro,
not _MSC_VER.
* gstring.c: Include <io.h> on Win32 for _read prototype.
* gutils.c: Remove old IO channel code (was in #if 0).
* makefile.cygwin: Don't need to link with kernel32 and msvcrt
explicitly, they are included anyway.
1999-04-24 Tor Lillqvist <tml@iki.fi>
Support added for building using a GNU toolchain on Win32,

View File

@ -1,3 +1,15 @@
1999-04-25 Tor Lillqvist <tml@iki.fi>
* README.win32: More editing.
* build-dll: Use gcc, not ld to link.
* glib.h: On native Win32 use _unlink().
* gscanner.c: Use corrent NATIVE_WIN32 feature test macro,
not _MSC_VER.
* gstring.c: Include <io.h> on Win32 for _read prototype.
* gutils.c: Remove old IO channel code (was in #if 0).
* makefile.cygwin: Don't need to link with kernel32 and msvcrt
explicitly, they are included anyway.
1999-04-24 Tor Lillqvist <tml@iki.fi>
Support added for building using a GNU toolchain on Win32,

View File

@ -1,3 +1,15 @@
1999-04-25 Tor Lillqvist <tml@iki.fi>
* README.win32: More editing.
* build-dll: Use gcc, not ld to link.
* glib.h: On native Win32 use _unlink().
* gscanner.c: Use corrent NATIVE_WIN32 feature test macro,
not _MSC_VER.
* gstring.c: Include <io.h> on Win32 for _read prototype.
* gutils.c: Remove old IO channel code (was in #if 0).
* makefile.cygwin: Don't need to link with kernel32 and msvcrt
explicitly, they are included anyway.
1999-04-24 Tor Lillqvist <tml@iki.fi>
Support added for building using a GNU toolchain on Win32,

View File

@ -1,3 +1,15 @@
1999-04-25 Tor Lillqvist <tml@iki.fi>
* README.win32: More editing.
* build-dll: Use gcc, not ld to link.
* glib.h: On native Win32 use _unlink().
* gscanner.c: Use corrent NATIVE_WIN32 feature test macro,
not _MSC_VER.
* gstring.c: Include <io.h> on Win32 for _read prototype.
* gutils.c: Remove old IO channel code (was in #if 0).
* makefile.cygwin: Don't need to link with kernel32 and msvcrt
explicitly, they are included anyway.
1999-04-24 Tor Lillqvist <tml@iki.fi>
Support added for building using a GNU toolchain on Win32,

View File

@ -6,31 +6,56 @@ by the Microsoft runtime C library. Additionally, a pthreads emulation
library is used.
To build GLib on Win32, you can use either the Microsoft compiler and
tools, or egcs-1.1.2 running under cygwin-b20.1. Both the compiler
from MSVC 5.0 and from MSVC 6.0 have been used successfully. If you
build with egcs, note that the produced executables and DLLs do *not*
require the cygwin dll ("mingw32"). That's the whole point of this
porting effort, more or less.
tools, or gcc. Both the compiler from MSVC 5.0 and from MSVC 6.0 have
been used successfully. With gcc I mean egcs-1.1.2 (as distributed by
Mumit Khan), running under cygwin-b20.1.
The egcs support was added quite recently, but seems to work in all
respects. Debugging with gdk works.
If you build with gcc, note that the produced executables and DLLs do
*not* require the cygwin dll (gcc -mno-cygwin). That's the whole point
of this porting effort, more or less.
Before building you must get the pthreads library for Windows from
The egcs support was added quite recently, but seems to
work. Debugging with gdb works. I prefer to use the msvcrt runtime and
not the default crtdll. This can be achieved by applying the following
diff to the specs file, which typically is installed as
C:/cygnus/cygwin-b20/H-i586-cygwin32/lib/gcc-lib/i586-cygwin32/egcs-2.91.66/specs.
Sorry for the illegibility of this diff, but the specs file is like
that... This diff replaces -lcrtdll with -lmsvcrt, replaces crt1 with
crt2, and defines __MSVCRT__.
--- specs.ORIG Sun Apr 25 00:40:40 1999
+++ specs Sun Apr 25 00:48:04 1999
@@ -23 +23 @@
-%{pg:-lgmon} %{!mno-cygwin:-lcygwin} %{mno-cygwin:-lmingw32 -lmoldname -lcrtdll} %{mwindows:-luser32 -lgdi32 -lcomdlg32} -lkernel32 -ladvapi32 -lshell32
+%{pg:-lgmon} %{!mno-cygwin:-lcygwin} %{mno-cygwin:-lmingw32 -lmoldname -lmsvcrt} %{mwindows:-luser32 -lgdi32 -lcomdlg32} -lkernel32 -ladvapi32 -lshell32
@@ -29 +29 @@
-%{mdll: %{!mno-cygwin:dllcrt0%O%s} %{mno-cygwin:dllcrt1%O%s}} %{!mdll: %{!mno-cygwin:crt0%O%s} %{mno-cygwin:crt1%O%s} %{pg:gcrt0%O%s}}
+%{mdll: %{!mno-cygwin:dllcrt0%O%s} %{mno-cygwin:dllcrt2%O%s}} %{!mdll: %{!mno-cygwin:crt0%O%s} %{mno-cygwin:crt2%O%s} %{pg:gcrt0%O%s}}
@@ -38 +38 @@
--Di386 -D_WIN32 -DWINNT -D_X86_=1 -D__STDC__=1 -D__stdcall=__attribute__((__stdcall__)) -D__cdecl=__attribute__((__cdecl__)) -D__declspec(x)=__attribute__((x)) -Asystem(winnt) -Acpu(i386) -Amachine(i386)
+-Di386 -D_WIN32 %{mno-cygwin:-D__MSVCRT__ } -DWINNT -D_X86_=1 -D__STDC__=1 -D__stdcall=__attribute__((__stdcall__)) -D__cdecl=__attribute__((__cdecl__)) -D__declspec(x)=__attribute__((x)) -Asystem(winnt) -Acpu(i386) -Amachine(i386)
Note: If you build with gcc, you should also fix the definition of
_dev_t in the header mingw32/sys/types.h to correspond to what it
actually is used by msvcrt.dll. It should be unsigned int, not
short. Otherwise stat() calls will fail.
Before building you must get the pthreads library for Win32 from
http://sourceware.cygnus.com/pthreads-win32/. The pthreads-win32
snapshot from 1999-04-07 is the one that should be used. Edit the
location of the pthreads library and include files in
makefile.msc.
location of the pthreads library and include files in makefile.msc.
If using the Microsoft toolchain, build with `nmake -f
makefile.msc`. Install with `nmake -f makefile.msc install`.
If using egcs, build using `make -f makefile.cygwin`.
makefile.msc`. Install with `nmake -f makefile.msc install`. If using
egcs, build using `make -f makefile.cygwin`.
To test the GLib functions, go to the tests subdirectory and enter
`nmake -f makefile.msc check`.
If you would want to use the cygwin tools to generate executables that
*do* usethe cygwin runtime the normal Unix configuration method should
work as if on Unix (knock on wood).
*do* use the cygwin runtime, the normal Unix configuration method
should work as if on Unix (knock on wood).
With a little work, it might be possible to use the ./configure
mechanism also with a "mingw32" configuration.

View File

@ -1,8 +1,10 @@
#!/bin/sh
# Temporary hack until building dlls with gcc -mno-cygwin is easier
# Temporary hack until building dlls or executables with exported
# entry points is easier with gcc -mno-cygwin.
LD=ld
#LD=ld
GCC=gcc
DLLTOOL=dlltool
AS=as
@ -24,10 +26,11 @@ for F in $ldargs; do
esac
done
$LD -s --base-file $library.base --dll -o $dllfile $ldargs -e _DllMain@12 -lmingw32
$DLLTOOL --as=$AS --dllname $dllfile $defswitch --base-file $library.base --output-exp $library.exp $objs
$LD -s --base-file $library.base $library.exp --dll -o $dllfile $ldargs -e _DllMain@12 -lmingw32
$DLLTOOL --as=$AS --dllname $dllfile $defswitch --base-file $library.base --output-exp $library.exp $objs
$LD $library.exp --dll -o $dllfile $ldargs -e _DllMain@12 -lmingw32
$GCC -s -mdll -mno-cygwin -Wl,--base-file,$library.base -o $dllfile $ldargs
$DLLTOOL --as=$AS --dllname $dllfile $defswitch --base-file $library.base --output-exp $library.exp $objs &&
$GCC -s -mdll -mno-cygwin -Wl,--base-file,$library.base,$library.exp -o $dllfile $ldargs
$DLLTOOL --as=$AS --dllname $dllfile $defswitch --base-file $library.base --output-exp $library.exp $objs &&
$GCC -mdll -mno-cygwin -Wl,$library.exp -o $dllfile $ldargs
$DLLTOOL --as=$AS --dllname $dllfile $defswitch --output-lib lib$libname.a $objs
rm $library.base $library.exp
rm $library.base $library.exp 2>/dev/null

1
glib.h
View File

@ -2773,6 +2773,7 @@ typedef int pid_t;
#ifdef __GNUC__
# define stat _stat
#endif
# define unlink _unlink
# define open _open
# define read _read
# define write _write

View File

@ -2773,6 +2773,7 @@ typedef int pid_t;
#ifdef __GNUC__
# define stat _stat
#endif
# define unlink _unlink
# define open _open
# define read _read
# define write _write

View File

@ -48,7 +48,7 @@
#include <errno.h>
#include <sys/types.h> /* needed for sys/stat.h */
#include <sys/stat.h>
#ifdef _MSC_VER
#ifdef NATIVE_WIN32
#include <io.h> /* For _read() */
#endif

View File

@ -43,6 +43,10 @@
#include <ctype.h>
#include "glib.h"
#ifdef NATIVE_WIN32
#include <io.h> /* For _read */
#endif
#define G_STRING_BLOCK_SIZE 512
typedef struct _GRealStringChunk GRealStringChunk;

View File

@ -662,69 +662,6 @@ g_int_hash (gconstpointer v)
return *(const gint*) v;
}
#if 0 /* Old IO Channels */
GIOChannel*
g_iochannel_new (gint fd)
{
GIOChannel *channel = g_new (GIOChannel, 1);
channel->fd = fd;
#ifdef NATIVE_WIN32
channel->peer = 0;
channel->peer_fd = 0;
channel->offset = 0;
channel->need_wakeups = 0;
#endif /* NATIVE_WIN32 */
return channel;
}
void
g_iochannel_free (GIOChannel *channel)
{
g_return_if_fail (channel != NULL);
g_free (channel);
}
void
g_iochannel_close_and_free (GIOChannel *channel)
{
g_return_if_fail (channel != NULL);
close (channel->fd);
g_iochannel_free (channel);
}
#undef g_iochannel_wakeup_peer
void
g_iochannel_wakeup_peer (GIOChannel *channel)
{
#ifdef NATIVE_WIN32
static guint message = 0;
#endif
g_return_if_fail (channel != NULL);
#ifdef NATIVE_WIN32
if (message == 0)
message = RegisterWindowMessage ("gdk-pipe-readable");
# if 0
g_print ("g_iochannel_wakeup_peer: calling PostThreadMessage (%#x, %d, %d, %d)\n",
channel->peer, message, channel->peer_fd, channel->offset);
# endif
PostThreadMessage (channel->peer, message,
channel->peer_fd, channel->offset);
#endif /* NATIVE_WIN32 */
}
#endif /* Old IO Channels */
#ifdef NATIVE_WIN32
int

View File

@ -48,7 +48,7 @@
#include <errno.h>
#include <sys/types.h> /* needed for sys/stat.h */
#include <sys/stat.h>
#ifdef _MSC_VER
#ifdef NATIVE_WIN32
#include <io.h> /* For _read() */
#endif

View File

@ -43,6 +43,10 @@
#include <ctype.h>
#include "glib.h"
#ifdef NATIVE_WIN32
#include <io.h> /* For _read */
#endif
#define G_STRING_BLOCK_SIZE 512
typedef struct _GRealStringChunk GRealStringChunk;

View File

@ -662,69 +662,6 @@ g_int_hash (gconstpointer v)
return *(const gint*) v;
}
#if 0 /* Old IO Channels */
GIOChannel*
g_iochannel_new (gint fd)
{
GIOChannel *channel = g_new (GIOChannel, 1);
channel->fd = fd;
#ifdef NATIVE_WIN32
channel->peer = 0;
channel->peer_fd = 0;
channel->offset = 0;
channel->need_wakeups = 0;
#endif /* NATIVE_WIN32 */
return channel;
}
void
g_iochannel_free (GIOChannel *channel)
{
g_return_if_fail (channel != NULL);
g_free (channel);
}
void
g_iochannel_close_and_free (GIOChannel *channel)
{
g_return_if_fail (channel != NULL);
close (channel->fd);
g_iochannel_free (channel);
}
#undef g_iochannel_wakeup_peer
void
g_iochannel_wakeup_peer (GIOChannel *channel)
{
#ifdef NATIVE_WIN32
static guint message = 0;
#endif
g_return_if_fail (channel != NULL);
#ifdef NATIVE_WIN32
if (message == 0)
message = RegisterWindowMessage ("gdk-pipe-readable");
# if 0
g_print ("g_iochannel_wakeup_peer: calling PostThreadMessage (%#x, %d, %d, %d)\n",
channel->peer, message, channel->peer_fd, channel->offset);
# endif
PostThreadMessage (channel->peer, message,
channel->peer_fd, channel->offset);
#endif /* NATIVE_WIN32 */
}
#endif /* Old IO Channels */
#ifdef NATIVE_WIN32
int

View File

@ -12,6 +12,8 @@ PTHREADS = ../pthreads-snap-1999-04-07
PTHREAD_LIB = -L$(PTHREADS) -lpthread
PTHREAD_INC = -I $(PTHREADS)
OPTIMIZE = -g -O
################################################################
# Nothing much configurable below
@ -25,7 +27,7 @@ INSTALL = install
GLIB_VER = 1.3
CFLAGS = -g -O2 -I. -DHAVE_CONFIG_H
CFLAGS = $(OPTIMIZE) -I. -DHAVE_CONFIG_H
all : \
glibconfig.h \
@ -76,7 +78,7 @@ glib_OBJECTS = \
gutils.o
glib-$(GLIB_VER).dll : $(glib_OBJECTS) glib.def
./build-dll glib $(GLIB_VER) glib.def $(glib_OBJECTS) -lmsvcrt -lkernel32 -luser32 -ladvapi32 -lwsock32
./build-dll glib $(GLIB_VER) glib.def $(glib_OBJECTS) -luser32 -lwsock32
glibconfig.h: glibconfig.h.win32
$(CP) glibconfig.h.win32 glibconfig.h
@ -91,7 +93,7 @@ gmodule_OBJECTS = \
gmodule.o
gmodule-$(GLIB_VER).dll : $(gmodule_OBJECTS) gmodule/gmodule.def
./build-dll gmodule $(GLIB_VER) gmodule/gmodule.def $(gmodule_OBJECTS) -L. -lglib-$(GLIB_VER) -lmsvcrt -lkernel32 -luser32 -ladvapi32 -lwsock32
./build-dll gmodule $(GLIB_VER) gmodule/gmodule.def $(gmodule_OBJECTS) -L. -lglib-$(GLIB_VER) -lwsock32
gmodule.o : gmodule/gmodule.c gmodule/gmodule-win32.c
$(CC) $(CFLAGS) -Igmodule -c -DG_LOG_DOMAIN=g_log_domain_gmodule gmodule/gmodule.c
@ -103,25 +105,25 @@ gthread_OBJECTS = \
gthread.o
gthread-$(GLIB_VER).dll : $(gthread_OBJECTS) glib-$(GLIB_VER).dll gthread/gthread.def
./build-dll gthread $(GLIB_VER) gthread/gthread.def $(gthread_OBJECTS) -L. -lglib-$(GLIB_VER) $(PTHREAD_LIB) -lmsvcrt -lkernel32 -luser32 -ladvapi32 -lwsock32
./build-dll gthread $(GLIB_VER) gthread/gthread.def $(gthread_OBJECTS) -L. -lglib-$(GLIB_VER) $(PTHREAD_LIB) -lwsock32
gthread.o : gthread/gthread.c gthread/gthread-posix.c
$(CC) $(CFLAGS) $(PTHREAD_INC) -DG_LOG_DOMAIN=\"GThread\" -c gthread/gthread.c
testglib.exe : glib-$(GLIB_VER).dll testglib.o
$(CC) $(CFLAGS) -o testglib testglib.o -L. -lglib-$(GLIB_VER) -lmsvcrt $(LDFLAGS)
$(CC) $(CFLAGS) -o testglib testglib.o -L. -lglib-$(GLIB_VER) $(LDFLAGS)
testglib.o : testglib.c
$(CC) -c $(CFLAGS) testglib.c
testgdate.exe : glib-$(GLIB_VER).dll testgdate.o
$(CC) $(CFLAGS) -o testgdate.exe testgdate.o -L. -lglib-$(GLIB_VER) -lmsvcrt $(LDFLAGS)
$(CC) $(CFLAGS) -o testgdate.exe testgdate.o -L. -lglib-$(GLIB_VER) $(LDFLAGS)
testgdate.o : testgdate.c
$(CC) -c $(CFLAGS) testgdate.c
testgdateparser.exe : glib-$(GLIB_VER).dll testgdateparser.o
$(CC) $(CFLAGS) -o testgdateparser.exe testgdateparser.o -L. -lglib-$(GLIB_VER) -lmsvcrt $(LDFLAGS)
$(CC) $(CFLAGS) -o testgdateparser.exe testgdateparser.o -L. -lglib-$(GLIB_VER) $(LDFLAGS)
testgdateparser.o : testgdateparser.c
$(CC) -c $(CFLAGS) testgdateparser.c
@ -130,23 +132,23 @@ testgmodule.exe : glib-$(GLIB_VER).dll gmodule-$(GLIB_VER).dll testgmodule.o lib
# Wow, do we really have to do it like this to get some symbols
# exported from a .exe? Apparently yes. Does the __declspec(dllexport)
# actually do anything in egcs-1.1.2?
$(CC) $(CFLAGS) -Wl,--base-file,testgmodule.base -o testgmodule.exe testgmodule.o -L. -lglib-$(GLIB_VER) -lgmodule-$(GLIB_VER) -lmsvcrt $(LDFLAGS)
$(CC) $(CFLAGS) -Wl,--base-file,testgmodule.base -o testgmodule.exe testgmodule.o -L. -lglib-$(GLIB_VER) -lgmodule-$(GLIB_VER) $(LDFLAGS)
$(DLLTOOL) --base-file testgmodule.base --output-exp testgmodule.exp testgmodule.o
$(CC) $(CFLAGS) -Wl,--base-file,testgmodule.base,testgmodule.exp -o testgmodule.exe testgmodule.o -L. -lglib-$(GLIB_VER) -lgmodule-$(GLIB_VER) -lmsvcrt $(LDFLAGS)
$(CC) $(CFLAGS) -Wl,--base-file,testgmodule.base,testgmodule.exp -o testgmodule.exe testgmodule.o -L. -lglib-$(GLIB_VER) -lgmodule-$(GLIB_VER) $(LDFLAGS)
$(DLLTOOL) --base-file testgmodule.base --output-exp testgmodule.exp testgmodule.o
$(CC) $(CFLAGS) -Wl,testgmodule.exp -o testgmodule.exe testgmodule.o -L. -lglib-$(GLIB_VER) -lgmodule-$(GLIB_VER) -lmsvcrt $(LDFLAGS)
$(CC) $(CFLAGS) -Wl,testgmodule.exp -o testgmodule.exe testgmodule.o -L. -lglib-$(GLIB_VER) -lgmodule-$(GLIB_VER) $(LDFLAGS)
testgmodule.o : gmodule/testgmodule.c
$(CC) $(CFLAGS) -Igmodule -c gmodule/testgmodule.c
libgplugin_a.dll : libgplugin_a.o
./build-dll libgplugin_a - - libgplugin_a.o -L. -lglib-$(GLIB_VER) -lgmodule-$(GLIB_VER) -lmsvcrt
./build-dll libgplugin_a - - libgplugin_a.o -L. -lglib-$(GLIB_VER) -lgmodule-$(GLIB_VER)
libgplugin_a.o : gmodule/libgplugin_a.c
$(CC) $(CFLAGS) -Igmodule -c gmodule/libgplugin_a.c
libgplugin_b.dll : libgplugin_b.o
./build-dll libgplugin_b - - libgplugin_b.o -L. -lglib-$(GLIB_VER) -lgmodule-$(GLIB_VER) -lmsvcrt
./build-dll libgplugin_b - - libgplugin_b.o -L. -lglib-$(GLIB_VER) -lgmodule-$(GLIB_VER)
libgplugin_b.o : gmodule/libgplugin_b.c
$(CC) $(CFLAGS) -Igmodule -c gmodule/libgplugin_b.c
@ -158,12 +160,5 @@ testgthread.o : gthread/testgthread.c
$(CC) $(CFLAGS) $(PTHREAD_INC) -c gthread/testgthread.c
clean:
-rm config.h
-rm glibconfig.h
-rm gmodule/gmoduleconf.h
-rm *.exe
-rm *.o
-rm *.dll
-rm *.a
-rm *.base
-rm *.exp
-rm config.h glibconfig.h gmodule/gmoduleconf.h
-rm *.exe *.o *.dll *.a *.base *.exp