Cygwin support contributed by Stefan Ondrejicka <ondrej@idata.sk>.
authorTor Lillqvist <tml@iki.fi>
Fri, 9 Mar 2001 21:31:21 +0000 (21:31 +0000)
committerTor Lillqvist <tml@src.gnome.org>
Fri, 9 Mar 2001 21:31:21 +0000 (21:31 +0000)
commit754d8ddad85ef7054bf262bbc57ee67a0278f493
treeb582eb1be9315427e894cf6f75f83c5d1adf7114
parent31c5b1899ddd9eecea5065f5b9004413b72a0f2c
Cygwin support contributed by Stefan Ondrejicka <ondrej@idata.sk>.

2001-02-21  Tor Lillqvist  <tml@iki.fi>

Cygwin support contributed by Stefan Ondrejicka
<ondrej@idata.sk>. Hopefully I got it all in while simultaneously
adding support for auto*/libtool for mingw.

* Makefile.am: Changes for auto* support on Cygwin and Win32. Do
still distribute the hand-written makefiles and *.win32.in files,
though. Use GIO, GSPAWN and PLATFORMDEP macros set by configure.
Use -no-undefined. Pass -export-symbols glib.def to libtool.

* configure.in: Define G_PLATFORM_WIN32 on both pure Win32 (mingw)
and Cygwin. Add AC_CYGWIN, AC_EXEEXT and AC_LIBTOOL_WIN32_DLL
calls for Cygwin and mingw support.  Check for %I64u guint64
format (in MS C library). Set G_MODULE_IMPL on mingw and
Cygwin. Use ac_object and ac_exeext.  Set GIO, GSPAWN, PLATFORMDEP
and G_LIBS_EXTRA. Compile timeloop only on Unix. Define OS_WIN32
automake conditional on Win32.

* glib.h: Include gwin32.h also on Cygwin.

* gfileutils.c (get_contents_posix): Use O_BINARY (defined as 0 on
Unix) for Cygwin's sake.

* gtimer.c (GETTIME): Reduce #ifdefs, use a macro GETTIME().

* gconvert.c
* gthread.c
* gutf8.c
* gutils.c: For code needed both on Cygwin and native Win32,
test for G_PLATFORM_WIN32.

* gmarkup.h: Use G_BEGIN_DECLS and G_END_DECLS.

* gtypes.h: Refine GLIB_VAR definition. Also check for DLL_EXPORT
in case compiling a static library on Win32 or Cygwin.

* gwin32.c: No <direct.h> on Cygwin. No need for ftruncate() or
dirent emulation on Cygwin.
(get_package_directory_from_module) Convert return value from
GetModuleFileName() to POSIX path on Cygwin.

* tests/Makefile.am (progs_LDADD): Link with libglib, libgthread
and libgmodule as appropriate. Use -no-undefined.

* gbacktrace.c: Move #ifdefs around a bit on Win32.

* gshell.c (unquote_string_inplace): Make static.

* testglib.c: Make some vars static. Add Cygwin path tests.
18 files changed:
glib/gtimer.c
glib/gtypes.h
glib/gunicode.h
glib/gutf8.c
glib/gutils.c
glib/gwin32.c
glib/gwin32.h
glib/makefile.mingw.in
gtimer.c
gtypes.h
gunicode.h
gutf8.c
gutils.c
gwin32.c
gwin32.h
makefile.mingw.in
testglib.c
tests/testglib.c