Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
F
ffmpeg.wasm-core
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Linshizhi
ffmpeg.wasm-core
Commits
27565164
Commit
27565164
authored
Feb 28, 2013
by
Diego Biurrun
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
configure: Split host and target libc detection
parent
c869fcde
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
73 additions
and
40 deletions
+73
-40
configure
configure
+73
-40
No files found.
configure
View file @
27565164
...
@@ -1004,6 +1004,10 @@ require_pkg_config(){
...
@@ -1004,6 +1004,10 @@ require_pkg_config(){
add_extralibs
$(
get_safe
${
pkg
}
_libs
)
add_extralibs
$(
get_safe
${
pkg
}
_libs
)
}
}
hostcc_e
(){
eval printf
'%s\\n'
$HOSTCC_E
}
hostcc_o
(){
hostcc_o
(){
eval printf
'%s\\n'
$HOSTCC_O
eval printf
'%s\\n'
$HOSTCC_O
}
}
...
@@ -1015,6 +1019,13 @@ check_host_cc(){
...
@@ -1015,6 +1019,13 @@ check_host_cc(){
check_cmd
$host_cc
$host_cflags
"
$@
"
$HOSTCC_C
$(
hostcc_o
$TMPO
)
$TMPC
check_cmd
$host_cc
$host_cflags
"
$@
"
$HOSTCC_C
$(
hostcc_o
$TMPO
)
$TMPC
}
}
check_host_cpp
(){
log check_host_cpp
"
$@
"
cat
>
$TMPC
log_file
$TMPC
check_cmd
$host_cc
$HOSTCPPFLAGS
$HOSTCFLAGS
"
$@
"
$(
hostcc_e
$TMPO
)
$TMPC
}
check_host_cppflags
(){
check_host_cppflags
(){
log check_host_cppflags
"
$@
"
log check_host_cppflags
"
$@
"
check_host_cc
"
$@
"
<<
EOF
&& append host_cppflags "
$@
"
check_host_cc
"
$@
"
<<
EOF
&& append host_cppflags "
$@
"
...
@@ -1030,6 +1041,19 @@ int x;
...
@@ -1030,6 +1041,19 @@ int x;
EOF
EOF
}
}
check_host_cpp_condition
(){
log check_host_cpp_condition
"
$@
"
header
=
$1
condition
=
$2
shift
2
check_host_cpp
"
$@
"
<<
EOF
#include <
$header
>
#if !(
$condition
)
#error "unsatisfied condition:
$condition
"
#endif
EOF
}
apply
(){
apply
(){
file
=
$1
file
=
$1
shift
shift
...
@@ -2073,11 +2097,12 @@ LD_O='-o $@'
...
@@ -2073,11 +2097,12 @@ LD_O='-o $@'
LD_LIB
=
'-l%'
LD_LIB
=
'-l%'
LD_PATH
=
'-L'
LD_PATH
=
'-L'
HOSTCC_C
=
'-c'
HOSTCC_C
=
'-c'
HOSTCC_E
=
'-E -o $@'
HOSTCC_O
=
'-o $@'
HOSTCC_O
=
'-o $@'
HOSTLD_O
=
'-o $@'
HOSTLD_O
=
'-o $@'
host_cflags
=
'-O3 -g'
host_cflags
=
'-O3 -g'
host_cppflags
=
'-D_ISOC99_SOURCE
-D_XOPEN_SOURCE=600
'
host_cppflags
=
'-D_ISOC99_SOURCE'
host_libs
=
'-lm'
host_libs
=
'-lm'
host_cflags_filter
=
echo
host_cflags_filter
=
echo
host_ldflags_filter
=
echo
host_ldflags_filter
=
echo
...
@@ -3371,46 +3396,53 @@ esac
...
@@ -3371,46 +3396,53 @@ esac
# determine libc flavour
# determine libc flavour
# uclibc defines __GLIBC__, so it needs to be checked before glibc.
probe_libc
(){
if
check_cpp_condition features.h
"defined __UCLIBC__"
;
then
pfx
=
$1
libc_type
=
uclibc
# uclibc defines __GLIBC__, so it needs to be checked before glibc.
add_cppflags
-D_POSIX_C_SOURCE
=
200112
-D_XOPEN_SOURCE
=
600
if
check_
${
pfx
}
cpp_condition features.h
"defined __UCLIBC__"
;
then
elif
check_cpp_condition features.h
"defined __GLIBC__"
;
then
eval
${
pfx
}
libc_type
=
uclibc
libc_type
=
glibc
add_
${
pfx
}
cppflags
-D_POSIX_C_SOURCE
=
200112
-D_XOPEN_SOURCE
=
600
add_cppflags
-D_POSIX_C_SOURCE
=
200112
-D_XOPEN_SOURCE
=
600
elif
check_
${
pfx
}
cpp_condition features.h
"defined __GLIBC__"
;
then
# MinGW headers can be installed on Cygwin, so check for newlib first.
eval
${
pfx
}
libc_type
=
glibc
elif
check_cpp_condition newlib.h
"defined _NEWLIB_VERSION"
;
then
add_
${
pfx
}
cppflags
-D_POSIX_C_SOURCE
=
200112
-D_XOPEN_SOURCE
=
600
libc_type
=
newlib
# MinGW headers can be installed on Cygwin, so check for newlib first.
add_cppflags
-U__STRICT_ANSI__
elif
check_
${
pfx
}
cpp_condition newlib.h
"defined _NEWLIB_VERSION"
;
then
# MinGW64 is backwards compatible with MinGW32, so check for it first.
eval
${
pfx
}
libc_type
=
newlib
elif
check_cpp_condition _mingw.h
"defined __MINGW64_VERSION_MAJOR"
;
then
add_
${
pfx
}
cppflags
-U__STRICT_ANSI__
libc_type
=
mingw64
# MinGW64 is backwards compatible with MinGW32, so check for it first.
add_cppflags
-U__STRICT_ANSI__
elif
check_
${
pfx
}
cpp_condition _mingw.h
"defined __MINGW64_VERSION_MAJOR"
;
then
elif
check_cpp_condition _mingw.h
"defined __MINGW32_VERSION"
;
then
eval
${
pfx
}
libc_type
=
mingw64
libc_type
=
mingw32
add_
${
pfx
}
cppflags
-U__STRICT_ANSI__
check_cpp_condition _mingw.h
"__MINGW32_MAJOR_VERSION > 3 ||
\
elif
check_
${
pfx
}
cpp_condition _mingw.h
"defined __MINGW32_VERSION"
;
then
(__MINGW32_MAJOR_VERSION == 3 && __MINGW32_MINOR_VERSION >= 15)"
||
eval
${
pfx
}
libc_type
=
mingw32
die
"ERROR: MinGW32 runtime version must be >= 3.15."
check_
${
pfx
}
cpp_condition _mingw.h
"__MINGW32_MAJOR_VERSION > 3 ||
\
add_cppflags
-U__STRICT_ANSI__
(__MINGW32_MAJOR_VERSION == 3 && __MINGW32_MINOR_VERSION >= 15)"
||
elif
check_cpp_condition crtversion.h
"defined _VC_CRT_MAJOR_VERSION"
;
then
die
"ERROR: MinGW32 runtime version must be >= 3.15."
libc_type
=
msvcrt
add_
${
pfx
}
cppflags
-U__STRICT_ANSI__
# The MSVC 2010 headers (Win 7.0 SDK) set _WIN32_WINNT to
elif
check_
${
pfx
}
cpp_condition crtversion.h
"defined _VC_CRT_MAJOR_VERSION"
;
then
# 0x601 by default unless something else is set by the user.
eval
${
pfx
}
libc_type
=
msvcrt
# This can easily lead to us detecting functions only present
# The MSVC 2010 headers (Win 7.0 SDK) set _WIN32_WINNT to
# in such new versions and producing binaries requiring windows 7.0.
# 0x601 by default unless something else is set by the user.
# Therefore explicitly set the default to XP unless the user has
# This can easily lead to us detecting functions only present
# set something else on the command line.
# in such new versions and producing binaries requiring windows 7.0.
check_cpp_condition stdlib.h
"defined(_WIN32_WINNT)"
||
add_cppflags
-D_WIN32_WINNT
=
0x0502
# Therefore explicitly set the default to XP unless the user has
elif
check_cpp_condition stddef.h
"defined __KLIBC__"
;
then
# set something else on the command line.
libc_type
=
klibc
check_
${
pfx
}
cpp_condition stdlib.h
"defined(_WIN32_WINNT)"
||
elif
check_cpp_condition sys/cdefs.h
"defined __BIONIC__"
;
then
add_
${
pfx
}
cppflags
-D_WIN32_WINNT
=
0x0502
libc_type
=
bionic
elif
check_
${
pfx
}
cpp_condition stddef.h
"defined __KLIBC__"
;
then
elif
check_cpp_condition sys/brand.h
"defined SOLARIS_BRAND_NAME"
;
then
eval
${
pfx
}
libc_type
=
klibc
libc_type
=
solaris
elif
check_
${
pfx
}
cpp_condition sys/cdefs.h
"defined __BIONIC__"
;
then
add_cppflags
-D__EXTENSIONS__
-D_XOPEN_SOURCE
=
600
eval
${
pfx
}
libc_type
=
bionic
fi
elif
check_
${
pfx
}
cpp_condition sys/brand.h
"defined SOLARIS_BRAND_NAME"
;
then
eval
${
pfx
}
libc_type
=
solaris
add_
${
pfx
}
cppflags
-D__EXTENSIONS__
-D_XOPEN_SOURCE
=
600
fi
}
probe_libc
test
-n
"
$libc_type
"
&&
enable
libc_
$libc_type
test
-n
"
$libc_type
"
&&
enable
libc_
$libc_type
probe_libc host_
test
-n
"
$host_libc_type
"
&&
enable
host_libc_
$host_libc_type
case
$libc_type
in
case
$libc_type
in
bionic
)
bionic
)
...
@@ -4154,10 +4186,11 @@ check_deps $CONFIG_LIST \
...
@@ -4154,10 +4186,11 @@ check_deps $CONFIG_LIST \
echo
"install prefix
$prefix
"
echo
"install prefix
$prefix
"
echo
"source path
$source_path
"
echo
"source path
$source_path
"
echo
"C compiler
$cc
"
echo
"C compiler
$cc
"
echo
"C library
$libc_type
"
if
test
"
$host_cc
"
!=
"
$cc
"
;
then
if
test
"
$host_cc
"
!=
"
$cc
"
;
then
echo
"host C compiler
$host_cc
"
echo
"host C compiler
$host_cc
"
echo
"host C library
$host_libc_type
"
fi
fi
echo
"C library
$libc_type
"
echo
"ARCH
$arch
(
$cpu
)"
echo
"ARCH
$arch
(
$cpu
)"
if
test
"
$build_suffix
"
!=
""
;
then
if
test
"
$build_suffix
"
!=
""
;
then
echo
"build suffix
$build_suffix
"
echo
"build suffix
$build_suffix
"
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment