acinclude/ltoptions.m4
author Sam Lantinga <slouken@libsdl.org>
Mon, 16 Oct 2017 15:22:40 -0700
changeset 11629 ec9b9e71f51b
parent 6442 2d3caa191dc4
permissions -rw-r--r--
Fixed compiler warning on iOS
     1 # Helper functions for option handling.                    -*- Autoconf -*-
     2 #
     3 #   Copyright (C) 2004, 2005, 2007, 2008, 2009 Free Software Foundation,
     4 #   Inc.
     5 #   Written by Gary V. Vaughan, 2004
     6 #
     7 # This file is free software; the Free Software Foundation gives
     8 # unlimited permission to copy and/or distribute it, with or without
     9 # modifications, as long as this notice is preserved.
    10 
    11 # serial 7 ltoptions.m4
    12 
    13 # This is to help aclocal find these macros, as it can't see m4_define.
    14 AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
    15 
    16 
    17 # _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME)
    18 # ------------------------------------------
    19 m4_define([_LT_MANGLE_OPTION],
    20 [[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])])
    21 
    22 
    23 # _LT_SET_OPTION(MACRO-NAME, OPTION-NAME)
    24 # ---------------------------------------
    25 # Set option OPTION-NAME for macro MACRO-NAME, and if there is a
    26 # matching handler defined, dispatch to it.  Other OPTION-NAMEs are
    27 # saved as a flag.
    28 m4_define([_LT_SET_OPTION],
    29 [m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
    30 m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
    31         _LT_MANGLE_DEFUN([$1], [$2]),
    32     [m4_warning([Unknown $1 option `$2'])])[]dnl
    33 ])
    34 
    35 
    36 # _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET])
    37 # ------------------------------------------------------------
    38 # Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
    39 m4_define([_LT_IF_OPTION],
    40 [m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])])
    41 
    42 
    43 # _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET)
    44 # -------------------------------------------------------
    45 # Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME
    46 # are set.
    47 m4_define([_LT_UNLESS_OPTIONS],
    48 [m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
    49 	    [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option),
    50 		      [m4_define([$0_found])])])[]dnl
    51 m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3
    52 ])[]dnl
    53 ])
    54 
    55 
    56 # _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST)
    57 # ----------------------------------------
    58 # OPTION-LIST is a space-separated list of Libtool options associated
    59 # with MACRO-NAME.  If any OPTION has a matching handler declared with
    60 # LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about
    61 # the unknown option and exit.
    62 m4_defun([_LT_SET_OPTIONS],
    63 [# Set options
    64 m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
    65     [_LT_SET_OPTION([$1], _LT_Option)])
    66 
    67 m4_if([$1],[LT_INIT],[
    68   dnl
    69   dnl Simply set some default values (i.e off) if boolean options were not
    70   dnl specified:
    71   _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no
    72   ])
    73   _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no
    74   ])
    75   dnl
    76   dnl If no reference was made to various pairs of opposing options, then
    77   dnl we run the default mode handler for the pair.  For example, if neither
    78   dnl `shared' nor `disable-shared' was passed, we enable building of shared
    79   dnl archives by default:
    80   _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
    81   _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
    82   _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
    83   _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
    84   		   [_LT_ENABLE_FAST_INSTALL])
    85   ])
    86 ])# _LT_SET_OPTIONS
    87 
    88 
    89 ## --------------------------------- ##
    90 ## Macros to handle LT_INIT options. ##
    91 ## --------------------------------- ##
    92 
    93 # _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
    94 # -----------------------------------------
    95 m4_define([_LT_MANGLE_DEFUN],
    96 [[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])])
    97 
    98 
    99 # LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
   100 # -----------------------------------------------
   101 m4_define([LT_OPTION_DEFINE],
   102 [m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl
   103 ])# LT_OPTION_DEFINE
   104 
   105 
   106 # dlopen
   107 # ------
   108 LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes
   109 ])
   110 
   111 AU_DEFUN([AC_LIBTOOL_DLOPEN],
   112 [_LT_SET_OPTION([LT_INIT], [dlopen])
   113 AC_DIAGNOSE([obsolete],
   114 [$0: Remove this warning and the call to _LT_SET_OPTION when you
   115 put the `dlopen' option into LT_INIT's first parameter.])
   116 ])
   117 
   118 dnl aclocal-1.4 backwards compatibility:
   119 dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], [])
   120 
   121 
   122 # win32-dll
   123 # ---------
   124 # Declare package support for building win32 dll's.
   125 LT_OPTION_DEFINE([LT_INIT], [win32-dll],
   126 [enable_win32_dll=yes
   127 
   128 case $host in
   129 *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*)
   130   AC_CHECK_TOOL(AS, as, false)
   131   AC_CHECK_TOOL(DLLTOOL, dlltool, false)
   132   AC_CHECK_TOOL(OBJDUMP, objdump, false)
   133   ;;
   134 esac
   135 
   136 test -z "$AS" && AS=as
   137 _LT_DECL([], [AS],      [1], [Assembler program])dnl
   138 
   139 test -z "$DLLTOOL" && DLLTOOL=dlltool
   140 _LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl
   141 
   142 test -z "$OBJDUMP" && OBJDUMP=objdump
   143 _LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl
   144 ])# win32-dll
   145 
   146 AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
   147 [AC_REQUIRE([AC_CANONICAL_HOST])dnl
   148 _LT_SET_OPTION([LT_INIT], [win32-dll])
   149 AC_DIAGNOSE([obsolete],
   150 [$0: Remove this warning and the call to _LT_SET_OPTION when you
   151 put the `win32-dll' option into LT_INIT's first parameter.])
   152 ])
   153 
   154 dnl aclocal-1.4 backwards compatibility:
   155 dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
   156 
   157 
   158 # _LT_ENABLE_SHARED([DEFAULT])
   159 # ----------------------------
   160 # implement the --enable-shared flag, and supports the `shared' and
   161 # `disable-shared' LT_INIT options.
   162 # DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
   163 m4_define([_LT_ENABLE_SHARED],
   164 [m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
   165 AC_ARG_ENABLE([shared],
   166     [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
   167 	[build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])],
   168     [p=${PACKAGE-default}
   169     case $enableval in
   170     yes) enable_shared=yes ;;
   171     no) enable_shared=no ;;
   172     *)
   173       enable_shared=no
   174       # Look at the argument we got.  We use all the common list separators.
   175       lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
   176       for pkg in $enableval; do
   177 	IFS="$lt_save_ifs"
   178 	if test "X$pkg" = "X$p"; then
   179 	  enable_shared=yes
   180 	fi
   181       done
   182       IFS="$lt_save_ifs"
   183       ;;
   184     esac],
   185     [enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
   186 
   187     _LT_DECL([build_libtool_libs], [enable_shared], [0],
   188 	[Whether or not to build shared libraries])
   189 ])# _LT_ENABLE_SHARED
   190 
   191 LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])])
   192 LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])])
   193 
   194 # Old names:
   195 AC_DEFUN([AC_ENABLE_SHARED],
   196 [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
   197 ])
   198 
   199 AC_DEFUN([AC_DISABLE_SHARED],
   200 [_LT_SET_OPTION([LT_INIT], [disable-shared])
   201 ])
   202 
   203 AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
   204 AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
   205 
   206 dnl aclocal-1.4 backwards compatibility:
   207 dnl AC_DEFUN([AM_ENABLE_SHARED], [])
   208 dnl AC_DEFUN([AM_DISABLE_SHARED], [])
   209 
   210 
   211 
   212 # _LT_ENABLE_STATIC([DEFAULT])
   213 # ----------------------------
   214 # implement the --enable-static flag, and support the `static' and
   215 # `disable-static' LT_INIT options.
   216 # DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
   217 m4_define([_LT_ENABLE_STATIC],
   218 [m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
   219 AC_ARG_ENABLE([static],
   220     [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@],
   221 	[build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])],
   222     [p=${PACKAGE-default}
   223     case $enableval in
   224     yes) enable_static=yes ;;
   225     no) enable_static=no ;;
   226     *)
   227      enable_static=no
   228       # Look at the argument we got.  We use all the common list separators.
   229       lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
   230       for pkg in $enableval; do
   231 	IFS="$lt_save_ifs"
   232 	if test "X$pkg" = "X$p"; then
   233 	  enable_static=yes
   234 	fi
   235       done
   236       IFS="$lt_save_ifs"
   237       ;;
   238     esac],
   239     [enable_static=]_LT_ENABLE_STATIC_DEFAULT)
   240 
   241     _LT_DECL([build_old_libs], [enable_static], [0],
   242 	[Whether or not to build static libraries])
   243 ])# _LT_ENABLE_STATIC
   244 
   245 LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])])
   246 LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])])
   247 
   248 # Old names:
   249 AC_DEFUN([AC_ENABLE_STATIC],
   250 [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
   251 ])
   252 
   253 AC_DEFUN([AC_DISABLE_STATIC],
   254 [_LT_SET_OPTION([LT_INIT], [disable-static])
   255 ])
   256 
   257 AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
   258 AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
   259 
   260 dnl aclocal-1.4 backwards compatibility:
   261 dnl AC_DEFUN([AM_ENABLE_STATIC], [])
   262 dnl AC_DEFUN([AM_DISABLE_STATIC], [])
   263 
   264 
   265 
   266 # _LT_ENABLE_FAST_INSTALL([DEFAULT])
   267 # ----------------------------------
   268 # implement the --enable-fast-install flag, and support the `fast-install'
   269 # and `disable-fast-install' LT_INIT options.
   270 # DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
   271 m4_define([_LT_ENABLE_FAST_INSTALL],
   272 [m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
   273 AC_ARG_ENABLE([fast-install],
   274     [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
   275     [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
   276     [p=${PACKAGE-default}
   277     case $enableval in
   278     yes) enable_fast_install=yes ;;
   279     no) enable_fast_install=no ;;
   280     *)
   281       enable_fast_install=no
   282       # Look at the argument we got.  We use all the common list separators.
   283       lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
   284       for pkg in $enableval; do
   285 	IFS="$lt_save_ifs"
   286 	if test "X$pkg" = "X$p"; then
   287 	  enable_fast_install=yes
   288 	fi
   289       done
   290       IFS="$lt_save_ifs"
   291       ;;
   292     esac],
   293     [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
   294 
   295 _LT_DECL([fast_install], [enable_fast_install], [0],
   296 	 [Whether or not to optimize for fast installation])dnl
   297 ])# _LT_ENABLE_FAST_INSTALL
   298 
   299 LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])])
   300 LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])])
   301 
   302 # Old names:
   303 AU_DEFUN([AC_ENABLE_FAST_INSTALL],
   304 [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
   305 AC_DIAGNOSE([obsolete],
   306 [$0: Remove this warning and the call to _LT_SET_OPTION when you put
   307 the `fast-install' option into LT_INIT's first parameter.])
   308 ])
   309 
   310 AU_DEFUN([AC_DISABLE_FAST_INSTALL],
   311 [_LT_SET_OPTION([LT_INIT], [disable-fast-install])
   312 AC_DIAGNOSE([obsolete],
   313 [$0: Remove this warning and the call to _LT_SET_OPTION when you put
   314 the `disable-fast-install' option into LT_INIT's first parameter.])
   315 ])
   316 
   317 dnl aclocal-1.4 backwards compatibility:
   318 dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
   319 dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
   320 
   321 
   322 # _LT_WITH_PIC([MODE])
   323 # --------------------
   324 # implement the --with-pic flag, and support the `pic-only' and `no-pic'
   325 # LT_INIT options.
   326 # MODE is either `yes' or `no'.  If omitted, it defaults to `both'.
   327 m4_define([_LT_WITH_PIC],
   328 [AC_ARG_WITH([pic],
   329     [AS_HELP_STRING([--with-pic@<:@=PKGS@:>@],
   330 	[try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
   331     [lt_p=${PACKAGE-default}
   332     case $withval in
   333     yes|no) pic_mode=$withval ;;
   334     *)
   335       pic_mode=default
   336       # Look at the argument we got.  We use all the common list separators.
   337       lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
   338       for lt_pkg in $withval; do
   339 	IFS="$lt_save_ifs"
   340 	if test "X$lt_pkg" = "X$lt_p"; then
   341 	  pic_mode=yes
   342 	fi
   343       done
   344       IFS="$lt_save_ifs"
   345       ;;
   346     esac],
   347     [pic_mode=default])
   348 
   349 test -z "$pic_mode" && pic_mode=m4_default([$1], [default])
   350 
   351 _LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
   352 ])# _LT_WITH_PIC
   353 
   354 LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])])
   355 LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])])
   356 
   357 # Old name:
   358 AU_DEFUN([AC_LIBTOOL_PICMODE],
   359 [_LT_SET_OPTION([LT_INIT], [pic-only])
   360 AC_DIAGNOSE([obsolete],
   361 [$0: Remove this warning and the call to _LT_SET_OPTION when you
   362 put the `pic-only' option into LT_INIT's first parameter.])
   363 ])
   364 
   365 dnl aclocal-1.4 backwards compatibility:
   366 dnl AC_DEFUN([AC_LIBTOOL_PICMODE], [])
   367 
   368 ## ----------------- ##
   369 ## LTDL_INIT Options ##
   370 ## ----------------- ##
   371 
   372 m4_define([_LTDL_MODE], [])
   373 LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive],
   374 		 [m4_define([_LTDL_MODE], [nonrecursive])])
   375 LT_OPTION_DEFINE([LTDL_INIT], [recursive],
   376 		 [m4_define([_LTDL_MODE], [recursive])])
   377 LT_OPTION_DEFINE([LTDL_INIT], [subproject],
   378 		 [m4_define([_LTDL_MODE], [subproject])])
   379 
   380 m4_define([_LTDL_TYPE], [])
   381 LT_OPTION_DEFINE([LTDL_INIT], [installable],
   382 		 [m4_define([_LTDL_TYPE], [installable])])
   383 LT_OPTION_DEFINE([LTDL_INIT], [convenience],
   384 		 [m4_define([_LTDL_TYPE], [convenience])])