Changes for PellesC compiler under Win32. A bit limited, but
authorGisle Vanem <gvanem@broadpark.no>
Tue, 20 Dec 2005 22:20:04 +0000 (22:20 +0000)
committerGisle Vanem <gvanem@broadpark.no>
Tue, 20 Dec 2005 22:20:04 +0000 (22:20 +0000)
we just love swedish products...

lib/config-win32.h
lib/setup.h
lib/timeval.h

index 92d06e2..59dd441 100644 (file)
@@ -87,7 +87,8 @@
 #define HAVE_TIME_H 1
 
 /* Define if you have the <unistd.h> header file.  */
-#if defined(__MINGW32__) || defined(__WATCOMC__) || defined(__LCC__)
+#if defined(__MINGW32__) || defined(__WATCOMC__) || defined(__LCC__) || \
+    defined(__POCC__)
 #define HAVE_UNISTD_H 1
 #endif
 
 #define HAVE_STRSTR 1
 
 /* Define if you have the strtoll function.  */
-#if defined(__MINGW32__) || defined(__WATCOMC__)
+#if defined(__MINGW32__) || defined(__WATCOMC__) || defined(__POCC__)
 #define HAVE_STRTOLL 1
 #endif
 
 /* #define size_t unsigned */
 
 /* Define to 'int' if ssize_t is not an available 'typedefed' type */
-#if defined(__WATCOMC__) && (__WATCOMC__ >= 1240)
+#if (defined(__WATCOMC__) && (__WATCOMC__ >= 1240)) || defined(__POCC__)
 #else
 #define ssize_t int
 #endif
 #endif
 
 /* Define SIZEOF_CURL_OFF_T as computed by sizeof(curl_off_t) */
-/* Borland lacks _lseeki64(), so we don't support >2GB files. */
-#ifdef __BORLANDC__
+/* Borland/PellesC lacks _lseeki64(), so we don't support >2GB files. */
+#if defined(__BORLANDC__) || defined(__POCC__)
 #define SIZEOF_CURL_OFF_T 4
 #else
 #define SIZEOF_CURL_OFF_T 8
index e9834df..4b2bb6c 100644 (file)
 
 #endif /* HAVE_CONFIG_H */
 
-/* 
+/*
  * Include header files for windows builds before redefining anything.
- * Use this preproessor block only to include or exclude windows.h, 
- * winsock2.h, ws2tcpip.h or winsock.h. Any other windows thing belongs 
+ * Use this preproessor block only to include or exclude windows.h,
+ * winsock2.h, ws2tcpip.h or winsock.h. Any other windows thing belongs
  * to any other further and independant block.
  */
 
@@ -153,6 +153,21 @@ typedef unsigned char bool;
 #include <curl/stdcheaders.h>
 #endif
 
+/*
+ * PellesC cludge section (yikes);
+ *  - It has 'ssize_t', but it is in <unistd.h>. The way the headers
+ *    on Win32 are included, forces me to include this header here.
+ *  - sys_nerr, EINTR is missing in v4.0 or older.
+ */
+#ifdef __POCC__
+  #include <sys/types.h>
+  #include <unistd.h>
+  #if (__POCC__ <= 400)
+  #define sys_nerr EILSEQ  /* for strerror.c */
+  #define EINTR    -1      /* for select.c */
+  #endif
+#endif
+
 #if defined(CURLDEBUG) && defined(HAVE_ASSERT_H)
 #define curlassert(x) assert(x)
 #else
@@ -181,6 +196,7 @@ typedef unsigned char bool;
 #define struct_stat struct stat
 #endif /* Win32 with large file support */
 
+
 /* Below we define four functions. They should
    1. close a socket
    2. read from a socket
@@ -287,7 +303,7 @@ typedef int curl_socket_t;
 
 /* "cl -ML" or "cl -MLd" implies a single-threaded runtime library where
    _beginthreadex() is not available */
-#if defined(_MSC_VER) && !defined(_MT) && !defined(USE_ARES)
+#if (defined(_MSC_VER) && !defined(__POCC__)) && !defined(_MT) && !defined(USE_ARES)
 #undef USE_THREADING_GETADDRINFO
 #undef USE_THREADING_GETHOSTBYNAME
 #define CURL_NO__BEGINTHREADEX
index 7259523..871f0eb 100644 (file)
@@ -38,7 +38,7 @@
 
 #ifndef HAVE_GETTIMEOFDAY
 #if !defined(_WINSOCKAPI_) && !defined(__MINGW32__) && !defined(_AMIGASF) && \
-    !defined(__LCC__) && !defined(__WATCOMC__)
+    !defined(__LCC__) && !defined(__WATCOMC__) && !defined(__POCC__)
 struct timeval {
  long tv_sec;
  long tv_usec;