liblzma: fix build on platforms with no SIZE_MAX defined.
Some systems don't define a SIZE_MAX (older versions of HP-UX with aCC). The logic was already in place to account for this condition but SIZEOF_SIZE_T was not getting cmoputed at configure time to allow it to function. This computes sizeof(size_t) at configure time to allow the appropriate logic to work. It also changes SIZEOF_SIZE_T to SIZE_OF_SIZE_T for consistency.
This commit is contained in:
parent
40bab8d17b
commit
996f822930
|
@ -95,6 +95,7 @@ CHECK_TYPE_SIZE("unsigned short" SIZE_OF_UNSIGNED_SHORT)
|
||||||
CHECK_TYPE_SIZE("unsigned" SIZE_OF_UNSIGNED)
|
CHECK_TYPE_SIZE("unsigned" SIZE_OF_UNSIGNED)
|
||||||
CHECK_TYPE_SIZE("unsigned long" SIZE_OF_UNSIGNED_LONG)
|
CHECK_TYPE_SIZE("unsigned long" SIZE_OF_UNSIGNED_LONG)
|
||||||
CHECK_TYPE_SIZE("unsigned long long" SIZE_OF_UNSIGNED_LONG_LONG)
|
CHECK_TYPE_SIZE("unsigned long long" SIZE_OF_UNSIGNED_LONG_LONG)
|
||||||
|
CHECK_TYPE_SIZE("size_t" SIZE_OF_SIZE_T)
|
||||||
|
|
||||||
CHECK_TYPE_SIZE("__int64" __INT64)
|
CHECK_TYPE_SIZE("__int64" __INT64)
|
||||||
CHECK_TYPE_SIZE("unsigned __int64" UNSIGNED___INT64)
|
CHECK_TYPE_SIZE("unsigned __int64" UNSIGNED___INT64)
|
||||||
|
|
|
@ -124,9 +124,9 @@
|
||||||
|
|
||||||
// The code currently assumes that size_t is either 32-bit or 64-bit.
|
// The code currently assumes that size_t is either 32-bit or 64-bit.
|
||||||
#ifndef SIZE_MAX
|
#ifndef SIZE_MAX
|
||||||
# if SIZEOF_SIZE_T == 4
|
# if SIZE_OF_SIZE_T == 4
|
||||||
# define SIZE_MAX UINT32_MAX
|
# define SIZE_MAX UINT32_MAX
|
||||||
# elif SIZEOF_SIZE_T == 8
|
# elif SIZE_OF_SIZE_T == 8
|
||||||
# define SIZE_MAX UINT64_MAX
|
# define SIZE_MAX UINT64_MAX
|
||||||
# else
|
# else
|
||||||
# error size_t is not 32-bit or 64-bit
|
# error size_t is not 32-bit or 64-bit
|
||||||
|
|
|
@ -29,6 +29,7 @@
|
||||||
@SIZE_OF_UNSIGNED_CODE@
|
@SIZE_OF_UNSIGNED_CODE@
|
||||||
@SIZE_OF_UNSIGNED_LONG_CODE@
|
@SIZE_OF_UNSIGNED_LONG_CODE@
|
||||||
@SIZE_OF_UNSIGNED_LONG_LONG_CODE@
|
@SIZE_OF_UNSIGNED_LONG_LONG_CODE@
|
||||||
|
@SIZE_OF_SIZE_T_CODE@
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* If we lack int64_t, define it to the first of __int64, int, long, and long long
|
* If we lack int64_t, define it to the first of __int64, int, long, and long long
|
||||||
|
@ -277,9 +278,6 @@ typedef uint64_t uintmax_t;
|
||||||
/* Define to 1 if the system has the type `_Bool'. */
|
/* Define to 1 if the system has the type `_Bool'. */
|
||||||
#cmakedefine HAVE__BOOL 1
|
#cmakedefine HAVE__BOOL 1
|
||||||
|
|
||||||
/* The size of `size_t', as computed by sizeof. */
|
|
||||||
#cmakedefine SIZEOF_SIZE_T @SIZEOF_SIZE_T@
|
|
||||||
|
|
||||||
/* Define to 1 if the system supports fast unaligned access to 16-bit and
|
/* Define to 1 if the system supports fast unaligned access to 16-bit and
|
||||||
32-bit integers. */
|
32-bit integers. */
|
||||||
#define TUKLIB_FAST_UNALIGNED_ACCESS 1
|
#define TUKLIB_FAST_UNALIGNED_ACCESS 1
|
||||||
|
|
Loading…
Reference in New Issue