Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
小白菜888
Ffmpeg
提交
dcd479c0
F
Ffmpeg
项目概览
小白菜888
/
Ffmpeg
通知
3
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
F
Ffmpeg
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
dcd479c0
编写于
6月 01, 2006
作者:
M
Måns Rullgård
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
major cleanup of compiler/library tests
Originally committed as revision 5439 to
svn://svn.ffmpeg.org/ffmpeg/trunk
上级
bb05edcf
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
163 addition
and
222 deletion
+163
-222
configure
configure
+163
-222
未找到文件。
configure
浏览文件 @
dcd479c0
...
...
@@ -96,6 +96,83 @@ show_help(){
exit
1
}
save_flags
(){
(
:
${
SAVE_CFLAGS
?
}
)
2>/dev/null
&&
return
SAVE_CFLAGS
=
"
$CFLAGS
"
SAVE_LDFLAGS
=
"
$LDFLAGS
"
SAVE_extralibs
=
"
$extralibs
"
}
restore_flags
(){
CFLAGS
=
"
$SAVE_CFLAGS
"
LDFLAGS
=
"
$SAVE_LDFLAGS
"
extralibs
=
"
$SAVE_extralibs
"
unset
SAVE_CFLAGS
unset
SAVE_LDFLAGS
unset
SAVE_extralibs
}
temp_cflags
(){
save_flags
CFLAGS
=
"
$CFLAGS
$*
"
}
temp_ldflags
(){
save_flags
LDFLAGS
=
"
$LDFLAGS
$*
"
}
temp_extralibs
(){
save_flags
extralibs
=
"
$extralibs
$*
"
}
check_cc
(){
cat
>
$TMPC
${
cross_prefix
}
$cc
$CFLAGS
"
$@
"
-c
-o
$TMPO
$TMPC
>
/dev/null 2>&1
}
check_ld
(){
cat
>
$TMPC
${
cross_prefix
}
$cc
$CFLAGS
$LDFLAGS
"
$@
"
-o
$TMPE
$TMPC
$extralibs
>
/dev/null 2>&1
}
check_cflags
(){
check_cc
"
$@
"
<<
EOF
&& CFLAGS="
$CFLAGS
$*
"
int x;
EOF
}
check_ldflags
(){
check_ld
"
$@
"
<<
EOF
&& LDFLAGS="
$LDFLAGS
$*
"
int x;
EOF
}
check_header
(){
header
=
$1
shift
check_cc
"
$@
"
<<
EOF
#include <
$header
>
int x;
EOF
}
check_func
(){
func
=
$1
shift
check_ld
"
$@
"
<<
EOF
extern int
$func
();
int main(){
$func
();
}
EOF
}
check_exec
(){
check_ld
"
$@
"
&&
(
test
-z
"
$cross_prefix
"
&&
$TMPE
||
true
)
}
if
test
x
"
$1
"
=
x
"-h"
-o
x
"
$1
"
=
x
"--help"
;
then
show_help
fi
...
...
@@ -691,20 +768,15 @@ if test "$gpl" != "yes"; then
fi
if
test
"
$faad
"
!=
"no"
-o
"
$faadbin
"
!=
"no"
;
then
cat
>
$TMPC
<<
EOF
#include <faad.h>
int main( void ) { return 0; }
EOF
if
$cc
$CFLAGS
-o
$TMPE
$TMPC
2> /dev/null
;
then
cat
>
$TMPC
<<
EOF
if
check_header faad.h
;
then
check_cc
<<
EOF
#include <faad.h>
#ifndef FAAD2_VERSION
ok faad1
#endif
int main( void ) { return 0; }
EOF
if
$cc
$CFLAGS
-o
$TMPE
$TMPC
2> /dev/null
;
then
if
test
$?
=
0
;
then
echo
"FAAD2 is under GPL and --enable-gpl is not specified."
fail
=
"yes"
fi
...
...
@@ -732,16 +804,12 @@ fi
# check iwmmxt support
if
test
$iwmmxt
=
"default"
-a
$cpu
=
"armv4l"
;
then
cat
>
$TMPC
<<
EOF
iwmmxt
=
no
check_cc
<<
EOF
&& iwmmxt=yes
int main(void) {
__asm__ __volatile__ ("wunpckelub wr6, wr4");
}
EOF
iwmmxt
=
no
if
${
cross_prefix
}${
cc
}
-o
$TMPO
$TMPC
2> /dev/null
;
then
iwmmxt
=
yes
fi
fi
#Darwin CC versions
...
...
@@ -855,30 +923,17 @@ if test $cpu = "powerpc"; then
fi
fi
# check if we have <altivec.h>
cat
>
$TMPC
<<
EOF
#include <altivec.h>
int main( void ) { return 0; }
EOF
_altivec_h
=
"no"
if
$cc
$CFLAGS
-o
$TMPE
$TMPC
2> /dev/null
;
then
_altivec_h
=
"yes"
fi
check_header altivec.h
&&
_altivec_h
=
yes
||
_altivec_h
=
no
# check if our compiler supports Motorola AltiVec C API
if
test
$altivec
=
"yes"
;
then
if
test
$_altivec_h
=
"yes"
;
then
cat
>
$TMPC
<<
EOF
#include <altivec.h>
int main(void) {
vector signed int v1, v2, v3;
v1 = vec_add(v2,v3);
return 0;
}
EOF
inc_altivec_h
=
"#include <altivec.h>"
else
cat
>
$TMPC
<<
EOF
inc_altivec_h
=
fi
check_cc
<<
EOF
|| altivec=no
$inc_altivec_h
int main(void) {
vector signed int v1, v2, v3;
v1 = vec_add(v2,v3);
...
...
@@ -886,8 +941,6 @@ int main(void) {
}
EOF
fi
$cc
$CFLAGS
-o
$TMPE
$TMPC
2> /dev/null
||
altivec
=
"no"
fi
# mmi only available on mips
if
test
$mmi
=
"default"
;
then
...
...
@@ -900,13 +953,12 @@ fi
# check if our compiler supports mmi
if
test
$mmi
=
"yes"
;
then
c
at
>
$TMPC
<<
EOF
c
heck_cc
<<
EOF
|| mmi="no"
int main(void) {
__asm__ ("lq
\$
2, 0(
\$
2)");
return 0;
}
EOF
$cc
-o
$TMPE
$TMPC
2> /dev/null
||
mmi
=
"no"
fi
if
test
"
$mingw32
"
=
"yes"
-o
"
$mingwce
"
=
"yes"
;
then
...
...
@@ -946,7 +998,7 @@ if test -z "$cross_prefix" ; then
# ---
# big/little-endian test
c
at
>
$TMPC
<<
EOF
c
heck_ld
<<
EOF
#include <inttypes.h>
int main(int argc, char ** argv){
volatile uint32_t i=0x01234567;
...
...
@@ -954,10 +1006,10 @@ int main(int argc, char ** argv){
}
EOF
if
$cc
-o
$TMPE
$TMPC
2>/dev/null
;
then
$TMPE
&&
bigendian
=
"yes"
if
test
$?
=
0
;
then
$TMPE
&&
bigendian
=
"yes"
else
echo
big/little
test
failed
echo
big/little
test
failed
fi
else
...
...
@@ -971,18 +1023,11 @@ fi
# ---
# *inttypes.h* test
cat
>
$TMPC
<<
EOF
#include <inttypes.h>
int main(int argc, char ** argv){
return 0;
}
EOF
$cc
-o
$TMPE
$TMPC
2>/dev/null
||
inttypes
=
"no"
check_header inttypes.h
||
inttypes
=
no
# ---
# *int_fast* test
c
at
>
$TMPC
<<
EOF
c
heck_cc
<<
EOF
|| emu_fast_int=yes
#include <inttypes.h>
int main(int argc, char ** argv){
volatile uint_fast64_t i=0x01234567;
...
...
@@ -990,32 +1035,15 @@ int main(int argc, char ** argv){
}
EOF
$cc
-o
$TMPE
$TMPC
2>/dev/null
||
emu_fast_int
=
"yes"
# ---
# check availability of some header files
cat
>
$TMPC
<<
EOF
#include <malloc.h>
int main( void ) { return 0; }
EOF
_memalign
=
no
_malloc_h
=
no
if
$cc
-o
$TMPE
$TMPC
2> /dev/null
;
then
_malloc_h
=
yes
_memalign
=
yes
# check for memalign - atmos
cat
>
$TMPC
<<
EOF
#include <stdio.h>
#include <malloc.h>
int main ( void ) {
char *string = NULL;
string = memalign(64, sizeof(char));
return 0;
}
EOF
$cc
-o
$TMPE
$TMPC
2> /dev/null
||
_memalign
=
no
if
check_header malloc.h
;
then
_malloc_h
=
yes
_memalign
=
yes
check_func memalign
||
_memalign
=
"no"
fi
if
test
"
$_memalign
"
=
"no"
-a
"
$mmx
"
=
"yes"
-a
"
$memalignhack
"
!=
"yes"
;
then
...
...
@@ -1023,81 +1051,50 @@ if test "$_memalign" = "no" -a "$mmx" = "yes" -a "$memalignhack" != "yes"; then
exit
1
fi
cat
>
$TMPC
<<
EOF
#include <time.h>
int main( void ) { localtime_r(NULL, NULL); }
EOF
localtime_r
=
no
if
$cc
-o
$TMPE
$TMPC
2> /dev/null
;
then
localtime_r
=
yes
fi
check_func localtime_r
&&
localtime_r
=
yes
||
localtime_r
=
no
if
test
"
$zlib
"
=
"yes"
;
then
# check for zlib - mmu_man
cat
>
$TMPC
<<
EOF
#include <zlib.h>
int main ( void ) {
if (zlibVersion() != ZLIB_VERSION)
puts("zlib version differs !!!");
return 1;
return 0;
}
EOF
$cc
$CFLAGS
$LDFLAGS
-o
$TMPE
$TMPC
-lz
2> /dev/null
||
zlib
=
"no"
# $TMPE 2> /dev/null > /dev/null || zlib="no"
# XXX: more tests needed - runtime test
temp_extralibs
-lz
check_header zlib.h
&&
check_func zlibVersion
||
zlib
=
"no"
# XXX: more tests needed - runtime test
restore_flags
fi
if
test
"
$zlib
"
=
"yes"
;
then
extralibs
=
"
$extralibs
-lz"
extralibs
=
"
$extralibs
-lz"
fi
if
test
"
$lzo
"
=
"yes"
-a
"
$gpl
"
=
"yes"
;
then
# check for liblzo
cat
>
$TMPC
<<
EOF
#include <lzo1x.h>
int main ( void ) {
lzo_init();
return 0;
}
EOF
$cc
$CFLAGS
$LDFLAGS
-o
$TMPE
$TMPC
-llzo
2> /dev/null
||
lzo
=
"no"
temp_extralibs
-llzo
check_header lzo1x.h
&&
check_func lzo_version
||
lzo
=
"no"
restore_flags
else
lzo
=
"no"
lzo
=
"no"
fi
if
test
"
$lzo
"
=
"yes"
;
then
extralibs
=
"
$extralibs
-llzo"
extralibs
=
"
$extralibs
-llzo"
fi
# test for lrintf in math.h
c
at
>
$TMPC
<<
EOF
c
heck_exec
<<
EOF
&& have_lrintf=yes || have_lrintf=no
#define _ISOC9X_SOURCE 1
#include <math.h>
int main( void ) { return (lrintf(3.999f) > 0)?0:1; }
EOF
have_lrintf
=
"no"
if
$cc
$CFLAGS
$LDFLAGS
-o
$TMPE
$TMPC
$extralibs
2> /dev/null
;
then
have_lrintf
=
"yes"
# allanc@chickenandporn.com: cannot execute cross-compiled
# code on the host. Only execute if not cross-compiling.
if
test
-z
"
$cross_prefix
"
;
then
$TMPE
2> /dev/null
>
/dev/null
||
have_lrintf
=
"no"
fi
fi
_restrict
=
for
restrict_keyword
in
restrict __restrict__ __restrict
;
do
echo
"void foo(char *
$restrict_keyword
p);"
>
$TMPC
if
$cc
-c
-o
$TMPO
$TMPC
2> /dev/null
;
then
_restrict
=
$restrict_keyword
break
;
fi
check_cc
<<
EOF
void foo(char *
$restrict_keyword
p);
EOF
if
test
$?
=
0
;
then
_restrict
=
$restrict_keyword
break
;
fi
done
# test gcc version to see if vector builtins can be used
# currently only used on i386 for MMX builtins
c
at
>
$TMPC
<<
EOF
c
heck_cc
-msse
<<
EOF
&& builtin_vector=yes || builtin_vector=no
#include <xmmintrin.h>
int main(void) {
#if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2)
...
...
@@ -1108,13 +1105,9 @@ return 0;
}
EOF
builtin_vector
=
no
if
$cc
-msse
-o
$TMPO
$TMPC
2> /dev/null
;
then
builtin_vector
=
yes
fi
# test for mm3dnow.h
cat
>
$TMPC
<<
EOF
test
"
$cpu
"
=
"x86_64"
&&
march
=
k8
||
march
=
athlon
check_cc
-march
=
$march
<<
EOF
&& mm3dnow=yes || mm3dnow=no
#include <mm3dnow.h>
int main(void) {
__m64 b1;
...
...
@@ -1124,57 +1117,22 @@ return 0;
}
EOF
mm3dnow
=
no
march
=
athlon
if
test
"
$cpu
"
=
"x86_64"
;
then
march
=
k8
fi
if
$cc
-march
=
$march
-o
$TMPO
$TMPC
2> /dev/null
;
then
mm3dnow
=
yes
fi
# Probe for -Wdeclaration-after-statement
if
test
"
$cc
"
=
"gcc"
;
then
cat
>
$TMPC
<<
EOF
int main( void ) { return 0; }
EOF
if
$cc
-Wdeclaration-after-statement
-Werror
-o
$TMPE
$TMPC
2> /dev/null
;
then
CFLAGS
=
"
$CFLAGS
-Wdeclaration-after-statement"
fi
fi
check_cflags
-Wdeclaration-after-statement
# dlopen/dlfcn.h probing
cat
>
$TMPC
<<
EOF
#include <dlfcn.h>
int main( void ) { return (int) dlopen("foo", 0); }
EOF
ldl
=
-ldl
check_header dlfcn.h
&&
dlfcn
=
yes
if
$cc
$CFLAGS
$LDFLAGS
-o
$TMPE
$TMPC
-ldl
>
/dev/null 2>&1
;
then
dlfcn
=
yes
dlopen
=
yes
temp_extralibs
-ldl
if
check_func dlopen
;
then
dlopen
=
yes
ldl
=
-ldl
fi
restore_flags
if
$cc
$CFLAGS
$LDFLAGS
-o
$TMPE
$TMPC
>
/dev/null 2>&1
;
then
dlfcn
=
yes
dlopen
=
yes
ldl
=
""
fi
cat
>
$TMPC
<<
EOF
int main( void ) { return (int) dlopen("foo", 0); }
EOF
if
$cc
$CFLAGS
$LDFLAGS
-o
$TMPE
$TMPC
-ldl
>
/dev/null 2>&1
;
then
dlopen
=
yes
fi
if
$cc
$CFLAGS
$LDFLAGS
-o
$TMPE
$TMPC
>
/dev/null 2>&1
;
then
dlopen
=
yes
ldl
=
""
if
check_func dlopen
;
then
dlopen
=
yes
ldl
=
fi
if
test
"
$vhook
"
=
"default"
;
then
...
...
@@ -1189,55 +1147,53 @@ fi
##########################################
# imlib check
cat
>
$TMPC
<<
EOF
temp_extralibs
-lImlib2
check_ld
<<
EOF
&& imlib2=yes || imlib2=no
#include <X11/Xlib.h>
#include <Imlib2.h>
int main( void ) { return (int) imlib_load_font("foo"); }
EOF
imlib2
=
no
if
$cc
$CFLAGS
$LDFLAGS
-o
$TMPE
$TMPC
-lImlib2
-lm
>
/dev/null 2>&1
;
then
imlib2
=
yes
fi
restore_flags
##########################################
# FreeType check
cat
>
$TMPC
<<
EOF
#include <ft2build.h>
int main( void ) { return (int) FT_Init_FreeType(0); }
EOF
freetype2
=
no
if
test
"x
$targetos
"
!=
"xBeOS"
;
then
if
(
freetype-config
--version
)
>
/dev/null 2>&1
;
then
if
$cc
-o
$TMPE
$TMPC
`
freetype-config
--cflags
`
`
freetype-config
--libs
`
>
/dev/null 2>&1
;
then
freetype2
=
yes
fi
temp_cflags
`
freetype-config
--cflags
`
temp_extralibs
`
freetype-config
--libs
`
check_ld
<<
EOF
&& freetype2=yes
#include <ft2build.h>
int main( void ) { return (int) FT_Init_FreeType(0); }
EOF
restore_flags
fi
fi
##########################################
# SDL check
cat
>
$TMPC
<<
EOF
#include <SDL.h>
#undef main /* We don't want SDL to override our main() */
int main( void ) { return SDL_Init (SDL_INIT_VIDEO); }
EOF
sdl_too_old
=
no
sdl
=
no
SDL_CONFIG
=
"
${
cross_prefix
}
sdl-config"
if
(
"
${
SDL_CONFIG
}
"
--version
)
>
/dev/null 2>&1
;
then
if
$cc
-o
$TMPE
`
"
${
SDL_CONFIG
}
"
--cflags
`
$TMPC
`
"
${
SDL_CONFIG
}
"
--libs
`
>
/dev/null 2>&1
;
then
_sdlversion
=
`
"
${
SDL_CONFIG
}
"
--version
|
sed
's/[^0-9]//g'
`
if
test
"
$_sdlversion
"
-lt
121
;
then
sdl_too_old
=
yes
else
sdl
=
yes
fi
fi
temp_cflags
`
"
${
SDL_CONFIG
}
"
--cflags
`
temp_extralibs
`
"
${
SDL_CONFIG
}
"
--libs
`
check_ld
<<
EOF
#include <SDL.h>
#undef main /* We don't want SDL to override our main() */
int main( void ) { return SDL_Init (SDL_INIT_VIDEO); }
EOF
restore_flags
if
test
$?
=
0
;
then
_sdlversion
=
`
"
${
SDL_CONFIG
}
"
--version
|
sed
's/[^0-9]//g'
`
if
test
"
$_sdlversion
"
-lt
121
;
then
sdl_too_old
=
yes
else
sdl
=
yes
fi
fi
fi
##########################################
...
...
@@ -1248,11 +1204,10 @@ if (texi2html -version) >/dev/null 2>&1; then
texi2html
=
yes
fi
if
test
"
$network
"
=
"yes"
;
then
##########################################
# IPv6 check
cat
>
$TMPC
<<
EOF
test
"
$network
"
=
"yes"
&&
check_ld
<<
EOF
&& ipv6=yes || ipv6=no
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
...
...
@@ -1266,43 +1221,29 @@ int main( void ) {
}
EOF
ipv6
=
no
if
$cc
-o
$TMPE
$TMPC
>
/dev/null 2>&1
;
then
ipv6
=
yes
fi
fi
if
test
"
$v4l2
"
=
"yes"
;
then
# check for video4linux2 --- V4L2_PIX_FMT_YUV420
cat
>
$TMPC
<<
EOF
test
"
$v4l2
"
=
"yes"
&&
check_cc
<<
EOF
|| v4l2="no"
#include <sys/time.h>
#include <asm/types.h>
#include <linux/videodev2.h>
int dummy = V4L2_PIX_FMT_YUV420;
struct v4l2_buffer dummy1;
EOF
$cc
-c
-o
$TMPE
$TMPC
2> /dev/null
||
v4l2
=
"no"
fi
case
"
`
$cc
-v
2>&1 |
grep
version
`
"
in
*
gcc
*
)
CFLAGS
=
"-Wall -Wno-switch
$CFLAGS
"
;;
*
)
;;
esac
check_cflags
-Wall
check_cflags
-Wno-switch
if
test
"
$sdl
"
=
"no"
;
then
ffplay
=
no
fi
if
test
"
$debug
"
=
"yes"
;
then
CFLAGS
=
"-g
$CFLAGS
"
CFLAGS
=
"-g
$CFLAGS
"
fi
if
test
"
$optimize
"
=
"small"
;
then
# CFLAGS=${CFLAGS//-O3/-Os}
CFLAGS
=
"
$CFLAGS
-Os"
CFLAGS
=
"
$CFLAGS
-Os"
fi
if
test
"
$optimize
"
=
"yes"
;
then
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录