]> git.ipfire.org Git - thirdparty/zlib-ng.git/commitdiff
avoid double definitions for LITTLE_ENDIAN and BYTE_ORDER
authorSebastian Pop <s.pop@samsung.com>
Wed, 19 Dec 2018 17:30:25 +0000 (11:30 -0600)
committerHans Kristian Rosbach <hk-github@circlestorm.org>
Wed, 9 Jan 2019 13:59:28 +0000 (14:59 +0100)
When compiling with `cmake; make` the compiler used to warn about double
definitions:

../gzendian.h:11:0: warning: "LITTLE_ENDIAN" redefined
 #  define LITTLE_ENDIAN __ORDER_LITTLE_ENDIAN__
 ^
In file included from /usr/include/x86_64-linux-gnu/bits/string2.h:51:0,
                 from /usr/include/string.h:630,
                 from ../zutil.h:24,
                 from ../deflate.h:15,
                 from ../functable.h:9,
                 from ../functable.c:7:
/usr/include/endian.h:45:0: note: this is the location of the previous definition
 # define LITTLE_ENDIAN __LITTLE_ENDIAN
 ^
In file included from ../deflate.h:16:0,
                 from ../functable.h:9,
                 from ../functable.c:7:
../gzendian.h:12:0: warning: "BYTE_ORDER" redefined
 #  define BYTE_ORDER LITTLE_ENDIAN
 ^
In file included from /usr/include/x86_64-linux-gnu/bits/string2.h:51:0,
                 from /usr/include/string.h:630,
                 from ../zutil.h:24,
                 from ../deflate.h:15,
                 from ../functable.h:9,
                 from ../functable.c:7:
/usr/include/endian.h:48:0: note: this is the location of the previous definition
 # define BYTE_ORDER __BYTE_ORDER
 ^

gzendian.h

index 3b02f57b6983a472275153077e090b61fec2465a..5ee4cd387360fb12e66933ea667694205a3df003 100644 (file)
@@ -8,11 +8,19 @@
 /* First check whether the compiler knows the target __BYTE_ORDER__. */
 #if defined(__BYTE_ORDER__)
 # if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
-#  define LITTLE_ENDIAN __ORDER_LITTLE_ENDIAN__
-#  define BYTE_ORDER LITTLE_ENDIAN
+#  if !defined(LITTLE_ENDIAN)
+#   define LITTLE_ENDIAN __ORDER_LITTLE_ENDIAN__
+#  endif
+#  if !defined(BYTE_ORDER)
+#   define BYTE_ORDER LITTLE_ENDIAN
+#  endif
 # elif __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
-#  define BIG_ENDIAN __ORDER_BIG_ENDIAN__
-#  define BYTE_ORDER BIG_ENDIAN
+#  if !defined(BIG_ENDIAN)
+#   define BIG_ENDIAN __ORDER_BIG_ENDIAN__
+#  endif
+#  if !defined(BYTE_ORDER)
+#   define BYTE_ORDER BIG_ENDIAN
+#  endif
 # endif
 #elif defined(__MINGW32__)
 # include <sys/param.h>