Blame m4/ltoptions.m4

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