aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorS. Lockwood-Childs <sjl@vctlabs.com>2015-07-17 17:38:12 -0700
committerMartin Jansa <Martin.Jansa@gmail.com>2015-07-30 21:23:42 +0200
commit15f783cc65bdbe1c8a65384fd16b1f31be199754 (patch)
treeb7328248e9584d64ab8dd6c93f05ac758f55a60c
parent0b1c142fe30259718e003d2077ddd6c5691b2f49 (diff)
downloadmeta-openembedded-contrib-15f783cc65bdbe1c8a65384fd16b1f31be199754.tar.gz
meta-openembedded-contrib-15f783cc65bdbe1c8a65384fd16b1f31be199754.tar.bz2
meta-openembedded-contrib-15f783cc65bdbe1c8a65384fd16b1f31be199754.zip
libimobiledevice: remove runtime configure check
configure.ac had a runtime check for large file support that got run on 64-bit architectures, and all runtime checks must go away to be cross-compile safe. Luckily that runtime check was extraneous, so just remove it; standard AC_SYS_LARGEFILE macro should be sufficient for figuring out proper settings to get large file support. Also un-blacklist libimobiledevice, since this problem was the reason for the blacklist. Signed-off-by: S. Lockwood-Childs <sjl@vctlabs.com> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
-rw-r--r--meta-oe/recipes-connectivity/libimobiledevice/files/configure-fix-largefile.patch38
-rw-r--r--meta-oe/recipes-connectivity/libimobiledevice/libimobiledevice_1.1.4.bb6
2 files changed, 39 insertions, 5 deletions
diff --git a/meta-oe/recipes-connectivity/libimobiledevice/files/configure-fix-largefile.patch b/meta-oe/recipes-connectivity/libimobiledevice/files/configure-fix-largefile.patch
new file mode 100644
index 0000000000..679a8b597a
--- /dev/null
+++ b/meta-oe/recipes-connectivity/libimobiledevice/files/configure-fix-largefile.patch
@@ -0,0 +1,38 @@
+Fix configure error in large file checks on 64-bit architectures
+
+ configure:17888: checking for native large file support
+ 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':
+ configure:17893: error: cannot run test program while cross compiling
+
+configure.ac was using AC_SYS_LARGEFILE macro as is typical, but then
+there was an extra runtime check added beyond that:
+check if off_t is 8 bytes (64 bits) long.
+If that runtime check passed, _FILE_OFFSET_BITS was defined as 64.
+
+Runtime checks need to go away for cross compiling, and luckily this extra
+check was not serving any useful purpose. Note that off_t was *already*
+64 bits, *without* setting _FILE_OFFSET_BITS, which makes _FILE_OFFSET_BITS
+unneeded for large file support.
+
+If AC_SYS_LARGEFILE macro sets ac_cv_sys_file_offset_bits=no,
+just leave _FILE_OFFSET_BITS undefined!
+
+--- libimobiledevice-1.1.4/configure.ac.old 2015-07-15 01:38:50.900143927 -0700
++++ libimobiledevice-1.1.4/configure.ac 2015-07-15 01:39:13.300144430 -0700
+@@ -174,16 +174,6 @@
+ if test "$enable_largefile" != no; then
+ if test "$ac_cv_sys_file_offset_bits" != 'no'; then
+ LFS_CFLAGS="$LFS_CFLAGS -D_FILE_OFFSET_BITS=$ac_cv_sys_file_offset_bits"
+- else
+- AC_MSG_CHECKING(for native large file support)
+- AC_RUN_IFELSE([AC_LANG_SOURCE([#include <unistd.h>
+- int main (int argc, char **argv)
+- {
+- exit(!(sizeof(off_t) == 8));
+- }])],
+- [ac_cv_sys_file_offset_bits=64; AC_DEFINE(_FILE_OFFSET_BITS,64)
+- AC_MSG_RESULT(yes)],
+- [AC_MSG_RESULT(no)])
+ fi
+ if test "$ac_cv_sys_large_files" != 'no'; then
+ LFS_CFLAGS="$LFS_CFLAGS -D_LARGE_FILES=1"
diff --git a/meta-oe/recipes-connectivity/libimobiledevice/libimobiledevice_1.1.4.bb b/meta-oe/recipes-connectivity/libimobiledevice/libimobiledevice_1.1.4.bb
index 5256ce0d29..06260f75cd 100644
--- a/meta-oe/recipes-connectivity/libimobiledevice/libimobiledevice_1.1.4.bb
+++ b/meta-oe/recipes-connectivity/libimobiledevice/libimobiledevice_1.1.4.bb
@@ -5,17 +5,13 @@ LIC_FILES_CHKSUM = "\
file://COPYING.LESSER;md5=6ab17b41640564434dda85c06b7124f7 \
"
-#| configure:17888: checking for native large file support
-#| 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':
-#| configure:17893: error: cannot run test program while cross compiling
-PNBLACKLIST[libimobiledevice] ?= "cannot run test program while cross compiling"
-
HOMEPAGE ="http://www.libimobiledevice.org/"
DEPENDS = "libplist usbmuxd libtasn1 gnutls libgcrypt"
SRC_URI = " \
http://www.libimobiledevice.org/downloads/libimobiledevice-${PV}.tar.bz2 \
+ file://configure-fix-largefile.patch \
"
SRC_URI[md5sum] = "3f28cbc6a2e30d34685049c0abde5183"