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(){
add_extralibs
$(
get_safe
${
pkg
}
_libs
)
}
hostcc_e
(){
eval printf
'%s\\n'
$HOSTCC_E
}
hostcc_o
(){
eval printf
'%s\\n'
$HOSTCC_O
}
...
...
@@ -1015,6 +1019,13 @@ check_host_cc(){
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
(){
log check_host_cppflags
"
$@
"
check_host_cc
"
$@
"
<<
EOF
&& append host_cppflags "
$@
"
...
...
@@ -1030,6 +1041,19 @@ int x;
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
(){
file
=
$1
shift
...
...
@@ -2073,11 +2097,12 @@ LD_O='-o $@'
LD_LIB
=
'-l%'
LD_PATH
=
'-L'
HOSTCC_C
=
'-c'
HOSTCC_E
=
'-E -o $@'
HOSTCC_O
=
'-o $@'
HOSTLD_O
=
'-o $@'
host_cflags
=
'-O3 -g'
host_cppflags
=
'-D_ISOC99_SOURCE
-D_XOPEN_SOURCE=600
'
host_cppflags
=
'-D_ISOC99_SOURCE'
host_libs
=
'-lm'
host_cflags_filter
=
echo
host_ldflags_filter
=
echo
...
...
@@ -3371,46 +3396,53 @@ esac
# determine libc flavour
# uclibc defines __GLIBC__, so it needs to be checked before glibc.
if
check_cpp_condition features.h
"defined __UCLIBC__"
;
then
libc_type
=
uclibc
add_cppflags
-D_POSIX_C_SOURCE
=
200112
-D_XOPEN_SOURCE
=
600
elif
check_cpp_condition features.h
"defined __GLIBC__"
;
then
libc_type
=
glibc
add_cppflags
-D_POSIX_C_SOURCE
=
200112
-D_XOPEN_SOURCE
=
600
# MinGW headers can be installed on Cygwin, so check for newlib first.
elif
check_cpp_condition newlib.h
"defined _NEWLIB_VERSION"
;
then
libc_type
=
newlib
add_cppflags
-U__STRICT_ANSI__
# MinGW64 is backwards compatible with MinGW32, so check for it first.
elif
check_cpp_condition _mingw.h
"defined __MINGW64_VERSION_MAJOR"
;
then
libc_type
=
mingw64
add_cppflags
-U__STRICT_ANSI__
elif
check_cpp_condition _mingw.h
"defined __MINGW32_VERSION"
;
then
libc_type
=
mingw32
check_cpp_condition _mingw.h
"__MINGW32_MAJOR_VERSION > 3 ||
\
(__MINGW32_MAJOR_VERSION == 3 && __MINGW32_MINOR_VERSION >= 15)"
||
die
"ERROR: MinGW32 runtime version must be >= 3.15."
add_cppflags
-U__STRICT_ANSI__
elif
check_cpp_condition crtversion.h
"defined _VC_CRT_MAJOR_VERSION"
;
then
libc_type
=
msvcrt
# The MSVC 2010 headers (Win 7.0 SDK) set _WIN32_WINNT to
# 0x601 by default unless something else is set by the user.
# This can easily lead to us detecting functions only present
# in such new versions and producing binaries requiring windows 7.0.
# Therefore explicitly set the default to XP unless the user has
# set something else on the command line.
check_cpp_condition stdlib.h
"defined(_WIN32_WINNT)"
||
add_cppflags
-D_WIN32_WINNT
=
0x0502
elif
check_cpp_condition stddef.h
"defined __KLIBC__"
;
then
libc_type
=
klibc
elif
check_cpp_condition sys/cdefs.h
"defined __BIONIC__"
;
then
libc_type
=
bionic
elif
check_cpp_condition sys/brand.h
"defined SOLARIS_BRAND_NAME"
;
then
libc_type
=
solaris
add_cppflags
-D__EXTENSIONS__
-D_XOPEN_SOURCE
=
600
fi
probe_libc
(){
pfx
=
$1
# uclibc defines __GLIBC__, so it needs to be checked before glibc.
if
check_
${
pfx
}
cpp_condition features.h
"defined __UCLIBC__"
;
then
eval
${
pfx
}
libc_type
=
uclibc
add_
${
pfx
}
cppflags
-D_POSIX_C_SOURCE
=
200112
-D_XOPEN_SOURCE
=
600
elif
check_
${
pfx
}
cpp_condition features.h
"defined __GLIBC__"
;
then
eval
${
pfx
}
libc_type
=
glibc
add_
${
pfx
}
cppflags
-D_POSIX_C_SOURCE
=
200112
-D_XOPEN_SOURCE
=
600
# MinGW headers can be installed on Cygwin, so check for newlib first.
elif
check_
${
pfx
}
cpp_condition newlib.h
"defined _NEWLIB_VERSION"
;
then
eval
${
pfx
}
libc_type
=
newlib
add_
${
pfx
}
cppflags
-U__STRICT_ANSI__
# MinGW64 is backwards compatible with MinGW32, so check for it first.
elif
check_
${
pfx
}
cpp_condition _mingw.h
"defined __MINGW64_VERSION_MAJOR"
;
then
eval
${
pfx
}
libc_type
=
mingw64
add_
${
pfx
}
cppflags
-U__STRICT_ANSI__
elif
check_
${
pfx
}
cpp_condition _mingw.h
"defined __MINGW32_VERSION"
;
then
eval
${
pfx
}
libc_type
=
mingw32
check_
${
pfx
}
cpp_condition _mingw.h
"__MINGW32_MAJOR_VERSION > 3 ||
\
(__MINGW32_MAJOR_VERSION == 3 && __MINGW32_MINOR_VERSION >= 15)"
||
die
"ERROR: MinGW32 runtime version must be >= 3.15."
add_
${
pfx
}
cppflags
-U__STRICT_ANSI__
elif
check_
${
pfx
}
cpp_condition crtversion.h
"defined _VC_CRT_MAJOR_VERSION"
;
then
eval
${
pfx
}
libc_type
=
msvcrt
# The MSVC 2010 headers (Win 7.0 SDK) set _WIN32_WINNT to
# 0x601 by default unless something else is set by the user.
# This can easily lead to us detecting functions only present
# in such new versions and producing binaries requiring windows 7.0.
# Therefore explicitly set the default to XP unless the user has
# set something else on the command line.
check_
${
pfx
}
cpp_condition stdlib.h
"defined(_WIN32_WINNT)"
||
add_
${
pfx
}
cppflags
-D_WIN32_WINNT
=
0x0502
elif
check_
${
pfx
}
cpp_condition stddef.h
"defined __KLIBC__"
;
then
eval
${
pfx
}
libc_type
=
klibc
elif
check_
${
pfx
}
cpp_condition sys/cdefs.h
"defined __BIONIC__"
;
then
eval
${
pfx
}
libc_type
=
bionic
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
probe_libc host_
test
-n
"
$host_libc_type
"
&&
enable
host_libc_
$host_libc_type
case
$libc_type
in
bionic
)
...
...
@@ -4154,10 +4186,11 @@ check_deps $CONFIG_LIST \
echo
"install prefix
$prefix
"
echo
"source path
$source_path
"
echo
"C compiler
$cc
"
echo
"C library
$libc_type
"
if
test
"
$host_cc
"
!=
"
$cc
"
;
then
echo
"host C compiler
$host_cc
"
echo
"host C library
$host_libc_type
"
fi
echo
"C library
$libc_type
"
echo
"ARCH
$arch
(
$cpu
)"
if
test
"
$build_suffix
"
!=
""
;
then
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