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