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