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