lac : 94b082976667c0c9edf2e9ff7a668c1fd7d997bf

     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])])

Generated by git2html.