Blame build/ltoptions.m4

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