Blame m4/ltoptions.m4

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