mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-04-21 22:59:16 +02:00
Support added for building using a GNU toolchain on Win32,
i.e. gcc -mno-cygwin on cygwin (a.k.a. mingw32, using egcs-1.1.2). * README.win32: Updated. * build-dll makefile.cygwin tests/makefile.cygwin: New files. * glib.h glib.def glibconfig.h.win32 makefile.msc: Slight updates. * gmain.c: No need to include <fcntl.h> and <io.h> on Win32. * gmain.c gutils.c testglib.c tests/string-test.c: Test for NATIVE_WIN32, not _MSC_VER. * gmutex.c: Must declare g_thread_functions_for_glib_use as exported (using the GUTILS_C_VAR macro). * gutils.c gmodule/libgplugin_[ab].c: LibMain not needed. * gmodule/gmoduleconf.h.win32: Need underscore with gcc. * gthread/gthread.c: With gcc on Win32, must use memcpy to assign value of g_thread_functions_for_glib_use (?). * makefile.msc tests/makefile.msc: Cosmetics.
This commit is contained in:
parent
0269749a67
commit
2aa1277d60
19
ChangeLog
19
ChangeLog
@ -1,3 +1,22 @@
|
|||||||
|
1999-04-24 Tor Lillqvist <tml@iki.fi>
|
||||||
|
|
||||||
|
Support added for building using a GNU toolchain on Win32,
|
||||||
|
i.e. gcc -mno-cygwin on cygwin (a.k.a. mingw32, using egcs-1.1.2).
|
||||||
|
|
||||||
|
* README.win32: Updated.
|
||||||
|
* build-dll makefile.cygwin tests/makefile.cygwin: New files.
|
||||||
|
* glib.h glib.def glibconfig.h.win32: Slight updates.
|
||||||
|
* gmain.c: No need to include <fcntl.h> and <io.h> on Win32.
|
||||||
|
* gmain.c gutils.c testglib.c tests/string-test.c: Test for
|
||||||
|
NATIVE_WIN32, not _MSC_VER.
|
||||||
|
* gmutex.c: Must declare g_thread_functions_for_glib_use as
|
||||||
|
exported (using the GUTILS_C_VAR macro).
|
||||||
|
* gutils.c gmodule/libgplugin_[ab].c: LibMain not needed.
|
||||||
|
* gmodule/gmoduleconf.h.win32: Need underscore with gcc.
|
||||||
|
* gthread/gthread.c: With gcc on Win32, must use memcpy to assign
|
||||||
|
value of g_thread_functions_for_glib_use (?).
|
||||||
|
* makefile.msc tests/makefile.msc: Cosmetics.
|
||||||
|
|
||||||
Fri Apr 23 14:29:25 BST 1999 Tony Gale <gale@gtk.org>
|
Fri Apr 23 14:29:25 BST 1999 Tony Gale <gale@gtk.org>
|
||||||
|
|
||||||
* glib.h: Fix typo in g_string_ncasecmp macro (by me).
|
* glib.h: Fix typo in g_string_ncasecmp macro (by me).
|
||||||
|
@ -1,3 +1,22 @@
|
|||||||
|
1999-04-24 Tor Lillqvist <tml@iki.fi>
|
||||||
|
|
||||||
|
Support added for building using a GNU toolchain on Win32,
|
||||||
|
i.e. gcc -mno-cygwin on cygwin (a.k.a. mingw32, using egcs-1.1.2).
|
||||||
|
|
||||||
|
* README.win32: Updated.
|
||||||
|
* build-dll makefile.cygwin tests/makefile.cygwin: New files.
|
||||||
|
* glib.h glib.def glibconfig.h.win32: Slight updates.
|
||||||
|
* gmain.c: No need to include <fcntl.h> and <io.h> on Win32.
|
||||||
|
* gmain.c gutils.c testglib.c tests/string-test.c: Test for
|
||||||
|
NATIVE_WIN32, not _MSC_VER.
|
||||||
|
* gmutex.c: Must declare g_thread_functions_for_glib_use as
|
||||||
|
exported (using the GUTILS_C_VAR macro).
|
||||||
|
* gutils.c gmodule/libgplugin_[ab].c: LibMain not needed.
|
||||||
|
* gmodule/gmoduleconf.h.win32: Need underscore with gcc.
|
||||||
|
* gthread/gthread.c: With gcc on Win32, must use memcpy to assign
|
||||||
|
value of g_thread_functions_for_glib_use (?).
|
||||||
|
* makefile.msc tests/makefile.msc: Cosmetics.
|
||||||
|
|
||||||
Fri Apr 23 14:29:25 BST 1999 Tony Gale <gale@gtk.org>
|
Fri Apr 23 14:29:25 BST 1999 Tony Gale <gale@gtk.org>
|
||||||
|
|
||||||
* glib.h: Fix typo in g_string_ncasecmp macro (by me).
|
* glib.h: Fix typo in g_string_ncasecmp macro (by me).
|
||||||
|
@ -1,3 +1,22 @@
|
|||||||
|
1999-04-24 Tor Lillqvist <tml@iki.fi>
|
||||||
|
|
||||||
|
Support added for building using a GNU toolchain on Win32,
|
||||||
|
i.e. gcc -mno-cygwin on cygwin (a.k.a. mingw32, using egcs-1.1.2).
|
||||||
|
|
||||||
|
* README.win32: Updated.
|
||||||
|
* build-dll makefile.cygwin tests/makefile.cygwin: New files.
|
||||||
|
* glib.h glib.def glibconfig.h.win32: Slight updates.
|
||||||
|
* gmain.c: No need to include <fcntl.h> and <io.h> on Win32.
|
||||||
|
* gmain.c gutils.c testglib.c tests/string-test.c: Test for
|
||||||
|
NATIVE_WIN32, not _MSC_VER.
|
||||||
|
* gmutex.c: Must declare g_thread_functions_for_glib_use as
|
||||||
|
exported (using the GUTILS_C_VAR macro).
|
||||||
|
* gutils.c gmodule/libgplugin_[ab].c: LibMain not needed.
|
||||||
|
* gmodule/gmoduleconf.h.win32: Need underscore with gcc.
|
||||||
|
* gthread/gthread.c: With gcc on Win32, must use memcpy to assign
|
||||||
|
value of g_thread_functions_for_glib_use (?).
|
||||||
|
* makefile.msc tests/makefile.msc: Cosmetics.
|
||||||
|
|
||||||
Fri Apr 23 14:29:25 BST 1999 Tony Gale <gale@gtk.org>
|
Fri Apr 23 14:29:25 BST 1999 Tony Gale <gale@gtk.org>
|
||||||
|
|
||||||
* glib.h: Fix typo in g_string_ncasecmp macro (by me).
|
* glib.h: Fix typo in g_string_ncasecmp macro (by me).
|
||||||
|
@ -1,3 +1,22 @@
|
|||||||
|
1999-04-24 Tor Lillqvist <tml@iki.fi>
|
||||||
|
|
||||||
|
Support added for building using a GNU toolchain on Win32,
|
||||||
|
i.e. gcc -mno-cygwin on cygwin (a.k.a. mingw32, using egcs-1.1.2).
|
||||||
|
|
||||||
|
* README.win32: Updated.
|
||||||
|
* build-dll makefile.cygwin tests/makefile.cygwin: New files.
|
||||||
|
* glib.h glib.def glibconfig.h.win32: Slight updates.
|
||||||
|
* gmain.c: No need to include <fcntl.h> and <io.h> on Win32.
|
||||||
|
* gmain.c gutils.c testglib.c tests/string-test.c: Test for
|
||||||
|
NATIVE_WIN32, not _MSC_VER.
|
||||||
|
* gmutex.c: Must declare g_thread_functions_for_glib_use as
|
||||||
|
exported (using the GUTILS_C_VAR macro).
|
||||||
|
* gutils.c gmodule/libgplugin_[ab].c: LibMain not needed.
|
||||||
|
* gmodule/gmoduleconf.h.win32: Need underscore with gcc.
|
||||||
|
* gthread/gthread.c: With gcc on Win32, must use memcpy to assign
|
||||||
|
value of g_thread_functions_for_glib_use (?).
|
||||||
|
* makefile.msc tests/makefile.msc: Cosmetics.
|
||||||
|
|
||||||
Fri Apr 23 14:29:25 BST 1999 Tony Gale <gale@gtk.org>
|
Fri Apr 23 14:29:25 BST 1999 Tony Gale <gale@gtk.org>
|
||||||
|
|
||||||
* glib.h: Fix typo in g_string_ncasecmp macro (by me).
|
* glib.h: Fix typo in g_string_ncasecmp macro (by me).
|
||||||
|
@ -1,3 +1,22 @@
|
|||||||
|
1999-04-24 Tor Lillqvist <tml@iki.fi>
|
||||||
|
|
||||||
|
Support added for building using a GNU toolchain on Win32,
|
||||||
|
i.e. gcc -mno-cygwin on cygwin (a.k.a. mingw32, using egcs-1.1.2).
|
||||||
|
|
||||||
|
* README.win32: Updated.
|
||||||
|
* build-dll makefile.cygwin tests/makefile.cygwin: New files.
|
||||||
|
* glib.h glib.def glibconfig.h.win32: Slight updates.
|
||||||
|
* gmain.c: No need to include <fcntl.h> and <io.h> on Win32.
|
||||||
|
* gmain.c gutils.c testglib.c tests/string-test.c: Test for
|
||||||
|
NATIVE_WIN32, not _MSC_VER.
|
||||||
|
* gmutex.c: Must declare g_thread_functions_for_glib_use as
|
||||||
|
exported (using the GUTILS_C_VAR macro).
|
||||||
|
* gutils.c gmodule/libgplugin_[ab].c: LibMain not needed.
|
||||||
|
* gmodule/gmoduleconf.h.win32: Need underscore with gcc.
|
||||||
|
* gthread/gthread.c: With gcc on Win32, must use memcpy to assign
|
||||||
|
value of g_thread_functions_for_glib_use (?).
|
||||||
|
* makefile.msc tests/makefile.msc: Cosmetics.
|
||||||
|
|
||||||
Fri Apr 23 14:29:25 BST 1999 Tony Gale <gale@gtk.org>
|
Fri Apr 23 14:29:25 BST 1999 Tony Gale <gale@gtk.org>
|
||||||
|
|
||||||
* glib.h: Fix typo in g_string_ncasecmp macro (by me).
|
* glib.h: Fix typo in g_string_ncasecmp macro (by me).
|
||||||
|
@ -1,3 +1,22 @@
|
|||||||
|
1999-04-24 Tor Lillqvist <tml@iki.fi>
|
||||||
|
|
||||||
|
Support added for building using a GNU toolchain on Win32,
|
||||||
|
i.e. gcc -mno-cygwin on cygwin (a.k.a. mingw32, using egcs-1.1.2).
|
||||||
|
|
||||||
|
* README.win32: Updated.
|
||||||
|
* build-dll makefile.cygwin tests/makefile.cygwin: New files.
|
||||||
|
* glib.h glib.def glibconfig.h.win32: Slight updates.
|
||||||
|
* gmain.c: No need to include <fcntl.h> and <io.h> on Win32.
|
||||||
|
* gmain.c gutils.c testglib.c tests/string-test.c: Test for
|
||||||
|
NATIVE_WIN32, not _MSC_VER.
|
||||||
|
* gmutex.c: Must declare g_thread_functions_for_glib_use as
|
||||||
|
exported (using the GUTILS_C_VAR macro).
|
||||||
|
* gutils.c gmodule/libgplugin_[ab].c: LibMain not needed.
|
||||||
|
* gmodule/gmoduleconf.h.win32: Need underscore with gcc.
|
||||||
|
* gthread/gthread.c: With gcc on Win32, must use memcpy to assign
|
||||||
|
value of g_thread_functions_for_glib_use (?).
|
||||||
|
* makefile.msc tests/makefile.msc: Cosmetics.
|
||||||
|
|
||||||
Fri Apr 23 14:29:25 BST 1999 Tony Gale <gale@gtk.org>
|
Fri Apr 23 14:29:25 BST 1999 Tony Gale <gale@gtk.org>
|
||||||
|
|
||||||
* glib.h: Fix typo in g_string_ncasecmp macro (by me).
|
* glib.h: Fix typo in g_string_ncasecmp macro (by me).
|
||||||
|
@ -1,3 +1,22 @@
|
|||||||
|
1999-04-24 Tor Lillqvist <tml@iki.fi>
|
||||||
|
|
||||||
|
Support added for building using a GNU toolchain on Win32,
|
||||||
|
i.e. gcc -mno-cygwin on cygwin (a.k.a. mingw32, using egcs-1.1.2).
|
||||||
|
|
||||||
|
* README.win32: Updated.
|
||||||
|
* build-dll makefile.cygwin tests/makefile.cygwin: New files.
|
||||||
|
* glib.h glib.def glibconfig.h.win32: Slight updates.
|
||||||
|
* gmain.c: No need to include <fcntl.h> and <io.h> on Win32.
|
||||||
|
* gmain.c gutils.c testglib.c tests/string-test.c: Test for
|
||||||
|
NATIVE_WIN32, not _MSC_VER.
|
||||||
|
* gmutex.c: Must declare g_thread_functions_for_glib_use as
|
||||||
|
exported (using the GUTILS_C_VAR macro).
|
||||||
|
* gutils.c gmodule/libgplugin_[ab].c: LibMain not needed.
|
||||||
|
* gmodule/gmoduleconf.h.win32: Need underscore with gcc.
|
||||||
|
* gthread/gthread.c: With gcc on Win32, must use memcpy to assign
|
||||||
|
value of g_thread_functions_for_glib_use (?).
|
||||||
|
* makefile.msc tests/makefile.msc: Cosmetics.
|
||||||
|
|
||||||
Fri Apr 23 14:29:25 BST 1999 Tony Gale <gale@gtk.org>
|
Fri Apr 23 14:29:25 BST 1999 Tony Gale <gale@gtk.org>
|
||||||
|
|
||||||
* glib.h: Fix typo in g_string_ncasecmp macro (by me).
|
* glib.h: Fix typo in g_string_ncasecmp macro (by me).
|
||||||
|
@ -1,3 +1,22 @@
|
|||||||
|
1999-04-24 Tor Lillqvist <tml@iki.fi>
|
||||||
|
|
||||||
|
Support added for building using a GNU toolchain on Win32,
|
||||||
|
i.e. gcc -mno-cygwin on cygwin (a.k.a. mingw32, using egcs-1.1.2).
|
||||||
|
|
||||||
|
* README.win32: Updated.
|
||||||
|
* build-dll makefile.cygwin tests/makefile.cygwin: New files.
|
||||||
|
* glib.h glib.def glibconfig.h.win32: Slight updates.
|
||||||
|
* gmain.c: No need to include <fcntl.h> and <io.h> on Win32.
|
||||||
|
* gmain.c gutils.c testglib.c tests/string-test.c: Test for
|
||||||
|
NATIVE_WIN32, not _MSC_VER.
|
||||||
|
* gmutex.c: Must declare g_thread_functions_for_glib_use as
|
||||||
|
exported (using the GUTILS_C_VAR macro).
|
||||||
|
* gutils.c gmodule/libgplugin_[ab].c: LibMain not needed.
|
||||||
|
* gmodule/gmoduleconf.h.win32: Need underscore with gcc.
|
||||||
|
* gthread/gthread.c: With gcc on Win32, must use memcpy to assign
|
||||||
|
value of g_thread_functions_for_glib_use (?).
|
||||||
|
* makefile.msc tests/makefile.msc: Cosmetics.
|
||||||
|
|
||||||
Fri Apr 23 14:29:25 BST 1999 Tony Gale <gale@gtk.org>
|
Fri Apr 23 14:29:25 BST 1999 Tony Gale <gale@gtk.org>
|
||||||
|
|
||||||
* glib.h: Fix typo in g_string_ncasecmp macro (by me).
|
* glib.h: Fix typo in g_string_ncasecmp macro (by me).
|
||||||
|
54
README.win32
54
README.win32
@ -5,32 +5,35 @@ Win32 API only, and not any POSIX emulation layer except that provided
|
|||||||
by the Microsoft runtime C library. Additionally, a pthreads emulation
|
by the Microsoft runtime C library. Additionally, a pthreads emulation
|
||||||
library is used.
|
library is used.
|
||||||
|
|
||||||
As for now, to build GLib on Win32, you need the Microsoft compiler
|
To build GLib on Win32, you can use either the Microsoft compiler and
|
||||||
and tools. Both the compiler from MSVC 5.0 and from MSVC 6.0 have been
|
tools, or egcs-1.1.2 running under cygwin-b20.1. Both the compiler
|
||||||
used successfully.
|
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.
|
||||||
|
|
||||||
|
The egcs support was added quite recently, but seems to work in all
|
||||||
|
respects. Debugging with gdk works.
|
||||||
|
|
||||||
Before building you must get the pthreads library for Windows from
|
Before building you must get the pthreads library for Windows from
|
||||||
http://sourceware.cygnus.com/pthreads-win32/. The pthreads-win32
|
http://sourceware.cygnus.com/pthreads-win32/. The pthreads-win32
|
||||||
snapshot from 1999-03-16 is mostly OK. Edit the location of the
|
snapshot from 1999-04-07 is the one that should be used. Edit the
|
||||||
pthreads library and include files in makefile.msc. Also edit the BIN
|
location of the pthreads library and include files in
|
||||||
definition in makefile.msc.
|
makefile.msc.
|
||||||
|
|
||||||
Build with `nmake -f makefile.msc`. Install with `nmake -f
|
If using the Microsoft toolchain, build with `nmake -f
|
||||||
makefile.msc install`.
|
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
|
To test the GLib functions, go to the tests subdirectory and enter
|
||||||
`nmake -f makefile.msc check`.
|
`nmake -f makefile.msc check`.
|
||||||
|
|
||||||
Support for building using the cygwin tools (without depending on the
|
If you would want to use the cygwin tools to generate executables that
|
||||||
cygwin runtime, i.e. "mingw32"), and maybe LCC-Win32 might be added
|
*do* usethe cygwin runtime the normal Unix configuration method should
|
||||||
later. When using the cygwin tools *with* the cygwin runtime the
|
work as if on Unix (knock on wood).
|
||||||
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
|
With a little work, it might be possible to use the ./configure
|
||||||
mechanism also with a "mingw32" configuration. I.e. building GLib for
|
mechanism also with a "mingw32" configuration.
|
||||||
Win32 would use the cygwin tools (and runtime), but the produced
|
|
||||||
libraries would not depend on the cygwin runtime being present.
|
|
||||||
|
|
||||||
The following preprocessor macros are used for conditional compilation
|
The following preprocessor macros are used for conditional compilation
|
||||||
related to Win32:
|
related to Win32:
|
||||||
@ -42,17 +45,20 @@ related to Win32:
|
|||||||
|
|
||||||
- NATIVE_WIN32 is defined when compiling for Win32, *and* without
|
- NATIVE_WIN32 is defined when compiling for Win32, *and* without
|
||||||
any POSIX emulation, other that to the extent provided by the
|
any POSIX emulation, other that to the extent provided by the
|
||||||
(Microsoft) C library, or the pthreads-win32 library. For instance,
|
bundled Microsoft C library and the pthreads-win32 library. For
|
||||||
pathnames use the native Windows syntax.
|
instance, pathnames are in the native Windows syntax.
|
||||||
|
|
||||||
- _MSC_VER is defined when using the Microsoft compiler.
|
The Win32 port uses the combination with both of those on.
|
||||||
|
|
||||||
Currently the Win32 port uses the combination with all three of those
|
Additionally, there are the compiler-specific macros:
|
||||||
on, but eventually "gcc -mno-cygwin" will be supported also, and in
|
- _MSC_VER is defined when using the Microsoft compiler
|
||||||
that case _MSC_VER wouldn't be defined.
|
- __GNUC__ is defined when using GCC (i.e. egcs)
|
||||||
|
|
||||||
Some of the usage of these macros is probably a bit mixed up, and will
|
Some of the usage of these macros was a bit mixed up, and had to be
|
||||||
have to be straightened out when actually trying other combinations.
|
straightened out when adding the gcc support. In particular, I used to
|
||||||
|
check for _MSC_VER in some places where I really wanted to check for
|
||||||
|
the Microsoft C library, and those checks has now been changed to
|
||||||
|
NATIVE_WIN32.
|
||||||
|
|
||||||
The pthreads for Win32 package that the thread support uses isn't
|
The pthreads for Win32 package that the thread support uses isn't
|
||||||
quite ready yet, and thus threads really should not be relied upon.
|
quite ready yet, and thus threads really should not be relied upon.
|
||||||
|
33
build-dll
Normal file
33
build-dll
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# Temporary hack until building dlls with gcc -mno-cygwin is easier
|
||||||
|
|
||||||
|
LD=ld
|
||||||
|
DLLTOOL=dlltool
|
||||||
|
AS=as
|
||||||
|
|
||||||
|
library=$1; shift
|
||||||
|
version=$1; shift;
|
||||||
|
def=$1; shift
|
||||||
|
ldargs="$*"
|
||||||
|
|
||||||
|
defswitch=""
|
||||||
|
[ -n "$def" -a "$def" != '-' ] && defswitch="--def $def"
|
||||||
|
|
||||||
|
libname=$library
|
||||||
|
[ $version != '-' ] && libname=$library-$version
|
||||||
|
dllfile=$libname.dll
|
||||||
|
|
||||||
|
for F in $ldargs; do
|
||||||
|
case $F in
|
||||||
|
*.o) objs="$objs $F";;
|
||||||
|
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
|
||||||
|
$DLLTOOL --as=$AS --dllname $dllfile $defswitch --output-lib lib$libname.a $objs
|
||||||
|
rm $library.base $library.exp
|
5
glib.def
5
glib.def
@ -56,7 +56,6 @@ EXPORTS
|
|||||||
g_date_is_last_of_month
|
g_date_is_last_of_month
|
||||||
g_date_is_leap_year
|
g_date_is_leap_year
|
||||||
g_date_julian
|
g_date_julian
|
||||||
g_date_julian
|
|
||||||
g_date_monday_week_of_year
|
g_date_monday_week_of_year
|
||||||
g_date_monday_weeks_in_year
|
g_date_monday_weeks_in_year
|
||||||
g_date_new
|
g_date_new
|
||||||
@ -377,9 +376,13 @@ EXPORTS
|
|||||||
g_string_new
|
g_string_new
|
||||||
g_string_prepend
|
g_string_prepend
|
||||||
g_string_prepend_c
|
g_string_prepend_c
|
||||||
|
g_string_readline
|
||||||
|
g_string_readline_buffered
|
||||||
g_string_sized_new
|
g_string_sized_new
|
||||||
g_string_sprintf
|
g_string_sprintf
|
||||||
g_string_sprintfa
|
g_string_sprintfa
|
||||||
|
g_string_tokenise
|
||||||
|
g_string_tokenise_free
|
||||||
g_string_truncate
|
g_string_truncate
|
||||||
g_string_up
|
g_string_up
|
||||||
g_strjoinv
|
g_strjoinv
|
||||||
|
8
glib.h
8
glib.h
@ -2750,8 +2750,10 @@ GIOChannel *g_io_channel_win32_new_stream_socket (int socket);
|
|||||||
*/
|
*/
|
||||||
#ifdef NATIVE_WIN32
|
#ifdef NATIVE_WIN32
|
||||||
# define MAXPATHLEN 1024
|
# define MAXPATHLEN 1024
|
||||||
# ifdef _MSC_VER
|
|
||||||
|
#ifdef _MSC_VER
|
||||||
typedef int pid_t;
|
typedef int pid_t;
|
||||||
|
#endif
|
||||||
|
|
||||||
/* These POSIXish functions are available in the Microsoft C library
|
/* These POSIXish functions are available in the Microsoft C library
|
||||||
* prefixed with underscore (which of course technically speaking is
|
* prefixed with underscore (which of course technically speaking is
|
||||||
@ -2768,6 +2770,9 @@ typedef int pid_t;
|
|||||||
# define getcwd _getcwd
|
# define getcwd _getcwd
|
||||||
# define getpid _getpid
|
# define getpid _getpid
|
||||||
# define access _access
|
# define access _access
|
||||||
|
#ifdef __GNUC__
|
||||||
|
# define stat _stat
|
||||||
|
#endif
|
||||||
# define open _open
|
# define open _open
|
||||||
# define read _read
|
# define read _read
|
||||||
# define write _write
|
# define write _write
|
||||||
@ -2802,7 +2807,6 @@ DIR* gwin_opendir (const gchar *dirname);
|
|||||||
struct dirent* gwin_readdir (DIR *dir);
|
struct dirent* gwin_readdir (DIR *dir);
|
||||||
void gwin_rewinddir (DIR *dir);
|
void gwin_rewinddir (DIR *dir);
|
||||||
gint gwin_closedir (DIR *dir);
|
gint gwin_closedir (DIR *dir);
|
||||||
# endif /* _MSC_VER */
|
|
||||||
#endif /* NATIVE_WIN32 */
|
#endif /* NATIVE_WIN32 */
|
||||||
|
|
||||||
|
|
||||||
|
@ -56,7 +56,6 @@ EXPORTS
|
|||||||
g_date_is_last_of_month
|
g_date_is_last_of_month
|
||||||
g_date_is_leap_year
|
g_date_is_leap_year
|
||||||
g_date_julian
|
g_date_julian
|
||||||
g_date_julian
|
|
||||||
g_date_monday_week_of_year
|
g_date_monday_week_of_year
|
||||||
g_date_monday_weeks_in_year
|
g_date_monday_weeks_in_year
|
||||||
g_date_new
|
g_date_new
|
||||||
@ -377,9 +376,13 @@ EXPORTS
|
|||||||
g_string_new
|
g_string_new
|
||||||
g_string_prepend
|
g_string_prepend
|
||||||
g_string_prepend_c
|
g_string_prepend_c
|
||||||
|
g_string_readline
|
||||||
|
g_string_readline_buffered
|
||||||
g_string_sized_new
|
g_string_sized_new
|
||||||
g_string_sprintf
|
g_string_sprintf
|
||||||
g_string_sprintfa
|
g_string_sprintfa
|
||||||
|
g_string_tokenise
|
||||||
|
g_string_tokenise_free
|
||||||
g_string_truncate
|
g_string_truncate
|
||||||
g_string_up
|
g_string_up
|
||||||
g_strjoinv
|
g_strjoinv
|
||||||
|
@ -2750,8 +2750,10 @@ GIOChannel *g_io_channel_win32_new_stream_socket (int socket);
|
|||||||
*/
|
*/
|
||||||
#ifdef NATIVE_WIN32
|
#ifdef NATIVE_WIN32
|
||||||
# define MAXPATHLEN 1024
|
# define MAXPATHLEN 1024
|
||||||
# ifdef _MSC_VER
|
|
||||||
|
#ifdef _MSC_VER
|
||||||
typedef int pid_t;
|
typedef int pid_t;
|
||||||
|
#endif
|
||||||
|
|
||||||
/* These POSIXish functions are available in the Microsoft C library
|
/* These POSIXish functions are available in the Microsoft C library
|
||||||
* prefixed with underscore (which of course technically speaking is
|
* prefixed with underscore (which of course technically speaking is
|
||||||
@ -2768,6 +2770,9 @@ typedef int pid_t;
|
|||||||
# define getcwd _getcwd
|
# define getcwd _getcwd
|
||||||
# define getpid _getpid
|
# define getpid _getpid
|
||||||
# define access _access
|
# define access _access
|
||||||
|
#ifdef __GNUC__
|
||||||
|
# define stat _stat
|
||||||
|
#endif
|
||||||
# define open _open
|
# define open _open
|
||||||
# define read _read
|
# define read _read
|
||||||
# define write _write
|
# define write _write
|
||||||
@ -2802,7 +2807,6 @@ DIR* gwin_opendir (const gchar *dirname);
|
|||||||
struct dirent* gwin_readdir (DIR *dir);
|
struct dirent* gwin_readdir (DIR *dir);
|
||||||
void gwin_rewinddir (DIR *dir);
|
void gwin_rewinddir (DIR *dir);
|
||||||
gint gwin_closedir (DIR *dir);
|
gint gwin_closedir (DIR *dir);
|
||||||
# endif /* _MSC_VER */
|
|
||||||
#endif /* NATIVE_WIN32 */
|
#endif /* NATIVE_WIN32 */
|
||||||
|
|
||||||
|
|
||||||
|
@ -54,11 +54,6 @@
|
|||||||
#include <windows.h>
|
#include <windows.h>
|
||||||
#endif /* NATIVE_WIN32 */
|
#endif /* NATIVE_WIN32 */
|
||||||
|
|
||||||
#ifdef _MSC_VER
|
|
||||||
#include <fcntl.h>
|
|
||||||
#include <io.h>
|
|
||||||
#endif /* _MSC_VER */
|
|
||||||
|
|
||||||
/* Types */
|
/* Types */
|
||||||
|
|
||||||
typedef struct _GTimeoutData GTimeoutData;
|
typedef struct _GTimeoutData GTimeoutData;
|
||||||
@ -576,7 +571,7 @@ g_source_remove_by_funcs_user_data (GSourceFuncs *funcs,
|
|||||||
void
|
void
|
||||||
g_get_current_time (GTimeVal *result)
|
g_get_current_time (GTimeVal *result)
|
||||||
{
|
{
|
||||||
#ifndef _MSC_VER
|
#ifndef NATIVE_WIN32
|
||||||
struct timeval r;
|
struct timeval r;
|
||||||
g_return_if_fail (result != NULL);
|
g_return_if_fail (result != NULL);
|
||||||
|
|
||||||
|
@ -81,16 +81,6 @@ const guint glib_micro_version = GLIB_MICRO_VERSION;
|
|||||||
const guint glib_interface_age = GLIB_INTERFACE_AGE;
|
const guint glib_interface_age = GLIB_INTERFACE_AGE;
|
||||||
const guint glib_binary_age = GLIB_BINARY_AGE;
|
const guint glib_binary_age = GLIB_BINARY_AGE;
|
||||||
|
|
||||||
#if defined (NATIVE_WIN32) && defined (__LCC__)
|
|
||||||
int __stdcall
|
|
||||||
LibMain (void *hinstDll,
|
|
||||||
unsigned long dwReason,
|
|
||||||
void *reserved)
|
|
||||||
{
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
#endif /* NATIVE_WIN32 && __LCC__ */
|
|
||||||
|
|
||||||
void
|
void
|
||||||
g_atexit (GVoidFunc func)
|
g_atexit (GVoidFunc func)
|
||||||
{
|
{
|
||||||
@ -736,7 +726,6 @@ g_iochannel_wakeup_peer (GIOChannel *channel)
|
|||||||
#endif /* Old IO Channels */
|
#endif /* Old IO Channels */
|
||||||
|
|
||||||
#ifdef NATIVE_WIN32
|
#ifdef NATIVE_WIN32
|
||||||
#ifdef _MSC_VER
|
|
||||||
|
|
||||||
int
|
int
|
||||||
gwin_ftruncate (gint fd,
|
gwin_ftruncate (gint fd,
|
||||||
@ -898,6 +887,4 @@ gwin_closedir (DIR *dir)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* _MSC_VER */
|
|
||||||
|
|
||||||
#endif /* NATIVE_WIN32 */
|
#endif /* NATIVE_WIN32 */
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/* glibconfig.h.win32 */
|
/* glibconfig.h.win32 */
|
||||||
/* Handcrafted for Microsoft C. */
|
/* Handcrafted for Microsoft C and gcc -mno-cygwin ("mingw32"). */
|
||||||
|
|
||||||
#ifndef GLIBCONFIG_H
|
#ifndef GLIBCONFIG_H
|
||||||
#define GLIBCONFIG_H
|
#define GLIBCONFIG_H
|
||||||
@ -65,11 +65,22 @@ typedef unsigned int guint32;
|
|||||||
|
|
||||||
#define G_HAVE_GINT64 1
|
#define G_HAVE_GINT64 1
|
||||||
|
|
||||||
|
/* These are compiler specific */
|
||||||
|
#ifdef _MSC_VER
|
||||||
typedef __int64 gint64;
|
typedef __int64 gint64;
|
||||||
typedef unsigned __int64 guint64;
|
typedef unsigned __int64 guint64;
|
||||||
|
#define G_GINT64_CONSTANT(val) (val##i64)
|
||||||
|
#elif __GNUC__
|
||||||
|
typedef long long gint64;
|
||||||
|
typedef unsigned long long guint64;
|
||||||
|
#define G_GINT64_CONSTANT(val) (val##LL)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* These depend on the C library. Using this file means the we
|
||||||
|
* use the (bundled) Microsoft msvcrt.dll.
|
||||||
|
*/
|
||||||
#define G_GINT64_FORMAT "I64i"
|
#define G_GINT64_FORMAT "I64i"
|
||||||
#define G_GUINT64_FORMAT "I64u"
|
#define G_GUINT64_FORMAT "I64u"
|
||||||
#define G_GINT64_CONSTANT(val) (val##i64)
|
|
||||||
|
|
||||||
#define GPOINTER_TO_INT(p) ((gint)(p))
|
#define GPOINTER_TO_INT(p) ((gint)(p))
|
||||||
#define GPOINTER_TO_UINT(p) ((guint)(p))
|
#define GPOINTER_TO_UINT(p) ((guint)(p))
|
||||||
@ -82,7 +93,9 @@ typedef unsigned __int64 guint64;
|
|||||||
#define g_memmove(d,s,n) G_STMT_START { memmove ((d), (s), (n)); } G_STMT_END
|
#define g_memmove(d,s,n) G_STMT_START { memmove ((d), (s), (n)); } G_STMT_END
|
||||||
|
|
||||||
#define G_HAVE_ALLOCA 1
|
#define G_HAVE_ALLOCA 1
|
||||||
|
#ifdef _MSC_VER
|
||||||
#define alloca _alloca
|
#define alloca _alloca
|
||||||
|
#endif
|
||||||
|
|
||||||
#define GLIB_MAJOR_VERSION 1
|
#define GLIB_MAJOR_VERSION 1
|
||||||
#define GLIB_MINOR_VERSION 3
|
#define GLIB_MINOR_VERSION 3
|
||||||
@ -106,7 +119,7 @@ typedef unsigned __int64 guint64;
|
|||||||
* printf ("sizeof (pthread_mutex_t) = %d\n", sizeof (pthread_mutex_t));
|
* printf ("sizeof (pthread_mutex_t) = %d\n", sizeof (pthread_mutex_t));
|
||||||
* printf ("PTHREAD_MUTEX_INITIALIZER = ");
|
* printf ("PTHREAD_MUTEX_INITIALIZER = ");
|
||||||
* for (i = 0; i < sizeof (pthread_mutex_t); i++)
|
* for (i = 0; i < sizeof (pthread_mutex_t); i++)
|
||||||
* printf ("%u, ", (unsigned) ((char *) &m)[i]);
|
* printf ("%u, ", (unsigned) ((unsigned char *) &m)[i]);
|
||||||
* printf ("\n");
|
* printf ("\n");
|
||||||
* exit(0);
|
* exit(0);
|
||||||
* }
|
* }
|
||||||
@ -119,7 +132,7 @@ struct _GStaticMutex
|
|||||||
struct _GMutex *runtime_mutex;
|
struct _GMutex *runtime_mutex;
|
||||||
union {
|
union {
|
||||||
/* The size of the pad array should be sizeof (pthread_mutext_t) */
|
/* The size of the pad array should be sizeof (pthread_mutext_t) */
|
||||||
/* This value corresponds to the 1999-03-16 version of pthreads-win32 */
|
/* This value corresponds to the 1999-04-07 version of pthreads-win32 */
|
||||||
char pad[4];
|
char pad[4];
|
||||||
double dummy_double;
|
double dummy_double;
|
||||||
void *dummy_pointer;
|
void *dummy_pointer;
|
||||||
@ -127,7 +140,7 @@ struct _GStaticMutex
|
|||||||
} aligned_pad_u;
|
} aligned_pad_u;
|
||||||
};
|
};
|
||||||
/* This should be NULL followed by the bytes in PTHREAD_MUTEX_INITIALIZER */
|
/* This should be NULL followed by the bytes in PTHREAD_MUTEX_INITIALIZER */
|
||||||
#define G_STATIC_MUTEX_INIT { NULL, { { 1, 0, 0, 0 } } }
|
#define G_STATIC_MUTEX_INIT { NULL, { { 255, 255, 255, 255 } } }
|
||||||
#define g_static_mutex_get_mutex(mutex) \
|
#define g_static_mutex_get_mutex(mutex) \
|
||||||
(g_thread_use_default_impl ? ((GMutex*) &((mutex)->aligned_pad_u)) : \
|
(g_thread_use_default_impl ? ((GMutex*) &((mutex)->aligned_pad_u)) : \
|
||||||
g_static_mutex_get_mutex_impl (&((mutex)->runtime_mutex)))
|
g_static_mutex_get_mutex_impl (&((mutex)->runtime_mutex)))
|
||||||
@ -172,7 +185,7 @@ struct _GStaticMutex
|
|||||||
/* Define if this is Win32, possibly using the Cygwin emulation layer. */
|
/* Define if this is Win32, possibly using the Cygwin emulation layer. */
|
||||||
#define WIN32 1
|
#define WIN32 1
|
||||||
|
|
||||||
/* Define if this is Win32 without Cygwin. */
|
/* Define if this is Win32 using the Microsoft C runtime. */
|
||||||
#define NATIVE_WIN32 1
|
#define NATIVE_WIN32 1
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
|
7
gmain.c
7
gmain.c
@ -54,11 +54,6 @@
|
|||||||
#include <windows.h>
|
#include <windows.h>
|
||||||
#endif /* NATIVE_WIN32 */
|
#endif /* NATIVE_WIN32 */
|
||||||
|
|
||||||
#ifdef _MSC_VER
|
|
||||||
#include <fcntl.h>
|
|
||||||
#include <io.h>
|
|
||||||
#endif /* _MSC_VER */
|
|
||||||
|
|
||||||
/* Types */
|
/* Types */
|
||||||
|
|
||||||
typedef struct _GTimeoutData GTimeoutData;
|
typedef struct _GTimeoutData GTimeoutData;
|
||||||
@ -576,7 +571,7 @@ g_source_remove_by_funcs_user_data (GSourceFuncs *funcs,
|
|||||||
void
|
void
|
||||||
g_get_current_time (GTimeVal *result)
|
g_get_current_time (GTimeVal *result)
|
||||||
{
|
{
|
||||||
#ifndef _MSC_VER
|
#ifndef NATIVE_WIN32
|
||||||
struct timeval r;
|
struct timeval r;
|
||||||
g_return_if_fail (result != NULL);
|
g_return_if_fail (result != NULL);
|
||||||
|
|
||||||
|
@ -27,16 +27,6 @@
|
|||||||
#include <gmodule.h>
|
#include <gmodule.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
|
||||||
#if defined (NATIVE_WIN32) && defined (__LCC__)
|
|
||||||
int __stdcall
|
|
||||||
LibMain(void *hinstDll,
|
|
||||||
unsigned long dwReason,
|
|
||||||
void *reserved)
|
|
||||||
{
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
#endif /* NATIVE_WIN32 && __LCC__ */
|
|
||||||
|
|
||||||
G_MODULE_EXPORT void
|
G_MODULE_EXPORT void
|
||||||
gplugin_a_func (void)
|
gplugin_a_func (void)
|
||||||
{
|
{
|
||||||
|
@ -26,16 +26,6 @@
|
|||||||
|
|
||||||
#include <gmodule.h>
|
#include <gmodule.h>
|
||||||
|
|
||||||
#if defined (NATIVE_WIN32) && defined (__LCC__)
|
|
||||||
int __stdcall
|
|
||||||
LibMain(void *hinstDll,
|
|
||||||
unsigned long dwReason,
|
|
||||||
void *reserved)
|
|
||||||
{
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
#endif /* NATIVE_WIN32 && __LCC__ */
|
|
||||||
|
|
||||||
G_MODULE_EXPORT const gchar*
|
G_MODULE_EXPORT const gchar*
|
||||||
g_module_check_init (GModule *module)
|
g_module_check_init (GModule *module)
|
||||||
{
|
{
|
||||||
|
2
gmutex.c
2
gmutex.c
@ -50,7 +50,7 @@ static void g_thread_fail (void);
|
|||||||
gboolean g_thread_use_default_impl = TRUE;
|
gboolean g_thread_use_default_impl = TRUE;
|
||||||
gboolean g_threads_got_initialized = FALSE;
|
gboolean g_threads_got_initialized = FALSE;
|
||||||
|
|
||||||
GThreadFunctions g_thread_functions_for_glib_use = {
|
GUTILS_C_VAR GThreadFunctions g_thread_functions_for_glib_use = {
|
||||||
(GMutex*(*)())g_thread_fail, /* mutex_new */
|
(GMutex*(*)())g_thread_fail, /* mutex_new */
|
||||||
NULL, /* mutex_lock */
|
NULL, /* mutex_lock */
|
||||||
NULL, /* mutex_trylock */
|
NULL, /* mutex_trylock */
|
||||||
|
@ -64,8 +64,11 @@ g_thread_init (GThreadFunctions* init)
|
|||||||
else
|
else
|
||||||
g_thread_use_default_impl = FALSE;
|
g_thread_use_default_impl = FALSE;
|
||||||
|
|
||||||
|
#if defined (WIN32) && defined (__GNUC__)
|
||||||
|
memcpy(&g_thread_functions_for_glib_use, init, sizeof (*init));
|
||||||
|
#else
|
||||||
g_thread_functions_for_glib_use = *init;
|
g_thread_functions_for_glib_use = *init;
|
||||||
|
#endif
|
||||||
/* It is important, that g_threads_got_initialized is not set before the
|
/* It is important, that g_threads_got_initialized is not set before the
|
||||||
* thread initialization functions of the different modules are called
|
* thread initialization functions of the different modules are called
|
||||||
*/
|
*/
|
||||||
|
13
gutils.c
13
gutils.c
@ -81,16 +81,6 @@ const guint glib_micro_version = GLIB_MICRO_VERSION;
|
|||||||
const guint glib_interface_age = GLIB_INTERFACE_AGE;
|
const guint glib_interface_age = GLIB_INTERFACE_AGE;
|
||||||
const guint glib_binary_age = GLIB_BINARY_AGE;
|
const guint glib_binary_age = GLIB_BINARY_AGE;
|
||||||
|
|
||||||
#if defined (NATIVE_WIN32) && defined (__LCC__)
|
|
||||||
int __stdcall
|
|
||||||
LibMain (void *hinstDll,
|
|
||||||
unsigned long dwReason,
|
|
||||||
void *reserved)
|
|
||||||
{
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
#endif /* NATIVE_WIN32 && __LCC__ */
|
|
||||||
|
|
||||||
void
|
void
|
||||||
g_atexit (GVoidFunc func)
|
g_atexit (GVoidFunc func)
|
||||||
{
|
{
|
||||||
@ -736,7 +726,6 @@ g_iochannel_wakeup_peer (GIOChannel *channel)
|
|||||||
#endif /* Old IO Channels */
|
#endif /* Old IO Channels */
|
||||||
|
|
||||||
#ifdef NATIVE_WIN32
|
#ifdef NATIVE_WIN32
|
||||||
#ifdef _MSC_VER
|
|
||||||
|
|
||||||
int
|
int
|
||||||
gwin_ftruncate (gint fd,
|
gwin_ftruncate (gint fd,
|
||||||
@ -898,6 +887,4 @@ gwin_closedir (DIR *dir)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* _MSC_VER */
|
|
||||||
|
|
||||||
#endif /* NATIVE_WIN32 */
|
#endif /* NATIVE_WIN32 */
|
||||||
|
169
makefile.cygwin
Normal file
169
makefile.cygwin
Normal file
@ -0,0 +1,169 @@
|
|||||||
|
## Makefile for building the GLib, gmodule and gthread DLLs with
|
||||||
|
## egcs on cygwin.
|
||||||
|
## Use: make -f makefile.cygwin install
|
||||||
|
|
||||||
|
# Change this to wherever you want to install the DLLs. This directory
|
||||||
|
# should be in your PATH.
|
||||||
|
BIN = /bin
|
||||||
|
|
||||||
|
# This is the location of pthreads for Win32,
|
||||||
|
# see http://sourceware.cygnus.com/pthreads-win32/
|
||||||
|
PTHREADS = ../pthreads-snap-1999-04-07
|
||||||
|
PTHREAD_LIB = -L$(PTHREADS) -lpthread
|
||||||
|
PTHREAD_INC = -I $(PTHREADS)
|
||||||
|
|
||||||
|
################################################################
|
||||||
|
|
||||||
|
# Nothing much configurable below
|
||||||
|
|
||||||
|
CC = gcc -mno-cygwin -mpentium
|
||||||
|
|
||||||
|
CP = cp
|
||||||
|
LD = ld
|
||||||
|
DLLTOOL = dlltool
|
||||||
|
INSTALL = install
|
||||||
|
|
||||||
|
GLIB_VER = 1.3
|
||||||
|
|
||||||
|
CFLAGS = -g -O2 -I. -DHAVE_CONFIG_H
|
||||||
|
|
||||||
|
all : \
|
||||||
|
glibconfig.h \
|
||||||
|
config.h \
|
||||||
|
glib-$(GLIB_VER).dll \
|
||||||
|
gthread-$(GLIB_VER).dll \
|
||||||
|
gmodule/gmoduleconf.h \
|
||||||
|
gmodule-$(GLIB_VER).dll \
|
||||||
|
testglib.exe \
|
||||||
|
testgmodule.exe \
|
||||||
|
testgdate.exe \
|
||||||
|
testgdateparser.exe \
|
||||||
|
testgthread.exe
|
||||||
|
|
||||||
|
install : all
|
||||||
|
$(INSTALL) glib-$(GLIB_VER).dll $(BIN)
|
||||||
|
$(INSTALL) gmodule-$(GLIB_VER).dll $(BIN)
|
||||||
|
$(INSTALL) gthread-$(GLIB_VER).dll $(BIN)
|
||||||
|
|
||||||
|
glib_OBJECTS = \
|
||||||
|
garray.o \
|
||||||
|
gcache.o \
|
||||||
|
gcompletion.o \
|
||||||
|
gdataset.o \
|
||||||
|
gdate.o \
|
||||||
|
gerror.o \
|
||||||
|
ghook.o \
|
||||||
|
ghash.o \
|
||||||
|
giochannel.o \
|
||||||
|
giowin32.o \
|
||||||
|
glist.o \
|
||||||
|
gmain.o \
|
||||||
|
gmem.o \
|
||||||
|
gmessages.o \
|
||||||
|
gmutex.o \
|
||||||
|
gnode.o \
|
||||||
|
gprimes.o \
|
||||||
|
gqueue.o \
|
||||||
|
grand.o \
|
||||||
|
gslist.o \
|
||||||
|
gstack.o \
|
||||||
|
gtimer.o \
|
||||||
|
gtree.o \
|
||||||
|
grel.o \
|
||||||
|
gstring.o \
|
||||||
|
gstrfuncs.o \
|
||||||
|
gscanner.o \
|
||||||
|
gutils.o
|
||||||
|
|
||||||
|
glib-$(GLIB_VER).dll : $(glib_OBJECTS) glib.def
|
||||||
|
./build-dll glib $(GLIB_VER) glib.def $(glib_OBJECTS) -lmsvcrt -lkernel32 -luser32 -ladvapi32 -lwsock32
|
||||||
|
|
||||||
|
glibconfig.h: glibconfig.h.win32
|
||||||
|
$(CP) glibconfig.h.win32 glibconfig.h
|
||||||
|
|
||||||
|
config.h: config.h.win32
|
||||||
|
$(CP) config.h.win32 config.h
|
||||||
|
|
||||||
|
.c.o :
|
||||||
|
$(CC) $(CFLAGS) -c -DGLIB_COMPILATION -DG_LOG_DOMAIN=g_log_domain_glib $<
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
gmodule.o : gmodule/gmodule.c gmodule/gmodule-win32.c
|
||||||
|
$(CC) $(CFLAGS) -Igmodule -c -DG_LOG_DOMAIN=g_log_domain_gmodule gmodule/gmodule.c
|
||||||
|
|
||||||
|
gmodule/gmoduleconf.h: gmodule/gmoduleconf.h.win32
|
||||||
|
$(CP) gmodule/gmoduleconf.h.win32 gmodule/gmoduleconf.h
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
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)
|
||||||
|
|
||||||
|
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)
|
||||||
|
|
||||||
|
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)
|
||||||
|
|
||||||
|
testgdateparser.o : testgdateparser.c
|
||||||
|
$(CC) -c $(CFLAGS) testgdateparser.c
|
||||||
|
|
||||||
|
testgmodule.exe : glib-$(GLIB_VER).dll gmodule-$(GLIB_VER).dll testgmodule.o libgplugin_a.dll libgplugin_b.dll
|
||||||
|
# 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)
|
||||||
|
$(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)
|
||||||
|
$(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)
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
libgplugin_b.o : gmodule/libgplugin_b.c
|
||||||
|
$(CC) $(CFLAGS) -Igmodule -c gmodule/libgplugin_b.c
|
||||||
|
|
||||||
|
testgthread.exe : glib-$(GLIB_VER).dll gthread-$(GLIB_VER).dll testgthread.o
|
||||||
|
$(CC) $(CFLAGS) -o testgthread.exe testgthread.o -L. -lglib-$(GLIB_VER) -lgthread-$(GLIB_VER) $(PTHREAD_LIB) $(LDFLAGS)
|
||||||
|
|
||||||
|
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
|
15
makefile.msc
15
makefile.msc
@ -7,8 +7,9 @@ BIN = C:\bin
|
|||||||
|
|
||||||
# This is the location of pthreads for Win32,
|
# This is the location of pthreads for Win32,
|
||||||
# see http://sourceware.cygnus.com/pthreads-win32/
|
# see http://sourceware.cygnus.com/pthreads-win32/
|
||||||
PTHREAD_LIB = ..\lib\pthread.lib
|
PTHREADS = ..\pthreads-snap-1999-04-07
|
||||||
PTHREAD_INC = ..\include
|
PTHREAD_LIB = $(PTHREADS)\pthread.lib
|
||||||
|
PTHREAD_INC = -I $(PTHREADS)
|
||||||
|
|
||||||
################################################################
|
################################################################
|
||||||
|
|
||||||
@ -88,7 +89,7 @@ config.h: config.h.win32
|
|||||||
gmodule_OBJECTS = \
|
gmodule_OBJECTS = \
|
||||||
gmodule.obj
|
gmodule.obj
|
||||||
|
|
||||||
gmodule-$(GLIB_VER).dll : $(gmodule_OBJECTS)
|
gmodule-$(GLIB_VER).dll : $(gmodule_OBJECTS) gmodule\gmodule.def
|
||||||
$(CC) $(CFLAGS) -LD -Fegmodule-$(GLIB_VER).dll $(gmodule_OBJECTS) glib-$(GLIB_VER).lib $(LDFLAGS) /def:gmodule\gmodule.def
|
$(CC) $(CFLAGS) -LD -Fegmodule-$(GLIB_VER).dll $(gmodule_OBJECTS) glib-$(GLIB_VER).lib $(LDFLAGS) /def:gmodule\gmodule.def
|
||||||
|
|
||||||
gmodule.obj : gmodule\gmodule.c gmodule\gmodule-win32.c
|
gmodule.obj : gmodule\gmodule.c gmodule\gmodule-win32.c
|
||||||
@ -100,11 +101,11 @@ gmodule\gmoduleconf.h: gmodule\gmoduleconf.h.win32
|
|||||||
gthread_OBJECTS = \
|
gthread_OBJECTS = \
|
||||||
gthread.obj
|
gthread.obj
|
||||||
|
|
||||||
gthread-$(GLIB_VER).dll : $(gthread_OBJECTS)
|
gthread-$(GLIB_VER).dll : $(gthread_OBJECTS) gthread\gthread.def
|
||||||
$(CC) $(CFLAGS) -LD -Fegthread-$(GLIB_VER).dll $(gthread_OBJECTS) glib-$(GLIB_VER).lib $(PTHREAD_LIB) glib-$(GLIB_VER).lib $(LDFLAGS) /def:gthread\gthread.def
|
$(CC) $(CFLAGS) -LD -Fegthread-$(GLIB_VER).dll $(gthread_OBJECTS) glib-$(GLIB_VER).lib $(PTHREAD_LIB) $(LDFLAGS) /def:gthread\gthread.def
|
||||||
|
|
||||||
gthread.obj : gthread\gthread.c gthread\gthread-posix.c
|
gthread.obj : gthread\gthread.c gthread\gthread-posix.c
|
||||||
$(CC) $(CFLAGS) -GD -I$(PTHREAD_INC) -DG_LOG_DOMAIN=\"GThread\" -c gthread\gthread.c
|
$(CC) $(CFLAGS) -GD $(PTHREAD_INC) -DG_LOG_DOMAIN=\"GThread\" -c gthread\gthread.c
|
||||||
|
|
||||||
testglib.exe : glib-$(GLIB_VER).dll testglib.obj
|
testglib.exe : glib-$(GLIB_VER).dll testglib.obj
|
||||||
$(CC) $(CFLAGS) -Fetestglib.exe testglib.obj glib-$(GLIB_VER).lib $(LDFLAGS) /subsystem:console
|
$(CC) $(CFLAGS) -Fetestglib.exe testglib.obj glib-$(GLIB_VER).lib $(LDFLAGS) /subsystem:console
|
||||||
@ -146,7 +147,7 @@ testgthread.exe : glib-$(GLIB_VER).dll gthread-$(GLIB_VER).dll testgthread.obj
|
|||||||
$(CC) $(CFLAGS) testgthread.obj glib-$(GLIB_VER).lib gthread-$(GLIB_VER).lib $(PTHREAD_LIB) $(LDFLAGS) /subsystem:console
|
$(CC) $(CFLAGS) testgthread.obj glib-$(GLIB_VER).lib gthread-$(GLIB_VER).lib $(PTHREAD_LIB) $(LDFLAGS) /subsystem:console
|
||||||
|
|
||||||
testgthread.obj : gthread\testgthread.c
|
testgthread.obj : gthread\testgthread.c
|
||||||
$(CC) $(CFLAGS) -I$(PTHREAD_INC) -c gthread\testgthread.c
|
$(CC) $(CFLAGS) $(PTHREAD_INC) -c gthread\testgthread.c
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
del config.h
|
del config.h
|
||||||
|
@ -699,8 +699,8 @@ main (int argc,
|
|||||||
for (i = 0; i < 10000; i++)
|
for (i = 0; i < 10000; i++)
|
||||||
g_string_append_c (string1, 'a'+(i%26));
|
g_string_append_c (string1, 'a'+(i%26));
|
||||||
|
|
||||||
#if !(defined (_MSC_VER) || defined (__LCC__))
|
#ifndef NATIVE_WIN32
|
||||||
/* MSVC and LCC use the same run-time C library, which doesn't like
|
/* MSVC, mingw32 and LCC use the same run-time C library, which doesn't like
|
||||||
the %10000.10000f format... */
|
the %10000.10000f format... */
|
||||||
g_string_sprintf (string2, "%s|%0100d|%s|%s|%0*d|%*.*f|%10000.10000f",
|
g_string_sprintf (string2, "%s|%0100d|%s|%s|%0*d|%*.*f|%10000.10000f",
|
||||||
"this pete guy sure is a wuss, like he's the number ",
|
"this pete guy sure is a wuss, like he's the number ",
|
||||||
|
50
tests/makefile.cygwin
Normal file
50
tests/makefile.cygwin
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
## Makefile for building the GLib test programs with egcs on cygwin.
|
||||||
|
## Use: make -f makefile.cygwin check
|
||||||
|
|
||||||
|
################################################################
|
||||||
|
|
||||||
|
# Nothing much configurable below
|
||||||
|
|
||||||
|
# cl -? described the options
|
||||||
|
CC = gcc -mno-cygwin -mpentium
|
||||||
|
|
||||||
|
# No general LDFLAGS needes
|
||||||
|
LDFLAGS = /link
|
||||||
|
|
||||||
|
GLIB_VER = 1.3
|
||||||
|
|
||||||
|
CFLAGS = -I.. -DHAVE_CONFIG_H
|
||||||
|
|
||||||
|
TESTS = \
|
||||||
|
array-test.exe \
|
||||||
|
date-test.exe \
|
||||||
|
dirname-test.exe\
|
||||||
|
hash-test.exe \
|
||||||
|
list-test.exe \
|
||||||
|
node-test.exe \
|
||||||
|
queue-test.exe \
|
||||||
|
rand-test.exe \
|
||||||
|
relation-test.exe\
|
||||||
|
slist-test.exe \
|
||||||
|
stack-test.exe \
|
||||||
|
string-test.exe \
|
||||||
|
strfunc-test.exe\
|
||||||
|
tree-test.exe \
|
||||||
|
type-test.exe
|
||||||
|
|
||||||
|
all : $(TESTS)
|
||||||
|
|
||||||
|
.SUFFIXES: .c .exe
|
||||||
|
|
||||||
|
.c.exe :
|
||||||
|
$(CC) $(CFLAGS) -c $<
|
||||||
|
$(CC) $(CFLAGS) -o $@ $< -L.. -lglib-$(GLIB_VER) -lmsvcrt
|
||||||
|
|
||||||
|
check: all
|
||||||
|
@for P in $(TESTS) ; do echo $$P; ./$$P; done
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm *.exe
|
||||||
|
rm *.o
|
||||||
|
rm *.dll
|
||||||
|
rm *.exp
|
@ -1,5 +1,5 @@
|
|||||||
## Makefile for building the GLib test programs with Microsoft C
|
## Makefile for building the GLib test programs with Microsoft C
|
||||||
## Use: nmake -f makefile.msc all
|
## Use: nmake -f makefile.msc check
|
||||||
|
|
||||||
################################################################
|
################################################################
|
||||||
|
|
||||||
@ -10,7 +10,6 @@ CC = cl -G5 -GF -Ox -W3 -MD -nologo
|
|||||||
|
|
||||||
# No general LDFLAGS needes
|
# No general LDFLAGS needes
|
||||||
LDFLAGS = /link
|
LDFLAGS = /link
|
||||||
INSTALL = copy
|
|
||||||
|
|
||||||
GLIB_VER = 1.3
|
GLIB_VER = 1.3
|
||||||
|
|
||||||
|
@ -103,8 +103,8 @@ main (int argc,
|
|||||||
g_assert((strlen("hi pete!") + 10000) == string1->len);
|
g_assert((strlen("hi pete!") + 10000) == string1->len);
|
||||||
g_assert((strlen("hi pete!") + 10000) == strlen(string1->str));
|
g_assert((strlen("hi pete!") + 10000) == strlen(string1->str));
|
||||||
|
|
||||||
#if !(defined (_MSC_VER) || defined (__LCC__))
|
#ifndef NATIVE_WIN32
|
||||||
/* MSVC and LCC use the same run-time C library, which doesn't like
|
/* MSVC and mingw32 use the same run-time C library, which doesn't like
|
||||||
the %10000.10000f format... */
|
the %10000.10000f format... */
|
||||||
g_string_sprintf (string2, "%s|%0100d|%s|%s|%0*d|%*.*f|%10000.10000f",
|
g_string_sprintf (string2, "%s|%0100d|%s|%s|%0*d|%*.*f|%10000.10000f",
|
||||||
"this pete guy sure is a wuss, like he's the number ",
|
"this pete guy sure is a wuss, like he's the number ",
|
||||||
|
@ -699,8 +699,8 @@ main (int argc,
|
|||||||
for (i = 0; i < 10000; i++)
|
for (i = 0; i < 10000; i++)
|
||||||
g_string_append_c (string1, 'a'+(i%26));
|
g_string_append_c (string1, 'a'+(i%26));
|
||||||
|
|
||||||
#if !(defined (_MSC_VER) || defined (__LCC__))
|
#ifndef NATIVE_WIN32
|
||||||
/* MSVC and LCC use the same run-time C library, which doesn't like
|
/* MSVC, mingw32 and LCC use the same run-time C library, which doesn't like
|
||||||
the %10000.10000f format... */
|
the %10000.10000f format... */
|
||||||
g_string_sprintf (string2, "%s|%0100d|%s|%s|%0*d|%*.*f|%10000.10000f",
|
g_string_sprintf (string2, "%s|%0100d|%s|%s|%0*d|%*.*f|%10000.10000f",
|
||||||
"this pete guy sure is a wuss, like he's the number ",
|
"this pete guy sure is a wuss, like he's the number ",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user