Annotation of embedaddon/curl/m4/zz40-xc-ovr.m4, revision 1.1.1.1

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

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>