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