From 938a72b2dba019eb81d942fbe85cf401a7014d21 Mon Sep 17 00:00:00 2001
From: Daniel Stenberg <daniel@haxx.se>
Date: Wed, 2 Jun 2004 11:36:07 +0000
Subject: [PATCH] Gisle's adjustments to allow building with lcc-win32

---
 include/curl/curl.h | 8 ++++----
 lib/config-win32.h  | 8 +++++++-
 lib/setup.h         | 3 ++-
 lib/timeval.h       | 3 ++-
 4 files changed, 15 insertions(+), 7 deletions(-)

diff --git a/include/curl/curl.h b/include/curl/curl.h
index 61dc14cff5..bf6a8f6c51 100644
--- a/include/curl/curl.h
+++ b/include/curl/curl.h
@@ -52,11 +52,11 @@ extern "C" {
  * platforms. We also provide a CURL_FORMAT_OFF_T define to use in *printf
  * format strings when outputting a variable of type curl_off_t.
  */
-#if defined(_MSC_VER)
+#if defined(_MSC_VER) || defined(__LCC__)
 /* MSVC */
   typedef signed __int64 curl_off_t;
 #define CURL_FORMAT_OFF_T "%I64d"
-#else /* MSC_VER */
+#else /* _MSC_VER || __LCC__ */
 #if (defined(__GNUC__) && defined(WIN32)) || defined(__WATCOMC__)
 /* gcc on windows or Watcom */
   typedef long long curl_off_t;
@@ -88,7 +88,7 @@ extern "C" {
 #define CURL_FORMAT_OFF_T "%ld"
 #endif
 #endif /* GCC or Watcom on Windows */
-#endif /* MSC_VER */
+#endif /* _MSC_VER || __LCC__ */
 
 #ifdef UNDEF_FILE_OFFSET_BITS
 /* this was defined above for our checks, undefine it again */
@@ -327,7 +327,7 @@ typedef enum {
  * platforms.
  */
 #if defined(__STDC__) || defined(_MSC_VER) || defined(__cplusplus) || \
-  defined(__HP_aCC) || defined(__BORLANDC__)
+  defined(__HP_aCC) || defined(__BORLANDC__) || defined(__LCC__)
   /* This compiler is believed to have an ISO compatible preprocessor */
 #define CURL_ISOCPP
 #else
diff --git a/lib/config-win32.h b/lib/config-win32.h
index 7eca94e44b..b1463741ea 100644
--- a/lib/config-win32.h
+++ b/lib/config-win32.h
@@ -1,6 +1,9 @@
 /* config.h.  Generated automatically by configure.  */
 /* config.h.in.  Generated automatically from configure.in by autoheader.  */
 
+#ifndef __CONFIG_WIN32_H
+#define __CONFIG_WIN32_H
+
 /* Define if on AIX 3.
    System headers sometimes define this.
    We just want to avoid a redefinition error message.  */
@@ -223,9 +226,12 @@
 /*************************************************
  * This section is for compiler specific defines.*
  *************************************************/
-#if defined(MINGW32) || defined(__WATCOMC__) /* Borland and MS don't have this */
+/* Borland and MS don't have this */
+#if defined(MINGW32) || defined(__WATCOMC__) || defined(__LCC__)
 
 /* Define if you have the <unistd.h> header file.  */
 #define HAVE_UNISTD_H 1
 
 #endif
+
+#endif
diff --git a/lib/setup.h b/lib/setup.h
index 5677bba950..2243bc9864 100644
--- a/lib/setup.h
+++ b/lib/setup.h
@@ -261,7 +261,8 @@ typedef int curl_socket_t;
 #error "ares does not yet support IPv6. Disable IPv6 or ares and rebuild"
 #endif
 
-#if defined(WIN32) && !defined(__CYGWIN__) && !defined(USE_ARES)
+#if defined(WIN32) && !defined(__CYGWIN__) && !defined(USE_ARES) && \
+    !defined(__LCC__)  /* lcc-win32 doesn't have _beginthreadex() */
 #ifdef ENABLE_IPV6
 #define USE_THREADING_GETADDRINFO
 #else
diff --git a/lib/timeval.h b/lib/timeval.h
index 856f5f4f69..67b885ac6a 100644
--- a/lib/timeval.h
+++ b/lib/timeval.h
@@ -37,7 +37,8 @@
 #endif
 
 #ifndef HAVE_GETTIMEOFDAY
-#if !defined(_WINSOCKAPI_) && !defined(__MINGW32__) && !defined(_AMIGASF)
+#if !defined(_WINSOCKAPI_) && !defined(__MINGW32__) && !defined(_AMIGASF) && \
+    !defined(__LCC__)
 struct timeval {
  long tv_sec;
  long tv_usec;
-- 
GitLab