71a7a32ef7
for solved libtool issue and add fix for tests on big-endian arches looks good to espie@ requested, bulk-tested and ok by bernd@
62 lines
2.0 KiB
Plaintext
62 lines
2.0 KiB
Plaintext
$OpenBSD: patch-src_sqliteInt_h,v 1.3 2009/01/31 15:49:34 simon Exp $
|
|
--- src/sqliteInt.h.orig Thu Jan 15 15:01:47 2009
|
|
+++ src/sqliteInt.h Tue Jan 27 10:20:56 2009
|
|
@@ -35,11 +35,6 @@
|
|
#pragma warn -spa /* Suspicious pointer arithmetic */
|
|
#endif
|
|
|
|
-/* Needed for various definitions... */
|
|
-#ifndef _GNU_SOURCE
|
|
-# define _GNU_SOURCE
|
|
-#endif
|
|
-
|
|
/*
|
|
** Include standard header files as necessary
|
|
*/
|
|
@@ -416,33 +411,26 @@ typedef INT16_TYPE i16; /* 2-byte signed in
|
|
typedef UINT8_TYPE u8; /* 1-byte unsigned integer */
|
|
typedef INT8_TYPE i8; /* 1-byte signed integer */
|
|
|
|
-/*
|
|
-** Macros to determine whether the machine is big or little endian,
|
|
-** evaluated at runtime.
|
|
-*/
|
|
-#ifdef SQLITE_AMALGAMATION
|
|
-const int sqlite3one = 1;
|
|
+#include <sys/endian.h>
|
|
+#if _BYTE_ORDER == _BIG_ENDIAN
|
|
+#define SQLITE_BIGENDIAN 1
|
|
+#define SQLITE_LITTLEENDIAN 0
|
|
+#define SQLITE_UTF16NATIVE SQLITE_UTF16BE
|
|
+#elif _BYTE_ORDER == _LITTLE_ENDIAN
|
|
+#define SQLITE_BIGENDIAN 0
|
|
+#define SQLITE_LITTLEENDIAN 1
|
|
+#define SQLITE_UTF16NATIVE SQLITE_UTF16LE
|
|
#else
|
|
-extern const int sqlite3one;
|
|
+#error "Help, I'm trapped in a PDP11"
|
|
#endif
|
|
-#if defined(i386) || defined(__i386__) || defined(_M_IX86)\
|
|
- || defined(__x86_64) || defined(__x86_64__)
|
|
-# define SQLITE_BIGENDIAN 0
|
|
-# define SQLITE_LITTLEENDIAN 1
|
|
-# define SQLITE_UTF16NATIVE SQLITE_UTF16LE
|
|
-#else
|
|
-# define SQLITE_BIGENDIAN (*(char *)(&sqlite3one)==0)
|
|
-# define SQLITE_LITTLEENDIAN (*(char *)(&sqlite3one)==1)
|
|
-# define SQLITE_UTF16NATIVE (SQLITE_BIGENDIAN?SQLITE_UTF16BE:SQLITE_UTF16LE)
|
|
-#endif
|
|
|
|
/*
|
|
** Constants for the largest and smallest possible 64-bit signed integers.
|
|
** These macros are designed to work correctly on both 32-bit and 64-bit
|
|
** compilers.
|
|
*/
|
|
-#define LARGEST_INT64 (0xffffffff|(((i64)0x7fffffff)<<32))
|
|
-#define SMALLEST_INT64 (((i64)-1) - LARGEST_INT64)
|
|
+#define LARGEST_INT64 INT64_MAX
|
|
+#define SMALLEST_INT64 INT64_MIN
|
|
|
|
/*
|
|
** An instance of the following structure is used to store the busy-handler
|