openbsd-ports/databases/sqlite3/patches/patch-src_sqliteInt_h
nigel 4bb6465024 Update to v3.7.9 required for firefox, chrome
regression tests run on amd64,i386 and sparc64 by sthen@ thanks.

Ok sthen@
2011-12-21 00:38:11 +00:00

62 lines
1.9 KiB
Plaintext

$OpenBSD: patch-src_sqliteInt_h,v 1.9 2011/12/21 00:38:11 nigel Exp $
--- src/sqliteInt.h.orig Tue Nov 1 12:31:18 2011
+++ src/sqliteInt.h Sun Dec 18 11:43:24 2011
@@ -61,11 +61,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
*/
@@ -456,33 +451,26 @@ typedef INT8_TYPE i8; /* 1-byte signed in
typedef u32 tRowcnt; /* 32-bit is the default */
#endif
-/*
-** 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
/*
** Round up a number to the next larger multiple of 8. This is used