10ef0e59aSmrg# Helper functions for option handling.                    -*- Autoconf -*-
20ef0e59aSmrg#
3d5e6aabbSmrg#   Copyright (C) 2004-2005, 2007-2009, 2011-2019, 2021-2024 Free
415885c33Smrg#   Software Foundation, Inc.
50ef0e59aSmrg#   Written by Gary V. Vaughan, 2004
60ef0e59aSmrg#
70ef0e59aSmrg# This file is free software; the Free Software Foundation gives
80ef0e59aSmrg# unlimited permission to copy and/or distribute it, with or without
90ef0e59aSmrg# modifications, as long as this notice is preserved.
100ef0e59aSmrg
11d5e6aabbSmrg# serial 10 ltoptions.m4
120ef0e59aSmrg
130ef0e59aSmrg# This is to help aclocal find these macros, as it can't see m4_define.
140ef0e59aSmrgAC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
150ef0e59aSmrg
160ef0e59aSmrg
170ef0e59aSmrg# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME)
180ef0e59aSmrg# ------------------------------------------
190ef0e59aSmrgm4_define([_LT_MANGLE_OPTION],
200ef0e59aSmrg[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])])
210ef0e59aSmrg
220ef0e59aSmrg
230ef0e59aSmrg# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME)
240ef0e59aSmrg# ---------------------------------------
250ef0e59aSmrg# Set option OPTION-NAME for macro MACRO-NAME, and if there is a
260ef0e59aSmrg# matching handler defined, dispatch to it.  Other OPTION-NAMEs are
270ef0e59aSmrg# saved as a flag.
280ef0e59aSmrgm4_define([_LT_SET_OPTION],
290ef0e59aSmrg[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
300ef0e59aSmrgm4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
310ef0e59aSmrg        _LT_MANGLE_DEFUN([$1], [$2]),
320ef0e59aSmrg    [m4_warning([Unknown $1 option '$2'])])[]dnl
330ef0e59aSmrg])
340ef0e59aSmrg
350ef0e59aSmrg
360ef0e59aSmrg# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET])
370ef0e59aSmrg# ------------------------------------------------------------
380ef0e59aSmrg# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
390ef0e59aSmrgm4_define([_LT_IF_OPTION],
400ef0e59aSmrg[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])])
410ef0e59aSmrg
420ef0e59aSmrg
430ef0e59aSmrg# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET)
440ef0e59aSmrg# -------------------------------------------------------
450ef0e59aSmrg# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME
460ef0e59aSmrg# are set.
470ef0e59aSmrgm4_define([_LT_UNLESS_OPTIONS],
480ef0e59aSmrg[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
490ef0e59aSmrg	    [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option),
500ef0e59aSmrg		      [m4_define([$0_found])])])[]dnl
510ef0e59aSmrgm4_ifdef([$0_found], [m4_undefine([$0_found])], [$3
520ef0e59aSmrg])[]dnl
530ef0e59aSmrg])
540ef0e59aSmrg
550ef0e59aSmrg
560ef0e59aSmrg# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST)
570ef0e59aSmrg# ----------------------------------------
580ef0e59aSmrg# OPTION-LIST is a space-separated list of Libtool options associated
590ef0e59aSmrg# with MACRO-NAME.  If any OPTION has a matching handler declared with
600ef0e59aSmrg# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about
610ef0e59aSmrg# the unknown option and exit.
620ef0e59aSmrgm4_defun([_LT_SET_OPTIONS],
630ef0e59aSmrg[# Set options
640ef0e59aSmrgm4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
650ef0e59aSmrg    [_LT_SET_OPTION([$1], _LT_Option)])
660ef0e59aSmrg
670ef0e59aSmrgm4_if([$1],[LT_INIT],[
680ef0e59aSmrg  dnl
690ef0e59aSmrg  dnl Simply set some default values (i.e off) if boolean options were not
700ef0e59aSmrg  dnl specified:
710ef0e59aSmrg  _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no
720ef0e59aSmrg  ])
730ef0e59aSmrg  _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no
740ef0e59aSmrg  ])
750ef0e59aSmrg  dnl
760ef0e59aSmrg  dnl If no reference was made to various pairs of opposing options, then
770ef0e59aSmrg  dnl we run the default mode handler for the pair.  For example, if neither
780ef0e59aSmrg  dnl 'shared' nor 'disable-shared' was passed, we enable building of shared
790ef0e59aSmrg  dnl archives by default:
800ef0e59aSmrg  _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
810ef0e59aSmrg  _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
820ef0e59aSmrg  _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
830ef0e59aSmrg  _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
840ef0e59aSmrg		   [_LT_ENABLE_FAST_INSTALL])
850ef0e59aSmrg  _LT_UNLESS_OPTIONS([LT_INIT], [aix-soname=aix aix-soname=both aix-soname=svr4],
860ef0e59aSmrg		   [_LT_WITH_AIX_SONAME([aix])])
870ef0e59aSmrg  ])
880ef0e59aSmrg])# _LT_SET_OPTIONS
890ef0e59aSmrg
900ef0e59aSmrg
910ef0e59aSmrg## --------------------------------- ##
920ef0e59aSmrg## Macros to handle LT_INIT options. ##
930ef0e59aSmrg## --------------------------------- ##
940ef0e59aSmrg
950ef0e59aSmrg# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
960ef0e59aSmrg# -----------------------------------------
970ef0e59aSmrgm4_define([_LT_MANGLE_DEFUN],
980ef0e59aSmrg[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])])
990ef0e59aSmrg
1000ef0e59aSmrg
1010ef0e59aSmrg# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
1020ef0e59aSmrg# -----------------------------------------------
1030ef0e59aSmrgm4_define([LT_OPTION_DEFINE],
1040ef0e59aSmrg[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl
1050ef0e59aSmrg])# LT_OPTION_DEFINE
1060ef0e59aSmrg
1070ef0e59aSmrg
1080ef0e59aSmrg# dlopen
1090ef0e59aSmrg# ------
1100ef0e59aSmrgLT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes
1110ef0e59aSmrg])
1120ef0e59aSmrg
1130ef0e59aSmrgAU_DEFUN([AC_LIBTOOL_DLOPEN],
1140ef0e59aSmrg[_LT_SET_OPTION([LT_INIT], [dlopen])
1150ef0e59aSmrgAC_DIAGNOSE([obsolete],
1160ef0e59aSmrg[$0: Remove this warning and the call to _LT_SET_OPTION when you
1170ef0e59aSmrgput the 'dlopen' option into LT_INIT's first parameter.])
1180ef0e59aSmrg])
1190ef0e59aSmrg
1200ef0e59aSmrgdnl aclocal-1.4 backwards compatibility:
1210ef0e59aSmrgdnl AC_DEFUN([AC_LIBTOOL_DLOPEN], [])
1220ef0e59aSmrg
1230ef0e59aSmrg
1240ef0e59aSmrg# win32-dll
1250ef0e59aSmrg# ---------
1260ef0e59aSmrg# Declare package support for building win32 dll's.
1270ef0e59aSmrgLT_OPTION_DEFINE([LT_INIT], [win32-dll],
1280ef0e59aSmrg[enable_win32_dll=yes
1290ef0e59aSmrg
1300ef0e59aSmrgcase $host in
131d5e6aabbSmrg*-*-cygwin* | *-*-mingw* | *-*-windows* | *-*-pw32* | *-*-cegcc*)
1320ef0e59aSmrg  AC_CHECK_TOOL(AS, as, false)
1330ef0e59aSmrg  AC_CHECK_TOOL(DLLTOOL, dlltool, false)
1340ef0e59aSmrg  AC_CHECK_TOOL(OBJDUMP, objdump, false)
1350ef0e59aSmrg  ;;
1360ef0e59aSmrgesac
1370ef0e59aSmrg
1380ef0e59aSmrgtest -z "$AS" && AS=as
1390ef0e59aSmrg_LT_DECL([], [AS],      [1], [Assembler program])dnl
1400ef0e59aSmrg
1410ef0e59aSmrgtest -z "$DLLTOOL" && DLLTOOL=dlltool
1420ef0e59aSmrg_LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl
1430ef0e59aSmrg
1440ef0e59aSmrgtest -z "$OBJDUMP" && OBJDUMP=objdump
1450ef0e59aSmrg_LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl
1460ef0e59aSmrg])# win32-dll
1470ef0e59aSmrg
1480ef0e59aSmrgAU_DEFUN([AC_LIBTOOL_WIN32_DLL],
1490ef0e59aSmrg[AC_REQUIRE([AC_CANONICAL_HOST])dnl
1500ef0e59aSmrg_LT_SET_OPTION([LT_INIT], [win32-dll])
1510ef0e59aSmrgAC_DIAGNOSE([obsolete],
1520ef0e59aSmrg[$0: Remove this warning and the call to _LT_SET_OPTION when you
1530ef0e59aSmrgput the 'win32-dll' option into LT_INIT's first parameter.])
1540ef0e59aSmrg])
1550ef0e59aSmrg
1560ef0e59aSmrgdnl aclocal-1.4 backwards compatibility:
1570ef0e59aSmrgdnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
1580ef0e59aSmrg
1590ef0e59aSmrg
1600ef0e59aSmrg# _LT_ENABLE_SHARED([DEFAULT])
1610ef0e59aSmrg# ----------------------------
1620ef0e59aSmrg# implement the --enable-shared flag, and supports the 'shared' and
1630ef0e59aSmrg# 'disable-shared' LT_INIT options.
1640ef0e59aSmrg# DEFAULT is either 'yes' or 'no'.  If omitted, it defaults to 'yes'.
1650ef0e59aSmrgm4_define([_LT_ENABLE_SHARED],
1660ef0e59aSmrg[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
1670ef0e59aSmrgAC_ARG_ENABLE([shared],
1680ef0e59aSmrg    [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
1690ef0e59aSmrg	[build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])],
1700ef0e59aSmrg    [p=${PACKAGE-default}
1710ef0e59aSmrg    case $enableval in
1720ef0e59aSmrg    yes) enable_shared=yes ;;
1730ef0e59aSmrg    no) enable_shared=no ;;
1740ef0e59aSmrg    *)
1750ef0e59aSmrg      enable_shared=no
1760ef0e59aSmrg      # Look at the argument we got.  We use all the common list separators.
1770ef0e59aSmrg      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
1780ef0e59aSmrg      for pkg in $enableval; do
1790ef0e59aSmrg	IFS=$lt_save_ifs
1800ef0e59aSmrg	if test "X$pkg" = "X$p"; then
1810ef0e59aSmrg	  enable_shared=yes
1820ef0e59aSmrg	fi
1830ef0e59aSmrg      done
1840ef0e59aSmrg      IFS=$lt_save_ifs
1850ef0e59aSmrg      ;;
1860ef0e59aSmrg    esac],
1870ef0e59aSmrg    [enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
1880ef0e59aSmrg
1890ef0e59aSmrg    _LT_DECL([build_libtool_libs], [enable_shared], [0],
1900ef0e59aSmrg	[Whether or not to build shared libraries])
1910ef0e59aSmrg])# _LT_ENABLE_SHARED
1920ef0e59aSmrg
1930ef0e59aSmrgLT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])])
1940ef0e59aSmrgLT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])])
1950ef0e59aSmrg
1960ef0e59aSmrg# Old names:
1970ef0e59aSmrgAC_DEFUN([AC_ENABLE_SHARED],
1980ef0e59aSmrg[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
1990ef0e59aSmrg])
2000ef0e59aSmrg
2010ef0e59aSmrgAC_DEFUN([AC_DISABLE_SHARED],
2020ef0e59aSmrg[_LT_SET_OPTION([LT_INIT], [disable-shared])
2030ef0e59aSmrg])
2040ef0e59aSmrg
2050ef0e59aSmrgAU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
2060ef0e59aSmrgAU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
2070ef0e59aSmrg
2080ef0e59aSmrgdnl aclocal-1.4 backwards compatibility:
2090ef0e59aSmrgdnl AC_DEFUN([AM_ENABLE_SHARED], [])
2100ef0e59aSmrgdnl AC_DEFUN([AM_DISABLE_SHARED], [])
2110ef0e59aSmrg
2120ef0e59aSmrg
2130ef0e59aSmrg
2140ef0e59aSmrg# _LT_ENABLE_STATIC([DEFAULT])
2150ef0e59aSmrg# ----------------------------
2160ef0e59aSmrg# implement the --enable-static flag, and support the 'static' and
2170ef0e59aSmrg# 'disable-static' LT_INIT options.
2180ef0e59aSmrg# DEFAULT is either 'yes' or 'no'.  If omitted, it defaults to 'yes'.
2190ef0e59aSmrgm4_define([_LT_ENABLE_STATIC],
2200ef0e59aSmrg[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
2210ef0e59aSmrgAC_ARG_ENABLE([static],
2220ef0e59aSmrg    [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@],
2230ef0e59aSmrg	[build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])],
2240ef0e59aSmrg    [p=${PACKAGE-default}
2250ef0e59aSmrg    case $enableval in
2260ef0e59aSmrg    yes) enable_static=yes ;;
2270ef0e59aSmrg    no) enable_static=no ;;
2280ef0e59aSmrg    *)
2290ef0e59aSmrg     enable_static=no
2300ef0e59aSmrg      # Look at the argument we got.  We use all the common list separators.
2310ef0e59aSmrg      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
2320ef0e59aSmrg      for pkg in $enableval; do
2330ef0e59aSmrg	IFS=$lt_save_ifs
2340ef0e59aSmrg	if test "X$pkg" = "X$p"; then
2350ef0e59aSmrg	  enable_static=yes
2360ef0e59aSmrg	fi
2370ef0e59aSmrg      done
2380ef0e59aSmrg      IFS=$lt_save_ifs
2390ef0e59aSmrg      ;;
2400ef0e59aSmrg    esac],
2410ef0e59aSmrg    [enable_static=]_LT_ENABLE_STATIC_DEFAULT)
2420ef0e59aSmrg
2430ef0e59aSmrg    _LT_DECL([build_old_libs], [enable_static], [0],
2440ef0e59aSmrg	[Whether or not to build static libraries])
2450ef0e59aSmrg])# _LT_ENABLE_STATIC
2460ef0e59aSmrg
2470ef0e59aSmrgLT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])])
2480ef0e59aSmrgLT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])])
2490ef0e59aSmrg
2500ef0e59aSmrg# Old names:
2510ef0e59aSmrgAC_DEFUN([AC_ENABLE_STATIC],
2520ef0e59aSmrg[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
2530ef0e59aSmrg])
2540ef0e59aSmrg
2550ef0e59aSmrgAC_DEFUN([AC_DISABLE_STATIC],
2560ef0e59aSmrg[_LT_SET_OPTION([LT_INIT], [disable-static])
2570ef0e59aSmrg])
2580ef0e59aSmrg
2590ef0e59aSmrgAU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
2600ef0e59aSmrgAU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
2610ef0e59aSmrg
2620ef0e59aSmrgdnl aclocal-1.4 backwards compatibility:
2630ef0e59aSmrgdnl AC_DEFUN([AM_ENABLE_STATIC], [])
2640ef0e59aSmrgdnl AC_DEFUN([AM_DISABLE_STATIC], [])
2650ef0e59aSmrg
2660ef0e59aSmrg
2670ef0e59aSmrg
2680ef0e59aSmrg# _LT_ENABLE_FAST_INSTALL([DEFAULT])
2690ef0e59aSmrg# ----------------------------------
2700ef0e59aSmrg# implement the --enable-fast-install flag, and support the 'fast-install'
2710ef0e59aSmrg# and 'disable-fast-install' LT_INIT options.
2720ef0e59aSmrg# DEFAULT is either 'yes' or 'no'.  If omitted, it defaults to 'yes'.
2730ef0e59aSmrgm4_define([_LT_ENABLE_FAST_INSTALL],
2740ef0e59aSmrg[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
2750ef0e59aSmrgAC_ARG_ENABLE([fast-install],
2760ef0e59aSmrg    [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
2770ef0e59aSmrg    [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
2780ef0e59aSmrg    [p=${PACKAGE-default}
2790ef0e59aSmrg    case $enableval in
2800ef0e59aSmrg    yes) enable_fast_install=yes ;;
2810ef0e59aSmrg    no) enable_fast_install=no ;;
2820ef0e59aSmrg    *)
2830ef0e59aSmrg      enable_fast_install=no
2840ef0e59aSmrg      # Look at the argument we got.  We use all the common list separators.
2850ef0e59aSmrg      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
2860ef0e59aSmrg      for pkg in $enableval; do
2870ef0e59aSmrg	IFS=$lt_save_ifs
2880ef0e59aSmrg	if test "X$pkg" = "X$p"; then
2890ef0e59aSmrg	  enable_fast_install=yes
2900ef0e59aSmrg	fi
2910ef0e59aSmrg      done
2920ef0e59aSmrg      IFS=$lt_save_ifs
2930ef0e59aSmrg      ;;
2940ef0e59aSmrg    esac],
2950ef0e59aSmrg    [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
2960ef0e59aSmrg
2970ef0e59aSmrg_LT_DECL([fast_install], [enable_fast_install], [0],
2980ef0e59aSmrg	 [Whether or not to optimize for fast installation])dnl
2990ef0e59aSmrg])# _LT_ENABLE_FAST_INSTALL
3000ef0e59aSmrg
3010ef0e59aSmrgLT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])])
3020ef0e59aSmrgLT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])])
3030ef0e59aSmrg
3040ef0e59aSmrg# Old names:
3050ef0e59aSmrgAU_DEFUN([AC_ENABLE_FAST_INSTALL],
3060ef0e59aSmrg[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
3070ef0e59aSmrgAC_DIAGNOSE([obsolete],
3080ef0e59aSmrg[$0: Remove this warning and the call to _LT_SET_OPTION when you put
3090ef0e59aSmrgthe 'fast-install' option into LT_INIT's first parameter.])
3100ef0e59aSmrg])
3110ef0e59aSmrg
3120ef0e59aSmrgAU_DEFUN([AC_DISABLE_FAST_INSTALL],
3130ef0e59aSmrg[_LT_SET_OPTION([LT_INIT], [disable-fast-install])
3140ef0e59aSmrgAC_DIAGNOSE([obsolete],
3150ef0e59aSmrg[$0: Remove this warning and the call to _LT_SET_OPTION when you put
3160ef0e59aSmrgthe 'disable-fast-install' option into LT_INIT's first parameter.])
3170ef0e59aSmrg])
3180ef0e59aSmrg
3190ef0e59aSmrgdnl aclocal-1.4 backwards compatibility:
3200ef0e59aSmrgdnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
3210ef0e59aSmrgdnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
3220ef0e59aSmrg
3230ef0e59aSmrg
3240ef0e59aSmrg# _LT_WITH_AIX_SONAME([DEFAULT])
3250ef0e59aSmrg# ----------------------------------
326d5e6aabbSmrg# implement the --enable-aix-soname configure option, and support the
327d5e6aabbSmrg# `aix-soname=aix' and `aix-soname=both' and `aix-soname=svr4' LT_INIT options.
328d5e6aabbSmrg# DEFAULT is either `aix', `both', or `svr4'.  If omitted, it defaults to `aix'.
3290ef0e59aSmrgm4_define([_LT_WITH_AIX_SONAME],
3300ef0e59aSmrg[m4_define([_LT_WITH_AIX_SONAME_DEFAULT], [m4_if($1, svr4, svr4, m4_if($1, both, both, aix))])dnl
3310ef0e59aSmrgshared_archive_member_spec=
3320ef0e59aSmrgcase $host,$enable_shared in
3330ef0e59aSmrgpower*-*-aix[[5-9]]*,yes)
3340ef0e59aSmrg  AC_MSG_CHECKING([which variant of shared library versioning to provide])
335d5e6aabbSmrg  AC_ARG_ENABLE([aix-soname],
336d5e6aabbSmrg    [AS_HELP_STRING([--enable-aix-soname=aix|svr4|both],
3370ef0e59aSmrg      [shared library versioning (aka "SONAME") variant to provide on AIX, @<:@default=]_LT_WITH_AIX_SONAME_DEFAULT[@:>@.])],
338d5e6aabbSmrg    [case $enableval in
339d5e6aabbSmrg     aix|svr4|both)
340d5e6aabbSmrg       ;;
341d5e6aabbSmrg     *)
342d5e6aabbSmrg       AC_MSG_ERROR([Unknown argument to --enable-aix-soname])
343d5e6aabbSmrg       ;;
344d5e6aabbSmrg     esac
345d5e6aabbSmrg     lt_cv_with_aix_soname=$enable_aix_soname],
346d5e6aabbSmrg    [_AC_ENABLE_IF([with], [aix-soname],
347d5e6aabbSmrg        [case $withval in
348d5e6aabbSmrg         aix|svr4|both)
349d5e6aabbSmrg           ;;
350d5e6aabbSmrg         *)
351d5e6aabbSmrg           AC_MSG_ERROR([Unknown argument to --with-aix-soname])
352d5e6aabbSmrg           ;;
353d5e6aabbSmrg         esac
354d5e6aabbSmrg         lt_cv_with_aix_soname=$with_aix_soname],
355d5e6aabbSmrg        [AC_CACHE_VAL([lt_cv_with_aix_soname],
356d5e6aabbSmrg           [lt_cv_with_aix_soname=]_LT_WITH_AIX_SONAME_DEFAULT)])
357d5e6aabbSmrg     enable_aix_soname=$lt_cv_with_aix_soname])
358d5e6aabbSmrg  with_aix_soname=$enable_aix_soname
3590ef0e59aSmrg  AC_MSG_RESULT([$with_aix_soname])
3600ef0e59aSmrg  if test aix != "$with_aix_soname"; then
3610ef0e59aSmrg    # For the AIX way of multilib, we name the shared archive member
3620ef0e59aSmrg    # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o',
3630ef0e59aSmrg    # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File.
3640ef0e59aSmrg    # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag,
3650ef0e59aSmrg    # the AIX toolchain works better with OBJECT_MODE set (default 32).
3660ef0e59aSmrg    if test 64 = "${OBJECT_MODE-32}"; then
3670ef0e59aSmrg      shared_archive_member_spec=shr_64
3680ef0e59aSmrg    else
3690ef0e59aSmrg      shared_archive_member_spec=shr
3700ef0e59aSmrg    fi
3710ef0e59aSmrg  fi
3720ef0e59aSmrg  ;;
3730ef0e59aSmrg*)
3740ef0e59aSmrg  with_aix_soname=aix
3750ef0e59aSmrg  ;;
3760ef0e59aSmrgesac
3770ef0e59aSmrg
3780ef0e59aSmrg_LT_DECL([], [shared_archive_member_spec], [0],
3790ef0e59aSmrg    [Shared archive member basename, for filename based shared library versioning on AIX])dnl
3800ef0e59aSmrg])# _LT_WITH_AIX_SONAME
3810ef0e59aSmrg
3820ef0e59aSmrgLT_OPTION_DEFINE([LT_INIT], [aix-soname=aix], [_LT_WITH_AIX_SONAME([aix])])
3830ef0e59aSmrgLT_OPTION_DEFINE([LT_INIT], [aix-soname=both], [_LT_WITH_AIX_SONAME([both])])
3840ef0e59aSmrgLT_OPTION_DEFINE([LT_INIT], [aix-soname=svr4], [_LT_WITH_AIX_SONAME([svr4])])
3850ef0e59aSmrg
3860ef0e59aSmrg
3870ef0e59aSmrg# _LT_WITH_PIC([MODE])
3880ef0e59aSmrg# --------------------
389d5e6aabbSmrg# implement the --enable-pic flag, and support the 'pic-only' and 'no-pic'
3900ef0e59aSmrg# LT_INIT options.
3910ef0e59aSmrg# MODE is either 'yes' or 'no'.  If omitted, it defaults to 'both'.
3920ef0e59aSmrgm4_define([_LT_WITH_PIC],
393d5e6aabbSmrg[AC_ARG_ENABLE([pic],
394d5e6aabbSmrg    [AS_HELP_STRING([--enable-pic@<:@=PKGS@:>@],
3950ef0e59aSmrg	[try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
3960ef0e59aSmrg    [lt_p=${PACKAGE-default}
397d5e6aabbSmrg     case $enableval in
398d5e6aabbSmrg     yes|no) pic_mode=$enableval ;;
399d5e6aabbSmrg     *)
400d5e6aabbSmrg       pic_mode=default
401d5e6aabbSmrg       # Look at the argument we got.  We use all the common list separators.
402d5e6aabbSmrg       lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
403d5e6aabbSmrg       for lt_pkg in $enableval; do
404d5e6aabbSmrg	 IFS=$lt_save_ifs
405d5e6aabbSmrg	 if test "X$lt_pkg" = "X$lt_p"; then
406d5e6aabbSmrg	   pic_mode=yes
407d5e6aabbSmrg	 fi
408d5e6aabbSmrg       done
409d5e6aabbSmrg       IFS=$lt_save_ifs
410d5e6aabbSmrg       ;;
411d5e6aabbSmrg     esac],
412d5e6aabbSmrg    [dnl Continue to support --with-pic and --without-pic, for backward
413d5e6aabbSmrg     dnl compatibility.
414d5e6aabbSmrg     _AC_ENABLE_IF([with], [pic],
415d5e6aabbSmrg	[lt_p=${PACKAGE-default}
416d5e6aabbSmrg	 case $withval in
417d5e6aabbSmrg	 yes|no) pic_mode=$withval ;;
418d5e6aabbSmrg	 *)
419d5e6aabbSmrg	   pic_mode=default
420d5e6aabbSmrg	   # Look at the argument we got.  We use all the common list separators.
421d5e6aabbSmrg	   lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
422d5e6aabbSmrg	   for lt_pkg in $withval; do
423d5e6aabbSmrg	     IFS=$lt_save_ifs
424d5e6aabbSmrg	     if test "X$lt_pkg" = "X$lt_p"; then
425d5e6aabbSmrg	       pic_mode=yes
426d5e6aabbSmrg	     fi
427d5e6aabbSmrg	   done
428d5e6aabbSmrg	   IFS=$lt_save_ifs
429d5e6aabbSmrg	   ;;
430d5e6aabbSmrg	 esac],
431d5e6aabbSmrg	[pic_mode=m4_default([$1], [default])])]
432d5e6aabbSmrg    )
4330ef0e59aSmrg
4340ef0e59aSmrg_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
4350ef0e59aSmrg])# _LT_WITH_PIC
4360ef0e59aSmrg
4370ef0e59aSmrgLT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])])
4380ef0e59aSmrgLT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])])
4390ef0e59aSmrg
4400ef0e59aSmrg# Old name:
4410ef0e59aSmrgAU_DEFUN([AC_LIBTOOL_PICMODE],
4420ef0e59aSmrg[_LT_SET_OPTION([LT_INIT], [pic-only])
4430ef0e59aSmrgAC_DIAGNOSE([obsolete],
4440ef0e59aSmrg[$0: Remove this warning and the call to _LT_SET_OPTION when you
4450ef0e59aSmrgput the 'pic-only' option into LT_INIT's first parameter.])
4460ef0e59aSmrg])
4470ef0e59aSmrg
4480ef0e59aSmrgdnl aclocal-1.4 backwards compatibility:
4490ef0e59aSmrgdnl AC_DEFUN([AC_LIBTOOL_PICMODE], [])
4500ef0e59aSmrg
4510ef0e59aSmrg## ----------------- ##
4520ef0e59aSmrg## LTDL_INIT Options ##
4530ef0e59aSmrg## ----------------- ##
4540ef0e59aSmrg
4550ef0e59aSmrgm4_define([_LTDL_MODE], [])
4560ef0e59aSmrgLT_OPTION_DEFINE([LTDL_INIT], [nonrecursive],
4570ef0e59aSmrg		 [m4_define([_LTDL_MODE], [nonrecursive])])
4580ef0e59aSmrgLT_OPTION_DEFINE([LTDL_INIT], [recursive],
4590ef0e59aSmrg		 [m4_define([_LTDL_MODE], [recursive])])
4600ef0e59aSmrgLT_OPTION_DEFINE([LTDL_INIT], [subproject],
4610ef0e59aSmrg		 [m4_define([_LTDL_MODE], [subproject])])
4620ef0e59aSmrg
4630ef0e59aSmrgm4_define([_LTDL_TYPE], [])
4640ef0e59aSmrgLT_OPTION_DEFINE([LTDL_INIT], [installable],
4650ef0e59aSmrg		 [m4_define([_LTDL_TYPE], [installable])])
4660ef0e59aSmrgLT_OPTION_DEFINE([LTDL_INIT], [convenience],
4670ef0e59aSmrg		 [m4_define([_LTDL_TYPE], [convenience])])
468