]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
Fix Pelles C Win32 target compilation issues
authorYang Tse <yangsita@gmail.com>
Tue, 27 Oct 2009 16:38:42 +0000 (16:38 +0000)
committerYang Tse <yangsita@gmail.com>
Tue, 27 Oct 2009 16:38:42 +0000 (16:38 +0000)
ares/config-win32.h
ares/setup.h
lib/amigaos.c
lib/config-win32.h
lib/easy.c
lib/nwlib.c
lib/nwos.c
lib/setup.h
src/config-win32.h
src/main.c

index 6f2fbc2bc0a95733274082632ed7744408440604..7499f3ce746875039f30cfebae9f688e077b447e 100644 (file)
 /* ---------------------------------------------------------------- */
 
 /* Define if you have the <getopt.h> header file.  */
-#if defined(__MINGW32__)
+#if defined(__MINGW32__) || defined(__POCC__)
 #define HAVE_GETOPT_H 1
 #endif
 
 /* Define if you have the <limits.h> header file.  */
 #define HAVE_LIMITS_H 1
 
+/* Define if you have the <process.h> header file.  */
+#ifndef __SALFORDC__
+#define HAVE_PROCESS_H 1
+#endif
+
 /* Define if you have the <signal.h> header file. */
 #define HAVE_SIGNAL_H 1
 
@@ -41,9 +46,6 @@
 /* Define if you have the <time.h> header file.  */
 #define HAVE_TIME_H 1
 
-/* Define if you have the <process.h> header file.  */
-#define HAVE_PROCESS_H 1
-
 /* Define if you have the <unistd.h> header file.  */
 #if defined(__MINGW32__) || defined(__WATCOMC__) || defined(__LCC__) || \
     defined(__POCC__)
 #define HAVE_WINSOCK_H 1
 
 /* Define if you have the <winsock2.h> header file.  */
+#ifndef __SALFORDC__
 #define HAVE_WINSOCK2_H 1
+#endif
 
 /* Define if you have the <ws2tcpip.h> header file.  */
+#ifndef __SALFORDC__
 #define HAVE_WS2TCPIP_H 1
+#endif
 
 /* ---------------------------------------------------------------- */
 /*                        OTHER HEADER INFO                         */
@@ -79,6 +85,9 @@
 /*                             FUNCTIONS                            */
 /* ---------------------------------------------------------------- */
 
+/* Define if you have the gethostname function.  */
+#define HAVE_GETHOSTNAME 1
+
 /* Define if you have the ioctlsocket function. */
 #define HAVE_IOCTLSOCKET 1
 
 /* Define if you have the strnicmp function. */
 #define HAVE_STRNICMP 1
 
-/* Define if you have the gethostname function.  */
-#define HAVE_GETHOSTNAME 1
-
 /* Define if you have the recv function. */
 #define HAVE_RECV 1
 
 
 /* Define ssize_t if it is not an available 'typedefed' type */
 #ifndef _SSIZE_T_DEFINED
-#if (defined(__WATCOMC__) && (__WATCOMC__ >= 1240)) || defined(__POCC__) || \
-    defined(__MINGW32__)
-#elif defined(_WIN64)
-#define ssize_t __int64
-#else
-#define ssize_t int
-#endif
-#define _SSIZE_T_DEFINED
+#  if (defined(__WATCOMC__) && (__WATCOMC__ >= 1240)) || \
+      defined(__POCC__) || \
+      defined(__MINGW32__)
+#  elif defined(_WIN64)
+#    define _SSIZE_T_DEFINED
+#    define ssize_t __int64
+#  else
+#    define _SSIZE_T_DEFINED
+#    define ssize_t int
+#  endif
 #endif
 
 /* ---------------------------------------------------------------- */
 #define HAVE_STRUCT_ADDRINFO 1
 
 /* Define this if you have struct sockaddr_storage */
+#ifndef __SALFORDC__
 #define HAVE_STRUCT_SOCKADDR_STORAGE 1
+#endif
 
 /* Define this if you have struct timeval */
 #define HAVE_STRUCT_TIMEVAL 1
 #  endif
 #endif
 
-/* Availability of freeaddrinfo, getaddrinfo and getnameinfo functions is quite */
-/* convoluted, compiler dependant and in some cases even build target dependat. */
+/* When no build target is specified Pelles C 5.00 and later default build
+   target is Windows Vista. We override default target to be Windows 2000. */
+#if defined(__POCC__) && (__POCC__ >= 500)
+#  ifndef _WIN32_WINNT
+#    define _WIN32_WINNT 0x0500
+#  endif
+#  ifndef WINVER
+#    define WINVER 0x0500
+#  endif
+#endif
+
+/* Availability of freeaddrinfo, getaddrinfo and getnameinfo functions is
+   quite convoluted, compiler dependent and even build target dependent. */
 #if defined(HAVE_WS2TCPIP_H)
-#  if defined(_WIN32_WINNT) && (_WIN32_WINNT >= 0x0501)
+#  if defined(__POCC__)
+#    define HAVE_FREEADDRINFO 1
+#    define HAVE_GETADDRINFO  1
+#    define HAVE_GETNAMEINFO  1
+#  elif defined(_WIN32_WINNT) && (_WIN32_WINNT >= 0x0501)
 #    define HAVE_FREEADDRINFO 1
 #    define HAVE_GETADDRINFO  1
 #    define HAVE_GETNAMEINFO  1
 #  endif
 #endif
 
+#if defined(__POCC__)
+#  ifndef _MSC_VER
+#    error Microsoft extensions /Ze compiler option is required
+#  endif
+#  ifndef __POCC__OLDNAMES
+#    error Compatibility names /Go compiler option is required
+#  endif
+#endif
+
 /* ---------------------------------------------------------------- */
 /*                         IPV6 COMPATIBILITY                       */
 /* ---------------------------------------------------------------- */
index 69ee510e66006b64db317457297fcb470e34cff5..e15e999c2eeab0d66b2f9c2254f7efca7fc5cfc4 100644 (file)
 
 #endif /* HAVE_CONFIG_H */
 
+#ifdef __POCC__
+#  include <sys/types.h>
+#  include <unistd.h>
+#  define ESRCH 3
+#endif
+
 /*
  * Recent autoconf versions define these symbols in ares_config.h. We don't
  * want them (since they collide with the libcurl ones when we build
index c7438a4ebf0960611cf7a25134638d460258e4d7..0e3445d818eeaf056d16fce2c5d75b2c3293d84a 100644 (file)
@@ -5,7 +5,7 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2007, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2009, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
@@ -72,4 +72,10 @@ BOOL amiga_init()
 ADD2EXIT(amiga_cleanup,-50);
 #endif
 
+#else /* __AMIGA__ */
+
+#ifdef __POCC__
+#  pragma warn(disable:2024)  /* Disable warning #2024: Empty input file */
+#endif
+
 #endif /* __AMIGA__ */
index dd81ee1f7b985b3b62e27eb68f5dde6c169ca8a9..dbc44eec839d8756a051b2ef8dafe518a349be07 100644 (file)
@@ -34,7 +34,7 @@
 #define HAVE_LIMITS_H 1
 
 /* Define if you need the malloc.h header file even with stdlib.h  */
-#ifndef __SALFORDC__
+#if !defined(__SALFORDC__) && !defined(__POCC__)
 #define NEED_MALLOC_H 1
 #endif
 
@@ -82,7 +82,7 @@
 /* Define if you have the <sys/types.h> header file.  */
 #define HAVE_SYS_TYPES_H 1
 
-/* Define if you have the <sys/utime.h> header file */
+/* Define if you have the <sys/utime.h> header file */
 #ifndef __BORLANDC__
 #define HAVE_SYS_UTIME_H 1
 #endif
 /* Define if you have the <winsock.h> header file.  */
 #define HAVE_WINSOCK_H 1
 
-#ifndef __SALFORDC__
 /* Define if you have the <winsock2.h> header file.  */
+#ifndef __SALFORDC__
 #define HAVE_WINSOCK2_H 1
+#endif
 
 /* Define if you have the <ws2tcpip.h> header file.  */
+#ifndef __SALFORDC__
 #define HAVE_WS2TCPIP_H 1
 #endif
 
 
 /* Define ssize_t if it is not an available 'typedefed' type */
 #ifndef _SSIZE_T_DEFINED
-#if (defined(__WATCOMC__) && (__WATCOMC__ >= 1240)) || defined(__POCC__) || \
-    defined(__MINGW32__)
-#elif defined(_WIN64)
-#define ssize_t __int64
-#else
-#define ssize_t int
-#endif
-#define _SSIZE_T_DEFINED
+#  if (defined(__WATCOMC__) && (__WATCOMC__ >= 1240)) || \
+      defined(__POCC__) || \
+      defined(__MINGW32__)
+#  elif defined(_WIN64)
+#    define _SSIZE_T_DEFINED
+#    define ssize_t __int64
+#  else
+#    define _SSIZE_T_DEFINED
+#    define ssize_t int
+#  endif
 #endif
 
 /* ---------------------------------------------------------------- */
 #  endif
 #endif
 
+/* When no build target is specified Pelles C 5.00 and later default build
+   target is Windows Vista. We override default target to be Windows 2000. */
+#if defined(__POCC__) && (__POCC__ >= 500)
+#  ifndef _WIN32_WINNT
+#    define _WIN32_WINNT 0x0500
+#  endif
+#  ifndef WINVER
+#    define WINVER 0x0500
+#  endif
+#endif
+
 /* Availability of freeaddrinfo, getaddrinfo and getnameinfo functions is
-   quite convoluted, compiler dependant and in some cases even build target
-   dependant. */
+   quite convoluted, compiler dependent and even build target dependent. */
 #if defined(HAVE_WS2TCPIP_H)
-#  if defined(_WIN32_WINNT) && (_WIN32_WINNT >= 0x0501)
+#  if defined(__POCC__)
+#    define HAVE_FREEADDRINFO 1
+#    define HAVE_GETADDRINFO  1
+#    define HAVE_GETNAMEINFO  1
+#  elif defined(_WIN32_WINNT) && (_WIN32_WINNT >= 0x0501)
 #    define HAVE_FREEADDRINFO 1
 #    define HAVE_GETADDRINFO  1
 #    define HAVE_GETNAMEINFO  1
 #  endif
 #endif
 
+#if defined(__POCC__)
+#  ifndef _MSC_VER
+#    error Microsoft extensions /Ze compiler option is required
+#  endif
+#  ifndef __POCC__OLDNAMES
+#    error Compatibility names /Go compiler option is required
+#  endif
+#endif
+
 /* ---------------------------------------------------------------- */
 /*                        LARGE FILE SUPPORT                        */
 /* ---------------------------------------------------------------- */
 #  define USE_WIN32_LARGE_FILES
 #endif
 
+#if defined(__POCC__)
+#  undef USE_WIN32_LARGE_FILES
+#endif
+
 #if !defined(USE_WIN32_LARGE_FILES) && !defined(USE_WIN32_SMALL_FILES)
 #  define USE_WIN32_SMALL_FILES
 #endif
 #define CURL_LDAP_WIN 1
 #endif
 
+#if defined(__POCC__) && defined(CURL_LDAP_WIN)
+#  define CURL_DISABLE_LDAP 1
+#endif
+
 /* ---------------------------------------------------------------- */
 /*                       ADDITIONAL DEFINITIONS                     */
 /* ---------------------------------------------------------------- */
 /* Name of package */
 #define PACKAGE "curl"
 
+#if defined(__POCC__)
+#  define ENABLE_IPV6 1
+#endif
 
 #endif /* __LIB_CONFIG_WIN32_H */
index ff808f9a53cd4f312bb6db0db564e6293137f913..0fee13f3e8a42bd877ac3035c7db5846445708fe 100644 (file)
@@ -206,7 +206,7 @@ static long          init_flags;
 #define system_strdup strdup
 #endif
 
-#if defined(_MSC_VER) && defined(_DLL)
+#if defined(_MSC_VER) && defined(_DLL) && !defined(__POCC__)
 #  pragma warning(disable:4232) /* MSVC extension, dllimport identity */
 #endif
 
@@ -232,7 +232,7 @@ curl_strdup_callback Curl_cstrdup;
 curl_calloc_callback Curl_ccalloc;
 #endif
 
-#if defined(_MSC_VER) && defined(_DLL)
+#if defined(_MSC_VER) && defined(_DLL) && !defined(__POCC__)
 #  pragma warning(default:4232) /* MSVC extension, dllimport identity */
 #endif
 
index 185042b29b196cb99dcd9755e0dc13d8c119a9b5..cb1c5dd02f74440e284452a07dca6b95da3a345e 100644 (file)
@@ -5,7 +5,7 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2008, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2009, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
@@ -319,4 +319,10 @@ int main ( void )
 
 #endif /* __NOVELL_LIBC__ */
 
+#else /* NETWARE */
+
+#ifdef __POCC__
+#  pragma warn(disable:2024)  /* Disable warning #2024: Empty input file */
+#endif
+
 #endif /* NETWARE */
index d9bfcf15eebc7bc94cfe107f4144828ab2db8662..399580c829c42cae427aa048747b1396eca466f7 100644 (file)
@@ -5,7 +5,7 @@
  *                            | (__| |_| |  _ <| |___
  *                             \___|\___/|_| \_\_____|
  *
- * Copyright (C) 1998 - 2007, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2009, Daniel Stenberg, <daniel@haxx.se>, et al.
  *
  * This software is licensed as described in the file COPYING, which
  * you should have received as part of this distribution. The terms
@@ -87,6 +87,10 @@ int __deinit_environment ( void )
 
 #endif /* __NOVELL_LIBC__ */
 
-#endif /* NETWARE */
+#else /* NETWARE */
 
+#ifdef __POCC__
+#  pragma warn(disable:2024)  /* Disable warning #2024: Empty input file */
+#endif
 
+#endif /* NETWARE */
index 7efc6104c7c696a0d6f5f31c0006275a384f7921..5f0de9050771812f3020a3172e6d1c0473a535d3 100644 (file)
 #include <curl/stdcheaders.h>
 #endif
 
-/*
- * PellesC kludge 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
+#  include <sys/types.h>
+#  include <unistd.h>
+#  define sys_nerr EILSEQ
 #endif
 
 /*
  * are available if PSDK is properly installed.
  */
 
-#ifdef _MSC_VER
+#if defined(_MSC_VER) && !defined(__POCC__)
 #  if !defined(HAVE_WINSOCK2_H) || ((_MSC_VER < 1300) && !defined(IPPROTO_ESP))
 #    undef HAVE_STRUCT_SOCKADDR_STORAGE
 #  endif
  * defined in ws2tcpip.h as well as to provide IPv6 support.
  */
 
-#ifdef _MSC_VER
+#if defined(_MSC_VER) && !defined(__POCC__)
 #  if !defined(HAVE_WS2TCPIP_H) || ((_MSC_VER < 1300) && !defined(INET6_ADDRSTRLEN))
 #    undef HAVE_FREEADDRINFO
 #    undef HAVE_GETADDRINFO
index 8311fe75548ede1c6631d2e016567bd5ba194485..ccd589688ea398e8d1659634b926798034f54977 100644 (file)
 /* Define if you have the <locale.h> header file.  */
 #define HAVE_LOCALE_H 1
 
+/* Define if you need the malloc.h header file even with stdlib.h  */
+#if !defined(__SALFORDC__) && !defined(__POCC__)
+#define NEED_MALLOC_H 1
+#endif
+
 /* Define if you have the <signal.h> header file. */
 #define HAVE_SIGNAL_H 1
 
+/* Define if you have the <stdlib.h> header file.  */
+#define HAVE_STDLIB_H 1
+
 /* Define if you have the <sys/time.h> header file */
 /* #define HAVE_SYS_TIME_H 1 */
 
 /* Define if you have the <sys/types.h> header file.  */
 #define HAVE_SYS_TYPES_H 1
 
-/* Define if you have the <time.h> header file.  */
-#define HAVE_TIME_H 1
-
 /* Define if you have the <sys/utime.h> header file.  */
 #ifndef __BORLANDC__
 #define HAVE_SYS_UTIME_H 1
 #endif
 
+/* Define if you have the <time.h> header file.  */
+#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_WINSOCK_H 1
 
 /* Define if you have the <winsock2.h> header file.  */
+#ifndef __SALFORDC__
 #define HAVE_WINSOCK2_H 1
+#endif
 
 /* Define if you have the <ws2tcpip.h> header file.  */
+#ifndef __SALFORDC__
 #define HAVE_WS2TCPIP_H 1
+#endif
 
 /* ---------------------------------------------------------------- */
 /*                        OTHER HEADER INFO                         */
 
 /* Define ssize_t if it is not an available 'typedefed' type */
 #ifndef _SSIZE_T_DEFINED
-#if (defined(__WATCOMC__) && (__WATCOMC__ >= 1240)) || defined(__POCC__) || \
-    defined(__MINGW32__)
-#elif defined(_WIN64)
-#define ssize_t __int64
-#else
-#define ssize_t int
-#endif
-#define _SSIZE_T_DEFINED
+#  if (defined(__WATCOMC__) && (__WATCOMC__ >= 1240)) || \
+      defined(__POCC__) || \
+      defined(__MINGW32__)
+#  elif defined(_WIN64)
+#    define _SSIZE_T_DEFINED
+#    define ssize_t __int64
+#  else
+#    define _SSIZE_T_DEFINED
+#    define ssize_t int
+#  endif
 #endif
 
 /* ---------------------------------------------------------------- */
 #  endif
 #endif
 
+/* When no build target is specified Pelles C 5.00 and later default build
+   target is Windows Vista. We override default target to be Windows 2000. */
+#if defined(__POCC__) && (__POCC__ >= 500)
+#  ifndef _WIN32_WINNT
+#    define _WIN32_WINNT 0x0500
+#  endif
+#  ifndef WINVER
+#    define WINVER 0x0500
+#  endif
+#endif
+
 /* Availability of freeaddrinfo, getaddrinfo and getnameinfo functions is
-   quite convoluted, compiler dependant and in some cases even build target
-   dependant. */
+   quite convoluted, compiler dependent and even build target dependent. */
 #if defined(HAVE_WS2TCPIP_H)
-#  if defined(_WIN32_WINNT) && (_WIN32_WINNT >= 0x0501)
+#  if defined(__POCC__)
+#    define HAVE_FREEADDRINFO 1
+#    define HAVE_GETADDRINFO  1
+#    define HAVE_GETNAMEINFO  1
+#  elif defined(_WIN32_WINNT) && (_WIN32_WINNT >= 0x0501)
 #    define HAVE_FREEADDRINFO 1
 #    define HAVE_GETADDRINFO  1
 #    define HAVE_GETNAMEINFO  1
 #  endif
 #endif
 
+#if defined(__POCC__)
+#  ifndef _MSC_VER
+#    error Microsoft extensions /Ze compiler option is required
+#  endif
+#  ifndef __POCC__OLDNAMES
+#    error Compatibility names /Go compiler option is required
+#  endif
+#endif
+
 /* ---------------------------------------------------------------- */
 /*                        LARGE FILE SUPPORT                        */
 /* ---------------------------------------------------------------- */
 #  define USE_WIN32_LARGE_FILES
 #endif
 
+#if defined(__POCC__)
+#  undef USE_WIN32_LARGE_FILES
+#endif
+
 #if !defined(USE_WIN32_LARGE_FILES) && !defined(USE_WIN32_SMALL_FILES)
 #  define USE_WIN32_SMALL_FILES
 #endif
 /* Define to 1 if you want the built-in manual */
 #define USE_MANUAL 1
 
+#if defined(__POCC__)
+#  define ENABLE_IPV6 1
+#endif
 
 #endif /* __SRC_CONFIG_WIN32_H */
index 4462b7d6e9bba4c29d9ba7dbee9d97aaee2a8ca2..fed1e1fccc3b6a3f0894137a0a209c412afd504d 100644 (file)
@@ -264,10 +264,12 @@ typedef enum {
 
 #ifdef WIN32
 #  include <direct.h>
-#  define F_OK 0
 #  define mkdir(x,y) (mkdir)(x)
 #  undef  PATH_MAX
 #  define PATH_MAX MAX_PATH
+#  ifndef __POCC__
+#    define F_OK 0
+#  endif
 #endif
 
 /*
@@ -407,18 +409,29 @@ char convert_char(curl_infotype infotype, char this_char)
 #endif /* CURL_DOES_CONVERSIONS */
 
 #ifdef WIN32
-/*
- * Truncate a file handle at a 64-bit position 'where'.
- * Borland doesn't even support 64-bit types.
- */
+
 #ifdef __BORLANDC__
-#define _lseeki64(hnd,ofs,whence) lseek(hnd,ofs,whence)
+   /* 64-bit lseek-like function unavailable */
+#  define _lseeki64(hnd,ofs,whence) lseek(hnd,ofs,whence)
+#endif
+
+#ifdef __POCC__
+#  if (__POCC__ < 450)
+     /* 64-bit lseek-like function unavailable */
+#    define _lseeki64(hnd,ofs,whence) _lseek(hnd,ofs,whence)
+#  else
+#    define _lseeki64(hnd,ofs,whence) _lseek64(hnd,ofs,whence)
+#  endif
 #endif
 
 #ifndef HAVE_FTRUNCATE
 #define HAVE_FTRUNCATE 1
 #endif
 
+/*
+ * Truncate a file handle at a 64-bit position 'where'.
+ */
+
 static int ftruncate64 (int fd, curl_off_t where)
 {
   if(_lseeki64(fd, where, SEEK_SET) < 0)
@@ -430,7 +443,8 @@ static int ftruncate64 (int fd, curl_off_t where)
   return 0;
 }
 #define ftruncate(fd,where) ftruncate64(fd,where)
-#endif
+
+#endif /* WIN32 */
 
 typedef enum {
   TRACE_NONE,  /* no trace/verbose output at all! */