Pass -DGSPAWN_HELPER when building it. Link with user32.lib.

2000-10-19  Tor Lillqvist  <tml@iki.fi>

	* makefile.msc.in: Pass -DGSPAWN_HELPER when building it. Link
	with user32.lib.

	* gspawn-win32.c
	* gfileutils.c: Make them compile with picky MSVC.

	* gwin32.h: New file. Move Win32-only stuff that isn't related to
	GIOChannels here from giochannel.h.

	* Makefile.am: Add it here.

	* giochannel.h: Move stuff to gwin32.h.

	* glib.h: On Win32, include gwin32.h.
This commit is contained in:
Tor Lillqvist 2000-10-19 17:52:12 +00:00 committed by Tor Lillqvist
parent 1bfc515a37
commit 4905022b8e
24 changed files with 428 additions and 166 deletions

View File

@ -1,3 +1,20 @@
2000-10-19 Tor Lillqvist <tml@iki.fi>
* makefile.msc.in: Pass -DGSPAWN_HELPER when building it. Link
with user32.lib.
* gspawn-win32.c
* gfileutils.c: Make them compile with picky MSVC.
* gwin32.h: New file. Move Win32-only stuff that isn't related to
GIOChannels here from giochannel.h.
* Makefile.am: Add it here.
* giochannel.h: Move stuff to gwin32.h.
* glib.h: On Win32, include gwin32.h.
Mon Sep 11 10:03:24 2000 Owen Taylor <otaylor@redhat.com>
* glib.h convert.c (g_convert_with_fallback): Change

View File

@ -1,3 +1,20 @@
2000-10-19 Tor Lillqvist <tml@iki.fi>
* makefile.msc.in: Pass -DGSPAWN_HELPER when building it. Link
with user32.lib.
* gspawn-win32.c
* gfileutils.c: Make them compile with picky MSVC.
* gwin32.h: New file. Move Win32-only stuff that isn't related to
GIOChannels here from giochannel.h.
* Makefile.am: Add it here.
* giochannel.h: Move stuff to gwin32.h.
* glib.h: On Win32, include gwin32.h.
Mon Sep 11 10:03:24 2000 Owen Taylor <otaylor@redhat.com>
* glib.h convert.c (g_convert_with_fallback): Change

View File

@ -1,3 +1,20 @@
2000-10-19 Tor Lillqvist <tml@iki.fi>
* makefile.msc.in: Pass -DGSPAWN_HELPER when building it. Link
with user32.lib.
* gspawn-win32.c
* gfileutils.c: Make them compile with picky MSVC.
* gwin32.h: New file. Move Win32-only stuff that isn't related to
GIOChannels here from giochannel.h.
* Makefile.am: Add it here.
* giochannel.h: Move stuff to gwin32.h.
* glib.h: On Win32, include gwin32.h.
Mon Sep 11 10:03:24 2000 Owen Taylor <otaylor@redhat.com>
* glib.h convert.c (g_convert_with_fallback): Change

View File

@ -1,3 +1,20 @@
2000-10-19 Tor Lillqvist <tml@iki.fi>
* makefile.msc.in: Pass -DGSPAWN_HELPER when building it. Link
with user32.lib.
* gspawn-win32.c
* gfileutils.c: Make them compile with picky MSVC.
* gwin32.h: New file. Move Win32-only stuff that isn't related to
GIOChannels here from giochannel.h.
* Makefile.am: Add it here.
* giochannel.h: Move stuff to gwin32.h.
* glib.h: On Win32, include gwin32.h.
Mon Sep 11 10:03:24 2000 Owen Taylor <otaylor@redhat.com>
* glib.h convert.c (g_convert_with_fallback): Change

View File

@ -1,3 +1,20 @@
2000-10-19 Tor Lillqvist <tml@iki.fi>
* makefile.msc.in: Pass -DGSPAWN_HELPER when building it. Link
with user32.lib.
* gspawn-win32.c
* gfileutils.c: Make them compile with picky MSVC.
* gwin32.h: New file. Move Win32-only stuff that isn't related to
GIOChannels here from giochannel.h.
* Makefile.am: Add it here.
* giochannel.h: Move stuff to gwin32.h.
* glib.h: On Win32, include gwin32.h.
Mon Sep 11 10:03:24 2000 Owen Taylor <otaylor@redhat.com>
* glib.h convert.c (g_convert_with_fallback): Change

View File

@ -1,3 +1,20 @@
2000-10-19 Tor Lillqvist <tml@iki.fi>
* makefile.msc.in: Pass -DGSPAWN_HELPER when building it. Link
with user32.lib.
* gspawn-win32.c
* gfileutils.c: Make them compile with picky MSVC.
* gwin32.h: New file. Move Win32-only stuff that isn't related to
GIOChannels here from giochannel.h.
* Makefile.am: Add it here.
* giochannel.h: Move stuff to gwin32.h.
* glib.h: On Win32, include gwin32.h.
Mon Sep 11 10:03:24 2000 Owen Taylor <otaylor@redhat.com>
* glib.h convert.c (g_convert_with_fallback): Change

View File

@ -1,3 +1,20 @@
2000-10-19 Tor Lillqvist <tml@iki.fi>
* makefile.msc.in: Pass -DGSPAWN_HELPER when building it. Link
with user32.lib.
* gspawn-win32.c
* gfileutils.c: Make them compile with picky MSVC.
* gwin32.h: New file. Move Win32-only stuff that isn't related to
GIOChannels here from giochannel.h.
* Makefile.am: Add it here.
* giochannel.h: Move stuff to gwin32.h.
* glib.h: On Win32, include gwin32.h.
Mon Sep 11 10:03:24 2000 Owen Taylor <otaylor@redhat.com>
* glib.h convert.c (g_convert_with_fallback): Change

View File

@ -1,3 +1,20 @@
2000-10-19 Tor Lillqvist <tml@iki.fi>
* makefile.msc.in: Pass -DGSPAWN_HELPER when building it. Link
with user32.lib.
* gspawn-win32.c
* gfileutils.c: Make them compile with picky MSVC.
* gwin32.h: New file. Move Win32-only stuff that isn't related to
GIOChannels here from giochannel.h.
* Makefile.am: Add it here.
* giochannel.h: Move stuff to gwin32.h.
* glib.h: On Win32, include gwin32.h.
Mon Sep 11 10:03:24 2000 Owen Taylor <otaylor@redhat.com>
* glib.h convert.c (g_convert_with_fallback): Change

View File

@ -129,7 +129,8 @@ glibinclude_HEADERS = \
gtree.h \
gtypes.h \
gunicode.h \
gutils.h
gutils.h \
gwin32.h
configexecincludedir = $(libdir)/glib-2.0/include
#configexecinclude_DATA = glibconfig.h

View File

@ -33,8 +33,27 @@
#include <sys/stat.h>
#include <fcntl.h>
#ifdef G_OS_WIN32
#include <io.h>
#ifndef F_OK
#define F_OK 0
#define X_OK 1
#define W_OK 2
#define R_OK 4
#endif /* !F_OK */
#ifndef S_ISREG
#define S_ISREG(mode) ((mode)&_S_IFREG)
#endif
#ifndef S_ISDIR
#define S_ISDIR(mode) ((mode)&_S_IFDIR)
#endif
#endif /* G_OS_WIN32 */
#ifndef S_ISLNK
# define S_ISLNK(x) 0
#define S_ISLNK(x) 0
#endif
#define _(x) x

View File

@ -183,85 +183,6 @@ GIOChannel *g_io_channel_win32_new_stream_socket (int socket);
#endif
/* Windows emulation stubs for common Unix functions
*/
#ifdef G_OS_WIN32
# define MAXPATHLEN 1024
#ifdef _MSC_VER
typedef int pid_t;
#endif
/*
* To get prototypes for the following POSIXish functions, you have to
* include the indicated non-POSIX headers. The functions are defined
* in OLDNAMES.LIB (MSVC) or -lmoldname-msvc (mingw32).
*
* getcwd: <direct.h> (MSVC), <io.h> (mingw32)
* getpid: <process.h>
* access: <io.h>
* unlink: <stdio.h> or <io.h>
* open, read, write, lseek, close: <io.h>
* rmdir: <direct.h>
* pipe: <direct.h>
*/
/* pipe is not in OLDNAMES.LIB or -lmoldname-msvc. */
#define pipe(phandles) _pipe (phandles, 4096, _O_BINARY)
/* For some POSIX functions that are not provided by the MS runtime,
* we provide emulators in glib, which are prefixed with g_win32_.
*/
# define ftruncate(fd, size) g_win32_ftruncate (fd, size)
/* -lmingw32 also has emulations for these, but we need our own
* for MSVC anyhow, so we might aswell use them always.
*/
# define opendir g_win32_opendir
# define readdir g_win32_readdir
# define rewinddir g_win32_rewinddir
# define closedir g_win32_closedir
# define NAME_MAX 255
struct dirent
{
gchar d_name[NAME_MAX + 1];
};
struct DIR
{
gchar *dir_name;
gboolean just_opened;
guint find_file_handle;
gpointer find_file_data;
struct dirent readdir_result;
};
typedef struct DIR DIR;
/* emulation functions */
extern int g_win32_ftruncate (gint f,
guint size);
DIR* g_win32_opendir (const gchar *dirname);
struct dirent* g_win32_readdir (DIR *dir);
void g_win32_rewinddir (DIR *dir);
gint g_win32_closedir (DIR *dir);
/* The MS setlocale uses locale names of the form "English_United
* States.1252" etc. We want the Unixish standard form "en", "zh_TW"
* etc. This function gets the current thread locale from Windows and
* returns it as a string of the above form for use in forming file
* names etc. The returned string should be deallocated with g_free().
*/
gchar * g_win32_getlocale (void);
/* Translate a Win32 error code (as returned by GetLastError()) into
* the corresponding message. The returned string should be deallocated
* with g_free().
*/
gchar * g_win32_error_message (gint error);
#endif /* G_OS_WIN32 */
G_END_DECLS
#endif /* __G_IOCHANNEL_H__ */

3
glib.h
View File

@ -65,5 +65,8 @@
#include <gtypes.h>
#include <gunicode.h>
#include <gutils.h>
#ifdef G_OS_WIN32
#include <gwin32.h>
#endif
#endif /* __G_LIB_H__ */

View File

@ -129,7 +129,8 @@ glibinclude_HEADERS = \
gtree.h \
gtypes.h \
gunicode.h \
gutils.h
gutils.h \
gwin32.h
configexecincludedir = $(libdir)/glib-2.0/include
#configexecinclude_DATA = glibconfig.h

View File

@ -33,8 +33,27 @@
#include <sys/stat.h>
#include <fcntl.h>
#ifdef G_OS_WIN32
#include <io.h>
#ifndef F_OK
#define F_OK 0
#define X_OK 1
#define W_OK 2
#define R_OK 4
#endif /* !F_OK */
#ifndef S_ISREG
#define S_ISREG(mode) ((mode)&_S_IFREG)
#endif
#ifndef S_ISDIR
#define S_ISDIR(mode) ((mode)&_S_IFDIR)
#endif
#endif /* G_OS_WIN32 */
#ifndef S_ISLNK
# define S_ISLNK(x) 0
#define S_ISLNK(x) 0
#endif
#define _(x) x

View File

@ -183,85 +183,6 @@ GIOChannel *g_io_channel_win32_new_stream_socket (int socket);
#endif
/* Windows emulation stubs for common Unix functions
*/
#ifdef G_OS_WIN32
# define MAXPATHLEN 1024
#ifdef _MSC_VER
typedef int pid_t;
#endif
/*
* To get prototypes for the following POSIXish functions, you have to
* include the indicated non-POSIX headers. The functions are defined
* in OLDNAMES.LIB (MSVC) or -lmoldname-msvc (mingw32).
*
* getcwd: <direct.h> (MSVC), <io.h> (mingw32)
* getpid: <process.h>
* access: <io.h>
* unlink: <stdio.h> or <io.h>
* open, read, write, lseek, close: <io.h>
* rmdir: <direct.h>
* pipe: <direct.h>
*/
/* pipe is not in OLDNAMES.LIB or -lmoldname-msvc. */
#define pipe(phandles) _pipe (phandles, 4096, _O_BINARY)
/* For some POSIX functions that are not provided by the MS runtime,
* we provide emulators in glib, which are prefixed with g_win32_.
*/
# define ftruncate(fd, size) g_win32_ftruncate (fd, size)
/* -lmingw32 also has emulations for these, but we need our own
* for MSVC anyhow, so we might aswell use them always.
*/
# define opendir g_win32_opendir
# define readdir g_win32_readdir
# define rewinddir g_win32_rewinddir
# define closedir g_win32_closedir
# define NAME_MAX 255
struct dirent
{
gchar d_name[NAME_MAX + 1];
};
struct DIR
{
gchar *dir_name;
gboolean just_opened;
guint find_file_handle;
gpointer find_file_data;
struct dirent readdir_result;
};
typedef struct DIR DIR;
/* emulation functions */
extern int g_win32_ftruncate (gint f,
guint size);
DIR* g_win32_opendir (const gchar *dirname);
struct dirent* g_win32_readdir (DIR *dir);
void g_win32_rewinddir (DIR *dir);
gint g_win32_closedir (DIR *dir);
/* The MS setlocale uses locale names of the form "English_United
* States.1252" etc. We want the Unixish standard form "en", "zh_TW"
* etc. This function gets the current thread locale from Windows and
* returns it as a string of the above form for use in forming file
* names etc. The returned string should be deallocated with g_free().
*/
gchar * g_win32_getlocale (void);
/* Translate a Win32 error code (as returned by GetLastError()) into
* the corresponding message. The returned string should be deallocated
* with g_free().
*/
gchar * g_win32_error_message (gint error);
#endif /* G_OS_WIN32 */
G_END_DECLS
#endif /* __G_IOCHANNEL_H__ */

View File

@ -65,5 +65,8 @@
#include <gtypes.h>
#include <gunicode.h>
#include <gutils.h>
#ifdef G_OS_WIN32
#include <gwin32.h>
#endif
#endif /* __G_LIB_H__ */

View File

@ -44,12 +44,14 @@
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <windows.h>
#include <errno.h>
#include <fcntl.h>
#include <io.h>
#include <process.h>
#include <direct.h>
#ifdef _
#warning "FIXME remove gettext hack"

117
glib/gwin32.h Normal file
View File

@ -0,0 +1,117 @@
/* GLIB - Library of useful routines for C programming
* Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
/*
* Modified by the GLib Team and others 1997-2000. See the AUTHORS
* file for a list of people on the GLib Team. See the ChangeLog
* files for a list of changes. These files are distributed with
* GLib at ftp://ftp.gtk.org/pub/gtk/.
*/
#ifndef __G_WIN32_H__
#define __G_WIN32_H__
#include <gtypes.h>
#ifdef G_OS_WIN32
/* Windows emulation stubs for common Unix functions
*/
G_BEGIN_DECLS
#define MAXPATHLEN 1024
#ifdef _MSC_VER
typedef int pid_t;
#endif
/*
* To get prototypes for the following POSIXish functions, you have to
* include the indicated non-POSIX headers. The functions are defined
* in OLDNAMES.LIB (MSVC) or -lmoldname-msvc (mingw32).
*
* getcwd: <direct.h> (MSVC), <io.h> (mingw32)
* getpid: <process.h>
* access: <io.h>
* unlink: <stdio.h> or <io.h>
* open, read, write, lseek, close: <io.h>
* rmdir: <direct.h>
* pipe: <direct.h>
*/
/* pipe is not in OLDNAMES.LIB or -lmoldname-msvc. */
#define pipe(phandles) _pipe (phandles, 4096, _O_BINARY)
/* For some POSIX functions that are not provided by the MS runtime,
* we provide emulators in glib, which are prefixed with g_win32_.
*/
# define ftruncate(fd, size) g_win32_ftruncate (fd, size)
/* -lmingw32 also has emulations for these, but we need our own
* for MSVC anyhow, so we might aswell use them always.
*/
# define opendir g_win32_opendir
# define readdir g_win32_readdir
# define rewinddir g_win32_rewinddir
# define closedir g_win32_closedir
# define NAME_MAX 255
struct dirent
{
gchar d_name[NAME_MAX + 1];
};
struct DIR
{
gchar *dir_name;
gboolean just_opened;
guint find_file_handle;
gpointer find_file_data;
struct dirent readdir_result;
};
typedef struct DIR DIR;
/* emulation functions */
extern int g_win32_ftruncate (gint f,
guint size);
DIR* g_win32_opendir (const gchar *dirname);
struct dirent* g_win32_readdir (DIR *dir);
void g_win32_rewinddir (DIR *dir);
gint g_win32_closedir (DIR *dir);
/* The MS setlocale uses locale names of the form "English_United
* States.1252" etc. We want the Unixish standard form "en", "zh_TW"
* etc. This function gets the current thread locale from Windows and
* returns it as a string of the above form for use in forming file
* names etc. The returned string should be deallocated with g_free().
*/
gchar * g_win32_getlocale (void);
/* Translate a Win32 error code (as returned by GetLastError()) into
* the corresponding message. The returned string should be deallocated
* with g_free().
*/
gchar * g_win32_error_message (gint error);
G_END_DECLS
#endif /* G_OS_WIN32 */
#endif /* __G_IOCHANNEL_H__ */

View File

@ -97,7 +97,7 @@ glib-$(GLIB_VER).dll : $(glib_OBJECTS) glib.def
./build-dll glib $(GLIB_VER) glib.def $(glib_OBJECTS) $(LIBICONV_LIBS) -luser32 -lwsock32
gspawn-win32-helper.exe : gspawn-win32.c
$(CC) $(CFLAGS) -mwindows -DGSPAWN_HELPER -DG_LOG_DOMAIN=\"gspawn-win32-helper\" -o $@ $< -L . -lglib-$(GLIB_VER)
$(CC) $(CFLAGS) -mwindows -DGSPAWN_HELPER -DG_LOG_DOMAIN=\"gspawn-win32-helper\" -o $@ $< -L . -lglib-$(GLIB_VER)
################ subdirectories

View File

@ -94,7 +94,7 @@ glib-$(GLIB_VER).dll : $(glib_OBJECTS) glib.def
$(CC) $(CFLAGS) -LD -Feglib-$(GLIB_VER).dll $(glib_OBJECTS) $(LIBICONV_LIBS) user32.lib advapi32.lib wsock32.lib $(LDFLAGS) /def:glib.def
gspawn-win32-helper.exe : gspawn-win32.c glib-$(GLIB_VER).dll
$(CC) $(CFLAGS) -Fe$@ -DG_LOG_DOMAIN=\"gspawn-win32-helper\" gspawn-win32.c glib-$(GLIB_VER).lib $(LDFLAGS) /subsystem:windows
$(CC) $(CFLAGS) -Fe$@ -DGSPAWN_HELPER -DG_LOG_DOMAIN=\"gspawn-win32-helper\" gspawn-win32.c glib-$(GLIB_VER).lib $(LDFLAGS) /subsystem:windows user32.lib
################ subdirectories

View File

@ -44,12 +44,14 @@
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <windows.h>
#include <errno.h>
#include <fcntl.h>
#include <io.h>
#include <process.h>
#include <direct.h>
#ifdef _
#warning "FIXME remove gettext hack"

117
gwin32.h Normal file
View File

@ -0,0 +1,117 @@
/* GLIB - Library of useful routines for C programming
* Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
/*
* Modified by the GLib Team and others 1997-2000. See the AUTHORS
* file for a list of people on the GLib Team. See the ChangeLog
* files for a list of changes. These files are distributed with
* GLib at ftp://ftp.gtk.org/pub/gtk/.
*/
#ifndef __G_WIN32_H__
#define __G_WIN32_H__
#include <gtypes.h>
#ifdef G_OS_WIN32
/* Windows emulation stubs for common Unix functions
*/
G_BEGIN_DECLS
#define MAXPATHLEN 1024
#ifdef _MSC_VER
typedef int pid_t;
#endif
/*
* To get prototypes for the following POSIXish functions, you have to
* include the indicated non-POSIX headers. The functions are defined
* in OLDNAMES.LIB (MSVC) or -lmoldname-msvc (mingw32).
*
* getcwd: <direct.h> (MSVC), <io.h> (mingw32)
* getpid: <process.h>
* access: <io.h>
* unlink: <stdio.h> or <io.h>
* open, read, write, lseek, close: <io.h>
* rmdir: <direct.h>
* pipe: <direct.h>
*/
/* pipe is not in OLDNAMES.LIB or -lmoldname-msvc. */
#define pipe(phandles) _pipe (phandles, 4096, _O_BINARY)
/* For some POSIX functions that are not provided by the MS runtime,
* we provide emulators in glib, which are prefixed with g_win32_.
*/
# define ftruncate(fd, size) g_win32_ftruncate (fd, size)
/* -lmingw32 also has emulations for these, but we need our own
* for MSVC anyhow, so we might aswell use them always.
*/
# define opendir g_win32_opendir
# define readdir g_win32_readdir
# define rewinddir g_win32_rewinddir
# define closedir g_win32_closedir
# define NAME_MAX 255
struct dirent
{
gchar d_name[NAME_MAX + 1];
};
struct DIR
{
gchar *dir_name;
gboolean just_opened;
guint find_file_handle;
gpointer find_file_data;
struct dirent readdir_result;
};
typedef struct DIR DIR;
/* emulation functions */
extern int g_win32_ftruncate (gint f,
guint size);
DIR* g_win32_opendir (const gchar *dirname);
struct dirent* g_win32_readdir (DIR *dir);
void g_win32_rewinddir (DIR *dir);
gint g_win32_closedir (DIR *dir);
/* The MS setlocale uses locale names of the form "English_United
* States.1252" etc. We want the Unixish standard form "en", "zh_TW"
* etc. This function gets the current thread locale from Windows and
* returns it as a string of the above form for use in forming file
* names etc. The returned string should be deallocated with g_free().
*/
gchar * g_win32_getlocale (void);
/* Translate a Win32 error code (as returned by GetLastError()) into
* the corresponding message. The returned string should be deallocated
* with g_free().
*/
gchar * g_win32_error_message (gint error);
G_END_DECLS
#endif /* G_OS_WIN32 */
#endif /* __G_IOCHANNEL_H__ */

View File

@ -97,7 +97,7 @@ glib-$(GLIB_VER).dll : $(glib_OBJECTS) glib.def
./build-dll glib $(GLIB_VER) glib.def $(glib_OBJECTS) $(LIBICONV_LIBS) -luser32 -lwsock32
gspawn-win32-helper.exe : gspawn-win32.c
$(CC) $(CFLAGS) -mwindows -DGSPAWN_HELPER -DG_LOG_DOMAIN=\"gspawn-win32-helper\" -o $@ $< -L . -lglib-$(GLIB_VER)
$(CC) $(CFLAGS) -mwindows -DGSPAWN_HELPER -DG_LOG_DOMAIN=\"gspawn-win32-helper\" -o $@ $< -L . -lglib-$(GLIB_VER)
################ subdirectories

View File

@ -94,7 +94,7 @@ glib-$(GLIB_VER).dll : $(glib_OBJECTS) glib.def
$(CC) $(CFLAGS) -LD -Feglib-$(GLIB_VER).dll $(glib_OBJECTS) $(LIBICONV_LIBS) user32.lib advapi32.lib wsock32.lib $(LDFLAGS) /def:glib.def
gspawn-win32-helper.exe : gspawn-win32.c glib-$(GLIB_VER).dll
$(CC) $(CFLAGS) -Fe$@ -DG_LOG_DOMAIN=\"gspawn-win32-helper\" gspawn-win32.c glib-$(GLIB_VER).lib $(LDFLAGS) /subsystem:windows
$(CC) $(CFLAGS) -Fe$@ -DGSPAWN_HELPER -DG_LOG_DOMAIN=\"gspawn-win32-helper\" gspawn-win32.c glib-$(GLIB_VER).lib $(LDFLAGS) /subsystem:windows user32.lib
################ subdirectories