File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / confuse / m4 / ltoptions.m4
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Tue Jan 24 14:48:55 2017 UTC (7 years, 6 months ago) by misho
Branches: confuse, MAIN
CVS tags: v2_7, HEAD
confuse 2.7

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

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