File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / curl / m4 / ltoptions.m4
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Wed Jun 3 10:01:15 2020 UTC (4 years ago) by misho
Branches: curl, MAIN
CVS tags: v7_70_0p4, HEAD
curl

    1: # Helper functions for option handling.                    -*- Autoconf -*-
    2: #
    3: #   Copyright (C) 2004-2005, 2007-2009, 2011-2015 Free Software
    4: #   Foundation, Inc.
    5: #   Written by Gary V. Vaughan, 2004
    6: #
    7: # This file is free software; the Free Software Foundation gives
    8: # unlimited permission to copy and/or distribute it, with or without
    9: # modifications, as long as this notice is preserved.
   10: 
   11: # serial 8 ltoptions.m4
   12: 
   13: # This is to help aclocal find these macros, as it can't see m4_define.
   14: AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
   15: 
   16: 
   17: # _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME)
   18: # ------------------------------------------
   19: m4_define([_LT_MANGLE_OPTION],
   20: [[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])])
   21: 
   22: 
   23: # _LT_SET_OPTION(MACRO-NAME, OPTION-NAME)
   24: # ---------------------------------------
   25: # Set option OPTION-NAME for macro MACRO-NAME, and if there is a
   26: # matching handler defined, dispatch to it.  Other OPTION-NAMEs are
   27: # saved as a flag.
   28: m4_define([_LT_SET_OPTION],
   29: [m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
   30: m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
   31:         _LT_MANGLE_DEFUN([$1], [$2]),
   32:     [m4_warning([Unknown $1 option '$2'])])[]dnl
   33: ])
   34: 
   35: 
   36: # _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET])
   37: # ------------------------------------------------------------
   38: # Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
   39: m4_define([_LT_IF_OPTION],
   40: [m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])])
   41: 
   42: 
   43: # _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET)
   44: # -------------------------------------------------------
   45: # Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME
   46: # are set.
   47: m4_define([_LT_UNLESS_OPTIONS],
   48: [m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
   49: 	    [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option),
   50: 		      [m4_define([$0_found])])])[]dnl
   51: m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3
   52: ])[]dnl
   53: ])
   54: 
   55: 
   56: # _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST)
   57: # ----------------------------------------
   58: # OPTION-LIST is a space-separated list of Libtool options associated
   59: # with MACRO-NAME.  If any OPTION has a matching handler declared with
   60: # LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about
   61: # the unknown option and exit.
   62: m4_defun([_LT_SET_OPTIONS],
   63: [# Set options
   64: m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
   65:     [_LT_SET_OPTION([$1], _LT_Option)])
   66: 
   67: m4_if([$1],[LT_INIT],[
   68:   dnl
   69:   dnl Simply set some default values (i.e off) if boolean options were not
   70:   dnl specified:
   71:   _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no
   72:   ])
   73:   _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no
   74:   ])
   75:   dnl
   76:   dnl If no reference was made to various pairs of opposing options, then
   77:   dnl we run the default mode handler for the pair.  For example, if neither
   78:   dnl 'shared' nor 'disable-shared' was passed, we enable building of shared
   79:   dnl archives by default:
   80:   _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
   81:   _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
   82:   _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
   83:   _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
   84: 		   [_LT_ENABLE_FAST_INSTALL])
   85:   _LT_UNLESS_OPTIONS([LT_INIT], [aix-soname=aix aix-soname=both aix-soname=svr4],
   86: 		   [_LT_WITH_AIX_SONAME([aix])])
   87:   ])
   88: ])# _LT_SET_OPTIONS
   89: 
   90: 
   91: ## --------------------------------- ##
   92: ## Macros to handle LT_INIT options. ##
   93: ## --------------------------------- ##
   94: 
   95: # _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
   96: # -----------------------------------------
   97: m4_define([_LT_MANGLE_DEFUN],
   98: [[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])])
   99: 
  100: 
  101: # LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
  102: # -----------------------------------------------
  103: m4_define([LT_OPTION_DEFINE],
  104: [m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl
  105: ])# LT_OPTION_DEFINE
  106: 
  107: 
  108: # dlopen
  109: # ------
  110: LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes
  111: ])
  112: 
  113: AU_DEFUN([AC_LIBTOOL_DLOPEN],
  114: [_LT_SET_OPTION([LT_INIT], [dlopen])
  115: AC_DIAGNOSE([obsolete],
  116: [$0: Remove this warning and the call to _LT_SET_OPTION when you
  117: put the 'dlopen' option into LT_INIT's first parameter.])
  118: ])
  119: 
  120: dnl aclocal-1.4 backwards compatibility:
  121: dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], [])
  122: 
  123: 
  124: # win32-dll
  125: # ---------
  126: # Declare package support for building win32 dll's.
  127: LT_OPTION_DEFINE([LT_INIT], [win32-dll],
  128: [enable_win32_dll=yes
  129: 
  130: case $host in
  131: *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*)
  132:   AC_CHECK_TOOL(AS, as, false)
  133:   AC_CHECK_TOOL(DLLTOOL, dlltool, false)
  134:   AC_CHECK_TOOL(OBJDUMP, objdump, false)
  135:   ;;
  136: esac
  137: 
  138: test -z "$AS" && AS=as
  139: _LT_DECL([], [AS],      [1], [Assembler program])dnl
  140: 
  141: test -z "$DLLTOOL" && DLLTOOL=dlltool
  142: _LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl
  143: 
  144: test -z "$OBJDUMP" && OBJDUMP=objdump
  145: _LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl
  146: ])# win32-dll
  147: 
  148: AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
  149: [AC_REQUIRE([AC_CANONICAL_HOST])dnl
  150: _LT_SET_OPTION([LT_INIT], [win32-dll])
  151: AC_DIAGNOSE([obsolete],
  152: [$0: Remove this warning and the call to _LT_SET_OPTION when you
  153: put the 'win32-dll' option into LT_INIT's first parameter.])
  154: ])
  155: 
  156: dnl aclocal-1.4 backwards compatibility:
  157: dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
  158: 
  159: 
  160: # _LT_ENABLE_SHARED([DEFAULT])
  161: # ----------------------------
  162: # implement the --enable-shared flag, and supports the 'shared' and
  163: # 'disable-shared' LT_INIT options.
  164: # DEFAULT is either 'yes' or 'no'.  If omitted, it defaults to 'yes'.
  165: m4_define([_LT_ENABLE_SHARED],
  166: [m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
  167: AC_ARG_ENABLE([shared],
  168:     [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
  169: 	[build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])],
  170:     [p=${PACKAGE-default}
  171:     case $enableval in
  172:     yes) enable_shared=yes ;;
  173:     no) enable_shared=no ;;
  174:     *)
  175:       enable_shared=no
  176:       # Look at the argument we got.  We use all the common list separators.
  177:       lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
  178:       for pkg in $enableval; do
  179: 	IFS=$lt_save_ifs
  180: 	if test "X$pkg" = "X$p"; then
  181: 	  enable_shared=yes
  182: 	fi
  183:       done
  184:       IFS=$lt_save_ifs
  185:       ;;
  186:     esac],
  187:     [enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
  188: 
  189:     _LT_DECL([build_libtool_libs], [enable_shared], [0],
  190: 	[Whether or not to build shared libraries])
  191: ])# _LT_ENABLE_SHARED
  192: 
  193: LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])])
  194: LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])])
  195: 
  196: # Old names:
  197: AC_DEFUN([AC_ENABLE_SHARED],
  198: [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
  199: ])
  200: 
  201: AC_DEFUN([AC_DISABLE_SHARED],
  202: [_LT_SET_OPTION([LT_INIT], [disable-shared])
  203: ])
  204: 
  205: AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
  206: AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
  207: 
  208: dnl aclocal-1.4 backwards compatibility:
  209: dnl AC_DEFUN([AM_ENABLE_SHARED], [])
  210: dnl AC_DEFUN([AM_DISABLE_SHARED], [])
  211: 
  212: 
  213: 
  214: # _LT_ENABLE_STATIC([DEFAULT])
  215: # ----------------------------
  216: # implement the --enable-static flag, and support the 'static' and
  217: # 'disable-static' LT_INIT options.
  218: # DEFAULT is either 'yes' or 'no'.  If omitted, it defaults to 'yes'.
  219: m4_define([_LT_ENABLE_STATIC],
  220: [m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
  221: AC_ARG_ENABLE([static],
  222:     [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@],
  223: 	[build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])],
  224:     [p=${PACKAGE-default}
  225:     case $enableval in
  226:     yes) enable_static=yes ;;
  227:     no) enable_static=no ;;
  228:     *)
  229:      enable_static=no
  230:       # Look at the argument we got.  We use all the common list separators.
  231:       lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
  232:       for pkg in $enableval; do
  233: 	IFS=$lt_save_ifs
  234: 	if test "X$pkg" = "X$p"; then
  235: 	  enable_static=yes
  236: 	fi
  237:       done
  238:       IFS=$lt_save_ifs
  239:       ;;
  240:     esac],
  241:     [enable_static=]_LT_ENABLE_STATIC_DEFAULT)
  242: 
  243:     _LT_DECL([build_old_libs], [enable_static], [0],
  244: 	[Whether or not to build static libraries])
  245: ])# _LT_ENABLE_STATIC
  246: 
  247: LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])])
  248: LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])])
  249: 
  250: # Old names:
  251: AC_DEFUN([AC_ENABLE_STATIC],
  252: [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
  253: ])
  254: 
  255: AC_DEFUN([AC_DISABLE_STATIC],
  256: [_LT_SET_OPTION([LT_INIT], [disable-static])
  257: ])
  258: 
  259: AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
  260: AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
  261: 
  262: dnl aclocal-1.4 backwards compatibility:
  263: dnl AC_DEFUN([AM_ENABLE_STATIC], [])
  264: dnl AC_DEFUN([AM_DISABLE_STATIC], [])
  265: 
  266: 
  267: 
  268: # _LT_ENABLE_FAST_INSTALL([DEFAULT])
  269: # ----------------------------------
  270: # implement the --enable-fast-install flag, and support the 'fast-install'
  271: # and 'disable-fast-install' LT_INIT options.
  272: # DEFAULT is either 'yes' or 'no'.  If omitted, it defaults to 'yes'.
  273: m4_define([_LT_ENABLE_FAST_INSTALL],
  274: [m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
  275: AC_ARG_ENABLE([fast-install],
  276:     [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
  277:     [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
  278:     [p=${PACKAGE-default}
  279:     case $enableval in
  280:     yes) enable_fast_install=yes ;;
  281:     no) enable_fast_install=no ;;
  282:     *)
  283:       enable_fast_install=no
  284:       # Look at the argument we got.  We use all the common list separators.
  285:       lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
  286:       for pkg in $enableval; do
  287: 	IFS=$lt_save_ifs
  288: 	if test "X$pkg" = "X$p"; then
  289: 	  enable_fast_install=yes
  290: 	fi
  291:       done
  292:       IFS=$lt_save_ifs
  293:       ;;
  294:     esac],
  295:     [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
  296: 
  297: _LT_DECL([fast_install], [enable_fast_install], [0],
  298: 	 [Whether or not to optimize for fast installation])dnl
  299: ])# _LT_ENABLE_FAST_INSTALL
  300: 
  301: LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])])
  302: LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])])
  303: 
  304: # Old names:
  305: AU_DEFUN([AC_ENABLE_FAST_INSTALL],
  306: [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
  307: AC_DIAGNOSE([obsolete],
  308: [$0: Remove this warning and the call to _LT_SET_OPTION when you put
  309: the 'fast-install' option into LT_INIT's first parameter.])
  310: ])
  311: 
  312: AU_DEFUN([AC_DISABLE_FAST_INSTALL],
  313: [_LT_SET_OPTION([LT_INIT], [disable-fast-install])
  314: AC_DIAGNOSE([obsolete],
  315: [$0: Remove this warning and the call to _LT_SET_OPTION when you put
  316: the 'disable-fast-install' option into LT_INIT's first parameter.])
  317: ])
  318: 
  319: dnl aclocal-1.4 backwards compatibility:
  320: dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
  321: dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
  322: 
  323: 
  324: # _LT_WITH_AIX_SONAME([DEFAULT])
  325: # ----------------------------------
  326: # implement the --with-aix-soname flag, and support the `aix-soname=aix'
  327: # and `aix-soname=both' and `aix-soname=svr4' LT_INIT options. DEFAULT
  328: # is either `aix', `both' or `svr4'.  If omitted, it defaults to `aix'.
  329: m4_define([_LT_WITH_AIX_SONAME],
  330: [m4_define([_LT_WITH_AIX_SONAME_DEFAULT], [m4_if($1, svr4, svr4, m4_if($1, both, both, aix))])dnl
  331: shared_archive_member_spec=
  332: case $host,$enable_shared in
  333: power*-*-aix[[5-9]]*,yes)
  334:   AC_MSG_CHECKING([which variant of shared library versioning to provide])
  335:   AC_ARG_WITH([aix-soname],
  336:     [AS_HELP_STRING([--with-aix-soname=aix|svr4|both],
  337:       [shared library versioning (aka "SONAME") variant to provide on AIX, @<:@default=]_LT_WITH_AIX_SONAME_DEFAULT[@:>@.])],
  338:     [case $withval in
  339:     aix|svr4|both)
  340:       ;;
  341:     *)
  342:       AC_MSG_ERROR([Unknown argument to --with-aix-soname])
  343:       ;;
  344:     esac
  345:     lt_cv_with_aix_soname=$with_aix_soname],
  346:     [AC_CACHE_VAL([lt_cv_with_aix_soname],
  347:       [lt_cv_with_aix_soname=]_LT_WITH_AIX_SONAME_DEFAULT)
  348:     with_aix_soname=$lt_cv_with_aix_soname])
  349:   AC_MSG_RESULT([$with_aix_soname])
  350:   if test aix != "$with_aix_soname"; then
  351:     # For the AIX way of multilib, we name the shared archive member
  352:     # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o',
  353:     # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File.
  354:     # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag,
  355:     # the AIX toolchain works better with OBJECT_MODE set (default 32).
  356:     if test 64 = "${OBJECT_MODE-32}"; then
  357:       shared_archive_member_spec=shr_64
  358:     else
  359:       shared_archive_member_spec=shr
  360:     fi
  361:   fi
  362:   ;;
  363: *)
  364:   with_aix_soname=aix
  365:   ;;
  366: esac
  367: 
  368: _LT_DECL([], [shared_archive_member_spec], [0],
  369:     [Shared archive member basename, for filename based shared library versioning on AIX])dnl
  370: ])# _LT_WITH_AIX_SONAME
  371: 
  372: LT_OPTION_DEFINE([LT_INIT], [aix-soname=aix], [_LT_WITH_AIX_SONAME([aix])])
  373: LT_OPTION_DEFINE([LT_INIT], [aix-soname=both], [_LT_WITH_AIX_SONAME([both])])
  374: LT_OPTION_DEFINE([LT_INIT], [aix-soname=svr4], [_LT_WITH_AIX_SONAME([svr4])])
  375: 
  376: 
  377: # _LT_WITH_PIC([MODE])
  378: # --------------------
  379: # implement the --with-pic flag, and support the 'pic-only' and 'no-pic'
  380: # LT_INIT options.
  381: # MODE is either 'yes' or 'no'.  If omitted, it defaults to 'both'.
  382: m4_define([_LT_WITH_PIC],
  383: [AC_ARG_WITH([pic],
  384:     [AS_HELP_STRING([--with-pic@<:@=PKGS@:>@],
  385: 	[try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
  386:     [lt_p=${PACKAGE-default}
  387:     case $withval in
  388:     yes|no) pic_mode=$withval ;;
  389:     *)
  390:       pic_mode=default
  391:       # Look at the argument we got.  We use all the common list separators.
  392:       lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
  393:       for lt_pkg in $withval; do
  394: 	IFS=$lt_save_ifs
  395: 	if test "X$lt_pkg" = "X$lt_p"; then
  396: 	  pic_mode=yes
  397: 	fi
  398:       done
  399:       IFS=$lt_save_ifs
  400:       ;;
  401:     esac],
  402:     [pic_mode=m4_default([$1], [default])])
  403: 
  404: _LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
  405: ])# _LT_WITH_PIC
  406: 
  407: LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])])
  408: LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])])
  409: 
  410: # Old name:
  411: AU_DEFUN([AC_LIBTOOL_PICMODE],
  412: [_LT_SET_OPTION([LT_INIT], [pic-only])
  413: AC_DIAGNOSE([obsolete],
  414: [$0: Remove this warning and the call to _LT_SET_OPTION when you
  415: put the 'pic-only' option into LT_INIT's first parameter.])
  416: ])
  417: 
  418: dnl aclocal-1.4 backwards compatibility:
  419: dnl AC_DEFUN([AC_LIBTOOL_PICMODE], [])
  420: 
  421: ## ----------------- ##
  422: ## LTDL_INIT Options ##
  423: ## ----------------- ##
  424: 
  425: m4_define([_LTDL_MODE], [])
  426: LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive],
  427: 		 [m4_define([_LTDL_MODE], [nonrecursive])])
  428: LT_OPTION_DEFINE([LTDL_INIT], [recursive],
  429: 		 [m4_define([_LTDL_MODE], [recursive])])
  430: LT_OPTION_DEFINE([LTDL_INIT], [subproject],
  431: 		 [m4_define([_LTDL_MODE], [subproject])])
  432: 
  433: m4_define([_LTDL_TYPE], [])
  434: LT_OPTION_DEFINE([LTDL_INIT], [installable],
  435: 		 [m4_define([_LTDL_TYPE], [installable])])
  436: LT_OPTION_DEFINE([LTDL_INIT], [convenience],
  437: 		 [m4_define([_LTDL_TYPE], [convenience])])

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