Patrick Williams | b48b7b4 | 2016-08-17 15:04:38 -0500 | [diff] [blame] | 1 | Fix configure error in large file checks on 64-bit architectures |
| 2 | |
| 3 | configure:17888: checking for native large file support |
| 4 | configure:17891: error: in `/home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/work/core2-64-oe-linux/libimobiledevice/1.1.4-r0/libimobiledevice-1.1.4': |
| 5 | configure:17893: error: cannot run test program while cross compiling |
| 6 | |
| 7 | configure.ac was using AC_SYS_LARGEFILE macro as is typical, but then |
| 8 | there was an extra runtime check added beyond that: |
| 9 | check if off_t is 8 bytes (64 bits) long. |
| 10 | If that runtime check passed, _FILE_OFFSET_BITS was defined as 64. |
| 11 | |
| 12 | Runtime checks need to go away for cross compiling, and luckily this extra |
| 13 | check was not serving any useful purpose. Note that off_t was *already* |
| 14 | 64 bits, *without* setting _FILE_OFFSET_BITS, which makes _FILE_OFFSET_BITS |
| 15 | unneeded for large file support. |
| 16 | |
| 17 | If AC_SYS_LARGEFILE macro sets ac_cv_sys_file_offset_bits=no, |
| 18 | just leave _FILE_OFFSET_BITS undefined! |
| 19 | |
| 20 | --- libimobiledevice-1.1.4/configure.ac.old 2015-07-15 01:38:50.900143927 -0700 |
| 21 | +++ libimobiledevice-1.1.4/configure.ac 2015-07-15 01:39:13.300144430 -0700 |
| 22 | @@ -174,16 +174,6 @@ |
| 23 | if test "$enable_largefile" != no; then |
| 24 | if test "$ac_cv_sys_file_offset_bits" != 'no'; then |
| 25 | LFS_CFLAGS="$LFS_CFLAGS -D_FILE_OFFSET_BITS=$ac_cv_sys_file_offset_bits" |
| 26 | - else |
| 27 | - AC_MSG_CHECKING(for native large file support) |
| 28 | - AC_RUN_IFELSE([AC_LANG_SOURCE([#include <unistd.h> |
| 29 | - int main (int argc, char **argv) |
| 30 | - { |
| 31 | - exit(!(sizeof(off_t) == 8)); |
| 32 | - }])], |
| 33 | - [ac_cv_sys_file_offset_bits=64; AC_DEFINE(_FILE_OFFSET_BITS,64) |
| 34 | - AC_MSG_RESULT(yes)], |
| 35 | - [AC_MSG_RESULT(no)]) |
| 36 | fi |
| 37 | if test "$ac_cv_sys_large_files" != 'no'; then |
| 38 | LFS_CFLAGS="$LFS_CFLAGS -D_LARGE_FILES=1" |