1*6236dae4SAndroid Build Coastguard Worker#--------------------------------------------------------------------------- 2*6236dae4SAndroid Build Coastguard Worker# 3*6236dae4SAndroid Build Coastguard Worker# zz40-xc-ovr.m4 4*6236dae4SAndroid Build Coastguard Worker# 5*6236dae4SAndroid Build Coastguard Worker# Copyright (C) Daniel Stenberg, <[email protected]> 6*6236dae4SAndroid Build Coastguard Worker# 7*6236dae4SAndroid Build Coastguard Worker# Permission to use, copy, modify, and distribute this software for any 8*6236dae4SAndroid Build Coastguard Worker# purpose with or without fee is hereby granted, provided that the above 9*6236dae4SAndroid Build Coastguard Worker# copyright notice and this permission notice appear in all copies. 10*6236dae4SAndroid Build Coastguard Worker# 11*6236dae4SAndroid Build Coastguard Worker# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 12*6236dae4SAndroid Build Coastguard Worker# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 13*6236dae4SAndroid Build Coastguard Worker# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 14*6236dae4SAndroid Build Coastguard Worker# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 15*6236dae4SAndroid Build Coastguard Worker# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 16*6236dae4SAndroid Build Coastguard Worker# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 17*6236dae4SAndroid Build Coastguard Worker# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 18*6236dae4SAndroid Build Coastguard Worker# 19*6236dae4SAndroid Build Coastguard Worker# SPDX-License-Identifier: ISC 20*6236dae4SAndroid Build Coastguard Worker# 21*6236dae4SAndroid Build Coastguard Worker#--------------------------------------------------------------------------- 22*6236dae4SAndroid Build Coastguard Worker 23*6236dae4SAndroid Build Coastguard Workerdnl The funny name of this file is intentional in order to make it 24*6236dae4SAndroid Build Coastguard Workerdnl sort alphabetically after any libtool, autoconf or automake 25*6236dae4SAndroid Build Coastguard Workerdnl provided .m4 macro file that might get copied into this same 26*6236dae4SAndroid Build Coastguard Workerdnl subdirectory. This allows that macro (re)definitions from this 27*6236dae4SAndroid Build Coastguard Workerdnl file may override those provided in other files. 28*6236dae4SAndroid Build Coastguard Worker 29*6236dae4SAndroid Build Coastguard Worker 30*6236dae4SAndroid Build Coastguard Workerdnl Version macros 31*6236dae4SAndroid Build Coastguard Workerdnl ------------------------------------------------- 32*6236dae4SAndroid Build Coastguard Workerdnl Public macros. 33*6236dae4SAndroid Build Coastguard Worker 34*6236dae4SAndroid Build Coastguard Workerm4_define([XC_CONFIGURE_PREAMBLE_VER_MAJOR],[1])dnl 35*6236dae4SAndroid Build Coastguard Workerm4_define([XC_CONFIGURE_PREAMBLE_VER_MINOR],[0])dnl 36*6236dae4SAndroid Build Coastguard Worker 37*6236dae4SAndroid Build Coastguard Worker 38*6236dae4SAndroid Build Coastguard Workerdnl _XC_CFG_PRE_PREAMBLE 39*6236dae4SAndroid Build Coastguard Workerdnl ------------------------------------------------- 40*6236dae4SAndroid Build Coastguard Workerdnl Private macro. 41*6236dae4SAndroid Build Coastguard Worker 42*6236dae4SAndroid Build Coastguard WorkerAC_DEFUN([_XC_CFG_PRE_PREAMBLE], 43*6236dae4SAndroid Build Coastguard Worker[ 44*6236dae4SAndroid Build Coastguard Worker## -------------------------------- ## 45*6236dae4SAndroid Build Coastguard Worker@%:@@%:@ [XC_CONFIGURE_PREAMBLE] ver: []dnl 46*6236dae4SAndroid Build Coastguard WorkerXC_CONFIGURE_PREAMBLE_VER_MAJOR.[]dnl 47*6236dae4SAndroid Build Coastguard WorkerXC_CONFIGURE_PREAMBLE_VER_MINOR ## 48*6236dae4SAndroid Build Coastguard Worker## -------------------------------- ## 49*6236dae4SAndroid Build Coastguard Worker 50*6236dae4SAndroid Build Coastguard Workerxc_configure_preamble_ver_major='XC_CONFIGURE_PREAMBLE_VER_MAJOR' 51*6236dae4SAndroid Build Coastguard Workerxc_configure_preamble_ver_minor='XC_CONFIGURE_PREAMBLE_VER_MINOR' 52*6236dae4SAndroid Build Coastguard Worker 53*6236dae4SAndroid Build Coastguard Worker# 54*6236dae4SAndroid Build Coastguard Worker# Set IFS to space, tab and newline. 55*6236dae4SAndroid Build Coastguard Worker# 56*6236dae4SAndroid Build Coastguard Worker 57*6236dae4SAndroid Build Coastguard Workerxc_space=' ' 58*6236dae4SAndroid Build Coastguard Workerxc_tab=' ' 59*6236dae4SAndroid Build Coastguard Workerxc_newline=' 60*6236dae4SAndroid Build Coastguard Worker' 61*6236dae4SAndroid Build Coastguard WorkerIFS="$xc_space$xc_tab$xc_newline" 62*6236dae4SAndroid Build Coastguard Worker 63*6236dae4SAndroid Build Coastguard Worker# 64*6236dae4SAndroid Build Coastguard Worker# Set internationalization behavior variables. 65*6236dae4SAndroid Build Coastguard Worker# 66*6236dae4SAndroid Build Coastguard Worker 67*6236dae4SAndroid Build Coastguard WorkerLANG='C' 68*6236dae4SAndroid Build Coastguard WorkerLC_ALL='C' 69*6236dae4SAndroid Build Coastguard WorkerLANGUAGE='C' 70*6236dae4SAndroid Build Coastguard Workerexport LANG 71*6236dae4SAndroid Build Coastguard Workerexport LC_ALL 72*6236dae4SAndroid Build Coastguard Workerexport LANGUAGE 73*6236dae4SAndroid Build Coastguard Worker 74*6236dae4SAndroid Build Coastguard Worker# 75*6236dae4SAndroid Build Coastguard Worker# Some useful variables. 76*6236dae4SAndroid Build Coastguard Worker# 77*6236dae4SAndroid Build Coastguard Worker 78*6236dae4SAndroid Build Coastguard Workerxc_msg_warn='configure: WARNING:' 79*6236dae4SAndroid Build Coastguard Workerxc_msg_abrt='Can not continue.' 80*6236dae4SAndroid Build Coastguard Workerxc_msg_err='configure: error:' 81*6236dae4SAndroid Build Coastguard Worker]) 82*6236dae4SAndroid Build Coastguard Worker 83*6236dae4SAndroid Build Coastguard Worker 84*6236dae4SAndroid Build Coastguard Workerdnl _XC_CFG_PRE_BASIC_CHK_CMD_ECHO 85*6236dae4SAndroid Build Coastguard Workerdnl ------------------------------------------------- 86*6236dae4SAndroid Build Coastguard Workerdnl Private macro. 87*6236dae4SAndroid Build Coastguard Workerdnl 88*6236dae4SAndroid Build Coastguard Workerdnl Emits shell code that verifies that 'echo' command 89*6236dae4SAndroid Build Coastguard Workerdnl is available, otherwise aborts execution. 90*6236dae4SAndroid Build Coastguard Worker 91*6236dae4SAndroid Build Coastguard WorkerAC_DEFUN([_XC_CFG_PRE_BASIC_CHK_CMD_ECHO], 92*6236dae4SAndroid Build Coastguard Worker[dnl 93*6236dae4SAndroid Build Coastguard WorkerAC_REQUIRE([_XC_CFG_PRE_PREAMBLE])dnl 94*6236dae4SAndroid Build Coastguard Worker# 95*6236dae4SAndroid Build Coastguard Worker# Verify that 'echo' command is available, otherwise abort. 96*6236dae4SAndroid Build Coastguard Worker# 97*6236dae4SAndroid Build Coastguard Worker 98*6236dae4SAndroid Build Coastguard Workerxc_tst_str='unknown' 99*6236dae4SAndroid Build Coastguard Worker(`echo "$xc_tst_str" >/dev/null 2>&1`) && xc_tst_str='success' 100*6236dae4SAndroid Build Coastguard Workercase "x$xc_tst_str" in @%:@ (( 101*6236dae4SAndroid Build Coastguard Worker xsuccess) 102*6236dae4SAndroid Build Coastguard Worker : 103*6236dae4SAndroid Build Coastguard Worker ;; 104*6236dae4SAndroid Build Coastguard Worker *) 105*6236dae4SAndroid Build Coastguard Worker # Try built-in echo, and fail. 106*6236dae4SAndroid Build Coastguard Worker echo "$xc_msg_err 'echo' command not found. $xc_msg_abrt" >&2 107*6236dae4SAndroid Build Coastguard Worker exit 1 108*6236dae4SAndroid Build Coastguard Worker ;; 109*6236dae4SAndroid Build Coastguard Workeresac 110*6236dae4SAndroid Build Coastguard Worker]) 111*6236dae4SAndroid Build Coastguard Worker 112*6236dae4SAndroid Build Coastguard Worker 113*6236dae4SAndroid Build Coastguard Workerdnl _XC_CFG_PRE_BASIC_CHK_CMD_TEST 114*6236dae4SAndroid Build Coastguard Workerdnl ------------------------------------------------- 115*6236dae4SAndroid Build Coastguard Workerdnl Private macro. 116*6236dae4SAndroid Build Coastguard Workerdnl 117*6236dae4SAndroid Build Coastguard Workerdnl Emits shell code that verifies that 'test' command 118*6236dae4SAndroid Build Coastguard Workerdnl is available, otherwise aborts execution. 119*6236dae4SAndroid Build Coastguard Worker 120*6236dae4SAndroid Build Coastguard WorkerAC_DEFUN([_XC_CFG_PRE_BASIC_CHK_CMD_TEST], 121*6236dae4SAndroid Build Coastguard Worker[dnl 122*6236dae4SAndroid Build Coastguard WorkerAC_REQUIRE([_XC_CFG_PRE_BASIC_CHK_CMD_ECHO])dnl 123*6236dae4SAndroid Build Coastguard Worker# 124*6236dae4SAndroid Build Coastguard Worker# Verify that 'test' command is available, otherwise abort. 125*6236dae4SAndroid Build Coastguard Worker# 126*6236dae4SAndroid Build Coastguard Worker 127*6236dae4SAndroid Build Coastguard Workerxc_tst_str='unknown' 128*6236dae4SAndroid Build Coastguard Worker(`test -n "$xc_tst_str" >/dev/null 2>&1`) && xc_tst_str='success' 129*6236dae4SAndroid Build Coastguard Workercase "x$xc_tst_str" in @%:@ (( 130*6236dae4SAndroid Build Coastguard Worker xsuccess) 131*6236dae4SAndroid Build Coastguard Worker : 132*6236dae4SAndroid Build Coastguard Worker ;; 133*6236dae4SAndroid Build Coastguard Worker *) 134*6236dae4SAndroid Build Coastguard Worker echo "$xc_msg_err 'test' command not found. $xc_msg_abrt" >&2 135*6236dae4SAndroid Build Coastguard Worker exit 1 136*6236dae4SAndroid Build Coastguard Worker ;; 137*6236dae4SAndroid Build Coastguard Workeresac 138*6236dae4SAndroid Build Coastguard Worker]) 139*6236dae4SAndroid Build Coastguard Worker 140*6236dae4SAndroid Build Coastguard Worker 141*6236dae4SAndroid Build Coastguard Workerdnl _XC_CFG_PRE_BASIC_CHK_VAR_PATH 142*6236dae4SAndroid Build Coastguard Workerdnl ------------------------------------------------- 143*6236dae4SAndroid Build Coastguard Workerdnl Private macro. 144*6236dae4SAndroid Build Coastguard Workerdnl 145*6236dae4SAndroid Build Coastguard Workerdnl Emits shell code that verifies that 'PATH' variable 146*6236dae4SAndroid Build Coastguard Workerdnl is set, otherwise aborts execution. 147*6236dae4SAndroid Build Coastguard Worker 148*6236dae4SAndroid Build Coastguard WorkerAC_DEFUN([_XC_CFG_PRE_BASIC_CHK_VAR_PATH], 149*6236dae4SAndroid Build Coastguard Worker[dnl 150*6236dae4SAndroid Build Coastguard WorkerAC_REQUIRE([_XC_CFG_PRE_BASIC_CHK_CMD_TEST])dnl 151*6236dae4SAndroid Build Coastguard Worker# 152*6236dae4SAndroid Build Coastguard Worker# Verify that 'PATH' variable is set, otherwise abort. 153*6236dae4SAndroid Build Coastguard Worker# 154*6236dae4SAndroid Build Coastguard Worker 155*6236dae4SAndroid Build Coastguard Workerxc_tst_str='unknown' 156*6236dae4SAndroid Build Coastguard Worker(`test -n "$PATH" >/dev/null 2>&1`) && xc_tst_str='success' 157*6236dae4SAndroid Build Coastguard Workercase "x$xc_tst_str" in @%:@ (( 158*6236dae4SAndroid Build Coastguard Worker xsuccess) 159*6236dae4SAndroid Build Coastguard Worker : 160*6236dae4SAndroid Build Coastguard Worker ;; 161*6236dae4SAndroid Build Coastguard Worker *) 162*6236dae4SAndroid Build Coastguard Worker echo "$xc_msg_err 'PATH' variable not set. $xc_msg_abrt" >&2 163*6236dae4SAndroid Build Coastguard Worker exit 1 164*6236dae4SAndroid Build Coastguard Worker ;; 165*6236dae4SAndroid Build Coastguard Workeresac 166*6236dae4SAndroid Build Coastguard Worker]) 167*6236dae4SAndroid Build Coastguard Worker 168*6236dae4SAndroid Build Coastguard Worker 169*6236dae4SAndroid Build Coastguard Workerdnl _XC_CFG_PRE_BASIC_CHK_CMD_EXPR 170*6236dae4SAndroid Build Coastguard Workerdnl ------------------------------------------------- 171*6236dae4SAndroid Build Coastguard Workerdnl Private macro. 172*6236dae4SAndroid Build Coastguard Workerdnl 173*6236dae4SAndroid Build Coastguard Workerdnl Emits shell code that verifies that 'expr' command 174*6236dae4SAndroid Build Coastguard Workerdnl is available, otherwise aborts execution. 175*6236dae4SAndroid Build Coastguard Worker 176*6236dae4SAndroid Build Coastguard WorkerAC_DEFUN([_XC_CFG_PRE_BASIC_CHK_CMD_EXPR], 177*6236dae4SAndroid Build Coastguard Worker[dnl 178*6236dae4SAndroid Build Coastguard WorkerAC_REQUIRE([_XC_CFG_PRE_BASIC_CHK_VAR_PATH])dnl 179*6236dae4SAndroid Build Coastguard Worker# 180*6236dae4SAndroid Build Coastguard Worker# Verify that 'expr' command is available, otherwise abort. 181*6236dae4SAndroid Build Coastguard Worker# 182*6236dae4SAndroid Build Coastguard Worker 183*6236dae4SAndroid Build Coastguard Workerxc_tst_str='unknown' 184*6236dae4SAndroid Build Coastguard Workerxc_tst_str=`expr "$xc_tst_str" : '.*' 2>/dev/null` 185*6236dae4SAndroid Build Coastguard Workercase "x$xc_tst_str" in @%:@ (( 186*6236dae4SAndroid Build Coastguard Worker x7) 187*6236dae4SAndroid Build Coastguard Worker : 188*6236dae4SAndroid Build Coastguard Worker ;; 189*6236dae4SAndroid Build Coastguard Worker *) 190*6236dae4SAndroid Build Coastguard Worker echo "$xc_msg_err 'expr' command not found. $xc_msg_abrt" >&2 191*6236dae4SAndroid Build Coastguard Worker exit 1 192*6236dae4SAndroid Build Coastguard Worker ;; 193*6236dae4SAndroid Build Coastguard Workeresac 194*6236dae4SAndroid Build Coastguard Worker]) 195*6236dae4SAndroid Build Coastguard Worker 196*6236dae4SAndroid Build Coastguard Worker 197*6236dae4SAndroid Build Coastguard Workerdnl _XC_CFG_PRE_BASIC_CHK_UTIL_SED 198*6236dae4SAndroid Build Coastguard Workerdnl ------------------------------------------------- 199*6236dae4SAndroid Build Coastguard Workerdnl Private macro. 200*6236dae4SAndroid Build Coastguard Workerdnl 201*6236dae4SAndroid Build Coastguard Workerdnl Emits shell code that verifies that 'sed' utility 202*6236dae4SAndroid Build Coastguard Workerdnl is found within 'PATH', otherwise aborts execution. 203*6236dae4SAndroid Build Coastguard Workerdnl 204*6236dae4SAndroid Build Coastguard Workerdnl This 'sed' is required in order to allow configure 205*6236dae4SAndroid Build Coastguard Workerdnl script bootstrapping itself. No fancy testing for a 206*6236dae4SAndroid Build Coastguard Workerdnl proper 'sed' this early, that should be done later. 207*6236dae4SAndroid Build Coastguard Worker 208*6236dae4SAndroid Build Coastguard WorkerAC_DEFUN([_XC_CFG_PRE_BASIC_CHK_UTIL_SED], 209*6236dae4SAndroid Build Coastguard Worker[dnl 210*6236dae4SAndroid Build Coastguard WorkerAC_REQUIRE([_XC_CFG_PRE_BASIC_CHK_VAR_PATH])dnl 211*6236dae4SAndroid Build Coastguard Worker# 212*6236dae4SAndroid Build Coastguard Worker# Verify that 'sed' utility is found within 'PATH', otherwise abort. 213*6236dae4SAndroid Build Coastguard Worker# 214*6236dae4SAndroid Build Coastguard Worker 215*6236dae4SAndroid Build Coastguard Workerxc_tst_str='unknown' 216*6236dae4SAndroid Build Coastguard Workerxc_tst_str=`echo "$xc_tst_str" 2>/dev/null \ 217*6236dae4SAndroid Build Coastguard Worker | sed -e 's:unknown:success:' 2>/dev/null` 218*6236dae4SAndroid Build Coastguard Workercase "x$xc_tst_str" in @%:@ (( 219*6236dae4SAndroid Build Coastguard Worker xsuccess) 220*6236dae4SAndroid Build Coastguard Worker : 221*6236dae4SAndroid Build Coastguard Worker ;; 222*6236dae4SAndroid Build Coastguard Worker *) 223*6236dae4SAndroid Build Coastguard Worker echo "$xc_msg_err 'sed' utility not found in 'PATH'. $xc_msg_abrt" >&2 224*6236dae4SAndroid Build Coastguard Worker exit 1 225*6236dae4SAndroid Build Coastguard Worker ;; 226*6236dae4SAndroid Build Coastguard Workeresac 227*6236dae4SAndroid Build Coastguard Worker]) 228*6236dae4SAndroid Build Coastguard Worker 229*6236dae4SAndroid Build Coastguard Worker 230*6236dae4SAndroid Build Coastguard Workerdnl _XC_CFG_PRE_BASIC_CHK_UTIL_GREP 231*6236dae4SAndroid Build Coastguard Workerdnl ------------------------------------------------- 232*6236dae4SAndroid Build Coastguard Workerdnl Private macro. 233*6236dae4SAndroid Build Coastguard Workerdnl 234*6236dae4SAndroid Build Coastguard Workerdnl Emits shell code that verifies that 'grep' utility 235*6236dae4SAndroid Build Coastguard Workerdnl is found within 'PATH', otherwise aborts execution. 236*6236dae4SAndroid Build Coastguard Workerdnl 237*6236dae4SAndroid Build Coastguard Workerdnl This 'grep' is required in order to allow configure 238*6236dae4SAndroid Build Coastguard Workerdnl script bootstrapping itself. No fancy testing for a 239*6236dae4SAndroid Build Coastguard Workerdnl proper 'grep' this early, that should be done later. 240*6236dae4SAndroid Build Coastguard Worker 241*6236dae4SAndroid Build Coastguard WorkerAC_DEFUN([_XC_CFG_PRE_BASIC_CHK_UTIL_GREP], 242*6236dae4SAndroid Build Coastguard Worker[dnl 243*6236dae4SAndroid Build Coastguard WorkerAC_REQUIRE([_XC_CFG_PRE_BASIC_CHK_VAR_PATH])dnl 244*6236dae4SAndroid Build Coastguard Worker# 245*6236dae4SAndroid Build Coastguard Worker# Verify that 'grep' utility is found within 'PATH', otherwise abort. 246*6236dae4SAndroid Build Coastguard Worker# 247*6236dae4SAndroid Build Coastguard Worker 248*6236dae4SAndroid Build Coastguard Workerxc_tst_str='unknown' 249*6236dae4SAndroid Build Coastguard Worker(`echo "$xc_tst_str" 2>/dev/null \ 250*6236dae4SAndroid Build Coastguard Worker | grep 'unknown' >/dev/null 2>&1`) && xc_tst_str='success' 251*6236dae4SAndroid Build Coastguard Workercase "x$xc_tst_str" in @%:@ (( 252*6236dae4SAndroid Build Coastguard Worker xsuccess) 253*6236dae4SAndroid Build Coastguard Worker : 254*6236dae4SAndroid Build Coastguard Worker ;; 255*6236dae4SAndroid Build Coastguard Worker *) 256*6236dae4SAndroid Build Coastguard Worker echo "$xc_msg_err 'grep' utility not found in 'PATH'. $xc_msg_abrt" >&2 257*6236dae4SAndroid Build Coastguard Worker exit 1 258*6236dae4SAndroid Build Coastguard Worker ;; 259*6236dae4SAndroid Build Coastguard Workeresac 260*6236dae4SAndroid Build Coastguard Worker]) 261*6236dae4SAndroid Build Coastguard Worker 262*6236dae4SAndroid Build Coastguard Worker 263*6236dae4SAndroid Build Coastguard Workerdnl _XC_CFG_PRE_BASIC_CHK_UTIL_TR 264*6236dae4SAndroid Build Coastguard Workerdnl ------------------------------------------------- 265*6236dae4SAndroid Build Coastguard Workerdnl Private macro. 266*6236dae4SAndroid Build Coastguard Workerdnl 267*6236dae4SAndroid Build Coastguard Workerdnl Emits shell code that verifies that 'tr' utility 268*6236dae4SAndroid Build Coastguard Workerdnl is found within 'PATH', otherwise aborts execution. 269*6236dae4SAndroid Build Coastguard Worker 270*6236dae4SAndroid Build Coastguard WorkerAC_DEFUN([_XC_CFG_PRE_BASIC_CHK_UTIL_TR], 271*6236dae4SAndroid Build Coastguard Worker[dnl 272*6236dae4SAndroid Build Coastguard WorkerAC_REQUIRE([_XC_CFG_PRE_BASIC_CHK_VAR_PATH])dnl 273*6236dae4SAndroid Build Coastguard Worker# 274*6236dae4SAndroid Build Coastguard Worker# Verify that 'tr' utility is found within 'PATH', otherwise abort. 275*6236dae4SAndroid Build Coastguard Worker# 276*6236dae4SAndroid Build Coastguard Worker 277*6236dae4SAndroid Build Coastguard Workerxc_tst_str="${xc_tab}98s7u6c5c4e3s2s10" 278*6236dae4SAndroid Build Coastguard Workerxc_tst_str=`echo "$xc_tst_str" 2>/dev/null \ 279*6236dae4SAndroid Build Coastguard Worker | tr -d "0123456789$xc_tab" 2>/dev/null` 280*6236dae4SAndroid Build Coastguard Workercase "x$xc_tst_str" in @%:@ (( 281*6236dae4SAndroid Build Coastguard Worker xsuccess) 282*6236dae4SAndroid Build Coastguard Worker : 283*6236dae4SAndroid Build Coastguard Worker ;; 284*6236dae4SAndroid Build Coastguard Worker *) 285*6236dae4SAndroid Build Coastguard Worker echo "$xc_msg_err 'tr' utility not found in 'PATH'. $xc_msg_abrt" >&2 286*6236dae4SAndroid Build Coastguard Worker exit 1 287*6236dae4SAndroid Build Coastguard Worker ;; 288*6236dae4SAndroid Build Coastguard Workeresac 289*6236dae4SAndroid Build Coastguard Worker]) 290*6236dae4SAndroid Build Coastguard Worker 291*6236dae4SAndroid Build Coastguard Worker 292*6236dae4SAndroid Build Coastguard Workerdnl _XC_CFG_PRE_BASIC_CHK_UTIL_WC 293*6236dae4SAndroid Build Coastguard Workerdnl ------------------------------------------------- 294*6236dae4SAndroid Build Coastguard Workerdnl Private macro. 295*6236dae4SAndroid Build Coastguard Workerdnl 296*6236dae4SAndroid Build Coastguard Workerdnl Emits shell code that verifies that 'wc' utility 297*6236dae4SAndroid Build Coastguard Workerdnl is found within 'PATH', otherwise aborts execution. 298*6236dae4SAndroid Build Coastguard Worker 299*6236dae4SAndroid Build Coastguard WorkerAC_DEFUN([_XC_CFG_PRE_BASIC_CHK_UTIL_WC], 300*6236dae4SAndroid Build Coastguard Worker[dnl 301*6236dae4SAndroid Build Coastguard WorkerAC_REQUIRE([_XC_CFG_PRE_BASIC_CHK_UTIL_TR])dnl 302*6236dae4SAndroid Build Coastguard Worker# 303*6236dae4SAndroid Build Coastguard Worker# Verify that 'wc' utility is found within 'PATH', otherwise abort. 304*6236dae4SAndroid Build Coastguard Worker# 305*6236dae4SAndroid Build Coastguard Worker 306*6236dae4SAndroid Build Coastguard Workerxc_tst_str='unknown unknown unknown unknown' 307*6236dae4SAndroid Build Coastguard Workerxc_tst_str=`echo "$xc_tst_str" 2>/dev/null \ 308*6236dae4SAndroid Build Coastguard Worker | wc -w 2>/dev/null | tr -d "$xc_space$xc_tab" 2>/dev/null` 309*6236dae4SAndroid Build Coastguard Workercase "x$xc_tst_str" in @%:@ (( 310*6236dae4SAndroid Build Coastguard Worker x4) 311*6236dae4SAndroid Build Coastguard Worker : 312*6236dae4SAndroid Build Coastguard Worker ;; 313*6236dae4SAndroid Build Coastguard Worker *) 314*6236dae4SAndroid Build Coastguard Worker echo "$xc_msg_err 'wc' utility not found in 'PATH'. $xc_msg_abrt" >&2 315*6236dae4SAndroid Build Coastguard Worker exit 1 316*6236dae4SAndroid Build Coastguard Worker ;; 317*6236dae4SAndroid Build Coastguard Workeresac 318*6236dae4SAndroid Build Coastguard Worker]) 319*6236dae4SAndroid Build Coastguard Worker 320*6236dae4SAndroid Build Coastguard Worker 321*6236dae4SAndroid Build Coastguard Workerdnl _XC_CFG_PRE_BASIC_CHK_UTIL_CAT 322*6236dae4SAndroid Build Coastguard Workerdnl ------------------------------------------------- 323*6236dae4SAndroid Build Coastguard Workerdnl Private macro. 324*6236dae4SAndroid Build Coastguard Workerdnl 325*6236dae4SAndroid Build Coastguard Workerdnl Emits shell code that verifies that 'cat' utility 326*6236dae4SAndroid Build Coastguard Workerdnl is found within 'PATH', otherwise aborts execution. 327*6236dae4SAndroid Build Coastguard Worker 328*6236dae4SAndroid Build Coastguard WorkerAC_DEFUN([_XC_CFG_PRE_BASIC_CHK_UTIL_CAT], 329*6236dae4SAndroid Build Coastguard Worker[dnl 330*6236dae4SAndroid Build Coastguard WorkerAC_REQUIRE([_XC_CFG_PRE_BASIC_CHK_UTIL_WC])dnl 331*6236dae4SAndroid Build Coastguard Worker# 332*6236dae4SAndroid Build Coastguard Worker# Verify that 'cat' utility is found within 'PATH', otherwise abort. 333*6236dae4SAndroid Build Coastguard Worker# 334*6236dae4SAndroid Build Coastguard Worker 335*6236dae4SAndroid Build Coastguard Workerxc_tst_str='unknown' 336*6236dae4SAndroid Build Coastguard Workerxc_tst_str=`cat <<_EOT 2>/dev/null \ 337*6236dae4SAndroid Build Coastguard Worker | wc -l 2>/dev/null | tr -d "$xc_space$xc_tab" 2>/dev/null 338*6236dae4SAndroid Build Coastguard Workerunknown 339*6236dae4SAndroid Build Coastguard Workerunknown 340*6236dae4SAndroid Build Coastguard Workerunknown 341*6236dae4SAndroid Build Coastguard Worker_EOT` 342*6236dae4SAndroid Build Coastguard Workercase "x$xc_tst_str" in @%:@ (( 343*6236dae4SAndroid Build Coastguard Worker x3) 344*6236dae4SAndroid Build Coastguard Worker : 345*6236dae4SAndroid Build Coastguard Worker ;; 346*6236dae4SAndroid Build Coastguard Worker *) 347*6236dae4SAndroid Build Coastguard Worker echo "$xc_msg_err 'cat' utility not found in 'PATH'. $xc_msg_abrt" >&2 348*6236dae4SAndroid Build Coastguard Worker exit 1 349*6236dae4SAndroid Build Coastguard Worker ;; 350*6236dae4SAndroid Build Coastguard Workeresac 351*6236dae4SAndroid Build Coastguard Worker]) 352*6236dae4SAndroid Build Coastguard Worker 353*6236dae4SAndroid Build Coastguard Worker 354*6236dae4SAndroid Build Coastguard Workerdnl _XC_CFG_PRE_CHECK_PATH_SEPARATOR 355*6236dae4SAndroid Build Coastguard Workerdnl ------------------------------------------------- 356*6236dae4SAndroid Build Coastguard Workerdnl Private macro. 357*6236dae4SAndroid Build Coastguard Workerdnl 358*6236dae4SAndroid Build Coastguard Workerdnl Emits shell code that computes the path separator 359*6236dae4SAndroid Build Coastguard Workerdnl and stores the result in 'PATH_SEPARATOR', unless 360*6236dae4SAndroid Build Coastguard Workerdnl the user has already set it with a non-empty value. 361*6236dae4SAndroid Build Coastguard Workerdnl 362*6236dae4SAndroid Build Coastguard Workerdnl This path separator is the symbol used to separate 363*6236dae4SAndroid Build Coastguard Workerdnl or differentiate paths inside the 'PATH' environment 364*6236dae4SAndroid Build Coastguard Workerdnl variable. 365*6236dae4SAndroid Build Coastguard Workerdnl 366*6236dae4SAndroid Build Coastguard Workerdnl Non-empty user provided 'PATH_SEPARATOR' always 367*6236dae4SAndroid Build Coastguard Workerdnl overrides the auto-detected one. 368*6236dae4SAndroid Build Coastguard Worker 369*6236dae4SAndroid Build Coastguard WorkerAC_DEFUN([_XC_CFG_PRE_CHECK_PATH_SEPARATOR], 370*6236dae4SAndroid Build Coastguard Worker[dnl 371*6236dae4SAndroid Build Coastguard WorkerAC_REQUIRE([_XC_CFG_PRE_BASIC_CHK_CMD_EXPR])dnl 372*6236dae4SAndroid Build Coastguard Worker# 373*6236dae4SAndroid Build Coastguard Worker# Auto-detect and set 'PATH_SEPARATOR', unless it is already non-empty set. 374*6236dae4SAndroid Build Coastguard Worker# 375*6236dae4SAndroid Build Coastguard Worker 376*6236dae4SAndroid Build Coastguard Worker# Directory count in 'PATH' when using a colon separator. 377*6236dae4SAndroid Build Coastguard Workerxc_tst_dirs_col='x' 378*6236dae4SAndroid Build Coastguard Workerxc_tst_prev_IFS=$IFS; IFS=':' 379*6236dae4SAndroid Build Coastguard Workerfor xc_tst_dir in $PATH; do 380*6236dae4SAndroid Build Coastguard Worker IFS=$xc_tst_prev_IFS 381*6236dae4SAndroid Build Coastguard Worker xc_tst_dirs_col="x$xc_tst_dirs_col" 382*6236dae4SAndroid Build Coastguard Workerdone 383*6236dae4SAndroid Build Coastguard WorkerIFS=$xc_tst_prev_IFS 384*6236dae4SAndroid Build Coastguard Workerxc_tst_dirs_col=`expr "$xc_tst_dirs_col" : '.*'` 385*6236dae4SAndroid Build Coastguard Worker 386*6236dae4SAndroid Build Coastguard Worker# Directory count in 'PATH' when using a semicolon separator. 387*6236dae4SAndroid Build Coastguard Workerxc_tst_dirs_sem='x' 388*6236dae4SAndroid Build Coastguard Workerxc_tst_prev_IFS=$IFS; IFS=';' 389*6236dae4SAndroid Build Coastguard Workerfor xc_tst_dir in $PATH; do 390*6236dae4SAndroid Build Coastguard Worker IFS=$xc_tst_prev_IFS 391*6236dae4SAndroid Build Coastguard Worker xc_tst_dirs_sem="x$xc_tst_dirs_sem" 392*6236dae4SAndroid Build Coastguard Workerdone 393*6236dae4SAndroid Build Coastguard WorkerIFS=$xc_tst_prev_IFS 394*6236dae4SAndroid Build Coastguard Workerxc_tst_dirs_sem=`expr "$xc_tst_dirs_sem" : '.*'` 395*6236dae4SAndroid Build Coastguard Worker 396*6236dae4SAndroid Build Coastguard Workerif test $xc_tst_dirs_sem -eq $xc_tst_dirs_col; then 397*6236dae4SAndroid Build Coastguard Worker # When both counting methods give the same result we do not want to 398*6236dae4SAndroid Build Coastguard Worker # chose one over the other, and consider auto-detection not possible. 399*6236dae4SAndroid Build Coastguard Worker if test -z "$PATH_SEPARATOR"; then 400*6236dae4SAndroid Build Coastguard Worker # User should provide the correct 'PATH_SEPARATOR' definition. 401*6236dae4SAndroid Build Coastguard Worker # Until then, guess that it is colon! 402*6236dae4SAndroid Build Coastguard Worker echo "$xc_msg_warn path separator not determined, guessing colon" >&2 403*6236dae4SAndroid Build Coastguard Worker PATH_SEPARATOR=':' 404*6236dae4SAndroid Build Coastguard Worker fi 405*6236dae4SAndroid Build Coastguard Workerelse 406*6236dae4SAndroid Build Coastguard Worker # Separator with the greater directory count is the auto-detected one. 407*6236dae4SAndroid Build Coastguard Worker if test $xc_tst_dirs_sem -gt $xc_tst_dirs_col; then 408*6236dae4SAndroid Build Coastguard Worker xc_tst_auto_separator=';' 409*6236dae4SAndroid Build Coastguard Worker else 410*6236dae4SAndroid Build Coastguard Worker xc_tst_auto_separator=':' 411*6236dae4SAndroid Build Coastguard Worker fi 412*6236dae4SAndroid Build Coastguard Worker if test -z "$PATH_SEPARATOR"; then 413*6236dae4SAndroid Build Coastguard Worker # Simply use the auto-detected one when not already set. 414*6236dae4SAndroid Build Coastguard Worker PATH_SEPARATOR=$xc_tst_auto_separator 415*6236dae4SAndroid Build Coastguard Worker elif test "x$PATH_SEPARATOR" != "x$xc_tst_auto_separator"; then 416*6236dae4SAndroid Build Coastguard Worker echo "$xc_msg_warn 'PATH_SEPARATOR' does not match auto-detected one." >&2 417*6236dae4SAndroid Build Coastguard Worker fi 418*6236dae4SAndroid Build Coastguard Workerfi 419*6236dae4SAndroid Build Coastguard Workerxc_PATH_SEPARATOR=$PATH_SEPARATOR 420*6236dae4SAndroid Build Coastguard WorkerAC_SUBST([PATH_SEPARATOR])dnl 421*6236dae4SAndroid Build Coastguard Worker]) 422*6236dae4SAndroid Build Coastguard Worker 423*6236dae4SAndroid Build Coastguard Worker 424*6236dae4SAndroid Build Coastguard Workerdnl _XC_CFG_PRE_POSTLUDE 425*6236dae4SAndroid Build Coastguard Workerdnl ------------------------------------------------- 426*6236dae4SAndroid Build Coastguard Workerdnl Private macro. 427*6236dae4SAndroid Build Coastguard Worker 428*6236dae4SAndroid Build Coastguard WorkerAC_DEFUN([_XC_CFG_PRE_POSTLUDE], 429*6236dae4SAndroid Build Coastguard Worker[dnl 430*6236dae4SAndroid Build Coastguard WorkerAC_REQUIRE([_XC_CFG_PRE_PREAMBLE])dnl 431*6236dae4SAndroid Build Coastguard WorkerAC_REQUIRE([_XC_CFG_PRE_BASIC_CHK_CMD_ECHO])dnl 432*6236dae4SAndroid Build Coastguard WorkerAC_REQUIRE([_XC_CFG_PRE_BASIC_CHK_CMD_TEST])dnl 433*6236dae4SAndroid Build Coastguard WorkerAC_REQUIRE([_XC_CFG_PRE_BASIC_CHK_VAR_PATH])dnl 434*6236dae4SAndroid Build Coastguard WorkerAC_REQUIRE([_XC_CFG_PRE_BASIC_CHK_CMD_EXPR])dnl 435*6236dae4SAndroid Build Coastguard WorkerAC_REQUIRE([_XC_CFG_PRE_BASIC_CHK_UTIL_SED])dnl 436*6236dae4SAndroid Build Coastguard WorkerAC_REQUIRE([_XC_CFG_PRE_BASIC_CHK_UTIL_GREP])dnl 437*6236dae4SAndroid Build Coastguard WorkerAC_REQUIRE([_XC_CFG_PRE_BASIC_CHK_UTIL_TR])dnl 438*6236dae4SAndroid Build Coastguard WorkerAC_REQUIRE([_XC_CFG_PRE_BASIC_CHK_UTIL_WC])dnl 439*6236dae4SAndroid Build Coastguard WorkerAC_REQUIRE([_XC_CFG_PRE_BASIC_CHK_UTIL_CAT])dnl 440*6236dae4SAndroid Build Coastguard WorkerAC_REQUIRE([_XC_CFG_PRE_CHECK_PATH_SEPARATOR])dnl 441*6236dae4SAndroid Build Coastguard Workerdnl 442*6236dae4SAndroid Build Coastguard Workerxc_configure_preamble_result='yes' 443*6236dae4SAndroid Build Coastguard Worker]) 444*6236dae4SAndroid Build Coastguard Worker 445*6236dae4SAndroid Build Coastguard Worker 446*6236dae4SAndroid Build Coastguard Workerdnl XC_CONFIGURE_PREAMBLE 447*6236dae4SAndroid Build Coastguard Workerdnl ------------------------------------------------- 448*6236dae4SAndroid Build Coastguard Workerdnl Public macro. 449*6236dae4SAndroid Build Coastguard Workerdnl 450*6236dae4SAndroid Build Coastguard Workerdnl This macro emits shell code which does some 451*6236dae4SAndroid Build Coastguard Workerdnl very basic checks related with the availability 452*6236dae4SAndroid Build Coastguard Workerdnl of some commands and utilities needed to allow 453*6236dae4SAndroid Build Coastguard Workerdnl configure script bootstrapping itself when using 454*6236dae4SAndroid Build Coastguard Workerdnl these to figure out other settings. Also emits 455*6236dae4SAndroid Build Coastguard Workerdnl code that performs PATH_SEPARATOR auto-detection 456*6236dae4SAndroid Build Coastguard Workerdnl and sets its value unless it is already set with 457*6236dae4SAndroid Build Coastguard Workerdnl a non-empty value. 458*6236dae4SAndroid Build Coastguard Workerdnl 459*6236dae4SAndroid Build Coastguard Workerdnl These basic checks are intended to be placed and 460*6236dae4SAndroid Build Coastguard Workerdnl executed as early as possible in the resulting 461*6236dae4SAndroid Build Coastguard Workerdnl configure script, and as such these must be pure 462*6236dae4SAndroid Build Coastguard Workerdnl and portable shell code. 463*6236dae4SAndroid Build Coastguard Workerdnl 464*6236dae4SAndroid Build Coastguard Workerdnl This macro may be used directly, or indirectly 465*6236dae4SAndroid Build Coastguard Workerdnl when using other macros that AC_REQUIRE it such 466*6236dae4SAndroid Build Coastguard Workerdnl as XC_CHECK_PATH_SEPARATOR. 467*6236dae4SAndroid Build Coastguard Workerdnl 468*6236dae4SAndroid Build Coastguard Workerdnl Currently the mechanism used to ensure that this 469*6236dae4SAndroid Build Coastguard Workerdnl macro expands early enough in generated configure 470*6236dae4SAndroid Build Coastguard Workerdnl script is making it override autoconf and libtool 471*6236dae4SAndroid Build Coastguard Workerdnl PATH_SEPARATOR check. 472*6236dae4SAndroid Build Coastguard Worker 473*6236dae4SAndroid Build Coastguard WorkerAC_DEFUN([XC_CONFIGURE_PREAMBLE], 474*6236dae4SAndroid Build Coastguard Worker[dnl 475*6236dae4SAndroid Build Coastguard WorkerAC_PREREQ([2.50])dnl 476*6236dae4SAndroid Build Coastguard Workerdnl 477*6236dae4SAndroid Build Coastguard WorkerAC_BEFORE([$0],[_XC_CFG_PRE_PREAMBLE])dnl 478*6236dae4SAndroid Build Coastguard WorkerAC_BEFORE([$0],[_XC_CFG_PRE_BASIC_CHK_CMD_ECHO])dnl 479*6236dae4SAndroid Build Coastguard WorkerAC_BEFORE([$0],[_XC_CFG_PRE_BASIC_CHK_CMD_TEST])dnl 480*6236dae4SAndroid Build Coastguard WorkerAC_BEFORE([$0],[_XC_CFG_PRE_BASIC_CHK_VAR_PATH])dnl 481*6236dae4SAndroid Build Coastguard WorkerAC_BEFORE([$0],[_XC_CFG_PRE_BASIC_CHK_CMD_EXPR])dnl 482*6236dae4SAndroid Build Coastguard WorkerAC_BEFORE([$0],[_XC_CFG_PRE_BASIC_CHK_UTIL_SED])dnl 483*6236dae4SAndroid Build Coastguard WorkerAC_BEFORE([$0],[_XC_CFG_PRE_BASIC_CHK_UTIL_GREP])dnl 484*6236dae4SAndroid Build Coastguard WorkerAC_BEFORE([$0],[_XC_CFG_PRE_BASIC_CHK_UTIL_TR])dnl 485*6236dae4SAndroid Build Coastguard WorkerAC_BEFORE([$0],[_XC_CFG_PRE_BASIC_CHK_UTIL_WC])dnl 486*6236dae4SAndroid Build Coastguard WorkerAC_BEFORE([$0],[_XC_CFG_PRE_BASIC_CHK_UTIL_CAT])dnl 487*6236dae4SAndroid Build Coastguard WorkerAC_BEFORE([$0],[_XC_CFG_PRE_CHECK_PATH_SEPARATOR])dnl 488*6236dae4SAndroid Build Coastguard WorkerAC_BEFORE([$0],[_XC_CFG_PRE_POSTLUDE])dnl 489*6236dae4SAndroid Build Coastguard Workerdnl 490*6236dae4SAndroid Build Coastguard WorkerAC_BEFORE([$0],[AC_CHECK_TOOL])dnl 491*6236dae4SAndroid Build Coastguard WorkerAC_BEFORE([$0],[AC_CHECK_PROG])dnl 492*6236dae4SAndroid Build Coastguard WorkerAC_BEFORE([$0],[AC_CHECK_TOOLS])dnl 493*6236dae4SAndroid Build Coastguard WorkerAC_BEFORE([$0],[AC_CHECK_PROGS])dnl 494*6236dae4SAndroid Build Coastguard Workerdnl 495*6236dae4SAndroid Build Coastguard WorkerAC_BEFORE([$0],[AC_PATH_TOOL])dnl 496*6236dae4SAndroid Build Coastguard WorkerAC_BEFORE([$0],[AC_PATH_PROG])dnl 497*6236dae4SAndroid Build Coastguard WorkerAC_BEFORE([$0],[AC_PATH_PROGS])dnl 498*6236dae4SAndroid Build Coastguard Workerdnl 499*6236dae4SAndroid Build Coastguard WorkerAC_BEFORE([$0],[AC_PROG_SED])dnl 500*6236dae4SAndroid Build Coastguard WorkerAC_BEFORE([$0],[AC_PROG_GREP])dnl 501*6236dae4SAndroid Build Coastguard WorkerAC_BEFORE([$0],[AC_PROG_LN_S])dnl 502*6236dae4SAndroid Build Coastguard WorkerAC_BEFORE([$0],[AC_PROG_MKDIR_P])dnl 503*6236dae4SAndroid Build Coastguard WorkerAC_BEFORE([$0],[AC_PROG_INSTALL])dnl 504*6236dae4SAndroid Build Coastguard WorkerAC_BEFORE([$0],[AC_PROG_MAKE_SET])dnl 505*6236dae4SAndroid Build Coastguard WorkerAC_BEFORE([$0],[AC_PROG_LIBTOOL])dnl 506*6236dae4SAndroid Build Coastguard Workerdnl 507*6236dae4SAndroid Build Coastguard WorkerAC_BEFORE([$0],[LT_INIT])dnl 508*6236dae4SAndroid Build Coastguard WorkerAC_BEFORE([$0],[AM_INIT_AUTOMAKE])dnl 509*6236dae4SAndroid Build Coastguard WorkerAC_BEFORE([$0],[AC_LIBTOOL_WIN32_DLL])dnl 510*6236dae4SAndroid Build Coastguard Workerdnl 511*6236dae4SAndroid Build Coastguard WorkerAC_REQUIRE([_XC_CFG_PRE_PREAMBLE])dnl 512*6236dae4SAndroid Build Coastguard WorkerAC_REQUIRE([_XC_CFG_PRE_BASIC_CHK_CMD_ECHO])dnl 513*6236dae4SAndroid Build Coastguard WorkerAC_REQUIRE([_XC_CFG_PRE_BASIC_CHK_CMD_TEST])dnl 514*6236dae4SAndroid Build Coastguard WorkerAC_REQUIRE([_XC_CFG_PRE_BASIC_CHK_VAR_PATH])dnl 515*6236dae4SAndroid Build Coastguard WorkerAC_REQUIRE([_XC_CFG_PRE_BASIC_CHK_CMD_EXPR])dnl 516*6236dae4SAndroid Build Coastguard WorkerAC_REQUIRE([_XC_CFG_PRE_BASIC_CHK_UTIL_SED])dnl 517*6236dae4SAndroid Build Coastguard WorkerAC_REQUIRE([_XC_CFG_PRE_BASIC_CHK_UTIL_GREP])dnl 518*6236dae4SAndroid Build Coastguard WorkerAC_REQUIRE([_XC_CFG_PRE_BASIC_CHK_UTIL_TR])dnl 519*6236dae4SAndroid Build Coastguard WorkerAC_REQUIRE([_XC_CFG_PRE_BASIC_CHK_UTIL_WC])dnl 520*6236dae4SAndroid Build Coastguard WorkerAC_REQUIRE([_XC_CFG_PRE_BASIC_CHK_UTIL_CAT])dnl 521*6236dae4SAndroid Build Coastguard WorkerAC_REQUIRE([_XC_CFG_PRE_CHECK_PATH_SEPARATOR])dnl 522*6236dae4SAndroid Build Coastguard WorkerAC_REQUIRE([_XC_CFG_PRE_POSTLUDE])dnl 523*6236dae4SAndroid Build Coastguard Workerdnl 524*6236dae4SAndroid Build Coastguard Workerm4_pattern_forbid([^_*XC])dnl 525*6236dae4SAndroid Build Coastguard Workerm4_define([$0],[])dnl 526*6236dae4SAndroid Build Coastguard Worker]) 527*6236dae4SAndroid Build Coastguard Worker 528*6236dae4SAndroid Build Coastguard Worker 529*6236dae4SAndroid Build Coastguard Workerdnl Override autoconf and libtool PATH_SEPARATOR check 530*6236dae4SAndroid Build Coastguard Workerdnl ------------------------------------------------- 531*6236dae4SAndroid Build Coastguard Workerdnl Macros overriding. 532*6236dae4SAndroid Build Coastguard Workerdnl 533*6236dae4SAndroid Build Coastguard Workerdnl This is done to ensure that the same check is 534*6236dae4SAndroid Build Coastguard Workerdnl used across different autoconf versions and to 535*6236dae4SAndroid Build Coastguard Workerdnl allow expansion of XC_CONFIGURE_PREAMBLE macro 536*6236dae4SAndroid Build Coastguard Workerdnl early enough in the generated configure script. 537*6236dae4SAndroid Build Coastguard Worker 538*6236dae4SAndroid Build Coastguard Workerdnl 539*6236dae4SAndroid Build Coastguard Workerdnl Override when using autoconf 2.53 and newer. 540*6236dae4SAndroid Build Coastguard Workerdnl 541*6236dae4SAndroid Build Coastguard Worker 542*6236dae4SAndroid Build Coastguard Workerm4_ifdef([_AS_PATH_SEPARATOR_PREPARE], 543*6236dae4SAndroid Build Coastguard Worker[dnl 544*6236dae4SAndroid Build Coastguard Workerm4_undefine([_AS_PATH_SEPARATOR_PREPARE])dnl 545*6236dae4SAndroid Build Coastguard Workerm4_defun([_AS_PATH_SEPARATOR_PREPARE], 546*6236dae4SAndroid Build Coastguard Worker[dnl 547*6236dae4SAndroid Build Coastguard WorkerAC_REQUIRE([XC_CONFIGURE_PREAMBLE])dnl 548*6236dae4SAndroid Build Coastguard Workerm4_define([$0],[])dnl 549*6236dae4SAndroid Build Coastguard Worker])dnl 550*6236dae4SAndroid Build Coastguard Worker]) 551*6236dae4SAndroid Build Coastguard Worker 552*6236dae4SAndroid Build Coastguard Workerdnl 553*6236dae4SAndroid Build Coastguard Workerdnl Override when using autoconf 2.50 to 2.52 554*6236dae4SAndroid Build Coastguard Workerdnl 555*6236dae4SAndroid Build Coastguard Worker 556*6236dae4SAndroid Build Coastguard Workerm4_ifdef([_AC_INIT_PREPARE_FS_SEPARATORS], 557*6236dae4SAndroid Build Coastguard Worker[dnl 558*6236dae4SAndroid Build Coastguard Workerm4_undefine([_AC_INIT_PREPARE_FS_SEPARATORS])dnl 559*6236dae4SAndroid Build Coastguard Workerm4_defun([_AC_INIT_PREPARE_FS_SEPARATORS], 560*6236dae4SAndroid Build Coastguard Worker[dnl 561*6236dae4SAndroid Build Coastguard WorkerAC_REQUIRE([XC_CONFIGURE_PREAMBLE])dnl 562*6236dae4SAndroid Build Coastguard Workerac_path_separator=$PATH_SEPARATOR 563*6236dae4SAndroid Build Coastguard Workerm4_define([$0],[])dnl 564*6236dae4SAndroid Build Coastguard Worker])dnl 565*6236dae4SAndroid Build Coastguard Worker]) 566*6236dae4SAndroid Build Coastguard Worker 567*6236dae4SAndroid Build Coastguard Workerdnl 568*6236dae4SAndroid Build Coastguard Workerdnl Override when using libtool 1.4.2 569*6236dae4SAndroid Build Coastguard Workerdnl 570*6236dae4SAndroid Build Coastguard Worker 571*6236dae4SAndroid Build Coastguard Workerm4_ifdef([_LT_AC_LIBTOOL_SYS_PATH_SEPARATOR], 572*6236dae4SAndroid Build Coastguard Worker[dnl 573*6236dae4SAndroid Build Coastguard Workerm4_undefine([_LT_AC_LIBTOOL_SYS_PATH_SEPARATOR])dnl 574*6236dae4SAndroid Build Coastguard Workerm4_defun([_LT_AC_LIBTOOL_SYS_PATH_SEPARATOR], 575*6236dae4SAndroid Build Coastguard Worker[dnl 576*6236dae4SAndroid Build Coastguard WorkerAC_REQUIRE([XC_CONFIGURE_PREAMBLE])dnl 577*6236dae4SAndroid Build Coastguard Workerlt_cv_sys_path_separator=$PATH_SEPARATOR 578*6236dae4SAndroid Build Coastguard Workerm4_define([$0],[])dnl 579*6236dae4SAndroid Build Coastguard Worker])dnl 580*6236dae4SAndroid Build Coastguard Worker]) 581*6236dae4SAndroid Build Coastguard Worker 582*6236dae4SAndroid Build Coastguard Worker 583*6236dae4SAndroid Build Coastguard Workerdnl XC_CHECK_PATH_SEPARATOR 584*6236dae4SAndroid Build Coastguard Workerdnl ------------------------------------------------- 585*6236dae4SAndroid Build Coastguard Workerdnl Public macro. 586*6236dae4SAndroid Build Coastguard Workerdnl 587*6236dae4SAndroid Build Coastguard Workerdnl Usage of this macro ensures that generated configure 588*6236dae4SAndroid Build Coastguard Workerdnl script uses the same PATH_SEPARATOR check irrespective 589*6236dae4SAndroid Build Coastguard Workerdnl of autoconf or libtool version being used to generate 590*6236dae4SAndroid Build Coastguard Workerdnl configure script. 591*6236dae4SAndroid Build Coastguard Workerdnl 592*6236dae4SAndroid Build Coastguard Workerdnl Emits shell code that computes the path separator 593*6236dae4SAndroid Build Coastguard Workerdnl and stores the result in 'PATH_SEPARATOR', unless 594*6236dae4SAndroid Build Coastguard Workerdnl the user has already set it with a non-empty value. 595*6236dae4SAndroid Build Coastguard Workerdnl 596*6236dae4SAndroid Build Coastguard Workerdnl This path separator is the symbol used to separate 597*6236dae4SAndroid Build Coastguard Workerdnl or differentiate paths inside the 'PATH' environment 598*6236dae4SAndroid Build Coastguard Workerdnl variable. 599*6236dae4SAndroid Build Coastguard Workerdnl 600*6236dae4SAndroid Build Coastguard Workerdnl Non-empty user provided 'PATH_SEPARATOR' always 601*6236dae4SAndroid Build Coastguard Workerdnl overrides the auto-detected one. 602*6236dae4SAndroid Build Coastguard Workerdnl 603*6236dae4SAndroid Build Coastguard Workerdnl Strictly speaking the check is done in two steps. The 604*6236dae4SAndroid Build Coastguard Workerdnl first, which does the actual check, takes place in 605*6236dae4SAndroid Build Coastguard Workerdnl XC_CONFIGURE_PREAMBLE macro and happens very early in 606*6236dae4SAndroid Build Coastguard Workerdnl generated configure script. The second one shows and 607*6236dae4SAndroid Build Coastguard Workerdnl logs the result of the check into config.log at a later 608*6236dae4SAndroid Build Coastguard Workerdnl configure stage. Placement of this second stage in 609*6236dae4SAndroid Build Coastguard Workerdnl generated configure script will be done where first 610*6236dae4SAndroid Build Coastguard Workerdnl direct or indirect usage of this macro happens. 611*6236dae4SAndroid Build Coastguard Worker 612*6236dae4SAndroid Build Coastguard WorkerAC_DEFUN([XC_CHECK_PATH_SEPARATOR], 613*6236dae4SAndroid Build Coastguard Worker[dnl 614*6236dae4SAndroid Build Coastguard WorkerAC_PREREQ([2.50])dnl 615*6236dae4SAndroid Build Coastguard Workerdnl 616*6236dae4SAndroid Build Coastguard WorkerAC_BEFORE([$0],[AC_CHECK_TOOL])dnl 617*6236dae4SAndroid Build Coastguard WorkerAC_BEFORE([$0],[AC_CHECK_PROG])dnl 618*6236dae4SAndroid Build Coastguard WorkerAC_BEFORE([$0],[AC_CHECK_TOOLS])dnl 619*6236dae4SAndroid Build Coastguard WorkerAC_BEFORE([$0],[AC_CHECK_PROGS])dnl 620*6236dae4SAndroid Build Coastguard Workerdnl 621*6236dae4SAndroid Build Coastguard WorkerAC_BEFORE([$0],[AC_PATH_TOOL])dnl 622*6236dae4SAndroid Build Coastguard WorkerAC_BEFORE([$0],[AC_PATH_PROG])dnl 623*6236dae4SAndroid Build Coastguard WorkerAC_BEFORE([$0],[AC_PATH_PROGS])dnl 624*6236dae4SAndroid Build Coastguard Workerdnl 625*6236dae4SAndroid Build Coastguard WorkerAC_BEFORE([$0],[AC_PROG_SED])dnl 626*6236dae4SAndroid Build Coastguard WorkerAC_BEFORE([$0],[AC_PROG_GREP])dnl 627*6236dae4SAndroid Build Coastguard WorkerAC_BEFORE([$0],[AC_PROG_LN_S])dnl 628*6236dae4SAndroid Build Coastguard WorkerAC_BEFORE([$0],[AC_PROG_MKDIR_P])dnl 629*6236dae4SAndroid Build Coastguard WorkerAC_BEFORE([$0],[AC_PROG_INSTALL])dnl 630*6236dae4SAndroid Build Coastguard WorkerAC_BEFORE([$0],[AC_PROG_MAKE_SET])dnl 631*6236dae4SAndroid Build Coastguard WorkerAC_BEFORE([$0],[AC_PROG_LIBTOOL])dnl 632*6236dae4SAndroid Build Coastguard Workerdnl 633*6236dae4SAndroid Build Coastguard WorkerAC_BEFORE([$0],[LT_INIT])dnl 634*6236dae4SAndroid Build Coastguard WorkerAC_BEFORE([$0],[AM_INIT_AUTOMAKE])dnl 635*6236dae4SAndroid Build Coastguard WorkerAC_BEFORE([$0],[AC_LIBTOOL_WIN32_DLL])dnl 636*6236dae4SAndroid Build Coastguard Workerdnl 637*6236dae4SAndroid Build Coastguard WorkerAC_REQUIRE([XC_CONFIGURE_PREAMBLE])dnl 638*6236dae4SAndroid Build Coastguard Workerdnl 639*6236dae4SAndroid Build Coastguard Worker# 640*6236dae4SAndroid Build Coastguard Worker# Check that 'XC_CONFIGURE_PREAMBLE' has already run. 641*6236dae4SAndroid Build Coastguard Worker# 642*6236dae4SAndroid Build Coastguard Worker 643*6236dae4SAndroid Build Coastguard Workerif test -z "$xc_configure_preamble_result"; then 644*6236dae4SAndroid Build Coastguard Worker AC_MSG_ERROR([xc_configure_preamble_result not set (internal problem)]) 645*6236dae4SAndroid Build Coastguard Workerfi 646*6236dae4SAndroid Build Coastguard Worker 647*6236dae4SAndroid Build Coastguard Worker# 648*6236dae4SAndroid Build Coastguard Worker# Check that 'PATH_SEPARATOR' has already been set. 649*6236dae4SAndroid Build Coastguard Worker# 650*6236dae4SAndroid Build Coastguard Worker 651*6236dae4SAndroid Build Coastguard Workerif test -z "$xc_PATH_SEPARATOR"; then 652*6236dae4SAndroid Build Coastguard Worker AC_MSG_ERROR([xc_PATH_SEPARATOR not set (internal problem)]) 653*6236dae4SAndroid Build Coastguard Workerfi 654*6236dae4SAndroid Build Coastguard Workerif test -z "$PATH_SEPARATOR"; then 655*6236dae4SAndroid Build Coastguard Worker AC_MSG_ERROR([PATH_SEPARATOR not set (internal or config.site problem)]) 656*6236dae4SAndroid Build Coastguard Workerfi 657*6236dae4SAndroid Build Coastguard WorkerAC_MSG_CHECKING([for path separator]) 658*6236dae4SAndroid Build Coastguard WorkerAC_MSG_RESULT([$PATH_SEPARATOR]) 659*6236dae4SAndroid Build Coastguard Workerif test "x$PATH_SEPARATOR" != "x$xc_PATH_SEPARATOR"; then 660*6236dae4SAndroid Build Coastguard Worker AC_MSG_CHECKING([for initial path separator]) 661*6236dae4SAndroid Build Coastguard Worker AC_MSG_RESULT([$xc_PATH_SEPARATOR]) 662*6236dae4SAndroid Build Coastguard Worker AC_MSG_ERROR([path separator mismatch (internal or config.site problem)]) 663*6236dae4SAndroid Build Coastguard Workerfi 664*6236dae4SAndroid Build Coastguard Workerdnl 665*6236dae4SAndroid Build Coastguard Workerm4_pattern_forbid([^_*XC])dnl 666*6236dae4SAndroid Build Coastguard Workerm4_define([$0],[])dnl 667*6236dae4SAndroid Build Coastguard Worker]) 668