File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / expat / m4 / ltoptions.m4
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Sun Jun 15 16:09:42 2014 UTC (10 years ago) by misho
Branches: expat, MAIN
CVS tags: v2_1_0, HEAD
expat 2.1.0

    1: # Helper functions for option handling.                    -*- Autoconf -*-
    2: #
    3: #   Copyright (C) 2004, 2005, 2007, 2008, 2009 Free Software Foundation,
    4: #   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 7 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:   ])
   86: ])# _LT_SET_OPTIONS
   87: 
   88: 
   89: ## --------------------------------- ##
   90: ## Macros to handle LT_INIT options. ##
   91: ## --------------------------------- ##
   92: 
   93: # _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
   94: # -----------------------------------------
   95: m4_define([_LT_MANGLE_DEFUN],
   96: [[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])])
   97: 
   98: 
   99: # LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
  100: # -----------------------------------------------
  101: m4_define([LT_OPTION_DEFINE],
  102: [m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl
  103: ])# LT_OPTION_DEFINE
  104: 
  105: 
  106: # dlopen
  107: # ------
  108: LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes
  109: ])
  110: 
  111: AU_DEFUN([AC_LIBTOOL_DLOPEN],
  112: [_LT_SET_OPTION([LT_INIT], [dlopen])
  113: AC_DIAGNOSE([obsolete],
  114: [$0: Remove this warning and the call to _LT_SET_OPTION when you
  115: put the `dlopen' option into LT_INIT's first parameter.])
  116: ])
  117: 
  118: dnl aclocal-1.4 backwards compatibility:
  119: dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], [])
  120: 
  121: 
  122: # win32-dll
  123: # ---------
  124: # Declare package support for building win32 dll's.
  125: LT_OPTION_DEFINE([LT_INIT], [win32-dll],
  126: [enable_win32_dll=yes
  127: 
  128: case $host in
  129: *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*)
  130:   AC_CHECK_TOOL(AS, as, false)
  131:   AC_CHECK_TOOL(DLLTOOL, dlltool, false)
  132:   AC_CHECK_TOOL(OBJDUMP, objdump, false)
  133:   ;;
  134: esac
  135: 
  136: test -z "$AS" && AS=as
  137: _LT_DECL([], [AS],      [1], [Assembler program])dnl
  138: 
  139: test -z "$DLLTOOL" && DLLTOOL=dlltool
  140: _LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl
  141: 
  142: test -z "$OBJDUMP" && OBJDUMP=objdump
  143: _LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl
  144: ])# win32-dll
  145: 
  146: AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
  147: [AC_REQUIRE([AC_CANONICAL_HOST])dnl
  148: _LT_SET_OPTION([LT_INIT], [win32-dll])
  149: AC_DIAGNOSE([obsolete],
  150: [$0: Remove this warning and the call to _LT_SET_OPTION when you
  151: put the `win32-dll' option into LT_INIT's first parameter.])
  152: ])
  153: 
  154: dnl aclocal-1.4 backwards compatibility:
  155: dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
  156: 
  157: 
  158: # _LT_ENABLE_SHARED([DEFAULT])
  159: # ----------------------------
  160: # implement the --enable-shared flag, and supports the `shared' and
  161: # `disable-shared' LT_INIT options.
  162: # DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
  163: m4_define([_LT_ENABLE_SHARED],
  164: [m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
  165: AC_ARG_ENABLE([shared],
  166:     [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
  167: 	[build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])],
  168:     [p=${PACKAGE-default}
  169:     case $enableval in
  170:     yes) enable_shared=yes ;;
  171:     no) enable_shared=no ;;
  172:     *)
  173:       enable_shared=no
  174:       # Look at the argument we got.  We use all the common list separators.
  175:       lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
  176:       for pkg in $enableval; do
  177: 	IFS="$lt_save_ifs"
  178: 	if test "X$pkg" = "X$p"; then
  179: 	  enable_shared=yes
  180: 	fi
  181:       done
  182:       IFS="$lt_save_ifs"
  183:       ;;
  184:     esac],
  185:     [enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
  186: 
  187:     _LT_DECL([build_libtool_libs], [enable_shared], [0],
  188: 	[Whether or not to build shared libraries])
  189: ])# _LT_ENABLE_SHARED
  190: 
  191: LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])])
  192: LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])])
  193: 
  194: # Old names:
  195: AC_DEFUN([AC_ENABLE_SHARED],
  196: [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
  197: ])
  198: 
  199: AC_DEFUN([AC_DISABLE_SHARED],
  200: [_LT_SET_OPTION([LT_INIT], [disable-shared])
  201: ])
  202: 
  203: AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
  204: AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
  205: 
  206: dnl aclocal-1.4 backwards compatibility:
  207: dnl AC_DEFUN([AM_ENABLE_SHARED], [])
  208: dnl AC_DEFUN([AM_DISABLE_SHARED], [])
  209: 
  210: 
  211: 
  212: # _LT_ENABLE_STATIC([DEFAULT])
  213: # ----------------------------
  214: # implement the --enable-static flag, and support the `static' and
  215: # `disable-static' LT_INIT options.
  216: # DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
  217: m4_define([_LT_ENABLE_STATIC],
  218: [m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
  219: AC_ARG_ENABLE([static],
  220:     [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@],
  221: 	[build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])],
  222:     [p=${PACKAGE-default}
  223:     case $enableval in
  224:     yes) enable_static=yes ;;
  225:     no) enable_static=no ;;
  226:     *)
  227:      enable_static=no
  228:       # Look at the argument we got.  We use all the common list separators.
  229:       lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
  230:       for pkg in $enableval; do
  231: 	IFS="$lt_save_ifs"
  232: 	if test "X$pkg" = "X$p"; then
  233: 	  enable_static=yes
  234: 	fi
  235:       done
  236:       IFS="$lt_save_ifs"
  237:       ;;
  238:     esac],
  239:     [enable_static=]_LT_ENABLE_STATIC_DEFAULT)
  240: 
  241:     _LT_DECL([build_old_libs], [enable_static], [0],
  242: 	[Whether or not to build static libraries])
  243: ])# _LT_ENABLE_STATIC
  244: 
  245: LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])])
  246: LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])])
  247: 
  248: # Old names:
  249: AC_DEFUN([AC_ENABLE_STATIC],
  250: [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
  251: ])
  252: 
  253: AC_DEFUN([AC_DISABLE_STATIC],
  254: [_LT_SET_OPTION([LT_INIT], [disable-static])
  255: ])
  256: 
  257: AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
  258: AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
  259: 
  260: dnl aclocal-1.4 backwards compatibility:
  261: dnl AC_DEFUN([AM_ENABLE_STATIC], [])
  262: dnl AC_DEFUN([AM_DISABLE_STATIC], [])
  263: 
  264: 
  265: 
  266: # _LT_ENABLE_FAST_INSTALL([DEFAULT])
  267: # ----------------------------------
  268: # implement the --enable-fast-install flag, and support the `fast-install'
  269: # and `disable-fast-install' LT_INIT options.
  270: # DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
  271: m4_define([_LT_ENABLE_FAST_INSTALL],
  272: [m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
  273: AC_ARG_ENABLE([fast-install],
  274:     [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
  275:     [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
  276:     [p=${PACKAGE-default}
  277:     case $enableval in
  278:     yes) enable_fast_install=yes ;;
  279:     no) enable_fast_install=no ;;
  280:     *)
  281:       enable_fast_install=no
  282:       # Look at the argument we got.  We use all the common list separators.
  283:       lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
  284:       for pkg in $enableval; do
  285: 	IFS="$lt_save_ifs"
  286: 	if test "X$pkg" = "X$p"; then
  287: 	  enable_fast_install=yes
  288: 	fi
  289:       done
  290:       IFS="$lt_save_ifs"
  291:       ;;
  292:     esac],
  293:     [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
  294: 
  295: _LT_DECL([fast_install], [enable_fast_install], [0],
  296: 	 [Whether or not to optimize for fast installation])dnl
  297: ])# _LT_ENABLE_FAST_INSTALL
  298: 
  299: LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])])
  300: LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])])
  301: 
  302: # Old names:
  303: AU_DEFUN([AC_ENABLE_FAST_INSTALL],
  304: [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
  305: AC_DIAGNOSE([obsolete],
  306: [$0: Remove this warning and the call to _LT_SET_OPTION when you put
  307: the `fast-install' option into LT_INIT's first parameter.])
  308: ])
  309: 
  310: AU_DEFUN([AC_DISABLE_FAST_INSTALL],
  311: [_LT_SET_OPTION([LT_INIT], [disable-fast-install])
  312: AC_DIAGNOSE([obsolete],
  313: [$0: Remove this warning and the call to _LT_SET_OPTION when you put
  314: the `disable-fast-install' option into LT_INIT's first parameter.])
  315: ])
  316: 
  317: dnl aclocal-1.4 backwards compatibility:
  318: dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
  319: dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
  320: 
  321: 
  322: # _LT_WITH_PIC([MODE])
  323: # --------------------
  324: # implement the --with-pic flag, and support the `pic-only' and `no-pic'
  325: # LT_INIT options.
  326: # MODE is either `yes' or `no'.  If omitted, it defaults to `both'.
  327: m4_define([_LT_WITH_PIC],
  328: [AC_ARG_WITH([pic],
  329:     [AS_HELP_STRING([--with-pic],
  330: 	[try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
  331:     [pic_mode="$withval"],
  332:     [pic_mode=default])
  333: 
  334: test -z "$pic_mode" && pic_mode=m4_default([$1], [default])
  335: 
  336: _LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
  337: ])# _LT_WITH_PIC
  338: 
  339: LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])])
  340: LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])])
  341: 
  342: # Old name:
  343: AU_DEFUN([AC_LIBTOOL_PICMODE],
  344: [_LT_SET_OPTION([LT_INIT], [pic-only])
  345: AC_DIAGNOSE([obsolete],
  346: [$0: Remove this warning and the call to _LT_SET_OPTION when you
  347: put the `pic-only' option into LT_INIT's first parameter.])
  348: ])
  349: 
  350: dnl aclocal-1.4 backwards compatibility:
  351: dnl AC_DEFUN([AC_LIBTOOL_PICMODE], [])
  352: 
  353: ## ----------------- ##
  354: ## LTDL_INIT Options ##
  355: ## ----------------- ##
  356: 
  357: m4_define([_LTDL_MODE], [])
  358: LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive],
  359: 		 [m4_define([_LTDL_MODE], [nonrecursive])])
  360: LT_OPTION_DEFINE([LTDL_INIT], [recursive],
  361: 		 [m4_define([_LTDL_MODE], [recursive])])
  362: LT_OPTION_DEFINE([LTDL_INIT], [subproject],
  363: 		 [m4_define([_LTDL_MODE], [subproject])])
  364: 
  365: m4_define([_LTDL_TYPE], [])
  366: LT_OPTION_DEFINE([LTDL_INIT], [installable],
  367: 		 [m4_define([_LTDL_TYPE], [installable])])
  368: LT_OPTION_DEFINE([LTDL_INIT], [convenience],
  369: 		 [m4_define([_LTDL_TYPE], [convenience])])

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