[FFmpeg-devel] [PATCH] configure: Add workaround for qtkit detection using ICC, compiler.
Thilo Borgmann
thilo.borgmann at mail.de
Sun Apr 6 19:35:07 CEST 2014
Am 06.04.14 18:55, schrieb Timothy Gu:
> On Sun, Apr 6, 2014 at 9:53 AM, Thilo Borgmann <thilo.borgmann at mail.de> wrote:
>> Am 06.04.14 15:52, schrieb Michael Niedermayer:
>>> On Sun, Apr 06, 2014 at 03:02:16PM +0200, Thilo Borgmann wrote:
>>>> Like Reimar suggested on log, this works for me for proper detection of qtkit using:
>>>>
>>>> Mac OS X 10.9 with clang
>>>> Linux with gcc
>>>> Linux with icc
>>>>
>>>> -Thilo
>>>
>>>> configure | 2 +-
>>>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>>> 96f5a6cf4915a1b8139050b48e08e1cc673871f4 0001-configure-Add-workaround-for-qtkit-detection-using-I.patch
>>>> From d9a1e4177d2bc55410c747576f8bc5820d4938ab Mon Sep 17 00:00:00 2001
>>>> From: Thilo Borgmann <thilo.borgmann at mail.de>
>>>> Date: Sun, 6 Apr 2014 14:57:24 +0200
>>>> Subject: [PATCH] configure: Add workaround for qtkit detection using ICC
>>>> compiler.
>>>>
>>>> ---
>>>> configure | 2 +-
>>>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>>>
>>>> diff --git a/configure b/configure
>>>> index f238276..945c847 100755
>>>> --- a/configure
>>>> +++ b/configure
>>>> @@ -4671,7 +4671,7 @@ enabled openssl && { check_lib openssl/ssl.h SSL_library_init -lssl -l
>>>> check_lib openssl/ssl.h SSL_library_init -lssl32 -leay32 ||
>>>> check_lib openssl/ssl.h SSL_library_init -lssl -lcrypto -lws2_32 -lgdi32 ||
>>>> die "ERROR: openssl not found"; }
>>>> -enabled qtkit_indev && { check_header_oc QTKit/QTKit.h || disable qtkit_indev; }
>>>> +enabled qtkit_indev && { { check_header QTKit/QTKit.h && check_header_oc QTKit/QTKit.h; } || disable qtkit_indev; }
>>>
>>> applied
>>>
>>> though if someone can fix check_header_oc that would probably be
>>> better
>>>
>>> maybe by checking if a output file has been created or something like
>>> that (dont forget to make sure the output file doesnt exist before
>>> the test)
>>>
>>> but for now this patch is better than nothing, build should not be
>>> broken while the best solution is discussed
>>
>> Unfortunately, testing "stat $TMPO" is not sufficient, since this ICC call even
>> generates a file...... not of size 0....
>>
>> part of config.log after adding applying the attached patch:
>>
>> check_header_oc QTKit/QTKit.h
>> check_oc
>> BEGIN /tmp/ffconf.DCnCE0fZ.m
>> 1 #include <QTKit/QTKit.h>
>> 2 int main(void) { return 0; }
>> END /tmp/ffconf.DCnCE0fZ.m
>> /opt/intel/composerxe-2011.4.191/bin/intel64/icc -D_ISOC99_SOURCE
>> -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_POSIX_C_SOURCE=200112
>> -D_XOPEN_SOURCE=600 -std=c99 -fomit-frame-pointer -pthread -c -o
>> /tmp/ffconf.XKczCL4F.o /tmp/ffconf.DCnCE0fZ.m
>> icc: warning #10147: no action performed for specified file(s)
>> check_stat /tmp/ffconf.XKczCL4F.o
>> File: `/tmp/ffconf.XKczCL4F.o'
>> Size: 1464 Blocks: 8 IO Block: 4096 regular file
>> Device: 801h/2049d Inode: 16002333 Links: 1
>> Access: (0644/-rw-r--r--) Uid: ( 1000/ fate) Gid: ( 1000/ fate)
>> Access: 2014-04-06 18:37:33.036520001 +0200
>> Modify: 2014-04-06 18:37:32.956520001 +0200
>> Change: 2014-04-06 18:37:32.956520001 +0200
>
> Damn icc. Why don't we just probe for "warning #10147" assuming that
> the number don't change with updates.
Also try to link & exec seems to work... see patch. Works for me on OSX+CLANG /
Linux+GCC / Linux+ICC.
-Thilo
-------------- next part --------------
>From 05157e8a6ec6dc9a0d24d606f9b8dd027111aa0c Mon Sep 17 00:00:00 2001
From: Thilo Borgmann <thilo.borgmann at mail.de>
Date: Sun, 6 Apr 2014 19:30:19 +0200
Subject: [PATCH] configure: Always try to link if objective-c headers are
checked.
---
configure | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/configure b/configure
index f47c39f..ee4c95b 100755
--- a/configure
+++ b/configure
@@ -958,7 +958,7 @@ check_header_oc(){
{
echo "#include <$header>"
echo "int main(void) { return 0; }"
- } | check_oc "$@" && enable_safe $headers
+ } | check_exec_oc && enable_safe $headers
}
check_func(){
@@ -1077,6 +1077,10 @@ check_exec(){
check_ld "cc" "$@" && { enabled cross_compile || $TMPE >> $logfile 2>&1; }
}
+check_exec_oc(){
+ check_ld "oc" "$@" && { enabled cross_compile || $TMPE >> $logfile 2>&1; }
+}
+
check_exec_crash(){
code=$(cat)
@@ -4668,7 +4672,7 @@ enabled openssl && { check_lib openssl/ssl.h SSL_library_init -lssl -l
check_lib openssl/ssl.h SSL_library_init -lssl32 -leay32 ||
check_lib openssl/ssl.h SSL_library_init -lssl -lcrypto -lws2_32 -lgdi32 ||
die "ERROR: openssl not found"; }
-enabled qtkit_indev && { { check_header QTKit/QTKit.h && check_header_oc QTKit/QTKit.h; } || disable qtkit_indev; }
+enabled qtkit_indev && { check_header_oc QTKit/QTKit.h || disable qtkit_indev; }
if enabled gnutls; then
{ check_lib nettle/bignum.h nettle_mpz_get_str_256 -lnettle -lhogweed -lgmp && enable nettle; } ||
--
1.8.3.2
More information about the ffmpeg-devel
mailing list