Blame glib/m4macros/ltoptions.m4

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