makefile.mingw.in tests/makefile.mingw.in Rename makefile.cygwin(.in) to
2000-05-13 Tor Lillqvist <tml@iki.fi>
* makefile.mingw.in
* tests/makefile.mingw.in
* build-dll: Rename makefile.cygwin(.in) to
makefile.mingw(.in), which better describes what it is. Move the
build of gmodule, gthread and gobject DLLs to makefiles in those
directories. Move resource file handling and build number bump to
build-dll, where it sits much cleaner.
* README.win32
* Makefile.am (EXTRA_DIST): Update accordingly.
* glib.h: Add G_PI, G_PI_2, G_PI_4, G_E, G_LN2, G_LN10 and
G_SQRT2. M_PI etc aren't necessarily in <math.h> in strict ISO C
implementations.
* glib.def: Add g_strcanon.
* gtree.c (g_tree_node_rotate_left): Remove unused variables.
* gwin32.c (g_win32_opendir): Remove unneeded statement.
gmodule:
* makefile.mingw.in: New file, with gmodule stuff
moved from ../makefile.mingw.in.
* Makefile.am: Add to EXTRA_DIST, and add rule to make makefile.mingw.
gobject:
* makefile.mingw.in
* gobject.def
* gobject.rc.in: New files, for Win32 (mingw) build.
* Makefile.am: Add to EXTRA_DIST. Add rules to produce the
corresponding non-*.in files.
* gtype.h: (Win32:) Mark _g_type_fundamental_last for
export/import from DLL.
gthread:
* makefile.mingw.in: New file, with gthread stuff moved from
../makefile.mingw.in.
* Makefile.am: Add to EXTRA_DIST, add rule to build makefile.mingw.
2000-05-13 21:30:58 +02:00
|
|
|
## Makefile for building the GLib test programs with gcc for mingw.
|
|
|
|
## Use: make -f makefile.mingw check
|
1999-05-06 19:33:15 +02:00
|
|
|
|
2000-05-04 21:51:48 +02:00
|
|
|
TOP = ../..
|
1999-04-24 15:52:51 +02:00
|
|
|
|
2000-07-15 00:46:35 +02:00
|
|
|
include ../build/win32/make.mingw
|
1999-04-24 15:52:51 +02:00
|
|
|
|
2000-10-27 22:43:42 +02:00
|
|
|
# Possibly override GLib version in build\win32\module.defs
|
|
|
|
GLIB_VER = @GLIB_MAJOR_VERSION@.@GLIB_MINOR_VERSION@
|
|
|
|
|
2000-05-04 21:51:48 +02:00
|
|
|
################################################################
|
|
|
|
|
|
|
|
# Nothing much configurable below
|
1999-04-24 15:52:51 +02:00
|
|
|
|
2001-03-29 21:52:45 +02:00
|
|
|
INCLUDES = -I .. -I ../gmodule
|
2000-05-04 21:51:48 +02:00
|
|
|
DEFINES = -DHAVE_CONFIG_H
|
1999-04-24 15:52:51 +02:00
|
|
|
|
2001-03-29 21:52:45 +02:00
|
|
|
BUILD_DLL = ../build-dll
|
|
|
|
|
1999-04-24 15:52:51 +02:00
|
|
|
TESTS = \
|
|
|
|
array-test.exe \
|
|
|
|
date-test.exe \
|
|
|
|
dirname-test.exe\
|
Finally, a new and improved IO Channel and condition watch implementation
2000-07-30 Tor Lillqvist <tml@iki.fi>
Finally, a new and improved IO Channel and condition watch
implementation for Win32. Based on code provided by Craig Setera.
When watching file descriptors, for which there is no select()
like functionality on Win32 that would work on all Win32 platforms
for all types of file descriptors (including anonymous pipes), we
start a new thread that blocks while trying to read from the file
descriptor. When the read returns, a Win32 Event is signalled that
the polling routine eventually notices. Meanwhile, the data being
read is stored in a circular buffer, from where the IO channel's
read() method picks it up.
If the buffer fills up the reading thread has to wait for space
becoming available. For this another Win32 Event is used. The IO
Channel's read() method signals this when it has read some data
out of the buffer.
The separate reader thread(s), and the circular buffer(s) with
associated events mean lots of possibilities for fun parallellism
errors. But it seems to work OK, i.e. GIMP runs.
* gmain.c: Small changes to the Win32 polling function.
(g_main_win32_get_poll_func): New function. Perhaps it would be a
good idea to provide this on all platforms.
* giowin32.c: The bulk of the new implementation.
(g_io_channel_win32_wait_for_condition): New function. To be used
where on Unix one does a select() on the channel's fd, like
libgimp's gimp_extension_process(). Could be provided on all
platforms.
* glib.h: Update documentation for IO Channels on Win32. Remove
the declarations for the as of now obsolete old functions related
to IO Channels for pipes with "wakeup" messages.
* glib.def: Some new functions.
* tests/gio-test.c: New file, to test GIOChannel and main loop.
* tests/Makefile.am
* tests/makefile.mingw.in: Add it.
2000-07-29 22:59:07 +02:00
|
|
|
gio-test.exe \
|
1999-04-24 15:52:51 +02:00
|
|
|
hash-test.exe \
|
|
|
|
list-test.exe \
|
2001-01-06 04:09:46 +01:00
|
|
|
mainloop-test.exe\
|
2000-10-27 22:43:42 +02:00
|
|
|
markup-test.exe \
|
2001-03-29 21:52:45 +02:00
|
|
|
module-test.exe \
|
1999-04-24 15:52:51 +02:00
|
|
|
node-test.exe \
|
|
|
|
queue-test.exe \
|
|
|
|
rand-test.exe \
|
|
|
|
relation-test.exe\
|
Some more debugging output. (g_io_channel_win32_poll): Remove unused vars.
2000-10-16 Tor Lillqvist <tml@iki.fi>
* giowin32.c (reader_thread): Some more debugging output.
(g_io_channel_win32_poll): Remove unused vars.
* gfileutils.c: Changes for Win32, with no unistd.h and no
S_ISLNK().
* gspawn-win32.c: Implementation of the g_spwan_* functions for
Win32. Due to the general non-Unixness of Win32, much of the
functionality that is relatively clean to implement on Unix, is
hard to do on Win32. We must use a separate helper program to
change directory, close extra file descriptors, redirect the std
ones, as needed, and only then start the child process. No child
process pid can be returned, unfortunately. Or if we used
CreateProcess directly, it probably could. (Now we use the spawnv*
functions from msvcrt.)
* glib.def: Add new entry points.
* glib.def
* giowin32.c: Remove g_io_channel_win32_wait_for_condition(),
g_io_channel_win32_poll() subsumes it.
* gbacktrace.h: G_BREAKPOINT for MSVC (on the ix86).
* gwin32.c (g_win32_getlocale): Use "sp" for
LANG_CROATIAN+SUBLANG_SERBIAN_LATIN.
* makefile.{mingw,msc}.in (glib_OBJECTS): Add new files.
Add gspawn-win32-helper.exe rule.
* tests/makefile.{mingw,msc}.in (TESTS): Add shell-test and
spawn-test.
* tests/spawn-test.c: (run_tests): On Win32, don't try to run
/bin/sh, but ipconfig (no special significance in choosing that,
just a program that outputs something to stdout).
2000-10-16 20:54:29 +02:00
|
|
|
shell-test.exe \
|
1999-04-24 15:52:51 +02:00
|
|
|
slist-test.exe \
|
Some more debugging output. (g_io_channel_win32_poll): Remove unused vars.
2000-10-16 Tor Lillqvist <tml@iki.fi>
* giowin32.c (reader_thread): Some more debugging output.
(g_io_channel_win32_poll): Remove unused vars.
* gfileutils.c: Changes for Win32, with no unistd.h and no
S_ISLNK().
* gspawn-win32.c: Implementation of the g_spwan_* functions for
Win32. Due to the general non-Unixness of Win32, much of the
functionality that is relatively clean to implement on Unix, is
hard to do on Win32. We must use a separate helper program to
change directory, close extra file descriptors, redirect the std
ones, as needed, and only then start the child process. No child
process pid can be returned, unfortunately. Or if we used
CreateProcess directly, it probably could. (Now we use the spawnv*
functions from msvcrt.)
* glib.def: Add new entry points.
* glib.def
* giowin32.c: Remove g_io_channel_win32_wait_for_condition(),
g_io_channel_win32_poll() subsumes it.
* gbacktrace.h: G_BREAKPOINT for MSVC (on the ix86).
* gwin32.c (g_win32_getlocale): Use "sp" for
LANG_CROATIAN+SUBLANG_SERBIAN_LATIN.
* makefile.{mingw,msc}.in (glib_OBJECTS): Add new files.
Add gspawn-win32-helper.exe rule.
* tests/makefile.{mingw,msc}.in (TESTS): Add shell-test and
spawn-test.
* tests/spawn-test.c: (run_tests): On Win32, don't try to run
/bin/sh, but ipconfig (no special significance in choosing that,
just a program that outputs something to stdout).
2000-10-16 20:54:29 +02:00
|
|
|
spawn-test.exe \
|
1999-04-24 15:52:51 +02:00
|
|
|
strfunc-test.exe\
|
1999-07-31 23:45:21 +02:00
|
|
|
string-test.exe \
|
1999-06-21 00:20:43 +02:00
|
|
|
thread-test.exe \
|
2000-05-01 23:13:02 +02:00
|
|
|
threadpool-test.exe\
|
1999-04-24 15:52:51 +02:00
|
|
|
tree-test.exe \
|
2001-01-06 04:09:46 +01:00
|
|
|
type-test.exe \
|
2001-03-29 21:52:45 +02:00
|
|
|
unicode-encoding.exe \
|
|
|
|
libmoduletestplugin_a.dll \
|
|
|
|
libmoduletestplugin_b.dll
|
1999-04-24 15:52:51 +02:00
|
|
|
|
2000-05-04 21:51:48 +02:00
|
|
|
all: $(TESTS)
|
1999-04-24 15:52:51 +02:00
|
|
|
|
2001-01-25 23:08:11 +01:00
|
|
|
ifeq ($(wildcard makefile.mingw.in),makefile.mingw.in)
|
makefile.mingw.in tests/makefile.mingw.in Rename makefile.cygwin(.in) to
2000-05-13 Tor Lillqvist <tml@iki.fi>
* makefile.mingw.in
* tests/makefile.mingw.in
* build-dll: Rename makefile.cygwin(.in) to
makefile.mingw(.in), which better describes what it is. Move the
build of gmodule, gthread and gobject DLLs to makefiles in those
directories. Move resource file handling and build number bump to
build-dll, where it sits much cleaner.
* README.win32
* Makefile.am (EXTRA_DIST): Update accordingly.
* glib.h: Add G_PI, G_PI_2, G_PI_4, G_E, G_LN2, G_LN10 and
G_SQRT2. M_PI etc aren't necessarily in <math.h> in strict ISO C
implementations.
* glib.def: Add g_strcanon.
* gtree.c (g_tree_node_rotate_left): Remove unused variables.
* gwin32.c (g_win32_opendir): Remove unneeded statement.
gmodule:
* makefile.mingw.in: New file, with gmodule stuff
moved from ../makefile.mingw.in.
* Makefile.am: Add to EXTRA_DIST, and add rule to make makefile.mingw.
gobject:
* makefile.mingw.in
* gobject.def
* gobject.rc.in: New files, for Win32 (mingw) build.
* Makefile.am: Add to EXTRA_DIST. Add rules to produce the
corresponding non-*.in files.
* gtype.h: (Win32:) Mark _g_type_fundamental_last for
export/import from DLL.
gthread:
* makefile.mingw.in: New file, with gthread stuff moved from
../makefile.mingw.in.
* Makefile.am: Add to EXTRA_DIST, add rule to build makefile.mingw.
2000-05-13 21:30:58 +02:00
|
|
|
makefile.mingw: makefile.mingw.in
|
|
|
|
sed -e 's,@GLIB[_]MAJOR_VERSION@,@GLIB_MAJOR_VERSION@,' \
|
|
|
|
-e 's,@GLIB[_]MINOR_VERSION@,@GLIB_MINOR_VERSION@,' <$< >$@
|
2001-01-25 23:08:11 +01:00
|
|
|
endif
|
makefile.mingw.in tests/makefile.mingw.in Rename makefile.cygwin(.in) to
2000-05-13 Tor Lillqvist <tml@iki.fi>
* makefile.mingw.in
* tests/makefile.mingw.in
* build-dll: Rename makefile.cygwin(.in) to
makefile.mingw(.in), which better describes what it is. Move the
build of gmodule, gthread and gobject DLLs to makefiles in those
directories. Move resource file handling and build number bump to
build-dll, where it sits much cleaner.
* README.win32
* Makefile.am (EXTRA_DIST): Update accordingly.
* glib.h: Add G_PI, G_PI_2, G_PI_4, G_E, G_LN2, G_LN10 and
G_SQRT2. M_PI etc aren't necessarily in <math.h> in strict ISO C
implementations.
* glib.def: Add g_strcanon.
* gtree.c (g_tree_node_rotate_left): Remove unused variables.
* gwin32.c (g_win32_opendir): Remove unneeded statement.
gmodule:
* makefile.mingw.in: New file, with gmodule stuff
moved from ../makefile.mingw.in.
* Makefile.am: Add to EXTRA_DIST, and add rule to make makefile.mingw.
gobject:
* makefile.mingw.in
* gobject.def
* gobject.rc.in: New files, for Win32 (mingw) build.
* Makefile.am: Add to EXTRA_DIST. Add rules to produce the
corresponding non-*.in files.
* gtype.h: (Win32:) Mark _g_type_fundamental_last for
export/import from DLL.
gthread:
* makefile.mingw.in: New file, with gthread stuff moved from
../makefile.mingw.in.
* Makefile.am: Add to EXTRA_DIST, add rule to build makefile.mingw.
2000-05-13 21:30:58 +02:00
|
|
|
|
2001-03-29 21:52:45 +02:00
|
|
|
.SUFFIXES: .c .i .exe
|
1999-04-24 15:52:51 +02:00
|
|
|
|
2000-05-04 21:51:48 +02:00
|
|
|
.c.exe:
|
2001-03-29 21:52:45 +02:00
|
|
|
$(CC) $(CFLAGS) -o $@ $< -L ../gthread -lgthread-$(GLIB_VER) -L .. -lglib-$(GLIB_VER)
|
1999-04-24 15:52:51 +02:00
|
|
|
|
2001-03-29 21:52:45 +02:00
|
|
|
module-test.exe : module-test.o
|
|
|
|
$(CC) $(CFLAGS) -Wl,--base-file,module-test.base -o module-test.exe module-test.o -L .. -lglib-$(GLIB_VER) -L ../gmodule -lgmodule-$(GLIB_VER) $(LDFLAGS)
|
2001-03-18 20:54:01 +01:00
|
|
|
$(DLLTOOL) --base-file module-test.base --output-exp module-test.exp module-test.o
|
2001-03-29 21:52:45 +02:00
|
|
|
$(CC) $(CFLAGS) -Wl,--base-file,module-test.base,module-test.exp -o module-test.exe module-test.o -L .. -lglib-$(GLIB_VER) -L ../gmodule -lgmodule-$(GLIB_VER) $(LDFLAGS)
|
2001-03-18 20:54:01 +01:00
|
|
|
$(DLLTOOL) --base-file module-test.base --output-exp module-test.exp module-test.o
|
2001-03-29 21:52:45 +02:00
|
|
|
$(CC) $(CFLAGS) -Wl,module-test.exp -o module-test.exe module-test.o -L .. -lglib-$(GLIB_VER) -L ../gmodule -lgmodule-$(GLIB_VER) $(LDFLAGS)
|
|
|
|
|
|
|
|
libmoduletestplugin_a.dll : libmoduletestplugin_a.o
|
|
|
|
$(BUILD_DLL) libmoduletestplugin_a - - libmoduletestplugin_a.o -L .. -lglib-$(GLIB_VER) -L ../gmodule -lgmodule-$(GLIB_VER)
|
|
|
|
|
|
|
|
libmoduletestplugin_b.dll : libmoduletestplugin_b.o
|
|
|
|
$(BUILD_DLL) libmoduletestplugin_b - - libmoduletestplugin_b.o -L .. -lglib-$(GLIB_VER) -L ../gmodule -lgmodule-$(GLIB_VER)
|
2001-03-18 20:54:01 +01:00
|
|
|
|
1999-04-24 15:52:51 +02:00
|
|
|
check: all
|
|
|
|
@for P in $(TESTS) ; do echo $$P; ./$$P; done
|
makefile.mingw.in tests/makefile.mingw.in Rename makefile.cygwin(.in) to
2000-05-13 Tor Lillqvist <tml@iki.fi>
* makefile.mingw.in
* tests/makefile.mingw.in
* build-dll: Rename makefile.cygwin(.in) to
makefile.mingw(.in), which better describes what it is. Move the
build of gmodule, gthread and gobject DLLs to makefiles in those
directories. Move resource file handling and build number bump to
build-dll, where it sits much cleaner.
* README.win32
* Makefile.am (EXTRA_DIST): Update accordingly.
* glib.h: Add G_PI, G_PI_2, G_PI_4, G_E, G_LN2, G_LN10 and
G_SQRT2. M_PI etc aren't necessarily in <math.h> in strict ISO C
implementations.
* glib.def: Add g_strcanon.
* gtree.c (g_tree_node_rotate_left): Remove unused variables.
* gwin32.c (g_win32_opendir): Remove unneeded statement.
gmodule:
* makefile.mingw.in: New file, with gmodule stuff
moved from ../makefile.mingw.in.
* Makefile.am: Add to EXTRA_DIST, and add rule to make makefile.mingw.
gobject:
* makefile.mingw.in
* gobject.def
* gobject.rc.in: New files, for Win32 (mingw) build.
* Makefile.am: Add to EXTRA_DIST. Add rules to produce the
corresponding non-*.in files.
* gtype.h: (Win32:) Mark _g_type_fundamental_last for
export/import from DLL.
gthread:
* makefile.mingw.in: New file, with gthread stuff moved from
../makefile.mingw.in.
* Makefile.am: Add to EXTRA_DIST, add rule to build makefile.mingw.
2000-05-13 21:30:58 +02:00
|
|
|
@echo All tests successful.
|