xcrypt 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (199) hide show
  1. checksums.yaml +7 -0
  2. data/Rakefile +106 -0
  3. data/ext/libxcrypt/AUTHORS +38 -0
  4. data/ext/libxcrypt/COPYING.LIB +502 -0
  5. data/ext/libxcrypt/ChangeLog +239 -0
  6. data/ext/libxcrypt/INSTALL +380 -0
  7. data/ext/libxcrypt/LICENSING +152 -0
  8. data/ext/libxcrypt/Makefile.am +704 -0
  9. data/ext/libxcrypt/Makefile.in +4110 -0
  10. data/ext/libxcrypt/NEWS +630 -0
  11. data/ext/libxcrypt/README +1 -0
  12. data/ext/libxcrypt/README.md +179 -0
  13. data/ext/libxcrypt/THANKS +13 -0
  14. data/ext/libxcrypt/TODO +1 -0
  15. data/ext/libxcrypt/TODO.md +100 -0
  16. data/ext/libxcrypt/aclocal.m4 +2617 -0
  17. data/ext/libxcrypt/autogen.sh +33 -0
  18. data/ext/libxcrypt/autom4te.cache/output.0 +19884 -0
  19. data/ext/libxcrypt/autom4te.cache/output.1 +19884 -0
  20. data/ext/libxcrypt/autom4te.cache/output.2 +19884 -0
  21. data/ext/libxcrypt/autom4te.cache/output.3 +19885 -0
  22. data/ext/libxcrypt/autom4te.cache/requests +714 -0
  23. data/ext/libxcrypt/autom4te.cache/traces.0 +4088 -0
  24. data/ext/libxcrypt/autom4te.cache/traces.1 +1060 -0
  25. data/ext/libxcrypt/autom4te.cache/traces.2 +4088 -0
  26. data/ext/libxcrypt/autom4te.cache/traces.3 +1060 -0
  27. data/ext/libxcrypt/build-aux/ci/ci-log-dependency-versions +79 -0
  28. data/ext/libxcrypt/build-aux/ci/ci-log-logfiles +22 -0
  29. data/ext/libxcrypt/build-aux/ci/clang-gcov-wrapper +2 -0
  30. data/ext/libxcrypt/build-aux/ci/configure-wrapper +10 -0
  31. data/ext/libxcrypt/build-aux/ci/summarize-coverage +24 -0
  32. data/ext/libxcrypt/build-aux/m4/ax_append_compile_flags.m4 +46 -0
  33. data/ext/libxcrypt/build-aux/m4/ax_append_flag.m4 +50 -0
  34. data/ext/libxcrypt/build-aux/m4/ax_check_compile_flag.m4 +53 -0
  35. data/ext/libxcrypt/build-aux/m4/ax_check_vscript.m4 +142 -0
  36. data/ext/libxcrypt/build-aux/m4/ax_gcc_func_attribute.m4 +246 -0
  37. data/ext/libxcrypt/build-aux/m4/ax_require_defined.m4 +37 -0
  38. data/ext/libxcrypt/build-aux/m4/ax_valgrind_check.m4 +239 -0
  39. data/ext/libxcrypt/build-aux/m4/libtool.m4 +8488 -0
  40. data/ext/libxcrypt/build-aux/m4/ltoptions.m4 +467 -0
  41. data/ext/libxcrypt/build-aux/m4/ltsugar.m4 +124 -0
  42. data/ext/libxcrypt/build-aux/m4/ltversion.m4 +24 -0
  43. data/ext/libxcrypt/build-aux/m4/lt~obsolete.m4 +99 -0
  44. data/ext/libxcrypt/build-aux/m4/pkg_compat.m4 +88 -0
  45. data/ext/libxcrypt/build-aux/m4/zw_alignment.m4 +90 -0
  46. data/ext/libxcrypt/build-aux/m4/zw_automodern.m4 +307 -0
  47. data/ext/libxcrypt/build-aux/m4/zw_detect_asan.m4 +24 -0
  48. data/ext/libxcrypt/build-aux/m4/zw_endianness.m4 +152 -0
  49. data/ext/libxcrypt/build-aux/m4/zw_ld_wrap.m4 +47 -0
  50. data/ext/libxcrypt/build-aux/m4/zw_prog_perl.m4 +40 -0
  51. data/ext/libxcrypt/build-aux/m4/zw_simple_warnings.m4 +150 -0
  52. data/ext/libxcrypt/build-aux/m4/zw_static_assert.m4 +68 -0
  53. data/ext/libxcrypt/build-aux/m4-autogen/compile +364 -0
  54. data/ext/libxcrypt/build-aux/m4-autogen/config.guess +1815 -0
  55. data/ext/libxcrypt/build-aux/m4-autogen/config.sub +2354 -0
  56. data/ext/libxcrypt/build-aux/m4-autogen/depcomp +792 -0
  57. data/ext/libxcrypt/build-aux/m4-autogen/install-sh +541 -0
  58. data/ext/libxcrypt/build-aux/m4-autogen/ltmain.sh +11524 -0
  59. data/ext/libxcrypt/build-aux/m4-autogen/missing +236 -0
  60. data/ext/libxcrypt/build-aux/m4-autogen/test-driver +160 -0
  61. data/ext/libxcrypt/build-aux/scripts/BuildCommon.pm +712 -0
  62. data/ext/libxcrypt/build-aux/scripts/check-perlcritic-config +76 -0
  63. data/ext/libxcrypt/build-aux/scripts/compute-symver-floor +116 -0
  64. data/ext/libxcrypt/build-aux/scripts/expand-selected-hashes +80 -0
  65. data/ext/libxcrypt/build-aux/scripts/gen-crypt-h +131 -0
  66. data/ext/libxcrypt/build-aux/scripts/gen-crypt-hashes-h +141 -0
  67. data/ext/libxcrypt/build-aux/scripts/gen-crypt-symbol-vers-h +150 -0
  68. data/ext/libxcrypt/build-aux/scripts/gen-libcrypt-map +67 -0
  69. data/ext/libxcrypt/build-aux/scripts/move-if-change +84 -0
  70. data/ext/libxcrypt/build-aux/scripts/skip-if-exec-format-error +78 -0
  71. data/ext/libxcrypt/codecov.yml +4 -0
  72. data/ext/libxcrypt/config.h.in +303 -0
  73. data/ext/libxcrypt/configure +19885 -0
  74. data/ext/libxcrypt/configure.ac +549 -0
  75. data/ext/libxcrypt/doc/crypt.3 +512 -0
  76. data/ext/libxcrypt/doc/crypt.5 +343 -0
  77. data/ext/libxcrypt/doc/crypt_checksalt.3 +106 -0
  78. data/ext/libxcrypt/doc/crypt_gensalt.3 +285 -0
  79. data/ext/libxcrypt/doc/crypt_gensalt_ra.3 +1 -0
  80. data/ext/libxcrypt/doc/crypt_gensalt_rn.3 +1 -0
  81. data/ext/libxcrypt/doc/crypt_preferred_method.3 +68 -0
  82. data/ext/libxcrypt/doc/crypt_r.3 +1 -0
  83. data/ext/libxcrypt/doc/crypt_ra.3 +1 -0
  84. data/ext/libxcrypt/doc/crypt_rn.3 +1 -0
  85. data/ext/libxcrypt/lib/alg-des-tables.c +3858 -0
  86. data/ext/libxcrypt/lib/alg-des.c +269 -0
  87. data/ext/libxcrypt/lib/alg-des.h +74 -0
  88. data/ext/libxcrypt/lib/alg-gost3411-2012-const.h +313 -0
  89. data/ext/libxcrypt/lib/alg-gost3411-2012-core.c +238 -0
  90. data/ext/libxcrypt/lib/alg-gost3411-2012-core.h +51 -0
  91. data/ext/libxcrypt/lib/alg-gost3411-2012-hmac.c +78 -0
  92. data/ext/libxcrypt/lib/alg-gost3411-2012-hmac.h +46 -0
  93. data/ext/libxcrypt/lib/alg-gost3411-2012-precalc.h +1426 -0
  94. data/ext/libxcrypt/lib/alg-gost3411-2012-ref.h +67 -0
  95. data/ext/libxcrypt/lib/alg-hmac-sha1.c +140 -0
  96. data/ext/libxcrypt/lib/alg-hmac-sha1.h +35 -0
  97. data/ext/libxcrypt/lib/alg-md4.c +270 -0
  98. data/ext/libxcrypt/lib/alg-md4.h +43 -0
  99. data/ext/libxcrypt/lib/alg-md5.c +291 -0
  100. data/ext/libxcrypt/lib/alg-md5.h +43 -0
  101. data/ext/libxcrypt/lib/alg-sha1.c +288 -0
  102. data/ext/libxcrypt/lib/alg-sha1.h +34 -0
  103. data/ext/libxcrypt/lib/alg-sha256.c +630 -0
  104. data/ext/libxcrypt/lib/alg-sha256.h +123 -0
  105. data/ext/libxcrypt/lib/alg-sha512.c +311 -0
  106. data/ext/libxcrypt/lib/alg-sha512.h +81 -0
  107. data/ext/libxcrypt/lib/alg-sm3-hmac.c +113 -0
  108. data/ext/libxcrypt/lib/alg-sm3-hmac.h +42 -0
  109. data/ext/libxcrypt/lib/alg-sm3.c +449 -0
  110. data/ext/libxcrypt/lib/alg-sm3.h +63 -0
  111. data/ext/libxcrypt/lib/alg-yescrypt-common.c +713 -0
  112. data/ext/libxcrypt/lib/alg-yescrypt-opt.c +1568 -0
  113. data/ext/libxcrypt/lib/alg-yescrypt-platform.c +106 -0
  114. data/ext/libxcrypt/lib/alg-yescrypt.h +360 -0
  115. data/ext/libxcrypt/lib/byteorder.h +164 -0
  116. data/ext/libxcrypt/lib/crypt-bcrypt.c +1061 -0
  117. data/ext/libxcrypt/lib/crypt-des-obsolete.c +215 -0
  118. data/ext/libxcrypt/lib/crypt-des.c +491 -0
  119. data/ext/libxcrypt/lib/crypt-gensalt-static.c +40 -0
  120. data/ext/libxcrypt/lib/crypt-gost-yescrypt.c +182 -0
  121. data/ext/libxcrypt/lib/crypt-md5.c +232 -0
  122. data/ext/libxcrypt/lib/crypt-nthash.c +134 -0
  123. data/ext/libxcrypt/lib/crypt-obsolete.h +40 -0
  124. data/ext/libxcrypt/lib/crypt-pbkdf1-sha1.c +260 -0
  125. data/ext/libxcrypt/lib/crypt-port.h +514 -0
  126. data/ext/libxcrypt/lib/crypt-scrypt.c +247 -0
  127. data/ext/libxcrypt/lib/crypt-sha256.c +308 -0
  128. data/ext/libxcrypt/lib/crypt-sha512.c +323 -0
  129. data/ext/libxcrypt/lib/crypt-sm3-yescrypt.c +189 -0
  130. data/ext/libxcrypt/lib/crypt-sm3.c +308 -0
  131. data/ext/libxcrypt/lib/crypt-static.c +44 -0
  132. data/ext/libxcrypt/lib/crypt-sunmd5.c +314 -0
  133. data/ext/libxcrypt/lib/crypt-yescrypt.c +177 -0
  134. data/ext/libxcrypt/lib/crypt.c +421 -0
  135. data/ext/libxcrypt/lib/crypt.h.in +249 -0
  136. data/ext/libxcrypt/lib/gen-des-tables.c +363 -0
  137. data/ext/libxcrypt/lib/hashes.conf +59 -0
  138. data/ext/libxcrypt/lib/libcrypt.map.in +48 -0
  139. data/ext/libxcrypt/lib/libcrypt.minver +97 -0
  140. data/ext/libxcrypt/lib/libxcrypt.pc.in +15 -0
  141. data/ext/libxcrypt/lib/util-base64.c +26 -0
  142. data/ext/libxcrypt/lib/util-gensalt-sha.c +88 -0
  143. data/ext/libxcrypt/lib/util-get-random-bytes.c +154 -0
  144. data/ext/libxcrypt/lib/util-make-failure-token.c +48 -0
  145. data/ext/libxcrypt/lib/util-xbzero.c +43 -0
  146. data/ext/libxcrypt/lib/util-xstrcpy.c +42 -0
  147. data/ext/libxcrypt/lib/xcrypt.h.in +58 -0
  148. data/ext/libxcrypt/libxcrypt.spec.rpkg +481 -0
  149. data/ext/libxcrypt/rpkg.conf +2 -0
  150. data/ext/libxcrypt/rpkg.macros +86 -0
  151. data/ext/libxcrypt/test/TestCommon.pm +326 -0
  152. data/ext/libxcrypt/test/alg-des.c +80 -0
  153. data/ext/libxcrypt/test/alg-gost3411-2012-hmac.c +90 -0
  154. data/ext/libxcrypt/test/alg-gost3411-2012.c +191 -0
  155. data/ext/libxcrypt/test/alg-hmac-sha1.c +187 -0
  156. data/ext/libxcrypt/test/alg-md4.c +111 -0
  157. data/ext/libxcrypt/test/alg-md5.c +134 -0
  158. data/ext/libxcrypt/test/alg-pbkdf-hmac-sha256.c +269 -0
  159. data/ext/libxcrypt/test/alg-sha1.c +111 -0
  160. data/ext/libxcrypt/test/alg-sha256.c +141 -0
  161. data/ext/libxcrypt/test/alg-sha512.c +170 -0
  162. data/ext/libxcrypt/test/alg-sm3-hmac.c +149 -0
  163. data/ext/libxcrypt/test/alg-sm3.c +168 -0
  164. data/ext/libxcrypt/test/alg-yescrypt.c +466 -0
  165. data/ext/libxcrypt/test/badsalt.c +726 -0
  166. data/ext/libxcrypt/test/badsetting.c +350 -0
  167. data/ext/libxcrypt/test/byteorder.c +254 -0
  168. data/ext/libxcrypt/test/checksalt.c +265 -0
  169. data/ext/libxcrypt/test/compile-strong-alias.c +43 -0
  170. data/ext/libxcrypt/test/crypt-badargs.c +392 -0
  171. data/ext/libxcrypt/test/crypt-gost-yescrypt.c +149 -0
  172. data/ext/libxcrypt/test/crypt-nested-call.c +180 -0
  173. data/ext/libxcrypt/test/crypt-sm3-yescrypt.c +149 -0
  174. data/ext/libxcrypt/test/crypt-too-long-phrase.c +157 -0
  175. data/ext/libxcrypt/test/des-cases.h +196 -0
  176. data/ext/libxcrypt/test/des-obsolete.c +206 -0
  177. data/ext/libxcrypt/test/des-obsolete_r.c +207 -0
  178. data/ext/libxcrypt/test/explicit-bzero.c +334 -0
  179. data/ext/libxcrypt/test/gensalt-bcrypt_x.c +54 -0
  180. data/ext/libxcrypt/test/gensalt-extradata.c +246 -0
  181. data/ext/libxcrypt/test/gensalt-nested-call.c +126 -0
  182. data/ext/libxcrypt/test/gensalt-nthash.c +65 -0
  183. data/ext/libxcrypt/test/gensalt.c +599 -0
  184. data/ext/libxcrypt/test/getrandom-fallbacks.c +295 -0
  185. data/ext/libxcrypt/test/getrandom-interface.c +211 -0
  186. data/ext/libxcrypt/test/ka-table-gen.py +945 -0
  187. data/ext/libxcrypt/test/ka-table.inc +5849 -0
  188. data/ext/libxcrypt/test/ka-tester.c +240 -0
  189. data/ext/libxcrypt/test/preferred-method.c +133 -0
  190. data/ext/libxcrypt/test/short-outbuf.c +119 -0
  191. data/ext/libxcrypt/test/special-char-salt.c +1160 -0
  192. data/ext/libxcrypt/test/symbols-compat.pl +137 -0
  193. data/ext/libxcrypt/test/symbols-renames.pl +107 -0
  194. data/ext/libxcrypt/test/symbols-static.pl +87 -0
  195. data/ext/xcrypt/xcrypt.c +9 -0
  196. data/lib/xcrypt/ffi.rb +76 -0
  197. data/lib/xcrypt/version.rb +5 -0
  198. data/lib/xcrypt.rb +89 -0
  199. metadata +267 -0
@@ -0,0 +1,467 @@
1
+ # Helper functions for option handling. -*- Autoconf -*-
2
+ #
3
+ # Copyright (C) 2004-2005, 2007-2009, 2011-2019, 2021-2024 Free
4
+ # Software Foundation, 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 10 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
+ _LT_UNLESS_OPTIONS([LT_INIT], [aix-soname=aix aix-soname=both aix-soname=svr4],
86
+ [_LT_WITH_AIX_SONAME([aix])])
87
+ ])
88
+ ])# _LT_SET_OPTIONS
89
+
90
+
91
+ ## --------------------------------- ##
92
+ ## Macros to handle LT_INIT options. ##
93
+ ## --------------------------------- ##
94
+
95
+ # _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
96
+ # -----------------------------------------
97
+ m4_define([_LT_MANGLE_DEFUN],
98
+ [[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])])
99
+
100
+
101
+ # LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
102
+ # -----------------------------------------------
103
+ m4_define([LT_OPTION_DEFINE],
104
+ [m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl
105
+ ])# LT_OPTION_DEFINE
106
+
107
+
108
+ # dlopen
109
+ # ------
110
+ LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes
111
+ ])
112
+
113
+ AU_DEFUN([AC_LIBTOOL_DLOPEN],
114
+ [_LT_SET_OPTION([LT_INIT], [dlopen])
115
+ AC_DIAGNOSE([obsolete],
116
+ [$0: Remove this warning and the call to _LT_SET_OPTION when you
117
+ put the 'dlopen' option into LT_INIT's first parameter.])
118
+ ])
119
+
120
+ dnl aclocal-1.4 backwards compatibility:
121
+ dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], [])
122
+
123
+
124
+ # win32-dll
125
+ # ---------
126
+ # Declare package support for building win32 dll's.
127
+ LT_OPTION_DEFINE([LT_INIT], [win32-dll],
128
+ [enable_win32_dll=yes
129
+
130
+ case $host in
131
+ *-*-cygwin* | *-*-mingw* | *-*-windows* | *-*-pw32* | *-*-cegcc*)
132
+ AC_CHECK_TOOL(AS, as, false)
133
+ AC_CHECK_TOOL(DLLTOOL, dlltool, false)
134
+ AC_CHECK_TOOL(OBJDUMP, objdump, false)
135
+ ;;
136
+ esac
137
+
138
+ test -z "$AS" && AS=as
139
+ _LT_DECL([], [AS], [1], [Assembler program])dnl
140
+
141
+ test -z "$DLLTOOL" && DLLTOOL=dlltool
142
+ _LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl
143
+
144
+ test -z "$OBJDUMP" && OBJDUMP=objdump
145
+ _LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl
146
+ ])# win32-dll
147
+
148
+ AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
149
+ [AC_REQUIRE([AC_CANONICAL_HOST])dnl
150
+ _LT_SET_OPTION([LT_INIT], [win32-dll])
151
+ AC_DIAGNOSE([obsolete],
152
+ [$0: Remove this warning and the call to _LT_SET_OPTION when you
153
+ put the 'win32-dll' option into LT_INIT's first parameter.])
154
+ ])
155
+
156
+ dnl aclocal-1.4 backwards compatibility:
157
+ dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
158
+
159
+
160
+ # _LT_ENABLE_SHARED([DEFAULT])
161
+ # ----------------------------
162
+ # implement the --enable-shared flag, and supports the 'shared' and
163
+ # 'disable-shared' LT_INIT options.
164
+ # DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'.
165
+ m4_define([_LT_ENABLE_SHARED],
166
+ [m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
167
+ AC_ARG_ENABLE([shared],
168
+ [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
169
+ [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])],
170
+ [p=${PACKAGE-default}
171
+ case $enableval in
172
+ yes) enable_shared=yes ;;
173
+ no) enable_shared=no ;;
174
+ *)
175
+ enable_shared=no
176
+ # Look at the argument we got. We use all the common list separators.
177
+ lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
178
+ for pkg in $enableval; do
179
+ IFS=$lt_save_ifs
180
+ if test "X$pkg" = "X$p"; then
181
+ enable_shared=yes
182
+ fi
183
+ done
184
+ IFS=$lt_save_ifs
185
+ ;;
186
+ esac],
187
+ [enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
188
+
189
+ _LT_DECL([build_libtool_libs], [enable_shared], [0],
190
+ [Whether or not to build shared libraries])
191
+ ])# _LT_ENABLE_SHARED
192
+
193
+ LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])])
194
+ LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])])
195
+
196
+ # Old names:
197
+ AC_DEFUN([AC_ENABLE_SHARED],
198
+ [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
199
+ ])
200
+
201
+ AC_DEFUN([AC_DISABLE_SHARED],
202
+ [_LT_SET_OPTION([LT_INIT], [disable-shared])
203
+ ])
204
+
205
+ AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
206
+ AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
207
+
208
+ dnl aclocal-1.4 backwards compatibility:
209
+ dnl AC_DEFUN([AM_ENABLE_SHARED], [])
210
+ dnl AC_DEFUN([AM_DISABLE_SHARED], [])
211
+
212
+
213
+
214
+ # _LT_ENABLE_STATIC([DEFAULT])
215
+ # ----------------------------
216
+ # implement the --enable-static flag, and support the 'static' and
217
+ # 'disable-static' LT_INIT options.
218
+ # DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'.
219
+ m4_define([_LT_ENABLE_STATIC],
220
+ [m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
221
+ AC_ARG_ENABLE([static],
222
+ [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@],
223
+ [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])],
224
+ [p=${PACKAGE-default}
225
+ case $enableval in
226
+ yes) enable_static=yes ;;
227
+ no) enable_static=no ;;
228
+ *)
229
+ enable_static=no
230
+ # Look at the argument we got. We use all the common list separators.
231
+ lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
232
+ for pkg in $enableval; do
233
+ IFS=$lt_save_ifs
234
+ if test "X$pkg" = "X$p"; then
235
+ enable_static=yes
236
+ fi
237
+ done
238
+ IFS=$lt_save_ifs
239
+ ;;
240
+ esac],
241
+ [enable_static=]_LT_ENABLE_STATIC_DEFAULT)
242
+
243
+ _LT_DECL([build_old_libs], [enable_static], [0],
244
+ [Whether or not to build static libraries])
245
+ ])# _LT_ENABLE_STATIC
246
+
247
+ LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])])
248
+ LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])])
249
+
250
+ # Old names:
251
+ AC_DEFUN([AC_ENABLE_STATIC],
252
+ [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
253
+ ])
254
+
255
+ AC_DEFUN([AC_DISABLE_STATIC],
256
+ [_LT_SET_OPTION([LT_INIT], [disable-static])
257
+ ])
258
+
259
+ AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
260
+ AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
261
+
262
+ dnl aclocal-1.4 backwards compatibility:
263
+ dnl AC_DEFUN([AM_ENABLE_STATIC], [])
264
+ dnl AC_DEFUN([AM_DISABLE_STATIC], [])
265
+
266
+
267
+
268
+ # _LT_ENABLE_FAST_INSTALL([DEFAULT])
269
+ # ----------------------------------
270
+ # implement the --enable-fast-install flag, and support the 'fast-install'
271
+ # and 'disable-fast-install' LT_INIT options.
272
+ # DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'.
273
+ m4_define([_LT_ENABLE_FAST_INSTALL],
274
+ [m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
275
+ AC_ARG_ENABLE([fast-install],
276
+ [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
277
+ [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
278
+ [p=${PACKAGE-default}
279
+ case $enableval in
280
+ yes) enable_fast_install=yes ;;
281
+ no) enable_fast_install=no ;;
282
+ *)
283
+ enable_fast_install=no
284
+ # Look at the argument we got. We use all the common list separators.
285
+ lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
286
+ for pkg in $enableval; do
287
+ IFS=$lt_save_ifs
288
+ if test "X$pkg" = "X$p"; then
289
+ enable_fast_install=yes
290
+ fi
291
+ done
292
+ IFS=$lt_save_ifs
293
+ ;;
294
+ esac],
295
+ [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
296
+
297
+ _LT_DECL([fast_install], [enable_fast_install], [0],
298
+ [Whether or not to optimize for fast installation])dnl
299
+ ])# _LT_ENABLE_FAST_INSTALL
300
+
301
+ LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])])
302
+ LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])])
303
+
304
+ # Old names:
305
+ AU_DEFUN([AC_ENABLE_FAST_INSTALL],
306
+ [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
307
+ AC_DIAGNOSE([obsolete],
308
+ [$0: Remove this warning and the call to _LT_SET_OPTION when you put
309
+ the 'fast-install' option into LT_INIT's first parameter.])
310
+ ])
311
+
312
+ AU_DEFUN([AC_DISABLE_FAST_INSTALL],
313
+ [_LT_SET_OPTION([LT_INIT], [disable-fast-install])
314
+ AC_DIAGNOSE([obsolete],
315
+ [$0: Remove this warning and the call to _LT_SET_OPTION when you put
316
+ the 'disable-fast-install' option into LT_INIT's first parameter.])
317
+ ])
318
+
319
+ dnl aclocal-1.4 backwards compatibility:
320
+ dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
321
+ dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
322
+
323
+
324
+ # _LT_WITH_AIX_SONAME([DEFAULT])
325
+ # ----------------------------------
326
+ # implement the --enable-aix-soname configure option, and support the
327
+ # `aix-soname=aix' and `aix-soname=both' and `aix-soname=svr4' LT_INIT options.
328
+ # DEFAULT is either `aix', `both', or `svr4'. If omitted, it defaults to `aix'.
329
+ m4_define([_LT_WITH_AIX_SONAME],
330
+ [m4_define([_LT_WITH_AIX_SONAME_DEFAULT], [m4_if($1, svr4, svr4, m4_if($1, both, both, aix))])dnl
331
+ shared_archive_member_spec=
332
+ case $host,$enable_shared in
333
+ power*-*-aix[[5-9]]*,yes)
334
+ AC_MSG_CHECKING([which variant of shared library versioning to provide])
335
+ AC_ARG_ENABLE([aix-soname],
336
+ [AS_HELP_STRING([--enable-aix-soname=aix|svr4|both],
337
+ [shared library versioning (aka "SONAME") variant to provide on AIX, @<:@default=]_LT_WITH_AIX_SONAME_DEFAULT[@:>@.])],
338
+ [case $enableval in
339
+ aix|svr4|both)
340
+ ;;
341
+ *)
342
+ AC_MSG_ERROR([Unknown argument to --enable-aix-soname])
343
+ ;;
344
+ esac
345
+ lt_cv_with_aix_soname=$enable_aix_soname],
346
+ [_AC_ENABLE_IF([with], [aix-soname],
347
+ [case $withval in
348
+ aix|svr4|both)
349
+ ;;
350
+ *)
351
+ AC_MSG_ERROR([Unknown argument to --with-aix-soname])
352
+ ;;
353
+ esac
354
+ lt_cv_with_aix_soname=$with_aix_soname],
355
+ [AC_CACHE_VAL([lt_cv_with_aix_soname],
356
+ [lt_cv_with_aix_soname=]_LT_WITH_AIX_SONAME_DEFAULT)])
357
+ enable_aix_soname=$lt_cv_with_aix_soname])
358
+ with_aix_soname=$enable_aix_soname
359
+ AC_MSG_RESULT([$with_aix_soname])
360
+ if test aix != "$with_aix_soname"; then
361
+ # For the AIX way of multilib, we name the shared archive member
362
+ # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o',
363
+ # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File.
364
+ # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag,
365
+ # the AIX toolchain works better with OBJECT_MODE set (default 32).
366
+ if test 64 = "${OBJECT_MODE-32}"; then
367
+ shared_archive_member_spec=shr_64
368
+ else
369
+ shared_archive_member_spec=shr
370
+ fi
371
+ fi
372
+ ;;
373
+ *)
374
+ with_aix_soname=aix
375
+ ;;
376
+ esac
377
+
378
+ _LT_DECL([], [shared_archive_member_spec], [0],
379
+ [Shared archive member basename, for filename based shared library versioning on AIX])dnl
380
+ ])# _LT_WITH_AIX_SONAME
381
+
382
+ LT_OPTION_DEFINE([LT_INIT], [aix-soname=aix], [_LT_WITH_AIX_SONAME([aix])])
383
+ LT_OPTION_DEFINE([LT_INIT], [aix-soname=both], [_LT_WITH_AIX_SONAME([both])])
384
+ LT_OPTION_DEFINE([LT_INIT], [aix-soname=svr4], [_LT_WITH_AIX_SONAME([svr4])])
385
+
386
+
387
+ # _LT_WITH_PIC([MODE])
388
+ # --------------------
389
+ # implement the --enable-pic flag, and support the 'pic-only' and 'no-pic'
390
+ # LT_INIT options.
391
+ # MODE is either 'yes' or 'no'. If omitted, it defaults to 'both'.
392
+ m4_define([_LT_WITH_PIC],
393
+ [AC_ARG_ENABLE([pic],
394
+ [AS_HELP_STRING([--enable-pic@<:@=PKGS@:>@],
395
+ [try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
396
+ [lt_p=${PACKAGE-default}
397
+ case $enableval in
398
+ yes|no) pic_mode=$enableval ;;
399
+ *)
400
+ pic_mode=default
401
+ # Look at the argument we got. We use all the common list separators.
402
+ lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
403
+ for lt_pkg in $enableval; do
404
+ IFS=$lt_save_ifs
405
+ if test "X$lt_pkg" = "X$lt_p"; then
406
+ pic_mode=yes
407
+ fi
408
+ done
409
+ IFS=$lt_save_ifs
410
+ ;;
411
+ esac],
412
+ [dnl Continue to support --with-pic and --without-pic, for backward
413
+ dnl compatibility.
414
+ _AC_ENABLE_IF([with], [pic],
415
+ [lt_p=${PACKAGE-default}
416
+ case $withval in
417
+ yes|no) pic_mode=$withval ;;
418
+ *)
419
+ pic_mode=default
420
+ # Look at the argument we got. We use all the common list separators.
421
+ lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
422
+ for lt_pkg in $withval; do
423
+ IFS=$lt_save_ifs
424
+ if test "X$lt_pkg" = "X$lt_p"; then
425
+ pic_mode=yes
426
+ fi
427
+ done
428
+ IFS=$lt_save_ifs
429
+ ;;
430
+ esac],
431
+ [pic_mode=m4_default([$1], [default])])]
432
+ )
433
+
434
+ _LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
435
+ ])# _LT_WITH_PIC
436
+
437
+ LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])])
438
+ LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])])
439
+
440
+ # Old name:
441
+ AU_DEFUN([AC_LIBTOOL_PICMODE],
442
+ [_LT_SET_OPTION([LT_INIT], [pic-only])
443
+ AC_DIAGNOSE([obsolete],
444
+ [$0: Remove this warning and the call to _LT_SET_OPTION when you
445
+ put the 'pic-only' option into LT_INIT's first parameter.])
446
+ ])
447
+
448
+ dnl aclocal-1.4 backwards compatibility:
449
+ dnl AC_DEFUN([AC_LIBTOOL_PICMODE], [])
450
+
451
+ ## ----------------- ##
452
+ ## LTDL_INIT Options ##
453
+ ## ----------------- ##
454
+
455
+ m4_define([_LTDL_MODE], [])
456
+ LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive],
457
+ [m4_define([_LTDL_MODE], [nonrecursive])])
458
+ LT_OPTION_DEFINE([LTDL_INIT], [recursive],
459
+ [m4_define([_LTDL_MODE], [recursive])])
460
+ LT_OPTION_DEFINE([LTDL_INIT], [subproject],
461
+ [m4_define([_LTDL_MODE], [subproject])])
462
+
463
+ m4_define([_LTDL_TYPE], [])
464
+ LT_OPTION_DEFINE([LTDL_INIT], [installable],
465
+ [m4_define([_LTDL_TYPE], [installable])])
466
+ LT_OPTION_DEFINE([LTDL_INIT], [convenience],
467
+ [m4_define([_LTDL_TYPE], [convenience])])
@@ -0,0 +1,124 @@
1
+ # ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*-
2
+ #
3
+ # Copyright (C) 2004-2005, 2007-2008, 2011-2019, 2021-2024 Free Software
4
+ # Foundation, 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 6 ltsugar.m4
12
+
13
+ # This is to help aclocal find these macros, as it can't see m4_define.
14
+ AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])])
15
+
16
+
17
+ # lt_join(SEP, ARG1, [ARG2...])
18
+ # -----------------------------
19
+ # Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their
20
+ # associated separator.
21
+ # Needed until we can rely on m4_join from Autoconf 2.62, since all earlier
22
+ # versions in m4sugar had bugs.
23
+ m4_define([lt_join],
24
+ [m4_if([$#], [1], [],
25
+ [$#], [2], [[$2]],
26
+ [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])])
27
+ m4_define([_lt_join],
28
+ [m4_if([$#$2], [2], [],
29
+ [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])])
30
+
31
+
32
+ # lt_car(LIST)
33
+ # lt_cdr(LIST)
34
+ # ------------
35
+ # Manipulate m4 lists.
36
+ # These macros are necessary as long as will still need to support
37
+ # Autoconf-2.59, which quotes differently.
38
+ m4_define([lt_car], [[$1]])
39
+ m4_define([lt_cdr],
40
+ [m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])],
41
+ [$#], 1, [],
42
+ [m4_dquote(m4_shift($@))])])
43
+ m4_define([lt_unquote], $1)
44
+
45
+
46
+ # lt_append(MACRO-NAME, STRING, [SEPARATOR])
47
+ # ------------------------------------------
48
+ # Redefine MACRO-NAME to hold its former content plus 'SEPARATOR''STRING'.
49
+ # Note that neither SEPARATOR nor STRING are expanded; they are appended
50
+ # to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked).
51
+ # No SEPARATOR is output if MACRO-NAME was previously undefined (different
52
+ # than defined and empty).
53
+ #
54
+ # This macro is needed until we can rely on Autoconf 2.62, since earlier
55
+ # versions of m4sugar mistakenly expanded SEPARATOR but not STRING.
56
+ m4_define([lt_append],
57
+ [m4_define([$1],
58
+ m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])])
59
+
60
+
61
+
62
+ # lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...])
63
+ # ----------------------------------------------------------
64
+ # Produce a SEP delimited list of all paired combinations of elements of
65
+ # PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list
66
+ # has the form PREFIXmINFIXSUFFIXn.
67
+ # Needed until we can rely on m4_combine added in Autoconf 2.62.
68
+ m4_define([lt_combine],
69
+ [m4_if(m4_eval([$# > 3]), [1],
70
+ [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl
71
+ [[m4_foreach([_Lt_prefix], [$2],
72
+ [m4_foreach([_Lt_suffix],
73
+ ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[,
74
+ [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])])
75
+
76
+
77
+ # lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ])
78
+ # -----------------------------------------------------------------------
79
+ # Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited
80
+ # by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ.
81
+ m4_define([lt_if_append_uniq],
82
+ [m4_ifdef([$1],
83
+ [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1],
84
+ [lt_append([$1], [$2], [$3])$4],
85
+ [$5])],
86
+ [lt_append([$1], [$2], [$3])$4])])
87
+
88
+
89
+ # lt_dict_add(DICT, KEY, VALUE)
90
+ # -----------------------------
91
+ m4_define([lt_dict_add],
92
+ [m4_define([$1($2)], [$3])])
93
+
94
+
95
+ # lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE)
96
+ # --------------------------------------------
97
+ m4_define([lt_dict_add_subkey],
98
+ [m4_define([$1($2:$3)], [$4])])
99
+
100
+
101
+ # lt_dict_fetch(DICT, KEY, [SUBKEY])
102
+ # ----------------------------------
103
+ m4_define([lt_dict_fetch],
104
+ [m4_ifval([$3],
105
+ m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]),
106
+ m4_ifdef([$1($2)], [m4_defn([$1($2)])]))])
107
+
108
+
109
+ # lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE])
110
+ # -----------------------------------------------------------------
111
+ m4_define([lt_if_dict_fetch],
112
+ [m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4],
113
+ [$5],
114
+ [$6])])
115
+
116
+
117
+ # lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...])
118
+ # --------------------------------------------------------------
119
+ m4_define([lt_dict_filter],
120
+ [m4_if([$5], [], [],
121
+ [lt_join(m4_quote(m4_default([$4], [[, ]])),
122
+ lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]),
123
+ [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl
124
+ ])
@@ -0,0 +1,24 @@
1
+ # ltversion.m4 -- version numbers -*- Autoconf -*-
2
+ #
3
+ # Copyright (C) 2004, 2011-2019, 2021-2024 Free Software Foundation,
4
+ # Inc.
5
+ # Written by Scott James Remnant, 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
+ # @configure_input@
12
+
13
+ # serial 4441 ltversion.m4
14
+ # This file is part of GNU Libtool
15
+
16
+ m4_define([LT_PACKAGE_VERSION], [2.5.4])
17
+ m4_define([LT_PACKAGE_REVISION], [2.5.4])
18
+
19
+ AC_DEFUN([LTVERSION_VERSION],
20
+ [macro_version='2.5.4'
21
+ macro_revision='2.5.4'
22
+ _LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
23
+ _LT_DECL(, macro_revision, 0)
24
+ ])