aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorGisle Vanem <gvanem@broadpark.no>2005-12-20 22:20:04 +0000
committerGisle Vanem <gvanem@broadpark.no>2005-12-20 22:20:04 +0000
commit7b51aafa86219025e94c9658a28f084b928f750c (patch)
treed45ee2afdcb28f6efb368ec6a1e99e550890754f /lib
parent5f487123df3557907b78f9d1ca8f29a7044af936 (diff)
Changes for PellesC compiler under Win32. A bit limited, but
we just love swedish products...
Diffstat (limited to 'lib')
-rw-r--r--lib/config-win32.h11
-rw-r--r--lib/setup.h24
-rw-r--r--lib/timeval.h2
3 files changed, 27 insertions, 10 deletions
diff --git a/lib/config-win32.h b/lib/config-win32.h
index 92d06e23d..59dd44130 100644
--- a/lib/config-win32.h
+++ b/lib/config-win32.h
@@ -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
@@ -181,7 +182,7 @@
#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
@@ -216,7 +217,7 @@
/* #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
@@ -242,8 +243,8 @@
#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
diff --git a/lib/setup.h b/lib/setup.h
index e9834df25..4b2bb6c7c 100644
--- a/lib/setup.h
+++ b/lib/setup.h
@@ -70,10 +70,10 @@
#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
diff --git a/lib/timeval.h b/lib/timeval.h
index 72595232d..871f0eb12 100644
--- a/lib/timeval.h
+++ b/lib/timeval.h
@@ -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;