Blame m4/ltoptions.m4

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