Blame m4/ltoptions.m4

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