mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-02-05 02:36:19 +01:00
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:
parent
2aa1277d60
commit
d6c6eb3d92
12
ChangeLog
12
ChangeLog
@ -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>
|
1999-04-24 Tor Lillqvist <tml@iki.fi>
|
||||||
|
|
||||||
Support added for building using a GNU toolchain on Win32,
|
Support added for building using a GNU toolchain on Win32,
|
||||||
|
@ -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>
|
1999-04-24 Tor Lillqvist <tml@iki.fi>
|
||||||
|
|
||||||
Support added for building using a GNU toolchain on Win32,
|
Support added for building using a GNU toolchain on Win32,
|
||||||
|
@ -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>
|
1999-04-24 Tor Lillqvist <tml@iki.fi>
|
||||||
|
|
||||||
Support added for building using a GNU toolchain on Win32,
|
Support added for building using a GNU toolchain on Win32,
|
||||||
|
@ -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>
|
1999-04-24 Tor Lillqvist <tml@iki.fi>
|
||||||
|
|
||||||
Support added for building using a GNU toolchain on Win32,
|
Support added for building using a GNU toolchain on Win32,
|
||||||
|
@ -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>
|
1999-04-24 Tor Lillqvist <tml@iki.fi>
|
||||||
|
|
||||||
Support added for building using a GNU toolchain on Win32,
|
Support added for building using a GNU toolchain on Win32,
|
||||||
|
@ -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>
|
1999-04-24 Tor Lillqvist <tml@iki.fi>
|
||||||
|
|
||||||
Support added for building using a GNU toolchain on Win32,
|
Support added for building using a GNU toolchain on Win32,
|
||||||
|
@ -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>
|
1999-04-24 Tor Lillqvist <tml@iki.fi>
|
||||||
|
|
||||||
Support added for building using a GNU toolchain on Win32,
|
Support added for building using a GNU toolchain on Win32,
|
||||||
|
@ -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>
|
1999-04-24 Tor Lillqvist <tml@iki.fi>
|
||||||
|
|
||||||
Support added for building using a GNU toolchain on Win32,
|
Support added for building using a GNU toolchain on Win32,
|
||||||
|
53
README.win32
53
README.win32
@ -6,31 +6,56 @@ by the Microsoft runtime C library. Additionally, a pthreads emulation
|
|||||||
library is used.
|
library is used.
|
||||||
|
|
||||||
To build GLib on Win32, you can use either the Microsoft compiler and
|
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
|
tools, or gcc. Both the compiler from MSVC 5.0 and from MSVC 6.0 have
|
||||||
from MSVC 5.0 and from MSVC 6.0 have been used successfully. If you
|
been used successfully. With gcc I mean egcs-1.1.2 (as distributed by
|
||||||
build with egcs, note that the produced executables and DLLs do *not*
|
Mumit Khan), running under cygwin-b20.1.
|
||||||
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
|
If you build with gcc, note that the produced executables and DLLs do
|
||||||
respects. Debugging with gdk works.
|
*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
|
http://sourceware.cygnus.com/pthreads-win32/. The pthreads-win32
|
||||||
snapshot from 1999-04-07 is the one that should be used. Edit the
|
snapshot from 1999-04-07 is the one that should be used. Edit the
|
||||||
location of the pthreads library and include files in
|
location of the pthreads library and include files in makefile.msc.
|
||||||
makefile.msc.
|
|
||||||
|
|
||||||
If using the Microsoft toolchain, build with `nmake -f
|
If using the Microsoft toolchain, build with `nmake -f
|
||||||
makefile.msc`. Install with `nmake -f makefile.msc install`.
|
makefile.msc`. Install with `nmake -f makefile.msc install`. If using
|
||||||
If using egcs, build using `make -f makefile.cygwin`.
|
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`.
|
||||||
|
|
||||||
If you would want to use the cygwin tools to generate executables that
|
If you would want to use the cygwin tools to generate executables that
|
||||||
*do* usethe cygwin runtime the normal Unix configuration method should
|
*do* use the cygwin runtime, the normal Unix configuration method
|
||||||
work as if on Unix (knock on wood).
|
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.
|
mechanism also with a "mingw32" configuration.
|
||||||
|
19
build-dll
19
build-dll
@ -1,8 +1,10 @@
|
|||||||
#!/bin/sh
|
#!/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
|
DLLTOOL=dlltool
|
||||||
AS=as
|
AS=as
|
||||||
|
|
||||||
@ -24,10 +26,11 @@ for F in $ldargs; do
|
|||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
$LD -s --base-file $library.base --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
|
$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
|
$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
|
$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 -mdll -mno-cygwin -Wl,$library.exp -o $dllfile $ldargs
|
||||||
$DLLTOOL --as=$AS --dllname $dllfile $defswitch --output-lib lib$libname.a $objs
|
$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
1
glib.h
@ -2773,6 +2773,7 @@ typedef int pid_t;
|
|||||||
#ifdef __GNUC__
|
#ifdef __GNUC__
|
||||||
# define stat _stat
|
# define stat _stat
|
||||||
#endif
|
#endif
|
||||||
|
# define unlink _unlink
|
||||||
# define open _open
|
# define open _open
|
||||||
# define read _read
|
# define read _read
|
||||||
# define write _write
|
# define write _write
|
||||||
|
@ -2773,6 +2773,7 @@ typedef int pid_t;
|
|||||||
#ifdef __GNUC__
|
#ifdef __GNUC__
|
||||||
# define stat _stat
|
# define stat _stat
|
||||||
#endif
|
#endif
|
||||||
|
# define unlink _unlink
|
||||||
# define open _open
|
# define open _open
|
||||||
# define read _read
|
# define read _read
|
||||||
# define write _write
|
# define write _write
|
||||||
|
@ -48,7 +48,7 @@
|
|||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <sys/types.h> /* needed for sys/stat.h */
|
#include <sys/types.h> /* needed for sys/stat.h */
|
||||||
#include <sys/stat.h>
|
#include <sys/stat.h>
|
||||||
#ifdef _MSC_VER
|
#ifdef NATIVE_WIN32
|
||||||
#include <io.h> /* For _read() */
|
#include <io.h> /* For _read() */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -43,6 +43,10 @@
|
|||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
#include "glib.h"
|
#include "glib.h"
|
||||||
|
|
||||||
|
#ifdef NATIVE_WIN32
|
||||||
|
#include <io.h> /* For _read */
|
||||||
|
#endif
|
||||||
|
|
||||||
#define G_STRING_BLOCK_SIZE 512
|
#define G_STRING_BLOCK_SIZE 512
|
||||||
|
|
||||||
typedef struct _GRealStringChunk GRealStringChunk;
|
typedef struct _GRealStringChunk GRealStringChunk;
|
||||||
|
@ -662,69 +662,6 @@ g_int_hash (gconstpointer v)
|
|||||||
return *(const gint*) 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
|
#ifdef NATIVE_WIN32
|
||||||
|
|
||||||
int
|
int
|
||||||
|
@ -48,7 +48,7 @@
|
|||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <sys/types.h> /* needed for sys/stat.h */
|
#include <sys/types.h> /* needed for sys/stat.h */
|
||||||
#include <sys/stat.h>
|
#include <sys/stat.h>
|
||||||
#ifdef _MSC_VER
|
#ifdef NATIVE_WIN32
|
||||||
#include <io.h> /* For _read() */
|
#include <io.h> /* For _read() */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -43,6 +43,10 @@
|
|||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
#include "glib.h"
|
#include "glib.h"
|
||||||
|
|
||||||
|
#ifdef NATIVE_WIN32
|
||||||
|
#include <io.h> /* For _read */
|
||||||
|
#endif
|
||||||
|
|
||||||
#define G_STRING_BLOCK_SIZE 512
|
#define G_STRING_BLOCK_SIZE 512
|
||||||
|
|
||||||
typedef struct _GRealStringChunk GRealStringChunk;
|
typedef struct _GRealStringChunk GRealStringChunk;
|
||||||
|
63
gutils.c
63
gutils.c
@ -662,69 +662,6 @@ g_int_hash (gconstpointer v)
|
|||||||
return *(const gint*) 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
|
#ifdef NATIVE_WIN32
|
||||||
|
|
||||||
int
|
int
|
||||||
|
@ -12,6 +12,8 @@ PTHREADS = ../pthreads-snap-1999-04-07
|
|||||||
PTHREAD_LIB = -L$(PTHREADS) -lpthread
|
PTHREAD_LIB = -L$(PTHREADS) -lpthread
|
||||||
PTHREAD_INC = -I $(PTHREADS)
|
PTHREAD_INC = -I $(PTHREADS)
|
||||||
|
|
||||||
|
OPTIMIZE = -g -O
|
||||||
|
|
||||||
################################################################
|
################################################################
|
||||||
|
|
||||||
# Nothing much configurable below
|
# Nothing much configurable below
|
||||||
@ -25,7 +27,7 @@ INSTALL = install
|
|||||||
|
|
||||||
GLIB_VER = 1.3
|
GLIB_VER = 1.3
|
||||||
|
|
||||||
CFLAGS = -g -O2 -I. -DHAVE_CONFIG_H
|
CFLAGS = $(OPTIMIZE) -I. -DHAVE_CONFIG_H
|
||||||
|
|
||||||
all : \
|
all : \
|
||||||
glibconfig.h \
|
glibconfig.h \
|
||||||
@ -76,7 +78,7 @@ glib_OBJECTS = \
|
|||||||
gutils.o
|
gutils.o
|
||||||
|
|
||||||
glib-$(GLIB_VER).dll : $(glib_OBJECTS) glib.def
|
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
|
glibconfig.h: glibconfig.h.win32
|
||||||
$(CP) glibconfig.h.win32 glibconfig.h
|
$(CP) glibconfig.h.win32 glibconfig.h
|
||||||
@ -91,7 +93,7 @@ gmodule_OBJECTS = \
|
|||||||
gmodule.o
|
gmodule.o
|
||||||
|
|
||||||
gmodule-$(GLIB_VER).dll : $(gmodule_OBJECTS) gmodule/gmodule.def
|
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
|
gmodule.o : gmodule/gmodule.c gmodule/gmodule-win32.c
|
||||||
$(CC) $(CFLAGS) -Igmodule -c -DG_LOG_DOMAIN=g_log_domain_gmodule gmodule/gmodule.c
|
$(CC) $(CFLAGS) -Igmodule -c -DG_LOG_DOMAIN=g_log_domain_gmodule gmodule/gmodule.c
|
||||||
@ -103,25 +105,25 @@ gthread_OBJECTS = \
|
|||||||
gthread.o
|
gthread.o
|
||||||
|
|
||||||
gthread-$(GLIB_VER).dll : $(gthread_OBJECTS) glib-$(GLIB_VER).dll gthread/gthread.def
|
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
|
gthread.o : gthread/gthread.c gthread/gthread-posix.c
|
||||||
$(CC) $(CFLAGS) $(PTHREAD_INC) -DG_LOG_DOMAIN=\"GThread\" -c gthread/gthread.c
|
$(CC) $(CFLAGS) $(PTHREAD_INC) -DG_LOG_DOMAIN=\"GThread\" -c gthread/gthread.c
|
||||||
|
|
||||||
testglib.exe : glib-$(GLIB_VER).dll testglib.o
|
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
|
testglib.o : testglib.c
|
||||||
$(CC) -c $(CFLAGS) testglib.c
|
$(CC) -c $(CFLAGS) testglib.c
|
||||||
|
|
||||||
testgdate.exe : glib-$(GLIB_VER).dll testgdate.o
|
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
|
testgdate.o : testgdate.c
|
||||||
$(CC) -c $(CFLAGS) testgdate.c
|
$(CC) -c $(CFLAGS) testgdate.c
|
||||||
|
|
||||||
testgdateparser.exe : glib-$(GLIB_VER).dll testgdateparser.o
|
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
|
testgdateparser.o : testgdateparser.c
|
||||||
$(CC) -c $(CFLAGS) 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
|
# Wow, do we really have to do it like this to get some symbols
|
||||||
# exported from a .exe? Apparently yes. Does the __declspec(dllexport)
|
# exported from a .exe? Apparently yes. Does the __declspec(dllexport)
|
||||||
# actually do anything in egcs-1.1.2?
|
# 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
|
$(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
|
$(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
|
testgmodule.o : gmodule/testgmodule.c
|
||||||
$(CC) $(CFLAGS) -Igmodule -c gmodule/testgmodule.c
|
$(CC) $(CFLAGS) -Igmodule -c gmodule/testgmodule.c
|
||||||
|
|
||||||
libgplugin_a.dll : libgplugin_a.o
|
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
|
libgplugin_a.o : gmodule/libgplugin_a.c
|
||||||
$(CC) $(CFLAGS) -Igmodule -c gmodule/libgplugin_a.c
|
$(CC) $(CFLAGS) -Igmodule -c gmodule/libgplugin_a.c
|
||||||
|
|
||||||
libgplugin_b.dll : libgplugin_b.o
|
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
|
libgplugin_b.o : gmodule/libgplugin_b.c
|
||||||
$(CC) $(CFLAGS) -Igmodule -c 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
|
$(CC) $(CFLAGS) $(PTHREAD_INC) -c gthread/testgthread.c
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
-rm config.h
|
-rm config.h glibconfig.h gmodule/gmoduleconf.h
|
||||||
-rm glibconfig.h
|
-rm *.exe *.o *.dll *.a *.base *.exp
|
||||||
-rm gmodule/gmoduleconf.h
|
|
||||||
-rm *.exe
|
|
||||||
-rm *.o
|
|
||||||
-rm *.dll
|
|
||||||
-rm *.a
|
|
||||||
-rm *.base
|
|
||||||
-rm *.exp
|
|
||||||
|
Loading…
Reference in New Issue
Block a user