build: move platform stuff to ares_platform.c and ares_platform.h
authorYang Tse <yangsita@gmail.com>
Thu, 24 Mar 2011 10:31:50 +0000 (11:31 +0100)
committerYang Tse <yangsita@gmail.com>
Thu, 24 Mar 2011 10:31:50 +0000 (11:31 +0100)
Makefile.inc
ares_gethostbyaddr.c
ares_gethostbyname.c
ares_init.c
ares_platform.c [new file with mode: 0644]
ares_platform.h [new file with mode: 0644]
ares_private.h
vc/cares/vc6cares.dsp
windows_port.c

index 13dcb07..ab4fc19 100644 (file)
@@ -29,6 +29,7 @@ CSOURCES = ares__close_sockets.c      \
   ares_parse_ptr_reply.c               \
   ares_parse_srv_reply.c               \
   ares_parse_txt_reply.c               \
+  ares_platform.c                      \
   ares_process.c                       \
   ares_query.c                         \
   ares_search.c                                \
@@ -53,6 +54,7 @@ HHEADERS = ares.h                     \
   ares_library_init.h                  \
   ares_llist.h                         \
   ares_nowarn.h                                \
+  ares_platform.h                      \
   ares_private.h                       \
   ares_rules.h                         \
   ares_strcasecmp.h                    \
index 2945c4b..e5088b7 100644 (file)
@@ -42,6 +42,7 @@
 
 #include "ares.h"
 #include "inet_net_pton.h"
+#include "ares_platform.h"
 #include "ares_private.h"
 
 #ifdef WATT32
index 6599c08..5339fee 100644 (file)
@@ -48,6 +48,7 @@
 #include "ares.h"
 #include "inet_net_pton.h"
 #include "bitncmp.h"
+#include "ares_platform.h"
 #include "ares_private.h"
 
 #ifdef WATT32
index 108238e..afcd8d6 100644 (file)
@@ -67,6 +67,7 @@
 #include "inet_net_pton.h"
 #include "ares_library_init.h"
 #include "ares_nowarn.h"
+#include "ares_platform.h"
 #include "ares_private.h"
 
 #ifdef ANDROID
diff --git a/ares_platform.c b/ares_platform.c
new file mode 100644 (file)
index 0000000..0fe2675
--- /dev/null
@@ -0,0 +1,61 @@
+
+
+/* Copyright 1998 by the Massachusetts Institute of Technology.
+ *
+ * Permission to use, copy, modify, and distribute this
+ * software and its documentation for any purpose and without
+ * fee is hereby granted, provided that the above copyright
+ * notice appear in all copies and that both that copyright
+ * notice and this permission notice appear in supporting
+ * documentation, and that the name of M.I.T. not be used in
+ * advertising or publicity pertaining to distribution of the
+ * software without specific, written prior permission.
+ * M.I.T. makes no representations about the suitability of
+ * this software for any purpose.  It is provided "as is"
+ * without express or implied warranty.
+ */
+
+#include "ares_setup.h"
+#include "ares_platform.h"
+
+#if defined(WIN32) && !defined(MSDOS)
+
+#define V_PLATFORM_WIN32s         0
+#define V_PLATFORM_WIN32_WINDOWS  1
+#define V_PLATFORM_WIN32_NT       2
+#define V_PLATFORM_WIN32_CE       3
+
+win_platform getplatform(void)
+{
+  OSVERSIONINFOEX OsvEx;
+
+  memset(&OsvEx, 0, sizeof(OsvEx));
+  OsvEx.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX);
+  if (!GetVersionEx((void *)&OsvEx))
+    {
+      memset(&OsvEx, 0, sizeof(OsvEx));
+      OsvEx.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
+      if (!GetVersionEx((void *)&OsvEx))
+        return WIN_UNKNOWN;
+    }
+
+  switch(OsvEx.dwPlatformId)
+    {
+      case V_PLATFORM_WIN32s:
+        return WIN_3X;
+
+      case V_PLATFORM_WIN32_WINDOWS:
+        return WIN_9X;
+
+      case V_PLATFORM_WIN32_NT:
+        return WIN_NT;
+
+      case V_PLATFORM_WIN32_CE:
+        return WIN_CE;
+
+      default:
+        return WIN_UNKNOWN;
+    }
+}
+
+#endif
diff --git a/ares_platform.h b/ares_platform.h
new file mode 100644 (file)
index 0000000..1a23ce9
--- /dev/null
@@ -0,0 +1,36 @@
+#ifndef HEADER_CARES_PLATFORM_H
+#define HEADER_CARES_PLATFORM_H
+
+
+/* Copyright 1998 by the Massachusetts Institute of Technology.
+ *
+ * Permission to use, copy, modify, and distribute this
+ * software and its documentation for any purpose and without
+ * fee is hereby granted, provided that the above copyright
+ * notice appear in all copies and that both that copyright
+ * notice and this permission notice appear in supporting
+ * documentation, and that the name of M.I.T. not be used in
+ * advertising or publicity pertaining to distribution of the
+ * software without specific, written prior permission.
+ * M.I.T. makes no representations about the suitability of
+ * this software for any purpose.  It is provided "as is"
+ * without express or implied warranty.
+ */
+
+#include "ares_setup.h"
+
+#if defined(WIN32) && !defined(MSDOS)
+
+typedef enum {
+  WIN_UNKNOWN,
+  WIN_3X,
+  WIN_9X,
+  WIN_NT,
+  WIN_CE
+} win_platform;
+
+extern win_platform getplatform(void);
+
+#endif
+
+#endif /* HEADER_CARES_PLATFORM_H */
index 78f3a1c..0739ed6 100644 (file)
@@ -344,20 +344,6 @@ long ares__tvdiff(struct timeval t1, struct timeval t2);
       (c)->sock_state_cb((c)->sock_state_cb_data, (s), (r), (w));       \
   } while (0)
 
-#if (defined(WIN32) || defined(WATT32)) && !defined(MSDOS)
-
-typedef enum {
-  WIN_UNKNOWN,
-  WIN_3X,
-  WIN_9X,
-  WIN_NT,
-  WIN_CE
-} win_platform;
-
-win_platform getplatform(void);
-
-#endif
-
 #ifdef CURLDEBUG
 /* This is low-level hard-hacking memory leak tracking and similar. Using the
    libcurl lowlevel code from within library is ugly and only works when
index dc124ff..575e1db 100644 (file)
@@ -270,6 +270,10 @@ SOURCE=..\..\ares_parse_txt_reply.c
 # End Source File\r
 # Begin Source File\r
 \r
+SOURCE=..\..\ares_platform.c\r
+# End Source File\r
+# Begin Source File\r
+\r
 SOURCE=..\..\ares_process.c\r
 # End Source File\r
 # Begin Source File\r
@@ -366,6 +370,10 @@ SOURCE=..\..\ares_nowarn.h
 # End Source File\r
 # Begin Source File\r
 \r
+SOURCE=..\..\ares_platform.h\r
+# End Source File\r
+# Begin Source File\r
+\r
 SOURCE=..\..\ares_private.h\r
 # End Source File\r
 # Begin Source File\r
index 6a48f08..03acd1c 100644 (file)
@@ -1,6 +1,5 @@
 #include "ares_setup.h"
 
-#include "ares_private.h"
 
 /* only do the following on windows
  */
@@ -20,42 +19,4 @@ WINAPI DllMain (HINSTANCE hnd, DWORD reason, LPVOID reserved)
 }
 #endif
 
-#define V_PLATFORM_WIN32s         0
-#define V_PLATFORM_WIN32_WINDOWS  1
-#define V_PLATFORM_WIN32_NT       2
-#define V_PLATFORM_WIN32_CE       3
-
-win_platform getplatform(void)
-{
-  OSVERSIONINFOEX OsvEx;
-
-  memset(&OsvEx, 0, sizeof(OsvEx));
-  OsvEx.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX);
-  if (!GetVersionEx((void *)&OsvEx))
-    {
-      memset(&OsvEx, 0, sizeof(OsvEx));
-      OsvEx.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
-      if (!GetVersionEx((void *)&OsvEx))
-        return WIN_UNKNOWN;
-    }
-
-  switch(OsvEx.dwPlatformId)
-    {
-      case V_PLATFORM_WIN32s:
-        return WIN_3X;
-
-      case V_PLATFORM_WIN32_WINDOWS:
-        return WIN_9X;
-
-      case V_PLATFORM_WIN32_NT:
-        return WIN_NT;
-
-      case V_PLATFORM_WIN32_CE:
-        return WIN_CE;
-
-      default:
-        return WIN_UNKNOWN;
-    }
-}
-
 #endif /* WIN32 builds only */