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