Blame m4/ltoptions.m4

Packit b040ce
# Helper functions for option handling.                    -*- Autoconf -*-
Packit b040ce
#
Packit b040ce
#   Copyright (C) 2004, 2005, 2007, 2008, 2009 Free Software Foundation,
Packit b040ce
#   Inc.
Packit b040ce
#   Written by Gary V. Vaughan, 2004
Packit b040ce
#
Packit b040ce
# This file is free software; the Free Software Foundation gives
Packit b040ce
# unlimited permission to copy and/or distribute it, with or without
Packit b040ce
# modifications, as long as this notice is preserved.
Packit b040ce
Packit b040ce
# serial 7 ltoptions.m4
Packit b040ce
Packit b040ce
# This is to help aclocal find these macros, as it can't see m4_define.
Packit b040ce
AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
Packit b040ce
Packit b040ce
Packit b040ce
# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME)
Packit b040ce
# ------------------------------------------
Packit b040ce
m4_define([_LT_MANGLE_OPTION],
Packit b040ce
[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])])
Packit b040ce
Packit b040ce
Packit b040ce
# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME)
Packit b040ce
# ---------------------------------------
Packit b040ce
# Set option OPTION-NAME for macro MACRO-NAME, and if there is a
Packit b040ce
# matching handler defined, dispatch to it.  Other OPTION-NAMEs are
Packit b040ce
# saved as a flag.
Packit b040ce
m4_define([_LT_SET_OPTION],
Packit b040ce
[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
Packit b040ce
m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
Packit b040ce
        _LT_MANGLE_DEFUN([$1], [$2]),
Packit b040ce
    [m4_warning([Unknown $1 option `$2'])])[]dnl
Packit b040ce
])
Packit b040ce
Packit b040ce
Packit b040ce
# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET])
Packit b040ce
# ------------------------------------------------------------
Packit b040ce
# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
Packit b040ce
m4_define([_LT_IF_OPTION],
Packit b040ce
[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])])
Packit b040ce
Packit b040ce
Packit b040ce
# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET)
Packit b040ce
# -------------------------------------------------------
Packit b040ce
# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME
Packit b040ce
# are set.
Packit b040ce
m4_define([_LT_UNLESS_OPTIONS],
Packit b040ce
[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
Packit b040ce
	    [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option),
Packit b040ce
		      [m4_define([$0_found])])])[]dnl
Packit b040ce
m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3
Packit b040ce
])[]dnl
Packit b040ce
])
Packit b040ce
Packit b040ce
Packit b040ce
# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST)
Packit b040ce
# ----------------------------------------
Packit b040ce
# OPTION-LIST is a space-separated list of Libtool options associated
Packit b040ce
# with MACRO-NAME.  If any OPTION has a matching handler declared with
Packit b040ce
# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about
Packit b040ce
# the unknown option and exit.
Packit b040ce
m4_defun([_LT_SET_OPTIONS],
Packit b040ce
[# Set options
Packit b040ce
m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
Packit b040ce
    [_LT_SET_OPTION([$1], _LT_Option)])
Packit b040ce
Packit b040ce
m4_if([$1],[LT_INIT],[
Packit b040ce
  dnl
Packit b040ce
  dnl Simply set some default values (i.e off) if boolean options were not
Packit b040ce
  dnl specified:
Packit b040ce
  _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no
Packit b040ce
  ])
Packit b040ce
  _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no
Packit b040ce
  ])
Packit b040ce
  dnl
Packit b040ce
  dnl If no reference was made to various pairs of opposing options, then
Packit b040ce
  dnl we run the default mode handler for the pair.  For example, if neither
Packit b040ce
  dnl `shared' nor `disable-shared' was passed, we enable building of shared
Packit b040ce
  dnl archives by default:
Packit b040ce
  _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
Packit b040ce
  _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
Packit b040ce
  _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
Packit b040ce
  _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
Packit b040ce
  		   [_LT_ENABLE_FAST_INSTALL])
Packit b040ce
  ])
Packit b040ce
])# _LT_SET_OPTIONS
Packit b040ce
Packit b040ce
Packit b040ce
## --------------------------------- ##
Packit b040ce
## Macros to handle LT_INIT options. ##
Packit b040ce
## --------------------------------- ##
Packit b040ce
Packit b040ce
# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
Packit b040ce
# -----------------------------------------
Packit b040ce
m4_define([_LT_MANGLE_DEFUN],
Packit b040ce
[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])])
Packit b040ce
Packit b040ce
Packit b040ce
# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
Packit b040ce
# -----------------------------------------------
Packit b040ce
m4_define([LT_OPTION_DEFINE],
Packit b040ce
[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl
Packit b040ce
])# LT_OPTION_DEFINE
Packit b040ce
Packit b040ce
Packit b040ce
# dlopen
Packit b040ce
# ------
Packit b040ce
LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes
Packit b040ce
])
Packit b040ce
Packit b040ce
AU_DEFUN([AC_LIBTOOL_DLOPEN],
Packit b040ce
[_LT_SET_OPTION([LT_INIT], [dlopen])
Packit b040ce
AC_DIAGNOSE([obsolete],
Packit b040ce
[$0: Remove this warning and the call to _LT_SET_OPTION when you
Packit b040ce
put the `dlopen' option into LT_INIT's first parameter.])
Packit b040ce
])
Packit b040ce
Packit b040ce
dnl aclocal-1.4 backwards compatibility:
Packit b040ce
dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], [])
Packit b040ce
Packit b040ce
Packit b040ce
# win32-dll
Packit b040ce
# ---------
Packit b040ce
# Declare package support for building win32 dll's.
Packit b040ce
LT_OPTION_DEFINE([LT_INIT], [win32-dll],
Packit b040ce
[enable_win32_dll=yes
Packit b040ce
Packit b040ce
case $host in
Packit b040ce
*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*)
Packit b040ce
  AC_CHECK_TOOL(AS, as, false)
Packit b040ce
  AC_CHECK_TOOL(DLLTOOL, dlltool, false)
Packit b040ce
  AC_CHECK_TOOL(OBJDUMP, objdump, false)
Packit b040ce
  ;;
Packit b040ce
esac
Packit b040ce
Packit b040ce
test -z "$AS" && AS=as
Packit b040ce
_LT_DECL([], [AS],      [1], [Assembler program])dnl
Packit b040ce
Packit b040ce
test -z "$DLLTOOL" && DLLTOOL=dlltool
Packit b040ce
_LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl
Packit b040ce
Packit b040ce
test -z "$OBJDUMP" && OBJDUMP=objdump
Packit b040ce
_LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl
Packit b040ce
])# win32-dll
Packit b040ce
Packit b040ce
AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
Packit b040ce
[AC_REQUIRE([AC_CANONICAL_HOST])dnl
Packit b040ce
_LT_SET_OPTION([LT_INIT], [win32-dll])
Packit b040ce
AC_DIAGNOSE([obsolete],
Packit b040ce
[$0: Remove this warning and the call to _LT_SET_OPTION when you
Packit b040ce
put the `win32-dll' option into LT_INIT's first parameter.])
Packit b040ce
])
Packit b040ce
Packit b040ce
dnl aclocal-1.4 backwards compatibility:
Packit b040ce
dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
Packit b040ce
Packit b040ce
Packit b040ce
# _LT_ENABLE_SHARED([DEFAULT])
Packit b040ce
# ----------------------------
Packit b040ce
# implement the --enable-shared flag, and supports the `shared' and
Packit b040ce
# `disable-shared' LT_INIT options.
Packit b040ce
# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
Packit b040ce
m4_define([_LT_ENABLE_SHARED],
Packit b040ce
[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
Packit b040ce
AC_ARG_ENABLE([shared],
Packit b040ce
    [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
Packit b040ce
	[build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])],
Packit b040ce
    [p=${PACKAGE-default}
Packit b040ce
    case $enableval in
Packit b040ce
    yes) enable_shared=yes ;;
Packit b040ce
    no) enable_shared=no ;;
Packit b040ce
    *)
Packit b040ce
      enable_shared=no
Packit b040ce
      # Look at the argument we got.  We use all the common list separators.
Packit b040ce
      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
Packit b040ce
      for pkg in $enableval; do
Packit b040ce
	IFS="$lt_save_ifs"
Packit b040ce
	if test "X$pkg" = "X$p"; then
Packit b040ce
	  enable_shared=yes
Packit b040ce
	fi
Packit b040ce
      done
Packit b040ce
      IFS="$lt_save_ifs"
Packit b040ce
      ;;
Packit b040ce
    esac],
Packit b040ce
    [enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
Packit b040ce
Packit b040ce
    _LT_DECL([build_libtool_libs], [enable_shared], [0],
Packit b040ce
	[Whether or not to build shared libraries])
Packit b040ce
])# _LT_ENABLE_SHARED
Packit b040ce
Packit b040ce
LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])])
Packit b040ce
LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])])
Packit b040ce
Packit b040ce
# Old names:
Packit b040ce
AC_DEFUN([AC_ENABLE_SHARED],
Packit b040ce
[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
Packit b040ce
])
Packit b040ce
Packit b040ce
AC_DEFUN([AC_DISABLE_SHARED],
Packit b040ce
[_LT_SET_OPTION([LT_INIT], [disable-shared])
Packit b040ce
])
Packit b040ce
Packit b040ce
AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
Packit b040ce
AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
Packit b040ce
Packit b040ce
dnl aclocal-1.4 backwards compatibility:
Packit b040ce
dnl AC_DEFUN([AM_ENABLE_SHARED], [])
Packit b040ce
dnl AC_DEFUN([AM_DISABLE_SHARED], [])
Packit b040ce
Packit b040ce
Packit b040ce
Packit b040ce
# _LT_ENABLE_STATIC([DEFAULT])
Packit b040ce
# ----------------------------
Packit b040ce
# implement the --enable-static flag, and support the `static' and
Packit b040ce
# `disable-static' LT_INIT options.
Packit b040ce
# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
Packit b040ce
m4_define([_LT_ENABLE_STATIC],
Packit b040ce
[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
Packit b040ce
AC_ARG_ENABLE([static],
Packit b040ce
    [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@],
Packit b040ce
	[build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])],
Packit b040ce
    [p=${PACKAGE-default}
Packit b040ce
    case $enableval in
Packit b040ce
    yes) enable_static=yes ;;
Packit b040ce
    no) enable_static=no ;;
Packit b040ce
    *)
Packit b040ce
     enable_static=no
Packit b040ce
      # Look at the argument we got.  We use all the common list separators.
Packit b040ce
      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
Packit b040ce
      for pkg in $enableval; do
Packit b040ce
	IFS="$lt_save_ifs"
Packit b040ce
	if test "X$pkg" = "X$p"; then
Packit b040ce
	  enable_static=yes
Packit b040ce
	fi
Packit b040ce
      done
Packit b040ce
      IFS="$lt_save_ifs"
Packit b040ce
      ;;
Packit b040ce
    esac],
Packit b040ce
    [enable_static=]_LT_ENABLE_STATIC_DEFAULT)
Packit b040ce
Packit b040ce
    _LT_DECL([build_old_libs], [enable_static], [0],
Packit b040ce
	[Whether or not to build static libraries])
Packit b040ce
])# _LT_ENABLE_STATIC
Packit b040ce
Packit b040ce
LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])])
Packit b040ce
LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])])
Packit b040ce
Packit b040ce
# Old names:
Packit b040ce
AC_DEFUN([AC_ENABLE_STATIC],
Packit b040ce
[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
Packit b040ce
])
Packit b040ce
Packit b040ce
AC_DEFUN([AC_DISABLE_STATIC],
Packit b040ce
[_LT_SET_OPTION([LT_INIT], [disable-static])
Packit b040ce
])
Packit b040ce
Packit b040ce
AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
Packit b040ce
AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
Packit b040ce
Packit b040ce
dnl aclocal-1.4 backwards compatibility:
Packit b040ce
dnl AC_DEFUN([AM_ENABLE_STATIC], [])
Packit b040ce
dnl AC_DEFUN([AM_DISABLE_STATIC], [])
Packit b040ce
Packit b040ce
Packit b040ce
Packit b040ce
# _LT_ENABLE_FAST_INSTALL([DEFAULT])
Packit b040ce
# ----------------------------------
Packit b040ce
# implement the --enable-fast-install flag, and support the `fast-install'
Packit b040ce
# and `disable-fast-install' LT_INIT options.
Packit b040ce
# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
Packit b040ce
m4_define([_LT_ENABLE_FAST_INSTALL],
Packit b040ce
[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
Packit b040ce
AC_ARG_ENABLE([fast-install],
Packit b040ce
    [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
Packit b040ce
    [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
Packit b040ce
    [p=${PACKAGE-default}
Packit b040ce
    case $enableval in
Packit b040ce
    yes) enable_fast_install=yes ;;
Packit b040ce
    no) enable_fast_install=no ;;
Packit b040ce
    *)
Packit b040ce
      enable_fast_install=no
Packit b040ce
      # Look at the argument we got.  We use all the common list separators.
Packit b040ce
      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
Packit b040ce
      for pkg in $enableval; do
Packit b040ce
	IFS="$lt_save_ifs"
Packit b040ce
	if test "X$pkg" = "X$p"; then
Packit b040ce
	  enable_fast_install=yes
Packit b040ce
	fi
Packit b040ce
      done
Packit b040ce
      IFS="$lt_save_ifs"
Packit b040ce
      ;;
Packit b040ce
    esac],
Packit b040ce
    [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
Packit b040ce
Packit b040ce
_LT_DECL([fast_install], [enable_fast_install], [0],
Packit b040ce
	 [Whether or not to optimize for fast installation])dnl
Packit b040ce
])# _LT_ENABLE_FAST_INSTALL
Packit b040ce
Packit b040ce
LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])])
Packit b040ce
LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])])
Packit b040ce
Packit b040ce
# Old names:
Packit b040ce
AU_DEFUN([AC_ENABLE_FAST_INSTALL],
Packit b040ce
[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
Packit b040ce
AC_DIAGNOSE([obsolete],
Packit b040ce
[$0: Remove this warning and the call to _LT_SET_OPTION when you put
Packit b040ce
the `fast-install' option into LT_INIT's first parameter.])
Packit b040ce
])
Packit b040ce
Packit b040ce
AU_DEFUN([AC_DISABLE_FAST_INSTALL],
Packit b040ce
[_LT_SET_OPTION([LT_INIT], [disable-fast-install])
Packit b040ce
AC_DIAGNOSE([obsolete],
Packit b040ce
[$0: Remove this warning and the call to _LT_SET_OPTION when you put
Packit b040ce
the `disable-fast-install' option into LT_INIT's first parameter.])
Packit b040ce
])
Packit b040ce
Packit b040ce
dnl aclocal-1.4 backwards compatibility:
Packit b040ce
dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
Packit b040ce
dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
Packit b040ce
Packit b040ce
Packit b040ce
# _LT_WITH_PIC([MODE])
Packit b040ce
# --------------------
Packit b040ce
# implement the --with-pic flag, and support the `pic-only' and `no-pic'
Packit b040ce
# LT_INIT options.
Packit b040ce
# MODE is either `yes' or `no'.  If omitted, it defaults to `both'.
Packit b040ce
m4_define([_LT_WITH_PIC],
Packit b040ce
[AC_ARG_WITH([pic],
Packit b040ce
    [AS_HELP_STRING([--with-pic@<:@=PKGS@:>@],
Packit b040ce
	[try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
Packit b040ce
    [lt_p=${PACKAGE-default}
Packit b040ce
    case $withval in
Packit b040ce
    yes|no) pic_mode=$withval ;;
Packit b040ce
    *)
Packit b040ce
      pic_mode=default
Packit b040ce
      # Look at the argument we got.  We use all the common list separators.
Packit b040ce
      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
Packit b040ce
      for lt_pkg in $withval; do
Packit b040ce
	IFS="$lt_save_ifs"
Packit b040ce
	if test "X$lt_pkg" = "X$lt_p"; then
Packit b040ce
	  pic_mode=yes
Packit b040ce
	fi
Packit b040ce
      done
Packit b040ce
      IFS="$lt_save_ifs"
Packit b040ce
      ;;
Packit b040ce
    esac],
Packit b040ce
    [pic_mode=default])
Packit b040ce
Packit b040ce
test -z "$pic_mode" && pic_mode=m4_default([$1], [default])
Packit b040ce
Packit b040ce
_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
Packit b040ce
])# _LT_WITH_PIC
Packit b040ce
Packit b040ce
LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])])
Packit b040ce
LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])])
Packit b040ce
Packit b040ce
# Old name:
Packit b040ce
AU_DEFUN([AC_LIBTOOL_PICMODE],
Packit b040ce
[_LT_SET_OPTION([LT_INIT], [pic-only])
Packit b040ce
AC_DIAGNOSE([obsolete],
Packit b040ce
[$0: Remove this warning and the call to _LT_SET_OPTION when you
Packit b040ce
put the `pic-only' option into LT_INIT's first parameter.])
Packit b040ce
])
Packit b040ce
Packit b040ce
dnl aclocal-1.4 backwards compatibility:
Packit b040ce
dnl AC_DEFUN([AC_LIBTOOL_PICMODE], [])
Packit b040ce
Packit b040ce
## ----------------- ##
Packit b040ce
## LTDL_INIT Options ##
Packit b040ce
## ----------------- ##
Packit b040ce
Packit b040ce
m4_define([_LTDL_MODE], [])
Packit b040ce
LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive],
Packit b040ce
		 [m4_define([_LTDL_MODE], [nonrecursive])])
Packit b040ce
LT_OPTION_DEFINE([LTDL_INIT], [recursive],
Packit b040ce
		 [m4_define([_LTDL_MODE], [recursive])])
Packit b040ce
LT_OPTION_DEFINE([LTDL_INIT], [subproject],
Packit b040ce
		 [m4_define([_LTDL_MODE], [subproject])])
Packit b040ce
Packit b040ce
m4_define([_LTDL_TYPE], [])
Packit b040ce
LT_OPTION_DEFINE([LTDL_INIT], [installable],
Packit b040ce
		 [m4_define([_LTDL_TYPE], [installable])])
Packit b040ce
LT_OPTION_DEFINE([LTDL_INIT], [convenience],
Packit b040ce
		 [m4_define([_LTDL_TYPE], [convenience])])