ares_build.h.dist: enhance non-configure GCC ABI detection logic
authorYang Tse <yangsita@gmail.com>
Sun, 10 Mar 2013 03:50:21 +0000 (04:50 +0100)
committerYang Tse <yangsita@gmail.com>
Sun, 10 Mar 2013 20:28:35 +0000 (21:28 +0100)
GCC specific adjustments:

- check __ILP32__ before 32 and 64bit processor architectures in
  order to detect ILP32 programming model on 64 bit processors
  which, of course, also support LP64 programming model, when using
  gcc 4.7 or newer.

- keep 32bit processor architecture checks in order to support gcc
  versions older than 4.7 which don't define __ILP32__

- check __LP64__ for gcc 3.3 and newer, while keeping 64bit processor
  architecture checks for older versions which don't define __LP64__

ares_build.h.dist

index 2736cff..afcb75a 100644 (file)
@@ -2,7 +2,7 @@
 #define __CARES_BUILD_H
 
 
-/* Copyright (C) 2009 - 2010 by Daniel Stenberg et al
+/* Copyright (C) 2009 - 2013 by Daniel Stenberg et al
  *
  * Permission to use, copy, modify, and distribute this software and its
  * documentation for any purpose and without fee is hereby granted, provided
 /* ===================================== */
 
 #elif defined(__GNUC__)
-#  if defined(__i386__) || defined(__ppc__)
+#  if defined(__ILP32__) || \
+      defined(__i386__) || defined(__ppc__) || defined(__arm__)
 #    define CARES_SIZEOF_LONG           4
-#  elif defined(__x86_64__) || defined(__ppc64__)
+#  elif defined(__LP64__) || \
+        defined(__x86_64__) || defined(__ppc64__)
 #    define CARES_SIZEOF_LONG           8
 #  endif
 #  define CARES_TYPEOF_ARES_SOCKLEN_T socklen_t