153a13f1fa964820f7a8f9d3932a6f3c0433f8bf5fgalligan@chromium.org#!/bin/sh 2474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org## 3474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org## configure.sh 4474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org## 5474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org## This script is sourced by the main configure script and contains 6474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org## utility functions and other common bits that aren't strictly libvpx 7474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org## related. 8474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org## 9474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org## This build system is based in part on the FFmpeg configure script. 10474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org## 11474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 12474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 13474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org# 14474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org# Logging / Output Functions 15474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org# 16474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgdie_unknown(){ 17474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org echo "Unknown option \"$1\"." 18474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org echo "See $0 --help for available options." 19474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org clean_temp_files 20474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org exit 1 21474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org} 22474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 23474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 24474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgdie() { 25474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org echo "$@" 26474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org echo 27474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org echo "Configuration failed. This could reflect a misconfiguration of your" 28474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org echo "toolchains, improper options selected, or another problem. If you" 29474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org echo "don't see any useful error messages above, the next step is to look" 30474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org echo "at the configure error log file ($logfile) to determine what" 31474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org echo "configure was trying to do when it died." 32474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org clean_temp_files 33474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org exit 1 34474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org} 35474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 36474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 37474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orglog(){ 38474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org echo "$@" >>$logfile 39474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org} 40474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 41474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 42474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orglog_file(){ 43474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org log BEGIN $1 4493a74791c8e808ea76001ee07693aa2a5fdd3500johannkoenig@chromium.org cat -n $1 >>$logfile 45474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org log END $1 46474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org} 47474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 48474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 49474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orglog_echo() { 50474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org echo "$@" 51474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org log "$@" 52474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org} 53474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 54474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 55474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgfwrite () { 56474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org outfile=$1 57474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org shift 58474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org echo "$@" >> ${outfile} 59474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org} 60474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 61474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 62474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgshow_help_pre(){ 63474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org for opt in ${CMDLINE_SELECT}; do 64474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org opt2=`echo $opt | sed -e 's;_;-;g'` 65474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org if enabled $opt; then 66474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org eval "toggle_${opt}=\"--disable-${opt2}\"" 67474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org else 68474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org eval "toggle_${opt}=\"--enable-${opt2} \"" 69474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org fi 70474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org done 71474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 72474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org cat <<EOF 73474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgUsage: configure [options] 74474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgOptions: 75474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 76474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgBuild options: 77474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org --help print this message 7847265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org --log=yes|no|FILE file configure log is written to [config.log] 79474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org --target=TARGET target platform tuple [generic-gnu] 80474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org --cpu=CPU optimize for a specific cpu rather than a family 81474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org --extra-cflags=ECFLAGS add ECFLAGS to CFLAGS [$CFLAGS] 82474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org ${toggle_extra_warnings} emit harmless warnings (always non-fatal) 83474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org ${toggle_werror} treat warnings as errors, if possible 84474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org (not available with all compilers) 85474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org ${toggle_optimizations} turn on/off compiler optimization flags 86474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org ${toggle_pic} turn on/off Position Independent Code 87474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org ${toggle_ccache} turn on/off compiler cache 88474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org ${toggle_debug} enable/disable debug mode 89474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org ${toggle_gprof} enable/disable gprof profiling instrumentation 90474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org ${toggle_gcov} enable/disable gcov coverage instrumentation 9110a9a0d835561a7f2300c561c514efcf374554d6fgalligan@chromium.org ${toggle_thumb} enable/disable building arm assembly in thumb mode 92474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 93474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgInstall options: 94474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org ${toggle_install_docs} control whether docs are installed 95474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org ${toggle_install_bins} control whether binaries are installed 96474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org ${toggle_install_libs} control whether libraries are installed 97474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org ${toggle_install_srcs} control whether sources are installed 98474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 99474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 100474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgEOF 101474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org} 102474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 103474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 104474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgshow_help_post(){ 105474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org cat <<EOF 106474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 107474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 108474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgNOTES: 109474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org Object files are built at the place where configure is launched. 110474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 111474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org All boolean options can be negated. The default value is the opposite 112474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org of that shown above. If the option --disable-foo is listed, then 113474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org the default value for foo is enabled. 114474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 115474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgSupported targets: 116474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgEOF 117474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org show_targets ${all_platforms} 118474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org echo 119474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org exit 1 120474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org} 121474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 122474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 123474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgshow_targets() { 124474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org while [ -n "$*" ]; do 125474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org if [ "${1%%-*}" = "${2%%-*}" ]; then 126474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org if [ "${2%%-*}" = "${3%%-*}" ]; then 127474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org printf " %-24s %-24s %-24s\n" "$1" "$2" "$3" 128474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org shift; shift; shift 129474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org else 130474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org printf " %-24s %-24s\n" "$1" "$2" 131474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org shift; shift 132474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org fi 133474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org else 134474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org printf " %-24s\n" "$1" 135474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org shift 136474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org fi 137474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org done 138474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org} 139474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 140474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 141474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgshow_help() { 142474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org show_help_pre 143474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org show_help_post 144474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org} 145474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 146474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org# 147474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org# List Processing Functions 148474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org# 149474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgset_all(){ 150474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org value=$1 151474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org shift 152474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org for var in $*; do 153474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org eval $var=$value 154474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org done 155474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org} 156474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 157474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 158474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgis_in(){ 159474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org value=$1 160474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org shift 161474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org for var in $*; do 162474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org [ $var = $value ] && return 0 163474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org done 164474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org return 1 165474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org} 166474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 167474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 168474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgadd_cflags() { 169474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org CFLAGS="${CFLAGS} $@" 170ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.org CXXFLAGS="${CXXFLAGS} $@" 171ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.org} 172ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.org 173ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.org 174ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.orgadd_cflags_only() { 175ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.org CFLAGS="${CFLAGS} $@" 176ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.org} 177ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.org 178ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.org 179ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.orgadd_cxxflags_only() { 180ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.org CXXFLAGS="${CXXFLAGS} $@" 181474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org} 182474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 183474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 184474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgadd_ldflags() { 185474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org LDFLAGS="${LDFLAGS} $@" 186474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org} 187474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 188474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 189474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgadd_asflags() { 190474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org ASFLAGS="${ASFLAGS} $@" 191474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org} 192474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 193474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 194474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgadd_extralibs() { 195474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org extralibs="${extralibs} $@" 196474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org} 197474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 198474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org# 199474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org# Boolean Manipulation Functions 200474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org# 20153a13f1fa964820f7a8f9d3932a6f3c0433f8bf5fgalligan@chromium.orgenable_feature(){ 202474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org set_all yes $* 203474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org} 204474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 20553a13f1fa964820f7a8f9d3932a6f3c0433f8bf5fgalligan@chromium.orgdisable_feature(){ 206474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org set_all no $* 207474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org} 208474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 209474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgenabled(){ 210474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org eval test "x\$$1" = "xyes" 211474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org} 212474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 213474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgdisabled(){ 214474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org eval test "x\$$1" = "xno" 215474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org} 216474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 217474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 218474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgsoft_enable() { 219474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org for var in $*; do 220474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org if ! disabled $var; then 221474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org log_echo " enabling $var" 22253a13f1fa964820f7a8f9d3932a6f3c0433f8bf5fgalligan@chromium.org enable_feature $var 223474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org fi 224474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org done 225474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org} 226474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 227474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgsoft_disable() { 228474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org for var in $*; do 229474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org if ! enabled $var; then 230474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org log_echo " disabling $var" 23153a13f1fa964820f7a8f9d3932a6f3c0433f8bf5fgalligan@chromium.org disable_feature $var 232474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org fi 233474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org done 234474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org} 235474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 236474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 237474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org# 238474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org# Text Processing Functions 239474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org# 240474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgtoupper(){ 241474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org echo "$@" | tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ 242474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org} 243474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 244474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 245474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgtolower(){ 246474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org echo "$@" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 247474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org} 248474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 249474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 250474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org# 251474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org# Temporary File Functions 252474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org# 253474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgsource_path=${0%/*} 25453a13f1fa964820f7a8f9d3932a6f3c0433f8bf5fgalligan@chromium.orgenable_feature source_path_used 255474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgif test -z "$source_path" -o "$source_path" = "." ; then 256474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org source_path="`pwd`" 25753a13f1fa964820f7a8f9d3932a6f3c0433f8bf5fgalligan@chromium.org disable_feature source_path_used 258474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgfi 259474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 260474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgif test ! -z "$TMPDIR" ; then 261474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org TMPDIRx="${TMPDIR}" 262474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgelif test ! -z "$TEMPDIR" ; then 263474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org TMPDIRx="${TEMPDIR}" 264474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgelse 265474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org TMPDIRx="/tmp" 266474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgfi 26753a13f1fa964820f7a8f9d3932a6f3c0433f8bf5fgalligan@chromium.orgRAND=$(awk 'BEGIN { srand(); printf "%d\n",(rand() * 32768)}') 26853a13f1fa964820f7a8f9d3932a6f3c0433f8bf5fgalligan@chromium.orgTMP_H="${TMPDIRx}/vpx-conf-$$-${RAND}.h" 26953a13f1fa964820f7a8f9d3932a6f3c0433f8bf5fgalligan@chromium.orgTMP_C="${TMPDIRx}/vpx-conf-$$-${RAND}.c" 27053a13f1fa964820f7a8f9d3932a6f3c0433f8bf5fgalligan@chromium.orgTMP_CC="${TMPDIRx}/vpx-conf-$$-${RAND}.cc" 27153a13f1fa964820f7a8f9d3932a6f3c0433f8bf5fgalligan@chromium.orgTMP_O="${TMPDIRx}/vpx-conf-$$-${RAND}.o" 27253a13f1fa964820f7a8f9d3932a6f3c0433f8bf5fgalligan@chromium.orgTMP_X="${TMPDIRx}/vpx-conf-$$-${RAND}.x" 27353a13f1fa964820f7a8f9d3932a6f3c0433f8bf5fgalligan@chromium.orgTMP_ASM="${TMPDIRx}/vpx-conf-$$-${RAND}.asm" 274474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 275474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgclean_temp_files() { 27610a9a0d835561a7f2300c561c514efcf374554d6fgalligan@chromium.org rm -f ${TMP_C} ${TMP_CC} ${TMP_H} ${TMP_O} ${TMP_X} ${TMP_ASM} 27793a74791c8e808ea76001ee07693aa2a5fdd3500johannkoenig@chromium.org enabled gcov && rm -f ${TMP_C%.c}.gcno ${TMP_CC%.cc}.gcno 278474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org} 279474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 280474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org# 281474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org# Toolchain Check Functions 282474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org# 283474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgcheck_cmd() { 2846fefe538d859300e7febe78271828198c10f1b52fgalligan@chromium.org enabled external_build && return 285474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org log "$@" 286474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org "$@" >>${logfile} 2>&1 287474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org} 288474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 289474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgcheck_cc() { 290474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org log check_cc "$@" 291474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org cat >${TMP_C} 292474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org log_file ${TMP_C} 293474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org check_cmd ${CC} ${CFLAGS} "$@" -c -o ${TMP_O} ${TMP_C} 294474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org} 295474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 296ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.orgcheck_cxx() { 297ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.org log check_cxx "$@" 29810a9a0d835561a7f2300c561c514efcf374554d6fgalligan@chromium.org cat >${TMP_CC} 29910a9a0d835561a7f2300c561c514efcf374554d6fgalligan@chromium.org log_file ${TMP_CC} 30010a9a0d835561a7f2300c561c514efcf374554d6fgalligan@chromium.org check_cmd ${CXX} ${CXXFLAGS} "$@" -c -o ${TMP_O} ${TMP_CC} 301ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.org} 302ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.org 303474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgcheck_cpp() { 304474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org log check_cpp "$@" 305474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org cat > ${TMP_C} 306474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org log_file ${TMP_C} 307474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org check_cmd ${CC} ${CFLAGS} "$@" -E -o ${TMP_O} ${TMP_C} 308474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org} 309474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 310474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgcheck_ld() { 311474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org log check_ld "$@" 312474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org check_cc $@ \ 313474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org && check_cmd ${LD} ${LDFLAGS} "$@" -o ${TMP_X} ${TMP_O} ${extralibs} 314474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org} 315474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 316474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgcheck_header(){ 317474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org log check_header "$@" 318474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org header=$1 319474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org shift 320474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org var=`echo $header | sed 's/[^A-Za-z0-9_]/_/g'` 32153a13f1fa964820f7a8f9d3932a6f3c0433f8bf5fgalligan@chromium.org disable_feature $var 32253a13f1fa964820f7a8f9d3932a6f3c0433f8bf5fgalligan@chromium.org check_cpp "$@" <<EOF && enable_feature $var 323474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org#include "$header" 324474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgint x; 325474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgEOF 326474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org} 327474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 328474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 329474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgcheck_cflags() { 330474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org log check_cflags "$@" 33193a74791c8e808ea76001ee07693aa2a5fdd3500johannkoenig@chromium.org check_cc -Werror "$@" <<EOF 332474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgint x; 333474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgEOF 334474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org} 335474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 336ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.orgcheck_cxxflags() { 337ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.org log check_cxxflags "$@" 338ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.org 339ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.org # Catch CFLAGS that trigger CXX warnings 340ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.org case "$CXX" in 34176e516e2154f353aa02c504bac88afb0f95fefa7johannkoenig@chromium.org *c++-analyzer|*clang++|*g++*) check_cxx -Werror "$@" <<EOF 342ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.orgint x; 343ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.orgEOF 344ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.org ;; 34593a74791c8e808ea76001ee07693aa2a5fdd3500johannkoenig@chromium.org *) check_cxx -Werror "$@" <<EOF 346ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.orgint x; 347ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.orgEOF 348ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.org ;; 349ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.org esac 350ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.org} 351ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.org 352474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgcheck_add_cflags() { 353ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.org check_cxxflags "$@" && add_cxxflags_only "$@" 354ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.org check_cflags "$@" && add_cflags_only "$@" 355474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org} 356474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 357474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgcheck_add_asflags() { 358474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org log add_asflags "$@" 359474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org add_asflags "$@" 360474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org} 361474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 362474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgcheck_add_ldflags() { 363474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org log add_ldflags "$@" 364474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org add_ldflags "$@" 365474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org} 366474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 367474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgcheck_asm_align() { 368474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org log check_asm_align "$@" 369474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org cat >${TMP_ASM} <<EOF 370474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgsection .rodata 371474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgalign 16 372474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgEOF 373474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org log_file ${TMP_ASM} 374474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org check_cmd ${AS} ${ASFLAGS} -o ${TMP_O} ${TMP_ASM} 375474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org readelf -WS ${TMP_O} >${TMP_X} 376474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org log_file ${TMP_X} 377474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org if ! grep -q '\.rodata .* 16$' ${TMP_X}; then 378474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org die "${AS} ${ASFLAGS} does not support section alignment (nasm <=2.08?)" 379474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org fi 380474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org} 381474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 38293a74791c8e808ea76001ee07693aa2a5fdd3500johannkoenig@chromium.org# tests for -m$1 toggling the feature given in $2. If $2 is empty $1 is used. 38393a74791c8e808ea76001ee07693aa2a5fdd3500johannkoenig@chromium.orgcheck_gcc_machine_option() { 38493a74791c8e808ea76001ee07693aa2a5fdd3500johannkoenig@chromium.org local opt="$1" 38593a74791c8e808ea76001ee07693aa2a5fdd3500johannkoenig@chromium.org local feature="$2" 38693a74791c8e808ea76001ee07693aa2a5fdd3500johannkoenig@chromium.org [ -n "$feature" ] || feature="$opt" 38793a74791c8e808ea76001ee07693aa2a5fdd3500johannkoenig@chromium.org 38893a74791c8e808ea76001ee07693aa2a5fdd3500johannkoenig@chromium.org if enabled gcc && ! disabled "$feature" && ! check_cflags "-m$opt"; then 38993a74791c8e808ea76001ee07693aa2a5fdd3500johannkoenig@chromium.org RTCD_OPTIONS="${RTCD_OPTIONS}--disable-$feature " 39093a74791c8e808ea76001ee07693aa2a5fdd3500johannkoenig@chromium.org else 39193a74791c8e808ea76001ee07693aa2a5fdd3500johannkoenig@chromium.org soft_enable "$feature" 39293a74791c8e808ea76001ee07693aa2a5fdd3500johannkoenig@chromium.org fi 39393a74791c8e808ea76001ee07693aa2a5fdd3500johannkoenig@chromium.org} 39493a74791c8e808ea76001ee07693aa2a5fdd3500johannkoenig@chromium.org 395474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgwrite_common_config_banner() { 396167514562bbce1eb0566271d6cb41d90d2b5ffa0hclam@chromium.org print_webm_license config.mk "##" "" 397167514562bbce1eb0566271d6cb41d90d2b5ffa0hclam@chromium.org echo '# This file automatically generated by configure. Do not edit!' >> config.mk 398474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org echo "TOOLCHAIN := ${toolchain}" >> config.mk 399474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 400474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org case ${toolchain} in 401474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org *-linux-rvct) 402474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org echo "ALT_LIBC := ${alt_libc}" >> config.mk 403474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org ;; 404474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org esac 405474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org} 406474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 407474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgwrite_common_config_targets() { 408474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org for t in ${all_targets}; do 409474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org if enabled ${t}; then 410474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org if enabled universal || enabled child; then 411474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org fwrite config.mk "ALL_TARGETS += ${t}-${toolchain}" 412474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org else 413474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org fwrite config.mk "ALL_TARGETS += ${t}" 414474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org fi 415474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org fi 416474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org true; 417474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org done 418474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgtrue 419474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org} 420474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 421474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgwrite_common_target_config_mk() { 42293a74791c8e808ea76001ee07693aa2a5fdd3500johannkoenig@chromium.org local CC="${CC}" 42393a74791c8e808ea76001ee07693aa2a5fdd3500johannkoenig@chromium.org local CXX="${CXX}" 424474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org enabled ccache && CC="ccache ${CC}" 425ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.org enabled ccache && CXX="ccache ${CXX}" 426167514562bbce1eb0566271d6cb41d90d2b5ffa0hclam@chromium.org print_webm_license $1 "##" "" 427474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 428167514562bbce1eb0566271d6cb41d90d2b5ffa0hclam@chromium.org cat >> $1 << EOF 429474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org# This file automatically generated by configure. Do not edit! 430474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgSRC_PATH="$source_path" 431474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgSRC_PATH_BARE=$source_path 432474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgBUILD_PFX=${BUILD_PFX} 433474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgTOOLCHAIN=${toolchain} 434474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgASM_CONVERSION=${asm_conversion_cmd:-${source_path}/build/make/ads2gas.pl} 43510a9a0d835561a7f2300c561c514efcf374554d6fgalligan@chromium.orgGEN_VCPROJ=${gen_vcproj_cmd} 43610a9a0d835561a7f2300c561c514efcf374554d6fgalligan@chromium.orgMSVS_ARCH_DIR=${msvs_arch_dir} 437474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 438474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgCC=${CC} 439ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.orgCXX=${CXX} 440474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgAR=${AR} 441474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgLD=${LD} 442474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgAS=${AS} 443474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgSTRIP=${STRIP} 444474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgNM=${NM} 445474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 446474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgCFLAGS = ${CFLAGS} 447ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.orgCXXFLAGS = ${CXXFLAGS} 448474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgARFLAGS = -rus\$(if \$(quiet),c,v) 449474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgLDFLAGS = ${LDFLAGS} 450474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgASFLAGS = ${ASFLAGS} 451474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgextralibs = ${extralibs} 452474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgAS_SFX = ${AS_SFX:-.asm} 4535c1d3b27608a3f3f6028c069b9bf066a4de474b6hclam@chromium.orgEXE_SFX = ${EXE_SFX} 45410a9a0d835561a7f2300c561c514efcf374554d6fgalligan@chromium.orgVCPROJ_SFX = ${VCPROJ_SFX} 4555c1d3b27608a3f3f6028c069b9bf066a4de474b6hclam@chromium.orgRTCD_OPTIONS = ${RTCD_OPTIONS} 456474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgEOF 457474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 458474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org if enabled rvct; then cat >> $1 << EOF 459d348b8d765c019ee7250075d663a83db00c65c08tomfinegan@chromium.orgfmt_deps = sed -e 's;^__image.axf;\${@:.d=.o} \$@;' #hide 460474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgEOF 461474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org else cat >> $1 << EOF 462d348b8d765c019ee7250075d663a83db00c65c08tomfinegan@chromium.orgfmt_deps = sed -e 's;^\([a-zA-Z0-9_]*\)\.o;\${@:.d=.o} \$@;' 463474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgEOF 464474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org fi 465474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 466474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org print_config_mk ARCH "${1}" ${ARCH_LIST} 467474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org print_config_mk HAVE "${1}" ${HAVE_LIST} 468474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org print_config_mk CONFIG "${1}" ${CONFIG_LIST} 469474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org print_config_mk HAVE "${1}" gnu_strip 470474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 471474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org enabled msvs && echo "CONFIG_VS_VERSION=${vs_version}" >> "${1}" 472474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 473474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org} 474474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 475474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 476474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgwrite_common_target_config_h() { 477167514562bbce1eb0566271d6cb41d90d2b5ffa0hclam@chromium.org print_webm_license ${TMP_H} "/*" " */" 478167514562bbce1eb0566271d6cb41d90d2b5ffa0hclam@chromium.org cat >> ${TMP_H} << EOF 479474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org/* This file automatically generated by configure. Do not edit! */ 480474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org#ifndef VPX_CONFIG_H 481474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org#define VPX_CONFIG_H 482474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org#define RESTRICT ${RESTRICT} 4831cedac70da0675180660d8d3478648400afde47djohannkoenig@chromium.org#define INLINE ${INLINE} 484474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgEOF 485474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org print_config_h ARCH "${TMP_H}" ${ARCH_LIST} 486474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org print_config_h HAVE "${TMP_H}" ${HAVE_LIST} 487474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org print_config_h CONFIG "${TMP_H}" ${CONFIG_LIST} 488474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org echo "#endif /* VPX_CONFIG_H */" >> ${TMP_H} 489474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org mkdir -p `dirname "$1"` 490474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org cmp "$1" ${TMP_H} >/dev/null 2>&1 || mv ${TMP_H} "$1" 491474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org} 492474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 493474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgprocess_common_cmdline() { 494474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org for opt in "$@"; do 495474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org optval="${opt#*=}" 496474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org case "$opt" in 49753a13f1fa964820f7a8f9d3932a6f3c0433f8bf5fgalligan@chromium.org --child) enable_feature child 498474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org ;; 499474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org --log*) 500474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org logging="$optval" 501474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org if ! disabled logging ; then 502474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org enabled logging || logfile="$logging" 503474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org else 504474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org logfile=/dev/null 505474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org fi 506474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org ;; 507474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org --target=*) toolchain="${toolchain:-${optval}}" 508474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org ;; 50953a13f1fa964820f7a8f9d3932a6f3c0433f8bf5fgalligan@chromium.org --force-target=*) toolchain="${toolchain:-${optval}}"; enable_feature force_toolchain 510474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org ;; 511474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org --cpu) 512474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org ;; 513474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org --cpu=*) tune_cpu="$optval" 514474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org ;; 515474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org --extra-cflags=*) 516474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org extra_cflags="${optval}" 517474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org ;; 518474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org --enable-?*|--disable-?*) 519474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org eval `echo "$opt" | sed 's/--/action=/;s/-/ option=/;s/-/_/g'` 5205c1d3b27608a3f3f6028c069b9bf066a4de474b6hclam@chromium.org if echo "${ARCH_EXT_LIST}" | grep "^ *$option\$" >/dev/null; then 5217765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org [ $action = "disable" ] && RTCD_OPTIONS="${RTCD_OPTIONS}--disable-${option} " 5225c1d3b27608a3f3f6028c069b9bf066a4de474b6hclam@chromium.org elif [ $action = "disable" ] && ! disabled $option ; then 5235c1d3b27608a3f3f6028c069b9bf066a4de474b6hclam@chromium.org echo "${CMDLINE_SELECT}" | grep "^ *$option\$" >/dev/null || 5245c1d3b27608a3f3f6028c069b9bf066a4de474b6hclam@chromium.org die_unknown $opt 5255c1d3b27608a3f3f6028c069b9bf066a4de474b6hclam@chromium.org elif [ $action = "enable" ] && ! enabled $option ; then 5265c1d3b27608a3f3f6028c069b9bf066a4de474b6hclam@chromium.org echo "${CMDLINE_SELECT}" | grep "^ *$option\$" >/dev/null || 5275c1d3b27608a3f3f6028c069b9bf066a4de474b6hclam@chromium.org die_unknown $opt 5285c1d3b27608a3f3f6028c069b9bf066a4de474b6hclam@chromium.org fi 52953a13f1fa964820f7a8f9d3932a6f3c0433f8bf5fgalligan@chromium.org ${action}_feature $option 530474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org ;; 5315c1d3b27608a3f3f6028c069b9bf066a4de474b6hclam@chromium.org --require-?*) 5325c1d3b27608a3f3f6028c069b9bf066a4de474b6hclam@chromium.org eval `echo "$opt" | sed 's/--/action=/;s/-/ option=/;s/-/_/g'` 5335c1d3b27608a3f3f6028c069b9bf066a4de474b6hclam@chromium.org if echo "${ARCH_EXT_LIST}" none | grep "^ *$option\$" >/dev/null; then 5345c1d3b27608a3f3f6028c069b9bf066a4de474b6hclam@chromium.org RTCD_OPTIONS="${RTCD_OPTIONS}${opt} " 5355c1d3b27608a3f3f6028c069b9bf066a4de474b6hclam@chromium.org else 5365c1d3b27608a3f3f6028c069b9bf066a4de474b6hclam@chromium.org die_unknown $opt 5375c1d3b27608a3f3f6028c069b9bf066a4de474b6hclam@chromium.org fi 5385c1d3b27608a3f3f6028c069b9bf066a4de474b6hclam@chromium.org ;; 539474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org --force-enable-?*|--force-disable-?*) 540474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org eval `echo "$opt" | sed 's/--force-/action=/;s/-/ option=/;s/-/_/g'` 54153a13f1fa964820f7a8f9d3932a6f3c0433f8bf5fgalligan@chromium.org ${action}_feature $option 542474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org ;; 543474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org --libc=*) 544474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org [ -d "${optval}" ] || die "Not a directory: ${optval}" 54553a13f1fa964820f7a8f9d3932a6f3c0433f8bf5fgalligan@chromium.org disable_feature builtin_libc 546474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org alt_libc="${optval}" 547474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org ;; 548474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org --as=*) 549474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org [ "${optval}" = yasm -o "${optval}" = nasm -o "${optval}" = auto ] \ 550474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org || die "Must be yasm, nasm or auto: ${optval}" 551474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org alt_as="${optval}" 552474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org ;; 553474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org --prefix=*) 554474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org prefix="${optval}" 555474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org ;; 556474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org --libdir=*) 557474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org libdir="${optval}" 558474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org ;; 559167514562bbce1eb0566271d6cb41d90d2b5ffa0hclam@chromium.org --sdk-path=*) 560167514562bbce1eb0566271d6cb41d90d2b5ffa0hclam@chromium.org [ -d "${optval}" ] || die "Not a directory: ${optval}" 561167514562bbce1eb0566271d6cb41d90d2b5ffa0hclam@chromium.org sdk_path="${optval}" 562167514562bbce1eb0566271d6cb41d90d2b5ffa0hclam@chromium.org ;; 563167514562bbce1eb0566271d6cb41d90d2b5ffa0hclam@chromium.org --libc|--as|--prefix|--libdir|--sdk-path) 564474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org die "Option ${opt} requires argument" 565474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org ;; 566474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org --help|-h) show_help 567474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org ;; 568474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org *) die_unknown $opt 569474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org ;; 570474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org esac 571474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org done 572474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org} 573474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 574474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgprocess_cmdline() { 575474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org for opt do 576474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org optval="${opt#*=}" 577474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org case "$opt" in 578474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org *) process_common_cmdline $opt 579474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org ;; 580474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org esac 581474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org done 582474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org} 583474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 584474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 585474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgpost_process_common_cmdline() { 586474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org prefix="${prefix:-/usr/local}" 587474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org prefix="${prefix%/}" 588474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org libdir="${libdir:-${prefix}/lib}" 589474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org libdir="${libdir%/}" 590474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org if [ "${libdir#${prefix}}" = "${libdir}" ]; then 591474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org die "Libdir ${libdir} must be a subdirectory of ${prefix}" 592474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org fi 593474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org} 594474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 595474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 596474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgpost_process_cmdline() { 597474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org true; 598474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org} 599474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 600474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgsetup_gnu_toolchain() { 601474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org CC=${CC:-${CROSS}gcc} 602ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.org CXX=${CXX:-${CROSS}g++} 603474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org AR=${AR:-${CROSS}ar} 604474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org LD=${LD:-${CROSS}${link_with_cc:-ld}} 605474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org AS=${AS:-${CROSS}as} 606474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org STRIP=${STRIP:-${CROSS}strip} 607474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org NM=${NM:-${CROSS}nm} 608474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org AS_SFX=.s 6095c1d3b27608a3f3f6028c069b9bf066a4de474b6hclam@chromium.org EXE_SFX= 610474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org} 611474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 612474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgprocess_common_toolchain() { 613474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org if [ -z "$toolchain" ]; then 614ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.org gcctarget="${CHOST:-$(gcc -dumpmachine 2> /dev/null)}" 615474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 616474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org # detect tgt_isa 617474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org case "$gcctarget" in 618ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.org armv6*) 619ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.org tgt_isa=armv6 620ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.org ;; 621d348b8d765c019ee7250075d663a83db00c65c08tomfinegan@chromium.org armv7*-hardfloat*) 622d348b8d765c019ee7250075d663a83db00c65c08tomfinegan@chromium.org tgt_isa=armv7 623d348b8d765c019ee7250075d663a83db00c65c08tomfinegan@chromium.org float_abi=hard 624d348b8d765c019ee7250075d663a83db00c65c08tomfinegan@chromium.org ;; 625ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.org armv7*) 626ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.org tgt_isa=armv7 627d348b8d765c019ee7250075d663a83db00c65c08tomfinegan@chromium.org float_abi=softfp 628ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.org ;; 629ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.org armv5te*) 630ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.org tgt_isa=armv5te 631ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.org ;; 632474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org *x86_64*|*amd64*) 633474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org tgt_isa=x86_64 634474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org ;; 635474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org *i[3456]86*) 636474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org tgt_isa=x86 637474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org ;; 638474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org *powerpc64*) 639474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org tgt_isa=ppc64 640474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org ;; 641474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org *powerpc*) 642474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org tgt_isa=ppc32 643474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org ;; 644474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org *sparc*) 645474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org tgt_isa=sparc 646474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org ;; 647474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org esac 648474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 649474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org # detect tgt_os 650474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org case "$gcctarget" in 651474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org *darwin8*) 652474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org tgt_isa=universal 653474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org tgt_os=darwin8 654474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org ;; 655474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org *darwin9*) 656474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org tgt_isa=universal 657474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org tgt_os=darwin9 658474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org ;; 659474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org *darwin10*) 660474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org tgt_isa=x86_64 661474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org tgt_os=darwin10 662474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org ;; 663167514562bbce1eb0566271d6cb41d90d2b5ffa0hclam@chromium.org *darwin11*) 664167514562bbce1eb0566271d6cb41d90d2b5ffa0hclam@chromium.org tgt_isa=x86_64 665167514562bbce1eb0566271d6cb41d90d2b5ffa0hclam@chromium.org tgt_os=darwin11 666167514562bbce1eb0566271d6cb41d90d2b5ffa0hclam@chromium.org ;; 6675c1d3b27608a3f3f6028c069b9bf066a4de474b6hclam@chromium.org *darwin12*) 6685c1d3b27608a3f3f6028c069b9bf066a4de474b6hclam@chromium.org tgt_isa=x86_64 6695c1d3b27608a3f3f6028c069b9bf066a4de474b6hclam@chromium.org tgt_os=darwin12 6705c1d3b27608a3f3f6028c069b9bf066a4de474b6hclam@chromium.org ;; 67147265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org *darwin13*) 67247265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org tgt_isa=x86_64 67347265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org tgt_os=darwin13 67447265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org ;; 675d348b8d765c019ee7250075d663a83db00c65c08tomfinegan@chromium.org x86_64*mingw32*) 676d348b8d765c019ee7250075d663a83db00c65c08tomfinegan@chromium.org tgt_os=win64 677d348b8d765c019ee7250075d663a83db00c65c08tomfinegan@chromium.org ;; 678474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org *mingw32*|*cygwin*) 679474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org [ -z "$tgt_isa" ] && tgt_isa=x86 680474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org tgt_os=win32 681474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org ;; 682474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org *linux*|*bsd*) 683474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org tgt_os=linux 684474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org ;; 685474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org *solaris2.10) 686474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org tgt_os=solaris 687474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org ;; 6885c1d3b27608a3f3f6028c069b9bf066a4de474b6hclam@chromium.org *os2*) 6895c1d3b27608a3f3f6028c069b9bf066a4de474b6hclam@chromium.org tgt_os=os2 6905c1d3b27608a3f3f6028c069b9bf066a4de474b6hclam@chromium.org ;; 691474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org esac 692474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 693474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org if [ -n "$tgt_isa" ] && [ -n "$tgt_os" ]; then 694474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org toolchain=${tgt_isa}-${tgt_os}-gcc 695474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org fi 696474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org fi 697474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 698474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org toolchain=${toolchain:-generic-gnu} 699474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 700474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org is_in ${toolchain} ${all_platforms} || enabled force_toolchain \ 701474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org || die "Unrecognized toolchain '${toolchain}'" 702474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 703474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org enabled child || log_echo "Configuring for target '${toolchain}'" 704474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 705474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org # 706474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org # Set up toolchain variables 707474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org # 708474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org tgt_isa=$(echo ${toolchain} | awk 'BEGIN{FS="-"}{print $1}') 709474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org tgt_os=$(echo ${toolchain} | awk 'BEGIN{FS="-"}{print $2}') 710474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org tgt_cc=$(echo ${toolchain} | awk 'BEGIN{FS="-"}{print $3}') 711474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 712474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org # Mark the specific ISA requested as enabled 713474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org soft_enable ${tgt_isa} 71453a13f1fa964820f7a8f9d3932a6f3c0433f8bf5fgalligan@chromium.org enable_feature ${tgt_os} 71553a13f1fa964820f7a8f9d3932a6f3c0433f8bf5fgalligan@chromium.org enable_feature ${tgt_cc} 716474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 717474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org # Enable the architecture family 718474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org case ${tgt_isa} in 71953a13f1fa964820f7a8f9d3932a6f3c0433f8bf5fgalligan@chromium.org arm*) enable_feature arm;; 72053a13f1fa964820f7a8f9d3932a6f3c0433f8bf5fgalligan@chromium.org mips*) enable_feature mips;; 721474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org esac 722474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 723474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org # PIC is probably what we want when building shared libs 724474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org enabled shared && soft_enable pic 725474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 726167514562bbce1eb0566271d6cb41d90d2b5ffa0hclam@chromium.org # Handle darwin variants. Newer SDKs allow targeting older 727167514562bbce1eb0566271d6cb41d90d2b5ffa0hclam@chromium.org # platforms, so find the newest SDK available. 7285c1d3b27608a3f3f6028c069b9bf066a4de474b6hclam@chromium.org case ${toolchain} in 7295c1d3b27608a3f3f6028c069b9bf066a4de474b6hclam@chromium.org *-darwin*) 7305c1d3b27608a3f3f6028c069b9bf066a4de474b6hclam@chromium.org if [ -z "${DEVELOPER_DIR}" ]; then 7315c1d3b27608a3f3f6028c069b9bf066a4de474b6hclam@chromium.org DEVELOPER_DIR=`xcode-select -print-path 2> /dev/null` 7325c1d3b27608a3f3f6028c069b9bf066a4de474b6hclam@chromium.org [ $? -ne 0 ] && OSX_SKIP_DIR_CHECK=1 7335c1d3b27608a3f3f6028c069b9bf066a4de474b6hclam@chromium.org fi 7345c1d3b27608a3f3f6028c069b9bf066a4de474b6hclam@chromium.org if [ -z "${OSX_SKIP_DIR_CHECK}" ]; then 7355c1d3b27608a3f3f6028c069b9bf066a4de474b6hclam@chromium.org OSX_SDK_ROOTS="${DEVELOPER_DIR}/SDKs" 7365c1d3b27608a3f3f6028c069b9bf066a4de474b6hclam@chromium.org OSX_SDK_VERSIONS="MacOSX10.4u.sdk MacOSX10.5.sdk MacOSX10.6.sdk" 7375c1d3b27608a3f3f6028c069b9bf066a4de474b6hclam@chromium.org OSX_SDK_VERSIONS="${OSX_SDK_VERSIONS} MacOSX10.7.sdk" 7385c1d3b27608a3f3f6028c069b9bf066a4de474b6hclam@chromium.org for v in ${OSX_SDK_VERSIONS}; do 7395c1d3b27608a3f3f6028c069b9bf066a4de474b6hclam@chromium.org if [ -d "${OSX_SDK_ROOTS}/${v}" ]; then 7405c1d3b27608a3f3f6028c069b9bf066a4de474b6hclam@chromium.org osx_sdk_dir="${OSX_SDK_ROOTS}/${v}" 7415c1d3b27608a3f3f6028c069b9bf066a4de474b6hclam@chromium.org fi 7425c1d3b27608a3f3f6028c069b9bf066a4de474b6hclam@chromium.org done 7435c1d3b27608a3f3f6028c069b9bf066a4de474b6hclam@chromium.org fi 7445c1d3b27608a3f3f6028c069b9bf066a4de474b6hclam@chromium.org ;; 7455c1d3b27608a3f3f6028c069b9bf066a4de474b6hclam@chromium.org esac 7465c1d3b27608a3f3f6028c069b9bf066a4de474b6hclam@chromium.org 7475c1d3b27608a3f3f6028c069b9bf066a4de474b6hclam@chromium.org if [ -d "${osx_sdk_dir}" ]; then 7485c1d3b27608a3f3f6028c069b9bf066a4de474b6hclam@chromium.org add_cflags "-isysroot ${osx_sdk_dir}" 7495c1d3b27608a3f3f6028c069b9bf066a4de474b6hclam@chromium.org add_ldflags "-isysroot ${osx_sdk_dir}" 750167514562bbce1eb0566271d6cb41d90d2b5ffa0hclam@chromium.org fi 751167514562bbce1eb0566271d6cb41d90d2b5ffa0hclam@chromium.org 752474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org case ${toolchain} in 753474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org *-darwin8-*) 754474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org add_cflags "-mmacosx-version-min=10.4" 755474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org add_ldflags "-mmacosx-version-min=10.4" 756474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org ;; 757474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org *-darwin9-*) 758474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org add_cflags "-mmacosx-version-min=10.5" 759474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org add_ldflags "-mmacosx-version-min=10.5" 760474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org ;; 761474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org *-darwin10-*) 762474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org add_cflags "-mmacosx-version-min=10.6" 763474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org add_ldflags "-mmacosx-version-min=10.6" 764474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org ;; 765167514562bbce1eb0566271d6cb41d90d2b5ffa0hclam@chromium.org *-darwin11-*) 766167514562bbce1eb0566271d6cb41d90d2b5ffa0hclam@chromium.org add_cflags "-mmacosx-version-min=10.7" 767167514562bbce1eb0566271d6cb41d90d2b5ffa0hclam@chromium.org add_ldflags "-mmacosx-version-min=10.7" 768167514562bbce1eb0566271d6cb41d90d2b5ffa0hclam@chromium.org ;; 7695c1d3b27608a3f3f6028c069b9bf066a4de474b6hclam@chromium.org *-darwin12-*) 7705c1d3b27608a3f3f6028c069b9bf066a4de474b6hclam@chromium.org add_cflags "-mmacosx-version-min=10.8" 7715c1d3b27608a3f3f6028c069b9bf066a4de474b6hclam@chromium.org add_ldflags "-mmacosx-version-min=10.8" 7725c1d3b27608a3f3f6028c069b9bf066a4de474b6hclam@chromium.org ;; 77347265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org *-darwin13-*) 77447265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org add_cflags "-mmacosx-version-min=10.9" 77547265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org add_ldflags "-mmacosx-version-min=10.9" 77647265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.org ;; 777474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org esac 778474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 779474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org # Handle Solaris variants. Solaris 10 needs -lposix4 780474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org case ${toolchain} in 781474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org sparc-solaris-*) 782474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org add_extralibs -lposix4 78353a13f1fa964820f7a8f9d3932a6f3c0433f8bf5fgalligan@chromium.org disable_feature fast_unaligned 784474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org ;; 785474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org *-solaris-*) 786474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org add_extralibs -lposix4 787474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org ;; 788474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org esac 789474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 790474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org # Process ARM architecture variants 791474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org case ${toolchain} in 792167514562bbce1eb0566271d6cb41d90d2b5ffa0hclam@chromium.org arm*) 793167514562bbce1eb0566271d6cb41d90d2b5ffa0hclam@chromium.org # on arm, isa versions are supersets 7945c1d3b27608a3f3f6028c069b9bf066a4de474b6hclam@chromium.org case ${tgt_isa} in 7957765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org armv8) 7967765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org soft_enable neon 7977765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org ;; 7985c1d3b27608a3f3f6028c069b9bf066a4de474b6hclam@chromium.org armv7) 7995c1d3b27608a3f3f6028c069b9bf066a4de474b6hclam@chromium.org soft_enable neon 8007765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org soft_enable neon_asm 8015c1d3b27608a3f3f6028c069b9bf066a4de474b6hclam@chromium.org soft_enable media 8025c1d3b27608a3f3f6028c069b9bf066a4de474b6hclam@chromium.org soft_enable edsp 8035c1d3b27608a3f3f6028c069b9bf066a4de474b6hclam@chromium.org soft_enable fast_unaligned 8045c1d3b27608a3f3f6028c069b9bf066a4de474b6hclam@chromium.org ;; 8055c1d3b27608a3f3f6028c069b9bf066a4de474b6hclam@chromium.org armv6) 8065c1d3b27608a3f3f6028c069b9bf066a4de474b6hclam@chromium.org soft_enable media 8075c1d3b27608a3f3f6028c069b9bf066a4de474b6hclam@chromium.org soft_enable edsp 8085c1d3b27608a3f3f6028c069b9bf066a4de474b6hclam@chromium.org soft_enable fast_unaligned 8095c1d3b27608a3f3f6028c069b9bf066a4de474b6hclam@chromium.org ;; 8105c1d3b27608a3f3f6028c069b9bf066a4de474b6hclam@chromium.org armv5te) 8115c1d3b27608a3f3f6028c069b9bf066a4de474b6hclam@chromium.org soft_enable edsp 81253a13f1fa964820f7a8f9d3932a6f3c0433f8bf5fgalligan@chromium.org disable_feature fast_unaligned 8135c1d3b27608a3f3f6028c069b9bf066a4de474b6hclam@chromium.org ;; 8145c1d3b27608a3f3f6028c069b9bf066a4de474b6hclam@chromium.org esac 815474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 816167514562bbce1eb0566271d6cb41d90d2b5ffa0hclam@chromium.org asm_conversion_cmd="cat" 817474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 818474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org case ${tgt_cc} in 819474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org gcc) 820167514562bbce1eb0566271d6cb41d90d2b5ffa0hclam@chromium.org CROSS=${CROSS:-arm-none-linux-gnueabi-} 821474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org link_with_cc=gcc 822474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org setup_gnu_toolchain 823474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org arch_int=${tgt_isa##armv} 824474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org arch_int=${arch_int%%te} 825474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org check_add_asflags --defsym ARCHITECTURE=${arch_int} 826474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org tune_cflags="-mtune=" 82753a13f1fa964820f7a8f9d3932a6f3c0433f8bf5fgalligan@chromium.org if [ ${tgt_isa} = "armv7" ]; then 82810a9a0d835561a7f2300c561c514efcf374554d6fgalligan@chromium.org if [ -z "${float_abi}" ]; then 82910a9a0d835561a7f2300c561c514efcf374554d6fgalligan@chromium.org check_cpp <<EOF && float_abi=hard || float_abi=softfp 83010a9a0d835561a7f2300c561c514efcf374554d6fgalligan@chromium.org#ifndef __ARM_PCS_VFP 83110a9a0d835561a7f2300c561c514efcf374554d6fgalligan@chromium.org#error "not hardfp" 83210a9a0d835561a7f2300c561c514efcf374554d6fgalligan@chromium.org#endif 83310a9a0d835561a7f2300c561c514efcf374554d6fgalligan@chromium.orgEOF 83410a9a0d835561a7f2300c561c514efcf374554d6fgalligan@chromium.org fi 835d348b8d765c019ee7250075d663a83db00c65c08tomfinegan@chromium.org check_add_cflags -march=armv7-a -mfloat-abi=${float_abi} 836d348b8d765c019ee7250075d663a83db00c65c08tomfinegan@chromium.org check_add_asflags -march=armv7-a -mfloat-abi=${float_abi} 837ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.org 8387765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org if enabled neon || enabled neon_asm 8395c1d3b27608a3f3f6028c069b9bf066a4de474b6hclam@chromium.org then 8405c1d3b27608a3f3f6028c069b9bf066a4de474b6hclam@chromium.org check_add_cflags -mfpu=neon #-ftree-vectorize 8415c1d3b27608a3f3f6028c069b9bf066a4de474b6hclam@chromium.org check_add_asflags -mfpu=neon 8425c1d3b27608a3f3f6028c069b9bf066a4de474b6hclam@chromium.org fi 843ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.org 844ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.org if [ -z "${tune_cpu}" ]; then 845ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.org tune_cpu=cortex-a8 846ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.org fi 847474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org else 848474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org check_add_cflags -march=${tgt_isa} 849474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org check_add_asflags -march=${tgt_isa} 850474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org fi 851ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.org 852474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org enabled debug && add_asflags -g 853474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org asm_conversion_cmd="${source_path}/build/make/ads2gas.pl" 85410a9a0d835561a7f2300c561c514efcf374554d6fgalligan@chromium.org if enabled thumb; then 85510a9a0d835561a7f2300c561c514efcf374554d6fgalligan@chromium.org asm_conversion_cmd="$asm_conversion_cmd -thumb" 85610a9a0d835561a7f2300c561c514efcf374554d6fgalligan@chromium.org check_add_cflags -mthumb 85710a9a0d835561a7f2300c561c514efcf374554d6fgalligan@chromium.org check_add_asflags -mthumb -mimplicit-it=always 85810a9a0d835561a7f2300c561c514efcf374554d6fgalligan@chromium.org fi 85910a9a0d835561a7f2300c561c514efcf374554d6fgalligan@chromium.org ;; 86010a9a0d835561a7f2300c561c514efcf374554d6fgalligan@chromium.org vs*) 86110a9a0d835561a7f2300c561c514efcf374554d6fgalligan@chromium.org asm_conversion_cmd="${source_path}/build/make/ads2armasm_ms.pl" 86210a9a0d835561a7f2300c561c514efcf374554d6fgalligan@chromium.org AS_SFX=.s 86310a9a0d835561a7f2300c561c514efcf374554d6fgalligan@chromium.org msvs_arch_dir=arm-msvs 86453a13f1fa964820f7a8f9d3932a6f3c0433f8bf5fgalligan@chromium.org disable_feature multithread 86553a13f1fa964820f7a8f9d3932a6f3c0433f8bf5fgalligan@chromium.org disable_feature unit_tests 866810cf1767dc8df4783e02ba8a712072f50ddc99efgalligan@chromium.org vs_version=${tgt_cc##vs} 867810cf1767dc8df4783e02ba8a712072f50ddc99efgalligan@chromium.org if [ $vs_version -ge 12 ]; then 868810cf1767dc8df4783e02ba8a712072f50ddc99efgalligan@chromium.org # MSVC 2013 doesn't allow doing plain .exe projects for ARM, 869810cf1767dc8df4783e02ba8a712072f50ddc99efgalligan@chromium.org # only "AppContainerApplication" which requires an AppxManifest. 870810cf1767dc8df4783e02ba8a712072f50ddc99efgalligan@chromium.org # Therefore disable the examples, just build the library. 871810cf1767dc8df4783e02ba8a712072f50ddc99efgalligan@chromium.org disable_feature examples 872810cf1767dc8df4783e02ba8a712072f50ddc99efgalligan@chromium.org fi 873474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org ;; 874474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org rvct) 875474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org CC=armcc 876474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org AR=armar 877474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org AS=armasm 878693441efe611de7ca09c00f4e79776f604b689f4joeyparrish@google.com LD="${source_path}/build/make/armlink_adapter.sh" 879474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org STRIP=arm-none-linux-gnueabi-strip 880474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org NM=arm-none-linux-gnueabi-nm 881474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org tune_cflags="--cpu=" 882474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org tune_asflags="--cpu=" 883474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org if [ -z "${tune_cpu}" ]; then 88453a13f1fa964820f7a8f9d3932a6f3c0433f8bf5fgalligan@chromium.org if [ ${tgt_isa} = "armv7" ]; then 8857765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org if enabled neon || enabled neon_asm 8865c1d3b27608a3f3f6028c069b9bf066a4de474b6hclam@chromium.org then 8875c1d3b27608a3f3f6028c069b9bf066a4de474b6hclam@chromium.org check_add_cflags --fpu=softvfp+vfpv3 8885c1d3b27608a3f3f6028c069b9bf066a4de474b6hclam@chromium.org check_add_asflags --fpu=softvfp+vfpv3 8895c1d3b27608a3f3f6028c069b9bf066a4de474b6hclam@chromium.org fi 8905c1d3b27608a3f3f6028c069b9bf066a4de474b6hclam@chromium.org check_add_cflags --cpu=Cortex-A8 8915c1d3b27608a3f3f6028c069b9bf066a4de474b6hclam@chromium.org check_add_asflags --cpu=Cortex-A8 892474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org else 893474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org check_add_cflags --cpu=${tgt_isa##armv} 894474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org check_add_asflags --cpu=${tgt_isa##armv} 895474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org fi 896474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org fi 897474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org arch_int=${tgt_isa##armv} 898474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org arch_int=${arch_int%%te} 899474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org check_add_asflags --pd "\"ARCHITECTURE SETA ${arch_int}\"" 900474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org enabled debug && add_asflags -g 901474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org add_cflags --gnu 902474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org add_cflags --enum_is_int 903474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org add_cflags --wchar32 904474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org ;; 905474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org esac 906474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 907474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org case ${tgt_os} in 908474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org none*) 90953a13f1fa964820f7a8f9d3932a6f3c0433f8bf5fgalligan@chromium.org disable_feature multithread 91053a13f1fa964820f7a8f9d3932a6f3c0433f8bf5fgalligan@chromium.org disable_feature os_support 911474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org ;; 912167514562bbce1eb0566271d6cb41d90d2b5ffa0hclam@chromium.org 913167514562bbce1eb0566271d6cb41d90d2b5ffa0hclam@chromium.org android*) 914167514562bbce1eb0566271d6cb41d90d2b5ffa0hclam@chromium.org SDK_PATH=${sdk_path} 915167514562bbce1eb0566271d6cb41d90d2b5ffa0hclam@chromium.org COMPILER_LOCATION=`find "${SDK_PATH}" \ 916167514562bbce1eb0566271d6cb41d90d2b5ffa0hclam@chromium.org -name "arm-linux-androideabi-gcc*" -print -quit` 917167514562bbce1eb0566271d6cb41d90d2b5ffa0hclam@chromium.org TOOLCHAIN_PATH=${COMPILER_LOCATION%/*}/arm-linux-androideabi- 918167514562bbce1eb0566271d6cb41d90d2b5ffa0hclam@chromium.org CC=${TOOLCHAIN_PATH}gcc 919ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.org CXX=${TOOLCHAIN_PATH}g++ 920167514562bbce1eb0566271d6cb41d90d2b5ffa0hclam@chromium.org AR=${TOOLCHAIN_PATH}ar 921167514562bbce1eb0566271d6cb41d90d2b5ffa0hclam@chromium.org LD=${TOOLCHAIN_PATH}gcc 922167514562bbce1eb0566271d6cb41d90d2b5ffa0hclam@chromium.org AS=${TOOLCHAIN_PATH}as 923167514562bbce1eb0566271d6cb41d90d2b5ffa0hclam@chromium.org STRIP=${TOOLCHAIN_PATH}strip 924167514562bbce1eb0566271d6cb41d90d2b5ffa0hclam@chromium.org NM=${TOOLCHAIN_PATH}nm 925167514562bbce1eb0566271d6cb41d90d2b5ffa0hclam@chromium.org 926167514562bbce1eb0566271d6cb41d90d2b5ffa0hclam@chromium.org if [ -z "${alt_libc}" ]; then 927167514562bbce1eb0566271d6cb41d90d2b5ffa0hclam@chromium.org alt_libc=`find "${SDK_PATH}" -name arch-arm -print | \ 928167514562bbce1eb0566271d6cb41d90d2b5ffa0hclam@chromium.org awk '{n = split($0,a,"/"); \ 929167514562bbce1eb0566271d6cb41d90d2b5ffa0hclam@chromium.org split(a[n-1],b,"-"); \ 930167514562bbce1eb0566271d6cb41d90d2b5ffa0hclam@chromium.org print $0 " " b[2]}' | \ 931167514562bbce1eb0566271d6cb41d90d2b5ffa0hclam@chromium.org sort -g -k 2 | \ 932167514562bbce1eb0566271d6cb41d90d2b5ffa0hclam@chromium.org awk '{ print $1 }' | tail -1` 933167514562bbce1eb0566271d6cb41d90d2b5ffa0hclam@chromium.org fi 934167514562bbce1eb0566271d6cb41d90d2b5ffa0hclam@chromium.org 935167514562bbce1eb0566271d6cb41d90d2b5ffa0hclam@chromium.org add_cflags "--sysroot=${alt_libc}" 936167514562bbce1eb0566271d6cb41d90d2b5ffa0hclam@chromium.org add_ldflags "--sysroot=${alt_libc}" 937167514562bbce1eb0566271d6cb41d90d2b5ffa0hclam@chromium.org 938ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.org # linker flag that routes around a CPU bug in some 939ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.org # Cortex-A8 implementations (NDK Dev Guide) 940ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.org add_ldflags "-Wl,--fix-cortex-a8" 9415c1d3b27608a3f3f6028c069b9bf066a4de474b6hclam@chromium.org 94253a13f1fa964820f7a8f9d3932a6f3c0433f8bf5fgalligan@chromium.org enable_feature pic 943167514562bbce1eb0566271d6cb41d90d2b5ffa0hclam@chromium.org soft_enable realtime_only 94453a13f1fa964820f7a8f9d3932a6f3c0433f8bf5fgalligan@chromium.org if [ ${tgt_isa} = "armv7" ]; then 945ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.org soft_enable runtime_cpu_detect 946ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.org fi 947ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.org if enabled runtime_cpu_detect; then 948ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.org add_cflags "-I${SDK_PATH}/sources/android/cpufeatures" 949167514562bbce1eb0566271d6cb41d90d2b5ffa0hclam@chromium.org fi 950167514562bbce1eb0566271d6cb41d90d2b5ffa0hclam@chromium.org ;; 951167514562bbce1eb0566271d6cb41d90d2b5ffa0hclam@chromium.org 952474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org darwin*) 953d851b91d14ef0bd71acdce7b90c9a8f1af1181adjohannkoenig@chromium.org 954d851b91d14ef0bd71acdce7b90c9a8f1af1181adjohannkoenig@chromium.org XCRUN_FIND="xcrun --sdk iphoneos -find" 955d851b91d14ef0bd71acdce7b90c9a8f1af1181adjohannkoenig@chromium.org CXX="$(${XCRUN_FIND} clang++)" 956d851b91d14ef0bd71acdce7b90c9a8f1af1181adjohannkoenig@chromium.org CC="$(${XCRUN_FIND} clang)" 957d851b91d14ef0bd71acdce7b90c9a8f1af1181adjohannkoenig@chromium.org AR="$(${XCRUN_FIND} ar)" 958d851b91d14ef0bd71acdce7b90c9a8f1af1181adjohannkoenig@chromium.org LD="$(${XCRUN_FIND} ld)" 959d851b91d14ef0bd71acdce7b90c9a8f1af1181adjohannkoenig@chromium.org AS="$(${XCRUN_FIND} as)" 960d851b91d14ef0bd71acdce7b90c9a8f1af1181adjohannkoenig@chromium.org STRIP="$(${XCRUN_FIND} strip)" 961d851b91d14ef0bd71acdce7b90c9a8f1af1181adjohannkoenig@chromium.org NM="$(${XCRUN_FIND} nm)" 962d851b91d14ef0bd71acdce7b90c9a8f1af1181adjohannkoenig@chromium.org RANLIB="$(${XCRUN_FIND} ranlib)" 963474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org AS_SFX=.s 964474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 965474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org # ASFLAGS is written here instead of using check_add_asflags 966474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org # because we need to overwrite all of ASFLAGS and purge the 967474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org # options that were put in above 968d851b91d14ef0bd71acdce7b90c9a8f1af1181adjohannkoenig@chromium.org ASFLAGS="-arch ${tgt_isa} -g" 969474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 970d851b91d14ef0bd71acdce7b90c9a8f1af1181adjohannkoenig@chromium.org alt_libc="$(xcrun --sdk iphoneos --show-sdk-path)" 971d851b91d14ef0bd71acdce7b90c9a8f1af1181adjohannkoenig@chromium.org add_cflags -arch ${tgt_isa} -isysroot ${alt_libc} 972d851b91d14ef0bd71acdce7b90c9a8f1af1181adjohannkoenig@chromium.org add_ldflags -arch ${tgt_isa} -ios_version_min 7.0 973474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 974474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org for d in lib usr/lib usr/lib/system; do 975474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org try_dir="${alt_libc}/${d}" 976474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org [ -d "${try_dir}" ] && add_ldflags -L"${try_dir}" 977474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org done 978474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 979474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org asm_conversion_cmd="${source_path}/build/make/ads2gas_apple.pl" 980474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org ;; 981474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 982474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org linux*) 98353a13f1fa964820f7a8f9d3932a6f3c0433f8bf5fgalligan@chromium.org enable_feature linux 984474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org if enabled rvct; then 985474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org # Check if we have CodeSourcery GCC in PATH. Needed for 986474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org # libraries 987474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org hash arm-none-linux-gnueabi-gcc 2>&- || \ 988474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org die "Couldn't find CodeSourcery GCC from PATH" 989474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 990474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org # Use armcc as a linker to enable translation of 991474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org # some gcc specific options such as -lm and -lpthread. 992474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org LD="armcc --translate_gcc" 993474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 994474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org # create configuration file (uses path to CodeSourcery GCC) 995474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org armcc --arm_linux_configure --arm_linux_config_file=arm_linux.cfg 996474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 997474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org add_cflags --arm_linux_paths --arm_linux_config_file=arm_linux.cfg 998474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org add_asflags --no_hide_all --apcs=/interwork 999474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org add_ldflags --arm_linux_paths --arm_linux_config_file=arm_linux.cfg 1000474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org enabled pic && add_cflags --apcs=/fpic 1001474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org enabled pic && add_asflags --apcs=/fpic 1002474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org enabled shared && add_cflags --shared 1003474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org fi 1004474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org ;; 1005474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 1006474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org esac 1007474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org ;; 1008474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org mips*) 1009474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org link_with_cc=gcc 1010474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org setup_gnu_toolchain 1011474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org tune_cflags="-mtune=" 1012ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.org if enabled dspr2; then 1013ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.org check_add_cflags -mips32r2 -mdspr2 101453a13f1fa964820f7a8f9d3932a6f3c0433f8bf5fgalligan@chromium.org disable_feature fast_unaligned 1015ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.org fi 1016474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org check_add_cflags -march=${tgt_isa} 1017ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.org check_add_asflags -march=${tgt_isa} 1018ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.org check_add_asflags -KPIC 1019474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org ;; 1020474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org ppc*) 102153a13f1fa964820f7a8f9d3932a6f3c0433f8bf5fgalligan@chromium.org enable_feature ppc 1022474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org bits=${tgt_isa##ppc} 1023474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org link_with_cc=gcc 1024474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org setup_gnu_toolchain 1025474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org add_asflags -force_cpusubtype_ALL -I"\$(dir \$<)darwin" 1026474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org soft_enable altivec 1027474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org enabled altivec && add_cflags -maltivec 1028474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 1029474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org case "$tgt_os" in 1030474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org linux*) 1031474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org add_asflags -maltivec -mregnames -I"\$(dir \$<)linux" 1032474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org ;; 1033474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org darwin*) 1034474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org darwin_arch="-arch ppc" 1035474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org enabled ppc64 && darwin_arch="${darwin_arch}64" 1036474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org add_cflags ${darwin_arch} -m${bits} -fasm-blocks 1037474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org add_asflags ${darwin_arch} -force_cpusubtype_ALL -I"\$(dir \$<)darwin" 1038474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org add_ldflags ${darwin_arch} -m${bits} 1039474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org enabled altivec && add_cflags -faltivec 1040474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org ;; 1041474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org esac 1042474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org ;; 1043474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org x86*) 1044474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org bits=32 1045474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org enabled x86_64 && bits=64 1046ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.org check_cpp <<EOF && bits=x32 1047ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.org#ifndef __ILP32__ 1048ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.org#error "not x32" 1049ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.org#endif 1050ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.orgEOF 1051474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 1052474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org case ${tgt_os} in 1053474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org win*) 1054474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org enabled gcc && add_cflags -fno-common 1055474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org ;; 1056474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org solaris*) 1057474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org CC=${CC:-${CROSS}gcc} 1058ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.org CXX=${CXX:-${CROSS}g++} 1059474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org LD=${LD:-${CROSS}gcc} 1060474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org CROSS=${CROSS:-g} 1061474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org ;; 10625c1d3b27608a3f3f6028c069b9bf066a4de474b6hclam@chromium.org os2) 10635c1d3b27608a3f3f6028c069b9bf066a4de474b6hclam@chromium.org AS=${AS:-nasm} 10645c1d3b27608a3f3f6028c069b9bf066a4de474b6hclam@chromium.org ;; 1065474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org esac 1066474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 1067474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org AS="${alt_as:-${AS:-auto}}" 1068474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org case ${tgt_cc} in 1069474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org icc*) 1070474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org CC=${CC:-icc} 1071474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org LD=${LD:-icc} 1072474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org setup_gnu_toolchain 1073ecee051929d6ced19cf324688774acccc9ad4a0ajohannkoenig@chromium.org add_cflags -use-msasm # remove -use-msasm too? 1074ecee051929d6ced19cf324688774acccc9ad4a0ajohannkoenig@chromium.org # add -no-intel-extensions to suppress warning #10237 1075ecee051929d6ced19cf324688774acccc9ad4a0ajohannkoenig@chromium.org # refer to http://software.intel.com/en-us/forums/topic/280199 1076ecee051929d6ced19cf324688774acccc9ad4a0ajohannkoenig@chromium.org add_ldflags -i-static -no-intel-extensions 1077ecee051929d6ced19cf324688774acccc9ad4a0ajohannkoenig@chromium.org enabled x86_64 && add_cflags -ipo -static -O3 -no-prec-div 1078474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org enabled x86_64 && AR=xiar 1079474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org case ${tune_cpu} in 1080474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org atom*) 1081474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org tune_cflags="-x" 1082474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org tune_cpu="SSE3_ATOM" 1083474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org ;; 1084474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org *) 1085474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org tune_cflags="-march=" 1086474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org ;; 1087474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org esac 1088ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.org ;; 1089474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org gcc*) 10905c1d3b27608a3f3f6028c069b9bf066a4de474b6hclam@chromium.org add_cflags -m${bits} 1091474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org add_ldflags -m${bits} 1092474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org link_with_cc=gcc 1093474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org tune_cflags="-march=" 1094da24c9017693dec11c2925131958a7e0e0b9f1cffgalligan@chromium.org setup_gnu_toolchain 1095474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org #for 32 bit x86 builds, -O3 did not turn on this flag 109610a9a0d835561a7f2300c561c514efcf374554d6fgalligan@chromium.org enabled optimizations && disabled gprof && check_add_cflags -fomit-frame-pointer 1097ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.org ;; 1098ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.org vs*) 1099ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.org # When building with Microsoft Visual Studio the assembler is 1100ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.org # invoked directly. Checking at configure time is unnecessary. 1101ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.org # Skip the check by setting AS arbitrarily 1102ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.org AS=msvs 110310a9a0d835561a7f2300c561c514efcf374554d6fgalligan@chromium.org msvs_arch_dir=x86-msvs 1104d851b91d14ef0bd71acdce7b90c9a8f1af1181adjohannkoenig@chromium.org vc_version=${tgt_cc##vs} 1105d851b91d14ef0bd71acdce7b90c9a8f1af1181adjohannkoenig@chromium.org case $vc_version in 1106d851b91d14ef0bd71acdce7b90c9a8f1af1181adjohannkoenig@chromium.org 7|8|9|10) 1107d851b91d14ef0bd71acdce7b90c9a8f1af1181adjohannkoenig@chromium.org echo "${tgt_cc} does not support avx/avx2, disabling....." 1108d851b91d14ef0bd71acdce7b90c9a8f1af1181adjohannkoenig@chromium.org RTCD_OPTIONS="${RTCD_OPTIONS}--disable-avx --disable-avx2 " 1109d851b91d14ef0bd71acdce7b90c9a8f1af1181adjohannkoenig@chromium.org soft_disable avx 1110d851b91d14ef0bd71acdce7b90c9a8f1af1181adjohannkoenig@chromium.org soft_disable avx2 1111d851b91d14ef0bd71acdce7b90c9a8f1af1181adjohannkoenig@chromium.org ;; 1112d851b91d14ef0bd71acdce7b90c9a8f1af1181adjohannkoenig@chromium.org esac 1113ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.org ;; 1114474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org esac 1115474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 11161cedac70da0675180660d8d3478648400afde47djohannkoenig@chromium.org soft_enable runtime_cpu_detect 1117da24c9017693dec11c2925131958a7e0e0b9f1cffgalligan@chromium.org # We can't use 'check_cflags' until the compiler is configured and CC is 1118da24c9017693dec11c2925131958a7e0e0b9f1cffgalligan@chromium.org # populated. 111993a74791c8e808ea76001ee07693aa2a5fdd3500johannkoenig@chromium.org check_gcc_machine_option mmx 112093a74791c8e808ea76001ee07693aa2a5fdd3500johannkoenig@chromium.org check_gcc_machine_option sse 112193a74791c8e808ea76001ee07693aa2a5fdd3500johannkoenig@chromium.org check_gcc_machine_option sse2 112293a74791c8e808ea76001ee07693aa2a5fdd3500johannkoenig@chromium.org check_gcc_machine_option sse3 112393a74791c8e808ea76001ee07693aa2a5fdd3500johannkoenig@chromium.org check_gcc_machine_option ssse3 112493a74791c8e808ea76001ee07693aa2a5fdd3500johannkoenig@chromium.org check_gcc_machine_option sse4 sse4_1 112593a74791c8e808ea76001ee07693aa2a5fdd3500johannkoenig@chromium.org check_gcc_machine_option avx 112693a74791c8e808ea76001ee07693aa2a5fdd3500johannkoenig@chromium.org check_gcc_machine_option avx2 1127ecee051929d6ced19cf324688774acccc9ad4a0ajohannkoenig@chromium.org 1128474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org case "${AS}" in 1129474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org auto|"") 1130474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org which nasm >/dev/null 2>&1 && AS=nasm 1131474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org which yasm >/dev/null 2>&1 && AS=yasm 1132474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org [ "${AS}" = auto -o -z "${AS}" ] \ 1133474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org && die "Neither yasm nor nasm have been found" 1134ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.org ;; 1135474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org esac 1136474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org log_echo " using $AS" 1137474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org [ "${AS##*/}" = nasm ] && add_asflags -Ox 1138474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org AS_SFX=.asm 1139474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org case ${tgt_os} in 1140167514562bbce1eb0566271d6cb41d90d2b5ffa0hclam@chromium.org win32) 1141167514562bbce1eb0566271d6cb41d90d2b5ffa0hclam@chromium.org add_asflags -f win32 1142167514562bbce1eb0566271d6cb41d90d2b5ffa0hclam@chromium.org enabled debug && add_asflags -g cv8 11431cedac70da0675180660d8d3478648400afde47djohannkoenig@chromium.org EXE_SFX=.exe 1144167514562bbce1eb0566271d6cb41d90d2b5ffa0hclam@chromium.org ;; 1145167514562bbce1eb0566271d6cb41d90d2b5ffa0hclam@chromium.org win64) 1146167514562bbce1eb0566271d6cb41d90d2b5ffa0hclam@chromium.org add_asflags -f x64 1147474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org enabled debug && add_asflags -g cv8 11481cedac70da0675180660d8d3478648400afde47djohannkoenig@chromium.org EXE_SFX=.exe 1149474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org ;; 1150d348b8d765c019ee7250075d663a83db00c65c08tomfinegan@chromium.org linux*|solaris*|android*) 1151474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org add_asflags -f elf${bits} 1152474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org enabled debug && [ "${AS}" = yasm ] && add_asflags -g dwarf2 1153474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org enabled debug && [ "${AS}" = nasm ] && add_asflags -g 1154474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org [ "${AS##*/}" = nasm ] && check_asm_align 1155474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org ;; 1156474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org darwin*) 1157474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org add_asflags -f macho${bits} 1158474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org enabled x86 && darwin_arch="-arch i386" || darwin_arch="-arch x86_64" 1159474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org add_cflags ${darwin_arch} 1160474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org add_ldflags ${darwin_arch} 1161474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org # -mdynamic-no-pic is still a bit of voodoo -- it was required at 1162474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org # one time, but does not seem to be now, and it breaks some of the 1163474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org # code that still relies on inline assembly. 1164474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org # enabled icc && ! enabled pic && add_cflags -fno-pic -mdynamic-no-pic 1165474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org enabled icc && ! enabled pic && add_cflags -fno-pic 1166474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org ;; 11675c1d3b27608a3f3f6028c069b9bf066a4de474b6hclam@chromium.org os2) 11685c1d3b27608a3f3f6028c069b9bf066a4de474b6hclam@chromium.org add_asflags -f aout 11695c1d3b27608a3f3f6028c069b9bf066a4de474b6hclam@chromium.org enabled debug && add_asflags -g 11705c1d3b27608a3f3f6028c069b9bf066a4de474b6hclam@chromium.org EXE_SFX=.exe 11715c1d3b27608a3f3f6028c069b9bf066a4de474b6hclam@chromium.org ;; 1172474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org *) log "Warning: Unknown os $tgt_os while setting up $AS flags" 1173474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org ;; 1174474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org esac 1175474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org ;; 1176474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org universal*|*-gcc|generic-gnu) 1177474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org link_with_cc=gcc 117853a13f1fa964820f7a8f9d3932a6f3c0433f8bf5fgalligan@chromium.org enable_feature gcc 1179474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org setup_gnu_toolchain 1180474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org ;; 1181474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org esac 1182474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 1183474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org # Try to enable CPU specific tuning 1184474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org if [ -n "${tune_cpu}" ]; then 1185474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org if [ -n "${tune_cflags}" ]; then 1186474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org check_add_cflags ${tune_cflags}${tune_cpu} || \ 1187474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org die "Requested CPU '${tune_cpu}' not supported by compiler" 1188474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org fi 1189474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org if [ -n "${tune_asflags}" ]; then 1190474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org check_add_asflags ${tune_asflags}${tune_cpu} || \ 1191474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org die "Requested CPU '${tune_cpu}' not supported by assembler" 1192474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org fi 1193474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org if [ -z "${tune_cflags}${tune_asflags}" ]; then 1194474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org log_echo "Warning: CPU tuning not supported by this toolchain" 1195474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org fi 1196474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org fi 1197474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 1198474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org enabled debug && check_add_cflags -g && check_add_ldflags -g 1199474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org enabled gprof && check_add_cflags -pg && check_add_ldflags -pg 1200474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org enabled gcov && 1201474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org check_add_cflags -fprofile-arcs -ftest-coverage && 1202474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org check_add_ldflags -fprofile-arcs -ftest-coverage 1203474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 1204474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org if enabled optimizations; then 1205474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org if enabled rvct; then 1206474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org enabled small && check_add_cflags -Ospace || check_add_cflags -Otime 1207474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org else 1208474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org enabled small && check_add_cflags -O2 || check_add_cflags -O3 1209474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org fi 1210474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org fi 1211474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 121253a13f1fa964820f7a8f9d3932a6f3c0433f8bf5fgalligan@chromium.org # default use_x86inc to yes if pic is no or 64bit or we are not on darwin 1213411971f94253c85e1866c281860d6344f6aa0c78fgalligan@chromium.org if [ ${tgt_isa} = x86_64 -o ! "$pic" = "yes" -o \ 1214411971f94253c85e1866c281860d6344f6aa0c78fgalligan@chromium.org "${tgt_os#darwin}" = "${tgt_os}" ]; then 121553a13f1fa964820f7a8f9d3932a6f3c0433f8bf5fgalligan@chromium.org soft_enable use_x86inc 121653a13f1fa964820f7a8f9d3932a6f3c0433f8bf5fgalligan@chromium.org fi 121753a13f1fa964820f7a8f9d3932a6f3c0433f8bf5fgalligan@chromium.org 1218474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org # Position Independent Code (PIC) support, for building relocatable 1219474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org # shared objects 1220474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org enabled gcc && enabled pic && check_add_cflags -fPIC 1221474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 1222474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org # Work around longjmp interception on glibc >= 2.11, to improve binary 1223474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org # compatibility. See http://code.google.com/p/webm/issues/detail?id=166 1224ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.org enabled linux && check_add_cflags -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0 1225474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 1226474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org # Check for strip utility variant 122753a13f1fa964820f7a8f9d3932a6f3c0433f8bf5fgalligan@chromium.org ${STRIP} -V 2>/dev/null | grep GNU >/dev/null && enable_feature gnu_strip 1228474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 1229474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org # Try to determine target endianness 1230474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org check_cc <<EOF 1231474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org unsigned int e = 'O'<<24 | '2'<<16 | 'B'<<8 | 'E'; 1232474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgEOF 1233474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org [ -f "${TMP_O}" ] && od -A n -t x1 "${TMP_O}" | tr -d '\n' | 123453a13f1fa964820f7a8f9d3932a6f3c0433f8bf5fgalligan@chromium.org grep '4f *32 *42 *45' >/dev/null 2>&1 && enable_feature big_endian 1235474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 12361cedac70da0675180660d8d3478648400afde47djohannkoenig@chromium.org # Try to find which inline keywords are supported 12371cedac70da0675180660d8d3478648400afde47djohannkoenig@chromium.org check_cc <<EOF && INLINE="inline" 12381cedac70da0675180660d8d3478648400afde47djohannkoenig@chromium.org static inline function() {} 12391cedac70da0675180660d8d3478648400afde47djohannkoenig@chromium.orgEOF 124010a9a0d835561a7f2300c561c514efcf374554d6fgalligan@chromium.org check_cc <<EOF && INLINE="__inline__ __attribute__((always_inline))" 12411cedac70da0675180660d8d3478648400afde47djohannkoenig@chromium.org static __attribute__((always_inline)) function() {} 12421cedac70da0675180660d8d3478648400afde47djohannkoenig@chromium.orgEOF 12431cedac70da0675180660d8d3478648400afde47djohannkoenig@chromium.org 1244474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org # Almost every platform uses pthreads. 1245474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org if enabled multithread; then 1246474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org case ${toolchain} in 1247ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.org *-win*-vs*);; 1248167514562bbce1eb0566271d6cb41d90d2b5ffa0hclam@chromium.org *-android-gcc);; 1249474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org *) check_header pthread.h && add_extralibs -lpthread 1250474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org esac 1251474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org fi 1252474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 1253ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.org # only for MIPS platforms 1254ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.org case ${toolchain} in 1255ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.org mips*) 1256ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.org if enabled dspr2; then 1257ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.org if enabled big_endian; then 1258ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.org echo "dspr2 optimizations are available only for little endian platforms" 125953a13f1fa964820f7a8f9d3932a6f3c0433f8bf5fgalligan@chromium.org disable_feature dspr2 1260ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.org fi 1261ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.org fi 1262ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.org ;; 1263ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.org esac 1264ed759d81a39febed3a8a395386639d54307504aagrunell@chromium.org 1265474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org # glibc needs these 1266474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org if enabled linux; then 1267474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org add_cflags -D_LARGEFILE_SOURCE 1268474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org add_cflags -D_FILE_OFFSET_BITS=64 1269474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org fi 1270474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 1271474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org # append any user defined extra cflags 1272474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org if [ -n "${extra_cflags}" ] ; then 1273474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org check_add_cflags ${extra_cflags} || \ 1274474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org die "Requested extra CFLAGS '${extra_cflags}' not supported by compiler" 1275474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org fi 1276474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org} 1277474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 1278474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgprocess_toolchain() { 1279474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org process_common_toolchain 1280474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org} 1281474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 1282474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgprint_config_mk() { 1283474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org local prefix=$1 1284474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org local makefile=$2 1285474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org shift 2 1286474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org for cfg; do 1287474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org upname="`toupper $cfg`" 1288474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org if enabled $cfg; then 1289474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org echo "${prefix}_${upname}=yes" >> $makefile 1290474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org fi 1291474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org done 1292474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org} 1293474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 1294474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgprint_config_h() { 1295474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org local prefix=$1 1296474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org local header=$2 1297474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org shift 2 1298474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org for cfg; do 1299474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org upname="`toupper $cfg`" 1300474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org if enabled $cfg; then 1301474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org echo "#define ${prefix}_${upname} 1" >> $header 1302474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org else 1303474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org echo "#define ${prefix}_${upname} 0" >> $header 1304474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org fi 1305474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org done 1306474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org} 1307474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 1308167514562bbce1eb0566271d6cb41d90d2b5ffa0hclam@chromium.orgprint_webm_license() { 1309167514562bbce1eb0566271d6cb41d90d2b5ffa0hclam@chromium.org local destination=$1 131053a13f1fa964820f7a8f9d3932a6f3c0433f8bf5fgalligan@chromium.org local prefix="$2" 131153a13f1fa964820f7a8f9d3932a6f3c0433f8bf5fgalligan@chromium.org local suffix="$3" 1312167514562bbce1eb0566271d6cb41d90d2b5ffa0hclam@chromium.org shift 3 1313167514562bbce1eb0566271d6cb41d90d2b5ffa0hclam@chromium.org cat <<EOF > ${destination} 1314167514562bbce1eb0566271d6cb41d90d2b5ffa0hclam@chromium.org${prefix} Copyright (c) 2011 The WebM project authors. All Rights Reserved.${suffix} 1315167514562bbce1eb0566271d6cb41d90d2b5ffa0hclam@chromium.org${prefix} ${suffix} 1316167514562bbce1eb0566271d6cb41d90d2b5ffa0hclam@chromium.org${prefix} Use of this source code is governed by a BSD-style license${suffix} 1317167514562bbce1eb0566271d6cb41d90d2b5ffa0hclam@chromium.org${prefix} that can be found in the LICENSE file in the root of the source${suffix} 1318167514562bbce1eb0566271d6cb41d90d2b5ffa0hclam@chromium.org${prefix} tree. An additional intellectual property rights grant can be found${suffix} 1319167514562bbce1eb0566271d6cb41d90d2b5ffa0hclam@chromium.org${prefix} in the file PATENTS. All contributing project authors may${suffix} 1320167514562bbce1eb0566271d6cb41d90d2b5ffa0hclam@chromium.org${prefix} be found in the AUTHORS file in the root of the source tree.${suffix} 1321167514562bbce1eb0566271d6cb41d90d2b5ffa0hclam@chromium.orgEOF 1322167514562bbce1eb0566271d6cb41d90d2b5ffa0hclam@chromium.org} 1323167514562bbce1eb0566271d6cb41d90d2b5ffa0hclam@chromium.org 1324474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgprocess_targets() { 1325474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org true; 1326474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org} 1327474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 1328474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgprocess_detect() { 1329474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org true; 1330474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org} 1331474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 133253a13f1fa964820f7a8f9d3932a6f3c0433f8bf5fgalligan@chromium.orgenable_feature logging 133347265f8fe3a36a426773454ad90d20c9aa616c24johannkoenig@chromium.orglogfile="config.log" 1334474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgself=$0 1335474eb7536515fb785e925cc9375d22817c416851hclam@chromium.orgprocess() { 1336474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org cmdline_args="$@" 1337474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org process_cmdline "$@" 1338474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org if enabled child; then 1339474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org echo "# ${self} $@" >> ${logfile} 1340474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org else 1341474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org echo "# ${self} $@" > ${logfile} 1342474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org fi 1343474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org post_process_common_cmdline 1344474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org post_process_cmdline 1345474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org process_toolchain 1346474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org process_detect 1347474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org process_targets 1348474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 1349474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org OOT_INSTALLS="${OOT_INSTALLS}" 1350474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org if enabled source_path_used; then 1351474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org # Prepare the PWD for building. 1352474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org for f in ${OOT_INSTALLS}; do 1353693441efe611de7ca09c00f4e79776f604b689f4joeyparrish@google.com install -D "${source_path}/$f" "$f" 1354474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org done 1355474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org fi 1356693441efe611de7ca09c00f4e79776f604b689f4joeyparrish@google.com cp "${source_path}/build/make/Makefile" . 1357474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org 1358474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org clean_temp_files 1359474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org true 1360474eb7536515fb785e925cc9375d22817c416851hclam@chromium.org} 1361