Blame m4/ltoptions.m4

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