wxTimeInitialized = TRUE;
   }
   sec = wxGetCurrentTime();
-  sec += 2177452800L;     /* seconds from 1/1/01 to 1/1/70 */
+  sec += 2177452800UL;     /* seconds from 1/1/01 to 1/1/70 */
 }
 
 wxTime::wxTime(hourTy h, minuteTy m, secondTy s, bool dst)
 
 #define _GNU_SOURCE
-#include "gdk_imlib.h"
-#include "gdk_imlib_private.h"
+#include "../gdk_imlib/gdk_imlib.h"
+#include "../gdk_imlib/gdk_imlib_private.h"
 
 /* uncomment this to compile imlib's cahce with pixmap accounting output */
 /*#define PIXMAP_ACCOUNTING */
 
 #define _GNU_SOURCE
-#include "gdk_imlib.h"
-#include "gdk_imlib_private.h"
+#include "../gdk_imlib/gdk_imlib.h"
+#include "../gdk_imlib/gdk_imlib_private.h"
 
 void
 g_PaletteAlloc(int num, int *cols)
 
 #ifndef __GDK_IMLIB_H__
 #define __GDK_IMLIB_H__
 
-#include <gdk_imlib_types.h>
+// we need this funny include path, because the working directory when
+// including this might actually be ../gdk/ instead of .
+#include "../gdk_imlib/gdk_imlib_types.h"
 
 #ifdef __cplusplus
 extern              "C"
 
 
 #define _GNU_SOURCE
-#include "gdk_imlib.h"
-#include "gdk_imlib_private.h"
+#include "../gdk_imlib/gdk_imlib.h"
+#include "../gdk_imlib/gdk_imlib_private.h"
 
 ImlibData          *id;
 
 
 #define _GNU_SOURCE
-#include <config.h>
+#include "../gdk_imlib/config.h"
 
-#include "gdk_imlib.h"
-#include "gdk_imlib_private.h"
+#include "../gdk_imlib/gdk_imlib.h"
+#include "../gdk_imlib/gdk_imlib_private.h"
 
 /*      Split the ID - damages input    */
 
 
 #define _GNU_SOURCE
-#include "gdk_imlib.h"
-#include "gdk_imlib_private.h"
+#include "../gdk_imlib/gdk_imlib.h"
+#include "../gdk_imlib/gdk_imlib_private.h"
 
 gint
 gdk_imlib_get_render_type()
 
 #define _GNU_SOURCE
-#include "gdk_imlib.h"
-#include "gdk_imlib_private.h"
+#include "../gdk_imlib/gdk_imlib.h"
+#include "../gdk_imlib/gdk_imlib_private.h"
 
 GdkPixmap          *
 gdk_imlib_pixmap_foreign_new(gint width, gint height,
 
 #define _GNU_SOURCE
-#include <config.h>
+#include "../gdk_imlib/config.h"
 
-#include "gdk_imlib.h"
-#include "gdk_imlib_private.h"
+#include "../gdk_imlib/gdk_imlib.h"
+#include "../gdk_imlib/gdk_imlib_private.h"
 
 gint
 gdk_imlib_save_image(GdkImlibImage * im, char *file, GdkImlibSaveInfo * info)
 
 #define _GNU_SOURCE
 
-#include "gdk_imlib.h"
-#include "gdk_imlib_private.h"
+#include "../gdk_imlib/gdk_imlib.h"
+#include "../gdk_imlib/gdk_imlib_private.h"
 
 void
 gcalc_map_tables(GdkImlibImage * im)
 
 #include "unistd.h"
 
 #ifdef USE_GDK_IMLIB
-#include "gdk_imlib.h"
+#include "../gdk_imlib/gdk_imlib.h"
 #endif
 
 //-----------------------------------------------------------------------------
 
 #include "gdk/gdkprivate.h"
 
 #ifdef USE_GDK_IMLIB
-#include "gdk_imlib.h"
+#include "../gdk_imlib/gdk_imlib.h"
 #endif
 
 //-----------------------------------------------------------------------------
 
 #include "wx/gdicmn.h"
 
 #ifdef USE_GDK_IMLIB
-#include "gdk_imlib.h"
+#include "../gdk_imlib/gdk_imlib.h"
 #endif
 
 //-----------------------------------------------------------------------------
 
 #include "unistd.h"
 
 #ifdef USE_GDK_IMLIB
-#include "gdk_imlib.h"
+#include "../gdk_imlib/gdk_imlib.h"
 #endif
 
 //-----------------------------------------------------------------------------
 
 #include "gdk/gdkprivate.h"
 
 #ifdef USE_GDK_IMLIB
-#include "gdk_imlib.h"
+#include "../gdk_imlib/gdk_imlib.h"
 #endif
 
 //-----------------------------------------------------------------------------
 
 #include "wx/gdicmn.h"
 
 #ifdef USE_GDK_IMLIB
-#include "gdk_imlib.h"
+#include "../gdk_imlib/gdk_imlib.h"
 #endif
 
 //-----------------------------------------------------------------------------
 
  * working PNG reader/writer, see pngtest.c, included in this distribution.
  */
 
-#include "png.h"
+#include "../png/png.h"
 
 /* Check to see if a file is a PNG file using png_sig_cmp().  Returns
  * non-zero if the image is a PNG, and 0 if it isn't a PNG.
 
 
 #define PNG_INTERNAL
 #define PNG_NO_EXTERN
-#include "png.h"
+#include "../png/png.h"
 
 /* Version information for C files.  This had better match the version
  * string defined in png.h.
 
  */
 
 /* include the compression library's header */
-#include "zlib.h"
+#include "../zlib/zlib.h"
 
 /* include all user configurable info */
-#include "pngconf.h"
+#include "../png/pngconf.h"
 
 /* This file is arranged in several sections.  The first section contains
  * structure and type definitions.  The second section contains the external
 
  */
 
 #define PNG_INTERNAL
-#include "png.h"
+#include "../png/png.h"
 
 static void png_default_error PNGARG((png_structp png_ptr,
                                       png_const_charp message));
 
  */
 
 #define PNG_INTERNAL
-#include "png.h"
+#include "../png/png.h"
 
 png_uint_32
 png_get_valid(png_structp png_ptr, png_infop info_ptr, png_uint_32 flag)
 
  */
 
 #define PNG_INTERNAL
-#include "png.h"
+#include "../png/png.h"
 
 /* The following "hides" PNG_MALLOC and PNG_FREE thus allowing the pngtest
    application to put a wrapper on top of them. */
 
  */
 
 #define PNG_INTERNAL
-#include "png.h"
+#include "../png/png.h"
 
 #ifdef PNG_PROGRESSIVE_READ_SUPPORTED
 
 
  */
 
 #define PNG_INTERNAL
-#include "png.h"
+#include "../png/png.h"
 
 /* Create a PNG structure for reading, and allocate any memory needed. */
 png_structp
 
  */
 
 #define PNG_INTERNAL
-#include "png.h"
+#include "../png/png.h"
 
 /* Read the data from whatever input you are using.  The default routine
    reads from a file pointer.  Note that this routine sometimes gets called
 
  */
 
 #define PNG_INTERNAL
-#include "png.h"
+#include "../png/png.h"
 
 #ifdef PNG_READ_COMPOSITE_NODIV_SUPPORTED
 /* With these routines, we avoid an integer divide, which will be slower on
 
  */
 
 #define PNG_INTERNAL
-#include "png.h"
+#include "../png/png.h"
 
 #ifndef PNG_READ_BIG_ENDIAN_SUPPORTED
 /* Grab an unsigned 32-bit integer from a buffer in big endian format. */
 
  */
 
 #define PNG_INTERNAL
-#include "png.h"
+#include "../png/png.h"
 
 #if defined(PNG_READ_bKGD_SUPPORTED) || defined(PNG_WRITE_bKGD_SUPPORTED)
 void
 
 #define PNG_DEBUG 0
 #endif
 
-#include "png.h"
+#include "../png/png.h"
 
 int test_one_file PNGARG((PNG_CONST char *inname, PNG_CONST char *outname));
 
 
  */
 
 #define PNG_INTERNAL
-#include "png.h"
+#include "../png/png.h"
 
 #if defined(PNG_READ_BGR_SUPPORTED) || defined(PNG_WRITE_BGR_SUPPORTED)
 /* turn on bgr to rgb mapping */
 
  */
 
 #define PNG_INTERNAL
-#include "png.h"
+#include "../png/png.h"
 
 /* Write the data to whatever output you are using.  The default routine
    writes to a file pointer.  Note that this routine sometimes gets called
 
 
 /* get internal access to png.h */
 #define PNG_INTERNAL
-#include "png.h"
+#include "../png/png.h"
 
 /* Writes all the PNG information.  This is the suggested way to use the
  * library.  If you have a new chunk to add, make a function to write it,
 
  */
 
 #define PNG_INTERNAL
-#include "png.h"
+#include "../png/png.h"
 
 /* Transform the data according to the users wishes.  The order of
  * transformations is significant.
 
  */
 
 #define PNG_INTERNAL
-#include "png.h"
+#include "../png/png.h"
 
 /* Place a 32-bit number into a buffer in PNG byte order.  We work
  * with unsigned numbers for convenience, although one supported
 
 
 /* @(#) $Id$ */
 
-#include "zlib.h"
+#include "../zlib/zlib.h"
 
 #define BASE 65521L /* largest prime smaller than 65536 */
 #define NMAX 5552
 
 
 /* @(#) $Id$ */
 
-#include "zlib.h"
+#include "../zlib/zlib.h"
 
 /* ===========================================================================
      Compresses the source buffer into the destination buffer. The level
 
 
 /* @(#) $Id$ */
 
-#include "zlib.h"
+#include "../zlib/zlib.h"
 
 #define local static
 
 
 /* @(#) $Id$ */
 
 #include <stdio.h>
-#include "zlib.h"
+#include "../zlib/zlib.h"
 
 #ifdef STDC
 #  include <string.h>
 
 /* @(#) $Id$ */
 
 #include <stdio.h>
-#include "zlib.h"
+#include "../zlib/zlib.h"
 
 #ifdef STDC
 #  include <string.h>
 
 
 /* @(#) $Id$ */
 
-#include "zlib.h"
+#include "../zlib/zlib.h"
 
 /* ===========================================================================
      Decompresses the source buffer into the destination buffer.  sourceLen is
 
 #ifndef _ZLIB_H
 #define _ZLIB_H
 
-#include "zconf.h"
+#include "../zlib/zconf.h"
 
 #ifdef __cplusplus
 extern "C" {
 
 #ifndef _Z_UTIL_H
 #define _Z_UTIL_H
 
-#include "zlib.h"
+#include "../zlib/zlib.h"
 
 #ifdef STDC
 #  include <stddef.h>