Codebase list gpgme1.0 / befef10
Import upstream version 1.16.0+git20210913.1.ab9bca0 Debian Janitor 2 years ago
117 changed file(s) with 93598 addition(s) and 12396 deletion(s). Raw diff Collapse all Expand all
+12
-12256
ChangeLog less more
0 2021-06-24 Werner Koch <wk@gnupg.org>
0 No more ChangeLog files
1 ========================
12
2 Release 1.16.0.
3 + commit 1021c8645555502d914afffaa3707609809c9459
3 Do not modify any of the ChangeLog files in GPGME. Starting on
4 December 1st, 2011 we put change information only in the GIT commit
5 log, and generate a top-level ChangeLog file from logs at "make dist"
6 time. As such, there are strict requirements on the form of the
7 commit log messages. See doc/HACKING for details. The old ChangeLog
8 files have all be renamed to ChangeLog-2011.
49
510
6 2021-06-22 Ingo Klöcker <dev@ingo-kloecker.de>
711
8 qt: Extend SignKeyJob to create signatures with expiration date.
9 + commit ac4536990a4fed4a45a0851260c029e69d0cadf6
10 * lang/qt/src/signkeyjob.h (SignKeyJob::setExpirationDate): New.
11 * lang/qt/src/qgpgmesignkeyjob.h, lang/qt/src/qgpgmesignkeyjob.cpp
12 (QGpgMESignKeyJob::setExpirationDate): New.
13 * lang/qt/src/qgpgmesignkeyjob.cpp (QGpgMESignKeyJob::Private): Add
14 member m_expiration.
15 (sign_key): Handle expiration date.
16 (QGpgMESignKeyJob::start): Pass expiration date to sign_key.
17
18 * lang/qt/tests/t-various.cpp
19 (TestVarious::testSignKeyWithoutExpiration,
20 TestVarious::testSignKeyWithExpiration): New.
21 (TestVarious::initTestCase): Add "allow-weak-key-signatures" to
22 gpg.conf.
23
24 core: Allow specifying an expiration date for key signatures.
25 + commit 34d9defc42bacfaf2bb1ce70b2c3f0fdf0a106c3
26 * src/context.h (struct gpgme_context): Add 'cert_expire'.
27 * src/engine-gpg.c (append_args_from_cert_expire): New.
28 (gpg_edit): Set option according to the new flag.
29 * src/gpgme.c (gpgme_release): Free 'cert_expire'.
30 (gpgme_set_ctx_flag, gpgme_get_ctx_flag): Add "cert-expire".
31
32 * tests/gpg/Makefile.am (c_tests): Add new test.
33 (gpg.conf): Write "allow-weak-key-signatures" to gpg.conf.
34 * tests/gpg/t-edit-sign.c: New.
35
36 2021-06-21 Ingo Klöcker <dev@ingo-kloecker.de>
37
38 Update NEWS.
39 + commit ab1d4ef580794a86da754d516db35091f6997e2c
40 * NEWS: Add news for recent changes
41
42 2021-06-18 Ingo Klöcker <dev@ingo-kloecker.de>
43
44 qt: Add missing }
45 + commit 5340bb7ccfa7086054823fac48d178e6206d66c0
46 * lang/qt/src/qgpgmenewcryptoconfig.cpp (parseURL): Add missing }.
47
48 2021-06-17 Ingo Klöcker <dev@ingo-kloecker.de>
49
50 qt: Add some error logging.
51 + commit 72de06417e32bd6573acd0b73a72fcf98232fe81
52 * lang/qt/src/qgpgmenewcryptoconfig.cpp (setURLValueList): Log error
53 if setting config value failed.
54
55 qt: Do not set empty base DN as query of keyserver URL.
56 + commit 1dca8c2b3c6d6aa3dfd4215c911207f08a3bf9f1
57 * lang/qt/src/qgpgmenewcryptoconfig.cpp (parseURL): Only set non-empty
58 base DN as URL query.
59
60 qt: Fix API documentation.
61 + commit 0d03f31e07e683efbdb206cc3407bf222d71d8fe
62 * lang/qt/src/signkeyjob.h (SignKeyJob::start,
63 SignKeyJob::setUserIDsToSign, SignKeyJob::setCheckLevel): Fix
64 documentation of parameters.
65
66 2021-06-14 Werner Koch <wk@gnupg.org>
67
68 core: New data flags "io-buffer-size" and "sensitive".
69 + commit fde20940b5ca6986dc12215209e8858601bb0c2e
70 * src/data.c (_gpgme_data_release): Free buffers.
71 (gpgme_data_seek): Adjust from renamed fields.
72 (gpgme_data_set_flag): Implement new flags.
73 (_gpgme_data_inbound_handler): Allow the use of a malloced buffer.
74 (_gpgme_data_outbound_handler): Ditto.
75 * src/data.h (BUFFER_SIZE): Move out of the struct definition.
76 (struct gpgme_data): Remove pending filed and introduce inbound and
77 outbound fields.
78
79 * src/conversion.c (_gpgme_wipememory): New. Taken from GnuPG.
80 * src/cJSON.c (wipememory): Use this here too.
81
82 * tests/run-decrypt.c (main): Add options "--large-buffers" and
83 "--sensitive".
84
85 core: Also detect AuthEnvelopedData (AEAD for CMS)
86 + commit ea290108e4df9f93eda79789d9cde5441d6bdd55
87 * src/data-identify.c (basic_detection): Add OID.
88
89 2021-06-10 Andre Heinecke <aheinecke@gnupg.org>
90
91 qt: Flush output after write for QProcess output.
92 + commit b3b75c37e2d3ef313031ceba8063feeccb0583ec
93 * lang/qt/src/dataprovider.cpp (QIODeviceDataProvider::write): Call
94 waitForBytesWritten.
95
96 core,w32: Increase BUFFER_SIZE to 4096.
97 + commit ceb8387460b05de5c8cec6e02950176b09c4f38b
98 * src/data.h (BUFFER_SIZE): Increase to 4096 for Windows.
99
100 2021-06-09 Andre Heinecke <aheinecke@gnupg.org>
101
102 qt: Explicitly link libgpg-error.
103 + commit e6095e54718fe2463fb54adf5879d55e2fba4fef
104 * lang/qt/src/Makefile.am (libqgpgme_la_LIBADD): Explicitly link
105 gpg-error.
106
107 core: Explicitly add GPG_ERROR_CFLAGS.
108 + commit 4041e2c62a10a149776a78e9221de6732693dad9
109 * src/Makefile.am (AM_CFLAGS): Add GPG_ERROR_CFLAGS
110
111 2021-06-02 Ingo Klöcker <dev@ingo-kloecker.de>
112
113 qt: Add separate logging category for result of config loading.
114 + commit 5bc4e23a57f149c2a7008c1b88ab3d398ce75e9b
115 * lang/qt/src/qgpgme_debug.h: Make include guard match file name.
116 * lang/qt/src/qgpgme_debug.h, lang/qt/src/qgpgme_debug.cpp
117 (QGPGME_CONFIG_LOADING_LOG): New.
118 * lang/qt/src/qgpgmenewcryptoconfig.cpp
119 (QGpgMENewCryptoConfig::reloadConfiguration): Use new logging category.
120
121 core: Fix a few checks for number of fields in keylist result parser.
122 + commit 5512133de4e9bca2defb744e2b42e55b5487d72c
123 * src/keylist.c (keylist_colon_handler): Check for correct number of
124 fields.
125
126 2021-06-01 Ingo Klöcker <dev@ingo-kloecker.de>
127
128 qt: Add support for flags in LDAP server options.
129 + commit 27aa7c4a0fc8f7cef6219443cee0d040c2774746
130 * lang/qt/src/qgpgmenewcryptoconfig.cpp (parseURL): Handle extended
131 LDAP server option syntax.
132 (portToString): New.
133 (splitURL): Append flags to LDAP server option.
134
135 2021-05-28 Werner Koch <wk@gnupg.org>
136
137 tests: Improve the output of the run-keylist helper.
138 + commit 31eb45f01620d3e8811fe18460c281837bb3359f
139 * tests/run-keylist.c (main): Print all infos from the primary key.
140
141 2021-05-27 NIIBE Yutaka <gniibe@fsij.org>
142
143 build: _DARWIN_C_SOURCE should be 1.
144 + commit 367b9e7488601cdf2cbec4d593a235c89f9a4281
145 * configure.ac (*-apple-darwin*): Set _DARWIN_C_SOURCE 1.
146
147 build: Update gpg-error.m4.
148 + commit 792a7e7f04ead7643561439b773e740549340b99
149 * m4/gpg-error.m4: Update from libgpg-error.
150
151 2021-05-12 Werner Koch <wk@gnupg.org>
152
153 core: Allow for older compilers.
154 + commit aa98081356b5f7c9ef2422021e05aed01a7e4d46
155 * tests/run-verify.c (main): Remove C99-only syntax.
156 * tests/run-threaded.c (start_keylistings): Ditto.
157
158 core: Make sure to stay ABI compatible.
159 + commit 88db69e1a964c9a36989e36fe5d972548432fb5c
160 * src/gpgme.h.in (struct _gpgme_key_sig): Move trust_scope to the end
161 of the struct.
162
163 2021-05-06 Ingo Klöcker <dev@ingo-kloecker.de>
164
165 cpp: Do not close stdout/stderr when destroying EditInteractor.
166 + commit 58a217b108e4c4c92306542bf9f2995254809ffb
167 * lang/cpp/src/editinteractor.cpp (EditInteractor::Private): Initialize
168 members 'state' and 'debug' in-class. Add member 'debugNeedsClosing'.
169 (EditInteractor::Private::Private): Remove members initializers.
170 Remember if 'debug' needs to be closed.
171 (EditInteractor::Private::~Private): Only close 'debug' if it needs to
172 be closed.
173
174 2021-05-05 Ingo Klöcker <dev@ingo-kloecker.de>
175
176 qt: Extend SignKeyJob to create trust signatures.
177 + commit f0858e45b0be260730e742643e741547123d4287
178 * lang/qt/src/signkeyjob.h (SignKeyJob::setTrustSignature): New.
179 * lang/qt/src/qgpgmesignkeyjob.h, lang/qt/src/qgpgmesignkeyjob.cpp
180 (QGpgMESignKeyJob::setTrustSignature): New.
181 * lang/qt/src/qgpgmesignkeyjob.cpp (sign_key): Handle trust signatures.
182 (QGpgMESignKeyJob::start): Pass trust signature attributes to sign_key.
183 (QGpgMESignKeyJob::setTrustSignature): New.
184
185 qt: Pimpl QGpgMESignKeyJob.
186 + commit dae01f8185e0f1bc9c65d93078c7ccda0b79611f
187 * lang/qt/src/qgpgmesignkeyjob.h: Remove unneeded includes. Include
188 <memory>.
189 (QGpgMESignKeyJob): Remove all member variables. Add pimpl pointer.
190 * lang/qt/src/qgpgmesignkeyjob.cpp: Include <QString>. Don't include
191 <memory>.
192 (QGpgMESignKeyJob::Private): New.
193 (QGpgMESignKeyJob::QGpgMESignKeyJob): Remove initialization of removed
194 members. Initialize d.
195 (QGpgMESignKeyJob::start, QGpgMESignKeyJob::setUserIDsToSign,
196 QGpgMESignKeyJob::setCheckLevel, QGpgMESignKeyJob::setExportable,
197 QGpgMESignKeyJob::setSigningKey, QGpgMESignKeyJob::setNonRevocable,
198 QGpgMESignKeyJob::setRemark, QGpgMESignKeyJob::setDupeOk): Adapt to move
199 of member variables to pimpl.
200
201 cpp: Add support for trust signatures to sign key edit interactor.
202 + commit a8d7b9d16796efd6f21abaeb43ccaeb2388eb6e4
203 * lang/cpp/src/gpgsignkeyeditinteractor.h,
204 lang/cpp/src/gpgsignkeyeditinteractor.cpp
205 (GpgSignKeyEditInteractor::setTrustSignatureTrust): New.
206 (GpgSignKeyEditInteractor::setTrustSignatureDepth): New.
207 (GpgSignKeyEditInteractor::setTrustSignatureScope): New.
208 * lang/cpp/src/gpgsignkeyeditinteractor.cpp
209 (GpgSignKeyEditInteractor::Private::Private): Initialize new member.
210 (makeTable): Add new transition. Fix typos in existing transitions.
211 (GpgSignKeyEditInteractor::action): Handle SET_TRUST_VALUE,
212 SET_TRUST_DEPTH, and SET_TRUST_REGEXP.
213
214 cpp: Add getters for the attributes of a trust signature.
215 + commit e391a08c6f96cd2d93c49b888459ee3f42058118
216 * lang/cpp/src/key.h (TrustSignatureTrust): New enum.
217 * lang/cpp/src/key.h, lang/cpp/src/key.cpp
218 (UserID::Signature::isTrustSignature): New.
219 (UserID::Signature::trustValue): New.
220 (UserID::Signature::trustDepth): New.
221 (UserID::Signature::trustScope): New.
222
223 core: Extend gpgme_key_sig_t with trust signature members.
224 + commit 276187f6b62a73e92b1c20f589510f80ab9e88d2
225 * src/gpgme.h.in (struct _gpgme_key_sig): Add fields 'trust_depth',
226 'trust_value', and 'trust_scope'.
227 * src/key.c (gpgme_key_unref): Free trust_scope.
228 * src/keylist.c (keylist_colon_handler): Set the fields.
229 * tests/run-keylist.c (main): Print the fields.
230
231 2021-03-11 Werner Koch <wk@gnupg.org>
232
233 doc: Add MIT license notice.
234 + commit 3ffd7bd4039d90cd15fbf76f8c116814bffdab7c
235 * LICENSES: New.
236
237 core: New flag GPGME_KEYSIGN_FORCE.
238 + commit 0821e2b1495e8944a5a1b5ba20ad5f403dde0dd0
239 * src/gpgme.h.in (GPGME_KEYSIGN_FORCE): New.
240 * src/engine-gpg.c (gpg_keysign): Implement.
241
242 * tests/run-keysign.c (show_usage): Add option --force
243
244 2021-03-05 Ingo Klöcker <dev@ingo-kloecker.de>
245
246 qt: Add method for getting config entries for components by entry name.
247 + commit fe900a41bf809b263f05d5df21b6ed7fbfb2bbbc
248 * lang/qt/src/cryptoconfig.h, lang/qt/src/cryptoconfig.cpp
249 (CryptoConfig::entry): Move implementation to cpp. Add overload not
250 requiring a group name.
251
252 2021-02-01 Werner Koch <wk@gnupg.org>
253
254 core: Remove experimental feature GPGME_EXPORT_MODE_NOUID.
255 + commit c8fd8870b3bf089f99156448b7d1e59c1150f994
256 * src/export.c (export_start): Remove GPGME_EXPORT_MODE_NOUID check.
257 * src/engine-gpg.c (export_common): Ditto.
258
259 2021-01-08 Werner Koch <wk@gnupg.org>
260
261 Release 1.15.1.
262 + commit bb9880778fb16cdb6de83905e45bf6c965770013
263
264
265 Make distcheck make target a bit more reliable.
266 + commit 133050b3fa28122a4b60dbbde698fb14379ccf95
267 * Makefile.am (release): Do not pass --parallel
268
269 2021-01-05 Ingo Klöcker <dev@ingo-kloecker.de>
270
271 core: Make listing of signatures work if only secret keys are listed.
272 + commit 5137d7fc214d0d9dcb947ccdc32fa87979f9a6d0
273 * src/engine-gpg.c (gpg_keylist_build_options): Add "--with-sig-check"
274 argument if signatures shall be listed.
275 * tests/gpg/t-keylist-secret-sig.c: New.
276 * tests/gpg/Makefile.am (c_tests): Add new test.
277
278 2021-01-04 Ingo Klöcker <dev@ingo-kloecker.de>
279
280 cpp: Add const-overload of UserID::Signature::operator<
281 + commit a6220adf3081c9c848f6d0a6fc3774cb168ccf9c
282 lang/cpp/src/key.h, lang/cpp/src/key.cpp (UserID::Signature::operator<):
283 Add const-overload. Deprecate non-const overload.
284
285 2021-01-04 Andre Heinecke <aheinecke@gnupg.org>
286
287 Qt: Undeprecate QByteArray based start functs.
288 + commit 543e2106386f00ebecf7653e7896fa12a6e828ff
289 * lang/qt/src/encryptjob.h, lang/qt/src/signjob.h (start):
290 Undeprecate QByteArray based functions.
291
292 2020-12-03 NIIBE Yutaka <gniibe@fsij.org>
293
294 python: Fix key_export*.
295 + commit 7a4fe82a017b751ad756c93d2b9e31d7be045275
296 * lang/python/src/core.py (key_export): Just raise an error.
297 (key_export_minimal, key_export_secret): Ditto.
298
299 2020-11-24 NIIBE Yutaka <gniibe@fsij.org>
300
301 core: Call _gpgme_passphrase_status_handler when exporting keys.
302 + commit 53ac732bae46e1f883998e987fc84d4cababde12
303 * src/export.c (export_status_handler): Call the handler.
304
305 2020-11-20 Andre Heinecke <aheinecke@gnupg.org>
306
307 Revert "cpp: Use portable off_t size_t"
308 + commit a5c4b030258714dd72a2e276114183309cad3ec3
309 This reverts commit 88294023c196497cfa6737be262c8b0c09d2a3ce.
310
311 2020-11-20 NIIBE Yutaka <gniibe@fsij.org>
312
313 m4: Update with newer autoconf constructs.
314 + commit 4c6fd361593e22092770d120d68a18b4f70e0bb8
315 * src/gpgme.m4: Replace AC_HELP_STRING to AS_HELP_STRING.
316
317 2020-11-18 Andre Heinecke <aheinecke@gnupg.org>
318
319 cpp: Use portable off_t size_t.
320 + commit 88294023c196497cfa6737be262c8b0c09d2a3ce
321 * configure.ac: Configure cpp data.h.in
322 * lang/cpp/src/Makefile.am: Generate data.h
323 * lang/cpp/src/data.cpp, lang/cpp/src/data.h: Use portable
324 types.
325 * lang/qt/src/Makefile.am: Include build dir.
326 * lang/qt/tests/makefile.am: Include build dir.
327
328 2020-11-18 Ingo Klöcker <dev@ingo-kloecker.de>
329 Daniel Kahn Gillmor
330
331 qt: Avoid empty "rem@gnupg.org" signature notations.
332 + commit 3c185c2159cdcc23f44773fe1cfb624b27598c80
333 * lang/qt/src/qgpgmesignkeyjob.cpp (sign_key): Check remark for being
334 an empty string instead of a null QString.
335
336 2020-11-18 NIIBE Yutaka <gniibe@fsij.org>
337
338 build: Update with newer autoconf constructs.
339 + commit 223779dfdeb7808809372587fa135a8cc2616ce8
340 * configure.ac: Use AC_USE_SYSTEM_EXTENSIONS instead of AC_GNU_SOURCE.
341 Use AS_HELP_STRING instead of AC_HELP_STRING.
342 * m4/libtool.m4: Update from libgpg-error.
343 * m4/gpg-error.m4: Update from libgpg-error.
344 * m4/libassuan.m4: Update from libassuan.
345
346 2020-11-12 Andre Heinecke <aheinecke@gnupg.org>
347
348 qt: Fix export of qDebug GpgME::Error overload.
349 + commit df5a89e6929479dc1bf301974fe7d607d024bc1f
350 * lang/qt/src/debug.cpp: Include debug.h to get the export decl.
351
352 2020-11-12 Werner Koch <wk@gnupg.org>
353
354 build: Use ~/.gnupg-autogen.sh for the release targets.
355 + commit 27abdac25dcd4ba57e073a5de2f057830e623282
356 * Makefile.am (sign-release): Use global config vars.
357
358 Post release updates.
359 + commit 01a0d8ec1aa8543dca0986c6dcb5cabc535aae2c
360
361
362 Release 1.15.0.
363 + commit feea38c89d4ceb40334f884da9ab07cc4b73e757
364 * configure.ac: Bump LT versions to c=C35/A24/R0, cpp=C18/A13/R0,
365 qt=C12/A5/R0.
366
367 2020-11-12 NIIBE Yutaka <gniibe@fsij.org>
368 Louis Dupré Bertoni
369
370 core: Support exporting secret keys.
371 + commit 3382ecb17eb5d2a373cf2eccb301854fff42f6aa
372 * src/export.c (export_start): Set command handler for passphrase
373 interaction for the case when it's secret keys.
374 (export_ext_start): Likewise.
375
376 2020-11-12 NIIBE Yutaka <gniibe@fsij.org>
377
378 python: Fix a test for newer GnuPG (>= 2.3).
379 + commit 7139afc5cdc0d8203dc75d7c91fa94b704b3d64f
380 * lang/python/tests/t-quick-subkey-creation.py: Specify RSA.
381
382 2020-11-11 Andre Heinecke <aheinecke@gnupg.org>
383
384 qt: Add export macro for QDebug operator.
385 + commit 81f0dc7293a525af7cfbcb53cce050df718e0f91
386 * lang/qt/src/debug.h: Add export macro.
387
388 2020-11-11 NIIBE Yutaka <gniibe@fsij.org>
389
390 qt: Allow build with older GnuPG (< 2.2.18).
391 + commit 276f3390e18b34e6211b4c75876a0ab4c10a5ac9
392 * lang/qt/tests/t-remarks.cpp (initTestCase): Check gpg for
393 allow-weak-key-signatures option.
394
395 2020-11-09 Werner Koch <wk@gnupg.org>
396
397 Require at least libgpg-error 1.36.
398 + commit eb99e8c483a70764408868602ef322602e9e72ce
399 * configure.ac (NEED_GPG_ERROR_VERSION): Require 1.36.
400 * src/cJSON.c: Remove code for older version.
401 * src/engine.c (gpgme_get_engine_info): Ditto.
402 * src/gpgme-json.c: Ditto.
403 * src/op-support.c: Ditto.
404 * src/util.h: Ditto.
405
406 2020-11-04 Ben Kibbey <bjk@luxsci.net>
407
408 Parse STATUS_CANCELED_BY_USER.
409 + commit 35ca460019ea29ae646d08c954d4d4bf2dc1e8e1
410 * src/gpgme.h.in (GPGME_STATUS_CANCELED_BY_USER): New.
411 * src/status-table.c (status_table_s): Add "CANCELED_BY_USER".
412 * src/passphrase.c (_gpgme_passphrase_status_handler): Return
413 GPG_ERR_CANCELED during GPGME_STATUS_CANCELED_BY_USER.
414
415 2020-11-03 Ingo Klöcker <dev@ingo-kloecker.de>
416
417 qt: Make audit parameters of result signal optional.
418 + commit 0fee135997438c63ab30891ec7e662093ec57491
419 lang/qt/src/quickjob.h (QuickJob::result): Make parameters
420 auditLogAsHtml and audigLogError optional.
421
422 cpp: Mark helper functions as static.
423 + commit b41f5fec1c42e0113ccbdbb7c258899793631b0a
424 lang/cpp/src/key.cpp (find_subkey, verify_subkey, find_uid, verify_uid,
425 find_signature, verify_signature): Mark as static.
426
427 cpp: Make signatures belonging to the same user ID sortable.
428 + commit 6a6d2a27648490f08aaf0759a533aef08b32070d
429 lang/cpp/src/key.h, lang/cpp/src/key.cpp (UserID::Signature::operator<):
430 New.
431 lang/cpp/src/key.cpp (signature_index): New.
432
433 2020-10-29 Ingo Klöcker <dev@ingo-kloecker.de>
434
435 qt: Add support for revoke signature quick command.
436 + commit f042739d3a2ed23a90441a81782e4c3ac6ffb1c5
437 * lang/qt/src/quickjob.h (QuickJob::startRevokeSignature): New.
438 * lang/qt/src/qgpgmequickjob.h, lang/qt/src/qgpgmequickjob.cpp
439 (QGpgMEQuickJob::startRevokeSignature): New.
440 * lang/qt/src/qgpgmequickjob.cpp (revokeSignatureWorker): New.
441
442 qt: Some minor cleanups.
443 + commit 60328c4690beb8a82f5a3cc0d35b434e151c6365
444 * lang/qt/src/qgpgmequickjob.h: (GpgME::Key, QDateTime, QString):
445 Remove superfluous forward declarations.
446 (QGpgMEQuickJob): Remove superfluous second template argument. It is
447 identical to the default.
448 (QGpgMEQuickJob::result): Remove. It is already defined in the base
449 class.
450
451 cpp: Add support for gpgme_op_revsig.
452 + commit 4166d263e421cb4f98c4ca6bef549613c35e149e
453 * lang/cpp/src/context.cpp, lang/cpp/src/context.h
454 (Context::revokeSignature, Context::startRevokeSignature): New.
455 * lang/cpp/src/context.cpp
456 (getLFSeparatedListOfStrings, getLFSeparatedListOfUserIds): New.
457 (getLFSeparatedListOfFingerprintsFromSubkeys): Extracted second part
458 of function to getLFSeparatedListOfStrings.
459
460 core: New function gpgme_op_revsig.
461 + commit f3407d0ee4e34ed33be18de5f886a4da2affbf9f
462 * src/gpgme.h.in (gpgme_op_revsig_start, gpgme_op_revsig): New.
463 (GPGME_REVSIG_LFSEP): New.
464 * src/context.h (ctx_op_data_id_t): Add OPDATA_REVSIG.
465 * src/revsig.c: New.
466 * src/Makefile.am (main_sources): Add revsig.
467 * src/libgpgme.vers, src/gpgme.def: Add gpgme_op_revsig and
468 gpgme_op_revsig_start.
469 * src/engine.h, src/engine.c: (_gpgme_engine_op_revsig): New.
470 * src/engine-backend.h (engine_ops): Add 'revsig' and adjust all
471 engine initializers.
472 * src/engine-gpg.c (gpg_revsig): New.
473 (_gpgme_engine_ops_gpg): Set revsig to gpg_revsig.
474 * doc/gpgme.texi: Document new functions.
475 * tests/run-keysign.c: Add option --revoke.
476
477 2020-10-28 NIIBE Yutaka <gniibe@fsij.org>
478
479 python: Handle the when case __doc__ is None.
480 + commit 089164a0c0d6024cbb133327d47a28ca3716cd56
481 * lang/python/src/core.py (GpgmeWrapper): Check if None.
482
483 2020-10-23 Ingo Klöcker <dev@ingo-kloecker.de>
484
485 cpp: Add support for gpgme_cancel.
486 + commit 74c8131d809be49d64f482961fee1e6e0dbe4f4f
487 * lang/cpp/src/context.cpp, lang/cpp/context.h
488 (Context::cancelPendingOperationImmediately): New.
489 * NEWS: Mention added API
490
491 Add Assuan transaction that forwards status lines to another object.
492 + commit ff23e24063feb9e1628858fd32df37be557072a6
493 * lang/cpp/src/Makefile.am: Add new files.
494 * lang/cpp/src/interfaces/statusconsumer.h,
495 lang/cpp/src/statusconsumerassuantransaction.cpp,
496 lang/cpp/src/statusconsumerassuantransaction.h: New.
497 * NEWS: Mention new API.
498
499 qt: Add QDebug stream operator for GpgME::Error.
500 + commit b21cabb311803677104fa98809bc88b21243f358
501 * lang/qt/src/Makefile.am: Add new files.
502 * lang/qt/src/debug.h, lang/qt/src/debug.cpp: New.
503 * NEWS: Mention it.
504
505 cpp, qt: Add missing comparison operators for version info comparison.
506 + commit c3406462d11b4241d4feee9be08e0ebe4f2e0bfa
507 * lang/cpp/src/engineinfo.h (EngineInfo::Version::operator<=,
508 EngineInfo::Version::operator>=, EngineInfo::Version::operator!=):
509 New.
510 * lang/qt/tests/t-various.cpp (TestVarious::testVersion): Add tests for
511 new comparison operators.
512 * NEWS: Mention added API
513
514 cpp, qt: Fix version info comparison.
515 + commit 2f53a2f4be86c0829213e2a9f846b7f8f0b106dc
516 * lang/cpp/src/engineinfo.h
517 (EngineInfo::Version::operator>(const Version &)): Fix logic.
518 (EngineInfo::Version::operator>(const char *)): Use Version-overload of
519 operator>.
520
521 * lang/qt/tests/t-various.cpp: Add test.
522
523 2020-10-03 Werner Koch <wk@gnupg.org>
524
525 tests: Fix gcc incompatibility.
526 + commit 25e2d717f44682f83c483ceba6ba81bad7fc3e97
527 * tests/json/t-json.c: Remove var definitions inside a for statement.
528
529 2020-10-01 NIIBE Yutaka <gniibe@fsij.org>
530
531 gpgsm: Fix leaked fd.
532 + commit fd904f87f8d43ad477b9d35d834f384e917b26fd
533 * src/engine-gpgsm.c (gpgsm_new): Close gpgsm->diag_cb.server_fd.
534
535 2020-09-09 Werner Koch <wk@gnupg.org>
536
537 core: Fully implement the inquire callback for assuan_transact.
538 + commit e4ee706e270c38937afe26ce9f54d17d037cb86f
539 * src/engine-assuan.c (inquire_cb): Implement returning data.
540
541 * tests/opassuan/t-command.c (inq_cb): Send some test data.
542
543 2020-09-08 Ingo Klöcker <dev@ingo-kloecker.de>
544
545 qt: Update the documentation of ListAllKeysJob.
546 + commit 973c8116c840b4f1e0c3c80a7956641550c3388d
547 * lang/qt/src/listallkeysjob.h (ListAllKeysJob::start): Document that
548 the mergeKeys argument is ignored with gpg >= 2.1.
549
550 cpp: Update key with --with-secret instead of updating it twice.
551 + commit 3dd7377e120f10576b3b4334b6149f027ceec126
552 * lang/cpp/src/key.cpp (Key::update): Call Context::key() only once
553 with KeyListMode::WithSecret.
554
555 2020-09-07 Ingo Klöcker <dev@ingo-kloecker.de>
556
557 qt: List keys once with --with-secret instead of twice.
558 + commit 13bcc6680ac2030d45e4f36a64864bcd6a1d42a9
559 * lang/qt/src/qgpgmelistallkeysjob.cpp
560 (do_list_keys): Rename to do_list_keys_legacy and put into unnamed
561 namespace.
562 (merge_keys): Put into unnamed namespace.
563 (list_keys): Rename to list_keys_legacy and put into unnamed namespace.
564 (do_list_keys, list_keys): New.
565 * lang/qt/tests/t-keylist.cpp (testListAllKeysSync): New.
566
567 cpp: Add keylist mode WithSecret.
568 + commit 188cc9e9b553998d2a8ec52bd8282365e22bf400
569 * lang/cpp/src/global.h (WithSecret): New.
570 * lang/cpp/src/context.cpp (operator<<): Handle WithSecret.
571 * lang/cpp/src/util.h (add_to_gpgme_keylist_mode_t,
572 convert_from_gpgme_keylist_mode_t): Ditto.
573
574 cpp: Add missing keylist modes.
575 + commit b714a6bbc8038c1b226bc920dd02ce8fbae7da8a
576 * lang/cpp/src/util.h
577 (add_to_gpgme_keylist_mode_t): Sort modes as in enum definition and
578 add missing modes to check.
579 (convert_from_gpgme_keylist_mode_t): Add missing handling of
580 GPGME_KEYLIST_MODE_WITH_TOFU and GPGME_KEYLIST_MODE_WITH_KEYGRIP.
581
582 2020-09-03 Ingo Klöcker <dev@ingo-kloecker.de>
583
584 cpp: Copy some more subkey properties when merging keys.
585 + commit 4d87ea2851ae1156cfb1d754cf32b5c9073d4252
586 * lang/cpp/src/key.cpp (Key::mergeWith): Also merge secret flag and
587 keygrip
588
589 2020-08-28 Werner Koch <wk@gnupg.org>
590
591 qt: Fix an rfc2253 parser flaw.
592 + commit b088d81cefe45c16409085f1560ad1d4c235a696
593 * lang/qt/src/dn.cpp (parse_dn_part): Fix parser.
594
595 2020-08-14 Ingo Klöcker <dev@ingo-kloecker.de>
596
597 core: Add error handling to setexpire.
598 + commit f66f856c89b7c02e368afe2343de7cce50e6109e
599 * src/genkey.c (setexpire, gpgme_op_setexpire_start,
600 gpgme_op_setexpire): Move to ...
601 * src/setexpire.c: New.
602 * src/Makefile.am (main_sources): Add that file.
603 * src/context.h (ctx_op_data_id_t): Add OPDATA_SETEXPIRE.
604
605 * lang/qt/tests/t-various.cpp (testSetExpire): Test error handling.
606
607 2020-08-11 Ingo Klöcker <dev@ingo-kloecker.de>
608
609 qt: Support changing expiry of subkeys.
610 + commit 4f2cd3a0c6a8f3633040ff0e8cca787b2bd61fb2
611 * lang/qt/src/changeexpiryjob.h (ChangeExpiryJob::start): New overload
612 that accepts subkeys (with empty implementation).
613 * lang/qt/src/qgpgmechangeexpiryjob.h,
614 lang/qt/src/qgpgmechangeexpiryjob.cpp (QGpgMEChangeExpiryJob::start):
615 New overload that accepts subkeys.
616
617 2020-08-10 Ingo Klöcker <dev@ingo-kloecker.de>
618
619 cpp: Make private helper a file static.
620 + commit c813734c9ce0a77f5a9d463a6b16074e522cc2ce
621 * lang/cpp/src/context.h, lang/cpp/src/context.cpp
622 (Context::getLFSeparatedListOfFingerprintsFromSubkeys): Remove
623 from Context; make it a static function instead
624
625 2020-08-06 Andre Heinecke <aheinecke@gnupg.org>
626
627 cpp: Use cstdlib getenv for portability.
628 + commit 0676d41ef57db4da469aa9b733f8965606b667ec
629 * lang/cpp/src/editinteractor.cpp (EditInteractor::Private::Private):
630 Use std::getenv.
631
632 2020-08-05 Ingo Klöcker <dev@ingo-kloecker.de>
633
634 qt: Port to new setExpire()
635 + commit 89501509134ab9cff87219fcaee9c1a758efa2fe
636 * lang/qt/src/qgpgmechangeexpiryjob.cpp (change_expiry): Use new
637 setExpire() instead of edit() with GpgSetExpiryTimeEditInteractor
638
639 2020-08-04 Ingo Klöcker <dev@ingo-kloecker.de>
640
641 qt: Add test for setExpire.
642 + commit 84c6b6e2fea1176991bd89ac421af492d4550d6e
643 * lang/qt/tests/t-various.cpp (TestVarious::testSetExpire): New.
644
645 cpp: Add support for gpgme_op_setexpire.
646 + commit aa03205fe5e8a8fa2b0feecb8a142aff2a1b25df
647 * lang/cpp/src/context.cpp
648 (Context::setExpire, Context::startSetExpire): New.
649 (Context::getLFSeparatedListOfFingerprintsFromSubkeys):
650 New helper.
651 * lang/cpp/src/context.h
652 (Context::SetExpireFlags): New enum.
653 (Context::setExpire, Context::startSetExpire): Add
654 prototypes.
655 (Context::getLFSeparatedListOfFingerprintsFromSubkeys):
656 Add as private helper.
657
658 cpp: Add ostream operator for subkey.
659 + commit 197ba151e70c0aef35ee713b119d49e4637c1d05
660 * lang/cpp/src/key.cpp (Subkey): Add ostream operator.
661 * lang/cpp/src/key.h: Update accordingly.
662
663 2020-08-04 Ingo Klöcker <dev@ingo-kloecker.de>
664 Andre Heinecke <aheinecke@gnupg.org>
665
666 core: New function gpgme_op_setexpire.
667 + commit db82e99a8a40c57a237dad030928d0fcf6b03ad7
668 * src/gpgme.h.in (gpgme_op_setexpire_start, gpgme_op_setexpire): New.
669 * src/libgpgme.vers, src/gpgme.def: Add new functions.
670 * src/genkey.c (setexpire): New.
671 (gpgme_op_setexpire_start, gpgme_op_setexpire): New.
672 * src/engine.h, src/engine.c: (_gpgme_engine_op_setexpire): New.
673 * src/engine-backend.h (engine_ops): Add 'setexpire' and adjust all
674 engine initializers.
675 * src/engine-gpg.c (gpg_setexpire): New.
676 (_gpgme_engine_ops_gpg): Set setexpire to gpg_setexpire.
677 * doc/gpgme.texi: Document new functions.
678 * tests/run-genkey.c: Add option --setexpire.
679
680 2020-07-16 Werner Koch <wk@gnupg.org>
681
682 Release 1.14.0.
683 + commit 6d7bf78ca5af35b0860aa20b12f799ab03752190
684 * configure.ac: Bump LT versions to c=C34/A23/R0 cpp=C17/A11/R0
685 qt=C11/A4/R0.
686
687 2020-07-16 Andre Heinecke <aheinecke@gnupg.org>
688
689 qt, cpp: Support export modes.
690 + commit 690d967196d9f888e2b7c12d8c77ad752d7e15bf
691 * lang/cpp/context.cpp, lang/cpp/context.h
692 (Context::startPublicKeyExport, Context::exportPublicKeys): Extend
693 with flags paramenter.
694 (Context::ExportMode): New.
695 * lang/qt/src/exportjob.h (ExportJob::setExportMode): New.
696 * lang/qt/src/qgpgmeexportjob.cpp, lang/qt/src/qgpgmeexportjob.h:
697 Update accordingly.
698
699 2020-07-16 Werner Koch <wk@gnupg.org>
700
701 core: Also allow GPGME_EXPORT_MODE_SSH for gpgme_op_export.
702 + commit dfeedcc28d0406f5ad8ff8ad397e1ef930676535
703 * src/export.c (export_start): Allow that mode.
704
705 core: New export mode to export as OpenSSH public key.
706 + commit 7f9e0ca57b29cc96bd1ca717d891c11db7435c5a
707 * src/gpgme.h.in (GPGME_EXPORT_MODE_SSH): New.
708 * src/export.c (export_ext_start): Allow for new mode.
709 * src/engine-gpg.c (export_common): Implement.
710 * tests/run-export.c (status_cb): New.
711 (main): New options --status and --ssh.
712
713 2020-07-15 Werner Koch <wk@gnupg.org>
714
715 core: Deprecate the non-working trustlist functions.
716 + commit 858909168298e8c6fb6f9f9009be2ee2d0d9f0ec
717 * src/gpgme.h.in: Clarify that the trustlist function should not be
718 used.
719 * src/engine.c (_gpgme_engine_op_trustlist): Always return an error.
720 * src/engine-backend.h (struct engine_ops): Remove trustlist member.
721 * src/engine-gpg.c (gpg_trustlist): Remove.
722 (struct engine_ops): Remove that member. Also in all other engines.
723 * tests/gpg/t-trustlist.c: Remove.
724 * lang/python/tests/t-trustlist.py: Remove.
725
726 core: New keylist mode GPGME_KEYLIST_MODE_WITH_KEYGRIP.
727 + commit c8048bf8eb988f22b20215197f4739bedafc4264
728 * src/gpgme.h.in (GPGME_KEYLIST_MODE_WITH_KEYGRIP): New.
729 * src/gpgme-json.c (op_keylist): New flag "keygrip".
730 * src/engine-gpg.c (gpg_keylist_build_options): Pass the options.
731
732 * lang/cpp/src/global.h (WithKeygrip): New.
733 * lang/cpp/src/context.cpp: Add check.
734 * lang/cpp/src/key.cpp (Key::update): Handle WithKeygrip.
735 * lang/cpp/src/verificationresult.cpp: Ditto.
736 * lang/cpp/src/util.h (add_to_gpgme_keylist_mode_t): Ditto.
737
738 2020-07-14 Werner Koch <wk@gnupg.org>
739
740 python: Workaround for a regression in GnuPG 2.2.21.
741 + commit 32b80cf3c7d278ddf27117617a3e95e4a12c28c8
742 * lang/python/tests/support.py (is_gpg_version): New.
743 * lang/python/tests/t-encrypt-sym.py: Add workaround.
744
745 2020-06-09 Andre Heinecke <aheinecke@gnupg.org>
746
747 doc: Explain verify_result_t.status == 0 more.
748 + commit 88f3202521d422d94bfd79e61bde00707d6f28c9
749 * doc/gpgme.texi (gpgme_verify_result_t): Explain
750 GPGME_STATUS_NO_ERROR more clearly.
751
752 2020-06-05 Werner Koch <wk@gnupg.org>
753
754 core: Fix setting of the chain_model signature result.
755 + commit 728ead8ebd426307c6b3f1e3794b3a7ab585eebd
756 * src/verify.c (parse_trust): Fix detection of "chain" keyword.
757
758 2020-05-11 NIIBE Yutaka <gniibe@fsij.org>
759
760 tests: Remove/change tests for GnuPG 2.3 with no gpg.keyserver.
761 + commit 0cc040e82f9943792a58e73dbc97e20d312858fb
762 * lang/qt/tests/t-config.cpp (testKeyserver): Remove.
763 * tests/gpg/t-gpgconf.c (main): Test with dirmngr.keyserver.
764
765 2020-05-08 Andre Heinecke <aheinecke@gnupg.org>
766
767 w32: Explicitly link ws2_32.
768 + commit 52f930c1ed7eee6336a41598c90ef3605b7ed02b
769 * src/Makefile.am (gpgme_w32_extra_libs): New.
770 (libgpgme_la_LIBADD, libgpgme_glib_la_LIBADD): Use it.
771
772 2020-05-08 dupgit <olivier.delhomme@free.fr>
773
774 GPGME_CREATE_NOEXPIRE is only available since 1.9.0.
775 + commit 49c13854f3bf49bc0bf18c6ae6bbf9d66b6625c2
776 * doc/gpgme.texi: Fixes version number from 1.8.0 to
777 1.9.0 for GPGME_CREATE_NOEXPIRE.
778
779 GnuPG-Bug-Id: T4922
780
781 2020-05-08 Werner Koch <wk@gnupg.org>
782
783 core: Make sure the keygrip is available in WITH_SECRET mode.
784 + commit 004fdf61c8b94f646409f4d5855adf8e43b29627
785 * src/engine-gpg.c (gpg_keylist_build_options): Send --with-keygrip
786 if --with-secret is used.
787
788 2020-05-08 Andre Heinecke <aheinecke@gnupg.org>
789
790 tests, json: Do not check for keygrip of pubkeys.
791 + commit 5c0d1c7f76c95bad8bce4ad3bafd121ec5101d3c
792 * tests/json/t-keylist-secret.out.json: Do not check for keygrip
793 of bravo key.
794
795 2020-03-27 NIIBE Yutaka <gniibe@fsij.org>
796
797 tests: Add ECC key generation for tests/gpgsm.
798 + commit 3658e2df65d321e334a8c96b4d252a4be20354bd
799 * tests/gpgsm/t-genkey.c (check_result): New.
800
801 build: Fix library dependency.
802 + commit 71ef398bfd72d505290376d82575eb4f3aece035
803 * src/Makefile.am (gpgme_tool_LDADD): Add @GPG_ERROR_LIBS@.
804
805 2020-03-17 Werner Koch <wk@gnupg.org>
806
807 core: New context flags "include-key-block" and "auto-key-import".
808 + commit 3afa534645e3826c95e7c70d7ae61ffa2d63acec
809 * src/gpgme.c (gpgme_set_ctx_flag): Add flags "include-key-block" and
810 "auto-key-import".
811 (gpgme_get_ctx_flag): Ditto.
812 * src/context.h (struct gpgme_context): Add flags include_key_block
813 and auto_key_import.
814 * src/engine-gpg.c (struct engine_gpg): Likewise.
815 (gpg_set_engine_flags): Set the flags for gpg versions >= 2.2.20.
816 (gpg_decrypt): Set option according to the new flags.
817 (gpg_encrypt): Ditto.
818 (gpg_encrypt_sign): Ditto.
819 (gpg_sign): Ditto.
820 (gpg_verify): Ditto.
821
822 tests/run-verify: Add option --auto-key-import.
823 tests/run-sign: add option --include-key-block.
824
825 2020-03-03 Bernhard Reiter <bernhard@intevation.de>
826
827 python: fix minor typo in howto.
828 + commit 11edc073a3d2bf72e49827e97349cb364612f300
829
830
831 2020-02-19 Andre Heinecke <aheinecke@gnupg.org>
832
833 qt: Change logging category.
834 + commit ec9690cf5ce85f43997ac2a3abd3e728012aee4a
835 * lang/qt/src/*: Change logging category to macro to QGPGME_LOG.
836
837 qt: Log execution args of gpg-card.
838 + commit ba08aadfa7d254f459f51470a7331c6cc2de5199
839 * lang/qt/src/qgpgmegpgcardjob.cpp (do_work): Log call.
840
841 2020-02-12 Andre Heinecke <aheinecke@gnupg.org>
842
843 qt: Add dummy context to make mixin happy.
844 + commit 9ca679c15054fbc1cc20e428a6ddf6a67dd0491e
845 * lang/qt/qgpgmegpgcardjob.cpp (QGpgMEGpgCardJob): Add context.
846
847 qt: Add GpgCardJob following the job pattern.
848 + commit 77feaa451074741c2d07051915bc23d8b8377242
849 * lang/qt/src/Makefile.am: Add new files.
850 * lang/qt/src/job.cpp (GpgCardJob): Add impl stuff.
851 * lang/qt/src/protocol.h (gpgCardJob): Get one.
852 * lang/qt/src/qgpgmebackend.cpp,
853 lang/qt/src/qgpgmebackend.h: Add helpers to get the job.
854 * lang/qt/src/qgpgmegpgcardjob.cpp,
855 lang/qt/src/gpgcardjob.h,
856 lang/qt/src/qgpgmegpgcardjob.h: New.
857
858 2020-01-29 Andre Heinecke <aheinecke@gnupg.org>
859
860 Do not test for a bug in older GnuPG versions.
861 + commit cff600f1f65a2164ab25ff2b039cba008776ce62
862 * tests/json/t-keylist-secret.out.json
863
864 2020-01-24 Daniel Kahn Gillmor <dkg@fifthhorseman.net>
865
866 m4/python: Scan for python 3.8 as well.
867 + commit 414938cfedbdb97b83d00e8619dec9502096be22
868 * m4/python.m4: Scan for python 3.8 as well.
869
870 2020-01-17 Andre Heinecke <aheinecke@gnupg.org>
871
872 core: Add MacOS fallbacks to look for binaries.
873 + commit 39052913f2154fa8e9575727e27d4101ef8b6460
874 * src/posix-util.c (find_executable): New.
875 (walk_path_str): Factored out from walk_path.
876 (walk_path): Replaced by find_executable.
877 (_gpgme_get_gpg_path, _gpgme_get_gpgconf_path): Use find_executable.
878
879 2019-12-13 Andre Heinecke <aheinecke@gnupg.org>
880
881 cpp, qt: Use uidhash to select uids for signing.
882 + commit 194272dbc3e326cc32c1464bc6fda0c0d10b5559
883 * lang/cpp/src/gpgsignkeyeditinteractor.cpp (action):
884 Use uidhash instead of number.
885 (GpgSignKeyEditInteractor::setKey): New.
886 * lang/cpp/src/gpgsignkeyeditinteractor.h: Update accordingly.
887 * lang/cpp/src/key.h, lang/cpp/src/key.cpp: Wrap uidhash.
888 * lang/qt/src/qgpgmesignkeyjob.cpp: Set the key.
889
890 2019-12-13 Werner Koch <wk@gnupg.org>
891
892 core: Extend gpgme_user_id_t with uidhash member.
893 + commit 5eeae535ee0df981d8ae8b758b5bb0d190c7fd89
894 * src/gpgme.h.in (struct _gpgme_user_id): Add field 'uidhash'.
895 * src/key.c (gpgme_key_unref): Free it.
896 * src/keylist.c (keylist_colon_handler): Set it.
897 * tests/run-keylist.c (main): Print it.
898
899 2019-12-11 Andre Heinecke <aheinecke@gnupg.org>
900
901 Revert "doc: Remove UI Server documentation"
902 + commit 7e7eaf43424556c3c25edc7b67e760ab60de55ce
903 This reverts commit 1b2ad3b73c37d0583b8e438b4707dca60e26ae7e.
904
905 2019-12-06 Daniel Kahn Gillmor <dkg@fifthhorseman.net>
906
907 gpg: Avoid error diagnostics with --override-session-key when verifying.
908 + commit ae4d7761a15b82eb98b0bcc72af2ae2e8973e1f9
909 * src/engine-gpg.c (gpg_decrypt): only send --no-keyring when we are
910 not verifying.
911
912 2019-12-04 Daniel Kahn Gillmor <dkg@fifthhorseman.net>
913
914 gpgme-tool: Fix help text for INCLUDE_CERTS.
915 + commit c0c97dbbe6e08d338ba56abec023bd57287e3239
916 * src/gpgme-tool.c (hlp_include_certs): added missing newline.
917
918 2019-11-27 Werner Koch <wk@gnupg.org>
919
920 core,w32: Silence compiler warnings.
921 + commit d480a3c8f3a3fff867b84fd8feca9f111ae4adc7
922 * src/w32-util.c (_gpgme_w32_cancel_synchronous_io): Add some casts.
923
924 2019-11-12 Andre Heinecke <aheinecke@gnupg.org>
925
926 doc: Remove UI Server documentation.
927 + commit 1b2ad3b73c37d0583b8e438b4707dca60e26ae7e
928 * doc/Makefile.am: Remove uiserver.texi
929 * doc/gpgme.texi: Remove UI-Server mentions.
930 * doc/uiserver.texi: Removed.
931
932 2019-11-08 NIIBE Yutaka <gniibe@fsij.org>
933
934 qt,tests: Take care for old DSA key using deprecated digest algo.
935 + commit c49324200734e8ee8524bc096195e24e8aae87cb
936 * lang/qt/tests/t-remarks.cpp (initTestCase): Supply
937 allow-weak-key-signatures flag for GnuPG 2.3, which
938 normally rejects use of SHA1 digest.
939
940 2019-11-06 Andre Heinecke <aheinecke@gnupg.org>
941
942 qt, tests: Add check for supported versions.
943 + commit e7b5c6405da515101f62acce2837e6c0cc115b76
944 * lang/qt/tests/t-encrypt.cpp (decryptSupported): Moved to
945 t-support as loopbackSupported.
946 * lang/qt/tests/t-remarks.cpp: Check for loopbackSupported.
947 * lang/qt/tests/t-support.cpp, lang/qt/tests/t-support.h
948 (loopbackSupported): New.
949
950 qt, tests: Replace accidentally commited assert.
951 + commit 024edbbd3c0059654e13c1c6acf78456450469ab
952 * lang/qt/test/t-remarks.cpp (testRemarkReplaceSingleUIDExportable):
953 Use QVERIFY instead of assert.
954
955 qt,tests: Add test to add an exportable certify.
956 + commit a56f6015e9518180237a70b8abc5ab9804212986
957 * lang/qt/test/t-remarks.cpp (testRemarkReplaceSingleUIDExportable):
958 New.
959
960 2019-11-06 NIIBE Yutaka <gniibe@fsij.org>
961
962 python: Fix how to generate documentation.
963 + commit 1b840a151ad7f9680ec5144da5efb0ee6c1dcf1f
964 * lang/python/doc/Makefile.am: Explicitly write rules to generate rst
965 and texinfo files.
966
967 2019-11-04 Andre Heinecke <aheinecke@gnupg.org>
968
969 qt, tests: Add testcase for multiple remarsk.
970 + commit 9cf4db1e5271ae1dd6f7ecb11513203cec368bc6
971 * lang/qt/tests/t-remarks.cpp (testMultipleRemarks): New.
972
973 cpp: Add API to obtain mutliple remarks.
974 + commit cb7668caeb71429afce1aded9128334182b233e1
975 * lang/cpp/src/key.cpp, lang/cpp/src/key.h (UserID::remarks): New.
976 * NEWS: Mention this.
977
978 qt,tests: Move remarks test out and extend it.
979 + commit db888b1cc05723423a3154fe89e6191812c9c869
980 * lang/qt/tests/t-various.cpp (testRemarks): Move out.
981 * lang/qt/tests/t-remarks.cpp: New.
982 * lang/qt/tests/Makefile.am: Update accordingly.
983
984 cpp: Fix dupe_ok state for single uid.
985 + commit 08933c183a4c299eb4696092d6d229f607fce985
986 * lang/cpp/src/gpgsignkeyeditinteractor.cpp (makeTable):
987 Add transition from command to dupe_ok
988
989 2019-11-01 Andre Heinecke <aheinecke@gnupg.org>
990
991 qt: Allow adding empty remarks.
992 + commit d61491dd25d86a2bee54e4be29b715d97840be67
993 * lang/qt/src/qgpgmesignkeyjob.cpp (sign_key): Allow empty
994 remarks.
995
996 cpp: Minor optimization in remark lookup.
997 + commit 174caaa6f53e1125724a47dad3a5c991298aee6d
998 * lang/cpp/src/key.cpp (UserID::remark): Use C-API.
999
1000 cpp: Fix adding duplicated sigs on multiple uids.
1001 + commit 266e05eee859b83d97079c2fbbd2f1da010fa412
1002 * lang/cpp/src/gpgsignkeyeditinteractor.cpp: Add another
1003 state DUPE_OK2 to allow gpg looping over all uids.
1004
1005 cpp: Add env var to control editinteractor debug.
1006 + commit a4d5394b4607382d846e8c156439ac182f9945d7
1007 * lang/cpp/src/editinteractor.cpp (EditInteractor::Private::Private):
1008 Read "GPGMEPP_INTERACTOR_DEBUG" env var.
1009 (EditInteractor::Private::~Private): Close debug file.
1010
1011 2019-10-29 Andre Heinecke <aheinecke@gnupg.org>
1012
1013 core: Fix parsing of userid sigs after a subpkg.
1014 + commit 1242c6c93ac63383f648dd84cff847b86f4925f9
1015 * src/keylist.c (keylist_colon_handler): Do not clear
1016 out the tmp_uid when a subpacket line is encountered.
1017
1018 qt,tests: Add test for remarks.
1019 + commit 1f3ca698f16465761649d402b999f0e2c9184344
1020 * lang/qt/tests/t-various.cpp (testRemark): New.
1021
1022 qt: Extend signkeyjob to handle remarks and dups.
1023 + commit 373acd6923f2fc968fb870d2a8a9b49398cb652f
1024 * lang/qt/src/qgpgmesignkeyjob.cpp: Handle remarks and
1025 dupeOK.
1026 * lang/qt/src/signkeyjob.h (SignKeyJob::setDupeOk),
1027 (SignKeyJob::setRemark): New.
1028
1029 cpp: Add support for multiple keysigs in edit.
1030 + commit 36f7f7a478228a64d3d51a4901a264c8f55f90bb
1031 * lang/cpp/src/gpgsignkeyeditinteractor.cpp
1032 (GpgSignKeyEditInteractor::setDupeOk): New.
1033 (makeTable): Add new tansitions.
1034 (SignKeyState): Add DUPE_OK Status.
1035 (GpgSignKeyEditInteractor::action): Handle DUPE_OK.
1036 (GpgSignKeyEditInteractor::Private::Private): Carry flag.
1037
1038 cpp: Add convenience API to obtain remarks.
1039 + commit 83ecf1686a9a4e7de3a7b176cf272d9f9f640445
1040 * lang/cpp/src/key.h, lang/cpp/src/key.cpp (UserID::remark): New.
1041
1042 core: Add cert-notation support and extended-edit.
1043 + commit 0224408c6332648461bdbba562f1a61c947c8ed3
1044 * src/context.h (gpgme_context): Add new flag for extended-edit.
1045 * src/engine-gpg.c (append_args_from_sig_notations): Add flags to
1046 control the kind of notations.
1047 (gpg_edit): Respect extended-edit and notations.
1048 (gpg_encrypt_sign, gpg_sign): Update call to
1049 append_args_from_sig_notations.
1050 * src/gpgme.c (gpgme_set_ctx_flag, gpgme_get_ctx_flag): Support
1051 extended-edit.
1052 * NEWS, doc/gpgme.texi: Mention extended-edit.
1053
1054 2019-10-28 Andre Heinecke <aheinecke@gnupg.org>
1055
1056 core,w32: Initialize dbg_help for socket debugging.
1057 + commit fe2892618c20cd40c342cce26ffb6ac4644fd3c3
1058 * src/w32-io.c (_gpgme_io_select): Initialize dbg_help.
1059
1060 2019-08-06 NIIBE Yutaka <gniibe@fsij.org>
1061
1062 json: Fix t-decrypt-verify.out for GnuPG >= 2.3.
1063 + commit b97434fbf087f3176daf39699ff579d38d265317
1064 * tests/json/t-decrypt-verify.out.json: Remove check with key of
1065 04071FB807287134.
1066
1067 2019-07-16 Andre Heinecke <aheinecke@gnupg.org>
1068
1069 core: Fix arg counting in enginge-gpg.
1070 + commit 6f4a886b30caaac3a30fcf30a7525d656d7e25ce
1071 * src/engine-gpg.c (build_argv): Properly check for all
1072 arguments and allocate memory for them.
1073
1074 2019-07-12 NIIBE Yutaka <gniibe@fsij.org>
1075
1076 python: doc: Remove generated files, put rules in Makefile.
1077 + commit 36428d8cf153a33faac6a951752cdc76e23f9737
1078 * lang/python/doc/Makefile.am (EXTRA_DIST): Remove files not
1079 distributed like files under meta.
1080 * Add rules to generate .rst and .texi files.
1081 * lang/python/doc/rst: Remove .rst files to be generated.
1082 * lang/python/doc/texinfo: Remove .texi files to be generated.
1083
1084 python: doc: Add suffix for org files.
1085 + commit d9387650ffb159bbd04db74c4a1dba6f94e83116
1086
1087
1088 2019-06-13 Werner Koch <wk@gnupg.org>
1089
1090 Release 1.13.1.
1091 + commit ea11c2a13cd44caf0bab395bd5132bf232318ad8
1092 * configure.ac: Bump LT versions to c=C33/A22/R1 cpp=C16/A10/R0
1093 qt=C10/A3/R4.
1094
1095 python: Fix regression in t-decrypt-verify test.
1096 + commit 7d0a979c07d2a32c1e39a9403f009cbe026f77ff
1097 * lang/python/tests/t-decrypt-verify.py: Comment recent changes.
1098
1099 python: Set a default-key into gpg.conf for the tests.
1100 + commit ad1395f210f3a3d5839f482f1933eac80a94d174
1101 * lang/python/tests/Makefile.am (gpg.conf): Set a default key.
1102
1103 core: At debug levels up to 9 print only an ascii dump.
1104 + commit 4f11210b21a1914a1daf67474e9b82084b2cac01
1105 * src/debug.c (_gpgme_debug_buffer): Switch between two output
1106 formats.
1107
1108 2019-06-06 Werner Koch <wk@gnupg.org>
1109
1110 tests: Minor fix to run-threaded.c.
1111 + commit f6fd90c99aea8b604d76ae49d29bc5269c236a98
1112 * tests/run-threaded.c (random_data_close): Correct FD test.
1113
1114 core: Add commented debug helper to posix-io.c.
1115 + commit f84abcad253ace782708c05760e52793814896f4
1116 * src/posix-io.c (_gpgme_is_fd_valid): New out-commented function.
1117
1118 core: Fix error return value of _gpgme_run_io_cb.
1119 + commit 6b9ff1ba391a4364b37cb116748194f3f33b4f12
1120 * src/wait.c (_gpgme_run_io_cb): Fix return code.
1121
1122 2019-06-06 Andre Heinecke <aheinecke@gnupg.org>
1123
1124 tests: Add option "allow-del" to run-threaded.
1125 + commit e6f28273062ff26344163e219c1b784ae99de980
1126 * tests/run-threaded.c (main): Handle allow-del.
1127 (allow-del): New. Variable to allow deletion of keys.
1128 (import): Delete key after import if allow-del is set.
1129 (delete_impres): Delete keys from an import result.
1130 (delete_fpr): Delete a key by fingerprint.
1131
1132 2019-06-05 Andre Heinecke <aheinecke@gnupg.org>
1133
1134 tests: Implement import in run-threaded.
1135 + commit 024a7f75d4b8e017b92a13552b23e7fb1d22a5ce
1136 * tests/run-threaded.c (import): New.
1137 (do_data_op): Call it.
1138
1139 2019-06-05 Werner Koch <wk@gnupg.org>
1140
1141 core: Prettify _gpgme_io_select debug output again and fix TRACE_SYSRES.
1142 + commit 0f68c9f16bdae7295cac4cbf3c9a197840989a85
1143 * src/debug.c (_gpgme_debug): Take better care of NULL userinfo.
1144 (_gpgme_debug_end): Rework.
1145 (_trace_sysres): Print ERRNO and not the supplied RES.
1146
1147 2019-06-05 Andre Heinecke <aheinecke@gnupg.org>
1148
1149 tests: Use synced output for error in run-threaded.
1150 + commit 3a3648e3a56712261bda4fa866bd2419a740cec8
1151 * tests/run-threaded.c (do_data_op): Use synced out macro.
1152
1153 tests: Avoid variable named the same as a macro.
1154 + commit 3a11421d0f63b8cb5afa407cd65f763b11033241
1155 * tests/run-threaded.c (decrypt, verify): Don't use a variable name
1156 that is also a macro.
1157
1158 tests,w32: Fix thread creation in run-threaded.
1159 + commit 9bbe15ebbc41533fa219d5b3017a26a75bc72731
1160 * tests/run-threaded.c (create_thread): Check proper return
1161 value and not return value of CloseHandle.
1162
1163 2019-06-05 Werner Koch <wk@gnupg.org>
1164
1165 core: Improve the debug messages even more.
1166 + commit 8f9f3224aac78ce9d54e19e73acf7ab659787168
1167 * src/debug.c (_gpgme_debug): Add arg LINE. Chnage all callers.
1168 (_gpgme_debug_begin): Remove.
1169 * src/debug.h (TRACE_SEQ): Use the LINE arg of _gpgme_debug.
1170
1171 core: Avoid explicit locks in the debug code.
1172 + commit 856d2e8d64f668855b1c22d3d38fe783904c6c48
1173 * src/debug.c (debug_lock): Remove. Also remove all users.
1174 (_gpgme_debug): Use gpgrt_bsprintf to prepare the output and finally
1175 print using standard fprintf. Reformat to prefix to be narrower.
1176
1177 2019-06-04 Werner Koch <wk@gnupg.org>
1178
1179 json: Print "nan", "-inf", "inf" if needed.
1180 + commit f56c996318dfa1c9f0d10582b18c2fce10d24668
1181 * src/cJSON.c (print_number): Print NaN and INF.
1182
1183 json: Improve handling of large exponents in the JSON parsor.
1184 + commit fabe96126b4ed9c5e07b713813d7db26a02e5e5f
1185 * src/cJSON.c: Include stdint.h.
1186 (parse_number): Avoid overflob in SUBSCALE and cap integer values.
1187
1188 core: Implement recpstring option parsing for gpgsm.
1189 + commit 1024884e07f750ce781fa74dffa62e126bdda622
1190 * src/engine-gpg.c (append_args_from_recipients_string): Detect bad
1191 options.
1192 * src/engine-gpgsm.c (set_recipients_from_string): Implement option
1193 parsing.
1194
1195 core: Make gpgme_op_encrypt_ext work for CMS.
1196 + commit e9ca36f876e1066227668981f5a9e1a7f1031d9e
1197 * src/engine-gpgsm.c (gpgsm_encrypt): Fix argument check.
1198
1199 2019-06-04 NIIBE Yutaka <gniibe@fsij.org>
1200
1201 python: Fix typo in DecryptionError exception.
1202 + commit 47135ffdb923de66bc275a37e31811ad22c73dd7
1203 * lang/python/src/errors.py (DecryptionError): Rename from
1204 DeryptionError.
1205 (UnsupportedAlgorithm): Use DecryptionError.
1206
1207 2019-06-03 Andre Heinecke <aheinecke@gnupg.org>
1208
1209 Add NEWS for 1.13.1.
1210 + commit 49883023f661a18d73f9f2c7a3a98902af62ef6b
1211 * NEWS: Add news for 1.13.1
1212
1213 2019-05-06 Andre Heinecke <aheinecke@gnupg.org>
1214
1215 python: Make EXTRA_DIST files explicit.
1216 + commit f9c923bb2d87711235312e8085964372d7480ce4
1217 * configure.ac: Configure new Makefiles.
1218 * lang/python/Makefile.am: Remove dirs from extra dist and use
1219 subdirs.
1220 * lang/python/examples/Makefile.am, lang/python/src/Makefile.am,
1221 lang/python/doc/Makefile.am: New. Files that list EXTRA_DIST files.
1222
1223 Python, doc: Minor style improvement.
1224 + commit 63055f13407760c877e5a3a94e564dfb3077dd47
1225 * lang/python/src/core.py (Context): Retab and shorten
1226 max line length.
1227
1228 Merge remote-tracking branch 'origin/dkg/fix-T4276'
1229 + commit f303806a110a9813023a5fd9468a55ab0f7fb39d
1230
1231
1232 2019-05-03 Andre Heinecke <aheinecke@gnupg.org>
1233
1234 Always use maintainer mode -Wno cflags.
1235 + commit 33b13d1c290d7ce35c636cce4265b512fb8e64c3
1236 * configure.ac (CFLAGS): Move -Wno flags out of the maintainer mode.
1237
1238 cpp: Fix initialization warning.
1239 + commit 0ed81498147723f0e9282df5ae08b8b8e40edd2f
1240 * lanc/cpp/src/gpggencardkeyinteractor.cpp
1241 (GpgGenCardKeyInteractor::Private): Fix initialization warning.
1242
1243 2019-05-03 Daniel Kahn Gillmor <dkg@fifthhorseman.net>
1244
1245 python: stop raising BadSignatures from decrypt(verify=True)
1246 + commit 4100794e305ba22241ea5a4f7b42bb5189fbd948
1247 * src/core.py (decrypt): filter out signatures with errors from the
1248 returned verify_result, but avoid raising BadSignatures
1249 * tests/t-decrypt-verify.py: ensure that only a single signature is
1250 returned when evaluating cipher-3.asc, since the other signature is
1251 unknown.
1252
1253 python/tests: try to decrypt and verify new test data.
1254 + commit bd2d282e572b5d02669238c9e087259b85638477
1255 * lang/python/tests/t-decrypt.py: test decryption of cipher-3.asc and
1256 cipher-no-sig.asc
1257 * lang/python/tests/t-decrypt-verify.py: test decryption and
1258 verification of cipher-3.asc and cipher-no-sig.asc
1259
1260 tests: add two new types of encrypted data.
1261 + commit c5c3a9d10be415ea7bc0cd9730ad6085f16ee7a0
1262 * tests/gpg/cipher-3.asc: add an encrypted file containing signatures
1263 (one from a known key, and one from an unknown key)
1264 * tests/gpg/cipher-no-sig.asc: add an encrypted file containing no
1265 signatures at all
1266
1267 python: make it easier to run a limited number of tests.
1268 + commit 30bd1c097544376f257d426d5feb4706fb5d3afd
1269 * lang/python/tests/Makefile.am: prefer py_tests from the environment
1270 if present.
1271
1272 2019-05-02 Andre Heinecke <aheinecke@gnupg.org>
1273
1274 tests: Add cms mode to run-import.
1275 + commit 4746c5c9e2dd9a3ee471a429c19bc1f7fd1d07db
1276 * tests/run-import.c (show_usage): Add doc for cms / openpgp.
1277 (main): Handle protocol.
1278
1279 2019-04-24 Andre Heinecke <aheinecke@gnupg.org>
1280
1281 cpp: Add wrapper for gpgme_set_global_flag.
1282 + commit 7981ec4147f3058d5b56905903456247993dc6f7
1283 * lang/cpp/src/context.cpp (setGlobalFlag): New.
1284 * lang/cpp/src/global.h (setGlobalFlag): Export it.
1285
1286 2019-04-19 NIIBE Yutaka <gniibe@fsij.org>
1287
1288 core: Fix duplication of close_notify_handler for gpgsm.
1289 + commit 7673ef7953482f42cab50dca1810e5c9d10f461e
1290 * src/engine-gpgsm.c [!USE_DESCRIPTOR_PASSING] (gpgsm_new): Remove
1291 last call to _gpgme_io_set_close_notify.
1292
1293 core: Fix error return.
1294 + commit 814f6c8de8006830f19a029a879bd92f9e584789
1295 * src/engine.c (_gpgme_set_engine_info): Add error return.
1296
1297 2019-04-09 Andre Heinecke <aheinecke@gnupg.org>
1298
1299 core,w32: Fix minor potential memleak.
1300 + commit 140d694e1fddf16fa3fd2371b9a852ebb14622c8
1301 * src/w32-util.c (_gpgme_create_process_utf8): Free converted
1302 startup info strings.
1303
1304 core,w32: Fix new w32-util functions.
1305 + commit ecbba12b869106ba03e10b7b7dd80f74d086831b
1306 * src/w32-util.c (_gpgme_access): Respect mode parameter.
1307 (_gpgme_create_process_utf8): Convert startupinfo, too.
1308
1309 core,w32: Improve handling of Unicode paths.
1310 + commit a82e3a0ae57a48ba173e282a050680751006c074
1311 * src/dirinfo.c (get_gpgconf_item): Use _gpgme_access.
1312 * src/posix-util.c (_gpgme_access): Add forward to normal access.
1313 * src/sys-util.h (_gpgme_access): New for posix and w32.
1314 * src/w32-io.c (_gpgme_io_spawn): Use _gpgme_crate_process_utf8.
1315 * src/w32-util.c (utf8_to_wchar, utf8_to_wchar0): The usual w32 conv.
1316 (find_program_in_dir): Use _gpgme_access.
1317 (find_program_at_standard_place): Use wchar API and convert to UTF-8.
1318 (_gpgme_access): Convert UTF-8 to wchar and use wchar API.
1319 (_gpgme_create_process_utf8): Convert UTF-8 to wchar and use wchar API.
1320
1321 core,w32: Show w32-spawn warning only once.
1322 + commit 937adfdcbb22f715c5a331e5e2d4546ac15a1b7e
1323 * src/w32-io.c (_gpgme_io_spawn): Show MessageBox only once.
1324
1325 2019-03-27 Andre Heinecke <aheinecke@gnupg.org>
1326
1327 core, w32: Fix format string errors on windows.
1328 + commit 4a4680f8901ecdcb7e8d5ed55f48226ccfccd7c8
1329 * src/debug.c (_gpgme_debug): Use gpgrt_vasprintf instead of
1330 vfprintf to have a more portable format.
1331
1332 core: Fix assuan logger-fd hack for windows.
1333 + commit 19a4c4daa2cfd075b181d5131a4b8b4d54714b8c
1334 * src/assuan-support.c (my_spawn): Zero is a perfectly fine fd.
1335
1336 2019-03-26 Andre Heinecke <aheinecke@gnupg.org>
1337
1338 core,w32,glib: Fix build of w32-glib-io.c.
1339 + commit 213c4bc1eb1f45695cc3955cc722ebb363dcbdd0
1340 * src/w32-glib-io.c (_gpgme_io_pipe, _gpgme_io_connect): Do not
1341 use TRACE_SUC in a return statement.
1342
1343 2019-03-26 Werner Koch <wk@gnupg.org>
1344
1345 Release GPGME 1.13.0.
1346 + commit 1b5a6bf27ac9b2e5a1fc4d5e879bd4901fcad5bb
1347 * configure.ac: Bump LT versions.
1348 For C to C33/A22/R0.
1349 For C++ to C15/A9/R0.
1350 For Qt to C10/A3/R3.
1351
1352 2019-03-26 Andre Heinecke <aheinecke@gnupg.org>
1353
1354 core: Fix a strtoul to strtol.
1355 + commit 10576dc427b3746e2c3b9bc40efe618a3bd40519
1356 * src/assuan-support.c (my_spawn): Fix using strtoul for
1357 a long.
1358
1359 cpp: Fix GenCardKeyInteractor and extend it.
1360 + commit ffdb75217bc09561cf651dab15cd26e0024d89a7
1361 * NEWS: Mention interface change.
1362 * lang/cpp/src/gpggencardkeyinteractor.cpp
1363 (GpgGenCardKeyInteractor::setAlgo): New.
1364 (GpgGenCardKeyInteractor::action),
1365 (GpgGenCardKeyInteractor::nextState: Handle new interface.
1366
1367 2019-03-25 Andre Heinecke <aheinecke@gnupg.org>
1368
1369 core, w32: Add hack to translate diag logger-fd.
1370 + commit 129def87b262241483ba3a8b6771ad6d07c2e3be
1371 * src/assuan-support.c (my_spawn): Add hack to
1372 mark the logger fd for w32spawn translation.
1373
1374 2019-03-20 Andre Heinecke <aheinecke@gnupg.org>
1375
1376 qt: Handle diagnostic audit log for CMS.
1377 + commit 47369569e23482bdd24a136b071192352b1d1347
1378 * lang/qt/src/threadedjobmixin.cpp(_detail::audit_log_as_html):
1379 Handle CMS audit log.
1380
1381 2019-03-19 Werner Koch <wk@gnupg.org>
1382 Andre Heinecke <aheinecke@gnupg.org>
1383
1384 core: Support GPGME_AUDITLOG_DIAG for gpgsm.
1385 + commit dd21ec997cf4b6ba18538c63c728478110ad1f60
1386 * src/engine-gpgsm.c (struct engine_gpgsm): Add fields diag_cb and
1387 diagnostics.
1388 (close_notify_handler): Close the diag fd on status fd close.
1389 Handle diag close.
1390 (gpgsm_cancel): Handle diag.
1391 (gpgsm_release): Free DIAGNOSTICS.
1392 (gpgsm_new): Support the diag feature.
1393 (start): Set a handler for the diag fd.
1394 (gpgsm_getauditlog): Support GPGME_AUDITLOG_DIAG.
1395
1396 2019-03-13 Andre Heinecke <aheinecke@gnupg.org>
1397
1398 cpp: Fix Error::hasSystemError.
1399 + commit c4cc47ee8f0bedc58e58ab416689d7014b0df2e7
1400 * lang/cpp/src/context.cpp (Error::hasSystemError): Invert logic to
1401 do what it says.
1402
1403 2019-02-28 Werner Koch <wk@gnupg.org>
1404
1405 json: Fix cosmetic error in the repl.
1406 + commit 1bdab961c51fc038c33ae8116595aa0213ab1dd5
1407 * src/gpgme-json.c (native_messaging_repl): Use correct var with sizeof.
1408
1409 tests: Let run-verify print the de-vs flag.
1410 + commit b159b2eddd9df5df6cc8f29bd999cf1603c56991
1411 * tests/run-verify.c (print_result): Chack is_de_vs.
1412 * tests/run-import.c (main): Fix bad parameter for format string.
1413
1414 2019-02-27 Andre Heinecke <aheinecke@gnupg.org>
1415
1416 json: Limit recursion depth.
1417 + commit 4a117859e7a512458ab78cfedfae0372805196b1
1418 * src/cJSON.c (MAX_DEPTH): New. Maximum recursion depth.
1419 (parse_value, parse_array, parse_object): Carry and check
1420 depth argument.
1421 (cJSON_ParseWithOpts): Initialize depth.
1422
1423 2019-02-21 Andre Heinecke <aheinecke@gnupg.org>
1424
1425 cpp: Add ostream operators for import result.
1426 + commit 73b2f40ae5e6881991dea609b0781373b28d7d30
1427 * lang/cpp/src/importresult.cpp: Add ostream operators.
1428 * lang/cpp/src/importresult.h: Update accordingly.
1429
1430 cpp: Make GpgME::Data::toKeys really const.
1431 + commit 6175025c822678102c3f089e37952aa84b19a3ec
1432 * lang/cpp/src/data.cpp (GpgME::Data::toKeys): Rewind afterards.
1433
1434 2019-02-19 Werner Koch <wk@gnupg.org>
1435
1436 core,w32: Fix missing sentinel in dir name builder.
1437 + commit 4c49417cc0dbd7f34269aff00fccafba150af744
1438 * src/w32-util.c (_gpgme_get_gpgconf_path): Add NULL top strconcat.
1439
1440 2019-02-11 Andre Heinecke <aheinecke@gnupg.org>
1441
1442 tests: Fix memleak in run-threaded.
1443 + commit f8312d7c333193582dcb5816198219b9564023f0
1444 * tests/run-threaded.c (verify): Free msg.
1445
1446 2019-02-10 Ben McGinnes <ben@adversary.org>
1447
1448 python: examples.
1449 + commit 302d5ef52e095378231efd54677b5c315354ad78
1450 * A rather obvious variant of the existing key import examples, except
1451 directed at Mailvelope's keyserver.
1452 * Yeah, Werner, I know ... but it exists because I used it and there's
1453 no harm in sharing.
1454
1455 2019-01-30 Ben McGinnes <ben@adversary.org>
1456
1457 python: docs.
1458 + commit e005052f4d5b29beda2252f8042dbf5728f5e2aa
1459 * Version bump in preparation for whenever GPGME 1.13.0 happens.
1460 * Ran the post_installer.py for docs preparation again.
1461
1462 2019-01-27 Ben McGinnes <ben@adversary.org>
1463
1464 python: post installer script.
1465 + commit 2de1e599770cdb129b84302d963f65fdd3ddd2a4
1466 * Removed auto-generated .texi files from doc/src/ so only the
1467 corrected versions are left.
1468 * Which means now it is complete, but with the initial work to expand
1469 it with info file generation later.
1470
1471 python: post installer docs fix script.
1472 + commit 1e265723653042bc1010b457537b69a2011b43b7
1473 * Moved post_installer.py into the examples/howto/ directory.
1474 * Added instructions for its use to the Python Bindings HOWTO.
1475 * Ran it as intended from the lang/python/ directory in order to both
1476 prove it works and quickly and easily get the updated howto
1477 replicated. Also to fix all those .texi files.
1478
1479 2019-01-25 Werner Koch <wk@gnupg.org>
1480
1481 json: Better use gpgme_free.
1482 + commit ed81892917f47dddc23aa99d88733e3f8f344256
1483 * src/gpgme-json.c (subkey_to_json): here
1484
1485 json: Fix minor memory leaks.
1486 + commit 7f2423371964263784252cf839269023b6573bd2
1487 * src/gpgme-json.c (interactive_repl): Fix memleak.
1488 (subkey_to_json): Ditto
1489 (op_config): Delay init of j_comps to avoid a leak on error.
1490
1491 2019-01-16 NIIBE Yutaka <gniibe@fsij.org>
1492
1493 build: With LD_LIBRARY_PATH defined, use --disable-new-dtags.
1494 + commit 66bcb8acb2452cf19318023ed0ff1ea7d7bb8439
1495 * configure.ac (LDADD_FOR_TESTS_KLUDGE): New for --disable-new-dtags.
1496 * tests/Makefile.am (LDADD): Use LDADD_FOR_TESTS_KLUDGE.
1497 * lang/cpp/tests/Makefile.am, lang/qt/tests/Makefile.am: Likewise.
1498 * tests/gpg/Makefile.am, tests/gpgsm/Makefile.am: Likewise.
1499 * tests/json/Makefile.am, tests/opassuan/Makefile.am: Likewise.
1500
1501 2019-01-15 Andre Heinecke <aheinecke@gnupg.org>
1502
1503 tests: Add diagnostic example to run-import.c.
1504 + commit ce327f994a2888b807b63cf202ddcecc3fb9c685
1505 * tests/run-import.c (main): Show diagnostics in verbose mode.
1506
1507 2019-01-09 Andre Heinecke <aheinecke@gnupg.org>
1508
1509 qt: Use tofu conflict test keys without expiry.
1510 + commit 66376f3e206a1aa791d712fb8577bb3490268f60
1511 * lang/qt/tests/t-tofuinfo.cpp: Use new test keys without
1512 expiry.
1513
1514 2019-01-02 Ben McGinnes <ben@adversary.org>
1515
1516 python docs: post installer.
1517 + commit a0dbdfebbb60f0d34dd16894803e95221d8be668
1518 * Merging post installer script.
1519 * Included ammended Sphinx config file to try to reduce the
1520 auto-generated EPUB validation failures it produces.
1521
1522 python: post installer doc fix script.
1523 + commit a2e7c863c821ca035f1e3f8077bdae3b0f81f5eb
1524 * Got rid of the bash bit in the comments.
1525 * Made the final printed instructions far more obvious.
1526
1527 python: examples.
1528 + commit 207d4289d84971d11ec1824fbe7d4a2be63b56e4
1529 * Fixed inter-edit.py so it will actually work now.
1530 * made 3 others executable.
1531 * Fixed the semantics of assuan.py's instructions.
1532
1533 2018-12-26 Ben McGinnes <ben@adversary.org>
1534
1535 python: examples.
1536 + commit d406471d4bf9c79140e4bc91de7d316ec7465892
1537 * Fixed inter-edit.py so it will actually work now.
1538 * made 3 others executable.
1539 * Fixed the semantics of assuan.py's instructions.
1540
1541 2018-12-24 Ben McGinnes <ben@adversary.org>
1542
1543 python: docs processing.
1544 + commit ef9355c2fe8f81ccd73e0ed45ce33e925928f8e1
1545 * Added some EPUB specific config options to the Sphinx config file
1546 which might help reduce some of Sphinx's more stupid default errors
1547 with EPUB validation.
1548 * Added lang/python/post_installer.py script for automating the
1549 generation of .texi and .rst "source" files from the real source
1550 files written in Org mode. Includes recreating the Sphinx Makefile
1551 which is excluded due to the m4 toolchain in parent directories, it
1552 also handles the rewriting of the reST index file properly and
1553 rewrites the .texi files so they don't impale themselves on Unicode.
1554
1555 2018-12-21 Ben McGinnes <ben@adversary.org>
1556
1557 python: docs.
1558 + commit 06bca0eaa8de8405fafc892ab7864990f8853bcf
1559 * Found a bug in org-mode's export to texinfo function which will
1560 require either manual modification of each file or a customs sed run
1561 over the generated files for all updates.
1562 * Manually updated the current files for now, but will need to add
1563 some post-install processing scripts for future use (I already have
1564 some of these for my specific setup, they just need to be made a
1565 little more generic and platform independent for here).
1566
1567 python: groups example.
1568 + commit dc5f416351e47bfafb46a53f8fd8435dd6c231ba
1569 * Tightened code a little more.
1570
1571 2018-12-17 Ben McGinnes <ben@adversary.org>
1572
1573 python docs: house keeping.
1574 + commit daded4925489d306f6a65271c2f55101b331187c
1575 * Dropped the ASCII copyright line, since even MS have conceded their
1576 battle against Unicode enough to load UTF-8.
1577 * Fixed the drafts section since there will be less need of multiple
1578 output format testing from next year.
1579
1580 2018-12-17 Werner Koch <wk@gnupg.org>
1581
1582 core: Silence newer compiler warnings.
1583 + commit 8b41fb08f00f01fe0dd8b2b5455d3422d97ddc60
1584 * configure.ac: Add -Wno-format-truncation and
1585 -Wno-sizeof-pointer-div.
1586 * src/b64dec.c (_gpgme_b64dec_proc): Add fallthrough annotation.
1587 * src/cJSON.c (parse_string): Ditto.
1588 * src/gpgme-json.c (main): Ditto.
1589
1590 2018-12-16 Ben McGinnes <ben@adversary.org>
1591
1592 python: howto and examples.
1593 + commit fbc298dc1b0fbb51ebc92a9d56c45b78c5e9989d
1594 * Tightening up both the documentation and some of the example code.
1595
1596 2018-12-13 Ben McGinnes <ben@adversary.org>
1597
1598 python: examples bugfix.
1599 + commit 4308d172816f3172454fac1dc0771014056764a1
1600 * Fixed a bug in the ProtonMail importers (pmkey-*.py) where multiple
1601 keys found for a username would always result in the last email
1602 address checked being returned in the printed output for all located
1603 keys.
1604
1605 2018-12-12 Ben McGinnes <ben@adversary.org>
1606
1607 python: new example script.
1608 + commit 3849b60e22432ef33f0d1d39b88e07922ad7779e
1609 * Though Keybase really should not be encouraged due to
1610 disengenuosness and FUD emanating from that souce, this new script
1611 will obtain a key hosted on that site and import it when supplied
1612 with the keybase username.
1613
1614 python: what's new summary.
1615 + commit 3ca7cf07f5d3ec4af89e69ed13ea7ab701e33c03
1616 * Added a little more detail to the what's new section.
1617
1618 python: advanced howto example.
1619 + commit 64758a0dac4c7c3b312dccbc1661813e2c3e2888
1620 * Added Cython requirement to this advanced use case.
1621
1622 python: howto examples equirements.
1623 + commit 4c324ac1beb710714262af0040dea21232ba87d9
1624 * Added small requirements.txt file for additional modules not in the
1625 standard python library and not including the bindings themselves
1626 and not including Cython, which is for more advanced examples.
1627
1628 2018-12-10 Ben McGinnes <ben@adversary.org>
1629
1630 python: hkp key importer.
1631 + commit 772b5aae24a2a3a996f399024845de612192fc2f
1632 * Tweaked it slightly to avoid repetition of key searches when there
1633 is only one search pattern to check (i.e. usually a single key ID or
1634 fingerprint).
1635
1636 python: HKP search and import updates.
1637 + commit 2e7a14c9b369096775a035091c197f2d438142a0
1638 * Tweaked the code again so that it can also handle the cases where
1639 someone has included a hexadecimal string in their user ID.
1640 * Updated the HOWTO to match.
1641 * Exported to .rst and .texi.
1642
1643 python: key import via HKP example.
1644 + commit fe7e01d164b64ad5e7f65cb80e4bf13f06d8d3ef
1645 * Fixed the logic used to search for any given pattern.
1646 * Added a sensible method of checking whether a pattern is a key ID or
1647 fingerprint.
1648
1649 python: docs updates.
1650 + commit 7c63bfe4ab434b61a871aec4bc1d0a05b4c068e6
1651 * Multiple updates, expanding on the Windows installation issues.
1652 * Also adding to the new maintenance mode reference document.
1653 * Includes content relating to the resolution of T4271 and T4191.
1654
1655 2018-12-07 Andre Heinecke <aheinecke@intevation.de>
1656
1657 core: Fix ERR_INV_ARG check in genkey_start.
1658 + commit 78f6291a3bf56769f53af66fe39718ddd2d74bf2
1659 * src/genkey.c (gpgme_op_genkey_start): Fix check for
1660 parms.
1661
1662 2018-12-05 Ben McGinnes <ben@adversary.org>
1663
1664 python: examples.
1665 + commit dc5600d306f808767068bad5117232fc3d35ac43
1666 * cut some of then poor len usage.
1667
1668 2018-12-05 Daniel Kahn Gillmor <dkg@fifthhorseman.net>
1669
1670 python: overhaul logic of Context.decrypt()
1671 + commit 65c28da4e49a8778607fdcf6f51a840166616d9f
1672 * lang/python/src/core.py (Context.decrypt): simplify and clarify the
1673 logic behind handling verify=False.
1674 * lang/python/tests/t-decrypt.py: ensure that we test verify=False
1675
1676 python: ctx.decrypt() has problematic error handling.
1677 + commit 878a0ad01265dba5b06429276bdcc5c21fedb6f5
1678 * lang/python/src/core.py (Context.decrypt): document odd
1679 error-handling behavior as a potential problem to be addressed.
1680
1681 python: Clarify the meaning of ctx.decrypt(verify=[])
1682 + commit 5d8b4f74891af22379899ccee9e8ee849144eee3
1683 * lang/python/src/core.py (Context.decrypt): docstring clarification
1684 of what it means to pass an empty list to the verify argument.
1685
1686 python: gpg.Context.decrypt verify_sigs and sink_result are bools.
1687 + commit b8fa76a30c02afc3d7f6aad0a59bb613d1b711fc
1688 Both of these function-internal variables are never used for anything
1689 other than a binary state. Implement them as the booleans they are.
1690 Otherwise, casual readers of the code might think that they're
1691 supposed to represent something other than a flag (e.g. "verify_sigs"
1692 could mean "the signatures to verify", and "sink_result" could mean
1693 "the place where we sink the result").
1694
1695 Signed-Off-By: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
1696
1697 python: clarify documentation for verify argument for Context.decrypt()
1698 + commit 49af6d76e55f348c7b3cece756d6ac643d17ee68
1699 It's easy to miss that verify can take a list of keys. Make it more
1700 obvious to the average python dev who reads docstrings.
1701
1702 python: simplify Context.decrypt()
1703 + commit 2491e6f92f5b562cbd6f7f931df630cb106f6688
1704 In the course of trying to address https://dev.gnupg.org/T4271, i
1705 discovered that gpg.Context.decrypt() has a bit of superfluous code.
1706 This changeset is intended to simplify the code without making any
1707 functional changes.
1708
1709 2018-12-05 Ben McGinnes <ben@adversary.org>
1710
1711 python: windows c and cython.
1712 + commit 1dffdcc6e9d249111eb8761d29ef3b35b32a8c3d
1713 * added warning that he Windows C runtime issues will also affect use
1714 with Cython and that relying on binary installers would remove that
1715 possible use case.
1716
1717 2018-12-04 Ben McGinnes <ben@adversary.org>
1718
1719 python: sphinx modification.
1720 + commit c8a04af676d981b42172c9bdad82eb83f91c8ce6
1721 * The make.bat file incorrectly triggers the trailing whitespace check
1722 in the git repo (it doesn't actually have any trailing whitespace,
1723 but triggers the error on every line).
1724 * Will need to add a script to handle future org-mode conversions of
1725 the index page anyway, so will get that script to deal with this
1726 problem too by generating the make.bat file if the platform is
1727 detected as Windows.
1728
1729 python: Sphinx support.
1730 + commit 6d8823b81162c18406d40ec59bd252cfdf1df648
1731 * Added framework from sphinx-quickstart to lang/python/doc/rst/ so
1732 that Python developers already using Sphinx can use the generated
1733 reST files with existing documentation systems.
1734 * Note that when generating source files from Org-mode, the index page
1735 will require manual intervention to match the Sphinx requirements.
1736
1737 python: docs update.
1738 + commit 8613727f1ee985c3cfa2c815523312914f033ffd
1739 * Expanded the section on issues with Windows installations, with
1740 greater detail of which versions of Visual Studio are needed
1741 depending on which version of CPython is to be used.
1742 * Included a recommendation which is a bit harsh without being totally
1743 prickish.
1744 * Updated all files to not link to author's key or related data in
1745 order to make them all consistent with the changes in commit
1746 649b19688132dd315e361c0f5b63ba6d8f45996d.
1747
1748 2018-12-04 NIIBE Yutaka <gniibe@fsij.org>
1749
1750 build: Remove --with-*-prefix, which is no need any more.
1751 + commit 5dbac555f23bcec4adcfd82de61878f0f23ff272
1752 * autogen.rc (configure_opts): Remove --with-*-prefix.
1753
1754 2018-12-03 Andre Heinecke <aheinecke@intevation.de>
1755
1756 qt,cpp: Consistently use nullptr and override.
1757 + commit 1d31420650bfa7ca1d1503cc7431b3360e86022c
1758 * lang/cpp/src/Makefile.am, lang/qt/src/Makefile.am (AM_CPPFLAGS):
1759 Add suggest-override and zero-as-null-pointer-constant warnings.
1760
1761 * lang/cpp/src/*, lang/qt/src/*: Consistenly use nullptr and override.
1762
1763 2018-11-30 Ben McGinnes <ben@adversary.org>
1764
1765 python: documentation fixes.
1766 + commit 2e3a681d0c35bbf6db584fedc9d7f0a010430b51
1767 * Typographic and whitespace error correction pertaining to the
1768 previous update.
1769
1770 python: documentation.
1771 + commit 3b056a01a252bb72df5744409ba494e1a6e54d31
1772 * Added long description to setup.py.in.
1773 * Added maintenance mode details with clarification for what type of
1774 things would be a bug as far as MM is concerned and what wouldn't
1775 be.
1776 ** Includes a not too subtle hint directed towards the donations page.
1777 * Miscellaneous tightening of documentation.
1778
1779 2018-11-28 Andre Heinecke <aheinecke@intevation.de>
1780
1781 tests, json: Make them run on debian stable.
1782 + commit a9cfb6dad8ac60543bcb06f4d0515f4a64ad897a
1783 * tests/json/t-json.c (main): Relax version check a bit.
1784
1785 2018-11-26 Ben McGinnes <ben@adversary.org>
1786
1787 python docs: checking key signatures.
1788 + commit 1c92f3ff55ad0cdda06d05ad0a83193e3a147b7e
1789 * Added instructions for checking key certifications or key
1790 signatures (depending on preferred terminology).
1791 * Added pendulum module to recommended installations, but not to
1792 requirements.
1793
1794 2018-11-22 Ben McGinnes <ben@adversary.org>
1795
1796 python: docs update.
1797 + commit c87155e6eba2e97e4e6c6ee7e2591088a5489556
1798 * Added documentation for the new methods added to gpgme.version.
1799 * Removed the Flask based advanced use case from the what-is-new
1800 section as that type of code will not be added here.
1801
1802 python: version as integers.
1803 + commit de6bb23279796b9ae4dc369d58591cb75f818684
1804 * lang/python/version.py.in: added gpg.version.versionintlist
1805 * If gpg.version.versionintlist[2] ever returns -1 then there's a
1806 serious problem with the build and it should be lodged as a bug if
1807 it's repeatable. Seeing this should never happen, but checking for
1808 it is better than not doing so.
1809
1810 2018-11-19 Werner Koch <wk@gnupg.org>
1811
1812 core: Fix format string errors in w32-io.c and use of TRACE_SUC.
1813 + commit b182838f71d8349d6cd7be9ecfb859b893d09127
1814 * src/w32-io.c: Fix use of TRACE_SUC. Fix some format strung errors.
1815
1816 2018-11-19 Ben McGinnes <ben@adversary.org>
1817
1818 python: import type.
1819 + commit fd34415bdd57332424bd5a98d279e2331678a2fb
1820 * Fixed bug T4242 and tested that dropping "Import" in favour of
1821 "import_type" does indeed work just fine.
1822
1823 python: import constant.
1824 + commit f773ad392da57e6be4ade93c44baa5d2057c40b6
1825 * lang/python/src/constants/__init__.py: dropped use of Import
1826 capitalisation and renamed lang/python/src/constants/import.py to
1827 lang/python/src/constants/import_type.py to address bug T4242.
1828 * lang/python/doc/src/gpgme-python-howto: minor docs updates.
1829
1830 2018-11-16 Werner Koch <wk@gnupg.org>
1831
1832 core: Protect the trace macros for fun and profit.
1833 + commit 7a1e7006d06fdbab86ea79a197c316744b09d933
1834 * src/debug.h: Protect macros using.
1835 (_trace_err, _trace_sysres, _trace_syserr): New helper inline
1836 functions.
1837
1838 core: Fix a LF problem in the new debug fucntion.
1839 + commit 7eda50a673d15320022375360fd220e8381b69ab
1840 * src/debug.c (_gpgme_debug): Print a LF for an empty FORMAT unless we
1841 are in legacy mode.
1842
1843 core: Remove old debug helper function.
1844 + commit 94d274a1a33c6fb30981290b127f2c4babc27245
1845 * src/debug.c (_gpgme_debug): Remove.
1846 (_gpgme_debugf): Rename to _gpgme_debug.
1847
1848 core: Simplify the trace maros by using variadics.
1849 + commit 5857491a2aa7d4975100d90f1ad62c08aa345e3e
1850 * src/debug.h (TRACE_BEG, TRACE_LOG, TRACE_SUC): Use variadic macros
1851 and remove the TRACE_BEG1 et al. Change all users to always pass a
1852 format string.
1853 (TRACE): Ditto.
1854 * src/debug.c (_gpgme_debugf): New.
1855 * configure.ac <GCC>: Add -Wno-format-zero-length.
1856
1857 2018-11-15 Andre Heinecke <aheinecke@intevation.de>
1858
1859 tests: Add run-threaded for multithread tests.
1860 + commit d0402f886b720d03369887c807581bd980ee70cf
1861 * tests/Makefile.am (run-threaded): Add.
1862 * tests/run-threaded.c: New.
1863
1864 tests,json: Clean openpgp-revocs.d.
1865 + commit 004e2cad2f26250cd010684f11dc187f08e6f9e1
1866 * tests/json/clean-local: Remove revocs.d
1867
1868 tests,json: Move version check into t-json.
1869 + commit 40d962b43a183070ba8602cac1e83f2292ebf2c3
1870 * tests/gpg/t-support.h (check_gpg_version, compare_versions),
1871 (parse_version_string, parse_version_number): Remove version
1872 check code.
1873 * tests/json/t-json.c (check_gpg_version, compare_versions),
1874 (parse_version_string, parse_version_number): Add.
1875
1876 2018-11-14 Andre Heinecke <aheinecke@intevation.de>
1877
1878 tests,json: Add sig-notations test.
1879 + commit d3dae4a445d950c94c952ddf54e534ef71675bd1
1880 * tests/json/t-sig-notations.in.json,
1881 tests/json/t-sig-notations.out.json: New
1882 * tests/json/Makefile.am (EXTRA_DIST): Add files.
1883 * tests/json/t-json.c: Register it.
1884
1885 tests,json: Fix distcheck.
1886 + commit def030e843bd4576597272abe9fe12f846066576
1887 * tests/json/Makefile.am (EXTRA_DIST): Add inital and final scripts.
1888 (t_json_SOURCES): Don't use cJSON.o as source.
1889
1890 tests,json: Add more tests.
1891 + commit d0087d45f0207bf82a4f078d972c28c4d1cd2690
1892 * t-config-opt.in.json,
1893 t-config-opt.out.json,
1894 t-import.in.json,
1895 t-import.out.json,
1896 t-sign.in.json,
1897 t-sign.out.json: New.
1898
1899 tests,json: Add missing files and chunking test.
1900 + commit 88b7221eb737a3102ec61ea385990b7ea7ef2b30
1901 * tests/json/Makefile.am, tests/json/final.test,
1902 tests/json/initial.test: New.
1903 * tests/json/t-chunking.in.json, tests/json/t-chunking.out.json:
1904 New test.
1905 * tests/json/t-json.c: Register new test.
1906
1907 tests,json: Fix match if the first child differs.
1908 + commit 27ca12e815c0a582d357641a04b889d648b8766e
1909 * tests/json/t-json.c (test_contains): Try all siblings of
1910 the haystack child.
1911
1912 tests,json: Add the bulk of tests.
1913 + commit dd4b80a5f640232bb44eb825ff5a74ec295fad10
1914 * t-json.c (tests): Register new tests.
1915 * t-createkey.in.json,
1916 t-createkey.out.json,
1917 t-decrypt-verify.in.json,
1918 t-decrypt-verify.out.json,
1919 t-decrypt.in.json,
1920 t-decrypt.out.json,
1921 t-delete.in.json,
1922 t-delete.out.json,
1923 t-encrypt-sign.in.json,
1924 t-encrypt-sign.out.json,
1925 t-encrypt.in.json,
1926 t-encrypt.out.json,
1927 t-export-secret-info.in.json,
1928 t-export-secret-info.out.json,
1929 t-export.in.json,
1930 t-export.out.json,
1931 t-json.c,
1932 t-keylist-secret.in.json,
1933 t-keylist-secret.out.json,
1934 t-keylist.in.json,
1935 t-keylist.out.json,
1936 t-verify.in.json,
1937 t-verify.out.json,
1938 t-version.in.json,
1939 t-version.out.json: New.
1940
1941 tests,json: Add wildcard string matching.
1942 + commit 9a31fdcb11d04d47dfcc38a8409b84436c549108
1943 * tests/json/t-json.c (test_contains): When searching for "*" accept
1944 every string.
1945
1946 tests,json: Skip tests for older GnuPG versions.
1947 + commit e55e467d5ffb32c428566a876616d309ef2d15cd
1948 * tests/json/t-json.c (main): Skip if version is not at least
1949 2.2.0
1950
1951 tests,json: Suffix .json to test pattern.
1952 + commit ca2e2b3d6973b1f942571ba65bd8b57153847777
1953 * tests/json/t-config.in, tests/json/t-config.out: Renamed.
1954 * t-json.c (run_test): Use new naming pattern.
1955
1956 tests,gpg: Add version check hlp to t-support.
1957 + commit 5b61c092e7444749b08e39ac5aa9fb0818e1a076
1958 * t-support.h (parse_version_number, parse_version_string)
1959 (compare_versions): New. Copy&Paste from src/version.c
1960 (check_gpg_version): New helper to check for a gpg version.
1961
1962 tests,json: Improve verbose mode and add verbose 2.
1963 + commit 9933641cce595ba308d0f3a1f3ae8f13a9743dd1
1964 * tests/json/t-json.c (main): Handle multiple verbose args.
1965 (test-contains): Improve verbose output
1966
1967 tests,json: Fix and improve t-json.
1968 + commit 3e5684d99b881787f9739e53fd8e8c22eadc2146
1969 * tests/json/t-json.c (run_test): Terminate argv array correctly.
1970 (run_test): Note and handle empty response.
1971
1972 tests: Add json testrunner.
1973 + commit 0c31837766e016227b3c8dfd44c476949cd4741e
1974 * configure.ac: Configure makefile.
1975 * tests/Makefile.am: Run json tests if gpg tests are run.
1976 * tests/json/t-json.c: New testrunner for json tests.
1977 * tests/json/t-config.in, tests/json/t-config.out: First test.
1978
1979 2018-11-13 NIIBE Yutaka <gniibe@fsij.org>
1980
1981 build: Update gpg-error.m4 and libassuan.m4.
1982 + commit c4aa4af50f3102b251cfff9c9755e2dde8d1bd1f
1983 * m4/gpg-error.m4: Update from master.
1984 * m4/libassuan.m4: Update from master.
1985
1986 2018-11-12 NIIBE Yutaka <gniibe@fsij.org>
1987
1988 Fix the previous commit.
1989 + commit 895176f42af3a1b13614f15dd537a426bb4ac16a
1990
1991
1992 build: Make gpgme.m4 use gpgrt-config with *.pc.
1993 + commit 60828a505a1c74fd34476c181df2a588ea6f9c83
1994 * src/gpgme.m4 (_AM_PATH_GPGME_CONFIG): Use gpgrt-config with gpgme.pc
1995 when possible.
1996 (AM_PATH_GPGME_GLIB): Likewise with gpgme-glib.pc.
1997
1998 build: Provide gpgme-glib.pc too.
1999 + commit a76e145a1057e11953b71f804cf3a499c3ad5362
2000 * src/gpgme-glib.pc.in: New.
2001 * src/gpgme.pc.in (avail_lang): Remove.
2002
2003 build: Provide gpgme.pc, generated by configure.
2004 + commit f3e60521899e6126229b6efedc9f011b84122e11
2005 * configure.ac: Generate src/gpgme.pc.
2006 * src/Makefile.am (pkgconfigdir, pkgconfig_DATA): New.
2007 (EXTRA_DIST): Add gpgme.pc.in.
2008 * src/gpgme.pc.in: New.
2009 * src/gpgme-config.in: Use variables.
2010
2011 2018-11-08 Daniel Kahn Gillmor <dkg@fifthhorseman.net>
2012
2013 spelling: fix misspellings.
2014 + commit 2557d0ae6ff0336b041129b7bf5c1e3a8c20a805
2015
2016
2017 2018-11-06 Ben McGinnes <ben@adversary.org>
2018
2019 docs: python bindings.
2020 + commit d0a5caf73c2d6b73dd043f62574c31946e4f347d
2021 * Continued restructuring as part of moving beyond mere;y the HOWTO
2022 file.
2023 * Generated the alternative source files for reST and Texinfo.
2024 * Fixed some errors and updated links after moving the what's new
2025 section to two new files (yes, two).
2026
2027 python examples: another importer.
2028 + commit 0cb625da84d7e5deeacad113c404a8bc2154c8e7
2029 * Fixed a similar type of bug with the non-protonmail importer.
2030
2031 python examples: protonmail hkp scripts.
2032 + commit 1b9d30db089e9de3ef859195ad58d2164a0231a0
2033 * fixed a bug in the import try statement for both versions.
2034
2035 2018-11-05 Werner Koch <wk@gnupg.org>
2036
2037 gpg: Avoid error diagnostics with --override-session-key.
2038 + commit bded8ebc59c7fdad2617f4c9232a58047656834c
2039 * src/engine-gpg.c (gpg_decrypt): Add --no-keyring.
2040
2041 2018-11-03 Ben McGinnes <ben@adversary.org>
2042
2043 docs: typo.
2044 + commit 13e09bd21a531b448f2f34b1f075315502b76fb6
2045 * lang/python/doc/src/gpgme-python-howto: s/Revokinging/Revoking/g
2046
2047 2018-11-02 Werner Koch <wk@gnupg.org>
2048
2049 w32: Fix a few compiler warnings.
2050 + commit 5262ce0c815193fc901b00a9b4132925ba672df7
2051 * src/debug.h (TRACE_SYSERR_NR): New.
2052 * src/w32-io.c: Fix compiler warnings.
2053
2054 w32: Log all errors from CloseHandle and WFSO in w32-io.
2055 + commit ed3f5ad760a28566fa2571e0c7392467bfc3770d
2056 * src/w32-io.c (close_handle, _close_handle): New macro and function;
2057 use in place of all CloseHandle calls.
2058 (wait_for_single_object, _wait_for_single_object): Likewise.
2059
2060 w32: Don't use CloseHandle on an arbitrary integer.
2061 + commit 4faa0ccf58c7a0f64f51dcbc8466add660080414
2062 * src/assuan-support.c (my_waitpid): Do not close the PID = it is not
2063 a handle.
2064
2065 w32: Revamp the closing of system objects.
2066 + commit da89528ac39b687bfbed2209ca2637e3bd8e0ac5
2067 * src/w32-io.c (hddesc_t): New.
2068 (reader_context_s, writer_context_s): Replace file_sock and file_hd by
2069 the hddesc_t hdd.
2070 (fd_table): Ditto. Add want_reader and want_writer.
2071 (hddesc_lock): New lock variable.
2072 (new_hddesc, ref_hddesc): New.
2073 (release_hddesc): New.
2074 (reader, writer): Call release_hddesc.
2075 (create_reader, create_writer): Change for new hddesc scheme.
2076 (destroy_reader, destroy_writer): Replace closing by a call to
2077 release_hddesc.
2078 (_gpgme_io_pipe): Change for new hddesc scheme.
2079 (_gpgme_io_close): Ditto.
2080 (_gpgme_io_dup): Ditto. Use want_reader and want_writer.
2081 (_gpgme_io_socket): Change for new hddesc scheme.
2082
2083 core: Print a dump of the I/O data only at level 8.
2084 + commit 337c10825525d4084f3f437fde5af3806707e6a4
2085 * src/debug.h (TRACE_SUC3): New.
2086 (TRACE_LOGBUFX): New.
2087 * src/posix-io.c: Use TRACE_LOGBUFX instead of TRACE_LOGBUF.
2088 * src/w32-glib-io.c: Ditto.
2089
2090 w32: Fix and improve CancelSynchronousIo use.
2091 + commit acef4f775f273bbef63bc81afbad8feaabc7414e
2092 * src/w32-util.c (_gpgme_w32_cancel_synchronous_io): Fix name of DLL
2093 and print trace info only on error.
2094
2095 2018-11-01 Werner Koch <wk@gnupg.org>
2096
2097 w32: Use CancelSynchronousIo in destroy_reader.
2098 + commit 63ba09b541dabbe838253926896e721cb9be564a
2099 * src/w32-util.c (_gpgme_w32_cancel_synchronous_io): New.
2100 * src/w32-io.c (destroy_reader): Use it here.
2101
2102 w32: Merge all the object tables of w32-io into one.
2103 + commit 338e9edfdb9239f1c9d4409f6d08d79a9d6f285b
2104 * src/w32-io.c (fd_table_size): New. Used in most places instead of
2105 the MAX_SLAFD constant.
2106 (reader_table, writer_table, notify_table): Merge them into ...
2107 (fd_table): this table. Chnage all affected code to take just one
2108 lock.
2109
2110 2018-10-31 Werner Koch <wk@gnupg.org>
2111
2112 w32: Remove unused arg from two functions.
2113 + commit 79fc7c0fe825014e75bb825c4966a04a22e78254
2114 * src/w32-io.c (find_reader, find_writer): Remove unused start_it
2115 arg. It is always passed as true. Change callers.
2116
2117 w32: Remove all support for WindowsCE.
2118 + commit 3c04dea3ecebed35208f6b631b2e8b04222ea432
2119 * configure.ac: Remove WindwosCE support.
2120 * contrib/: Remove all; it was only used for WindowsCE.
2121 * src/w32-ce.c, src/w32-ce.h: Remove files.
2122 * src/Makefile.am (system_components): Remove these files.
2123 * src/ath.c, src/ath.h: Remove W32CE support.
2124 * src/data-compat.c (gpgme_data_new_from_filepart): Ditto.
2125 (gpgme_data_new_from_file): Ditto.
2126 * src/debug.c (debug_init, _gpgme_debug): Ditto.
2127 * src/gpgme-tool.c (gpgme_server): Ditto.
2128 (main): Ditto.
2129 * src/priv-io.h: Do not include w32-ce.h.
2130 * src/util.h: Remove WindowsCE support.
2131 * src/w32-io.c: Ditto.
2132 * src/w32-util.c: Ditto.
2133 * src/debug.h (TRACE_SUC4): New.
2134
2135 w32: Remove cruft in w32-io from WindowsME times.
2136 + commit 2e07d4f89a26bb56a55b2743d39fb37532028ffd
2137 * src/w32-io.c (set_synchronize): Remove.
2138 (create_reader, create_writer): No need for set_synchronize.
2139
2140 2018-10-30 Ben McGinnes <ben@adversary.org>
2141
2142 docs: python docs restructure.
2143 + commit 78be1e2f543667576a49286476e7d66a707dd17e
2144 * Moved the what's new section out of the HOWTO (mostly), in
2145 anticipation of expanding the docs to be more than merely a HOWTO.
2146
2147 docs: python.
2148 + commit d5c22966d5bf397cccfa171095885cd207ef6ae3
2149 * dropped the ".org" extension and added a mode line for each file as
2150 this will make scripting format conversions a lot easier.
2151
2152 2018-10-30 Werner Koch <wk@gnupg.org>
2153
2154 w32: Fix previous commit.
2155 + commit 9eef23fcf39f2b2eb2645afd31a79ba1286d9885
2156 * src/w32-io.c (_gpgme_io_spawn): Move freeing of TMP_NAME behind its
2157 use in an error handling.
2158
2159 2018-10-29 Andre Heinecke <aheinecke@intevation.de>
2160
2161 core,w32: Fix memleak of tmp_name in w32-io.
2162 + commit 7a1b58045f980c4df76daf225a2a1b604e8604d2
2163 * src/w32-io.c (_gpgme_io_spawn): Free tmp_name.
2164
2165 tests: Add repeat argument to run-verify.
2166 + commit 681525be003433728d127303d40712803b70cb9c
2167 * tests/run-verify.c (main): Add repeat argument.
2168
2169 core: Do not crash if CMS plaintext is ignored.
2170 + commit 8f27511862cabac8fa1dd8f883cb78faebc05ef6
2171 * src/engine-gpgsm.c (gpgsm_verify): Fix handling both
2172 plaintext and signed_text as NULL.
2173
2174 cpp,tests: Add another test runner.
2175 + commit 62c736ba76a19d3b41af69e1f340a53b80f13fe0
2176 * lang/cpp/tests/run-verify.cpp: New.
2177 * lang/cpp/tests/Makefile.am: Update accordingly.
2178
2179 2018-10-25 Andre Heinecke <aheinecke@intevation.de>
2180
2181 cpp: Add some convenience functions.
2182 + commit 05a0e97f5c12c06082fbeab0fba6f86ddbfbe6b2
2183 * lang/cpp/src/context.cpp (Context::create): New.
2184 * lang/cpp/src/context.h: Update accordingly.
2185 * lang/cpp/src/key.cpp, lang/cpp/src/key.h:
2186 (Key::isBad, Subkey::isBad, UserID::isBad)
2187 (UserID::Signature::isBad): Add shorthand for the isX checks.
2188 * NEWS: Mention it.
2189
2190 2018-10-23 Ben McGinnes <ben@adversary.org>
2191
2192 docs: python howto.
2193 + commit 04791c896712857feaf9a472a48d7a4c4f287775
2194 * Fixed a few spelling and grammatical errors.
2195
2196 2018-10-21 Ben McGinnes <ben@adversary.org>
2197
2198 Python: docs tweaks.
2199 + commit 59e38e3d2c14b40045e15c45b6c2f300e8f097dc
2200 * Fixed a minor error in how the reST version of the HOWTO is
2201 generated.
2202 * Updated the help() in __init__.py with a little more detail as to
2203 why not to use the lower level functions.
2204
2205 2018-10-20 Ben McGinnes <ben@adversary.org>
2206
2207 python bindings: callback test.
2208 + commit 651a1afe80bcc421da26f38015e8a322e140f130
2209 * lang/python/tests/t-callbacks.py: Updated test logic to try
2210 generating a key which expires in 2099 and if that fails then
2211 fallback to an expiration in 2037 in an attempt to catch the 32-bit
2212 systems.
2213
2214 2018-10-18 Werner Koch <wk@gnupg.org>
2215
2216 core: Fix segv in genkey when no endtag is provided.
2217 + commit fbac11b19d97730494dc9dad3b7f71453ef15581
2218 * src/genkey.c (get_key_parameter): Provide a fallback ENDTAG.
2219
2220 core: Return an error if NULL is provided for genkey's parms.
2221 + commit 174af15725d4989a840ff3098996cc8a0568f724
2222 * src/debug.c (_gpgme_debug_buffer): Bail out of BUF is NULL.
2223 * src/genkey.c (gpgme_op_genkey): Do no deref a NULL in
2224 TRACE_LOGBUF.
2225 (gpgme_op_genkey_start): Ditto. Return an error if PARMS is NULL.
2226
2227 2018-10-18 Daniel Kahn Gillmor <dkg@fifthhorseman.net>
2228
2229 python: do not export HAVE_CXX11 definition.
2230 + commit 9de1c96ac3cf6fa126325002b61a1b606037ca88
2231 * lang/python/gpgme.i: ignore HAVE_CXX11 in SWIG interface
2232
2233 2018-10-17 Werner Koch <wk@gnupg.org>
2234
2235 python: Auto-check for all installed python versions.
2236 + commit ff6ff616aea6f59b7f2ce1176492850ecdf3851e
2237 * m4/python.m4 (AM_PATH_PYTHON): Add a 4th arg.
2238 * configure.ac (available_languages): Remove separate python2 and
2239 python3 and keep just python. Simplify test for pythons. Use an
2240 explicit list of python versions to test.
2241
2242 2018-10-16 Werner Koch <wk@gnupg.org>
2243
2244 core: Really remove CR from version output.
2245 + commit d63d6d8b8030ec1dc19f9f66c8af3b2f3288d309
2246 * src/version.c (_gpgme_get_program_version): Fix test.
2247
2248 2018-10-10 NIIBE Yutaka <gniibe@fsij.org>
2249
2250 build: Let configure create the VERSION file.
2251 + commit 85dd0fa4b5f026a13da842bf64ab8a37a68918d4
2252 * autogen.sh: Update from libgpg-error.
2253 * configure.ac: Use mym4_version to create VERSION file.
2254 * Makefile.am (dist-hook): Do not create VERSION.
2255 (EXTRA_DIST): Add VERSION.
2256
2257 2018-10-09 Andre Heinecke <aheinecke@intevation.de>
2258
2259 cpp: Add KeyListMode::Locate.
2260 + commit c565cf42a38a8bda936df8c52936589cc8a06ca3
2261 * cpp/src/global.h (KeyListMode): Add Locate.
2262
2263 cpp: Add first manual tests.
2264 + commit 9f85f4967e617e9f97529b89f530c1bc36b52a5c
2265 * lang/cpp/Makefile.am: Add tests subdir.
2266 * lang/cpp/tests/Makefile.am: New.
2267 * lang/cpp/tests/README,
2268 lang/cpp/tests/run-getkey.cpp,
2269 lang/cpp/tests/run-keylist.cpp: New.
2270 * configure.ac: Configure tests makefile.
2271
2272 core: Add trust-model flag.
2273 + commit 85627e58184529e982369cfc00ed7865244c13d6
2274 * src/context.h (gpgme_context): Extend with trust_model.
2275 * src/engine-gpg.c (engine_gpg): Extend with trust_model.
2276 (gpg_set_engine_flags): Take trust_model from context.
2277 (build_argv): Handle trust_model.
2278 (gpg_release): Free trust_model.
2279 * src/gpgme.c (gpgme_set_ctx_flag): Handle trust-model flag.
2280 (gpgme_release): Release trust-model.
2281 * doc/gpgme.texi: Document new flag for gpgme_set_ctx_flag.
2282 (Context Flags): New subsection for the context flags.
2283 * tests/run-keylist.c (show_usage, main): Add new --trust-model
2284 parameter.
2285
2286 cpp: Initialize all gpgme_key_t's in context.
2287 + commit 7a1e6dbfb16f71f692a53f7e0955bde86dbb7fee
2288 * lang/cpp/src/context.cpp (Context::startKeyListing),
2289 (Context::keyListResult, Context::signingKeys): Initialize key.
2290
2291 core: Ensure r_key init in gpgme_get_key.
2292 + commit ecfa88e65fda9c9766ad526d57e2fc8b2884f634
2293 * src/keylist.c (gpgme_get_key): Move r_key init above
2294 the first invalid value check.
2295
2296 qt, tests: Add test for single get key.
2297 + commit bf4aae45129c1093ee7712bdbcdfe1c8f2ca7c0f
2298 * lang/qt/tests/t-keylist.cpp (testGetKey): New.
2299
2300 2018-10-08 Werner Koch <wk@gnupg.org>
2301
2302 Release 1.12.0.
2303 + commit 1aff2512d846ea640d400caa31c20c40230b3b04
2304 * configure.ac: Bump core LT version to C32/A21/R0. Bump C++ LT
2305 version to C14/A8/R0.
2306
2307 * lang/qt/tests/Makefile.am (CLEANFILES): Add reader status files.
2308 * Makefile.am (EXTRA_DIST): Add conf/whatisthis.
2309
2310 2018-10-05 Werner Koch <wk@gnupg.org>
2311
2312 core: Apply GPGME_EXPORT_MODE_NOUID also to keyserver exports.
2313 + commit 913601f4879f011878b53b885f35524df98b5570
2314 * src/engine-gpg.c (export_common): Add keyserver-options to the
2315 send-keys commands.
2316
2317 build: Move config.h to conf/config.h.
2318 + commit ecfa48fffa93f3d1b66354d2d46872ff614c4a68
2319 * conf/: New dir.
2320 * configure.ac (AC_CONFIG_HEADER): Move header to conf dir.
2321 * doc/Makefile.am (mkdefsinc): Adjust rule.
2322 * lang/python/Makefile.am (copystamp): Ditto.
2323
2324 2018-10-04 Ben McGinnes <ben@adversary.org>
2325
2326 docs: whitespace bug.
2327 + commit 033da18b88af69b7846de62af4aeea359d27ec20
2328 * Same as before, but exported.
2329
2330 docs: org to texinfo whitspace bug.
2331 + commit a8d4aa6f763599bbd8ea36ef98b7b4931bf326dc
2332 * replaced "." in headings with "·" to prevent whitspace being
2333 appended by texinfo and breaking git.
2334
2335 docs: python.
2336 + commit 0b5930b276186afd1ca1dd91d82db7e60dd20606
2337 * Fixed an error in the new index page and then exported to the other
2338 two "source" formats.
2339
2340 docs: python.
2341 + commit 48258879720a4f423d0efa955da942d69f3c49d4
2342 * lang/python/doc/meta/TODO.org: Added the two major documentation
2343 build system tasks to the TODO list.
2344 * Added an index page in preparation for sorting out the second of
2345 those TODO lists (Docutils is a lot easier to handle than Texinfo).
2346 * Meanwhile, have confirmed that it all builds just fine under
2347 GNU/Linux, OS X and FreeBSD while retaining the documentation, so
2348 that's a nice improvement from 1.11.1.
2349
2350 python: makefiles.
2351 + commit f3fc73738264d21baf0e9b49fdd5cb67faa11d31
2352 * doc/Makefile.am: Removed a bit I forgot about.
2353 * Renamed lang/python/docs to lang/python/doc bvecause apparently
2354 automake cares about that too.
2355 * Decided to be extra explicit in the manifest because if I don't then
2356 all sorts of things get deleted ... like lang/python
2357 * Tested on an external linux system just in case my osx workstation
2358 introduces too much weirdness.
2359
2360 python: make file.
2361 + commit 2cca422ca4b2df831a824393077d0b52d79532aa
2362 * lang/python/Makefile.am: Attempting to remove the docs/meta
2363 directory did a lot worse than I thought it was doing, so better to
2364 just be sure the documentation is available than destroy the entire
2365 bindings directory.
2366
2367 python: make file.
2368 + commit 582f14d97a900106dce0c8d8666a443c6ec25050
2369 * lang/python/Makefile.am: Now that gpg2 has been renamed back to gpg
2370 and gpg1 is semi-deprecated, we should check what the actual gpg
2371 binary is with gpgconf and use that rather than make assumptions per
2372 system.
2373 * Also, it means less worry if gpg3 is ever a thing. (Trust me, I
2374 remember the Python 1 to 2 transition as well as the current 2 to 3
2375 transition). ;)
2376
2377 2018-10-03 Ben McGinnes <ben@adversary.org>
2378
2379 docs: more whitespace checks.
2380 + commit a174b269432fd37e8546c43e0127580e826432da
2381 * lang/python/docs/texinfo/short-history.texi:
2382
2383 dpcs: python howto.
2384 + commit 962dfca9b86b53bb00f5b89e453b9eed95454934
2385 * More updates to the docs themselves and the versions to be available
2386 with the next release.
2387 * .texi and .rst copies of the HOWTO and the short history of (this
2388 part) of the project.
2389
2390 docs: python.
2391 + commit 2151b9828af3760867e856ab939b835a6e2f42e7
2392 * More restructuring. Also the painstaking task of deciphering some
2393 of the more eclectic aspects of Texinfo and make.
2394
2395 docs: python bindings.
2396 + commit a982f9131520bce0b25f84cba19040bbe5f275bb
2397 * Restructured the docs directory to account for the GNU preferred
2398 source doc format (.texi) and the Python preferred source doc
2399 format (.rst) and the real source doc format (.org).
2400 * Both the perceived source formats will need to be generated from the
2401 .org files and included at this stage. Unfortunately there is not
2402 yet a native org-to-rst transformation method in the org-mode
2403 software in Emacs nor is there a a direct means of going from reST
2404 to Org-mode from Docutils. There's only third party packages like
2405 Pandoc and, while very good, there is no guarantee of consistency;
2406 so we can't entirely automate this bit (yet).
2407
2408 docs: pre-python preparation.
2409 + commit b2802053192ba0000866b145b715a557d34ed0eb
2410 * doc/Makefile.am: removed the python howto from this file, restoring
2411 it to just the main project and the newer .js files.
2412 * deleted: doc/gpgme-python-howto.texi
2413 * renamed the Short_History.org file to short-history.org to keep the
2414 naming conventions similar.
2415 * All the Python files can (and should) live together.
2416
2417 2018-10-02 Ben McGinnes <ben@adversary.org>
2418
2419 python bindings: CPython order.
2420 + commit 23894ac9a96081428a590791010ca8beebaf6f9f
2421 * Changed the order of python versions the configure/make process
2422 checks for, placing Python 3.7 ahead of 3.6.
2423 * Updated the HOWTO documentation to reflect this change.
2424
2425 2018-10-02 Werner Koch <wk@gnupg.org>
2426
2427 core: add experimental GPGME_EXPORT_MODE_NOUID.
2428 + commit 7b861945fdc71fd3c82c91f824172dadd2220fa0
2429 * src/gpgme.h.in (GPGME_EXPORT_MODE_NOUID): New.
2430 * src/export.c (export_start): Adjust option check.
2431 * src/engine-gpg.c (export_common): Implement option.
2432
2433 2018-09-30 Ben McGinnes <ben@adversary.org>
2434
2435 docs: python bindings.
2436 + commit 76bdfabb057f4ffc56beee15b48d8fa836ba7cce
2437 * Tightened up the docs a little bit, updated the "what's new"
2438 section, dropped the "-draft" version in preparation for GPGME
2439 1.12.0's release.
2440 * Exported another .texi version (and updated the draft copies to this
2441 commit (which ought to be 1.11.1-beta313).
2442
2443 python bindings: fixing decrypt-verify.
2444 + commit 837a4760533e80f075cd727f18354904b8a54132
2445 * lang/python/src/core.py: First restoring the exception to the being
2446 just that.
2447 * The means to manipulate the error output is temporarily in commented
2448 out code, but ought to be added to a proper test later.
2449 * In the mean time the original test, with a very slight change, works
2450 again.
2451
2452 python bindings: ctx.decrypt.
2453 + commit 11403a46358f9b6e98776974f3c70f211d9adf85
2454 * lang/python/src/core.py: Fixed methods of detecting whether verify
2455 is a boolean variable or a list.
2456 * Added methods of catching the missing keys exceptions.
2457 * Still retained PEP8 compliance (which might have been where one or
2458 two problems crept in).
2459 * Though this is essentially the correct behaviour, it still does not
2460 quite fit the otiginal test; so that will also require some adjustment.
2461
2462 2018-09-27 Ben McGinnes <ben@adversary.org>
2463
2464 example: local signatures.
2465 + commit ce045a1ef9c63042fcffb5487b19646d67addba0
2466 * lang/python/examples/howto/local-sign-group.py: added the bit where
2467 specifying the signing key is actually used for signing rather than
2468 just pruning the list of keys to certify.
2469
2470 example: python bindings.
2471 + commit a047e0f68ef471097e514665249063f267257b19
2472 * lang/python/examples/howto/local-sign-group.py: locally sign every
2473 key in a group line except one's own keys. Intended to address the
2474 sort of thing one might see on lists like PGPNET or other closed
2475 groups amongst activists, journalists, etc. where everyone encrypts
2476 to all recipients, but may not sign everyone's keys publicly..
2477
2478 docs: python bindings installation.
2479 + commit 1d40d360bccb05b4c66313a60a902d04a0d3c9ff
2480 * lang/python/docs/gpgme-python-howto.org: added a section on
2481 installing the bindings to a python virtualenv.
2482
2483 tests: python bindings.
2484 + commit b9aea3b9c2c2762a9ae8d677196f82acc6a1c028
2485 * Fixed the final assertion to look for what will actually be reported
2486 in that case instead of something else (i.e. it looks for an
2487 IMPORT_ERROR status code).
2488
2489 examples: python bindings.
2490 + commit 7c9f49a4991c1ccd0cb582875207b373d4fccf50
2491 * Fixed homedir specifying logic in several cases.
2492
2493 2018-09-25 Ben McGinnes <ben@adversary.org>
2494
2495 docs: a typographical two-step.
2496 + commit b625258d54782040195cc5ad3b255685af6f6c4e
2497 * Sometimes you really do need or want punctuation in a heading, but
2498 ideally without something else generating whitespace and other
2499 annoyances to go with it.
2500 * Trying a real decimal point instead.
2501
2502 docs and examples: python bindings.
2503 + commit 62e4e2cb5edb09183b9f9d448f992fe65cb6db85
2504 * Woumd up the "what's new" section.
2505 * Added an example for sending a key to the keyservers via hkp4py.
2506 * Updated the export key code to use a more complete check for the
2507 $GNUPGHOME location.
2508 * Expanded on the installation and reinstallation troubleshooting
2509 section.
2510
2511 2018-09-24 Ben McGinnes <ben@adversary.org>
2512
2513 docs: python bindings howto.
2514 + commit e9da4d97107b40a48583775df34783f07be5dfdb
2515 * Added a What's New section to summarise changes since the last
2516 release. There have been quite a few and some attention does need
2517 to be drawn to some of them.
2518 * Confirming certain issues with some platform builds, especially
2519 BSD/OSX vs. Linux issues which will need to update the installation
2520 troubleshooting guides.
2521
2522 2018-09-23 Ben McGinnes <ben@adversary.org>
2523
2524 docs and examples: python bindings howto.
2525 + commit b12b2cc99621fe32a2d698ce7f091f3225f35bd0
2526 * Added more comprehensive examples using hkp4py and added a couple
2527 more example scripts for protonmail.
2528
2529 examples: python bindings and hkp4py updates.
2530 + commit ced4bdbbb239c1fe209665b4f5a7aeb9651889ed
2531 * Mostly tightening up the details on the hkp4py example script.
2532 * Also fixed a typo in the LGPL boiler plate text included in all the
2533 other example scripts for the HOWTO.
2534
2535 python bindings: importing from keyservers with hkp4py.
2536 + commit 6ed9a77c92c32f77092b36c149185d4359cd6e55
2537 * added a new example script to search the keyservers and import the
2538 results, this time using Marcel Fest's hkp4py module.
2539 * Updated the key importing section to match this addition.
2540 * Tested with the current version of hkp4py from github.
2541
2542 2018-09-22 Ben McGinnes <ben@adversary.org>
2543
2544 docs: python bindings howto.
2545 + commit 3622576105ae1924d9b40ce0d09bf9a7accc0ed1
2546 * Confirmed that updates to the tests have significant'y improved that
2547 output.
2548 * Updated some of the additional notes for the section on hkp4py.
2549 ** This is in anticipation adding at least import examples using that
2550 module as well. It may also include adding examples of exporting a
2551 key and uploading it to the keyservers.
2552
2553 2018-09-20 Werner Koch <wk@gnupg.org>
2554
2555 python: Fix a couple of syntax errors.
2556 + commit 6878126b6f53cdf7daeeaf68116dda008564c2fa
2557 * lang/python/tests/t-keylist-from-data.py: Add missing line
2558 continuation.
2559 * lang/python/tests/t-keylist.py: Ditto.
2560 * lang/python/tests/t-quick-key-creation.py: Ditto.
2561 * lang/python/tests/t-quick-subkey-creation.py: Ditto.
2562
2563 python: Silence a few warnings.
2564 + commit dcdabf5f2ef84e1f304fcc0590ec4bb160354af5
2565 * src/gpgme.h.in: Obsolete "class" also for Python.
2566 * lang/python/gpgme.i: Silenece a swig warning. Silence a gcc
2567 warning.
2568
2569 python: Fix regression in the test suite.
2570 + commit 9f19b3aaecd23a12b2e6692faeefa936e490d343
2571 * lang/python/tests/Makefile.am (GNUPGHOME): Remove stray backslash.
2572
2573 tests: Don't try using keys from a scmartcard.
2574 + commit a824f4498ea9bae5dca515c56e2455ec0ce98b50
2575 * tests/gpg/Makefile.am: Disable scdaemon
2576 * lang/python/tests/Makefile.am: Ditto.
2577
2578 2018-09-20 Ben McGinnes <ben@adversary.org>
2579
2580 docs: python bindings and its special request.
2581 + commit 5cb67257f2b3b5fcfd3444e366f26a0f2ae09504
2582 * Added some material on using the new-ish hkp4py module with GPGME.
2583 * Example code will be added later once a couple of little issues are
2584 addressed.
2585
2586 2018-09-19 Werner Koch <wk@gnupg.org>
2587
2588 json: Remove subkey-algo from createkey command.
2589 + commit c569adb5e3e3082bd68cdc34a2d349b7c28d3768
2590 * src/gpgme-json.c (op_createkey): Remove subkey-algo param.
2591 (GPG_AGENT_ALLOWS_KEYGEN_TRHOUGH_BROWSER): Fix typo.
2592 * lang/js/src/Keyring.js: Remove subkey-algo support.
2593 * lang/js/src/permittedOperations.js: Ditto.
2594
2595 2018-09-18 Ben McGinnes <ben@adversary.org>
2596
2597 docs: python bindings.
2598 + commit 362caaf02f3a25b7e626572aa30b87771c2c8f4d
2599 * Updated the Cython example code slightly, along with the
2600 corresponding explanation.
2601
2602 2018-09-17 Ben McGinnes <ben@adversary.org>
2603
2604 docs: python bindings howto.
2605 + commit f4d83800d89173e618cceca44b584778217fadb3
2606 * Tightened up the Cython demonstration.
2607
2608 2018-09-16 Ben McGinnes <ben@adversary.org>
2609
2610 docs: cython sanitized.
2611 + commit 44c846345e91413b9d6a1f7b26f59db5b1c32433
2612 * Sanitized the shell command examples of extraneous whitespace.
2613 * Removed keycount.c as sanitising it is pointless and it will be
2614 generated by Cython when the example is followed.
2615 * Regenerated the .texi version.
2616
2617 docs: python bindings howto.
2618 + commit 61c08f7435570783f5c267e42d288d31bf77e560
2619 * Added new advanced section with an example of using the Python
2620 bindings with CPython code compiled back to C code using Cython.
2621 * Though it may seem a bit counter-intuitive to use the bindings just
2622 to go back to C via a different route, this is not actually stupid.
2623 * Added examples/howto/advanced/cython/ directory.
2624 * Added keycount.pyx, setup.py and the keycount.c file which the first
2625 two generated with Cython. Not including the .so and .o files from
2626 the build.
2627 * Exported the .texi version of the howto for the main docs.
2628
2629 docs: even more edits.
2630 + commit fbec29fdac7a4f162e73f24dac2a6b205239ef03
2631 * doc/gpgme-python-howto.texi: hunting down and killing commas,
2632 Oxford or not it can't stay in a heading.
2633
2634 docs: more edits.
2635 + commit 2a1b0b88d96b722817f3ac9edf002a54c65084b8
2636 * lang/python/docs/gpgme-python-howto.org: more tweaks and edits,
2637 along with another build of output formats.
2638 * doc/gpgme-python-howto.texi: updated texinfo version for parent docs.
2639
2640 docs: whitespace culled.
2641 + commit 91b26b0638d9f92f0e90aab1c3750c14d72db301
2642 * lang/python/docs/gpgme-python-howto.org: Identified and fixed the
2643 headings which kept generating lines with trailing whitespace when
2644 exporting to Texinfo format and adjusted them to prevent that.
2645
2646 docs: renaming and drafts.
2647 + commit 766ec0e4a36c120ed4ef5463b5fdf8e7ed3b4563
2648 * lang/python/docs/gpgme-python-howto.org: Renamed file to better fit
2649 the rest of the project's docs.
2650 * Added a section on the very unofficial drafts I periodically post
2651 links to since they're often the easiest way to get a web version in
2652 front of someone in a hurry.
2653
2654 2018-09-15 Ben McGinnes <ben@adversary.org>
2655
2656 docs: python howto texinfo update.
2657 + commit 76f77022848894ee9d8490255cefdd0100248b45
2658 * doc/gpgme-python-howto.texi:
2659
2660 docs: Python howto update.
2661 + commit 7e9df9b9e33131f5d7c58ad58249f9ae766f1341
2662 * lang/python/docs/GPGMEpythonHOWTOen.org: Added corresponding GPGME
2663 version number to table at the start and cut the shortcut from the
2664 groups.py example.
2665 * doc/gpgme-python-howto.texi: New export of Texinfo file for docs
2666 build.
2667
2668 docs: generated whitespace.
2669 + commit 93a2ea0207fac0a18a48b671df11dc8575579c39
2670 * doc/gpgme-python-howto.texi: culled whitespace included with the
2671 org-mode export.
2672
2673 Docs: including howto with standard docs.
2674 + commit 2e5b0603709855eb1d8a1a3fd51d3245f4301ada
2675 * gpgme.spec.in: Added gpgme-python-howto.info build on the grounds
2676 that it now deals with certain possible installation issues and end
2677 users encountering them would want the docs to hand.
2678 * doc/gpgme.texi: updated the copyright year to this year.
2679
2680 Docs: Python bindings HOWTO.
2681 + commit b19faa26e01df4d78286e013313e5ab25f517d49
2682 * Added doc/gpgme-python-howto.texi: generated from
2683 GPGMEpythonHOWTOen.org and then slightly modified so the generated
2684 Info file doesn't use camelCase.
2685 * doc/Makefile.am: Updated makefile to include the Python HOWTO with
2686 gpgme_TEXINFOS and to export the generated files to the webserver
2687 along with the main GPGME one.
2688
2689 Python bindings: docs.
2690 + commit d04fb0bf1271c91b88686c947a5b14ffc9b505ef
2691 * lang/python/docs/GPGMEpythonHOWTOen.org: Fixed a few errors in the
2692 newer sections.
2693 * Updated code in the examples using secret key exporting and group
2694 lines to reflect the Python 2.7 compatibility fixes added.
2695
2696 Python bindings: examples.
2697 + commit 4e8a92ed14ea3da3d92f07d5f62fd325a2adebde
2698 * lang/python/examples/howto/export-secret-keys.py and groups.py:
2699 Updated the backwards compatibility adjustments to account for
2700 unicode differences between python 2 and 3.
2701
2702 Python examples: backwards compatibility.
2703 + commit 864ef9b40f5f9d0c66a458b6033277938d7d1d50
2704 * lang/python/examples/howto/groups.py: subprocess update
2705 * lang/python/examples/howto/export-secret-keys.py: subprocess update
2706
2707 Both of these try the nice and easy method of getting the subprocess
2708 output available in Python 3, but will fall back to the older Popen
2709 method if it doesn't work. Essentially this is to be a little nicer
2710 to Python 2.7.15 (even though the examples are filled with warnings
2711 that py2 support is not guaranteed with the examples).
2712
2713 2018-09-10 Thomas Oberndörfer <thomas@mailvelope.com>
2714
2715 js: Fix errorDetails of GPGME_Signature.
2716 + commit dd7d37ca21684d4d77db4f513c6212776fc6ea82
2717 * lang/js/src/Signature.js (GPGME_Signature.errorDetails):
2718 Access properties from the summary object.
2719
2720 2018-09-08 Ben McGinnes <ben@adversary.org>
2721
2722 estreams revised.
2723 + commit 2375959180aa8eb0d23cc3f8240c3f5b5262b819
2724 * Egon Spengler was right, crossing the streams is bad.
2725 * Restored both src/gpgme.def and src/libgpgme.vers to use the
2726 estreams symbols without the leading underscore.
2727 * The new_from_estream() function added to lang/python/src/core.py and
2728 set to alias the new_from_stream() function remains.
2729 * Opted for the solution favouring Linux onthree main grounds:
2730 1. Andre reported major problems with Windows as well, so the number
2731 of potentially affected systems would vastly increase.
2732 2. All the BSDs and OS X have spent far more time and development
2733 work in order to accommodate the eccentricities of both Microsoft
2734 and the GNU Project (ref. GCC), so they're more likely to be able
2735 to cope with doing so again than the other way around.
2736 3. If I really have to I can write a custom installer for OS X to
2737 try this and, if it fails, to then patch the two symbol entries and
2738 recompile from scratch. That said, I may not have to since it
2739 actually behaved during the most recent tests for this
2740 commit; into ten separate CPython installations and all five
2741 supported versions (standard source installs and OS X Framework
2742 installs for each version).
2743
2744 2018-09-02 Ben McGinnes <ben@adversary.org>
2745
2746 estreams symbols for python bindings.
2747 + commit 879cc1f84fbf09cb4eeb78bce16f52a1a36032ba
2748 * It turns out that even though some platforms detect differing
2749 symbols for estreams, the two types do not appear to be in
2750 conflict. At least they don't from the BSD/OS X side of things.
2751 As a consequence both versions are now included.
2752
2753 2018-08-31 Ben McGinnes <ben@adversary.org>
2754
2755 docs: python bindings.
2756 + commit 55991aa91667b9184cc9fc86a3ac21b9640511ef
2757 * minor typographic update.
2758
2759 2018-08-30 Ben McGinnes <ben@adversary.org>
2760
2761 python bindings: estreams fix.
2762 + commit 1d00fb987b903e245d484bddfe3c0a0aba670ac1
2763 * lang/python/src/core.py: Adjusted new_from_estream function to alias
2764 new_from_stream instead of fd.
2765 * fixed the _gpgme import errors introduced in commit
2766 08cd34afb762975b0273575035dacf69449ef241 by changing the exported
2767 functions/types to match the inner module where all the work is
2768 done, rather than the outer one(s).
2769
2770 2018-08-29 Ben McGinnes <ben@adversary.org>
2771
2772 python bindings: core.
2773 + commit 18ea83867168e8db0a2f2c8057d087363083486c
2774 * lang/python/src/core.py: expanded gpgme_error check lists.
2775
2776 python bindings: core.
2777 + commit dcedddecb6f8f11682aed3b09b88ee1511010faf
2778 * lang/python/src/core.py: added gpgme_data_set_flag to the errorcheck
2779 funtion.
2780
2781 python bindings: core.
2782 + commit 6078b5303362b2e5ce56660967fac313ca3d5ae9
2783 * lang/python/src/core.py: added new function new_from_estream to wrap
2784 new_from_fd just like new_from_stream does and for the same reason.
2785
2786 2018-08-29 Andre Heinecke <aheinecke@intevation.de>
2787
2788 json: Fix detached verify.
2789 + commit 1420c3bd681648b032d756536311621a3627bedb
2790 * src/gpgme-json.c (op_verify): Only create output and
2791 use it for clearsigned and opaque signed.
2792
2793 2018-08-29 Ben McGinnes <ben@adversary.org>
2794
2795 docs: python bindings - protonmail examples.
2796 + commit f7e5ae7f1618bd355b885c5c32dd028afad35453
2797 * lang/python/docs/GPGMEpythonHOWTOen.org: Updated links to the
2798 ProtonMail keyserver import scripts and added a warning regarding
2799 being unable to update third party keys.
2800 * lang/python/examples/howto/pmkey-import-alt.py: added usage.
2801 * lang/python/examples/howto/pmkey-import.py: added usage.
2802
2803 2018-08-28 Ben McGinnes <ben@adversary.org>
2804
2805 docs: python bindings HOWTO.
2806 + commit 02d0b97bfedc732351cc4e89c92fcd9d31209535
2807 * Finished CFFI vs SWIG bit in known issues.
2808 * tidied up some of the structure.
2809 * Fixed some minor errors and links.
2810
2811 docs: python bindings.
2812 + commit a8a983c5bc0f0deeeebda455ad73309fff48b61f
2813 * Added section on why no CFFI.
2814
2815 docs: python howto.
2816 + commit c2831e2377843c8625df158ef32e01f8c19494eb
2817 * Added another key import example using ProtonMail's new keyserver.
2818
2819 2018-08-28 Andre Heinecke <aheinecke@intevation.de>
2820
2821 json: Delete primary key if subkey gen fails.
2822 + commit 3bdf8be6d2c57319399fe14e27e52b323a17750a
2823 * src/gpgme-json.c (op_delete): Delete primary key on
2824 subkey gen error.
2825
2826 json: Allow NULL request in encode and chunk.
2827 + commit 7d3c13df263ed88c17005920e75e0486abeae5b9
2828 * src/gpgme-json.c (encode_and_chunk): Don't error on NULL
2829 request.
2830
2831 2018-08-27 Ben McGinnes <ben@adversary.org>
2832
2833 docs: python bindings.
2834 + commit 1c261b9fa3462360b6c3f43b243091cd50534903
2835 * Added details on installation troubleshooting.
2836
2837 2018-08-27 Werner Koch <wk@gnupg.org>
2838
2839 json: Do not put FILE_NAME into the verify result.
2840 + commit 53c5b9a265d33f2cc54f489375a929602338aee8
2841 * src/gpgme-json.c (verify_result_to_json): Remove "file_name".
2842
2843 2018-08-27 Jasper Spaans <jasper@startmail.com>
2844
2845 core: Export gpgme_data_new_from_estream function.
2846 + commit 08cd34afb762975b0273575035dacf69449ef241
2847
2848
2849 2018-08-23 Andre Heinecke <aheinecke@intevation.de>
2850
2851 json: Add sender and file name to encrypt.
2852 + commit a5f8dac77d50480a208c99398df323c58ce6dc58
2853 * src/gpgme-json.c (hlp_encrypt, op_encrypt): Support sender
2854 and file_name.
2855
2856 2018-08-21 Andre Heinecke <aheinecke@intevation.de>
2857
2858 json: Add proper decrypt_result_t handling.
2859 + commit 263dadb04aed4f973248b32c52af6ca59bcb7c1f
2860 * src/gpgme-json.c (recipient_to_json, decrypt_result_to_json):
2861 New.
2862 (op_decrypt, hlp_decrypt): Update.
2863
2864 js: Update extra_dist files.
2865 + commit 738a8e6f950af08305c082d59a91d3d5d45800fa
2866 * lang/js/BrowserTestExtension/Makefile.am,
2867 lang/js/Makefile.am (EXTRA_DIST): Update.
2868
2869 Add example manifests for gpgme-json.
2870 + commit 9608996d88549b60da490e5eeb41db023f97a038
2871 * doc/examples/gpgme-chrome.json, doc/examples/gpgme-mozilla.json: New.
2872 * doc/Makefile.am (EXTRA_DIST): Include them.
2873
2874 js: Improve README.
2875 + commit 605eb8a8bfcb12141d7cc5626e75af812cda6c75
2876 * lang/js/README: Clarify structure at the beginning.
2877
2878 Remove js as language from configure.ac.
2879 + commit fe3de5b86b4a25f5b23cf1af2fd1809ef6c087a0
2880 * configure.ac: Remove js language.
2881
2882 2018-08-20 Andre Heinecke <aheinecke@intevation.de>
2883
2884 json: Add subkey_algo and defaults to createkey.
2885 + commit 8103eeba809b6e7156d861783309574b93909169
2886 * src/gpgme-json.c (op_createkey, hlp_createkey): Add subkey_algo
2887 handling.
2888 (hlp_createkey): Fix documentation of expiry.
2889
2890 2018-08-19 Ben McGinnes <ben@adversary.org>
2891
2892 Python bindings examples.
2893 + commit 75bc5e6356eca1b7fb76653e7c82c2477f8859b0
2894 * import-key.py: fixed a minor typo.
2895 * pmkey-import.py: locates and imports keys from the ProtonMail keyserver.
2896 * pmkey-import-alt.py: the same as the previous except with setting an
2897 alternative $GNUPGHOME directory.
2898
2899 2018-08-18 Ben McGinnes <ben@adversary.org>
2900
2901 Python bindings setup file.
2902 + commit 03b899dbe14a3c32fd018c20c7d5156366fdcc3d
2903 * Moved the build import back up where it belongs.
2904 * Included comments indicating how to build and install for multiple
2905 Python versions beyond the first 2 on the same system.
2906
2907 Python bindings tests: Near PEP8 compliance.
2908 + commit 5facba45c83f7daaacc49e66306e13a35aeb74be
2909 * PEP8 compliance for the vast majoeity of the tests.
2910
2911 Python bindings examples: PEP8 conpliance.
2912 + commit b5fbe90676f46b9615919133753a65b20318fe63
2913 * Appears to be complete compliance.
2914
2915 Python bindings setup: Near PEP8 compliance.
2916 + commit fc55caccfc87253e1703df66b21917cc399fba62
2917 * lang/python/version.py.in: Fixed most things, but there's still an
2918 issue near the build portion with the existing Python bugs referenced.
2919 * lang/python/setup.py.in: Now PEP8 compliant.
2920
2921 Python bindings constants: PEP8 compliance (almost)
2922 + commit 8a6a73b9c4f92b159450edb5e4a780fc7389ca82
2923 * PEP8 compliance for all constants except the globals in
2924 src/constants/__init__.py depending on whether the import sequence
2925 affects the globals themselves.
2926
2927 Python bindings src: PEP8 compliance.
2928 + commit 7962cde13c5cbdc643bbde795e2c29e638dfc186
2929 * import namespace clearance for src/*.py.
2930 * Fixed a handful of is/is not None checks as well.
2931
2932 2018-08-13 Ben McGinnes <ben@adversary.org>
2933
2934 Symmetric example.
2935 + commit 279cac0ffbb3d865d997dc7fc9c1b53bbb55d3a2
2936 * lang/python/examples/howto/symcrypt-file.py: *sigh*; passphrase was
2937 right the first time, just the error check that wasn't.
2938 * I really should stop second guessing myself one of these days ...
2939
2940 Symmetric encryption example.
2941 + commit a256d84882616341b3f357340533893a1db8b5c1
2942 * lang/python/examples/howto/symcrypt-file.py: Fixed the error code
2943 and the passphrase key word arg.
2944
2945 Symmetric encryption example.
2946 + commit ed5ef8293cdbfcc3b91268eeae1eb6b4f8d271bb
2947 * lang/python/examples/howto/symcrypt-file.py: A variation on standard
2948 key based encryption.
2949
2950 2018-08-10 Ben McGinnes <ben@adversary.org>
2951
2952 PEP8 compliance and other code fixes.
2953 + commit 94bf13e78e65e1d1bc2e5d6b2311f9c9657bfe5f
2954 * Ran all the .py files in src/ and below through Yapf.
2955 * Included some manual edits of core.py, this time successfully making
2956 two notorious sections a bit more pythonic than scheming.
2957 * Left the module imports as is.
2958 * This will be committed if it passes the most essential test:
2959 compiling, installing and running it.
2960
2961 2018-08-09 Ben McGinnes <ben@adversary.org>
2962
2963 Link fixes.
2964 + commit b6d2a66b41fee5b7fb484566aefcdbcc4cdad094
2965 * lang/python/README: Fixed links in both versions of the README.
2966
2967 2018-08-08 Andre Heinecke <aheinecke@intevation.de>
2968
2969 json: Wipe memory in cJSON_Delete.
2970 + commit 4dd1d0abd34a382d1cd67cabb737950a39cb3fdc
2971 * src/cJSON.c (cJSON_Delete): Wipe memory on deletion.
2972
2973 json: Only use calloc instead of malloc.
2974 + commit fdc07b3ddc2f68e6fcb33703ea41126d0a841290
2975 * src/cJSON.c, src/gpgme-json.c (CALLOC_ONLY): New define
2976 to change xmalloc / xtrymalloc to use calloc.
2977
2978 json: Add checks when skipping byte.
2979 + commit 974a95db04f9cdea02867f0246445b4679517ba0
2980 * src/cJSON.c (parse_string, cJSON_Minify): Check for
2981 terminating NULL byte when skipping the byte after a an escaped
2982 quote.
2983
2984 json: Don't error out if chunksize is omitted.
2985 + commit 6e48bb0f1cbf662026bf0f70549b52bafe00c017
2986 * src/gpgme-json.c (encode_and_chunk): Don't error out
2987 if no chunksize is provided.
2988
2989 cpp: Fix use after free in gencardkeyinteractor.
2990 + commit 3b782443600e8091c5f19580cb218100bcbb4ad7
2991 * lang/cpp/src/gpggencardkeyinteractor.cpp
2992 (GpgGenCardKeyInteractor::Private::keysize): Change to string.
2993
2994 2018-08-06 Andre Heinecke <aheinecke@intevation.de>
2995
2996 Make GNUPGHOME for tests overridable.
2997 + commit d09d19fa9fe1e81dd819b32208b4bd09f83e3918
2998 * lang/python/tests/Makefile.am,
2999 lang/qt/tests/Makefile.am,
3000 tests/Makefile.am,
3001 tests/gpg/Makefile.am,
3002 tests/gpgsm/Makefile.am,
3003 tests/opassuan/Makefile.am (GNUPGHOME): Make variable explict.
3004
3005 2018-07-24 Andre Heinecke <aheinecke@intevation.de>
3006
3007 cpp: Add safety checks for key update.
3008 + commit a6e5c8bf18696007c48c6f362aa355020fe82f21
3009 * lang/cpp/src/key.cpp (Key::update): Check that the key is
3010 not NULL.
3011 * lang/cpp/src/verificationresult.cpp (GpgME::Signature::key):
3012 Check for fingerprint.
3013
3014 2018-07-22 Ben McGinnes <ben@adversary.org>
3015
3016 docs: python bindings howto.
3017 + commit 4d1642b11ea64b8009a8720d9b59e89636d691d2
3018 * Fixed and tested the changes necessary for org-mode to correctly
3019 parse pythonic (Python 3) indentation.
3020 * Updated the source blocks to recommended upper case for BEGIN_SRC
3021 and END_SRC.
3022 * Tested and confirmed XHTML output matches correct examples.
3023 * Tested against pseudo-control output via exporting from org-mode to
3024 org-mode and then exporting that to XHTML. Remaining differences
3025 appear to be discarding the custom tags used to provide X[HT]ML id
3026 elements to each section which does not appear to offer any benefit.
3027 * Exporting directly to XHTML or other HTML output should no longer
3028 cause problems, but if there are any then the first step should be
3029 exporting from org-to-org and then exporting that to XHTML.
3030
3031 doc: python bindings howto.
3032 + commit d7c5366d58d035d7b7119f955824e842d0b6bbe0
3033 * Another retrofitting of the HOWTO Python example code, this time
3034 following adjustments to python-mode configuration and having
3035 trawled through the org-mode mailing lists for clues.
3036
3037 doc: python bindings howto.
3038 + commit b47e1bb98a8ff93cae560449bfa9103c47f4d4f8
3039 * Added org-mode byline.
3040
3041 2018-07-19 Werner Koch <wk@gnupg.org>
3042
3043 core: Clear all flags for a new data property.
3044 + commit 5ef492c5635ae1677eed6f439a75a86a99dbbe18
3045 * src/data.c (PROPERTY_TABLE_ALLOCATION_CHUNK): New.
3046 (insert_into_property_table): Use it here. Clear all flags.
3047
3048 core: Blank out the plaintext after decryption failure.
3049 + commit 085cdeddef637cc057362fcbde13b0261b8699ec
3050 * src/data.h (data_prop_t): New enum.
3051 (struct gpgme_data): Add field propidx.
3052 * src/data.c (property_t): New.
3053 (property_table, property_table_size, property_table_lock): New.
3054 (insert_into_property_table): New.
3055 (remove_from_property_table): New.
3056 (_gpgme_data_get_dserial): New.
3057 (_gpgme_data_set_prop): New.
3058 (_gpgme_data_get_prop): New.
3059 (_gpgme_data_new): Connect new object to property_table.
3060 (_gpgme_data_release): Remove from property_table.
3061 (gpgme_data_read): With DATA_PROP_BLANKOUT set don't fill the buffer.
3062 * src/data-mem.c (gpgme_data_release_and_get_mem): Likewise.
3063 * src/decrypt.c (struct op_data): Add field plaintext_dserial.
3064 (_gpgme_op_decrypt_init_result): Add arg plaintext and init new field.
3065 (_gpgme_decrypt_status_handler): Set DATA_PROP_BLANKOUT on decryption
3066 failure.
3067 (_gpgme_decrypt_start): Pass PLAIN to the init function.
3068 * src/decrypt-verify.c (decrypt_verify_start): Ditto.
3069 * configure.ac: Check for stdint.h and bail out if uint64_t is not
3070 available.
3071
3072 2018-07-19 Andre Heinecke <aheinecke@intevation.de>
3073
3074 cpp: Print origin and last update for key/uid.
3075 + commit 8168dfbeb12042a7f7b1bad918ef60df92bfd1a7
3076 * lang/cpp/src/key.cpp: Print origin and last update in
3077 iostream operators.
3078
3079 2018-07-19 Werner Koch <wk@gnupg.org>
3080
3081 json: Don't use strdup but the xtrystrdup wrapper.
3082 + commit af2c74d6c06a9fb08f7de15d41162d09f871a62e
3083 * src/gpgme-json.c (create_keylist_patterns): Use CNT as first arg for
3084 xcalloc.
3085 (process_request): s/strdup/xtrystrdup/.
3086
3087 core: New interface gpgme_data_new_from_estream.
3088 + commit f42cd70f18d53df47cc2d027bade736377d39b71
3089 * src/gpgme.h.in (gpgme_data_new_from_estream): New.
3090 * src/data-estream.c: New.
3091 * src/data.h (gpgme_data): New union member e_stream.
3092
3093 2018-07-18 Andre Heinecke <aheinecke@intevation.de>
3094
3095 json: Fix memleak in native msging repl.
3096 + commit 98a75a16ccdfe51799a27894d2eb26dba04b34f2
3097 * src/gpgme-json.c (native_messaging_repl): Free request and
3098 response after each loop.
3099
3100 json: Ensure that native msging request is string.
3101 + commit 6d7b4382c3e12ba1dbbd0762dfa850c76750d838
3102 * src/gpgme-json.c (native_messaging_repl): Ensure that the
3103 request is NULL terminated.
3104
3105 json: Fix crash by ensuring response is never NULL.
3106 + commit 82e4b900a96c837392259469a9a5821a95e7a707
3107 * src/gpgme-json.c (encode_and_chunk): Try to always
3108 return at least an error.
3109 (process_request): Double check that it does not return NULL.
3110
3111 json: Fix memory errors in create_keylist_patterns.
3112 + commit b78140daf7720132711314a4e5ed878b49da99f4
3113 * src/gpgme-json.c (create_keylist_patterns): Reserve two
3114 pointers more then linefeeds.
3115 (create_keylist_patterns): Fix loop to count linebreaks.
3116 (create_keylist_patterns): Use calloc for good measure.
3117
3118 qt: Handle encoding for diagnostics.
3119 + commit 16462c54b3503e77bc48c2486234531d7bc31b6d
3120 * lang/qt/src/threadedjobmixin.cpp (fromEncoding)
3121 (stringFromGpgOutput): New helpers.
3122 (markupDiagnostics): Use it.
3123
3124 2018-07-16 Andre Heinecke <aheinecke@intevation.de>
3125
3126 json: Fix crash on invalid json.
3127 + commit 1686e07e77a1eee3b2708d0231a5a549956021f7
3128 * src/gpgme-json.c (process_request): Init res. Check for
3129 json object before encode and chunk.
3130
3131 json: Fix uninitialized key unref in op_delete.
3132 + commit cc21101a7494ea0a17c3012fcb86e77b00b494fa
3133 * src/gpgme-json.c (op_delete): Init key.
3134
3135 2018-07-16 Werner Koch <wk@gnupg.org>
3136
3137 json: Minor cleanups in cJSON.c.
3138 + commit 1933f5b8056b2671301379106cca4504c4187795
3139 * src/cJSON.c: Add comments on the origin of the code.
3140 (parse_string): Allocate an extra byte for safeness.
3141 (cJSON_AddItemToArray): Allo ARRAY to be NULL.
3142
3143 json: Fix buffer overflow in cJSON.c.
3144 + commit 013a7f47ab486c380b3c97637d3b15f11de74fe8
3145 * src/cJSON.c (parse_string): Correctly detect bad hex.
3146
3147 2018-07-13 Ben McGinnes <ben@adversary.org>
3148
3149 python bindings: example scripts.
3150 + commit 1bb3f8409d4bbec403bea768184a691d9d7ea42d
3151 * Fixed incorrect mention of output prompt referencing secret keys
3152 when the scripts are only for exporting public keys in whole or
3153 minimised forms.
3154
3155 2018-07-11 Andre Heinecke <aheinecke@intevation.de>
3156
3157 json: Add with-sec-fprs param to export.
3158 + commit 6cc842c9aa76d19448141e5117ac59452d7a1ff3
3159 * src/gpgme-json.c (add_secret_fprs): New helper.
3160 (op_export, hlp_export): Extend for with-sec fprs.
3161
3162 2018-07-10 Ben McGinnes <ben@adversary.org>
3163
3164 example scripts: python work-arounds.
3165 + commit 0e760e396fbf13e902d0dc0c048bff0d5410fa16
3166 * fixed three typos which were guaranteed to break said script.
3167
3168 2018-07-09 Ben McGinnes <ben@adversary.org>
3169
3170 docs: python bindings howto.
3171 + commit 1eceacaff4ad5d6a4b759a7d00907dbc8278f12c
3172 * Complete typographic overhaul.
3173 * Removed all section level indentation since it does not affect
3174 output formatting, but might affect source code examples.
3175 * In text-mode stripped out all tabs which had crept in and replaced
3176 them with four spaces.
3177 * Updated all code examples (again) to conform with Python-mode.
3178 * Bumped version number in preparation for next release of GPG 2.2.9
3179 and corresponding GPGME release.
3180
3181 2018-07-09 Andre Heinecke <aheinecke@intevation.de>
3182
3183 json: Add with-secret without secret only.
3184 + commit 40471ec12f7b4ba37922813a02ebb2aaaa963b51
3185 * src/gpgme-json.c (op_keylist, hlp_keylist): Add "with-secret"
3186 as a flag to do a public keylist with secret information.
3187
3188 tests: Add --with-secret to run-keylist.c.
3189 + commit c287f09ac0f090a65299ac7c15e3c9b4947d4b67
3190 * run-keylist.c (show_usage, main): Add --with-secret.
3191
3192 doc: More explicit doc for EXTERN and LOCAL modes.
3193 + commit 31bc51e2aff0a28b551410c9def2f578d0d28cea
3194 * doc/gpgme.texi (GPGME_KEYLIST_MODE_EXTERN),
3195 (GPGME_KEYLIST_MODE_LOCATE, GPGME_KEYLIST_MODE_LOCAL): Mention
3196 command line flags for CMS and OpenPGP Protocol.
3197
3198 Add ctx flag for auto-key-locate.
3199 + commit 7bc5d3c7e41c6e42a583a61a4c9504058fbb2976
3200 * src/context.h (gpgme_context): Add auto_key_locate.
3201 * src/engine-gpg.c (engine_gpg): Add auto_key_locate.
3202 (gpg_set_engine_flags, build_argv): Handle auto_key_locate.
3203 (gpg_release): Free auto_key_locate.
3204 * src/gpgme.c (gpgme_release): Free auto_key_locate.
3205 (gpgme_get_ctx_flag, gpgme_set_ctx_flag): Handle auto-key-locate.
3206 * doc/gpgme.texi: Document auto-key-locate flag.
3207 * tests/run-keylist.c (show_usage, main): Add --from-wkd option.
3208
3209 2018-07-07 Ben McGinnes <ben@adversary.org>
3210
3211 python bindings: howto examples.
3212 + commit cacca62d06c6cf4a291f7ab2571cf52d671d140f
3213 * Made sure all example scripts meet PEP8 compliance.
3214 * Required fixing approx. a dozen of them in minor ways.
3215
3216 2018-07-05 Andre Heinecke <aheinecke@intevation.de>
3217
3218 qt: Handle OpenPGP Diagnostic log.
3219 + commit 66c2a99422dd9a52d8342165ed1d033c4f29b9e0
3220 * lang/qt/src/threadedjobmixin.cpp (_detail::audit_log_as_html):
3221 Handle OpenPGP audit log differently.
3222
3223 cpp: Add enum mapping for GPGME_AUDIT_LOG_DIAG.
3224 + commit 629afebe5017db97f2a318f6878fe1f9d3e60189
3225 * src/context.cpp (to_auditlog_flags): Map DIAG value.
3226 * src/context.h (AuditLogFlags): Add it.
3227
3228 core: Add gpg auditlog to get diagnostics.
3229 + commit a2458806f8bf04b66795e1dde765b42fe1ef6797
3230 * src/engine-gpg.c (engine_gpg): Add diagnostics member.
3231 (gpg_release): Release diagnostics data.
3232 (gpg_new): Set up logger-fd and diagnostics.
3233 (gpg_getauditlog): New. Copy diagnostics to a user data.
3234 (engine_ops): Add getauditlog.
3235 * src/engine-gpgsm.c (gpgsm_getauditlog): Return not implemented
3236 for GPGME_AUDITLOG_DIAG.
3237 * src/getauditlog.c (getauditlog_start): Don't reset engine
3238 for diagnostics.
3239 * src/gpgme.h.in (GPGME_AUDITLOG_DIAG): New.
3240 (GPGME_AUDITLOG_DEFAULT): New alias to 0.
3241 * tests/run-decrypt.c (show_usage, main): Add --diagnostics.
3242 * doc/gpgme.texi(Additional Logs): Document getauditlog.
3243
3244 2018-07-04 Andre Heinecke <aheinecke@intevation.de>
3245
3246 cpp: Fix memory of DecryptionResult::symkeyAlgo.
3247 + commit 7d65dc2a5c4f32139a1b9b1f0bd375f7ab1c58f6
3248 * lang/cpp/src/decryptionresult.cpp (Private, ~Private): strdup
3249 the symkey algo.
3250
3251 json: Add keylist mode locate.
3252 + commit 76b847091593669c8a7e38918267d6be97dbd4d0
3253 * src/gpgme-json.c (op_keylist, hlp_keylist): Add locate.
3254
3255 2018-07-01 Ben McGinnes <ben@adversary.org>
3256
3257 python bindings: scheming serpents.
3258 + commit 5bca49975063f788b2499342d5a565faf54511db
3259 * Apparently I am wrong and Scheme is the new Python after all.
3260 * Non-import related PEP8 compliance must wait for another day, though
3261 the other PEP8 fixes remain.
3262
3263 python bindings: gpg.core.
3264 + commit 789ea1b019885d5d1db1662e3cd4fda33636e30c
3265 * Changed id/else statements to a more pythonic form from scheme
3266 masquerading as python - sorry Justus, it had to go ;).
3267 * With the added bonus of enabling PEP8 compliance in those sections.
3268 * Fixed remaining PEP8 compliance issues with the exception of the
3269 imports at the beginning of the file (changing those will break the
3270 entire module, so we'll cope with it as it is).
3271
3272 2018-06-29 Ben McGinnes <ben@adversary.org>
3273
3274 m4 update: python 3.7.
3275 + commit 35e29e139534ed217340879732a7adfdbd57c91d
3276 * Fixed an error in arcane m4 syntax.
3277
3278 python bindings: python 3.7.
3279 + commit 43a2b5754571292b25402e20cd044ebda9316c77
3280 * Bindings confirmed to work with the newly released 3.7.0.
3281 * Updated M4 file to reflect this change and correct the Python binary
3282 search order (3.7 is not yet given priority, but will still be found
3283 first via the more generic python3 executable).
3284 * Updated setup.py.in, bindings documentation and README to reflect this.
3285
3286 2018-06-28 Ben McGinnes <ben@adversary.org>
3287
3288 whitespace police:
3289 + commit 48174b2bcc319e4542aefd0cc3aae02c4083784e
3290 * There's always one or, in this case, two.
3291
3292 docs: python bindings howto.
3293 + commit 6aec7d6e4a5173f54a079719020704a0098b8f0a
3294 * Updated official doc (the org-mode file) with the instructions on
3295 importing and exporting both public and secret keys.
3296
3297 python bindings examples.
3298 + commit a7ccdc51efd8c199b902eb942e9db7b3549e721f
3299 * Added a secret key export variant which saves output as both GPG
3300 binary and ASCII armoured, plus saves in $GNUPGHOME and uses
3301 multiple methods of determining what that location is.
3302
3303 python bindings examples.
3304 + commit 7fc7e80e54235c558051cbf72b51dd60b4ca485e
3305 * Added a key import variant which accesses the SKS keyservers in a
3306 RESTful fashion and then imports or attempts to import the response.
3307
3308 python bindings examples: three export scripts.
3309 + commit 0d163a7d121eacacc5f6da11a3dee3548f98f124
3310 * Example of default exporting keys.
3311 * Example of exporting minimised keys.
3312 * Example of exporting secret keys to a file with correct permissions.
3313
3314 python bindings: import example.
3315 + commit 4251cae34da0d825a29f509ac828f7ecb90c1752
3316 * Added an example script for importing a key from a file (either
3317 ASCII armoured or not).
3318
3319 python bindings: export secret keys.
3320 + commit a5b91b21f561d7b13ddcb62fca3749ed92ea8720
3321 * The holy grail: a function to export secret keys.
3322 * GPGME will still invoke pinentry and gpg-agent as usual to authorise
3323 the export.
3324 * Mostly similar to the two previous export functions for public keys
3325 except that it will return None if the result had a length of zero
3326 bytes. Meaning that the difference between the specified pattern
3327 (if any) not matching available keys and an incorrect passphrase is
3328 not able to be determined from this function (or the underlying one
3329 for that matter).
3330
3331 python bindings: export public keys.
3332 + commit 7faef33d13fa8efce152ca7aa6e9d39030c1cf08
3333 * Updated key_export and key_export_minimal to return None where a
3334 pattern matched no keys in a manner simnilar to the possible result
3335 of key_export_secret.
3336
3337 python bindings: export public keys.
3338 + commit 89c548efdf46bd7d9e6f0ca34a07efbbf420e821
3339 * Added functions for exporting public keys to gpg.core in both
3340 complete form and in minimised form.
3341 * Rather than letting people need to worry about the export modes we
3342 are simply separating the functions as people would be more familiar
3343 with from the command line usage anyway.
3344 * Functions added for Context are: ctx.key_export_minimal and
3345 ctx.key_export as the default or full export.
3346
3347 2018-06-20 Andre Heinecke <aheinecke@intevation.de>
3348
3349 json: Add file handling for debug output.
3350 + commit d8beab30c44482fb7a3e445b92cec482792b2ca0
3351 * src/gpgme-json.c (main): Add possibilty to set log file.
3352
3353 2018-06-19 Andre Heinecke <aheinecke@intevation.de>
3354
3355 Prepare build system for gpgme-js and dist it.
3356 + commit d27703ea4f0eed950cddf0157dc78bcb5d8d1c65
3357 * configure.ac: Add js as language.
3358 * lang/Makefile.am: Add js as dist language.
3359 * lang/js/BrowserTestExtension/Makefile.am,
3360 lang/js/DemoExtension/Makefile.am,
3361 lang/js/Makefile.am,
3362 lang/js/src/Makefile.am: Populate EXTRA_DIST variables.
3363
3364 2018-06-17 Ben McGinnes <ben@adversary.org>
3365
3366 python bindings: core import statements.
3367 + commit 19c5267f868aa41e73752ac1c76ec7ae1efe07b8
3368 * Fixed the bit I broke while fixing the PEP8 compliance issues.
3369
3370 python bindings: core — PEP8 compliance.
3371 + commit a5b24ae46c81d3abd3bb18bf0390cab6ebb2bd77
3372 * Fixed most of the PEP8 errors in core.py
3373 * Those remaining may need more than little edits and are a bit
3374 strange (too clearly the result of a programmer who has spent far
3375 too much time dealing with Lisp so that for Python it looks
3376 ... strange).
3377
3378 python bindings: core - key import.
3379 + commit 5a80e755008bbb3f4c7f91ffccd38f26cd8b3960
3380 * Wrapped the key import function in the try/exception statements
3381 needed to catch at least the most likely unsuccessful import attempt
3382 errors.
3383 * Mostly draws on the file error and no data import statuses for
3384 errors, with a couple of exceptions.
3385
3386 python bindings: core key import.
3387 + commit 0e762608ef5a598030b8d0e56261a830e1b7b724
3388 * The foundation of a pythonic key import function authored by Jacob
3389 Adams.
3390 * A unit testing script for the same function originally authored by
3391 Tobias Mueller
3392 * Added DCO reference for Jacob Adams to the GPGME AUTHORS file.
3393 * Additional details regarding this patch are available here:
3394 https://dev.gnupg.org/T4001
3395
3396 2018-06-10 Ben McGinnes <ben@adversary.org>
3397
3398 script: groups.py.
3399 + commit 92cd060f5e2f4fdbfbe4812ebe8ef57e82e1609f
3400 * Added check for if it is run on a Windows system so that the correct
3401 binary filename is invoked.
3402
3403 2018-06-08 Andre Heinecke <aheinecke@intevation.de>
3404
3405 cpp: Add proper gpgme_op_createkey.
3406 + commit 8dff414e170e4df8ea661028c4ac1588311ca26e
3407 * lang/cpp/src/context.cpp, lang/cpp/src/context.h
3408 (Context::createKeyEx): New.
3409
3410 json: Return fingerprint as createkey result.
3411 + commit 54146d90dd5518c24c30e6d2ebeb7f47ed4eb29e
3412 * src/gpgme-json.c (op_createkey): Return fingerprint of new key.
3413
3414 json: Add op_createkey.
3415 + commit 6c74a59e8855d1cac0d8001ad1b7843d2d15be5e
3416 * src/gpgme-json.c (hlp_createkey, op_createkey): New.
3417 (process_request, hlp_help): Add it.
3418
3419 json: Generalize chunking and getmore.
3420 + commit af8510fb7f4d5c90cc53f10dcc740f377af73d68
3421 * src/gpgme-json.c (MIN_REPLY_CHUNK_SIZE): Lower value to
3422 new real minimum.
3423 (DEF_REPLY_CHUNK_SIZE): Don't chunk by default.
3424 (pending_data): Remove type and base64.
3425 (make_data_object): Remove chunksize handling as this is now
3426 generic.
3427 (encode_and_chunk): Setup the pending_data buffer for chunking
3428 if required.
3429 (op_getmore): Changed to generically work on a response.
3430 (hlp_getmore): Update accordingly.
3431 (hlp_help): Document chunksize as generic parameter for all commands.
3432 (process_request): Use encode_and_chunk on the response.
3433 (hlp_encrypt, op_encrypt, hlp_decrypt, op_decrypt),
3434 (hlp_verify, op_verify, hlp_sign, op_sign),
3435 (op_keylist, hlp_keylist, hlp_export, op_export): Update accordingly.
3436
3437 2018-06-07 Andre Heinecke <aheinecke@intevation.de>
3438
3439 json: Rework verify_result_to_json.
3440 + commit e48f4a18f807ee42b31968b84f6ae7811d8d8a45
3441 * src/gpgme-json.c (sigsum_to_json): Add bool repr.
3442 (signature_to_json, verify_result_to_json): Extend and follow better
3443 pattern.
3444 (hlp_decrypt, hlp_verify): Expand doc.
3445
3446 json: Add direct way to query a config option.
3447 + commit 906ea48df3e178bea3e2c744ddd834b23fe553fb
3448 * src/gpgme-json.c (op_config_opt, hlp_config_opt): New operation.
3449 (process_request, hlp_help): Add it.
3450
3451 json: Add op_config to query gpgconf.
3452 + commit 7e18c7a07a1e2c58ef4d5ddeed46bcce098bdf6c
3453 * src/gpgme-json.c (op_config, hlp_config): New.
3454 (hlp_help, process_request): Add config.
3455 (conf_arg_to_json, conf_opt_to_json, conf_comp_to_json): New
3456 helpers.
3457
3458 2018-06-07 Ben McGinnes <ben@adversary.org>
3459
3460 examples: python howto.
3461 + commit a3a08584d6e57c4b2a40d74dc52a7d8c5c11b501
3462 * Uses the groups module to prepare a list of recipients and encrypt
3463 to those.
3464 * The main version (encrypt-to-group.py) tries to check for invalid
3465 recipients, but still falls back to always trust for the second
3466 encryption attempt.
3467 * The gullible version doesn't try pruning the recipient list at all,
3468 it just tries to encrypt and if it fails, switches straight to
3469 always trust.
3470 * The trustno1 version doesn't use the always trust model at all and
3471 only attempts pruning the list of invalid recipients.
3472
3473 2018-06-06 Werner Koch <wk@gnupg.org>
3474
3475 core: Return a better error code on certain decryption failures.
3476 + commit 2c4c5692472f5870f907c2c3f01870879cb0c34b
3477 * src/decrypt.c (op_data_t): Add field first_status_error.
3478 (parse_status_error): Set it.
3479 (_gpgme_decrypt_status_handler): Prefer an ERROR code over a
3480 NO_SECKEY.
3481
3482 2018-06-05 Werner Koch <wk@gnupg.org>
3483
3484 json: Allow to compile with libgpg-error < 1.28.
3485 + commit 998fec8a4fbc46315fe6836980954eed402b38c5
3486 * src/cJSON.c: Use gpgrt fucntion only if available.
3487
3488 2018-06-02 Ben McGinnes <ben@adversary.org>
3489
3490 docs: python bindings howto.
3491 + commit 897423422b9d3b856bfb72fbe1995b91d153a54e
3492 * Another attempt at fixing the org-mode version.
3493 * A proof reader ascertained there were tabs in it instead of whitespace.
3494 * Stripped the lot out and replaced with standard 4 spaces, fixed
3495 every incorrect example ... and it still breaks upon save and/or export.
3496 * Added the reference to the mutt-groups.py script to demonstrate the
3497 groups.py module/code.
3498
3499 Authors: DCO.
3500 + commit e144a6d70657675e28d43e42b48d879ff9b81d73
3501 * Added mine to the GPGME AUTHORS file. Mainly so I'm doing what I
3502 say myself when about to request another from someone ... ;)
3503
3504 2018-06-01 Andre Heinecke <aheinecke@intevation.de>
3505
3506 cpp: Add gpgme_(get)set_ctx_flag.
3507 + commit 00b027af86f33782933c6200fe1ffe40e85f4346
3508 * NEWS: Mention API extensions.
3509 * lang/cpp/src/context.cpp, lang/cpp/src/context.h
3510 (Context::setFlag, Context::getFlag): New.
3511
3512 cpp: Add legacy_cipher_nomdc.
3513 + commit d46768c96082b4fd076506d7d3f0c03e61c59d51
3514 * lang/cpp/src/decryptionresult.cpp, lang/cpp/src/decryptionresult.h
3515 (DecryptionResult::isLegacyCipherNoMDC): New.
3516
3517 2018-06-01 Werner Koch <wk@gnupg.org>
3518
3519 core: New context flag "ignore-mdc-error".
3520 + commit 662604c5bcb4e03d3c9ecc670d4f320a2418ebb3
3521 * src/context.h (gpgme_context): Add field ignore_mdc_error.
3522 * src/gpgme.c (gpgme_set_ctx_flag, gpgme_get_ctx_flag): Set/get it.
3523 * src/engine-gpg.c (engine_gpg): Add flags.ignore_mdc_error.
3524 (gpg_set_engine_flags): Set it.
3525 (build_argv): Pass option to gpg.
3526 * src/decrypt.c (_gpgme_decrypt_status_handler): Take care of flag.
3527 (gpgme_op_decrypt_result): Clear flag.
3528 (gpgme_op_decrypt): Clear flag.
3529 * src/decrypt-verify.c (gpgme_op_decrypt_verify): Clear flag
3530 (gpgme_op_decrypt_ext): Clear flag.
3531
3532 * tests/run-decrypt.c (show_usage): Add option --ignore-mdc-error.
3533
3534 core: New decryption result flag 'legacy_cipher_nomdc'.
3535 + commit dd19cabe81b7bf4177ea2ca741f6eb6cd1cab25e
3536 * src/gpgme.h.in (_gpgme_op_decrypt_result): Add flag
3537 legacy_cipher_nomdc.
3538 * src/decrypt.c (parse_status_error): Set this flag.
3539 * tests/run-decrypt.c (print_result): print it.
3540 (main): Print the result even on error.
3541
3542 core: Remove cruft from the engine-gpg code.
3543 + commit e2aa38b56a991a0da052acfe7566cc7a146d3bb6
3544 * src/engine-gpg.c (read_status): Remove the handling of
3545 GPGME_STATUS_END_STREAM; this was used only by the former experimental
3546 --pipemode of gpg but that is not even anymore invoked here.
3547 (struct engine_gpg): Remove cmd.linked_data and .linked_idx.
3548 (build_argv): Remove code for linked_data.
3549 (gpg_new): Ditto.
3550 (gpg_set_command_handler): Remove arr linked_data.
3551 * src/engine-backend.h (engine_ops): Remove arg data from
3552 set_command_handler.
3553 * src/engine.c (_gpgme_engine_set_command_handler): Remove arg
3554 linked_data and adjust all callers.
3555
3556 core: Minor cleanup in engine-gpg and -gpgsm.
3557 + commit 2219fc19d58ae1071493de92093b711f3c71454a
3558 * src/engine-gpg.c: Remove errno.h.
3559 (build_argv): Use gpg_error_from_syserror instead of ERRNO.
3560 * src/engine-gpgsm.c: Remove errno.h.
3561 (status_handler): Remove check for EINTR; gpgme_data_write already
3562 handles EINTR.
3563
3564 2018-05-29 Andre Heinecke <aheinecke@intevation.de>
3565
3566 cpp: Add gpgme_data_rewind to cpp API.
3567 + commit 618aa7f08db41911f25632d9fba23bca80908ebe
3568 * lang/cpp/src/data.h, lang/cpp/src/data.cpp (Data::rewind): New.
3569 * lang/qt/tests/t-various.cpp (testDataRewind): Test it.
3570
3571 2018-05-28 Werner Koch <wk@gnupg.org>
3572
3573 json: Fix compiler warning.
3574 + commit 77166851f165b1220dcf0116bb61f81e58e4512f
3575 * src/gpgme-json.c (op_version): Mark request as unused.
3576
3577 json: Do not allow to export or delete secret keys.
3578 + commit 0de991fee05a9733ac29b2fa35643fe4607e56cb
3579 * src/gpgme-json.c (op_export, op_delete): Return GPG_ERR_FORBIDDEN if
3580 "secret" is used.
3581
3582 json: Fix use of get_context.
3583 + commit 368f2d9db30df16328b34787419de99fe3e1e2f1
3584 * src/gpgme-json.c (create_onetime_context): New.
3585 (release_onetime_context): New.
3586 (op_sign): Use the new fucntions to create a separate context.
3587 (op_encrypt): Use a separate context for key listings.
3588 (create_keylist_patterns): Remove unneeded cast.
3589
3590 2018-05-25 Andre Heinecke <aheinecke@intevation.de>
3591
3592 json: Implement encrypt-sign.
3593 + commit 7aa00917c7f13294584daba31a506730f0015ef5
3594 * src/gpgme-json.c (op_encrypt): Add optional signing_keys param.
3595 (get_keys, create_keylist_patterns): Add param for json object name.
3596
3597 json: Implement delete command.
3598 + commit 73dc5e933d609989bd9ec428c89ada95d5eaec8a
3599 * src/gpgme-json.c (op_delete): New.
3600 (hlp_help, process_request): Add it.
3601
3602 json: Implement op_export.
3603 + commit a1bbe7473a4d0f31d471d6cceb2f7e1382860194
3604 * src/gpgme-json.c (op_export): New.
3605 (hlp_getmore, process_request): Add it.
3606
3607 json: Fix double ctx alloc.
3608 + commit 897522527d493307d15809a41496f8b76ec4edfe
3609 * src/gpgme-json.c (op_keylist): Only get one ctx.
3610
3611 json: Add guard in create_keylist_patterns.
3612 + commit 10683b1a913c39238c9871f5aa607334f32467f7
3613 * src/gpgme-json.c (create_keylist_patterns): Guard against
3614 a string ending with a linbreak.
3615
3616 json: Implement import operation.
3617 + commit 1ff16dad595946af140b324fad2bceca7ddbc378
3618 * src/gpgme-json.c (op_import): New.
3619 (import_status_to_json, import_result_to_json): New.
3620 (hlp_help, process_request): Add import.
3621
3622 json: Improve keylist help.
3623 + commit fe06929deec6544e2f267937dc5dafe2555bf485
3624 * src/gpgme-json.c (hlp_keylist): Clarify doc about keys parameter.
3625
3626 json: Fix keylist pattern handling.
3627 + commit 10724e363d6b5b06f51808287ad63e142e419ae6
3628 * src/gpgme-json.c (xfree_array): New helper.
3629 (create_keylist_patterns): Convert keystring to gpgme patterns.
3630 (op_sign, op_keylist): Use it.
3631
3632 json: Add additional commands to help.
3633 + commit ed20936ce4d5bb066828346b9a06d2dfa8d6afb2
3634 * src/gpgme-json.c (hlp_help): Add additional commands.
3635
3636 json: Refactor signature and ei code.
3637 + commit aa59f4970ac106ccd17fa9fadfc264d11e4cd347
3638 * src/gpgme-json.c (add_summary_to_object): Changed to:
3639 sigsum_to_json.
3640 (add_signature_to_object): Changed to signature_to_json.
3641 (add_signatures_to_object): Changed to verify_result_to_json.
3642 (add_ei_to_object): Changed to engine_info_to_json.
3643 (op_decrypt, op_verify, op_version): Use new functions.
3644
3645 json: Implement keylist.
3646 + commit 546e3295eaade073c34364c4ea6ab007532824d8
3647 * src/gpgme-json.c (xjson_AddStringToObject0)
3648 (xjson_AddItemToObject): New helpers.
3649 (sig_notation_to_json, key_sig_to_json, tofu_to_json)
3650 (uid_to_json, subkey_to_json, key_to_json): New
3651 GPGME to JSON functions.
3652 (op_keylist): New.
3653 (process_request): Add op_keylist.
3654
3655 json: Deduplicate input handling code.
3656 + commit a46c27b32111b1737a405c5be48c0f9ddbbbb353
3657 * gpgme-json.c (get_string_data): New.
3658 (op_verify, op_sign, op_decrypt, op_encrypt): Use it.
3659
3660 2018-05-24 Ben McGinnes <ben@adversary.org>
3661
3662 examples: mutt crypt-hooks generator.
3663 + commit 321005c12f716814d86e139eb265437bda01380f
3664 * Added a script which demonstrates how the groups module works.
3665 * Script generates Mutt/Neomutt crypt-hooks for every group entry in
3666 gpg.conf, including those entries for multiple keys (Mutt handles
3667 that differently).
3668
3669 docs: python bindings howto.
3670 + commit 48e946a96d05effd56b34761b98eebb6b2a6fae1
3671 * Fixed the groups.py script so it really does what is described (the
3672 old code had the same result for groups, group_lines and
3673 group_lists).
3674 * Updated the corresponding example in the doc to match.
3675
3676 doc: python bindings howto.
3677 + commit 9038d30017b2e38b183d093f9b5d46e1f24c70a6
3678 * Fixed org-mode python source indenting.
3679 ** Note: nested indented blocks do not indent correctly when exported
3680 to [X]HTML.
3681
3682 2018-05-24 Andre Heinecke <aheinecke@intevation.de>
3683
3684 json: Add code to gpg_error based messages.
3685 + commit 9fca7c84067c0d4c968c8920dc8ef9449769c5ea
3686 * src/gpgme-json.c (gpg_error_object): New.
3687 (error_object_v): Extend to take error.
3688
3689 json: Implement op_version.
3690 + commit 61f4532ba979dea1acd8c7de9b7d56bb8ff552d5
3691 * src/gpgme-json.c (op_version): New.
3692 (process_request): Extend for version.
3693 (protocol_to_string, add_ei_to_object): New helpers.
3694
3695 json: Implement op_verify.
3696 + commit 5fbf81c18b277b30639ba09e8c5d21573b444b00
3697 * src/gpgme-json.c (op_verify): New.
3698 (hlp_help): Add verify.
3699 (process_request): Add verify.
3700
3701 json: Put signature info before data output.
3702 + commit c679ed24778c997fee72d3613babad8680855882
3703 * src/gpgme-json.c (op_decrypt): Move info before data.
3704
3705 json: Add sign to help.
3706 + commit a6cd3a1197eb4efea0950394959c252f24475f67
3707 * src/gpgme-json.c (hlp_help): Add sign.
3708
3709 json: Add op_sign.
3710 + commit 1c0a55a60847563fecf92a383457ab3576aec5d8
3711 * src/gpgme-json.c (op_sign): New.
3712
3713 json: Fix invalid function call.
3714 + commit b344933e4cb17f2f26c4ed355217428bda8b8c40
3715 * src/gpgme-json.c (add_signatures_to_object): Fix call to
3716 xjson_CreateArray.
3717
3718 json: Print signatures for decrypt/verify.
3719 + commit 45036c3c4c11f7bd56a00805564108e9377b657e
3720 * gpgme-json.c (xJSON_CreateArray),
3721 (add_summary_to_object, validity_to_string): New helpers.
3722 (add_signature_to_object, add_signatures_to_object)
3723 (add_signatures_object): New.
3724 (op_decrypt): Handle verify_result.
3725 (hlp_help): Mention decrypt.
3726
3727 json: Minor typo fixes.
3728 + commit fd5e14660a6f4eb1a89d69534e3e435f7fb05f8a
3729 * src/gpgme-json.c: Minor typo fixes.
3730
3731 2018-05-23 Ben McGinnes <ben@adversary.org>
3732
3733 docs and examples: python howto.
3734 + commit 3a9e6a8e088e233097866bb0560a36cfbbc4470e
3735 * Updated the decryption example code in the HOWTO and the
3736 corresponding decrypt-file.py script to gracefully handle a
3737 decryption failure. This error will always be triggered when GPGME
3738 is used to try to decrypt an old, MDC-less encrypted message or
3739 file.
3740
3741 2018-05-22 Andre Heinecke <aheinecke@intevation.de>
3742
3743 cpp: Expose sessionKey and symkeyAlgo.
3744 + commit 28e3778ce21069006153bc156a414de6d9347962
3745 * lang/cpp/decryptionresult.cpp, lang/cpp/decryptionresult.h
3746 (DecryptionResult::symkeyAlgo, DecryptionResult::sessionKey): New.
3747
3748 2018-05-17 Andre Heinecke <aheinecke@intevation.de>
3749
3750 core, w32: Add w64 handling for regkeys.
3751 + commit e04b8142df21a49e6c4a3f8234cc14bfec217222
3752 * src/w32-util.c (_gpgme_get_gpg_path): Use new defines.
3753 (GNUPG_REGKEY_2): x64 aware regkey as used by GnuPG in Gpg4win 2.x
3754 (GNUPG_REGKEY_3): x64 aware regkey as used by GnuPG in Gpg4win 3.x
3755 (_gpgme_get_gpgconf_path): Use new regkeys. Add another fallback.
3756
3757 2018-05-17 Werner Koch <wk@gnupg.org>
3758
3759 core: Always fail if an OpenPG message is not integrity protected.
3760 + commit 8a0c8c52510d9c2d934f85159f04b666286b1786
3761 * src/decrypt.c (struct op_data_t): Add field not_integrity_protected.
3762 (parse_decryption_info): Set this. Also rename mode to aead_algo for
3763 clarity.
3764 (_gpgme_decrypt_status_handler): Force failure in case of a missing
3765 MDC.
3766
3767 2018-05-09 Werner Koch <wk@gnupg.org>
3768
3769 json: Improve auto-base64 encoding to not split UTF-8 chars.
3770 + commit e54b110aec3165a32ff9551d0c5227b88aa3dd4f
3771 * src/gpgme-json.c (make_data_object): Switch to Base64 also for UTF-8
3772 characters.
3773
3774 core: Make the status-fd monitor work for all gpgsm commands.
3775 + commit e2a8a87bf9cfae5d4e8a5953c2a5303b44feb398
3776 * src/engine-gpgsm.c (status_handler): Call the status monitor also
3777 here.
3778
3779 2018-05-05 Ben McGinnes <ben@adversary.org>
3780
3781 python: key expiration datetime stamp tests.
3782 + commit 46da79e3de99a7b65748994921d6aab73b9974e7
3783 * Changed the expiration date for the generated test key to NYE this
3784 century, rather than the NYE this millennium as originally suggested
3785 in job #3815.
3786 * This covers the lifetimes of current users (except, maybe, some very
3787 healthy millennials) as well as the 32-bit clock end date in 2038;
3788 without falling foul of OpenPGP's 2106 expiration.
3789
3790 2018-05-04 Andre Heinecke <aheinecke@intevation.de>
3791
3792 qt: Respect --disable-gpg-test for tests.
3793 + commit 26820ba62920acfe2775bce8fc2bc8b3f17b1c10
3794 * lang/qt/Makefile.am: Respect --disable-gpg-test
3795
3796 2018-04-26 Andre Heinecke <aheinecke@intevation.de>
3797
3798 qt: Fix filename handling in cryptoconfig.
3799 + commit 6b267c56fd6e54fb1c254455c04495534260b547
3800 * src/qgpgmenewcryptoconfig.cpp (QGpgMENewCryptoConfigEntry::urlValue):
3801 Build url from local file.
3802 (QGpgMENewCryptoConfigEntry::setURLValue): Set native seperated
3803 path.
3804
3805 2018-04-20 Maximilian Krambach <maximilian.krambach@intevation.de>
3806
3807 js: encrypt improvement and decrypt method.
3808 + commit 6ab25e40d904007755c5d999bf66ae264236e745
3809 * Compatibility class gpgme_openpgpjs offers an API that should accept
3810 openpgpjs syntax, throwing errors if a parameter is unexpected/not
3811 implemented
3812 * tried to be more generic in methods
3813 * waiting for multiple answers if 'more' is in the answer
3814 * more consistency checking on sending and receiving
3815 * updated the example extension
3816
3817 2018-04-20 Andre Heinecke <aheinecke@intevation.de>
3818
3819 core: Do not modify args for ignored failures.
3820 + commit 7706fa2c922f5e02570b01f145ed474e82341042
3821 * src/op-support.c (_gpgme_parse_failure): Ignore gpg-exit failures
3822 before modifying args.
3823
3824 2018-04-20 Werner Koch <wk@gnupg.org>
3825
3826 Release 1.11.1.
3827 + commit 2e9a14912fb906c17017553ccd0941d172e095ff
3828 * configure.ac: Bump LT version to C31/A20/R1. For cpp to C13/A7/R0.
3829 For qt to: C10/A3/R2.
3830
3831 core: Remove another debug output leftover.
3832 + commit f779362ffbc7b9334d98f9ee50bfe3c2dc177215
3833 * src/decrypt.c (_gpgme_decrypt_status_handler): Remove log debug.
3834
3835 build: More release creation automation.
3836 + commit d11bec5ef5e576dab52c1dc7d87758e4f9bf3583
3837 * Makefile.am: Add release and sign-release targets.
3838
3839 2018-04-19 Werner Koch <wk@gnupg.org>
3840
3841 json: Remove the -noinstall flag used during development.
3842 + commit ab43d85b9a76fb5ba321f4c7280b4d72bfd67f59
3843 * src/Makefile.am (gpgme-json_LDFLAGS): Remove.
3844
3845 2018-04-19 Andre Heinecke <aheinecke@intevation.de>
3846
3847 cpp: Add origin and last_update to UserID.
3848 + commit d65d6329319bff8cc555999fc92a20e151762a10
3849 * NEWS: Mention it.
3850 * lang/cpp/src/key.cpp, lang/cpp/src/key.h (UserID::lastUpdate),
3851 (UserID::origin): New.
3852 (gpgme_origin_to_pp_origin): New helper.
3853
3854 cpp: Add origin and last_update.
3855 + commit 0adaf7bafd352f1c3a1e797493780150e3bb0adc
3856 * NEWS: mention interface change.
3857 * lang/cpp/src/key.cpp (Key::origin, Key::lastUpdate): New.
3858 * lang/cpp/src/key.h (Key::Origin): New enum.
3859
3860 2018-04-19 Werner Koch <wk@gnupg.org>
3861
3862 core: Remove leftover debug output.
3863 + commit b52a91f5a6818db6b3dd7ce86c01b5d5f6700d0d
3864 * src/verify.c (_gpgme_verify_status_handler): Remove debug output.
3865
3866 tests: Fix t-verify test for GnuPG < 2.2.7.
3867 + commit 3d8e5c07511938a0b30b4626530822338abd9ec0
3868 * tests/gpg/t-verify.c (check_result): Tweak for gnupg < 2.2.7.
3869
3870 2018-04-18 Werner Koch <wk@gnupg.org>
3871
3872 Release 1.11.0.
3873 + commit 3f55c52b9adc3680c7a9fb0e598598e6ed3a2a5d
3874 * configure.ac: Bump LT version to C31/A20/R0. For cpp to C12/A6/R0.
3875 For qt to: C10/A3/R1.
3876
3877 json: Add stpcpy replacement.
3878 + commit 8e34a14fe694a8c765973aaa3a8b2a2d2c3ba8b9
3879 * src/gpgme-json.c [!HAVE_STPCPY](_my_stpcpy): New.
3880
3881 core: New convenience constant GPGME_KEYLIST_MODE_LOCATE.
3882 + commit 55e9a94680370e584fbe5d21161a2cee3fe95744
3883 * src/gpgme.h.in (GPGME_KEYLIST_MODE_LOCATE): New.
3884
3885 json: Add command "decrypt" to gpgme-json.
3886 + commit e5273fc4431dfb597a2d9cf4af5172572476a2de
3887 * src/gpgme-json.c (make_data_object): Enable auto-detection of
3888 base-64.
3889 (op_encrypt): Support a 'mime' flag.
3890 (op_decrypt): New.
3891 (process_request): Add command "encrypt".
3892
3893 core: Add 'is_mime' flags to the verify and decrypt results.
3894 + commit 65479fe7b871ad6237d5a8959b73afcc7db784da
3895 * src/op-support.c (_gpgme_parse_plaintext): Add arg r_mime.
3896 * src/decrypt.c (_gpgme_decrypt_status_handler): Ser mime flag.
3897 * src/verify.c (_gpgme_verify_status_handler): Ditto.
3898 * src/gpgme.h.in (gpgme_op_verify_result_t): Append fields 'is_mime'
3899 and '_unused'.
3900 (gpgme_op_decrypt_result_t): New field 'is_mime'. Shrink '_unused'.
3901
3902 * tests/run-decrypt.c (print_result): Print MIME flag.
3903 * tests/run-verify.c (print_result): Ditto.
3904
3905 core: Fix possible compliance mode detection error.
3906 + commit 23177e4410d05d590c0f2e1675dc645bbb4ad62c
3907 * src/verify.c (_gpgme_verify_status_handler): Insert missing break.
3908
3909 json: Improve help meta command in gpgme-json.
3910 + commit 49a617f8bbff116884ca5c7238c2e0ea4e26ce59
3911 * src/gpgme-json.c (process_meta_commands): Add ",help CMD".
3912
3913 json: Add command "getmore" to gpgme-json.
3914 + commit ed1052842df633bc149b14c4cb17859e3c66afe4
3915 * src/gpgme-json.c (MIN_REPLY_CHUNK_SIZE): New const.
3916 (DEF_REPLY_CHUNK_SIZE): New const.
3917 (MAX_REPLY_CHUNK_SIZE): New const.
3918 (pending_data): New var.
3919 (add_base64_to_object): Chnage to take a plain data pointer.
3920 (get_chunksize): New.
3921 (make_data_object): New.
3922 (op_encrypt): Get chunksize and use make_data_object.
3923 (op_getmore): New.
3924 (process_request): Release pending data for all commands but "getmore"
3925 and "help".
3926
3927 json: Add meta command ,read to gpgme-json.
3928 + commit e69b175e8ed5430b56e2e8f3d68c16a45f0fed17
3929 * src/gpgme-json.c: Include stat.h.
3930 (get_file): New.
3931 (process_meta_commands): Implement ",read".
3932
3933 2018-04-17 Werner Koch <wk@gnupg.org>
3934
3935 core: Extend decryption result with symkey_algo.
3936 + commit 01435da498af9f7538d7ee810392d7eaa407957e
3937 * src/gpgme.h.in (gpgme_op_decrypt_result_t): Add field 'symkey_algo'.
3938 * src/decrypt.c (release_op_data): Free SYMKEY_ALGO.
3939 (gpgme_op_decrypt_result): Make sure SYMKEY_ALGO is not NULL.
3940 (parse_decryption_info): New.
3941 (_gpgme_decrypt_status_handler): Parse DECRYPTION_INFO status.
3942 * src/conversion.c (_gpgme_cipher_algo_name): New.
3943 (_gpgme_cipher_mode_name): New.
3944
3945 * tests/run-decrypt.c (print_result): Print SYMKEY_ALGO
3946
3947 * src/util.h (_gpgme_map_gnupg_error): Remove obsolete prototype.
3948
3949 core: New keyword --file for OpenPGP recpstring.
3950 + commit 3589da0500f1c80717e658d103a0cb2751d27b49
3951 * src/engine-gpg.c (append_args_from_recipients_string): Add new
3952 flags.
3953
3954 core: For OpenPGP let offline mode disable dirmngr.
3955 + commit c143ab692c7fc7cf2ec0aebe40b9479ee15eaba9
3956 * src/engine-gpg.c (struct engine_gpg): New flag.offline.
3957 (gpg_set_engine_flags): Set it. Also fix setting of no_symkey_cache.
3958 (build_argv): Pass --disable-dirmngr in offline mode.
3959
3960 2018-04-17 Tobias Mueller <muelli@cryptobitch.de>
3961
3962 python: Fix crash by leaving struct members intact.
3963 + commit bbfa7c42337bb619e6af20bf051fe0755ed5a9fd
3964 * lang/python/setup.py.in: Copy gpgme.h instead of parsing it.
3965
3966 2018-04-17 Werner Koch <wk@gnupg.org>
3967
3968 core: Allow for --hidden keyword in OpenPGP recpstrings.
3969 + commit 4bba3b8e2c350b8ff0d562ec63cc03a096448d84
3970 * src/engine-gpg.c (append_args_from_recipients_string): Add special
3971 keywords.
3972
3973 core: New encryption flag GPGME_ENCRYPT_WANT_ADDRESS.
3974 + commit 86efba2be270d2cdd0bc66c9d3fe190495b7af2f
3975 * src/gpgme.h.in (GPGME_ENCRYPT_WANT_ADDRESS): New flag.
3976 * src/engine-gpg.c (add_arg_recipient): New.
3977 (add_arg_recipient_string): New.
3978 (append_args_from_recipients): Call new helper function.
3979 (append_args_from_recipients_string): Ditto.
3980 * src/gpgme-json.c (op_encrypt): Add flag "want-address".
3981
3982 core: Add extended versions of the encrypt functions.
3983 + commit a1f76b3b54b75a150fe272b804d85ffd40a507a6
3984 * src/gpgme.h.in (gpgme_op_encrypt_ext_start) New.
3985 (gpgme_op_encrypt_ext): New.
3986 (gpgme_op_encrypt_sign_ext_start): New.
3987 (gpgme_op_encrypt_sign_ext): New.
3988 * src/libgpgme.vers, tests/run-encrypt.c: Add them.
3989
3990 * src/encrypt.c (encrypt_start): Add arg recpstring.
3991 (gpgme_op_encrypt): Factor code out to ...
3992 (gpgme_op_encrypt_ext): new function with new arg recpstring.
3993 (gpgme_op_encrypt_start): Factor code out to ...
3994 (gpgme_op_encrypt_ext_start): new function with new arg recpstring.
3995 * src/encrypt-sign.c (encrypt_sign_start): Add arg recpstring.
3996 (gpgme_op_encrypt_sign): Factor code out to ...
3997 (gpgme_op_encrypt_sign_ext): new function with new arg recpstring.
3998 (gpgme_op_encrypt_sign_start): Factor code out to ...
3999 (gpgme_op_encrypt_sign_ext_start): new function with new arg
4000 recpstring.
4001
4002 * src/engine-backend.h (struct engine_ops): Change fields encrypt and
4003 encrypt_sign.
4004 * src/engine.c (_gpgme_engine_op_encrypt): Add arg recpstring and pass
4005 to engine.
4006 (_gpgme_engine_op_encrypt_sign): Ditto.
4007 * src/engine-gpg.c (append_args_from_recipients_string): New.
4008 (gpg_encrypt): Add arg recpstring and call new function as needed.
4009 (gpg_encrypt_sign): Ditto.
4010 * src/engine-gpgsm.c (set_recipients_from_string): New.
4011 (gpgsm_encrypt): Add arg recpstring and call new function as needed.
4012 * src/engine-uiserver.c (set_recipients_from_string): New.
4013 (uiserver_encrypt): Add arg recpstring and call new function as
4014 needed.
4015
4016 * tests/run-encrypt.c (xstrdup): New.
4017 (main): Add option --keystring.
4018
4019 * src/gpgme-json.c (get_keys): Simplify.
4020 (op_encrypt): Modify to make use of the extended encrypt function.
4021
4022 2018-04-12 Werner Koch <wk@gnupg.org>
4023
4024 core: Tweak STATUS_FAILURE handling.
4025 + commit b99502274ae5efdf6df0d967900ec3d1e64373d7
4026 * src/op-support.c (_gpgme_parse_failure): Ignore failures with
4027 location "gpg-exit".
4028 * tests/gpg/t-verify.c (main): Adjust for the now working checking of
4029 the second key.
4030
4031 core: For a failed verification return the sig's fingerprint.
4032 + commit 478d1650bbef84958ccce439fac982ef57b16cd0
4033 * src/verify.c (parse_new_sig): Parse the new ERRSIG fpr.
4034
4035 tests: Avoid segv in run-verify due to Policy URLs.
4036 + commit ee8fad3ea0cbc82f31c86b3483abd8549df62b69
4037 * tests/run-verify.c (print_result): Take care of Policy URLs.
4038
4039 tests: Add another check to gpg/t-verify.
4040 + commit bdf7cd2e28432cf0fa7e0758acdfee03d7bfd45f
4041 * tests/gpg/t-verify.c (PGM): New. Use it instead of __FILE__.
4042 (test_sig1_plus_unknown_key): New test signature.
4043 (check_result): Allow checking of several signatures.
4044 (main): Check a signature with a know and an unknown key.
4045
4046 core: Add new context flag "no-symkey-cache".
4047 + commit f7700a016926f0d8e9cb3c0337837deb7fe01079
4048 * src/gpgme.c (gpgme_set_ctx_flag): Set flag.
4049 (gpgme_get_ctx_flag): Get flag.
4050 * src/context.h (struct gpgme_context): Add field no_symkey_cache.
4051 * src/engine-gpg.c (struct engine_gpg): Ditto.
4052 (gpg_set_engine_flags): Set flag.
4053 (build_argv): Pass option --no-symkey-cache to gpg.
4054
4055 * tests/run-decrypt.c (print_result): Fix segv for symmetric messages.
4056 (main): New option --no-symkey-cache.
4057 * tests/run-encrypt.c (main): New option --no-symkey-cache.
4058
4059 2018-04-04 Andre Heinecke <aheinecke@intevation.de>
4060
4061 qt: Add test for resetting config value.
4062 + commit 5eb261d6028ab2c0ddd9af8e3e1f82e479c6109c
4063 * lang/qt/tests/t-config.cpp (CryptoConfigTest::testDefault): New.
4064
4065 2018-03-29 Werner Koch <wk@gnupg.org>
4066
4067 json: Build only a dummy if libgpg-error is < 1.28.
4068 + commit 60d7a1e8f625ea0db455bff989534dd52f0650c7
4069
4070
4071 2018-03-29 Ben McGinnes <ben@adversary.org>
4072
4073 example: revoke UID.
4074 + commit 3b91f6af378ccc37dcf8924cbc157894c35b5192
4075 * Script to revoke a UID on an existing key.
4076
4077 docs: python bindings howto.
4078 + commit d65864989c0560b5f51cb8d05d9ea9f1957b453e
4079 * Added section on revoking UIDs.
4080
4081 example: key signing.
4082 + commit 56bbfd39acea90eb87a28b11a515b0314cdda54c
4083 * Added script for signing or certifying keys.
4084
4085 doc: python bindings howto.
4086 + commit 5a553f5a317e5ad5ab0274d58854df1ecf390e0d
4087 * Fixed a typo.
4088
4089 2018-03-28 Ben McGinnes <ben@adversary.org>
4090
4091 docs python bindings howto.
4092 + commit 2f507b045909d32bf29d23da04db02b078e5fb9d
4093 * PEP8 compliance: a collection of minor edits across multiple example
4094 code snippets.
4095
4096 example: add user ID.
4097 + commit 5cd419341807d8ae23fec7bd9bb7025a8a2dcb3c
4098 * Added script to add a UID to an existing key.
4099
4100 2018-03-28 Werner Koch <wk@gnupg.org>
4101
4102 json: Remove the "message" object thingy again.
4103 + commit 3345a17dda2222e3c1592235e8a1cd9493192777
4104 * src/gpgme-json.c (process_request): Remove 'nm_mode'.
4105
4106 json: Make native messaging work.
4107 + commit 4b2fa657d195382d14ac99be40b66327e0fc855c
4108 * src/gpgme-json.c (opt_debug): New.
4109 (process_request): Add optional arg nm_mode. In this mode take the
4110 request from a "message" object.
4111 (native_messaging_repl): Add debug output and call process_request
4112 in NM_MODE.
4113 (main): Add option --debug. Parse envvar GPGME_JSON_DEBUG as an
4114 alternative way to enable this. Use a default log file.
4115
4116 2018-03-27 Andre Heinecke <aheinecke@intevation.de>
4117
4118 core: Initialize key return value in gpgme_get_key.
4119 + commit 7c220e387d511b0cf66f99370759c36b729cc444
4120 * src/keylist.c (gpgme_get_key): Set r_key to NULL.
4121
4122 2018-03-27 Ben McGinnes <ben@adversary.org>
4123
4124 doc: python bindings howto.
4125 + commit a2eedef630891397f8eccb5bb426a0728588bf41
4126 * Fixed some minor PEP8 compliance issues in the key creation examples.
4127
4128 example: key creation.
4129 + commit f9159b1d75d3209b1c22bbb0ed4472800b60a522
4130 * Script to generate a new key with encryption subkey taking input
4131 from interactive prompts.
4132 * Will also take a passphrase via pinentry and uses passphrase caching
4133 of five minutes when used in conjunction with the temp homedir
4134 script.
4135
4136 script: temp homedir config.
4137 + commit 1b5da37a47ceef41545e0b2474738613f36be949
4138 * added passphrase caching of 5 minutes.
4139
4140 2018-03-25 Ben McGinnes <ben@adversary.org>
4141
4142 doc: python bindings howto.
4143 + commit 5b32efbaf37920b2e99d4bb87cb383b2809b1688
4144 * Testing the addition of a HTML header set in org-mode in order to
4145 had RSS update links for files.
4146 * This should work with any [X]HTML export from current versions of
4147 Org-Mode, but if it also works on website generated pages then it'll
4148 tick off one of the wishlist itmes.
4149
4150 script: temp homedir.
4151 + commit 40a9dea5d56506400b67b0c11f6e55a1629dc6fe
4152 * Fixed whitespace.
4153
4154 doc: python bindings howto.
4155 + commit 3b724aae423f2de01812165d54df2a7b524c82f6
4156 * Added a reference to new script which will setup a temporary homedir
4157 for a user.
4158
4159 script: temporary homedir creation.
4160 + commit dde1aae312958776fab475d6c0cdfa19cc255863
4161 * Script to create a temporary gnupg homedir in the user's directory
4162 for testing or scripting purposes.
4163 * Creates a hidden directory on POSIX systems with the correct
4164 permissions (700).
4165 * Creates a gpg.conf in that directory containing the same
4166 configuration options as used in the "Danger Mouse" example in the
4167 HOWTO with the correct permissions (600).
4168
4169 doc: python bindings howto.
4170 + commit 22247f658ce2f8e527c26746358cfc2643c4832f
4171 * Fixed the plaintext, result and verify_result references in the
4172 decryption section.
4173
4174 2018-03-23 Ben McGinnes <ben@adversary.org>
4175
4176 doc: python bindings howto.
4177 + commit e6180f2b36cc8a6c6154e5f3d702324af573132a
4178 * Fixed a minor spelling error and a minor grammatical error.
4179
4180 2018-03-23 Werner Koch <wk@gnupg.org>
4181
4182 core: Need to increase an array in the gpg engine.
4183 + commit 4763974ef6932c503e35c3d14fe47a66a5323f48
4184 * src/engine-gpg.c (build_argv): Allcate one slot more for ARGV.
4185
4186 json: Use a request origin of "browser".
4187 + commit e5abf4827aead50437bbdff8cfdd5e9fdc6ed72d
4188 * src/gpgme-json.c (_create_new_context): Set flag.
4189
4190 core: New gpgme_set_ctx_flag "request-origin".
4191 + commit b9000bc293164ff62efa7e91e5cf6d5fc19d482f
4192 * src/context.h (gpgme_context): Add 'request_origin'.
4193 * src/gpgme.c (gpgme_release): Free that field.
4194 (gpgme_set_ctx_flag, gpgme_get_ctx_flag): Add "request-origin".
4195 * src/engine-backend.h (engine_ops): Add 'set_engine_ops' func ptr and
4196 adjust all users.
4197 * src/engine.c (_gpgme_engine_set_engine_flags): New.
4198 * src/op-support.c (_gpgme_op_reset): Call that func.
4199 * src/engine-gpg.c (struct engine_gpg): Add 'request_origin'.
4200 (gpg_set_engine_flags): New.
4201 (_gpgme_engine_ops_gpg): Hook it.
4202 (build_argv): Use command line option --request-origin.
4203 * src/engine-gpgsm.c (struct engine_gpgsm): Add 'request_origin'.
4204 (gpgsm_set_engine_flags): New.
4205 (_gpgme_engine_ops_gpgsm): Hook it.
4206 (start): Send OPTION "request-origin".
4207 * src/engine-assuan.c (struct engine_llass): Add 'request_origin'.
4208 (gpgsm_set_engine_flags): New.
4209 (_gpgme_engine_ops_assuan): Hook it.
4210 (start): Send OPTION "pretend-request-origin".
4211
4212 build: Allow building with released libgpg-error.
4213 + commit eee68c1b13fbe21c123f469712817e0c81f16383
4214 * src/gpgme-json.c (add_base64_to_object): Return an error if building
4215 with an older libgpg-error.
4216
4217 json: Finish op:encrypt.
4218 + commit d83482a1d768fc5afd3aa4836f2fefe5c549d02e
4219 * src/gpgme-json.c (add_base64_to_object): New.
4220 (data_from_base64_string): New.
4221 (op_encrypt): Employ them.
4222 (process_request): Print unformated json.
4223
4224 json: Add a new function to cJSON.
4225 + commit 6525d78d0a1d303c449762082942e71d3002b9ca
4226 * src/cJSON.c (cJSON_CreateStringConvey): New.
4227
4228 2018-03-22 Ben McGinnes <ben@adversary.org>
4229
4230 doc: python bindings howto.
4231 + commit 65ed4ac82598734551b87fc89deab3cee010bd37
4232 * Fixed table.
4233
4234 2018-03-21 Ben McGinnes <ben@adversary.org>
4235
4236 doc and examples: python bindings HOWTO.
4237 + commit 5722148bacab5862b40a027861d64683a0f214ea
4238 * Added GPGME Python bindings HOWTO in Australian/British English.
4239 ** en-US "translation" still to be done.
4240 * Added several example scripts comprised of the "Basic Functions"
4241 section of the HOWTO (plus the work-around at the end).
4242 ** As these scripts are very basic examples they are released under
4243 both the GPLv2+ and the LGPLv2.1+ (just like GPGME itself).
4244
4245 examples: multi-key selection operations.
4246 + commit 05e59933056ee8ef8ba7579351a58ed25dd7f754
4247 * Temporarily removing multi-key selection based examples.
4248 * There are a few issues with getting the key selections to play
4249 nicely with gpg.Context().keylist object types.
4250 * Will troubleshoot them separately and restore them when that's
4251 worked out, but I don't want these more complicated examples to
4252 delay merging the HOWTO with master.
4253
4254 example: group encryption.
4255 + commit 61a988036bd3f0d43f7d55bfa43f5f05bec978c4
4256 * Troubleshooting.
4257
4258 examples: encryption.
4259 + commit 7ddff71908a85111c8e0da41312197b3b1a77da6
4260 * Fixed two incorrect Context() objects.
4261
4262 example: key selection.
4263 + commit c6a0395f0a3a57071f0c943f7815f58a02f9d2f3
4264 * Removed extraneous blank line.
4265
4266 example: key selection.
4267 + commit 0a0d57fd41380cd797d29e11cec8a77c7404e960
4268 * Similar to group-key-selection.py, but does not use an existing
4269 group from gpg.conf; instead takes multiple key IDs, fingerprints or
4270 patterns on the command line and adds them to a keylist object.
4271
4272 example: sign and encrypt to group.
4273 + commit 0ccc57c9512246d82d46e7732bfb0f95c18ca9d3
4274 * Begins to string together some of the simpler examples to do more
4275 useful things.
4276 * Signs and encrypts a file while encrypting to every key in a group
4277 specified in the gpg.conf file.
4278
4279 2018-03-21 Werner Koch <wk@gnupg.org>
4280
4281 json: Use gpgrt_argparse instead of argsparse.c.
4282 + commit e14f1f687ff618716ed17e309a0475df95e1c0aa
4283 * src/gpgme-json.c: Remove header argparse.h. Define
4284 GPGRT_ENABLE_ARGPARSE_MACROS.
4285 (interactive_repl): Replace strusage by gpgrt_strusage.
4286 (my_strusage): Add SPDX level.
4287 (main): Switch to gpgrt_argparse stuff but keep very limited
4288 functionality when building with an older libgpg-error.
4289
4290 2018-03-21 Ben McGinnes <ben@adversary.org>
4291
4292 example: group key selection.
4293 + commit 8b401bfc76eac762553f76faab53c2f4cd117a8d
4294 * Example of preparing a keylist object using an existing group line
4295 from the gpg.conf file.
4296
4297 example groups work around.
4298 + commit 6c6af9a7b0ae4e7182d669bec282c6edaaa7eaa1
4299 * Updated usage so it only references importing the final list of
4300 lists produced. Trying to use some of the mid-points can have
4301 unpredictable results (this is part of the problem with work
4302 arounds).
4303
4304 example: groups.
4305 + commit a4e3f827652c59d850b4e5506a92c1ecd190c1bb
4306 * Added a docstring.
4307
4308 example: verify signatures.
4309 + commit ad6cb4f9b8b97a2bc501c17fc542a84b725dedea
4310 * Added example for verifying detached signatures against the files
4311 they're the signatures for.
4312
4313 example: verify signed file.
4314 + commit ae2767eb27b6a76284ee4403e575869afe2e80a8
4315 * Added example to verify normal and clearsigned files.
4316
4317 doc: python bindings howto.
4318 + commit e57388a69f61d14e3df3c842d227fb450c96c807
4319 * Fixed minor error in one of the verification examples.
4320
4321 example: detach sign file.
4322 + commit ac6a552c37147a000de74f49d1bff34dad52252e
4323 * Added example to make detached signatures of a file with key selection.
4324
4325 example: encrypt-sign-file.py.
4326 + commit af6cbba18ba5e2bbecce5f8268c146282cd12367
4327 * Adjusted the doc string.
4328
4329 examples: doc strings.
4330 + commit 6fa2a344282e369e6aca8155bc77dd2c12a29414
4331 * Fixed minor errors in two doc strings.
4332
4333 example: clear signing.
4334 + commit 1fdd1f306d45f6aeee91c7f016f7c37286ee3b3b
4335 * Added example to clear sign a file with signing key selection.
4336
4337 doc: python bindings howto.
4338 + commit 1d2746433c9632fc0c7bc10b59280fca15895545
4339 * deconstructed and fixed all three signing methods.
4340
4341 example: sign file.
4342 + commit 0390ede18696520be9cc1a42f628e23159b7c2eb
4343 * Similar to encrypt file except for signing a file in normal mode.
4344 * Noticed additional changes to be made to the howto to match this,
4345 but they will have to wait due to a power outage (currently running
4346 on battery and a mobile connection, but that won't last).
4347
4348 2018-03-20 Werner Koch <wk@gnupg.org>
4349
4350 json: Implement op:encrypt.
4351 + commit 6073789a6d3514263404c93fa795a398bfd93d91
4352
4353
4354 core: Do not clobber R_KEY in gpgme_get_key on error.
4355 + commit 343d3e2232a22d0999e1693f0f95e5e290005829
4356 * src/keylist.c (gpgme_get_key): Assign a value to the return
4357 parameter only on success.
4358
4359 core: Fix ABI regression in recent commit.
4360 + commit 9e1e6554834d0e803dd0889deaef4f11047c7e47
4361 * src/gpgme.h.in (_gpgme_op_import_result): Move new field
4362 'skipped_v3_keys' to the end.
4363
4364 2018-03-20 Ben McGinnes <ben@adversary.org>
4365
4366 doc: python bindings howto.
4367 + commit 52e262991f1fdf7da93882c3b22c05537376cf49
4368 * Fixed typos in examples.
4369
4370 example: keycount.
4371 + commit 96d0395bccbbff91f73c06cb7bd6c131f04b8a9a
4372 * Fixed missing parenthesis.
4373
4374 example: decrypt file.
4375 + commit 51258975d763c9471859d635e6080c2ec02e8647
4376 * Decrypts a file taking file names as command line parameters.
4377
4378 example: groups work-around.
4379 + commit 29e918171f352c71a90a16c04d4a3dcafa5db682
4380 * Added groups selection work around code.
4381 * Intended for use as a module to be imported by other scripts,
4382 usually with "from groups import group_lists" or "from groups import
4383 group_lines" or similar.
4384
4385 2018-03-19 Ben McGinnes <ben@adversary.org>
4386
4387 example: encrypt file.
4388 + commit 7221bb67642eb01a07957d66d0cbcd4ef8aadbf8
4389 * Nested encryption in try/except statement in case recipient key is
4390 untrusted or invalid.
4391
4392 example: sign and encrypt file.
4393 + commit f3fe47e8fd2e7bc748016befcae494421223368c
4394 * Example to sign and encrypt a file.
4395 * Similar to encrypt-file.py except all keys are considered trusted
4396 and signs with the default key.
4397 * Also encrypts to the default key.
4398
4399 example: encrypt file.
4400 + commit f0790f224d7af9521efe96e69a8f719fb89a5af2
4401 * Fixed typo in second encryption call.
4402
4403 example: encrypt file.
4404 + commit 7ab42e79ade89f28507ea42d51148a40b4bfc736
4405 * Example to encrypt a file to a single key.
4406 * Takes key ID and/or fpr as a CLI parameter.
4407 * Takes path and filename as a CLI parameter.
4408 * Encrypts to specified key only, no signing and writes the output in
4409 both ASCII armoured and GPG binary formats with output filenames
4410 based on input filename.
4411
4412 example: python bindings key count.
4413 + commit cfbdcb7fb3fa438cafba82e4fb8f327df596f98e
4414 * Added script wo count the number of keys in both the public and
4415 secret key stores.
4416
4417 doc: python bindings examples.
4418 + commit b30ebf89725641018b3b08f77876530f9b983fa2
4419 * Explicitly stated that all this code is released under the GPLv2+
4420 and the LGPLv2.1+.
4421
4422 doc: python bindings example README.
4423 + commit 8f7672ad1b267f122f647bb5f984734d0ff66a5c
4424 * Added the same license as used with the HOWTO.
4425 * Since these examples are so basic, they'll be dual licensed the same
4426 as GPGME itself (otherwise it would slip too dangerously against the
4427 need for permissive licensing of crypto libraries).
4428
4429 docs: python bindings examples.
4430 + commit 6950a63e63d60685ddb6f4cbff7b826b8acb5b13
4431 * Added reference to location where all the examples included in the
4432 HOWTO will be available as executable scripts.
4433 * Included a short README file in that location.
4434
4435 example: python bindings encryption.
4436 + commit 3e0f68fdff1998dae9cb6f8510a3e945a268d1f6
4437 * Since we don't want to encourage accessing the low level functions
4438 (e.g. op_encrypt), but since this example can still be useful to
4439 understand, renaming it and will add new encryption examples to
4440 match the instructions in the HOWTO.
4441
4442 doc: python bindings howto.
4443 + commit d5f6dec048d3d4d94f1fcdb3f4249cf6e71c4b92
4444 * Slight python-gnupg clarification. See also this thread:
4445 https://lists.gnupg.org/pipermail/gnupg-devel/2018-March/033528.html
4446
4447 doc: python bindings howto.
4448 + commit 0fb8a5d45c1c77a5928d6e356271da055aa55994
4449 * Adjusted the python-gnupg so the comments regarding insecure
4450 invocation of commands via subprocess (shell=True) were a major
4451 historical issue and not a a current issue.
4452 * Not including Vinay Sajip's requested change to say it is now secure
4453 since no audit of the current code base has been performed and my
4454 last major inspection of that code was around the time I first
4455 ported PyME to Python 3 in 2015.
4456
4457 doc: python bindings todo list.
4458 + commit bf67cf433fe82924ed40e79785e95403c07cc068
4459 * Checked off several points of howto coverage as completed.
4460 * Reorganised to move S/MIME coverage to its own separate group of tasks.
4461 * Noted only revocation remains for howto completion.
4462
4463 doc: python bindings howto.
4464 + commit 1779d7b9d6769b2e47f1e90260290e25c8c3aa02
4465 * deconstructing multi-recipient encryption.
4466
4467 doc: python bindings howto.
4468 + commit 64c5886132aceefc9d9600a3a6dbbbf404b95b81
4469 * Replaced the single encryption methods with one main way (i.e. cut
4470 the low level stuff involving SEEK_SET instructions).
4471
4472 2018-03-18 Ben McGinnes <ben@adversary.org>
4473
4474 doc: python bindings howto.
4475 + commit 4811ff7b6c8ef97c7d4858ce235e9bf8227f4917
4476 * moved single encrytion examples up to the first ones, pending merge
4477 and major cut.
4478 * This is basically just to make future checks of revisions a little easier.
4479
4480 doc: python bindings howto.
4481 + commit 82c5af225f2bdf3acc6fc652a96ee61c9b057395
4482 * Stripped decryption example to the bare bones as suggested by Justus.
4483
4484 2018-03-16 Ben McGinnes <ben@adversary.org>
4485
4486 doc: python bindings howto.
4487 + commit b549f69d0520bb74957b95cec9ea918dba2374f6
4488 * Made the changes suggested by Jakub Wilk on gnupg-devel.
4489 * Still need to make the far more comprehensive changes suggested by Justus.
4490
4491 2018-03-16 Werner Koch <wk@gnupg.org>
4492
4493 json: Add framework for the gpgme-json tool.
4494 + commit d2b31d8c106423bd0eaa5fffaa39b0983c9ae525
4495 * src/gpgme-json.c: New.
4496 * src/Makefile.am (bin_PROGRAMS): Add gpgme-json.
4497 (gpgme_json_SOURCES, gpgme_json_LDADD): New.
4498
4499 core: Adjust cJSON code for use in GPGME.
4500 + commit 81c90d0cd0f959fd5e01baed9b4af0ec35ecb85c
4501 * src/cJSON.c: Remove util.h. Use gpgrt alloc functions.
4502 (cJSON_Delete): Do not clobber ERRNO.
4503 (cJSON_AddItemToObject): Return OBJECT or NULL.
4504 (cJSON_AddNullToObject): New.
4505 (cJSON_AddTrueToObject): New.
4506 (cJSON_AddFalseToObject): New.
4507 (cJSON_AddBoolToObject): New.
4508 (cJSON_AddNumberToObject): New.
4509 (cJSON_AddStringToObject): New.
4510 * src/cJSON.h (cJSON__h): Replace macro by cJSON_h for C compliance.
4511 (cJSON_AddNullToObject): Remove macro.
4512 (cJSON_AddTrueToObject): Remove macro.
4513 (cJSON_AddFalseToObject): Remove macro.
4514 (cJSON_AddBoolToObject): Remove macro.
4515 (cJSON_AddNumberToObject): Remove macro.
4516 (cJSON_AddStringToObject): Remove macro.
4517
4518 2018-03-15 Ben McGinnes <ben@adversary.org>
4519
4520 doc: python bindings howto.
4521 + commit 431897a4c48fe1bc9d37f655097aabaf5b685d11
4522 * Added clarification on why it's not on PyPI.
4523
4524 2018-03-15 Andre Heinecke <aheinecke@intevation.de>
4525
4526 cpp: Expose skipped_v3_keys.
4527 + commit ad95288d3b3efc38998841add4fe658c84701f98
4528 * lang/cpp/src/importresult.cpp,
4529 lang/cpp/src/importresult.h (ImportResult::numV3KeysSkipped): New.
4530
4531 core: Parse skipped_v3_keys.
4532 + commit a630a1e3e74c926163864b013cb164b4cd1866fc
4533 * src/gpgme.h.in (gpgme_import_result_t): Extend with skipped_v3_keys.
4534 * src/import.c (gpgme_op_import_result): Extend debug with new field.
4535 (parse_import_res): Parse skipped_v3_keys.
4536 * tests/gpg/t-support.h, tests/run-support.h (print_import_result):
4537 Print skipped_v3_keys.
4538
4539 2018-03-15 Ben McGinnes <ben@adversary.org>
4540
4541 doc: python bindings howto.
4542 + commit 22e2445beee46ed1e527a98e635153c7cf03786f
4543 * fixed custom_id for decryption so the XHTML validates.
4544
4545 doc: python bindings howto.
4546 + commit 94a95ac12364989db7f4be333107f3c023551857
4547 * Promoted final encryption example so that it will appear as heading
4548 6.1.3 when exported to HTML or PDF.
4549
4550 doc: python bindings howto.
4551 + commit 3d0c7a2202c8e9bd4f284fd00069d34b8d3d3d4c
4552 * Fixed a minor typographic error.
4553 * Bumped version number in preparation for merge with master.
4554 * While there are probably a few more things worthy of being added
4555 (mainly how to revoke things), this document is essentially ready
4556 for publication now.
4557
4558 doc: python bindings howto.
4559 + commit 961aea212ef48914ecbfa169addf951b0854b0b4
4560 * Added key signing.
4561
4562 doc: python bindings howto.
4563 + commit 7ac65b10837740caf68cdade791b8c5ce4eb1b03
4564 * Added a new user ID for Danger Mouse.
4565 * Removed the empty entry for key preferences since that is handled
4566 through gpg.conf and/or editing the key directly.
4567
4568 doc: python bindings howto.
4569 + commit 9e3e4a835c64f5d06de821b1fd648af37827ff26
4570 * Spell checking and fixing the few errors.
4571
4572 doc: python bindings howto.
4573 + commit b02d9d0a7b96b186eb3063d94bde369339181461
4574 * Added an encryption subkey to Danger Mouse's primary key.
4575
4576 doc: python bindings howto.
4577 + commit 5432e5f9d1dfc02812d0b181f8d88cdf4a2bfbfb
4578 * generated a new primary key for Danger Mouse in an alternative homedir.
4579
4580 doc: python bindings howto.
4581 + commit 5d1dd2abe5cf787875d12afe46c78c75385d7b31
4582 * Added sections for key generation and key editing.
4583
4584 doc: python bindings howto.
4585 + commit 1d05e6aa4ea467c8c5926b827cfcfba357d03312
4586 * Added c.get_key instructions and examples.
4587
4588 doc: python bindings howto.
4589 + commit b35aaef7a3b793b8f6f5b42596c0a6a51e87f78c
4590 * Added text for verifying signatures.
4591
4592 2018-03-14 Ben McGinnes <ben@adversary.org>
4593
4594 doc: python bindings howto.
4595 + commit 6bc12a0eeb20409770cb8b923d08c18c2b730cb8
4596 * Added 4 signature verification methods and partial text for them.
4597
4598 doc: python bindings howto.
4599 + commit e5c85fba25de1187949697e2dae0e89345b71e89
4600 * Added description for detached signatures.
4601
4602 doc: python bindings howto.
4603 + commit ada059b07178147821b1598c935aa70ae45e3e6c
4604 * Fixed multiple sample code examples of writing output to a file.
4605 * Added the description of detached signatures.
4606
4607 2018-03-14 Werner Koch <wk@gnupg.org>
4608
4609 core: Import cJSON code from the payproc project.
4610 + commit 8eb08b318913644d918002f3195f7ec0e75ae239
4611 * src/cJSON.c: New.
4612 * src/cJSON.h: New.
4613 * src/cJSON.readme: New.
4614
4615 2018-03-14 Ben McGinnes <ben@adversary.org>
4616
4617 doc: python bindings todo.
4618 + commit ef27f3781a37e264d0eb7d1745eb2c804ec062c4
4619 * minor phrasing fix.
4620
4621 doc: python bindings howto.
4622 + commit 423fdcd4653cb01f07f2b0e72cfcf49554930f70
4623 * Added recommended method of single encryption with description.
4624
4625 2018-03-13 Ben McGinnes <ben@adversary.org>
4626
4627 doc: python binding howto.
4628 + commit a71205dc3b58970adf591b4e4553824a33f353db
4629 * Clarified which English dialects this is written in.
4630 * Translating to American can happen *after* it's done.
4631 ** The Yank version would probably want to change some of the examples
4632 anyway.
4633 * Began the description for normal/default signing.
4634
4635 doc: python bindings howto.
4636 + commit a10dcb4f138eb5a21881cdbc4806c25129d4ae4e
4637 * Added a section on key selection.
4638 * Included recommendation for using fingerprint when selecting one
4639 specific key.
4640 * Also included the most ironically amusing example of multiple key
4641 selection in a GPG guide. Hey, it's public data ... (heh).
4642
4643 doc: python bindings howto.
4644 + commit 952b6042f78017c476452088261af8d352cfa729
4645 * Added explanation of the ascendance of Python 3 over Python 2 in the
4646 guide to the intro.
4647 * Expanded key selection description so people know what not to
4648 include regarding key IDs with this key selection method.
4649
4650 doc: python bindings howto.
4651 + commit c92da2c7eb148ce9fb06495a8470dd9caf662f9a
4652 * Added key selection for specifying signing key or keys.
4653
4654 doc: python bindings howto.
4655 + commit e489ddd08af29fdad8db8aa0aec0c314daa3678c
4656 * During the course of working out the updated signature methods,
4657 determined that key selection (including counting) will beed to be
4658 presented before the basic functions.
4659 * Moved "working with keys" up.
4660
4661 doc: python bindings howto.
4662 + commit f29bda8d7146b4bc0bf73d6e613131545ff86b73
4663 * Signatures have changed as a result of the recent update from Justus.
4664 * Sample code updated.
4665 * Text to follow later.
4666
4667 doc: python bindings howto.
4668 + commit c27a7a3f994dad0eccee890185582f4350fbf233
4669 * Added text description for the decryption example.
4670
4671 2018-03-12 Ben McGinnes <ben@adversary.org>
4672
4673 doc: python bindings howto.
4674 + commit f81adeba992a9fd3b5a199e9a2e242a0f53cf639
4675 * Added a miscellaneous work-arounds section at the end.
4676 * Included code in said miscellaneous section for accessing the groups
4677 specified in a gpg.conf file.
4678 * It's a bit ugly since it does require subprocess (but not call,
4679 Popen or shell access and only accesses one command).
4680
4681 doc: python bindings howto.
4682 + commit 36dfbdffea60c529a6d1e1ff3e507be016b6a0f6
4683 * Fixed a spelling error in the key counting text.
4684
4685 doc: python bindings howto.
4686 + commit 484e9a6229ac9c80c6be4df638bce711f08a74c6
4687 * updated multi-encryption final example to be complete.
4688 * second example shows most likely method of reading plaintext.
4689 * updated example filenames to stick with running gag
4690 (i.e. secret_plans.txt).
4691
4692 doc: python bindings howto.
4693 + commit a8f48b6f577d562c25fd0191c0cc2cc8e96078c1
4694 * error corrections.
4695 * multiple typesetting fixes only required due to certain archaic
4696 eccentricities of LaTeX.
4697 * a couple of minor python PEP8 compliance corrections.
4698
4699 doc: python bindings howto.
4700 + commit 83b1336ceebb86e13a55bbf220df2d750f6b3ec6
4701 * Fixed an error in the encryption try/except statement.
4702
4703 doc: python bindings howto.
4704 + commit 0e1300ce777dd0c87f31ac8bc49846b9df242df9
4705 * Added a more complicated encryption example with a few variations on
4706 the encryption method to account for untrusted recipient keys,
4707 signing or not signing, including or excluding default keys and so
4708 on.
4709
4710 doc: python bindings howto.
4711 + commit 7ebc5a357057d01b7ef965521ab68b7cb7e20a8f
4712 * Switched from links to some external docs to using footnotes where
4713 necessary.
4714 * Ideally the howto should be as stand alone as possible.
4715 * Also it makes it difficult to convert to another format for
4716 proof-reading if there are links that the conversion can't find.
4717
4718 2018-03-09 Ben McGinnes <ben@adversary.org>
4719
4720 doc: python bindings HOWTO.
4721 + commit 172baaf4d3e4ed03a4d3437be9efa3dfe6a847bc
4722 * Added instructions and code to count the number of public and secret
4723 keys available since it was quick and easy.
4724
4725 doc: python TODO list.
4726 + commit f2c1e8d8d54068a7f072efa178fc30460821eff3
4727 * Slightly tweaked one heading to make it clear it wasn't a duplicate.
4728
4729 doc: python bindings howto.
4730 + commit 01686463948ac6096dd8579a110c478d3a1f9a83
4731 * Wrote the text description explaining each step in the most basic
4732 encryption operation.
4733 * Will need to include additional examples for encrypting to multiple
4734 recipients using Context().encrypt instead of Context().op_encrypt.
4735
4736 doc: python bindings TODO list.
4737 + commit 93252df9dc4c9932467814745655350a8cab900e
4738 * Updated to reflect the most recent work on the HOWTO for the Python
4739 bindings.
4740
4741 doc: python bindings howto.
4742 + commit ab81c2d868bba79fdb8f8d7f576b6bd88c6bdf3c
4743 * Added example for verifying both detached and "in-line" signatures.
4744
4745 2018-03-08 Ben McGinnes <ben@adversary.org>
4746
4747 docs: TODO.
4748 + commit e846c3daeeb4e7092169cdb7bf4f55e0b105aac3
4749 * Removed WS.
4750
4751 doc: TODO list update.
4752 + commit 6849924ffbd48ba3f9d32b4a59a02e1d2083fc19
4753 * Closed off a few ancient items and added recommendation to others to
4754 use the dev.gnupg.org site for real bugs/features updates.
4755 * See also this statement on the gnupg-devel list regarding this file:
4756 https://lists.gnupg.org/pipermail/gnupg-devel/2018-March/033499.html
4757
4758 docs: python bindings howto update.
4759 + commit fa4927146b68dd045903285f1c45fb64deb2e361
4760 * Added all four signing code examples that are most likely to be
4761 used: armoured, clearsigned, detached armoured and detached binary.
4762 * May remove some examples and just discuss the differences, but it
4763 depends on the way the text is filled out.
4764
4765 doc: python bindings howto update.
4766 + commit c767a4a3590bd8a224d0268746df443942cb28c2
4767 * Added example of decryption.
4768 * included some quick notes for myself regarding aspects to explain
4769 when I flesh out the explanatory text.
4770
4771 doc: Basic operation of the python bindings.
4772 + commit 75463d589522cba427f9e5a3a408192ffad8bb21
4773 * Added sample code for encrypting some text to a single key.
4774 * Basically I'm just lifting existing production code and changing the
4775 key IDs from mine to "0x12345678DEADBEEF" for these first few
4776 examples.
4777 * I'll fill in the text description after.
4778 * Note: due to my regional location, I might split some tasks into
4779 more commits in order to be sure no work gets lost in case of
4780 emergency (or to put it another way: I know Telstra too well to
4781 trust them).
4782
4783 doc-howto: fundamental aspects of GPGME vs Python.
4784 + commit a98f2c556fe6e33a9cd38279e64e4b09f05cc675
4785 * Added a section for those pythonistas who are too used to web
4786 programming. Stressed that it's not simply not RESTful, it's not
4787 even REST-like.
4788 * Letting me move on to drawing a very loose parallel between a
4789 session and a context. The differences should become obvious in the
4790 subsequent sections.
4791
4792 doc: Added multiple TODOs for inclusion in the HOWTO.
4793 + commit e8adab68f8c0cd865ff220f06dfaff7fe183e8a1
4794 * Some instructions to include are fairly obvious; as with encryption,
4795 decryption and signature verification.
4796 * Some are a little less obvious.
4797 * This includes the requests received to specifically include subkey
4798 management (adding and revoking subkeys on a primary key that's
4799 being retained.
4800 * Added the UID equivalents to the list, as well as key selection
4801 matters (and may or may not include something for handling group
4802 lines since that involves wrapping a CLI binary).
4803 * Key control documentation and examples requested by Mike Ingle of
4804 confidantmail.org.
4805
4806 2018-03-07 Ben McGinnes <ben@adversary.org>
4807
4808 GPL compatible license for documentation.
4809 + commit 47d401d159852ea08e90af21d91bb4b93be9000d
4810 * Added the same, slightly modified GPL based license that is used in
4811 other parts of GnuPG.
4812
4813 HOWTO update.
4814 + commit 8a76deb11efd7dadfde6e8e7e69fbcd92577982f
4815 * removed one bit of whitespace.
4816 * Marked up references to gpgme.h.
4817 * Fixed one spelling error.
4818 * Removed py2.6 from python search order since even if it is
4819 supported, it shouldn't be encouraged.
4820
4821 GPGME Python bindings HOWTO.
4822 + commit 5215d58ae2521d81c3db0b45dfbdce01a679acab
4823 * Started work on the GPGME Python bindings HOWTO.
4824 * 1,050 words to begin with at approx. 7.5KB.
4825 * Got as far as installation.
4826 * Includes instruction not to use PyPI for this.
4827
4828 TODO - HOWTO.
4829 + commit 8f2c0f4534ea2a07f071f360a63e877f60dc52f2
4830 * Added suv-entry for the new HOWTO being started and, since it has
4831 been started, checked it off.
4832
4833 TODO.
4834 + commit d4778bb23d0817ee6fbcbe4f0ff0ff0429bf3669
4835 * Slightly expanded the list.
4836
4837 copyright fix.
4838 + commit 3a746d5d46ffd7d332dc24fd6a4d24efc5fc1230
4839 * Made the copyright line a new top level org heading in order to
4840 prevent it getting folded into other tasks which will eventually get
4841 closed (so it doesn't go missing if those items are subsequently
4842 archived).
4843
4844 Nuxed doubles.
4845 + commit 13d2164cd9f313b409b2210d9e63465681cccc99
4846 * Just because there's a lot of documentation which needs to be added,
4847 doesn't mean it needs to be listed twice. Merged the two lists.
4848
4849 Removed double.
4850 + commit 1516c56ee4da28eb720bbacb026892393d10b24a
4851 * default.profraw didn't need to be listed twice.
4852
4853 2018-03-04 Ben McGinnes <ben@adversary.org>
4854
4855 IDENTIFY.
4856 + commit f61d4f585f27c13fabf7a23ad295bdc8bea7c838
4857 * Fixed sp error in docstring.
4858
4859 2018-03-03 Ben McGinnes <ben@adversary.org>
4860
4861 Missed a couple.
4862 + commit 75f5e6e6672a1bbd16b7680313c0f96796c219bd
4863 * WS indicated 2 custom-ids were missed, now they're set.
4864
4865 TODO DONE.
4866 + commit b438e5e44c2eaf22549db94141a3ec8731556674
4867 * Marked off a TODO for this clean-up.
4868
4869 TODO.
4870 + commit 1d910672539686e2e17fd8fa1a894cee92863417
4871 * WS removal
4872
4873 TODO updates.
4874 + commit 12a87af1df906744a14079ff7ff88e7d60679695
4875 * Updated TODO with tags to make everything appear properly when
4876 exported to HTML or PDF.
4877 * Added a couple more items, mainly to do with docs or future bindings.
4878 * Marked some, but not all as actual TODO items.
4879 * Some items should probably be removed, but haven't been yet.
4880 * Some have probably been completed already.
4881
4882 2018-02-27 Ben McGinnes <ben@adversary.org>
4883
4884 New stuff.
4885 + commit 85bdca3b2b095afb672f19abbffccd2bcb8bbd0a
4886 * Added the idea for alternative Emacs bindings (to extend the
4887 existing ones, not replace them outright).
4888 * Added a reference to the API Squared part of the project.
4889
4890 TODO the TODO.
4891 + commit 8047e1374fe6e69e8c4502e58e6522ea86e4bef4
4892 * Added an actual TODO to fix the TODOs.
4893 * Pretty sure I know who will be completing this one ... ;)
4894
4895 TODO ... the TODO.
4896 + commit 73c51bc9858de2aab25844e7e283a6334038ccc8
4897 * If we're going to use Org, let's actually use Org.
4898 * Added the properties tags for each point.
4899 * Some of thems still need custom ID tags assigned properly.
4900 * Probably ought to make them actual TODOs at some point, but that can
4901 wait until they can be marked as DONE anyway.
4902 * Will add a TODO for some of this stuff ... oh, the irony.
4903
4904 2018-02-27 NIIBE Yutaka <gniibe@fsij.org>
4905
4906 core: Support non-thread-safe getenv.
4907 + commit 59fe3f26c1ca0fba16f76738cd05aaf80fb735ef
4908 * src/get-env.c (_gpgme_getenv): Use gpgrt_lock_lock
4909 and gpgrt_lock_unlock to protect call of getnev.
4910
4911 2018-02-26 Ben McGinnes <ben@adversary.org>
4912
4913 WS removal.
4914 + commit c58f61e92226c4a03f216f5d07bdc5479ce8a2d9
4915 * Whitespace removal.
4916
4917 LaTeX headers.
4918 + commit 6f2e2e0f150d5c6d53de5bc48af137f7864d5fd9
4919 * Set LaTeX headers to enable ligatures and a 12pt font by default.
4920 * Paper size left for regional defaults.
4921 * Using XeLaTeX for easier font control.
4922 * Using default LaTeX font of Latin Main, but that's easy enough to change.
4923
4924 2018-02-19 Ben McGinnes <ben@adversary.org>
4925
4926 Renaming ad infinitum ...
4927 + commit 272a8e778a959cb24298f488e77fce9bffd23b7a
4928 * Dropped the .txt from the end of the file ...
4929
4930 Text conversion.
4931 + commit c82b17c6ce490738efb07186532e752e6f70ea07
4932 * Exported from Org Mode to UTF-8 text.
4933 * Removed my name from just under the title.
4934
4935 Title fix.
4936 + commit ea481d4bb9e6197fbc195187d1362b844e2cba2e
4937 * Fixed title.
4938
4939 Conflict with Phabricator files.
4940 + commit 1ae3ead2cd854258954e784bf51f03822321aefe
4941 * The developers of Phabricator, the web front-end on dev.gnupg.org
4942 have not implemented renderers for Markdown, Org-Mode or any other
4943 common markdown like language.
4944 * They also refuse to do so.
4945 * Instead they re-invented the wheel and implemented their own version
4946 of Markdown-like thing which is incompatible with everything else.
4947 It is called Remarkup.
4948 * The developers of Phabricator and Remarkup have refused to provide
4949 conversion tools to move files to/from any format to/from Remarkup.
4950 * They expect everyone to learn their new favourite pet project.
4951 * Remarkup may or may not display Org Mode files, but if so then it is
4952 likely to only want to do so as plain text.
4953 * There is an unaffiliated and unofficial project to convert Github
4954 Markdown to Remarkup via Pandoc. This might be adapted for our use,
4955 but requires testing.
4956 * Until then exporting from Org Mode to UTF-8 text is likely the least
4957 worst plan.
4958 * Which means renaming this file to README.org first.
4959
4960 Schizophrenic file types.
4961 + commit fe4f3edd70949329cb992dd963de2de3c86dcd81
4962 * Removed Markdown style heading underlining.
4963 * Removed in-line file type declaration (which is not correctly parsed
4964 by the web interface on dev.gnupg.org).
4965
4966 2018-02-16 Andre Heinecke <aheinecke@intevation.de>
4967
4968 cpp: Add shorthand for key locate.
4969 + commit 7f9d5c6cd204bfd84ea477b284df795b1dadb1af
4970 * lang/cpp/src/key.cpp (Key::locate): New static helper.
4971 * lang/cpp/src/key.h: Update accordingly.
4972
4973 2018-02-16 Ben McGinnes <ben@adversary.org>
4974
4975 History path.
4976 + commit fb16eaa685fe488f12f4df9b59d1f3689c813034
4977 * Fixed a typo in a filepath reference.
4978 * Moved conjecture regarding the first version of Python used to a
4979 footnote.
4980
4981 2018-02-15 Ben McGinnes <ben@adversary.org>
4982
4983 LaTeX margins.
4984 + commit 6f15d821404742ac2683f54ca4102ee4aaedacf2
4985 * Added LaTeX header for 1 inch margins in the quite likely event that
4986 all PDF output ultimately uses LaTeX.
4987
4988 TODO Documentation.
4989 + commit 235d899a5fc24cdf9c856adbc021a69c43985c99
4990 * Checked off the decision to stick with Org Mode.
4991
4992 TODO.
4993 + commit 40da5022922172ed898172956a8ccf5622e5638d
4994 * Beginning to turn the first part of this into something kind of like
4995 an actual TODO list as Org Mode uses it (maybe).
4996
4997 2018-02-15 NIIBE Yutaka <gniibe@fsij.org>
4998
4999 tests: Fix previous commit.
5000 + commit 3224d7f0ea83a3c2baaa9f97846c4a5b392d2c59
5001
5002
5003 tests: More Makefile portability.
5004 + commit ba6e610baa138ba9b43be303df2c5981dd04de5a
5005 * tests/gpg/Makefile.am: Invoke GPG with TESTS_ENVIRONMENT.
5006
5007 tests: Makefile portability.
5008 + commit b5ec21b9baf017b4cee88c9ef3cc1a638547cd20
5009 * tests/gpg/Makefile.am: Don't use "export" directive.
5010 * tests/gpgsm/Makefile.am: Ditto.
5011 * lang/qt/tests/Makefile.am: Ditto.
5012 * lang/python/tests/Makefile.am: Ditto.
5013
5014 build: More Makefile fix.
5015 + commit c9a351f5af289c8f6919854c40f235c781b76ec7
5016 * lang/python/tests/Makefile.am: Avoid target with '/'.
5017
5018 2018-02-14 Ben McGinnes <ben@adversary.org>
5019
5020 Short History.
5021 + commit 3c3b149996036e7ff4cc4c77ef2d97062d880409
5022 * Fixed or updated the most fundamental errors.
5023 * Also included some details on which modules are available on PyPI,
5024 as well as what happened to the PyME commit log.
5025
5026 Subsectioned history.
5027 + commit 7c662d22a8f7d2e6ad6532014f2ecc1769de16fb
5028 * Split the main parts down into subsections.
5029 * Still need to cull the incorrect stuff towards the end and add more
5030 recent changes.
5031
5032 History.
5033 + commit a1bc710c5fb7a7d2253434c1443e33e019020a55
5034 * Reshaping the history file to fit Org Mode's structuring for docs.
5035 * Also said history needs to be a bit more clear (it was kind of
5036 unfinished).
5037
5038 TODO.
5039 + commit fccd2ea3871f5d63fb038db0733a34f9c5d550c3
5040 * Updated TODO.
5041 * The entirety of the old TODO has been replaced with either more
5042 relevant tasks or goals for the examples and a more measured
5043 approach to the docs and why, in this project, Org Mode trumps reST,
5044 even though it's Python through and through.
5045
5046 TODO.
5047 + commit 487ed9337e8e07d1c63e53b785cc39e3bd35ff6e
5048 * Removed reST version of file.
5049
5050 TODO.
5051 + commit c4fa4216199b16c1f169725c0a1e0a40764b1ebb
5052 * Converted document from reST to org-mode.
5053
5054 Short History.
5055 + commit 1d48b04cfb3d1de654f3995578e9434a6b7b2fed
5056 * Removed reST version.
5057
5058 Short History.
5059 + commit d86fd7c54c462ef23c70370624e07fcc1bc15121
5060 * Converted document from reST to org-mode.
5061
5062 House keeping.
5063 + commit 1b5719cd57d80dcd9577141491a0860912e74cd4
5064 * Added a bunch of things to .gitignore that might otherwise creep in
5065 during Python development.
5066 * This really should be merged ASAP. You'll thank me later ...
5067
5068 2018-02-14 NIIBE Yutaka <gniibe@fsij.org>
5069
5070 build: Fix Makefiles for portability.
5071 + commit f1d8a7975b0a166f55aef06eb25d50230781b96f
5072 * tests/gpg/Makefile.am: Don't allow target with '/'.
5073 * tests/gpgsm/Makefile.am: Ditto.
5074
5075 2018-02-13 Andre Heinecke <aheinecke@intevation.de>
5076
5077 configure: Fix mingw check for getenv.
5078 + commit 5ec890b9c76db0f23cc396108ff6f1fe658855a8
5079 * configure.ac: have_thread_safe_getenv=yes with have_w32_system.
5080
5081 2018-02-13 NIIBE Yutaka <gniibe@fsij.org>
5082
5083 configure: MinGW has thread-safe getenv.
5084 + commit 77ca9cc2db2c6da303b9224a931679a325ebda1e
5085 * configure.ac: have_thread_safe_getenv=yes with have_w64_system.
5086
5087 2018-02-09 Andre Heinecke <aheinecke@intevation.de>
5088
5089 cpp: Add SpawnShowWindow flag.
5090 + commit 7e27a0ff64626026521dc5877b278794cea72e61
5091 * lang/cpp/src/context.h (SpawnShowWindow): New.
5092
5093 core, w32: Enable spawning GUI applications.
5094 + commit 201db83a7f1b7759173b6e9f0a844caef4da6cce
5095 * src/engine-spawn.c (engspawn_start): Translate spawn flag
5096 to IOSPAWN flag.
5097 * src/gpgme-w32spawn.c (my_spawn): Handle the new flag.
5098 * src/gpgme.h.in (GPGME_SPAWN_SHOW_WINDOW): New.
5099 * src/priv-io.h (IOSPAWN_FLAG_SHOW_WINDOW): New.
5100
5101 core, w32: Fix flags passing to gpgme-w32-spawn.
5102 + commit f10605ffb5cc9d457c3e432918fdfbfaf3d04185
5103 * src/w32-io.c (_gpgme_io_spawn): Don't hardcode flags value.
5104
5105 cpp: Add conveniance Data::toString.
5106 + commit 5a5b0d4996c17bfbc69b90f89fec23732f92813a
5107 * lang/cpp/src/data.h, lang/cpp/src/data.cpp: Add Data::toString.
5108
5109 2018-01-30 NIIBE Yutaka <gniibe@fsij.org>
5110
5111 Fix for BSD Make.
5112 + commit 59fcabbdf537b2745ef0c3cae908b21970a5b39b
5113 * tests/gpg/Makefile.am, tests/gpgsm/Makefile.am: Remove ./.
5114
5115 2018-01-29 NIIBE Yutaka <gniibe@fsij.org>
5116
5117 Fix compile error message.
5118 + commit bbb5e70e7e8598978b6c61b13ba77705ff86e469
5119 * src/get-env.c (_gpgme_getenv): Fix error message.
5120
5121 tests: Fix for NetBSD.
5122 + commit 58130b97f6582455fd355ac58ae3182a28812cfc
5123 * tests/gpg/pinentry: Use /bin/sh instead of Bash.
5124
5125 core: Implement _gpgme_getenv for NetBSD.
5126 + commit 37d62e9d0f685c257fdb5f303e60ff01f8a36a2f
5127 * src/get-env.c [HAVE_GETENV_R] (_gpgme_getenv): New.
5128
5129 2017-12-12 Werner Koch <wk@gnupg.org>
5130
5131 Release 1.10.0.
5132 + commit 6a42eb5f3809d5eb3767667c190b395d028886e7
5133
5134
5135 Require libgpg-error 1.24 and libassuan 2.4.2.
5136 + commit d4d04d6c0432b032f6ea23c8517fd6a5f623bb67
5137 * src/util.h (GPG_ERR_FALSE): Remove due to newer libgpg-error.
5138
5139 2017-12-11 Andre Heinecke <aheinecke@intevation.de>
5140
5141 qt: Don't use QDateTime::toSecsSinceEpoch.
5142 + commit b61d0fbb74f04408dfe8637c719b97217e061a3c
5143 * lang/qt/src/qgpgmequickjob.cpp (addSubkeyWorker)
5144 (createWorker): Use toMSecsSinceEpoch instead toSecsSinceEpoch.
5145
5146 2017-12-11 Werner Koch <wk@gnupg.org>
5147
5148 core,w32: Fix popping up of console windows due to gpgconf.
5149 + commit 0a567a94d94cd93c5d88f5db802925c95f0974d0
5150 * src/gpgme-w32spawn.c (my_spawn): Create w/o DETACHED_PROCESS.
5151
5152 2017-12-07 Andre Heinecke <aheinecke@intevation.de>
5153
5154 cpp: Fix handling of lsig promotion.
5155 + commit 1458adaea4acdcf7ebbead6668476fce92db5af8
5156 * src/gpgsignkeyeditinteractor.cpp (SignKeyState): Add second
5157 CONFIRM state.
5158 (makeTable): Properly handle local_promote_okay.
5159 (action): Handle CONFIRM2.
5160
5161 tests: Print userid signatures in run-keylist.
5162 + commit 5ba1cbdf39efd90c7987bfc2bc030b6504e70076
5163 * tests/run-keylist.c (main): Print UID signatures if there
5164 are any.
5165
5166 2017-12-04 Werner Koch <wk@gnupg.org>
5167
5168 core: Also check for a failed selftest in gpgm_data_new.
5169 + commit 0c1244a2b7e30ab0610ae70166e1b5d0219782c3
5170 * src/data.c (_gpgme_data_new): Check for failed selftest.
5171 * tests/run-support.h (make_filename): Print a message on mallooc
5172 failure.
5173 (init_gpgme_basic): New.
5174 * tests/run-identify.c (main): Call init_gpgme_basic becuase we do not
5175 need to setup a protocol.
5176 * tests/t-data.c: Define PGM and include run-support.h.
5177 (make_filename): Remove.
5178 (main): Call init_gpgme_basic.
5179
5180 2017-12-04 Tobias Mueller <muelli@cryptobitch.de>
5181
5182 python: Default whence argument for Data() to SEEK_SET.
5183 + commit 3cf9aedc92b6c65d2cb34037e52b9a299637d03b
5184 * lang/python/gpgme.i: copied signature from gpgme.h and defaulted the
5185 value to SEEK_SET.
5186 * lang/python/tests/t-data.py: Added a test for no second argument
5187
5188 2017-12-01 Andre Heinecke <aheinecke@intevation.de>
5189
5190 qt: Add job for quick commands.
5191 + commit 7d1ac5d61de3c55bf7ff14997b4b111a0f90c177
5192 * lang/qt/src/qgpgmequickjob.cpp,
5193 lang/qt/src/qgpgmequickjob.h,
5194 lang/qt/src/quickjob.h: New.
5195 * lang/qt/src/Makefile.am,
5196 lang/qt/src/protocol.h,
5197 lang/qt/src/protocol_p.h,
5198 lang/qt/src/job.cpp: Update accordingly.
5199
5200 cpp: Wrap create_key and create_subkey.
5201 + commit 8e2d6c28a5e923f829b5a26d19d9d897949aa1fe
5202 * lang/cpp/src/context.cpp,
5203 lang/cpp/src/context.h (Context::startCreateKey)
5204 (Context::createKey, Context::createSubkey)
5205 (Context::startCreateSubkey): New.
5206
5207 Fix uid parsing for ldap keyserver.
5208 + commit 651b3d8207cc7d85699f89fc4c21cb1243453aa8
5209 * src/engine-gpg.c (gpg_keylist_preprocess): Check field count
5210 for uid and add fallback.
5211
5212 2017-11-30 Werner Koch <wk@gnupg.org>
5213
5214 tests: Add missing variable to gpgsm tests Makefile.
5215 + commit f43016500774ab82f222249202bda6c463aaf63f
5216 * tests/gpgsm/Makefile.am (GPG_AGENT): Set var. It is used later.
5217
5218 2017-11-21 NIIBE Yutaka <gniibe@fsij.org>
5219
5220 tests: Make portability fix.
5221 + commit c441fb73130f4c117094d7da4de9fe56f886e65d
5222 * lang/python/tests/Makefile.am: Distinguish target and path.
5223 * tests/gpg/Makefile.am: Ditto.
5224 * tests/gpgsm/Makefile.am: Ditto.
5225
5226 2017-11-14 Andre Heinecke <aheinecke@intevation.de>
5227
5228 qt: Fix IODeviceDataProvider with Process.
5229 + commit 56b27b21d5f8dd95b9d6415c5e98b821774f3093
5230 * lang/qt/src/dataprovider.cpp (blocking_read): Keep
5231 reading if process is not atEnd.
5232
5233 2017-10-12 Daniel Kahn Gillmor <dkg@fifthhorseman.net>
5234
5235 core: use getdents64 syscall on linux instead of getdents.
5236 + commit 00daac15530eabed5e61d841b2df939c2242667c
5237 * src/posix-io.c (get_max_fds): use getdents64 instead of getdents.
5238
5239 2017-10-04 Werner Koch <wk@gnupg.org>
5240
5241 core: Allow disabling the use of SYS_getdents for Linux.
5242 + commit 4632adf403611b50be2b4e852a4607070935d0e5
5243 * configure.ac (USE_LINUX_GETDENTS): New ac_define. Add option
5244 --disable-linux-getdents.
5245 * src/posix-io.c: Make use of USE_LINUX_GETDENTS.
5246
5247 2017-10-04 Colin Watson <cjwatson@debian.org>
5248
5249 core: Restore get_max_fds optimization on Linux.
5250 + commit b5b996b1a142abb90296f5feadf0b5b19c59f738
5251 * src/posix-io.c (get_max_fds): Restore Linux optimization, this time
5252 using open/getdents/close rather than opendir/readdir/closedir.
5253
5254 2017-09-04 Andre Heinecke <aheinecke@intevation.de>
5255
5256 qt: Add test for version info.
5257 + commit bd5d470cef513b2f459316869b81267cde7a9f13
5258 * lang/qt/tests/t-various.cpp (TestVarious::testVersion): New.
5259
5260 cpp: Fix version info comparison.
5261 + commit 58d7bcead3394fa80c2a05d0d1e0fb4d9a1048b0
5262 * lang/cpp/src/engineinfo.h (EngineInfo::Version::operator<):
5263 Fix logic.
5264 * lang/cpp/src/engineinfo.h (EngineInfo::Version::operator>):
5265 New.
5266 * NEWS: Mention added API
5267
5268 2017-08-24 Werner Koch <wk@gnupg.org>
5269
5270 core: New context flag "auto-key-retrieve"
5271 + commit 47f61df0704485b8165c9cf2a27ad57bcd864239
5272 * src/gpgme.c (gpgme_set_ctx_flag, gpgme_get_ctx_flag): New flag
5273 "auto-key-retrieve".
5274 * src/context.h (gpgme_context): New field auto_key_retrieve.
5275 * src/engine-backend.h (struct engine_ops): Add arg auto_key_retrieve
5276 to field 'decrypt'.
5277 * src/engine-gpg.c (gpg_decrypt): Add arg auto_key_retrieve and pass
5278 option --auto-key-retrieve to gpg. Adjust all callers.
5279 (gpg_verify): Ditto.
5280 * src/engine-gpgsm.c (gpgsm_decrypt): Add dummy arg auto_key_retrieve.
5281 * src/engine-uiserver.c (uiserver_decrypt): Ditto.
5282 * tests/run-verify.c (main): Add option --auto-key-retrieve.
5283
5284 core: New public enum gpgme_keyorg_t.
5285 + commit 9bde9144f0c2d0087799511e9b041dc945a4cfa8
5286 * src/gpgme.h.in (gpgme_keyorg_t): New.
5287 * src/keylist.c (parse_keyorg): New.
5288 (keylist_colon_handler): Set key->ORIGIN.
5289
5290 2017-08-24 Marcus Brinkmann <marcus.brinkmann@ruhr-uni-bochum.de>
5291
5292 gpgconf: Add more comments.
5293 + commit 91e47d71652bd0f83b51089c343c3c4836bdfa8a
5294 * src/engine-gpgconf.c (gpgconf_config_dir_cb, gpgconf_conf_dir):
5295 Add comments.
5296
5297 2017-08-23 Marcus Brinkmann <marcus.brinkmann@ruhr-uni-bochum.de>
5298
5299 Fix a couple of bugs pointed out by clang compiler warnings.
5300 + commit bfb3a01a0c55aa327dcab061fa808672362cb09d
5301 * src/engine-gpgconf.c (gpgconf_config_dir_cb): Fix cast.
5302 * src/key.c (_gpgme_key_add_sig): Fix pointer reference.
5303
5304 2017-08-21 Alon Bar-Lev <alon.barlev@gmail.com>
5305
5306 python: Support parallel build in tests.
5307 + commit 57c12593082e4ad302041269f1c35f2fe7d2fb1a
5308 * lang/python/tests/Makefile.am: Depend xcheck with all which was lost
5309 due to the check hack.
5310
5311 2017-08-21 Justus Winter <justus@g10code.com>
5312
5313 python: Improve keylist test.
5314 + commit 70c8be9efe8de40bec0f0673589f3c9be7136674
5315 * lang/python/tests/t-keylist.py: Check a keylist matching no keys.
5316
5317 2017-08-16 Marcus Brinkmann <marcus.brinkmann@ruhr-uni-bochum.de>
5318
5319 doc: Add version information.
5320 + commit b9b08e46934eea9083afb2eaf4bffa23d6c27801
5321 * doc/gpgme.texi (since): New macro. Use it to add version
5322 information to those APIs that are mentioned in the NEWS file.
5323
5324 doc: Clarify import keys operation further.
5325 + commit 0ee7f4f178284dae153a59be710bc994820369e5
5326 * doc/gpgme.texi (gpgme_op_import_keys): Further clarifications.
5327
5328 gpgconf: Fix some warnings.
5329 + commit 3244d4daff892d5d3c39e78f4eb0934379beda2c
5330 * tests/gpg/t-gpgconf.c (main): Fix warnings.
5331 * src/engine-gpgconf.c (struct gpgconf_config_dir_s): New struct.
5332 (gpgconf_config_dir_cb, gpgconf_conf_dir) Use it to fix warning.
5333
5334 gpgconf: Fix symbol export.
5335 + commit 97a1abe72e73f85bbf922fa588d002a226db5459
5336 * gpgme.def: Fix last change.
5337 (gpgme_op_conf_save): Replace duplicate from c&p ...
5338 (gpgme_op_conf_dir): ... with this.
5339
5340 2017-08-15 Marcus Brinkmann <marcus.brinkmann@ruhr-uni-bochum.de>
5341
5342 NEWS: Add missing entry.
5343 + commit fa3918598de35fef0bf626035d59ea36c53832b9
5344
5345
5346 gpgconf: Add access to --list-dirs for non-default engine.
5347 + commit 9f24e6c9010e171fd11c5cdac797cb8ce2e501dd
5348 * src/engine-assuan.c (_gpgme_engine_ops_assuan): Add conf_dir.
5349 * src/engine-g13.c (_gpgme_engine_ops_g13): Likewise.
5350 * src/engine-gpg.c (_gpgme_engine_ops_gpg): Likewise.
5351 * src/engine-gpgsm.c (_gpgme_engine_ops_gpgsm): Likewise.
5352 * src/engine-spawn.c (_gpgme_engine_ops_spawn): Likewise.
5353 * src/engine-uiserver.c (_gpgme_engine_ops_uiserver): Likewise.
5354 * src/engine-backend.h (struct engine_ops): Likewise.
5355 * src/engine-gpgconf.c (gpgconf_config_dir_cb, gpgconf_conf_dir):
5356 New functions.
5357 (struct engine_ops): Add gpgconf_conf_dir.
5358 * src/engine.c (_gpgme_engine_op_conf_dir): New function.
5359 * src/engine.h (_gpgme_engine_op_conf_dir): New prototype.
5360 * src/gpgconf.c (gpgme_op_conf_dir): New function.
5361 * src/gpgme.def (gpgme_op_conf_save): New symbol.
5362 * src/gpgme.h.in (gpgme_op_conf_dir): New prototype.
5363 * src/libgpgme.vers (gpgme_op_conf_dir): New symbol.
5364 * tests/gpg/t-gpgconf.c (main): Test gpgme_op_conf_dir.
5365
5366 2017-08-11 Marcus Brinkmann <marcus.brinkmann@ruhr-uni-bochum.de>
5367
5368 g10: Add new delete operations that allow more flags.
5369 + commit a0cc6e01a8900b34cf231d8b5335ef3f85d01fdf
5370 * NEWS: Document new interfaces.
5371 * doc/gpgme.texi: Document new interfaces.
5372 * src/gpgme.h.in (GPGME_DELETE_ALLOW_SECRET, GPGME_DELETE_FORCE,
5373 gpgme_op_delete_ext_start, gpgme_op_delete_ext): New.
5374 * src/delete.c (delete_start): Change allow_secret argument to flags.
5375 (gpgme_op_delete_ext, gpgme_op_delete_ext_start): New functions.
5376 * src/engine-backend.h (delete): Change allow_secret argument to flags.
5377 * src/engine.c (_gpgme_engine_op_delete): Likewise.
5378 * src/engine.h (_gpgme_engine_op_delete): Likewise (for prototype).
5379 * src/engine-gpgsm.c (gpgsm_delete): Likewise.
5380 * src/engine-gpg.c (gpg_delete): Likewise. Implement GPGME_DELETE_FORCE.
5381 * src/gpgme.def (gpgme_op_delete_ext, gpgme_op_delete_ext_start): New.
5382 * src/libgpgme.vers (gpgme_op_delete_ext, gpgme_op_delete_ext_start): New.
5383
5384 2017-08-10 Marcus Brinkmann <marcus.brinkmann@ruhr-uni-bochum.de>
5385
5386 doc: Clarify import keys operation.
5387 + commit dfb3ca85680534b3885ab04d3fba4752c5a6f998
5388 * doc/gpgme.texi (gpgme_op_import_start): Fix grammar.
5389 (gpgme_op_import_keys): Clarify some wording and fix result.
5390 * src/import.c (gpgme_op_import_keys): Clarify comment.
5391
5392 doc: Add more tofu documentation.
5393 + commit 274609baceda3378b21f84c3ae6a44806dad2dba
5394 * doc/gpgme.texi (gpgme_tofu_info_t): Document structure.
5395 (gpgme_sigsum_t): Document GPGME_SIGSUM_TOFU_CONFLICT.
5396
5397 2017-07-27 Andre Heinecke <aheinecke@intevation.de>
5398
5399 core: Fix status parsing for decrypt + verify.
5400 + commit d3796e4504a2b4f422de17d78f3acfe8dd199c9c
5401 * src/decrypt.c (parse_status_error): Don't modify args.
5402
5403 2017-07-26 Andre Heinecke <aheinecke@intevation.de>
5404
5405 cpp: Fix Key::isDeVs for subkeys.
5406 + commit c7be41a5f850addceb2a95444bad2a31cdcd1ce5
5407 * lang/cpp/src/key.cpp (Key::isDeVs): Check all subkeys.
5408
5409 2017-07-13 Justus Winter <justus@g10code.com>
5410
5411 tests: Fix distcheck.
5412 + commit 7fde780cc1773c6d3902d4f49a8d4aadbf3223d4
5413 * tests/start-stop-agent: Remove backup file.
5414
5415 tests: Make agent spawning more robust.
5416 + commit 9cd2b58dfb2c21cce64520cf4c726859b583d14e
5417 * tests/gpgsm/Makefile.am (gpgsm.conf): Add agent-program directive.
5418 * tests/start-stop-agent: Update agent-program directive.
5419
5420 2017-07-12 Werner Koch <wk@gnupg.org>
5421
5422 tests: Fix printf compiler warning for an error case.
5423 + commit 46d2e48105e0929ec38dd4106004dd60d941df9a
5424 * tests/gpg/t-keylist.c (main): Cast DIM to int.
5425
5426 core: Return NO_SECKEY error code on decryption.
5427 + commit ad0c5ab4cd8d3a1b11b37dc137b75a67aa26da37
5428 * src/decrypt.c (op_data_t): Add flag any_no_seckey.
5429 (_gpgme_decrypt_status_handler): Consult that flag.
5430 (_gpgme_decrypt_status_handler): Set that flag.
5431
5432 core: Return CANCELED and BAD_PASSPHRASE error code on decryption.
5433 + commit d37bc7e025cdc6228da45b2b527e9f3bfef71c71
5434 * src/decrypt.c (op_data_t): Add field pkdecrypt_failed.
5435 (_gpgme_decrypt_status_handler): Consult new field.
5436 (parse_status_error): Handle some error codes.
5437
5438 core: Simplify parsing of STATUS_ERROR in decrypt.c.
5439 + commit 87703dbb86ac8fd8abd23170f8038ea6e3dbde28
5440 * src/decrypt.c (_gpgme_decrypt_status_handler): Factor some code out
5441 to ...
5442 (parse_status_error): new. Modernize parsing.
5443
5444 2017-07-11 Justus Winter <justus@g10code.com>
5445
5446 python: Improve error handling.
5447 + commit 1e68f93dc547ae75b921e43db35e3599de92e2cb
5448 * NEWS: Update.
5449 * lang/python/src/core.py (Context.__read__): New helper function.
5450 (Context.encrypt): Attach partial results to exceptions.
5451 (Context.decrypt): Likewise.
5452 (Context.sign): Likewise.
5453 (Context.verify): Likewise.
5454 * lang/python/src/errors.py (GpgError): Move the core of GPGMEError to
5455 this class, add a nicer interface for it. This makes the errors
5456 thrown by this library more uniform, and allows us to track the
5457 underlying error in synthesized high-level errors.
5458 (GPGMEError): Simplify.
5459 (...): Make sure to call the parent classes' constructor in all other
5460 classes.
5461
5462 2017-07-10 Andre Heinecke <aheinecke@intevation.de>
5463
5464 Add isDeVs to ostream operator.
5465 + commit fe79eb8de3dc780eafb38a0a0a016748e764ff04
5466 * lang/cpp/src/decryptionresult.cpp,
5467 lang/cpp/src/verificationresult.cpp: Extend ostream operator
5468 to include isDeVs.
5469
5470 2017-06-12 Andre Heinecke <aheinecke@intevation.de>
5471
5472 cpp: Fix CMake config library name for GPGME.
5473 + commit 5c53c702605b8d4458a14e6303cdc13f3b106efa
5474 * lang/cpp/src/GpgmeppConfig.cmake.in.in: The link library
5475 is of course also dynamic.
5476
5477 2017-06-01 Justus Winter <justus@g10code.com>
5478
5479 Add flag 'is_de_vs' to decryption results and signatures.
5480 + commit 05fa2a9c7764b28fdac35eb72631439df948ca0e
5481 * NEWS: Update.
5482 * lang/cpp/src/decryptionresult.cpp (DecryptionResult::isDeVs): New
5483 function.
5484 * lang/cpp/src/decryptionresult.h (DecryptionResult::isDeVs): New
5485 prototype.
5486 * lang/cpp/src/verificationresult.cpp (Signature::isDeVs): New
5487 function.
5488 * lang/cpp/src/verificationresult.h (Signature::isDeVs): New
5489 prototype.
5490 * lang/python/src/results.py (DecryptResult): Turn field 'is_de_vs'
5491 into a boolean.
5492 (Signature): Likewise.
5493 * src/decrypt.c (_gpgme_decrypt_status_handler): Handle the new
5494 compliance status line.
5495 * src/verify.c (_gpgme_verify_status_handler): Likewise.
5496 * src/gpgme.h.in (gpgme_status_code_t): Add new status codes for the
5497 new status lines.
5498 * src/keylist.c (parse_pub_field18): Move function to 'util.h'.
5499 (keylist_colon_handler): Adapt callsites.
5500 * src/status-table.c (status_table): Add new status lines.
5501 * src/util.h (PARSE_COMPLIANCE_FLAGS): New macro. This used to be
5502 'parse_pub_field18', but turned into a macro to make it polymorphic.
5503
5504 2017-05-18 Justus Winter <justus@g10code.com>
5505
5506 python: Fix build in certain cases.
5507 + commit 84a203e60b9935bd8536cd2832fbc55d7f011341
5508 * lang/python/setup.py.in: Prepend the Python build dir to the list of
5509 include directories so that it takes precedence over any other include
5510 directory.
5511
5512 2017-05-10 Justus Winter <justus@g10code.com>
5513
5514 tests: Remove remnants of 'check-local'.
5515 + commit a9b4c0ad0d1085ff76742e44cf0cf926e89d1f4c
5516 * tests/gpgsm/Makefile.am (check-local): Drop rule and the dependency
5517 on it.
5518
5519 python: Fix test environment creation.
5520 + commit 6b4dd3b929ac23271bfa96edb9dbb142eca0a30f
5521 * lang/python/tests/Makefile.am (pubring-stamp): Do not depend on the
5522 configuration files, this can trigger superfluous rebuilds.
5523
5524 tests: Make sure to kill all previously running daemons.
5525 + commit a226eca84670ef4e171c3a54e7caefb3a89254a4
5526 * lang/python/tests/Makefile.am: Kill all previously running daemons
5527 before creating the private key store.
5528 * lang/qt/tests/Makefile.am: Likewise.
5529 * tests/gpg/Makefile.am: Likewise.
5530 * tests/gpgsm/Makefile.am: Likewise.
5531
5532 tests: Harmonize test suites.
5533 + commit 15adff073bb89dc032d8342cfbbdad2850943f52
5534 * lang/python/tests/Makefile.am: Create test environment as part of
5535 'make all'.
5536 * tests/gpg/Makefile.am: Make sure the private keystore is created
5537 first.
5538 * tests/gpgsm/Makefile.am: Create test environment as part of
5539 'make all'. Make sure the private keystore is created
5540 first.
5541
5542 qt: Stop agent on clean.
5543 + commit 093b5497b7231590ce91ccf73ba64ebc0757f9e9
5544 * lang/qt/tests/Makefile.am (clean-local): Stop agent.
5545
5546 2017-05-10 Andre Heinecke <aheinecke@intevation.de>
5547
5548 qt: Add a missing include <functional>
5549 + commit 5e27bf98b4c48cf6a239bcc94b7b67515ff339e7
5550 * lang/qt/src/qgpgmenewcryptoconfig.cpp: Include functional.
5551
5552 qt: Undeprecate API that I find useful.
5553 + commit cc2ef3d07c0d261bb9e8e8c0f2706e1a08e4ec53
5554 * lang/qt/src/decryptjob.h,
5555 lang/qt/src/decryptverifyjob.h,
5556 lang/qt/src/signencryptjob.h,
5557 lang/qt/src/verifydetachedjob.h,
5558 lang/qt/src/verifyopaquejob.h: Undeprecate ByteArray based API.
5559
5560 qt, tests: Don't use internal API.
5561 + commit b56f398eff4e3e70dea714c3174a5512dd9bcf33
5562 * lang/qt/tests/t-encrypt.cpp, lang/qt/tests/t-tofuinfo.cpp:
5563 Only use exported API.
5564
5565 2017-05-03 Andre Heinecke <aheinecke@intevation.de>
5566
5567 core: Don't split gpgconf strings on comma.
5568 + commit df4eb611e33dcab7bebf07b13734c7db7ccf40da
5569 * src/engine-gpgconf.c (gpgconf_parse_option): Don't split
5570 strings on comma.
5571
5572 2017-04-25 Andre Heinecke <aheinecke@intevation.de>
5573
5574 qt, cpp: Add additional copyright BSI notes.
5575 + commit 28734240e2a2ce67b64df55364f35e1648376311
5576 * lang/cpp/Makefile.am,
5577 lang/cpp/src/Makefile.am,
5578 lang/cpp/src/callbacks.cpp,
5579 lang/cpp/src/callbacks.h,
5580 lang/cpp/src/configuration.cpp,
5581 lang/cpp/src/configuration.h,
5582 lang/cpp/src/context_glib.cpp,
5583 lang/cpp/src/context_p.h,
5584 lang/cpp/src/context_qt.cpp,
5585 lang/cpp/src/context_vanilla.cpp,
5586 lang/cpp/src/data_p.h,
5587 lang/cpp/src/decryptionresult.cpp,
5588 lang/cpp/src/decryptionresult.h,
5589 lang/cpp/src/defaultassuantransaction.cpp,
5590 lang/cpp/src/defaultassuantransaction.h,
5591 lang/cpp/src/editinteractor.cpp,
5592 lang/cpp/src/editinteractor.h,
5593 lang/cpp/src/encryptionresult.cpp,
5594 lang/cpp/src/encryptionresult.h,
5595 lang/cpp/src/engineinfo.cpp,
5596 lang/cpp/src/engineinfo.h,
5597 lang/cpp/src/error.h,
5598 lang/cpp/src/eventloopinteractor.cpp,
5599 lang/cpp/src/eventloopinteractor.h,
5600 lang/cpp/src/exception.cpp,
5601 lang/cpp/src/exception.h,
5602 lang/cpp/src/global.h,
5603 lang/cpp/src/gpgadduserideditinteractor.cpp,
5604 lang/cpp/src/gpgadduserideditinteractor.h,
5605 lang/cpp/src/gpgagentgetinfoassuantransaction.cpp,
5606 lang/cpp/src/gpgagentgetinfoassuantransaction.h,
5607 lang/cpp/src/gpgmefw.h,
5608 lang/cpp/src/gpgsetexpirytimeeditinteractor.cpp,
5609 lang/cpp/src/gpgsetexpirytimeeditinteractor.h,
5610 lang/cpp/src/gpgsetownertrusteditinteractor.cpp,
5611 lang/cpp/src/gpgsetownertrusteditinteractor.h,
5612 lang/cpp/src/gpgsignkeyeditinteractor.cpp,
5613 lang/cpp/src/gpgsignkeyeditinteractor.h,
5614 lang/cpp/src/importresult.cpp,
5615 lang/cpp/src/importresult.h,
5616 lang/cpp/src/interfaces/assuantransaction.h,
5617 lang/cpp/src/interfaces/dataprovider.h,
5618 lang/cpp/src/interfaces/passphraseprovider.h,
5619 lang/cpp/src/interfaces/progressprovider.h,
5620 lang/cpp/src/keygenerationresult.cpp,
5621 lang/cpp/src/keygenerationresult.h,
5622 lang/cpp/src/keylistresult.cpp,
5623 lang/cpp/src/keylistresult.h,
5624 lang/cpp/src/notation.h,
5625 lang/cpp/src/result.h,
5626 lang/cpp/src/result_p.h,
5627 lang/cpp/src/scdgetinfoassuantransaction.cpp,
5628 lang/cpp/src/scdgetinfoassuantransaction.h,
5629 lang/cpp/src/signingresult.cpp,
5630 lang/cpp/src/signingresult.h,
5631 lang/cpp/src/trustitem.cpp,
5632 lang/cpp/src/trustitem.h,
5633 lang/cpp/src/util.h,
5634 lang/cpp/src/verificationresult.cpp,
5635 lang/cpp/src/verificationresult.h,
5636 lang/cpp/src/vfsmountresult.cpp,
5637 lang/qt/Makefile.am,
5638 lang/qt/doc/Makefile.am,
5639 lang/qt/src/Makefile.am,
5640 lang/qt/src/defaultkeygenerationjob.h,
5641 lang/qt/tests/Makefile.am: Add missing copyright.
5642
5643 Change copyright from Intevation to BSI.
5644 + commit 70035834326d0d04a5904ae01bc3757e577facf4
5645 * lang/cpp/src/gpggencardkeyinteractor.cpp,
5646 lang/cpp/src/gpggencardkeyinteractor.h,
5647 lang/cpp/src/gpgmepp_export.h,
5648 lang/cpp/src/swdbresult.cpp,
5649 lang/cpp/src/swdbresult.h,
5650 lang/cpp/src/tofuinfo.cpp,
5651 lang/cpp/src/tofuinfo.h,
5652 lang/qt/src/abstractimportjob.h,
5653 lang/qt/src/adduseridjob.h,
5654 lang/qt/src/changeexpiryjob.h,
5655 lang/qt/src/changeownertrustjob.h,
5656 lang/qt/src/changepasswdjob.h,
5657 lang/qt/src/cryptoconfig.cpp,
5658 lang/qt/src/cryptoconfig.h,
5659 lang/qt/src/dataprovider.cpp,
5660 lang/qt/src/dataprovider.h,
5661 lang/qt/src/decryptjob.h,
5662 lang/qt/src/decryptverifyjob.h,
5663 lang/qt/src/deletejob.h,
5664 lang/qt/src/dn.cpp,
5665 lang/qt/src/dn.h,
5666 lang/qt/src/downloadjob.h,
5667 lang/qt/src/encryptjob.h,
5668 lang/qt/src/exportjob.h,
5669 lang/qt/src/hierarchicalkeylistjob.h,
5670 lang/qt/src/importfromkeyserverjob.h,
5671 lang/qt/src/importjob.h,
5672 lang/qt/src/job.cpp,
5673 lang/qt/src/job.h,
5674 lang/qt/src/keyformailboxjob.h,
5675 lang/qt/src/keygenerationjob.h,
5676 lang/qt/src/keylistjob.h,
5677 lang/qt/src/listallkeysjob.h,
5678 lang/qt/src/multideletejob.h,
5679 lang/qt/src/protocol.h,
5680 lang/qt/src/protocol_p.h,
5681 lang/qt/src/qgpgme_export.h,
5682 lang/qt/src/qgpgmeadduseridjob.cpp,
5683 lang/qt/src/qgpgmeadduseridjob.h,
5684 lang/qt/src/qgpgmebackend.cpp,
5685 lang/qt/src/qgpgmebackend.h,
5686 lang/qt/src/qgpgmechangeexpiryjob.cpp,
5687 lang/qt/src/qgpgmechangeexpiryjob.h,
5688 lang/qt/src/qgpgmechangeownertrustjob.cpp,
5689 lang/qt/src/qgpgmechangeownertrustjob.h,
5690 lang/qt/src/qgpgmechangepasswdjob.cpp,
5691 lang/qt/src/qgpgmechangepasswdjob.h,
5692 lang/qt/src/qgpgmedecryptjob.cpp,
5693 lang/qt/src/qgpgmedecryptjob.h,
5694 lang/qt/src/qgpgmedecryptverifyjob.cpp,
5695 lang/qt/src/qgpgmedecryptverifyjob.h,
5696 lang/qt/src/qgpgmedeletejob.cpp,
5697 lang/qt/src/qgpgmedeletejob.h,
5698 lang/qt/src/qgpgmedownloadjob.cpp,
5699 lang/qt/src/qgpgmedownloadjob.h,
5700 lang/qt/src/qgpgmeencryptjob.cpp,
5701 lang/qt/src/qgpgmeencryptjob.h,
5702 lang/qt/src/qgpgmeexportjob.cpp,
5703 lang/qt/src/qgpgmeexportjob.h,
5704 lang/qt/src/qgpgmeimportfromkeyserverjob.cpp,
5705 lang/qt/src/qgpgmeimportfromkeyserverjob.h,
5706 lang/qt/src/qgpgmeimportjob.cpp,
5707 lang/qt/src/qgpgmeimportjob.h,
5708 lang/qt/src/qgpgmekeyformailboxjob.cpp,
5709 lang/qt/src/qgpgmekeyformailboxjob.h,
5710 lang/qt/src/qgpgmekeygenerationjob.cpp,
5711 lang/qt/src/qgpgmekeygenerationjob.h,
5712 lang/qt/src/qgpgmekeylistjob.cpp,
5713 lang/qt/src/qgpgmekeylistjob.h,
5714 lang/qt/src/qgpgmelistallkeysjob.cpp,
5715 lang/qt/src/qgpgmelistallkeysjob.h,
5716 lang/qt/src/qgpgmenewcryptoconfig.cpp,
5717 lang/qt/src/qgpgmenewcryptoconfig.h,
5718 lang/qt/src/qgpgmerefreshkeysjob.cpp,
5719 lang/qt/src/qgpgmerefreshkeysjob.h,
5720 lang/qt/src/qgpgmesecretkeyexportjob.cpp,
5721 lang/qt/src/qgpgmesecretkeyexportjob.h,
5722 lang/qt/src/qgpgmesignencryptjob.cpp,
5723 lang/qt/src/qgpgmesignencryptjob.h,
5724 lang/qt/src/qgpgmesignjob.cpp,
5725 lang/qt/src/qgpgmesignjob.h,
5726 lang/qt/src/qgpgmesignkeyjob.cpp,
5727 lang/qt/src/qgpgmesignkeyjob.h,
5728 lang/qt/src/qgpgmetofupolicyjob.cpp,
5729 lang/qt/src/qgpgmetofupolicyjob.h,
5730 lang/qt/src/qgpgmeverifydetachedjob.cpp,
5731 lang/qt/src/qgpgmeverifydetachedjob.h,
5732 lang/qt/src/qgpgmeverifyopaquejob.cpp,
5733 lang/qt/src/qgpgmeverifyopaquejob.h,
5734 lang/qt/src/qgpgmewkspublishjob.cpp,
5735 lang/qt/src/qgpgmewkspublishjob.h,
5736 lang/qt/src/refreshkeysjob.h,
5737 lang/qt/src/signencryptjob.h,
5738 lang/qt/src/signjob.h,
5739 lang/qt/src/signkeyjob.h,
5740 lang/qt/src/specialjob.h,
5741 lang/qt/src/threadedjobmixin.cpp,
5742 lang/qt/src/threadedjobmixin.h,
5743 lang/qt/src/tofupolicyjob.h,
5744 lang/qt/src/verifydetachedjob.h,
5745 lang/qt/src/verifyopaquejob.h,
5746 lang/qt/src/wkspublishjob.h,
5747 lang/qt/tests/run-keyformailboxjob.cpp,
5748 lang/qt/tests/t-config.cpp,
5749 lang/qt/tests/t-encrypt.cpp,
5750 lang/qt/tests/t-keylist.cpp,
5751 lang/qt/tests/t-keylocate.cpp,
5752 lang/qt/tests/t-ownertrust.cpp,
5753 lang/qt/tests/t-support.cpp,
5754 lang/qt/tests/t-support.h,
5755 lang/qt/tests/t-tofuinfo.cpp,
5756 lang/qt/tests/t-various.cpp,
5757 lang/qt/tests/t-verify.cpp,
5758 lang/qt/tests/t-wkspublish.cpp,
5759 tests/gpg/t-encrypt-mixed.c,
5760 tests/gpg/t-thread-keylist-verify.c,
5761 tests/gpg/t-thread-keylist.c,
5762 tests/run-decrypt.c: Change Intevation GmbH copyright to BSI.
5763
5764 2017-04-24 Andre Heinecke <aheinecke@intevation.de>
5765
5766 doc: Improve doc on passphrase_cb / pinentry mode.
5767 + commit 8d61aba1fe0379ba14494f8ae2011ba531554ef4
5768 * doc/gpgme.texi (Passphrase Callback): Mention pinentry_mode and
5769 restrictions.
5770 (Pinentry Mode): Fix wording and clarify versions that need
5771 loopback mode for passphrase_cb to work.
5772
5773 2017-04-24 Justus Winter <justus@g10code.com>
5774
5775 tests: Update encrypted sample files.
5776 + commit ac28e66f46132ae4a854d04b2f17acd4d55e4296
5777 * tests/gpg/cipher-1.asc: Update file.
5778 * tests/gpg/cipher-2.asc: Likewise.
5779
5780 2017-04-11 Justus Winter <justus@g10code.com>
5781
5782 python: Skip TOFU test if not supported by GnuPG.
5783 + commit 979d48e823357af9999a2adb34d75adaade8dec2
5784 * lang/python/tests/support.py (have_tofu_support): New function.
5785 * lang/python/tests/t-quick-key-manipulation.py: Skip TOFU test if not
5786 supported by GnuPG.
5787
5788 2017-04-11 Alon Bar-Lev <alon.barlev@gmail.com>
5789
5790 python: use autoconf pre-processor when building via autoconf.
5791 + commit a827382cafe7f1425455dcc8bf5ef049172eb493
5792 * configure.ac: Add AC_PROG_CPP.
5793 * lang/python/Makefile.am: Set CPP environment for setup.py to use.
5794
5795 python: fix run-tests missing python_libdir.
5796 + commit d785c053a982bddefd7014dc6856d1af345fe9fb
5797 * lang/python/tests/run-tests.py: Set python_libdir if --python-libdir
5798 is set.
5799
5800 2017-04-10 Justus Winter <justus@g10code.com>
5801
5802 python: Fix distcheck.
5803 + commit db476e923415f8e458720aaafde7234b802a33ab
5804 * lang/python/Makefile.am (uninstall-local): Explicitly request the
5805 scheme 'posix_prefix'. On Python2.7 the default scheme is
5806 'posix_local', breaking distcheck.
5807
5808 2017-04-10 Alon Bar-Lev <alon.barlev@gmail.com>
5809
5810 python: Support alternatate libdir for tests.
5811 + commit 3cc90b67fa970e716c8672ec5c5f591fa11ab216
5812 * lang/python/tests/run-tests.py: Add --python-libdir optional
5813 parameter.
5814
5815 python: Read gpg-error.h using the pre-processor.
5816 + commit 7309ce6f5f7c86570953a141965d4f54cd9ad9a0
5817 * lang/python/setup.py.in: Read gpg-error.h using the pre-processor.
5818
5819 python: Remove unneeded stats copy.
5820 + commit df8433bffa9e669897243f08edf7845762250e4a
5821 * lang/python/setup.py.in: errors.i, gpgme.h are generated and always
5822 newer than the original.
5823
5824 python: Remove usage of PYTHON_VERSIONS.
5825 + commit 25e6444b3f4601c7821beab06bc4520deacb007b
5826 * configure.ac: Remove PYTHON_VERSIONS subst.
5827 * lang/python/Makefile.am: Use basename of python as builddir prefix.
5828 * lang/python/tests/run-tests.py: Likewise.
5829
5830 tests: Do not use check-local magic as dependency.
5831 + commit ebefc6cbf937d14ced65f7ded79c4ba901507d23
5832 * tests/gpg/Makefile.am: Use BUILT_SOURCES instead of check-local
5833 and initial.test.
5834 * lang/qt/tests/Makefile.am: Ditto.
5835
5836 python: support .pydistutils.cfg mode.
5837 + commit 365c649ad073f2697438dc014160943ae31a1447
5838 * lang/python/setup.py.in: Do not parse arguments.
5839
5840 2017-04-07 Alon Bar-Lev <alon.barlev@gmail.com>
5841
5842 python: simplify build, some fixups.
5843 + commit 49195c487e6c923f7137f092b982e7d833d98de6
5844 * lang/python/gpg/version.py.in: Rename to lang/python/version.py.in.
5845 configure.ac: Generate version.py.in in lang/python.
5846 * lang/python/MANIFEST.in: Include version.py explicitly.
5847 * lang/python/gpg: Rename to 'src'.
5848 * lang/python/Makefile.am: Do not copy source files, do not use absolute
5849 directories, support lib64 in uninstall, clean also dist directory, use
5850 symlink for gpg src.
5851 * lang/python/setup.py.in: Use builddir, copy sources into builddir,
5852 copy version.py into module.
5853
5854 2017-04-05 Justus Winter <justus@g10code.com>
5855
5856 python: Fix vpath builds, fix distcheck.
5857 + commit e7d9c0c3d773f826dbd2ed417d04e25c410f3374
5858 * lang/python/gpgme-h-clean.py: Delete file.
5859 * lang/python/MANIFEST.in: Adapt accordingly.
5860 * lang/python/Makefile.am (EXTRA_DIST): Likewise.
5861 (COPY_FILES_GPG): Bring variable back.
5862 (copystamp): Copy files.
5863 (clean-local): Delete copied files.
5864 (install-exec-local): Do not create and install list of installed
5865 files.
5866 (uninstall-local): Instead, create some explicit rules to uninstall
5867 the extension.
5868 * lang/python/setup.py.in: Parse arguments. Locate files either in
5869 the source directory, or in the build base directory. Inline the code
5870 from 'gpgme-h-clean.py'. Copy 'helpers.c', add source directory as
5871 include directory.
5872
5873 2017-04-05 Alon Bar-Lev <alon.barlev@gmail.com>
5874
5875 python: Generate files into build directory.
5876 + commit 801d7d8c5dd530d26ad6c4bcc94d986e6e022da4
5877 * lang/python/setup.py.in: Generate files within BuildExtFirstHack
5878 adjust build flags at this point instead of global.
5879 * lang/python/Makefile.am: Remove logic of separate source directory per
5880 python version in favor of build directory.
5881 * lang/python/tests/run-tests.py: Adjust build directory location.
5882
5883 2017-04-03 Pietro Cerutti <gahr@gahr.ch>
5884
5885 FreeBSD's closefrom(2) does not return errors.
5886 + commit 50565982cdd502c3852fcc6f598932bd32b5cdc3
5887
5888
5889 2017-04-03 Igor Gnatenko <ignatenkobrain@fedoraproject.org>
5890
5891 qt: pass fmt to gpgrt_asprintf()
5892 + commit 5d4f977dac542340c877fdd4b1304fa8f6e058e6
5893 * lang/qt/src/dn.cpp (parse_dn_part): Add fmt argument instead of
5894 using name directly.
5895
5896 GnuPG-Bug-Id: 3023
5897
5898 2017-03-30 Andre Heinecke <aheinecke@intevation.de>
5899
5900 python: Don't treat skipped tests as error.
5901 + commit f8a9ecc6290ebd73fa36647cdfca285fe4d94a62
5902 * lang/python/tests/run-tests.py (failed): Don't count skipped tests
5903 for the return code.
5904
5905 2017-03-30 Justus Winter <justus@g10code.com>
5906
5907 python: Fix skipping tests if running with GnuPG < 2.1.12.
5908 + commit 159505a28864399cc5405d9f85f35ab011a3259e
5909 * final.py: Import 'support.py' for the side-effect of checking the
5910 GnuPG version.
5911 * t-data.py: Likewise.
5912 * t-protocol-assuan.py: Likewise.
5913 * t-wrapper.py: Likewise.
5914 * t-callbacks.py: Avoid warning about 'support' being unused.
5915 * t-edit.py: Likewise.
5916 * t-encrypt-sym.py: Likewise.
5917 * t-file-name.py: Likewise.
5918 * t-idiomatic.py: Likewise.
5919 * t-sig-notation.py: Likewise.
5920 * t-trustlist.py: Likewise.
5921 * t-verify.py: Likewise.
5922 * t-wait.py: Likewise.
5923 * t-keylist-from-data.py: Trim unused imports.
5924
5925 2017-03-30 Andre Heinecke <aheinecke@intevation.de>
5926
5927 qt: Handle if gpg does not support tofu in test.
5928 + commit 2c063a8d60418ee59ae80da221420c6f3fa19abb
5929 * lang/qt/src/t-tofuinfo.cpp (TestTofuInfo::testSupported): Treat
5930 it as unsupported if secret keylisting already fails.
5931
5932 2017-03-29 Alon Bar-Lev <alon.barlev@gmail.com>
5933
5934 python,build: Reinstate prepare target.
5935 + commit 9786e3a96e6772166f3523e74a748b9db20fae7c
5936 * lang/python/Makefile.am: Fix 'prepare' target.
5937 * lang/python/setup.py.in: Use 'abs_top_builddir' instead of guessing
5938 the path.
5939
5940 2017-03-28 Justus Winter <justus@g10code.com>
5941
5942 tests: Run the threading tests only on UNIX.
5943 + commit 7e9f7752c992f957ccfde3b274865c633096e3bb
5944 * tests/gpg/Makefile.am (tests_unix): Add 't-thread-keylist' and
5945 't-thread-keylist-verify'.
5946 (c_tests): Drop them here.
5947
5948 tests: Make error message more helpful.
5949 + commit a13e4abe9463579ef23d1acea39a093abfc6528d
5950 * tests/gpg/t-keylist.c (main): Print number of returned and expected
5951 keys.
5952
5953 2017-03-28 Werner Koch <wk@gnupg.org>
5954
5955 Release 1.9.0.
5956 + commit aa0390ec3b910bbbc323a15ec3c3351e77785a9a
5957 * configure.ac <c>: Bump LT version to C29/A18/R0.
5958 <cpp>: Bump LT version to C10/A4/R0.
5959 <qt>: Bump LT version to C9/A2/R0.
5960
5961 2017-03-28 Andre Heinecke <aheinecke@intevation.de>
5962
5963 Revert "qt: Disable testEncryptDecryptNowrap"
5964 + commit a2ccb3172896a90bc27c95964ef94bd7c0924802
5965 This reverts commit 57d60b20f16dd5f1bccbbcaa0a6ed75a554a6414.
5966
5967 2017-03-28 Werner Koch <wk@gnupg.org>
5968
5969 core: Prepare for new key listing data send by gpg.
5970 + commit 813ae5fa2d712aa9679b791c67c9c1c43d36ffe4
5971 * src/gpgme.h.in (gpgme_user_id_t): New fields 'origin' and
5972 'last_update'.
5973 (gpgme_key_t): New fields 'origin' and 'last_update'.
5974 * src/conversion.c (_gpgme_parse_timestamp_ul): New.
5975 * src/keylist.c (keylist_colon_handler): Parse fields 19 and 20.
5976
5977 * tests/run-keylist.c (main): Print new fields.
5978
5979 2017-03-27 Andre Heinecke <aheinecke@intevation.de>
5980
5981 qt: Disable testEncryptDecryptNowrap.
5982 + commit 57d60b20f16dd5f1bccbbcaa0a6ed75a554a6414
5983 * lang/qt/tests/t-encrypt.cpp (EncryptTest::testEncryptDecryptNowrap):
5984 Disable test.
5985
5986 2017-03-27 Justus Winter <justus@g10code.com>
5987
5988 python: Skip tests if running with GnuPG < 2.1.12.
5989 + commit 348da58fe0c3656e6177c98fef6b4c4331326c8e
5990 * lang/python/tests/support.py (assert_gpg_version): Fix error
5991 message. Skip all tests when we use GnuPG older than 2.1.12.
5992
5993 2017-03-24 Andre Heinecke <aheinecke@intevation.de>
5994
5995 cpp: Respect decrypt flags in new functions.
5996 + commit 18b7906078cf08962c54c1e711cf2d91a24fd4e5
5997 * lang/cpp/src/context.cpp: Respect directly provided flags
5998 in the new decrypt functions.
5999
6000 qt: Add unittest for decrypt unwrap.
6001 + commit 5493164f8665fabf795f3b34a7084770a38ae940
6002 * lang/qt/tests/t-encrypt.cpp
6003 (EncryptTest::testEncryptDecryptNowrap): New.
6004
6005 cpp: Use gpgme_op_decrypt_ex and add new flags.
6006 + commit 8ad37ecc297f208d0a63783c1ffae33ad4c3c81a
6007 * lang/cpp/src/context.cpp: New decrypt and decryptVerify functions
6008 that take flags as arguments. Use new variants in old functions.
6009 (Context::setDecryptionFlags): New helper.
6010 (Context::Private::Private): Initialize new member.
6011 * lang/cpp/src/context_p.h (Context::Private::decryptFlags): New.
6012 * lang/cpp/src/context.h (Context::DecryptFlags): New enum.
6013 (Context::EncryptionFlags): Extend for EncryptWrap.
6014
6015 2017-03-24 Werner Koch <wk@gnupg.org>
6016
6017 core: New flags GPGME_DECRYPT_UNWRAP and GPGME_ENCRYPT_WRAP.
6018 + commit 6ac1f2cdedb085b4ac9372c1e591497e2e618de4
6019 * src/gpgme.h.in (GPGME_ENCRYPT_WRAP): New const.
6020 (gpgme_decrypt_flags_t): New enum.
6021 (GPGME_DECRYPT_VERIFY): New const
6022 (GPGME_DECRYPT_UNWRAP): New const
6023 (gpgme_op_decrypt_ext_start): New func.
6024 (gpgme_op_decrypt_ext): New func.
6025 * src/decrypt-verify.c (gpgme_op_decrypt_ext_start): New.
6026 (gpgme_op_decrypt_ext): New.
6027 (decrypt_verify_start): Add arg FLAGS. Replace call to
6028 engine_op_decrypt_verify by the plain decrypt with the flag set.
6029 (gpgme_op_decrypt_verify_start): Pass the flag.
6030 (gpgme_op_decrypt_verify): Pass the flag.
6031 * src/decrypt.c (decrypt_start): Rename to ...
6032 (_gpgme_decrypt_start): this. Add arg FLAGS. Pass FLAGS to
6033 engine_op_decrypt.
6034 (gpgme_op_decrypt_start): Adjust for chnage pass 0 for FLAG.
6035 (gpgme_op_decrypt_start): Ditto.
6036 * src/engine.c (_gpgme_engine_op_decrypt_verify): Remove.
6037 (_gpgme_engine_op_decrypt): Add arg FLAGS.
6038 * src/gpgme.def, src/libgpgme.vers: Add new functions.
6039 * src/engine-backend.h (struct engine_ops): Remove member
6040 'decrypt_verify'. Add FLAGS to 'decrypt'. Adjust all initialization.
6041 * src/engine-uiserver.c (uiserver_decrypt): Remove.
6042 (uiserver_decrypt_verify): Remove.
6043 (_uiserver_decrypt): Rename to ...
6044 (uiserver_decrypt): this. Replace arg VERIFY by new arg FLAGS.
6045 * src/engine-gpg.c (gpg_decrypt): Support GPGME_DECRYPT_UNWRAP.
6046 (gpg_encrypt): Support GPGME_ENCRYPT_WRAP.
6047
6048 * tests/run-decrypt.c (main): New option --unwrap.
6049 * tests/run-encrypt.c (main): New option --wrap.
6050
6051 2017-03-22 Andre Heinecke <aheinecke@intevation.de>
6052
6053 qt: Add test for Data::toKeys.
6054 + commit 66c334650bd64fdb72c4bd5975e25b8659d320ec
6055 * lang/qt/tests/t-various.cpp (TestVarious::testKeyFromFile): New.
6056
6057 cpp: Wrap keylist_from_data.
6058 + commit 8ddb42ada46f00d8393f6c2df7d6b79a4a5878f0
6059 * lang/cpp/data.h, lang/cpp/data.cpp (GpgME::Data::toKeys): New.
6060
6061 qt: Initialize library first in tests.
6062 + commit 121873b821636052c10d9e0bd885eb9013c52096
6063 * lang/qt/tests/t-support.cpp (QGpgMETest::initTestCase): Initialize
6064 library.
6065
6066 2017-03-22 Justus Winter <justus@g10code.com>
6067
6068 python: Improve Python detection.
6069 + commit 104635eb503ec764146731888a6975b4329660fd
6070 * m4/python.m4 (_AM_PYTHON_INTERPRETER_LIST): Prefer the generic
6071 'pythonX' over 'pythonX.Y'. This way we select the users preferred
6072 version for both flavors. Prefer 'python' over 'python3' but not over
6073 'python2' so that the algorithm still finds a 'python2' even if
6074 'python' is a Python3.
6075
6076 2017-03-21 Werner Koch <wk@gnupg.org>
6077
6078 core: New API gpgme_op_set_uid_flag.
6079 + commit 421ddd1e6706046c5062417fd69a87e10c9fc0a9
6080 * src/gpgme.h.in (gpgme_op_set_uid_flag_start): New.
6081 (gpgme_op_set_uid_flag_start): New.
6082 * src/gpgme.def, src/libgpgme.vers: Add them.
6083 * src/genkey.c (addrevuid_start): Change arg revoke to a flag.
6084 (gpgme_op_revuid_start): Pass GENKEY_EXTRAFLAG_REVOKE for the fomer
6085 revoke parameter.
6086 (gpgme_op_revuid): Ditto.
6087 (set_uid_flag): New.
6088 (gpgme_op_set_uid_flag_start): New.
6089 (gpgme_op_set_uid_flag): New.
6090 * src/engine.h (GENKEY_EXTRAFLAG_SETPRIMARY): new.
6091 * src/engine-gpg.c (gpg_adduid): Implement that flag.
6092
6093 * tests/run-genkey.c (main): New command --set-primary.
6094
6095 2017-03-21 Justus Winter <justus@g10code.com>
6096
6097 python: Wrap 'gpgme_op_keylist_from_data_start'.
6098 + commit f3e8d8a4518de2768692e0b392262d0da6d0fd84
6099 * NEWS: Update.
6100 * lang/python/gpg/core.py (Context.keylist): New keyword argument
6101 'source'. If given, list keys from 'source'.
6102 * lang/python/gpgme.i: Wrap the argument to
6103 'gpgme_op_keylist_from_data_start'.
6104 * lang/python/tests/Makefile.am (py_tests): Add new test.
6105 * lang/python/tests/support.py (EphemeralContext): Do not throw an
6106 error if no agent has been started in the context.
6107 * lang/python/tests/t-keylist-from-data.py: New file.
6108
6109 2017-03-21 Werner Koch <wk@gnupg.org>
6110
6111 core: Extend gpgme_get_dirinfo to return the gpg-wks-client name.
6112 + commit 55ac5eed9f59081283d34098a9e0ada753d61d59
6113 * src/dirinfo.c (WANT_GPG_WKS_CLIENT_NAME): New const.
6114 (struct dirinfo): New field 'gpg_wks_client_name'.
6115 (get_gpgconf_item): Build it on demand.
6116 (gpgme_get_dirinfo): New value "gpg-wks-client-name" for WHAT.
6117
6118 core: New encryption flag GPGME_ENCRYPT_THROW_KEYIDS.
6119 + commit fab8b1a166fff7265d8a7a7acbbf5f30d26cc93c
6120 * src/gpgme.h.in (GPGME_ENCRYPT_THROW_KEYIDS): New flag.
6121 * src/engine-gpg.c (gpg_encrypt): Implement flag
6122 (gpg_encrypt_sign): Implement flag.
6123
6124 * tests/run-encrypt.c (main): New option --throw-keyids.
6125
6126 2017-03-21 Andre Heinecke <aheinecke@intevation.de>
6127 Werner Koch <wk@gnupg.org>
6128
6129 core: New public API gpgme_op_keylist_from_data_start.
6130 + commit 35023f313622fb1b34108dd934e84831c58b81aa
6131 * src/gpgme.h.in: New API gpgme_op_keylist_from_data_start.
6132 * src/libgpgme.vers, src/gpgme.def: Add it.
6133 * src/keylist.c (gpgme_op_keylist_from_data_start): New.
6134 * src/engine-backend.h (engine_ops): Add field 'keylist_data'. Change
6135 all engines to pass NULL for it.
6136 * src/engine.c (_gpgme_engine_op_keylist_data): New.
6137 * src/engine-gpg.c (gpg_keylist_data): New.
6138 (_gpgme_engine_ops_gpg): Register gpg_keylist_data.
6139
6140 * tests/run-keylist.c (main): New option --from-file.
6141
6142 2017-03-20 Werner Koch <wk@gnupg.org>
6143
6144 core,cpp: New key flag 'is_de_vs'.
6145 + commit ea9686ec71a2dd2225ce2b6d6d4038821d36205f
6146 * src/gpgme.h.in (_gpgme_subkey): New flag is_de_vs.
6147 * tests/run-keylist.c (main): Print that flag.
6148 * src/keylist.c (parse_pub_field18): New.
6149 (keylist_colon_handler): Parse compliance flags.
6150 * lang/cpp/src/key.cpp (Key::isDeVs): New.
6151 (Subkey::isDeVs): New.
6152
6153 * lang/cpp/src/key.h (class Key): New method isDeVs.
6154 (class Subkey): New method isDeVs.
6155
6156 2017-03-20 Justus Winter <justus@g10code.com>
6157
6158 tests: Fix distcheck.
6159 + commit 392e51dd1181d035c19918222da65d08fdb2ee6d
6160 * tests/start-stop-agent: Do not create 'gpg-agent.conf' if it does
6161 not exist.
6162
6163 python: Fix version check.
6164 + commit 57e64d019d993fdeb4323def5352f8ecc98c6fd9
6165 * lang/python/tests/support.py (assert_gpg_version): Cope with
6166 non-released versions.
6167
6168 tests: Use 'gpg-agent --allow-loopback-pinentry' if applicable.
6169 + commit 16b202d9999591b71fb8bb49f6db10ef96d4cbe8
6170 * lang/python/tests/Makefile.am (gpg-agent.conf): Do not hard-code the
6171 option. This breaks gpg-agent from GnuPG 2.0.
6172 * tests/start-stop-agent: Rather, check if the option is supported and
6173 add it to the configuration if it is.
6174
6175 python: Skip tests if GnuPG is too old.
6176 + commit e1cf8bab319ba1dea41ba5d711dbb66ffd8e6fd6
6177 * lang/python/tests/support.py (assert_gpg_version): New function.
6178 * lang/python/tests/t-callbacks.py: Use the new function to skip the
6179 test if GnuPG is too old.
6180 * lang/python/tests/t-edit.py: Likewise.
6181 * lang/python/tests/t-encrypt-sym.py: Likewise.
6182 * lang/python/tests/t-quick-key-creation.py: Likewise.
6183 * lang/python/tests/t-quick-key-manipulation.py: Likewise.
6184 * lang/python/tests/t-quick-key-signing.py: Likewise.
6185
6186 python: Remove superfluous initialization.
6187 + commit 4572e8d2ac1d3b45e75ce71265c99e591fbf0e28
6188 * lang/python/tests/support.py (init_gpgme): Remove. This is an
6189 remnant from the c tests. Nowadays, the Python bindings initialize
6190 GPGME automagically.
6191 * lang/python/tests/initial.py: Remove call to 'support.init_gpgme'.
6192 * lang/python/tests/t-callbacks.py: Likewise.
6193 * lang/python/tests/t-decrypt-verify.py: Likewise.
6194 * lang/python/tests/t-decrypt.py: Likewise.
6195 * lang/python/tests/t-edit.py: Likewise.
6196 * lang/python/tests/t-encrypt-large.py: Likewise.
6197 * lang/python/tests/t-encrypt-sign.py: Likewise.
6198 * lang/python/tests/t-encrypt-sym.py: Likewise.
6199 * lang/python/tests/t-encrypt.py: Likewise.
6200 * lang/python/tests/t-export.py: Likewise.
6201 * lang/python/tests/t-file-name.py: Likewise.
6202 * lang/python/tests/t-idiomatic.py: Likewise.
6203 * lang/python/tests/t-import.py: Likewise.
6204 * lang/python/tests/t-keylist.py: Likewise.
6205 * lang/python/tests/t-sig-notation.py: Likewise.
6206 * lang/python/tests/t-sign.py: Likewise.
6207 * lang/python/tests/t-signers.py: Likewise.
6208 * lang/python/tests/t-trustlist.py: Likewise.
6209 * lang/python/tests/t-verify.py: Likewise.
6210 * lang/python/tests/t-wait.py: Likewise.
6211
6212 2017-03-14 Justus Winter <justus@g10code.com>
6213
6214 python: Make error message more helpful.
6215 + commit 9d6825be092f1590f28b5bab462eeb944d9b800c
6216 * lang/python/tests/run-tests.py: Make the error message shown when we
6217 cannot locate the python module in the build tree more helpful.
6218
6219 python: Make tests more robust.
6220 + commit ac4849953860547b06a167ca9612c4de369d02b6
6221 * lang/python/tests/support.py (TemporaryDirectory): Always use our
6222 own version even if 'tempfile.TemporaryDirectory' is provided, because
6223 we need to use 'shutil.rmtree(..., ignore_errors=True)' to avoid it
6224 tripping over gpg-agent deleting its own sockets.
6225
6226 python: Improve build system integration.
6227 + commit a4201035fdc050f337a6b9f520c8ddbb569e2eb4
6228 * lang/python/Makefile.am: Use 'set -e' when chaining shell commands
6229 together in rules.
6230
6231 build: Improve Python detection.
6232 + commit 6a371663886a7ba6073f385a3ab5f5a03de8e008
6233 * configure.ac: Do not error out too early if we don't find a matching
6234 Python version. We handle this case later.
6235
6236 build: Tune M4 macros for our needs.
6237 + commit 5189c08af9468cdeb6f16a6ecd0fee53e1e3aa0e
6238 * m4/ax_python_devel.m4: Do not emit 'HAVE_PYTHON'.
6239 * m4/python.m4 (_AM_PYTHON_INTERPRETER_LIST): Add newer Python
6240 versions, drop older ones. Also, sort the list with older versions at
6241 the front, newer and generic versions towards the end. This makes the
6242 algorithm pick the lowest version that meets the version requirement.
6243
6244 build: Add M4 macros for python.
6245 + commit 067da472f919e78c95a0a01b68e79a8b7dff173b
6246 * m4/python.m4: New file.
6247
6248 2017-03-13 Andre Heinecke <aheinecke@intevation.de>
6249
6250 qt: Add test for DN parser.
6251 + commit 43aa3eed15dcc4f848915ceabeff35c29c1c57e4
6252 * qt/tests/t-various.cpp (testDN): New.
6253
6254 qt: Use gpgrt_asprintf instead of qstrdup.
6255 + commit 9d5048d47446450a34cae4f27eb81c02ea5d4afc
6256 * lang/qt/src/dn.cpp (parse_dn_part): Use gpgrt_asprintf instead
6257 of qstrdup.
6258
6259 2017-03-09 Werner Koch <wk@gnupg.org>
6260
6261 core: Fix status error return for gpgsm.
6262 + commit d2240a2a1819874929bdab820bcbd3bee7f94407
6263 * src/engine-gpgsm.c (gpgsm_assuan_simple_command): Make sure CB_ERR
6264 is returned.
6265 * src/import.c (parse_import_res): Do not return an error for the last
6266 field.
6267 (import_status_handler): Actually return the error from
6268 parse_import_res.
6269
6270 2017-03-02 Justus Winter <justus@g10code.com>
6271
6272 python: Print path of the Python module used during tests.
6273 + commit 41398779abbcb1ec2d7491e141469a752fc706ff
6274 * lang/python/tests/initial.py: Print path of the Python module used
6275 during tests. Useful to detect if by any mistake the wrong module is
6276 picked up.
6277
6278 2017-03-02 Werner Koch <wk@gnupg.org>
6279
6280 core: Fix minor code style thing.
6281 + commit ef035f079fb067f207e5477d5ed6c5a68fb41f59
6282 * src/engine-gpg.c (gpg_add_algo_usage_expire): Use double parenthesis
6283 for bit tests.
6284
6285 2017-03-02 Andre Heinecke <aheinecke@intevation.de>
6286
6287 cpp: Add subkey keygrip to API.
6288 + commit 8071a6b2ca33c2a46ed1d50ae7283241daaafcd3
6289 * lang/cpp/src/key.cpp (Subkey::keyGrip): New.
6290 * lang/cpp/src/key.h: Update accordingly.
6291
6292 2017-03-01 Andre Heinecke <aheinecke@intevation.de>
6293
6294 cpp: Add interactor to generate keys on smartcard.
6295 + commit d63258066d008de113ed1170f1b0e787a5bdaba1
6296 * lang/cpp/src/editinteractor.cpp (EditInteractor::needsNoResponse):
6297 Handle new states.
6298 * lang/cpp/src/gpggencardkeyinteractor.cpp,
6299 lang/cpp/src/gpggencardkeyinteractor.h: New.
6300 * lang/cpp/src/Makefile.am: Update accordingly.
6301
6302 qt: Allow creation of default keys without name.
6303 + commit fbafb5474d8898ba1b267f4b4dfbefe39f04e72f
6304 * lang/qt/src/defaultkeygenerationjob.cpp
6305 (DefaultKeyGenerationJob::start): Handle empty name and email.
6306
6307 2017-02-26 Daniel Kahn Gillmor <dkg@fifthhorseman.net>
6308
6309 doc: Correct documentation for recp arg of gpgme_op_encrypt_sign_start.
6310 + commit 5b49095b89b07591c69827df3973ffabfb3e97b8
6311 * doc/gpgme.texi (gpgme_op_encrypt_sign_start): recp is an array of
6312 gpgme_key_t, not a single element.
6313
6314 2017-02-20 Justus Winter <justus@g10code.com>
6315
6316 python: Fix test.
6317 + commit a7c6353edab57b67180aa127ec77d9353c2366fb
6318 * lang/python/tests/t-quick-key-manipulation.py: Modify the
6319 configuration file in the ephemeral home directory, not the one used
6320 by all the tests.
6321
6322 2017-02-17 Justus Winter <justus@g10code.com>
6323
6324 python: Support manipulating the TOFU policy.
6325 + commit 15fbac9e72a4d1bff9a3b9e9822f9175b09fbcd5
6326 * NEWS: Update.
6327 * doc/gpgme.texi: Fix typos.
6328 * lang/python/gpg/constants/__init__.py: Import new files.
6329 * lang/python/gpg/constants/tofu/__init__.py: New file.
6330 * lang/python/gpg/constants/tofu/policy.py: New file.
6331 * lang/python/gpg/core.py (Context.key_tofu_policy): New function.
6332 * lang/python/gpgme.i: Nice reprs for gpgme_tofu_info_t.
6333 * lang/python/setup.py.in: Install new package.
6334 * lang/python/tests/t-quick-key-manipulation.py: Extend test.
6335
6336 python: Support quick key signing.
6337 + commit 48634e651fcd02431c0518d42ada1f3b402feb2c
6338 * NEWS: Update.
6339 * doc/gpgme.texi (gpgme_op_keysign): Fix the description of the
6340 'expire' argument.
6341 * lang/python/gpg/constants/__init__.py: Import new file.
6342 * lang/python/gpg/constants/keysign.py: New file.
6343 * lang/python/gpg/core.py (Context.key_sign): New function.
6344 * lang/python/tests/Makefile.am (py_tests): Add new test.
6345 * lang/python/tests/t-quick-key-signing.py: New test.
6346
6347 python: Fix teardown of ephemeral contexts.
6348 + commit de8494b16bc50c60a8438f2cae1f8c88e8949f7a
6349 * lang/python/tests/support.py (EphemeralContext): New function.
6350 * lang/python/tests/t-quick-key-creation.py: Use the new function to
6351 manage ephemeral contexts.
6352 * lang/python/tests/t-quick-key-manipulation.py: Likewise.
6353 * lang/python/tests/t-quick-subkey-creation.py: Likewise.
6354
6355 python: Fix using strings as commands in the assuan protocol.
6356 + commit 9350168a1eed3f055040d7cc8a9bf4cdf745b23a
6357 * lang/python/gpg/core.py (Context.assuan_transact): Fix testing
6358 whether the command is a string on Python2.
6359 * lang/python/tests/t-protocol-assuan.py: Improve the test to detect
6360 this problem.
6361
6362 2017-02-16 Justus Winter <justus@g10code.com>
6363
6364 python: Support adding and revoking UIDs.
6365 + commit 7641b7b5f2c9d5b38c60cd9326bcb4810c37dae5
6366 * NEWS: Update.
6367 * lang/python/gpg/core.py (Context.key_add_uid): New function.
6368 (Context.key_revoke_uid): Likewise.
6369 * lang/python/tests/Makefile.am (XTESTS): Add new test.
6370 * lang/python/tests/t-quick-key-manipulation.py: New file.
6371
6372 python: Support quick subkey creation.
6373 + commit 13bace25e3d8422f93fd24919994be36042fd220
6374 * NEWS: Update.
6375 * lang/python/gpg/core.py (Context.create_subkey): New function.
6376 * lang/python/tests/Makefile.am (XTESTS): Add new test.
6377 * lang/python/tests/t-quick-subkey-creation.py: New file.
6378
6379 python: Support quick key creation.
6380 + commit 476b97822b169c30cc246c1de2ff94cf89084706
6381 * NEWS: Update.
6382 * lang/python/gpg/constants/__init__.py: Import new file.
6383 * lang/python/gpg/constants/create.py: New file.
6384 * lang/python/gpg/core.py (Context.create_key): New function.
6385 * lang/python/tests/Makefile.am (XTESTS): Add new test.
6386 * lang/python/tests/support.py (TemporaryDirectory): New class.
6387 * lang/python/tests/t-quick-key-creation.py: New file.
6388
6389 python: Fix passphrase callback wrapping.
6390 + commit 3bdce4aa3ddd4a3f55b24678faf978d61daa8909
6391 * lang/python/helpers.c (pyPassphraseCb): Cope with 'passphrase_info'
6392 being NULL.
6393
6394 python: Fix error handling.
6395 + commit 048c5f74b61d5e4fa7617ce7c9111c6754bd4409
6396 * lang/python/gpgme.i (typemap gpgme_key_t[]): Set an error if a
6397 non-key element is discovered.
6398
6399 2017-02-15 Justus Winter <justus@g10code.com>
6400
6401 core: Fix expiration time handling when creating keys.
6402 + commit de708e5934cda380dbc3ae51f587c09041de7562
6403 * NEWS: Update.
6404 * doc/gpgme.texi (gpgme_op_createkey): Clarify the meaning of the
6405 'expire' parameter.
6406 (GPGME_CREATE_NOEXPIRE): Document new flag.
6407 (gpgme_op_createsubkey): Clarify the meaning of the 'expire'
6408 parameter.
6409 * src/engine-gpg.c (gpg_add_algo_usage_expire): Fix handling of the
6410 expiration time.
6411 * src/gpgme.h.in (GPGME_CREATE_NOEXPIRE): New macro.
6412
6413 python: Fix build system integration.
6414 + commit 27544d0a74267ab6057dc816ea3311bc9149a200
6415 * lang/python/Makefile.am (copystamp): Also copy the setup script, and
6416 link the header files.
6417 (all-local): Use local setup script.
6418 (sdist): Fix Python source distribution creation.
6419 (CLEANFILES): Remove now obsolete files.
6420 (install-exec-local): Use local setup script.
6421 * lang/python/setup.py.in: Adjust relative paths to in-tree files.
6422
6423 python: Update lists of functions returning gpgme_error_t.
6424 + commit 25f0435a0022a70af77660d72d33f17bec2d4e51
6425 * lang/python/gpg/core.py (Context._errorcheck): Add instructions how
6426 to update the list. Update list.
6427 (Data._errorcheck): Likewise.
6428 (Context.set_engine_info): Simplify.
6429
6430 core: Fix error types.
6431 + commit 6df6e01ed5a581765d245bf7303cda4497d0eb22
6432 * NEWS: Update.
6433 * src/data.c (gpgme_data_set_flag): Return a 'gpgme_error_t'.
6434 * src/error.c (gpgme_strerror_r): Fix type of first argument.
6435 * src/gpgme.h.in (gpgme_strerror_r): Adapt.
6436 (gpgme_data_set_flag): Likewise.
6437
6438 2017-02-14 Justus Winter <justus@g10code.com>
6439
6440 python: Wrap utility functions.
6441 + commit 92adc9bbf640eb5d9177d3ba0189e0f6cee4e995
6442 * NEWS: Update.
6443 * lang/python/gpg/core.py (pubkey_algo_string): New function.
6444 (pubkey_algo_name): Add docstring.
6445 (hash_algo_name): Likewise.
6446 (get_protocol_name): Likewise.
6447 (addrspec_from_uid): New function.
6448 * lang/python/gpgme.i (gpgme_pubkey_algo_string): Result must be
6449 freed.
6450 (gpgme_addrspec_from_uid): Likewise.
6451
6452 python: Use the correct function to free buffers.
6453 + commit 9fc9533c2835ec53c4fd4f822b09e9fec14626d0
6454 * lang/python/gpgme.i (char *): Free using 'gpgme_free'.
6455
6456 python: Add keylist mode parameter.
6457 + commit fdc4e33dc3f6c84fe9d7bf9795c603ae3cf5f28d
6458 * NEWS: Update.
6459 * lang/python/gpg/core.py (Context.keylist): Add 'mode' parameter.
6460
6461 python: Nicer repr for user ids.
6462 + commit e17ab84129045512cf60c221ee43aa877507662f
6463 * lang/python/gpgme.i (_gpgme_user_id): Provide a nicer repr() for
6464 user ids.
6465
6466 python: Add convenience functions for the home directory.
6467 + commit 99b7f4f34dd595579181a696ae976a678fe00d49
6468 * NEWS: Update.
6469 * lang/python/gpg/core.py (Context.__init__): Add 'home_dir' argument.
6470 (__repr__): Include 'home_dir'.
6471 (Context.home_dir): New property.
6472
6473 qt: Make sure to remove the tofu.db on clean.
6474 + commit 30a603580e0f196c721fa4bd44d24077d9bc06c3
6475 * lang/qt/tests/Makefile.am (CLEANFILES): Add 'tofu.db'.
6476
6477 2017-02-14 Tobias Mueller <muelli@cryptobitch.de>
6478
6479 python: Extend SWIG gpgme_{sub,}key with a __repr__ method.
6480 + commit 01d5c17587578c729bbbb60f8a65635975e35592
6481 * lang/python/gpgme.i: Added a genericrepr macro and use it for
6482 gpgme_key, gpgme_subkey, and gpgme_key_sig.
6483
6484 python: Remove the -builtin flag for SWIG.
6485 + commit aa49be1ab80c200ab6b62d33bf5d0f5aa334fc56
6486 * lang/python/setup.py.in: Call SWIG without the builtin flag.
6487
6488 python: Call SWIG_NewPointerObj rather than SWIG_Python_NewPointerObj.
6489 + commit d35651917097ae2eee7d52396d53d010bc34df19
6490 * lang/python/gpgme.i (pygpgme_wrap_gpgme_data_t): Provide a "self"
6491 variable for SWIG_NewPointerObj and call SWIG_NewPointerObj rather than
6492 SWIG_Python_NewPointerObj.
6493
6494 python: Conditionally provide py3 argument to SWIG.
6495 + commit d184dbbba8987d9f387feb25791ed891e108dabc
6496 * lang/python/setup.py.in: Only call with -py3 when we run under python3
6497 or higher.
6498
6499 2017-02-13 Justus Winter <justus@g10code.com>
6500
6501 python: Use one copy of the source tree per Python version.
6502 + commit fe65a26ab584bd70fad45c7c4d44330e30a748a4
6503 * lang/python/Makefile.am (copystamp): Create one copy per Python
6504 version.
6505 (all-local): Adapt.
6506 (clean-local): Likewise.
6507 (install-exec-local): Likewise.
6508 * lang/python/tests/run-tests.py: Likewise.
6509
6510 build: Use macOS' compatibility macros to enable all features.
6511 + commit 60273e8b2c11d42215a5707bc55e3e0d8f350e07
6512 * configure.ac: On macOS, use the compatibility macros to expose every
6513 feature of the libc. This is the equivalent of _GNU_SOURCE on GNU
6514 libc.
6515
6516 Revert "Disable fd-passing for Apple."
6517 + commit f8db658f8b4c3c7941d0029273fb23fbe1ba74ad
6518 The actual bug has been located, so this can be reverted.
6519
6520 This reverts commit ef5b4ae37d13142e89a051908dc080cda3d24baa.
6521
6522 2017-02-13 Igor Gnatenko <ignatenkobrain@fedoraproject.org>
6523
6524 qt: Add missing #include <functional>
6525 + commit 60064c665ec98a2a994fc6c8ad701e60b963ce7e
6526 * lang/qt/src/qgpgmenewcryptoconfig.cpp,
6527 lang/qt/src/threadedjobmixin.h: Include functional.
6528
6529 2017-02-07 Andre Heinecke <aheinecke@intevation.de>
6530
6531 qt: Don't rely on implicit include in t-verify.
6532 + commit 903bf16a416b1bf608b1e647937c9b06864b0141
6533 * lang/qt/tests/t-various.cpp: Include QTemporaryDir
6534
6535 2017-02-06 Daniel Kahn Gillmor <dkg@fifthhorseman.net>
6536
6537 doc: Document that gpgme_op_genkey() parms parameter is not XML.
6538 + commit ad22bee5387b1e9a40e8c822a081db3228bb9def
6539 * doc/gpgme.texi (GnupgKeyParms): document that input format is not
6540 true XML.
6541
6542 2017-02-03 Werner Koch <wk@gnupg.org>
6543
6544 core: Optimize fork/exec for *BSD and Solaris.
6545 + commit 51bd69f216a9e2930eeba4b5f6c20e952a381720
6546 * configure.ac (closefrom): Add to ac_check_funcs.
6547 * src/posix-io.c (_gpgme_io_spawn): Use closefrom.
6548
6549 core: Fix possible deadlock due to get_max_fds.
6550 + commit 93a59070c699d569d1eac7ba22355fe3f5d10882
6551 * src/posix-io.c (get_max_fds): Do not use the Linux optimization.
6552
6553 core: Minor cleanup of commit 195c735.
6554 + commit afc308598d1ddaf20d54b4eab30b959066a4e5e6
6555 * src/verify.c (parse_tofu_user): For cleanness use gpg_error ...
6556 (_gpgme_verify_status_handler): ... and gpg_err_code.
6557
6558 2017-02-02 Andre Heinecke <aheinecke@intevation.de>
6559
6560 qt: Add test for tofu conflict.
6561 + commit 43160a39f27f6c3507447620666c85af00b3499c
6562 * lang/qt/tests/t-tofuinfo.cpp (TofuInfoTest::testTofuConflict): New.
6563
6564 core: Handle multiple TOFU_USER lines in verify.
6565 + commit 195c73589232160f45d00f4901c9bb2b0162f0e5
6566 * src/verify.c (op_data_t): Add conflict_user_seen.
6567 (parse_tofu_user): Return ERR_DUP_VALUE for mutltiple TOFU_USERS.
6568 (_gpgme_verify_status_handler): Handle ERR_DUP_VALUE from
6569 parse_tofu_user to ignore the next TOFU_STATS.
6570
6571 2017-02-02 Werner Koch <wk@gnupg.org>
6572
6573 core: Replace all calls to *sprintf by gpgrt_*sprintf.
6574 + commit 15050ce5fce4ed815503db7c029abb38d08970d6
6575 * configure.ac (vasprintf): Remove check.
6576 * src/vasprintf.c: Remove file.
6577 * src/util.h (vasprintf, asprintf): Remove prototypes. Replace all
6578 calls to vasprintf and asprintf by gpgrt_vasprintf or gpgrt_asprintf.
6579 Also take care to use gpgrt_free on the returned value.
6580 * src/w32-util.c (_gpgme_get_gpgconf_path): Replace a gpgrt_asprintf
6581 by _gpgme_strconcat.
6582 (snprintf): New macro to use gpgrt_snprintf instead of the system's
6583 standard snprintf.
6584
6585 core: Remove unused check for funopen/fopencookie.
6586 + commit 563420a88f8a4f561a2faea4d2b4a1c58b375fd8
6587 * configure.ac (funopen): Remove check.
6588 * src/funopen.c: Remove file.
6589
6590 core: Un-deprecate gpgme_data_rewind.
6591 + commit d19bea52afe6efb66a46af6aa4d09928c5d05ee5
6592 * src/gpgme.h.in (gpgme_data_rewind): Un-deprecate.
6593 * src/data-compat.c (gpgme_data_rewind): Move to ...
6594 * src/data.c (gpgme_data_rewind): here.
6595
6596 core: Move all deprecated stuff to the end of gpgme.h.
6597 + commit 9b7d81998b734fabeb4fbc697f08fc7795eaa90a
6598
6599
6600 2017-02-01 Andre Heinecke <aheinecke@intevation.de>
6601
6602 core: Cleanup gpgme_key_unref frees.
6603 + commit 8ede86795a1d419c01b4910ec2fd1fb18b629452
6604 * src/key.c (gpgme_key_unref): Nowadays we assume free(NULL) is ok.
6605
6606 core: Fix leakage of address for mail only uids.
6607 + commit b5075030bec9b21bf4e515bc1686df3fa43eced2
6608 * src/key.c (gpgme_key_unref): Always free address if set.
6609 (_gpgme_key_append_name): Remove memory optimization for address.
6610
6611 core: Improve mailbox only uid handling.
6612 + commit a28d31fdb623f2ee30e8094d09f1a0d1ae446a9b
6613 * src/key.c (_gpgme_key_append_name): Set email and remove name
6614 for uid only keys.
6615
6616 2017-01-31 Justus Winter <justus@g10code.com>
6617
6618 qt: Increase timeout when waiting for signals.
6619 + commit ba594d85e35e63301755977234d3af88a167a215
6620 * lang/qt/tests/t-support.h (QSIGNALSPY_TIMEOUT): New macro.
6621 * lang/qt/tests/t-encrypt.cpp: Use the new macro as timeout when
6622 waiting for signals.
6623 * lang/qt/tests/t-keylist.cpp: Likewise.
6624 * lang/qt/tests/t-keylocate.cpp: Likewise.
6625 * lang/qt/tests/t-ownertrust.cpp: Likewise.
6626 * lang/qt/tests/t-wkspublish.cpp: Likewise.
6627
6628 2017-01-31 Werner Koch <wk@gnupg.org>
6629
6630 core: Add new context flag "redraw".
6631 + commit 752d3597ef02a95efd693373132bf1e246f0edb0
6632 * src/context.h (struct gpgme_context): New field 'redraw_suggested'.
6633 * src/op-support.c (_gpgme_op_reset): Clear REDRAW_SUGGESTED.
6634 * src/progress.c (_gpgme_progress_status_handler): Set REDRAW_SUGGESTED.
6635 * src/gpgme.c (gpgme_set_ctx_flag, gpgme_get_ctx_flag): Add "redraw".
6636 * tests/run-sign.c (main): Use it.
6637
6638 2017-01-30 Andre Heinecke <aheinecke@intevation.de>
6639
6640 tests: Reduce iterations / threads.
6641 + commit 7bd6ab4a91d43d7cbf5d347c0c12e0e4f9f7e3bf
6642 * tests/gpg/t-gpgconf.c (main): Reduce iterations to 10.
6643 * tests/gpg/t-thread-keylist-verify.c,
6644 tests/gpg/t-thread-keylist.c (THREAD_COUNT): Reduce to 10.
6645
6646 2017-01-26 Andre Heinecke <aheinecke@intevation.de>
6647
6648 python: Ensure quick-random is used if gpg is gpg2.
6649 + commit f3ca2c9ce9fd4a03e293065f10b92589a7e642d6
6650 * lang/python/tests/Makefile.am (gpg.conf): Configure
6651 agent-program accordingly.
6652
6653 2017-01-25 Tobias Mueller <muelli@cryptobitch.de>
6654
6655 python: default op_keylist_start parameters.
6656 + commit 9291ebaa4151a1f6c8c0601095ec45809b963383
6657 * lang/python/gpgme.i: Added gpgme_op_keylist_start with defaults
6658 * lang/python/tests/t-keylist.py: Added tests for default parameters
6659
6660 2017-01-25 Andre Heinecke <aheinecke@intevation.de>
6661
6662 tests: Use --debug-quick-random for tests.
6663 + commit a98951a30a6ae603ffac4ec8c5168aa6d1019933
6664 * tests/start-stop-agent: Don't autostart agent on --stop and
6665 running check. Use --debug-quick-random when starting.
6666
6667 2017-01-23 Justus Winter <justus@g10code.com>
6668
6669 w32: Fix closing file descriptors.
6670 + commit 6f02133bb07726afa6950e5b4685e75621276e60
6671 * src/w32-io.c (writer): Only stop once the buffer is drained.
6672 (destroy_writer): Wait for the writers buffer to be drained. This
6673 aligns '_gpgme_io_close's behavior with close(2) and fclose(3).
6674
6675 2017-01-17 Andre Heinecke <aheinecke@intevation.de>
6676
6677 tests: Add safeguards against nullptr deref.
6678 + commit ca69df8c8d3f044340aee2a118cc20d33cd600a1
6679 * t-gpgconf.c (main): Test some values before dereferencing them.
6680
6681 2017-01-16 Andre Heinecke <aheinecke@intevation.de>
6682
6683 qt: Use QVERIFY instead of Q_ASSERT in conf test.
6684 + commit abfd241d1a1ae8e30e18b7c5e0658b8c54d89544
6685 * lang/qt/tests/t-config.cpp: Use QVERIFY instead of Q_ASSERT.
6686
6687 qt: Add test for CryptoConfig.
6688 + commit 8aba08d1d0871f439fb7193adc4a2f43a81ee216
6689 * lang/qt/tests/t-config.cpp: New.
6690 * lang/qt/tests/Makefile.am: Update accordingly.
6691
6692 2017-01-16 Justus Winter <justus@g10code.com>
6693
6694 tests: Fix distcheck.
6695 + commit 92543da94cbf8e807b1b33070d273f995cdd5c62
6696 * tests/gpg/Makefile.am (CLEANFILES): Remove gpgconf backups.
6697
6698 Fix changing options with gpgconf.
6699 + commit 0e242278dfaa64ce31a45b72f5fa0806a3dba898
6700 * src/engine-gpgconf.c (gpgconf_write): Connect a pipe to the child's
6701 stderr, and wait for it to be closed as an indication that gpgconf has
6702 exited. Also improve error handling.
6703
6704 2017-01-12 Justus Winter <justus@g10code.com>
6705
6706 tests: Improve the gpgconf test.
6707 + commit 186dcd3494eda7383de57a530fd15776410531a5
6708 * tests/gpg/t-gpgconf.c: Include support functions.
6709 (fail_if_err): Remove macro.
6710 (init_gpgme): Remove function.
6711 (lookup): New function.
6712 (main): Update some values and verify that the changes are applied.
6713 * tests/gpg/t-support.h (test): New assert-like macro.
6714
6715 2017-01-12 Andre Heinecke <aheinecke@intevation.de>
6716
6717 qt: Add support for stringValueList in CryptoConf.
6718 + commit 9640dc58e498966b482dcded6990cf4b47c556ac
6719 * lang/qt/src/Makefile.am (qgpgme_sources): Add cryptoconfig.cpp
6720 * lang/qt/src/cryptoconfig.cpp: New.
6721 * lang/qt/src/cryptoconfig.h (CryptoConfigEntry::stringValueList):
6722 New.
6723 * lang/qt/src/qgpgmenewcryptoconfig.cpp
6724 (QGpgMENewCryptoConfigEntry::stringValueList): New.
6725 * lang/qt/src/qgpgmenewcryptoconfig.h: Update accordingly.
6726
6727 qt: Don't use qstrdup in test passphrase cb.
6728 + commit a09ed3f26a1fab54079c37c49df5c440cc792f78
6729 * lang/qt/tests/t-support.h (TestPassphraseProvider::getPassphrase):
6730 Use gpgrt_asprintf instead of strdup.
6731
6732 2017-01-11 Andre Heinecke <aheinecke@intevation.de>
6733
6734 qt: Clean up test dirs on failure.
6735 + commit 56926c9b5012e8135541a933af1d69c5a81f02b3
6736 * t-encrypt.cpp,
6737 t-keylist.cpp,
6738 t-keylocate.cpp,
6739 t-ownertrust.cpp,
6740 t-tofuinfo.cpp,
6741 t-various.cpp,
6742 t-verify.cpp,
6743 t-wkspublish.cpp: Use QVERIFY instead of Q_ASSERT
6744
6745 qt: Add test for uid functions.
6746 + commit 9e643ab67168dfbd189ccc0bfed8fb59253ee79c
6747 * lang/qt/tests/t-various.cpp: New.
6748 * lang/qt/tests/Makefile.am: Update accordingly.
6749
6750 cpp: Add revuid and adduid support.
6751 + commit e416f9961837039f259558edf41fccbc181ad128
6752 * lang/cpp/src/context.cpp
6753 (Context::revUid, Context::startRevUid),
6754 (Context::addUid, Context::startAddUid): New.
6755 * lang/cpp/src/context.h: Declare new functions.
6756 * lang/cpp/src/key.cpp (Key::UserID::revoke)
6757 (Key::addUid): Idomatic helpers.
6758 lang/cpp/src/key.h: Declare new functions.
6759 * NEWS: Update accordingly.
6760
6761 Fix Qgpgme build for macos.
6762 + commit efe58fe011f195d98adb4f03b1e1068a26ba287b
6763 * lang/qt/src/dn.cpp: Include string.h
6764 (parse_dn_part): Use qstrdup.
6765 * lang/qt/tests/t-support.h (getPassphrase): Use qstrdup.
6766
6767 Fix cmake configuration files for MacOS.
6768 + commit 2e661b9e1a9b50656a5c9646d7444a98477010c1
6769 * configure.ac: Set HAVE_MACOS_SYSTEM conditional.
6770 * lang/qt/src/Makefile.am,
6771 lang/cpp/src/Makefile.am,
6772 lang/qt/src/QGpgmeConfig.cmake.in.in,
6773 lang/cpp/src/GpgmeConfig.cmake.in.in: Use libsuffix again to
6774 distinguish between macos .dylib
6775
6776 2017-01-03 Justus Winter <justus@g10code.com>
6777
6778 python: Improve compatibility with Scheme tests.
6779 + commit b14419f68b3aaa90025e0e97151de7c3da7806fb
6780 * lang/python/tests/run-tests.py: Add stub --parallel option.
6781
6782 python: Add a switch '--quiet' to the test runner.
6783 + commit d0e91d28f63b74e53673902e675be8a54b6b90d3
6784 * lang/python/tests/run-tests.py: Add and honor a switch '--quiet'.
6785 This way we can use this script to run Python tests one by one without
6786 the noise, and the script will setup the necessary environment for us.
6787
6788 2017-01-02 Andre Heinecke <aheinecke@intevation.de>
6789
6790 qt: Update config sync doc / comment.
6791 + commit ececfd5de81f1851943be7b284b672d5b02aceb4
6792 * lang/qt/src/cryptoconfig.h (CryptoConfig::sync): Document
6793 that runtime option is always set.
6794 * lang/qt/Src/qgpgmenewcryptoconfig.cpp
6795 (QGpgMENewCryptoConfigComponent::sync): Remove outdated comment
6796 and warn on error.
6797
6798 core: Always use runtime for gpgconf changes.
6799 + commit 7103315829847163f1c6f52cad25d1ddb33358f0
6800 * src/engine-gpgconf.c (gpgconf_write): Add --runtime.
6801 * src/gpgme.h.in (gpgme_conf_opt_change): Document this
6802 behavior.
6803
6804 2017-01-01 Ben Kibbey <bjk@luxsci.net>
6805
6806 Fix gpg_addkey() to work with GPGME_CREATE_NOPASSWD as well.
6807 + commit a4b9f1a2b404fd8627d5ac567617510abd55d980
6808 * src/engine-gpg.c (gpg_addkey): Pass --batch to gpg when
6809 GPGME_CREATE_NOPASSWD is set to fix pinentry without loopback mode.
6810
6811 2016-12-27 Ben Kibbey <bjk@luxsci.net>
6812
6813 Fix GPGME_CREATE_NOPASSWD without pinentry loopback.
6814 + commit d83b8f0dc84d6cf7fe2e091bd1b103ceedfa3d6c
6815 * src/engine-gpg.c(gpg_createkey): Pass --batch to gpg when
6816 GPGME_CREATE_NOPASSWD is set.
6817
6818 2016-12-19 Raphael Kubo da Costa <rakuco@FreeBSD.org>
6819
6820 Qt: Make sure extended grep is used with '|'.
6821 + commit 211844f049d714cd4d5aab96347705cb0c209c5d
6822 * m4/qt.m4: Use grep -E when using the alternation character.
6823
6824 2016-12-16 Andre Heinecke <aheinecke@intevation.de>
6825
6826 cpp: Ensure that hasSecret is correct after update.
6827 + commit da5343a9d2c8c0ca6431162aac4bd5c73b4ae6dd
6828 * lang/cpp/src/key.cpp (Key::update): Check for
6829 a secret key first before listing public keys.
6830
6831 2016-12-15 Andre Heinecke <aheinecke@intevation.de>
6832
6833 cpp: Fix addrSpec for keys without email.
6834 + commit 85e05537e15346896a271d3f62bead9dd7e3f180
6835 * lang/cpp/src/key.cpp (UserID::addrSpec): Use uid->address instead
6836 of normalizing again.
6837 (&operator<<(std::ostream &, const UserID &): Print it.
6838
6839 cpp: Fix update of partial key in verifyresult.
6840 + commit 5673f3e54af535155893290a685b3afb44c7f58d
6841 * lang/cpp/src/verificationresult.cpp
6842 (Signature::key(bool,bool)): Don't update the returned copy
6843 but the actual key of the signature.
6844
6845 2016-12-07 Andre Heinecke <aheinecke@intevation.de>
6846
6847 Clarify what "checking on bit" means.
6848 + commit 7880335273382f05cbbe38aa965a566c4127ba6a
6849 * doc/gpgme.texi (gpgme_sigsum_t summary): Clarify what "you
6850 can check one bit means"
6851
6852 2016-12-05 Tobias Mueller <muelli@cryptobitch.de>
6853
6854 python: Try to be more helpful when given a string to encrypt().
6855 + commit 05896c210f7fa9ce7b97784a75e49dc4489e9252
6856 * lang/python/helpers.c (_gpg_obj2gpgme_data_t): Extended error
6857 message.
6858 * lang/python/tests/t-encrypt.py: Test for "encode" in error message.
6859
6860 python: Define a macro for wrapping fragile result objects.
6861 + commit fb7f4cb973abc9f5eb05eb240607be35c1be986c
6862 * lang/python/gpgme.i (wrapresult): New Macro.
6863
6864 2016-12-01 Tobias Mueller <muelli@cryptobitch.de>
6865
6866 python: Check "buffer" when writing to sys.stdout for python2 compat.
6867 + commit ae21d2705fc46725e1f9af1651b68d16155d1501
6868 * lang/python/tests/support.py (print_data): Add check for buffer.
6869
6870 python: Make Context have a repr method.
6871 + commit 154389f2a5e4c13081cf0624222aad29ee480b56
6872 * lang/python/gpg/core.py (Context.__repr__): New function.
6873
6874 python: Make Results have a nicer __repr__.
6875 + commit db2f6c1ca3d2ef228f4ca6653d594537622c8588
6876 * lang/python/gpg/results.py (Result.__str__): Renamed to '__repr__'
6877 ...
6878 * lang/python/gpg/results.py (Result.__repr__): ... and added fields.
6879
6880 2016-11-25 Justus Winter <justus@g10code.com>
6881
6882 python: Fix removing the TOFU database.
6883 + commit fd4d476214ae06e33f4a6dac534d3deca5cc6cd3
6884 * lang/python/Makefile.am (CLEANFILES): Move 'tofu.db'...
6885 * lang/python/tests/Makefile.am (CLEANFILES): ... here.
6886
6887 tests: Remove tofu.db.
6888 + commit 9b22f82afc5518961e4bea1fc516b79800e379a2
6889 * lang/python/Makefile.am (CLEANFILES): Add 'tofu.db'.
6890 * tests/gpg/Makefile.am (CLEANFILES): Likewise.
6891
6892 2016-11-17 Heiko Becker <heirecka@exherbo.org>
6893
6894 Remove a forgotten instance of @libsuffix@
6895 + commit 572c1aac107125ce62230251713349348373db5a
6896 * lang/cpp/src/GpgmeppConfig.cmake.in.in: Remove a forgotten
6897 instance of @libsuffix@.
6898
6899 2016-11-16 Werner Koch <wk@gnupg.org>
6900
6901 Release 1.8.0.
6902 + commit f06220b691e9711afdabaa19886244ae7724eed5
6903 * configure.ac: Set version to 1.8.0. Set LT version C28/A17/RO.
6904 Set CPP LT version to C9/A3/R0. Set Qt LT version to C8/A1/R0.
6905
6906 core: Do not leak the override session key to ps(1).
6907 + commit 9fc92a15bd0a30437a39d0eb28b6f40edc22e6e8
6908 * src/engine-gpg.c (struct engine_gpg): New field
6909 override_session_key.
6910 (gpg_release): Free that field.
6911 (gpg_decrypt): With gnupg 2.1.16 use --override-session-key-fd.
6912
6913 * tests/run-decrypt.c (main): Fix setting over the override key.
6914
6915 2016-11-16 Daniel Kahn Gillmor <dkg@fifthhorseman.net>
6916
6917 doc,tests: Require use of ctx_flag before use of session_key.
6918 + commit 573064742145aa5f9bf04baa88af918c0c4d5e12
6919 * doc/gpgme.texi: Document requirements of verifying that it is OK to
6920 use session_key.
6921 * tests/run-decrypt.c: Ensure that we fail if we're unable to access
6922 the session key, so that we do not violate the guidance above.
6923
6924
6925 Changed the description
6926
6927 -@code{gpgme_set_ctx_flag (ctx, "export-session-key")} returns
6928 -@code{GPG_ERR_NO_ERROR} or @code{gpgme_get_ctx_flag (ctx,
6929 -"export-session-key")} returns @code{"1"}.
6930 +@code{gpgme_set_ctx_flag (ctx, "export-session-key")} returns success
6931 +or @code{gpgme_get_ctx_flag (ctx, "export-session-key")} returns true
6932 +(non-empty string).
6933
6934 to get gpgme_get_ctx_flag for boolean values in sync with its own
6935 description.
6936
6937 Note that I don't agree with the above suggestion but it does not
6938 really harm to have it in the man page.
6939
6940 2016-11-15 Andre Heinecke <aheinecke@intevation.de>
6941
6942 qt, cpp: Add cmake config files for w32.
6943 + commit b2c07bd47bd608afa5cc819b60a7b5bb8c9dd96a
6944 * lang/cpp/src/GpgmeppConfig-w32.cmake.in.in
6945 lang/qt/src/QGpgmeConfig-w32.cmake.in.in: New.
6946 * lang/cpp/src/GpgmeppConfig.cmake.in.in,
6947 lang/qt/src/QGpgmeConfig.cmake.in.in: Remove libsuffix handling.
6948 * lang/cpp/src/Makefile.am,
6949 lang/qt/src/Makefile.am: Create / install w32 config files.
6950 * configure.ac: Configure them.
6951
6952 qt: Use new style connect in th..mixin.
6953 + commit 45abe6d142e314ba7099ad80b6365af171b06fec
6954 * lang/qt/src/threadedjobmixin.h
6955 (ThreadedJobMixin::lateInitialization): Use new style connect.
6956
6957 2016-11-15 Werner Koch <wk@gnupg.org>
6958
6959 core: Implement context flag "override-session-key".
6960 + commit 7659d42468b604db2936b021425683f407eba4a7
6961 * src/gpgme.c (gpgme_set_ctx_flag): Add flags "export-session-key" and
6962 "override-session-key".
6963 (gpgme_get_ctx_flag): Ditto.
6964 (gpgme_set_export_session_keys): Remove.
6965 (gpgme_get_export_session_keys): Remove.
6966 * src/gpgme.def, src/libgpgme.vers: Remove them.
6967 * src/context.h (struct gpgme_context): Add field
6968 override_session_key.
6969 * src/decrypt-verify.c (decrypt_verify_start): Pass
6970 override_session_key value to the engine.
6971 * src/decrypt.c (decrypt_start): Ditto.
6972 * src/engine.c (_gpgme_engine_op_decrypt): Ditto.
6973 (_gpgme_engine_op_decrypt_verify): Ditto.
6974 * src/engine-backend.h (struct engine_ops): Extend DECRYPT and
6975 DECRYPT_VERIFY_START with override_session_key.
6976 * src/engine-uiserver.c (_uiserver_decrypt): Add stub arg
6977 override_session_key.
6978 (uiserver_decrypt): Ditto.
6979 (uiserver_decrypt_verify): Ditto.
6980 * src/engine-gpgsm.c (gpgsm_decrypt): Ditto.
6981 * src/engine-gpg.c (gpg_decrypt): Add arg override_session_key and set
6982 corresponding gpg option.
6983
6984 * tests/run-decrypt.c (print_result): Print the session key if
6985 available.
6986 (main): Add options --export-session-key and --override-session-key.
6987
6988 core: Add public function gpgme_get_ctx_flag.
6989 + commit 3234b1bf1d6939772677d64f6c1e1820ec98e3cd
6990 * src/gpgme.h.in (gpgme_get_ctx_flag): New.
6991 * src/gpgme.c (gpgme_set_ctx_flag): Move down the file and add a trace
6992 statement.
6993 (gpgme_get_ctx_flag): New.
6994 * src/gpgme.def, src/libgpgme.vers: Add new interface.
6995
6996 2016-11-15 Daniel Kahn Gillmor <dkg@fifthhorseman.net>
6997
6998 core: Enable extraction of session keys.
6999 + commit cad1210fb8a7402cb29e607f8f9680005314120d
7000 * src/gpgme.c (gpgme_set_export_session_keys): New function.
7001 (gpgme_get_export_session_keys): New function.
7002 * src/gpgme.h.in (struct _gpgme_op_decrypt_result): Add session_key
7003 member.
7004 (gpgme_{set,get}_export_session_keys): Declare new functions.
7005 * src/libgpgme.vers, src/gpgme.def: Export new functions in shared
7006 object.
7007 * src/engine.h: (_gpgme_engine_op_decrypt) Add export_session_key
7008 parameter.
7009 (_gpgme_engine_op_decrypt_verify): Add export_session_key parameter.
7010 * src/engine-backend.h: (struct engine_ops): Change function
7011 pointer declarations to match.
7012 * src/context.h (struct gpgme_context): Add export_session_keys member.
7013 * src/decrypt.c (release_op_data): Free result.session_key.
7014 (_gpgme_decrypt_status_handler): Store a copy of the exported session
7015 key.
7016 (decrypt_start): Pass export_session_keys from the context.
7017 * src/decrypt-verify.c (decrypt_verify_start): Pass
7018 export_session_keys from context.
7019 * src/engine.c (_gpgme_engine_op_decrypt): Pass through
7020 export_session_key flag.
7021 (_gpgme_engine_op_decrypt_verify): Pass through export_session_key
7022 flag.
7023 * src/engine-gpg.c (gpg_decrypt): If export_session_key is set, add
7024 --export-session-key to argument list.
7025 * src/engine-gpgsm.c (gpgsm_decrypt): Ignore export_session_key for
7026 now, since gpgsm offers no such mechanism.
7027 * src/engine-uiserver.c (_uiserver_decrypt): If export_session_key is
7028 set, add --export-session-key flag to cmd.
7029 * doc/gpgme.texi: Document new functions and session_key member of
7030 decrypt_result_t.
7031 * doc/uiserver.texi: Add --export-session-key flag to DECRYPT command.
7032
7033 2016-11-14 Andre Heinecke <aheinecke@intevation.de>
7034
7035 qt: Add API to get the context for a Job.
7036 + commit 9451faa2ee333904cff59f92ab62918e13ab4b87
7037 * lang/qt/src/job.cpp,
7038 lang/qt/src/job.h (Job::context): New.
7039 * lang/qt/src/threadedjobmixin.cpp
7040 (ThreadedJobMixin::~ThreadedJobMixin): New. Unregister context.
7041 (ThreadedJobMixin::lateInitialization): Register context.
7042 * NEWS: Update for cpp and qt.
7043
7044 cpp: Add get / set Sender API.
7045 + commit d09a84eaf1e4f8c6c2e462995fa15c1a5690a6ce
7046 * cpp/src/context.cpp, cpp/src/context.h (Context::setSender),
7047 (Context::getSender): Add simple wrappers.
7048
7049 qt, cpp: Enable dll build for windows.
7050 + commit f3790ddf56558fb0a08af95fdbae979cd6589aad
7051 * lang/cpp/src/Makefile.am,
7052 lang/qt/src/Makefile.am: Add -no-undefined to LDFLAGS.
7053
7054 w32: Fix build of w32-glib.
7055 + commit b91c383386fe9eadd90afdb9bb1f8ec6c528173b
7056 * src/Makefile.am (main_sources): Remove system_components_not_extra.
7057 (libgpgme_la_SOURCES): Add system_components_not_extra.
7058 (libgpgme_glib_la_SOURCES): Remove duplicated ath files.
7059
7060 2016-11-11 Daniel Kahn Gillmor <dkg@fifthhorseman.net>
7061
7062 doc: Correct deftypefun for gpgme_op_decrypt_verify_start.
7063 + commit 16a30205064914eef578d84d07141b5d51d82838
7064 * doc/gpgme.texi: Documentationabout gpgme_op_decrypt_verify_start was
7065 stored under the name gpgme_op_decrypt_verify instead.
7066
7067 doc: Correct text about gpgme_cancel_async.
7068 + commit d50bdb269e86db36a443958e3bfc6816a44d468e
7069 * doc/gpgme.texi: Documentation about gpgme_cancel_async should refer
7070 to the correct name.
7071
7072 core: Non-zero values should set _armor, _textmode, and _online.
7073 + commit da035768bd9a880becee5d0d553dfe12299f96eb
7074 * src/gpgme.c (gpgme_set_armor, gpgme_set_textmode,
7075 gpgme_set_offline): Ensure that non-zero values actually set the
7076 appropriate internal bit.
7077
7078 2016-11-11 Alon Bar-Lev <alon.barlev@gmail.com>
7079
7080 tests,python: Atomic directory creation.
7081 + commit 41d8c7e51a8989be633b9ada124c58a01fae7d54
7082 * lang/python/tests/Makefile.am: Use MIDIR_P.
7083 * tests/gpg/Makefile.am: Ditto.
7084 * tests/gpgsm/Makefile.am: Ditto.
7085
7086 2016-11-10 Werner Koch <wk@gnupg.org>
7087
7088 core: Use better error code when using select with a too high fd.
7089 + commit 6e57379c8e37c0863f7d12819a5a7d0781bd76d2
7090 * src/posix-io.c (_gpgme_io_select): Return EMFILE instead of EBADF.
7091
7092 2016-11-10 Andre Heinecke <aheinecke@intevation.de>
7093
7094 tests: Reduce thread count in new thread tests.
7095 + commit ddd0a3cf90ac4b0a27ea610ebd7b9b8016ff43c4
7096 * gpg/t-thread-keylist-verify.c,
7097 gpg/t-thread-keylist.c: Reduce threads to 100
7098
7099 2016-11-10 Werner Koch <wk@gnupg.org>
7100
7101 core: Detect unreadable keyrings.
7102 + commit 2a39bd6c30d21c43c86645a7908ce6c57dad5e20
7103 * src/keylist.c (op_data_t): Add field keydb_search_err.
7104 (keylist_status_handler): Parse STATUS_ERROR into that var.
7105 (gpgme_op_keylist_next): Use that err instead of GPG_ERR_EOF.
7106
7107 2016-11-10 Andre Heinecke <aheinecke@intevation.de>
7108
7109 tests: Fix additional memleaks in thread tests.
7110 + commit d0030efb45ec8436dd84a9623d2f66b80c6b9e10
7111 * tests/gpg/t-thread-keylist-verify.c (start_verify): Release
7112 data.
7113 (start_keylist): Unref keys.
7114 * tests/gpg/t-thread-keylist.c (start_keylist): Unref keys.
7115
7116 tests: Improve new thread tests.
7117 + commit 4d5174e4a83dcd524f8085f6646145f81b50a02a
7118 * tests/gpg/t-thread-keylist-verify.c (start_keylist): Mark
7119 arg as unused. Release context.
7120 (start_verify): Ditto.
7121 (main): Mark args as unused.
7122 * tests/gpg/t-thread-keylist.c (start_keylist): Mark
7123 arg as unused. Release context.
7124 (main): Mark args as unused.
7125
7126 core: Use gpgrt locking for thread safeness.
7127 + commit 09b64554328445e99a8cc78fc34ea49c2ea2e7f9
7128 * configure.ac: Require libgpg-error 1.17. No longer
7129 check for pthread.
7130 * doc/gpgme.texi: Document removed neccessity for thread
7131 safe gpgme flavours.
7132 * src/sema.h (DEFINE_GLOBAL_LOCK),
7133 (DEFINE_STATIC_LOCK, INIT_LOCK, DECLARE_LOCK)
7134 (DESTROY_LOCK, LOCK, UNLOCK): Change to gpgrt equivalents.
7135 * src/posix-sema.c, src/w32-sema.c: Removed.
7136 * src/Makefile.am: Remove libpthread and
7137 Update accordingly.
7138 * src/ath.c, src/ath.h (ath_mutex_init)
7139 (ath_mutex_destroy, ath_mutex_lock, ath_mutex_unlock): Removed.
7140 * src/ath.h (ATH_MUTEX_INITIALIZER): Removed.
7141 * src/version.c (do_subsystem_inits): sema_subsystem_init is
7142 no longer required.
7143 * tests/gpg/Makefile.am: Add new threading tests.
7144 (t_thread1_LDADD, t_cancel_LDADD):
7145 Use just gpgme.
7146 * tests/gpg/t-thread-keylist-verify.c,
7147 tests/gpg/t-thread-keylist.c: New.
7148 * src/gpgme-config.in: Use -lgpgme for thread-model pthread.
7149
7150 2016-11-09 Justus Winter <justus@g10code.com>
7151
7152 python: Require at least GPGME 1.7 for out-of-tree builds.
7153 + commit f1f341062e24724e26928d893dd5769d3ccf5fa2
7154 * lang/python/setup.py.in: Bump required version to 1.7.
7155
7156 2016-11-09 Werner Koch <wk@gnupg.org>
7157
7158 w32: Better protect the IO-system's fd_table.
7159 + commit 10f2e1c30be651e74a03f4563a9f212d7416adb3
7160 * src/w32-io.c (fd_table_lock): New.
7161 (new_fd): Lock allocation of a new slot.
7162 (release_fd): Lock deallocation of a slot.
7163
7164 2016-11-04 Andre Heinecke <aheinecke@intevation.de>
7165
7166 cpp: Add API for swdb queries.
7167 + commit 3509cf2f9846360848b6c08d36cbca18373c935e
7168 * lang/cpp/src/swdbresult.cpp,
7169 lang/cpp/src/swdbresult.h (SwdbResult): New.
7170 * lang/cpp/src/Makefile.am: Update accordingly.
7171
7172 cpp: Add more EngineInfo::Version ctors.
7173 + commit 512de91f9a8da8f491e09653eb4b5bdd0a027198
7174 * lang/cpp/src/engineinfo.h
7175 (EngineInfo::Version::Version(const char*)),
7176 (EngineInfo::Version::Version()): New.
7177
7178 cpp: Don't include gpgme.h in tofuinfo header.
7179 + commit 4d3f33d0e9d960df2c34fb4d215987ab4d36111c
7180 * lang/cpp/src/tofuinfo.h: Don't include gpgme.h
7181
7182 cpp: Extend gpgmefw for tofuinfo and swdb query.
7183 + commit 23979b9be5a6028e3e9cafc3aff632bc720b81f2
7184 * lang/cpp/src/gpgmefw.h (gpgme_tofu_info_t)
7185 (gpgme_query_swdb_result_t): New forwards.
7186
7187 2016-11-04 Werner Koch <wk@gnupg.org>
7188
7189 w32: Fix locating gpgconf on 64 bit systems.
7190 + commit df08a0ca3f029b06b7e3a6bd63330df5cb96585a
7191 * src/w32-util.c (find_program_at_standard_place): Use access to check
7192 whether the binary is at CSIDL_PROGRAM_FILES before testing
7193 CSIDL_PROGRAM_FILESX86.
7194
7195 2016-11-03 Werner Koch <wk@gnupg.org>
7196
7197 core: Add gpgme_op_query_swdb and helper.
7198 + commit aad94cb7c313d4501bed748f48830cbb93c67e20
7199 * src/gpgme.h.in (gpgme_query_swdb_result_t): New.
7200 (gpgme_op_query_swdb): New.
7201 (gpgme_op_query_swdb_result): New.
7202 * src/libgpgme.vers, src/gpgme.def: Add the two new functions.
7203 * src/queryswdb.c: New.
7204 * src/Makefile.am (main_sources): Add new file.
7205 * src/context.h (OPDATA_QUERY_SWDB): New.
7206 * src/engine-backend.h (struct engine_ops): Add field 'query_swdb'.
7207 Adjust all initializer.
7208 * src/engine.c (_gpgme_engine_op_query_swdb): New.
7209 * src/engine-gpgconf.c (parse_swdb_line): New.
7210 (gpgconf_query_swdb): New.
7211 (_gpgme_engine_ops_gpgconf): Register that function.
7212
7213 * src/util.h (GPG_ERR_TOO_OLD): Define for older libgpg-error.
7214 (GPG_ERR_ENGINE_TOO_OLD): Ditto.
7215
7216 * tests/run-swdb.c: New.
7217 * tests/Makefile.am (noinst_PROGRAMS): Add new debug tool.
7218
7219 2016-11-03 Andre Heinecke <aheinecke@intevation.de>
7220
7221 qt: Change license of export / version header.
7222 + commit 34a4e8017be452e8ead6b9c2da84be1ec7929cae
7223 * lang/qt/src/qgpgme_export.h,
7224 lang/qt/src/qgpgme_version.h: Change license to GPLv2+
7225
7226 2016-11-03 Werner Koch <wk@gnupg.org>
7227
7228 core: Make use of --homedir in gpgconf.
7229 + commit 0c2038c0043c1e79547b55e79c3d3e267dae801c
7230 * src/engine-gpgconf.c (struct engine_gpgconf): Add field 'version'.
7231 (have_gpgconf_version): New.
7232 (gpgconf_release): Free VERSION.
7233 (gpgconf_new): Set VERSION.
7234 (gpgconf_read, gpgconf_write): Use --homedir with recent gnupg.
7235
7236 2016-11-02 Andras Mantia <andras@kdab.com>
7237
7238 qt: Fix build with g++ 4.8.x.
7239 + commit b4658f6a1110bb0b54bd5dfc9df8e8b390e38d61
7240 * lang/qt/src/defaultkeygenerationjob.cpp
7241 (DefaultKeyGenerationJob::start): Explicitly connect pointer
7242 in the QPointer.
7243
7244 2016-11-02 Andre Heinecke <aheinecke@intevation.de>
7245
7246 qt, cpp: Fix versioning in cmake config and header.
7247 + commit bf9aa0ccf7b0165aa3a1af2bdb18daca7c02ce74
7248 * configure.ac (VERSION_MAJOR, VERSION_MINOR, VERSION_MICRO): New
7249 subst variables for the version header.
7250 * lang/cpp/src/GpgmeppConfigVersion.cmake.in,
7251 lang/cpp/src/gpgmepp_version.h.in,
7252 lang/qt/src/QGpgmeConfigVersion.cmake.in,
7253 lang/qt/src/qgpgme_version.h.in: Use new variables.
7254
7255 qt: Install cmake config into qgpgme subdir.
7256 + commit b5c4d56cfdcafade3467be100fca6f1c89ecab73
7257 * lang/qt/src/Makefile.am: Install cmake config file in qgpgme subdir.
7258
7259 qt: Require gpgmepp from cmake config script.
7260 + commit 4149194d2e2f2f4d142926ba4d4efbd336b543f2
7261 * lang/qt/src/QGpgmeConfig.cmake.in.in: Require cpp.
7262
7263 qt, cpp: Add all generated files to cleanfiles.
7264 + commit 8486f213423311174ebff5cba74127cbd9bb3c2a
7265 * cpp/src/Makefile.am (CLEANFILES),
7266 qt/src/Makefile.am (CLEANFILES): Add all generated files
7267 to cleanfiles.
7268
7269 2016-11-01 Andre Heinecke <aheinecke@intevation.de>
7270
7271 qt: Add Distinguished Name parser from libkleo.
7272 + commit 627c5deed84b4481710b6c0de06b26e886679bbe
7273 * lang/qt/src/dn.cpp (DN, DN::Attribute): New public API.
7274 * lang/qt/src/dn.h: New.
7275 * lang/qt/src/Makefile.am: Update accordingly.
7276
7277 qt, cpp: Install version headers in subdirs.
7278 + commit 567123de21247cab05762d799400739a12eb67ae
7279 * lang/cpp/src/Makefile.am,
7280 lang/qt/src/Makefile.am: Install version headers in include
7281 subdirs.
7282
7283 2016-10-31 Justus Winter <justus@g10code.com>
7284
7285 python: Use vanity modules for constants in tests and examples.
7286 + commit 4b3264345084a0c9bf9f97fb233df700d7608e66
7287 * lang/python/gpg/constants/sig/notation.py: New file.
7288 * lang/python/gpg/constants/sig/__init__.py: Import new module.
7289
7290 * lang/python/examples/assuan.py: Use more specific module for
7291 constants, e.g. 'protocol.ASSUAN' instead of 'PROTOCOL_ASSUAN'.
7292 * lang/python/examples/testCMSgetkey.py: Likewise.
7293 * lang/python/tests/initial.py: Likewise.
7294 * lang/python/tests/t-callbacks.py: Likewise.
7295 * lang/python/tests/t-decrypt-verify.py: Likewise.
7296 * lang/python/tests/t-decrypt.py: Likewise.
7297 * lang/python/tests/t-edit.py: Likewise.
7298 * lang/python/tests/t-encrypt-large.py: Likewise.
7299 * lang/python/tests/t-encrypt-sign.py: Likewise.
7300 * lang/python/tests/t-encrypt-sym.py: Likewise.
7301 * lang/python/tests/t-encrypt.py: Likewise.
7302 * lang/python/tests/t-export.py: Likewise.
7303 * lang/python/tests/t-file-name.py: Likewise.
7304 * lang/python/tests/t-idiomatic.py: Likewise.
7305 * lang/python/tests/t-import.py: Likewise.
7306 * lang/python/tests/t-keylist.py: Likewise.
7307 * lang/python/tests/t-protocol-assuan.py: Likewise.
7308 * lang/python/tests/t-sig-notation.py: Likewise.
7309 * lang/python/tests/t-sign.py: Likewise.
7310 * lang/python/tests/t-signers.py: Likewise.
7311 * lang/python/tests/t-trustlist.py: Likewise.
7312 * lang/python/tests/t-verify.py: Likewise.
7313 * lang/python/tests/t-wait.py: Likewise.
7314
7315 python: Import the topmost module in tests and examples.
7316 + commit 20dc37a0e7e1531b0e568a6ec29b1c2d18de59c3
7317 * examples/verifydetails.py: Only import the topmost module 'gpg' and
7318 update the code accordingly.
7319 * tests/support.py: Likewise.
7320 * tests/t-callbacks.py: Likewise.
7321 * tests/t-data.py: Likewise.
7322 * tests/t-decrypt-verify.py: Likewise.
7323 * tests/t-decrypt.py: Likewise.
7324 * tests/t-edit.py: Likewise.
7325 * tests/t-encrypt-large.py: Likewise.
7326 * tests/t-encrypt-sign.py: Likewise.
7327 * tests/t-encrypt-sym.py: Likewise.
7328 * tests/t-encrypt.py: Likewise.
7329 * tests/t-export.py: Likewise.
7330 * tests/t-file-name.py: Likewise.
7331 * tests/t-import.py: Likewise.
7332 * tests/t-keylist.py: Likewise.
7333 * tests/t-sig-notation.py: Likewise.
7334 * tests/t-sign.py: Likewise.
7335 * tests/t-signers.py: Likewise.
7336 * tests/t-trustlist.py: Likewise.
7337 * tests/t-verify.py: Likewise.
7338 * tests/t-wait.py: Likewise.
7339 * tests/t-wrapper.py: Likewise.
7340
7341 python: Improve constants module.
7342 + commit 70b7064e5c4f3eff9c296c00156724bc0cdaa64f
7343 * lang/python/gpg/constants/__init__.py: Import all modules below
7344 'constants/'. Interface hygiene: delete 'util'.
7345 * lang/python/gpg/constants/data/encoding.py: Delete 'util'.
7346 * lang/python/gpg/constants/event.py: Likewise.
7347 * lang/python/gpg/constants/import.py: Likewise.
7348 * lang/python/gpg/constants/keylist/mode.py: Likewise.
7349 * lang/python/gpg/constants/md.py: Likewise.
7350 * lang/python/gpg/constants/pk.py: Likewise.
7351 * lang/python/gpg/constants/protocol.py: Likewise.
7352 * lang/python/gpg/constants/sig/mode.py: Likewise.
7353 * lang/python/gpg/constants/sigsum.py: Likewise.
7354 * lang/python/gpg/constants/validity.py: Likewise.
7355 * lang/python/gpg/errors.py: Likewise.
7356
7357 2016-10-31 Daniel Kahn Gillmor <dkg@fifthhorseman.net>
7358
7359 python: Rename Python module from PyME to gpg.
7360 + commit 2fac017618a76882605125b05ff1f7393fe99860
7361 This follows weeks of discussion on the gnupg-devel mailing list.
7362 Hopefully it will make it easier for people using Python to use GnuPG
7363 in the future.
7364
7365 2016-10-25 Werner Koch <wk@gnupg.org>
7366
7367 core: New API functions gpgme_set_sender, gpgme_get_sender.
7368 + commit b8159eadb5636cd9d93ee60c41e75d5978927870
7369 * src/context.h (struct gpgme_context): Add field 'sender'.
7370 * src/gpgme.c: Include mbox-util.h.
7371 (gpgme_release): Free SENDER.
7372 (gpgme_set_sender): New.
7373 (gpgme_get_sender): New.
7374 * src/gpgme.def, src/libgpgme.vers: Add new functions.
7375
7376 * src/engine-gpg.c (append_args_from_sender): New.
7377 (gpg_encrypt_sign, gpg_sign): Call append_args_from_sender.
7378 (gpg_verify): Add arg CTX. Call append_args_from_sender/
7379 * src/engine-gpgsm.c (gpgsm_verify): Add dummy arg CTX.
7380 * src/engine-uiserver.c (uiserver_verify): Ditto.
7381 * src/engine.c (_gpgme_engine_op_verify): Add arg CTX.
7382 * src/verify.c (verify_start): Pass CTX to engine function.
7383
7384 * tests/gpg/t-verify.c (main): Add some checks for new functions.
7385 * tests/run-sign.c (main): Add option --sender.
7386 * tests/run-verify.c (main): Ditto.
7387
7388 2016-10-19 Andre Heinecke <aheinecke@intevation.de>
7389
7390 qt: Improve WKSPublishJob apidoc.
7391 + commit 26cbba3c9cb04a68b95f3a6000ac9bd93fe76dd7
7392 * lang/qt/src/wkspublishjob.h: Improve doc.
7393
7394 2016-10-18 Werner Koch <wk@gnupg.org>
7395
7396 Release 1.7.1.
7397 + commit 2c490cdb3e50761c498357982445ebb01f18dc1e
7398 * configure.ac: Set LT version to C27/A16/R0. Note that the LT
7399 versions for cpp and Qt have already been updated.
7400
7401 2016-10-14 Werner Koch <wk@gnupg.org>
7402
7403 tests: Make t-cancel more portable.
7404 + commit 05e8e1260baa5cbc6f1d6e387e642c1f6c188d44
7405 * tests/gpg/t-cancel.c: Include sys/time.h and protect sys/select.h.
7406
7407 python: Call ln(1) in a portable way.
7408 + commit c6cab5a2bd6e7ed226c6c3f0b78b3f48b47db74c
7409 * lang/python/Makefile.am: Specify target dir for ln.
7410
7411 2016-10-14 Andre Heinecke <aheinecke@intevation.de>
7412
7413 cpp: Fix init of string from null.
7414 + commit 1e8c34a9192956bb2fe96a7a6a76ff59de8d1c0c
7415 * lang/cpp/src/key.cpp (UserID::addrSpecFromString): Check return
7416 value before creating the string.
7417
7418 2016-10-13 Justus Winter <justus@g10code.com>
7419
7420 python: Make 'get_key' more idiomatic.
7421 + commit f526d0e22e8b881ccbca66b46a0e1b68bbc4cd6b
7422 * lang/python/pyme/core.py (Context.get_key): Raise errors.KeyNotFound
7423 if the key is not found. This error is both a KeyError for idiomatic
7424 error handling as well as a GPGMEError so we don't break existing
7425 code.
7426 * lang/python/pyme/errors.py (KeyNotFound): New class.
7427 * lang/python/tests/support.py (no_such_key): New variable.
7428 * lang/python/tests/t-keylist.py: Test the new behavior.
7429
7430 python: Return public keys by default.
7431 + commit 1e6073ffa98db2c265adbcf0dbbe70c067a910f0
7432 * lang/python/pyme/core.py (Core.get_key): Return public keys by
7433 default, improve docstring.
7434 * lang/python/examples/testCMSgetkey.py: Update example.
7435 * lang/python/examples/verifydetails.py: Likewise.
7436
7437 python: Fix example.
7438 + commit cabd4c74e52c8983d624b6877cddc7f8912eff04
7439 * lang/python/examples/inter-edit.py: Fix example.
7440
7441 2016-10-13 Andre Heinecke <aheinecke@intevation.de>
7442
7443 cpp: Fix version number.
7444 + commit 56302e7bb6a694a7c570f389f9a7883efdfdaf42
7445 * configure.ac (LIBGPGMEPP_LT_CURRENT): Bump.
7446
7447 qt, cpp: Fix permissions of Config files.
7448 + commit a274c7590aa0e38d682d5177904983632f471cb0
7449 * lang/cpp/src/Makefile.am,
7450 lang/qt/src/Makefile.am: Do not install config files as executable.
7451
7452 qt: Install SpecialJob.
7453 + commit 2538c12fa0728f4113f83f69f8c8ec9efb163872
7454 * lang/qt/src/Makefile.am: Install SpecialJob
7455 * NEWS: mention it.
7456
7457 qt, cpp: Fix expected targets in Config files.
7458 + commit a3cf30f89418c8a6bc9456533d95ba7fc2a33a4c
7459 * lang/cpp/src/GpgmeppConfig.cmake.in.in,
7460 lang/qt/src/QGpgmeConfig.cmake.in.in: Remove KF5 variants.
7461
7462 2016-10-11 Daniel Vrátil <dvratil@kde.org>
7463
7464 qt: Add missing implementation of MultiDeleteJob.
7465 + commit e5a35af5573651b96a90ef4a537b040333595472
7466 * lang/qt/src/multideletejob.h: Fix include, cryptobackend.h is now
7467 called protocol.h
7468 * lang/qt/src/multideletejob.cpp: New file.
7469 * lang/qt/src/Makefile.am: Add multideletejob.cpp.
7470
7471 qt: Install abstractimportjob.h.
7472 + commit ce7385caabb57e5435695cc912acffe2815770b7
7473 * lang/cpp/src/Makefile.am: Install abstractimportjob.h since it's
7474 included from importjob.h
7475
7476 2016-10-11 Andre Heinecke <aheinecke@intevation.de>
7477
7478 cpp: Add API for gpgme_addrspec_from_uid.
7479 + commit 54f94b14e2bb9b38ffd89f509406bfbd012da632
7480 * lang/cpp/src/key.cpp (UserID::addrSpecFromString): New static
7481 function to expose addrspec from uid.
7482 (UserID::addrSpec): New. Get addrSpec from Userid.
7483 * NEWS: Update accordingly.
7484
7485 2016-10-10 Andre Heinecke <aheinecke@intevation.de>
7486
7487 Add NEWS for cpp and qt, bump cpp version.
7488 + commit e7ceb83a5969581f5e1b0b6a69d18a93b594f6d4
7489 * NEWS: Add entries for cpp and qt changes.
7490 * configure.ac: Bump cpp version because of added API.
7491
7492 Add convenience function to get key from sig.
7493 + commit b6b820bff14a9aa8fa67755b246c90062ffdba14
7494 * lang/cpp/src/verificationresult.cpp (Signature::key(bool, bool)):
7495 New. Can be used to search / update the key associcated with this
7496 signature.
7497
7498 cpp: Return null key if the signature had no key.
7499 + commit 34e9dfee81958160f6604849b63369ae4de67417
7500 * lang/cpp/src/verificationresult.cpp (Private): Add null key
7501 to list when there is no key associated with the signature.
7502
7503 qt: Add simple verify test.
7504 + commit f131a5e72b0881cafcc3b0a91da8f050af2684a6
7505 * lang/qt/tests/t-verify.cpp: New. Small test if a signature
7506 returns a key with fingerprint.
7507 * lang/qt/tests/Makefile.am: Add new test.
7508
7509 core: Fix w32 crash in find_program_in_dir.
7510 + commit 098a2da15b1b46b145add623dec0488abd39bd74
7511 * src/w32-util.c (find_program_in_dir): Fix call to _gpgme_strconcat.
7512
7513 2016-10-08 Werner Koch <wk@gnupg.org>
7514
7515 core: New helper function gpgme_addrspec_from_uid.
7516 + commit 0ea2ff67900c243fff9f689658dcb23d1c0961cd
7517 * src/gpgme.h.in: Add gpgme_addrspec_from_uid.
7518 * src/gpgme.def, src/libgpgme.vers: Ditto.
7519 * src/mbox-util.c (gpgme_addrspec_from_uid): New.
7520
7521 2016-10-06 Justus Winter <justus@g10code.com>
7522
7523 Add missing includes.
7524 + commit 857592041b8355cd58a7068c9f2446cf8dc0968f
7525 * lang/cpp/src/key.cpp: Include <strings.h> for 'strcasecmp'.
7526 * tests/gpg/t-cancel.c: Include <sys/select.h> for 'fd_set' and
7527 friends.
7528
7529 2016-10-05 Andre Heinecke <aheinecke@intevation.de>
7530
7531 cpp: Bump Revision.
7532 + commit 8033cff441e9ea185531290273ec343f3402703c
7533 * configure.ac (LIBGPGMEPP_LT_REVISION): Bump revision.
7534
7535 qt: Fix spelling error in WKSPublishJob.
7536 + commit 88c7e84ede4b6017cac3a396e8c87c2bd3a2bf58
7537 * src/qgpgmewkspublishjob.cpp,
7538 src/qgpgmewkspublishjob.h,
7539 src/wkspublishjob.h,
7540 tests/t-wkspublish.cpp: Fix spelling of received.
7541 * src/configure.ac (LIBQGPGME_LT_CURRENT): Bump
7542 accordingly.
7543
7544 qt: Disable tests that require a password for 2.0.
7545 + commit 24779c9e2301bd17fd328d65b0383e1cbc944119
7546 * lang/qt/tests/t-encrypt.cpp: Disable tests that require
7547 a password for 2.0.
7548
7549 Add warning flags for c++ compiler, too.
7550 + commit 4984cc93db6b55f2420a9abd844c074a5fb4ed0c
7551 * configure.ac (CXXFLAGS): Add Wall and Wextra.
7552
7553 qt: Fix unused variable warnings.
7554 + commit 9d1df990386010e0581b542a76a4f5d85d8d11b5
7555 * qt/src/qgpgmenewcryptoconfig.cpp,
7556 qt/src/threadedjobmixin.h,
7557 qt/tests/t-encrypt.cpp,
7558 qt/tests/t-support.h,
7559 qt/tests/t-wkspublish.cpp: Mark additional variables as unused.
7560
7561 cpp: Add support for URL Data encodings.
7562 + commit 370ee1aa802ec6a4030a39b2df7d24a0c47e5ac7
7563 * lang/cpp/src/data.h (Data::Encoding): Extend enum.
7564 * lang/cpp/src/data.cpp (Data::encoding),
7565 Data::setEncoding): Support new values.
7566
7567 cpp: Fix gcc diagnostic push / pop.
7568 + commit 39dd7585f5a7d801942efcb375d6dd46d01d2968
7569 * lang/cpp/src/context.cpp: Fix pragmas.
7570
7571 qt: Disable t-wkspublish test.
7572 + commit 52a91ccc6a25425d4374b77040e30efb6816940f
7573 * lang/qt/tests/Makefile.am (TESTS): Remove t-wkspublish.
7574
7575 2016-09-30 Alon Bar-Lev <alon.barlev@gmail.com>
7576
7577 python: Link 'data.h' and 'config.h' into the builddir.
7578 + commit 453ab9d24ca48c9e01d21e1454d6b08de1938b76
7579 * lang/python/Makefile.am: Link to the files.
7580 * lang/python/gpgme.i: Update path.
7581 * lang/python/setup.py.in: Do not add the top builddir to the include
7582 path.
7583
7584 python: Add 'prepare' target.
7585 + commit 68fb8371a1dd5f4e05e50b1733f9996d139cbf38
7586 * lang/python/Makefile.am: Add 'prepare' target.
7587
7588 2016-09-29 Andre Heinecke <aheinecke@intevation.de>
7589
7590 cpp, qt: Handle modified includedir installation.
7591 + commit 7302791c0d308c3284ac24a743035d27a0c0b6ba
7592 * lang/cpp/src/Makefile.am,
7593 lang/qt/src/Makefile.am: Replace resolved_includedir.
7594 * lang/cpp/src/GpgmeppConfig.cmake.in.in,
7595 lang/qt/src/QGpgmeConfig.cmake.in.in: Use resolved_includedir
7596 instead of relying on a common installation prefix.
7597
7598 2016-09-27 Daniel Kahn Gillmor <dkg@fifthhorseman.net>
7599
7600 Clarify licensing.
7601 + commit 145392f07f42ef23ebcb83a917b4d8e2964e7aa8
7602 * src/b64dec.c, src/mbox-util.c, src/mbox-util.h: These three files
7603 are explicitly licensed under LGPL, but their comments suggest that
7604 details about the warranty can be found in the GPL. Adjust comments
7605 to refer to the correct license.
7606
7607 2016-09-27 Justus Winter <justus@g10code.com>
7608
7609 tests: Fix check for gpg versions not reporting the critical flag.
7610 + commit a423603f80d9eb653ce9c171662db2175d7456f5
7611 * lang/python/tests/t-sig-notation.py: Also blacklist 2.0.x.
7612 * tests/gpg/t-sig-notation.c: Likewise.
7613
7614 2016-09-26 Justus Winter <justus@g10code.com>
7615
7616 python: Correctly translate to size_t.
7617 + commit c38fabfea0601ed5f61e27e0bf43f8e74c67ce2a
7618 * lang/python/gpgme.i: Correctly translate Python number to size_t.
7619
7620 python: Correctly translate off_t.
7621 + commit 1d80e7374aa3150306c86afe7acdc8e8eb05143f
7622 * lang/python/gpgme.i: Improve int/long translations, correctly handle
7623 off_t with large file support.
7624
7625 python: Include 'config.h'.
7626 + commit 3703a4723899d7563937b4b99f5bbe4dd8d3dfed
7627 * lang/python/Makefile.am: Pass 'top_builddir' to 'setup.py'.
7628 * lang/python/gpgme.i: Include 'config.h'.
7629 * lang/python/helpers.c: Likewise.
7630 * lang/python/helpers.h: Likewise.
7631 * lang/python/setup.py.in: Make sure that 'config.h' can be found.
7632
7633 2016-09-23 Daniel Kahn Gillmor <dkg@fifthhorseman.net>
7634
7635 Fix spelling.
7636 + commit 95f38652f696476b38a040644eac40b4511d2b32
7637 * lang/cpp/src/context.h, lang/qt/src/protocol.h,
7638 lang/qt/src/wkspublishjob.h, src/data-identify.c, src/engine-gpg.c:
7639 minor spelling cleanup.
7640
7641 move some file encodings to UTF-8.
7642 + commit a11450eb048df79a3f2b00ebef6d7cab07ad5054
7643 * THANKS, doc/ChangeLog-2011, tests/ChangeLog-2011,
7644 tests/gpg/geheim.txt: convert from iso 8859-1 to utf-8.
7645 * lang/qt/src/dataprovider.cpp, lang/qt/src/qgpgmerefreshkeysjob.cpp,
7646 lang/qt/src/qgpgmesecretkeyexportjob.cpp: replace U+FFFD REPLACEMENT
7647 CHARACTER with proper U+00E4 LATIN SMALL LETTER A WITH DIAERESIS.
7648
7649 2016-09-23 Andre Heinecke <aheinecke@intevation.de>
7650
7651 tests: Check data after decryption.
7652 + commit 9b38817968b90caf73f123255fe427691e82fec4
7653 * tests/gpgsm/t-decrypt.c (main): Check data matches expected.
7654 Only print result if it does not.
7655
7656 cpp, qt: Include config.h.
7657 + commit a142f187b7ddb2728ec3e1743da4a0c4538ab40a
7658 lang/cpp/src/callbacks.cpp,
7659 lang/cpp/src/configuration.cpp,
7660 lang/cpp/src/context.cpp,
7661 lang/cpp/src/context_glib.cpp,
7662 lang/cpp/src/context_qt.cpp,
7663 lang/cpp/src/context_vanilla.cpp,
7664 lang/cpp/src/data.cpp,
7665 lang/cpp/src/decryptionresult.cpp,
7666 lang/cpp/src/defaultassuantransaction.cpp,
7667 lang/cpp/src/editinteractor.cpp,
7668 lang/cpp/src/encryptionresult.cpp,
7669 lang/cpp/src/engineinfo.cpp,
7670 lang/cpp/src/eventloopinteractor.cpp,
7671 lang/cpp/src/exception.cpp,
7672 lang/cpp/src/gpgadduserideditinteractor.cpp,
7673 lang/cpp/src/gpgagentgetinfoassuantransaction.cpp,
7674 lang/cpp/src/gpgsetexpirytimeeditinteractor.cpp,
7675 lang/cpp/src/gpgsetownertrusteditinteractor.cpp,
7676 lang/cpp/src/gpgsignkeyeditinteractor.cpp,
7677 lang/cpp/src/importresult.cpp,
7678 lang/cpp/src/key.cpp,
7679 lang/cpp/src/keygenerationresult.cpp,
7680 lang/cpp/src/keylistresult.cpp,
7681 lang/cpp/src/scdgetinfoassuantransaction.cpp,
7682 lang/cpp/src/signingresult.cpp,
7683 lang/cpp/src/tofuinfo.cpp,
7684 lang/cpp/src/trustitem.cpp,
7685 lang/cpp/src/verificationresult.cpp,
7686 lang/cpp/src/vfsmountresult.cpp,
7687 lang/qt/src/dataprovider.cpp,
7688 lang/qt/src/defaultkeygenerationjob.cpp,
7689 lang/qt/src/gpgme_backend_debug.cpp,
7690 lang/qt/src/job.cpp,
7691 lang/qt/src/qgpgmeadduseridjob.cpp,
7692 lang/qt/src/qgpgmebackend.cpp,
7693 lang/qt/src/qgpgmechangeexpiryjob.cpp,
7694 lang/qt/src/qgpgmechangeownertrustjob.cpp,
7695 lang/qt/src/qgpgmechangepasswdjob.cpp,
7696 lang/qt/src/qgpgmedecryptjob.cpp,
7697 lang/qt/src/qgpgmedecryptverifyjob.cpp,
7698 lang/qt/src/qgpgmedeletejob.cpp,
7699 lang/qt/src/qgpgmedownloadjob.cpp,
7700 lang/qt/src/qgpgmeencryptjob.cpp,
7701 lang/qt/src/qgpgmeexportjob.cpp,
7702 lang/qt/src/qgpgmeimportfromkeyserverjob.cpp,
7703 lang/qt/src/qgpgmeimportjob.cpp,
7704 lang/qt/src/qgpgmekeyformailboxjob.cpp,
7705 lang/qt/src/qgpgmekeygenerationjob.cpp,
7706 lang/qt/src/qgpgmekeylistjob.cpp,
7707 lang/qt/src/qgpgmelistallkeysjob.cpp,
7708 lang/qt/src/qgpgmenewcryptoconfig.cpp,
7709 lang/qt/src/qgpgmerefreshkeysjob.cpp,
7710 lang/qt/src/qgpgmesecretkeyexportjob.cpp,
7711 lang/qt/src/qgpgmesignencryptjob.cpp,
7712 lang/qt/src/qgpgmesignjob.cpp,
7713 lang/qt/src/qgpgmesignkeyjob.cpp,
7714 lang/qt/src/qgpgmetofupolicyjob.cpp,
7715 lang/qt/src/qgpgmeverifydetachedjob.cpp,
7716 lang/qt/src/qgpgmeverifyopaquejob.cpp,
7717 lang/qt/src/qgpgmewkspublishjob.cpp,
7718 lang/qt/src/threadedjobmixin.cpp,
7719 lang/qt/tests/run-keyformailboxjob.cpp,
7720 lang/qt/tests/t-encrypt.cpp,
7721 lang/qt/tests/t-keylist.cpp,
7722 lang/qt/tests/t-keylocate.cpp,
7723 lang/qt/tests/t-ownertrust.cpp,
7724 lang/qt/tests/t-support.cpp,
7725 lang/qt/tests/t-tofuinfo.cpp,
7726 lang/qt/tests/t-wkspublish.cpp: Include config.h
7727
7728 2016-09-22 Werner Koch <wk@gnupg.org>
7729
7730 w32: Silence some warnings about unused parameters.
7731 + commit 583aafdd6870a7fb12a34d90993fd0f46928592c
7732 * src/assuan-support.c (my_recvmsg, my_sendmsg, my_waitpid)
7733 (my_socketpair) [W32]: Mark unused parameters.
7734
7735 core: Fix error checking in _gpgme_mkstemp.
7736 + commit c447b64d5989845a2ae2cf8fb30a92d2a0bd05af
7737 * src/w32-util.c (_gpgme_mkstemp): Fix error checking.
7738 (dlopen): Mark FLAGS as unused.
7739
7740 core: New helper function _gpgme_strconcat.
7741 + commit dc39552d01094eff2bef5f9fcd1c16928909d20e
7742 * src/conversion.c: Include stdarg.h.
7743 (do_strconcat): New.
7744 (_gpgme_strconcat): New.
7745 * src/util.h: Provide fallback for GPGRT_ATTR_SENTINEL.
7746 (_gpgme_strconcat): New with sentinel.
7747
7748 * src/w32-util.c (find_program_in_dir): Replace malloc and stpcpy by
7749 _gpgme_strconcat.
7750 (find_program_at_standard_place): Ditto.
7751 (_gpgme_set_default_gpg_name): Ditto.
7752 (_gpgme_set_default_gpgconf_name): Ditto.
7753 (_gpgme_mkstemp): Ditto.
7754 (_gpgme_set_override_inst_dir): Repalce malloc and strcpy by strdup.
7755
7756 2016-09-22 Daiki Ueno <ueno@gnu.org>
7757
7758 tests: Add test for cancellation.
7759 + commit 7a6543c2dfeef874a34086c8f3eeb1dbdf1ce822
7760 * tests/gpg/t-cancel.c: New file.
7761 * tests/gpg/Makefile.am (tests_skipped): New variable, default to
7762 t-genkey and t-cancel.
7763 (noinst_PROGRAMS): Add $(tests_skipped).
7764 * tests/gpg/.gitignore: Add t-cancel.
7765
7766 gpg: Add option --exit-on-status-write-error.
7767 + commit dee56820cabde60c43c9bf8281b8d411cb2ad644
7768 * src/engine-gpg.c (gpg_new): Add --exit-on-status-write-error if the
7769 engine version is latest enough to expect progress output from gpg.
7770
7771 tests: Fix select usage in t-eventloop.
7772 + commit d0cf6b15121c9b42dbcef243e5ce30c9996a449c
7773 * tests/gpg/t-eventloop.c (do_select): Supply timeout value to select.
7774
7775 doc: Fix minor errors in I/O callback example.
7776 + commit 0aaf1dedd629446ab991fff76581b4b58e4872a0
7777 * gpgme.texi (I/O Callback Example): Fix typos, add timeout to select,
7778 and initialize mutex as recursive.
7779
7780 2016-09-21 Andreas Stieger <astieger@suse.com>
7781
7782 cpp: Avoid missing returns in non-void functions.
7783 + commit ae324b51ffa338b891387bff2657d60c1fd3ae40
7784 * lang/cpp/src/context.cpp
7785 (Context::signaturePolicyURL): return nullptr on default
7786 (to_tofu_policy_t): add default case for unknown
7787 * lang/cpp/src/key.cpp
7788 (Key::primaryFingerprint): return nullptr on default
7789 * lang/cpp/src/tofuinfo.cpp
7790 (GpgME::TofuInfo::policy): add default case for unknown
7791
7792 2016-09-21 Werner Koch <wk@gnupg.org>
7793
7794 Release 1.7.0.
7795 + commit e7ab75379feadcc2894d9d4cde0f16ad0044780d
7796 * configure.ac: Bump LT vesion to C26/A15/R0.
7797
7798 python: Create install dir.
7799 + commit 936928632b02d7cc2ac645543bb03e4c94285f05
7800 * lang/python/Makefile.am (install-exec-local): Create dir.
7801
7802 2016-09-20 Werner Koch <wk@gnupg.org>
7803
7804 tests: Make "make -j distcheck" work in Python.
7805 + commit 0763357e39d140b068ee9838a5da08be75426d9f
7806 * lang/python/Makefile.am (SUBDIRS): Make current dir fist.
7807 * lang/python/tests/Makefile.am (xcheck): Depend on pubring-stamp.
7808 (CLEANFILES): Remove private-keys-v1.d/gpg-sample.stamp.
7809 (check-local): Remove.
7810 (initial.py): Remove dependency.
7811 (./pubring-stamp): Depend on conf files and the
7812 private-keys-v1.d/gpg-sample.stamp file. Also replace use of
7813 basename.
7814
7815 tests: Use --batch for gpg import.
7816 + commit bfb6890ded99f040fe8ecf910f927a136e4acfda
7817 * lang/python/tests/Makefile.am (./pubring-stamp): Use --batch with
7818 GPG to avoid Pinentries during import when using GnuPG >= 2.1.
7819 Replace touch by echo.
7820 * tests/gpg/Makefile.am (./pubring-stamp): Ditto.
7821
7822 tests: Improve portability.
7823 + commit 29207bcd3bf4de7264197db6758130375b16d9bb
7824 * lang/qt/tests/Makefile.am (clean-local): Avoid non-portable "--"
7825 * lang/python/Makefile.am (copystamp): Use well defined cp -R instead
7826 of cp -r.
7827
7828 build: Create swdb file.
7829 + commit df7e92b4d585b7dce919c5a3aab9524f6e183cbe
7830 * Makefile.am (distcheck-hook): New.
7831 (dist-hook): s/VERSION/PACKAGE_VERSION/ for future compatibility.
7832
7833 2016-09-20 Justus Winter <justus@g10code.com>
7834
7835 python: Fix detection of Python available versions.
7836 + commit ef99b74eb12463db7da5806a316e3b55f8097c5c
7837 * configure.ac: Test for 'PYTHON_VERSION' as 'AX_PYTHON_DEVEL' sets
7838 'PYTHON' but clears the former.
7839
7840 2016-09-19 Andre Heinecke <aheinecke@intevation.de>
7841
7842 core: Remove moc artifact.
7843 + commit e3c35147d6adb754d4eb0781a54af2a8f0803663
7844 * src/moc_kdpipeiodevice.cpp: Removed.
7845 * src/Makefile.am (EXTRA_DIST): Remove moc_kdpipeiodevice.cpp.
7846
7847 qt: Improve README.
7848 + commit 3f92253e0e476d77aa11463bc51ade367985855f
7849 * lang/qt/README: Add more content. Clearly note license difference.
7850
7851 cpp: Improve README.
7852 + commit 66febf9942c321d30b8770f6aa6cd6ce2315d34f
7853 * lang/cpp/README: Add more content, move license to bottom.
7854
7855 qt: Add debug output for testTofuPolicy.
7856 + commit d438cb59a068b6f076e6bd70d3a2c46bc05ccb5c
7857 * lang/qt/tests/t-tofuinfo.cpp (testTofuPolicy): Add
7858 debug output.
7859
7860 2016-09-19 Ben Kibbey <bjk@luxsci.net>
7861
7862 core: Check for GPG_TTY as well as DISPLAY.
7863 + commit 9d62bacac7826cb73bb18fac7268f3d2df662d7b
7864 * src/engine-assuan.c (llass_new): Update --ttyname from GPG_TTY.
7865 * src/engine-g13.c (g13_new): Ditto.
7866 * src/engine-gpg.c (gpg_new): Ditto.
7867 * src/engine-uiserver.c (uiserver_new): Ditto.
7868 * src/engine-gpgsm.c (gpgsm_new): Ditto.
7869
7870 2016-09-16 Andre Heinecke <aheinecke@intevation.de>
7871
7872 qt: Add test for setting tofu policy.
7873 + commit a8ff34fc3025af4079cede7f8f9fdf40189b8638
7874 * lang/qt/tests/t-tofuinfo.cpp (testTofuPolicy): New.
7875
7876 qt: Add job for tofupolicy.
7877 + commit 77aecfb5c97cea1a99f1ff627748cf71767bac5c
7878 * lang/qt/src/job.cpp, lang/qt/src/protocol.h,
7879 lang/qt/src/protocol_p.h: Register job.
7880 * lang/qt/src/qgpgmetofupolicyjob.cpp,
7881 lang/qt/src/qgpgmetofupolicyjob.h,
7882 lang/qt/src/tofupolicyjob.h: New.
7883 * lang/qt/src/Makefile.am: Update accordingly.
7884
7885 cpp: Add support for gpgme_op_tofu_policy.
7886 + commit 4d384d7bfef044094695271576ca233625bb520a
7887 * src/context.cpp, src/context.h (setTofuPolicy, setTofuPolicyStart):
7888 New.
7889
7890 cpp: Declare sizes of tofu-info enums.
7891 + commit 32baac8cdec6fee51bdfc3c55cb2ee141e086df4
7892 * lang/cpp/src/tofuinfo.h (Policy, Validity): Declare sizes.
7893
7894 2016-09-16 Werner Koch <wk@gnupg.org>
7895
7896 cpp: Silence use of deprecated function warning.
7897 + commit bd24db313d860ae46d37776dcf1067455d1b9880
7898 * lang/cpp/src/context.cpp (GpgME): Use pragma to silence wardning.
7899
7900 core: Document the version a function has been deprecated.
7901 + commit b615316168f4d33311909d4056b236d13c69488f
7902 * src/gpgme.h.in (_GPGME_DEPRECATED): Change to take versio numbers
7903 for documentation. Change all places.
7904 (_GPGME_DEPRECATED_OUTSIDE_GPGME): Ditto.
7905 * lang/python/gpgme-h-clean.py: Adjust RE.
7906
7907 core: Map GPGME_STATUS_EOF to the empty string.
7908 + commit 3d6340e8c59ee11a95e03fb213ad9b228be47833
7909 * src/status-table.c (_gpgme_status_to_string): Return "" for EOF.
7910 * src/engine-gpg.c (read_status): Ditto. The old code accidently used
7911 GPGME_STATUS_EOF which is the integer 0 and neiteyr NULL nor a string.
7912
7913 2016-09-16 Justus Winter <justus@g10code.com>
7914 Kai Michaelis <kai@gnupg.org>
7915
7916 python: Release the GIL during calls into GPGME.
7917 + commit 6af7bee076bacbc0cdfe7de342bce43ca5671b3b
7918 * lang/python/helpers.c (pyme_raise_callback_exception): Re-acquire
7919 the Global Interpreter Lock.
7920 (pyPassphraseCb, pyme_set_passphrase_cb, pyProgressCb,
7921 pyme_set_progress_cb, pyStatusCb, pyme_set_status_cb,
7922 _pyme_interact_cb, pyDataReadCb, pyDataWriteCb, pyDataSeekCb,
7923 pyDataReleaseCb, pyme_data_new_from_cbs, _pyme_assuan_data_cb,
7924 _pyme_assuan_inquire_cb, _pyme_assuan_status_cb): Likewise.
7925 * lang/python/setup.py.in: Make 'gpgme-config' emit the correct
7926 cflags, and SWIG generate code to release the GIL before calling us.
7927
7928 2016-09-16 Justus Winter <justus@g10code.com>
7929
7930 python: Adapt to 'gpgme_op_interact'.
7931 + commit a458e7fe2006d92bd5a838e2747fb66bbac4b1b8
7932 * lang/python/examples/inter-edit.py: Update example.
7933 * lang/python/gpgme.i (gpgme_edit_cb_t): Turn into
7934 'gpgme_interact_cb_t'.
7935 * lang/python/helpers.c (_pyme_edit_cb): Turn into
7936 '_pyme_interact_cb_t'.
7937 * lang/python/private.h (_pyme_edit_cb): Likewise.
7938 * lang/python/pyme/constants/__init__.py: Replace numeric status codes
7939 with the keywords.
7940 * lang/python/pyme/constants/status.py: Likewise.
7941 * lang/python/pyme/core.py (Context.interact): New method.
7942 (Context.op_edit): Deprecate, update docstring, implement using
7943 Context.interact.
7944 * lang/python/tests/t-edit.py: Test both interfaces.
7945
7946 2016-09-16 Werner Koch <wk@gnupg.org>
7947
7948 core: Remove stub to try implementing gpg < 2.1 support for createkey.
7949 + commit 268e251b802cc7c19831722d7e3a52777a0f412f
7950 * src/engine-gpg.c (gpg_createkey_legacy): Remove.
7951 (gpg_genkey): Remove call.
7952
7953 core: Fix setting og the verification result.
7954 + commit 1f9641dd0fb08e4a3df3b507b974a3f78887920f
7955 * src/verify.c (parse_new_sig): Proberly handle the RC in an ERRSIG
7956 status.
7957
7958 2016-09-15 Werner Koch <wk@gnupg.org>
7959
7960 core: New function gpgme_op_interact, deprecate gpgme_op_edit.
7961 + commit ed1f2700a73060e2615697491ea9e49ded4293e6
7962 * src/gpgme.h.in (gpgme_interact_cb_t): New.
7963 (GPGME_INTERACT_CARD): New.
7964 (gpgme_op_interact_start, gpgme_op_interact): New.
7965 * src/libgpgme.vers, src/gpgme.def: Add new functions.
7966 * src/edit.c (op_data_t): Rename fnc to fnc_old and change users. Add
7967 fnc.
7968 (edit_status_handler): Call old or new callback.
7969 (command_handler): Ditto.
7970 (interact_start): New.
7971 (gpgme_op_interact_start, gpgme_op_interact_start): New.
7972 * src/status-table.c (_gpgme_status_to_string): New.
7973
7974 * tests/gpg/t-edit.c (edit_fnc): Rename to interact_fnc and change
7975 type of STATUS. Use gpgme_io_writen.
7976 (main): s/gpgme_op_edit/gpgme_op_interact/.
7977
7978 core: Minor change of the gpgme_op_edit semantics.
7979 + commit d2b72d3cc19fe2a7d548dac38d55e069e0c9a904
7980 * src/edit.c (command_handler): Handle special error code.
7981 * src/engine-gpg.c (read_status): Ditto.
7982 * src/engine-gpgsm.c (status_handler): Ditto.
7983 * src/engine-uiserver.c (status_handler): Ditto.
7984 * src/util.h (GPG_ERR_FALSE): Define for older libgpg-error versions.
7985
7986 2016-09-14 Werner Koch <wk@gnupg.org>
7987
7988 core: New function gpgme_op_tofu_policy.
7989 + commit 7c37719d79345a665ec2f4570e3f257033b58c62
7990 * src/gpgme.h.in (gpgme_op_tofu_policy_start): New function.
7991 (gpgme_op_tofu_policy): New function.
7992 * src/libgpgme.vers, src/gpgme.def: Add new functions.
7993 * src/tofupolicy.c: New.
7994 * src/Makefile.am (main_sources): Add that file.
7995 * src/context.h (ctx_op_data_id_t): Add OPDATA_TOFU_POLICY.
7996 * src/engine.c (_gpgme_engine_op_tofu_policy): New.
7997 * src/engine-backend.h (engine_ops): Add funcptr 'tofu_policy'.
7998 Adjust all engine initializations.
7999 * src/engine-gpg.c (gpg_tofu_policy): New.
8000 (_gpgme_engine_ops_gpg): Register this function.
8001
8002 * tests/run-tofu.c: New.
8003 * tests/Makefile.am (noinst_PROGRAMS): Add it.
8004
8005 core: Defer implementation of gpgme_op_createkey with gpg < 2.1.
8006 + commit d79dcb78d867aaf55b85aea117c4ae6035a1531a
8007 * src/engine-gpg.c (gpg_createkey_legacy): Mark unused variables.
8008
8009 core: New function gpgme_op_keysign.
8010 + commit bfd2bd0ccc9fed8284ef932ac788d4ca0dba0336
8011 * src/gpgme.h.in (gpgme_op_keysign_start, gpgme_op_keysign): New.
8012 (GPGME_KEYSIGN_LOCAL): New.
8013 (GPGME_KEYSIGN_LFSEP): New.
8014 (GPGME_KEYSIGN_NOEXPIRE): New.
8015 * src/context.h (ctx_op_data_id_t): Add OPDATA_KEYSIGN.
8016 * src/keysign.c: New.
8017 * src/Makefile.am (main_sources): Add keysig.
8018 * src/libgpgme.vers, src/gpgme.def: Add gpgme_op_keysign_start.
8019 * src/engine.c (_gpgme_engine_op_keysign): New.
8020 * src/engine-backend.h (engine_ops): Add 'keysign' and adjust all
8021 engine initializers.
8022 * src/engine-gpg.c (_add_arg): Add args PREFIX and ARGLEN and change
8023 callers to set them.
8024 (add_arg_pfx): New.
8025 (add_arg_len): New.
8026 (gpg_keysign): New.
8027 (_gpgme_engine_ops_gpg): Set keysign to gpg_keysign.
8028 * tests/run-keysign.c: New.
8029 * tests/Makefile.am (noinst_PROGRAMS): Add run-keysign.
8030
8031 2016-09-14 Justus Winter <justus@g10code.com>
8032
8033 python: Clarify that we support Python 2.7 too.
8034 + commit 594c3b8b052e60b6be77ed532fe46549133a9726
8035 * lang/python/README: Use 'Python' instead of 'Python 3'.
8036 * lang/python/pyme/version.py.in: Likewise.
8037 * lang/python/setup.py.in: Add classifier for 2.7, drop 3 only.
8038
8039 python: Trim imports.
8040 + commit 4011b2b2a1050f0837e989da3db9b5459e71ccd6
8041 * lang/python/examples/encrypt-to-all.py: Drop unused import of 'os'.
8042 * lang/python/examples/signverify.py: Likewise.
8043 * lang/python/examples/simple.py: Likewise.
8044 * lang/python/examples/verifydetails.py: Likewise.
8045
8046 python: Improve error handling.
8047 + commit 44d18200d5ffe8691e18d93ce6c534660702b982
8048 * lang/python/gpgme.i (gpgme_engine_info_t): Improve error handling.
8049
8050 python: Adapt to TOFU changes.
8051 + commit f6cd560ca74248dd719a37cfb34386148727a92d
8052 * lang/python/pyme/results.py (TofuInfo): Drop.
8053 (Signature): The TOFU information moved to the key.
8054
8055 python: Improve build system integration.
8056 + commit 99db351288d5bb075f124ef10e540e25bc36b70a
8057 * configure.ac: Try to compile a Python module for each version.
8058 * m4/m4_ax_swig_python.m4: Drop unused file.
8059
8060 2016-09-14 Werner Koch <wk@gnupg.org>
8061
8062 core: New function gpgme_op_revuid.
8063 + commit c943380b7a2cc9b32f81c22224fc6f92e8ea8469
8064 * src/engine.h (GENKEY_EXTRAFLAG_REVOKE): New.
8065 * src/genkey.c (adduid_start): Rename to addrevuid_start. Add arg
8066 REVOKE and pass it as extraflags. Remove useless ARMOR extraflag.
8067 Adjust callers.
8068 (gpgme_op_revuid_start, gpgme_op_revuid): New.
8069 * src/gpgme.def, src/libgpgme.vers: Add them.
8070
8071 * tests/run-genkey.c: Add option --revuid.
8072
8073 core: Change a parameter for the engine's genkey function.
8074 + commit c22f5884c50557f54704f4becc5a8c1ee0749547
8075 * src/engine.h (GENKEY_EXTRAFLAG_ARMOR): New.
8076 * src/engine-backend.h (engine_ops): Rename USE_ARMOR in genkey to
8077 EXTRAFLAGS.
8078 * src/engine.c (_gpgme_engine_op_genkey): Ditto.
8079 * src/engine-gpg.c (gpg_createkey_from_param): Ditto and test the
8080 flags.
8081 (gpg_createkey_legacy): Ditto.
8082 (gpg_createkey): Ditto.
8083 (gpg_addkey): Ditto.
8084 (gpg_genkey): Ditto.
8085
8086 2016-09-14 Justus Winter <justus@g10code.com>
8087
8088 python: Build for both Python2 and Python3.
8089 + commit 24b4162d908b48a92660020be0b776c2874fb05a
8090 * NEWS: Update.
8091 * configure.ac: Check for multiple Python versions.
8092 * lang/python/Makefile.am: Build and install for both Python versions.
8093 * lang/python/tests/Makefile.am: Test both versions.
8094 * lang/python/tests/run-tests.py: New test runner.
8095
8096 2016-09-14 Werner Koch <wk@gnupg.org>
8097
8098 core: New function gpgme_op_adduid.
8099 + commit 3210f3e4725afc5ee2810b9a1361918ec9c42ca4
8100 * src/genkey.c: Replace most error codes GPG_ERR_INV_VALUE by
8101 GPG_ERR_INV_ARG.
8102 (struct op_data_t): Add field UIDMODE.
8103 (genkey_status_handler): Use UIDMODE.
8104 (adduid_start): New.
8105 (gpgme_op_adduid_start, gpgme_op_adduid): New.
8106 * src/gpgme.def, src/libgpgme.vers: Add them.
8107 * tests/run-genkey.c: Add option --adduid.
8108
8109 core: New function gpgme_op_createsubkey.
8110 + commit cc353701b0fde4c811ddc1e9a91b852dfe9f4e06
8111 * src/genkey.c (createsubkey_start): New.
8112 (gpgme_op_createsubkey_start, gpgme_op_createsubkey): New.
8113 * src/gpgme.def, src/libgpgme.vers: Add them.
8114 * src/engine-gpg.c (gpg_createkey): Factor some code out to ...
8115 (gpg_add_algo_usage_expire): new.
8116 (gpg_addkey): Implement.
8117 * tests/run-genkey.c: Add option --addkey.
8118
8119 2016-09-13 Werner Koch <wk@gnupg.org>
8120
8121 core: Use const char * where appropriate.
8122 + commit 51f9acbca935c5287d9a28205037b0923e9a65f5
8123
8124
8125 core: Cast away the common const problem with spawn and argv.
8126 + commit 686a065f639ef006e33c164e282d787bcd169754
8127 * src/dirinfo.c (read_gpgconf_dirs): Use a cast to assignd to ARGV.
8128
8129 core: Fix condition-always-true warning in trace macro.
8130 + commit 3009e6162eaa39adaaf45f06fc4f88c7153360ee
8131 * src/data-compat.c (old_user_read): Cast AMT.
8132
8133 core: Mark unused function args.
8134 + commit 4a200146b602349eebb4eac2e102357748d7ba5b
8135
8136
8137 tests: Mark lots of unused vars and fix const mismatches.
8138 + commit 9064eebdc05e7149c2c8cc899fbd7874622fb769
8139
8140
8141 tests: Use gpgme_io_write in passhrase callbacks.
8142 + commit 4491ef0a9a15d3b307d1ade37ff620ef9fcb2478
8143 * tests/gpg/t-support.h (passphrase_cb): Use gpgme_io_write.
8144 * tests/gpgsm/t-support.h (passphrase_cb): Ditto.
8145 * tests/run-support.h (passphrase_cb): Ditto.
8146
8147 core: Do not pass const char* to functions taking a char*.
8148 + commit 3972f476e00f27d41a0aeabcb66600905b6737bd
8149
8150
8151 build: Use more compiler warnings.
8152 + commit 0510591c36591816a6ff3f87a04451001b7ed46f
8153 * configure.ac: Add useful compiler warnings.
8154
8155 core: New function gpgme_op_create_key.
8156 + commit 00c501d296da287bec2fd6a0e3912abfbde90a98
8157 * src/engine-backend.h (engine_ops): Change prototype of genkey.
8158 * src/engine-gpgsm.c (gpgsm_genkey): Change accordingly.
8159 * src/engine-gpg.c (gpg_genkey): Change it to a dispatcher.
8160 (gpg_createkey_from_param): New for the old functionality.
8161 (gpg_createkey_legacy): New. Stub for now.
8162 (gpg_createkey): New.
8163 (gpg_addkey): New. Stub for now.
8164 (gpg_adduid): New. Stub for now.
8165 * src/engine.c (_gpgme_engine_op_genkey): Add new args.
8166 * src/genkey.c (op_data_t): Add field ERROR_CODE.
8167 (parse_error): New.
8168 (genkey_status_handler): Parse ERROR status line.
8169 (genkey_start): Use NULL/0 for the new args.
8170 (createkey_start): New.
8171 (gpgme_op_createkey_start, gpgme_op_createkey): New.
8172 * src/gpgme.def, src/libgpgme.vers: Add gpgme_op_createkey_start and
8173 gpgme_op_createkey.
8174 * src/gpgme.h.in (_gpgme_op_genkey_result): Add fields PUBKEY and
8175 SECKEY.
8176 (GPGME_CREATE_SIGN): New.
8177 (GPGME_CREATE_ENCR): New.
8178 (GPGME_CREATE_CERT): New.
8179 (GPGME_CREATE_AUTH): New.
8180 (GPGME_CREATE_NOPASSWD): New.
8181 (GPGME_CREATE_SELFSIGNED): New.
8182 (GPGME_CREATE_NOSTORE): New.
8183 (GPGME_CREATE_WANTPUB): New.
8184 (GPGME_CREATE_WANTSEC): New.
8185 (GPGME_CREATE_FORCE): New.
8186
8187 * tests/run-genkey.c: New.
8188 * tests/Makefile.am (noinst_PROGRAMS): Add it.
8189
8190 2016-09-13 Justus Winter <justus@g10code.com>
8191
8192 python: Handle slight differences between Python 2 and 3.
8193 + commit 70a3be27a509a1b5ea7372bee93d83c5019427ff
8194 * lang/python/helpers.c (pyDataWriteCb): Handle Python integers being
8195 returned on Python 2.
8196 (pyDataSeekCb): Likewise.
8197 * lang/python/pyme/core.py (Data.__init__): Fix testing for string
8198 argument.
8199 (Data.new_from_filepart): Likewise.
8200 * lang/python/pyme/util.py (is_a_string): New function.
8201 * lang/python/tests/t-encrypt-large.py (read_cb): Force evaluation of
8202 generator.
8203 * lang/python/tests/t-idiomatic.py: Partly skip test on Python 2.
8204 * lang/python/tests/t-verify.py (check_result): Here, the difference
8205 between 2 and 3 really matters. We cannot change the char *
8206 conversion in Python 2 without breaking all existing applications, and
8207 using bytestrings in Python 3 would be very inconvenient.
8208
8209 python: Fix types and error handling.
8210 + commit 4abff7d750a1abf5b388a4c87ec321fc3e4aed10
8211 * lang/python/helpers.c (_pyme_edit_cb): Drop the const.
8212 (_pyme_assuan_{data,inquire,status}_cb): Fix error handling.
8213
8214 2016-09-12 Justus Winter <justus@g10code.com>
8215
8216 python: Avoid Python3-only form of super().
8217 + commit c0c50318bd8ef6c8119ad9fdc53ad9087ded4c32
8218 * lang/python/pyme/core.py (GpgmeWrapper.__repr__): Use more
8219 compatible form of super.
8220 (GpgmeWrapper.__setattr__): Likewise.
8221 (Context.__init__): Likewise.
8222 (Data.__init__): Likewise.
8223
8224 python: Make type translation compatible with Python 2.7.
8225 + commit 1d5bbbf1185a0d1f82750f10b69dad3999f7ef4c
8226 * lang/python/gpgme.i: Avoid functions not available in Python 2.7.
8227 * lang/python/helpers.c: Likewise.
8228
8229 python: Avoid hardcoding the interpreter.
8230 + commit 70999d81618b3d3ae6b61a43be2ce703ad284275
8231 * lang/python/setup.py.in: Avoid hardcoding the interpreter.
8232
8233 python: Do not rely on subprocess.DEVNULL.
8234 + commit b48b852a846129914d6c63ec7b47388cdcf6acca
8235 * lang/python/setup.py.in: Do not rely on subprocess.DEVNULL.
8236
8237 tests: Fix version comparison.
8238 + commit dfd99ab50c3bc1d6745b6f682791e4885e8d8a9a
8239 * tests/gpg/t-sig-notation.c: Fix version comparison.
8240
8241 tests: Make signature notation test compatible with older GnuPGs.
8242 + commit a0263ad282d350b548cbbc27e96f196d9217d040
8243 * lang/python/tests/t-sig-notation.py: Only check the critical flag
8244 when GnuPG >= 2.1.13 is used.
8245 * tests/gpg/t-sig-notation.c: Likewise.
8246
8247 2016-09-12 Andre Heinecke <aheinecke@intevation.de>
8248
8249 qt: Fix some includes.
8250 + commit d480f6b701894f78f3f4016d69c0e3b87939930b
8251 * lang/qt/src/qgpgmekeyformailboxjob.cpp: Explicitly include
8252 QStringList.
8253 * lang/qt/tests/t-support.h, lang/qt/tests/t-support.cpp: Move
8254 includes into impl. Explicitly include QDir.
8255
8256 2016-09-12 Justus Winter <justus@g10code.com>
8257
8258 qt: Fix tofu test.
8259 + commit 7b9e6ea376d04fb4694ed22369abaae92ce3ec86
8260 * lang/qt/tests/t-tofuinfo.cpp: Adjust member names.
8261
8262 2016-09-07 Werner Koch <wk@gnupg.org>
8263
8264 core,cpp: Extend the TOFU information.
8265 + commit 120b14783c0312d782dc08ce4949a6209d5ccc7b
8266 * src/gpgme.h.in (struct _gpeme_tofu_info): Rename FIRSTSEEN to
8267 SIGNFIRST and LASTSEEN to SIGNLAST. Add ENCRFIST and ENCRLAST.
8268 * src/keylist.c (parse_tfs_record): Parse to ENCRFIRST and ENCRLAST.
8269 * src/verify.c (parse_tofu_stats): Ditto.
8270 * tests/run-keylist.c (main): Adjust and print encrypt stats.
8271 * tests/run-verify.c (print_result): Ditto.
8272
8273 * lang/cpp/src/tofuinfo.h (TofuInfo): Rename firstSeen to signFirst
8274 and lastSeen to signLast. Add encrCount, encrFirst and encrLast.
8275 * lang/cpp/src/tofuinfo.cpp (encrCount, encrFirst, encrLast): New.
8276
8277 2016-09-06 Andre Heinecke <aheinecke@intevation.de>
8278
8279 tests: Set passphrase cb in t-encrypt-mixed.
8280 + commit 151da95470f174dc770b2111890ad650a1697276
8281 * tests/gpg/t-encrypt-mixed.c (main): Set passphrase cb.
8282
8283 core: Check for gpg version for loopback mode.
8284 + commit e8cb143c8337b122a6790f769ddb0a97c4baccd3
8285 * src/engine-gpg.c (build_argv): Check for version 2.1.0
8286 before adding pinentry-mode.
8287
8288 core: Fix passphrase cb for mixed sym encrypt.
8289 + commit efe7e11dfa2ff911b477ce748292e53e7a50347e
8290 * src/encrypt.c (encrypt_start): Handle SYMMETRIC flag.
8291 * src/encrypt-sign.c (encrypt_sign_start): Ditto.
8292
8293 2016-09-05 Andre Heinecke <aheinecke@intevation.de>
8294
8295 qt: Clarify comment and strings in tofuinfo test.
8296 + commit ab3fbdbd05cfd1b039bb5b1eb3941fbb4bcf6307
8297 * lang/qt/tests/t-tofuinfo.cpp (testTofuSignCount)
8298 (testTofuKeyList): Ensure distinct messages. Clarify comment.
8299
8300 qt: Enable signcount checks in tofuinfo test.
8301 + commit 965b842fad6ec6fbd8902f3a32119abcd0728fe4
8302 * lang/qt/tests/t-tofuinfo.cpp: Enable checks for signcount.
8303
8304 cpp: Add convenience update function to a key.
8305 + commit 79439e76cc5b302222874a1f9e93665cb12801ac
8306 * lang/cpp/src/key.cpp (Key::update): New.
8307 * lang/cpp/src/key.h: Update accordingly.
8308
8309 cpp: Add ostream operators for key and uid.
8310 + commit 444d85ace0dddff5c511961927052d9946035b00
8311 * lang/cpp/src/key.cpp (Key, UserID): Add ostream operator.
8312 * lang/cpp/src/key.h: Update accordingly.
8313
8314 qt: Add missing header redirection.
8315 + commit 8a39a595eb802b80a6ad756b0ee8939e9733e86f
8316 * lang/qt/src/keyformailboxjob.h,
8317 lang/qt/src/qgpgmekeyformailboxjob.h: Fix includes.
8318
8319 qt: Include cpp before core directory.
8320 + commit e3a4697894cc5a93c295e84bb10c743bc7fdc87e
8321 * lang/qt/src/Makefile.am (AM_CPPFLAGS): Include cpp before core.
8322
8323 2016-08-25 Andre Heinecke <aheinecke@intevation.de>
8324
8325 qt: Fix 2.1 t-support copy.
8326 + commit 05570bd3d05fb3d7934c1122f0d5ef5fdbaa7974
8327 * lang/qt/src/t-support.cpp (copyKeyring): Fix seckey copy.
8328
8329 qt: Fix and extend TofuInfo test.
8330 + commit 9fc72e928bf2cf239bd3b0facdf33ceb1acc975b
8331 * lang/qt/tests/t-tofuinfo.cpp: Delete executed jobs.
8332 (testTofuKeyList): New.
8333 (testSupported): Activate for 2.1.16
8334 (signAndVerify): Disable sigcount tests.
8335
8336 qt: Fix keyring copy in tests.
8337 + commit c875f07e559a7c53fc173b4c3f9f5715f3fbb8f8
8338 * lang/qt/test/t-encrypt.cpp,
8339 lang/qt/test/t-tofuinfo.cpp: Assert on copy failure.
8340 * lang/qt/test/t-support.cpp (copyKeyrings): Fix path.
8341
8342 qt: Add generic flag support for keylistjobs.
8343 + commit 4e37d0bb1255558ce20e1a5ac83a2d06a37f8b0b
8344 * lang/qt/src/keylistjob.h (addMode): New.
8345 * lang/qt/src/qgpgmekeylistjob.h (addMode): New.
8346 * lang/qt/src/qgpgmekeylistjob.cpp (addMode: New.
8347
8348 qt: Ensure that current src dir is included first.
8349 + commit 5a92cc96da183ebb19867a2a910f53ba41e76ae9
8350 * lang/qt/src/Makefile.am: Reorder include directives.
8351
8352 cpp: Add WithTofu Keylist Mode.
8353 + commit f311b92ceaedb12c9e00a722b6b47bbe6b50871e
8354 * lang/cpp/src/context.cpp: Handle WithTofu.
8355 * lang/cpp/src/global.h (KeyListMode): Add WithTofu.
8356 * lang/cpp/src/util.h (add_to_gpgme_keylist_mode_t): Handle WithTofu.
8357
8358 qt: Fix tofuinfo test when gpg is gpg2.
8359 + commit 053e6e0a7b8ea38ad9d4160c84814867bbb9fcf6
8360 * lang/qt/tests/t-support.cpp (QGpgMETest::copyKeyrings): New helper.
8361 * lang/qt/tests/t-support.h: Declare.
8362 * lang/qt/tests/t-encrypt.cpp: use it
8363 * lang/qt/tests/t-tofuinbo.cpp: ditto.
8364
8365 qt: Remove unused variable in test.
8366 + commit f08904b810d77d87c66d9c7875c4e7f2bde5dd92
8367 * t-wkspublish.cpp (testWKSPublishCreate): Remove context.
8368
8369 qt: Add test for wkspublishjob.
8370 + commit df04b232b8897f030534f8c3fbc87064edf8ae7d
8371 * lang/qt/tests/t-wkspublish.cpp: New.
8372 * lang/qt/tests/Makefile.am: Update accordingly.
8373
8374 qt: Add WKSPublishJob.
8375 + commit 94420b05775122b25885c66ac67f77c59d01644d
8376 * lang/qt/src/Makefile.am: Add new files.
8377 * lang/qt/src/job.cpp: Include moc / subclass stub.
8378 * lang/qt/src/protocol.h: Add virtual for new job.
8379 * lang/qt/src/protocol_p.h: Add job.
8380 * lang/qt/src/wkspublishjob.h: Interface for WKSPublishJob.
8381 * lang/qt/src/qgpgmewkspublishjob.cpp,
8382 lang/qt/src/qgpgmewkspublishjob.h: New.
8383
8384 Cpp: Change firstSeen / lastSeen return values.
8385 + commit de7b67f9b2e6bd43a036fa0bcc6a8ca4f5b10986
8386 * lang/cpp/src/tofuinfo.cpp,
8387 lang/cpp/src/tofuinfo.h (TofuInfo::firstSeen, TofuInfo::lastSeen):
8388 Change return values to unsigned long and update doc.
8389
8390 Cpp: Add wrapper for gpgme_get_dirinfo.
8391 + commit abcd9a283ee8f81870622c8e1dbdc7aad38c0358
8392 * lang/cpp/src/context.cpp (dirInfo): New.
8393 * lang/cpp/src/global.h (dirInfo): New.
8394
8395 Cpp: Add support for spawn engine.
8396 + commit ece8b02a839d6fc566fea7b6e59fabff164f6cf5
8397 * lang/cpp/src/context.cpp (Context::spawn, Context::spawnAsync): New.
8398 * lang/cpp/src/context.h: Add prototypes.
8399 (SpawnFlags): New.
8400 * lang/cpp/src/global.h (SpawnEngine): Added.
8401
8402 2016-08-25 Werner Koch <wk@gnupg.org>
8403
8404 core: Add GPGME_KEYLIST_MODE_WITH_TOFU.
8405 + commit 9ee103957e4136337b92d238283f8ef30fd4a7c5
8406 * src/gpgme.h.in (GPGME_KEYLIST_MODE_WITH_TOFU): New.
8407 * src/engine-gpg.c (gpg_keylist_build_options): Use that.
8408 * src/keylist.c: Include limits.h.
8409 (parse_tfs_record): New.
8410 (keylist_colon_handler): Support TFS record.
8411 * tests/run-keylist.c: Include time.h.
8412 (isotimestr): New.
8413 (main): Add option --tofu. Print TOFU info.
8414 * tests/run-verify.c: Include time.h.
8415 (isotimestr): New.
8416 (print_result): Use isotimestr for TOFU dates.
8417
8418 2016-08-24 Werner Koch <wk@gnupg.org>
8419
8420 core: Adjust for TOFU_STATS change in gnupg 2.1.16.
8421 + commit 38798fee5b539d6153a8a7856152959412ee59b5
8422 * src/gpgme.h.in (_gpgme_tofu_info): Change 'firstseen' and 'lastseen'
8423 to a timestamp value.
8424 * src/verify.c (parse_tofu_stats): Do not cap these values at UINT_MAX.
8425
8426 core: Set the 'encrcount' field in gpgme_tofu_info_t.
8427 + commit 1eefc2d43c0adb2ce516f8e3509ace2fb562e401
8428 * src/verify.c (parse_tofu_stats): Set ENCRCOUNT field.
8429
8430 cpp: Get rid of AssuanResult due to its deprecation.
8431 + commit e20b0f0201543834f15c5d50cd3b2ece69a35d70
8432 * lang/cpp/src/assuanresult.cpp: Remove.
8433 * lang/cpp/src/assuanresult.h: Remove.
8434 * lang/cpp/src/Makefile.am: Remove these files.
8435 * lang/cpp/src/context.cpp: Remove header assuanresult.h
8436 (assuanTransact): Change return type to Error. Use
8437 gpgme_op_assuan_transact_ext.
8438 (startAssuanTransaction): Change return type to Error.
8439 (assuanResult): Remove
8440 * lang/cpp/src/context.h (assuanResult): Adjust for changes.
8441
8442 2016-08-24 Andre Heinecke <aheinecke@intevation.de>
8443
8444 Qt: Adapt (disabled) tofuinfo test to new API.
8445 + commit d2e40fb7adf667f3e2d2457ee4c646ea4d4d88b3
8446 * lang/qt/tests/t-tofuinfo.cpp: Switch to UID based API.
8447
8448 Cpp: Add Key to signature.
8449 + commit 7c5a4974b71c30e824cbfcb3a0a70064e5ed5adb
8450 * lang/cpp/src/verificationresult.cpp,
8451 lang/cpp/src/verificationresult.h (Signature::key): New.
8452
8453 Cpp: Use fpr field for primaryFingerprint.
8454 + commit 40ea1c85773cbe324557c34b3a4282f609fcdaf6
8455 * lang/cpp/src/key.cpp (Key::primaryFingerprint): Return
8456 fpr value if available.
8457
8458 2016-08-23 Andre Heinecke <aheinecke@intevation.de>
8459
8460 Cpp: Move tofuinfo from signature to userid.
8461 + commit 799b168243e6499ac01bf59e0656547f353a2589
8462 * lang/cpp/src/key.cpp (UserID::tofuInfo): New.
8463 * lang/cpp/src/key.h: Update accordingly.
8464 * lang/cpp/src/tofuinfo.cpp: Remove dropped fields.
8465 * lang/cpp/src/tofuinfo.h: Update accordingly.
8466 * lang/cpp/src/verificationresult.cpp,
8467 lang/cpp/src/verificationresult.h: Remove tofu info.
8468 * lang/qt/tests/t-tofuinfo.cpp: Disable for now.
8469
8470 2016-08-23 Werner Koch <wk@gnupg.org>
8471
8472 core: Put the protocol into a TOFU created key object.
8473 + commit 2972c44bd7e97b2169dea9c4a49d9754afdae3f0
8474 * src/verify.c (parse_tofu_user): Add arg 'protocol' and store it in
8475 the KEY.
8476 (_gpgme_verify_status_handler): Pass protocol.
8477
8478 core: Change the way TOFU information are represented.
8479 + commit be4ff75d7d5ac6ed15feb245ef3cec59b4bad561
8480 * src/gpgme.h.in (struct _gpgme_signature): Remove field 'tofu'. Add
8481 field 'key'.
8482 (struct _gpgme_key): Add field 'fpr'.
8483 (struct _gpgme_user_id): Add field 'tofu'.
8484 (struct _gpgme_tofu_info): Remove fields 'address' and 'fpr'.
8485 * src/key.c (gpgme_key_unref): Release TOFU and FPR.
8486 * src/keylist.c (keylist_colon_handler): Store the fingerprint of the
8487 first subkey also in KEY.
8488 * src/verify.c (release_tofu_info): Remove.
8489 (release_op_data): Release KEY.
8490 (parse_tofu_user): Rewrite for new data structure.
8491 (parse_tofu_stats): Ditto.
8492 (parse_tofu_stats_long): Ditto.
8493 * tests/run-verify.c (print_result): Ditto.
8494 * tests/run-keylist.c (main): Print more fields.
8495
8496 core: Extend gpgme_user_id_t with 'address'.
8497 + commit 3955dce06e9d056599e5ec7d40301e66b9305195
8498 * src/mbox-util.c, src/mbox-util.h: Adjust for use in gpgme.
8499 * src/Makefile.am (main_sources): Add mbox-util.
8500 * src/key.c (_gpgme_key_append_name): Set 'address' field of uid.
8501 (gpgme_key_unref): Free it.
8502
8503 2016-08-22 Werner Koch <wk@gnupg.org>
8504
8505 core: New code for parsing mail addresses.
8506 + commit 26c5ba528ce1411d96655952ec48359105695c0f
8507 * src/mbox-util.c: New.
8508 * src/mbox-util.h: New.
8509
8510 core: Add new items for gpgme_get_dirinfo.
8511 + commit 24e61984c9532924135c57b8ff98489a2d3bd4a3
8512 * src/dirinfo.c (WANT_SYSCONFDIR, WANT_LIBEXECDIR, WANT_LIBDIR): New.
8513 (WANT_DATADIR, WANT_LCOALEDIR, WANT_AGENT_SSH_SOCKET): New
8514 (WANT_DIRMNGR_SOCKET): New.
8515 (dirinfo): Add fields 'sysconfdir', 'bindir', 'libexecdir', 'libdir',
8516 'datadir', 'localedir', 'agent_ssh_socket', and 'dirmngr_socket'.
8517 (parse_output): Set these fields.
8518 (get_gpgconf_item): Return them.
8519 (gpgme_get_dirinfo): Likewise.
8520
8521 core: Base gpgme_get_dirinfo(uiserver-socket) on the socket dir.
8522 + commit c9e7dcb100d807583d8e312da459561138231376
8523 * src/dirinfo.c (dirname_len): New.
8524 (parse_output): Change computation of UISRV_SOCKET.
8525
8526 2016-08-21 Werner Koch <wk@gnupg.org>
8527
8528 core: New commands --lang and --have-lang for gpgme-config.
8529 + commit 3e60788810f93cfcd7f08e5882aff32ed7b6f831
8530 * configure.ac (GPGME_CONFIG_AVAIL_LANG): New ac_subst.
8531 * src/gpgme-config.in (avail_lang): Add commands --lang and
8532 --have-lang.
8533
8534 2016-08-18 Andre Heinecke <aheinecke@intevation.de>
8535
8536 core: Remove (now) useless diagnostic.
8537 + commit 30f156280f18500ee522db58aecd40711c8af685
8538 * src/w32-io.c(_gpgme_io_spawn): Remove spawnhelper not found
8539 diagnostic.
8540
8541 core: Fail loudly in case w32 spawner not found.
8542 + commit 9cf983b0199950c8f8cccee2cb8e45aafcba9fd1
8543 * src/w32-io.c (_gpgme_io_spawn): Show a message box in
8544 case gpgme-w32spawn.exe not found.
8545
8546 2016-08-17 Andre Heinecke <aheinecke@intevation.de>
8547
8548 Cpp: Fix some pedantic warnings.
8549 + commit 64194b0f8df1afe6135cd119fd3216fc8db68033
8550 * lang/cpp/src/context.cpp,
8551 lang/cpp/src/context.h (Context::getKeysFromRecipients): Remove
8552 ignored / invalid const qualifier.
8553 * lang/cpp/src/result.h: Don't shadow error function in ctor.
8554
8555 2016-08-16 Werner Koch <wk@gnupg.org>
8556
8557 core: New global flag "require-gnupg".
8558 + commit 8c09dd9989bcd434a8cb5997770cb8414b96bd5c
8559 * src/gpgme.c (gpgme_set_global_flag): Add flag.
8560 * src/engine.c (engine_minimal_version): New variable.
8561 (_gpgme_set_engine_minimal_version): New function.
8562 (gpgme_get_engine_info): Check that flag.
8563
8564 * tests/run-keylist.c (main): New option --require-gnupg.
8565
8566 core: Simplify setting of dummy versions.
8567 + commit b7b0e7b5bfefd51c8092ea54f262b18aebf78128
8568 * src/engine.c (_gpgme_engine_info_release): Do not assert but free
8569 FILE_NAME.
8570 (gpgme_get_engine_info): Provide default for VERSION and REQ_VERSION.
8571 Use calloc instead of malloc.
8572 (_gpgme_set_engine_info): Ditto.
8573 * src/engine-assuan.c (llass_get_version): Return NULL.
8574 (llass_get_req_version): Ditto.
8575 * src/engine-spawn.c (engspawn_get_version): Ditto.
8576 (engspawn_get_req_version): Ditto.
8577 * src/engine-uiserver.c (uiserver_get_version): Ditto.
8578 (uiserver_get_req_version): Ditto.
8579
8580 2016-08-12 Andre Heinecke <aheinecke@intevation.de>
8581
8582 Qt: Add test for progress signal of encryptjob.
8583 + commit 391e55411cda11446ca9de4dd0dc2b54d3e6fff5
8584 * lang/qt/tests/t-encrypt.cpp (testProgress): New.
8585
8586 Cpp: Provide size-hint for seekable and mem data.
8587 + commit df7bbf5a66576a5a320b54c8f6ad52bc84f0e833
8588 * lang/cpp/src/data.cpp (GpgME::Data::Data): Set size-hint for
8589 mem and DataProvider based Data.
8590
8591 2016-08-12 Werner Koch <wk@gnupg.org>
8592
8593 core: Make use of the "size-hint" in engine-gpg.
8594 + commit fe1e8e71aa18b4ac6471292b2894b8859f42f7c8
8595 * src/engine-gpg.c: Include data.h.
8596 (add_input_size_hint): New.
8597 (gpg_decrypt, gpg_encrypt, gpg_encrypt_sign, gpg_sign)
8598 (gpg_verify): Call new function,
8599
8600 * tests/run-encrypt.c (status_cb): Print to stderr.
8601 (progress_cb): New.o
8602 (main): Add option --progress. Print full-status lines. Provide a
8603 size for the input data.
8604
8605 core: Add gpgme_data_set_flag to add more meta data to data objects.
8606 + commit 293d1736911fd5e77b8cec305168b35b2420c612
8607 * src/gpgme.h.in (gpgme_data_set_flag): New public function.
8608 * src/data.c (gpgme_data_set_flag): New.
8609 (_gpgme_data_get_size_hint): New.
8610 * src/data.h (strucy gpgme_data): Add field 'size_hint'.
8611 * src/gpgme.def, src/libgpgme.vers: Add new function.
8612 * src/conversion.c (_gpgme_string_to_off): New.
8613
8614 2016-08-12 Andre Heinecke <aheinecke@intevation.de>
8615
8616 Qt: Fix defaultkeygenerationjob build.
8617 + commit 75c974c4e0a31981325f7d151bd13f2523f5df20
8618 * lang/qt/src/defaultkeygenerationjob.cpp: Include moc.
8619
8620 2016-08-11 Andre Heinecke <aheinecke@intevation.de>
8621
8622 Qt: Add DefaultKeyGenerationJob.
8623 + commit 105f5446e69db00291164397cf0d8e68374cf420
8624 * lang/qt/src/defaultkeygenerationjob.cpp,
8625 lang/qt/src/defaultkeygenerationjob.h: New.
8626 * lang/qt/src/Makefile.am: Update accordingly.
8627
8628 Qt: Ensure all public classes are exported.
8629 + commit 59e2251a083b0ed61b3ab6d47015cef7cc6ceb05
8630 * src/abstractimportjob.h,
8631 src/cryptoconfig.h,
8632 src/deletejob.h,
8633 src/exportjob.h,
8634 src/importfromkeyserverjob.h,
8635 src/importjob.h,
8636 src/keygenerationjob.h,
8637 src/keylistjob.h,
8638 src/listallkeysjob.h,
8639 src/refreshkeysjob.h,
8640 src/signencryptjob.h,
8641 src/specialjob.h,
8642 src/verifydetachedjob.h: Export classes.
8643
8644 Qt: Add KeyForMailboxJob.
8645 + commit 8c5abc8d932affab4bc79a85e3f98f6f6b982ae8
8646 * lang/qt/src/job.cpp: Include moc and make subclass.
8647 * lang/qt/src/keyformailboxjob.h,
8648 lang/qt/src/qgpgmekeyformailboxjob.cpp,
8649 lang/qt/src/qgpgmekeyformailboxjob.h: New.
8650 * lang/qt/tests/run-keyformailboxjob.cpp: New manual test.
8651 * lang/qt/tests/Makefile.am: Add run-keyformailboxjob.
8652 * lang/qt/src/Makefile.am: Update accordingly.
8653 * lang/qt/src/protocol.h, lang/qt/src/protocol_p.h: Add
8654 keyformailboxjob.
8655
8656 2016-08-10 Werner Koch <wk@gnupg.org>
8657
8658 doc: Get rid of version.texi.
8659 + commit b7d99e02188b7907b09fec3032fc1fd82fc2668a
8660 * configure.ac (CC_FOR_BUILD): New.
8661 * doc/mkdefsinc.c: New. Taken from GnuPG and modified for gpgme.
8662 * doc/Makefile.am (EXTRA_DIST): Add defsincdate and mkdefsinc.c
8663 (BUILT_SOURCES): new.
8664 (gpgme.texi): New dependency.
8665 (mkdefsinc, defsincdate, defs.inc): New rules.
8666 (dist-hook): New.
8667 * doc/gpgme.texi: Include defs.inc. Remove version.texi.
8668
8669 build: Declare all languages for make dist.
8670 + commit 48691db97b759d67aa7b49c36bb704b5806ade2e
8671 * lang/Makefile.am (DIST_SUBDIRS): New.
8672
8673 core: Do not identify PNG files as PGP signatures.
8674 + commit a9168185ba97aa1d827315cd8017899bf904aded
8675 * src/data-identify.c (next_openpgp_packet): Blacklist PNG files.
8676
8677 2016-08-10 Andre Heinecke <aheinecke@intevation.de>
8678
8679 Cpp: Handle empty recipients consistently.
8680 + commit 09667a6006986a782af98ca1de4d6521e1b8f353
8681 * lang/cpp/src/context.cpp (Context::getKeysFromRecipients):
8682 New helper.
8683 (Context::encrypt, Context::startEncryption, Context::signAndEncrypt)
8684 (Context::startCombinedSigningAndEncryption): Use new helper.
8685 * lang/cpp/src/context.h (Context::getKeysFromRecipients): Add
8686 as private helper.
8687
8688 core: Handle ENCRYPT_SYMMETRIC also for sig & enc.
8689 + commit b602d8bc7bd726afb52dc60cc07e4609e88d4511
8690 * src/engine-gpg.c (gpg_encrypt_sign): Handle ENCRYPT_SYMMETRIC
8691 flag.
8692
8693 Qt: Remove unused variable.
8694 + commit d467018ce36f5be36751267c3b6079e8c1ee5d8a
8695 * lang/qt/src/qgpgmerefreshkeysjob.cpp (slotStatus): Remove
8696 unused variable typ.
8697
8698 Qt: Create TestPassphraseProvider on stack.
8699 + commit a27d7755d071aad42efc2aa4ea3899ba7b17f8bf
8700 * lang/qt/tests/t-encrypt.cpp, lang/qt/tests/t-tofuinfo.cpp: Create
8701 TestPassphraseProvider on stack.
8702
8703 Cpp: Clarify ownership of provider classes.
8704 + commit 21d5e71d486da8e37cf53f2b968646b39a6daa72
8705 * lang/cpp/src/context.h: Note that the context does not take
8706 ownership of providers.
8707
8708 2016-08-10 Justus Winter <justus@g10code.com>
8709
8710 tests: Fix memory leak.
8711 + commit 04f994d5db6db0575dc73c2356c7d51424e2d9fe
8712 * tests/gpg/t-encrypt-mixed.c (main): Free 'text2'.
8713
8714 2016-08-10 Andre Heinecke <aheinecke@intevation.de>
8715
8716 core: Ensure err is initalized in gpg_encrypt.
8717 + commit 270887309f4b673b13e58c29ea3989c56989590e
8718 * src/engine-gpg.c (gpg_encrypt): Initialize err.
8719
8720 Qt: Fix t-keylist moc include.
8721 + commit 0c222e1b3cabe1a8b84a2877420cdd5df56171b5
8722 * lang/qt/tests/t-keylist.cpp: Don't include t-support.moc
8723
8724 2016-08-09 Andre Heinecke <aheinecke@intevation.de>
8725
8726 Qt: Clean up debug output in tests.
8727 + commit 969f223d8de21d7c8b0f7646bbf8dbb5864e8d03
8728 * lang/qt/tests/t-support.cpp: Remove accidentally commited
8729 debug output.
8730
8731 Qt: Add encryption test and refactor testsuite.
8732 + commit f209ec8f581ae597b37f2e3a5e452e4b53b2d4c7
8733 * lang/qt/tests/Makefile.am: Add t-encrypt and t-support.
8734 * lang/qt/tests/t-support.cpp, lang/qt/tests/t-support.c (QGpgMETest):
8735 New. Class to handle common cleanup / init.
8736 * lang/qt/tests/t-keylist.cpp,
8737 lang/qt/tests/t-keylocate.cpp,
8738 lang/qt/tests/t-ownertrust.cpp,
8739 lang/qt/tests/t-tofuinfo.cpp: Inherit QGpgMETest.
8740 * lang/qt/tests/t-encrypt.cpp: New. Test Symetric and Asymectric
8741 encryption. Mixed encryption test is disabled.
8742
8743 Qt: Add support for EncryptJobs with generic flags.
8744 + commit 34b456c3fb9e59788b07a75441da482bb28bda87
8745 * lang/qt/src/encryptjob.h, lang/qt/src/signencryptjob.h,
8746 lang/qt/src/qgpgmeencryptjob.h, lang/qt/src/qgpgmeencryptjob.cpp,
8747 lang/qt/src/qgpgmesignencryptjob.cpp,
8748 lang/qt/src/qgpgmeencryptjob.cpp: Add start and exec overloads
8749 that accept generic EncryptFlags.
8750
8751 Cpp: Add support for all EncryptionFlags.
8752 + commit 17372393798ea5e2d6838f3dd1e001dd4a66c941
8753 * lang/cpp/src/context.h (EncryptionFlags): Extend.
8754 * lang/cpp/src/context.cpp (encryptflags2encryptflags): Ditto.
8755
8756 Cpp: Fix simple symmetric encryption.
8757 + commit bf776ce94cf454f1b3f1645b1cde09cd1c54324b
8758 * lang/cpp/src/context.cpp (Context::encrypt): If no recipients
8759 are provided encrypt with NULL and not an empty array.
8760
8761 core: Add support for mixed symmetric and asym enc.
8762 + commit 3d2f027d0f40e7ec4ab48cee89ff0ee10b423566
8763 * src/gpgme.h.in (gpgme_encrypt_flags_t): New flag
8764 GPGME_ENCRYPT_SYMMETRIC.
8765 * src/engine-gpg.c (gpg_encrypt): Also add --symmetric if the flag
8766 is given.
8767 * NEWS: Mention new flag.
8768 * tests/run-encrypt.c (show_usage): Extend for --symmetric.
8769 (main): Handle --symmetric.
8770 (main): Set passphrase_cb in loopback mode.
8771 (main): Fix encrypt call if no recipients are given.
8772 * tests/gpg/t-encrypt-mixed.c: New.
8773 * tests/gpg/Makefile.am (c_tests): Add new test.
8774 * doc/gpgme.texi: Document new flag.
8775
8776 2016-08-08 Werner Koch <wk@gnupg.org>
8777
8778 core: Let GPGME_PROTOCOL_ASSUAN pass Assuan comments through.
8779 + commit b5e16b036f0045524a583d8a366d8a3366fc0005
8780 * src/engine-assuan.c (llass_new): Set ASSUAN_CONVEY_COMMENTS,
8781
8782 2016-08-08 Andre Heinecke <aheinecke@intevation.de>
8783
8784 Prepend LD_LIBRARY_PATH for python tests.
8785 + commit ab6f66d676581cb497e581e4af40e2fe5bff507b
8786 * lang/python/tests/Makefile.am (TESTS_ENVIRONMENT): Prepend path
8787 instead of setting the value.
8788
8789 2016-08-05 Justus Winter <justus@g10code.com>
8790
8791 python: Clean up and modernize examples.
8792 + commit 2a613e87156b23c4aa6aa5ce38505cb285de6a18
8793 * lang/python/examples/Examples.rst: Delete file.
8794 * lang/python/examples/t-edit.py: Likewise. This is actually a test
8795 case and has been moved to 'tests'.
8796 * lang/python/examples/assuan.py: New file.
8797 * lang/python/examples/decryption-filter.py: Likewise.
8798 * lang/python/examples/delkey.py: Modernize.
8799 * lang/python/examples/encrypt-to-all.py: Likewise.
8800 * lang/python/examples/exportimport.py: Likewise.
8801 * lang/python/examples/genkey.py: Likewise.
8802 * lang/python/examples/inter-edit.py: Likewise.
8803 * lang/python/examples/sign.py: Likewise.
8804 * lang/python/examples/signverify.py: Likewise.
8805 * lang/python/examples/simple.py: Likewise.
8806 * lang/python/examples/testCMSgetkey.py: Likewise.
8807 * lang/python/examples/verifydetails.py: Likewise.
8808
8809 2016-08-04 Werner Koch <wk@gnupg.org>
8810
8811 core: Extend gpgme_subkey_t to carry the keygrip.
8812 + commit 6f3dc66634e30d86aa6250c4ac22f9b8f7ec1be9
8813 * src/gpgme.h.in (struct _gpgme_subkey): Add file 'keygrip'.
8814 * src/key.c (gpgme_key_unref): Free KEYGRIP.
8815 * src/keylist.c (keylist_colon_handler): Parse GRP records.
8816 * src/engine-gpg.c (gpg_keylist_build_options): Do not use
8817 --with-fingerprint options for gpg versions >= 2.1.15.
8818
8819 * tests/run-keylist.c (main): Print subkeys and keygrips.
8820
8821 2016-08-03 Justus Winter <justus@g10code.com>
8822
8823 python: Add a nicer interface to list keys.
8824 + commit 56e26b54da9f16961209275d7a61883d3ea898ca
8825 * lang/python/pyme/core.py (Context.keylist): New method.
8826 * lang/python/tests/t-keylist.py: Test new method.
8827
8828 2016-08-02 Justus Winter <justus@g10code.com>
8829
8830 python: Add a flag identifying in-tree builds.
8831 + commit 4c8265d32ddff5960a464b8d4e8d7d2258495b2e
8832 * lang/python/helpers.c (pyme_in_tree_build): New variable.
8833 * lang/python/helpers.h (pyme_in_tree_build): New declaration.
8834 * lang/python/pyme/version.py.in (in_tree_build): New variable.
8835 * lang/python/setup.py.in: Rework macro handling, set 'IN_TREE_BUILD'
8836 as appropriate.
8837
8838 python: Fix build system integration.
8839 + commit 0bd7d8c1977183abc414e11aafa26a4f834ca2a5
8840 * lang/python/Makefile.am: Be more careful when cleaning the build
8841 directory, we must not delete the generated file 'pyme/version.py'.
8842
8843 doc: Document the Assuan protocol.
8844 + commit 135185b7ef2225aa5e8c54a6cf1265d3e6cbbe48
8845 * doc/gpgme.texi: Document the Assuan protocol.
8846
8847 2016-07-28 Justus Winter <justus@g10code.com>
8848
8849 python: Fix out-of-tree build.
8850 + commit 4e728de8421e2ade2061786aaebcdae3f60da3b8
8851 * lang/python/MANIFEST.in: Add 'private.h'.
8852
8853 python: Improve error handling.
8854 + commit 5a7c7a86f7e8eaf10e37138617a2d838f9d4466f
8855 * lang/python/pyme/core.py (Context.protocol): Check that the engine
8856 is usable before setting the protocol.
8857 (Context._errorcheck): Add missing functions.
8858
8859 src: Fix dummy engine versions.
8860 + commit b9e6eacd06ffeb36854c208aa4325cff3e3dfbbe
8861 Previously, 'gpgme_engine_check_version' failed for these protocols
8862 because the version parser failed to parse the dummy versions.
8863
8864 * src/engine-assuan.c (llass_get_version): Use a version triple that
8865 the parser can understand.
8866 (llass_get_req_version): Likewise.
8867 * src/engine-spawn.c (engspawn_get_version): Likewise.
8868 (engspawn_get_req_version): Likewise.
8869 * src/engine-uiserver.c (uiserver_get_version): Likewise.
8870 (uiserver_get_req_version): Likewise.
8871
8872 python: Drop superfluous imports and trim public interface.
8873 + commit 2ff58fcbd5c060dac3a7feec478819d2c5a164ec
8874 * lang/python/pyme/__init__.py: Avoid leaking low-level 'gpgme', make
8875 sure the main module looks nice and tidy, appease pyflakes.
8876 * lang/python/pyme/errors.py: Appease pyflakes.
8877 * lang/python/pyme/util.py: Avoid leaking low-level 'gpgme' into the
8878 module namespace.
8879 * lang/python/pyme/version.py.in: Likewise.
8880 * lang/python/tests/t-keylist.py: Drop superfluous imports.
8881 * lang/python/tests/t-sig-notation.py: Likewise.
8882 * lang/python/tests/t-sign.py: Likewise.
8883 * lang/python/tests/t-signers.py: Likewise.
8884
8885 python: Rename compiled SWIG module.
8886 + commit 2f754440f28e8f81babdf7efa6186edbc8ad99fd
8887 Avoid the name pygpgme, as this is the name of another popular Python
8888 binding for GPGME.
8889
8890 This commit renames the compiled Python module produced by SWIG.
8891
8892 * lang/python/Makefile.am: Rename the compiled Python module.
8893 * lang/python/gpgme.i: Likewise.
8894 * lang/python/pyme/core.py: Likewise.
8895 * lang/python/pyme/errors.py: Likewise.
8896 * lang/python/pyme/util.py: Likewise.
8897 * lang/python/pyme/version.py.in: Likewise.
8898 * lang/python/setup.py.in: Likewise.
8899
8900 python: Rename exported functions.
8901 + commit b5aa05c3b261c3846ebbcf76e7505cff5459f918
8902 Avoid the name pygpgme, as this is the name of another popular Python
8903 binding for GPGME.
8904
8905 This commit renames all functions that are exported to the Python
8906 world.
8907
8908 * lang/python/helpers.c: Rename all exported functions.
8909 * lang/python/helpers.h: Likewise.
8910 * lang/python/pyme/core.py: Likewise.
8911
8912 python: Rename private functions.
8913 + commit 1d2f22aae668ce136cacd254875e118dc1faa6a2
8914 Avoid the name pygpgme, as this is the name of another popular Python
8915 binding for GPGME.
8916
8917 This commit renames all functions that are not exported to the Python
8918 world.
8919
8920 * lang/python/gpgme.i: Rename all private functions.
8921 * lang/python/helpers.c: Likewise.
8922 * lang/python/helpers.h: Likewise.
8923 * lang/python/private.h: Likewise. Also move the SWIG runtime helper
8924 prototypes here.
8925
8926 python: Support the Assuan engine.
8927 + commit de69fa496c09386d5e99747670d6887cf52dd09e
8928 * lang/python/gpgme.i: Add typemaps for the Assuan protocol callbacks.
8929 * lang/python/helpers.c (_pyme_assuan_{data,inquire,status}_cb): New
8930 functions.
8931 * lang/python/private.h (_pyme_assuan_{data,inquire,status}_cb): New
8932 prototypes.
8933 * lang/python/pyme/core.py (Context.assuan_transact): New method.
8934 * lang/python/pyme/util.py (percent_escape): New function.
8935 * lang/python/tests/Makefile.am (py_tests): Add new test.
8936 * lang/python/tests/t-protocol-assuan.py: New file.
8937
8938 python: Improve engine information handling.
8939 + commit 355d7072863ac1f0f725e77141a59f3ed8a5e4af
8940 * lang/python/gpgme.i (gpgme_engine_info_t): Wrap engine infos.
8941 * lang/python/pyme/core.py (Context.engine_info): New property.
8942 (Context.{g,s}et_engine_info): Improve docstrings.
8943 * lang/python/pyme/results.py (EngineInfo): New class.
8944
8945 python: Add accessors for the protocol.
8946 + commit 78f7bf4dcf75206faae5776c2ee4166628313532
8947 * lang/python/pyme/core.py (Context.__init__): Add 'protocol'
8948 parameter.
8949 (Context.protocol): New accessors.
8950
8951 python: Expose less functions to the Python world.
8952 + commit 3d4dc3f0218234a27103bdb6f93b17c0703b71a2
8953 * lang/python/Makefile.am (EXTRA_DIST, COPY_FILES): Add new file.
8954 * lang/python/gpgme.i: Include new file and add comments.
8955 * lang/python/helpers.c: Include new file.
8956 * lang/python/helpers.h: Move functions we do not need to expose...
8957 * lang/python/private.h: ... here.
8958
8959 2016-07-19 Ben Kibbey <bjk@luxsci.net>
8960
8961 Fix including nil bytes in keylist output.
8962 + commit 6a7ee33abd5059f5ae2f70a7dd9f610c16552f8e
8963 * src/gpgme-tool.c (cmd_keylist,gt_result): use strlen().
8964
8965 2016-07-15 Justus Winter <justus@g10code.com>
8966
8967 python: Make GPGME's version easily accessible.
8968 + commit e545ca3f682b615ce447c186a2c73489a32b0592
8969 * lang/python/pyme/version.py.in (gpgme_versionstr): New variable.
8970
8971 python: Add an idiomatic interface.
8972 + commit 1f318b7aaaa77672fab117d54fe75221780df83c
8973 * configure.ac: Bump required Python version.
8974 * lang/python/pyme/__init__.py: Update docstring. Import Context and
8975 Data.
8976 * lang/python/pyme/core.py (Context.encrypt): New function.
8977 (Context.decrypt): Likewise.
8978 (Context.sign): Likewise.
8979 (Context.verify): Likewise.
8980 * lang/python/pyme/errors.py: Add new errors.
8981 * lang/python/pyme/util.py (process_constants): Rework and return the
8982 inserted keys.
8983 * lang/python/tests/Makefile.am (EXTRA_DIST): Add new keys.
8984 * lang/python/tests/encrypt-only.asc: New file.
8985 * lang/python/tests/sign-only.asc: Likewise.
8986 * lang/python/tests/initial.py: Mark key 'Alpha' as trusted, import
8987 new keys.
8988 * lang/python/tests/support.py: Add fingerprints of known keys.
8989 (in_srcdir): New function.
8990 (print_data): Handle bytes too.
8991 (mark_key_trusted): New function.
8992 * lang/python/tests/t-decrypt-verify.py: Adjust test. Test idiomatic
8993 interface.
8994 * lang/python/tests/t-decrypt.py: Test idiomatic interface.
8995 * lang/python/tests/t-encrypt-sign.py: Likewise.
8996 * lang/python/tests/t-encrypt-sym.py: Likewise.
8997 * lang/python/tests/t-encrypt.py: Likewise.
8998 * lang/python/tests/t-idiomatic.py: Simplify.
8999 * lang/python/tests/t-keylist.py: Adjust to newly trusted key.
9000 * lang/python/tests/t-sign.py: Likewise. Test idiomatic interface.
9001 * lang/python/tests/t-signers.py: Likewise.
9002 * lang/python/tests/t-verify.py: Likewise.
9003
9004 2016-07-14 Andre Heinecke <aheinecke@intevation.de>
9005
9006 Qt: Disable keylocate test for gnupg < 2.0.10.
9007 + commit d2f2cbd297c4d2f2c3264ecc3ffb7a2b3a70bd55
9008 * lang/qt/tests/t-keylocate.cpp: Disable test for gnupg < 2.0.10
9009
9010 Cpp: Add EngineInfo::Version class.
9011 + commit 41de1ab904eaddffb2de17b1de8ef41e462daabe
9012 * lang/cpp/src/engineinfo.cpp (EngineInfo::engineVersion): New.
9013 * lang/cpp/src/engineinfo.h (EngineInfo::engineVersion): Declare.
9014 (EngineInfo::Version): Small helper to work with versions.
9015
9016 Qt: Fix usage of ignore-invalid-option in tests.
9017 + commit e7f4c364732660c6cda25720b7dbc5b1c917e368
9018 * Makefile.am (pubring-stamp): Fix config.
9019
9020 Qt: Fix tests if gpg2 is gpg.
9021 + commit e4c0645c1eea9380d80a20895eb83c9dd7228776
9022 * lang/qt/tests/Makefile.am (pubring-stamp): Loopback and provide
9023 passphrase on command line when importing.
9024
9025 2016-07-14 Justus Winter <justus@g10code.com>
9026
9027 python: Fix test.
9028 + commit fddcc62abd57cb04e84861abd3991c7d529c2464
9029 * lang/python/tests/t-keylist.py: Do not assume key alpha is trusted
9030 yet.
9031
9032 2016-07-13 Werner Koch <wk@gnupg.org>
9033
9034 build: Update config.{guess,sub} to {2016-05-15,2016-06-20}.
9035 + commit a9670d152a4598aef1ae0960a79fb6f5d8db55ad
9036 * build-aux/config.guess: Update.
9037 * build-aux/config.sub: Update.
9038
9039 core: New GPGME_DATA_ENCODING_MIME.
9040 + commit d8d5f5a16712244fe6eff860b6ac5f007b1bf870
9041 * src/gpgme.h.in (GPGME_DATA_ENCODING_MIME): New.
9042 * src/data.c (gpgme_data_set_encoding): Adjust check.
9043 * src/engine-gpg.c (have_gpg_version): New.
9044 (gpg_encrypt, gpg_encrypt_sign): Pass flag '--mimemode'.
9045 (gpg_sign): Ditto.
9046
9047 * lang/cpp/src/data.h (GpgME): Add MimeEncoding.
9048 * lang/cpp/src/data.cpp (encoding, setEncoding): Support MimeEncoding.
9049
9050 * src/gpgme-tool.c (server_data_encoding): Add flag --mime.
9051
9052 core: Pass the engine's version string to the engine's new function.
9053 + commit 2095b1573a8196ba3efdf817324d1b3ee05cbb93
9054 * src/engine-backend.h (engine_ops): Add arg 'version' to NEW.
9055 * src/engine-assuan.c (llass_new): Add dummy arg 'version'.
9056 * src/engine-g13.c (g13_new): Ditto.
9057 * src/engine-gpgconf.c (gpgconf_new): Ditto.
9058 * src/engine-gpgsm.c (gpgsm_new): Ditto.
9059 * src/engine-spawn.c (engspawn_new): Ditto.
9060 * src/engine-uiserver.c (uiserver_new): Ditto.
9061 * src/engine.c (_gpgme_engine_new): Pass version string to the new
9062 function.
9063 * src/engine-gpg.c (struct engine_gpg): Add field 'version'.
9064 (gpg_new): Add arg 'version'.
9065 (gpg_release): Free VERSION.
9066
9067 2016-07-13 Andre Heinecke <aheinecke@intevation.de>
9068
9069 Cpp: Add feature enum for new identify.
9070 + commit 537cb871fd59f3a20c697a046715e6339ff6633b
9071 * lang/cpp/src/context.cpp (supported_features2): Add
9072 BinaryAndFineGrainedIdentify
9073 * lang/cpp/src/global.h (Feature2): ditto.
9074
9075 2016-07-12 Justus Winter <justus@g10code.com>
9076
9077 python: Port more tests.
9078 + commit 1bff47ee58bcf9d0016fb7ac7e37cbf075abd059
9079 * lang/python/pyme/core.py (Context.op_keylist_all): Add missing
9080 'op_keylist_end'.
9081 (Context.op_trustlist_all): Fix function. Add missing
9082 'op_trustlist_end'.
9083 * lang/python/tests/Makefile.am (pytests): Add new files.
9084 * lang/python/tests/t-import.py: New file.
9085 * lang/python/tests/t-keylist.py: Likewise.
9086 * lang/python/tests/t-trustlist.py: Check alternate interface.
9087
9088 python: Improve python packaging.
9089 + commit 57b51685528153f5a50ab0999feec25c83190501
9090 * lang/python/Makefile.am: Sign source releases, and upload them.
9091 * lang/python/setup.py.in: Add categories.
9092
9093 2016-07-12 Andre Heinecke <aheinecke@intevation.de>
9094
9095 m4: Don't set fpic for qt on windows.
9096 + commit 938f7e9c8b466594d05c0347fe627b225263a6a6
9097 * m4/qt.m4 (FIND_QT): Do not set fpic for windows.
9098
9099 m4: Use LIBS instead of LDFLAGS for Qt libs.
9100 + commit 744978cce8f9dfb2363b9d274ee99f25cfcf0e40
9101 * m4/qt.m4: Modify LIBS instead of LDFLAGS for link test.
9102
9103 Bump version to 1.7.0.
9104 + commit bf742fb88545689addfca18192baf2f56a1895e1
9105 * configure.ac(mym4_version_minor),
9106 (mym4_version_micro): Next release will be 1.7.0
9107
9108 Qt: Install CamelCase forward includes.
9109 + commit fd87c4679c4bfe19390fa2047dff23bb213a4b18
9110 * lang/qt/src/Makefile.am (camelcase_headers): New. Create and install
9111 CamelCase headers.
9112
9113 Qt: Export VerifyDetachedJob.
9114 + commit 86ab2ee2d603111d24500b8d64a9a1dd82f8bdc0
9115 * lang/qt/src/verifydetachedjob.h (VerifyDetachedJob): Export it.
9116
9117 Qt/Cpp: Add version headers.
9118 + commit b03c48cfb06faae7d7033a0532f319cbcf13f18a
9119 * lang/cpp/src/gpgmepp_version.h.in,
9120 lang/qt/src/qgpgme_version.h.in: New. Version information.
9121 * lang/qt/src/Makefile.am, lang/cpp/src/Makefile.am: Add them.
9122 * configure.ac: Configure them.
9123
9124 Qt/Cpp: Add license blurb to export headers.
9125 + commit 362b8cdf4e0d5cd54ec2b325508dcdefac686f2c
9126 * lang/cpp/src/gpgmepp_export.h,
9127 lang/qt/src/qgpgme_export.h: Add license blurb.
9128
9129 2016-07-11 Justus Winter <justus@g10code.com>
9130
9131 python: Fix distcheck.
9132 + commit ce662891373eba6cce1cf8df516cb2370970737e
9133 * lang/python/Makefile.am (EXTRA_DIST): Add missing files.
9134
9135 2016-07-11 Andre Heinecke <aheinecke@intevation.de>
9136
9137 m4: Add compile / link check for qt.
9138 + commit ed070313155a1c79a57ba69f4299f2aefc65fad7
9139 * m4/qt.m4 (FIND_QT): Check if a qt application can be compiled and
9140 linked.
9141
9142 2016-07-11 Justus Winter <justus@g10code.com>
9143
9144 python: Enable out-of-tree build of pyme bindings.
9145 + commit 007382ce94a6318557370c440f7d609a030a119e
9146 * lang/python/MANIFEST.in: Update manifest template.
9147 * lang/python/Makefile.am: Copy more files, move generation of files
9148 to Python build script, add 'sdist' target to build a Python source
9149 distribution.
9150 * lang/python/gpgme-h-clean.py: Add code to build 'errors.i'.
9151 * lang/python/setup.py.in: Generate files, enable out-of-tree builds.
9152
9153 python: Do not depend on access to internal data structures.
9154 + commit 98cba522c906115efcba1f8cc0bec7e5edb51ecd
9155 * lang/python/gpgme.i (gpgme_data_t): Rework so that it works without
9156 access to the definition of 'struct gpgme_data'.
9157 * lang/python/helpers.c (object_to_gpgme_data_t): Add assertion.
9158
9159 python: Make result wrapping backwards compatible.
9160 + commit c53f87c5f9ca63119152f41dcebfb175d4df2cef
9161 * lang/python/pyme/results.py (Result.__init__): Skip missing fields.
9162
9163 2016-07-11 Andre Heinecke <aheinecke@intevation.de>
9164
9165 Qt: Fix memleaks in tests.
9166 + commit bfa8ac7e02c16790ee5bd3b42c26699f4821d72e
9167 * lang/qt/tests/t-keylist.cpp(cleanupTestCase): Ensure that
9168 posted events are handled for autodeletion.
9169 (testSingleKeylistSync): delete job.
9170 * lang/qt/tests/t-ownertrust.cpp(cleanupTestCase): Ditto
9171 * lang/qt/tests/t-ownertrust.cpp(testChangeOwnerTrust): Delete
9172 keylistjobs.
9173 * lang/qt/tests/t-keylocate.cpp(cleanupTestCase): Ditto
9174
9175 Qt: Add some general Protocol documentation.
9176 + commit b1f42e8f25ada220ec8e4762cfebc3a49b1f7d56
9177 * lang/qt/src/protocol.h (Protocol): Add doc.
9178
9179 Qt: Disable t-tofuinfo tests.
9180 + commit 02babb29612d554c37b63a49f78acc45653b557e
9181 * lang/qt/tests/t-tofuinfo.cpp: Disable tests.
9182
9183 2016-07-08 Justus Winter <justus@g10code.com>
9184
9185 src: Fix error handling.
9186 + commit de74fe59feef9adc858ac04004880bfd44315d0d
9187 * src/encrypt.c (encrypt_status_handler): Fix error handling, ||
9188 conflates errors.
9189
9190 python: Fix raising stashed exceptions.
9191 + commit 8a93f345b701332270c9829a4d0a93537f98a8d8
9192 Fixes an issue with newer versions of Python.
9193
9194 * lang/python/helpers.c (pygpgme_raise_callback_exception): Be more
9195 careful when restoring the exception.
9196
9197 2016-07-07 Justus Winter <justus@g10code.com>
9198
9199 python: Fix distcheck.
9200 + commit 52efcf1ee9fc8ba4c6bd23d8fe4f5f7993ba9fb1
9201 * lang/python/INSTALL: Drop obsolete file.
9202 * lang/python/Makefile.am (EXTRA_DIST): Add missing files.
9203 (CLEANFILES): Remove generated files.
9204 (clean-local): Fix permissions of copied files.
9205 * lang/python/tests/Makefile.am (TESTS): Use our own setup and
9206 teardown scripts.
9207 (EXTRA_DIST): Add missing files.
9208 * lang/python/tests/final.py: New file.
9209 * lang/python/tests/initial.py: Likewise.
9210
9211 qt: Fix distcheck.
9212 + commit 38c408560c6ebc3ea5eeeade01d38750bf5799e5
9213 * lang/qt/src/Makefile.am (qgpgme_headers): Add missing file.
9214 (CLEANFILES): Add generated file.
9215 * lang/qt/tests/Makefile.am (clean-local): Remove private keys.
9216
9217 cpp: Fix distcheck.
9218 + commit 49286ac1c82c480e2c718f828c57da9778ccd0b9
9219 * lang/cpp/src/Makefile.am (CLEANFILES): Remove generated file.
9220
9221 2016-07-06 Andre Heinecke <aheinecke@intevation.de>
9222
9223 Qt: Add test for publicKeyAlgorithmAsString.
9224 + commit fc0267233239b42e9fb74a8acd7511503e287a9e
9225 * lang/qt/tests/t-keylist.cpp (testPubkeyAlgoAsString): New.
9226
9227 Cpp: Expose gpgme_pubkey_algo_name.
9228 + commit e41ae4db9e70d9aebf80ebbd4ce03977435c2ccf
9229 * lang/cpp/src/key.cpp (Subkey::publicKeyAlgorithmAsString): New
9230 static variant.
9231 * lang/cpp/src/key.h: Declare function. Clarify comment about name
9232 mismatch.
9233
9234 Qt: Add check for pubkeyAlgo in t-keylist.
9235 + commit 9f93346d21271b916f15d80420669f5d659a40de
9236 * lang/qt/tests/t-keylist.cpp (testSingleKeyListSync): Check
9237 pubkeyAlgo.
9238
9239 Cpp: Add PubkeyAlgo enum.
9240 + commit c28007d0407bcc3621b8266d6d77eb0d069aec35
9241 * lang/cpp/src/key.h (Subkey::PubkeyAlgo): New enum.
9242 (Subkey::publicKeyAlgorithm): Change return type.
9243 * lang/cpp/src/key.cpp (Subkey::publicKeyAlgorithm): Use enum.
9244
9245 Qt: Fix include order when buildin test.
9246 + commit 4934893e27a50f5715dcd4d2907ecbe629921b32
9247 * lang/qt/tests/Makefile.am (AM_CPPFLAGS): Include cpp before
9248 gpgme src directory.
9249
9250 Revert "Qt: More robust lookup of Cpp's context.h"
9251 + commit 7a8c04f66d382dc49d962ad18c46d7ad332ccc0f
9252 * lang/qt/src/threadedjobmixin.h: Revert using full path
9253 for context.h
9254
9255 2016-07-05 Andre Heinecke <aheinecke@intevation.de>
9256
9257 Qt: Fix test build with Qt < 5.4.0.
9258 + commit 49a6ee50587c9d4b6f07e60ce1a939c863e7f15c
9259 * lang/qt/tests/t-keylist.cpp,
9260 lang/qt/tests/t-keylocate.cpp,
9261 lang/qt/tests/t-ownertrust.cpp: Use old style SIGNAl syntax for
9262 QSignalSpy
9263
9264 Qt: More robust lookup of Cpp's context.h.
9265 + commit 47bfbc9026b49b9918359af5fcc1621aab0d1065
9266 * lang/qt/src/threadedjobmixin.h: When building qgpgme look for
9267 context.h in the full cpp subdirectory.
9268
9269 w32: Fallback to 2.1 reg key for gpgconf search.
9270 + commit 72b83ffc4d7581f4efef3bd7c261d7d7424bcf0e
9271 * src/w32-util.c (_gpgme_get_gpgconf_path): Fallback to 2.1 installer
9272 registry key.
9273
9274 2016-07-04 Andre Heinecke <aheinecke@intevation.de>
9275
9276 Doc: Document pinentry mode.
9277 + commit 329ab93f7ed862d7f4c0501fca5355936a74ac52
9278 * doc/gpgme.texi (Passphrase Callback): Document as context
9279 attribute.
9280 (gpgme_set_passphrase_cb): Note that this requires LOOPBACK mode
9281 with GnuPG 2.1.
9282
9283 Qt: Add testTofuSignCount.
9284 + commit 8fa9b5696ca9f8386971e6f36646536f9579ceaa
9285 * src/lang/qt/tests/t-tofuinfo.cpp(testTofuSignCount): New.
9286 (initTestCase): Set gpg-agent loopback pinentry config.
9287 (signAndVerify): Helper for tofuTestSignCount.
9288
9289 Qt: Add test passphrase provider.
9290 + commit efb5059b9b6e81db7b0c016aa9fb70abe98308ea
9291 * lang/qt/tests/t-support.h (TestPassphraseProvider): New.
9292 * lang/qt/tests/Makefile.am (t_tofuinfo_SOURCES): Add t-support.h
9293
9294 Cpp: Add support for TOFU_CONFLICT sigsum.
9295 + commit 80498ab662238a31325e78c0037ea6752f680a37
9296 * lang/cpp/src/verificationresult.cpp (GpgME::Signature::Summary):
9297 Handle TOFU_CONFLICT.
9298 * lang/cpp/src/verificationresult.h (Summary): Add TofuConflict.
9299
9300 Cpp: Add support for pinentry_mode.
9301 + commit d75c118aae18e20f08dbbb69c7998e1f3694ccd0
9302 * lang/cpp/src/context.cpp (Context::pinentryMode): Return mode.
9303 (Context::setPinentryMode): Set mode.
9304 * lang/cpp/src/context.h (PinentryMode): Add enum.
9305
9306 2016-07-01 Andre Heinecke <aheinecke@intevation.de>
9307
9308 Qt: Add test for TofuInfo.
9309 + commit fbd6ac4655ebf56d91ebd9a4ff499c8319fcd087
9310 * lang/qt/tests/t-tofuinfo.cpp: New.
9311 * lang/qt/tests/Makefile.am: Update accordingly.
9312
9313 Cpp: Add TofuInfo to signatures.
9314 + commit 93c5d420fcfe275aeff2b3d5ce99629edbe6625d
9315 * lang/cpp/src/tofuinfo.cpp, lang/cpp/src/tofuinfo.h: New class.
9316 * lang/cpp/src/verificationresult.cpp (Signature::tofuInfo): New.
9317 (VerificationResult::Private): Handle tofu info.
9318 (GpgME::operator<<(std::ostream &os, const Signature &sig)): Include
9319 TofuInfo in dump.
9320 * lang/cpp/src/verificationresult.h (Signature::tofuInfo): New.
9321 * lang/cpp/src/Makefile.am (main_sources, gpgmepp_headers): Add
9322 new files.
9323 * configure.ac (LIBGPGMEPP_LT_REVISION): Bump for new API.
9324
9325 core: Clarify documentation of tofu_stats address.
9326 + commit 948ce7d1edf12ecb5080a4816ca15f495d6393f5
9327 * src/gpgme.h.in: Mention that Address is not always in addr-spec.
9328
9329 core: Fix identify for armored detached sigs.
9330 + commit 570bf2a648f14b34c4c45d3890b7300529a82d37
9331 * src/data-identify.c (basic_detection): Return signature for
9332 signature.
9333
9334 2016-06-27 Andre Heinecke <aheinecke@intevation.de>
9335
9336 Cpp: Expose new data_identify values.
9337 + commit 15fc5c34c88ecbb61272705af60f7054b41c57f7
9338 * lang/cpp/src/data.cpp (GpgME::Data::type): Handle PGP Encrypted
9339 and Signature.
9340 * lang/cpp/src/data.h: Add values accordingly.
9341
9342 Cpp: Do not treat KEYEXPIRED as error.
9343 + commit 82d484c852d07958ac93efb3d2d7b7726fbb5231
9344 * lang/cpp/src/editinteractor.cpp (status_to_error): No error
9345 for KEYEXPIRED.
9346
9347 2016-06-24 Andre Heinecke <aheinecke@intevation.de>
9348
9349 tests: Add new test tool run-decrypt.
9350 + commit 3364549c19682f56d4d9c52ab7f76862c5a456cf
9351 * tests/run-decrypt.c: New.
9352 * tests/Makefile.am (noinst_PROGRAMS): Add run-decrypt.
9353
9354 2016-06-23 Werner Koch <wk@gnupg.org>
9355
9356 core: Add closer inspection of "PGP MESSAGE".
9357 + commit cf37a57d28c43ec36277e84ca44458b7287b940b
9358 * src/data-identify.c (inspect_pgp_message): New.
9359 (basic_detection): Un-const arg DATA. Call inspect_pgp_message.
9360
9361 core: Add a base 64 decoder.
9362 + commit f8b8027ae63c957557ed6bdc7e5a30ef1bdd8e77
9363 * src/b64dec.c: New. Taken from gnupg. Prefix function names with
9364 _gpgme_ and change to use standard C malloc functions.
9365 * src/util.h.h (struct b64state): New.
9366 * src/Makefile.am (main_sources): Add file.
9367
9368 2016-06-22 Werner Koch <wk@gnupg.org>
9369
9370 core: Detect compressed signed OpenPGP data.
9371 + commit bb8cf6236582fc9eb6564046599989af52779a26
9372 * src/data-identify.c (next_openpgp_packet): Allow partial encoding.
9373 (pgp_binary_detection): Handle compressed packets.
9374
9375 2016-06-21 Werner Koch <wk@gnupg.org>
9376
9377 tests: Add new test tool run-identify.
9378 + commit 5905e8bbd809c1408edad4fa4eb0527fa51cbea3
9379 * src/gpgme-tool.c (gt_identify): Add new strings.
9380 * tests/run-identify.c: New.
9381 * tests/Makefile.am (noinst_PROGRAMS): Add run-identify.
9382
9383 core: Enhance gpgme_data_identify to detect binary PGP messages.
9384 + commit 32d4bbf5e3e5f88e4a6852d72a35ee30df9d5279
9385 * src/gpgme.h.in (GPGME_DATA_TYPE_PGP_ENCRYPTED): New.
9386 (GPGME_DATA_TYPE_PGP_SIGNATURE): New.
9387 * src/data-identify.c: Add enum for OpenPGP packet types.
9388 (buf32_to_ulong): New.
9389 (next_openpgp_packet): New. Based on the gnupg/kbx/keybox-openpgp.c
9390 implementation and relicensed to LGPL by g10 Code.
9391 (pgp_binary_detection): New.
9392 (basic_detection): Call pgp_binary_detection instead of returning
9393 unknown.
9394
9395 2016-06-16 Justus Winter <justus@g10code.com>
9396
9397 python: Improve autmatically generated docstrings.
9398 + commit 8997d88bf97d1784706becbf8e9dc74e4656e311
9399 * lang/python/gpgme.i: Add comment.
9400 * lang/python/pyme/core.py (__getattr__): Rewrite automatically
9401 generated doctrings for the wrapper methods.
9402
9403 python: Make result objects more robust.
9404 + commit a324d0cffe93cab955698c2c065b2f2227e379e4
9405 Results returned by the GPGME are fragile, i.e. they are only valid
9406 until the next operation is performed in the context.
9407
9408 We cannot arbitrarily constrain the lifetime of Python objects, we
9409 therefore create deep copies of the results.
9410
9411 * lang/python/gpgme.i (gpgme_tofu_info_t): Turn these into a list.
9412 (gpgme_*_result_t): Create deep copies of these objects.
9413 * lang/python/helpers.c (pygpgme_wrap_fragile_result): New function.
9414 * lang/python/helpers.h (pygpgme_wrap_fragile_result): New prototype.
9415 * lang/python/pyme/results.py: New file.
9416
9417 python: Avoid creating SWIG proxy classes.
9418 + commit 856bcfe2934237011984fab0bc69800a7c25c34b
9419 * lang/python/Makefile.am (gpgme_wrap.c): Use '-builtin' to make SWIG
9420 generate builtin types for c types.
9421 * lang/python/gpgme.i (pygpgme_wrap_gpgme_data_t): Adapt slightly.
9422
9423 python: Simplify wrapping glue.
9424 + commit 6641c7814b30e3e8f18105b2636545cc1bd07552
9425 * lang/python/pyme/core.py: Rename '_getctype' to '_ctype' and turn it
9426 into a string. Likewise rename '_getnameprepend' to '_cprefix'.
9427 * lang/python/helpers.c: Adapt accordingly.
9428
9429 python: Rework callbacks.
9430 + commit f3618bc615e3eff1f52fb5849cbf0f0b95515a61
9431 Simplify how the lifetime of callback arguments is managed.
9432
9433 * lang/python/gpgme.i (gpgme_edit_cb_t): Check arguments.
9434 (PyObject_p_p, void_p_p): Drop rather dangerous interface.
9435 (pygpgme_unwrap_gpgme_ctx_t): New function.
9436 * lang/python/helpers.c (pygpgme_clear_generic_cb): Drop dangerous
9437 function.
9438 (pyPassphraseCb): Assert contract.
9439 (pygpgme_set_passphrase_cb): Use Python's calling convention so that
9440 we can raise exceptions. Hand in 'self', get the wrapped object, and
9441 simply store the hook data as attribute of the wrapper object.
9442 (pyProgressCb, pygpgme_set_progress_cb): Likewise.
9443 (pygpgme_set_status_cb): Likewise.
9444 (pygpgme_data_new_from_cbs): Likewise.
9445 * lang/python/helpers.h (pygpgme_clear_generic_cb): Drop prototype.
9446 (pygpgme_set_passphrase_cb): Update prototype.
9447 (pygpgme_set_progress_cb): Likewise.
9448 (pygpgme_set_status_cb): Likewise.
9449 (pygpgme_data_new_from_cbs): Likewise.
9450 (pygpgme_unwrap_gpgme_ctx_t): New prottotype.
9451 * lang/python/pyme/core.py (Context, Data): Update callsites.
9452
9453 python: Wrap objects implementing the buffer protocol.
9454 + commit 616929b6edf00b4a774b727385d39b785a112b90
9455 * lang/python/Makefile.am: Add the toplevel source directory to CFLAGS
9456 when compiling the bindings so that we can use private header files.
9457 * lang/python/gpgme.i (gpgme_data_t): Rework the object wrapping. Do
9458 not create a Python wrapper object, merely a gpgme_data_t object, and
9459 keep references to buffer objects, if any. If necessary, update the
9460 buffer after the function call.
9461 (pygpgme_wrap_gpgme_data_t): New function.
9462 * lang/python/helpers.c (object_to_gpgme_data_t): Rework object
9463 wrapping. Also wrap objects implementing the buffer protocol.
9464 * lang/python/helpers.h (object_to_gpgme_data_t): Update prototype.
9465 (pygpgme_wrap_gpgme_data_t): New prototype.
9466 * lang/python/tests/t-idiomatic.py: Demonstrate this.
9467
9468 python: Add properties to wrapped object.
9469 + commit 5464060baef2da8f5ea377118758e451c55e3787
9470 * lang/python/pyme/core.py (GpgmeWrapper.__repr__): Saner
9471 representation.
9472 (GpgmeWrapper.__str__): Construct a nicer human readable string.
9473 (GpgmeWrapper._boolean_properties): New field.
9474 (GpgmeWrapper.__wrap_boolean_property): New function.
9475 (GpgmeWrapper.__getattr__): Wrap functions using properties.
9476 (GpgmeWrapper.__setattr__): New method. Likewise wrap functions.
9477 (Context.signers): New property.
9478 (Context.pinentry_mode): Likewise.
9479 (Context._boolean_properties): List boolean properties.
9480 (Context.__init__): Add keyword arguments for properties and apply
9481 them.
9482
9483 python: Improve the documentation.
9484 + commit 5492853d7b84b4e1d0b11b234e32252ba8d1608d
9485 * lang/python/Makefile.am: Copy the README file.
9486 * lang/python/README: Rename, convert to org, and update.
9487 * lang/python/pyme/__init__.py: Move license out of the docstring,
9488 update docstring.
9489 * lang/python/pyme/core.py: Add and update docstrings.
9490
9491 python: Get version information from the build system.
9492 + commit 7eef399d89d4c3877cb795ed5ba45ecb241e67be
9493 * configure.ac: Generate 'setup.py' and 'version.py'.
9494 * lang/python/Makefile.am: Use generated setup script.
9495 * lang/python/pyme/version.py: Turn it into a template, and get
9496 version information from the build system. Also drop some variables.
9497 * lang/python/setup.py: Likewise. This way we can avoid importing the
9498 version module, which is frowned upon and actually caused a problem.
9499
9500 python: Fix exception leak.
9501 + commit a852f99a0ac9dc7f7493b403f811f5f7518fae40
9502 * lang/python/helpers.c (pygpgme_stash_callback_exception): Fix leak.
9503
9504 python: Fix license.
9505 + commit 3bacce03e60dc45cc2da99a2f5c504612202e802
9506 Other parts of the build system are also LGPLed.
9507
9508 * lang/python/Makefile.am: Fix license.
9509
9510 2016-06-14 Werner Koch <wk@gnupg.org>
9511
9512 core: Make sure FD_SET is not used with an out of range fd.
9513 + commit 8173c4f1f8a145c4b1d454f6f05e26950e23d675
9514 * src/posix-io.c (_gpgme_io_select): Check for FD out of range.
9515
9516 2016-06-08 Justus Winter <justus@g10code.com>
9517
9518 python: Improve error handling.
9519 + commit 77d149e8614c381458e07808a7930ce3fb92cdc3
9520 * lang/python/helpers.c (pyPassphraseCb): Handle write errors.
9521 (pyEditCb): Likewise.
9522
9523 python: Add function to raise exceptions from c.
9524 + commit 5ebc205439cac266685d2532466df8b3457dea23
9525 * lang/python/helpers.c (pygpgme_raise_exception): New function.
9526
9527 python: Fix stripping deprecated functionality.
9528 + commit 8426304b67a0b0a5630db500abf740b0e0b9e43c
9529 * lang/python/Makefile.am (gpgme.h): Add script as input.
9530 * lang/python/gpgme-h-clean.py (deprec_func): Also match struct
9531 members.
9532 (line_break): Fix matching on struct members.
9533
9534 python: Fix type.
9535 + commit 990492ea4f7dafbb75de15ea91c30cbf090034b5
9536 * lang/python/gpgme.i: Use correct Python type for size.
9537
9538 python: Implement the context manager protocol.
9539 + commit e3c5913a33edcbd7329b8d154c669f95ce782038
9540 * lang/python/pyme/core.py (Context.__del__): Make function
9541 idemptotent.
9542 (Context.{__enter__,__exit__}): Implement the context manager
9543 protocol.
9544 (Data.__del__): Make function idemptotent, drop debug print.
9545 (Data.{__enter__,__exit__}): Implement the context manager
9546 protocol.
9547 * lang/python/tests/t-idiomatic.py: Demonstrate this.
9548
9549 2016-06-07 Justus Winter <justus@g10code.com>
9550
9551 python: Fix error handling.
9552 + commit f8f9bf06bc3190968ba6613032d60a3bf2c8a6d9
9553 * lang/python/gpgme.i: Fix freeing an uninitialized pointer in the
9554 error handling of generated wrapper functions by explicitly storing
9555 the pointer in a local variable which can be initialized.
9556
9557 2016-06-06 Justus Winter <justus@g10code.com>
9558
9559 python: Wrap file-like objects on demand.
9560 + commit 8196edf9ca5c8f2f02553e7f22d9c79dbd229882
9561 * lang/python/gpgme.i (gpgme_data_t): Use new function to create
9562 wrapper objects if necessary, and deallocate them after the function
9563 call.
9564 * lang/python/helpers.c (object_to_gpgme_data_t): New function.
9565 * lang/python/helpers.h (object_to_gpgme_data_t): New prototype.
9566 * lang/python/tests/Makefile.am (pytests): Add new test.
9567 * lang/python/tests/t-idiomatic.py: New file.
9568
9569 python: Move helper function.
9570 + commit 26c3accc95ab77ddbe60db822e2938ad5f480d41
9571 * lang/python/gpgme.i (object_to_gpgme_t): Move...
9572 * lang/python/helpers.c: ... here.
9573 * lang/python/helpers.h (object_to_gpgme_t): New prototype.
9574
9575 python: Fix error handling.
9576 + commit 89eb0cd4d65bc033ed6342810b26232797482d64
9577 * lang/python/gpgme.i (object_to_gpgme_t): Properly propagate
9578 exceptions.
9579
9580 python: Initialize GPGME for the user.
9581 + commit ae06f7c2fe0e49baeab5a827dc38ba8c57a6404c
9582 * lang/python/pyme/core.py: Call 'check_version' and explain why.
9583 * lang/python/tests/support.py (init_gpgme): Drop call here.
9584
9585 2016-06-01 Justus Winter <justus@g10code.com>
9586
9587 python: Fix test suite with GnuPG prior to 2.1.12.
9588 + commit bbf19124bbec9eb6298cef2914baae7ac74382fe
9589 * lang/python/tests/Makefile.am (gpg-agent.conf): Use
9590 'allow-loopback-pinentry'.
9591
9592 python: Make Python detection more robust.
9593 + commit 1607aa7fe5dd686ba3bfb6de4a2b602d6a458c86
9594 Previously, missing Python development packages made configure fail
9595 instead of merely disabling the bindings.
9596
9597 * configure.ac: Check for 'PYTHON_VERSION'.
9598 * m4/ax_python_devel.m4: Make test non-fatal.
9599
9600 python: Improve build system integration, fix warnings.
9601 + commit 73c47535b631a55687ecc5eff1d1d9a9fd71021e
9602 * lang/python/Makefile.am: Pass CFLAGS to python build system.
9603 * lang/python/helpers.c (pyPassphraseCb): Use correct type for length.
9604 (pygpgme_data_new_from_cbs): Drop unused variable.
9605
9606 2016-06-01 Andre Heinecke <aheinecke@intevation.de>
9607
9608 Cpp: Use whitelist for status messages.
9609 + commit 54314a9c7d7ad52981c836ca742644a1fa69b518
9610 * lang/cpp/src/editinteractor.cpp (EditInteractor::needsNoResponse):
9611 Use whitelist instead of blacklist.
9612
9613 Qt: Fix debug output in t-ownertrust.
9614 + commit 9d6f85bd25e51445f1776b498875e77b529311b1
9615 * lang/qt/tests/t-ownertrust.cpp (testChangeOwnerTrust): Remove
9616 general debug of trust level. Add debug output for error.
9617
9618 2016-06-01 Justus Winter <justus@gnupg.org>
9619
9620 tests: Fix notation tests.
9621 + commit c88c9ef384b6f7bda9a61b58f26c2f89ae25f684
9622 * lang/python/tests/t-sig-notation.py (check_result): Check critical
9623 flag.
9624 * tests/gpg/t-sig-notation.c (check_result): Likewise.
9625
9626 2016-06-01 Werner Koch <wk@gnupg.org>
9627
9628 core: Set notation flags for verify.
9629 + commit 1cacd7d00a7b3de4a5e11ccce5ee6c50e0a5516d
9630 * src/gpgme.h.in (GPGME_STATUS_NOTATION_FLAGS): New.
9631 * src/status-table.c (status_table): Add new status.
9632 * src/verify.c (parse_notation): Handle flags. Also fix NOTATION_DATA
9633 in case gpg would not percent-escape spaces.
9634 (_gpgme_verify_status_handler): Handle flags.
9635 * tests/run-verify.c (print_result): Print notaion data.
9636
9637 2016-05-31 Tobias Mueller <muelli@cryptobitch.de>
9638
9639 python: use GPG_ERROR_CONFIG variable.
9640 + commit 8ad17f402f6420880dcf06a13a54feadb52c0208
9641 instead of calling gpg-error-config.
9642 This is useful when configuring with --with-gpgerror-prefix
9643 because then GPG_ERROR_CONFIG contains the correct
9644 /path/to/bin/gpg-error-config whereas calling gpg-error-config
9645 directly would look in the user's PATH (and not in the prefix
9646 where gpg-error-config was installed).
9647
9648 2016-05-31 Justus Winter <justus@gnupg.org>
9649
9650 python: Port more tests.
9651 + commit afa0dd56e1cce64fe08bff3c64b12aecce54fd2d
9652 * lang/python/gpgme.i: Hide length fields of notations.
9653 * lang/python/tests/Makefile.am (pytests): Add new tests.
9654 * lang/python/tests/t-decrypt-verify.py: New file.
9655 * lang/python/tests/t-sig-notation.py: Likewise.
9656 * lang/python/tests/t-verify.py: Likewise.
9657
9658 2016-05-27 Werner Koch <wk@gnupg.org>
9659
9660 Speedup closing of fds before exec.
9661 + commit 89d22f9229f2ecd559ac6ea91dae60eeff940fa5
9662 * src/posix-io.c [__linux__]: Include dirent.h.
9663 (get_max_fds) [__linux__]: Try to figure out the highest used fd.
9664
9665 2016-05-27 Justus Winter <justus@gnupg.org>
9666
9667 python: Port more tests.
9668 + commit 3915842657f0849a038752fd7445f96081a89dd9
9669 * lang/python/pyme/core.py (Data._error_check): Add
9670 'gpgme_data_get_file_name' to the list of functions not returning an
9671 error code.
9672 * lang/python/tests/Makefile.am (pytests): Add new tests.
9673 * lang/python/tests/support.py (verbose): New variable.
9674 * lang/python/tests/t-data.py: Test setting and getting the filename.
9675 * lang/python/tests/t-encrypt-large.py: New file.
9676 * lang/python/tests/t-file-name.py: Likewise.
9677 * lang/python/tests/t-trustlist.py: Likewise.
9678
9679 python: Implement data callbacks.
9680 + commit 2ae847c02731994d99e69d3d025ff01f41406452
9681 * lang/python/gpgme.i (object_to_gpgme_t): Set exception on error.
9682 * lang/python/helpers.c (pyDataReadCb): New function.
9683 (pyDataWriteCb): Likewise.
9684 (pyDataSeekCb): Likewise.
9685 (pyDataReleaseCb): Likewise.
9686 (pygpgme_data_new_from_cbs): Likewise.
9687 * lang/python/helpers.h (pygpgme_data_new_from_cbs): New prototype.
9688 * lang/python/pyme/core.py (Data.__init__): Fix docstring, fix read
9689 callbacks.
9690 (Data.__del__): Fix read callbacks.
9691 (Data._free_readcb): Drop function.
9692 (Data._free_datacbs): New function.
9693 (Data.new_from_cbs): Fix setting the callbacks.
9694 (Data.write): Raise stashed exceptions.
9695 (Data.read): Likewise.
9696 * lang/python/tests/t-callbacks.py: Test new functionality.
9697 * lang/python/tests/t-data.py: Likewise.
9698
9699 python: Fix object deallocation.
9700 + commit ebfe2300c33a3bad311e9ac1530e6c92636a08a4
9701 Handing a reference to the wrapper object created a non-trivial
9702 circular reference that Pythons garbage collector is unable to break.
9703 Explicitly break it by using a weak reference.
9704
9705 * lang/python/helpers.c (pygpgme_stash_callback_exception): Retrieve
9706 object from weak reference.
9707 * lang/python/pyme/core.py (Context.__del__): Free status callback.
9708 (Context.set_passphrase_cb): Use a weak reference.
9709 (Context.set_progress_cb): Likewise.
9710 (Context.set_status_cb): Likewise.
9711 (Context.op_edit): Likewise.
9712
9713 Improve comments.
9714 + commit e74cd9fb80f12b764d5e4561e73d55644147e9e7
9715 * src/gpgme.h.in (gpgme_data_seek_cb_t, gpgme_data_seek): Clarify that
9716 these functions return the new offset.
9717 (gpgme_data_release_cb_t): Fix name of parameter.
9718
9719 python: Fix reading data from existing files.
9720 + commit bf188e280b8b4fc775f33c47e2e1e275ed044004
9721 * lang/python/pyme/core.py (Data.__init__): Add 'copy' kwargument, and
9722 pass it to functions supporting it. PEP8 fix.
9723 (Data.new_from_fd): PEP8 fix.
9724 (Data.new_from_file): Give a more helpful error message if copy is
9725 False. PEP8 fix.
9726 (Data.new_from_fd): Hand the file descriptor to
9727 'gpgme_data_new_from_fd', not a stream. Fix docstring.
9728 * lang/python/tests/t-data.py: Add tests for this.
9729
9730 2016-05-25 Justus Winter <justus@gnupg.org>
9731
9732 src: Fix trace string.
9733 + commit ce73ae9d0cbf782cd3a1949fc4f568f0d1da60d9
9734 * src/data-compat.c (gpgme_data_new_from_file): Fix trace string.
9735
9736 2016-05-24 Justus Winter <justus@gnupg.org>
9737
9738 python: Improve and test Context.wait.
9739 + commit 00ff6d07330028da370c869e3ec442eb76f8cbb8
9740 * lang/python/pyme/core.py (Context.wait): Improve docstring. As the
9741 context passed to 'gpgme_wait' is never NULL, it is pointless to look
9742 at the returned context. Always raise exceptions.
9743 * lang/python/tests/Makefile.am (pytests): Add new test.
9744 * lang/python/tests/t-wait.py: New file.
9745
9746 python: Make all GnuPG errors available.
9747 + commit 7bc9cc717e428f48d4b27016f44c9f3900b1fba6
9748 * lang/python/Makefile.am (errors.i): Generate file.
9749 * lang/python/gpgme.i: Include generated file.
9750 * lang/python/pyme/errors.py: Pull in all errors and error sources.
9751
9752 python: Move the base wrapper class.
9753 + commit 0ebd6a1b43a96bffa78da89dc8629edac0a74d35
9754 * python/lang/pyme/util.py (GpgmeWrapper): Move...
9755 * python/lang/pyme/core.py: ... here.
9756
9757 python: Support status callbacks.
9758 + commit 8b57f06e0c04f5c9b87a3c76618230d757412076
9759 * lang/python/helpers.c (pyStatusCb): New function.
9760 (pygpgme_set_status_cb): Likewise.
9761 * lang/python/helpers.h (pygpgme_set_status_cb): New prototype.
9762 * lang/python/pyme/core.py (Context.__init__): Initialize
9763 'last_statuscb'.
9764 (Context._free_statuscb): New function.
9765 (Context.set_status_cb): Likewise.
9766 * lang/python/tests/t-callbacks.py: Test status callbacks.
9767
9768 python: Improve docstring.
9769 + commit 72afb68f8c2f0cb326f20b289215402fd849339d
9770 * lang/python/pyme/core.py (Context.set_progress_cb): Improve
9771 docstring.
9772
9773 2016-05-24 Andre Heinecke <aheinecke@intevation.de>
9774
9775 Qt: Fix test build with clang.
9776 + commit 00e93b2cae0585ff10425421d9097a846943b21c
9777 * lang/qt/tests/Makefile.am (LDADD): Explicitly add -lstdc++
9778
9779 Cpp: Set -std=c++11 also if CXXCPP is already set.
9780 + commit b107fc8a92bd16bc0d868c771b6334d6594e6395
9781 * m4/ax_cxx_compile_stdxx.m4 (AX_CXX_COMPILE_STDCXX): Set CXXCPP if
9782 neccessary.
9783
9784 2016-05-24 Justus Winter <justus@gnupg.org>
9785
9786 python: Improve support for edit callbacks.
9787 + commit 09803c4a81b9431fd4c8f30abb1c60c4c735f0cb
9788 * lang/python/helpers.c (pyEditCb): Stash exceptions.
9789 * lang/python/pyme/core.py (Context.op_edit): Hand in 'self'.
9790 * lang/python/tests/Makefile.am (py_tests): Add new test.
9791 * lang/python/tests/t-callbacks.py: Test edit callbacks.
9792 * lang/python/tests/t-edit.py: New file.
9793
9794 2016-05-23 Justus Winter <justus@gnupg.org>
9795
9796 python: Fix hook.
9797 + commit 283f0bdc3d32624dac93d02ba3df516e69d8d4ba
9798 * lang/python/helpers.c (pyProgressCb): Fix getting hook data.
9799 * lang/python/tests/t-callbacks.py: Show that this works.
9800
9801 python: Move edit callback function.
9802 + commit 5476ca6813fc9d8833d5224f19d4bb7515380ab5
9803 * lang/python/gpgme.i (pyEditCb): Move...
9804 * lang/python/helpers.c: ... here.
9805 * lang/python/helpers.h (pyEditCb): New prototype.
9806
9807 python: Port more tests.
9808 + commit a42d814a65fdc29a3be6efa97433997495696a88
9809 * lang/python/tests/Makefile.am (TESTS_ENVIRONMENT): Set
9810 LD_LIBRARY_PATH.
9811 (pytests): Add new tests.
9812 * lang/python/tests/t-callbacks.py: Trim imports.
9813 * lang/python/tests/t-encrypt-sign.py: New file.
9814 * lang/python/tests/t-export.py: Likewise.
9815 * lang/python/tests/t-signers.py: Likewise.
9816
9817 python: Translate list of strings.
9818 + commit c9cc0412e940c78c3e9bacb6ff1459b5bb5bb9ad
9819 * lang/python/gpgme.i: Add typemap translating list of strings.
9820
9821 2016-05-21 Werner Koch <wk@gnupg.org>
9822
9823 api: Return Tofu info for signatures.
9824 + commit 10df06ee8f9192309bf124872438f7c32457e1c6
9825 * src/gpgme.h.in (gpgme_tofu_policy_t): New.
9826 (gpgme_status_code_t): Add status codes for TOFU.
9827 (struct _gpgme_tofu_info, gpgme_tofu_info_t): New.
9828 (struct _gpgme_signature): Add field 'tofu'.
9829 * src/status-table.c (status_table): Add new codes.
9830 * src/verify.c: Include limits.h.
9831 (release_tofu_info): New.
9832 (release_op_data): Call that.
9833 (parse_tofu_user): New.
9834 (parse_tofu_stats): New.
9835 (parse_tofu_stats_long): New.
9836 (_gpgme_verify_status_handler): Handle TOFU status lines.
9837
9838 * tests/run-verify.c (print_description): New.
9839 (print_result): print tofu info.
9840
9841 api: Add new context flag "raw-description".
9842 + commit dac2c5441d418536632f014c8b0e1359580279d1
9843 * src/context.h (struct gpgme_context): Add field raw_description.
9844 * src/gpgme.c (gpgme_set_ctx_flag): New flag.
9845
9846 core: New functions to help parsing of status lines.
9847 + commit a92946a8cacc44f655249d84b316deae59e62671
9848 * src/conversion.c (_gpgme_split_fields): New.
9849 (_gpgme_strtoul_field): New.
9850
9851 2016-05-20 Andre Heinecke <aheinecke@intevation.de>
9852
9853 Qt: Add test for changeownertrust.
9854 + commit eaf2d018e63c15cd9a81e5c1fd2fedbf8829f7b9
9855 * lang/qt/tests/t-ownertrust.cpp: New test.
9856 * lang/qt/tests/Makefile.am: Add test.
9857
9858 Cpp: Ignore STATUS_KEY_CONSIDERED when editing.
9859 + commit 5df858cbf196b2a53d600b7f45655f7b35c1fe93
9860 * lang/cpp/src/editinteractor.cpp (EditInteractor::needsNoResponse):
9861 Handle GPGME_STATUS_KEY_CONSIDERED.
9862
9863 2016-05-19 Werner Koch <wk@gnupg.org>
9864
9865 api: Add new function gpgme_set_ctx_flag.
9866 + commit 88f2c1c0d16eee6bb36a901623ea65ac69499f03
9867 * src/gpgme.h.in (gpgme_set_ctx_flag): New prototype.
9868 * src/gpgme.c (gpgme_set_ctx_flag): New.
9869 * src/gpgme.def, src/libgpgme.vers: Add new function.
9870 * src/context.h (struct gpgme_context): Add FULL_STATUS.
9871 * src/decrypt.c (_gpgme_decrypt_status_handler): Do not call the
9872 status callback if FULL_STATUS is set.
9873 * src/genkey.c (genkey_status_handler): Ditto.
9874 * src/passphrase.c (_gpgme_passphrase_status_handler): Ditto.
9875 * src/sign.c (_gpgme_sign_status_handler): Ditto.
9876
9877 * src/engine-backend.h (struct engine_ops): Add SET_STATUS_CB and add
9878 adjust all definitions of that variable.
9879 * src/engine.c (_gpgme_engine_set_status_cb): New.
9880 * src/op-support.c (_gpgme_op_reset): Call this function.
9881
9882 * src/engine-gpg.c (struct engine_gpg): Add fields MON_CB and
9883 MON_CB_VALUE.
9884 (gpg_set_status_cb): New.
9885 (_gpgme_engine_ops_gpg): Register that function.
9886 (read_status): Call the monitor callback.
9887
9888 * src/engine-gpgsm.c (struct engine_gpgsm): Add fields MON_CB and
9889 MON_CB_VALUE.
9890 (_gpgme_engine_ops_gpgsm): Register that function.
9891 (gpgsm_assuan_simple_command): Change first arg to be an engine
9892 context and adjust call callers. Call the monitor callback.
9893
9894 * src/engine-uiserver.c (struct engine_uiserver): Add fields MON_CB
9895 and MON_CB_VALUE.
9896 (_gpgme_engine_ops_uiserver): Register that function.
9897 (uiserver_assuan_simple_command): Change first arg to be an engine
9898 context and adjust call callers. Call the monitor callback.
9899
9900 * tests/run-verify.c (status_cb): New.
9901 (print_result): Print algo names.
9902 (main): Add option --status.
9903
9904 api: Remove arbitrary restriction from gpgme_op_verify.
9905 + commit 5aa8e588e166abeef2e3d677ab6830f2d7af1b5d
9906 * src/verify.c (verify_start): Do not return GPG_ERR_INV_VALUES when
9907 when SIGNED_TEXT is not given.
9908
9909 2016-05-19 Justus Winter <justus@gnupg.org>
9910
9911 python: Improve progress callbacks.
9912 + commit 0d4e95621e05d50cd454049a424bb9ee098a5db6
9913 * lang/python/helpers.c (pyProgressCb): Stash python errors, convert
9914 'what' to Unicode object.
9915 * lang/python/pyme/core.py (Context.set_progress_cb): Hand in 'self'.
9916 * lang/python/tests/t-callbacks.py: Test progress callbacks.
9917
9918 python: Robust exception handling in callbacks.
9919 + commit d90857a08c4fe5b73b6d6d46fd6200efdd72db44
9920 * lang/python/helpers.c (pygpgme_stash_callback_exception): New
9921 function.
9922 (pygpgme_raise_callback_exception): Likewise.
9923 (pyPassphraseCb): Stash python errors.
9924 * lang/python/helpers.h (pygpgme_raise_callback_exception): New
9925 prototype.
9926 * lang/python/pyme/core.py ({Context,Data}.__init__): Move common
9927 initialization to superclass.
9928 (Context.set_progress_cb): Hand in 'self'.
9929 * lang/python/pyme/util.py (GpgmeWrapper.__init__): New function.
9930 (GpgmeWrapper.__getattr__): Raise stashed exceptions.
9931 * lang/python/tests/Makefile.am (py_tests): Add new test.
9932 * lang/python/tests/t-callbacks.py: New file.
9933
9934 2016-05-19 Andre Heinecke <aheinecke@intevation.de>
9935
9936 Qt: Check for graphviz and set HAVE_DOT correctly.
9937 + commit 2f748b5a2d162be4f23b18782219771ead54cb51
9938 * configure.ac: Check for graphviz and define HAVE_DOT.
9939 * lang/qt/doc/Doxyfile.in (HAVE_DOT): Use variable.
9940
9941 2016-05-19 Justus Winter <justus@gnupg.org>
9942
9943 python: Add more tests.
9944 + commit 464d404c8816fc93baf945816c93e86bdeb0ea39
9945 * lang/python/tests/Makefile.am (py_tests): Add new tests.
9946 * lang/python/tests/support.py (print_data): New function.
9947 * lang/python/tests/t-decrypt.py: Use new function.
9948 * lang/python/tests/t-encrypt.py: Likewise.
9949 * lang/python/tests/t-sign.py: New file.
9950 * lang/python/tests/t-encrypt-sym.py: Likewise.
9951
9952 python: More type conversion fixes.
9953 + commit c1c893e3384a07ff864507902fbac4a7fee4d6f1
9954 * lang/python/helpers.c (pyPassphraseCb): Cope with 'uid_hint' being
9955 NULL, convert it to an Unicode object, and cope with the callback
9956 returning both Unicode and bytes objects.
9957
9958 python: Fix import.
9959 + commit 07f71cd17706093ca6b1507c41609356d479ae9f
9960 * lang/python/helpers.c (pygpgme_exception_init): Make module import
9961 relative.
9962
9963 2016-05-19 Andre Heinecke <aheinecke@intevation.de>
9964
9965 Qt: Fix compilation of unit tests.
9966 + commit 375523ead3a749d77d286c56f10d403c07f2b014
9967 * lang/qt/tests/Makefile.am (AM_CPPFLAGS): Add -DBUILDING_QGPGME.
9968
9969 2016-05-18 Justus Winter <justus@gnupg.org>
9970
9971 python: Various fixes.
9972 + commit 2c3a5d93e78cfca22785e51c5a65184a47da4bff
9973 * configure.ac: Fix SWIG detection, bump required Python version.
9974 * lang/python/Makefile.am: Portability fix.
9975
9976 2016-05-18 Andre Heinecke <aheinecke@intevation.de>
9977
9978 Fix typo in compatibility declaration.
9979 + commit f0dca0ab92ed18d80e30d7d39db1596b4112794f
9980 * src/op-support.c (GPG_ERR_SUBKEYS_EXP_REV): Change to
9981 GPG_ERR_SUBKEYS_EXP_OR_REV.
9982
9983 2016-05-17 Werner Koch <wk@gnupg.org>
9984
9985 tests: New maintenance helper run-encrypt.
9986 + commit 30b447fcfe0e4f362c2575e1b9388e8144b5b2fd
9987 * tests/run-encrypt.c: New.
9988
9989 Return dedicated error code for all subkeys expired or revoked.
9990 + commit 315fb73d4a774e2c699ac1804f5377559b4d0027
9991 * src/gpgme.h.in (GPGME_STATUS_KEY_CONSIDERED): New.
9992 (GPGME_SIGSUM_TOFU_CONFLICT): New.
9993 * src/status-table.c (KEY_CONSIDERED): New.
9994 * src/op-support.c (_gpgme_parse_inv_recp): Add argc KC_FPR and
9995 KC_FLAGS. Use calloc. Detect all expired or revoked subkeys.
9996 (_gpgme_parse_key_considered): New.
9997 * src/sign.c (op_data_t): Add fields KC_FPR and KC_FLAGS.
9998 (release_op_data): Free KC_FPR.
9999 (_gpgme_sign_status_handler): Handle STATUS_KEY_CONSIDERED.
10000 * src/encrypt.c (op_data_t): Add fields KC_FPR and KC_FLAGS.
10001 (release_op_data): Free KC_FPR.
10002 (_gpgme_encrypt_status_handler): Handle STATUS_KEY_CONSIDERED.
10003
10004 2016-05-17 Andre Heinecke <aheinecke@intevation.de>
10005
10006 Qt / Cpp: Port auto_ptr to unique_ptr.
10007 + commit 9b36ebf37a3b889c955ba68038bd5b3d9c5cde4e
10008 * lang/cpp/src/context.cpp,
10009 lang/cpp/src/context.h,
10010 lang/cpp/src/context_p.h (Context::createForEngine),
10011 (Context::edit, Context::startEditing),
10012 (Context::takeLastEditInteractor, Context::cardEdit),
10013 (Context::startCardEditing, Context::takeLastCardEditInteractor),
10014 (Context::assuanTransact, Context::startAssuanTransaction),
10015 (Context::takeLastAssuanTransaction): Port to unique_ptr.
10016 * lang/qt/src/qgpgmeadduseridjob.cpp,
10017 lang/qt/src/qgpgmechangeexpiryjob.cpp,
10018 lang/qt/src/qgpgmechangeownertrustjob.cpp,
10019 lang/qt/src/qgpgmechangepasswdjob.cpp,
10020 lang/qt/src/qgpgmesignkeyjob.cpp: Update accordingly.
10021
10022 2016-05-17 Justus Winter <justus@gnupg.org>
10023
10024 build: Add python autoconf macro.
10025 + commit 4711a1e181153a2395e5f523047595abd47965db
10026 * m4/ax_python_devel.m4: New file.
10027
10028 python: Clean up examples.
10029 + commit 10328324c8fc9725cd0c885eaebfc80dc32c1ff6
10030 * lang/python/examples/delkey.py: Clean up example.
10031 * lang/python/examples/encrypt-to-all.py: Likewise.
10032 * lang/python/examples/genkey.py: Likewise.
10033 * lang/python/examples/inter-edit.py: Likewise.
10034 * lang/python/examples/sign.py: Likewise.
10035 * lang/python/examples/signverify.py: Likewise.
10036 * lang/python/examples/simple.py: Likewise.
10037 * lang/python/examples/t-edit.py: Likewise.
10038 * lang/python/examples/verifydetails.py: Likewise.
10039 * lang/python/pyme/__init__.py: Likewise.
10040
10041 python: Import GPGMEError.
10042 + commit 64e5fe767f45e9ccb0fb3fe919171c222132a54c
10043 * pyme/core.py: Import GPGMEError.
10044
10045 Fixes c5d118b2.
10046
10047 python: Port more tests.
10048 + commit 9ceaec25918c6c5f2dfafe4e20181b83ce78f6ce
10049 * lang/python/Makefile.am: Add bits from the c test suite.
10050 * lang/python/support.py: New file.
10051 * lang/python/t-decrypt.py: Likewise.
10052 * lang/python/t-encrypt.py: Likewise.
10053
10054 2016-05-13 Andre Heinecke <aheinecke@intevation.de>
10055
10056 Qt: Add keyLocateJob and test for it.
10057 + commit 52f2295d528029a36a3e0a89c777297762b3fc9b
10058 * configure.ac (LIBQGPGME_LT_REVISION): Bump.
10059 * lang/qt/src/protocol.h (locateKeysJob): Add Job.
10060 * lang/qt/src/protocol_p.h (locateKeysJob): Implement.
10061 * lang/qt/tests/Makefile.am: Add t-keylocate.
10062 * lang/qt/tests/t-keylocate.cpp: New.
10063
10064 Qt: Add missing copyright header in test.
10065 + commit 66ded1a5ce7236254f8541addecd4c3bc7b2878e
10066 * lang/qt/tests/t-keylist.cpp: Add copyright header.
10067
10068 2016-05-12 Justus Winter <justus@gnupg.org>
10069
10070 python: Share generated methods between objects.
10071 + commit 11314f0db6e57597e3f56351a86fdb36a7a17dd7
10072 * lang/python/pyme/util.py (GpgmeWrapper.__getattr__): Monkey-patch
10073 the class.
10074 * lang/python/tests/t-wrapper.py: Demonstrate the sharing.
10075
10076 python: Raise exceptions on write errors.
10077 + commit c5d118b2a76e9528df780d11da9566ff7c22e4f5
10078 * lang/python/pyme/core.py (Data.write): Handle errors.
10079 * lang/python/pyme/errors.py (GPGMEError.fromSyserror): New function.
10080
10081 python: Fix writing to data buffers.
10082 + commit f7094d8358e933f3ce074eade7a40b2a7d291180
10083 * lang/python/gpgme.i: Add typemap for buffers.
10084 * lang/python/pyme/core.py (Data.write): Fix function.
10085 * lang/python/tests/Makefile.am: Add new test.
10086 * lang/python/tests/t-data.py: New file.
10087
10088 python: Add a test suite.
10089 + commit e64bffe0307d14204b00a177a472cd4f99c07561
10090 * configure.ac: Add new Makefile.
10091 * lang/python/Makefile.am: Add subdirectory.
10092 * lang/python/tests/Makefile.am: New file.
10093 * lang/python/tests/t-wrapper.py: Likewise.
10094
10095 python: Cache generated wrapper functions.
10096 + commit ed0ce84fbd2904bf59ac66ae7422716db3624efa
10097 * lang/python/util.py (GpgmeWrap.__getattr__): Cache generated wrapper
10098 functions.
10099
10100 python: Fix function invocation.
10101 + commit e3d3d366bd1a1aea8a38ae5dcbf71ea3c784e920
10102 * lang/python/pyme/core.py (Data.new_from_fd): Fix function
10103 invocation.
10104
10105 python: Fix name of exception, make slot methods explicit.
10106 + commit af9371eb63664c92fb67e8e7e03cc984e7d38a7f
10107 * lang/python/pyme/util.py (GpgmeWrapper._getctype): Fix exception,
10108 add docstring.
10109 (GpgmeWrapper._getnameprepend): New function.
10110 (GpgmeWrapper._errorcheck): Likewise.
10111
10112 python: Handle interpreter shutdown.
10113 + commit ce5121ad53b0e17fbf9150b354c80da73f7fe190
10114 * lang/python/pyme/core.py: Avoid races at interpreter shutdown. This
10115 silences the most annoying occurrences, however this problem also
10116 affects the SWIG generated code, which might indicate that the real
10117 problem is somewhere else. If so, this change can be easily reverted.
10118
10119 python: Make test case more robust.
10120 + commit c89d3a71ad20ff02755539a44f254b1e59054c4a
10121 * lang/python/examples/t-edit.py: Check if key is found.
10122
10123 python: Fix type translation.
10124 + commit d60deb8a127fb35c01acc729f33b014840af0e7b
10125 * lang/python/gpgme.i: Adjust to Python3's string type being
10126 'Unicode', not 'bytes'. Fix type checking.
10127 * lang/python/core.py (Data.write): Add docstring mentioning the
10128 expected type of parameter 'buffer'.
10129 (Data.read): Adjust read loop. Also, use a saner chunk size, and join
10130 all chunks at the end instead of adding them.
10131 * lang/python/examples/simple.py: Adjust example.
10132
10133 2016-05-11 Andre Heinecke <aheinecke@intevation.de>
10134
10135 Cpp: Ensure gpgme.h is taken from current build.
10136 + commit b8de79160b2e05ac84d8feb61ff7ed1f7015a623
10137 * lang/cpp/src/Makefile.am (AM_CPPFLAGS): Add gpgme.h location.
10138
10139 2016-05-11 Justus Winter <justus@gnupg.org>
10140
10141 python: Fix simple example.
10142 + commit bbeee5e1a060f2d1e37a08220eb552cf4673a058
10143 * lang/python/examples/simple.py: Flush stdout, encode name as
10144 UTF-8 before passing it to GPGME.
10145
10146 python: Integrate into the build system.
10147 + commit a29babd07cf9f9625d2b5aa2eb6b7bc9d1828359
10148 * configure.ac: Make Python bindings configurable, add new Makefile.
10149 * lang/python/Makefile.am: New file.
10150 * lang/python/setup.py: Integrate into the build system.
10151 * m4/ax_pkg_swig.m4: New file from the autoconf archive.
10152 * m4/m4_ax_swig_python.m4: Likewise.
10153
10154 2016-05-10 Andre Heinecke <aheinecke@intevation.de>
10155
10156 Qt / Cpp: Fix make dist.
10157 + commit c303292aca26c43b6efe98719edb3ff7b2d6665d
10158 * lang/cpp/src/Makefile.am (EXTRA_DIST): Fix typo.
10159 (private_gpgmepp_headers): New. Private headers.
10160 (libgpgmepp_la_SOURCES): Add private headers.
10161 * lang/qt/src/Makefile.am (t_keylist_SOURCES): Remove non existent
10162 header.
10163
10164 2016-05-10 Justus Winter <justus@gnupg.org>
10165
10166 python: PEP8 fixes.
10167 + commit 11392a80d9a85bcd8718b105e6d58038e61beaac
10168 Cherry picked from 0267c151.
10169
10170 2016-05-10 Andre Heinecke <aheinecke@intevation.de>
10171
10172 Qt: Make Protocol class public API.
10173 + commit 56c4d9ea9520c95612e525b2fa1359db6fa88f4a
10174 * lang/qt/src/Makefile.am (qgpgme_headers): Add protocol.h
10175 (private_qgpgme_headers): Add protocol_p.h
10176 * lang/qt/src/protocol.h: New. From QGpgMEBackend.
10177 * lang/qt/src/protocol_p.h: New. From QGpgMEBackend.
10178 * lang/qt/src/qgpgmebackend.h,
10179 lang/qt/src/qgpgmebackend.cpp (Protocol): Removed.
10180
10181 Qt: Make doxygen quieter.
10182 + commit 97225bb01cd2ffa1d84c7fedbc577275de4a4893
10183 * lang/qt/doc/Doxyfile.in: Quiet and no undocumented warnings.
10184
10185 Qt: Only install public headers.
10186 + commit 740f92a7b83389ee9bde98b7bd25556793500b8b
10187 * lang/qt/src/Makefile.am: Do not install all headers.
10188
10189 Qt: Add test for async keylisting.
10190 + commit 0e3195948ddaba3af07d2415bb496491076edc17
10191 * src/lang/qt/tests/t-keylist.cpp(KeyListTest::testKeyListAsync): New.
10192
10193 2016-05-10 Werner Koch <wk@gnupg.org>
10194
10195 Allow cc to detect missing cases in a switch.
10196 + commit fc38c15136c87ce971a8381fa87399088dd5a3cc
10197 * src/delete.c (delete_status_handler): Remove default case from a
10198 switch so that cc can check the use of all enum values.
10199
10200 2016-05-06 Andre Heinecke <aheinecke@intevation.de>
10201
10202 Use common error message style for qt lang checks.
10203 + commit a579be82c84f0b9732ee3d52ff2142a3decf95d7
10204 * configure.ac: Use common error highliting for qt lang options.
10205
10206 Qt: Fix license mentioned in README.
10207 + commit 11ff8d5964bf66f905818514f6a51fc881ea1a56
10208 * lang/qt/README: License is GPLv2+ and not LGPL.
10209
10210 Add maybe mode for langs and default to it.
10211 + commit cd267791e9bd73505a2a1ea90c85df988e153c19
10212 * configure.ac (languages): Warn and disable langs for which
10213 requirements are not met.
10214
10215 Cpp: Handle PINENTRY_LAUNCHED status line.
10216 + commit 3fad1216770f446a89801d842aa8667356a5ec95
10217 * lang/cpp/src/editinteractor.cpp (EditInteractor::needsNoResponse):
10218 Add GPGME_STATUS_PINENTRY_LAUNCHED.
10219
10220 2016-04-12 Andre Heinecke <aheinecke@intevation.de>
10221
10222 Cpp: Add support for pubkey_algo_name.
10223 + commit 5489532ad6ccf3a9b59405686b8a17352f1ecf06
10224 * lang/cpp/src/key.cpp (Subkey::algoName): New.
10225 * lang/cpp/src/key.h: Declare.
10226
10227 Cpp: Add support for gpgme_data_identify.
10228 + commit d949d711dc1d944a9d627d39a89af74943a5a8c1
10229 * lang/cpp/src/data.cpp (Data::type): New.
10230 * lang/cpp/src/data.h (Data::Type): New enum mapping.
10231
10232 Fix configuration without Qt language.
10233 + commit 6dba47c3a2c32d7c1e1d91a96030f99f606433ea
10234 * configure.ac: Define HAVE_DOXYGEN also if qt should not be built.
10235
10236 2016-04-11 Andre Heinecke <aheinecke@intevation.de>
10237
10238 Qt/Cpp: Bump so version to 6.
10239 + commit 8e7074dbb8093cc342e330bcd6b172b4f769a0c6
10240 * configure.ac (LIBGPGMEPP_LT_CURRENT, LIBQGPGME_LT_CURRENT): Bump.
10241
10242 Qt / Cpp: Mention coding style in READMES.
10243 + commit d2b55101195efe9702e855a48fc6e21839fb98cc
10244 * src/lang/cpp/README, src/lang/qt/README: Add hacking note.
10245
10246 Qt: Add doc generation with doxygen.
10247 + commit a1e95f36ce1895cd9894f6d3ca76640c42c2f9fc
10248 * configure.ac: Look for doxygen if qt is built.
10249 Configure new files.
10250 * lang/qt/doc/Doxyfile.in: New.
10251 * lang/qt/doc/Makefile.am: New.
10252 * lang/qt/README: Update.
10253
10254 Qt: Fix unit test by adding initial.test dep.
10255 + commit d9f7a18ed88127e7f05d770d55118d1e928f3b3f
10256 * lang/qt/tests/t-keylist.cpp: Verify that GNUPGHOME is set.
10257 * lang/qt/tests/initial.test: New dummy test.
10258 * lang/qt/tests/Makefile.am: Add dependency to initial.test
10259
10260 Qt: Remove remaining boost usage.
10261 + commit afd8fad6e275e2f74b2ad045dce05d826986e2ec
10262 * lang/qt/src/dataprovider.h,
10263 lang/qt/src/decryptjob.h,
10264 lang/qt/src/decryptverifyjob.h,
10265 lang/qt/src/encryptjob.h,
10266 lang/qt/src/qgpgmeadduseridjob.cpp,
10267 lang/qt/src/qgpgmechangeexpiryjob.cpp,
10268 lang/qt/src/qgpgmechangeownertrustjob.cpp,
10269 lang/qt/src/qgpgmechangepasswdjob.cpp,
10270 lang/qt/src/qgpgmedecryptjob.cpp,
10271 lang/qt/src/qgpgmedecryptverifyjob.cpp,
10272 lang/qt/src/qgpgmedeletejob.cpp,
10273 lang/qt/src/qgpgmedownloadjob.cpp,
10274 lang/qt/src/qgpgmeencryptjob.cpp,
10275 lang/qt/src/qgpgmeexportjob.cpp,
10276 lang/qt/src/qgpgmeimportfromkeyserverjob.cpp,
10277 lang/qt/src/qgpgmeimportjob.cpp,
10278 lang/qt/src/qgpgmekeygenerationjob.cpp,
10279 lang/qt/src/qgpgmekeylistjob.cpp,
10280 lang/qt/src/qgpgmenewcryptoconfig.cpp,
10281 lang/qt/src/qgpgmenewcryptoconfig.h,
10282 lang/qt/src/qgpgmesignencryptjob.cpp,
10283 lang/qt/src/qgpgmesignjob.cpp,
10284 lang/qt/src/qgpgmesignkeyjob.cpp,
10285 lang/qt/src/qgpgmeverifydetachedjob.cpp,
10286 lang/qt/src/qgpgmeverifyopaquejob.cpp,
10287 lang/qt/src/signencryptjob.h,
10288 lang/qt/src/signjob.h,
10289 lang/qt/src/threadedjobmixin.cpp,
10290 lang/qt/src/threadedjobmixin.h,
10291 lang/qt/src/verifydetachedjob.h,
10292 lang/qt/src/verifyopaquejob.h: Remove boost usage.
10293
10294 Qt: Remove predicates.h and stl_util.h.
10295 + commit e18256fc5f613da9406da60c3ef2f84f2be04ef0
10296 * src/lang/qt/predicates.h, src/lang/qt/stl_util.h: Removed.
10297
10298 Qt: Remove usage of stl_util.h and predicates.h.
10299 + commit d293bd32293929eeb3f6ec35f916a4678fb51729
10300 * src/lang/qt/qgpgmelistallkeysjob.cpp: Use comperators from
10301 gpgmepp instead of detail. Remove boost usage.
10302
10303 Cpp: Add string comparators for keys.
10304 + commit 1bb162a54ba480413c4da07f2578efe6860494c0
10305 * lang/cpp/src/global.h (GPGMEPP_MAKE_STRCMP): New.
10306 (_gpgmepp_strcmp): NULL save wrapper around std::strcmp.
10307 * lang/cpp/src/key.h: Add comparators for various attributes.
10308
10309 Cpp: Remove last usages of boost.
10310 + commit 691950e18cf08a3f9bbc2004501834cd47bea579
10311 * lang/cpp/src/configuration.cpp: Use std::remove_pointer.
10312 (Configuration::operator<<): std::for_each.
10313 * lang/cpp/src/context.cpp: Delete manually instead of scoped ptr.
10314 * lang/cpp/src/scdgetinfoassuantransaction.cpp: Use static_assert.
10315 (to_reader_list): Tokenize with getline.
10316
10317 2016-04-04 Andre Heinecke <aheinecke@intevation.de>
10318
10319 Add pthread in gpgmepp config.
10320 + commit cc68ff5f7210ac879fbdf719fcd5944f9ae5602b
10321 * lang/cpp/src/GpgmeppConfig.cmake.in.in: Add pthread.
10322
10323 2016-04-03 Andre Heinecke <aheinecke@intevation.de>
10324
10325 Cpp / Qt: Reduce boost usage (memory and tuple)
10326 + commit f98898ab1a6952e0c3a5d235963a27eba2e19e46
10327 * cpp/src/assuanresult.h,
10328 cpp/src/configuration.cpp,
10329 cpp/src/configuration.h,
10330 cpp/src/data.h,
10331 cpp/src/decryptionresult.h,
10332 cpp/src/defaultassuantransaction.cpp,
10333 cpp/src/encryptionresult.cpp,
10334 cpp/src/encryptionresult.h,
10335 cpp/src/engineinfo.h,
10336 cpp/src/gpgagentgetinfoassuantransaction.cpp,
10337 cpp/src/gpgsignkeyeditinteractor.cpp,
10338 cpp/src/importresult.cpp,
10339 cpp/src/importresult.h,
10340 cpp/src/key.h,
10341 cpp/src/keygenerationresult.h,
10342 cpp/src/keylistresult.h,
10343 cpp/src/notation.h,
10344 cpp/src/signingresult.cpp,
10345 cpp/src/signingresult.h,
10346 cpp/src/verificationresult.cpp,
10347 cpp/src/verificationresult.h,
10348 cpp/src/vfsmountresult.h,
10349 qt/src/dataprovider.cpp,
10350 qt/src/dataprovider.h,
10351 qt/src/decryptjob.h,
10352 qt/src/decryptverifyjob.h,
10353 qt/src/downloadjob.h,
10354 qt/src/encryptjob.h,
10355 qt/src/qgpgmeadduseridjob.cpp,
10356 qt/src/qgpgmechangeexpiryjob.cpp,
10357 qt/src/qgpgmechangeownertrustjob.cpp,
10358 qt/src/qgpgmechangepasswdjob.cpp,
10359 qt/src/qgpgmedecryptjob.cpp,
10360 qt/src/qgpgmedecryptjob.h,
10361 qt/src/qgpgmedecryptverifyjob.cpp,
10362 qt/src/qgpgmedecryptverifyjob.h,
10363 qt/src/qgpgmedeletejob.cpp,
10364 qt/src/qgpgmedownloadjob.cpp,
10365 qt/src/qgpgmedownloadjob.h,
10366 qt/src/qgpgmeencryptjob.cpp,
10367 qt/src/qgpgmeencryptjob.h,
10368 qt/src/qgpgmeexportjob.cpp,
10369 qt/src/qgpgmeexportjob.h,
10370 qt/src/qgpgmeimportfromkeyserverjob.cpp,
10371 qt/src/qgpgmeimportfromkeyserverjob.h,
10372 qt/src/qgpgmeimportjob.cpp,
10373 qt/src/qgpgmeimportjob.h,
10374 qt/src/qgpgmekeygenerationjob.cpp,
10375 qt/src/qgpgmekeygenerationjob.h,
10376 qt/src/qgpgmekeylistjob.cpp,
10377 qt/src/qgpgmekeylistjob.h,
10378 qt/src/qgpgmelistallkeysjob.cpp,
10379 qt/src/qgpgmelistallkeysjob.h,
10380 qt/src/qgpgmenewcryptoconfig.cpp,
10381 qt/src/qgpgmenewcryptoconfig.h,
10382 qt/src/qgpgmesignencryptjob.cpp,
10383 qt/src/qgpgmesignencryptjob.h,
10384 qt/src/qgpgmesignjob.cpp,
10385 qt/src/qgpgmesignjob.h,
10386 qt/src/qgpgmesignkeyjob.cpp,
10387 qt/src/qgpgmeverifydetachedjob.cpp,
10388 qt/src/qgpgmeverifydetachedjob.h,
10389 qt/src/qgpgmeverifyopaquejob.cpp,
10390 qt/src/qgpgmeverifyopaquejob.h,
10391 qt/src/signencryptjob.h,
10392 qt/src/signjob.h,
10393 qt/src/threadedjobmixin.h,
10394 qt/src/verifydetachedjob.h,
10395 qt/src/verifyopaquejob.h: Reduce boost usage.
10396
10397 Cpp: Require c++ 11 if cpp binding requested.
10398 + commit c07aaef6eb8a9b5e623479f27d562fd1570bf4bb
10399 * configure.ac: Call ax_cxx_compile_stdcxx
10400 * m4/ax_cxx_compile_stdcxx.m4
10401
10402 Qt: Add static factor methods for protocol.
10403 + commit 0991485170ca4ef90fd566540522027d0fc59a72
10404 * lang/qt/src/qgpgmebackend.cpp (QGpgME::openpgp, QGpgME::smime): New.
10405 * lang/qt/src/qgpgmebackend.h: Declare.
10406 * lang/qt/tests/t-keylist.cpp (KeyListTest::testSingleKeyListSync):
10407 Use new functions.
10408
10409 Qt: Add a unit test for qgpgme.
10410 + commit faf987dd62893955251378a2a715edd2892a540c
10411 * configure.ac: Configure test Makefile.
10412 * m4/qt.m4: Look up Qt5Test flags.
10413 * lang/qt/tests/t-keylist.cpp: New. Simple keylist check.
10414 * lang/qt/tests/Makefile.am: New. General test framework.
10415
10416 Qt: Add missing MOC includes.
10417 + commit b7b9e38399a572cb61a297db552026eac5b2a5e1
10418 * qgpgmeadduseridjob.cpp,
10419 qgpgmechangeexpiryjob.cpp,
10420 qgpgmechangeownertrustjob.cpp,
10421 qgpgmechangepasswdjob.cpp,
10422 qgpgmedecryptjob.cpp,
10423 qgpgmedecryptverifyjob.cpp,
10424 qgpgmedeletejob.cpp,
10425 qgpgmedownloadjob.cpp,
10426 qgpgmeencryptjob.cpp,
10427 qgpgmeexportjob.cpp,
10428 qgpgmeimportfromkeyserverjob.cpp,
10429 qgpgmeimportjob.cpp,
10430 qgpgmekeygenerationjob.cpp,
10431 qgpgmekeylistjob.cpp,
10432 qgpgmelistallkeysjob.cpp,
10433 qgpgmerefreshkeysjob.cpp,
10434 qgpgmesecretkeyexportjob.cpp,
10435 qgpgmesignencryptjob.cpp,
10436 qgpgmesignjob.cpp,
10437 qgpgmesignkeyjob.cpp,
10438 qgpgmeverifydetachedjob.cpp,
10439 qgpgmeverifyopaquejob.cpp: Add missing MOC includes.
10440
10441 Qt: Declare pure virtuals as such.
10442 + commit 0cc9006dbc59d87c6bcda88b36d59dcb69ac35cb
10443 * lang/qt/src/qgpgmebackend.h (Protocol): Make all functions
10444 pure virtual.
10445
10446 Qt: Don't declare showErrorDialog anymore.
10447 + commit 3e38cc6fc67c420dec3e9e8afd072b4c8a157c85
10448 * cpp/qt/src/job.h: Remove showErrorDialog.
10449
10450 Qt: Only use GpgME based config class.
10451 + commit 7071b2a9c00b85d434d01b6166269ebf48b01b81
10452 * lang/qt/src/qgpgmecryptoconfig.cpp,
10453 lang/qt/src/qgpgmecryptoconfig.h: Removed.
10454 * lang/qt/src/qgpgmebackend.cpp: Return newcryptoconfig.
10455
10456 2016-04-02 Andre Heinecke <aheinecke@intevation.de>
10457
10458 Add additional include path in config files.
10459 + commit 63c115b067400e1b02c7d849c99f54dc9f394d68
10460 * lang/cpp/src/GpgmeppConfig.cmake.in.in
10461 lang/qt/src/QGpgmeConfig.cmake.in.in: Include directory above headers.
10462
10463 Qt: Fix library name in nodist variable.
10464 + commit 576be46f34b42e896a5e3be65560a4b518a758be
10465 * lang/qt/Makefile.am (nodist_qgpgme_SOURCES): Change to real name.
10466
10467 Add missing files to QGpgME.
10468 + commit a440050fc2c11e4867da9d4707616fa23ac52141
10469 * lang/qt/src/gpgme_backend_debug.cpp,
10470 lang/qt/src/gpgme_backend_debug.h,
10471 lang/qt/src/predicates.h,
10472 lang/qt/src/stl_util.h: New.
10473
10474 Add QGpgME code from libkleo.
10475 + commit 226e51052ae73efa8d9f30729b28de68d35231af
10476 * lang/qt/src/Makefile.am,
10477 lang/qt/src/abstractimportjob.h,
10478 lang/qt/src/adduseridjob.h,
10479 lang/qt/src/changeexpiryjob.h,
10480 lang/qt/src/changeownertrustjob.h,
10481 lang/qt/src/changepasswdjob.h,
10482 lang/qt/src/cryptoconfig.h,
10483 lang/qt/src/decryptjob.h,
10484 lang/qt/src/decryptverifyjob.h,
10485 lang/qt/src/deletejob.h,
10486 lang/qt/src/downloadjob.h,
10487 lang/qt/src/encryptjob.h,
10488 lang/qt/src/exportjob.h,
10489 lang/qt/src/hierarchicalkeylistjob.h,
10490 lang/qt/src/importfromkeyserverjob.h,
10491 lang/qt/src/importjob.h,
10492 lang/qt/src/job.cpp,
10493 lang/qt/src/job.h,
10494 lang/qt/src/keygenerationjob.h,
10495 lang/qt/src/keylistjob.h,
10496 lang/qt/src/listallkeysjob.h,
10497 lang/qt/src/multideletejob.h,
10498 lang/qt/src/qgpgmeadduseridjob.cpp,
10499 lang/qt/src/qgpgmeadduseridjob.h,
10500 lang/qt/src/qgpgmebackend.cpp,
10501 lang/qt/src/qgpgmebackend.h,
10502 lang/qt/src/qgpgmechangeexpiryjob.cpp,
10503 lang/qt/src/qgpgmechangeexpiryjob.h,
10504 lang/qt/src/qgpgmechangeownertrustjob.cpp,
10505 lang/qt/src/qgpgmechangeownertrustjob.h,
10506 lang/qt/src/qgpgmechangepasswdjob.cpp,
10507 lang/qt/src/qgpgmechangepasswdjob.h,
10508 lang/qt/src/qgpgmecryptoconfig.cpp,
10509 lang/qt/src/qgpgmecryptoconfig.h,
10510 lang/qt/src/qgpgmedecryptjob.cpp,
10511 lang/qt/src/qgpgmedecryptjob.h,
10512 lang/qt/src/qgpgmedecryptverifyjob.cpp,
10513 lang/qt/src/qgpgmedecryptverifyjob.h,
10514 lang/qt/src/qgpgmedeletejob.cpp,
10515 lang/qt/src/qgpgmedeletejob.h,
10516 lang/qt/src/qgpgmedownloadjob.cpp,
10517 lang/qt/src/qgpgmedownloadjob.h,
10518 lang/qt/src/qgpgmeencryptjob.cpp,
10519 lang/qt/src/qgpgmeencryptjob.h,
10520 lang/qt/src/qgpgmeexportjob.cpp,
10521 lang/qt/src/qgpgmeexportjob.h,
10522 lang/qt/src/qgpgmeimportfromkeyserverjob.cpp,
10523 lang/qt/src/qgpgmeimportfromkeyserverjob.h,
10524 lang/qt/src/qgpgmeimportjob.cpp,
10525 lang/qt/src/qgpgmeimportjob.h,
10526 lang/qt/src/qgpgmekeygenerationjob.cpp,
10527 lang/qt/src/qgpgmekeygenerationjob.h,
10528 lang/qt/src/qgpgmekeylistjob.cpp,
10529 lang/qt/src/qgpgmekeylistjob.h,
10530 lang/qt/src/qgpgmelistallkeysjob.cpp,
10531 lang/qt/src/qgpgmelistallkeysjob.h,
10532 lang/qt/src/qgpgmenewcryptoconfig.cpp,
10533 lang/qt/src/qgpgmenewcryptoconfig.h,
10534 lang/qt/src/qgpgmerefreshkeysjob.cpp,
10535 lang/qt/src/qgpgmerefreshkeysjob.h,
10536 lang/qt/src/qgpgmesecretkeyexportjob.cpp,
10537 lang/qt/src/qgpgmesecretkeyexportjob.h,
10538 lang/qt/src/qgpgmesignencryptjob.cpp,
10539 lang/qt/src/qgpgmesignencryptjob.h,
10540 lang/qt/src/qgpgmesignjob.cpp,
10541 lang/qt/src/qgpgmesignjob.h,
10542 lang/qt/src/qgpgmesignkeyjob.cpp,
10543 lang/qt/src/qgpgmesignkeyjob.h,
10544 lang/qt/src/qgpgmeverifydetachedjob.cpp,
10545 lang/qt/src/qgpgmeverifydetachedjob.h,
10546 lang/qt/src/qgpgmeverifyopaquejob.cpp,
10547 lang/qt/src/qgpgmeverifyopaquejob.h,
10548 lang/qt/src/refreshkeysjob.h,
10549 lang/qt/src/signencryptjob.h,
10550 lang/qt/src/signjob.h,
10551 lang/qt/src/signkeyjob.h,
10552 lang/qt/src/specialjob.h,
10553 lang/qt/src/threadedjobmixin.cpp,
10554 lang/qt/src/threadedjobmixin.h,
10555 lang/qt/src/verifydetachedjob.h,
10556 lang/qt/src/verifyopaquejob.h: New.
10557 * lang/qt/src/Makefile.am:
10558
10559 2016-03-08 Andre Heinecke <aheinecke@intevation.de>
10560
10561 Add qgpgme as qt language binding.
10562 + commit 8347f3d5fc3e476aa767fbbaf09a1310a6154280
10563 * configure.ac: Add version defines. Check for qt if neccessary.
10564 * lang/README: Mention qt
10565 * lang/cpp/src/GpgmeppConfig.cmake.in.in: Remove comment. Find qgpgme.
10566 * lang/qt/src/Makefile.am: New. Build qgpgme.
10567 * lang/qt/README,
10568 lang/qt/src/Makefile.am,
10569 lang/qt/src/QGpgmeConfig.cmake.in.in,
10570 lang/qt/src/QGpgmeConfigVersion.cmake.in,
10571 lang/qt/src/dataprovider.cpp,
10572 lang/qt/src/dataprovider.h,
10573 lang/qt/src/qgpgme_export.h,
10574 m4/qt.m4: New.
10575 * lang/cpp/src/GpgmeppConfig.cmake.in.in,
10576 lang/cpp/src/Makefile.am: Fix generated config file.
10577
10578 Remove obsolete w32-qt code.
10579 + commit 58ed9c17f00f420035ecc6973a6c6ed948757a9a
10580 * configure.ac (w32-qt): Remove option and Qt checks.
10581 * src/Makefile.am: Remove BUILD_W32_QT handling.
10582 * src/kdpipeiodevice.cpp,
10583 src/kdpipeiodevice.h,
10584 src/kdpipeiodevice.moc,
10585 src/w32-qt-io.cpp: Removed.
10586
10587 2016-03-02 Andre Heinecke <aheinecke@intevation.de>
10588
10589 Add version info for gpgmepp.
10590 + commit a06603d75e80aba58df58f9a41770c56b6a1f0b8
10591 * lang/cpp/src/Makefile.am (libgpgmepp_la_LDFLAGS): Add version info.
10592
10593 Add cmake configuration files.
10594 + commit 77c3fb450c7adf36804a55d76ff49a06a71d22a0
10595 * configure.ac: Add libgpgmepp version. Configure cmake files.
10596 * lang/cpp/src/Makefile.am: Add targets for cmake files.
10597 (EXTRA_DIST): Add cmake files.
10598
10599 Fix export header and windows export macros.
10600 + commit 98e5b672422ca1e38ca38ff0357cee6cc936aee0
10601 * lang/cpp/src/gpgme_export.h: Fix variable name. Add Windows ifdefs.
10602
10603 Add header installation.
10604 + commit c5291a88913ace8f2115021b69c7aeb59b4f79d4
10605 * lang/cpp/src/Makefile.am: Add headers as deps and install them.
10606 (AM_CPPFLAGS): Add BUILDING_GPGMEPP to be used in export macros.
10607
10608 Add enable-languages build option.
10609 + commit a313b3e28cc42785365822519b25d6a87dfdf0c9
10610 * acinclude.m4 (LIST_MEMBER): New macro.
10611 * configure.ac (enable-languages): New option. Add info output.
10612 * lang/Makefile.am: Only add enabled language subdirs.
10613
10614 2016-02-22 Andre Heinecke <aheinecke@intevation.de>
10615
10616 Add README for gpgmepp.
10617 + commit 7286fc7f3d51d475f82c7c9821d031290f5b0066
10618 * lang/README: Note down cpp.
10619 * cpp/README: Add README based on original repo version.
10620
10621 Add buildsystem for Gpgmepp.
10622 + commit f5fd787b5b45cb14d539b5c26f44066eb9ac0f75
10623 * configure.ac: Configure Makefiles.
10624 * lang/Makefile.am: Add cpp subdir
10625 * lang/cpp/Makefile.am: New. Add src subdir.
10626 * lang/cpp/src/Makefile.am: New. Basic buildsystem.
10627
10628 Remove feature check ifdefs.
10629 + commit 433bb8e84b2d1e50b5c5b9f7f2006b60cd7d7785
10630 * lang/cpp/src/assuanresult.cpp,
10631 lang/cpp/src/callbacks.cpp,
10632 lang/cpp/src/configuration.cpp,
10633 lang/cpp/src/context.cpp,
10634 lang/cpp/src/context_glib.cpp,
10635 lang/cpp/src/context_qt.cpp,
10636 lang/cpp/src/context_vanilla.cpp,
10637 lang/cpp/src/data.cpp,
10638 lang/cpp/src/decryptionresult.cpp,
10639 lang/cpp/src/defaultassuantransaction.cpp,
10640 lang/cpp/src/editinteractor.cpp,
10641 lang/cpp/src/encryptionresult.cpp,
10642 lang/cpp/src/engineinfo.cpp,
10643 lang/cpp/src/eventloopinteractor.cpp,
10644 lang/cpp/src/global.h,
10645 lang/cpp/src/gpgagentgetinfoassuantransaction.cpp,
10646 lang/cpp/src/importresult.cpp,
10647 lang/cpp/src/interfaces/assuantransaction.h,
10648 lang/cpp/src/key.cpp,
10649 lang/cpp/src/keygenerationresult.cpp,
10650 lang/cpp/src/keylistresult.cpp,
10651 lang/cpp/src/scdgetinfoassuantransaction.cpp,
10652 lang/cpp/src/signingresult.cpp,
10653 lang/cpp/src/trustitem.cpp,
10654 lang/cpp/src/util.h,
10655 lang/cpp/src/verificationresult.cpp,
10656 lang/cpp/src/vfsmountresult.cpp: Remove feature checks.
10657
10658 Initial checkin of gpgmepp sources.
10659 + commit 0855a1296a1908016f011eb5e6552854ac53e63a
10660 Based on git.kde.org/pim/gpgmepp rev. 0e3ebc02
10661
10662 * lang/cpp/src/assuanresult.cpp,
10663 lang/cpp/src/assuanresult.h,
10664 lang/cpp/src/callbacks.cpp,
10665 lang/cpp/src/callbacks.h,
10666 lang/cpp/src/configuration.cpp,
10667 lang/cpp/src/configuration.h,
10668 lang/cpp/src/context.cpp,
10669 lang/cpp/src/context.h,
10670 lang/cpp/src/context_glib.cpp,
10671 lang/cpp/src/context_p.h,
10672 lang/cpp/src/context_qt.cpp,
10673 lang/cpp/src/context_vanilla.cpp,
10674 lang/cpp/src/data.cpp,
10675 lang/cpp/src/data.h,
10676 lang/cpp/src/data_p.h,
10677 lang/cpp/src/decryptionresult.cpp,
10678 lang/cpp/src/decryptionresult.h,
10679 lang/cpp/src/defaultassuantransaction.cpp,
10680 lang/cpp/src/defaultassuantransaction.h,
10681 lang/cpp/src/editinteractor.cpp,
10682 lang/cpp/src/editinteractor.h,
10683 lang/cpp/src/encryptionresult.cpp,
10684 lang/cpp/src/encryptionresult.h,
10685 lang/cpp/src/engineinfo.cpp,
10686 lang/cpp/src/engineinfo.h,
10687 lang/cpp/src/error.h,
10688 lang/cpp/src/eventloopinteractor.cpp,
10689 lang/cpp/src/eventloopinteractor.h,
10690 lang/cpp/src/exception.cpp,
10691 lang/cpp/src/exception.h,
10692 lang/cpp/src/global.h,
10693 lang/cpp/src/gpgadduserideditinteractor.cpp,
10694 lang/cpp/src/gpgadduserideditinteractor.h,
10695 lang/cpp/src/gpgagentgetinfoassuantransaction.cpp,
10696 lang/cpp/src/gpgagentgetinfoassuantransaction.h,
10697 lang/cpp/src/gpgmefw.h,
10698 lang/cpp/src/gpgmepp_export.h,
10699 lang/cpp/src/gpgsetexpirytimeeditinteractor.cpp,
10700 lang/cpp/src/gpgsetexpirytimeeditinteractor.h,
10701 lang/cpp/src/gpgsetownertrusteditinteractor.cpp,
10702 lang/cpp/src/gpgsetownertrusteditinteractor.h,
10703 lang/cpp/src/gpgsignkeyeditinteractor.cpp,
10704 lang/cpp/src/gpgsignkeyeditinteractor.h,
10705 lang/cpp/src/importresult.cpp,
10706 lang/cpp/src/importresult.h,
10707 lang/cpp/src/key.cpp,
10708 lang/cpp/src/key.h,
10709 lang/cpp/src/keygenerationresult.cpp,
10710 lang/cpp/src/keygenerationresult.h,
10711 lang/cpp/src/keylistresult.cpp,
10712 lang/cpp/src/keylistresult.h,
10713 lang/cpp/src/notation.h,
10714 lang/cpp/src/result.h,
10715 lang/cpp/src/result_p.h,
10716 lang/cpp/src/scdgetinfoassuantransaction.cpp,
10717 lang/cpp/src/scdgetinfoassuantransaction.h,
10718 lang/cpp/src/signingresult.cpp,
10719 lang/cpp/src/signingresult.h,
10720 lang/cpp/src/trustitem.cpp,
10721 lang/cpp/src/trustitem.h,
10722 lang/cpp/src/util.h,
10723 lang/cpp/src/verificationresult.cpp,
10724 lang/cpp/src/verificationresult.h,
10725 lang/cpp/src/vfsmountresult.cpp,
10726 lang/cpp/src/vfsmountresult.h,
10727 lang/cpp/src/interfaces/assuantransaction.h,
10728 lang/cpp/src/interfaces/dataprovider.h,
10729 lang/cpp/src/interfaces/passphraseprovider.h,
10730 lang/cpp/src/interfaces/progressprovider.h: New.
10731
10732 2016-01-15 Werner Koch <wk@gnupg.org>
10733
10734 Fix possible _SC_OPEN_MAX max problem on AIX.
10735 + commit e79199468ac54ce4fe919603ff7bada97267174f
10736 * src/posix-io.c [HAVE_STDINT_H]: Include stdint.h.
10737 (get_max_fds): Limit returned value for too high values.
10738
10739 2015-12-09 Werner Koch <wk@gnupg.org>
10740
10741 w32: Avoid conflict with Mingw-w64 version 4.0.4-1.
10742 + commit 83415dffaea53611dbce77b50d8ddfb2a50aed2e
10743 * src/w32-util.c (mkstemp): Rename to my_mkstemp. Change caller.
10744
10745 2015-12-04 Daiki Ueno <ueno@gnu.org>
10746
10747 Return on user cancellation of delete operation.
10748 + commit 67d7f7a9383763b01daf877c846bf3e32f647fa5
10749 * src/delete.c (delete_status_handler): Return on ERROR status, if the
10750 error location is set to "delete_key.secret" and the code is either
10751 CANCELED or FULLY_CANCELED, which indicates a situation that the user
10752 selected "No" on the confirmation dialog.
10753
10754 doc: Fix minor errors.
10755 + commit 3b6e9a3d0afcdd3c2f1de19f15924c3404c7140a
10756 * doc/gpgme.texi: Fix errors and typos in the cancellation and
10757 gpgme_import_result_t documentation.
10758
10759 2015-10-29 Ben Kibbey <bjk@luxsci.net>
10760
10761 Make use of user passphrase handler during passwd.
10762 + commit dfa79f9300b837b0f7f2ea44afa589bfcda1dbd9
10763 * src/passwd.c (passwd_start): set engine passphrase command handler.
10764
10765 2015-10-28 Werner Koch <wk@gnupg.org>
10766
10767 w32: Add extra diagnostic about possible missing gpgme-w32spawn.exe.
10768 + commit bb2d11c1eebd4bcfb0f2cfce728026a7420dca47
10769 * src/w32-io.c (_gpgme_io_spawn): Add a new diagnostic.
10770
10771 w32: Improve locating gpgconf on 64 bit systems.
10772 + commit a82e9b182f62966207cad0972be6fa284329a5a1
10773 * src/w32-util.c (find_program_at_standard_place): Fallback to
10774 CSIDL_PROGRAM_FILESX86.
10775
10776 w32: Add new global flag "w32-inst-dir".
10777 + commit bb600aa8fd2f9575ee7afc64c978e3e7523b1173
10778 * src/gpgme.c (gpgme_set_global_flag): Add flag "w32-inst-dir";
10779 * src/posix-util.c (_gpgme_set_override_inst_dir): New stub.
10780 * src/w32-util.c (override_inst_dir): New var.
10781 (_gpgme_get_inst_dir): Return this var is set.
10782 (_gpgme_set_override_inst_dir): New.
10783
10784 2015-10-16 NIIBE Yutaka <gniibe@fsij.org>
10785
10786 cleanup: Fix type mismatch around gpgme_error_t.
10787 + commit 0d9d0a6b5b0c6f474a079bbaef11078c5df5f3b5
10788 * src/data-compat.c (gpgme_error_to_errno): Use gpg_err_code
10789 to get error code from gpgme_error_t.
10790 * src/gpgme.c (gpgme_new): Don't use gpgme_error.
10791
10792 2015-08-31 Werner Koch <wk@gnupg.org>
10793
10794 gpgme-tool: Switch to argparse.c for option parsing.
10795 + commit f0ccce855bd99fca7cfbbcafe3544e3113fedc67
10796 * src/argparse.c, src/argparse.h: New. Taken from current gnupg.
10797 * src/Makefile.am (gpgme_tool_SOURCES): New.
10798 * src/gpgme-tool.c: Remove all argp.h stuff.
10799 (my_strusage): New.
10800 (main): Change to use argparse.
10801
10802 2015-08-30 Werner Koch <wk@gnupg.org>
10803
10804 Add gpgme_pubkey_algo_string.
10805 + commit c4b6b35bfa98e478f1d13f4ce3e664771f2604c2
10806 * src/gpgme.h.in (GPGME_PK_EDDSA): New.
10807 (gpgme_pubkey_algo_string): New.
10808 * src/conversion.c (_gpgme_map_pk_algo): Add new algo.
10809 * src/gpgme.c (gpgme_pubkey_algo_string): New.
10810 (gpgme_pubkey_algo_name): Reformat.
10811
10812 2015-08-26 Werner Koch <wk@gnupg.org>
10813
10814 Release 1.6.0.
10815 + commit 107bff70edb611309f627058dd4777a5da084b1a
10816 * configure.ac: Set LT version to C25/A14/R0.
10817
10818 Make use of GPGRT macros is available.
10819 + commit c4f4b5c0a6fc172f7ceedc1a0021169e7f31b941
10820 * src/gpgme.h.in (_GPGME_INLINE): Define using GPGRT_INLINE if
10821 possible. Fix problem with -Wundef by adding an extra "defined()".
10822 (_GPGME_GCC_VERSION): Define using GPGRT_ macro if possible.
10823
10824 2015-08-25 Werner Koch <wk@gnupg.org>
10825
10826 Avoid -Wundef warnings if gpgme.h is used by g++.
10827 + commit 3f53d3d5d9e73a053b1e89073ef8f7cf01bfc8e6
10828 * src/gpgme.h.in (_GPGME_INLINE): Move definition into the
10829 extern-C-scope.
10830
10831 Add configure option --enable-build-timestamp.
10832 + commit ff91e699f7c14ea6cbc27b487cb40e9f6bd58901
10833 * configure.ac (BUILD_TIMESTAMP): Set to "<none>" by default.
10834
10835 2015-08-25 Daiki Ueno <ueno@gnu.org>
10836
10837 Relax ttyname_r error checks.
10838 + commit 028a0ef3336c5180797fb247448683195376c007
10839 * src/engine-assuan.c (llass_new): Don't treat ttyname_r error as
10840 fatal.
10841 * src/engine-g13.c (g13_new): Likewise.
10842 * src/engine-gpg.c (gpg_new): Likewise.
10843 * src/engine-gpgsm.c (gpgsm_new): Likewise.
10844 * src/engine-uiserver.c (uiserver_new): Likewise.
10845
10846 2015-08-25 Werner Koch <wk@gnupg.org>
10847
10848 Cleanup layout of gpgme.h.
10849 + commit 97f1f3e883808743da5ee144abab25de062f34ac
10850 * src/gpgme.h.in: Reorder prototypes. Chnage some comments.
10851
10852 Improve error return by checking the FAILURE status.
10853 + commit 8ddc5801ade02297924447df5745c8877a96e5e3
10854 * src/gpgme.h.in (GPGME_STATUS_FAILURE): New.
10855 * src/status-table.c (FAILURE): New.
10856 * src/op-support.c (_gpgme_parse_failure): New.
10857 * src/passphrase.c (_gpgme_passphrase_status_handler): Forward FAILURE
10858 status line to the status callback.
10859
10860 * src/decrypt.c (op_data_t): Add field failure_code.
10861 (_gpgme_decrypt_status_handler): Parse that code and act upon it on EOF.
10862 * src/encrypt.c (op_data_t): Add field failure_code.
10863 (_gpgme_encrypt_status_handler): Parse that code and act upon it on EOF.
10864 * src/genkey.c (op_data_t): Add field failure_code.
10865 (genkey_status_handler): Parse that code and act upon it on EOF.
10866 * src/passwd.c (op_data_t): Add field failure_code.
10867 (passwd_status_handler): Parse that code and act upon it on EOF.
10868 * src/sign.c (op_data_t): Add field failure_code.
10869 (_gpgme_sign_status_handler): Parse that code and act upon it on EOF.
10870 * src/verify.c (op_data_t): Add field failure_code.
10871 (_gpgme_verify_status_handler): Parse that code and act upon it on EOF.
10872
10873 tests: Allow using run-sign to test loopback pinentry problems.
10874 + commit 491fcd91b84564232d5d061942baa50b99e166c0
10875 * tests/run-sign.c: Add options --status and --loopback.
10876
10877 2015-08-24 Werner Koch <wk@gnupg.org>
10878
10879 Call status_cb for an ERROR status seen in the passphrase handler.
10880 + commit ad46f4f655e653580343c15f1b0b365b7d307d1b
10881 * src/passphrase.c (_gpgme_passphrase_status_handler): Call status_cb.
10882
10883 w32: Look for gpgconf in the new GnuPG 2.1 install dir.
10884 + commit a7dbab23ea4976d106d649aa515ffb2968a085ed
10885 * src/w32-util.c (_gpgme_get_gpgconf_path): Try another location of
10886 gpgconf.exe.
10887
10888 w32: Expect gpgme-w32spawn.exe only in the gpgme installation dir.
10889 + commit 06d6fd8ca01354c8f7cfc847c4ac1b868268cbaa
10890 * src/w32-util.c (find_program_at_standard_place): Remove.
10891 (_gpgme_get_gpg_path): Make the search order more explicit.
10892 (_gpgme_get_gpgconf_path): Ditto.
10893 (_gpgme_get_w32spawn_path): Search only in the inst_dir.
10894
10895 w32: Print the installation directory in debug mode.
10896 + commit df098d6a437109c57516db75addf3764a6dfda81
10897 * src/debug.c (debug_init) [W32]: Show libgpgme installation dir.
10898
10899 Add an export secret key feature.
10900 + commit 2b632bbb78eee2b94c122f66d171a7c80e9c4fb0
10901 * src/gpgme.h.in (GPGME_EXPORT_MODE_SECRET): New.
10902 (GPGME_EXPORT_MODE_RAW): New.
10903 (GPGME_EXPORT_MODE_PKCS12): New.
10904 * src/export.c (export_start, export_ext_start): Allow new flags.
10905 * src/engine-gpg.c (export_common): Support secret key export.
10906 * src/engine-gpgsm.c (gpgsm_export, gpgsm_export_ext): Ditto.
10907
10908 * src/gpgme-tool.c (cmd_export): Add options --secret, --raw,
10909 and --pkcs12.
10910 * tests/run-export.c (main): Likewise.
10911
10912 2015-08-16 Ben Kibbey <bjk@luxsci.net>
10913
10914 Parse INQUIRE_MAXLEN in the passphrase callback.
10915 + commit ccbaccbf2e0ba582d181b9ee4d8543d7c1248b2c
10916 * src/passphrase.c (_gpgme_passphrase_status_handler): Parse
10917 GPGME_STATUS_INQUIRE_MAXLEN.
10918 * src/passphrase.c (_gpgme_passphrase_command_handler): Send the
10919 INQUIRE_MAXLEN status message.
10920
10921 Fix gpgme_{get,set}_status_cb to match documentation.
10922 + commit 70b3e5964ea0592bd09d1877d720b2c63f501970
10923 * doc/gpgme.texi: Minor fixes.
10924 * src/gpgme.c (gpgme_get_status_cb): Set return variables to NULL and
10925 check for a valid ctx pointer.
10926
10927 Parse the INQUIRE_MAXLEN status message.
10928 + commit 6dd24c3c6133ec54f75abd056191a8027fe01de0
10929 * src/gpgme.h.in: (gpgme_status_code_t): Add INQUIRE_MAXLEN.
10930 * src/status-table.c (status_table_s): Ditto.
10931 * src/genkey.c (genkey_status_handler): Parse INQUIRE_MAXLEN.
10932 * src/decrypt.c (_gpgme_decrypt_status_handler): Ditto.
10933 * src/sign.c (_gpgme_sign_status_handler): Ditto.
10934
10935 This status message informs the client of the maximum length of an
10936 inquired line. It is sent from gpg and forwarded to the client via
10937 gpgme_status_cb_t.
10938
10939 Add gpgme_set/get_status_cb().
10940 + commit 4fadcf06ec8b0ebfb05c7622dbc3b73fd3c1bad9
10941 * src/gpgme.h.in (gpgme_set_status_cb): New.
10942 (gpgme_get_status_cb): New.
10943 (gpgme_status_cb_t): New.
10944 * src/gpgme.c (gpgme_set_status_cb): New.
10945 (gpgme_get_status_cb): New.
10946 * src/context.h (status_cb): New.
10947 (status_cb_value): New.
10948 * src/gpgme.def: Export new symbols.
10949 * src/libgpgme.vers: Ditto.
10950 * doc/gpgme.texi: Document these new functions.
10951
10952 Make use of user passphrase handler during genkey.
10953 + commit 2b6ae3dadf4432f7a72fd119144b835f7b1adcc4
10954 * src/genkey.c (genkey_start): set engine passphrase command handler.
10955
10956 2015-08-12 Ben Kibbey <bjk@luxsci.net>
10957
10958 Also check the return code in gpg_sign().
10959 + commit e07d38f5f9f3b94e403f1265ff7fd3d7009dd557
10960 * src/engine-gpg.c (gpg_sign): Check return value from start().
10961
10962 2015-08-11 Ben Kibbey <bjk@luxsci.net>
10963
10964 Check the return value when starting gpg.
10965 + commit 8f28e3caf95d7bc99e9271bfc2b44080166af31f
10966 * src/engine-gpg.c (gpg_decrypt, gpg_delete, gpg_passwd): Check return
10967 value of start().
10968
10969 2015-08-02 Ben McGinnes <ben@adversary.org>
10970
10971 More GTK2 removal.
10972 + commit a7fbd5293ed0ba2c179837a4a2b859376d30e35e
10973 * Missed a couple of files, these 2 go for the same reason as the
10974 previous 3.
10975
10976 Removed GUI examples.
10977 + commit 1cd0aef0afb196094d90673002d4c210a04911c9
10978 * GUI examples written with pygtk, which has not been ported to Python
10979 3 and won't be as it is for GTK2 and GNOME is moving to GTK3.
10980 * New GUI examples may be required in future using any of several GUI
10981 frameworks (e.g. wxPython, PyQt, PySide, PyGObject, etc.).
10982
10983 2015-07-31 Andre Heinecke <aheinecke@intevation.de>
10984
10985 Add offline mode support for CMS keylisting.
10986 + commit 08086dd6901740e155e4361212b4e9cff8a47296
10987 * doc/gpgme.texi: Document offline mode.
10988 * src/context.h (gpgme_context): Add offline.
10989 * src/engine-backend.h (keylist, keylist_ext): Add engine_flags.
10990 * src/engine.c, src/engine.h (_gpgme_engine_op_keylist): Ditto.
10991 (_gpgme_engine_op_keylist_ext): Ditto.
10992 * src/engine.h (GPGME_ENGINE_FLAG_OFFLINE): New.
10993 * src/engine-gpg.c (gpg_keylist, gpg_keylist_ext): Ditto.
10994 * src/engine-gpgsm.c (gpgsm_keylist): Handle engine_flags.
10995 (gpgsm_keylist_ext): Ditto.
10996 * src/gpgme.c (gpgme_set_offline, gpgme_get_offline): New.
10997 * src/gpgme.def (gpgme_set_offline, gpgme_get_offline): New.
10998 * src/gpgme.h.in (gpgme_set_offline, gpgme_get_offline): New.
10999 * src/libgpgme.vers (gpgme_set_offline, gpgme_get_offline): New.
11000 * src/keylist.c (gpgme_op_keylist_start): Set offline flag.
11001 (gpgme_op_keylist_ext_start): Ditto.
11002 * tests/run-keylist.c (show_usage, main): Add offline argument.
11003
11004 2015-07-23 Peter Wu <peter@lekensteyn.nl>
11005
11006 build: ignore scissor line for the commit-msg hook.
11007 + commit 157c8be183153ff588f98874a3205aa483d0fd23
11008 * build-aux/git-hooks/commit-msg: Stop processing more lines when the
11009 scissor line is encountered.
11010
11011 2015-07-23 Werner Koch <wk@gnupg.org>
11012
11013 Add option --lib-version to gpgme-tool.
11014 + commit c23f8897105ce2bb6e62d9c44ca0779fcc08a919
11015 * src/gpgme-tool.c (options, parse_options): Add --lib-version
11016 (CMD_LIBVERSION): New.
11017 (main): Implement.
11018
11019 2015-06-08 Werner Koch <wk@gnupg.org>
11020
11021 Release 1.5.5.
11022 + commit 052a9e3c5671d1ab69551f7b0abd0bbf859d4aba
11023
11024
11025 Fix regression with gpgsm 2.0 due to "OPTION with-secret".
11026 + commit ddbd54ef881bd2c3481d62b89bef7241667b64ee
11027 * src/engine-gpgsm.c (gpgsm_assuan_simple_command): Do not terminate
11028 on a status lines.
11029
11030 tests: Add option --secret to run-keylist.
11031 + commit 7addffc0826e7f36afcc7f66268e9ee2a37e2042
11032
11033
11034 Fix compiler warnings about unused value in TRACE macros.
11035 + commit 8b9f84828cd04a7dab37e219123edc1905da8e6b
11036 * src/debug.h: Change macros to not have a literal 0 as last
11037 expression of the comma operator.
11038 * src/debug.c (_gpgme_debug_frame_end): Return 0.
11039 (_gpgme_debug): Return 0.
11040
11041 Fix test suite for GnuPG 2.1 which uses pubring.kbx.
11042 + commit a5b040cc57c65b3d105666b90c7eb59ee6ff3882
11043 * tests/gpgsm/final.test: New.
11044 * tests/gpgsm/initial.test: New.
11045 * tests/gpg/start-stop-agent: Move to ../.
11046 * tests/gpgsm/Makefile.am (TESTS_ENVIRONMENT): Export top_srcdir.
11047 (TESTS): Add intial.test and final.test.
11048 (AM_LDFLAGS): Add -no-install.
11049 (clean-local): Use start-stop-agent
11050 (initial.test): Add dependency.
11051 * tests/gpg/Makefile.am (top_srcdir): Export top_srcdir.
11052 (AM_LDFLAGS): Add -no-install.
11053 (check-local): Depend on pubring-stamp instead of pubring.gpg.
11054 (initial.test): Depend on check-local.
11055 (./pubring-gpg): Replace by rule for ./pubring-stamp.
11056
11057 2015-06-05 Matthew Barnes <mbarnes@redhat.com>
11058
11059 Set GPGME_SIGSUM_KEY_REVOKED also for gpg.
11060 + commit 87d713ff41454bd08a345c63605f6fc7ac854dd4
11061 * src/verify.c (calc_sig_summary): Handle GPG_ERR_CERT_REVOKED.
11062
11063 2015-06-05 Werner Koch <wk@gnupg.org>
11064
11065 Fix segv for userids with a backslash.
11066 + commit 0d28a696163677d6b34a802b6beddecd805d0fc7
11067 * src/engine-gpg.c (gpg_keylist_preprocess): Increment SRC for a
11068 backslash.
11069
11070 2015-05-16 Ben McGinnes <ben@adversary.org>
11071
11072 Python 3 port of PyME.
11073 + commit 90405ac84b78ba7e5458ea09986749594a01195a
11074 * Port of PyME 0.9.0 for Python 2 to Python 3 along with most of the
11075 example scripts.
11076 * Intended to be developed in parallel with the original Python 2
11077 version until such time as a rewrite of GPGME leads to developing an
11078 IO API in Python 3 from scratch.
11079 * Python 3 PyME and API maintainer has entered, stage left with current
11080 GPG key ID 0x321E4E2373590E5D, primary fingerprint is "DB47 24E6 FA42
11081 86C9 2B4E 55C4 321E 4E23 7359 0E5D" and signing subkey fingerprint is
11082 "B7F0 FE75 9387 430D D0C5 8BDB 7FF2 D371 35C7 553C" for future
11083 reference with git commit signatures.
11084
11085 Explaining why not all scripts work.
11086 + commit 29887c9b28c0db14bf75e227a8082d23a2c151d2
11087 * Some of them cannot be properly tested on OS X, especially with GTK in
11088 the mix (it works on OS X, but is unlikely to be as easily accessible
11089 as Cocoa or Qt).
11090 * Most major functions are showcased and do work, albeit sometimes with
11091 false positives of error messages, at least on OS X.
11092
11093 Byte encoding.
11094 + commit c39cea7a07cec9ab34cd2026f47b6fba80fea3c8
11095 * More string updates.
11096 * verifydetails.py still fails, but as Bernhard is still contactable, it
11097 might be worth him checking on it instead.
11098
11099 No change, note added to explain why.
11100 + commit 0e6e6689ef1aea36c1cb3cb47e94f1f2ebbd97cb
11101
11102
11103 Strings vs. Bytes.
11104 + commit 40290507bcdc63ab9023393d071167d455d70737
11105 * CLI input must be byte encoded.
11106
11107 More byte changes and passphrase changes.
11108 + commit 325b0ca341ae3ac8c3232f557ea2c381b4843969
11109 * exportimport works, but will still segfault for an as yet unknown
11110 reason.
11111 * genkey produces a traceback error, but does create the key as
11112 intended.
11113 * matched passphrase in signverify.
11114
11115 More bytes good.
11116 + commit ba3c9f2617955dc828309a4800e4f5b3f1c3a949
11117 * Another string to byte change.
11118
11119 Updated encrypt-to-all.
11120 + commit 1c87ecb86ae364b18f69bca726021271fefaa1c1
11121 * Changed plaintext string to byte literal.
11122 * Nested key selection in a try/except statement in case of
11123 UnicodeEncodeError instances.
11124 * Tested successfully on over 9,000 keys.
11125
11126 Passphrase update.
11127 + commit 24c738f5bb5c253a17962c62867d6c847250b41e
11128 * Changed example passphrase to something that meets the current minimum
11129 requirements.
11130
11131 example email.
11132 + commit 8345bf6f43c4f671124eaa1b713a7f5ac5780cbd
11133 * changed joe@foo.bar to joe@example.org as it is only a matter of time
11134 before ICANN actually creates bar as a gTLD, if they haven't already.
11135
11136 Updated string and key data.
11137 + commit 4fc123981514c7087114e08ee8ca63de1a1db59f
11138 * Text changed to byte literals.
11139 * Changed key type to RSA/RSA.
11140 * Changed expiry to the future (2020).
11141
11142 2015-05-08 Ben McGinnes <ben@adversary.org>
11143
11144 String type.
11145 + commit 90079786c5cde4dd8ceb2e0fcda7605b08ccd021
11146 * the plain text string must be bytes and not unicode.
11147 * Expect most of the example code to have similar issues at present.
11148
11149 2015-05-05 Ben McGinnes <ben@adversary.org>
11150
11151 Python 3 port of PyME.
11152 + commit ebd8734ad705afa4edc409787a00d4968d25e018
11153 * The entirety of the Python 3 port of PyME up to commit
11154 2145348ec54c6027f2ea20f695de0277e2871405
11155 * The old commit log has been saved as
11156 lang/py3-pyme/docs/old-commits.log
11157 * Can be viewed as a normal (separate) git repository at
11158 https://github.com/adversary-org/pyme3
11159 * Utilising the submodule feature of git was deliberately skipped on
11160 humanitarian grounds (in order to prevent pain and suffering on the
11161 part of anyone having to manage this repository).
11162
11163 2015-04-13 Werner Koch <wk@gnupg.org>
11164
11165 Release 1.5.4.
11166 + commit d2712d9f6f086911184453219a096c61f6829d3b
11167
11168
11169 w32: Use -static-libgcc to avoid linking to libgcc_s_sjlj-1.dll.
11170 + commit 524dacfbb6bb131f05a4ecab3d7bcd91c1b43d33
11171 * src/Makefile.am (extra_ltoptions): New.
11172 (libgpgme_la_LDFLAGS): Use it.
11173 (libgpgme_pthread_la_LDFLAGS): Ditto.
11174 (libgpgme_glib_la_LDFLAGS): Ditto.
11175
11176 2015-03-16 Werner Koch <wk@gnupg.org>
11177
11178 Fix potential crash in trace macro.
11179 + commit 8cfcdfe5564f87362e5ec1bfdca5c14aed9c45f0
11180 * src/signers.c (gpgme_signers_add): Avoid deref of a NULL KEY in the
11181 trace macro.
11182 * src/engine-spawn.c (engspawn_release): Remove always true condition.
11183 * src/engine-gpg.c (gpg_release): Ditto.
11184
11185 Fix one byte too short malloc.
11186 + commit 119f27032b822ace8c012b96f9e41bcf23251a54
11187 * src/engine-spawn.c (add_data): Fix malloc
11188
11189 2015-01-30 Werner Koch <wk@gnupg.org>
11190
11191 Switch to automake 1.14 and update build-aux files.
11192 + commit 428ea7696585bc24d127b903840554ca659069b6
11193
11194
11195 2014-12-11 Werner Koch <wk@gnupg.org>
11196
11197 Release 1.5.3.
11198 + commit 37d927a9706fff6d8ef8d45073984ea2f92afb31
11199 * configure.ac: Set LT version to C24/A13/R2.
11200
11201 2014-12-08 Werner Koch <wk@gnupg.org>
11202
11203 Return an error for some export key operations.
11204 + commit 05258d427513a933f01d4df13aca834d797f91e7
11205 * src/context.h (OPDATA_EXPORT): New.
11206 * src/export.c (op_data_t): New.
11207 (release_op_data): New.
11208 (parse_error): New.
11209 (export_status_handler): New.
11210 (export_start, export_ext_start): Prepare op_data.
11211 (gpgme_op_export_ext, gpgme_op_export_keys): Return an error from the
11212 status handler.
11213
11214 2014-11-21 Werner Koch <wk@gnupg.org>
11215
11216 Release 1.5.2.
11217 + commit c62ce32b9c01ee9ceb1d69e7344fb79a9162d232
11218 * configure.ac: Set LT version to C24/A13/R1.
11219
11220 Update the previous commit.
11221 + commit 81ce87111f5a3f966188629abb07a4d0702e6db0
11222 * src/sign.c (gpgme_op_sign_result): Reformat and take care of failed
11223 malloc.
11224
11225 2014-11-21 Ben Kibbey <bjk@luxsci.net>
11226
11227 Fix returning new signatures when there are none.
11228 + commit 5942b0c7e0593b82b4c4a142c214d7a2649de104
11229 * src/sign.c (gpgme_op_sign_result): Test that invalid and valid
11230 signatures add up to gpgme_signers_count().
11231
11232 2014-11-06 Werner Koch <wk@gnupg.org>
11233
11234 Improve the debug output a bit.
11235 + commit 8031341283f4fcb1f226aa6f66bc5a6042586815
11236 * src/debug.h (TRACE_ERR): Include the line number in the output.
11237
11238 2014-10-02 Werner Koch <wk@gnupg.org>
11239
11240 build: Implement SYSROOT feature.
11241 + commit 4027a0a89724df3aeef8a964c529548d724b6a5a
11242 * configure.ac: Document SYSROOT.
11243 * m4/gpg-error.m4: Update from libgpg-error master.
11244 * src/gpgme.m4: Implement SYSROOT stuff.
11245
11246 2014-09-24 Werner Koch <wk@gnupg.org>
11247
11248 tests: Delay some test file extraction until "make check".
11249 + commit 2e8ecc24cf74f918c303c315da3bb18636a5e288
11250 * tests/gpg/Makefile.am (all-local): Change to check-local.
11251 * tests/gpgsm/Makefile.am (all-local): Ditto.
11252
11253 2014-09-24 Daniel Kahn Gillmor <dkg@fifthhorseman.net>
11254
11255 Clean up gpgme's tests/gpg when gpg2.1 is available.
11256 + commit 36997e0f746ce2d38de997055141542583cc0f52
11257 * tests/gpg/Makefile.am: Clean up .gpg-v21-migrated
11258
11259 2014-08-12 Werner Koch <wk@gnupg.org>
11260
11261 gpgme-tool: Print fingerprint and keyid with keyservers.
11262 + commit 4160ef90a1b1b778c735f31f98a6966ba3b3ea90
11263 * src/gpgme-tool.c (cmd_keylist): Print keyid. Print FPR only if
11264 available.
11265
11266 Handle modern keyserver output which may emit the fingerprint.
11267 + commit 3450bff52baef2c14118958cf79ead46940d58f0
11268 * src/engine-gpg.c (read_colon_line): Split preprocessed lines.
11269 (gpg_keylist_preprocess): Limit keyid field and print fingerprint.
11270
11271 gpgme-tool: Install gpgme-tool.
11272 + commit 488e44cdb531035fa8813b95b212f9728abc7e62
11273 * src/Makefile.am (bin_PROGRAMS): New. Add gpgme-tools.
11274 (noinst_PROGRAMS): Remove.
11275
11276 gpgme-tool: Fix segv for external key listing.
11277 + commit e5ab11607281b9838da2728268a8f9f0daa2b04d
11278 * src/gpgme-tool.c (result_xml_escape): Allow for DATA being NULL.
11279
11280 2014-07-30 Werner Koch <wk@gnupg.org>
11281
11282 Release 1.5.1.
11283 + commit 16835c3b5d1cea18512b2c93e884d8ca513a2ee7
11284 * configure.ac: Change LT version to C24/A13/R0.
11285
11286 Fix possible realloc overflow for gpgsm and uiserver engines.
11287 + commit 2cbd76f7911fc215845e89b50d6af5ff4a83dd77
11288 * src/engine-gpgsm.c (status_handler):
11289 * src/engine-uiserver.c (status_handler):
11290
11291 2014-06-26 Werner Koch <wk@gnupg.org>
11292
11293 w32: Get IOSPAWN flag back in sync with spawn helper.
11294 + commit 68116fa5f67238a60bb8be375cc959262fa021d3
11295 * src/gpgme-w32spawn.c: Include priv-io.h.
11296
11297 2014-06-10 Werner Koch <wk@gnupg.org>
11298
11299 Add new reason codes to the INV_RECP status code.
11300 + commit 86260b47c9e306e325103d1af767842357647e60
11301 * src/op-support.c (_gpgme_parse_inv_recp): Add codes 13 and 14.
11302
11303 2014-06-04 Werner Koch <wk@gnupg.org>
11304
11305 Add new keylist mode GPGME_KEYLIST_MODE_WITH_SECRET.
11306 + commit 4dc9af24156b4fd52c7b76e7522b9b7a64e5386a
11307 * src/gpgme.h.in (GPGME_KEYLIST_MODE_WITH_SECRET): New.
11308 * src/engine-gpg.c (gpg_keylist_build_options): Handle new mode.
11309 * src/engine-gpgsm.c (gpgsm_keylist, gpgsm_keylist_ext): Ditto.
11310 * src/keylist.c (parse_sec_field15): Add arg key and take care of
11311 --with-secret output.
11312
11313 * src/gpgme-tool.c (gt_get_keylist_mode, cmd_keylist_mode): Add
11314 "with_secret". Print card info and and secret flag for subkeys.
11315
11316 2014-05-21 Werner Koch <wk@gnupg.org>
11317
11318 Release 1.5.0.
11319 + commit 0eca21113c1d1ab2aea58e1ea21075f472f99c23
11320 * configure.ac: Change LT version to C22/A11/R0.
11321
11322 2014-05-13 Werner Koch <wk@gnupg.org>
11323
11324 Add 6 new GPGME_STATUS_ codes.
11325 + commit de6caeed6d6432101c673c35717f152d5facf823
11326 * src/status-table.c: Also add missing DECRYPTION_INFO entry.
11327
11328 2014-05-08 Werner Koch <wk@gnupg.org>
11329
11330 Add field CURVE to the key info.
11331 + commit 88f15336ec0eadde68ff2618349efb9006b8e801
11332 * src/gpgme.h.in (struct _gpgme_subkey): Add field CURVE.
11333 * src/key.c (gpgme_key_unref): Free CURVE.
11334 * src/keylist.c (keylist_colon_handler): Set CURVE.
11335
11336 * src/gpgme.c (gpgme_release): For failsafe reasons reset engine and
11337 engine info after freeing.
11338
11339 Fix a memory access and a double slash bug.
11340 + commit de4a1ea684e1591975feb801e7651309e1ee2c49
11341 * src/engine-spawn.c (engspawn_start): Allocate space for list
11342 terminator.
11343 * src/posix-util.c (walk_path): Fix trailing slash detection.
11344
11345 Map public key algos returned by gpg to gpgme values.
11346 + commit d5fb92cdaed21eea2f1a921e4f11df72635a8462
11347 * src/conversion.c (_gpgme_map_pk_algo): New.
11348 * src/decrypt.c (parse_enc_to): Add arg PROTOCOL and map pubkey algo.
11349 (_gpgme_decrypt_status_handler): Map pubkey algo.
11350 * src/keylist.c (keylist_colon_handler): Map pubkey algo.
11351 * src/sign.c (parse_sig_created): Add arg PROTOCOL and map pubkey
11352 algo.
11353 * src/verify.c (parse_new_sig): Ditto.
11354 (parse_valid_sig): Ditto.
11355
11356 * src/gpgme.h.in (GPGME_PK_ECC): New.
11357 (GPGME_MD_SHA224): New.
11358 * src/gpgme.c (gpgme_pubkey_algo_name): Add GPGME_PK_ECC case.
11359 (gpgme_hash_algo_name): Add GPGME_MD_SHA224.
11360
11361 Add GPGME_ENCRYPT_NO_COMPRESS flag.
11362 + commit 991cde9e79fec70aad093ded383c5574d30f9388
11363 * src/gpgme.h.in (GPGME_ENCRYPT_NO_COMPRESS): New.
11364 * src/engine-gpg.c (gpg_encrypt, gpg_encrypt_sign): Implement it.
11365 * src/gpgme-tool.c (_cmd_sign_encrypt): Add option --no-compress.
11366
11367 2014-04-16 Werner Koch <wk@gnupg.org>
11368
11369 w32: Fix another memleak on error.
11370 + commit 62711e5614e44e65a7c7bb7d21493d09d3081271
11371 * src/w32-io.c (create_reader): free CTX.
11372
11373 2014-04-15 Werner Koch <wk@gnupg.org>
11374
11375 w32: Fix memleak in an error code paths.
11376 + commit 85a07ca7e3dffdefc8ae74beebb59e47a6e6bd1b
11377 * src/w32-io.c (create_writer): Free CTX in cased of bad FD.
11378 * src/w32-util.c (_gpgme_mkstemp): Free TMPNAME in case of a failed
11379 mkstemp.
11380
11381 Fix possible zombie processes.
11382 + commit 2bb26185e3b9a048033c559517d6ba7d2eb47066
11383 * src/posix-io.c (_gpgme_io_waitpid): Protect waitpid agains EINTR.
11384 (_gpgme_io_dup): Likewise.
11385 (_gpgme_io_connect): Likewise.
11386
11387 2014-04-10 Werner Koch <wk@gnupg.org>
11388
11389 Actually implement flags for gpgme_op_spawn.
11390 + commit d3bd8fff863f62b6d0e228aea754efbbde861e9a
11391 * src/spawn.c (gpgme_op_spawn_start, gpgme_op_spawn): Pass FLAGS dow
11392 to spawn_start and add FLAGS args along the call path.
11393 * src/engine-spawn.c (engspawn_start): Hack to automagically provide
11394 argv[0].
11395
11396 Add GPGME_PROTOCOL_SPAWN and gpgme_op_spawn.
11397 + commit 4f2d652e60700e03809307a10015ff9003ac3579
11398 * src/gpgme.h.in (GPGME_PROTOCOL_SPAWN): New.
11399 (GPGME_SPAWN_DETACHED, GPGME_SPAWN_ALLOW_SET_FG): New.
11400 * src/gpgme.c (gpgme_set_protocol): Add new protocol.
11401 (gpgme_get_protocol_name): Ditto.
11402 * src/spawn.c: New.
11403 * src/libgpgme.vers, src/gpgme.def: Add new public functions.
11404 * src/engine-spawn.c: New.
11405 * src/Makefile.am: Add new files.
11406 * src/engine-backend.h (struct engine_ops): Add OPSPAWN.
11407 * src/engine.c (engine_ops): Add _gpgme_engine_ops_spawn.
11408 (gpgme_get_engine_info): Add Spawn to the list of protocols.
11409 (_gpgme_engine_op_spawn): New.
11410
11411 * src/gpgme-tool.c (gt_protocol_from_name): Add new protocol.
11412 (gt_spawn, cmd_spawn): New.
11413
11414 Add gpgme_get_dirinfo.
11415 + commit 77931a9a1468b0cfbaafd4153867d90764a6d258
11416 * src/dirinfo.c (gpgme_get_dirinfo): New.
11417 * tests/t-engine-info.c (main): Print results from that function.
11418
11419 Make use of internal iospawn flags more flexible.
11420 + commit 443f6b76a964b77e2e61c03592a83ffa0a6da4b1
11421 * src/priv-io.h (IOSPAWN_FLAG_DETACHED): New. Renumber the others.
11422 * src/w32-io.c (_gpgme_io_spawn): Use DETACHED_PROCESS process only if
11423 IOSPAWN_FLAG_DETACHED is given.
11424 * src/w32-qt-io.cpp (_gpgme_io_spawn): Ditto.
11425 * src/w32-glib-io.c (_gpgme_io_spawn): Ditto.
11426 * src/assuan-support.c (my_spawn): Pass IOSPAWN_FLAG_DETACHED flags.
11427 * src/dirinfo.c (read_gpgconf_dirs): Ditto.
11428 * src/engine-gpg.c (start): Ditto.
11429 * src/engine-gpgconf.c (gpgconf_read, gpgconf_write): Ditto.
11430 * src/version.c (_gpgme_get_program_version): Ditto.
11431
11432 Make sure a spawned process has all standard fds connected.
11433 + commit 617d3be629229cbebfdc2d26a4e854bc4fe38a68
11434 * src/posix-io.c (_gpgme_io_spawn): dup /dev/null also to unsued
11435 stdout.
11436
11437 2014-03-13 Werner Koch <wk@gnupg.org>
11438
11439 Add configure option --enable-fixed-path.
11440 + commit 766355b5d4f63261c428531fdbdafb8b67de9369
11441 * configure.ac: Add option --enable-fixed-path.
11442 (FIXED_SEARCH_PATH): New ac_define.
11443 * src/posix-util.c (walk_path): Make use of the option. Remove
11444 current directory from fallback PATH.
11445
11446 2014-03-11 Werner Koch <wk@gnupg.org>
11447
11448 Avoid pointer arithmetic on void pointer.
11449 + commit dd9c8c56719db093b8daa23aa40b2be71bbd1526
11450 * src/gpgme.c (gpgme_io_writen): Use new var buffer.
11451
11452 Change implementation return type to match the definition.
11453 + commit 75a6255935f450d56f3637cbb2b6c8161ace57ab
11454 * src/gpgme.c (gpgme_get_sub_protocol): Change return type to
11455 gpgme_protocol_t.
11456
11457 2014-03-05 Daiki Ueno <ueno@gnu.org>
11458
11459 doc: Fix documentation of struct data types.
11460 + commit 40938feb3f3393b0cdc6ec61ca2e77ff0b82c69a
11461 * gpgme.texi (Key Management): Document is_cardkey and card_number
11462 members of gpgme_subkey_t.
11463 (Decrypt): Remove description of the non-existent wrong_key_usage
11464 member of gpgme_recipient_t.
11465 (Verify): Document pka_address member of gpgme_signature_t.
11466 (Creating a Signature): Add missing member names in
11467 gpgme_new_signature_t.
11468 (Registering I/O Callbacks): Fix reference of gpgme_io_cbs struct.
11469
11470 2014-02-21 Werner Koch <wk@gnupg.org>
11471
11472 Always pass correct name to argv[0]. Ignore GPG_AGENT_INFO for gpg2.
11473 + commit 651d9e1c6bc1cab248024c3850ef64698247588f
11474 * src/dirinfo.c (WANT_GPG_ONE_MODE): New.
11475 (struct dirinfo): Add field "gpg_one_mode".
11476 (get_gpgconf_item): Set that field and return it if requested.
11477 (_gpgme_in_gpg_one_mode): New.
11478 * src/engine-gpg.c (build_argv): Check GPG_AGENT_INFO only in gpg-1
11479 mode.
11480
11481 * src/dirinfo.c (_gpgme_get_basename): New.
11482 * src/engine-g13.c (g13_new): Take argv[0] from the pgmname.
11483 * src/engine-gpgsm.c (gpgsm_new): Ditto.
11484 * src/engine-gpg.c (build_argv): Ditto. Add arg PGMNAME.
11485 (start): Pass PGMNAME to buildargv.
11486
11487 2014-02-12 Werner Koch <wk@gnupg.org>
11488
11489 Fix type inconsistency between gpgme.h and gpgme.c.
11490 + commit f916ab753b7d17210cd455666870038949f72851
11491 * src/gpgme.c (gpgme_set_pinentry_mode): Fix type of MODE.
11492
11493 2014-01-10 Werner Koch <wk@gnupg.org>
11494
11495 Use the generic autogen.sh script.
11496 + commit 1a504aab384947c1a6e949affd14bc696297fc8d
11497 * autogen.rc: New.
11498 * Makefile.am (EXTRA_DIST): Add it.
11499 * autogen.sh: Update from GnuPG.
11500
11501 * configure.ac (AM_SILENT_RULES): New.
11502
11503 2014-01-07 Werner Koch <wk@gnupg.org>
11504
11505 Make gpgconf engine work again - fixes 02ba35c1.
11506 + commit ab6e718327451e418782990c5a0a4e72588e3f0b
11507 * src/gpgconf.c: Remove ENABLE_GPGCONF and move prototypes to ...
11508 * src/engine-backend.h: ... here.
11509
11510 Make gpgme_new return a proper error if no engines are installed.
11511 + commit 121efcc5618374a1b4450b1d6a18bb3c35edb1fd
11512 * src/engine.c (gpgme_get_engine_info): Improve error handling.
11513 (_gpgme_engine_info_copy): Ditto.
11514 * src/gpgme.c (gpgme_new): Return error GPG_ERR_NO_ENGINE.
11515
11516 Print the full PATH in the log if gpg was not found.
11517 + commit d63058b852b83515e7715103c04a684ecf59838a
11518 * src/posix-util.c (walk_path): Keep a copy of PATH.
11519
11520 2014-01-06 Werner Koch <wk@gnupg.org>
11521
11522 Add global flags disable-gpgconf, gpgconf-name, and gpg-name.
11523 + commit 6564e5e78e8c6e5a120675a5699b5b75248cfbc7
11524 * src/gpgme.c (gpgme_set_global_flag): Add names "disable-gpgconf",
11525 "gpgconf-name", and "gpg-name".
11526 * src/dirinfo.c (_gpgme_dirinfo_disable_gpgconf): New.
11527 (get_gpgconf_item): Minor debug info change.
11528 * src/posix-util.c (default_gpg_name, default_gpgconf_name): Add vars.
11529 (_gpgme_set_default_gpg_name): New.
11530 (_gpgme_set_default_gpgconf_name): New.
11531 (_gpgme_get_gpg_path, _gpgme_get_gpgconf_path): Use new vars.
11532 (walk_path): Add debug output on failure.
11533 * src/w32-util.c (default_gpg_name, default_gpgconf_name): Add vars.
11534 (replace_slashes): New.
11535 (get_basename): New.
11536 (_gpgme_set_default_gpg_name): New.
11537 (_gpgme_set_default_gpgconf_name): New.
11538 (_gpgme_get_gpg_path, _gpgme_get_gpgconf_path): Use new vars.
11539
11540 * tests/t-engine-info.c (main): Add --verbose and --set-global-flag
11541 options.
11542
11543 2013-12-27 Werner Koch <wk@gnupg.org>
11544
11545 Locate engine names only at runtime and prefer GnuPG-2.
11546 + commit 02ba35c1b6a2cbb3361b2f2ad507c53564b2be0b
11547 * configure.ac (NEED_GPG_VERSION, NEED_GPGSM_VERSION)
11548 (NEED_G13_VERSION, NEED_GPGCONF_VERSION): Remove vars and all related
11549 checks. Do not check for any engine version.
11550 (HAVE_ASSUAN): Remove AM conditional.
11551 * src/Makefile.am: Remove separate component vars and always build all
11552 engines but uiserver.
11553 * src/dirinfo.c (WANT_GPGCONF_NAME): New.
11554 (struct dirinfo): Add field gpgconf_name.
11555 (_gpgme_get_default_gpgconf_name): Use WANT_GPGCONF_NAME.
11556 (get_gpgconf_item): Set gpgconf name and adjust for _gpgme_get_*_path
11557 now returning a malloced string.
11558 * src/engine.c (engine_ops): Always init all engines except for
11559 uiserver.
11560 * src/posix-util.c (_gpgme_get_gpgsm_path, _gpgme_get_g13_path):
11561 Remove unused functions.
11562 (walk_path): New.
11563 (_gpgme_get_gpg_path, _gpgme_get_gpgconf_path ): Re-implement using
11564 walk_path.
11565 * src/w32-util.c (_gpgme_get_gpgsm_path, _gpgme_get_g13_path): Remove
11566 unused functions.
11567 (_gpgme_get_gpg_path, _gpgme_get_gpgconf_path): Return a malloced
11568 string.
11569 * src/engine-g13.c (g13_get_req_version): Use a hardwired string with
11570 the required version. This info belongs into this file.
11571 * src/engine-gpg.c (gpg_get_req_version): Ditto.
11572 * src/engine-gpgconf.c (gpgconf_get_req_version): Ditto.
11573 * src/engine-gpgsm.c (gpgsm_get_req_version): Ditto.
11574 * tests/t-engine-info.c: Replace now useless test by an info output.
11575 * tests/gpg/Makefile.am (GPG, GPG_AGENT): Hardwire gpg and gpg-agent.
11576 * tests/gpgsm/Makefile.am (GPGSM): Hardwire gpgsm.
11577
11578 2013-08-19 Werner Koch <wk@gnupg.org>
11579
11580 Document API change for GPGME_EVENT_DONE from 2009.
11581 + commit b0aaa3f9aef36634b5c391812362f016114f02ba
11582 * doc/gpgme.texi (I/O Callback Interface): Fix description for the
11583 event arg.
11584
11585 Fix possible segv in the gpgme_op_card_edit.
11586 + commit 372bd439834c69d502668007c8c683233d676bd5
11587 * src/edit.c (gpgme_op_edit_start, gpgme_op_card_edit_start): Do not
11588 deref a NULL KEY in TRACE_BEG.
11589
11590 tests: Fix NULL ptr deref in gpgsm/t-verify.
11591 + commit eae9c32bd9c80ca4a4ecf794808211808f2ebbdd
11592 * tests/gpgsm/t-verify.c (check_result): Do not dereference a sig or
11593 sig->fpr if NULL.
11594
11595 2013-08-12 Werner Koch <wk@gnupg.org>
11596
11597 Release 1.4.3.
11598 + commit d788c35e19df9eade8eb0b880ca1dc47ae7928ad
11599 * configure.ac: Change LT version to C22/A11/R0.
11600
11601 Make test suite workable with GnuPG 2.1.
11602 + commit 3ca7e96e384d5872c71ceb3b2e2a05b0c1b7e1a0
11603 * tests/gpg/start-stop-agent: New.
11604 * tests/gpg/initial.test: New.
11605 * tests/gpg/final.test: New.
11606 * tests/gpg/Makefile.am (c_tests): New.
11607 (TESTS): Move all to c_tests. Add initial.test, final.test, and
11608 c_tests.
11609 (TESTS_ENVIRONMENT): Add C_ALL=C
11610 (private_keys): New.
11611 (EXTRA_DIST): Add new files.
11612 (./private-keys-v1.d/gpg-sample.stamp): Copy private keys.
11613 (all-local): Depend on gpg-sample.stamp.
11614 * tests/gpg/13CBE3758AFE42B5E5E2AE4CED27AFA455E3F87F: New.
11615 * tests/gpg/13CD0F3BDF24BE53FE192D62F18737256FF6E4FD: New.
11616 * tests/gpg/76F7E2B35832976B50A27A282D9B87E44577EB66: New.
11617 * tests/gpg/7A030357C0F253A5BBCD282FFC4E521B37558F5C: New.
11618 * tests/gpg/A0747D5F9425E6664F4FFBEED20FBCA79FDED2BD: New.
11619
11620 Improve detection of default gpg by configure.
11621 + commit 069ac580373923f5635b7172ecff79eb189f6944
11622 * configure.ac: Move test for gpgconf before test for gpg.
11623 (GPG, GPGSM, G13): Use gpgconf instead of AC_PATH_PROG if possible.
11624
11625 2013-08-09 Werner Koch <wk@gnupg.org>
11626
11627 Add function gpgme_data_identify.
11628 + commit 8579091c4f6a36e6bb06fcfbd147a776166fd3ea
11629 * src/gpgme.h.in (gpgme_data_type_t): New.
11630 (gpgme_data_identify): New prototype.
11631 * src/data-identify.c: New.
11632 * src/parsetlv.c, src/parsetlv.h: New. Take from gpa.
11633 * src/libgpgme.vers, src/gpgme.def: Add gpgme_data_identify.
11634 * src/gpgme-tool.c (status): Add STATUS_IDENTIFY_RESULT.
11635 (gt_identify): New.
11636 (cmd_identify): New.
11637
11638 (hlp_passwd): Move close to cmd_passwd.
11639
11640 2013-08-02 Werner Koch <wk@gnupg.org>
11641
11642 Prefer GnuPG-2 engines over GnuPG-1.
11643 + commit a4c80126ae4754c8478c69a8a24a6ffd975485fc
11644 * src/util.h: Move some prototypes to ...
11645 * src/sys-util.h: New.
11646 * src/Makefile.am (main_sources): Add sys-util.h.
11647 * configure.ac (AH_VERBATIM): Add DIRSEP_C and DIRSEP_S.
11648 * src/dirinfo.c: Include sys-util.h.
11649 (WANT_GPG_NAME, WANT_GPGSM_NAME, WANT_G13_NAME)
11650 (WANT_UISRV_SOCKET): New.
11651 (dirinfo): Add corresponding fields.
11652 (parse_output): Add arg COMPONENTS and set new fields.
11653 (read_gpgconf_dirs): Add arg components and act upon it.
11654 (get_gpgconf_item): Call read_gpgconf_dirs two times. Add debug
11655 output.
11656 (_gpgme_get_default_gpg_name): New.
11657 (_gpgme_get_default_gpgsm_name): New.
11658 (_gpgme_get_default_g13_name): New.
11659 (_gpgme_get_default_gpgconf_name): New.
11660 (_gpgme_get_default_uisrv_socket): New.
11661 * src/engine-gpg.c, src/engine-g13.c, src/engine-gpgconf.c
11662 * src/engine-gpgsm.c, src/engine-uiserver.c: Change to use
11663 _gpgme_get_default_ instead of those from sys-util.h.
11664 * src/posix-util.c (_gpgme_get_gpg_path): Include sys-util.h.
11665 (_gpgme_get_uiserver_socket_path): Remove.
11666 * src/w32-util.c (_gpgme_get_gpg_path): Include sys-util.h.
11667 (_gpgme_get_uiserver_socket_path): Remove.
11668
11669 w32: Try to locate gpg in the gpgme installation dir.
11670 + commit 3881ea4e83d1533ef497b7332398fc1850e29205
11671 * src/w32-util.c (my_hmodule): New.
11672 (wchar_to_utf8): New.
11673 (DllMain): New.
11674 (_gpgme_get_inst_dir): New.
11675 (find_program_in_dir): New.
11676 (find_program_in_inst_dir): Add arg INST_DIR.
11677 (_gpgme_get_gpg_path): Get inst_dir before acquiring the lock.
11678 (_gpgme_get_gpgconf_path): Ditto.
11679 (_gpgme_get_g13_path): Ditto.
11680 (_gpgme_get_w32spawn_path): Ditto.
11681
11682 2013-07-31 Werner Koch <wk@gnupg.org>
11683
11684 doc: Add --binary option for the OUTPUT command of an uiserver.
11685 + commit 393a9471f2f3ac0a5b14f3534a5bfc7ffe948567
11686
11687
11688 2013-06-18 Werner Koch <wk@gnupg.org>
11689
11690 Add function gpgme_signers_count.
11691 + commit f2eeccbdfaf855a81abb92abe5ab4c702712bac7
11692 * src/signers.c (gpgme_signers_count): New.
11693 * src/libgpgme.vers, src/gpgme.def: Add as external symbol.
11694 * src/gpgme.h.in: Add prototype.
11695
11696 2013-05-28 Werner Koch <wk@gnupg.org>
11697
11698 Release 1.4.2.
11699 + commit 009e26a989f8a251563303f155c51fe012af52a4
11700 * configure.ac: Set LT version to C21/A10/R0.
11701
11702 Add convenience macro GPGME_PROTOCOL_OPENPGP.
11703 + commit 2e8feb6016dede400053f76fc3a418e1dd567bef
11704 * src/gpgme.h.in (GPGME_PROTOCOL_OPENPGP): New.
11705
11706 2013-05-23 Werner Koch <wk@gnupg.org>
11707
11708 w32: Fix installing of .def file.
11709 + commit c29dad2315406bed75b9547103650bef642e6aa7
11710 * src/Makefile.am (install-def-file): Create libdir first.
11711
11712 Fix libtool 2.4.2 to correctly detect .def files.
11713 + commit d739d4d8cf9c873b0f3bb7836aaf3d0ba31a7b7f
11714 * build-aux/ltmain.sh (sed_uncomment_deffile): New.
11715 (orig_export_symbols): Uncomment def file before testing for EXPORTS.
11716 * m4/libtool.m4: Do the same for the generated code.
11717
11718 2013-05-22 Werner Koch <wk@gnupg.org>
11719
11720 Support --no-encrypt-to also with gpgme_op_encrypt_sign.
11721 + commit d4371ed30da2e8b3d9f440613af299a952bde2b1
11722 * src/engine-gpg.c (gpg_encrypt_sign): Support the
11723 GPGME_ENCRYPT_NO_ENCRYPT_TO flag.
11724
11725 2013-05-22 Werner Koch <wk@gnupg.org>
11726 Kyle L. Huff <g10bts@curetheitch.com>
11727
11728 Allow symmetric encryption with gpgme_op_encrypt_sign.
11729 + commit 567e6481d767af60390d649897b897a8b0e7e9a5
11730 * src/encrypt-sign.c (encrypt_sym_status_handler): New.
11731 (encrypt_sign_start): Handle recp == NULL case.
11732 * src/engine-gpg.c (gpg_encrypt_sign): Implement symmetric encryption.
11733 * tests/gpg/t-encrypt-sign.c (main): Add a test case for this.
11734
11735 2013-05-22 Werner Koch <wk@gnupg.org>
11736
11737 gpgme-tool: Allow for symmetric encryption.
11738 + commit 0c1de7abd57b677998792e6cd5df5ddfb6e451b7
11739 * src/gpgme-tool.c (gt_sign_encrypt): Pass NULL for recp if no
11740 recipients are given.
11741
11742 tests: Print auditlog in plain text format.
11743 + commit 18254f88f82da7542a986dca60917fb48d5bccd3
11744 * tests/gpgsm/t-verify.c (show_auditlog): Use plain text format.
11745
11746 2013-05-18 Werner Koch <wk@gnupg.org>
11747
11748 Improve C++ compatibility of previous patch.
11749 + commit e99356306d7bda61802530ebeb07d9ba73c4dec0
11750 * src/gpgme.h.in: Move gpgme_sssize_t and gpgme_off_t typedefs into
11751 the extern "C" scope.
11752
11753 2013-05-16 Werner Koch <wk@gnupg.org>
11754
11755 Make definition of off_t robust against misbehaving w32 toolchains.
11756 + commit 6d0d8e7ba0bb989c251545fa8af35b97d1a703ba
11757 * configure.ac (NEED__FILE_OFFSET_BITS): Change to define gpgme_off_t
11758 and gpgme_ssize_t.
11759 (API__OFF_T, API__SSIZE_T): New ac_subst.
11760 * src/gpgme.h.in: Replace all ssize_t and off_t by ac_subst macros.
11761 * src/assuan-support.c, src/ath-pthread.c, src/ath.c, src/ath.h
11762 * src/data-compat.c, src/data-fd.c, src/data-mem.c, src/data-stream.c
11763 * src/data-user.c, src/data.c, src/data.h, src/engine-gpgsm.c
11764 * src/engine-uiserver.c, src/gpgme-tool.c, src/gpgme.c: Replace off_t
11765 by gpgme_off_t and sszie_t by gpgme_ssize_t.
11766 * src/ath-pthread.c, src/ath.h: Include gpgme.h.
11767
11768 2013-05-11 Werner Koch <wk@gnupg.org>
11769
11770 w32: Change the way the I/O threads are cleaned up.
11771 + commit 9e7df9aa6d81f0abbabb03a2346d80eb5d375f81
11772 * src/w32-io.c (reader_context_s, create_reader)
11773 (writer_context_s, create_writer): Rename STOPPED to CLOSE_EV.
11774 (reader, writer): Remove setting of STOPPED. Wait for CLOSE_EV and
11775 then release the context.
11776 (destroy_reader, destroy_writer): Do not wait but set the CLOSE_EV.
11777 (kill_reader, kill_writer): Remove.
11778 (_gpgme_io_close): Add code from kill_reader and kill_writer.
11779
11780 2013-05-08 Werner Koch <wk@gnupg.org>
11781
11782 Fix hang in socket closing.
11783 + commit 9f330be8210d2498fe93d4166b6f6c02fca76475
11784 * src/w32-io.c (destroy_reader): Call shutdown.
11785 (reader): Do not print an error in the shutdown case.
11786
11787 Improve debug output of the I/O reader and writer.
11788 + commit 2118f497010a9a41c29d062a7605ff2e136f8f4e
11789 * src/w32-io.c (reader, writer): Also print file_sock.
11790
11791 2013-05-06 Werner Koch <wk@gnupg.org>
11792
11793 Simplify a debug code function.
11794 + commit a7e5f1096f02af7bfb678b0bea8da6ccfc28cc79
11795 * src/debug.c (_gpgme_debug): Remove static space string.
11796
11797 2013-05-01 Werner Koch <wk@gnupg.org>
11798
11799 Release 1.4.1.
11800 + commit 5075c0da7c464af2a45cd36db134ed7e88f155af
11801 * configure.ac: Bump LT version to C20/A9/R1.
11802
11803 Disable fd-passing for Apple.
11804 + commit ef5b4ae37d13142e89a051908dc080cda3d24baa
11805 * configure.ac: Disable fd-passing by default for Apple.
11806
11807 2013-04-30 Werner Koch <wk@gnupg.org>
11808
11809 Allow reading of long gpgconf output lines.
11810 + commit f623a6b94c527795d0b6f7e66a3966e5d9e1c454
11811 * src/engine-gpgconf.c (gpgconf_read): Rewrite to allow for line
11812 lengths up to 64k.
11813
11814 2013-04-29 Werner Koch <wk@gnupg.org>
11815
11816 Fix for i686-w64-mingw32.
11817 + commit 867b950b9306904a0ff522d0ef4a43789393cfc4
11818 * configure.ac (NEED__FILE_OFFSET_BITS): Do not define under Windows.
11819
11820 2013-02-26 Werner Koch <wk@gnupg.org>
11821
11822 Release 1.4.0.
11823 + commit ef5cd38123dfbef7843f374ee697b0b5e8730c46
11824 * configure.ac: Bump LT version to C20/A9/R0.
11825
11826 Enable FD passing and thus building of the UI-server.
11827 + commit 5090f6f246bfad2eb80f3cc222963f73996d8028
11828 * configure.ac: Make --enable-fd-passing the default.
11829 * src/engine-uiserver.c (_gpgme_engine_ops_uiserver): Syntax fix.
11830
11831 w32: Hacks for building with 32 bit mingw64.
11832 + commit cdae524b282ef0ea67c3880b3e0f852c84c351ce
11833 * configure.ac (INSERT__TYPEDEFS_FOR_GPGME_H): Add hacks for 32 bit
11834 mingw64.
11835 * src/util.h [W32]: Include winsock2.h before windows to make mingw64
11836 happy.
11837 * src/w32-util.c (_WIN32_IE): Need to use 5.1 for mingw64.
11838
11839 Improve missing libgpg-error reporting in configure.
11840 + commit 787b5f14b933e5cee2624f79a23a60947f8134c8
11841 * configure.ac (NEED_GPG_ERROR_VERSION): New. Improve reporting for
11842 missing libgpg-error.
11843
11844 Change the various version numbers to the new scheme.
11845 + commit d8b46c919f45666af0d541e00dcedf57e6c4b66f
11846 * configure.ac: Rename my_foo variables to mym4_foo variables to make
11847 clear that they are processed by m4.
11848 (VERSION_NUMBER): New ac_subst.
11849 (AH_BOTTOM): Add CRIGHTBLURB macro.
11850 (BUILD_REVISION, BUILD_FILEVERSION, BUILD_TIMESTAMP): Change them to
11851 work similar to libgpg-error et al.
11852 * src/versioninfo.rc.in: Remove use of BUILD_NUMBER and get it in line
11853 with gpg-error et al.
11854 * src/version.c (cright_blurb): New.
11855 (gpgme_check_version_internal): Add magic to display the above
11856 information.
11857 * tests/t-version.c (main): Add option --verbose.
11858
11859 Update GnuPG related m4 files.
11860 + commit 863c0f2a3eaf2a5d46c5518e5ac3486cc1a49bd3
11861 * m4/gpg-error.m4: Update from libgpg-error.
11862 * m4/libassuan.m4: Update from libassuan.
11863
11864 Update helper scripts.
11865 + commit fdcd5736e610cd64e47da73dcafe8bc4a6a67666
11866 * configure.ac: Use AC_CONFIG_AUX_DIR. Remove args from
11867 AM_INIT_AUTOMAKE. Replace AM_CONFIG_HEADER by AC_CONFIG_HEADER.
11868 * compile, config.guess, config.sub, depcomp, install-sh, ltmain.sh
11869 * mkinstalldirs, texinfo.texi: Move to build-aux/ and update from
11870 gnulib (c042abf).
11871 * build-aux/mdate-sh, build-aux/missing: Install via automake -a -c.
11872 Update autogen.sh for changed config dir.
11873 * autogen.sh: Adjust for scripts dir change. Update W32 toolprefix
11874 list.
11875
11876 2013-02-25 Werner Koch <wk@gnupg.org>
11877
11878 Remove included gitlog-to-changelog.
11879 + commit 967e043ac42330ee692f23d05ce3a0dd457f2119
11880 * build-aux/gitlog-to-changelog: Remove.
11881 * configure.ac (GITLOG_TO_CHANGELOG): Default to just
11882 gitlog-to-changelog.
11883
11884 2013-02-12 Werner Koch <wk@gnupg.org>
11885
11886 Add macro GPGME_VERSION_NUMBER.
11887 + commit f48f75b1e812d33b76e439412efffa8277ab9abe
11888 * src/gpgme.h.in (GPGME_VERSION_NUMBER): New.
11889 * configure.ac (my_version_major, my_version_minor)
11890 (my_version_micro): New m4 macros.
11891 (my_version): Build from new m4 macros.
11892 (VERSION_NUMBER): New ac_subst.
11893
11894 Add public function gpgme_get_pinentry_mode.
11895 + commit 4f381554411ef019d79492f1751543f145604bcf
11896 * src/gpgme.c (gpgme_get_pinentry_mode): New.
11897
11898 2013-02-07 Werner Koch <wk@gnupg.org>
11899
11900 gpgme_tool: Support GPG's new pinentry-mode.
11901 + commit 02a2cf0ccb4d01700adf6d18316d7705d519a048
11902 * src/gpgme-tool.c (log_error): Do not always print the error source.
11903 (gt_set_pinentry_mode): New.
11904 (server_passphrase_cb): New.
11905 (cmd_pinentry_mode): New.
11906 (register_commands): Add cmd_pinentry_mode.
11907 (options): Add option --gpg-binary.
11908 (struct args): Add field gpg-binary.
11909 (parse_options, main): Implement that option.
11910
11911 Add public function gpgme_set_pinentry_mode.
11912 + commit 61a0d92b679f248505f1bf16386bc41a5bf2ba1d
11913 * src/gpgme.c (gpgme_set_pinentry_mode): New.
11914 * src/gpgme.h.in (gpgme_pinentry_t): New.
11915 (gpgme_set_pinentry_mode): New.
11916 * src/context.h (struct gpgme_context): Add field pinentry_mode.
11917 * src/engine-backend.h (struct engine_ops): Add field
11918 set_pinentry_mode.
11919 * src/engine-gpg.c (struct engine_gpg): Add field pinentry_mode.
11920 (build_argv): Implement pinentry_mode.
11921 (gpg_set_pinentry_mode): New.
11922 (_gpgme_engine_ops_gpg): Register gpg_set_pinentry_mode.
11923
11924 Add public function gpgme_io_writen.
11925 + commit 29eced50687dd8a39dafe704102ae09ea8e8533a
11926 * src/gpgme.c (gpgme_io_read): New.
11927
11928 2012-11-16 Werner Koch <wk@gnupg.org>
11929
11930 Improve parsing of the GIT revision number.
11931 + commit 322552a88db47896881e55c00ca301137cd160c6
11932 * configure.ac (git_revision): Use git rev-parse.
11933
11934 Fix non-portable use of chmod in autogen.sh.
11935 + commit cd6de92f42cb6e5b85bc376d5544496cb4d6a88a
11936 * autogen.sh: Remove option -c from chmod.
11937
11938 2012-11-15 Werner Koch <wk@gnupg.org>
11939
11940 Make _gpgme_encode_percent_string work for memory buffers.
11941 + commit 1a17acd8e9b7c0ef924f98bfb1502fe12e83c363
11942 * src/conversion.c (D_gpgme_encode_percent_string): Remove stray
11943 semicolon. Reported by Xi Wang.
11944
11945 2012-10-24 Werner Koch <wk@gnupg.org>
11946
11947 Make local variables configure hack more robust.
11948 + commit c97d067f27899d890a99036fcbed9263f4f68875
11949 * configure.ac (emacs_local_vars_begin): Use extra m4 quoting so that
11950 newer Emscasen won't take it up as Local Variables for this file.
11951
11952 Fix ttyname problem on Android.
11953 + commit 12a0c93433a0b1d7e8019fc35a63476db39327fa
11954 * configure.ac: Define macro and conditional HAVE_ANDROID_SYSTEM.
11955 * m4/gnupg-ttyname.m4: Force use of replacement on Android.
11956 * src/ttyname_r.c: Ditto.
11957
11958 tests: Adhere to the docs and call gpgme_check_version.
11959 + commit cc59b75b21516198b39a56950afbcec140d8ba48
11960 * tests/t-engine-info.c: Call gpgme_check_version.
11961
11962 2012-10-19 Werner Koch <wk@gnupg.org>
11963
11964 Trace the use of GPG_ERR_INV_ENGINE.
11965 + commit bd24feaa86f8154e550107990392ac9ac05e60d4
11966 * src/debug.h: Include "gpgme.h"
11967 (_gpgme_trace_gpgme_error): New.
11968 (trace_gpg_error): New macro. Use it in all files where we return
11969 GPG_ERR_INV_ENGINE; also "include debug.h" as needed.
11970
11971 Avoid warning about initialized but not used variable.
11972 + commit 14a8fd4eec126cad282a85c5aa336a6b55229b52
11973 * src/engine-gpgsm.c (gpgsm_set_fd): Do not set DIR if not needed.
11974
11975 2012-10-11 Werner Koch <wk@gnupg.org>
11976
11977 gpgme-tool: Use membuf functions to build up strings.
11978 + commit e11e7fc5586613525035c3358e15ae24accb96ea
11979 * src/gpgme-tool.c (clear_membuf, init_membuf, put_membuf)
11980 (put_membuf_str, get_membuf, peek_membuf): Add membuf functions.
11981 Take from GnuPG master's common/membuf.[ch] and patch for our use.
11982 (result_xml_escape): Rewrite using new functions.
11983
11984 gpgme-tool: Change license from LPGLv2+ to GPLv3+
11985 + commit aa30b47aa010bf46876f2335e288f8bd8718e396
11986 * src/gpgme-tool.c: Change license notice.
11987
11988 2012-10-11 W. Trevor King <wking@tremily.us>
11989
11990 gpgme-tool: escape special characters in output XML data (<, >, and &).
11991 + commit 3f1329e1c9b99b1632cc4c4eec2e4399676fd93d
11992
11993 src/gpgme-tool.c (result_xml_escape_replacement, result_xml_escape):
11994 New.
11995 (result_xml_tag_data): Use result_xml_escape() to escape data.
11996 (result_add_error): Use unescaped < and >.
11997
11998 gpgme-tool: Fix chain_id -> chain-id in KEYLIST XML.
11999 + commit c28ebca9f2e21344d68e9fdcec60553f225c2e54
12000
12001 src/gpgme-tool.c (cmd_keylist): Use <chain-id> instead of <chain_id>.
12002
12003 2012-09-28 W. Trevor King <wking@tremily.us>
12004
12005 gpgme-tool: Return more detailed XML from KEYLIST.
12006 + commit 3d69b51f7f083193db28f364da4590c33b5e44e6
12007 src/gpgme-tool.c (cmd_keylist): Convert output from a list of
12008 to more detailed XML.
12009 (xml_preamble1, xml_preamble2, xml_end): Make global.
12010 (result_add_protocol, result_add_validity): New functions for
12011 generating XML from GPGME types.
12012 (result_add_string): Treat NULL strings as "".
12013 (result_xml_tag_data): Make 'data' a 'const char' so we can use the
12014 value returned by gpgme_get_protocol_name directly.
12015
12016 gpgme-tool: Initialize input_fd and output_fd.
12017 + commit dda3702a9024a08da7bb949e15b63a47d23d59f5
12018 * src/gpgme-tool.c (gpgme_server): Initialize input_fd and output_fd.
12019
12020 2012-09-26 Werner Koch <wk@gnupg.org>
12021
12022 gpgme-tool: Fix handling of file descriptors.
12023 + commit 193eb62538b9413e0dfbd04c075f871d5aa9130b
12024 * src/gpgme-tool.c (server_reset_fds): Use close/CloseHandle instead
12025 of the assuan close functions.
12026 (_cmd_decrypt_verify, _cmd_sign_encrypt, cmd_verify, cmd_import)
12027 (cmd_export, cmd_genkey, cmd_getauditlog): Use SERVER object instead
12028 of assuan_get_*_fd functions.
12029
12030 2012-09-25 Werner Koch <wk@gnupg.org>
12031
12032 Document contribution rules.
12033 + commit db33945ab3b8c173a3fc2dd1a0d22d7fc15d8730
12034 * doc/HACKING (License policy): New.
12035 * doc/DCO: New.
12036 * AUTHORS: Change maintainer address.
12037
12038 Add gpgme_set_global_flag to help debugging.
12039 + commit c62b79a1d6e576d94e08cb81c2f5dbcb42ecf8cf
12040 * src/gpgme.c (gpgme_set_global_flag): New.
12041 * src/gpgme.h.in (gpgme_set_global_flag): New.
12042 * src/gpgme.def, src/libgpgme.vers: Add new public function.
12043 * src/debug.c (envvar_override): New.:
12044 (_gpgme_debug_set_debug_envvar): New.
12045 (debug_init): Take ENVVAR_OVERRIDE in account.
12046
12047 2012-07-28 Marcus Brinkmann <marcus.brinkmann@ruhr-uni-bochum.de>
12048
12049 Add two recent contributors.
12050 + commit 83e74202cd7c4c975d149c49e2507fdb0e60ef32
12051
12052
12053 Fix sign error in position calculation for mem_seek.
12054 + commit 8384ccbd1a51447dccbd608fc5df3c24cb8999b1
12055 * data-mem.c (mem_seek): Fix sign error in position calculation.
12056
12057 Allow null context on gpgme_set_locale.
12058 + commit 434735f71e6969248651ac01c6bd6f6789a6305d
12059 * gpgme.c (gpgme_set_locale): Allow CTX to be a null pointer.
12060
12061 2012-07-13 Werner Koch <wk@gnupg.org>
12062
12063 Do not include the removed file status-table.h.
12064 + commit e7aeaebb01395b170c91f290bf3ff5021023420f
12065 * src/engine-uiserver.c: Remove status-table.h which is not anymore
12066 built. Fixes bug#1412.
12067
12068 Make handling of new conf values more robust (bug#1413).
12069 + commit 9f081da7356288a96e8ea4d81a74ff706c00b0cd
12070 * src/engine-gpgconf.c (arg_to_data): Allow for NULL as value.string.
12071
12072 2012-05-02 Werner Koch <wk@gnupg.org>
12073
12074 Release 1.3.2.
12075 + commit 9c8608f702ec0f44ae55cd7f33bd8df0a2d48508
12076 * configure.ac: Bump LT version to C19/A8/R1.
12077
12078 * configure.ac (GITLOG_TO_CHANGELOG): Define.
12079 * Makefile.am (gen-ChangeLog): Use it.
12080
12081 Remove unused pth stuff from gpgme-config.
12082 + commit 295dd3f238fa656493d34e8a718958d62226b56c
12083 * src/gpgme-config.in: Remove unused pth stuff.
12084
12085 Update signature summary for the case of missing X.509 keys.
12086 + commit d6402b888fd00b883bbfc00c91a2aa9706e4377e
12087 * src/verify.c (gpgme_op_verify_result): Update summary field.
12088
12089 2012-04-30 Werner Koch <wk@gnupg.org>
12090
12091 Fix timestamp parsing for y2038 hack.
12092 + commit 1a21574b48ee91eedbf95251ee600648b377d1e7
12093 * src/conversion.c (_gpgme_parse_timestamp): Set ENDP before year 2038
12094 check.
12095
12096 2012-04-20 W. Trevor King <wking@drexel.edu>
12097
12098 .gitignore: flesh out rules and add subdirectory-.gitignores.
12099 + commit 4cb408d33efe80e7d102049dea244d22907d8395
12100
12101
12102 2012-04-13 W. Trevor King <wking@drexel.edu>
12103
12104 status-table.c: include string.h for strcmp.
12105 + commit 62bbe58280737d73badbe518f140e40480205176
12106 * status-table.c: include string.h to avoid `warning: implicit
12107 declaration of function 'strcmp'`.
12108
12109 2012-04-03 W. Trevor King <wking@drexel.edu>
12110
12111 gpgme-tool: add help messages for a number of commands.
12112 + commit c318e69d8fa5f9e92d4aac3dd44fae5adcaade72
12113 * src/gpgme-tool.c (hlp_engine, hlp_sub_protocol, hlp_armor, hlp_textmode,
12114 hlp_include_certs, hlp_keylist_mode, hlp_input, hlp_output, hlp_message,
12115 hlp_recipient, hlp_signer, hlp_signers_clear, hlp_decrypt, hlp_decrypt_verify,
12116 hlp_encrypt, hlp_sign_encrypt, hlp_sign, hlp_verify, hlp_import): New strings.
12117 (hlp_protocol): Fix typo.
12118 (register_commands): Add documentation strings.
12119 (doc): Mention Assuan.
12120
12121 uiserver.texi: fix decryption -> encryption typo in PREP_ENCRYPT discussion.
12122 + commit bb62104adf78e8416b3c56b8b2621edd723b56cd
12123 * doc/uiserver.texi (PREP_ENCRYPT): Fix documentation.
12124
12125 Update Werner Koch's distribution signing key in the README.
12126 + commit 6ec9e21dd1ea2f8509700bce018aef6ad7e9a927
12127 * README: Update signing key.
12128
12129 2012-03-12 Marcus Brinkmann <marcus.brinkmann@ruhr-uni-bochum.de>
12130
12131 Do not rely on glibc name of syscall.
12132 + commit ff0a640a18e7b7457e6c2edfdc8307bf44628b60
12133 * src/ath.c (ath_self): Use __NR_gettid, not SYS_gettid.
12134
12135 Update config.guess and config.sub to latest version.
12136 + commit ced1ad01aed32d1e4c5000f3b901db018ef7bf1e
12137 * config.guess, config.sub: Update to latest version.
12138
12139 2012-02-14 Marcus Brinkmann <marcus.brinkmann@ruhr-uni-bochum.de>
12140
12141 Rework status table to be less dynamically generated.
12142 + commit 885243e05467e79e2375b3febe7904053ab45dfc
12143 * src/Makefile.am (EXTRA_DIST): Remove mkstatus.
12144 (BUILT_SOURCE, MOSTLYCLEANFILES): Remove.
12145 (main_sources): Remove status-table.h, extra-stati.h.
12146 Add status-table.c.
12147 (status-table.h): Remove rules for built source.
12148 * src/decrypt.c: Don't include extra-stati.h.
12149 * src/engine-gpg.c: Don't include status-table.h.
12150 (status_cmp): Remove function.
12151 (read_status): Use _gpgme_parse_status.
12152 * src/engine-gpgsm.c: Don't include status-table.h.
12153 (status_cmp, parse_status): Remove function.
12154 (gpgsm_assuan_simple_command, status_handler): Use _gpgme_parse_status.
12155 * src/engine-uiserver.c: Don't include status-table.h.
12156 (status_cmp, parse_status): Remove function.
12157 (uiserver_assuan_simple_command, status_handler): Use
12158 _gpgme_parse_status.
12159 * src/gpgme.h.in (gpgme_status_code_t): Add
12160 GPGME_STATUS_DECRYPTION_INFO.
12161 * src/util.h (_gpgme_status_init,_gpgme_parse_status): New declaration.
12162 * src/status-table.c: New file.
12163 * src/extra-stati.h, src/mkstatus: Files removed.
12164 * version.c (do_subsystem_inits): Call _gpgme_status_init.
12165
12166 2012-02-08 Marcus Brinkmann <mb@g10code.com>
12167
12168 Use gpgme interface for error handling to avoid linking with gpg-error.
12169 + commit dae3073aaa8b7feb1c844fdaf711f79141b9cc65
12170 * tests/t-data.c, tests/run-export.c, tests/run-keylist.c,
12171 tests/run-support.h, tests/run-verify.c, tests/gpg/t-decrypt-verify.c,
12172 tests/gpg/t-edit.c, tests/gpg/t-eventloop.c, tests/gpg/t-keylist-sig.c,
12173 tests/gpg/t-keylist.c, tests/gpg/t-support.h, tests/gpg/t-trustlist.c,
12174 tests/gpg/t-verify.c, tests/gpg/t-wait.c, tests/gpgsm/cms-decrypt.c,
12175 tests/gpgsm/cms-keylist.c, tests/gpgsm/t-keylist.c,
12176 tests/gpgsm/t-support.h, tests/gpgsm/t-verify.c,
12177 tests/opassuan/t-command.c: Use gpgme interface for gpg-error functions.
12178
12179 Link the thread test to pthread.
12180 + commit 0052a72f89c6830818e354358fdd84702d3494c8
12181 * tests/gpg/Makefile.am (t_thread1_LDADD): Add -lpthread.
12182
12183 Link gpgme-tool directly to libassuan, as it uses its interface.
12184 + commit 3f03897cbd223d4a75eb62c3b7bdfeb800661641
12185 * src/Makefile.am (gpgme_tool_LDADD): Add @LIBASSUAN_LIBS@.
12186
12187 2012-01-19 Werner Koch <wk@gnupg.org>
12188
12189 Support the mingw-w64 toolchain.
12190 + commit 24a10a4af948ebb1c767b69a92fa5bbe933a417c
12191 * autogen.sh (build-w32): Add i686-w64-mingw32 to the toolprefix.
12192
12193 Fix Solaris problems with ttyname_r.
12194 + commit 2f304957f5122a5d9da643dc9951ee67ece06eaf
12195 * m4/gnupg-ttyname.m4: New. Based on ttyname_r from gnulib.
12196 * src/ttyname_r.c (_gpgme_ttyname_r): Rename from ttyname_r.
12197 Implement hacks required for Solaris and possible other non-fully
12198 Posix systems.
12199 * src/util.h: Include unistd.h. Redefine ttyname_r depending on
12200 REPLACE_TTYNAME_R and put it into the gpgme name space.
12201
12202 Try to make configure.ac a bit smaller.
12203 + commit c96778297f5477448a676fcf0c61044bdbccc86d
12204 * configure.ac: Move header checks.
12205
12206 For W32 use a build number instead of abbreviated commit id.
12207 + commit 574b087e84f5652cf9d8eba8aa16b8d6bb988035
12208 We would need to use a shortened commit id so that it fits into an 16
12209 bit Windows variable. Further it is a random number and not something
12210 increasing. Thus a build number made up from the day of the year and
12211 the hour is much more useful to describe a build number for a specific
12212 revision.
12213 * configure.ac [W32]: Replace BUILD_REVISION by BUILD_NUMBER.
12214 * src/versioninfo.rc.in: Ditto.
12215
12216 Adjust configure.ac for modern autoconf.
12217 + commit a0149630ce6d3e17a7475e20e8b2e31ed5ba57fd
12218 * configure.ac: Minor cleanups.
12219
12220 Update to libtool 2.4.2.
12221 + commit 4cfddadcd0a569f0b204dccea3c975ce0bdfb232
12222 * ltmain.sh, m4/libtool.m4, m4/ltoptions.m4, m4/ltversion.m4,
12223 * m4/lt~obsolete.m4: Update.
12224
12225 Add ttyname_r check macro from gnulib.
12226 + commit 3ef528b63679df912551d5d21fc36e465cf50c40
12227 * m4/gnupg-ttyname.m4: New. Taken from current gnulib.
12228
12229 2011-12-02 Werner Koch <wk@gnupg.org>
12230
12231 Generate the ChangeLog from commit logs.
12232 + commit a4c4ee1aaea4359432bdf60dd572f549ef8dee83
12233 * build-aux/gitlog-to-changelog: New script. Taken from gnulib.
12234 * build-aux/git-log-fix: New file.
12235 * build-aux/git-log-footer: New file.
12236 * build-aux/git-hook/commit-msg: New script.
12237 * doc/HACKING: New file.
12238 * ChangeLog: New file.
12239 * Makefile.am (EXTRA_DIST): Add new files.
12240 (gen-ChangeLog): New.
12241 (dist-hook): Run gen-ChangeLog.
12242 * autogen.sh: Install commit-msg hook for git.
12243
12244 Rename all ChangeLog files to ChangeLog-2011.
12245
12246 2011-12-02 Werner Koch <wk@gnupg.org>
12247
12248 NB: Changes done before December 1st, 2011 are described in
12249 per directory files named ChangeLog-2011. See doc/HACKING for
12250 details.
12251
12252 -----
12253 Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
12254 2010, 2011, 2012, 2013 g10 Code GmbH
12255
12256 Copying and distribution of this file and/or the original GIT
12257 commit log messages, with or without modification, are
12258 permitted provided the copyright notice and this notice are
12259 preserved.
12 Local Variables:
13 buffer-read-only: t
14 mode: text
15 End:
0 Installation Instructions
1 *************************
2
3 Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
4 2006, 2007 Free Software Foundation, Inc.
5
6 This file is free documentation; the Free Software Foundation gives
7 unlimited permission to copy, distribute and modify it.
8
9 Basic Installation
10 ==================
11
12 Briefly, the shell commands `./configure; make; make install' should
13 configure, build, and install this package. The following
14 more-detailed instructions are generic; see the `README' file for
15 instructions specific to this package.
16
17 The `configure' shell script attempts to guess correct values for
18 various system-dependent variables used during compilation. It uses
19 those values to create a `Makefile' in each directory of the package.
20 It may also create one or more `.h' files containing system-dependent
21 definitions. Finally, it creates a shell script `config.status' that
22 you can run in the future to recreate the current configuration, and a
23 file `config.log' containing compiler output (useful mainly for
24 debugging `configure').
25
26 It can also use an optional file (typically called `config.cache'
27 and enabled with `--cache-file=config.cache' or simply `-C') that saves
28 the results of its tests to speed up reconfiguring. Caching is
29 disabled by default to prevent problems with accidental use of stale
30 cache files.
31
32 If you need to do unusual things to compile the package, please try
33 to figure out how `configure' could check whether to do them, and mail
34 diffs or instructions to the address given in the `README' so they can
35 be considered for the next release. If you are using the cache, and at
36 some point `config.cache' contains results you don't want to keep, you
37 may remove or edit it.
38
39 The file `configure.ac' (or `configure.in') is used to create
40 `configure' by a program called `autoconf'. You need `configure.ac' if
41 you want to change it or regenerate `configure' using a newer version
42 of `autoconf'.
43
44 The simplest way to compile this package is:
45
46 1. `cd' to the directory containing the package's source code and type
47 `./configure' to configure the package for your system.
48
49 Running `configure' might take a while. While running, it prints
50 some messages telling which features it is checking for.
51
52 2. Type `make' to compile the package.
53
54 3. Optionally, type `make check' to run any self-tests that come with
55 the package.
56
57 4. Type `make install' to install the programs and any data files and
58 documentation.
59
60 5. You can remove the program binaries and object files from the
61 source code directory by typing `make clean'. To also remove the
62 files that `configure' created (so you can compile the package for
63 a different kind of computer), type `make distclean'. There is
64 also a `make maintainer-clean' target, but that is intended mainly
65 for the package's developers. If you use it, you may have to get
66 all sorts of other programs in order to regenerate files that came
67 with the distribution.
68
69 6. Often, you can also type `make uninstall' to remove the installed
70 files again.
71
72 Compilers and Options
73 =====================
74
75 Some systems require unusual options for compilation or linking that the
76 `configure' script does not know about. Run `./configure --help' for
77 details on some of the pertinent environment variables.
78
79 You can give `configure' initial values for configuration parameters
80 by setting variables in the command line or in the environment. Here
81 is an example:
82
83 ./configure CC=c99 CFLAGS=-g LIBS=-lposix
84
85 *Note Defining Variables::, for more details.
86
87 Compiling For Multiple Architectures
88 ====================================
89
90 You can compile the package for more than one kind of computer at the
91 same time, by placing the object files for each architecture in their
92 own directory. To do this, you can use GNU `make'. `cd' to the
93 directory where you want the object files and executables to go and run
94 the `configure' script. `configure' automatically checks for the
95 source code in the directory that `configure' is in and in `..'.
96
97 With a non-GNU `make', it is safer to compile the package for one
98 architecture at a time in the source code directory. After you have
99 installed the package for one architecture, use `make distclean' before
100 reconfiguring for another architecture.
101
102 Installation Names
103 ==================
104
105 By default, `make install' installs the package's commands under
106 `/usr/local/bin', include files under `/usr/local/include', etc. You
107 can specify an installation prefix other than `/usr/local' by giving
108 `configure' the option `--prefix=PREFIX'.
109
110 You can specify separate installation prefixes for
111 architecture-specific files and architecture-independent files. If you
112 pass the option `--exec-prefix=PREFIX' to `configure', the package uses
113 PREFIX as the prefix for installing programs and libraries.
114 Documentation and other data files still use the regular prefix.
115
116 In addition, if you use an unusual directory layout you can give
117 options like `--bindir=DIR' to specify different values for particular
118 kinds of files. Run `configure --help' for a list of the directories
119 you can set and what kinds of files go in them.
120
121 If the package supports it, you can cause programs to be installed
122 with an extra prefix or suffix on their names by giving `configure' the
123 option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
124
125 Optional Features
126 =================
127
128 Some packages pay attention to `--enable-FEATURE' options to
129 `configure', where FEATURE indicates an optional part of the package.
130 They may also pay attention to `--with-PACKAGE' options, where PACKAGE
131 is something like `gnu-as' or `x' (for the X Window System). The
132 `README' should mention any `--enable-' and `--with-' options that the
133 package recognizes.
134
135 For packages that use the X Window System, `configure' can usually
136 find the X include and library files automatically, but if it doesn't,
137 you can use the `configure' options `--x-includes=DIR' and
138 `--x-libraries=DIR' to specify their locations.
139
140 Specifying the System Type
141 ==========================
142
143 There may be some features `configure' cannot figure out automatically,
144 but needs to determine by the type of machine the package will run on.
145 Usually, assuming the package is built to be run on the _same_
146 architectures, `configure' can figure that out, but if it prints a
147 message saying it cannot guess the machine type, give it the
148 `--build=TYPE' option. TYPE can either be a short name for the system
149 type, such as `sun4', or a canonical name which has the form:
150
151 CPU-COMPANY-SYSTEM
152
153 where SYSTEM can have one of these forms:
154
155 OS KERNEL-OS
156
157 See the file `config.sub' for the possible values of each field. If
158 `config.sub' isn't included in this package, then this package doesn't
159 need to know the machine type.
160
161 If you are _building_ compiler tools for cross-compiling, you should
162 use the option `--target=TYPE' to select the type of system they will
163 produce code for.
164
165 If you want to _use_ a cross compiler, that generates code for a
166 platform different from the build platform, you should specify the
167 "host" platform (i.e., that on which the generated programs will
168 eventually be run) with `--host=TYPE'.
169
170 Sharing Defaults
171 ================
172
173 If you want to set default values for `configure' scripts to share, you
174 can create a site shell script called `config.site' that gives default
175 values for variables like `CC', `cache_file', and `prefix'.
176 `configure' looks for `PREFIX/share/config.site' if it exists, then
177 `PREFIX/etc/config.site' if it exists. Or, you can set the
178 `CONFIG_SITE' environment variable to the location of the site script.
179 A warning: not all `configure' scripts look for a site script.
180
181 Defining Variables
182 ==================
183
184 Variables not defined in a site shell script can be set in the
185 environment passed to `configure'. However, some packages may run
186 configure again during the build, and the customized values of these
187 variables may be lost. In order to avoid this problem, you should set
188 them in the `configure' command line, using `VAR=value'. For example:
189
190 ./configure CC=/usr/local2/bin/gcc
191
192 causes the specified `gcc' to be used as the C compiler (unless it is
193 overridden in the site shell script).
194
195 Unfortunately, this technique does not work for `CONFIG_SHELL' due to
196 an Autoconf bug. Until the bug is fixed you can use this workaround:
197
198 CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash
199
200 `configure' Invocation
201 ======================
202
203 `configure' recognizes the following options to control how it operates.
204
205 `--help'
206 `-h'
207 Print a summary of the options to `configure', and exit.
208
209 `--version'
210 `-V'
211 Print the version of Autoconf used to generate the `configure'
212 script, and exit.
213
214 `--cache-file=FILE'
215 Enable the cache: use and save the results of the tests in FILE,
216 traditionally `config.cache'. FILE defaults to `/dev/null' to
217 disable caching.
218
219 `--config-cache'
220 `-C'
221 Alias for `--cache-file=config.cache'.
222
223 `--quiet'
224 `--silent'
225 `-q'
226 Do not print messages saying which checks are being made. To
227 suppress all normal output, redirect it to `/dev/null' (any error
228 messages will still be shown).
229
230 `--srcdir=DIR'
231 Look for the package's source code in directory DIR. Usually
232 `configure' can determine that directory automatically.
233
234 `configure' also accepts some other, not widely useful, options. Run
235 `configure --help' for more details.
236
0 # Makefile.in generated by automake 1.16.4 from Makefile.am.
1 # @configure_input@
2
3 # Copyright (C) 1994-2021 Free Software Foundation, Inc.
4
5 # This Makefile.in is free software; the Free Software Foundation
6 # gives unlimited permission to copy and/or distribute it,
7 # with or without modifications, as long as this notice is preserved.
8
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
11 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
12 # PARTICULAR PURPOSE.
13
14 @SET_MAKE@
15
16 # Makefile.am - Top level Makefile for GPGME.
17 # Copyright (C) 2000 Werner Koch (dd9jn)
18 # Copyright (C) 2001, 2002, 2004, 2005, 2008, 2009 g10 Code GmbH
19 #
20 # This file is part of GPGME.
21 #
22 # GPGME is free software; you can redistribute it and/or modify it
23 # under the terms of the GNU Lesser General Public License as
24 # published by the Free Software Foundation; either version 2.1 of the
25 # License, or (at your option) any later version.
26 #
27 # GPGME is distributed in the hope that it will be useful, but WITHOUT
28 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
29 # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General
30 # Public License for more details.
31 #
32 # You should have received a copy of the GNU Lesser General Public
33 # License along with this program; if not, see <https://gnu.org/licenses/>.
34 # SPDX-License-Identifier: LGPL-2.1-or-later
35 VPATH = @srcdir@
36 am__is_gnu_make = { \
37 if test -z '$(MAKELEVEL)'; then \
38 false; \
39 elif test -n '$(MAKE_HOST)'; then \
40 true; \
41 elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
42 true; \
43 else \
44 false; \
45 fi; \
46 }
47 am__make_running_with_option = \
48 case $${target_option-} in \
49 ?) ;; \
50 *) echo "am__make_running_with_option: internal error: invalid" \
51 "target option '$${target_option-}' specified" >&2; \
52 exit 1;; \
53 esac; \
54 has_opt=no; \
55 sane_makeflags=$$MAKEFLAGS; \
56 if $(am__is_gnu_make); then \
57 sane_makeflags=$$MFLAGS; \
58 else \
59 case $$MAKEFLAGS in \
60 *\\[\ \ ]*) \
61 bs=\\; \
62 sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
63 | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
64 esac; \
65 fi; \
66 skip_next=no; \
67 strip_trailopt () \
68 { \
69 flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
70 }; \
71 for flg in $$sane_makeflags; do \
72 test $$skip_next = yes && { skip_next=no; continue; }; \
73 case $$flg in \
74 *=*|--*) continue;; \
75 -*I) strip_trailopt 'I'; skip_next=yes;; \
76 -*I?*) strip_trailopt 'I';; \
77 -*O) strip_trailopt 'O'; skip_next=yes;; \
78 -*O?*) strip_trailopt 'O';; \
79 -*l) strip_trailopt 'l'; skip_next=yes;; \
80 -*l?*) strip_trailopt 'l';; \
81 -[dEDm]) skip_next=yes;; \
82 -[JT]) skip_next=yes;; \
83 esac; \
84 case $$flg in \
85 *$$target_option*) has_opt=yes; break;; \
86 esac; \
87 done; \
88 test $$has_opt = yes
89 am__make_dryrun = (target_option=n; $(am__make_running_with_option))
90 am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
91 pkgdatadir = $(datadir)/@PACKAGE@
92 pkgincludedir = $(includedir)/@PACKAGE@
93 pkglibdir = $(libdir)/@PACKAGE@
94 pkglibexecdir = $(libexecdir)/@PACKAGE@
95 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
96 install_sh_DATA = $(install_sh) -c -m 644
97 install_sh_PROGRAM = $(install_sh) -c
98 install_sh_SCRIPT = $(install_sh) -c
99 INSTALL_HEADER = $(INSTALL_DATA)
100 transform = $(program_transform_name)
101 NORMAL_INSTALL = :
102 PRE_INSTALL = :
103 POST_INSTALL = :
104 NORMAL_UNINSTALL = :
105 PRE_UNINSTALL = :
106 POST_UNINSTALL = :
107 build_triplet = @build@
108 host_triplet = @host@
109 subdir = .
110 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
111 am__aclocal_m4_deps = $(top_srcdir)/m4/ax_cxx_compile_stdcxx.m4 \
112 $(top_srcdir)/m4/ax_pkg_swig.m4 \
113 $(top_srcdir)/m4/ax_python_devel.m4 \
114 $(top_srcdir)/m4/glib-2.0.m4 $(top_srcdir)/m4/glibc21.m4 \
115 $(top_srcdir)/m4/gnupg-ttyname.m4 \
116 $(top_srcdir)/m4/gpg-error.m4 $(top_srcdir)/m4/libassuan.m4 \
117 $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
118 $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
119 $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/pkg.m4 \
120 $(top_srcdir)/m4/python.m4 $(top_srcdir)/m4/qt.m4 \
121 $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
122 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
123 $(ACLOCAL_M4)
124 DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \
125 $(am__configure_deps) $(am__DIST_COMMON)
126 am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
127 configure.lineno config.status.lineno
128 mkinstalldirs = $(SHELL) $(top_srcdir)/build-aux/mkinstalldirs
129 CONFIG_HEADER = $(top_builddir)/conf/config.h
130 CONFIG_CLEAN_FILES =
131 CONFIG_CLEAN_VPATH_FILES =
132 AM_V_P = $(am__v_P_@AM_V@)
133 am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
134 am__v_P_0 = false
135 am__v_P_1 = :
136 AM_V_GEN = $(am__v_GEN_@AM_V@)
137 am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
138 am__v_GEN_0 = @echo " GEN " $@;
139 am__v_GEN_1 =
140 AM_V_at = $(am__v_at_@AM_V@)
141 am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
142 am__v_at_0 = @
143 am__v_at_1 =
144 SOURCES =
145 DIST_SOURCES =
146 RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
147 ctags-recursive dvi-recursive html-recursive info-recursive \
148 install-data-recursive install-dvi-recursive \
149 install-exec-recursive install-html-recursive \
150 install-info-recursive install-pdf-recursive \
151 install-ps-recursive install-recursive installcheck-recursive \
152 installdirs-recursive pdf-recursive ps-recursive \
153 tags-recursive uninstall-recursive
154 am__can_run_installinfo = \
155 case $$AM_UPDATE_INFO_DIR in \
156 n|no|NO) false;; \
157 *) (install-info --version) >/dev/null 2>&1;; \
158 esac
159 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
160 distclean-recursive maintainer-clean-recursive
161 am__recursive_targets = \
162 $(RECURSIVE_TARGETS) \
163 $(RECURSIVE_CLEAN_TARGETS) \
164 $(am__extra_recursive_targets)
165 AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
166 cscope distdir distdir-am dist dist-all distcheck
167 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
168 # Read a list of newline-separated strings from the standard input,
169 # and print each of them once, without duplicates. Input order is
170 # *not* preserved.
171 am__uniquify_input = $(AWK) '\
172 BEGIN { nonempty = 0; } \
173 { items[$$0] = 1; nonempty = 1; } \
174 END { if (nonempty) { for (i in items) print i; }; } \
175 '
176 # Make sure the list of sources is unique. This is necessary because,
177 # e.g., the same source file might be shared among _SOURCES variables
178 # for different programs/libraries.
179 am__define_uniq_tagged_files = \
180 list='$(am__tagged_files)'; \
181 unique=`for i in $$list; do \
182 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
183 done | $(am__uniquify_input)`
184 DIST_SUBDIRS = src tests doc lang
185 am__DIST_COMMON = $(srcdir)/Makefile.in \
186 $(top_srcdir)/build-aux/compile \
187 $(top_srcdir)/build-aux/config.guess \
188 $(top_srcdir)/build-aux/config.sub \
189 $(top_srcdir)/build-aux/install-sh \
190 $(top_srcdir)/build-aux/ltmain.sh \
191 $(top_srcdir)/build-aux/missing \
192 $(top_srcdir)/build-aux/mkinstalldirs \
193 $(top_srcdir)/conf/config.h.in AUTHORS COPYING COPYING.LESSER \
194 ChangeLog INSTALL NEWS README THANKS TODO build-aux/compile \
195 build-aux/config.guess build-aux/config.sub build-aux/depcomp \
196 build-aux/install-sh build-aux/ltmain.sh build-aux/mdate-sh \
197 build-aux/missing build-aux/mkinstalldirs \
198 build-aux/texinfo.tex missing
199 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
200 distdir = $(PACKAGE)-$(VERSION)
201 top_distdir = $(distdir)
202 am__remove_distdir = \
203 if test -d "$(distdir)"; then \
204 find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
205 && rm -rf "$(distdir)" \
206 || { sleep 5 && rm -rf "$(distdir)"; }; \
207 else :; fi
208 am__post_remove_distdir = $(am__remove_distdir)
209 am__relativize = \
210 dir0=`pwd`; \
211 sed_first='s,^\([^/]*\)/.*$$,\1,'; \
212 sed_rest='s,^[^/]*/*,,'; \
213 sed_last='s,^.*/\([^/]*\)$$,\1,'; \
214 sed_butlast='s,/*[^/]*$$,,'; \
215 while test -n "$$dir1"; do \
216 first=`echo "$$dir1" | sed -e "$$sed_first"`; \
217 if test "$$first" != "."; then \
218 if test "$$first" = ".."; then \
219 dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
220 dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
221 else \
222 first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
223 if test "$$first2" = "$$first"; then \
224 dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
225 else \
226 dir2="../$$dir2"; \
227 fi; \
228 dir0="$$dir0"/"$$first"; \
229 fi; \
230 fi; \
231 dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
232 done; \
233 reldir="$$dir2"
234 GZIP_ENV = --best
235 DIST_ARCHIVES = $(distdir).tar.bz2
236 DIST_TARGETS = dist-bzip2
237 # Exists only to be overridden by the user if desired.
238 AM_DISTCHECK_DVI_TARGET = dvi
239 distuninstallcheck_listfiles = find . -type f -print
240 am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
241 | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
242 distcleancheck_listfiles = find . -type f -print
243 ACLOCAL = @ACLOCAL@
244 AMTAR = @AMTAR@
245 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
246 AR = @AR@
247 AS = @AS@
248 AUTOCONF = @AUTOCONF@
249 AUTOHEADER = @AUTOHEADER@
250 AUTOMAKE = @AUTOMAKE@
251 AWK = @AWK@
252 BUILD_FILEVERSION = @BUILD_FILEVERSION@
253 BUILD_REVISION = @BUILD_REVISION@
254 BUILD_TIMESTAMP = @BUILD_TIMESTAMP@
255 BUILD_VERSION = @BUILD_VERSION@
256 CC = @CC@
257 CCDEPMODE = @CCDEPMODE@
258 CC_FOR_BUILD = @CC_FOR_BUILD@
259 CFLAGS = @CFLAGS@
260 CPP = @CPP@
261 CPPFLAGS = @CPPFLAGS@
262 CSCOPE = @CSCOPE@
263 CTAGS = @CTAGS@
264 CXX = @CXX@
265 CXXCPP = @CXXCPP@
266 CXXDEPMODE = @CXXDEPMODE@
267 CXXFLAGS = @CXXFLAGS@
268 CYGPATH_W = @CYGPATH_W@
269 DEFS = @DEFS@
270 DEPDIR = @DEPDIR@
271 DLLTOOL = @DLLTOOL@
272 DOXYGEN = @DOXYGEN@
273 DSYMUTIL = @DSYMUTIL@
274 DUMPBIN = @DUMPBIN@
275 ECHO_C = @ECHO_C@
276 ECHO_N = @ECHO_N@
277 ECHO_T = @ECHO_T@
278 EGREP = @EGREP@
279 ENABLED_LANGUAGES = @ENABLED_LANGUAGES@
280 ETAGS = @ETAGS@
281 EXEEXT = @EXEEXT@
282 FGREP = @FGREP@
283 GITLOG_TO_CHANGELOG = @GITLOG_TO_CHANGELOG@
284 GLIBC21 = @GLIBC21@
285 GLIB_CFLAGS = @GLIB_CFLAGS@
286 GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
287 GLIB_LIBS = @GLIB_LIBS@
288 GLIB_MKENUMS = @GLIB_MKENUMS@
289 GOBJECT_QUERY = @GOBJECT_QUERY@
290 GPGME_CONFIG_API_VERSION = @GPGME_CONFIG_API_VERSION@
291 GPGME_CONFIG_AVAIL_LANG = @GPGME_CONFIG_AVAIL_LANG@
292 GPGME_CONFIG_CFLAGS = @GPGME_CONFIG_CFLAGS@
293 GPGME_CONFIG_HOST = @GPGME_CONFIG_HOST@
294 GPGME_CONFIG_LIBS = @GPGME_CONFIG_LIBS@
295 GPGME_QTTEST_CFLAGS = @GPGME_QTTEST_CFLAGS@
296 GPGME_QTTEST_LIBS = @GPGME_QTTEST_LIBS@
297 GPGME_QT_CFLAGS = @GPGME_QT_CFLAGS@
298 GPGME_QT_LIBS = @GPGME_QT_LIBS@
299 GPGRT_CONFIG = @GPGRT_CONFIG@
300 GPG_ERROR_CFLAGS = @GPG_ERROR_CFLAGS@
301 GPG_ERROR_CONFIG = @GPG_ERROR_CONFIG@
302 GPG_ERROR_LIBS = @GPG_ERROR_LIBS@
303 GPG_ERROR_MT_CFLAGS = @GPG_ERROR_MT_CFLAGS@
304 GPG_ERROR_MT_LIBS = @GPG_ERROR_MT_LIBS@
305 GRAPHVIZ = @GRAPHVIZ@
306 GREP = @GREP@
307 HAVE_CXX11 = @HAVE_CXX11@
308 HAVE_DOT = @HAVE_DOT@
309 INSTALL = @INSTALL@
310 INSTALL_DATA = @INSTALL_DATA@
311 INSTALL_PROGRAM = @INSTALL_PROGRAM@
312 INSTALL_SCRIPT = @INSTALL_SCRIPT@
313 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
314 LD = @LD@
315 LDADD_FOR_TESTS_KLUDGE = @LDADD_FOR_TESTS_KLUDGE@
316 LDFLAGS = @LDFLAGS@
317 LIBASSUAN_CFLAGS = @LIBASSUAN_CFLAGS@
318 LIBASSUAN_CONFIG = @LIBASSUAN_CONFIG@
319 LIBASSUAN_LIBS = @LIBASSUAN_LIBS@
320 LIBGPGMEPP_LT_AGE = @LIBGPGMEPP_LT_AGE@
321 LIBGPGMEPP_LT_CURRENT = @LIBGPGMEPP_LT_CURRENT@
322 LIBGPGMEPP_LT_REVISION = @LIBGPGMEPP_LT_REVISION@
323 LIBGPGME_LT_AGE = @LIBGPGME_LT_AGE@
324 LIBGPGME_LT_CURRENT = @LIBGPGME_LT_CURRENT@
325 LIBGPGME_LT_REVISION = @LIBGPGME_LT_REVISION@
326 LIBOBJS = @LIBOBJS@
327 LIBQGPGME_LT_AGE = @LIBQGPGME_LT_AGE@
328 LIBQGPGME_LT_CURRENT = @LIBQGPGME_LT_CURRENT@
329 LIBQGPGME_LT_REVISION = @LIBQGPGME_LT_REVISION@
330 LIBS = @LIBS@
331 LIBTOOL = @LIBTOOL@
332 LIPO = @LIPO@
333 LN_S = @LN_S@
334 LTLIBOBJS = @LTLIBOBJS@
335 MAINT = @MAINT@
336 MAKEINFO = @MAKEINFO@
337 MANIFEST_TOOL = @MANIFEST_TOOL@
338 MKDIR_P = @MKDIR_P@
339 MOC = @MOC@
340 MOC2 = @MOC2@
341 NEED__FILE_OFFSET_BITS = @NEED__FILE_OFFSET_BITS@
342 NM = @NM@
343 NMEDIT = @NMEDIT@
344 OBJDUMP = @OBJDUMP@
345 OBJEXT = @OBJEXT@
346 OTOOL = @OTOOL@
347 OTOOL64 = @OTOOL64@
348 PACKAGE = @PACKAGE@
349 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
350 PACKAGE_NAME = @PACKAGE_NAME@
351 PACKAGE_STRING = @PACKAGE_STRING@
352 PACKAGE_TARNAME = @PACKAGE_TARNAME@
353 PACKAGE_URL = @PACKAGE_URL@
354 PACKAGE_VERSION = @PACKAGE_VERSION@
355 PATH_SEPARATOR = @PATH_SEPARATOR@
356 PKG_CONFIG = @PKG_CONFIG@
357 PYTHON = @PYTHON@
358 PYTHONS = @PYTHONS@
359 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
360 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
361 PYTHON_EXTRA_LDFLAGS = @PYTHON_EXTRA_LDFLAGS@
362 PYTHON_EXTRA_LIBS = @PYTHON_EXTRA_LIBS@
363 PYTHON_LDFLAGS = @PYTHON_LDFLAGS@
364 PYTHON_PLATFORM = @PYTHON_PLATFORM@
365 PYTHON_PREFIX = @PYTHON_PREFIX@
366 PYTHON_SITE_PKG = @PYTHON_SITE_PKG@
367 PYTHON_VERSION = @PYTHON_VERSION@
368 QTCHOOSER = @QTCHOOSER@
369 RANLIB = @RANLIB@
370 RC = @RC@
371 SED = @SED@
372 SET_MAKE = @SET_MAKE@
373 SHELL = @SHELL@
374 STRIP = @STRIP@
375 SWIG = @SWIG@
376 SWIG_LIB = @SWIG_LIB@
377 SYSROOT = @SYSROOT@
378 VERSION = @VERSION@
379 VERSION_MAJOR = @VERSION_MAJOR@
380 VERSION_MICRO = @VERSION_MICRO@
381 VERSION_MINOR = @VERSION_MINOR@
382 VERSION_NUMBER = @VERSION_NUMBER@
383 abs_builddir = @abs_builddir@
384 abs_srcdir = @abs_srcdir@
385 abs_top_builddir = @abs_top_builddir@
386 abs_top_srcdir = @abs_top_srcdir@
387 ac_ct_AR = @ac_ct_AR@
388 ac_ct_CC = @ac_ct_CC@
389 ac_ct_CXX = @ac_ct_CXX@
390 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
391 am__include = @am__include@
392 am__leading_dot = @am__leading_dot@
393 am__quote = @am__quote@
394 am__tar = @am__tar@
395 am__untar = @am__untar@
396 bindir = @bindir@
397 build = @build@
398 build_alias = @build_alias@
399 build_cpu = @build_cpu@
400 build_os = @build_os@
401 build_vendor = @build_vendor@
402 builddir = @builddir@
403 datadir = @datadir@
404 datarootdir = @datarootdir@
405 docdir = @docdir@
406 dvidir = @dvidir@
407 emacs_local_vars_begin = @emacs_local_vars_begin@
408 emacs_local_vars_end = @emacs_local_vars_end@
409 emacs_local_vars_read_only = @emacs_local_vars_read_only@
410 exec_prefix = @exec_prefix@
411 host = @host@
412 host_alias = @host_alias@
413 host_cpu = @host_cpu@
414 host_os = @host_os@
415 host_vendor = @host_vendor@
416 htmldir = @htmldir@
417 includedir = @includedir@
418 infodir = @infodir@
419 install_sh = @install_sh@
420 libdir = @libdir@
421 libexecdir = @libexecdir@
422 localedir = @localedir@
423 localstatedir = @localstatedir@
424 mandir = @mandir@
425 mkdir_p = @mkdir_p@
426 oldincludedir = @oldincludedir@
427 pdfdir = @pdfdir@
428 pkgpyexecdir = @pkgpyexecdir@
429 pkgpythondir = @pkgpythondir@
430 prefix = @prefix@
431 program_transform_name = @program_transform_name@
432 psdir = @psdir@
433 pyexecdir = @pyexecdir@
434 pythondir = @pythondir@
435 runstatedir = @runstatedir@
436 sbindir = @sbindir@
437 sharedstatedir = @sharedstatedir@
438 srcdir = @srcdir@
439 sysconfdir = @sysconfdir@
440 target_alias = @target_alias@
441 top_build_prefix = @top_build_prefix@
442 top_builddir = @top_builddir@
443 top_srcdir = @top_srcdir@
444
445 # Location of the released tarball archives. This is prefixed by
446 # the variable RELEASE_ARCHIVE in ~/.gnupg-autogen.rc. For example:
447 # RELEASE_ARCHIVE=user@host:archive/tarballs
448 RELEASE_ARCHIVE_SUFFIX = gpgme
449 # The variable RELEASE_SIGNKEY in ~/.gnupg-autogen.rc is used
450 # to specify the key for signing. For example:
451 # RELEASE_SIGNKEY=D8692123C4065DEA5E0F3AB5249B39D24F25E3B6
452
453 # Autoconf flags
454 ACLOCAL_AMFLAGS = -I m4
455 DISTCHECK_CONFIGURE_FLAGS =
456 EXTRA_DIST = autogen.sh autogen.rc gpgme.spec.in \
457 ChangeLog-2011 m4/ChangeLog-2011 \
458 conf/whatisthis VERSION LICENSES
459
460 @RUN_GPG_TESTS_FALSE@tests =
461 @RUN_GPG_TESTS_TRUE@tests = tests
462 SUBDIRS = src ${tests} doc lang
463 gen_start_date = 2011-12-01T00:00:00
464
465 # Macro to help the release target.
466 RELEASE_NAME = $(PACKAGE_TARNAME)-$(PACKAGE_VERSION)
467 all: all-recursive
468
469 .SUFFIXES:
470 am--refresh: Makefile
471 @:
472 $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
473 @for dep in $?; do \
474 case '$(am__configure_deps)' in \
475 *$$dep*) \
476 echo ' cd $(srcdir) && $(AUTOMAKE) --gnu'; \
477 $(am__cd) $(srcdir) && $(AUTOMAKE) --gnu \
478 && exit 0; \
479 exit 1;; \
480 esac; \
481 done; \
482 echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \
483 $(am__cd) $(top_srcdir) && \
484 $(AUTOMAKE) --gnu Makefile
485 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
486 @case '$?' in \
487 *config.status*) \
488 echo ' $(SHELL) ./config.status'; \
489 $(SHELL) ./config.status;; \
490 *) \
491 echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles)'; \
492 cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles);; \
493 esac;
494
495 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
496 $(SHELL) ./config.status --recheck
497
498 $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
499 $(am__cd) $(srcdir) && $(AUTOCONF)
500 $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
501 $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
502 $(am__aclocal_m4_deps):
503
504 conf/config.h: conf/stamp-h1
505 @test -f $@ || rm -f conf/stamp-h1
506 @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) conf/stamp-h1
507
508 conf/stamp-h1: $(top_srcdir)/conf/config.h.in $(top_builddir)/config.status
509 @rm -f conf/stamp-h1
510 cd $(top_builddir) && $(SHELL) ./config.status conf/config.h
511 $(top_srcdir)/conf/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
512 ($(am__cd) $(top_srcdir) && $(AUTOHEADER))
513 rm -f conf/stamp-h1
514 touch $@
515
516 distclean-hdr:
517 -rm -f conf/config.h conf/stamp-h1
518
519 mostlyclean-libtool:
520 -rm -f *.lo
521
522 clean-libtool:
523 -rm -rf .libs _libs
524
525 distclean-libtool:
526 -rm -f libtool config.lt
527
528 # This directory's subdirectories are mostly independent; you can cd
529 # into them and run 'make' without going through this Makefile.
530 # To change the values of 'make' variables: instead of editing Makefiles,
531 # (1) if the variable is set in 'config.status', edit 'config.status'
532 # (which will cause the Makefiles to be regenerated when you run 'make');
533 # (2) otherwise, pass the desired values on the 'make' command line.
534 $(am__recursive_targets):
535 @fail=; \
536 if $(am__make_keepgoing); then \
537 failcom='fail=yes'; \
538 else \
539 failcom='exit 1'; \
540 fi; \
541 dot_seen=no; \
542 target=`echo $@ | sed s/-recursive//`; \
543 case "$@" in \
544 distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
545 *) list='$(SUBDIRS)' ;; \
546 esac; \
547 for subdir in $$list; do \
548 echo "Making $$target in $$subdir"; \
549 if test "$$subdir" = "."; then \
550 dot_seen=yes; \
551 local_target="$$target-am"; \
552 else \
553 local_target="$$target"; \
554 fi; \
555 ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
556 || eval $$failcom; \
557 done; \
558 if test "$$dot_seen" = "no"; then \
559 $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
560 fi; test -z "$$fail"
561
562 ID: $(am__tagged_files)
563 $(am__define_uniq_tagged_files); mkid -fID $$unique
564 tags: tags-recursive
565 TAGS: tags
566
567 tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
568 set x; \
569 here=`pwd`; \
570 if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
571 include_option=--etags-include; \
572 empty_fix=.; \
573 else \
574 include_option=--include; \
575 empty_fix=; \
576 fi; \
577 list='$(SUBDIRS)'; for subdir in $$list; do \
578 if test "$$subdir" = .; then :; else \
579 test ! -f $$subdir/TAGS || \
580 set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
581 fi; \
582 done; \
583 $(am__define_uniq_tagged_files); \
584 shift; \
585 if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
586 test -n "$$unique" || unique=$$empty_fix; \
587 if test $$# -gt 0; then \
588 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
589 "$$@" $$unique; \
590 else \
591 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
592 $$unique; \
593 fi; \
594 fi
595 ctags: ctags-recursive
596
597 CTAGS: ctags
598 ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
599 $(am__define_uniq_tagged_files); \
600 test -z "$(CTAGS_ARGS)$$unique" \
601 || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
602 $$unique
603
604 GTAGS:
605 here=`$(am__cd) $(top_builddir) && pwd` \
606 && $(am__cd) $(top_srcdir) \
607 && gtags -i $(GTAGS_ARGS) "$$here"
608 cscope: cscope.files
609 test ! -s cscope.files \
610 || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS)
611 clean-cscope:
612 -rm -f cscope.files
613 cscope.files: clean-cscope cscopelist
614 cscopelist: cscopelist-recursive
615
616 cscopelist-am: $(am__tagged_files)
617 list='$(am__tagged_files)'; \
618 case "$(srcdir)" in \
619 [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
620 *) sdir=$(subdir)/$(srcdir) ;; \
621 esac; \
622 for i in $$list; do \
623 if test -f "$$i"; then \
624 echo "$(subdir)/$$i"; \
625 else \
626 echo "$$sdir/$$i"; \
627 fi; \
628 done >> $(top_builddir)/cscope.files
629
630 distclean-tags:
631 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
632 -rm -f cscope.out cscope.in.out cscope.po.out cscope.files
633 distdir: $(BUILT_SOURCES)
634 $(MAKE) $(AM_MAKEFLAGS) distdir-am
635
636 distdir-am: $(DISTFILES)
637 $(am__remove_distdir)
638 test -d "$(distdir)" || mkdir "$(distdir)"
639 @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
640 topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
641 list='$(DISTFILES)'; \
642 dist_files=`for file in $$list; do echo $$file; done | \
643 sed -e "s|^$$srcdirstrip/||;t" \
644 -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
645 case $$dist_files in \
646 */*) $(MKDIR_P) `echo "$$dist_files" | \
647 sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
648 sort -u` ;; \
649 esac; \
650 for file in $$dist_files; do \
651 if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
652 if test -d $$d/$$file; then \
653 dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
654 if test -d "$(distdir)/$$file"; then \
655 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
656 fi; \
657 if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
658 cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
659 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
660 fi; \
661 cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
662 else \
663 test -f "$(distdir)/$$file" \
664 || cp -p $$d/$$file "$(distdir)/$$file" \
665 || exit 1; \
666 fi; \
667 done
668 @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
669 if test "$$subdir" = .; then :; else \
670 $(am__make_dryrun) \
671 || test -d "$(distdir)/$$subdir" \
672 || $(MKDIR_P) "$(distdir)/$$subdir" \
673 || exit 1; \
674 dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
675 $(am__relativize); \
676 new_distdir=$$reldir; \
677 dir1=$$subdir; dir2="$(top_distdir)"; \
678 $(am__relativize); \
679 new_top_distdir=$$reldir; \
680 echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
681 echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
682 ($(am__cd) $$subdir && \
683 $(MAKE) $(AM_MAKEFLAGS) \
684 top_distdir="$$new_top_distdir" \
685 distdir="$$new_distdir" \
686 am__remove_distdir=: \
687 am__skip_length_check=: \
688 am__skip_mode_fix=: \
689 distdir) \
690 || exit 1; \
691 fi; \
692 done
693 $(MAKE) $(AM_MAKEFLAGS) \
694 top_distdir="$(top_distdir)" distdir="$(distdir)" \
695 dist-hook
696 -test -n "$(am__skip_mode_fix)" \
697 || find "$(distdir)" -type d ! -perm -755 \
698 -exec chmod u+rwx,go+rx {} \; -o \
699 ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
700 ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
701 ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
702 || chmod -R a+r "$(distdir)"
703 dist-gzip: distdir
704 tardir=$(distdir) && $(am__tar) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).tar.gz
705 $(am__post_remove_distdir)
706 dist-bzip2: distdir
707 tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
708 $(am__post_remove_distdir)
709
710 dist-lzip: distdir
711 tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz
712 $(am__post_remove_distdir)
713
714 dist-xz: distdir
715 tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
716 $(am__post_remove_distdir)
717
718 dist-zstd: distdir
719 tardir=$(distdir) && $(am__tar) | zstd -c $${ZSTD_CLEVEL-$${ZSTD_OPT--19}} >$(distdir).tar.zst
720 $(am__post_remove_distdir)
721
722 dist-tarZ: distdir
723 @echo WARNING: "Support for distribution archives compressed with" \
724 "legacy program 'compress' is deprecated." >&2
725 @echo WARNING: "It will be removed altogether in Automake 2.0" >&2
726 tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
727 $(am__post_remove_distdir)
728
729 dist-shar: distdir
730 @echo WARNING: "Support for shar distribution archives is" \
731 "deprecated." >&2
732 @echo WARNING: "It will be removed altogether in Automake 2.0" >&2
733 shar $(distdir) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).shar.gz
734 $(am__post_remove_distdir)
735
736 dist-zip: distdir
737 -rm -f $(distdir).zip
738 zip -rq $(distdir).zip $(distdir)
739 $(am__post_remove_distdir)
740
741 dist dist-all:
742 $(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:'
743 $(am__post_remove_distdir)
744
745 # This target untars the dist file and tries a VPATH configuration. Then
746 # it guarantees that the distribution is self-contained by making another
747 # tarfile.
748 distcheck: dist
749 case '$(DIST_ARCHIVES)' in \
750 *.tar.gz*) \
751 eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).tar.gz | $(am__untar) ;;\
752 *.tar.bz2*) \
753 bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
754 *.tar.lz*) \
755 lzip -dc $(distdir).tar.lz | $(am__untar) ;;\
756 *.tar.xz*) \
757 xz -dc $(distdir).tar.xz | $(am__untar) ;;\
758 *.tar.Z*) \
759 uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
760 *.shar.gz*) \
761 eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\
762 *.zip*) \
763 unzip $(distdir).zip ;;\
764 *.tar.zst*) \
765 zstd -dc $(distdir).tar.zst | $(am__untar) ;;\
766 esac
767 chmod -R a-w $(distdir)
768 chmod u+w $(distdir)
769 mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst
770 chmod a-w $(distdir)
771 test -d $(distdir)/_build || exit 0; \
772 dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
773 && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
774 && $(MAKE) $(AM_MAKEFLAGS) distcheck-hook \
775 && am__cwd=`pwd` \
776 && $(am__cd) $(distdir)/_build/sub \
777 && ../../configure \
778 $(AM_DISTCHECK_CONFIGURE_FLAGS) \
779 $(DISTCHECK_CONFIGURE_FLAGS) \
780 --srcdir=../.. --prefix="$$dc_install_base" \
781 && $(MAKE) $(AM_MAKEFLAGS) \
782 && $(MAKE) $(AM_MAKEFLAGS) $(AM_DISTCHECK_DVI_TARGET) \
783 && $(MAKE) $(AM_MAKEFLAGS) check \
784 && $(MAKE) $(AM_MAKEFLAGS) install \
785 && $(MAKE) $(AM_MAKEFLAGS) installcheck \
786 && $(MAKE) $(AM_MAKEFLAGS) uninstall \
787 && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
788 distuninstallcheck \
789 && chmod -R a-w "$$dc_install_base" \
790 && ({ \
791 (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
792 && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
793 && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
794 && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
795 distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
796 } || { rm -rf "$$dc_destdir"; exit 1; }) \
797 && rm -rf "$$dc_destdir" \
798 && $(MAKE) $(AM_MAKEFLAGS) dist \
799 && rm -rf $(DIST_ARCHIVES) \
800 && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
801 && cd "$$am__cwd" \
802 || exit 1
803 $(am__post_remove_distdir)
804 @(echo "$(distdir) archives ready for distribution: "; \
805 list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
806 sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
807 distuninstallcheck:
808 @test -n '$(distuninstallcheck_dir)' || { \
809 echo 'ERROR: trying to run $@ with an empty' \
810 '$$(distuninstallcheck_dir)' >&2; \
811 exit 1; \
812 }; \
813 $(am__cd) '$(distuninstallcheck_dir)' || { \
814 echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \
815 exit 1; \
816 }; \
817 test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \
818 || { echo "ERROR: files left after uninstall:" ; \
819 if test -n "$(DESTDIR)"; then \
820 echo " (check DESTDIR support)"; \
821 fi ; \
822 $(distuninstallcheck_listfiles) ; \
823 exit 1; } >&2
824 distcleancheck: distclean
825 @if test '$(srcdir)' = . ; then \
826 echo "ERROR: distcleancheck can only run from a VPATH build" ; \
827 exit 1 ; \
828 fi
829 @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
830 || { echo "ERROR: files left in build directory after distclean:" ; \
831 $(distcleancheck_listfiles) ; \
832 exit 1; } >&2
833 check-am: all-am
834 check: check-recursive
835 all-am: Makefile
836 installdirs: installdirs-recursive
837 installdirs-am:
838 install: install-recursive
839 install-exec: install-exec-recursive
840 install-data: install-data-recursive
841 uninstall: uninstall-recursive
842
843 install-am: all-am
844 @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
845
846 installcheck: installcheck-recursive
847 install-strip:
848 if test -z '$(STRIP)'; then \
849 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
850 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
851 install; \
852 else \
853 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
854 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
855 "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
856 fi
857 mostlyclean-generic:
858
859 clean-generic:
860
861 distclean-generic:
862 -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
863 -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
864
865 maintainer-clean-generic:
866 @echo "This command is intended for maintainers to use"
867 @echo "it deletes files that may require special tools to rebuild."
868 clean: clean-recursive
869
870 clean-am: clean-generic clean-libtool mostlyclean-am
871
872 distclean: distclean-recursive
873 -rm -f $(am__CONFIG_DISTCLEAN_FILES)
874 -rm -f Makefile
875 distclean-am: clean-am distclean-generic distclean-hdr \
876 distclean-libtool distclean-tags
877
878 dvi: dvi-recursive
879
880 dvi-am:
881
882 html: html-recursive
883
884 html-am:
885
886 info: info-recursive
887
888 info-am:
889
890 install-data-am:
891
892 install-dvi: install-dvi-recursive
893
894 install-dvi-am:
895
896 install-exec-am:
897
898 install-html: install-html-recursive
899
900 install-html-am:
901
902 install-info: install-info-recursive
903
904 install-info-am:
905
906 install-man:
907
908 install-pdf: install-pdf-recursive
909
910 install-pdf-am:
911
912 install-ps: install-ps-recursive
913
914 install-ps-am:
915
916 installcheck-am:
917
918 maintainer-clean: maintainer-clean-recursive
919 -rm -f $(am__CONFIG_DISTCLEAN_FILES)
920 -rm -rf $(top_srcdir)/autom4te.cache
921 -rm -f Makefile
922 maintainer-clean-am: distclean-am maintainer-clean-generic
923
924 mostlyclean: mostlyclean-recursive
925
926 mostlyclean-am: mostlyclean-generic mostlyclean-libtool
927
928 pdf: pdf-recursive
929
930 pdf-am:
931
932 ps: ps-recursive
933
934 ps-am:
935
936 uninstall-am:
937
938 .MAKE: $(am__recursive_targets) install-am install-strip
939
940 .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \
941 am--refresh check check-am clean clean-cscope clean-generic \
942 clean-libtool cscope cscopelist-am ctags ctags-am dist \
943 dist-all dist-bzip2 dist-gzip dist-hook dist-lzip dist-shar \
944 dist-tarZ dist-xz dist-zip dist-zstd distcheck distclean \
945 distclean-generic distclean-hdr distclean-libtool \
946 distclean-tags distcleancheck distdir distuninstallcheck dvi \
947 dvi-am html html-am info info-am install install-am \
948 install-data install-data-am install-dvi install-dvi-am \
949 install-exec install-exec-am install-html install-html-am \
950 install-info install-info-am install-man install-pdf \
951 install-pdf-am install-ps install-ps-am install-strip \
952 installcheck installcheck-am installdirs installdirs-am \
953 maintainer-clean maintainer-clean-generic mostlyclean \
954 mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
955 tags tags-am uninstall uninstall-am
956
957 .PRECIOUS: Makefile
958
959
960 # Fix the version of the spec file.
961 dist-hook: gen-ChangeLog
962 @set -e; \
963 sed -e 's/@pkg_version@/$(PACKAGE_VERSION)/g' \
964 $(top_srcdir)/gpgme.spec.in > $(distdir)/gpgme.spec
965
966 distcheck-hook:
967 set -e; ( \
968 pref="#+macro: gpgme_" ;\
969 reldate="$$(date -u +%Y-%m-%d)" ;\
970 echo "$${pref}ver $(PACKAGE_VERSION)" ;\
971 echo "$${pref}date $${reldate}" ;\
972 list='$(DIST_ARCHIVES)'; for i in $$list; do \
973 case "$$i" in *.tar.bz2) \
974 echo "$${pref}size $$(wc -c <$$i|awk '{print int($$1/1024)}')k" ;\
975 echo "$${pref}sha1 $$(sha1sum <$$i|cut -d' ' -f1)" ;\
976 echo "$${pref}sha2 $$(sha256sum <$$i|cut -d' ' -f1)" ;;\
977 esac;\
978 done ) | tee $(distdir).swdb
979
980 .PHONY: gen-ChangeLog release sign-release
981 gen-ChangeLog:
982 if test -d $(top_srcdir)/.git; then \
983 (cd $(top_srcdir) && \
984 $(GITLOG_TO_CHANGELOG) --append-dot --tear-off \
985 --amend=build-aux/git-log-fix \
986 --since=$(gen_start_date) ) > $(distdir)/cl-t; \
987 cat $(top_srcdir)/build-aux/git-log-footer >> $(distdir)/cl-t;\
988 rm -f $(distdir)/ChangeLog; \
989 mv $(distdir)/cl-t $(distdir)/ChangeLog; \
990 fi
991
992 release:
993 +(set -e;\
994 if [ "$(abs_top_builddir)" = "$(abs_top_srcdir)" ]; then \
995 echo "error: build directory must not be the source directory" >&2;\
996 exit 2;\
997 fi ;\
998 echo "/* Build started at $$(date -uIseconds) */" ;\
999 cd $(top_srcdir); \
1000 ./autogen.sh --force; \
1001 cd $(abs_top_builddir); \
1002 rm -rf dist; mkdir dist ; cd dist ; \
1003 $(abs_top_srcdir)/configure --enable-maintainer-mode; \
1004 $(MAKE) distcheck; \
1005 echo "/* Build finished at $$(date -uIseconds) */" ;\
1006 echo "/*" ;\
1007 echo " * Please run the final step interactively:" ;\
1008 echo " * make sign-release" ;\
1009 echo " */" ;\
1010 ) 2>&1 | tee "$(RELEASE_NAME).buildlog"
1011
1012 sign-release:
1013 +(set -e; \
1014 cd dist; \
1015 x=$$(grep '^RELEASE_ARCHIVE=' $$HOME/.gnupg-autogen.rc|cut -d= -f2);\
1016 if [ -z "$$x" ]; then \
1017 echo "error: RELEASE_ARCHIVE missing in ~/.gnupg-autogen.rc">&2; \
1018 exit 2;\
1019 fi;\
1020 myarchive="$$x/$(RELEASE_ARCHIVE_SUFFIX)";\
1021 x=$$(grep '^RELEASE_SIGNKEY=' $$HOME/.gnupg-autogen.rc|cut -d= -f2);\
1022 if [ -z "$$x" ]; then \
1023 echo "error: RELEASE_SIGNKEY missing in ~/.gnupg-autogen.rc">&2; \
1024 exit 2;\
1025 fi;\
1026 mysignkey="$$x";\
1027 files1="$(RELEASE_NAME).tar.bz2" ;\
1028 files2="$(RELEASE_NAME).tar.bz2.sig \
1029 $(RELEASE_NAME).swdb \
1030 $(RELEASE_NAME).buildlog" ;\
1031 echo "/* Signing the source tarball ..." ;\
1032 gpg -sbu $$mysignkey $(RELEASE_NAME).tar.bz2 ;\
1033 cat $(RELEASE_NAME).swdb >swdb.snippet;\
1034 echo >>swdb.snippet ;\
1035 sha1sum $${files1} >>swdb.snippet ;\
1036 cat "../$(RELEASE_NAME).buildlog" swdb.snippet \
1037 | gzip >$(RELEASE_NAME).buildlog ;\
1038 echo "Copying to local archive ..." ;\
1039 scp -p $${files1} $${files2} $$myarchive/ || true;\
1040 echo "Uploading documentation ..." ;\
1041 $(MAKE) -C doc online; \
1042 echo '/*' ;\
1043 echo ' * All done; for checksums see dist/swdb.snippet' ;\
1044 echo ' */' ;\
1045 )
1046
1047 # Tell versions [3.59,3.63) of GNU make to not export all variables.
1048 # Otherwise a system limit (for SysV at least) may be exceeded.
1049 .NOEXPORT:
0 Noteworthy changes in version 1.16.1 (unreleased)
1 -------------------------------------------------
2
3 * qt: Extend ChangeExpiryJob to change expiration of primary key
4 and of subkeys at the same time. [#4717]
5
6 * Interface changes relative to the 1.16.0 release:
7 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
8 qt: ChangeExpiryJob::Option NEW.
9 qt: ChangeExpiryJob::Options NEW.
10 qt: ChangeExpiryJob::setOptions NEW.
11 qt: ChangeExpiryJob::options NEW.
12
013 Noteworthy changes in version 1.16.0 (2021-06-24)
114 -------------------------------------------------
215
0 1.16.1-unknown
0 # generated automatically by aclocal 1.16.4 -*- Autoconf -*-
1
2 # Copyright (C) 1996-2021 Free Software Foundation, Inc.
3
4 # This file is free software; the Free Software Foundation
5 # gives unlimited permission to copy and/or distribute it,
6 # with or without modifications, as long as this notice is preserved.
7
8 # This program is distributed in the hope that it will be useful,
9 # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
10 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
11 # PARTICULAR PURPOSE.
12
13 m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
14 m4_ifndef([AC_AUTOCONF_VERSION],
15 [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
16 m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.71],,
17 [m4_warning([this file was generated for autoconf 2.71.
18 You have another version of autoconf. It may work, but is not guaranteed to.
19 If you have problems, you may need to regenerate the build system entirely.
20 To do so, use the procedure documented by the package, typically 'autoreconf'.])])
21
22 # Copyright (C) 2002-2021 Free Software Foundation, Inc.
23 #
24 # This file is free software; the Free Software Foundation
25 # gives unlimited permission to copy and/or distribute it,
26 # with or without modifications, as long as this notice is preserved.
27
28 # AM_AUTOMAKE_VERSION(VERSION)
29 # ----------------------------
30 # Automake X.Y traces this macro to ensure aclocal.m4 has been
31 # generated from the m4 files accompanying Automake X.Y.
32 # (This private macro should not be called outside this file.)
33 AC_DEFUN([AM_AUTOMAKE_VERSION],
34 [am__api_version='1.16'
35 dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
36 dnl require some minimum version. Point them to the right macro.
37 m4_if([$1], [1.16.4], [],
38 [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
39 ])
40
41 # _AM_AUTOCONF_VERSION(VERSION)
42 # -----------------------------
43 # aclocal traces this macro to find the Autoconf version.
44 # This is a private macro too. Using m4_define simplifies
45 # the logic in aclocal, which can simply ignore this definition.
46 m4_define([_AM_AUTOCONF_VERSION], [])
47
48 # AM_SET_CURRENT_AUTOMAKE_VERSION
49 # -------------------------------
50 # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
51 # This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
52 AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
53 [AM_AUTOMAKE_VERSION([1.16.4])dnl
54 m4_ifndef([AC_AUTOCONF_VERSION],
55 [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
56 _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
57
58 # AM_AUX_DIR_EXPAND -*- Autoconf -*-
59
60 # Copyright (C) 2001-2021 Free Software Foundation, Inc.
61 #
62 # This file is free software; the Free Software Foundation
63 # gives unlimited permission to copy and/or distribute it,
64 # with or without modifications, as long as this notice is preserved.
65
66 # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
67 # $ac_aux_dir to '$srcdir/foo'. In other projects, it is set to
68 # '$srcdir', '$srcdir/..', or '$srcdir/../..'.
69 #
70 # Of course, Automake must honor this variable whenever it calls a
71 # tool from the auxiliary directory. The problem is that $srcdir (and
72 # therefore $ac_aux_dir as well) can be either absolute or relative,
73 # depending on how configure is run. This is pretty annoying, since
74 # it makes $ac_aux_dir quite unusable in subdirectories: in the top
75 # source directory, any form will work fine, but in subdirectories a
76 # relative path needs to be adjusted first.
77 #
78 # $ac_aux_dir/missing
79 # fails when called from a subdirectory if $ac_aux_dir is relative
80 # $top_srcdir/$ac_aux_dir/missing
81 # fails if $ac_aux_dir is absolute,
82 # fails when called from a subdirectory in a VPATH build with
83 # a relative $ac_aux_dir
84 #
85 # The reason of the latter failure is that $top_srcdir and $ac_aux_dir
86 # are both prefixed by $srcdir. In an in-source build this is usually
87 # harmless because $srcdir is '.', but things will broke when you
88 # start a VPATH build or use an absolute $srcdir.
89 #
90 # So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
91 # iff we strip the leading $srcdir from $ac_aux_dir. That would be:
92 # am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
93 # and then we would define $MISSING as
94 # MISSING="\${SHELL} $am_aux_dir/missing"
95 # This will work as long as MISSING is not called from configure, because
96 # unfortunately $(top_srcdir) has no meaning in configure.
97 # However there are other variables, like CC, which are often used in
98 # configure, and could therefore not use this "fixed" $ac_aux_dir.
99 #
100 # Another solution, used here, is to always expand $ac_aux_dir to an
101 # absolute PATH. The drawback is that using absolute paths prevent a
102 # configured tree to be moved without reconfiguration.
103
104 AC_DEFUN([AM_AUX_DIR_EXPAND],
105 [AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
106 # Expand $ac_aux_dir to an absolute path.
107 am_aux_dir=`cd "$ac_aux_dir" && pwd`
108 ])
109
110 # AM_COND_IF -*- Autoconf -*-
111
112 # Copyright (C) 2008-2021 Free Software Foundation, Inc.
113 #
114 # This file is free software; the Free Software Foundation
115 # gives unlimited permission to copy and/or distribute it,
116 # with or without modifications, as long as this notice is preserved.
117
118 # _AM_COND_IF
119 # _AM_COND_ELSE
120 # _AM_COND_ENDIF
121 # --------------
122 # These macros are only used for tracing.
123 m4_define([_AM_COND_IF])
124 m4_define([_AM_COND_ELSE])
125 m4_define([_AM_COND_ENDIF])
126
127 # AM_COND_IF(COND, [IF-TRUE], [IF-FALSE])
128 # ---------------------------------------
129 # If the shell condition COND is true, execute IF-TRUE, otherwise execute
130 # IF-FALSE. Allow automake to learn about conditional instantiating macros
131 # (the AC_CONFIG_FOOS).
132 AC_DEFUN([AM_COND_IF],
133 [m4_ifndef([_AM_COND_VALUE_$1],
134 [m4_fatal([$0: no such condition "$1"])])dnl
135 _AM_COND_IF([$1])dnl
136 if test -z "$$1_TRUE"; then :
137 m4_n([$2])[]dnl
138 m4_ifval([$3],
139 [_AM_COND_ELSE([$1])dnl
140 else
141 $3
142 ])dnl
143 _AM_COND_ENDIF([$1])dnl
144 fi[]dnl
145 ])
146
147 # AM_CONDITIONAL -*- Autoconf -*-
148
149 # Copyright (C) 1997-2021 Free Software Foundation, Inc.
150 #
151 # This file is free software; the Free Software Foundation
152 # gives unlimited permission to copy and/or distribute it,
153 # with or without modifications, as long as this notice is preserved.
154
155 # AM_CONDITIONAL(NAME, SHELL-CONDITION)
156 # -------------------------------------
157 # Define a conditional.
158 AC_DEFUN([AM_CONDITIONAL],
159 [AC_PREREQ([2.52])dnl
160 m4_if([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
161 [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
162 AC_SUBST([$1_TRUE])dnl
163 AC_SUBST([$1_FALSE])dnl
164 _AM_SUBST_NOTMAKE([$1_TRUE])dnl
165 _AM_SUBST_NOTMAKE([$1_FALSE])dnl
166 m4_define([_AM_COND_VALUE_$1], [$2])dnl
167 if $2; then
168 $1_TRUE=
169 $1_FALSE='#'
170 else
171 $1_TRUE='#'
172 $1_FALSE=
173 fi
174 AC_CONFIG_COMMANDS_PRE(
175 [if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
176 AC_MSG_ERROR([[conditional "$1" was never defined.
177 Usually this means the macro was only invoked conditionally.]])
178 fi])])
179
180 # Copyright (C) 1999-2021 Free Software Foundation, Inc.
181 #
182 # This file is free software; the Free Software Foundation
183 # gives unlimited permission to copy and/or distribute it,
184 # with or without modifications, as long as this notice is preserved.
185
186
187 # There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be
188 # written in clear, in which case automake, when reading aclocal.m4,
189 # will think it sees a *use*, and therefore will trigger all it's
190 # C support machinery. Also note that it means that autoscan, seeing
191 # CC etc. in the Makefile, will ask for an AC_PROG_CC use...
192
193
194 # _AM_DEPENDENCIES(NAME)
195 # ----------------------
196 # See how the compiler implements dependency checking.
197 # NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC".
198 # We try a few techniques and use that to set a single cache variable.
199 #
200 # We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
201 # modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
202 # dependency, and given that the user is not expected to run this macro,
203 # just rely on AC_PROG_CC.
204 AC_DEFUN([_AM_DEPENDENCIES],
205 [AC_REQUIRE([AM_SET_DEPDIR])dnl
206 AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
207 AC_REQUIRE([AM_MAKE_INCLUDE])dnl
208 AC_REQUIRE([AM_DEP_TRACK])dnl
209
210 m4_if([$1], [CC], [depcc="$CC" am_compiler_list=],
211 [$1], [CXX], [depcc="$CXX" am_compiler_list=],
212 [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
213 [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'],
214 [$1], [UPC], [depcc="$UPC" am_compiler_list=],
215 [$1], [GCJ], [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
216 [depcc="$$1" am_compiler_list=])
217
218 AC_CACHE_CHECK([dependency style of $depcc],
219 [am_cv_$1_dependencies_compiler_type],
220 [if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
221 # We make a subdir and do the tests there. Otherwise we can end up
222 # making bogus files that we don't know about and never remove. For
223 # instance it was reported that on HP-UX the gcc test will end up
224 # making a dummy file named 'D' -- because '-MD' means "put the output
225 # in D".
226 rm -rf conftest.dir
227 mkdir conftest.dir
228 # Copy depcomp to subdir because otherwise we won't find it if we're
229 # using a relative directory.
230 cp "$am_depcomp" conftest.dir
231 cd conftest.dir
232 # We will build objects and dependencies in a subdirectory because
233 # it helps to detect inapplicable dependency modes. For instance
234 # both Tru64's cc and ICC support -MD to output dependencies as a
235 # side effect of compilation, but ICC will put the dependencies in
236 # the current directory while Tru64 will put them in the object
237 # directory.
238 mkdir sub
239
240 am_cv_$1_dependencies_compiler_type=none
241 if test "$am_compiler_list" = ""; then
242 am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
243 fi
244 am__universal=false
245 m4_case([$1], [CC],
246 [case " $depcc " in #(
247 *\ -arch\ *\ -arch\ *) am__universal=true ;;
248 esac],
249 [CXX],
250 [case " $depcc " in #(
251 *\ -arch\ *\ -arch\ *) am__universal=true ;;
252 esac])
253
254 for depmode in $am_compiler_list; do
255 # Setup a source with many dependencies, because some compilers
256 # like to wrap large dependency lists on column 80 (with \), and
257 # we should not choose a depcomp mode which is confused by this.
258 #
259 # We need to recreate these files for each test, as the compiler may
260 # overwrite some of them when testing with obscure command lines.
261 # This happens at least with the AIX C compiler.
262 : > sub/conftest.c
263 for i in 1 2 3 4 5 6; do
264 echo '#include "conftst'$i'.h"' >> sub/conftest.c
265 # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
266 # Solaris 10 /bin/sh.
267 echo '/* dummy */' > sub/conftst$i.h
268 done
269 echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
270
271 # We check with '-c' and '-o' for the sake of the "dashmstdout"
272 # mode. It turns out that the SunPro C++ compiler does not properly
273 # handle '-M -o', and we need to detect this. Also, some Intel
274 # versions had trouble with output in subdirs.
275 am__obj=sub/conftest.${OBJEXT-o}
276 am__minus_obj="-o $am__obj"
277 case $depmode in
278 gcc)
279 # This depmode causes a compiler race in universal mode.
280 test "$am__universal" = false || continue
281 ;;
282 nosideeffect)
283 # After this tag, mechanisms are not by side-effect, so they'll
284 # only be used when explicitly requested.
285 if test "x$enable_dependency_tracking" = xyes; then
286 continue
287 else
288 break
289 fi
290 ;;
291 msvc7 | msvc7msys | msvisualcpp | msvcmsys)
292 # This compiler won't grok '-c -o', but also, the minuso test has
293 # not run yet. These depmodes are late enough in the game, and
294 # so weak that their functioning should not be impacted.
295 am__obj=conftest.${OBJEXT-o}
296 am__minus_obj=
297 ;;
298 none) break ;;
299 esac
300 if depmode=$depmode \
301 source=sub/conftest.c object=$am__obj \
302 depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
303 $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
304 >/dev/null 2>conftest.err &&
305 grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
306 grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
307 grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
308 ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
309 # icc doesn't choke on unknown options, it will just issue warnings
310 # or remarks (even with -Werror). So we grep stderr for any message
311 # that says an option was ignored or not supported.
312 # When given -MP, icc 7.0 and 7.1 complain thusly:
313 # icc: Command line warning: ignoring option '-M'; no argument required
314 # The diagnosis changed in icc 8.0:
315 # icc: Command line remark: option '-MP' not supported
316 if (grep 'ignoring option' conftest.err ||
317 grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
318 am_cv_$1_dependencies_compiler_type=$depmode
319 break
320 fi
321 fi
322 done
323
324 cd ..
325 rm -rf conftest.dir
326 else
327 am_cv_$1_dependencies_compiler_type=none
328 fi
329 ])
330 AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
331 AM_CONDITIONAL([am__fastdep$1], [
332 test "x$enable_dependency_tracking" != xno \
333 && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
334 ])
335
336
337 # AM_SET_DEPDIR
338 # -------------
339 # Choose a directory name for dependency files.
340 # This macro is AC_REQUIREd in _AM_DEPENDENCIES.
341 AC_DEFUN([AM_SET_DEPDIR],
342 [AC_REQUIRE([AM_SET_LEADING_DOT])dnl
343 AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
344 ])
345
346
347 # AM_DEP_TRACK
348 # ------------
349 AC_DEFUN([AM_DEP_TRACK],
350 [AC_ARG_ENABLE([dependency-tracking], [dnl
351 AS_HELP_STRING(
352 [--enable-dependency-tracking],
353 [do not reject slow dependency extractors])
354 AS_HELP_STRING(
355 [--disable-dependency-tracking],
356 [speeds up one-time build])])
357 if test "x$enable_dependency_tracking" != xno; then
358 am_depcomp="$ac_aux_dir/depcomp"
359 AMDEPBACKSLASH='\'
360 am__nodep='_no'
361 fi
362 AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
363 AC_SUBST([AMDEPBACKSLASH])dnl
364 _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
365 AC_SUBST([am__nodep])dnl
366 _AM_SUBST_NOTMAKE([am__nodep])dnl
367 ])
368
369 # Generate code to set up dependency tracking. -*- Autoconf -*-
370
371 # Copyright (C) 1999-2021 Free Software Foundation, Inc.
372 #
373 # This file is free software; the Free Software Foundation
374 # gives unlimited permission to copy and/or distribute it,
375 # with or without modifications, as long as this notice is preserved.
376
377 # _AM_OUTPUT_DEPENDENCY_COMMANDS
378 # ------------------------------
379 AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
380 [{
381 # Older Autoconf quotes --file arguments for eval, but not when files
382 # are listed without --file. Let's play safe and only enable the eval
383 # if we detect the quoting.
384 # TODO: see whether this extra hack can be removed once we start
385 # requiring Autoconf 2.70 or later.
386 AS_CASE([$CONFIG_FILES],
387 [*\'*], [eval set x "$CONFIG_FILES"],
388 [*], [set x $CONFIG_FILES])
389 shift
390 # Used to flag and report bootstrapping failures.
391 am_rc=0
392 for am_mf
393 do
394 # Strip MF so we end up with the name of the file.
395 am_mf=`AS_ECHO(["$am_mf"]) | sed -e 's/:.*$//'`
396 # Check whether this is an Automake generated Makefile which includes
397 # dependency-tracking related rules and includes.
398 # Grep'ing the whole file directly is not great: AIX grep has a line
399 # limit of 2048, but all sed's we know have understand at least 4000.
400 sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \
401 || continue
402 am_dirpart=`AS_DIRNAME(["$am_mf"])`
403 am_filepart=`AS_BASENAME(["$am_mf"])`
404 AM_RUN_LOG([cd "$am_dirpart" \
405 && sed -e '/# am--include-marker/d' "$am_filepart" \
406 | $MAKE -f - am--depfiles]) || am_rc=$?
407 done
408 if test $am_rc -ne 0; then
409 AC_MSG_FAILURE([Something went wrong bootstrapping makefile fragments
410 for automatic dependency tracking. If GNU make was not used, consider
411 re-running the configure script with MAKE="gmake" (or whatever is
412 necessary). You can also try re-running configure with the
413 '--disable-dependency-tracking' option to at least be able to build
414 the package (albeit without support for automatic dependency tracking).])
415 fi
416 AS_UNSET([am_dirpart])
417 AS_UNSET([am_filepart])
418 AS_UNSET([am_mf])
419 AS_UNSET([am_rc])
420 rm -f conftest-deps.mk
421 }
422 ])# _AM_OUTPUT_DEPENDENCY_COMMANDS
423
424
425 # AM_OUTPUT_DEPENDENCY_COMMANDS
426 # -----------------------------
427 # This macro should only be invoked once -- use via AC_REQUIRE.
428 #
429 # This code is only required when automatic dependency tracking is enabled.
430 # This creates each '.Po' and '.Plo' makefile fragment that we'll need in
431 # order to bootstrap the dependency handling code.
432 AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
433 [AC_CONFIG_COMMANDS([depfiles],
434 [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
435 [AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}"])])
436
437 # Do all the work for Automake. -*- Autoconf -*-
438
439 # Copyright (C) 1996-2021 Free Software Foundation, Inc.
440 #
441 # This file is free software; the Free Software Foundation
442 # gives unlimited permission to copy and/or distribute it,
443 # with or without modifications, as long as this notice is preserved.
444
445 # This macro actually does too much. Some checks are only needed if
446 # your package does certain things. But this isn't really a big deal.
447
448 dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O.
449 m4_define([AC_PROG_CC],
450 m4_defn([AC_PROG_CC])
451 [_AM_PROG_CC_C_O
452 ])
453
454 # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
455 # AM_INIT_AUTOMAKE([OPTIONS])
456 # -----------------------------------------------
457 # The call with PACKAGE and VERSION arguments is the old style
458 # call (pre autoconf-2.50), which is being phased out. PACKAGE
459 # and VERSION should now be passed to AC_INIT and removed from
460 # the call to AM_INIT_AUTOMAKE.
461 # We support both call styles for the transition. After
462 # the next Automake release, Autoconf can make the AC_INIT
463 # arguments mandatory, and then we can depend on a new Autoconf
464 # release and drop the old call support.
465 AC_DEFUN([AM_INIT_AUTOMAKE],
466 [AC_PREREQ([2.65])dnl
467 dnl Autoconf wants to disallow AM_ names. We explicitly allow
468 dnl the ones we care about.
469 m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
470 AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
471 AC_REQUIRE([AC_PROG_INSTALL])dnl
472 if test "`cd $srcdir && pwd`" != "`pwd`"; then
473 # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
474 # is not polluted with repeated "-I."
475 AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
476 # test to see if srcdir already configured
477 if test -f $srcdir/config.status; then
478 AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
479 fi
480 fi
481
482 # test whether we have cygpath
483 if test -z "$CYGPATH_W"; then
484 if (cygpath --version) >/dev/null 2>/dev/null; then
485 CYGPATH_W='cygpath -w'
486 else
487 CYGPATH_W=echo
488 fi
489 fi
490 AC_SUBST([CYGPATH_W])
491
492 # Define the identity of the package.
493 dnl Distinguish between old-style and new-style calls.
494 m4_ifval([$2],
495 [AC_DIAGNOSE([obsolete],
496 [$0: two- and three-arguments forms are deprecated.])
497 m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
498 AC_SUBST([PACKAGE], [$1])dnl
499 AC_SUBST([VERSION], [$2])],
500 [_AM_SET_OPTIONS([$1])dnl
501 dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
502 m4_if(
503 m4_ifset([AC_PACKAGE_NAME], [ok]):m4_ifset([AC_PACKAGE_VERSION], [ok]),
504 [ok:ok],,
505 [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
506 AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
507 AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
508
509 _AM_IF_OPTION([no-define],,
510 [AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package])
511 AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl
512
513 # Some tools Automake needs.
514 AC_REQUIRE([AM_SANITY_CHECK])dnl
515 AC_REQUIRE([AC_ARG_PROGRAM])dnl
516 AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}])
517 AM_MISSING_PROG([AUTOCONF], [autoconf])
518 AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}])
519 AM_MISSING_PROG([AUTOHEADER], [autoheader])
520 AM_MISSING_PROG([MAKEINFO], [makeinfo])
521 AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
522 AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
523 AC_REQUIRE([AC_PROG_MKDIR_P])dnl
524 # For better backward compatibility. To be removed once Automake 1.9.x
525 # dies out for good. For more background, see:
526 # <https://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
527 # <https://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
528 AC_SUBST([mkdir_p], ['$(MKDIR_P)'])
529 # We need awk for the "check" target (and possibly the TAP driver). The
530 # system "awk" is bad on some platforms.
531 AC_REQUIRE([AC_PROG_AWK])dnl
532 AC_REQUIRE([AC_PROG_MAKE_SET])dnl
533 AC_REQUIRE([AM_SET_LEADING_DOT])dnl
534 _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
535 [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
536 [_AM_PROG_TAR([v7])])])
537 _AM_IF_OPTION([no-dependencies],,
538 [AC_PROVIDE_IFELSE([AC_PROG_CC],
539 [_AM_DEPENDENCIES([CC])],
540 [m4_define([AC_PROG_CC],
541 m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl
542 AC_PROVIDE_IFELSE([AC_PROG_CXX],
543 [_AM_DEPENDENCIES([CXX])],
544 [m4_define([AC_PROG_CXX],
545 m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl
546 AC_PROVIDE_IFELSE([AC_PROG_OBJC],
547 [_AM_DEPENDENCIES([OBJC])],
548 [m4_define([AC_PROG_OBJC],
549 m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl
550 AC_PROVIDE_IFELSE([AC_PROG_OBJCXX],
551 [_AM_DEPENDENCIES([OBJCXX])],
552 [m4_define([AC_PROG_OBJCXX],
553 m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl
554 ])
555 # Variables for tags utilities; see am/tags.am
556 if test -z "$CTAGS"; then
557 CTAGS=ctags
558 fi
559 AC_SUBST([CTAGS])
560 if test -z "$ETAGS"; then
561 ETAGS=etags
562 fi
563 AC_SUBST([ETAGS])
564 if test -z "$CSCOPE"; then
565 CSCOPE=cscope
566 fi
567 AC_SUBST([CSCOPE])
568
569 AC_REQUIRE([AM_SILENT_RULES])dnl
570 dnl The testsuite driver may need to know about EXEEXT, so add the
571 dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This
572 dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below.
573 AC_CONFIG_COMMANDS_PRE(dnl
574 [m4_provide_if([_AM_COMPILER_EXEEXT],
575 [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
576
577 # POSIX will say in a future version that running "rm -f" with no argument
578 # is OK; and we want to be able to make that assumption in our Makefile
579 # recipes. So use an aggressive probe to check that the usage we want is
580 # actually supported "in the wild" to an acceptable degree.
581 # See automake bug#10828.
582 # To make any issue more visible, cause the running configure to be aborted
583 # by default if the 'rm' program in use doesn't match our expectations; the
584 # user can still override this though.
585 if rm -f && rm -fr && rm -rf; then : OK; else
586 cat >&2 <<'END'
587 Oops!
588
589 Your 'rm' program seems unable to run without file operands specified
590 on the command line, even when the '-f' option is present. This is contrary
591 to the behaviour of most rm programs out there, and not conforming with
592 the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
593
594 Please tell bug-automake@gnu.org about your system, including the value
595 of your $PATH and any error possibly output before this message. This
596 can help us improve future automake versions.
597
598 END
599 if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
600 echo 'Configuration will proceed anyway, since you have set the' >&2
601 echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
602 echo >&2
603 else
604 cat >&2 <<'END'
605 Aborting the configuration process, to ensure you take notice of the issue.
606
607 You can download and install GNU coreutils to get an 'rm' implementation
608 that behaves properly: <https://www.gnu.org/software/coreutils/>.
609
610 If you want to complete the configuration process using your problematic
611 'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
612 to "yes", and re-run configure.
613
614 END
615 AC_MSG_ERROR([Your 'rm' program is bad, sorry.])
616 fi
617 fi
618 dnl The trailing newline in this macro's definition is deliberate, for
619 dnl backward compatibility and to allow trailing 'dnl'-style comments
620 dnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841.
621 ])
622
623 dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not
624 dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
625 dnl mangled by Autoconf and run in a shell conditional statement.
626 m4_define([_AC_COMPILER_EXEEXT],
627 m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
628
629 # When config.status generates a header, we must update the stamp-h file.
630 # This file resides in the same directory as the config header
631 # that is generated. The stamp files are numbered to have different names.
632
633 # Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
634 # loop where config.status creates the headers, so we can generate
635 # our stamp files there.
636 AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
637 [# Compute $1's index in $config_headers.
638 _am_arg=$1
639 _am_stamp_count=1
640 for _am_header in $config_headers :; do
641 case $_am_header in
642 $_am_arg | $_am_arg:* )
643 break ;;
644 * )
645 _am_stamp_count=`expr $_am_stamp_count + 1` ;;
646 esac
647 done
648 echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
649
650 # Copyright (C) 2001-2021 Free Software Foundation, Inc.
651 #
652 # This file is free software; the Free Software Foundation
653 # gives unlimited permission to copy and/or distribute it,
654 # with or without modifications, as long as this notice is preserved.
655
656 # AM_PROG_INSTALL_SH
657 # ------------------
658 # Define $install_sh.
659 AC_DEFUN([AM_PROG_INSTALL_SH],
660 [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
661 if test x"${install_sh+set}" != xset; then
662 case $am_aux_dir in
663 *\ * | *\ *)
664 install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
665 *)
666 install_sh="\${SHELL} $am_aux_dir/install-sh"
667 esac
668 fi
669 AC_SUBST([install_sh])])
670
671 # Copyright (C) 2003-2021 Free Software Foundation, Inc.
672 #
673 # This file is free software; the Free Software Foundation
674 # gives unlimited permission to copy and/or distribute it,
675 # with or without modifications, as long as this notice is preserved.
676
677 # Check whether the underlying file-system supports filenames
678 # with a leading dot. For instance MS-DOS doesn't.
679 AC_DEFUN([AM_SET_LEADING_DOT],
680 [rm -rf .tst 2>/dev/null
681 mkdir .tst 2>/dev/null
682 if test -d .tst; then
683 am__leading_dot=.
684 else
685 am__leading_dot=_
686 fi
687 rmdir .tst 2>/dev/null
688 AC_SUBST([am__leading_dot])])
689
690 # Add --enable-maintainer-mode option to configure. -*- Autoconf -*-
691 # From Jim Meyering
692
693 # Copyright (C) 1996-2021 Free Software Foundation, Inc.
694 #
695 # This file is free software; the Free Software Foundation
696 # gives unlimited permission to copy and/or distribute it,
697 # with or without modifications, as long as this notice is preserved.
698
699 # AM_MAINTAINER_MODE([DEFAULT-MODE])
700 # ----------------------------------
701 # Control maintainer-specific portions of Makefiles.
702 # Default is to disable them, unless 'enable' is passed literally.
703 # For symmetry, 'disable' may be passed as well. Anyway, the user
704 # can override the default with the --enable/--disable switch.
705 AC_DEFUN([AM_MAINTAINER_MODE],
706 [m4_case(m4_default([$1], [disable]),
707 [enable], [m4_define([am_maintainer_other], [disable])],
708 [disable], [m4_define([am_maintainer_other], [enable])],
709 [m4_define([am_maintainer_other], [enable])
710 m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])])
711 AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
712 dnl maintainer-mode's default is 'disable' unless 'enable' is passed
713 AC_ARG_ENABLE([maintainer-mode],
714 [AS_HELP_STRING([--]am_maintainer_other[-maintainer-mode],
715 am_maintainer_other[ make rules and dependencies not useful
716 (and sometimes confusing) to the casual installer])],
717 [USE_MAINTAINER_MODE=$enableval],
718 [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
719 AC_MSG_RESULT([$USE_MAINTAINER_MODE])
720 AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
721 MAINT=$MAINTAINER_MODE_TRUE
722 AC_SUBST([MAINT])dnl
723 ]
724 )
725
726 # Check to see how 'make' treats includes. -*- Autoconf -*-
727
728 # Copyright (C) 2001-2021 Free Software Foundation, Inc.
729 #
730 # This file is free software; the Free Software Foundation
731 # gives unlimited permission to copy and/or distribute it,
732 # with or without modifications, as long as this notice is preserved.
733
734 # AM_MAKE_INCLUDE()
735 # -----------------
736 # Check whether make has an 'include' directive that can support all
737 # the idioms we need for our automatic dependency tracking code.
738 AC_DEFUN([AM_MAKE_INCLUDE],
739 [AC_MSG_CHECKING([whether ${MAKE-make} supports the include directive])
740 cat > confinc.mk << 'END'
741 am__doit:
742 @echo this is the am__doit target >confinc.out
743 .PHONY: am__doit
744 END
745 am__include="#"
746 am__quote=
747 # BSD make does it like this.
748 echo '.include "confinc.mk" # ignored' > confmf.BSD
749 # Other make implementations (GNU, Solaris 10, AIX) do it like this.
750 echo 'include confinc.mk # ignored' > confmf.GNU
751 _am_result=no
752 for s in GNU BSD; do
753 AM_RUN_LOG([${MAKE-make} -f confmf.$s && cat confinc.out])
754 AS_CASE([$?:`cat confinc.out 2>/dev/null`],
755 ['0:this is the am__doit target'],
756 [AS_CASE([$s],
757 [BSD], [am__include='.include' am__quote='"'],
758 [am__include='include' am__quote=''])])
759 if test "$am__include" != "#"; then
760 _am_result="yes ($s style)"
761 break
762 fi
763 done
764 rm -f confinc.* confmf.*
765 AC_MSG_RESULT([${_am_result}])
766 AC_SUBST([am__include])])
767 AC_SUBST([am__quote])])
768
769 # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
770
771 # Copyright (C) 1997-2021 Free Software Foundation, Inc.
772 #
773 # This file is free software; the Free Software Foundation
774 # gives unlimited permission to copy and/or distribute it,
775 # with or without modifications, as long as this notice is preserved.
776
777 # AM_MISSING_PROG(NAME, PROGRAM)
778 # ------------------------------
779 AC_DEFUN([AM_MISSING_PROG],
780 [AC_REQUIRE([AM_MISSING_HAS_RUN])
781 $1=${$1-"${am_missing_run}$2"}
782 AC_SUBST($1)])
783
784 # AM_MISSING_HAS_RUN
785 # ------------------
786 # Define MISSING if not defined so far and test if it is modern enough.
787 # If it is, set am_missing_run to use it, otherwise, to nothing.
788 AC_DEFUN([AM_MISSING_HAS_RUN],
789 [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
790 AC_REQUIRE_AUX_FILE([missing])dnl
791 if test x"${MISSING+set}" != xset; then
792 MISSING="\${SHELL} '$am_aux_dir/missing'"
793 fi
794 # Use eval to expand $SHELL
795 if eval "$MISSING --is-lightweight"; then
796 am_missing_run="$MISSING "
797 else
798 am_missing_run=
799 AC_MSG_WARN(['missing' script is too old or missing])
800 fi
801 ])
802
803 # Helper functions for option handling. -*- Autoconf -*-
804
805 # Copyright (C) 2001-2021 Free Software Foundation, Inc.
806 #
807 # This file is free software; the Free Software Foundation
808 # gives unlimited permission to copy and/or distribute it,
809 # with or without modifications, as long as this notice is preserved.
810
811 # _AM_MANGLE_OPTION(NAME)
812 # -----------------------
813 AC_DEFUN([_AM_MANGLE_OPTION],
814 [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
815
816 # _AM_SET_OPTION(NAME)
817 # --------------------
818 # Set option NAME. Presently that only means defining a flag for this option.
819 AC_DEFUN([_AM_SET_OPTION],
820 [m4_define(_AM_MANGLE_OPTION([$1]), [1])])
821
822 # _AM_SET_OPTIONS(OPTIONS)
823 # ------------------------
824 # OPTIONS is a space-separated list of Automake options.
825 AC_DEFUN([_AM_SET_OPTIONS],
826 [m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
827
828 # _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
829 # -------------------------------------------
830 # Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
831 AC_DEFUN([_AM_IF_OPTION],
832 [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
833
834 # Copyright (C) 1999-2021 Free Software Foundation, Inc.
835 #
836 # This file is free software; the Free Software Foundation
837 # gives unlimited permission to copy and/or distribute it,
838 # with or without modifications, as long as this notice is preserved.
839
840 # _AM_PROG_CC_C_O
841 # ---------------
842 # Like AC_PROG_CC_C_O, but changed for automake. We rewrite AC_PROG_CC
843 # to automatically call this.
844 AC_DEFUN([_AM_PROG_CC_C_O],
845 [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
846 AC_REQUIRE_AUX_FILE([compile])dnl
847 AC_LANG_PUSH([C])dnl
848 AC_CACHE_CHECK(
849 [whether $CC understands -c and -o together],
850 [am_cv_prog_cc_c_o],
851 [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])])
852 # Make sure it works both with $CC and with simple cc.
853 # Following AC_PROG_CC_C_O, we do the test twice because some
854 # compilers refuse to overwrite an existing .o file with -o,
855 # though they will create one.
856 am_cv_prog_cc_c_o=yes
857 for am_i in 1 2; do
858 if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \
859 && test -f conftest2.$ac_objext; then
860 : OK
861 else
862 am_cv_prog_cc_c_o=no
863 break
864 fi
865 done
866 rm -f core conftest*
867 unset am_i])
868 if test "$am_cv_prog_cc_c_o" != yes; then
869 # Losing compiler, so override with the script.
870 # FIXME: It is wrong to rewrite CC.
871 # But if we don't then we get into trouble of one sort or another.
872 # A longer-term fix would be to have automake use am__CC in this case,
873 # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
874 CC="$am_aux_dir/compile $CC"
875 fi
876 AC_LANG_POP([C])])
877
878 # For backward compatibility.
879 AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
880
881 # Copyright (C) 2001-2021 Free Software Foundation, Inc.
882 #
883 # This file is free software; the Free Software Foundation
884 # gives unlimited permission to copy and/or distribute it,
885 # with or without modifications, as long as this notice is preserved.
886
887 # AM_RUN_LOG(COMMAND)
888 # -------------------
889 # Run COMMAND, save the exit status in ac_status, and log it.
890 # (This has been adapted from Autoconf's _AC_RUN_LOG macro.)
891 AC_DEFUN([AM_RUN_LOG],
892 [{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD
893 ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD
894 ac_status=$?
895 echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
896 (exit $ac_status); }])
897
898 # Check to make sure that the build environment is sane. -*- Autoconf -*-
899
900 # Copyright (C) 1996-2021 Free Software Foundation, Inc.
901 #
902 # This file is free software; the Free Software Foundation
903 # gives unlimited permission to copy and/or distribute it,
904 # with or without modifications, as long as this notice is preserved.
905
906 # AM_SANITY_CHECK
907 # ---------------
908 AC_DEFUN([AM_SANITY_CHECK],
909 [AC_MSG_CHECKING([whether build environment is sane])
910 # Reject unsafe characters in $srcdir or the absolute working directory
911 # name. Accept space and tab only in the latter.
912 am_lf='
913 '
914 case `pwd` in
915 *[[\\\"\#\$\&\'\`$am_lf]]*)
916 AC_MSG_ERROR([unsafe absolute working directory name]);;
917 esac
918 case $srcdir in
919 *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*)
920 AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);;
921 esac
922
923 # Do 'set' in a subshell so we don't clobber the current shell's
924 # arguments. Must try -L first in case configure is actually a
925 # symlink; some systems play weird games with the mod time of symlinks
926 # (eg FreeBSD returns the mod time of the symlink's containing
927 # directory).
928 if (
929 am_has_slept=no
930 for am_try in 1 2; do
931 echo "timestamp, slept: $am_has_slept" > conftest.file
932 set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
933 if test "$[*]" = "X"; then
934 # -L didn't work.
935 set X `ls -t "$srcdir/configure" conftest.file`
936 fi
937 if test "$[*]" != "X $srcdir/configure conftest.file" \
938 && test "$[*]" != "X conftest.file $srcdir/configure"; then
939
940 # If neither matched, then we have a broken ls. This can happen
941 # if, for instance, CONFIG_SHELL is bash and it inherits a
942 # broken ls alias from the environment. This has actually
943 # happened. Such a system could not be considered "sane".
944 AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
945 alias in your environment])
946 fi
947 if test "$[2]" = conftest.file || test $am_try -eq 2; then
948 break
949 fi
950 # Just in case.
951 sleep 1
952 am_has_slept=yes
953 done
954 test "$[2]" = conftest.file
955 )
956 then
957 # Ok.
958 :
959 else
960 AC_MSG_ERROR([newly created file is older than distributed files!
961 Check your system clock])
962 fi
963 AC_MSG_RESULT([yes])
964 # If we didn't sleep, we still need to ensure time stamps of config.status and
965 # generated files are strictly newer.
966 am_sleep_pid=
967 if grep 'slept: no' conftest.file >/dev/null 2>&1; then
968 ( sleep 1 ) &
969 am_sleep_pid=$!
970 fi
971 AC_CONFIG_COMMANDS_PRE(
972 [AC_MSG_CHECKING([that generated files are newer than configure])
973 if test -n "$am_sleep_pid"; then
974 # Hide warnings about reused PIDs.
975 wait $am_sleep_pid 2>/dev/null
976 fi
977 AC_MSG_RESULT([done])])
978 rm -f conftest.file
979 ])
980
981 # Copyright (C) 2009-2021 Free Software Foundation, Inc.
982 #
983 # This file is free software; the Free Software Foundation
984 # gives unlimited permission to copy and/or distribute it,
985 # with or without modifications, as long as this notice is preserved.
986
987 # AM_SILENT_RULES([DEFAULT])
988 # --------------------------
989 # Enable less verbose build rules; with the default set to DEFAULT
990 # ("yes" being less verbose, "no" or empty being verbose).
991 AC_DEFUN([AM_SILENT_RULES],
992 [AC_ARG_ENABLE([silent-rules], [dnl
993 AS_HELP_STRING(
994 [--enable-silent-rules],
995 [less verbose build output (undo: "make V=1")])
996 AS_HELP_STRING(
997 [--disable-silent-rules],
998 [verbose build output (undo: "make V=0")])dnl
999 ])
1000 case $enable_silent_rules in @%:@ (((
1001 yes) AM_DEFAULT_VERBOSITY=0;;
1002 no) AM_DEFAULT_VERBOSITY=1;;
1003 *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);;
1004 esac
1005 dnl
1006 dnl A few 'make' implementations (e.g., NonStop OS and NextStep)
1007 dnl do not support nested variable expansions.
1008 dnl See automake bug#9928 and bug#10237.
1009 am_make=${MAKE-make}
1010 AC_CACHE_CHECK([whether $am_make supports nested variables],
1011 [am_cv_make_support_nested_variables],
1012 [if AS_ECHO([['TRUE=$(BAR$(V))
1013 BAR0=false
1014 BAR1=true
1015 V=1
1016 am__doit:
1017 @$(TRUE)
1018 .PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then
1019 am_cv_make_support_nested_variables=yes
1020 else
1021 am_cv_make_support_nested_variables=no
1022 fi])
1023 if test $am_cv_make_support_nested_variables = yes; then
1024 dnl Using '$V' instead of '$(V)' breaks IRIX make.
1025 AM_V='$(V)'
1026 AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
1027 else
1028 AM_V=$AM_DEFAULT_VERBOSITY
1029 AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
1030 fi
1031 AC_SUBST([AM_V])dnl
1032 AM_SUBST_NOTMAKE([AM_V])dnl
1033 AC_SUBST([AM_DEFAULT_V])dnl
1034 AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl
1035 AC_SUBST([AM_DEFAULT_VERBOSITY])dnl
1036 AM_BACKSLASH='\'
1037 AC_SUBST([AM_BACKSLASH])dnl
1038 _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
1039 ])
1040
1041 # Copyright (C) 2001-2021 Free Software Foundation, Inc.
1042 #
1043 # This file is free software; the Free Software Foundation
1044 # gives unlimited permission to copy and/or distribute it,
1045 # with or without modifications, as long as this notice is preserved.
1046
1047 # AM_PROG_INSTALL_STRIP
1048 # ---------------------
1049 # One issue with vendor 'install' (even GNU) is that you can't
1050 # specify the program used to strip binaries. This is especially
1051 # annoying in cross-compiling environments, where the build's strip
1052 # is unlikely to handle the host's binaries.
1053 # Fortunately install-sh will honor a STRIPPROG variable, so we
1054 # always use install-sh in "make install-strip", and initialize
1055 # STRIPPROG with the value of the STRIP variable (set by the user).
1056 AC_DEFUN([AM_PROG_INSTALL_STRIP],
1057 [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
1058 # Installed binaries are usually stripped using 'strip' when the user
1059 # run "make install-strip". However 'strip' might not be the right
1060 # tool to use in cross-compilation environments, therefore Automake
1061 # will honor the 'STRIP' environment variable to overrule this program.
1062 dnl Don't test for $cross_compiling = yes, because it might be 'maybe'.
1063 if test "$cross_compiling" != no; then
1064 AC_CHECK_TOOL([STRIP], [strip], :)
1065 fi
1066 INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
1067 AC_SUBST([INSTALL_STRIP_PROGRAM])])
1068
1069 # Copyright (C) 2006-2021 Free Software Foundation, Inc.
1070 #
1071 # This file is free software; the Free Software Foundation
1072 # gives unlimited permission to copy and/or distribute it,
1073 # with or without modifications, as long as this notice is preserved.
1074
1075 # _AM_SUBST_NOTMAKE(VARIABLE)
1076 # ---------------------------
1077 # Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
1078 # This macro is traced by Automake.
1079 AC_DEFUN([_AM_SUBST_NOTMAKE])
1080
1081 # AM_SUBST_NOTMAKE(VARIABLE)
1082 # --------------------------
1083 # Public sister of _AM_SUBST_NOTMAKE.
1084 AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
1085
1086 # Check how to create a tarball. -*- Autoconf -*-
1087
1088 # Copyright (C) 2004-2021 Free Software Foundation, Inc.
1089 #
1090 # This file is free software; the Free Software Foundation
1091 # gives unlimited permission to copy and/or distribute it,
1092 # with or without modifications, as long as this notice is preserved.
1093
1094 # _AM_PROG_TAR(FORMAT)
1095 # --------------------
1096 # Check how to create a tarball in format FORMAT.
1097 # FORMAT should be one of 'v7', 'ustar', or 'pax'.
1098 #
1099 # Substitute a variable $(am__tar) that is a command
1100 # writing to stdout a FORMAT-tarball containing the directory
1101 # $tardir.
1102 # tardir=directory && $(am__tar) > result.tar
1103 #
1104 # Substitute a variable $(am__untar) that extract such
1105 # a tarball read from stdin.
1106 # $(am__untar) < result.tar
1107 #
1108 AC_DEFUN([_AM_PROG_TAR],
1109 [# Always define AMTAR for backward compatibility. Yes, it's still used
1110 # in the wild :-( We should find a proper way to deprecate it ...
1111 AC_SUBST([AMTAR], ['$${TAR-tar}'])
1112
1113 # We'll loop over all known methods to create a tar archive until one works.
1114 _am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
1115
1116 m4_if([$1], [v7],
1117 [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'],
1118
1119 [m4_case([$1],
1120 [ustar],
1121 [# The POSIX 1988 'ustar' format is defined with fixed-size fields.
1122 # There is notably a 21 bits limit for the UID and the GID. In fact,
1123 # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343
1124 # and bug#13588).
1125 am_max_uid=2097151 # 2^21 - 1
1126 am_max_gid=$am_max_uid
1127 # The $UID and $GID variables are not portable, so we need to resort
1128 # to the POSIX-mandated id(1) utility. Errors in the 'id' calls
1129 # below are definitely unexpected, so allow the users to see them
1130 # (that is, avoid stderr redirection).
1131 am_uid=`id -u || echo unknown`
1132 am_gid=`id -g || echo unknown`
1133 AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format])
1134 if test $am_uid -le $am_max_uid; then
1135 AC_MSG_RESULT([yes])
1136 else
1137 AC_MSG_RESULT([no])
1138 _am_tools=none
1139 fi
1140 AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format])
1141 if test $am_gid -le $am_max_gid; then
1142 AC_MSG_RESULT([yes])
1143 else
1144 AC_MSG_RESULT([no])
1145 _am_tools=none
1146 fi],
1147
1148 [pax],
1149 [],
1150
1151 [m4_fatal([Unknown tar format])])
1152
1153 AC_MSG_CHECKING([how to create a $1 tar archive])
1154
1155 # Go ahead even if we have the value already cached. We do so because we
1156 # need to set the values for the 'am__tar' and 'am__untar' variables.
1157 _am_tools=${am_cv_prog_tar_$1-$_am_tools}
1158
1159 for _am_tool in $_am_tools; do
1160 case $_am_tool in
1161 gnutar)
1162 for _am_tar in tar gnutar gtar; do
1163 AM_RUN_LOG([$_am_tar --version]) && break
1164 done
1165 am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
1166 am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
1167 am__untar="$_am_tar -xf -"
1168 ;;
1169 plaintar)
1170 # Must skip GNU tar: if it does not support --format= it doesn't create
1171 # ustar tarball either.
1172 (tar --version) >/dev/null 2>&1 && continue
1173 am__tar='tar chf - "$$tardir"'
1174 am__tar_='tar chf - "$tardir"'
1175 am__untar='tar xf -'
1176 ;;
1177 pax)
1178 am__tar='pax -L -x $1 -w "$$tardir"'
1179 am__tar_='pax -L -x $1 -w "$tardir"'
1180 am__untar='pax -r'
1181 ;;
1182 cpio)
1183 am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
1184 am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
1185 am__untar='cpio -i -H $1 -d'
1186 ;;
1187 none)
1188 am__tar=false
1189 am__tar_=false
1190 am__untar=false
1191 ;;
1192 esac
1193
1194 # If the value was cached, stop now. We just wanted to have am__tar
1195 # and am__untar set.
1196 test -n "${am_cv_prog_tar_$1}" && break
1197
1198 # tar/untar a dummy directory, and stop if the command works.
1199 rm -rf conftest.dir
1200 mkdir conftest.dir
1201 echo GrepMe > conftest.dir/file
1202 AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
1203 rm -rf conftest.dir
1204 if test -s conftest.tar; then
1205 AM_RUN_LOG([$am__untar <conftest.tar])
1206 AM_RUN_LOG([cat conftest.dir/file])
1207 grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
1208 fi
1209 done
1210 rm -rf conftest.dir
1211
1212 AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
1213 AC_MSG_RESULT([$am_cv_prog_tar_$1])])
1214
1215 AC_SUBST([am__tar])
1216 AC_SUBST([am__untar])
1217 ]) # _AM_PROG_TAR
1218
1219 m4_include([m4/ax_cxx_compile_stdcxx.m4])
1220 m4_include([m4/ax_pkg_swig.m4])
1221 m4_include([m4/ax_python_devel.m4])
1222 m4_include([m4/glib-2.0.m4])
1223 m4_include([m4/glibc21.m4])
1224 m4_include([m4/gnupg-ttyname.m4])
1225 m4_include([m4/gpg-error.m4])
1226 m4_include([m4/libassuan.m4])
1227 m4_include([m4/libtool.m4])
1228 m4_include([m4/ltoptions.m4])
1229 m4_include([m4/ltsugar.m4])
1230 m4_include([m4/ltversion.m4])
1231 m4_include([m4/lt~obsolete.m4])
1232 m4_include([m4/pkg.m4])
1233 m4_include([m4/python.m4])
1234 m4_include([m4/qt.m4])
1235 m4_include([acinclude.m4])
0 #! /bin/sh
1 # Wrapper for compilers which do not understand '-c -o'.
2
3 scriptversion=2012-10-14.11; # UTC
4
5 # Copyright (C) 1999-2013 Free Software Foundation, Inc.
6 # Written by Tom Tromey <tromey@cygnus.com>.
7 #
8 # This program is free software; you can redistribute it and/or modify
9 # it under the terms of the GNU General Public License as published by
10 # the Free Software Foundation; either version 2, or (at your option)
11 # any later version.
12 #
13 # This program is distributed in the hope that it will be useful,
14 # but WITHOUT ANY WARRANTY; without even the implied warranty of
15 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 # GNU General Public License for more details.
17 #
18 # You should have received a copy of the GNU General Public License
19 # along with this program. If not, see <https://www.gnu.org/licenses/>.
20
21 # As a special exception to the GNU General Public License, if you
22 # distribute this file as part of a program that contains a
23 # configuration script generated by Autoconf, you may include it under
24 # the same distribution terms that you use for the rest of that program.
25
26 # This file is maintained in Automake, please report
27 # bugs to <bug-automake@gnu.org> or send patches to
28 # <automake-patches@gnu.org>.
29
30 nl='
31 '
32
33 # We need space, tab and new line, in precisely that order. Quoting is
34 # there to prevent tools from complaining about whitespace usage.
35 IFS=" "" $nl"
36
37 file_conv=
38
39 # func_file_conv build_file lazy
40 # Convert a $build file to $host form and store it in $file
41 # Currently only supports Windows hosts. If the determined conversion
42 # type is listed in (the comma separated) LAZY, no conversion will
43 # take place.
44 func_file_conv ()
45 {
46 file=$1
47 case $file in
48 / | /[!/]*) # absolute file, and not a UNC file
49 if test -z "$file_conv"; then
50 # lazily determine how to convert abs files
51 case `uname -s` in
52 MINGW*)
53 file_conv=mingw
54 ;;
55 CYGWIN*)
56 file_conv=cygwin
57 ;;
58 *)
59 file_conv=wine
60 ;;
61 esac
62 fi
63 case $file_conv/,$2, in
64 *,$file_conv,*)
65 ;;
66 mingw/*)
67 file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
68 ;;
69 cygwin/*)
70 file=`cygpath -m "$file" || echo "$file"`
71 ;;
72 wine/*)
73 file=`winepath -w "$file" || echo "$file"`
74 ;;
75 esac
76 ;;
77 esac
78 }
79
80 # func_cl_dashL linkdir
81 # Make cl look for libraries in LINKDIR
82 func_cl_dashL ()
83 {
84 func_file_conv "$1"
85 if test -z "$lib_path"; then
86 lib_path=$file
87 else
88 lib_path="$lib_path;$file"
89 fi
90 linker_opts="$linker_opts -LIBPATH:$file"
91 }
92
93 # func_cl_dashl library
94 # Do a library search-path lookup for cl
95 func_cl_dashl ()
96 {
97 lib=$1
98 found=no
99 save_IFS=$IFS
100 IFS=';'
101 for dir in $lib_path $LIB
102 do
103 IFS=$save_IFS
104 if $shared && test -f "$dir/$lib.dll.lib"; then
105 found=yes
106 lib=$dir/$lib.dll.lib
107 break
108 fi
109 if test -f "$dir/$lib.lib"; then
110 found=yes
111 lib=$dir/$lib.lib
112 break
113 fi
114 if test -f "$dir/lib$lib.a"; then
115 found=yes
116 lib=$dir/lib$lib.a
117 break
118 fi
119 done
120 IFS=$save_IFS
121
122 if test "$found" != yes; then
123 lib=$lib.lib
124 fi
125 }
126
127 # func_cl_wrapper cl arg...
128 # Adjust compile command to suit cl
129 func_cl_wrapper ()
130 {
131 # Assume a capable shell
132 lib_path=
133 shared=:
134 linker_opts=
135 for arg
136 do
137 if test -n "$eat"; then
138 eat=
139 else
140 case $1 in
141 -o)
142 # configure might choose to run compile as 'compile cc -o foo foo.c'.
143 eat=1
144 case $2 in
145 *.o | *.[oO][bB][jJ])
146 func_file_conv "$2"
147 set x "$@" -Fo"$file"
148 shift
149 ;;
150 *)
151 func_file_conv "$2"
152 set x "$@" -Fe"$file"
153 shift
154 ;;
155 esac
156 ;;
157 -I)
158 eat=1
159 func_file_conv "$2" mingw
160 set x "$@" -I"$file"
161 shift
162 ;;
163 -I*)
164 func_file_conv "${1#-I}" mingw
165 set x "$@" -I"$file"
166 shift
167 ;;
168 -l)
169 eat=1
170 func_cl_dashl "$2"
171 set x "$@" "$lib"
172 shift
173 ;;
174 -l*)
175 func_cl_dashl "${1#-l}"
176 set x "$@" "$lib"
177 shift
178 ;;
179 -L)
180 eat=1
181 func_cl_dashL "$2"
182 ;;
183 -L*)
184 func_cl_dashL "${1#-L}"
185 ;;
186 -static)
187 shared=false
188 ;;
189 -Wl,*)
190 arg=${1#-Wl,}
191 save_ifs="$IFS"; IFS=','
192 for flag in $arg; do
193 IFS="$save_ifs"
194 linker_opts="$linker_opts $flag"
195 done
196 IFS="$save_ifs"
197 ;;
198 -Xlinker)
199 eat=1
200 linker_opts="$linker_opts $2"
201 ;;
202 -*)
203 set x "$@" "$1"
204 shift
205 ;;
206 *.cc | *.CC | *.cxx | *.CXX | *.[cC]++)
207 func_file_conv "$1"
208 set x "$@" -Tp"$file"
209 shift
210 ;;
211 *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO])
212 func_file_conv "$1" mingw
213 set x "$@" "$file"
214 shift
215 ;;
216 *)
217 set x "$@" "$1"
218 shift
219 ;;
220 esac
221 fi
222 shift
223 done
224 if test -n "$linker_opts"; then
225 linker_opts="-link$linker_opts"
226 fi
227 exec "$@" $linker_opts
228 exit 1
229 }
230
231 eat=
232
233 case $1 in
234 '')
235 echo "$0: No command. Try '$0 --help' for more information." 1>&2
236 exit 1;
237 ;;
238 -h | --h*)
239 cat <<\EOF
240 Usage: compile [--help] [--version] PROGRAM [ARGS]
241
242 Wrapper for compilers which do not understand '-c -o'.
243 Remove '-o dest.o' from ARGS, run PROGRAM with the remaining
244 arguments, and rename the output as expected.
245
246 If you are trying to build a whole package this is not the
247 right script to run: please start by reading the file 'INSTALL'.
248
249 Report bugs to <bug-automake@gnu.org>.
250 EOF
251 exit $?
252 ;;
253 -v | --v*)
254 echo "compile $scriptversion"
255 exit $?
256 ;;
257 cl | *[/\\]cl | cl.exe | *[/\\]cl.exe )
258 func_cl_wrapper "$@" # Doesn't return...
259 ;;
260 esac
261
262 ofile=
263 cfile=
264
265 for arg
266 do
267 if test -n "$eat"; then
268 eat=
269 else
270 case $1 in
271 -o)
272 # configure might choose to run compile as 'compile cc -o foo foo.c'.
273 # So we strip '-o arg' only if arg is an object.
274 eat=1
275 case $2 in
276 *.o | *.obj)
277 ofile=$2
278 ;;
279 *)
280 set x "$@" -o "$2"
281 shift
282 ;;
283 esac
284 ;;
285 *.c)
286 cfile=$1
287 set x "$@" "$1"
288 shift
289 ;;
290 *)
291 set x "$@" "$1"
292 shift
293 ;;
294 esac
295 fi
296 shift
297 done
298
299 if test -z "$ofile" || test -z "$cfile"; then
300 # If no '-o' option was seen then we might have been invoked from a
301 # pattern rule where we don't need one. That is ok -- this is a
302 # normal compilation that the losing compiler can handle. If no
303 # '.c' file was seen then we are probably linking. That is also
304 # ok.
305 exec "$@"
306 fi
307
308 # Name of file we expect compiler to create.
309 cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'`
310
311 # Create the lock directory.
312 # Note: use '[/\\:.-]' here to ensure that we don't use the same name
313 # that we are using for the .o file. Also, base the name on the expected
314 # object file name, since that is what matters with a parallel build.
315 lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d
316 while true; do
317 if mkdir "$lockdir" >/dev/null 2>&1; then
318 break
319 fi
320 sleep 1
321 done
322 # FIXME: race condition here if user kills between mkdir and trap.
323 trap "rmdir '$lockdir'; exit 1" 1 2 15
324
325 # Run the compile.
326 "$@"
327 ret=$?
328
329 if test -f "$cofile"; then
330 test "$cofile" = "$ofile" || mv "$cofile" "$ofile"
331 elif test -f "${cofile}bj"; then
332 test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile"
333 fi
334
335 rmdir "$lockdir"
336 exit $ret
337
338 # Local Variables:
339 # mode: shell-script
340 # sh-indentation: 2
341 # eval: (add-hook 'write-file-hooks 'time-stamp)
342 # time-stamp-start: "scriptversion="
343 # time-stamp-format: "%:y-%02m-%02d.%02H"
344 # time-stamp-time-zone: "UTC"
345 # time-stamp-end: "; # UTC"
346 # End:
0 #! /bin/sh
1 # depcomp - compile a program generating dependencies as side-effects
2
3 scriptversion=2013-05-30.07; # UTC
4
5 # Copyright (C) 1999-2013 Free Software Foundation, Inc.
6
7 # This program is free software; you can redistribute it and/or modify
8 # it under the terms of the GNU General Public License as published by
9 # the Free Software Foundation; either version 2, or (at your option)
10 # any later version.
11
12 # This program is distributed in the hope that it will be useful,
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 # GNU General Public License for more details.
16
17 # You should have received a copy of the GNU General Public License
18 # along with this program. If not, see <https://www.gnu.org/licenses/>.
19
20 # As a special exception to the GNU General Public License, if you
21 # distribute this file as part of a program that contains a
22 # configuration script generated by Autoconf, you may include it under
23 # the same distribution terms that you use for the rest of that program.
24
25 # Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
26
27 case $1 in
28 '')
29 echo "$0: No command. Try '$0 --help' for more information." 1>&2
30 exit 1;
31 ;;
32 -h | --h*)
33 cat <<\EOF
34 Usage: depcomp [--help] [--version] PROGRAM [ARGS]
35
36 Run PROGRAMS ARGS to compile a file, generating dependencies
37 as side-effects.
38
39 Environment variables:
40 depmode Dependency tracking mode.
41 source Source file read by 'PROGRAMS ARGS'.
42 object Object file output by 'PROGRAMS ARGS'.
43 DEPDIR directory where to store dependencies.
44 depfile Dependency file to output.
45 tmpdepfile Temporary file to use when outputting dependencies.
46 libtool Whether libtool is used (yes/no).
47
48 Report bugs to <bug-automake@gnu.org>.
49 EOF
50 exit $?
51 ;;
52 -v | --v*)
53 echo "depcomp $scriptversion"
54 exit $?
55 ;;
56 esac
57
58 # Get the directory component of the given path, and save it in the
59 # global variables '$dir'. Note that this directory component will
60 # be either empty or ending with a '/' character. This is deliberate.
61 set_dir_from ()
62 {
63 case $1 in
64 */*) dir=`echo "$1" | sed -e 's|/[^/]*$|/|'`;;
65 *) dir=;;
66 esac
67 }
68
69 # Get the suffix-stripped basename of the given path, and save it the
70 # global variable '$base'.
71 set_base_from ()
72 {
73 base=`echo "$1" | sed -e 's|^.*/||' -e 's/\.[^.]*$//'`
74 }
75
76 # If no dependency file was actually created by the compiler invocation,
77 # we still have to create a dummy depfile, to avoid errors with the
78 # Makefile "include basename.Plo" scheme.
79 make_dummy_depfile ()
80 {
81 echo "#dummy" > "$depfile"
82 }
83
84 # Factor out some common post-processing of the generated depfile.
85 # Requires the auxiliary global variable '$tmpdepfile' to be set.
86 aix_post_process_depfile ()
87 {
88 # If the compiler actually managed to produce a dependency file,
89 # post-process it.
90 if test -f "$tmpdepfile"; then
91 # Each line is of the form 'foo.o: dependency.h'.
92 # Do two passes, one to just change these to
93 # $object: dependency.h
94 # and one to simply output
95 # dependency.h:
96 # which is needed to avoid the deleted-header problem.
97 { sed -e "s,^.*\.[$lower]*:,$object:," < "$tmpdepfile"
98 sed -e "s,^.*\.[$lower]*:[$tab ]*,," -e 's,$,:,' < "$tmpdepfile"
99 } > "$depfile"
100 rm -f "$tmpdepfile"
101 else
102 make_dummy_depfile
103 fi
104 }
105
106 # A tabulation character.
107 tab=' '
108 # A newline character.
109 nl='
110 '
111 # Character ranges might be problematic outside the C locale.
112 # These definitions help.
113 upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ
114 lower=abcdefghijklmnopqrstuvwxyz
115 digits=0123456789
116 alpha=${upper}${lower}
117
118 if test -z "$depmode" || test -z "$source" || test -z "$object"; then
119 echo "depcomp: Variables source, object and depmode must be set" 1>&2
120 exit 1
121 fi
122
123 # Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
124 depfile=${depfile-`echo "$object" |
125 sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
126 tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
127
128 rm -f "$tmpdepfile"
129
130 # Avoid interferences from the environment.
131 gccflag= dashmflag=
132
133 # Some modes work just like other modes, but use different flags. We
134 # parameterize here, but still list the modes in the big case below,
135 # to make depend.m4 easier to write. Note that we *cannot* use a case
136 # here, because this file can only contain one case statement.
137 if test "$depmode" = hp; then
138 # HP compiler uses -M and no extra arg.
139 gccflag=-M
140 depmode=gcc
141 fi
142
143 if test "$depmode" = dashXmstdout; then
144 # This is just like dashmstdout with a different argument.
145 dashmflag=-xM
146 depmode=dashmstdout
147 fi
148
149 cygpath_u="cygpath -u -f -"
150 if test "$depmode" = msvcmsys; then
151 # This is just like msvisualcpp but w/o cygpath translation.
152 # Just convert the backslash-escaped backslashes to single forward
153 # slashes to satisfy depend.m4
154 cygpath_u='sed s,\\\\,/,g'
155 depmode=msvisualcpp
156 fi
157
158 if test "$depmode" = msvc7msys; then
159 # This is just like msvc7 but w/o cygpath translation.
160 # Just convert the backslash-escaped backslashes to single forward
161 # slashes to satisfy depend.m4
162 cygpath_u='sed s,\\\\,/,g'
163 depmode=msvc7
164 fi
165
166 if test "$depmode" = xlc; then
167 # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency information.
168 gccflag=-qmakedep=gcc,-MF
169 depmode=gcc
170 fi
171
172 case "$depmode" in
173 gcc3)
174 ## gcc 3 implements dependency tracking that does exactly what
175 ## we want. Yay! Note: for some reason libtool 1.4 doesn't like
176 ## it if -MD -MP comes after the -MF stuff. Hmm.
177 ## Unfortunately, FreeBSD c89 acceptance of flags depends upon
178 ## the command line argument order; so add the flags where they
179 ## appear in depend2.am. Note that the slowdown incurred here
180 ## affects only configure: in makefiles, %FASTDEP% shortcuts this.
181 for arg
182 do
183 case $arg in
184 -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;;
185 *) set fnord "$@" "$arg" ;;
186 esac
187 shift # fnord
188 shift # $arg
189 done
190 "$@"
191 stat=$?
192 if test $stat -ne 0; then
193 rm -f "$tmpdepfile"
194 exit $stat
195 fi
196 mv "$tmpdepfile" "$depfile"
197 ;;
198
199 gcc)
200 ## Note that this doesn't just cater to obsosete pre-3.x GCC compilers.
201 ## but also to in-use compilers like IMB xlc/xlC and the HP C compiler.
202 ## (see the conditional assignment to $gccflag above).
203 ## There are various ways to get dependency output from gcc. Here's
204 ## why we pick this rather obscure method:
205 ## - Don't want to use -MD because we'd like the dependencies to end
206 ## up in a subdir. Having to rename by hand is ugly.
207 ## (We might end up doing this anyway to support other compilers.)
208 ## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
209 ## -MM, not -M (despite what the docs say). Also, it might not be
210 ## supported by the other compilers which use the 'gcc' depmode.
211 ## - Using -M directly means running the compiler twice (even worse
212 ## than renaming).
213 if test -z "$gccflag"; then
214 gccflag=-MD,
215 fi
216 "$@" -Wp,"$gccflag$tmpdepfile"
217 stat=$?
218 if test $stat -ne 0; then
219 rm -f "$tmpdepfile"
220 exit $stat
221 fi
222 rm -f "$depfile"
223 echo "$object : \\" > "$depfile"
224 # The second -e expression handles DOS-style file names with drive
225 # letters.
226 sed -e 's/^[^:]*: / /' \
227 -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
228 ## This next piece of magic avoids the "deleted header file" problem.
229 ## The problem is that when a header file which appears in a .P file
230 ## is deleted, the dependency causes make to die (because there is
231 ## typically no way to rebuild the header). We avoid this by adding
232 ## dummy dependencies for each header file. Too bad gcc doesn't do
233 ## this for us directly.
234 ## Some versions of gcc put a space before the ':'. On the theory
235 ## that the space means something, we add a space to the output as
236 ## well. hp depmode also adds that space, but also prefixes the VPATH
237 ## to the object. Take care to not repeat it in the output.
238 ## Some versions of the HPUX 10.20 sed can't process this invocation
239 ## correctly. Breaking it into two sed invocations is a workaround.
240 tr ' ' "$nl" < "$tmpdepfile" \
241 | sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \
242 | sed -e 's/$/ :/' >> "$depfile"
243 rm -f "$tmpdepfile"
244 ;;
245
246 hp)
247 # This case exists only to let depend.m4 do its work. It works by
248 # looking at the text of this script. This case will never be run,
249 # since it is checked for above.
250 exit 1
251 ;;
252
253 sgi)
254 if test "$libtool" = yes; then
255 "$@" "-Wp,-MDupdate,$tmpdepfile"
256 else
257 "$@" -MDupdate "$tmpdepfile"
258 fi
259 stat=$?
260 if test $stat -ne 0; then
261 rm -f "$tmpdepfile"
262 exit $stat
263 fi
264 rm -f "$depfile"
265
266 if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files
267 echo "$object : \\" > "$depfile"
268 # Clip off the initial element (the dependent). Don't try to be
269 # clever and replace this with sed code, as IRIX sed won't handle
270 # lines with more than a fixed number of characters (4096 in
271 # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines;
272 # the IRIX cc adds comments like '#:fec' to the end of the
273 # dependency line.
274 tr ' ' "$nl" < "$tmpdepfile" \
275 | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' \
276 | tr "$nl" ' ' >> "$depfile"
277 echo >> "$depfile"
278 # The second pass generates a dummy entry for each header file.
279 tr ' ' "$nl" < "$tmpdepfile" \
280 | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
281 >> "$depfile"
282 else
283 make_dummy_depfile
284 fi
285 rm -f "$tmpdepfile"
286 ;;
287
288 xlc)
289 # This case exists only to let depend.m4 do its work. It works by
290 # looking at the text of this script. This case will never be run,
291 # since it is checked for above.
292 exit 1
293 ;;
294
295 aix)
296 # The C for AIX Compiler uses -M and outputs the dependencies
297 # in a .u file. In older versions, this file always lives in the
298 # current directory. Also, the AIX compiler puts '$object:' at the
299 # start of each line; $object doesn't have directory information.
300 # Version 6 uses the directory in both cases.
301 set_dir_from "$object"
302 set_base_from "$object"
303 if test "$libtool" = yes; then
304 tmpdepfile1=$dir$base.u
305 tmpdepfile2=$base.u
306 tmpdepfile3=$dir.libs/$base.u
307 "$@" -Wc,-M
308 else
309 tmpdepfile1=$dir$base.u
310 tmpdepfile2=$dir$base.u
311 tmpdepfile3=$dir$base.u
312 "$@" -M
313 fi
314 stat=$?
315 if test $stat -ne 0; then
316 rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
317 exit $stat
318 fi
319
320 for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
321 do
322 test -f "$tmpdepfile" && break
323 done
324 aix_post_process_depfile
325 ;;
326
327 tcc)
328 # tcc (Tiny C Compiler) understand '-MD -MF file' since version 0.9.26
329 # FIXME: That version still under development at the moment of writing.
330 # Make that this statement remains true also for stable, released
331 # versions.
332 # It will wrap lines (doesn't matter whether long or short) with a
333 # trailing '\', as in:
334 #
335 # foo.o : \
336 # foo.c \
337 # foo.h \
338 #
339 # It will put a trailing '\' even on the last line, and will use leading
340 # spaces rather than leading tabs (at least since its commit 0394caf7
341 # "Emit spaces for -MD").
342 "$@" -MD -MF "$tmpdepfile"
343 stat=$?
344 if test $stat -ne 0; then
345 rm -f "$tmpdepfile"
346 exit $stat
347 fi
348 rm -f "$depfile"
349 # Each non-empty line is of the form 'foo.o : \' or ' dep.h \'.
350 # We have to change lines of the first kind to '$object: \'.
351 sed -e "s|.*:|$object :|" < "$tmpdepfile" > "$depfile"
352 # And for each line of the second kind, we have to emit a 'dep.h:'
353 # dummy dependency, to avoid the deleted-header problem.
354 sed -n -e 's|^ *\(.*\) *\\$|\1:|p' < "$tmpdepfile" >> "$depfile"
355 rm -f "$tmpdepfile"
356 ;;
357
358 ## The order of this option in the case statement is important, since the
359 ## shell code in configure will try each of these formats in the order
360 ## listed in this file. A plain '-MD' option would be understood by many
361 ## compilers, so we must ensure this comes after the gcc and icc options.
362 pgcc)
363 # Portland's C compiler understands '-MD'.
364 # Will always output deps to 'file.d' where file is the root name of the
365 # source file under compilation, even if file resides in a subdirectory.
366 # The object file name does not affect the name of the '.d' file.
367 # pgcc 10.2 will output
368 # foo.o: sub/foo.c sub/foo.h
369 # and will wrap long lines using '\' :
370 # foo.o: sub/foo.c ... \
371 # sub/foo.h ... \
372 # ...
373 set_dir_from "$object"
374 # Use the source, not the object, to determine the base name, since
375 # that's sadly what pgcc will do too.
376 set_base_from "$source"
377 tmpdepfile=$base.d
378
379 # For projects that build the same source file twice into different object
380 # files, the pgcc approach of using the *source* file root name can cause
381 # problems in parallel builds. Use a locking strategy to avoid stomping on
382 # the same $tmpdepfile.
383 lockdir=$base.d-lock
384 trap "
385 echo '$0: caught signal, cleaning up...' >&2
386 rmdir '$lockdir'
387 exit 1
388 " 1 2 13 15
389 numtries=100
390 i=$numtries
391 while test $i -gt 0; do
392 # mkdir is a portable test-and-set.
393 if mkdir "$lockdir" 2>/dev/null; then
394 # This process acquired the lock.
395 "$@" -MD
396 stat=$?
397 # Release the lock.
398 rmdir "$lockdir"
399 break
400 else
401 # If the lock is being held by a different process, wait
402 # until the winning process is done or we timeout.
403 while test -d "$lockdir" && test $i -gt 0; do
404 sleep 1
405 i=`expr $i - 1`
406 done
407 fi
408 i=`expr $i - 1`
409 done
410 trap - 1 2 13 15
411 if test $i -le 0; then
412 echo "$0: failed to acquire lock after $numtries attempts" >&2
413 echo "$0: check lockdir '$lockdir'" >&2
414 exit 1
415 fi
416
417 if test $stat -ne 0; then
418 rm -f "$tmpdepfile"
419 exit $stat
420 fi
421 rm -f "$depfile"
422 # Each line is of the form `foo.o: dependent.h',
423 # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
424 # Do two passes, one to just change these to
425 # `$object: dependent.h' and one to simply `dependent.h:'.
426 sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
427 # Some versions of the HPUX 10.20 sed can't process this invocation
428 # correctly. Breaking it into two sed invocations is a workaround.
429 sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" \
430 | sed -e 's/$/ :/' >> "$depfile"
431 rm -f "$tmpdepfile"
432 ;;
433
434 hp2)
435 # The "hp" stanza above does not work with aCC (C++) and HP's ia64
436 # compilers, which have integrated preprocessors. The correct option
437 # to use with these is +Maked; it writes dependencies to a file named
438 # 'foo.d', which lands next to the object file, wherever that
439 # happens to be.
440 # Much of this is similar to the tru64 case; see comments there.
441 set_dir_from "$object"
442 set_base_from "$object"
443 if test "$libtool" = yes; then
444 tmpdepfile1=$dir$base.d
445 tmpdepfile2=$dir.libs/$base.d
446 "$@" -Wc,+Maked
447 else
448 tmpdepfile1=$dir$base.d
449 tmpdepfile2=$dir$base.d
450 "$@" +Maked
451 fi
452 stat=$?
453 if test $stat -ne 0; then
454 rm -f "$tmpdepfile1" "$tmpdepfile2"
455 exit $stat
456 fi
457
458 for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2"
459 do
460 test -f "$tmpdepfile" && break
461 done
462 if test -f "$tmpdepfile"; then
463 sed -e "s,^.*\.[$lower]*:,$object:," "$tmpdepfile" > "$depfile"
464 # Add 'dependent.h:' lines.
465 sed -ne '2,${
466 s/^ *//
467 s/ \\*$//
468 s/$/:/
469 p
470 }' "$tmpdepfile" >> "$depfile"
471 else
472 make_dummy_depfile
473 fi
474 rm -f "$tmpdepfile" "$tmpdepfile2"
475 ;;
476
477 tru64)
478 # The Tru64 compiler uses -MD to generate dependencies as a side
479 # effect. 'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'.
480 # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
481 # dependencies in 'foo.d' instead, so we check for that too.
482 # Subdirectories are respected.
483 set_dir_from "$object"
484 set_base_from "$object"
485
486 if test "$libtool" = yes; then
487 # Libtool generates 2 separate objects for the 2 libraries. These
488 # two compilations output dependencies in $dir.libs/$base.o.d and
489 # in $dir$base.o.d. We have to check for both files, because
490 # one of the two compilations can be disabled. We should prefer
491 # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
492 # automatically cleaned when .libs/ is deleted, while ignoring
493 # the former would cause a distcleancheck panic.
494 tmpdepfile1=$dir$base.o.d # libtool 1.5
495 tmpdepfile2=$dir.libs/$base.o.d # Likewise.
496 tmpdepfile3=$dir.libs/$base.d # Compaq CCC V6.2-504
497 "$@" -Wc,-MD
498 else
499 tmpdepfile1=$dir$base.d
500 tmpdepfile2=$dir$base.d
501 tmpdepfile3=$dir$base.d
502 "$@" -MD
503 fi
504
505 stat=$?
506 if test $stat -ne 0; then
507 rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
508 exit $stat
509 fi
510
511 for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
512 do
513 test -f "$tmpdepfile" && break
514 done
515 # Same post-processing that is required for AIX mode.
516 aix_post_process_depfile
517 ;;
518
519 msvc7)
520 if test "$libtool" = yes; then
521 showIncludes=-Wc,-showIncludes
522 else
523 showIncludes=-showIncludes
524 fi
525 "$@" $showIncludes > "$tmpdepfile"
526 stat=$?
527 grep -v '^Note: including file: ' "$tmpdepfile"
528 if test $stat -ne 0; then
529 rm -f "$tmpdepfile"
530 exit $stat
531 fi
532 rm -f "$depfile"
533 echo "$object : \\" > "$depfile"
534 # The first sed program below extracts the file names and escapes
535 # backslashes for cygpath. The second sed program outputs the file
536 # name when reading, but also accumulates all include files in the
537 # hold buffer in order to output them again at the end. This only
538 # works with sed implementations that can handle large buffers.
539 sed < "$tmpdepfile" -n '
540 /^Note: including file: *\(.*\)/ {
541 s//\1/
542 s/\\/\\\\/g
543 p
544 }' | $cygpath_u | sort -u | sed -n '
545 s/ /\\ /g
546 s/\(.*\)/'"$tab"'\1 \\/p
547 s/.\(.*\) \\/\1:/
548 H
549 $ {
550 s/.*/'"$tab"'/
551 G
552 p
553 }' >> "$depfile"
554 echo >> "$depfile" # make sure the fragment doesn't end with a backslash
555 rm -f "$tmpdepfile"
556 ;;
557
558 msvc7msys)
559 # This case exists only to let depend.m4 do its work. It works by
560 # looking at the text of this script. This case will never be run,
561 # since it is checked for above.
562 exit 1
563 ;;
564
565 #nosideeffect)
566 # This comment above is used by automake to tell side-effect
567 # dependency tracking mechanisms from slower ones.
568
569 dashmstdout)
570 # Important note: in order to support this mode, a compiler *must*
571 # always write the preprocessed file to stdout, regardless of -o.
572 "$@" || exit $?
573
574 # Remove the call to Libtool.
575 if test "$libtool" = yes; then
576 while test "X$1" != 'X--mode=compile'; do
577 shift
578 done
579 shift
580 fi
581
582 # Remove '-o $object'.
583 IFS=" "
584 for arg
585 do
586 case $arg in
587 -o)
588 shift
589 ;;
590 $object)
591 shift
592 ;;
593 *)
594 set fnord "$@" "$arg"
595 shift # fnord
596 shift # $arg
597 ;;
598 esac
599 done
600
601 test -z "$dashmflag" && dashmflag=-M
602 # Require at least two characters before searching for ':'
603 # in the target name. This is to cope with DOS-style filenames:
604 # a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise.
605 "$@" $dashmflag |
606 sed "s|^[$tab ]*[^:$tab ][^:][^:]*:[$tab ]*|$object: |" > "$tmpdepfile"
607 rm -f "$depfile"
608 cat < "$tmpdepfile" > "$depfile"
609 # Some versions of the HPUX 10.20 sed can't process this sed invocation
610 # correctly. Breaking it into two sed invocations is a workaround.
611 tr ' ' "$nl" < "$tmpdepfile" \
612 | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \
613 | sed -e 's/$/ :/' >> "$depfile"
614 rm -f "$tmpdepfile"
615 ;;
616
617 dashXmstdout)
618 # This case only exists to satisfy depend.m4. It is never actually
619 # run, as this mode is specially recognized in the preamble.
620 exit 1
621 ;;
622
623 makedepend)
624 "$@" || exit $?
625 # Remove any Libtool call
626 if test "$libtool" = yes; then
627 while test "X$1" != 'X--mode=compile'; do
628 shift
629 done
630 shift
631 fi
632 # X makedepend
633 shift
634 cleared=no eat=no
635 for arg
636 do
637 case $cleared in
638 no)
639 set ""; shift
640 cleared=yes ;;
641 esac
642 if test $eat = yes; then
643 eat=no
644 continue
645 fi
646 case "$arg" in
647 -D*|-I*)
648 set fnord "$@" "$arg"; shift ;;
649 # Strip any option that makedepend may not understand. Remove
650 # the object too, otherwise makedepend will parse it as a source file.
651 -arch)
652 eat=yes ;;
653 -*|$object)
654 ;;
655 *)
656 set fnord "$@" "$arg"; shift ;;
657 esac
658 done
659 obj_suffix=`echo "$object" | sed 's/^.*\././'`
660 touch "$tmpdepfile"
661 ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
662 rm -f "$depfile"
663 # makedepend may prepend the VPATH from the source file name to the object.
664 # No need to regex-escape $object, excess matching of '.' is harmless.
665 sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile"
666 # Some versions of the HPUX 10.20 sed can't process the last invocation
667 # correctly. Breaking it into two sed invocations is a workaround.
668 sed '1,2d' "$tmpdepfile" \
669 | tr ' ' "$nl" \
670 | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \
671 | sed -e 's/$/ :/' >> "$depfile"
672 rm -f "$tmpdepfile" "$tmpdepfile".bak
673 ;;
674
675 cpp)
676 # Important note: in order to support this mode, a compiler *must*
677 # always write the preprocessed file to stdout.
678 "$@" || exit $?
679
680 # Remove the call to Libtool.
681 if test "$libtool" = yes; then
682 while test "X$1" != 'X--mode=compile'; do
683 shift
684 done
685 shift
686 fi
687
688 # Remove '-o $object'.
689 IFS=" "
690 for arg
691 do
692 case $arg in
693 -o)
694 shift
695 ;;
696 $object)
697 shift
698 ;;
699 *)
700 set fnord "$@" "$arg"
701 shift # fnord
702 shift # $arg
703 ;;
704 esac
705 done
706
707 "$@" -E \
708 | sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
709 -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
710 | sed '$ s: \\$::' > "$tmpdepfile"
711 rm -f "$depfile"
712 echo "$object : \\" > "$depfile"
713 cat < "$tmpdepfile" >> "$depfile"
714 sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
715 rm -f "$tmpdepfile"
716 ;;
717
718 msvisualcpp)
719 # Important note: in order to support this mode, a compiler *must*
720 # always write the preprocessed file to stdout.
721 "$@" || exit $?
722
723 # Remove the call to Libtool.
724 if test "$libtool" = yes; then
725 while test "X$1" != 'X--mode=compile'; do
726 shift
727 done
728 shift
729 fi
730
731 IFS=" "
732 for arg
733 do
734 case "$arg" in
735 -o)
736 shift
737 ;;
738 $object)
739 shift
740 ;;
741 "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
742 set fnord "$@"
743 shift
744 shift
745 ;;
746 *)
747 set fnord "$@" "$arg"
748 shift
749 shift
750 ;;
751 esac
752 done
753 "$@" -E 2>/dev/null |
754 sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
755 rm -f "$depfile"
756 echo "$object : \\" > "$depfile"
757 sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile"
758 echo "$tab" >> "$depfile"
759 sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
760 rm -f "$tmpdepfile"
761 ;;
762
763 msvcmsys)
764 # This case exists only to let depend.m4 do its work. It works by
765 # looking at the text of this script. This case will never be run,
766 # since it is checked for above.
767 exit 1
768 ;;
769
770 none)
771 exec "$@"
772 ;;
773
774 *)
775 echo "Unknown depmode $depmode" 1>&2
776 exit 1
777 ;;
778 esac
779
780 exit 0
781
782 # Local Variables:
783 # mode: shell-script
784 # sh-indentation: 2
785 # eval: (add-hook 'write-file-hooks 'time-stamp)
786 # time-stamp-start: "scriptversion="
787 # time-stamp-format: "%:y-%02m-%02d.%02H"
788 # time-stamp-time-zone: "UTC"
789 # time-stamp-end: "; # UTC"
790 # End:
0 #!/bin/sh
1 # install - install a program, script, or datafile
2
3 scriptversion=2011-11-20.07; # UTC
4
5 # This originates from X11R5 (mit/util/scripts/install.sh), which was
6 # later released in X11R6 (xc/config/util/install.sh) with the
7 # following copyright and license.
8 #
9 # Copyright (C) 1994 X Consortium
10 #
11 # Permission is hereby granted, free of charge, to any person obtaining a copy
12 # of this software and associated documentation files (the "Software"), to
13 # deal in the Software without restriction, including without limitation the
14 # rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
15 # sell copies of the Software, and to permit persons to whom the Software is
16 # furnished to do so, subject to the following conditions:
17 #
18 # The above copyright notice and this permission notice shall be included in
19 # all copies or substantial portions of the Software.
20 #
21 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
22 # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
23 # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
24 # X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
25 # AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
26 # TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
27 #
28 # Except as contained in this notice, the name of the X Consortium shall not
29 # be used in advertising or otherwise to promote the sale, use or other deal-
30 # ings in this Software without prior written authorization from the X Consor-
31 # tium.
32 #
33 #
34 # FSF changes to this file are in the public domain.
35 #
36 # Calling this script install-sh is preferred over install.sh, to prevent
37 # 'make' implicit rules from creating a file called install from it
38 # when there is no Makefile.
39 #
40 # This script is compatible with the BSD install script, but was written
41 # from scratch.
42
43 nl='
44 '
45 IFS=" "" $nl"
46
47 # set DOITPROG to echo to test this script
48
49 # Don't use :- since 4.3BSD and earlier shells don't like it.
50 doit=${DOITPROG-}
51 if test -z "$doit"; then
52 doit_exec=exec
53 else
54 doit_exec=$doit
55 fi
56
57 # Put in absolute file names if you don't have them in your path;
58 # or use environment vars.
59
60 chgrpprog=${CHGRPPROG-chgrp}
61 chmodprog=${CHMODPROG-chmod}
62 chownprog=${CHOWNPROG-chown}
63 cmpprog=${CMPPROG-cmp}
64 cpprog=${CPPROG-cp}
65 mkdirprog=${MKDIRPROG-mkdir}
66 mvprog=${MVPROG-mv}
67 rmprog=${RMPROG-rm}
68 stripprog=${STRIPPROG-strip}
69
70 posix_glob='?'
71 initialize_posix_glob='
72 test "$posix_glob" != "?" || {
73 if (set -f) 2>/dev/null; then
74 posix_glob=
75 else
76 posix_glob=:
77 fi
78 }
79 '
80
81 posix_mkdir=
82
83 # Desired mode of installed file.
84 mode=0755
85
86 chgrpcmd=
87 chmodcmd=$chmodprog
88 chowncmd=
89 mvcmd=$mvprog
90 rmcmd="$rmprog -f"
91 stripcmd=
92
93 src=
94 dst=
95 dir_arg=
96 dst_arg=
97
98 copy_on_change=false
99 no_target_directory=
100
101 usage="\
102 Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
103 or: $0 [OPTION]... SRCFILES... DIRECTORY
104 or: $0 [OPTION]... -t DIRECTORY SRCFILES...
105 or: $0 [OPTION]... -d DIRECTORIES...
106
107 In the 1st form, copy SRCFILE to DSTFILE.
108 In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
109 In the 4th, create DIRECTORIES.
110
111 Options:
112 --help display this help and exit.
113 --version display version info and exit.
114
115 -c (ignored)
116 -C install only if different (preserve the last data modification time)
117 -d create directories instead of installing files.
118 -g GROUP $chgrpprog installed files to GROUP.
119 -m MODE $chmodprog installed files to MODE.
120 -o USER $chownprog installed files to USER.
121 -s $stripprog installed files.
122 -t DIRECTORY install into DIRECTORY.
123 -T report an error if DSTFILE is a directory.
124
125 Environment variables override the default commands:
126 CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
127 RMPROG STRIPPROG
128 "
129
130 while test $# -ne 0; do
131 case $1 in
132 -c) ;;
133
134 -C) copy_on_change=true;;
135
136 -d) dir_arg=true;;
137
138 -g) chgrpcmd="$chgrpprog $2"
139 shift;;
140
141 --help) echo "$usage"; exit $?;;
142
143 -m) mode=$2
144 case $mode in
145 *' '* | *' '* | *'
146 '* | *'*'* | *'?'* | *'['*)
147 echo "$0: invalid mode: $mode" >&2
148 exit 1;;
149 esac
150 shift;;
151
152 -o) chowncmd="$chownprog $2"
153 shift;;
154
155 -s) stripcmd=$stripprog;;
156
157 -t) dst_arg=$2
158 # Protect names problematic for 'test' and other utilities.
159 case $dst_arg in
160 -* | [=\(\)!]) dst_arg=./$dst_arg;;
161 esac
162 shift;;
163
164 -T) no_target_directory=true;;
165
166 --version) echo "$0 $scriptversion"; exit $?;;
167
168 --) shift
169 break;;
170
171 -*) echo "$0: invalid option: $1" >&2
172 exit 1;;
173
174 *) break;;
175 esac
176 shift
177 done
178
179 if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
180 # When -d is used, all remaining arguments are directories to create.
181 # When -t is used, the destination is already specified.
182 # Otherwise, the last argument is the destination. Remove it from $@.
183 for arg
184 do
185 if test -n "$dst_arg"; then
186 # $@ is not empty: it contains at least $arg.
187 set fnord "$@" "$dst_arg"
188 shift # fnord
189 fi
190 shift # arg
191 dst_arg=$arg
192 # Protect names problematic for 'test' and other utilities.
193 case $dst_arg in
194 -* | [=\(\)!]) dst_arg=./$dst_arg;;
195 esac
196 done
197 fi
198
199 if test $# -eq 0; then
200 if test -z "$dir_arg"; then
201 echo "$0: no input file specified." >&2
202 exit 1
203 fi
204 # It's OK to call 'install-sh -d' without argument.
205 # This can happen when creating conditional directories.
206 exit 0
207 fi
208
209 if test -z "$dir_arg"; then
210 do_exit='(exit $ret); exit $ret'
211 trap "ret=129; $do_exit" 1
212 trap "ret=130; $do_exit" 2
213 trap "ret=141; $do_exit" 13
214 trap "ret=143; $do_exit" 15
215
216 # Set umask so as not to create temps with too-generous modes.
217 # However, 'strip' requires both read and write access to temps.
218 case $mode in
219 # Optimize common cases.
220 *644) cp_umask=133;;
221 *755) cp_umask=22;;
222
223 *[0-7])
224 if test -z "$stripcmd"; then
225 u_plus_rw=
226 else
227 u_plus_rw='% 200'
228 fi
229 cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
230 *)
231 if test -z "$stripcmd"; then
232 u_plus_rw=
233 else
234 u_plus_rw=,u+rw
235 fi
236 cp_umask=$mode$u_plus_rw;;
237 esac
238 fi
239
240 for src
241 do
242 # Protect names problematic for 'test' and other utilities.
243 case $src in
244 -* | [=\(\)!]) src=./$src;;
245 esac
246
247 if test -n "$dir_arg"; then
248 dst=$src
249 dstdir=$dst
250 test -d "$dstdir"
251 dstdir_status=$?
252 else
253
254 # Waiting for this to be detected by the "$cpprog $src $dsttmp" command
255 # might cause directories to be created, which would be especially bad
256 # if $src (and thus $dsttmp) contains '*'.
257 if test ! -f "$src" && test ! -d "$src"; then
258 echo "$0: $src does not exist." >&2
259 exit 1
260 fi
261
262 if test -z "$dst_arg"; then
263 echo "$0: no destination specified." >&2
264 exit 1
265 fi
266 dst=$dst_arg
267
268 # If destination is a directory, append the input filename; won't work
269 # if double slashes aren't ignored.
270 if test -d "$dst"; then
271 if test -n "$no_target_directory"; then
272 echo "$0: $dst_arg: Is a directory" >&2
273 exit 1
274 fi
275 dstdir=$dst
276 dst=$dstdir/`basename "$src"`
277 dstdir_status=0
278 else
279 # Prefer dirname, but fall back on a substitute if dirname fails.
280 dstdir=`
281 (dirname "$dst") 2>/dev/null ||
282 expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
283 X"$dst" : 'X\(//\)[^/]' \| \
284 X"$dst" : 'X\(//\)$' \| \
285 X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
286 echo X"$dst" |
287 sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
288 s//\1/
289 q
290 }
291 /^X\(\/\/\)[^/].*/{
292 s//\1/
293 q
294 }
295 /^X\(\/\/\)$/{
296 s//\1/
297 q
298 }
299 /^X\(\/\).*/{
300 s//\1/
301 q
302 }
303 s/.*/./; q'
304 `
305
306 test -d "$dstdir"
307 dstdir_status=$?
308 fi
309 fi
310
311 obsolete_mkdir_used=false
312
313 if test $dstdir_status != 0; then
314 case $posix_mkdir in
315 '')
316 # Create intermediate dirs using mode 755 as modified by the umask.
317 # This is like FreeBSD 'install' as of 1997-10-28.
318 umask=`umask`
319 case $stripcmd.$umask in
320 # Optimize common cases.
321 *[2367][2367]) mkdir_umask=$umask;;
322 .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
323
324 *[0-7])
325 mkdir_umask=`expr $umask + 22 \
326 - $umask % 100 % 40 + $umask % 20 \
327 - $umask % 10 % 4 + $umask % 2
328 `;;
329 *) mkdir_umask=$umask,go-w;;
330 esac
331
332 # With -d, create the new directory with the user-specified mode.
333 # Otherwise, rely on $mkdir_umask.
334 if test -n "$dir_arg"; then
335 mkdir_mode=-m$mode
336 else
337 mkdir_mode=
338 fi
339
340 posix_mkdir=false
341 case $umask in
342 *[123567][0-7][0-7])
343 # POSIX mkdir -p sets u+wx bits regardless of umask, which
344 # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
345 ;;
346 *)
347 tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
348 trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
349
350 if (umask $mkdir_umask &&
351 exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
352 then
353 if test -z "$dir_arg" || {
354 # Check for POSIX incompatibilities with -m.
355 # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
356 # other-writable bit of parent directory when it shouldn't.
357 # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
358 ls_ld_tmpdir=`ls -ld "$tmpdir"`
359 case $ls_ld_tmpdir in
360 d????-?r-*) different_mode=700;;
361 d????-?--*) different_mode=755;;
362 *) false;;
363 esac &&
364 $mkdirprog -m$different_mode -p -- "$tmpdir" && {
365 ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
366 test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
367 }
368 }
369 then posix_mkdir=:
370 fi
371 rmdir "$tmpdir/d" "$tmpdir"
372 else
373 # Remove any dirs left behind by ancient mkdir implementations.
374 rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
375 fi
376 trap '' 0;;
377 esac;;
378 esac
379
380 if
381 $posix_mkdir && (
382 umask $mkdir_umask &&
383 $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
384 )
385 then :
386 else
387
388 # The umask is ridiculous, or mkdir does not conform to POSIX,
389 # or it failed possibly due to a race condition. Create the
390 # directory the slow way, step by step, checking for races as we go.
391
392 case $dstdir in
393 /*) prefix='/';;
394 [-=\(\)!]*) prefix='./';;
395 *) prefix='';;
396 esac
397
398 eval "$initialize_posix_glob"
399
400 oIFS=$IFS
401 IFS=/
402 $posix_glob set -f
403 set fnord $dstdir
404 shift
405 $posix_glob set +f
406 IFS=$oIFS
407
408 prefixes=
409
410 for d
411 do
412 test X"$d" = X && continue
413
414 prefix=$prefix$d
415 if test -d "$prefix"; then
416 prefixes=
417 else
418 if $posix_mkdir; then
419 (umask=$mkdir_umask &&
420 $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
421 # Don't fail if two instances are running concurrently.
422 test -d "$prefix" || exit 1
423 else
424 case $prefix in
425 *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
426 *) qprefix=$prefix;;
427 esac
428 prefixes="$prefixes '$qprefix'"
429 fi
430 fi
431 prefix=$prefix/
432 done
433
434 if test -n "$prefixes"; then
435 # Don't fail if two instances are running concurrently.
436 (umask $mkdir_umask &&
437 eval "\$doit_exec \$mkdirprog $prefixes") ||
438 test -d "$dstdir" || exit 1
439 obsolete_mkdir_used=true
440 fi
441 fi
442 fi
443
444 if test -n "$dir_arg"; then
445 { test -z "$chowncmd" || $doit $chowncmd "$dst"; } &&
446 { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } &&
447 { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false ||
448 test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1
449 else
450
451 # Make a couple of temp file names in the proper directory.
452 dsttmp=$dstdir/_inst.$$_
453 rmtmp=$dstdir/_rm.$$_
454
455 # Trap to clean up those temp files at exit.
456 trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
457
458 # Copy the file name to the temp name.
459 (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
460
461 # and set any options; do chmod last to preserve setuid bits.
462 #
463 # If any of these fail, we abort the whole thing. If we want to
464 # ignore errors from any of these, just make sure not to ignore
465 # errors from the above "$doit $cpprog $src $dsttmp" command.
466 #
467 { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } &&
468 { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } &&
469 { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } &&
470 { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
471
472 # If -C, don't bother to copy if it wouldn't change the file.
473 if $copy_on_change &&
474 old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` &&
475 new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
476
477 eval "$initialize_posix_glob" &&
478 $posix_glob set -f &&
479 set X $old && old=:$2:$4:$5:$6 &&
480 set X $new && new=:$2:$4:$5:$6 &&
481 $posix_glob set +f &&
482
483 test "$old" = "$new" &&
484 $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
485 then
486 rm -f "$dsttmp"
487 else
488 # Rename the file to the real destination.
489 $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
490
491 # The rename failed, perhaps because mv can't rename something else
492 # to itself, or perhaps because mv is so ancient that it does not
493 # support -f.
494 {
495 # Now remove or move aside any old file at destination location.
496 # We try this two ways since rm can't unlink itself on some
497 # systems and the destination file might be busy for other
498 # reasons. In this case, the final cleanup might fail but the new
499 # file should still install successfully.
500 {
501 test ! -f "$dst" ||
502 $doit $rmcmd -f "$dst" 2>/dev/null ||
503 { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
504 { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
505 } ||
506 { echo "$0: cannot unlink or rename $dst" >&2
507 (exit 1); exit 1
508 }
509 } &&
510
511 # Now rename the file to the real destination.
512 $doit $mvcmd "$dsttmp" "$dst"
513 }
514 fi || exit 1
515
516 trap '' 0
517 fi
518 done
519
520 # Local variables:
521 # eval: (add-hook 'write-file-hooks 'time-stamp)
522 # time-stamp-start: "scriptversion="
523 # time-stamp-format: "%:y-%02m-%02d.%02H"
524 # time-stamp-time-zone: "UTC"
525 # time-stamp-end: "; # UTC"
526 # End:
0
1 # libtool (GNU libtool) 2.4.2
2 # Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
3
4 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006,
5 # 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
6 # This is free software; see the source for copying conditions. There is NO
7 # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
8
9 # GNU Libtool is free software; you can redistribute it and/or modify
10 # it under the terms of the GNU General Public License as published by
11 # the Free Software Foundation; either version 2 of the License, or
12 # (at your option) any later version.
13 #
14 # As a special exception to the GNU General Public License,
15 # if you distribute this file as part of a program or library that
16 # is built using GNU Libtool, you may include this file under the
17 # same distribution terms that you use for the rest of that program.
18 #
19 # GNU Libtool is distributed in the hope that it will be useful, but
20 # WITHOUT ANY WARRANTY; without even the implied warranty of
21 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
22 # General Public License for more details.
23 #
24 # You should have received a copy of the GNU General Public License
25 # along with GNU Libtool; see the file COPYING. If not, a copy
26 # can be downloaded from https://www.gnu.org/licenses/gpl.html,
27 # or obtained by writing to the Free Software Foundation, Inc.,
28 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
29
30 # Usage: $progname [OPTION]... [MODE-ARG]...
31 #
32 # Provide generalized library-building support services.
33 #
34 # --config show all configuration variables
35 # --debug enable verbose shell tracing
36 # -n, --dry-run display commands without modifying any files
37 # --features display basic configuration information and exit
38 # --mode=MODE use operation mode MODE
39 # --preserve-dup-deps don't remove duplicate dependency libraries
40 # --quiet, --silent don't print informational messages
41 # --no-quiet, --no-silent
42 # print informational messages (default)
43 # --no-warn don't display warning messages
44 # --tag=TAG use configuration variables from tag TAG
45 # -v, --verbose print more informational messages than default
46 # --no-verbose don't print the extra informational messages
47 # --version print version information
48 # -h, --help, --help-all print short, long, or detailed help message
49 #
50 # MODE must be one of the following:
51 #
52 # clean remove files from the build directory
53 # compile compile a source file into a libtool object
54 # execute automatically set library path, then run a program
55 # finish complete the installation of libtool libraries
56 # install install libraries or executables
57 # link create a library or an executable
58 # uninstall remove libraries from an installed directory
59 #
60 # MODE-ARGS vary depending on the MODE. When passed as first option,
61 # `--mode=MODE' may be abbreviated as `MODE' or a unique abbreviation of that.
62 # Try `$progname --help --mode=MODE' for a more detailed description of MODE.
63 #
64 # When reporting a bug, please describe a test case to reproduce it and
65 # include the following information:
66 #
67 # host-triplet: $host
68 # shell: $SHELL
69 # compiler: $LTCC
70 # compiler flags: $LTCFLAGS
71 # linker: $LD (gnu? $with_gnu_ld)
72 # $progname: (GNU libtool) 2.4.2 Debian-2.4.2-1
73 # automake: $automake_version
74 # autoconf: $autoconf_version
75 #
76 # Report bugs to <bug-libtool@gnu.org>.
77 # GNU libtool home page: <https://www.gnu.org/software/libtool/>.
78 # General help using GNU software: <https://www.gnu.org/gethelp/>.
79
80 PROGRAM=libtool
81 PACKAGE=libtool
82 VERSION="2.4.2 Debian-2.4.2-1"
83 TIMESTAMP=""
84 package_revision=1.3337
85
86 # Be Bourne compatible
87 if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
88 emulate sh
89 NULLCMD=:
90 # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
91 # is contrary to our usage. Disable this feature.
92 alias -g '${1+"$@"}'='"$@"'
93 setopt NO_GLOB_SUBST
94 else
95 case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
96 fi
97 BIN_SH=xpg4; export BIN_SH # for Tru64
98 DUALCASE=1; export DUALCASE # for MKS sh
99
100 # A function that is used when there is no print builtin or printf.
101 func_fallback_echo ()
102 {
103 eval 'cat <<_LTECHO_EOF
104 $1
105 _LTECHO_EOF'
106 }
107
108 # NLS nuisances: We save the old values to restore during execute mode.
109 lt_user_locale=
110 lt_safe_locale=
111 for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
112 do
113 eval "if test \"\${$lt_var+set}\" = set; then
114 save_$lt_var=\$$lt_var
115 $lt_var=C
116 export $lt_var
117 lt_user_locale=\"$lt_var=\\\$save_\$lt_var; \$lt_user_locale\"
118 lt_safe_locale=\"$lt_var=C; \$lt_safe_locale\"
119 fi"
120 done
121 LC_ALL=C
122 LANGUAGE=C
123 export LANGUAGE LC_ALL
124
125 $lt_unset CDPATH
126
127
128 # Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
129 # is ksh but when the shell is invoked as "sh" and the current value of
130 # the _XPG environment variable is not equal to 1 (one), the special
131 # positional parameter $0, within a function call, is the name of the
132 # function.
133 progpath="$0"
134
135
136
137 : ${CP="cp -f"}
138 test "${ECHO+set}" = set || ECHO=${as_echo-'printf %s\n'}
139 : ${MAKE="make"}
140 : ${MKDIR="mkdir"}
141 : ${MV="mv -f"}
142 : ${RM="rm -f"}
143 : ${SHELL="${CONFIG_SHELL-/bin/sh}"}
144 : ${Xsed="$SED -e 1s/^X//"}
145
146 # Global variables:
147 EXIT_SUCCESS=0
148 EXIT_FAILURE=1
149 EXIT_MISMATCH=63 # $? = 63 is used to indicate version mismatch to missing.
150 EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake.
151
152 exit_status=$EXIT_SUCCESS
153
154 # Make sure IFS has a sensible default
155 lt_nl='
156 '
157 IFS=" $lt_nl"
158
159 dirname="s,/[^/]*$,,"
160 basename="s,^.*/,,"
161
162 # func_dirname file append nondir_replacement
163 # Compute the dirname of FILE. If nonempty, add APPEND to the result,
164 # otherwise set result to NONDIR_REPLACEMENT.
165 func_dirname ()
166 {
167 func_dirname_result=`$ECHO "${1}" | $SED "$dirname"`
168 if test "X$func_dirname_result" = "X${1}"; then
169 func_dirname_result="${3}"
170 else
171 func_dirname_result="$func_dirname_result${2}"
172 fi
173 } # func_dirname may be replaced by extended shell implementation
174
175
176 # func_basename file
177 func_basename ()
178 {
179 func_basename_result=`$ECHO "${1}" | $SED "$basename"`
180 } # func_basename may be replaced by extended shell implementation
181
182
183 # func_dirname_and_basename file append nondir_replacement
184 # perform func_basename and func_dirname in a single function
185 # call:
186 # dirname: Compute the dirname of FILE. If nonempty,
187 # add APPEND to the result, otherwise set result
188 # to NONDIR_REPLACEMENT.
189 # value returned in "$func_dirname_result"
190 # basename: Compute filename of FILE.
191 # value retuned in "$func_basename_result"
192 # Implementation must be kept synchronized with func_dirname
193 # and func_basename. For efficiency, we do not delegate to
194 # those functions but instead duplicate the functionality here.
195 func_dirname_and_basename ()
196 {
197 # Extract subdirectory from the argument.
198 func_dirname_result=`$ECHO "${1}" | $SED -e "$dirname"`
199 if test "X$func_dirname_result" = "X${1}"; then
200 func_dirname_result="${3}"
201 else
202 func_dirname_result="$func_dirname_result${2}"
203 fi
204 func_basename_result=`$ECHO "${1}" | $SED -e "$basename"`
205 } # func_dirname_and_basename may be replaced by extended shell implementation
206
207
208 # func_stripname prefix suffix name
209 # strip PREFIX and SUFFIX off of NAME.
210 # PREFIX and SUFFIX must not contain globbing or regex special
211 # characters, hashes, percent signs, but SUFFIX may contain a leading
212 # dot (in which case that matches only a dot).
213 # func_strip_suffix prefix name
214 func_stripname ()
215 {
216 case ${2} in
217 .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
218 *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
219 esac
220 } # func_stripname may be replaced by extended shell implementation
221
222
223 # These SED scripts presuppose an absolute path with a trailing slash.
224 pathcar='s,^/\([^/]*\).*$,\1,'
225 pathcdr='s,^/[^/]*,,'
226 removedotparts=':dotsl
227 s@/\./@/@g
228 t dotsl
229 s,/\.$,/,'
230 collapseslashes='s@/\{1,\}@/@g'
231 finalslash='s,/*$,/,'
232
233 # func_normal_abspath PATH
234 # Remove doubled-up and trailing slashes, "." path components,
235 # and cancel out any ".." path components in PATH after making
236 # it an absolute path.
237 # value returned in "$func_normal_abspath_result"
238 func_normal_abspath ()
239 {
240 # Start from root dir and reassemble the path.
241 func_normal_abspath_result=
242 func_normal_abspath_tpath=$1
243 func_normal_abspath_altnamespace=
244 case $func_normal_abspath_tpath in
245 "")
246 # Empty path, that just means $cwd.
247 func_stripname '' '/' "`pwd`"
248 func_normal_abspath_result=$func_stripname_result
249 return
250 ;;
251 # The next three entries are used to spot a run of precisely
252 # two leading slashes without using negated character classes;
253 # we take advantage of case's first-match behaviour.
254 ///*)
255 # Unusual form of absolute path, do nothing.
256 ;;
257 //*)
258 # Not necessarily an ordinary path; POSIX reserves leading '//'
259 # and for example Cygwin uses it to access remote file shares
260 # over CIFS/SMB, so we conserve a leading double slash if found.
261 func_normal_abspath_altnamespace=/
262 ;;
263 /*)
264 # Absolute path, do nothing.
265 ;;
266 *)
267 # Relative path, prepend $cwd.
268 func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath
269 ;;
270 esac
271 # Cancel out all the simple stuff to save iterations. We also want
272 # the path to end with a slash for ease of parsing, so make sure
273 # there is one (and only one) here.
274 func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
275 -e "$removedotparts" -e "$collapseslashes" -e "$finalslash"`
276 while :; do
277 # Processed it all yet?
278 if test "$func_normal_abspath_tpath" = / ; then
279 # If we ascended to the root using ".." the result may be empty now.
280 if test -z "$func_normal_abspath_result" ; then
281 func_normal_abspath_result=/
282 fi
283 break
284 fi
285 func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \
286 -e "$pathcar"`
287 func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
288 -e "$pathcdr"`
289 # Figure out what to do with it
290 case $func_normal_abspath_tcomponent in
291 "")
292 # Trailing empty path component, ignore it.
293 ;;
294 ..)
295 # Parent dir; strip last assembled component from result.
296 func_dirname "$func_normal_abspath_result"
297 func_normal_abspath_result=$func_dirname_result
298 ;;
299 *)
300 # Actual path component, append it.
301 func_normal_abspath_result=$func_normal_abspath_result/$func_normal_abspath_tcomponent
302 ;;
303 esac
304 done
305 # Restore leading double-slash if one was found on entry.
306 func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result
307 }
308
309 # func_relative_path SRCDIR DSTDIR
310 # generates a relative path from SRCDIR to DSTDIR, with a trailing
311 # slash if non-empty, suitable for immediately appending a filename
312 # without needing to append a separator.
313 # value returned in "$func_relative_path_result"
314 func_relative_path ()
315 {
316 func_relative_path_result=
317 func_normal_abspath "$1"
318 func_relative_path_tlibdir=$func_normal_abspath_result
319 func_normal_abspath "$2"
320 func_relative_path_tbindir=$func_normal_abspath_result
321
322 # Ascend the tree starting from libdir
323 while :; do
324 # check if we have found a prefix of bindir
325 case $func_relative_path_tbindir in
326 $func_relative_path_tlibdir)
327 # found an exact match
328 func_relative_path_tcancelled=
329 break
330 ;;
331 $func_relative_path_tlibdir*)
332 # found a matching prefix
333 func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir"
334 func_relative_path_tcancelled=$func_stripname_result
335 if test -z "$func_relative_path_result"; then
336 func_relative_path_result=.
337 fi
338 break
339 ;;
340 *)
341 func_dirname $func_relative_path_tlibdir
342 func_relative_path_tlibdir=${func_dirname_result}
343 if test "x$func_relative_path_tlibdir" = x ; then
344 # Have to descend all the way to the root!
345 func_relative_path_result=../$func_relative_path_result
346 func_relative_path_tcancelled=$func_relative_path_tbindir
347 break
348 fi
349 func_relative_path_result=../$func_relative_path_result
350 ;;
351 esac
352 done
353
354 # Now calculate path; take care to avoid doubling-up slashes.
355 func_stripname '' '/' "$func_relative_path_result"
356 func_relative_path_result=$func_stripname_result
357 func_stripname '/' '/' "$func_relative_path_tcancelled"
358 if test "x$func_stripname_result" != x ; then
359 func_relative_path_result=${func_relative_path_result}/${func_stripname_result}
360 fi
361
362 # Normalisation. If bindir is libdir, return empty string,
363 # else relative path ending with a slash; either way, target
364 # file name can be directly appended.
365 if test ! -z "$func_relative_path_result"; then
366 func_stripname './' '' "$func_relative_path_result/"
367 func_relative_path_result=$func_stripname_result
368 fi
369 }
370
371 # The name of this program:
372 func_dirname_and_basename "$progpath"
373 progname=$func_basename_result
374
375 # Make sure we have an absolute path for reexecution:
376 case $progpath in
377 [\\/]*|[A-Za-z]:\\*) ;;
378 *[\\/]*)
379 progdir=$func_dirname_result
380 progdir=`cd "$progdir" && pwd`
381 progpath="$progdir/$progname"
382 ;;
383 *)
384 save_IFS="$IFS"
385 IFS=${PATH_SEPARATOR-:}
386 for progdir in $PATH; do
387 IFS="$save_IFS"
388 test -x "$progdir/$progname" && break
389 done
390 IFS="$save_IFS"
391 test -n "$progdir" || progdir=`pwd`
392 progpath="$progdir/$progname"
393 ;;
394 esac
395
396 # Sed substitution that helps us do robust quoting. It backslashifies
397 # metacharacters that are still active within double-quoted strings.
398 Xsed="${SED}"' -e 1s/^X//'
399 sed_quote_subst='s/\([`"$\\]\)/\\\1/g'
400
401 # Same as above, but do not quote variable references.
402 double_quote_subst='s/\(["`\\]\)/\\\1/g'
403
404 # Sed substitution that turns a string into a regex matching for the
405 # string literally.
406 sed_make_literal_regex='s,[].[^$\\*\/],\\&,g'
407
408 # Sed substitution that converts a w32 file name or path
409 # which contains forward slashes, into one that contains
410 # (escaped) backslashes. A very naive implementation.
411 lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
412
413 # Sed substitution to remove simple comments and empty
414 # lines from a Windows .def file.
415 sed_uncomment_deffile='/^;/d; /^[ ]*$/d'
416
417 # Re-`\' parameter expansions in output of double_quote_subst that were
418 # `\'-ed in input to the same. If an odd number of `\' preceded a '$'
419 # in input to double_quote_subst, that '$' was protected from expansion.
420 # Since each input `\' is now two `\'s, look for any number of runs of
421 # four `\'s followed by two `\'s and then a '$'. `\' that '$'.
422 bs='\\'
423 bs2='\\\\'
424 bs4='\\\\\\\\'
425 dollar='\$'
426 sed_double_backslash="\
427 s/$bs4/&\\
428 /g
429 s/^$bs2$dollar/$bs&/
430 s/\\([^$bs]\\)$bs2$dollar/\\1$bs2$bs$dollar/g
431 s/\n//g"
432
433 # Standard options:
434 opt_dry_run=false
435 opt_help=false
436 opt_quiet=false
437 opt_verbose=false
438 opt_warning=:
439
440 # func_echo arg...
441 # Echo program name prefixed message, along with the current mode
442 # name if it has been set yet.
443 func_echo ()
444 {
445 $ECHO "$progname: ${opt_mode+$opt_mode: }$*"
446 }
447
448 # func_verbose arg...
449 # Echo program name prefixed message in verbose mode only.
450 func_verbose ()
451 {
452 $opt_verbose && func_echo ${1+"$@"}
453
454 # A bug in bash halts the script if the last line of a function
455 # fails when set -e is in force, so we need another command to
456 # work around that:
457 :
458 }
459
460 # func_echo_all arg...
461 # Invoke $ECHO with all args, space-separated.
462 func_echo_all ()
463 {
464 $ECHO "$*"
465 }
466
467 # func_error arg...
468 # Echo program name prefixed message to standard error.
469 func_error ()
470 {
471 $ECHO "$progname: ${opt_mode+$opt_mode: }"${1+"$@"} 1>&2
472 }
473
474 # func_warning arg...
475 # Echo program name prefixed warning message to standard error.
476 func_warning ()
477 {
478 $opt_warning && $ECHO "$progname: ${opt_mode+$opt_mode: }warning: "${1+"$@"} 1>&2
479
480 # bash bug again:
481 :
482 }
483
484 # func_fatal_error arg...
485 # Echo program name prefixed message to standard error, and exit.
486 func_fatal_error ()
487 {
488 func_error ${1+"$@"}
489 exit $EXIT_FAILURE
490 }
491
492 # func_fatal_help arg...
493 # Echo program name prefixed message to standard error, followed by
494 # a help hint, and exit.
495 func_fatal_help ()
496 {
497 func_error ${1+"$@"}
498 func_fatal_error "$help"
499 }
500 help="Try \`$progname --help' for more information." ## default
501
502
503 # func_grep expression filename
504 # Check whether EXPRESSION matches any line of FILENAME, without output.
505 func_grep ()
506 {
507 $GREP "$1" "$2" >/dev/null 2>&1
508 }
509
510
511 # func_mkdir_p directory-path
512 # Make sure the entire path to DIRECTORY-PATH is available.
513 func_mkdir_p ()
514 {
515 my_directory_path="$1"
516 my_dir_list=
517
518 if test -n "$my_directory_path" && test "$opt_dry_run" != ":"; then
519
520 # Protect directory names starting with `-'
521 case $my_directory_path in
522 -*) my_directory_path="./$my_directory_path" ;;
523 esac
524
525 # While some portion of DIR does not yet exist...
526 while test ! -d "$my_directory_path"; do
527 # ...make a list in topmost first order. Use a colon delimited
528 # list incase some portion of path contains whitespace.
529 my_dir_list="$my_directory_path:$my_dir_list"
530
531 # If the last portion added has no slash in it, the list is done
532 case $my_directory_path in */*) ;; *) break ;; esac
533
534 # ...otherwise throw away the child directory and loop
535 my_directory_path=`$ECHO "$my_directory_path" | $SED -e "$dirname"`
536 done
537 my_dir_list=`$ECHO "$my_dir_list" | $SED 's,:*$,,'`
538
539 save_mkdir_p_IFS="$IFS"; IFS=':'
540 for my_dir in $my_dir_list; do
541 IFS="$save_mkdir_p_IFS"
542 # mkdir can fail with a `File exist' error if two processes
543 # try to create one of the directories concurrently. Don't
544 # stop in that case!
545 $MKDIR "$my_dir" 2>/dev/null || :
546 done
547 IFS="$save_mkdir_p_IFS"
548
549 # Bail out if we (or some other process) failed to create a directory.
550 test -d "$my_directory_path" || \
551 func_fatal_error "Failed to create \`$1'"
552 fi
553 }
554
555
556 # func_mktempdir [string]
557 # Make a temporary directory that won't clash with other running
558 # libtool processes, and avoids race conditions if possible. If
559 # given, STRING is the basename for that directory.
560 func_mktempdir ()
561 {
562 my_template="${TMPDIR-/tmp}/${1-$progname}"
563
564 if test "$opt_dry_run" = ":"; then
565 # Return a directory name, but don't create it in dry-run mode
566 my_tmpdir="${my_template}-$$"
567 else
568
569 # If mktemp works, use that first and foremost
570 my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null`
571
572 if test ! -d "$my_tmpdir"; then
573 # Failing that, at least try and use $RANDOM to avoid a race
574 my_tmpdir="${my_template}-${RANDOM-0}$$"
575
576 save_mktempdir_umask=`umask`
577 umask 0077
578 $MKDIR "$my_tmpdir"
579 umask $save_mktempdir_umask
580 fi
581
582 # If we're not in dry-run mode, bomb out on failure
583 test -d "$my_tmpdir" || \
584 func_fatal_error "cannot create temporary directory \`$my_tmpdir'"
585 fi
586
587 $ECHO "$my_tmpdir"
588 }
589
590
591 # func_quote_for_eval arg
592 # Aesthetically quote ARG to be evaled later.
593 # This function returns two values: FUNC_QUOTE_FOR_EVAL_RESULT
594 # is double-quoted, suitable for a subsequent eval, whereas
595 # FUNC_QUOTE_FOR_EVAL_UNQUOTED_RESULT has merely all characters
596 # which are still active within double quotes backslashified.
597 func_quote_for_eval ()
598 {
599 case $1 in
600 *[\\\`\"\$]*)
601 func_quote_for_eval_unquoted_result=`$ECHO "$1" | $SED "$sed_quote_subst"` ;;
602 *)
603 func_quote_for_eval_unquoted_result="$1" ;;
604 esac
605
606 case $func_quote_for_eval_unquoted_result in
607 # Double-quote args containing shell metacharacters to delay
608 # word splitting, command substitution and and variable
609 # expansion for a subsequent eval.
610 # Many Bourne shells cannot handle close brackets correctly
611 # in scan sets, so we specify it separately.
612 *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
613 func_quote_for_eval_result="\"$func_quote_for_eval_unquoted_result\""
614 ;;
615 *)
616 func_quote_for_eval_result="$func_quote_for_eval_unquoted_result"
617 esac
618 }
619
620
621 # func_quote_for_expand arg
622 # Aesthetically quote ARG to be evaled later; same as above,
623 # but do not quote variable references.
624 func_quote_for_expand ()
625 {
626 case $1 in
627 *[\\\`\"]*)
628 my_arg=`$ECHO "$1" | $SED \
629 -e "$double_quote_subst" -e "$sed_double_backslash"` ;;
630 *)
631 my_arg="$1" ;;
632 esac
633
634 case $my_arg in
635 # Double-quote args containing shell metacharacters to delay
636 # word splitting and command substitution for a subsequent eval.
637 # Many Bourne shells cannot handle close brackets correctly
638 # in scan sets, so we specify it separately.
639 *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
640 my_arg="\"$my_arg\""
641 ;;
642 esac
643
644 func_quote_for_expand_result="$my_arg"
645 }
646
647
648 # func_show_eval cmd [fail_exp]
649 # Unless opt_silent is true, then output CMD. Then, if opt_dryrun is
650 # not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP
651 # is given, then evaluate it.
652 func_show_eval ()
653 {
654 my_cmd="$1"
655 my_fail_exp="${2-:}"
656
657 ${opt_silent-false} || {
658 func_quote_for_expand "$my_cmd"
659 eval "func_echo $func_quote_for_expand_result"
660 }
661
662 if ${opt_dry_run-false}; then :; else
663 eval "$my_cmd"
664 my_status=$?
665 if test "$my_status" -eq 0; then :; else
666 eval "(exit $my_status); $my_fail_exp"
667 fi
668 fi
669 }
670
671
672 # func_show_eval_locale cmd [fail_exp]
673 # Unless opt_silent is true, then output CMD. Then, if opt_dryrun is
674 # not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP
675 # is given, then evaluate it. Use the saved locale for evaluation.
676 func_show_eval_locale ()
677 {
678 my_cmd="$1"
679 my_fail_exp="${2-:}"
680
681 ${opt_silent-false} || {
682 func_quote_for_expand "$my_cmd"
683 eval "func_echo $func_quote_for_expand_result"
684 }
685
686 if ${opt_dry_run-false}; then :; else
687 eval "$lt_user_locale
688 $my_cmd"
689 my_status=$?
690 eval "$lt_safe_locale"
691 if test "$my_status" -eq 0; then :; else
692 eval "(exit $my_status); $my_fail_exp"
693 fi
694 fi
695 }
696
697 # func_tr_sh
698 # Turn $1 into a string suitable for a shell variable name.
699 # Result is stored in $func_tr_sh_result. All characters
700 # not in the set a-zA-Z0-9_ are replaced with '_'. Further,
701 # if $1 begins with a digit, a '_' is prepended as well.
702 func_tr_sh ()
703 {
704 case $1 in
705 [0-9]* | *[!a-zA-Z0-9_]*)
706 func_tr_sh_result=`$ECHO "$1" | $SED 's/^\([0-9]\)/_\1/; s/[^a-zA-Z0-9_]/_/g'`
707 ;;
708 * )
709 func_tr_sh_result=$1
710 ;;
711 esac
712 }
713
714
715 # func_version
716 # Echo version message to standard output and exit.
717 func_version ()
718 {
719 $opt_debug
720
721 $SED -n '/(C)/!b go
722 :more
723 /\./!{
724 N
725 s/\n# / /
726 b more
727 }
728 :go
729 /^# '$PROGRAM' (GNU /,/# warranty; / {
730 s/^# //
731 s/^# *$//
732 s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/
733 p
734 }' < "$progpath"
735 exit $?
736 }
737
738 # func_usage
739 # Echo short help message to standard output and exit.
740 func_usage ()
741 {
742 $opt_debug
743
744 $SED -n '/^# Usage:/,/^# *.*--help/ {
745 s/^# //
746 s/^# *$//
747 s/\$progname/'$progname'/
748 p
749 }' < "$progpath"
750 echo
751 $ECHO "run \`$progname --help | more' for full usage"
752 exit $?
753 }
754
755 # func_help [NOEXIT]
756 # Echo long help message to standard output and exit,
757 # unless 'noexit' is passed as argument.
758 func_help ()
759 {
760 $opt_debug
761
762 $SED -n '/^# Usage:/,/# Report bugs to/ {
763 :print
764 s/^# //
765 s/^# *$//
766 s*\$progname*'$progname'*
767 s*\$host*'"$host"'*
768 s*\$SHELL*'"$SHELL"'*
769 s*\$LTCC*'"$LTCC"'*
770 s*\$LTCFLAGS*'"$LTCFLAGS"'*
771 s*\$LD*'"$LD"'*
772 s/\$with_gnu_ld/'"$with_gnu_ld"'/
773 s/\$automake_version/'"`(${AUTOMAKE-automake} --version) 2>/dev/null |$SED 1q`"'/
774 s/\$autoconf_version/'"`(${AUTOCONF-autoconf} --version) 2>/dev/null |$SED 1q`"'/
775 p
776 d
777 }
778 /^# .* home page:/b print
779 /^# General help using/b print
780 ' < "$progpath"
781 ret=$?
782 if test -z "$1"; then
783 exit $ret
784 fi
785 }
786
787 # func_missing_arg argname
788 # Echo program name prefixed message to standard error and set global
789 # exit_cmd.
790 func_missing_arg ()
791 {
792 $opt_debug
793
794 func_error "missing argument for $1."
795 exit_cmd=exit
796 }
797
798
799 # func_split_short_opt shortopt
800 # Set func_split_short_opt_name and func_split_short_opt_arg shell
801 # variables after splitting SHORTOPT after the 2nd character.
802 func_split_short_opt ()
803 {
804 my_sed_short_opt='1s/^\(..\).*$/\1/;q'
805 my_sed_short_rest='1s/^..\(.*\)$/\1/;q'
806
807 func_split_short_opt_name=`$ECHO "$1" | $SED "$my_sed_short_opt"`
808 func_split_short_opt_arg=`$ECHO "$1" | $SED "$my_sed_short_rest"`
809 } # func_split_short_opt may be replaced by extended shell implementation
810
811
812 # func_split_long_opt longopt
813 # Set func_split_long_opt_name and func_split_long_opt_arg shell
814 # variables after splitting LONGOPT at the `=' sign.
815 func_split_long_opt ()
816 {
817 my_sed_long_opt='1s/^\(--[^=]*\)=.*/\1/;q'
818 my_sed_long_arg='1s/^--[^=]*=//'
819
820 func_split_long_opt_name=`$ECHO "$1" | $SED "$my_sed_long_opt"`
821 func_split_long_opt_arg=`$ECHO "$1" | $SED "$my_sed_long_arg"`
822 } # func_split_long_opt may be replaced by extended shell implementation
823
824 exit_cmd=:
825
826
827
828
829
830 magic="%%%MAGIC variable%%%"
831 magic_exe="%%%MAGIC EXE variable%%%"
832
833 # Global variables.
834 nonopt=
835 preserve_args=
836 lo2o="s/\\.lo\$/.${objext}/"
837 o2lo="s/\\.${objext}\$/.lo/"
838 extracted_archives=
839 extracted_serial=0
840
841 # If this variable is set in any of the actions, the command in it
842 # will be execed at the end. This prevents here-documents from being
843 # left over by shells.
844 exec_cmd=
845
846 # func_append var value
847 # Append VALUE to the end of shell variable VAR.
848 func_append ()
849 {
850 eval "${1}=\$${1}\${2}"
851 } # func_append may be replaced by extended shell implementation
852
853 # func_append_quoted var value
854 # Quote VALUE and append to the end of shell variable VAR, separated
855 # by a space.
856 func_append_quoted ()
857 {
858 func_quote_for_eval "${2}"
859 eval "${1}=\$${1}\\ \$func_quote_for_eval_result"
860 } # func_append_quoted may be replaced by extended shell implementation
861
862
863 # func_arith arithmetic-term...
864 func_arith ()
865 {
866 func_arith_result=`expr "${@}"`
867 } # func_arith may be replaced by extended shell implementation
868
869
870 # func_len string
871 # STRING may not start with a hyphen.
872 func_len ()
873 {
874 func_len_result=`expr "${1}" : ".*" 2>/dev/null || echo $max_cmd_len`
875 } # func_len may be replaced by extended shell implementation
876
877
878 # func_lo2o object
879 func_lo2o ()
880 {
881 func_lo2o_result=`$ECHO "${1}" | $SED "$lo2o"`
882 } # func_lo2o may be replaced by extended shell implementation
883
884
885 # func_xform libobj-or-source
886 func_xform ()
887 {
888 func_xform_result=`$ECHO "${1}" | $SED 's/\.[^.]*$/.lo/'`
889 } # func_xform may be replaced by extended shell implementation
890
891
892 # func_fatal_configuration arg...
893 # Echo program name prefixed message to standard error, followed by
894 # a configuration failure hint, and exit.
895 func_fatal_configuration ()
896 {
897 func_error ${1+"$@"}
898 func_error "See the $PACKAGE documentation for more information."
899 func_fatal_error "Fatal configuration error."
900 }
901
902
903 # func_config
904 # Display the configuration for all the tags in this script.
905 func_config ()
906 {
907 re_begincf='^# ### BEGIN LIBTOOL'
908 re_endcf='^# ### END LIBTOOL'
909
910 # Default configuration.
911 $SED "1,/$re_begincf CONFIG/d;/$re_endcf CONFIG/,\$d" < "$progpath"
912
913 # Now print the configurations for the tags.
914 for tagname in $taglist; do
915 $SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagname\$/p" < "$progpath"
916 done
917
918 exit $?
919 }
920
921 # func_features
922 # Display the features supported by this script.
923 func_features ()
924 {
925 echo "host: $host"
926 if test "$build_libtool_libs" = yes; then
927 echo "enable shared libraries"
928 else
929 echo "disable shared libraries"
930 fi
931 if test "$build_old_libs" = yes; then
932 echo "enable static libraries"
933 else
934 echo "disable static libraries"
935 fi
936
937 exit $?
938 }
939
940 # func_enable_tag tagname
941 # Verify that TAGNAME is valid, and either flag an error and exit, or
942 # enable the TAGNAME tag. We also add TAGNAME to the global $taglist
943 # variable here.
944 func_enable_tag ()
945 {
946 # Global variable:
947 tagname="$1"
948
949 re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$"
950 re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$"
951 sed_extractcf="/$re_begincf/,/$re_endcf/p"
952
953 # Validate tagname.
954 case $tagname in
955 *[!-_A-Za-z0-9,/]*)
956 func_fatal_error "invalid tag name: $tagname"
957 ;;
958 esac
959
960 # Don't test for the "default" C tag, as we know it's
961 # there but not specially marked.
962 case $tagname in
963 CC) ;;
964 *)
965 if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then
966 taglist="$taglist $tagname"
967
968 # Evaluate the configuration. Be careful to quote the path
969 # and the sed script, to avoid splitting on whitespace, but
970 # also don't use non-portable quotes within backquotes within
971 # quotes we have to do it in 2 steps:
972 extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"`
973 eval "$extractedcf"
974 else
975 func_error "ignoring unknown tag $tagname"
976 fi
977 ;;
978 esac
979 }
980
981 # func_check_version_match
982 # Ensure that we are using m4 macros, and libtool script from the same
983 # release of libtool.
984 func_check_version_match ()
985 {
986 if test "$package_revision" != "$macro_revision"; then
987 if test "$VERSION" != "$macro_version"; then
988 if test -z "$macro_version"; then
989 cat >&2 <<_LT_EOF
990 $progname: Version mismatch error. This is $PACKAGE $VERSION, but the
991 $progname: definition of this LT_INIT comes from an older release.
992 $progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
993 $progname: and run autoconf again.
994 _LT_EOF
995 else
996 cat >&2 <<_LT_EOF
997 $progname: Version mismatch error. This is $PACKAGE $VERSION, but the
998 $progname: definition of this LT_INIT comes from $PACKAGE $macro_version.
999 $progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
1000 $progname: and run autoconf again.
1001 _LT_EOF
1002 fi
1003 else
1004 cat >&2 <<_LT_EOF
1005 $progname: Version mismatch error. This is $PACKAGE $VERSION, revision $package_revision,
1006 $progname: but the definition of this LT_INIT comes from revision $macro_revision.
1007 $progname: You should recreate aclocal.m4 with macros from revision $package_revision
1008 $progname: of $PACKAGE $VERSION and run autoconf again.
1009 _LT_EOF
1010 fi
1011
1012 exit $EXIT_MISMATCH
1013 fi
1014 }
1015
1016
1017 # Shorthand for --mode=foo, only valid as the first argument
1018 case $1 in
1019 clean|clea|cle|cl)
1020 shift; set dummy --mode clean ${1+"$@"}; shift
1021 ;;
1022 compile|compil|compi|comp|com|co|c)
1023 shift; set dummy --mode compile ${1+"$@"}; shift
1024 ;;
1025 execute|execut|execu|exec|exe|ex|e)
1026 shift; set dummy --mode execute ${1+"$@"}; shift
1027 ;;
1028 finish|finis|fini|fin|fi|f)
1029 shift; set dummy --mode finish ${1+"$@"}; shift
1030 ;;
1031 install|instal|insta|inst|ins|in|i)
1032 shift; set dummy --mode install ${1+"$@"}; shift
1033 ;;
1034 link|lin|li|l)
1035 shift; set dummy --mode link ${1+"$@"}; shift
1036 ;;
1037 uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
1038 shift; set dummy --mode uninstall ${1+"$@"}; shift
1039 ;;
1040 esac
1041
1042
1043
1044 # Option defaults:
1045 opt_debug=:
1046 opt_dry_run=false
1047 opt_config=false
1048 opt_preserve_dup_deps=false
1049 opt_features=false
1050 opt_finish=false
1051 opt_help=false
1052 opt_help_all=false
1053 opt_silent=:
1054 opt_warning=:
1055 opt_verbose=:
1056 opt_silent=false
1057 opt_verbose=false
1058
1059
1060 # Parse options once, thoroughly. This comes as soon as possible in the
1061 # script to make things like `--version' happen as quickly as we can.
1062 {
1063 # this just eases exit handling
1064 while test $# -gt 0; do
1065 opt="$1"
1066 shift
1067 case $opt in
1068 --debug|-x) opt_debug='set -x'
1069 func_echo "enabling shell trace mode"
1070 $opt_debug
1071 ;;
1072 --dry-run|--dryrun|-n)
1073 opt_dry_run=:
1074 ;;
1075 --config)
1076 opt_config=:
1077 func_config
1078 ;;
1079 --dlopen|-dlopen)
1080 optarg="$1"
1081 opt_dlopen="${opt_dlopen+$opt_dlopen
1082 }$optarg"
1083 shift
1084 ;;
1085 --preserve-dup-deps)
1086 opt_preserve_dup_deps=:
1087 ;;
1088 --features)
1089 opt_features=:
1090 func_features
1091 ;;
1092 --finish)
1093 opt_finish=:
1094 set dummy --mode finish ${1+"$@"}; shift
1095 ;;
1096 --help)
1097 opt_help=:
1098 ;;
1099 --help-all)
1100 opt_help_all=:
1101 opt_help=': help-all'
1102 ;;
1103 --mode)
1104 test $# = 0 && func_missing_arg $opt && break
1105 optarg="$1"
1106 opt_mode="$optarg"
1107 case $optarg in
1108 # Valid mode arguments:
1109 clean|compile|execute|finish|install|link|relink|uninstall) ;;
1110
1111 # Catch anything else as an error
1112 *) func_error "invalid argument for $opt"
1113 exit_cmd=exit
1114 break
1115 ;;
1116 esac
1117 shift
1118 ;;
1119 --no-silent|--no-quiet)
1120 opt_silent=false
1121 func_append preserve_args " $opt"
1122 ;;
1123 --no-warning|--no-warn)
1124 opt_warning=false
1125 func_append preserve_args " $opt"
1126 ;;
1127 --no-verbose)
1128 opt_verbose=false
1129 func_append preserve_args " $opt"
1130 ;;
1131 --silent|--quiet)
1132 opt_silent=:
1133 func_append preserve_args " $opt"
1134 opt_verbose=false
1135 ;;
1136 --verbose|-v)
1137 opt_verbose=:
1138 func_append preserve_args " $opt"
1139 opt_silent=false
1140 ;;
1141 --tag)
1142 test $# = 0 && func_missing_arg $opt && break
1143 optarg="$1"
1144 opt_tag="$optarg"
1145 func_append preserve_args " $opt $optarg"
1146 func_enable_tag "$optarg"
1147 shift
1148 ;;
1149
1150 -\?|-h) func_usage ;;
1151 --help) func_help ;;
1152 --version) func_version ;;
1153
1154 # Separate optargs to long options:
1155 --*=*)
1156 func_split_long_opt "$opt"
1157 set dummy "$func_split_long_opt_name" "$func_split_long_opt_arg" ${1+"$@"}
1158 shift
1159 ;;
1160
1161 # Separate non-argument short options:
1162 -\?*|-h*|-n*|-v*)
1163 func_split_short_opt "$opt"
1164 set dummy "$func_split_short_opt_name" "-$func_split_short_opt_arg" ${1+"$@"}
1165 shift
1166 ;;
1167
1168 --) break ;;
1169 -*) func_fatal_help "unrecognized option \`$opt'" ;;
1170 *) set dummy "$opt" ${1+"$@"}; shift; break ;;
1171 esac
1172 done
1173
1174 # Validate options:
1175
1176 # save first non-option argument
1177 if test "$#" -gt 0; then
1178 nonopt="$opt"
1179 shift
1180 fi
1181
1182 # preserve --debug
1183 test "$opt_debug" = : || func_append preserve_args " --debug"
1184
1185 case $host in
1186 *cygwin* | *mingw* | *pw32* | *cegcc*)
1187 # don't eliminate duplications in $postdeps and $predeps
1188 opt_duplicate_compiler_generated_deps=:
1189 ;;
1190 *)
1191 opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps
1192 ;;
1193 esac
1194
1195 $opt_help || {
1196 # Sanity checks first:
1197 func_check_version_match
1198
1199 if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
1200 func_fatal_configuration "not configured to build any kind of library"
1201 fi
1202
1203 # Darwin sucks
1204 eval std_shrext=\"$shrext_cmds\"
1205
1206 # Only execute mode is allowed to have -dlopen flags.
1207 if test -n "$opt_dlopen" && test "$opt_mode" != execute; then
1208 func_error "unrecognized option \`-dlopen'"
1209 $ECHO "$help" 1>&2
1210 exit $EXIT_FAILURE
1211 fi
1212
1213 # Change the help message to a mode-specific one.
1214 generic_help="$help"
1215 help="Try \`$progname --help --mode=$opt_mode' for more information."
1216 }
1217
1218
1219 # Bail if the options were screwed
1220 $exit_cmd $EXIT_FAILURE
1221 }
1222
1223
1224
1225
1226 ## ----------- ##
1227 ## Main. ##
1228 ## ----------- ##
1229
1230 # func_lalib_p file
1231 # True iff FILE is a libtool `.la' library or `.lo' object file.
1232 # This function is only a basic sanity check; it will hardly flush out
1233 # determined imposters.
1234 func_lalib_p ()
1235 {
1236 test -f "$1" &&
1237 $SED -e 4q "$1" 2>/dev/null \
1238 | $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1
1239 }
1240
1241 # func_lalib_unsafe_p file
1242 # True iff FILE is a libtool `.la' library or `.lo' object file.
1243 # This function implements the same check as func_lalib_p without
1244 # resorting to external programs. To this end, it redirects stdin and
1245 # closes it afterwards, without saving the original file descriptor.
1246 # As a safety measure, use it only where a negative result would be
1247 # fatal anyway. Works if `file' does not exist.
1248 func_lalib_unsafe_p ()
1249 {
1250 lalib_p=no
1251 if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then
1252 for lalib_p_l in 1 2 3 4
1253 do
1254 read lalib_p_line
1255 case "$lalib_p_line" in
1256 \#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;;
1257 esac
1258 done
1259 exec 0<&5 5<&-
1260 fi
1261 test "$lalib_p" = yes
1262 }
1263
1264 # func_ltwrapper_script_p file
1265 # True iff FILE is a libtool wrapper script
1266 # This function is only a basic sanity check; it will hardly flush out
1267 # determined imposters.
1268 func_ltwrapper_script_p ()
1269 {
1270 func_lalib_p "$1"
1271 }
1272
1273 # func_ltwrapper_executable_p file
1274 # True iff FILE is a libtool wrapper executable
1275 # This function is only a basic sanity check; it will hardly flush out
1276 # determined imposters.
1277 func_ltwrapper_executable_p ()
1278 {
1279 func_ltwrapper_exec_suffix=
1280 case $1 in
1281 *.exe) ;;
1282 *) func_ltwrapper_exec_suffix=.exe ;;
1283 esac
1284 $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1
1285 }
1286
1287 # func_ltwrapper_scriptname file
1288 # Assumes file is an ltwrapper_executable
1289 # uses $file to determine the appropriate filename for a
1290 # temporary ltwrapper_script.
1291 func_ltwrapper_scriptname ()
1292 {
1293 func_dirname_and_basename "$1" "" "."
1294 func_stripname '' '.exe' "$func_basename_result"
1295 func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper"
1296 }
1297
1298 # func_ltwrapper_p file
1299 # True iff FILE is a libtool wrapper script or wrapper executable
1300 # This function is only a basic sanity check; it will hardly flush out
1301 # determined imposters.
1302 func_ltwrapper_p ()
1303 {
1304 func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1"
1305 }
1306
1307
1308 # func_execute_cmds commands fail_cmd
1309 # Execute tilde-delimited COMMANDS.
1310 # If FAIL_CMD is given, eval that upon failure.
1311 # FAIL_CMD may read-access the current command in variable CMD!
1312 func_execute_cmds ()
1313 {
1314 $opt_debug
1315 save_ifs=$IFS; IFS='~'
1316 for cmd in $1; do
1317 IFS=$save_ifs
1318 eval cmd=\"$cmd\"
1319 func_show_eval "$cmd" "${2-:}"
1320 done
1321 IFS=$save_ifs
1322 }
1323
1324
1325 # func_source file
1326 # Source FILE, adding directory component if necessary.
1327 # Note that it is not necessary on cygwin/mingw to append a dot to
1328 # FILE even if both FILE and FILE.exe exist: automatic-append-.exe
1329 # behavior happens only for exec(3), not for open(2)! Also, sourcing
1330 # `FILE.' does not work on cygwin managed mounts.
1331 func_source ()
1332 {
1333 $opt_debug
1334 case $1 in
1335 */* | *\\*) . "$1" ;;
1336 *) . "./$1" ;;
1337 esac
1338 }
1339
1340
1341 # func_resolve_sysroot PATH
1342 # Replace a leading = in PATH with a sysroot. Store the result into
1343 # func_resolve_sysroot_result
1344 func_resolve_sysroot ()
1345 {
1346 func_resolve_sysroot_result=$1
1347 case $func_resolve_sysroot_result in
1348 =*)
1349 func_stripname '=' '' "$func_resolve_sysroot_result"
1350 func_resolve_sysroot_result=$lt_sysroot$func_stripname_result
1351 ;;
1352 esac
1353 }
1354
1355 # func_replace_sysroot PATH
1356 # If PATH begins with the sysroot, replace it with = and
1357 # store the result into func_replace_sysroot_result.
1358 func_replace_sysroot ()
1359 {
1360 case "$lt_sysroot:$1" in
1361 ?*:"$lt_sysroot"*)
1362 func_stripname "$lt_sysroot" '' "$1"
1363 func_replace_sysroot_result="=$func_stripname_result"
1364 ;;
1365 *)
1366 # Including no sysroot.
1367 func_replace_sysroot_result=$1
1368 ;;
1369 esac
1370 }
1371
1372 # func_infer_tag arg
1373 # Infer tagged configuration to use if any are available and
1374 # if one wasn't chosen via the "--tag" command line option.
1375 # Only attempt this if the compiler in the base compile
1376 # command doesn't match the default compiler.
1377 # arg is usually of the form 'gcc ...'
1378 func_infer_tag ()
1379 {
1380 $opt_debug
1381 if test -n "$available_tags" && test -z "$tagname"; then
1382 CC_quoted=
1383 for arg in $CC; do
1384 func_append_quoted CC_quoted "$arg"
1385 done
1386 CC_expanded=`func_echo_all $CC`
1387 CC_quoted_expanded=`func_echo_all $CC_quoted`
1388 case $@ in
1389 # Blanks in the command may have been stripped by the calling shell,
1390 # but not from the CC environment variable when configure was run.
1391 " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \
1392 " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) ;;
1393 # Blanks at the start of $base_compile will cause this to fail
1394 # if we don't check for them as well.
1395 *)
1396 for z in $available_tags; do
1397 if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then
1398 # Evaluate the configuration.
1399 eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
1400 CC_quoted=
1401 for arg in $CC; do
1402 # Double-quote args containing other shell metacharacters.
1403 func_append_quoted CC_quoted "$arg"
1404 done
1405 CC_expanded=`func_echo_all $CC`
1406 CC_quoted_expanded=`func_echo_all $CC_quoted`
1407 case "$@ " in
1408 " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \
1409 " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*)
1410 # The compiler in the base compile command matches
1411 # the one in the tagged configuration.
1412 # Assume this is the tagged configuration we want.
1413 tagname=$z
1414 break
1415 ;;
1416 esac
1417 fi
1418 done
1419 # If $tagname still isn't set, then no tagged configuration
1420 # was found and let the user know that the "--tag" command
1421 # line option must be used.
1422 if test -z "$tagname"; then
1423 func_echo "unable to infer tagged configuration"
1424 func_fatal_error "specify a tag with \`--tag'"
1425 # else
1426 # func_verbose "using $tagname tagged configuration"
1427 fi
1428 ;;
1429 esac
1430 fi
1431 }
1432
1433
1434
1435 # func_write_libtool_object output_name pic_name nonpic_name
1436 # Create a libtool object file (analogous to a ".la" file),
1437 # but don't create it if we're doing a dry run.
1438 func_write_libtool_object ()
1439 {
1440 write_libobj=${1}
1441 if test "$build_libtool_libs" = yes; then
1442 write_lobj=\'${2}\'
1443 else
1444 write_lobj=none
1445 fi
1446
1447 if test "$build_old_libs" = yes; then
1448 write_oldobj=\'${3}\'
1449 else
1450 write_oldobj=none
1451 fi
1452
1453 $opt_dry_run || {
1454 cat >${write_libobj}T <<EOF
1455 # $write_libobj - a libtool object file
1456 # Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
1457 #
1458 # Please DO NOT delete this file!
1459 # It is necessary for linking the library.
1460
1461 # Name of the PIC object.
1462 pic_object=$write_lobj
1463
1464 # Name of the non-PIC object
1465 non_pic_object=$write_oldobj
1466
1467 EOF
1468 $MV "${write_libobj}T" "${write_libobj}"
1469 }
1470 }
1471
1472
1473 ##################################################
1474 # FILE NAME AND PATH CONVERSION HELPER FUNCTIONS #
1475 ##################################################
1476
1477 # func_convert_core_file_wine_to_w32 ARG
1478 # Helper function used by file name conversion functions when $build is *nix,
1479 # and $host is mingw, cygwin, or some other w32 environment. Relies on a
1480 # correctly configured wine environment available, with the winepath program
1481 # in $build's $PATH.
1482 #
1483 # ARG is the $build file name to be converted to w32 format.
1484 # Result is available in $func_convert_core_file_wine_to_w32_result, and will
1485 # be empty on error (or when ARG is empty)
1486 func_convert_core_file_wine_to_w32 ()
1487 {
1488 $opt_debug
1489 func_convert_core_file_wine_to_w32_result="$1"
1490 if test -n "$1"; then
1491 # Unfortunately, winepath does not exit with a non-zero error code, so we
1492 # are forced to check the contents of stdout. On the other hand, if the
1493 # command is not found, the shell will set an exit code of 127 and print
1494 # *an error message* to stdout. So we must check for both error code of
1495 # zero AND non-empty stdout, which explains the odd construction:
1496 func_convert_core_file_wine_to_w32_tmp=`winepath -w "$1" 2>/dev/null`
1497 if test "$?" -eq 0 && test -n "${func_convert_core_file_wine_to_w32_tmp}"; then
1498 func_convert_core_file_wine_to_w32_result=`$ECHO "$func_convert_core_file_wine_to_w32_tmp" |
1499 $SED -e "$lt_sed_naive_backslashify"`
1500 else
1501 func_convert_core_file_wine_to_w32_result=
1502 fi
1503 fi
1504 }
1505 # end: func_convert_core_file_wine_to_w32
1506
1507
1508 # func_convert_core_path_wine_to_w32 ARG
1509 # Helper function used by path conversion functions when $build is *nix, and
1510 # $host is mingw, cygwin, or some other w32 environment. Relies on a correctly
1511 # configured wine environment available, with the winepath program in $build's
1512 # $PATH. Assumes ARG has no leading or trailing path separator characters.
1513 #
1514 # ARG is path to be converted from $build format to win32.
1515 # Result is available in $func_convert_core_path_wine_to_w32_result.
1516 # Unconvertible file (directory) names in ARG are skipped; if no directory names
1517 # are convertible, then the result may be empty.
1518 func_convert_core_path_wine_to_w32 ()
1519 {
1520 $opt_debug
1521 # unfortunately, winepath doesn't convert paths, only file names
1522 func_convert_core_path_wine_to_w32_result=""
1523 if test -n "$1"; then
1524 oldIFS=$IFS
1525 IFS=:
1526 for func_convert_core_path_wine_to_w32_f in $1; do
1527 IFS=$oldIFS
1528 func_convert_core_file_wine_to_w32 "$func_convert_core_path_wine_to_w32_f"
1529 if test -n "$func_convert_core_file_wine_to_w32_result" ; then
1530 if test -z "$func_convert_core_path_wine_to_w32_result"; then
1531 func_convert_core_path_wine_to_w32_result="$func_convert_core_file_wine_to_w32_result"
1532 else
1533 func_append func_convert_core_path_wine_to_w32_result ";$func_convert_core_file_wine_to_w32_result"
1534 fi
1535 fi
1536 done
1537 IFS=$oldIFS
1538 fi
1539 }
1540 # end: func_convert_core_path_wine_to_w32
1541
1542
1543 # func_cygpath ARGS...
1544 # Wrapper around calling the cygpath program via LT_CYGPATH. This is used when
1545 # when (1) $build is *nix and Cygwin is hosted via a wine environment; or (2)
1546 # $build is MSYS and $host is Cygwin, or (3) $build is Cygwin. In case (1) or
1547 # (2), returns the Cygwin file name or path in func_cygpath_result (input
1548 # file name or path is assumed to be in w32 format, as previously converted
1549 # from $build's *nix or MSYS format). In case (3), returns the w32 file name
1550 # or path in func_cygpath_result (input file name or path is assumed to be in
1551 # Cygwin format). Returns an empty string on error.
1552 #
1553 # ARGS are passed to cygpath, with the last one being the file name or path to
1554 # be converted.
1555 #
1556 # Specify the absolute *nix (or w32) name to cygpath in the LT_CYGPATH
1557 # environment variable; do not put it in $PATH.
1558 func_cygpath ()
1559 {
1560 $opt_debug
1561 if test -n "$LT_CYGPATH" && test -f "$LT_CYGPATH"; then
1562 func_cygpath_result=`$LT_CYGPATH "$@" 2>/dev/null`
1563 if test "$?" -ne 0; then
1564 # on failure, ensure result is empty
1565 func_cygpath_result=
1566 fi
1567 else
1568 func_cygpath_result=
1569 func_error "LT_CYGPATH is empty or specifies non-existent file: \`$LT_CYGPATH'"
1570 fi
1571 }
1572 #end: func_cygpath
1573
1574
1575 # func_convert_core_msys_to_w32 ARG
1576 # Convert file name or path ARG from MSYS format to w32 format. Return
1577 # result in func_convert_core_msys_to_w32_result.
1578 func_convert_core_msys_to_w32 ()
1579 {
1580 $opt_debug
1581 # awkward: cmd appends spaces to result
1582 func_convert_core_msys_to_w32_result=`( cmd //c echo "$1" ) 2>/dev/null |
1583 $SED -e 's/[ ]*$//' -e "$lt_sed_naive_backslashify"`
1584 }
1585 #end: func_convert_core_msys_to_w32
1586
1587
1588 # func_convert_file_check ARG1 ARG2
1589 # Verify that ARG1 (a file name in $build format) was converted to $host
1590 # format in ARG2. Otherwise, emit an error message, but continue (resetting
1591 # func_to_host_file_result to ARG1).
1592 func_convert_file_check ()
1593 {
1594 $opt_debug
1595 if test -z "$2" && test -n "$1" ; then
1596 func_error "Could not determine host file name corresponding to"
1597 func_error " \`$1'"
1598 func_error "Continuing, but uninstalled executables may not work."
1599 # Fallback:
1600 func_to_host_file_result="$1"
1601 fi
1602 }
1603 # end func_convert_file_check
1604
1605
1606 # func_convert_path_check FROM_PATHSEP TO_PATHSEP FROM_PATH TO_PATH
1607 # Verify that FROM_PATH (a path in $build format) was converted to $host
1608 # format in TO_PATH. Otherwise, emit an error message, but continue, resetting
1609 # func_to_host_file_result to a simplistic fallback value (see below).
1610 func_convert_path_check ()
1611 {
1612 $opt_debug
1613 if test -z "$4" && test -n "$3"; then
1614 func_error "Could not determine the host path corresponding to"
1615 func_error " \`$3'"
1616 func_error "Continuing, but uninstalled executables may not work."
1617 # Fallback. This is a deliberately simplistic "conversion" and
1618 # should not be "improved". See libtool.info.
1619 if test "x$1" != "x$2"; then
1620 lt_replace_pathsep_chars="s|$1|$2|g"
1621 func_to_host_path_result=`echo "$3" |
1622 $SED -e "$lt_replace_pathsep_chars"`
1623 else
1624 func_to_host_path_result="$3"
1625 fi
1626 fi
1627 }
1628 # end func_convert_path_check
1629
1630
1631 # func_convert_path_front_back_pathsep FRONTPAT BACKPAT REPL ORIG
1632 # Modifies func_to_host_path_result by prepending REPL if ORIG matches FRONTPAT
1633 # and appending REPL if ORIG matches BACKPAT.
1634 func_convert_path_front_back_pathsep ()
1635 {
1636 $opt_debug
1637 case $4 in
1638 $1 ) func_to_host_path_result="$3$func_to_host_path_result"
1639 ;;
1640 esac
1641 case $4 in
1642 $2 ) func_append func_to_host_path_result "$3"
1643 ;;
1644 esac
1645 }
1646 # end func_convert_path_front_back_pathsep
1647
1648
1649 ##################################################
1650 # $build to $host FILE NAME CONVERSION FUNCTIONS #
1651 ##################################################
1652 # invoked via `$to_host_file_cmd ARG'
1653 #
1654 # In each case, ARG is the path to be converted from $build to $host format.
1655 # Result will be available in $func_to_host_file_result.
1656
1657
1658 # func_to_host_file ARG
1659 # Converts the file name ARG from $build format to $host format. Return result
1660 # in func_to_host_file_result.
1661 func_to_host_file ()
1662 {
1663 $opt_debug
1664 $to_host_file_cmd "$1"
1665 }
1666 # end func_to_host_file
1667
1668
1669 # func_to_tool_file ARG LAZY
1670 # converts the file name ARG from $build format to toolchain format. Return
1671 # result in func_to_tool_file_result. If the conversion in use is listed
1672 # in (the comma separated) LAZY, no conversion takes place.
1673 func_to_tool_file ()
1674 {
1675 $opt_debug
1676 case ,$2, in
1677 *,"$to_tool_file_cmd",*)
1678 func_to_tool_file_result=$1
1679 ;;
1680 *)
1681 $to_tool_file_cmd "$1"
1682 func_to_tool_file_result=$func_to_host_file_result
1683 ;;
1684 esac
1685 }
1686 # end func_to_tool_file
1687
1688
1689 # func_convert_file_noop ARG
1690 # Copy ARG to func_to_host_file_result.
1691 func_convert_file_noop ()
1692 {
1693 func_to_host_file_result="$1"
1694 }
1695 # end func_convert_file_noop
1696
1697
1698 # func_convert_file_msys_to_w32 ARG
1699 # Convert file name ARG from (mingw) MSYS to (mingw) w32 format; automatic
1700 # conversion to w32 is not available inside the cwrapper. Returns result in
1701 # func_to_host_file_result.
1702 func_convert_file_msys_to_w32 ()
1703 {
1704 $opt_debug
1705 func_to_host_file_result="$1"
1706 if test -n "$1"; then
1707 func_convert_core_msys_to_w32 "$1"
1708 func_to_host_file_result="$func_convert_core_msys_to_w32_result"
1709 fi
1710 func_convert_file_check "$1" "$func_to_host_file_result"
1711 }
1712 # end func_convert_file_msys_to_w32
1713
1714
1715 # func_convert_file_cygwin_to_w32 ARG
1716 # Convert file name ARG from Cygwin to w32 format. Returns result in
1717 # func_to_host_file_result.
1718 func_convert_file_cygwin_to_w32 ()
1719 {
1720 $opt_debug
1721 func_to_host_file_result="$1"
1722 if test -n "$1"; then
1723 # because $build is cygwin, we call "the" cygpath in $PATH; no need to use
1724 # LT_CYGPATH in this case.
1725 func_to_host_file_result=`cygpath -m "$1"`
1726 fi
1727 func_convert_file_check "$1" "$func_to_host_file_result"
1728 }
1729 # end func_convert_file_cygwin_to_w32
1730
1731
1732 # func_convert_file_nix_to_w32 ARG
1733 # Convert file name ARG from *nix to w32 format. Requires a wine environment
1734 # and a working winepath. Returns result in func_to_host_file_result.
1735 func_convert_file_nix_to_w32 ()
1736 {
1737 $opt_debug
1738 func_to_host_file_result="$1"
1739 if test -n "$1"; then
1740 func_convert_core_file_wine_to_w32 "$1"
1741 func_to_host_file_result="$func_convert_core_file_wine_to_w32_result"
1742 fi
1743 func_convert_file_check "$1" "$func_to_host_file_result"
1744 }
1745 # end func_convert_file_nix_to_w32
1746
1747
1748 # func_convert_file_msys_to_cygwin ARG
1749 # Convert file name ARG from MSYS to Cygwin format. Requires LT_CYGPATH set.
1750 # Returns result in func_to_host_file_result.
1751 func_convert_file_msys_to_cygwin ()
1752 {
1753 $opt_debug
1754 func_to_host_file_result="$1"
1755 if test -n "$1"; then
1756 func_convert_core_msys_to_w32 "$1"
1757 func_cygpath -u "$func_convert_core_msys_to_w32_result"
1758 func_to_host_file_result="$func_cygpath_result"
1759 fi
1760 func_convert_file_check "$1" "$func_to_host_file_result"
1761 }
1762 # end func_convert_file_msys_to_cygwin
1763
1764
1765 # func_convert_file_nix_to_cygwin ARG
1766 # Convert file name ARG from *nix to Cygwin format. Requires Cygwin installed
1767 # in a wine environment, working winepath, and LT_CYGPATH set. Returns result
1768 # in func_to_host_file_result.
1769 func_convert_file_nix_to_cygwin ()
1770 {
1771 $opt_debug
1772 func_to_host_file_result="$1"
1773 if test -n "$1"; then
1774 # convert from *nix to w32, then use cygpath to convert from w32 to cygwin.
1775 func_convert_core_file_wine_to_w32 "$1"
1776 func_cygpath -u "$func_convert_core_file_wine_to_w32_result"
1777 func_to_host_file_result="$func_cygpath_result"
1778 fi
1779 func_convert_file_check "$1" "$func_to_host_file_result"
1780 }
1781 # end func_convert_file_nix_to_cygwin
1782
1783
1784 #############################################
1785 # $build to $host PATH CONVERSION FUNCTIONS #
1786 #############################################
1787 # invoked via `$to_host_path_cmd ARG'
1788 #
1789 # In each case, ARG is the path to be converted from $build to $host format.
1790 # The result will be available in $func_to_host_path_result.
1791 #
1792 # Path separators are also converted from $build format to $host format. If
1793 # ARG begins or ends with a path separator character, it is preserved (but
1794 # converted to $host format) on output.
1795 #
1796 # All path conversion functions are named using the following convention:
1797 # file name conversion function : func_convert_file_X_to_Y ()
1798 # path conversion function : func_convert_path_X_to_Y ()
1799 # where, for any given $build/$host combination the 'X_to_Y' value is the
1800 # same. If conversion functions are added for new $build/$host combinations,
1801 # the two new functions must follow this pattern, or func_init_to_host_path_cmd
1802 # will break.
1803
1804
1805 # func_init_to_host_path_cmd
1806 # Ensures that function "pointer" variable $to_host_path_cmd is set to the
1807 # appropriate value, based on the value of $to_host_file_cmd.
1808 to_host_path_cmd=
1809 func_init_to_host_path_cmd ()
1810 {
1811 $opt_debug
1812 if test -z "$to_host_path_cmd"; then
1813 func_stripname 'func_convert_file_' '' "$to_host_file_cmd"
1814 to_host_path_cmd="func_convert_path_${func_stripname_result}"
1815 fi
1816 }
1817
1818
1819 # func_to_host_path ARG
1820 # Converts the path ARG from $build format to $host format. Return result
1821 # in func_to_host_path_result.
1822 func_to_host_path ()
1823 {
1824 $opt_debug
1825 func_init_to_host_path_cmd
1826 $to_host_path_cmd "$1"
1827 }
1828 # end func_to_host_path
1829
1830
1831 # func_convert_path_noop ARG
1832 # Copy ARG to func_to_host_path_result.
1833 func_convert_path_noop ()
1834 {
1835 func_to_host_path_result="$1"
1836 }
1837 # end func_convert_path_noop
1838
1839
1840 # func_convert_path_msys_to_w32 ARG
1841 # Convert path ARG from (mingw) MSYS to (mingw) w32 format; automatic
1842 # conversion to w32 is not available inside the cwrapper. Returns result in
1843 # func_to_host_path_result.
1844 func_convert_path_msys_to_w32 ()
1845 {
1846 $opt_debug
1847 func_to_host_path_result="$1"
1848 if test -n "$1"; then
1849 # Remove leading and trailing path separator characters from ARG. MSYS
1850 # behavior is inconsistent here; cygpath turns them into '.;' and ';.';
1851 # and winepath ignores them completely.
1852 func_stripname : : "$1"
1853 func_to_host_path_tmp1=$func_stripname_result
1854 func_convert_core_msys_to_w32 "$func_to_host_path_tmp1"
1855 func_to_host_path_result="$func_convert_core_msys_to_w32_result"
1856 func_convert_path_check : ";" \
1857 "$func_to_host_path_tmp1" "$func_to_host_path_result"
1858 func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
1859 fi
1860 }
1861 # end func_convert_path_msys_to_w32
1862
1863
1864 # func_convert_path_cygwin_to_w32 ARG
1865 # Convert path ARG from Cygwin to w32 format. Returns result in
1866 # func_to_host_file_result.
1867 func_convert_path_cygwin_to_w32 ()
1868 {
1869 $opt_debug
1870 func_to_host_path_result="$1"
1871 if test -n "$1"; then
1872 # See func_convert_path_msys_to_w32:
1873 func_stripname : : "$1"
1874 func_to_host_path_tmp1=$func_stripname_result
1875 func_to_host_path_result=`cygpath -m -p "$func_to_host_path_tmp1"`
1876 func_convert_path_check : ";" \
1877 "$func_to_host_path_tmp1" "$func_to_host_path_result"
1878 func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
1879 fi
1880 }
1881 # end func_convert_path_cygwin_to_w32
1882
1883
1884 # func_convert_path_nix_to_w32 ARG
1885 # Convert path ARG from *nix to w32 format. Requires a wine environment and
1886 # a working winepath. Returns result in func_to_host_file_result.
1887 func_convert_path_nix_to_w32 ()
1888 {
1889 $opt_debug
1890 func_to_host_path_result="$1"
1891 if test -n "$1"; then
1892 # See func_convert_path_msys_to_w32:
1893 func_stripname : : "$1"
1894 func_to_host_path_tmp1=$func_stripname_result
1895 func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1"
1896 func_to_host_path_result="$func_convert_core_path_wine_to_w32_result"
1897 func_convert_path_check : ";" \
1898 "$func_to_host_path_tmp1" "$func_to_host_path_result"
1899 func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
1900 fi
1901 }
1902 # end func_convert_path_nix_to_w32
1903
1904
1905 # func_convert_path_msys_to_cygwin ARG
1906 # Convert path ARG from MSYS to Cygwin format. Requires LT_CYGPATH set.
1907 # Returns result in func_to_host_file_result.
1908 func_convert_path_msys_to_cygwin ()
1909 {
1910 $opt_debug
1911 func_to_host_path_result="$1"
1912 if test -n "$1"; then
1913 # See func_convert_path_msys_to_w32:
1914 func_stripname : : "$1"
1915 func_to_host_path_tmp1=$func_stripname_result
1916 func_convert_core_msys_to_w32 "$func_to_host_path_tmp1"
1917 func_cygpath -u -p "$func_convert_core_msys_to_w32_result"
1918 func_to_host_path_result="$func_cygpath_result"
1919 func_convert_path_check : : \
1920 "$func_to_host_path_tmp1" "$func_to_host_path_result"
1921 func_convert_path_front_back_pathsep ":*" "*:" : "$1"
1922 fi
1923 }
1924 # end func_convert_path_msys_to_cygwin
1925
1926
1927 # func_convert_path_nix_to_cygwin ARG
1928 # Convert path ARG from *nix to Cygwin format. Requires Cygwin installed in a
1929 # a wine environment, working winepath, and LT_CYGPATH set. Returns result in
1930 # func_to_host_file_result.
1931 func_convert_path_nix_to_cygwin ()
1932 {
1933 $opt_debug
1934 func_to_host_path_result="$1"
1935 if test -n "$1"; then
1936 # Remove leading and trailing path separator characters from
1937 # ARG. msys behavior is inconsistent here, cygpath turns them
1938 # into '.;' and ';.', and winepath ignores them completely.
1939 func_stripname : : "$1"
1940 func_to_host_path_tmp1=$func_stripname_result
1941 func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1"
1942 func_cygpath -u -p "$func_convert_core_path_wine_to_w32_result"
1943 func_to_host_path_result="$func_cygpath_result"
1944 func_convert_path_check : : \
1945 "$func_to_host_path_tmp1" "$func_to_host_path_result"
1946 func_convert_path_front_back_pathsep ":*" "*:" : "$1"
1947 fi
1948 }
1949 # end func_convert_path_nix_to_cygwin
1950
1951
1952 # func_mode_compile arg...
1953 func_mode_compile ()
1954 {
1955 $opt_debug
1956 # Get the compilation command and the source file.
1957 base_compile=
1958 srcfile="$nonopt" # always keep a non-empty value in "srcfile"
1959 suppress_opt=yes
1960 suppress_output=
1961 arg_mode=normal
1962 libobj=
1963 later=
1964 pie_flag=
1965
1966 for arg
1967 do
1968 case $arg_mode in
1969 arg )
1970 # do not "continue". Instead, add this to base_compile
1971 lastarg="$arg"
1972 arg_mode=normal
1973 ;;
1974
1975 target )
1976 libobj="$arg"
1977 arg_mode=normal
1978 continue
1979 ;;
1980
1981 normal )
1982 # Accept any command-line options.
1983 case $arg in
1984 -o)
1985 test -n "$libobj" && \
1986 func_fatal_error "you cannot specify \`-o' more than once"
1987 arg_mode=target
1988 continue
1989 ;;
1990
1991 -pie | -fpie | -fPIE)
1992 func_append pie_flag " $arg"
1993 continue
1994 ;;
1995
1996 -shared | -static | -prefer-pic | -prefer-non-pic)
1997 func_append later " $arg"
1998 continue
1999 ;;
2000
2001 -no-suppress)
2002 suppress_opt=no
2003 continue
2004 ;;
2005
2006 -Xcompiler)
2007 arg_mode=arg # the next one goes into the "base_compile" arg list
2008 continue # The current "srcfile" will either be retained or
2009 ;; # replaced later. I would guess that would be a bug.
2010
2011 -Wc,*)
2012 func_stripname '-Wc,' '' "$arg"
2013 args=$func_stripname_result
2014 lastarg=
2015 save_ifs="$IFS"; IFS=','
2016 for arg in $args; do
2017 IFS="$save_ifs"
2018 func_append_quoted lastarg "$arg"
2019 done
2020 IFS="$save_ifs"
2021 func_stripname ' ' '' "$lastarg"
2022 lastarg=$func_stripname_result
2023
2024 # Add the arguments to base_compile.
2025 func_append base_compile " $lastarg"
2026 continue
2027 ;;
2028
2029 *)
2030 # Accept the current argument as the source file.
2031 # The previous "srcfile" becomes the current argument.
2032 #
2033 lastarg="$srcfile"
2034 srcfile="$arg"
2035 ;;
2036 esac # case $arg
2037 ;;
2038 esac # case $arg_mode
2039
2040 # Aesthetically quote the previous argument.
2041 func_append_quoted base_compile "$lastarg"
2042 done # for arg
2043
2044 case $arg_mode in
2045 arg)
2046 func_fatal_error "you must specify an argument for -Xcompile"
2047 ;;
2048 target)
2049 func_fatal_error "you must specify a target with \`-o'"
2050 ;;
2051 *)
2052 # Get the name of the library object.
2053 test -z "$libobj" && {
2054 func_basename "$srcfile"
2055 libobj="$func_basename_result"
2056 }
2057 ;;
2058 esac
2059
2060 # Recognize several different file suffixes.
2061 # If the user specifies -o file.o, it is replaced with file.lo
2062 case $libobj in
2063 *.[cCFSifmso] | \
2064 *.ada | *.adb | *.ads | *.asm | \
2065 *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \
2066 *.[fF][09]? | *.for | *.java | *.go | *.obj | *.sx | *.cu | *.cup)
2067 func_xform "$libobj"
2068 libobj=$func_xform_result
2069 ;;
2070 esac
2071
2072 case $libobj in
2073 *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;;
2074 *)
2075 func_fatal_error "cannot determine name of library object from \`$libobj'"
2076 ;;
2077 esac
2078
2079 func_infer_tag $base_compile
2080
2081 for arg in $later; do
2082 case $arg in
2083 -shared)
2084 test "$build_libtool_libs" != yes && \
2085 func_fatal_configuration "can not build a shared library"
2086 build_old_libs=no
2087 continue
2088 ;;
2089
2090 -static)
2091 build_libtool_libs=no
2092 build_old_libs=yes
2093 continue
2094 ;;
2095
2096 -prefer-pic)
2097 pic_mode=yes
2098 continue
2099 ;;
2100
2101 -prefer-non-pic)
2102 pic_mode=no
2103 continue
2104 ;;
2105 esac
2106 done
2107
2108 func_quote_for_eval "$libobj"
2109 test "X$libobj" != "X$func_quote_for_eval_result" \
2110 && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"' &()|`$[]' \
2111 && func_warning "libobj name \`$libobj' may not contain shell special characters."
2112 func_dirname_and_basename "$obj" "/" ""
2113 objname="$func_basename_result"
2114 xdir="$func_dirname_result"
2115 lobj=${xdir}$objdir/$objname
2116
2117 test -z "$base_compile" && \
2118 func_fatal_help "you must specify a compilation command"
2119
2120 # Delete any leftover library objects.
2121 if test "$build_old_libs" = yes; then
2122 removelist="$obj $lobj $libobj ${libobj}T"
2123 else
2124 removelist="$lobj $libobj ${libobj}T"
2125 fi
2126
2127 # On Cygwin there's no "real" PIC flag so we must build both object types
2128 case $host_os in
2129 cygwin* | mingw* | pw32* | os2* | cegcc*)
2130 pic_mode=default
2131 ;;
2132 esac
2133 if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then
2134 # non-PIC code in shared libraries is not supported
2135 pic_mode=default
2136 fi
2137
2138 # Calculate the filename of the output object if compiler does
2139 # not support -o with -c
2140 if test "$compiler_c_o" = no; then
2141 output_obj=`$ECHO "$srcfile" | $SED 's%^.*/%%; s%\.[^.]*$%%'`.${objext}
2142 lockfile="$output_obj.lock"
2143 else
2144 output_obj=
2145 need_locks=no
2146 lockfile=
2147 fi
2148
2149 # Lock this critical section if it is needed
2150 # We use this script file to make the link, it avoids creating a new file
2151 if test "$need_locks" = yes; then
2152 until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
2153 func_echo "Waiting for $lockfile to be removed"
2154 sleep 2
2155 done
2156 elif test "$need_locks" = warn; then
2157 if test -f "$lockfile"; then
2158 $ECHO "\
2159 *** ERROR, $lockfile exists and contains:
2160 `cat $lockfile 2>/dev/null`
2161
2162 This indicates that another process is trying to use the same
2163 temporary object file, and libtool could not work around it because
2164 your compiler does not support \`-c' and \`-o' together. If you
2165 repeat this compilation, it may succeed, by chance, but you had better
2166 avoid parallel builds (make -j) in this platform, or get a better
2167 compiler."
2168
2169 $opt_dry_run || $RM $removelist
2170 exit $EXIT_FAILURE
2171 fi
2172 func_append removelist " $output_obj"
2173 $ECHO "$srcfile" > "$lockfile"
2174 fi
2175
2176 $opt_dry_run || $RM $removelist
2177 func_append removelist " $lockfile"
2178 trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15
2179
2180 func_to_tool_file "$srcfile" func_convert_file_msys_to_w32
2181 srcfile=$func_to_tool_file_result
2182 func_quote_for_eval "$srcfile"
2183 qsrcfile=$func_quote_for_eval_result
2184
2185 # Only build a PIC object if we are building libtool libraries.
2186 if test "$build_libtool_libs" = yes; then
2187 # Without this assignment, base_compile gets emptied.
2188 fbsd_hideous_sh_bug=$base_compile
2189
2190 if test "$pic_mode" != no; then
2191 command="$base_compile $qsrcfile $pic_flag"
2192 else
2193 # Don't build PIC code
2194 command="$base_compile $qsrcfile"
2195 fi
2196
2197 func_mkdir_p "$xdir$objdir"
2198
2199 if test -z "$output_obj"; then
2200 # Place PIC objects in $objdir
2201 func_append command " -o $lobj"
2202 fi
2203
2204 func_show_eval_locale "$command" \
2205 'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE'
2206
2207 if test "$need_locks" = warn &&
2208 test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
2209 $ECHO "\
2210 *** ERROR, $lockfile contains:
2211 `cat $lockfile 2>/dev/null`
2212
2213 but it should contain:
2214 $srcfile
2215
2216 This indicates that another process is trying to use the same
2217 temporary object file, and libtool could not work around it because
2218 your compiler does not support \`-c' and \`-o' together. If you
2219 repeat this compilation, it may succeed, by chance, but you had better
2220 avoid parallel builds (make -j) in this platform, or get a better
2221 compiler."
2222
2223 $opt_dry_run || $RM $removelist
2224 exit $EXIT_FAILURE
2225 fi
2226
2227 # Just move the object if needed, then go on to compile the next one
2228 if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then
2229 func_show_eval '$MV "$output_obj" "$lobj"' \
2230 'error=$?; $opt_dry_run || $RM $removelist; exit $error'
2231 fi
2232
2233 # Allow error messages only from the first compilation.
2234 if test "$suppress_opt" = yes; then
2235 suppress_output=' >/dev/null 2>&1'
2236 fi
2237 fi
2238
2239 # Only build a position-dependent object if we build old libraries.
2240 if test "$build_old_libs" = yes; then
2241 if test "$pic_mode" != yes; then
2242 # Don't build PIC code
2243 command="$base_compile $qsrcfile$pie_flag"
2244 else
2245 command="$base_compile $qsrcfile $pic_flag"
2246 fi
2247 if test "$compiler_c_o" = yes; then
2248 func_append command " -o $obj"
2249 fi
2250
2251 # Suppress compiler output if we already did a PIC compilation.
2252 func_append command "$suppress_output"
2253 func_show_eval_locale "$command" \
2254 '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE'
2255
2256 if test "$need_locks" = warn &&
2257 test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
2258 $ECHO "\
2259 *** ERROR, $lockfile contains:
2260 `cat $lockfile 2>/dev/null`
2261
2262 but it should contain:
2263 $srcfile
2264
2265 This indicates that another process is trying to use the same
2266 temporary object file, and libtool could not work around it because
2267 your compiler does not support \`-c' and \`-o' together. If you
2268 repeat this compilation, it may succeed, by chance, but you had better
2269 avoid parallel builds (make -j) in this platform, or get a better
2270 compiler."
2271
2272 $opt_dry_run || $RM $removelist
2273 exit $EXIT_FAILURE
2274 fi
2275
2276 # Just move the object if needed
2277 if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then
2278 func_show_eval '$MV "$output_obj" "$obj"' \
2279 'error=$?; $opt_dry_run || $RM $removelist; exit $error'
2280 fi
2281 fi
2282
2283 $opt_dry_run || {
2284 func_write_libtool_object "$libobj" "$objdir/$objname" "$objname"
2285
2286 # Unlock the critical section if it was locked
2287 if test "$need_locks" != no; then
2288 removelist=$lockfile
2289 $RM "$lockfile"
2290 fi
2291 }
2292
2293 exit $EXIT_SUCCESS
2294 }
2295
2296 $opt_help || {
2297 test "$opt_mode" = compile && func_mode_compile ${1+"$@"}
2298 }
2299
2300 func_mode_help ()
2301 {
2302 # We need to display help for each of the modes.
2303 case $opt_mode in
2304 "")
2305 # Generic help is extracted from the usage comments
2306 # at the start of this file.
2307 func_help
2308 ;;
2309
2310 clean)
2311 $ECHO \
2312 "Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE...
2313
2314 Remove files from the build directory.
2315
2316 RM is the name of the program to use to delete files associated with each FILE
2317 (typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed
2318 to RM.
2319
2320 If FILE is a libtool library, object or program, all the files associated
2321 with it are deleted. Otherwise, only FILE itself is deleted using RM."
2322 ;;
2323
2324 compile)
2325 $ECHO \
2326 "Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
2327
2328 Compile a source file into a libtool library object.
2329
2330 This mode accepts the following additional options:
2331
2332 -o OUTPUT-FILE set the output file name to OUTPUT-FILE
2333 -no-suppress do not suppress compiler output for multiple passes
2334 -prefer-pic try to build PIC objects only
2335 -prefer-non-pic try to build non-PIC objects only
2336 -shared do not build a \`.o' file suitable for static linking
2337 -static only build a \`.o' file suitable for static linking
2338 -Wc,FLAG pass FLAG directly to the compiler
2339
2340 COMPILE-COMMAND is a command to be used in creating a \`standard' object file
2341 from the given SOURCEFILE.
2342
2343 The output file name is determined by removing the directory component from
2344 SOURCEFILE, then substituting the C source code suffix \`.c' with the
2345 library object suffix, \`.lo'."
2346 ;;
2347
2348 execute)
2349 $ECHO \
2350 "Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]...
2351
2352 Automatically set library path, then run a program.
2353
2354 This mode accepts the following additional options:
2355
2356 -dlopen FILE add the directory containing FILE to the library path
2357
2358 This mode sets the library path environment variable according to \`-dlopen'
2359 flags.
2360
2361 If any of the ARGS are libtool executable wrappers, then they are translated
2362 into their corresponding uninstalled binary, and any of their required library
2363 directories are added to the library path.
2364
2365 Then, COMMAND is executed, with ARGS as arguments."
2366 ;;
2367
2368 finish)
2369 $ECHO \
2370 "Usage: $progname [OPTION]... --mode=finish [LIBDIR]...
2371
2372 Complete the installation of libtool libraries.
2373
2374 Each LIBDIR is a directory that contains libtool libraries.
2375
2376 The commands that this mode executes may require superuser privileges. Use
2377 the \`--dry-run' option if you just want to see what would be executed."
2378 ;;
2379
2380 install)
2381 $ECHO \
2382 "Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND...
2383
2384 Install executables or libraries.
2385
2386 INSTALL-COMMAND is the installation command. The first component should be
2387 either the \`install' or \`cp' program.
2388
2389 The following components of INSTALL-COMMAND are treated specially:
2390
2391 -inst-prefix-dir PREFIX-DIR Use PREFIX-DIR as a staging area for installation
2392
2393 The rest of the components are interpreted as arguments to that command (only
2394 BSD-compatible install options are recognized)."
2395 ;;
2396
2397 link)
2398 $ECHO \
2399 "Usage: $progname [OPTION]... --mode=link LINK-COMMAND...
2400
2401 Link object files or libraries together to form another library, or to
2402 create an executable program.
2403
2404 LINK-COMMAND is a command using the C compiler that you would use to create
2405 a program from several object files.
2406
2407 The following components of LINK-COMMAND are treated specially:
2408
2409 -all-static do not do any dynamic linking at all
2410 -avoid-version do not add a version suffix if possible
2411 -bindir BINDIR specify path to binaries directory (for systems where
2412 libraries must be found in the PATH setting at runtime)
2413 -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime
2414 -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols
2415 -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
2416 -export-symbols SYMFILE
2417 try to export only the symbols listed in SYMFILE
2418 -export-symbols-regex REGEX
2419 try to export only the symbols matching REGEX
2420 -LLIBDIR search LIBDIR for required installed libraries
2421 -lNAME OUTPUT-FILE requires the installed library libNAME
2422 -module build a library that can dlopened
2423 -no-fast-install disable the fast-install mode
2424 -no-install link a not-installable executable
2425 -no-undefined declare that a library does not refer to external symbols
2426 -o OUTPUT-FILE create OUTPUT-FILE from the specified objects
2427 -objectlist FILE Use a list of object files found in FILE to specify objects
2428 -precious-files-regex REGEX
2429 don't remove output files matching REGEX
2430 -release RELEASE specify package release information
2431 -rpath LIBDIR the created library will eventually be installed in LIBDIR
2432 -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries
2433 -shared only do dynamic linking of libtool libraries
2434 -shrext SUFFIX override the standard shared library file extension
2435 -static do not do any dynamic linking of uninstalled libtool libraries
2436 -static-libtool-libs
2437 do not do any dynamic linking of libtool libraries
2438 -version-info CURRENT[:REVISION[:AGE]]
2439 specify library version info [each variable defaults to 0]
2440 -weak LIBNAME declare that the target provides the LIBNAME interface
2441 -Wc,FLAG
2442 -Xcompiler FLAG pass linker-specific FLAG directly to the compiler
2443 -Wl,FLAG
2444 -Xlinker FLAG pass linker-specific FLAG directly to the linker
2445 -XCClinker FLAG pass link-specific FLAG to the compiler driver (CC)
2446
2447 All other options (arguments beginning with \`-') are ignored.
2448
2449 Every other argument is treated as a filename. Files ending in \`.la' are
2450 treated as uninstalled libtool libraries, other files are standard or library
2451 object files.
2452
2453 If the OUTPUT-FILE ends in \`.la', then a libtool library is created,
2454 only library objects (\`.lo' files) may be specified, and \`-rpath' is
2455 required, except when creating a convenience library.
2456
2457 If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created
2458 using \`ar' and \`ranlib', or on Windows using \`lib'.
2459
2460 If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file
2461 is created, otherwise an executable program is created."
2462 ;;
2463
2464 uninstall)
2465 $ECHO \
2466 "Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
2467
2468 Remove libraries from an installation directory.
2469
2470 RM is the name of the program to use to delete files associated with each FILE
2471 (typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed
2472 to RM.
2473
2474 If FILE is a libtool library, all the files associated with it are deleted.
2475 Otherwise, only FILE itself is deleted using RM."
2476 ;;
2477
2478 *)
2479 func_fatal_help "invalid operation mode \`$opt_mode'"
2480 ;;
2481 esac
2482
2483 echo
2484 $ECHO "Try \`$progname --help' for more information about other modes."
2485 }
2486
2487 # Now that we've collected a possible --mode arg, show help if necessary
2488 if $opt_help; then
2489 if test "$opt_help" = :; then
2490 func_mode_help
2491 else
2492 {
2493 func_help noexit
2494 for opt_mode in compile link execute install finish uninstall clean; do
2495 func_mode_help
2496 done
2497 } | sed -n '1p; 2,$s/^Usage:/ or: /p'
2498 {
2499 func_help noexit
2500 for opt_mode in compile link execute install finish uninstall clean; do
2501 echo
2502 func_mode_help
2503 done
2504 } |
2505 sed '1d
2506 /^When reporting/,/^Report/{
2507 H
2508 d
2509 }
2510 $x
2511 /information about other modes/d
2512 /more detailed .*MODE/d
2513 s/^Usage:.*--mode=\([^ ]*\) .*/Description of \1 mode:/'
2514 fi
2515 exit $?
2516 fi
2517
2518
2519 # func_mode_execute arg...
2520 func_mode_execute ()
2521 {
2522 $opt_debug
2523 # The first argument is the command name.
2524 cmd="$nonopt"
2525 test -z "$cmd" && \
2526 func_fatal_help "you must specify a COMMAND"
2527
2528 # Handle -dlopen flags immediately.
2529 for file in $opt_dlopen; do
2530 test -f "$file" \
2531 || func_fatal_help "\`$file' is not a file"
2532
2533 dir=
2534 case $file in
2535 *.la)
2536 func_resolve_sysroot "$file"
2537 file=$func_resolve_sysroot_result
2538
2539 # Check to see that this really is a libtool archive.
2540 func_lalib_unsafe_p "$file" \
2541 || func_fatal_help "\`$lib' is not a valid libtool archive"
2542
2543 # Read the libtool library.
2544 dlname=
2545 library_names=
2546 func_source "$file"
2547
2548 # Skip this library if it cannot be dlopened.
2549 if test -z "$dlname"; then
2550 # Warn if it was a shared library.
2551 test -n "$library_names" && \
2552 func_warning "\`$file' was not linked with \`-export-dynamic'"
2553 continue
2554 fi
2555
2556 func_dirname "$file" "" "."
2557 dir="$func_dirname_result"
2558
2559 if test -f "$dir/$objdir/$dlname"; then
2560 func_append dir "/$objdir"
2561 else
2562 if test ! -f "$dir/$dlname"; then
2563 func_fatal_error "cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'"
2564 fi
2565 fi
2566 ;;
2567
2568 *.lo)
2569 # Just add the directory containing the .lo file.
2570 func_dirname "$file" "" "."
2571 dir="$func_dirname_result"
2572 ;;
2573
2574 *)
2575 func_warning "\`-dlopen' is ignored for non-libtool libraries and objects"
2576 continue
2577 ;;
2578 esac
2579
2580 # Get the absolute pathname.
2581 absdir=`cd "$dir" && pwd`
2582 test -n "$absdir" && dir="$absdir"
2583
2584 # Now add the directory to shlibpath_var.
2585 if eval "test -z \"\$$shlibpath_var\""; then
2586 eval "$shlibpath_var=\"\$dir\""
2587 else
2588 eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
2589 fi
2590 done
2591
2592 # This variable tells wrapper scripts just to set shlibpath_var
2593 # rather than running their programs.
2594 libtool_execute_magic="$magic"
2595
2596 # Check if any of the arguments is a wrapper script.
2597 args=
2598 for file
2599 do
2600 case $file in
2601 -* | *.la | *.lo ) ;;
2602 *)
2603 # Do a test to see if this is really a libtool program.
2604 if func_ltwrapper_script_p "$file"; then
2605 func_source "$file"
2606 # Transform arg to wrapped name.
2607 file="$progdir/$program"
2608 elif func_ltwrapper_executable_p "$file"; then
2609 func_ltwrapper_scriptname "$file"
2610 func_source "$func_ltwrapper_scriptname_result"
2611 # Transform arg to wrapped name.
2612 file="$progdir/$program"
2613 fi
2614 ;;
2615 esac
2616 # Quote arguments (to preserve shell metacharacters).
2617 func_append_quoted args "$file"
2618 done
2619
2620 if test "X$opt_dry_run" = Xfalse; then
2621 if test -n "$shlibpath_var"; then
2622 # Export the shlibpath_var.
2623 eval "export $shlibpath_var"
2624 fi
2625
2626 # Restore saved environment variables
2627 for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
2628 do
2629 eval "if test \"\${save_$lt_var+set}\" = set; then
2630 $lt_var=\$save_$lt_var; export $lt_var
2631 else
2632 $lt_unset $lt_var
2633 fi"
2634 done
2635
2636 # Now prepare to actually exec the command.
2637 exec_cmd="\$cmd$args"
2638 else
2639 # Display what would be done.
2640 if test -n "$shlibpath_var"; then
2641 eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\""
2642 echo "export $shlibpath_var"
2643 fi
2644 $ECHO "$cmd$args"
2645 exit $EXIT_SUCCESS
2646 fi
2647 }
2648
2649 test "$opt_mode" = execute && func_mode_execute ${1+"$@"}
2650
2651
2652 # func_mode_finish arg...
2653 func_mode_finish ()
2654 {
2655 $opt_debug
2656 libs=
2657 libdirs=
2658 admincmds=
2659
2660 for opt in "$nonopt" ${1+"$@"}
2661 do
2662 if test -d "$opt"; then
2663 func_append libdirs " $opt"
2664
2665 elif test -f "$opt"; then
2666 if func_lalib_unsafe_p "$opt"; then
2667 func_append libs " $opt"
2668 else
2669 func_warning "\`$opt' is not a valid libtool archive"
2670 fi
2671
2672 else
2673 func_fatal_error "invalid argument \`$opt'"
2674 fi
2675 done
2676
2677 if test -n "$libs"; then
2678 if test -n "$lt_sysroot"; then
2679 sysroot_regex=`$ECHO "$lt_sysroot" | $SED "$sed_make_literal_regex"`
2680 sysroot_cmd="s/\([ ']\)$sysroot_regex/\1/g;"
2681 else
2682 sysroot_cmd=
2683 fi
2684
2685 # Remove sysroot references
2686 if $opt_dry_run; then
2687 for lib in $libs; do
2688 echo "removing references to $lt_sysroot and \`=' prefixes from $lib"
2689 done
2690 else
2691 tmpdir=`func_mktempdir`
2692 for lib in $libs; do
2693 sed -e "${sysroot_cmd} s/\([ ']-[LR]\)=/\1/g; s/\([ ']\)=/\1/g" $lib \
2694 > $tmpdir/tmp-la
2695 mv -f $tmpdir/tmp-la $lib
2696 done
2697 ${RM}r "$tmpdir"
2698 fi
2699 fi
2700
2701 if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
2702 for libdir in $libdirs; do
2703 if test -n "$finish_cmds"; then
2704 # Do each command in the finish commands.
2705 func_execute_cmds "$finish_cmds" 'admincmds="$admincmds
2706 '"$cmd"'"'
2707 fi
2708 if test -n "$finish_eval"; then
2709 # Do the single finish_eval.
2710 eval cmds=\"$finish_eval\"
2711 $opt_dry_run || eval "$cmds" || func_append admincmds "
2712 $cmds"
2713 fi
2714 done
2715 fi
2716
2717 # Exit here if they wanted silent mode.
2718 $opt_silent && exit $EXIT_SUCCESS
2719
2720 if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
2721 echo "----------------------------------------------------------------------"
2722 echo "Libraries have been installed in:"
2723 for libdir in $libdirs; do
2724 $ECHO " $libdir"
2725 done
2726 echo
2727 echo "If you ever happen to want to link against installed libraries"
2728 echo "in a given directory, LIBDIR, you must either use libtool, and"
2729 echo "specify the full pathname of the library, or use the \`-LLIBDIR'"
2730 echo "flag during linking and do at least one of the following:"
2731 if test -n "$shlibpath_var"; then
2732 echo " - add LIBDIR to the \`$shlibpath_var' environment variable"
2733 echo " during execution"
2734 fi
2735 if test -n "$runpath_var"; then
2736 echo " - add LIBDIR to the \`$runpath_var' environment variable"
2737 echo " during linking"
2738 fi
2739 if test -n "$hardcode_libdir_flag_spec"; then
2740 libdir=LIBDIR
2741 eval flag=\"$hardcode_libdir_flag_spec\"
2742
2743 $ECHO " - use the \`$flag' linker flag"
2744 fi
2745 if test -n "$admincmds"; then
2746 $ECHO " - have your system administrator run these commands:$admincmds"
2747 fi
2748 if test -f /etc/ld.so.conf; then
2749 echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
2750 fi
2751 echo
2752
2753 echo "See any operating system documentation about shared libraries for"
2754 case $host in
2755 solaris2.[6789]|solaris2.1[0-9])
2756 echo "more information, such as the ld(1), crle(1) and ld.so(8) manual"
2757 echo "pages."
2758 ;;
2759 *)
2760 echo "more information, such as the ld(1) and ld.so(8) manual pages."
2761 ;;
2762 esac
2763 echo "----------------------------------------------------------------------"
2764 fi
2765 exit $EXIT_SUCCESS
2766 }
2767
2768 test "$opt_mode" = finish && func_mode_finish ${1+"$@"}
2769
2770
2771 # func_mode_install arg...
2772 func_mode_install ()
2773 {
2774 $opt_debug
2775 # There may be an optional sh(1) argument at the beginning of
2776 # install_prog (especially on Windows NT).
2777 if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh ||
2778 # Allow the use of GNU shtool's install command.
2779 case $nonopt in *shtool*) :;; *) false;; esac; then
2780 # Aesthetically quote it.
2781 func_quote_for_eval "$nonopt"
2782 install_prog="$func_quote_for_eval_result "
2783 arg=$1
2784 shift
2785 else
2786 install_prog=
2787 arg=$nonopt
2788 fi
2789
2790 # The real first argument should be the name of the installation program.
2791 # Aesthetically quote it.
2792 func_quote_for_eval "$arg"
2793 func_append install_prog "$func_quote_for_eval_result"
2794 install_shared_prog=$install_prog
2795 case " $install_prog " in
2796 *[\\\ /]cp\ *) install_cp=: ;;
2797 *) install_cp=false ;;
2798 esac
2799
2800 # We need to accept at least all the BSD install flags.
2801 dest=
2802 files=
2803 opts=
2804 prev=
2805 install_type=
2806 isdir=no
2807 stripme=
2808 no_mode=:
2809 for arg
2810 do
2811 arg2=
2812 if test -n "$dest"; then
2813 func_append files " $dest"
2814 dest=$arg
2815 continue
2816 fi
2817
2818 case $arg in
2819 -d) isdir=yes ;;
2820 -f)
2821 if $install_cp; then :; else
2822 prev=$arg
2823 fi
2824 ;;
2825 -g | -m | -o)
2826 prev=$arg
2827 ;;
2828 -s)
2829 stripme=" -s"
2830 continue
2831 ;;
2832 -*)
2833 ;;
2834 *)
2835 # If the previous option needed an argument, then skip it.
2836 if test -n "$prev"; then
2837 if test "x$prev" = x-m && test -n "$install_override_mode"; then
2838 arg2=$install_override_mode
2839 no_mode=false
2840 fi
2841 prev=
2842 else
2843 dest=$arg
2844 continue
2845 fi
2846 ;;
2847 esac
2848
2849 # Aesthetically quote the argument.
2850 func_quote_for_eval "$arg"
2851 func_append install_prog " $func_quote_for_eval_result"
2852 if test -n "$arg2"; then
2853 func_quote_for_eval "$arg2"
2854 fi
2855 func_append install_shared_prog " $func_quote_for_eval_result"
2856 done
2857
2858 test -z "$install_prog" && \
2859 func_fatal_help "you must specify an install program"
2860
2861 test -n "$prev" && \
2862 func_fatal_help "the \`$prev' option requires an argument"
2863
2864 if test -n "$install_override_mode" && $no_mode; then
2865 if $install_cp; then :; else
2866 func_quote_for_eval "$install_override_mode"
2867 func_append install_shared_prog " -m $func_quote_for_eval_result"
2868 fi
2869 fi
2870
2871 if test -z "$files"; then
2872 if test -z "$dest"; then
2873 func_fatal_help "no file or destination specified"
2874 else
2875 func_fatal_help "you must specify a destination"
2876 fi
2877 fi
2878
2879 # Strip any trailing slash from the destination.
2880 func_stripname '' '/' "$dest"
2881 dest=$func_stripname_result
2882
2883 # Check to see that the destination is a directory.
2884 test -d "$dest" && isdir=yes
2885 if test "$isdir" = yes; then
2886 destdir="$dest"
2887 destname=
2888 else
2889 func_dirname_and_basename "$dest" "" "."
2890 destdir="$func_dirname_result"
2891 destname="$func_basename_result"
2892
2893 # Not a directory, so check to see that there is only one file specified.
2894 set dummy $files; shift
2895 test "$#" -gt 1 && \
2896 func_fatal_help "\`$dest' is not a directory"
2897 fi
2898 case $destdir in
2899 [\\/]* | [A-Za-z]:[\\/]*) ;;
2900 *)
2901 for file in $files; do
2902 case $file in
2903 *.lo) ;;
2904 *)
2905 func_fatal_help "\`$destdir' must be an absolute directory name"
2906 ;;
2907 esac
2908 done
2909 ;;
2910 esac
2911
2912 # This variable tells wrapper scripts just to set variables rather
2913 # than running their programs.
2914 libtool_install_magic="$magic"
2915
2916 staticlibs=
2917 future_libdirs=
2918 current_libdirs=
2919 for file in $files; do
2920
2921 # Do each installation.
2922 case $file in
2923 *.$libext)
2924 # Do the static libraries later.
2925 func_append staticlibs " $file"
2926 ;;
2927
2928 *.la)
2929 func_resolve_sysroot "$file"
2930 file=$func_resolve_sysroot_result
2931
2932 # Check to see that this really is a libtool archive.
2933 func_lalib_unsafe_p "$file" \
2934 || func_fatal_help "\`$file' is not a valid libtool archive"
2935
2936 library_names=
2937 old_library=
2938 relink_command=
2939 func_source "$file"
2940
2941 # Add the libdir to current_libdirs if it is the destination.
2942 if test "X$destdir" = "X$libdir"; then
2943 case "$current_libdirs " in
2944 *" $libdir "*) ;;
2945 *) func_append current_libdirs " $libdir" ;;
2946 esac
2947 else
2948 # Note the libdir as a future libdir.
2949 case "$future_libdirs " in
2950 *" $libdir "*) ;;
2951 *) func_append future_libdirs " $libdir" ;;
2952 esac
2953 fi
2954
2955 func_dirname "$file" "/" ""
2956 dir="$func_dirname_result"
2957 func_append dir "$objdir"
2958
2959 if test -n "$relink_command"; then
2960 # Determine the prefix the user has applied to our future dir.
2961 inst_prefix_dir=`$ECHO "$destdir" | $SED -e "s%$libdir\$%%"`
2962
2963 # Don't allow the user to place us outside of our expected
2964 # location b/c this prevents finding dependent libraries that
2965 # are installed to the same prefix.
2966 # At present, this check doesn't affect windows .dll's that
2967 # are installed into $libdir/../bin (currently, that works fine)
2968 # but it's something to keep an eye on.
2969 test "$inst_prefix_dir" = "$destdir" && \
2970 func_fatal_error "error: cannot install \`$file' to a directory not ending in $libdir"
2971
2972 if test -n "$inst_prefix_dir"; then
2973 # Stick the inst_prefix_dir data into the link command.
2974 relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"`
2975 else
2976 relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%%"`
2977 fi
2978
2979 func_warning "relinking \`$file'"
2980 func_show_eval "$relink_command" \
2981 'func_fatal_error "error: relink \`$file'\'' with the above command before installing it"'
2982 fi
2983
2984 # See the names of the shared library.
2985 set dummy $library_names; shift
2986 if test -n "$1"; then
2987 realname="$1"
2988 shift
2989
2990 srcname="$realname"
2991 test -n "$relink_command" && srcname="$realname"T
2992
2993 # Install the shared library and build the symlinks.
2994 func_show_eval "$install_shared_prog $dir/$srcname $destdir/$realname" \
2995 'exit $?'
2996 tstripme="$stripme"
2997 case $host_os in
2998 cygwin* | mingw* | pw32* | cegcc*)
2999 case $realname in
3000 *.dll.a)
3001 tstripme=""
3002 ;;
3003 esac
3004 ;;
3005 esac
3006 if test -n "$tstripme" && test -n "$striplib"; then
3007 func_show_eval "$striplib $destdir/$realname" 'exit $?'
3008 fi
3009
3010 if test "$#" -gt 0; then
3011 # Delete the old symlinks, and create new ones.
3012 # Try `ln -sf' first, because the `ln' binary might depend on
3013 # the symlink we replace! Solaris /bin/ln does not understand -f,
3014 # so we also need to try rm && ln -s.
3015 for linkname
3016 do
3017 test "$linkname" != "$realname" \
3018 && func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })"
3019 done
3020 fi
3021
3022 # Do each command in the postinstall commands.
3023 lib="$destdir/$realname"
3024 func_execute_cmds "$postinstall_cmds" 'exit $?'
3025 fi
3026
3027 # Install the pseudo-library for information purposes.
3028 func_basename "$file"
3029 name="$func_basename_result"
3030 instname="$dir/$name"i
3031 func_show_eval "$install_prog $instname $destdir/$name" 'exit $?'
3032
3033 # Maybe install the static library, too.
3034 test -n "$old_library" && func_append staticlibs " $dir/$old_library"
3035 ;;
3036
3037 *.lo)
3038 # Install (i.e. copy) a libtool object.
3039
3040 # Figure out destination file name, if it wasn't already specified.
3041 if test -n "$destname"; then
3042 destfile="$destdir/$destname"
3043 else
3044 func_basename "$file"
3045 destfile="$func_basename_result"
3046 destfile="$destdir/$destfile"
3047 fi
3048
3049 # Deduce the name of the destination old-style object file.
3050 case $destfile in
3051 *.lo)
3052 func_lo2o "$destfile"
3053 staticdest=$func_lo2o_result
3054 ;;
3055 *.$objext)
3056 staticdest="$destfile"
3057 destfile=
3058 ;;
3059 *)
3060 func_fatal_help "cannot copy a libtool object to \`$destfile'"
3061 ;;
3062 esac
3063
3064 # Install the libtool object if requested.
3065 test -n "$destfile" && \
3066 func_show_eval "$install_prog $file $destfile" 'exit $?'
3067
3068 # Install the old object if enabled.
3069 if test "$build_old_libs" = yes; then
3070 # Deduce the name of the old-style object file.
3071 func_lo2o "$file"
3072 staticobj=$func_lo2o_result
3073 func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?'
3074 fi
3075 exit $EXIT_SUCCESS
3076 ;;
3077
3078 *)
3079 # Figure out destination file name, if it wasn't already specified.
3080 if test -n "$destname"; then
3081 destfile="$destdir/$destname"
3082 else
3083 func_basename "$file"
3084 destfile="$func_basename_result"
3085 destfile="$destdir/$destfile"
3086 fi
3087
3088 # If the file is missing, and there is a .exe on the end, strip it
3089 # because it is most likely a libtool script we actually want to
3090 # install
3091 stripped_ext=""
3092 case $file in
3093 *.exe)
3094 if test ! -f "$file"; then
3095 func_stripname '' '.exe' "$file"
3096 file=$func_stripname_result
3097 stripped_ext=".exe"
3098 fi
3099 ;;
3100 esac
3101
3102 # Do a test to see if this is really a libtool program.
3103 case $host in
3104 *cygwin* | *mingw*)
3105 if func_ltwrapper_executable_p "$file"; then
3106 func_ltwrapper_scriptname "$file"
3107 wrapper=$func_ltwrapper_scriptname_result
3108 else
3109 func_stripname '' '.exe' "$file"
3110 wrapper=$func_stripname_result
3111 fi
3112 ;;
3113 *)
3114 wrapper=$file
3115 ;;
3116 esac
3117 if func_ltwrapper_script_p "$wrapper"; then
3118 notinst_deplibs=
3119 relink_command=
3120
3121 func_source "$wrapper"
3122
3123 # Check the variables that should have been set.
3124 test -z "$generated_by_libtool_version" && \
3125 func_fatal_error "invalid libtool wrapper script \`$wrapper'"
3126
3127 finalize=yes
3128 for lib in $notinst_deplibs; do
3129 # Check to see that each library is installed.
3130 libdir=
3131 if test -f "$lib"; then
3132 func_source "$lib"
3133 fi
3134 libfile="$libdir/"`$ECHO "$lib" | $SED 's%^.*/%%g'` ### testsuite: skip nested quoting test
3135 if test -n "$libdir" && test ! -f "$libfile"; then
3136 func_warning "\`$lib' has not been installed in \`$libdir'"
3137 finalize=no
3138 fi
3139 done
3140
3141 relink_command=
3142 func_source "$wrapper"
3143
3144 outputname=
3145 if test "$fast_install" = no && test -n "$relink_command"; then
3146 $opt_dry_run || {
3147 if test "$finalize" = yes; then
3148 tmpdir=`func_mktempdir`
3149 func_basename "$file$stripped_ext"
3150 file="$func_basename_result"
3151 outputname="$tmpdir/$file"
3152 # Replace the output file specification.
3153 relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'`
3154
3155 $opt_silent || {
3156 func_quote_for_expand "$relink_command"
3157 eval "func_echo $func_quote_for_expand_result"
3158 }
3159 if eval "$relink_command"; then :
3160 else
3161 func_error "error: relink \`$file' with the above command before installing it"
3162 $opt_dry_run || ${RM}r "$tmpdir"
3163 continue
3164 fi
3165 file="$outputname"
3166 else
3167 func_warning "cannot relink \`$file'"
3168 fi
3169 }
3170 else
3171 # Install the binary that we compiled earlier.
3172 file=`$ECHO "$file$stripped_ext" | $SED "s%\([^/]*\)$%$objdir/\1%"`
3173 fi
3174 fi
3175
3176 # remove .exe since cygwin /usr/bin/install will append another
3177 # one anyway
3178 case $install_prog,$host in
3179 */usr/bin/install*,*cygwin*)
3180 case $file:$destfile in
3181 *.exe:*.exe)
3182 # this is ok
3183 ;;
3184 *.exe:*)
3185 destfile=$destfile.exe
3186 ;;
3187 *:*.exe)
3188 func_stripname '' '.exe' "$destfile"
3189 destfile=$func_stripname_result
3190 ;;
3191 esac
3192 ;;
3193 esac
3194 func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?'
3195 $opt_dry_run || if test -n "$outputname"; then
3196 ${RM}r "$tmpdir"
3197 fi
3198 ;;
3199 esac
3200 done
3201
3202 for file in $staticlibs; do
3203 func_basename "$file"
3204 name="$func_basename_result"
3205
3206 # Set up the ranlib parameters.
3207 oldlib="$destdir/$name"
3208 func_to_tool_file "$oldlib" func_convert_file_msys_to_w32
3209 tool_oldlib=$func_to_tool_file_result
3210
3211 func_show_eval "$install_prog \$file \$oldlib" 'exit $?'
3212
3213 if test -n "$stripme" && test -n "$old_striplib"; then
3214 func_show_eval "$old_striplib $tool_oldlib" 'exit $?'
3215 fi
3216
3217 # Do each command in the postinstall commands.
3218 func_execute_cmds "$old_postinstall_cmds" 'exit $?'
3219 done
3220
3221 test -n "$future_libdirs" && \
3222 func_warning "remember to run \`$progname --finish$future_libdirs'"
3223
3224 if test -n "$current_libdirs"; then
3225 # Maybe just do a dry run.
3226 $opt_dry_run && current_libdirs=" -n$current_libdirs"
3227 exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs'
3228 else
3229 exit $EXIT_SUCCESS
3230 fi
3231 }
3232
3233 test "$opt_mode" = install && func_mode_install ${1+"$@"}
3234
3235
3236 # func_generate_dlsyms outputname originator pic_p
3237 # Extract symbols from dlprefiles and create ${outputname}S.o with
3238 # a dlpreopen symbol table.
3239 func_generate_dlsyms ()
3240 {
3241 $opt_debug
3242 my_outputname="$1"
3243 my_originator="$2"
3244 my_pic_p="${3-no}"
3245 my_prefix=`$ECHO "$my_originator" | sed 's%[^a-zA-Z0-9]%_%g'`
3246 my_dlsyms=
3247
3248 if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
3249 if test -n "$NM" && test -n "$global_symbol_pipe"; then
3250 my_dlsyms="${my_outputname}S.c"
3251 else
3252 func_error "not configured to extract global symbols from dlpreopened files"
3253 fi
3254 fi
3255
3256 if test -n "$my_dlsyms"; then
3257 case $my_dlsyms in
3258 "") ;;
3259 *.c)
3260 # Discover the nlist of each of the dlfiles.
3261 nlist="$output_objdir/${my_outputname}.nm"
3262
3263 func_show_eval "$RM $nlist ${nlist}S ${nlist}T"
3264
3265 # Parse the name list into a source file.
3266 func_verbose "creating $output_objdir/$my_dlsyms"
3267
3268 $opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\
3269 /* $my_dlsyms - symbol resolution table for \`$my_outputname' dlsym emulation. */
3270 /* Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION */
3271
3272 #ifdef __cplusplus
3273 extern \"C\" {
3274 #endif
3275
3276 #if defined(__GNUC__) && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4))
3277 #pragma GCC diagnostic ignored \"-Wstrict-prototypes\"
3278 #endif
3279
3280 /* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
3281 #if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
3282 /* DATA imports from DLLs on WIN32 con't be const, because runtime
3283 relocations are performed -- see ld's documentation on pseudo-relocs. */
3284 # define LT_DLSYM_CONST
3285 #elif defined(__osf__)
3286 /* This system does not cope well with relocations in const data. */
3287 # define LT_DLSYM_CONST
3288 #else
3289 # define LT_DLSYM_CONST const
3290 #endif
3291
3292 /* External symbol declarations for the compiler. */\
3293 "
3294
3295 if test "$dlself" = yes; then
3296 func_verbose "generating symbol list for \`$output'"
3297
3298 $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist"
3299
3300 # Add our own program objects to the symbol list.
3301 progfiles=`$ECHO "$objs$old_deplibs" | $SP2NL | $SED "$lo2o" | $NL2SP`
3302 for progfile in $progfiles; do
3303 func_to_tool_file "$progfile" func_convert_file_msys_to_w32
3304 func_verbose "extracting global C symbols from \`$func_to_tool_file_result'"
3305 $opt_dry_run || eval "$NM $func_to_tool_file_result | $global_symbol_pipe >> '$nlist'"
3306 done
3307
3308 if test -n "$exclude_expsyms"; then
3309 $opt_dry_run || {
3310 eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
3311 eval '$MV "$nlist"T "$nlist"'
3312 }
3313 fi
3314
3315 if test -n "$export_symbols_regex"; then
3316 $opt_dry_run || {
3317 eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T'
3318 eval '$MV "$nlist"T "$nlist"'
3319 }
3320 fi
3321
3322 # Prepare the list of exported symbols
3323 if test -z "$export_symbols"; then
3324 export_symbols="$output_objdir/$outputname.exp"
3325 $opt_dry_run || {
3326 $RM $export_symbols
3327 eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
3328 case $host in
3329 *cygwin* | *mingw* | *cegcc* )
3330 eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
3331 eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"'
3332 ;;
3333 esac
3334 }
3335 else
3336 $opt_dry_run || {
3337 eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
3338 eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
3339 eval '$MV "$nlist"T "$nlist"'
3340 case $host in
3341 *cygwin* | *mingw* | *cegcc* )
3342 eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
3343 eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
3344 ;;
3345 esac
3346 }
3347 fi
3348 fi
3349
3350 for dlprefile in $dlprefiles; do
3351 func_verbose "extracting global C symbols from \`$dlprefile'"
3352 func_basename "$dlprefile"
3353 name="$func_basename_result"
3354 case $host in
3355 *cygwin* | *mingw* | *cegcc* )
3356 # if an import library, we need to obtain dlname
3357 if func_win32_import_lib_p "$dlprefile"; then
3358 func_tr_sh "$dlprefile"
3359 eval "curr_lafile=\$libfile_$func_tr_sh_result"
3360 dlprefile_dlbasename=""
3361 if test -n "$curr_lafile" && func_lalib_p "$curr_lafile"; then
3362 # Use subshell, to avoid clobbering current variable values
3363 dlprefile_dlname=`source "$curr_lafile" && echo "$dlname"`
3364 if test -n "$dlprefile_dlname" ; then
3365 func_basename "$dlprefile_dlname"
3366 dlprefile_dlbasename="$func_basename_result"
3367 else
3368 # no lafile. user explicitly requested -dlpreopen <import library>.
3369 $sharedlib_from_linklib_cmd "$dlprefile"
3370 dlprefile_dlbasename=$sharedlib_from_linklib_result
3371 fi
3372 fi
3373 $opt_dry_run || {
3374 if test -n "$dlprefile_dlbasename" ; then
3375 eval '$ECHO ": $dlprefile_dlbasename" >> "$nlist"'
3376 else
3377 func_warning "Could not compute DLL name from $name"
3378 eval '$ECHO ": $name " >> "$nlist"'
3379 fi
3380 func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
3381 eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe |
3382 $SED -e '/I __imp/d' -e 's/I __nm_/D /;s/_nm__//' >> '$nlist'"
3383 }
3384 else # not an import lib
3385 $opt_dry_run || {
3386 eval '$ECHO ": $name " >> "$nlist"'
3387 func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
3388 eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'"
3389 }
3390 fi
3391 ;;
3392 *)
3393 $opt_dry_run || {
3394 eval '$ECHO ": $name " >> "$nlist"'
3395 func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
3396 eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'"
3397 }
3398 ;;
3399 esac
3400 done
3401
3402 $opt_dry_run || {
3403 # Make sure we have at least an empty file.
3404 test -f "$nlist" || : > "$nlist"
3405
3406 if test -n "$exclude_expsyms"; then
3407 $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
3408 $MV "$nlist"T "$nlist"
3409 fi
3410
3411 # Try sorting and uniquifying the output.
3412 if $GREP -v "^: " < "$nlist" |
3413 if sort -k 3 </dev/null >/dev/null 2>&1; then
3414 sort -k 3
3415 else
3416 sort +2
3417 fi |
3418 uniq > "$nlist"S; then
3419 :
3420 else
3421 $GREP -v "^: " < "$nlist" > "$nlist"S
3422 fi
3423
3424 if test -f "$nlist"S; then
3425 eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"'
3426 else
3427 echo '/* NONE */' >> "$output_objdir/$my_dlsyms"
3428 fi
3429
3430 echo >> "$output_objdir/$my_dlsyms" "\
3431
3432 /* The mapping between symbol names and symbols. */
3433 typedef struct {
3434 const char *name;
3435 void *address;
3436 } lt_dlsymlist;
3437 extern LT_DLSYM_CONST lt_dlsymlist
3438 lt_${my_prefix}_LTX_preloaded_symbols[];
3439 LT_DLSYM_CONST lt_dlsymlist
3440 lt_${my_prefix}_LTX_preloaded_symbols[] =
3441 {\
3442 { \"$my_originator\", (void *) 0 },"
3443
3444 case $need_lib_prefix in
3445 no)
3446 eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms"
3447 ;;
3448 *)
3449 eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms"
3450 ;;
3451 esac
3452 echo >> "$output_objdir/$my_dlsyms" "\
3453 {0, (void *) 0}
3454 };
3455
3456 /* This works around a problem in FreeBSD linker */
3457 #ifdef FREEBSD_WORKAROUND
3458 static const void *lt_preloaded_setup() {
3459 return lt_${my_prefix}_LTX_preloaded_symbols;
3460 }
3461 #endif
3462
3463 #ifdef __cplusplus
3464 }
3465 #endif\
3466 "
3467 } # !$opt_dry_run
3468
3469 pic_flag_for_symtable=
3470 case "$compile_command " in
3471 *" -static "*) ;;
3472 *)
3473 case $host in
3474 # compiling the symbol table file with pic_flag works around
3475 # a FreeBSD bug that causes programs to crash when -lm is
3476 # linked before any other PIC object. But we must not use
3477 # pic_flag when linking with -static. The problem exists in
3478 # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
3479 *-*-freebsd2.*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
3480 pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;;
3481 *-*-hpux*)
3482 pic_flag_for_symtable=" $pic_flag" ;;
3483 *)
3484 if test "X$my_pic_p" != Xno; then
3485 pic_flag_for_symtable=" $pic_flag"
3486 fi
3487 ;;
3488 esac
3489 ;;
3490 esac
3491 symtab_cflags=
3492 for arg in $LTCFLAGS; do
3493 case $arg in
3494 -pie | -fpie | -fPIE) ;;
3495 *) func_append symtab_cflags " $arg" ;;
3496 esac
3497 done
3498
3499 # Now compile the dynamic symbol file.
3500 func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?'
3501
3502 # Clean up the generated files.
3503 func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T"'
3504
3505 # Transform the symbol file into the correct name.
3506 symfileobj="$output_objdir/${my_outputname}S.$objext"
3507 case $host in
3508 *cygwin* | *mingw* | *cegcc* )
3509 if test -f "$output_objdir/$my_outputname.def"; then
3510 compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
3511 finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
3512 else
3513 compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"`
3514 finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"`
3515 fi
3516 ;;
3517 *)
3518 compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"`
3519 finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"`
3520 ;;
3521 esac
3522 ;;
3523 *)
3524 func_fatal_error "unknown suffix for \`$my_dlsyms'"
3525 ;;
3526 esac
3527 else
3528 # We keep going just in case the user didn't refer to
3529 # lt_preloaded_symbols. The linker will fail if global_symbol_pipe
3530 # really was required.
3531
3532 # Nullify the symbol file.
3533 compile_command=`$ECHO "$compile_command" | $SED "s% @SYMFILE@%%"`
3534 finalize_command=`$ECHO "$finalize_command" | $SED "s% @SYMFILE@%%"`
3535 fi
3536 }
3537
3538 # func_win32_libid arg
3539 # return the library type of file 'arg'
3540 #
3541 # Need a lot of goo to handle *both* DLLs and import libs
3542 # Has to be a shell function in order to 'eat' the argument
3543 # that is supplied when $file_magic_command is called.
3544 # Despite the name, also deal with 64 bit binaries.
3545 func_win32_libid ()
3546 {
3547 $opt_debug
3548 win32_libid_type="unknown"
3549 win32_fileres=`file -L $1 2>/dev/null`
3550 case $win32_fileres in
3551 *ar\ archive\ import\ library*) # definitely import
3552 win32_libid_type="x86 archive import"
3553 ;;
3554 *ar\ archive*) # could be an import, or static
3555 # Keep the egrep pattern in sync with the one in _LT_CHECK_MAGIC_METHOD.
3556 if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null |
3557 $EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null; then
3558 func_to_tool_file "$1" func_convert_file_msys_to_w32
3559 win32_nmres=`eval $NM -f posix -A \"$func_to_tool_file_result\" |
3560 $SED -n -e '
3561 1,100{
3562 / I /{
3563 s,.*,import,
3564 p
3565 q
3566 }
3567 }'`
3568 case $win32_nmres in
3569 import*) win32_libid_type="x86 archive import";;
3570 *) win32_libid_type="x86 archive static";;
3571 esac
3572 fi
3573 ;;
3574 *DLL*)
3575 win32_libid_type="x86 DLL"
3576 ;;
3577 *executable*) # but shell scripts are "executable" too...
3578 case $win32_fileres in
3579 *MS\ Windows\ PE\ Intel*)
3580 win32_libid_type="x86 DLL"
3581 ;;
3582 esac
3583 ;;
3584 esac
3585 $ECHO "$win32_libid_type"
3586 }
3587
3588 # func_cygming_dll_for_implib ARG
3589 #
3590 # Platform-specific function to extract the
3591 # name of the DLL associated with the specified
3592 # import library ARG.
3593 # Invoked by eval'ing the libtool variable
3594 # $sharedlib_from_linklib_cmd
3595 # Result is available in the variable
3596 # $sharedlib_from_linklib_result
3597 func_cygming_dll_for_implib ()
3598 {
3599 $opt_debug
3600 sharedlib_from_linklib_result=`$DLLTOOL --identify-strict --identify "$1"`
3601 }
3602
3603 # func_cygming_dll_for_implib_fallback_core SECTION_NAME LIBNAMEs
3604 #
3605 # The is the core of a fallback implementation of a
3606 # platform-specific function to extract the name of the
3607 # DLL associated with the specified import library LIBNAME.
3608 #
3609 # SECTION_NAME is either .idata$6 or .idata$7, depending
3610 # on the platform and compiler that created the implib.
3611 #
3612 # Echos the name of the DLL associated with the
3613 # specified import library.
3614 func_cygming_dll_for_implib_fallback_core ()
3615 {
3616 $opt_debug
3617 match_literal=`$ECHO "$1" | $SED "$sed_make_literal_regex"`
3618 $OBJDUMP -s --section "$1" "$2" 2>/dev/null |
3619 $SED '/^Contents of section '"$match_literal"':/{
3620 # Place marker at beginning of archive member dllname section
3621 s/.*/====MARK====/
3622 p
3623 d
3624 }
3625 # These lines can sometimes be longer than 43 characters, but
3626 # are always uninteresting
3627 /:[ ]*file format pe[i]\{,1\}-/d
3628 /^In archive [^:]*:/d
3629 # Ensure marker is printed
3630 /^====MARK====/p
3631 # Remove all lines with less than 43 characters
3632 /^.\{43\}/!d
3633 # From remaining lines, remove first 43 characters
3634 s/^.\{43\}//' |
3635 $SED -n '
3636 # Join marker and all lines until next marker into a single line
3637 /^====MARK====/ b para
3638 H
3639 $ b para
3640 b
3641 :para
3642 x
3643 s/\n//g
3644 # Remove the marker
3645 s/^====MARK====//
3646 # Remove trailing dots and whitespace
3647 s/[\. \t]*$//
3648 # Print
3649 /./p' |
3650 # we now have a list, one entry per line, of the stringified
3651 # contents of the appropriate section of all members of the
3652 # archive which possess that section. Heuristic: eliminate
3653 # all those which have a first or second character that is
3654 # a '.' (that is, objdump's representation of an unprintable
3655 # character.) This should work for all archives with less than
3656 # 0x302f exports -- but will fail for DLLs whose name actually
3657 # begins with a literal '.' or a single character followed by
3658 # a '.'.
3659 #
3660 # Of those that remain, print the first one.
3661 $SED -e '/^\./d;/^.\./d;q'
3662 }
3663
3664 # func_cygming_gnu_implib_p ARG
3665 # This predicate returns with zero status (TRUE) if
3666 # ARG is a GNU/binutils-style import library. Returns
3667 # with nonzero status (FALSE) otherwise.
3668 func_cygming_gnu_implib_p ()
3669 {
3670 $opt_debug
3671 func_to_tool_file "$1" func_convert_file_msys_to_w32
3672 func_cygming_gnu_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $EGREP ' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$'`
3673 test -n "$func_cygming_gnu_implib_tmp"
3674 }
3675
3676 # func_cygming_ms_implib_p ARG
3677 # This predicate returns with zero status (TRUE) if
3678 # ARG is an MS-style import library. Returns
3679 # with nonzero status (FALSE) otherwise.
3680 func_cygming_ms_implib_p ()
3681 {
3682 $opt_debug
3683 func_to_tool_file "$1" func_convert_file_msys_to_w32
3684 func_cygming_ms_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $GREP '_NULL_IMPORT_DESCRIPTOR'`
3685 test -n "$func_cygming_ms_implib_tmp"
3686 }
3687
3688 # func_cygming_dll_for_implib_fallback ARG
3689 # Platform-specific function to extract the
3690 # name of the DLL associated with the specified
3691 # import library ARG.
3692 #
3693 # This fallback implementation is for use when $DLLTOOL
3694 # does not support the --identify-strict option.
3695 # Invoked by eval'ing the libtool variable
3696 # $sharedlib_from_linklib_cmd
3697 # Result is available in the variable
3698 # $sharedlib_from_linklib_result
3699 func_cygming_dll_for_implib_fallback ()
3700 {
3701 $opt_debug
3702 if func_cygming_gnu_implib_p "$1" ; then
3703 # binutils import library
3704 sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$7' "$1"`
3705 elif func_cygming_ms_implib_p "$1" ; then
3706 # ms-generated import library
3707 sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$6' "$1"`
3708 else
3709 # unknown
3710 sharedlib_from_linklib_result=""
3711 fi
3712 }
3713
3714
3715 # func_extract_an_archive dir oldlib
3716 func_extract_an_archive ()
3717 {
3718 $opt_debug
3719 f_ex_an_ar_dir="$1"; shift
3720 f_ex_an_ar_oldlib="$1"
3721 if test "$lock_old_archive_extraction" = yes; then
3722 lockfile=$f_ex_an_ar_oldlib.lock
3723 until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
3724 func_echo "Waiting for $lockfile to be removed"
3725 sleep 2
3726 done
3727 fi
3728 func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" \
3729 'stat=$?; rm -f "$lockfile"; exit $stat'
3730 if test "$lock_old_archive_extraction" = yes; then
3731 $opt_dry_run || rm -f "$lockfile"
3732 fi
3733 if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
3734 :
3735 else
3736 func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib"
3737 fi
3738 }
3739
3740
3741 # func_extract_archives gentop oldlib ...
3742 func_extract_archives ()
3743 {
3744 $opt_debug
3745 my_gentop="$1"; shift
3746 my_oldlibs=${1+"$@"}
3747 my_oldobjs=""
3748 my_xlib=""
3749 my_xabs=""
3750 my_xdir=""
3751
3752 for my_xlib in $my_oldlibs; do
3753 # Extract the objects.
3754 case $my_xlib in
3755 [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;;
3756 *) my_xabs=`pwd`"/$my_xlib" ;;
3757 esac
3758 func_basename "$my_xlib"
3759 my_xlib="$func_basename_result"
3760 my_xlib_u=$my_xlib
3761 while :; do
3762 case " $extracted_archives " in
3763 *" $my_xlib_u "*)
3764 func_arith $extracted_serial + 1
3765 extracted_serial=$func_arith_result
3766 my_xlib_u=lt$extracted_serial-$my_xlib ;;
3767 *) break ;;
3768 esac
3769 done
3770 extracted_archives="$extracted_archives $my_xlib_u"
3771 my_xdir="$my_gentop/$my_xlib_u"
3772
3773 func_mkdir_p "$my_xdir"
3774
3775 case $host in
3776 *-darwin*)
3777 func_verbose "Extracting $my_xabs"
3778 # Do not bother doing anything if just a dry run
3779 $opt_dry_run || {
3780 darwin_orig_dir=`pwd`
3781 cd $my_xdir || exit $?
3782 darwin_archive=$my_xabs
3783 darwin_curdir=`pwd`
3784 darwin_base_archive=`basename "$darwin_archive"`
3785 darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true`
3786 if test -n "$darwin_arches"; then
3787 darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'`
3788 darwin_arch=
3789 func_verbose "$darwin_base_archive has multiple architectures $darwin_arches"
3790 for darwin_arch in $darwin_arches ; do
3791 func_mkdir_p "unfat-$$/${darwin_base_archive}-${darwin_arch}"
3792 $LIPO -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}"
3793 cd "unfat-$$/${darwin_base_archive}-${darwin_arch}"
3794 func_extract_an_archive "`pwd`" "${darwin_base_archive}"
3795 cd "$darwin_curdir"
3796 $RM "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}"
3797 done # $darwin_arches
3798 ## Okay now we've a bunch of thin objects, gotta fatten them up :)
3799 darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$basename" | sort -u`
3800 darwin_file=
3801 darwin_files=
3802 for darwin_file in $darwin_filelist; do
3803 darwin_files=`find unfat-$$ -name $darwin_file -print | sort | $NL2SP`
3804 $LIPO -create -output "$darwin_file" $darwin_files
3805 done # $darwin_filelist
3806 $RM -rf unfat-$$
3807 cd "$darwin_orig_dir"
3808 else
3809 cd $darwin_orig_dir
3810 func_extract_an_archive "$my_xdir" "$my_xabs"
3811 fi # $darwin_arches
3812 } # !$opt_dry_run
3813 ;;
3814 *)
3815 func_extract_an_archive "$my_xdir" "$my_xabs"
3816 ;;
3817 esac
3818 my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | sort | $NL2SP`
3819 done
3820
3821 func_extract_archives_result="$my_oldobjs"
3822 }
3823
3824
3825 # func_emit_wrapper [arg=no]
3826 #
3827 # Emit a libtool wrapper script on stdout.
3828 # Don't directly open a file because we may want to
3829 # incorporate the script contents within a cygwin/mingw
3830 # wrapper executable. Must ONLY be called from within
3831 # func_mode_link because it depends on a number of variables
3832 # set therein.
3833 #
3834 # ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR
3835 # variable will take. If 'yes', then the emitted script
3836 # will assume that the directory in which it is stored is
3837 # the $objdir directory. This is a cygwin/mingw-specific
3838 # behavior.
3839 func_emit_wrapper ()
3840 {
3841 func_emit_wrapper_arg1=${1-no}
3842
3843 $ECHO "\
3844 #! $SHELL
3845
3846 # $output - temporary wrapper script for $objdir/$outputname
3847 # Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
3848 #
3849 # The $output program cannot be directly executed until all the libtool
3850 # libraries that it depends on are installed.
3851 #
3852 # This wrapper script should never be moved out of the build directory.
3853 # If it is, it will not operate correctly.
3854
3855 # Sed substitution that helps us do robust quoting. It backslashifies
3856 # metacharacters that are still active within double-quoted strings.
3857 sed_quote_subst='$sed_quote_subst'
3858
3859 # Be Bourne compatible
3860 if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then
3861 emulate sh
3862 NULLCMD=:
3863 # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which
3864 # is contrary to our usage. Disable this feature.
3865 alias -g '\${1+\"\$@\"}'='\"\$@\"'
3866 setopt NO_GLOB_SUBST
3867 else
3868 case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac
3869 fi
3870 BIN_SH=xpg4; export BIN_SH # for Tru64
3871 DUALCASE=1; export DUALCASE # for MKS sh
3872
3873 # The HP-UX ksh and POSIX shell print the target directory to stdout
3874 # if CDPATH is set.
3875 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
3876
3877 relink_command=\"$relink_command\"
3878
3879 # This environment variable determines our operation mode.
3880 if test \"\$libtool_install_magic\" = \"$magic\"; then
3881 # install mode needs the following variables:
3882 generated_by_libtool_version='$macro_version'
3883 notinst_deplibs='$notinst_deplibs'
3884 else
3885 # When we are sourced in execute mode, \$file and \$ECHO are already set.
3886 if test \"\$libtool_execute_magic\" != \"$magic\"; then
3887 file=\"\$0\""
3888
3889 qECHO=`$ECHO "$ECHO" | $SED "$sed_quote_subst"`
3890 $ECHO "\
3891
3892 # A function that is used when there is no print builtin or printf.
3893 func_fallback_echo ()
3894 {
3895 eval 'cat <<_LTECHO_EOF
3896 \$1
3897 _LTECHO_EOF'
3898 }
3899 ECHO=\"$qECHO\"
3900 fi
3901
3902 # Very basic option parsing. These options are (a) specific to
3903 # the libtool wrapper, (b) are identical between the wrapper
3904 # /script/ and the wrapper /executable/ which is used only on
3905 # windows platforms, and (c) all begin with the string "--lt-"
3906 # (application programs are unlikely to have options which match
3907 # this pattern).
3908 #
3909 # There are only two supported options: --lt-debug and
3910 # --lt-dump-script. There is, deliberately, no --lt-help.
3911 #
3912 # The first argument to this parsing function should be the
3913 # script's $0 value, followed by "$@".
3914 lt_option_debug=
3915 func_parse_lt_options ()
3916 {
3917 lt_script_arg0=\$0
3918 shift
3919 for lt_opt
3920 do
3921 case \"\$lt_opt\" in
3922 --lt-debug) lt_option_debug=1 ;;
3923 --lt-dump-script)
3924 lt_dump_D=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%/[^/]*$%%'\`
3925 test \"X\$lt_dump_D\" = \"X\$lt_script_arg0\" && lt_dump_D=.
3926 lt_dump_F=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%^.*/%%'\`
3927 cat \"\$lt_dump_D/\$lt_dump_F\"
3928 exit 0
3929 ;;
3930 --lt-*)
3931 \$ECHO \"Unrecognized --lt- option: '\$lt_opt'\" 1>&2
3932 exit 1
3933 ;;
3934 esac
3935 done
3936
3937 # Print the debug banner immediately:
3938 if test -n \"\$lt_option_debug\"; then
3939 echo \"${outputname}:${output}:\${LINENO}: libtool wrapper (GNU $PACKAGE$TIMESTAMP) $VERSION\" 1>&2
3940 fi
3941 }
3942
3943 # Used when --lt-debug. Prints its arguments to stdout
3944 # (redirection is the responsibility of the caller)
3945 func_lt_dump_args ()
3946 {
3947 lt_dump_args_N=1;
3948 for lt_arg
3949 do
3950 \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[\$lt_dump_args_N]: \$lt_arg\"
3951 lt_dump_args_N=\`expr \$lt_dump_args_N + 1\`
3952 done
3953 }
3954
3955 # Core function for launching the target application
3956 func_exec_program_core ()
3957 {
3958 "
3959 case $host in
3960 # Backslashes separate directories on plain windows
3961 *-*-mingw | *-*-os2* | *-cegcc*)
3962 $ECHO "\
3963 if test -n \"\$lt_option_debug\"; then
3964 \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir\\\\\$program\" 1>&2
3965 func_lt_dump_args \${1+\"\$@\"} 1>&2
3966 fi
3967 exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
3968 "
3969 ;;
3970
3971 *)
3972 $ECHO "\
3973 if test -n \"\$lt_option_debug\"; then
3974 \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir/\$program\" 1>&2
3975 func_lt_dump_args \${1+\"\$@\"} 1>&2
3976 fi
3977 exec \"\$progdir/\$program\" \${1+\"\$@\"}
3978 "
3979 ;;
3980 esac
3981 $ECHO "\
3982 \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2
3983 exit 1
3984 }
3985
3986 # A function to encapsulate launching the target application
3987 # Strips options in the --lt-* namespace from \$@ and
3988 # launches target application with the remaining arguments.
3989 func_exec_program ()
3990 {
3991 case \" \$* \" in
3992 *\\ --lt-*)
3993 for lt_wr_arg
3994 do
3995 case \$lt_wr_arg in
3996 --lt-*) ;;
3997 *) set x \"\$@\" \"\$lt_wr_arg\"; shift;;
3998 esac
3999 shift
4000 done ;;
4001 esac
4002 func_exec_program_core \${1+\"\$@\"}
4003 }
4004
4005 # Parse options
4006 func_parse_lt_options \"\$0\" \${1+\"\$@\"}
4007
4008 # Find the directory that this script lives in.
4009 thisdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*$%%'\`
4010 test \"x\$thisdir\" = \"x\$file\" && thisdir=.
4011
4012 # Follow symbolic links until we get to the real thisdir.
4013 file=\`ls -ld \"\$file\" | $SED -n 's/.*-> //p'\`
4014 while test -n \"\$file\"; do
4015 destdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*\$%%'\`
4016
4017 # If there was a directory component, then change thisdir.
4018 if test \"x\$destdir\" != \"x\$file\"; then
4019 case \"\$destdir\" in
4020 [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;;
4021 *) thisdir=\"\$thisdir/\$destdir\" ;;
4022 esac
4023 fi
4024
4025 file=\`\$ECHO \"\$file\" | $SED 's%^.*/%%'\`
4026 file=\`ls -ld \"\$thisdir/\$file\" | $SED -n 's/.*-> //p'\`
4027 done
4028
4029 # Usually 'no', except on cygwin/mingw when embedded into
4030 # the cwrapper.
4031 WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_arg1
4032 if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then
4033 # special case for '.'
4034 if test \"\$thisdir\" = \".\"; then
4035 thisdir=\`pwd\`
4036 fi
4037 # remove .libs from thisdir
4038 case \"\$thisdir\" in
4039 *[\\\\/]$objdir ) thisdir=\`\$ECHO \"\$thisdir\" | $SED 's%[\\\\/][^\\\\/]*$%%'\` ;;
4040 $objdir ) thisdir=. ;;
4041 esac
4042 fi
4043
4044 # Try to get the absolute directory name.
4045 absdir=\`cd \"\$thisdir\" && pwd\`
4046 test -n \"\$absdir\" && thisdir=\"\$absdir\"
4047 "
4048
4049 if test "$fast_install" = yes; then
4050 $ECHO "\
4051 program=lt-'$outputname'$exeext
4052 progdir=\"\$thisdir/$objdir\"
4053
4054 if test ! -f \"\$progdir/\$program\" ||
4055 { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\
4056 test \"X\$file\" != \"X\$progdir/\$program\"; }; then
4057
4058 file=\"\$\$-\$program\"
4059
4060 if test ! -d \"\$progdir\"; then
4061 $MKDIR \"\$progdir\"
4062 else
4063 $RM \"\$progdir/\$file\"
4064 fi"
4065
4066 $ECHO "\
4067
4068 # relink executable if necessary
4069 if test -n \"\$relink_command\"; then
4070 if relink_command_output=\`eval \$relink_command 2>&1\`; then :
4071 else
4072 $ECHO \"\$relink_command_output\" >&2
4073 $RM \"\$progdir/\$file\"
4074 exit 1
4075 fi
4076 fi
4077
4078 $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null ||
4079 { $RM \"\$progdir/\$program\";
4080 $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; }
4081 $RM \"\$progdir/\$file\"
4082 fi"
4083 else
4084 $ECHO "\
4085 program='$outputname'
4086 progdir=\"\$thisdir/$objdir\"
4087 "
4088 fi
4089
4090 $ECHO "\
4091
4092 if test -f \"\$progdir/\$program\"; then"
4093
4094 # fixup the dll searchpath if we need to.
4095 #
4096 # Fix the DLL searchpath if we need to. Do this before prepending
4097 # to shlibpath, because on Windows, both are PATH and uninstalled
4098 # libraries must come first.
4099 if test -n "$dllsearchpath"; then
4100 $ECHO "\
4101 # Add the dll search path components to the executable PATH
4102 PATH=$dllsearchpath:\$PATH
4103 "
4104 fi
4105
4106 # Export our shlibpath_var if we have one.
4107 if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
4108 $ECHO "\
4109 # Add our own library path to $shlibpath_var
4110 $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
4111
4112 # Some systems cannot cope with colon-terminated $shlibpath_var
4113 # The second colon is a workaround for a bug in BeOS R4 sed
4114 $shlibpath_var=\`\$ECHO \"\$$shlibpath_var\" | $SED 's/::*\$//'\`
4115
4116 export $shlibpath_var
4117 "
4118 fi
4119
4120 $ECHO "\
4121 if test \"\$libtool_execute_magic\" != \"$magic\"; then
4122 # Run the actual program with our arguments.
4123 func_exec_program \${1+\"\$@\"}
4124 fi
4125 else
4126 # The program doesn't exist.
4127 \$ECHO \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2
4128 \$ECHO \"This script is just a wrapper for \$program.\" 1>&2
4129 \$ECHO \"See the $PACKAGE documentation for more information.\" 1>&2
4130 exit 1
4131 fi
4132 fi\
4133 "
4134 }
4135
4136
4137 # func_emit_cwrapperexe_src
4138 # emit the source code for a wrapper executable on stdout
4139 # Must ONLY be called from within func_mode_link because
4140 # it depends on a number of variable set therein.
4141 func_emit_cwrapperexe_src ()
4142 {
4143 cat <<EOF
4144
4145 /* $cwrappersource - temporary wrapper executable for $objdir/$outputname
4146 Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
4147
4148 The $output program cannot be directly executed until all the libtool
4149 libraries that it depends on are installed.
4150
4151 This wrapper executable should never be moved out of the build directory.
4152 If it is, it will not operate correctly.
4153 */
4154 EOF
4155 cat <<"EOF"
4156 #ifdef _MSC_VER
4157 # define _CRT_SECURE_NO_DEPRECATE 1
4158 #endif
4159 #include <stdio.h>
4160 #include <stdlib.h>
4161 #ifdef _MSC_VER
4162 # include <direct.h>
4163 # include <process.h>
4164 # include <io.h>
4165 #else
4166 # include <unistd.h>
4167 # include <stdint.h>
4168 # ifdef __CYGWIN__
4169 # include <io.h>
4170 # endif
4171 #endif
4172 #include <malloc.h>
4173 #include <stdarg.h>
4174 #include <assert.h>
4175 #include <string.h>
4176 #include <ctype.h>
4177 #include <errno.h>
4178 #include <fcntl.h>
4179 #include <sys/stat.h>
4180
4181 /* declarations of non-ANSI functions */
4182 #if defined(__MINGW32__)
4183 # ifdef __STRICT_ANSI__
4184 int _putenv (const char *);
4185 # endif
4186 #elif defined(__CYGWIN__)
4187 # ifdef __STRICT_ANSI__
4188 char *realpath (const char *, char *);
4189 int putenv (char *);
4190 int setenv (const char *, const char *, int);
4191 # endif
4192 /* #elif defined (other platforms) ... */
4193 #endif
4194
4195 /* portability defines, excluding path handling macros */
4196 #if defined(_MSC_VER)
4197 # define setmode _setmode
4198 # define stat _stat
4199 # define chmod _chmod
4200 # define getcwd _getcwd
4201 # define putenv _putenv
4202 # define S_IXUSR _S_IEXEC
4203 # ifndef _INTPTR_T_DEFINED
4204 # define _INTPTR_T_DEFINED
4205 # define intptr_t int
4206 # endif
4207 #elif defined(__MINGW32__)
4208 # define setmode _setmode
4209 # define stat _stat
4210 # define chmod _chmod
4211 # define getcwd _getcwd
4212 # define putenv _putenv
4213 #elif defined(__CYGWIN__)
4214 # define HAVE_SETENV
4215 # define FOPEN_WB "wb"
4216 /* #elif defined (other platforms) ... */
4217 #endif
4218
4219 #if defined(PATH_MAX)
4220 # define LT_PATHMAX PATH_MAX
4221 #elif defined(MAXPATHLEN)
4222 # define LT_PATHMAX MAXPATHLEN
4223 #else
4224 # define LT_PATHMAX 1024
4225 #endif
4226
4227 #ifndef S_IXOTH
4228 # define S_IXOTH 0
4229 #endif
4230 #ifndef S_IXGRP
4231 # define S_IXGRP 0
4232 #endif
4233
4234 /* path handling portability macros */
4235 #ifndef DIR_SEPARATOR
4236 # define DIR_SEPARATOR '/'
4237 # define PATH_SEPARATOR ':'
4238 #endif
4239
4240 #if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \
4241 defined (__OS2__)
4242 # define HAVE_DOS_BASED_FILE_SYSTEM
4243 # define FOPEN_WB "wb"
4244 # ifndef DIR_SEPARATOR_2
4245 # define DIR_SEPARATOR_2 '\\'
4246 # endif
4247 # ifndef PATH_SEPARATOR_2
4248 # define PATH_SEPARATOR_2 ';'
4249 # endif
4250 #endif
4251
4252 #ifndef DIR_SEPARATOR_2
4253 # define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR)
4254 #else /* DIR_SEPARATOR_2 */
4255 # define IS_DIR_SEPARATOR(ch) \
4256 (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))
4257 #endif /* DIR_SEPARATOR_2 */
4258
4259 #ifndef PATH_SEPARATOR_2
4260 # define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR)
4261 #else /* PATH_SEPARATOR_2 */
4262 # define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2)
4263 #endif /* PATH_SEPARATOR_2 */
4264
4265 #ifndef FOPEN_WB
4266 # define FOPEN_WB "w"
4267 #endif
4268 #ifndef _O_BINARY
4269 # define _O_BINARY 0
4270 #endif
4271
4272 #define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type)))
4273 #define XFREE(stale) do { \
4274 if (stale) { free ((void *) stale); stale = 0; } \
4275 } while (0)
4276
4277 #if defined(LT_DEBUGWRAPPER)
4278 static int lt_debug = 1;
4279 #else
4280 static int lt_debug = 0;
4281 #endif
4282
4283 const char *program_name = "libtool-wrapper"; /* in case xstrdup fails */
4284
4285 void *xmalloc (size_t num);
4286 char *xstrdup (const char *string);
4287 const char *base_name (const char *name);
4288 char *find_executable (const char *wrapper);
4289 char *chase_symlinks (const char *pathspec);
4290 int make_executable (const char *path);
4291 int check_executable (const char *path);
4292 char *strendzap (char *str, const char *pat);
4293 void lt_debugprintf (const char *file, int line, const char *fmt, ...);
4294 void lt_fatal (const char *file, int line, const char *message, ...);
4295 static const char *nonnull (const char *s);
4296 static const char *nonempty (const char *s);
4297 void lt_setenv (const char *name, const char *value);
4298 char *lt_extend_str (const char *orig_value, const char *add, int to_end);
4299 void lt_update_exe_path (const char *name, const char *value);
4300 void lt_update_lib_path (const char *name, const char *value);
4301 char **prepare_spawn (char **argv);
4302 void lt_dump_script (FILE *f);
4303 EOF
4304
4305 cat <<EOF
4306 volatile const char * MAGIC_EXE = "$magic_exe";
4307 const char * LIB_PATH_VARNAME = "$shlibpath_var";
4308 EOF
4309
4310 if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
4311 func_to_host_path "$temp_rpath"
4312 cat <<EOF
4313 const char * LIB_PATH_VALUE = "$func_to_host_path_result";
4314 EOF
4315 else
4316 cat <<"EOF"
4317 const char * LIB_PATH_VALUE = "";
4318 EOF
4319 fi
4320
4321 if test -n "$dllsearchpath"; then
4322 func_to_host_path "$dllsearchpath:"
4323 cat <<EOF
4324 const char * EXE_PATH_VARNAME = "PATH";
4325 const char * EXE_PATH_VALUE = "$func_to_host_path_result";
4326 EOF
4327 else
4328 cat <<"EOF"
4329 const char * EXE_PATH_VARNAME = "";
4330 const char * EXE_PATH_VALUE = "";
4331 EOF
4332 fi
4333
4334 if test "$fast_install" = yes; then
4335 cat <<EOF
4336 const char * TARGET_PROGRAM_NAME = "lt-$outputname"; /* hopefully, no .exe */
4337 EOF
4338 else
4339 cat <<EOF
4340 const char * TARGET_PROGRAM_NAME = "$outputname"; /* hopefully, no .exe */
4341 EOF
4342 fi
4343
4344
4345 cat <<"EOF"
4346
4347 #define LTWRAPPER_OPTION_PREFIX "--lt-"
4348
4349 static const char *ltwrapper_option_prefix = LTWRAPPER_OPTION_PREFIX;
4350 static const char *dumpscript_opt = LTWRAPPER_OPTION_PREFIX "dump-script";
4351 static const char *debug_opt = LTWRAPPER_OPTION_PREFIX "debug";
4352
4353 int
4354 main (int argc, char *argv[])
4355 {
4356 char **newargz;
4357 int newargc;
4358 char *tmp_pathspec;
4359 char *actual_cwrapper_path;
4360 char *actual_cwrapper_name;
4361 char *target_name;
4362 char *lt_argv_zero;
4363 intptr_t rval = 127;
4364
4365 int i;
4366
4367 program_name = (char *) xstrdup (base_name (argv[0]));
4368 newargz = XMALLOC (char *, argc + 1);
4369
4370 /* very simple arg parsing; don't want to rely on getopt
4371 * also, copy all non cwrapper options to newargz, except
4372 * argz[0], which is handled differently
4373 */
4374 newargc=0;
4375 for (i = 1; i < argc; i++)
4376 {
4377 if (strcmp (argv[i], dumpscript_opt) == 0)
4378 {
4379 EOF
4380 case "$host" in
4381 *mingw* | *cygwin* )
4382 # make stdout use "unix" line endings
4383 echo " setmode(1,_O_BINARY);"
4384 ;;
4385 esac
4386
4387 cat <<"EOF"
4388 lt_dump_script (stdout);
4389 return 0;
4390 }
4391 if (strcmp (argv[i], debug_opt) == 0)
4392 {
4393 lt_debug = 1;
4394 continue;
4395 }
4396 if (strcmp (argv[i], ltwrapper_option_prefix) == 0)
4397 {
4398 /* however, if there is an option in the LTWRAPPER_OPTION_PREFIX
4399 namespace, but it is not one of the ones we know about and
4400 have already dealt with, above (inluding dump-script), then
4401 report an error. Otherwise, targets might begin to believe
4402 they are allowed to use options in the LTWRAPPER_OPTION_PREFIX
4403 namespace. The first time any user complains about this, we'll
4404 need to make LTWRAPPER_OPTION_PREFIX a configure-time option
4405 or a configure.ac-settable value.
4406 */
4407 lt_fatal (__FILE__, __LINE__,
4408 "unrecognized %s option: '%s'",
4409 ltwrapper_option_prefix, argv[i]);
4410 }
4411 /* otherwise ... */
4412 newargz[++newargc] = xstrdup (argv[i]);
4413 }
4414 newargz[++newargc] = NULL;
4415
4416 EOF
4417 cat <<EOF
4418 /* The GNU banner must be the first non-error debug message */
4419 lt_debugprintf (__FILE__, __LINE__, "libtool wrapper (GNU $PACKAGE$TIMESTAMP) $VERSION\n");
4420 EOF
4421 cat <<"EOF"
4422 lt_debugprintf (__FILE__, __LINE__, "(main) argv[0]: %s\n", argv[0]);
4423 lt_debugprintf (__FILE__, __LINE__, "(main) program_name: %s\n", program_name);
4424
4425 tmp_pathspec = find_executable (argv[0]);
4426 if (tmp_pathspec == NULL)
4427 lt_fatal (__FILE__, __LINE__, "couldn't find %s", argv[0]);
4428 lt_debugprintf (__FILE__, __LINE__,
4429 "(main) found exe (before symlink chase) at: %s\n",
4430 tmp_pathspec);
4431
4432 actual_cwrapper_path = chase_symlinks (tmp_pathspec);
4433 lt_debugprintf (__FILE__, __LINE__,
4434 "(main) found exe (after symlink chase) at: %s\n",
4435 actual_cwrapper_path);
4436 XFREE (tmp_pathspec);
4437
4438 actual_cwrapper_name = xstrdup (base_name (actual_cwrapper_path));
4439 strendzap (actual_cwrapper_path, actual_cwrapper_name);
4440
4441 /* wrapper name transforms */
4442 strendzap (actual_cwrapper_name, ".exe");
4443 tmp_pathspec = lt_extend_str (actual_cwrapper_name, ".exe", 1);
4444 XFREE (actual_cwrapper_name);
4445 actual_cwrapper_name = tmp_pathspec;
4446 tmp_pathspec = 0;
4447
4448 /* target_name transforms -- use actual target program name; might have lt- prefix */
4449 target_name = xstrdup (base_name (TARGET_PROGRAM_NAME));
4450 strendzap (target_name, ".exe");
4451 tmp_pathspec = lt_extend_str (target_name, ".exe", 1);
4452 XFREE (target_name);
4453 target_name = tmp_pathspec;
4454 tmp_pathspec = 0;
4455
4456 lt_debugprintf (__FILE__, __LINE__,
4457 "(main) libtool target name: %s\n",
4458 target_name);
4459 EOF
4460
4461 cat <<EOF
4462 newargz[0] =
4463 XMALLOC (char, (strlen (actual_cwrapper_path) +
4464 strlen ("$objdir") + 1 + strlen (actual_cwrapper_name) + 1));
4465 strcpy (newargz[0], actual_cwrapper_path);
4466 strcat (newargz[0], "$objdir");
4467 strcat (newargz[0], "/");
4468 EOF
4469
4470 cat <<"EOF"
4471 /* stop here, and copy so we don't have to do this twice */
4472 tmp_pathspec = xstrdup (newargz[0]);
4473
4474 /* do NOT want the lt- prefix here, so use actual_cwrapper_name */
4475 strcat (newargz[0], actual_cwrapper_name);
4476
4477 /* DO want the lt- prefix here if it exists, so use target_name */
4478 lt_argv_zero = lt_extend_str (tmp_pathspec, target_name, 1);
4479 XFREE (tmp_pathspec);
4480 tmp_pathspec = NULL;
4481 EOF
4482
4483 case $host_os in
4484 mingw*)
4485 cat <<"EOF"
4486 {
4487 char* p;
4488 while ((p = strchr (newargz[0], '\\')) != NULL)
4489 {
4490 *p = '/';
4491 }
4492 while ((p = strchr (lt_argv_zero, '\\')) != NULL)
4493 {
4494 *p = '/';
4495 }
4496 }
4497 EOF
4498 ;;
4499 esac
4500
4501 cat <<"EOF"
4502 XFREE (target_name);
4503 XFREE (actual_cwrapper_path);
4504 XFREE (actual_cwrapper_name);
4505
4506 lt_setenv ("BIN_SH", "xpg4"); /* for Tru64 */
4507 lt_setenv ("DUALCASE", "1"); /* for MSK sh */
4508 /* Update the DLL searchpath. EXE_PATH_VALUE ($dllsearchpath) must
4509 be prepended before (that is, appear after) LIB_PATH_VALUE ($temp_rpath)
4510 because on Windows, both *_VARNAMEs are PATH but uninstalled
4511 libraries must come first. */
4512 lt_update_exe_path (EXE_PATH_VARNAME, EXE_PATH_VALUE);
4513 lt_update_lib_path (LIB_PATH_VARNAME, LIB_PATH_VALUE);
4514
4515 lt_debugprintf (__FILE__, __LINE__, "(main) lt_argv_zero: %s\n",
4516 nonnull (lt_argv_zero));
4517 for (i = 0; i < newargc; i++)
4518 {
4519 lt_debugprintf (__FILE__, __LINE__, "(main) newargz[%d]: %s\n",
4520 i, nonnull (newargz[i]));
4521 }
4522
4523 EOF
4524
4525 case $host_os in
4526 mingw*)
4527 cat <<"EOF"
4528 /* execv doesn't actually work on mingw as expected on unix */
4529 newargz = prepare_spawn (newargz);
4530 rval = _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz);
4531 if (rval == -1)
4532 {
4533 /* failed to start process */
4534 lt_debugprintf (__FILE__, __LINE__,
4535 "(main) failed to launch target \"%s\": %s\n",
4536 lt_argv_zero, nonnull (strerror (errno)));
4537 return 127;
4538 }
4539 return rval;
4540 EOF
4541 ;;
4542 *)
4543 cat <<"EOF"
4544 execv (lt_argv_zero, newargz);
4545 return rval; /* =127, but avoids unused variable warning */
4546 EOF
4547 ;;
4548 esac
4549
4550 cat <<"EOF"
4551 }
4552
4553 void *
4554 xmalloc (size_t num)
4555 {
4556 void *p = (void *) malloc (num);
4557 if (!p)
4558 lt_fatal (__FILE__, __LINE__, "memory exhausted");
4559
4560 return p;
4561 }
4562
4563 char *
4564 xstrdup (const char *string)
4565 {
4566 return string ? strcpy ((char *) xmalloc (strlen (string) + 1),
4567 string) : NULL;
4568 }
4569
4570 const char *
4571 base_name (const char *name)
4572 {
4573 const char *base;
4574
4575 #if defined (HAVE_DOS_BASED_FILE_SYSTEM)
4576 /* Skip over the disk name in MSDOS pathnames. */
4577 if (isalpha ((unsigned char) name[0]) && name[1] == ':')
4578 name += 2;
4579 #endif
4580
4581 for (base = name; *name; name++)
4582 if (IS_DIR_SEPARATOR (*name))
4583 base = name + 1;
4584 return base;
4585 }
4586
4587 int
4588 check_executable (const char *path)
4589 {
4590 struct stat st;
4591
4592 lt_debugprintf (__FILE__, __LINE__, "(check_executable): %s\n",
4593 nonempty (path));
4594 if ((!path) || (!*path))
4595 return 0;
4596
4597 if ((stat (path, &st) >= 0)
4598 && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH)))
4599 return 1;
4600 else
4601 return 0;
4602 }
4603
4604 int
4605 make_executable (const char *path)
4606 {
4607 int rval = 0;
4608 struct stat st;
4609
4610 lt_debugprintf (__FILE__, __LINE__, "(make_executable): %s\n",
4611 nonempty (path));
4612 if ((!path) || (!*path))
4613 return 0;
4614
4615 if (stat (path, &st) >= 0)
4616 {
4617 rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR);
4618 }
4619 return rval;
4620 }
4621
4622 /* Searches for the full path of the wrapper. Returns
4623 newly allocated full path name if found, NULL otherwise
4624 Does not chase symlinks, even on platforms that support them.
4625 */
4626 char *
4627 find_executable (const char *wrapper)
4628 {
4629 int has_slash = 0;
4630 const char *p;
4631 const char *p_next;
4632 /* static buffer for getcwd */
4633 char tmp[LT_PATHMAX + 1];
4634 int tmp_len;
4635 char *concat_name;
4636
4637 lt_debugprintf (__FILE__, __LINE__, "(find_executable): %s\n",
4638 nonempty (wrapper));
4639
4640 if ((wrapper == NULL) || (*wrapper == '\0'))
4641 return NULL;
4642
4643 /* Absolute path? */
4644 #if defined (HAVE_DOS_BASED_FILE_SYSTEM)
4645 if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':')
4646 {
4647 concat_name = xstrdup (wrapper);
4648 if (check_executable (concat_name))
4649 return concat_name;
4650 XFREE (concat_name);
4651 }
4652 else
4653 {
4654 #endif
4655 if (IS_DIR_SEPARATOR (wrapper[0]))
4656 {
4657 concat_name = xstrdup (wrapper);
4658 if (check_executable (concat_name))
4659 return concat_name;
4660 XFREE (concat_name);
4661 }
4662 #if defined (HAVE_DOS_BASED_FILE_SYSTEM)
4663 }
4664 #endif
4665
4666 for (p = wrapper; *p; p++)
4667 if (*p == '/')
4668 {
4669 has_slash = 1;
4670 break;
4671 }
4672 if (!has_slash)
4673 {
4674 /* no slashes; search PATH */
4675 const char *path = getenv ("PATH");
4676 if (path != NULL)
4677 {
4678 for (p = path; *p; p = p_next)
4679 {
4680 const char *q;
4681 size_t p_len;
4682 for (q = p; *q; q++)
4683 if (IS_PATH_SEPARATOR (*q))
4684 break;
4685 p_len = q - p;
4686 p_next = (*q == '\0' ? q : q + 1);
4687 if (p_len == 0)
4688 {
4689 /* empty path: current directory */
4690 if (getcwd (tmp, LT_PATHMAX) == NULL)
4691 lt_fatal (__FILE__, __LINE__, "getcwd failed: %s",
4692 nonnull (strerror (errno)));
4693 tmp_len = strlen (tmp);
4694 concat_name =
4695 XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
4696 memcpy (concat_name, tmp, tmp_len);
4697 concat_name[tmp_len] = '/';
4698 strcpy (concat_name + tmp_len + 1, wrapper);
4699 }
4700 else
4701 {
4702 concat_name =
4703 XMALLOC (char, p_len + 1 + strlen (wrapper) + 1);
4704 memcpy (concat_name, p, p_len);
4705 concat_name[p_len] = '/';
4706 strcpy (concat_name + p_len + 1, wrapper);
4707 }
4708 if (check_executable (concat_name))
4709 return concat_name;
4710 XFREE (concat_name);
4711 }
4712 }
4713 /* not found in PATH; assume curdir */
4714 }
4715 /* Relative path | not found in path: prepend cwd */
4716 if (getcwd (tmp, LT_PATHMAX) == NULL)
4717 lt_fatal (__FILE__, __LINE__, "getcwd failed: %s",
4718 nonnull (strerror (errno)));
4719 tmp_len = strlen (tmp);
4720 concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
4721 memcpy (concat_name, tmp, tmp_len);
4722 concat_name[tmp_len] = '/';
4723 strcpy (concat_name + tmp_len + 1, wrapper);
4724
4725 if (check_executable (concat_name))
4726 return concat_name;
4727 XFREE (concat_name);
4728 return NULL;
4729 }
4730
4731 char *
4732 chase_symlinks (const char *pathspec)
4733 {
4734 #ifndef S_ISLNK
4735 return xstrdup (pathspec);
4736 #else
4737 char buf[LT_PATHMAX];
4738 struct stat s;
4739 char *tmp_pathspec = xstrdup (pathspec);
4740 char *p;
4741 int has_symlinks = 0;
4742 while (strlen (tmp_pathspec) && !has_symlinks)
4743 {
4744 lt_debugprintf (__FILE__, __LINE__,
4745 "checking path component for symlinks: %s\n",
4746 tmp_pathspec);
4747 if (lstat (tmp_pathspec, &s) == 0)
4748 {
4749 if (S_ISLNK (s.st_mode) != 0)
4750 {
4751 has_symlinks = 1;
4752 break;
4753 }
4754
4755 /* search backwards for last DIR_SEPARATOR */
4756 p = tmp_pathspec + strlen (tmp_pathspec) - 1;
4757 while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
4758 p--;
4759 if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
4760 {
4761 /* no more DIR_SEPARATORS left */
4762 break;
4763 }
4764 *p = '\0';
4765 }
4766 else
4767 {
4768 lt_fatal (__FILE__, __LINE__,
4769 "error accessing file \"%s\": %s",
4770 tmp_pathspec, nonnull (strerror (errno)));
4771 }
4772 }
4773 XFREE (tmp_pathspec);
4774
4775 if (!has_symlinks)
4776 {
4777 return xstrdup (pathspec);
4778 }
4779
4780 tmp_pathspec = realpath (pathspec, buf);
4781 if (tmp_pathspec == 0)
4782 {
4783 lt_fatal (__FILE__, __LINE__,
4784 "could not follow symlinks for %s", pathspec);
4785 }
4786 return xstrdup (tmp_pathspec);
4787 #endif
4788 }
4789
4790 char *
4791 strendzap (char *str, const char *pat)
4792 {
4793 size_t len, patlen;
4794
4795 assert (str != NULL);
4796 assert (pat != NULL);
4797
4798 len = strlen (str);
4799 patlen = strlen (pat);
4800
4801 if (patlen <= len)
4802 {
4803 str += len - patlen;
4804 if (strcmp (str, pat) == 0)
4805 *str = '\0';
4806 }
4807 return str;
4808 }
4809
4810 void
4811 lt_debugprintf (const char *file, int line, const char *fmt, ...)
4812 {
4813 va_list args;
4814 if (lt_debug)
4815 {
4816 (void) fprintf (stderr, "%s:%s:%d: ", program_name, file, line);
4817 va_start (args, fmt);
4818 (void) vfprintf (stderr, fmt, args);
4819 va_end (args);
4820 }
4821 }
4822
4823 static void
4824 lt_error_core (int exit_status, const char *file,
4825 int line, const char *mode,
4826 const char *message, va_list ap)
4827 {
4828 fprintf (stderr, "%s:%s:%d: %s: ", program_name, file, line, mode);
4829 vfprintf (stderr, message, ap);
4830 fprintf (stderr, ".\n");
4831
4832 if (exit_status >= 0)
4833 exit (exit_status);
4834 }
4835
4836 void
4837 lt_fatal (const char *file, int line, const char *message, ...)
4838 {
4839 va_list ap;
4840 va_start (ap, message);
4841 lt_error_core (EXIT_FAILURE, file, line, "FATAL", message, ap);
4842 va_end (ap);
4843 }
4844
4845 static const char *
4846 nonnull (const char *s)
4847 {
4848 return s ? s : "(null)";
4849 }
4850
4851 static const char *
4852 nonempty (const char *s)
4853 {
4854 return (s && !*s) ? "(empty)" : nonnull (s);
4855 }
4856
4857 void
4858 lt_setenv (const char *name, const char *value)
4859 {
4860 lt_debugprintf (__FILE__, __LINE__,
4861 "(lt_setenv) setting '%s' to '%s'\n",
4862 nonnull (name), nonnull (value));
4863 {
4864 #ifdef HAVE_SETENV
4865 /* always make a copy, for consistency with !HAVE_SETENV */
4866 char *str = xstrdup (value);
4867 setenv (name, str, 1);
4868 #else
4869 int len = strlen (name) + 1 + strlen (value) + 1;
4870 char *str = XMALLOC (char, len);
4871 sprintf (str, "%s=%s", name, value);
4872 if (putenv (str) != EXIT_SUCCESS)
4873 {
4874 XFREE (str);
4875 }
4876 #endif
4877 }
4878 }
4879
4880 char *
4881 lt_extend_str (const char *orig_value, const char *add, int to_end)
4882 {
4883 char *new_value;
4884 if (orig_value && *orig_value)
4885 {
4886 int orig_value_len = strlen (orig_value);
4887 int add_len = strlen (add);
4888 new_value = XMALLOC (char, add_len + orig_value_len + 1);
4889 if (to_end)
4890 {
4891 strcpy (new_value, orig_value);
4892 strcpy (new_value + orig_value_len, add);
4893 }
4894 else
4895 {
4896 strcpy (new_value, add);
4897 strcpy (new_value + add_len, orig_value);
4898 }
4899 }
4900 else
4901 {
4902 new_value = xstrdup (add);
4903 }
4904 return new_value;
4905 }
4906
4907 void
4908 lt_update_exe_path (const char *name, const char *value)
4909 {
4910 lt_debugprintf (__FILE__, __LINE__,
4911 "(lt_update_exe_path) modifying '%s' by prepending '%s'\n",
4912 nonnull (name), nonnull (value));
4913
4914 if (name && *name && value && *value)
4915 {
4916 char *new_value = lt_extend_str (getenv (name), value, 0);
4917 /* some systems can't cope with a ':'-terminated path #' */
4918 int len = strlen (new_value);
4919 while (((len = strlen (new_value)) > 0) && IS_PATH_SEPARATOR (new_value[len-1]))
4920 {
4921 new_value[len-1] = '\0';
4922 }
4923 lt_setenv (name, new_value);
4924 XFREE (new_value);
4925 }
4926 }
4927
4928 void
4929 lt_update_lib_path (const char *name, const char *value)
4930 {
4931 lt_debugprintf (__FILE__, __LINE__,
4932 "(lt_update_lib_path) modifying '%s' by prepending '%s'\n",
4933 nonnull (name), nonnull (value));
4934
4935 if (name && *name && value && *value)
4936 {
4937 char *new_value = lt_extend_str (getenv (name), value, 0);
4938 lt_setenv (name, new_value);
4939 XFREE (new_value);
4940 }
4941 }
4942
4943 EOF
4944 case $host_os in
4945 mingw*)
4946 cat <<"EOF"
4947
4948 /* Prepares an argument vector before calling spawn().
4949 Note that spawn() does not by itself call the command interpreter
4950 (getenv ("COMSPEC") != NULL ? getenv ("COMSPEC") :
4951 ({ OSVERSIONINFO v; v.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
4952 GetVersionEx(&v);
4953 v.dwPlatformId == VER_PLATFORM_WIN32_NT;
4954 }) ? "cmd.exe" : "command.com").
4955 Instead it simply concatenates the arguments, separated by ' ', and calls
4956 CreateProcess(). We must quote the arguments since Win32 CreateProcess()
4957 interprets characters like ' ', '\t', '\\', '"' (but not '<' and '>') in a
4958 special way:
4959 - Space and tab are interpreted as delimiters. They are not treated as
4960 delimiters if they are surrounded by double quotes: "...".
4961 - Unescaped double quotes are removed from the input. Their only effect is
4962 that within double quotes, space and tab are treated like normal
4963 characters.
4964 - Backslashes not followed by double quotes are not special.
4965 - But 2*n+1 backslashes followed by a double quote become
4966 n backslashes followed by a double quote (n >= 0):
4967 \" -> "
4968 \\\" -> \"
4969 \\\\\" -> \\"
4970 */
4971 #define SHELL_SPECIAL_CHARS "\"\\ \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037"
4972 #define SHELL_SPACE_CHARS " \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037"
4973 char **
4974 prepare_spawn (char **argv)
4975 {
4976 size_t argc;
4977 char **new_argv;
4978 size_t i;
4979
4980 /* Count number of arguments. */
4981 for (argc = 0; argv[argc] != NULL; argc++)
4982 ;
4983
4984 /* Allocate new argument vector. */
4985 new_argv = XMALLOC (char *, argc + 1);
4986
4987 /* Put quoted arguments into the new argument vector. */
4988 for (i = 0; i < argc; i++)
4989 {
4990 const char *string = argv[i];
4991
4992 if (string[0] == '\0')
4993 new_argv[i] = xstrdup ("\"\"");
4994 else if (strpbrk (string, SHELL_SPECIAL_CHARS) != NULL)
4995 {
4996 int quote_around = (strpbrk (string, SHELL_SPACE_CHARS) != NULL);
4997 size_t length;
4998 unsigned int backslashes;
4999 const char *s;
5000 char *quoted_string;
5001 char *p;
5002
5003 length = 0;
5004 backslashes = 0;
5005 if (quote_around)
5006 length++;
5007 for (s = string; *s != '\0'; s++)
5008 {
5009 char c = *s;
5010 if (c == '"')
5011 length += backslashes + 1;
5012 length++;
5013 if (c == '\\')
5014 backslashes++;
5015 else
5016 backslashes = 0;
5017 }
5018 if (quote_around)
5019 length += backslashes + 1;
5020
5021 quoted_string = XMALLOC (char, length + 1);
5022
5023 p = quoted_string;
5024 backslashes = 0;
5025 if (quote_around)
5026 *p++ = '"';
5027 for (s = string; *s != '\0'; s++)
5028 {
5029 char c = *s;
5030 if (c == '"')
5031 {
5032 unsigned int j;
5033 for (j = backslashes + 1; j > 0; j--)
5034 *p++ = '\\';
5035 }
5036 *p++ = c;
5037 if (c == '\\')
5038 backslashes++;
5039 else
5040 backslashes = 0;
5041 }
5042 if (quote_around)
5043 {
5044 unsigned int j;
5045 for (j = backslashes; j > 0; j--)
5046 *p++ = '\\';
5047 *p++ = '"';
5048 }
5049 *p = '\0';
5050
5051 new_argv[i] = quoted_string;
5052 }
5053 else
5054 new_argv[i] = (char *) string;
5055 }
5056 new_argv[argc] = NULL;
5057
5058 return new_argv;
5059 }
5060 EOF
5061 ;;
5062 esac
5063
5064 cat <<"EOF"
5065 void lt_dump_script (FILE* f)
5066 {
5067 EOF
5068 func_emit_wrapper yes |
5069 $SED -n -e '
5070 s/^\(.\{79\}\)\(..*\)/\1\
5071 \2/
5072 h
5073 s/\([\\"]\)/\\\1/g
5074 s/$/\\n/
5075 s/\([^\n]*\).*/ fputs ("\1", f);/p
5076 g
5077 D'
5078 cat <<"EOF"
5079 }
5080 EOF
5081 }
5082 # end: func_emit_cwrapperexe_src
5083
5084 # func_win32_import_lib_p ARG
5085 # True if ARG is an import lib, as indicated by $file_magic_cmd
5086 func_win32_import_lib_p ()
5087 {
5088 $opt_debug
5089 case `eval $file_magic_cmd \"\$1\" 2>/dev/null | $SED -e 10q` in
5090 *import*) : ;;
5091 *) false ;;
5092 esac
5093 }
5094
5095 # func_mode_link arg...
5096 func_mode_link ()
5097 {
5098 $opt_debug
5099 case $host in
5100 *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
5101 # It is impossible to link a dll without this setting, and
5102 # we shouldn't force the makefile maintainer to figure out
5103 # which system we are compiling for in order to pass an extra
5104 # flag for every libtool invocation.
5105 # allow_undefined=no
5106
5107 # FIXME: Unfortunately, there are problems with the above when trying
5108 # to make a dll which has undefined symbols, in which case not
5109 # even a static library is built. For now, we need to specify
5110 # -no-undefined on the libtool link line when we can be certain
5111 # that all symbols are satisfied, otherwise we get a static library.
5112 allow_undefined=yes
5113 ;;
5114 *)
5115 allow_undefined=yes
5116 ;;
5117 esac
5118 libtool_args=$nonopt
5119 base_compile="$nonopt $@"
5120 compile_command=$nonopt
5121 finalize_command=$nonopt
5122
5123 compile_rpath=
5124 finalize_rpath=
5125 compile_shlibpath=
5126 finalize_shlibpath=
5127 convenience=
5128 old_convenience=
5129 deplibs=
5130 old_deplibs=
5131 compiler_flags=
5132 linker_flags=
5133 dllsearchpath=
5134 lib_search_path=`pwd`
5135 inst_prefix_dir=
5136 new_inherited_linker_flags=
5137
5138 avoid_version=no
5139 bindir=
5140 dlfiles=
5141 dlprefiles=
5142 dlself=no
5143 export_dynamic=no
5144 export_symbols=
5145 export_symbols_regex=
5146 generated=
5147 libobjs=
5148 ltlibs=
5149 module=no
5150 no_install=no
5151 objs=
5152 non_pic_objects=
5153 precious_files_regex=
5154 prefer_static_libs=no
5155 preload=no
5156 prev=
5157 prevarg=
5158 release=
5159 rpath=
5160 xrpath=
5161 perm_rpath=
5162 temp_rpath=
5163 thread_safe=no
5164 vinfo=
5165 vinfo_number=no
5166 weak_libs=
5167 single_module="${wl}-single_module"
5168 func_infer_tag $base_compile
5169
5170 # We need to know -static, to get the right output filenames.
5171 for arg
5172 do
5173 case $arg in
5174 -shared)
5175 test "$build_libtool_libs" != yes && \
5176 func_fatal_configuration "can not build a shared library"
5177 build_old_libs=no
5178 break
5179 ;;
5180 -all-static | -static | -static-libtool-libs)
5181 case $arg in
5182 -all-static)
5183 if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
5184 func_warning "complete static linking is impossible in this configuration"
5185 fi
5186 if test -n "$link_static_flag"; then
5187 dlopen_self=$dlopen_self_static
5188 fi
5189 prefer_static_libs=yes
5190 ;;
5191 -static)
5192 if test -z "$pic_flag" && test -n "$link_static_flag"; then
5193 dlopen_self=$dlopen_self_static
5194 fi
5195 prefer_static_libs=built
5196 ;;
5197 -static-libtool-libs)
5198 if test -z "$pic_flag" && test -n "$link_static_flag"; then
5199 dlopen_self=$dlopen_self_static
5200 fi
5201 prefer_static_libs=yes
5202 ;;
5203 esac
5204 build_libtool_libs=no
5205 build_old_libs=yes
5206 break
5207 ;;
5208 esac
5209 done
5210
5211 # See if our shared archives depend on static archives.
5212 test -n "$old_archive_from_new_cmds" && build_old_libs=yes
5213
5214 # Go through the arguments, transforming them on the way.
5215 while test "$#" -gt 0; do
5216 arg="$1"
5217 shift
5218 func_quote_for_eval "$arg"
5219 qarg=$func_quote_for_eval_unquoted_result
5220 func_append libtool_args " $func_quote_for_eval_result"
5221
5222 # If the previous option needs an argument, assign it.
5223 if test -n "$prev"; then
5224 case $prev in
5225 output)
5226 func_append compile_command " @OUTPUT@"
5227 func_append finalize_command " @OUTPUT@"
5228 ;;
5229 esac
5230
5231 case $prev in
5232 bindir)
5233 bindir="$arg"
5234 prev=
5235 continue
5236 ;;
5237 dlfiles|dlprefiles)
5238 if test "$preload" = no; then
5239 # Add the symbol object into the linking commands.
5240 func_append compile_command " @SYMFILE@"
5241 func_append finalize_command " @SYMFILE@"
5242 preload=yes
5243 fi
5244 case $arg in
5245 *.la | *.lo) ;; # We handle these cases below.
5246 force)
5247 if test "$dlself" = no; then
5248 dlself=needless
5249 export_dynamic=yes
5250 fi
5251 prev=
5252 continue
5253 ;;
5254 self)
5255 if test "$prev" = dlprefiles; then
5256 dlself=yes
5257 elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then
5258 dlself=yes
5259 else
5260 dlself=needless
5261 export_dynamic=yes
5262 fi
5263 prev=
5264 continue
5265 ;;
5266 *)
5267 if test "$prev" = dlfiles; then
5268 func_append dlfiles " $arg"
5269 else
5270 func_append dlprefiles " $arg"
5271 fi
5272 prev=
5273 continue
5274 ;;
5275 esac
5276 ;;
5277 expsyms)
5278 export_symbols="$arg"
5279 test -f "$arg" \
5280 || func_fatal_error "symbol file \`$arg' does not exist"
5281 prev=
5282 continue
5283 ;;
5284 expsyms_regex)
5285 export_symbols_regex="$arg"
5286 prev=
5287 continue
5288 ;;
5289 framework)
5290 case $host in
5291 *-*-darwin*)
5292 case "$deplibs " in
5293 *" $qarg.ltframework "*) ;;
5294 *) func_append deplibs " $qarg.ltframework" # this is fixed later
5295 ;;
5296 esac
5297 ;;
5298 esac
5299 prev=
5300 continue
5301 ;;
5302 inst_prefix)
5303 inst_prefix_dir="$arg"
5304 prev=
5305 continue
5306 ;;
5307 objectlist)
5308 if test -f "$arg"; then
5309 save_arg=$arg
5310 moreargs=
5311 for fil in `cat "$save_arg"`
5312 do
5313 # func_append moreargs " $fil"
5314 arg=$fil
5315 # A libtool-controlled object.
5316
5317 # Check to see that this really is a libtool object.
5318 if func_lalib_unsafe_p "$arg"; then
5319 pic_object=
5320 non_pic_object=
5321
5322 # Read the .lo file
5323 func_source "$arg"
5324
5325 if test -z "$pic_object" ||
5326 test -z "$non_pic_object" ||
5327 test "$pic_object" = none &&
5328 test "$non_pic_object" = none; then
5329 func_fatal_error "cannot find name of object for \`$arg'"
5330 fi
5331
5332 # Extract subdirectory from the argument.
5333 func_dirname "$arg" "/" ""
5334 xdir="$func_dirname_result"
5335
5336 if test "$pic_object" != none; then
5337 # Prepend the subdirectory the object is found in.
5338 pic_object="$xdir$pic_object"
5339
5340 if test "$prev" = dlfiles; then
5341 if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
5342 func_append dlfiles " $pic_object"
5343 prev=
5344 continue
5345 else
5346 # If libtool objects are unsupported, then we need to preload.
5347 prev=dlprefiles
5348 fi
5349 fi
5350
5351 # CHECK ME: I think I busted this. -Ossama
5352 if test "$prev" = dlprefiles; then
5353 # Preload the old-style object.
5354 func_append dlprefiles " $pic_object"
5355 prev=
5356 fi
5357
5358 # A PIC object.
5359 func_append libobjs " $pic_object"
5360 arg="$pic_object"
5361 fi
5362
5363 # Non-PIC object.
5364 if test "$non_pic_object" != none; then
5365 # Prepend the subdirectory the object is found in.
5366 non_pic_object="$xdir$non_pic_object"
5367
5368 # A standard non-PIC object
5369 func_append non_pic_objects " $non_pic_object"
5370 if test -z "$pic_object" || test "$pic_object" = none ; then
5371 arg="$non_pic_object"
5372 fi
5373 else
5374 # If the PIC object exists, use it instead.
5375 # $xdir was prepended to $pic_object above.
5376 non_pic_object="$pic_object"
5377 func_append non_pic_objects " $non_pic_object"
5378 fi
5379 else
5380 # Only an error if not doing a dry-run.
5381 if $opt_dry_run; then
5382 # Extract subdirectory from the argument.
5383 func_dirname "$arg" "/" ""
5384 xdir="$func_dirname_result"
5385
5386 func_lo2o "$arg"
5387 pic_object=$xdir$objdir/$func_lo2o_result
5388 non_pic_object=$xdir$func_lo2o_result
5389 func_append libobjs " $pic_object"
5390 func_append non_pic_objects " $non_pic_object"
5391 else
5392 func_fatal_error "\`$arg' is not a valid libtool object"
5393 fi
5394 fi
5395 done
5396 else
5397 func_fatal_error "link input file \`$arg' does not exist"
5398 fi
5399 arg=$save_arg
5400 prev=
5401 continue
5402 ;;
5403 precious_regex)
5404 precious_files_regex="$arg"
5405 prev=
5406 continue
5407 ;;
5408 release)
5409 release="-$arg"
5410 prev=
5411 continue
5412 ;;
5413 rpath | xrpath)
5414 # We need an absolute path.
5415 case $arg in
5416 [\\/]* | [A-Za-z]:[\\/]*) ;;
5417 *)
5418 func_fatal_error "only absolute run-paths are allowed"
5419 ;;
5420 esac
5421 if test "$prev" = rpath; then
5422 case "$rpath " in
5423 *" $arg "*) ;;
5424 *) func_append rpath " $arg" ;;
5425 esac
5426 else
5427 case "$xrpath " in
5428 *" $arg "*) ;;
5429 *) func_append xrpath " $arg" ;;
5430 esac
5431 fi
5432 prev=
5433 continue
5434 ;;
5435 shrext)
5436 shrext_cmds="$arg"
5437 prev=
5438 continue
5439 ;;
5440 weak)
5441 func_append weak_libs " $arg"
5442 prev=
5443 continue
5444 ;;
5445 xcclinker)
5446 func_append linker_flags " $qarg"
5447 func_append compiler_flags " $qarg"
5448 prev=
5449 func_append compile_command " $qarg"
5450 func_append finalize_command " $qarg"
5451 continue
5452 ;;
5453 xcompiler)
5454 func_append compiler_flags " $qarg"
5455 prev=
5456 func_append compile_command " $qarg"
5457 func_append finalize_command " $qarg"
5458 continue
5459 ;;
5460 xlinker)
5461 func_append linker_flags " $qarg"
5462 func_append compiler_flags " $wl$qarg"
5463 prev=
5464 func_append compile_command " $wl$qarg"
5465 func_append finalize_command " $wl$qarg"
5466 continue
5467 ;;
5468 *)
5469 eval "$prev=\"\$arg\""
5470 prev=
5471 continue
5472 ;;
5473 esac
5474 fi # test -n "$prev"
5475
5476 prevarg="$arg"
5477
5478 case $arg in
5479 -all-static)
5480 if test -n "$link_static_flag"; then
5481 # See comment for -static flag below, for more details.
5482 func_append compile_command " $link_static_flag"
5483 func_append finalize_command " $link_static_flag"
5484 fi
5485 continue
5486 ;;
5487
5488 -allow-undefined)
5489 # FIXME: remove this flag sometime in the future.
5490 func_fatal_error "\`-allow-undefined' must not be used because it is the default"
5491 ;;
5492
5493 -avoid-version)
5494 avoid_version=yes
5495 continue
5496 ;;
5497
5498 -bindir)
5499 prev=bindir
5500 continue
5501 ;;
5502
5503 -dlopen)
5504 prev=dlfiles
5505 continue
5506 ;;
5507
5508 -dlpreopen)
5509 prev=dlprefiles
5510 continue
5511 ;;
5512
5513 -export-dynamic)
5514 export_dynamic=yes
5515 continue
5516 ;;
5517
5518 -export-symbols | -export-symbols-regex)
5519 if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
5520 func_fatal_error "more than one -exported-symbols argument is not allowed"
5521 fi
5522 if test "X$arg" = "X-export-symbols"; then
5523 prev=expsyms
5524 else
5525 prev=expsyms_regex
5526 fi
5527 continue
5528 ;;
5529
5530 -framework)
5531 prev=framework
5532 continue
5533 ;;
5534
5535 -inst-prefix-dir)
5536 prev=inst_prefix
5537 continue
5538 ;;
5539
5540 # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:*
5541 # so, if we see these flags be careful not to treat them like -L
5542 -L[A-Z][A-Z]*:*)
5543 case $with_gcc/$host in
5544 no/*-*-irix* | /*-*-irix*)
5545 func_append compile_command " $arg"
5546 func_append finalize_command " $arg"
5547 ;;
5548 esac
5549 continue
5550 ;;
5551
5552 -L*)
5553 func_stripname "-L" '' "$arg"
5554 if test -z "$func_stripname_result"; then
5555 if test "$#" -gt 0; then
5556 func_fatal_error "require no space between \`-L' and \`$1'"
5557 else
5558 func_fatal_error "need path for \`-L' option"
5559 fi
5560 fi
5561 func_resolve_sysroot "$func_stripname_result"
5562 dir=$func_resolve_sysroot_result
5563 # We need an absolute path.
5564 case $dir in
5565 [\\/]* | [A-Za-z]:[\\/]*) ;;
5566 *)
5567 absdir=`cd "$dir" && pwd`
5568 test -z "$absdir" && \
5569 func_fatal_error "cannot determine absolute directory name of \`$dir'"
5570 dir="$absdir"
5571 ;;
5572 esac
5573 case "$deplibs " in
5574 *" -L$dir "* | *" $arg "*)
5575 # Will only happen for absolute or sysroot arguments
5576 ;;
5577 *)
5578 # Preserve sysroot, but never include relative directories
5579 case $dir in
5580 [\\/]* | [A-Za-z]:[\\/]* | =*) func_append deplibs " $arg" ;;
5581 *) func_append deplibs " -L$dir" ;;
5582 esac
5583 func_append lib_search_path " $dir"
5584 ;;
5585 esac
5586 case $host in
5587 *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
5588 testbindir=`$ECHO "$dir" | $SED 's*/lib$*/bin*'`
5589 case :$dllsearchpath: in
5590 *":$dir:"*) ;;
5591 ::) dllsearchpath=$dir;;
5592 *) func_append dllsearchpath ":$dir";;
5593 esac
5594 case :$dllsearchpath: in
5595 *":$testbindir:"*) ;;
5596 ::) dllsearchpath=$testbindir;;
5597 *) func_append dllsearchpath ":$testbindir";;
5598 esac
5599 ;;
5600 esac
5601 continue
5602 ;;
5603
5604 -l*)
5605 if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
5606 case $host in
5607 *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*)
5608 # These systems don't actually have a C or math library (as such)
5609 continue
5610 ;;
5611 *-*-os2*)
5612 # These systems don't actually have a C library (as such)
5613 test "X$arg" = "X-lc" && continue
5614 ;;
5615 *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
5616 # Do not include libc due to us having libc/libc_r.
5617 test "X$arg" = "X-lc" && continue
5618 ;;
5619 *-*-rhapsody* | *-*-darwin1.[012])
5620 # Rhapsody C and math libraries are in the System framework
5621 func_append deplibs " System.ltframework"
5622 continue
5623 ;;
5624 *-*-sco3.2v5* | *-*-sco5v6*)
5625 # Causes problems with __ctype
5626 test "X$arg" = "X-lc" && continue
5627 ;;
5628 *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
5629 # Compiler inserts libc in the correct place for threads to work
5630 test "X$arg" = "X-lc" && continue
5631 ;;
5632 esac
5633 elif test "X$arg" = "X-lc_r"; then
5634 case $host in
5635 *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
5636 # Do not include libc_r directly, use -pthread flag.
5637 continue
5638 ;;
5639 esac
5640 fi
5641 func_append deplibs " $arg"
5642 continue
5643 ;;
5644
5645 -module)
5646 module=yes
5647 continue
5648 ;;
5649
5650 # Tru64 UNIX uses -model [arg] to determine the layout of C++
5651 # classes, name mangling, and exception handling.
5652 # Darwin uses the -arch flag to determine output architecture.
5653 -model|-arch|-isysroot|--sysroot)
5654 func_append compiler_flags " $arg"
5655 func_append compile_command " $arg"
5656 func_append finalize_command " $arg"
5657 prev=xcompiler
5658 continue
5659 ;;
5660
5661 -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \
5662 |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*)
5663 func_append compiler_flags " $arg"
5664 func_append compile_command " $arg"
5665 func_append finalize_command " $arg"
5666 case "$new_inherited_linker_flags " in
5667 *" $arg "*) ;;
5668 * ) func_append new_inherited_linker_flags " $arg" ;;
5669 esac
5670 continue
5671 ;;
5672
5673 -multi_module)
5674 single_module="${wl}-multi_module"
5675 continue
5676 ;;
5677
5678 -no-fast-install)
5679 fast_install=no
5680 continue
5681 ;;
5682
5683 -no-install)
5684 case $host in
5685 *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*)
5686 # The PATH hackery in wrapper scripts is required on Windows
5687 # and Darwin in order for the loader to find any dlls it needs.
5688 func_warning "\`-no-install' is ignored for $host"
5689 func_warning "assuming \`-no-fast-install' instead"
5690 fast_install=no
5691 ;;
5692 *) no_install=yes ;;
5693 esac
5694 continue
5695 ;;
5696
5697 -no-undefined)
5698 allow_undefined=no
5699 continue
5700 ;;
5701
5702 -objectlist)
5703 prev=objectlist
5704 continue
5705 ;;
5706
5707 -o) prev=output ;;
5708
5709 -precious-files-regex)
5710 prev=precious_regex
5711 continue
5712 ;;
5713
5714 -release)
5715 prev=release
5716 continue
5717 ;;
5718
5719 -rpath)
5720 prev=rpath
5721 continue
5722 ;;
5723
5724 -R)
5725 prev=xrpath
5726 continue
5727 ;;
5728
5729 -R*)
5730 func_stripname '-R' '' "$arg"
5731 dir=$func_stripname_result
5732 # We need an absolute path.
5733 case $dir in
5734 [\\/]* | [A-Za-z]:[\\/]*) ;;
5735 =*)
5736 func_stripname '=' '' "$dir"
5737 dir=$lt_sysroot$func_stripname_result
5738 ;;
5739 *)
5740 func_fatal_error "only absolute run-paths are allowed"
5741 ;;
5742 esac
5743 case "$xrpath " in
5744 *" $dir "*) ;;
5745 *) func_append xrpath " $dir" ;;
5746 esac
5747 continue
5748 ;;
5749
5750 -shared)
5751 # The effects of -shared are defined in a previous loop.
5752 continue
5753 ;;
5754
5755 -shrext)
5756 prev=shrext
5757 continue
5758 ;;
5759
5760 -static | -static-libtool-libs)
5761 # The effects of -static are defined in a previous loop.
5762 # We used to do the same as -all-static on platforms that
5763 # didn't have a PIC flag, but the assumption that the effects
5764 # would be equivalent was wrong. It would break on at least
5765 # Digital Unix and AIX.
5766 continue
5767 ;;
5768
5769 -thread-safe)
5770 thread_safe=yes
5771 continue
5772 ;;
5773
5774 -version-info)
5775 prev=vinfo
5776 continue
5777 ;;
5778
5779 -version-number)
5780 prev=vinfo
5781 vinfo_number=yes
5782 continue
5783 ;;
5784
5785 -weak)
5786 prev=weak
5787 continue
5788 ;;
5789
5790 -Wc,*)
5791 func_stripname '-Wc,' '' "$arg"
5792 args=$func_stripname_result
5793 arg=
5794 save_ifs="$IFS"; IFS=','
5795 for flag in $args; do
5796 IFS="$save_ifs"
5797 func_quote_for_eval "$flag"
5798 func_append arg " $func_quote_for_eval_result"
5799 func_append compiler_flags " $func_quote_for_eval_result"
5800 done
5801 IFS="$save_ifs"
5802 func_stripname ' ' '' "$arg"
5803 arg=$func_stripname_result
5804 ;;
5805
5806 -Wl,*)
5807 func_stripname '-Wl,' '' "$arg"
5808 args=$func_stripname_result
5809 arg=
5810 save_ifs="$IFS"; IFS=','
5811 for flag in $args; do
5812 IFS="$save_ifs"
5813 func_quote_for_eval "$flag"
5814 func_append arg " $wl$func_quote_for_eval_result"
5815 func_append compiler_flags " $wl$func_quote_for_eval_result"
5816 func_append linker_flags " $func_quote_for_eval_result"
5817 done
5818 IFS="$save_ifs"
5819 func_stripname ' ' '' "$arg"
5820 arg=$func_stripname_result
5821 ;;
5822
5823 -Xcompiler)
5824 prev=xcompiler
5825 continue
5826 ;;
5827
5828 -Xlinker)
5829 prev=xlinker
5830 continue
5831 ;;
5832
5833 -XCClinker)
5834 prev=xcclinker
5835 continue
5836 ;;
5837
5838 # -msg_* for osf cc
5839 -msg_*)
5840 func_quote_for_eval "$arg"
5841 arg="$func_quote_for_eval_result"
5842 ;;
5843
5844 # Flags to be passed through unchanged, with rationale:
5845 # -64, -mips[0-9] enable 64-bit mode for the SGI compiler
5846 # -r[0-9][0-9]* specify processor for the SGI compiler
5847 # -xarch=*, -xtarget=* enable 64-bit mode for the Sun compiler
5848 # +DA*, +DD* enable 64-bit mode for the HP compiler
5849 # -q* compiler args for the IBM compiler
5850 # -m*, -t[45]*, -txscale* architecture-specific flags for GCC
5851 # -F/path path to uninstalled frameworks, gcc on darwin
5852 # -p, -pg, --coverage, -fprofile-* profiling flags for GCC
5853 # @file GCC response files
5854 # -tp=* Portland pgcc target processor selection
5855 # --sysroot=* for sysroot support
5856 # -O*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization
5857 -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
5858 -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
5859 -O*|-flto*|-fwhopr*|-fuse-linker-plugin)
5860 func_quote_for_eval "$arg"
5861 arg="$func_quote_for_eval_result"
5862 func_append compile_command " $arg"
5863 func_append finalize_command " $arg"
5864 func_append compiler_flags " $arg"
5865 continue
5866 ;;
5867
5868 # Some other compiler flag.
5869 -* | +*)
5870 func_quote_for_eval "$arg"
5871 arg="$func_quote_for_eval_result"
5872 ;;
5873
5874 *.$objext)
5875 # A standard object.
5876 func_append objs " $arg"
5877 ;;
5878
5879 *.lo)
5880 # A libtool-controlled object.
5881
5882 # Check to see that this really is a libtool object.
5883 if func_lalib_unsafe_p "$arg"; then
5884 pic_object=
5885 non_pic_object=
5886
5887 # Read the .lo file
5888 func_source "$arg"
5889
5890 if test -z "$pic_object" ||
5891 test -z "$non_pic_object" ||
5892 test "$pic_object" = none &&
5893 test "$non_pic_object" = none; then
5894 func_fatal_error "cannot find name of object for \`$arg'"
5895 fi
5896
5897 # Extract subdirectory from the argument.
5898 func_dirname "$arg" "/" ""
5899 xdir="$func_dirname_result"
5900
5901 if test "$pic_object" != none; then
5902 # Prepend the subdirectory the object is found in.
5903 pic_object="$xdir$pic_object"
5904
5905 if test "$prev" = dlfiles; then
5906 if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
5907 func_append dlfiles " $pic_object"
5908 prev=
5909 continue
5910 else
5911 # If libtool objects are unsupported, then we need to preload.
5912 prev=dlprefiles
5913 fi
5914 fi
5915
5916 # CHECK ME: I think I busted this. -Ossama
5917 if test "$prev" = dlprefiles; then
5918 # Preload the old-style object.
5919 func_append dlprefiles " $pic_object"
5920 prev=
5921 fi
5922
5923 # A PIC object.
5924 func_append libobjs " $pic_object"
5925 arg="$pic_object"
5926 fi
5927
5928 # Non-PIC object.
5929 if test "$non_pic_object" != none; then
5930 # Prepend the subdirectory the object is found in.
5931 non_pic_object="$xdir$non_pic_object"
5932
5933 # A standard non-PIC object
5934 func_append non_pic_objects " $non_pic_object"
5935 if test -z "$pic_object" || test "$pic_object" = none ; then
5936 arg="$non_pic_object"
5937 fi
5938 else
5939 # If the PIC object exists, use it instead.
5940 # $xdir was prepended to $pic_object above.
5941 non_pic_object="$pic_object"
5942 func_append non_pic_objects " $non_pic_object"
5943 fi
5944 else
5945 # Only an error if not doing a dry-run.
5946 if $opt_dry_run; then
5947 # Extract subdirectory from the argument.
5948 func_dirname "$arg" "/" ""
5949 xdir="$func_dirname_result"
5950
5951 func_lo2o "$arg"
5952 pic_object=$xdir$objdir/$func_lo2o_result
5953 non_pic_object=$xdir$func_lo2o_result
5954 func_append libobjs " $pic_object"
5955 func_append non_pic_objects " $non_pic_object"
5956 else
5957 func_fatal_error "\`$arg' is not a valid libtool object"
5958 fi
5959 fi
5960 ;;
5961
5962 *.$libext)
5963 # An archive.
5964 func_append deplibs " $arg"
5965 func_append old_deplibs " $arg"
5966 continue
5967 ;;
5968
5969 *.la)
5970 # A libtool-controlled library.
5971
5972 func_resolve_sysroot "$arg"
5973 if test "$prev" = dlfiles; then
5974 # This library was specified with -dlopen.
5975 func_append dlfiles " $func_resolve_sysroot_result"
5976 prev=
5977 elif test "$prev" = dlprefiles; then
5978 # The library was specified with -dlpreopen.
5979 func_append dlprefiles " $func_resolve_sysroot_result"
5980 prev=
5981 else
5982 func_append deplibs " $func_resolve_sysroot_result"
5983 fi
5984 continue
5985 ;;
5986
5987 # Some other compiler argument.
5988 *)
5989 # Unknown arguments in both finalize_command and compile_command need
5990 # to be aesthetically quoted because they are evaled later.
5991 func_quote_for_eval "$arg"
5992 arg="$func_quote_for_eval_result"
5993 ;;
5994 esac # arg
5995
5996 # Now actually substitute the argument into the commands.
5997 if test -n "$arg"; then
5998 func_append compile_command " $arg"
5999 func_append finalize_command " $arg"
6000 fi
6001 done # argument parsing loop
6002
6003 test -n "$prev" && \
6004 func_fatal_help "the \`$prevarg' option requires an argument"
6005
6006 if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then
6007 eval arg=\"$export_dynamic_flag_spec\"
6008 func_append compile_command " $arg"
6009 func_append finalize_command " $arg"
6010 fi
6011
6012 oldlibs=
6013 # calculate the name of the file, without its directory
6014 func_basename "$output"
6015 outputname="$func_basename_result"
6016 libobjs_save="$libobjs"
6017
6018 if test -n "$shlibpath_var"; then
6019 # get the directories listed in $shlibpath_var
6020 eval shlib_search_path=\`\$ECHO \"\${$shlibpath_var}\" \| \$SED \'s/:/ /g\'\`
6021 else
6022 shlib_search_path=
6023 fi
6024 eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
6025 eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
6026
6027 func_dirname "$output" "/" ""
6028 output_objdir="$func_dirname_result$objdir"
6029 func_to_tool_file "$output_objdir/"
6030 tool_output_objdir=$func_to_tool_file_result
6031 # Create the object directory.
6032 func_mkdir_p "$output_objdir"
6033
6034 # Determine the type of output
6035 case $output in
6036 "")
6037 func_fatal_help "you must specify an output file"
6038 ;;
6039 *.$libext) linkmode=oldlib ;;
6040 *.lo | *.$objext) linkmode=obj ;;
6041 *.la) linkmode=lib ;;
6042 *) linkmode=prog ;; # Anything else should be a program.
6043 esac
6044
6045 specialdeplibs=
6046
6047 libs=
6048 # Find all interdependent deplibs by searching for libraries
6049 # that are linked more than once (e.g. -la -lb -la)
6050 for deplib in $deplibs; do
6051 if $opt_preserve_dup_deps ; then
6052 case "$libs " in
6053 *" $deplib "*) func_append specialdeplibs " $deplib" ;;
6054 esac
6055 fi
6056 func_append libs " $deplib"
6057 done
6058
6059 if test "$linkmode" = lib; then
6060 libs="$predeps $libs $compiler_lib_search_path $postdeps"
6061
6062 # Compute libraries that are listed more than once in $predeps
6063 # $postdeps and mark them as special (i.e., whose duplicates are
6064 # not to be eliminated).
6065 pre_post_deps=
6066 if $opt_duplicate_compiler_generated_deps; then
6067 for pre_post_dep in $predeps $postdeps; do
6068 case "$pre_post_deps " in
6069 *" $pre_post_dep "*) func_append specialdeplibs " $pre_post_deps" ;;
6070 esac
6071 func_append pre_post_deps " $pre_post_dep"
6072 done
6073 fi
6074 pre_post_deps=
6075 fi
6076
6077 deplibs=
6078 newdependency_libs=
6079 newlib_search_path=
6080 need_relink=no # whether we're linking any uninstalled libtool libraries
6081 notinst_deplibs= # not-installed libtool libraries
6082 notinst_path= # paths that contain not-installed libtool libraries
6083
6084 case $linkmode in
6085 lib)
6086 passes="conv dlpreopen link"
6087 for file in $dlfiles $dlprefiles; do
6088 case $file in
6089 *.la) ;;
6090 *)
6091 func_fatal_help "libraries can \`-dlopen' only libtool libraries: $file"
6092 ;;
6093 esac
6094 done
6095 ;;
6096 prog)
6097 compile_deplibs=
6098 finalize_deplibs=
6099 alldeplibs=no
6100 newdlfiles=
6101 newdlprefiles=
6102 passes="conv scan dlopen dlpreopen link"
6103 ;;
6104 *) passes="conv"
6105 ;;
6106 esac
6107
6108 for pass in $passes; do
6109 # The preopen pass in lib mode reverses $deplibs; put it back here
6110 # so that -L comes before libs that need it for instance...
6111 if test "$linkmode,$pass" = "lib,link"; then
6112 ## FIXME: Find the place where the list is rebuilt in the wrong
6113 ## order, and fix it there properly
6114 tmp_deplibs=
6115 for deplib in $deplibs; do
6116 tmp_deplibs="$deplib $tmp_deplibs"
6117 done
6118 deplibs="$tmp_deplibs"
6119 fi
6120
6121 if test "$linkmode,$pass" = "lib,link" ||
6122 test "$linkmode,$pass" = "prog,scan"; then
6123 libs="$deplibs"
6124 deplibs=
6125 fi
6126 if test "$linkmode" = prog; then
6127 case $pass in
6128 dlopen) libs="$dlfiles" ;;
6129 dlpreopen) libs="$dlprefiles" ;;
6130 link)
6131 libs="$deplibs %DEPLIBS%"
6132 test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs"
6133 ;;
6134 esac
6135 fi
6136 if test "$linkmode,$pass" = "lib,dlpreopen"; then
6137 # Collect and forward deplibs of preopened libtool libs
6138 for lib in $dlprefiles; do
6139 # Ignore non-libtool-libs
6140 dependency_libs=
6141 func_resolve_sysroot "$lib"
6142 case $lib in
6143 *.la) func_source "$func_resolve_sysroot_result" ;;
6144 esac
6145
6146 # Collect preopened libtool deplibs, except any this library
6147 # has declared as weak libs
6148 for deplib in $dependency_libs; do
6149 func_basename "$deplib"
6150 deplib_base=$func_basename_result
6151 case " $weak_libs " in
6152 *" $deplib_base "*) ;;
6153 *) func_append deplibs " $deplib" ;;
6154 esac
6155 done
6156 done
6157 libs="$dlprefiles"
6158 fi
6159 if test "$pass" = dlopen; then
6160 # Collect dlpreopened libraries
6161 save_deplibs="$deplibs"
6162 deplibs=
6163 fi
6164
6165 for deplib in $libs; do
6166 lib=
6167 found=no
6168 case $deplib in
6169 -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \
6170 |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*)
6171 if test "$linkmode,$pass" = "prog,link"; then
6172 compile_deplibs="$deplib $compile_deplibs"
6173 finalize_deplibs="$deplib $finalize_deplibs"
6174 else
6175 func_append compiler_flags " $deplib"
6176 if test "$linkmode" = lib ; then
6177 case "$new_inherited_linker_flags " in
6178 *" $deplib "*) ;;
6179 * ) func_append new_inherited_linker_flags " $deplib" ;;
6180 esac
6181 fi
6182 fi
6183 continue
6184 ;;
6185 -l*)
6186 if test "$linkmode" != lib && test "$linkmode" != prog; then
6187 func_warning "\`-l' is ignored for archives/objects"
6188 continue
6189 fi
6190 func_stripname '-l' '' "$deplib"
6191 name=$func_stripname_result
6192 if test "$linkmode" = lib; then
6193 searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path"
6194 else
6195 searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path"
6196 fi
6197 for searchdir in $searchdirs; do
6198 for search_ext in .la $std_shrext .so .a; do
6199 # Search the libtool library
6200 lib="$searchdir/lib${name}${search_ext}"
6201 if test -f "$lib"; then
6202 if test "$search_ext" = ".la"; then
6203 found=yes
6204 else
6205 found=no
6206 fi
6207 break 2
6208 fi
6209 done
6210 done
6211 if test "$found" != yes; then
6212 # deplib doesn't seem to be a libtool library
6213 if test "$linkmode,$pass" = "prog,link"; then
6214 compile_deplibs="$deplib $compile_deplibs"
6215 finalize_deplibs="$deplib $finalize_deplibs"
6216 else
6217 deplibs="$deplib $deplibs"
6218 test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
6219 fi
6220 continue
6221 else # deplib is a libtool library
6222 # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib,
6223 # We need to do some special things here, and not later.
6224 if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
6225 case " $predeps $postdeps " in
6226 *" $deplib "*)
6227 if func_lalib_p "$lib"; then
6228 library_names=
6229 old_library=
6230 func_source "$lib"
6231 for l in $old_library $library_names; do
6232 ll="$l"
6233 done
6234 if test "X$ll" = "X$old_library" ; then # only static version available
6235 found=no
6236 func_dirname "$lib" "" "."
6237 ladir="$func_dirname_result"
6238 lib=$ladir/$old_library
6239 if test "$linkmode,$pass" = "prog,link"; then
6240 compile_deplibs="$deplib $compile_deplibs"
6241 finalize_deplibs="$deplib $finalize_deplibs"
6242 else
6243 deplibs="$deplib $deplibs"
6244 test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
6245 fi
6246 continue
6247 fi
6248 fi
6249 ;;
6250 *) ;;
6251 esac
6252 fi
6253 fi
6254 ;; # -l
6255 *.ltframework)
6256 if test "$linkmode,$pass" = "prog,link"; then
6257 compile_deplibs="$deplib $compile_deplibs"
6258 finalize_deplibs="$deplib $finalize_deplibs"
6259 else
6260 deplibs="$deplib $deplibs"
6261 if test "$linkmode" = lib ; then
6262 case "$new_inherited_linker_flags " in
6263 *" $deplib "*) ;;
6264 * ) func_append new_inherited_linker_flags " $deplib" ;;
6265 esac
6266 fi
6267 fi
6268 continue
6269 ;;
6270 -L*)
6271 case $linkmode in
6272 lib)
6273 deplibs="$deplib $deplibs"
6274 test "$pass" = conv && continue
6275 newdependency_libs="$deplib $newdependency_libs"
6276 func_stripname '-L' '' "$deplib"
6277 func_resolve_sysroot "$func_stripname_result"
6278 func_append newlib_search_path " $func_resolve_sysroot_result"
6279 ;;
6280 prog)
6281 if test "$pass" = conv; then
6282 deplibs="$deplib $deplibs"
6283 continue
6284 fi
6285 if test "$pass" = scan; then
6286 deplibs="$deplib $deplibs"
6287 else
6288 compile_deplibs="$deplib $compile_deplibs"
6289 finalize_deplibs="$deplib $finalize_deplibs"
6290 fi
6291 func_stripname '-L' '' "$deplib"
6292 func_resolve_sysroot "$func_stripname_result"
6293 func_append newlib_search_path " $func_resolve_sysroot_result"
6294 ;;
6295 *)
6296 func_warning "\`-L' is ignored for archives/objects"
6297 ;;
6298 esac # linkmode
6299 continue
6300 ;; # -L
6301 -R*)
6302 if test "$pass" = link; then
6303 func_stripname '-R' '' "$deplib"
6304 func_resolve_sysroot "$func_stripname_result"
6305 dir=$func_resolve_sysroot_result
6306 # Make sure the xrpath contains only unique directories.
6307 case "$xrpath " in
6308 *" $dir "*) ;;
6309 *) func_append xrpath " $dir" ;;
6310 esac
6311 fi
6312 deplibs="$deplib $deplibs"
6313 continue
6314 ;;
6315 *.la)
6316 func_resolve_sysroot "$deplib"
6317 lib=$func_resolve_sysroot_result
6318 ;;
6319 *.$libext)
6320 if test "$pass" = conv; then
6321 deplibs="$deplib $deplibs"
6322 continue
6323 fi
6324 case $linkmode in
6325 lib)
6326 # Linking convenience modules into shared libraries is allowed,
6327 # but linking other static libraries is non-portable.
6328 case " $dlpreconveniencelibs " in
6329 *" $deplib "*) ;;
6330 *)
6331 valid_a_lib=no
6332 case $deplibs_check_method in
6333 match_pattern*)
6334 set dummy $deplibs_check_method; shift
6335 match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
6336 if eval "\$ECHO \"$deplib\"" 2>/dev/null | $SED 10q \
6337 | $EGREP "$match_pattern_regex" > /dev/null; then
6338 valid_a_lib=yes
6339 fi
6340 ;;
6341 pass_all)
6342 valid_a_lib=yes
6343 ;;
6344 esac
6345 if test "$valid_a_lib" != yes; then
6346 echo
6347 $ECHO "*** Warning: Trying to link with static lib archive $deplib."
6348 echo "*** I have the capability to make that library automatically link in when"
6349 echo "*** you link to this library. But I can only do this if you have a"
6350 echo "*** shared version of the library, which you do not appear to have"
6351 echo "*** because the file extensions .$libext of this argument makes me believe"
6352 echo "*** that it is just a static archive that I should not use here."
6353 else
6354 echo
6355 $ECHO "*** Warning: Linking the shared library $output against the"
6356 $ECHO "*** static library $deplib is not portable!"
6357 deplibs="$deplib $deplibs"
6358 fi
6359 ;;
6360 esac
6361 continue
6362 ;;
6363 prog)
6364 if test "$pass" != link; then
6365 deplibs="$deplib $deplibs"
6366 else
6367 compile_deplibs="$deplib $compile_deplibs"
6368 finalize_deplibs="$deplib $finalize_deplibs"
6369 fi
6370 continue
6371 ;;
6372 esac # linkmode
6373 ;; # *.$libext
6374 *.lo | *.$objext)
6375 if test "$pass" = conv; then
6376 deplibs="$deplib $deplibs"
6377 elif test "$linkmode" = prog; then
6378 if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then
6379 # If there is no dlopen support or we're linking statically,
6380 # we need to preload.
6381 func_append newdlprefiles " $deplib"
6382 compile_deplibs="$deplib $compile_deplibs"
6383 finalize_deplibs="$deplib $finalize_deplibs"
6384 else
6385 func_append newdlfiles " $deplib"
6386 fi
6387 fi
6388 continue
6389 ;;
6390 %DEPLIBS%)
6391 alldeplibs=yes
6392 continue
6393 ;;
6394 esac # case $deplib
6395
6396 if test "$found" = yes || test -f "$lib"; then :
6397 else
6398 func_fatal_error "cannot find the library \`$lib' or unhandled argument \`$deplib'"
6399 fi
6400
6401 # Check to see that this really is a libtool archive.
6402 func_lalib_unsafe_p "$lib" \
6403 || func_fatal_error "\`$lib' is not a valid libtool archive"
6404
6405 func_dirname "$lib" "" "."
6406 ladir="$func_dirname_result"
6407
6408 dlname=
6409 dlopen=
6410 dlpreopen=
6411 libdir=
6412 library_names=
6413 old_library=
6414 inherited_linker_flags=
6415 # If the library was installed with an old release of libtool,
6416 # it will not redefine variables installed, or shouldnotlink
6417 installed=yes
6418 shouldnotlink=no
6419 avoidtemprpath=
6420
6421
6422 # Read the .la file
6423 func_source "$lib"
6424
6425 # Convert "-framework foo" to "foo.ltframework"
6426 if test -n "$inherited_linker_flags"; then
6427 tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | $SED 's/-framework \([^ $]*\)/\1.ltframework/g'`
6428 for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do
6429 case " $new_inherited_linker_flags " in
6430 *" $tmp_inherited_linker_flag "*) ;;
6431 *) func_append new_inherited_linker_flags " $tmp_inherited_linker_flag";;
6432 esac
6433 done
6434 fi
6435 dependency_libs=`$ECHO " $dependency_libs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
6436 if test "$linkmode,$pass" = "lib,link" ||
6437 test "$linkmode,$pass" = "prog,scan" ||
6438 { test "$linkmode" != prog && test "$linkmode" != lib; }; then
6439 test -n "$dlopen" && func_append dlfiles " $dlopen"
6440 test -n "$dlpreopen" && func_append dlprefiles " $dlpreopen"
6441 fi
6442
6443 if test "$pass" = conv; then
6444 # Only check for convenience libraries
6445 deplibs="$lib $deplibs"
6446 if test -z "$libdir"; then
6447 if test -z "$old_library"; then
6448 func_fatal_error "cannot find name of link library for \`$lib'"
6449 fi
6450 # It is a libtool convenience library, so add in its objects.
6451 func_append convenience " $ladir/$objdir/$old_library"
6452 func_append old_convenience " $ladir/$objdir/$old_library"
6453 tmp_libs=
6454 for deplib in $dependency_libs; do
6455 deplibs="$deplib $deplibs"
6456 if $opt_preserve_dup_deps ; then
6457 case "$tmp_libs " in
6458 *" $deplib "*) func_append specialdeplibs " $deplib" ;;
6459 esac
6460 fi
6461 func_append tmp_libs " $deplib"
6462 done
6463 elif test "$linkmode" != prog && test "$linkmode" != lib; then
6464 func_fatal_error "\`$lib' is not a convenience library"
6465 fi
6466 continue
6467 fi # $pass = conv
6468
6469
6470 # Get the name of the library we link against.
6471 linklib=
6472 if test -n "$old_library" &&
6473 { test "$prefer_static_libs" = yes ||
6474 test "$prefer_static_libs,$installed" = "built,no"; }; then
6475 linklib=$old_library
6476 else
6477 for l in $old_library $library_names; do
6478 linklib="$l"
6479 done
6480 fi
6481 if test -z "$linklib"; then
6482 func_fatal_error "cannot find name of link library for \`$lib'"
6483 fi
6484
6485 # This library was specified with -dlopen.
6486 if test "$pass" = dlopen; then
6487 if test -z "$libdir"; then
6488 func_fatal_error "cannot -dlopen a convenience library: \`$lib'"
6489 fi
6490 if test -z "$dlname" ||
6491 test "$dlopen_support" != yes ||
6492 test "$build_libtool_libs" = no; then
6493 # If there is no dlname, no dlopen support or we're linking
6494 # statically, we need to preload. We also need to preload any
6495 # dependent libraries so libltdl's deplib preloader doesn't
6496 # bomb out in the load deplibs phase.
6497 func_append dlprefiles " $lib $dependency_libs"
6498 else
6499 func_append newdlfiles " $lib"
6500 fi
6501 continue
6502 fi # $pass = dlopen
6503
6504 # We need an absolute path.
6505 case $ladir in
6506 [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;;
6507 *)
6508 abs_ladir=`cd "$ladir" && pwd`
6509 if test -z "$abs_ladir"; then
6510 func_warning "cannot determine absolute directory name of \`$ladir'"
6511 func_warning "passing it literally to the linker, although it might fail"
6512 abs_ladir="$ladir"
6513 fi
6514 ;;
6515 esac
6516 func_basename "$lib"
6517 laname="$func_basename_result"
6518
6519 # Find the relevant object directory and library name.
6520 if test "X$installed" = Xyes; then
6521 if test ! -f "$lt_sysroot$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
6522 func_warning "library \`$lib' was moved."
6523 dir="$ladir"
6524 absdir="$abs_ladir"
6525 libdir="$abs_ladir"
6526 else
6527 dir="$lt_sysroot$libdir"
6528 absdir="$lt_sysroot$libdir"
6529 fi
6530 test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
6531 else
6532 if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then
6533 dir="$ladir"
6534 absdir="$abs_ladir"
6535 # Remove this search path later
6536 func_append notinst_path " $abs_ladir"
6537 else
6538 dir="$ladir/$objdir"
6539 absdir="$abs_ladir/$objdir"
6540 # Remove this search path later
6541 func_append notinst_path " $abs_ladir"
6542 fi
6543 fi # $installed = yes
6544 func_stripname 'lib' '.la' "$laname"
6545 name=$func_stripname_result
6546
6547 # This library was specified with -dlpreopen.
6548 if test "$pass" = dlpreopen; then
6549 if test -z "$libdir" && test "$linkmode" = prog; then
6550 func_fatal_error "only libraries may -dlpreopen a convenience library: \`$lib'"
6551 fi
6552 case "$host" in
6553 # special handling for platforms with PE-DLLs.
6554 *cygwin* | *mingw* | *cegcc* )
6555 # Linker will automatically link against shared library if both
6556 # static and shared are present. Therefore, ensure we extract
6557 # symbols from the import library if a shared library is present
6558 # (otherwise, the dlopen module name will be incorrect). We do
6559 # this by putting the import library name into $newdlprefiles.
6560 # We recover the dlopen module name by 'saving' the la file
6561 # name in a special purpose variable, and (later) extracting the
6562 # dlname from the la file.
6563 if test -n "$dlname"; then
6564 func_tr_sh "$dir/$linklib"
6565 eval "libfile_$func_tr_sh_result=\$abs_ladir/\$laname"
6566 func_append newdlprefiles " $dir/$linklib"
6567 else
6568 func_append newdlprefiles " $dir/$old_library"
6569 # Keep a list of preopened convenience libraries to check
6570 # that they are being used correctly in the link pass.
6571 test -z "$libdir" && \
6572 func_append dlpreconveniencelibs " $dir/$old_library"
6573 fi
6574 ;;
6575 * )
6576 # Prefer using a static library (so that no silly _DYNAMIC symbols
6577 # are required to link).
6578 if test -n "$old_library"; then
6579 func_append newdlprefiles " $dir/$old_library"
6580 # Keep a list of preopened convenience libraries to check
6581 # that they are being used correctly in the link pass.
6582 test -z "$libdir" && \
6583 func_append dlpreconveniencelibs " $dir/$old_library"
6584 # Otherwise, use the dlname, so that lt_dlopen finds it.
6585 elif test -n "$dlname"; then
6586 func_append newdlprefiles " $dir/$dlname"
6587 else
6588 func_append newdlprefiles " $dir/$linklib"
6589 fi
6590 ;;
6591 esac
6592 fi # $pass = dlpreopen
6593
6594 if test -z "$libdir"; then
6595 # Link the convenience library
6596 if test "$linkmode" = lib; then
6597 deplibs="$dir/$old_library $deplibs"
6598 elif test "$linkmode,$pass" = "prog,link"; then
6599 compile_deplibs="$dir/$old_library $compile_deplibs"
6600 finalize_deplibs="$dir/$old_library $finalize_deplibs"
6601 else
6602 deplibs="$lib $deplibs" # used for prog,scan pass
6603 fi
6604 continue
6605 fi
6606
6607
6608 if test "$linkmode" = prog && test "$pass" != link; then
6609 func_append newlib_search_path " $ladir"
6610 deplibs="$lib $deplibs"
6611
6612 linkalldeplibs=no
6613 if test "$link_all_deplibs" != no || test -z "$library_names" ||
6614 test "$build_libtool_libs" = no; then
6615 linkalldeplibs=yes
6616 fi
6617
6618 tmp_libs=
6619 for deplib in $dependency_libs; do
6620 case $deplib in
6621 -L*) func_stripname '-L' '' "$deplib"
6622 func_resolve_sysroot "$func_stripname_result"
6623 func_append newlib_search_path " $func_resolve_sysroot_result"
6624 ;;
6625 esac
6626 # Need to link against all dependency_libs?
6627 if test "$linkalldeplibs" = yes; then
6628 deplibs="$deplib $deplibs"
6629 else
6630 # Need to hardcode shared library paths
6631 # or/and link against static libraries
6632 newdependency_libs="$deplib $newdependency_libs"
6633 fi
6634 if $opt_preserve_dup_deps ; then
6635 case "$tmp_libs " in
6636 *" $deplib "*) func_append specialdeplibs " $deplib" ;;
6637 esac
6638 fi
6639 func_append tmp_libs " $deplib"
6640 done # for deplib
6641 continue
6642 fi # $linkmode = prog...
6643
6644 if test "$linkmode,$pass" = "prog,link"; then
6645 if test -n "$library_names" &&
6646 { { test "$prefer_static_libs" = no ||
6647 test "$prefer_static_libs,$installed" = "built,yes"; } ||
6648 test -z "$old_library"; }; then
6649 # We need to hardcode the library path
6650 if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then
6651 # Make sure the rpath contains only unique directories.
6652 case "$temp_rpath:" in
6653 *"$absdir:"*) ;;
6654 *) func_append temp_rpath "$absdir:" ;;
6655 esac
6656 fi
6657
6658 # Hardcode the library path.
6659 # Skip directories that are in the system default run-time
6660 # search path.
6661 case " $sys_lib_dlsearch_path " in
6662 *" $absdir "*) ;;
6663 *)
6664 case "$compile_rpath " in
6665 *" $absdir "*) ;;
6666 *) func_append compile_rpath " $absdir" ;;
6667 esac
6668 ;;
6669 esac
6670 case " $sys_lib_dlsearch_path " in
6671 *" $libdir "*) ;;
6672 *)
6673 case "$finalize_rpath " in
6674 *" $libdir "*) ;;
6675 *) func_append finalize_rpath " $libdir" ;;
6676 esac
6677 ;;
6678 esac
6679 fi # $linkmode,$pass = prog,link...
6680
6681 if test "$alldeplibs" = yes &&
6682 { test "$deplibs_check_method" = pass_all ||
6683 { test "$build_libtool_libs" = yes &&
6684 test -n "$library_names"; }; }; then
6685 # We only need to search for static libraries
6686 continue
6687 fi
6688 fi
6689
6690 link_static=no # Whether the deplib will be linked statically
6691 use_static_libs=$prefer_static_libs
6692 if test "$use_static_libs" = built && test "$installed" = yes; then
6693 use_static_libs=no
6694 fi
6695 if test -n "$library_names" &&
6696 { test "$use_static_libs" = no || test -z "$old_library"; }; then
6697 case $host in
6698 *cygwin* | *mingw* | *cegcc*)
6699 # No point in relinking DLLs because paths are not encoded
6700 func_append notinst_deplibs " $lib"
6701 need_relink=no
6702 ;;
6703 *)
6704 if test "$installed" = no; then
6705 func_append notinst_deplibs " $lib"
6706 need_relink=yes
6707 fi
6708 ;;
6709 esac
6710 # This is a shared library
6711
6712 # Warn about portability, can't link against -module's on some
6713 # systems (darwin). Don't bleat about dlopened modules though!
6714 dlopenmodule=""
6715 for dlpremoduletest in $dlprefiles; do
6716 if test "X$dlpremoduletest" = "X$lib"; then
6717 dlopenmodule="$dlpremoduletest"
6718 break
6719 fi
6720 done
6721 if test -z "$dlopenmodule" && test "$shouldnotlink" = yes && test "$pass" = link; then
6722 echo
6723 if test "$linkmode" = prog; then
6724 $ECHO "*** Warning: Linking the executable $output against the loadable module"
6725 else
6726 $ECHO "*** Warning: Linking the shared library $output against the loadable module"
6727 fi
6728 $ECHO "*** $linklib is not portable!"
6729 fi
6730 if test "$linkmode" = lib &&
6731 test "$hardcode_into_libs" = yes; then
6732 # Hardcode the library path.
6733 # Skip directories that are in the system default run-time
6734 # search path.
6735 case " $sys_lib_dlsearch_path " in
6736 *" $absdir "*) ;;
6737 *)
6738 case "$compile_rpath " in
6739 *" $absdir "*) ;;
6740 *) func_append compile_rpath " $absdir" ;;
6741 esac
6742 ;;
6743 esac
6744 case " $sys_lib_dlsearch_path " in
6745 *" $libdir "*) ;;
6746 *)
6747 case "$finalize_rpath " in
6748 *" $libdir "*) ;;
6749 *) func_append finalize_rpath " $libdir" ;;
6750 esac
6751 ;;
6752 esac
6753 fi
6754
6755 if test -n "$old_archive_from_expsyms_cmds"; then
6756 # figure out the soname
6757 set dummy $library_names
6758 shift
6759 realname="$1"
6760 shift
6761 libname=`eval "\\$ECHO \"$libname_spec\""`
6762 # use dlname if we got it. it's perfectly good, no?
6763 if test -n "$dlname"; then
6764 soname="$dlname"
6765 elif test -n "$soname_spec"; then
6766 # bleh windows
6767 case $host in
6768 *cygwin* | mingw* | *cegcc*)
6769 func_arith $current - $age
6770 major=$func_arith_result
6771 versuffix="-$major"
6772 ;;
6773 esac
6774 eval soname=\"$soname_spec\"
6775 else
6776 soname="$realname"
6777 fi
6778
6779 # Make a new name for the extract_expsyms_cmds to use
6780 soroot="$soname"
6781 func_basename "$soroot"
6782 soname="$func_basename_result"
6783 func_stripname 'lib' '.dll' "$soname"
6784 newlib=libimp-$func_stripname_result.a
6785
6786 # If the library has no export list, then create one now
6787 if test -f "$output_objdir/$soname-def"; then :
6788 else
6789 func_verbose "extracting exported symbol list from \`$soname'"
6790 func_execute_cmds "$extract_expsyms_cmds" 'exit $?'
6791 fi
6792
6793 # Create $newlib
6794 if test -f "$output_objdir/$newlib"; then :; else
6795 func_verbose "generating import library for \`$soname'"
6796 func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?'
6797 fi
6798 # make sure the library variables are pointing to the new library
6799 dir=$output_objdir
6800 linklib=$newlib
6801 fi # test -n "$old_archive_from_expsyms_cmds"
6802
6803 if test "$linkmode" = prog || test "$opt_mode" != relink; then
6804 add_shlibpath=
6805 add_dir=
6806 add=
6807 lib_linked=yes
6808 case $hardcode_action in
6809 immediate | unsupported)
6810 if test "$hardcode_direct" = no; then
6811 add="$dir/$linklib"
6812 case $host in
6813 *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;;
6814 *-*-sysv4*uw2*) add_dir="-L$dir" ;;
6815 *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \
6816 *-*-unixware7*) add_dir="-L$dir" ;;
6817 *-*-darwin* )
6818 # if the lib is a (non-dlopened) module then we can not
6819 # link against it, someone is ignoring the earlier warnings
6820 if /usr/bin/file -L $add 2> /dev/null |
6821 $GREP ": [^:]* bundle" >/dev/null ; then
6822 if test "X$dlopenmodule" != "X$lib"; then
6823 $ECHO "*** Warning: lib $linklib is a module, not a shared library"
6824 if test -z "$old_library" ; then
6825 echo
6826 echo "*** And there doesn't seem to be a static archive available"
6827 echo "*** The link will probably fail, sorry"
6828 else
6829 add="$dir/$old_library"
6830 fi
6831 elif test -n "$old_library"; then
6832 add="$dir/$old_library"
6833 fi
6834 fi
6835 esac
6836 elif test "$hardcode_minus_L" = no; then
6837 case $host in
6838 *-*-sunos*) add_shlibpath="$dir" ;;
6839 esac
6840 add_dir="-L$dir"
6841 add="-l$name"
6842 elif test "$hardcode_shlibpath_var" = no; then
6843 add_shlibpath="$dir"
6844 add="-l$name"
6845 else
6846 lib_linked=no
6847 fi
6848 ;;
6849 relink)
6850 if test "$hardcode_direct" = yes &&
6851 test "$hardcode_direct_absolute" = no; then
6852 add="$dir/$linklib"
6853 elif test "$hardcode_minus_L" = yes; then
6854 add_dir="-L$absdir"
6855 # Try looking first in the location we're being installed to.
6856 if test -n "$inst_prefix_dir"; then
6857 case $libdir in
6858 [\\/]*)
6859 func_append add_dir " -L$inst_prefix_dir$libdir"
6860 ;;
6861 esac
6862 fi
6863 add="-l$name"
6864 elif test "$hardcode_shlibpath_var" = yes; then
6865 add_shlibpath="$dir"
6866 add="-l$name"
6867 else
6868 lib_linked=no
6869 fi
6870 ;;
6871 *) lib_linked=no ;;
6872 esac
6873
6874 if test "$lib_linked" != yes; then
6875 func_fatal_configuration "unsupported hardcode properties"
6876 fi
6877
6878 if test -n "$add_shlibpath"; then
6879 case :$compile_shlibpath: in
6880 *":$add_shlibpath:"*) ;;
6881 *) func_append compile_shlibpath "$add_shlibpath:" ;;
6882 esac
6883 fi
6884 if test "$linkmode" = prog; then
6885 test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs"
6886 test -n "$add" && compile_deplibs="$add $compile_deplibs"
6887 else
6888 test -n "$add_dir" && deplibs="$add_dir $deplibs"
6889 test -n "$add" && deplibs="$add $deplibs"
6890 if test "$hardcode_direct" != yes &&
6891 test "$hardcode_minus_L" != yes &&
6892 test "$hardcode_shlibpath_var" = yes; then
6893 case :$finalize_shlibpath: in
6894 *":$libdir:"*) ;;
6895 *) func_append finalize_shlibpath "$libdir:" ;;
6896 esac
6897 fi
6898 fi
6899 fi
6900
6901 if test "$linkmode" = prog || test "$opt_mode" = relink; then
6902 add_shlibpath=
6903 add_dir=
6904 add=
6905 # Finalize command for both is simple: just hardcode it.
6906 if test "$hardcode_direct" = yes &&
6907 test "$hardcode_direct_absolute" = no; then
6908 add="$libdir/$linklib"
6909 elif test "$hardcode_minus_L" = yes; then
6910 add_dir="-L$libdir"
6911 add="-l$name"
6912 elif test "$hardcode_shlibpath_var" = yes; then
6913 case :$finalize_shlibpath: in
6914 *":$libdir:"*) ;;
6915 *) func_append finalize_shlibpath "$libdir:" ;;
6916 esac
6917 add="-l$name"
6918 elif test "$hardcode_automatic" = yes; then
6919 if test -n "$inst_prefix_dir" &&
6920 test -f "$inst_prefix_dir$libdir/$linklib" ; then
6921 add="$inst_prefix_dir$libdir/$linklib"
6922 else
6923 add="$libdir/$linklib"
6924 fi
6925 else
6926 # We cannot seem to hardcode it, guess we'll fake it.
6927 add_dir="-L$libdir"
6928 # Try looking first in the location we're being installed to.
6929 if test -n "$inst_prefix_dir"; then
6930 case $libdir in
6931 [\\/]*)
6932 func_append add_dir " -L$inst_prefix_dir$libdir"
6933 ;;
6934 esac
6935 fi
6936 add="-l$name"
6937 fi
6938
6939 if test "$linkmode" = prog; then
6940 test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs"
6941 test -n "$add" && finalize_deplibs="$add $finalize_deplibs"
6942 else
6943 test -n "$add_dir" && deplibs="$add_dir $deplibs"
6944 test -n "$add" && deplibs="$add $deplibs"
6945 fi
6946 fi
6947 elif test "$linkmode" = prog; then
6948 # Here we assume that one of hardcode_direct or hardcode_minus_L
6949 # is not unsupported. This is valid on all known static and
6950 # shared platforms.
6951 if test "$hardcode_direct" != unsupported; then
6952 test -n "$old_library" && linklib="$old_library"
6953 compile_deplibs="$dir/$linklib $compile_deplibs"
6954 finalize_deplibs="$dir/$linklib $finalize_deplibs"
6955 else
6956 compile_deplibs="-l$name -L$dir $compile_deplibs"
6957 finalize_deplibs="-l$name -L$dir $finalize_deplibs"
6958 fi
6959 elif test "$build_libtool_libs" = yes; then
6960 # Not a shared library
6961 if test "$deplibs_check_method" != pass_all; then
6962 # We're trying link a shared library against a static one
6963 # but the system doesn't support it.
6964
6965 # Just print a warning and add the library to dependency_libs so
6966 # that the program can be linked against the static library.
6967 echo
6968 $ECHO "*** Warning: This system can not link to static lib archive $lib."
6969 echo "*** I have the capability to make that library automatically link in when"
6970 echo "*** you link to this library. But I can only do this if you have a"
6971 echo "*** shared version of the library, which you do not appear to have."
6972 if test "$module" = yes; then
6973 echo "*** But as you try to build a module library, libtool will still create "
6974 echo "*** a static module, that should work as long as the dlopening application"
6975 echo "*** is linked with the -dlopen flag to resolve symbols at runtime."
6976 if test -z "$global_symbol_pipe"; then
6977 echo
6978 echo "*** However, this would only work if libtool was able to extract symbol"
6979 echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
6980 echo "*** not find such a program. So, this module is probably useless."
6981 echo "*** \`nm' from GNU binutils and a full rebuild may help."
6982 fi
6983 if test "$build_old_libs" = no; then
6984 build_libtool_libs=module
6985 build_old_libs=yes
6986 else
6987 build_libtool_libs=no
6988 fi
6989 fi
6990 else
6991 deplibs="$dir/$old_library $deplibs"
6992 link_static=yes
6993 fi
6994 fi # link shared/static library?
6995
6996 if test "$linkmode" = lib; then
6997 if test -n "$dependency_libs" &&
6998 { test "$hardcode_into_libs" != yes ||
6999 test "$build_old_libs" = yes ||
7000 test "$link_static" = yes; }; then
7001 # Extract -R from dependency_libs
7002 temp_deplibs=
7003 for libdir in $dependency_libs; do
7004 case $libdir in
7005 -R*) func_stripname '-R' '' "$libdir"
7006 temp_xrpath=$func_stripname_result
7007 case " $xrpath " in
7008 *" $temp_xrpath "*) ;;
7009 *) func_append xrpath " $temp_xrpath";;
7010 esac;;
7011 *) func_append temp_deplibs " $libdir";;
7012 esac
7013 done
7014 dependency_libs="$temp_deplibs"
7015 fi
7016
7017 func_append newlib_search_path " $absdir"
7018 # Link against this library
7019 test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
7020 # ... and its dependency_libs
7021 tmp_libs=
7022 for deplib in $dependency_libs; do
7023 newdependency_libs="$deplib $newdependency_libs"
7024 case $deplib in
7025 -L*) func_stripname '-L' '' "$deplib"
7026 func_resolve_sysroot "$func_stripname_result";;
7027 *) func_resolve_sysroot "$deplib" ;;
7028 esac
7029 if $opt_preserve_dup_deps ; then
7030 case "$tmp_libs " in
7031 *" $func_resolve_sysroot_result "*)
7032 func_append specialdeplibs " $func_resolve_sysroot_result" ;;
7033 esac
7034 fi
7035 func_append tmp_libs " $func_resolve_sysroot_result"
7036 done
7037
7038 if test "$link_all_deplibs" != no; then
7039 # Add the search paths of all dependency libraries
7040 for deplib in $dependency_libs; do
7041 path=
7042 case $deplib in
7043 -L*) path="$deplib" ;;
7044 *.la)
7045 func_resolve_sysroot "$deplib"
7046 deplib=$func_resolve_sysroot_result
7047 func_dirname "$deplib" "" "."
7048 dir=$func_dirname_result
7049 # We need an absolute path.
7050 case $dir in
7051 [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;;
7052 *)
7053 absdir=`cd "$dir" && pwd`
7054 if test -z "$absdir"; then
7055 func_warning "cannot determine absolute directory name of \`$dir'"
7056 absdir="$dir"
7057 fi
7058 ;;
7059 esac
7060 if $GREP "^installed=no" $deplib > /dev/null; then
7061 case $host in
7062 *-*-darwin*)
7063 depdepl=
7064 eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
7065 if test -n "$deplibrary_names" ; then
7066 for tmp in $deplibrary_names ; do
7067 depdepl=$tmp
7068 done
7069 if test -f "$absdir/$objdir/$depdepl" ; then
7070 depdepl="$absdir/$objdir/$depdepl"
7071 darwin_install_name=`${OTOOL} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
7072 if test -z "$darwin_install_name"; then
7073 darwin_install_name=`${OTOOL64} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
7074 fi
7075 func_append compiler_flags " ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}"
7076 func_append linker_flags " -dylib_file ${darwin_install_name}:${depdepl}"
7077 path=
7078 fi
7079 fi
7080 ;;
7081 *)
7082 path="-L$absdir/$objdir"
7083 ;;
7084 esac
7085 else
7086 eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
7087 test -z "$libdir" && \
7088 func_fatal_error "\`$deplib' is not a valid libtool archive"
7089 test "$absdir" != "$libdir" && \
7090 func_warning "\`$deplib' seems to be moved"
7091
7092 path="-L$absdir"
7093 fi
7094 ;;
7095 esac
7096 case " $deplibs " in
7097 *" $path "*) ;;
7098 *) deplibs="$path $deplibs" ;;
7099 esac
7100 done
7101 fi # link_all_deplibs != no
7102 fi # linkmode = lib
7103 done # for deplib in $libs
7104 if test "$pass" = link; then
7105 if test "$linkmode" = "prog"; then
7106 compile_deplibs="$new_inherited_linker_flags $compile_deplibs"
7107 finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs"
7108 else
7109 compiler_flags="$compiler_flags "`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
7110 fi
7111 fi
7112 dependency_libs="$newdependency_libs"
7113 if test "$pass" = dlpreopen; then
7114 # Link the dlpreopened libraries before other libraries
7115 for deplib in $save_deplibs; do
7116 deplibs="$deplib $deplibs"
7117 done
7118 fi
7119 if test "$pass" != dlopen; then
7120 if test "$pass" != conv; then
7121 # Make sure lib_search_path contains only unique directories.
7122 lib_search_path=
7123 for dir in $newlib_search_path; do
7124 case "$lib_search_path " in
7125 *" $dir "*) ;;
7126 *) func_append lib_search_path " $dir" ;;
7127 esac
7128 done
7129 newlib_search_path=
7130 fi
7131
7132 if test "$linkmode,$pass" != "prog,link"; then
7133 vars="deplibs"
7134 else
7135 vars="compile_deplibs finalize_deplibs"
7136 fi
7137 for var in $vars dependency_libs; do
7138 # Add libraries to $var in reverse order
7139 eval tmp_libs=\"\$$var\"
7140 new_libs=
7141 for deplib in $tmp_libs; do
7142 # FIXME: Pedantically, this is the right thing to do, so
7143 # that some nasty dependency loop isn't accidentally
7144 # broken:
7145 #new_libs="$deplib $new_libs"
7146 # Pragmatically, this seems to cause very few problems in
7147 # practice:
7148 case $deplib in
7149 -L*) new_libs="$deplib $new_libs" ;;
7150 -R*) ;;
7151 *)
7152 # And here is the reason: when a library appears more
7153 # than once as an explicit dependence of a library, or
7154 # is implicitly linked in more than once by the
7155 # compiler, it is considered special, and multiple
7156 # occurrences thereof are not removed. Compare this
7157 # with having the same library being listed as a
7158 # dependency of multiple other libraries: in this case,
7159 # we know (pedantically, we assume) the library does not
7160 # need to be listed more than once, so we keep only the
7161 # last copy. This is not always right, but it is rare
7162 # enough that we require users that really mean to play
7163 # such unportable linking tricks to link the library
7164 # using -Wl,-lname, so that libtool does not consider it
7165 # for duplicate removal.
7166 case " $specialdeplibs " in
7167 *" $deplib "*) new_libs="$deplib $new_libs" ;;
7168 *)
7169 case " $new_libs " in
7170 *" $deplib "*) ;;
7171 *) new_libs="$deplib $new_libs" ;;
7172 esac
7173 ;;
7174 esac
7175 ;;
7176 esac
7177 done
7178 tmp_libs=
7179 for deplib in $new_libs; do
7180 case $deplib in
7181 -L*)
7182 case " $tmp_libs " in
7183 *" $deplib "*) ;;
7184 *) func_append tmp_libs " $deplib" ;;
7185 esac
7186 ;;
7187 *) func_append tmp_libs " $deplib" ;;
7188 esac
7189 done
7190 eval $var=\"$tmp_libs\"
7191 done # for var
7192 fi
7193 # Last step: remove runtime libs from dependency_libs
7194 # (they stay in deplibs)
7195 tmp_libs=
7196 for i in $dependency_libs ; do
7197 case " $predeps $postdeps $compiler_lib_search_path " in
7198 *" $i "*)
7199 i=""
7200 ;;
7201 esac
7202 if test -n "$i" ; then
7203 func_append tmp_libs " $i"
7204 fi
7205 done
7206 dependency_libs=$tmp_libs
7207 done # for pass
7208 if test "$linkmode" = prog; then
7209 dlfiles="$newdlfiles"
7210 fi
7211 if test "$linkmode" = prog || test "$linkmode" = lib; then
7212 dlprefiles="$newdlprefiles"
7213 fi
7214
7215 case $linkmode in
7216 oldlib)
7217 if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
7218 func_warning "\`-dlopen' is ignored for archives"
7219 fi
7220
7221 case " $deplibs" in
7222 *\ -l* | *\ -L*)
7223 func_warning "\`-l' and \`-L' are ignored for archives" ;;
7224 esac
7225
7226 test -n "$rpath" && \
7227 func_warning "\`-rpath' is ignored for archives"
7228
7229 test -n "$xrpath" && \
7230 func_warning "\`-R' is ignored for archives"
7231
7232 test -n "$vinfo" && \
7233 func_warning "\`-version-info/-version-number' is ignored for archives"
7234
7235 test -n "$release" && \
7236 func_warning "\`-release' is ignored for archives"
7237
7238 test -n "$export_symbols$export_symbols_regex" && \
7239 func_warning "\`-export-symbols' is ignored for archives"
7240
7241 # Now set the variables for building old libraries.
7242 build_libtool_libs=no
7243 oldlibs="$output"
7244 func_append objs "$old_deplibs"
7245 ;;
7246
7247 lib)
7248 # Make sure we only generate libraries of the form `libNAME.la'.
7249 case $outputname in
7250 lib*)
7251 func_stripname 'lib' '.la' "$outputname"
7252 name=$func_stripname_result
7253 eval shared_ext=\"$shrext_cmds\"
7254 eval libname=\"$libname_spec\"
7255 ;;
7256 *)
7257 test "$module" = no && \
7258 func_fatal_help "libtool library \`$output' must begin with \`lib'"
7259
7260 if test "$need_lib_prefix" != no; then
7261 # Add the "lib" prefix for modules if required
7262 func_stripname '' '.la' "$outputname"
7263 name=$func_stripname_result
7264 eval shared_ext=\"$shrext_cmds\"
7265 eval libname=\"$libname_spec\"
7266 else
7267 func_stripname '' '.la' "$outputname"
7268 libname=$func_stripname_result
7269 fi
7270 ;;
7271 esac
7272
7273 if test -n "$objs"; then
7274 if test "$deplibs_check_method" != pass_all; then
7275 func_fatal_error "cannot build libtool library \`$output' from non-libtool objects on this host:$objs"
7276 else
7277 echo
7278 $ECHO "*** Warning: Linking the shared library $output against the non-libtool"
7279 $ECHO "*** objects $objs is not portable!"
7280 func_append libobjs " $objs"
7281 fi
7282 fi
7283
7284 test "$dlself" != no && \
7285 func_warning "\`-dlopen self' is ignored for libtool libraries"
7286
7287 set dummy $rpath
7288 shift
7289 test "$#" -gt 1 && \
7290 func_warning "ignoring multiple \`-rpath's for a libtool library"
7291
7292 install_libdir="$1"
7293
7294 oldlibs=
7295 if test -z "$rpath"; then
7296 if test "$build_libtool_libs" = yes; then
7297 # Building a libtool convenience library.
7298 # Some compilers have problems with a `.al' extension so
7299 # convenience libraries should have the same extension an
7300 # archive normally would.
7301 oldlibs="$output_objdir/$libname.$libext $oldlibs"
7302 build_libtool_libs=convenience
7303 build_old_libs=yes
7304 fi
7305
7306 test -n "$vinfo" && \
7307 func_warning "\`-version-info/-version-number' is ignored for convenience libraries"
7308
7309 test -n "$release" && \
7310 func_warning "\`-release' is ignored for convenience libraries"
7311 else
7312
7313 # Parse the version information argument.
7314 save_ifs="$IFS"; IFS=':'
7315 set dummy $vinfo 0 0 0
7316 shift
7317 IFS="$save_ifs"
7318
7319 test -n "$7" && \
7320 func_fatal_help "too many parameters to \`-version-info'"
7321
7322 # convert absolute version numbers to libtool ages
7323 # this retains compatibility with .la files and attempts
7324 # to make the code below a bit more comprehensible
7325
7326 case $vinfo_number in
7327 yes)
7328 number_major="$1"
7329 number_minor="$2"
7330 number_revision="$3"
7331 #
7332 # There are really only two kinds -- those that
7333 # use the current revision as the major version
7334 # and those that subtract age and use age as
7335 # a minor version. But, then there is irix
7336 # which has an extra 1 added just for fun
7337 #
7338 case $version_type in
7339 # correct linux to gnu/linux during the next big refactor
7340 darwin|linux|osf|windows|none)
7341 func_arith $number_major + $number_minor
7342 current=$func_arith_result
7343 age="$number_minor"
7344 revision="$number_revision"
7345 ;;
7346 freebsd-aout|freebsd-elf|qnx|sunos)
7347 current="$number_major"
7348 revision="$number_minor"
7349 age="0"
7350 ;;
7351 irix|nonstopux)
7352 func_arith $number_major + $number_minor
7353 current=$func_arith_result
7354 age="$number_minor"
7355 revision="$number_minor"
7356 lt_irix_increment=no
7357 ;;
7358 *)
7359 func_fatal_configuration "$modename: unknown library version type \`$version_type'"
7360 ;;
7361 esac
7362 ;;
7363 no)
7364 current="$1"
7365 revision="$2"
7366 age="$3"
7367 ;;
7368 esac
7369
7370 # Check that each of the things are valid numbers.
7371 case $current in
7372 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
7373 *)
7374 func_error "CURRENT \`$current' must be a nonnegative integer"
7375 func_fatal_error "\`$vinfo' is not valid version information"
7376 ;;
7377 esac
7378
7379 case $revision in
7380 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
7381 *)
7382 func_error "REVISION \`$revision' must be a nonnegative integer"
7383 func_fatal_error "\`$vinfo' is not valid version information"
7384 ;;
7385 esac
7386
7387 case $age in
7388 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
7389 *)
7390 func_error "AGE \`$age' must be a nonnegative integer"
7391 func_fatal_error "\`$vinfo' is not valid version information"
7392 ;;
7393 esac
7394
7395 if test "$age" -gt "$current"; then
7396 func_error "AGE \`$age' is greater than the current interface number \`$current'"
7397 func_fatal_error "\`$vinfo' is not valid version information"
7398 fi
7399
7400 # Calculate the version variables.
7401 major=
7402 versuffix=
7403 verstring=
7404 case $version_type in
7405 none) ;;
7406
7407 darwin)
7408 # Like Linux, but with the current version available in
7409 # verstring for coding it into the library header
7410 func_arith $current - $age
7411 major=.$func_arith_result
7412 versuffix="$major.$age.$revision"
7413 # Darwin ld doesn't like 0 for these options...
7414 func_arith $current + 1
7415 minor_current=$func_arith_result
7416 xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision"
7417 verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
7418 ;;
7419
7420 freebsd-aout)
7421 major=".$current"
7422 versuffix=".$current.$revision";
7423 ;;
7424
7425 freebsd-elf)
7426 major=".$current"
7427 versuffix=".$current"
7428 ;;
7429
7430 irix | nonstopux)
7431 if test "X$lt_irix_increment" = "Xno"; then
7432 func_arith $current - $age
7433 else
7434 func_arith $current - $age + 1
7435 fi
7436 major=$func_arith_result
7437
7438 case $version_type in
7439 nonstopux) verstring_prefix=nonstopux ;;
7440 *) verstring_prefix=sgi ;;
7441 esac
7442 verstring="$verstring_prefix$major.$revision"
7443
7444 # Add in all the interfaces that we are compatible with.
7445 loop=$revision
7446 while test "$loop" -ne 0; do
7447 func_arith $revision - $loop
7448 iface=$func_arith_result
7449 func_arith $loop - 1
7450 loop=$func_arith_result
7451 verstring="$verstring_prefix$major.$iface:$verstring"
7452 done
7453
7454 # Before this point, $major must not contain `.'.
7455 major=.$major
7456 versuffix="$major.$revision"
7457 ;;
7458
7459 linux) # correct to gnu/linux during the next big refactor
7460 func_arith $current - $age
7461 major=.$func_arith_result
7462 versuffix="$major.$age.$revision"
7463 ;;
7464
7465 osf)
7466 func_arith $current - $age
7467 major=.$func_arith_result
7468 versuffix=".$current.$age.$revision"
7469 verstring="$current.$age.$revision"
7470
7471 # Add in all the interfaces that we are compatible with.
7472 loop=$age
7473 while test "$loop" -ne 0; do
7474 func_arith $current - $loop
7475 iface=$func_arith_result
7476 func_arith $loop - 1
7477 loop=$func_arith_result
7478 verstring="$verstring:${iface}.0"
7479 done
7480
7481 # Make executables depend on our current version.
7482 func_append verstring ":${current}.0"
7483 ;;
7484
7485 qnx)
7486 major=".$current"
7487 versuffix=".$current"
7488 ;;
7489
7490 sunos)
7491 major=".$current"
7492 versuffix=".$current.$revision"
7493 ;;
7494
7495 windows)
7496 # Use '-' rather than '.', since we only want one
7497 # extension on DOS 8.3 filesystems.
7498 func_arith $current - $age
7499 major=$func_arith_result
7500 versuffix="-$major"
7501 ;;
7502
7503 *)
7504 func_fatal_configuration "unknown library version type \`$version_type'"
7505 ;;
7506 esac
7507
7508 # Clear the version info if we defaulted, and they specified a release.
7509 if test -z "$vinfo" && test -n "$release"; then
7510 major=
7511 case $version_type in
7512 darwin)
7513 # we can't check for "0.0" in archive_cmds due to quoting
7514 # problems, so we reset it completely
7515 verstring=
7516 ;;
7517 *)
7518 verstring="0.0"
7519 ;;
7520 esac
7521 if test "$need_version" = no; then
7522 versuffix=
7523 else
7524 versuffix=".0.0"
7525 fi
7526 fi
7527
7528 # Remove version info from name if versioning should be avoided
7529 if test "$avoid_version" = yes && test "$need_version" = no; then
7530 major=
7531 versuffix=
7532 verstring=""
7533 fi
7534
7535 # Check to see if the archive will have undefined symbols.
7536 if test "$allow_undefined" = yes; then
7537 if test "$allow_undefined_flag" = unsupported; then
7538 func_warning "undefined symbols not allowed in $host shared libraries"
7539 build_libtool_libs=no
7540 build_old_libs=yes
7541 fi
7542 else
7543 # Don't allow undefined symbols.
7544 allow_undefined_flag="$no_undefined_flag"
7545 fi
7546
7547 fi
7548
7549 func_generate_dlsyms "$libname" "$libname" "yes"
7550 func_append libobjs " $symfileobj"
7551 test "X$libobjs" = "X " && libobjs=
7552
7553 if test "$opt_mode" != relink; then
7554 # Remove our outputs, but don't remove object files since they
7555 # may have been created when compiling PIC objects.
7556 removelist=
7557 tempremovelist=`$ECHO "$output_objdir/*"`
7558 for p in $tempremovelist; do
7559 case $p in
7560 *.$objext | *.gcno)
7561 ;;
7562 $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*)
7563 if test "X$precious_files_regex" != "X"; then
7564 if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1
7565 then
7566 continue
7567 fi
7568 fi
7569 func_append removelist " $p"
7570 ;;
7571 *) ;;
7572 esac
7573 done
7574 test -n "$removelist" && \
7575 func_show_eval "${RM}r \$removelist"
7576 fi
7577
7578 # Now set the variables for building old libraries.
7579 if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then
7580 func_append oldlibs " $output_objdir/$libname.$libext"
7581
7582 # Transform .lo files to .o files.
7583 oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; $lo2o" | $NL2SP`
7584 fi
7585
7586 # Eliminate all temporary directories.
7587 #for path in $notinst_path; do
7588 # lib_search_path=`$ECHO "$lib_search_path " | $SED "s% $path % %g"`
7589 # deplibs=`$ECHO "$deplibs " | $SED "s% -L$path % %g"`
7590 # dependency_libs=`$ECHO "$dependency_libs " | $SED "s% -L$path % %g"`
7591 #done
7592
7593 if test -n "$xrpath"; then
7594 # If the user specified any rpath flags, then add them.
7595 temp_xrpath=
7596 for libdir in $xrpath; do
7597 func_replace_sysroot "$libdir"
7598 func_append temp_xrpath " -R$func_replace_sysroot_result"
7599 case "$finalize_rpath " in
7600 *" $libdir "*) ;;
7601 *) func_append finalize_rpath " $libdir" ;;
7602 esac
7603 done
7604 if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then
7605 dependency_libs="$temp_xrpath $dependency_libs"
7606 fi
7607 fi
7608
7609 # Make sure dlfiles contains only unique files that won't be dlpreopened
7610 old_dlfiles="$dlfiles"
7611 dlfiles=
7612 for lib in $old_dlfiles; do
7613 case " $dlprefiles $dlfiles " in
7614 *" $lib "*) ;;
7615 *) func_append dlfiles " $lib" ;;
7616 esac
7617 done
7618
7619 # Make sure dlprefiles contains only unique files
7620 old_dlprefiles="$dlprefiles"
7621 dlprefiles=
7622 for lib in $old_dlprefiles; do
7623 case "$dlprefiles " in
7624 *" $lib "*) ;;
7625 *) func_append dlprefiles " $lib" ;;
7626 esac
7627 done
7628
7629 if test "$build_libtool_libs" = yes; then
7630 if test -n "$rpath"; then
7631 case $host in
7632 *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*)
7633 # these systems don't actually have a c library (as such)!
7634 ;;
7635 *-*-rhapsody* | *-*-darwin1.[012])
7636 # Rhapsody C library is in the System framework
7637 func_append deplibs " System.ltframework"
7638 ;;
7639 *-*-netbsd*)
7640 # Don't link with libc until the a.out ld.so is fixed.
7641 ;;
7642 *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
7643 # Do not include libc due to us having libc/libc_r.
7644 ;;
7645 *-*-sco3.2v5* | *-*-sco5v6*)
7646 # Causes problems with __ctype
7647 ;;
7648 *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
7649 # Compiler inserts libc in the correct place for threads to work
7650 ;;
7651 *)
7652 # Add libc to deplibs on all other systems if necessary.
7653 if test "$build_libtool_need_lc" = "yes"; then
7654 func_append deplibs " -lc"
7655 fi
7656 ;;
7657 esac
7658 fi
7659
7660 # Transform deplibs into only deplibs that can be linked in shared.
7661 name_save=$name
7662 libname_save=$libname
7663 release_save=$release
7664 versuffix_save=$versuffix
7665 major_save=$major
7666 # I'm not sure if I'm treating the release correctly. I think
7667 # release should show up in the -l (ie -lgmp5) so we don't want to
7668 # add it in twice. Is that correct?
7669 release=""
7670 versuffix=""
7671 major=""
7672 newdeplibs=
7673 droppeddeps=no
7674 case $deplibs_check_method in
7675 pass_all)
7676 # Don't check for shared/static. Everything works.
7677 # This might be a little naive. We might want to check
7678 # whether the library exists or not. But this is on
7679 # osf3 & osf4 and I'm not really sure... Just
7680 # implementing what was already the behavior.
7681 newdeplibs=$deplibs
7682 ;;
7683 test_compile)
7684 # This code stresses the "libraries are programs" paradigm to its
7685 # limits. Maybe even breaks it. We compile a program, linking it
7686 # against the deplibs as a proxy for the library. Then we can check
7687 # whether they linked in statically or dynamically with ldd.
7688 $opt_dry_run || $RM conftest.c
7689 cat > conftest.c <<EOF
7690 int main() { return 0; }
7691 EOF
7692 $opt_dry_run || $RM conftest
7693 if $LTCC $LTCFLAGS -o conftest conftest.c $deplibs; then
7694 ldd_output=`ldd conftest`
7695 for i in $deplibs; do
7696 case $i in
7697 -l*)
7698 func_stripname -l '' "$i"
7699 name=$func_stripname_result
7700 if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
7701 case " $predeps $postdeps " in
7702 *" $i "*)
7703 func_append newdeplibs " $i"
7704 i=""
7705 ;;
7706 esac
7707 fi
7708 if test -n "$i" ; then
7709 libname=`eval "\\$ECHO \"$libname_spec\""`
7710 deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
7711 set dummy $deplib_matches; shift
7712 deplib_match=$1
7713 if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
7714 func_append newdeplibs " $i"
7715 else
7716 droppeddeps=yes
7717 echo
7718 $ECHO "*** Warning: dynamic linker does not accept needed library $i."
7719 echo "*** I have the capability to make that library automatically link in when"
7720 echo "*** you link to this library. But I can only do this if you have a"
7721 echo "*** shared version of the library, which I believe you do not have"
7722 echo "*** because a test_compile did reveal that the linker did not use it for"
7723 echo "*** its dynamic dependency list that programs get resolved with at runtime."
7724 fi
7725 fi
7726 ;;
7727 *)
7728 func_append newdeplibs " $i"
7729 ;;
7730 esac
7731 done
7732 else
7733 # Error occurred in the first compile. Let's try to salvage
7734 # the situation: Compile a separate program for each library.
7735 for i in $deplibs; do
7736 case $i in
7737 -l*)
7738 func_stripname -l '' "$i"
7739 name=$func_stripname_result
7740 $opt_dry_run || $RM conftest
7741 if $LTCC $LTCFLAGS -o conftest conftest.c $i; then
7742 ldd_output=`ldd conftest`
7743 if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
7744 case " $predeps $postdeps " in
7745 *" $i "*)
7746 func_append newdeplibs " $i"
7747 i=""
7748 ;;
7749 esac
7750 fi
7751 if test -n "$i" ; then
7752 libname=`eval "\\$ECHO \"$libname_spec\""`
7753 deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
7754 set dummy $deplib_matches; shift
7755 deplib_match=$1
7756 if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
7757 func_append newdeplibs " $i"
7758 else
7759 droppeddeps=yes
7760 echo
7761 $ECHO "*** Warning: dynamic linker does not accept needed library $i."
7762 echo "*** I have the capability to make that library automatically link in when"
7763 echo "*** you link to this library. But I can only do this if you have a"
7764 echo "*** shared version of the library, which you do not appear to have"
7765 echo "*** because a test_compile did reveal that the linker did not use this one"
7766 echo "*** as a dynamic dependency that programs can get resolved with at runtime."
7767 fi
7768 fi
7769 else
7770 droppeddeps=yes
7771 echo
7772 $ECHO "*** Warning! Library $i is needed by this library but I was not able to"
7773 echo "*** make it link in! You will probably need to install it or some"
7774 echo "*** library that it depends on before this library will be fully"
7775 echo "*** functional. Installing it before continuing would be even better."
7776 fi
7777 ;;
7778 *)
7779 func_append newdeplibs " $i"
7780 ;;
7781 esac
7782 done
7783 fi
7784 ;;
7785 file_magic*)
7786 set dummy $deplibs_check_method; shift
7787 file_magic_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
7788 for a_deplib in $deplibs; do
7789 case $a_deplib in
7790 -l*)
7791 func_stripname -l '' "$a_deplib"
7792 name=$func_stripname_result
7793 if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
7794 case " $predeps $postdeps " in
7795 *" $a_deplib "*)
7796 func_append newdeplibs " $a_deplib"
7797 a_deplib=""
7798 ;;
7799 esac
7800 fi
7801 if test -n "$a_deplib" ; then
7802 libname=`eval "\\$ECHO \"$libname_spec\""`
7803 if test -n "$file_magic_glob"; then
7804 libnameglob=`func_echo_all "$libname" | $SED -e $file_magic_glob`
7805 else
7806 libnameglob=$libname
7807 fi
7808 test "$want_nocaseglob" = yes && nocaseglob=`shopt -p nocaseglob`
7809 for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
7810 if test "$want_nocaseglob" = yes; then
7811 shopt -s nocaseglob
7812 potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null`
7813 $nocaseglob
7814 else
7815 potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null`
7816 fi
7817 for potent_lib in $potential_libs; do
7818 # Follow soft links.
7819 if ls -lLd "$potent_lib" 2>/dev/null |
7820 $GREP " -> " >/dev/null; then
7821 continue
7822 fi
7823 # The statement above tries to avoid entering an
7824 # endless loop below, in case of cyclic links.
7825 # We might still enter an endless loop, since a link
7826 # loop can be closed while we follow links,
7827 # but so what?
7828 potlib="$potent_lib"
7829 while test -h "$potlib" 2>/dev/null; do
7830 potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'`
7831 case $potliblink in
7832 [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";;
7833 *) potlib=`$ECHO "$potlib" | $SED 's,[^/]*$,,'`"$potliblink";;
7834 esac
7835 done
7836 if eval $file_magic_cmd \"\$potlib\" 2>/dev/null |
7837 $SED -e 10q |
7838 $EGREP "$file_magic_regex" > /dev/null; then
7839 func_append newdeplibs " $a_deplib"
7840 a_deplib=""
7841 break 2
7842 fi
7843 done
7844 done
7845 fi
7846 if test -n "$a_deplib" ; then
7847 droppeddeps=yes
7848 echo
7849 $ECHO "*** Warning: linker path does not have real file for library $a_deplib."
7850 echo "*** I have the capability to make that library automatically link in when"
7851 echo "*** you link to this library. But I can only do this if you have a"
7852 echo "*** shared version of the library, which you do not appear to have"
7853 echo "*** because I did check the linker path looking for a file starting"
7854 if test -z "$potlib" ; then
7855 $ECHO "*** with $libname but no candidates were found. (...for file magic test)"
7856 else
7857 $ECHO "*** with $libname and none of the candidates passed a file format test"
7858 $ECHO "*** using a file magic. Last file checked: $potlib"
7859 fi
7860 fi
7861 ;;
7862 *)
7863 # Add a -L argument.
7864 func_append newdeplibs " $a_deplib"
7865 ;;
7866 esac
7867 done # Gone through all deplibs.
7868 ;;
7869 match_pattern*)
7870 set dummy $deplibs_check_method; shift
7871 match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
7872 for a_deplib in $deplibs; do
7873 case $a_deplib in
7874 -l*)
7875 func_stripname -l '' "$a_deplib"
7876 name=$func_stripname_result
7877 if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
7878 case " $predeps $postdeps " in
7879 *" $a_deplib "*)
7880 func_append newdeplibs " $a_deplib"
7881 a_deplib=""
7882 ;;
7883 esac
7884 fi
7885 if test -n "$a_deplib" ; then
7886 libname=`eval "\\$ECHO \"$libname_spec\""`
7887 for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
7888 potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
7889 for potent_lib in $potential_libs; do
7890 potlib="$potent_lib" # see symlink-check above in file_magic test
7891 if eval "\$ECHO \"$potent_lib\"" 2>/dev/null | $SED 10q | \
7892 $EGREP "$match_pattern_regex" > /dev/null; then
7893 func_append newdeplibs " $a_deplib"
7894 a_deplib=""
7895 break 2
7896 fi
7897 done
7898 done
7899 fi
7900 if test -n "$a_deplib" ; then
7901 droppeddeps=yes
7902 echo
7903 $ECHO "*** Warning: linker path does not have real file for library $a_deplib."
7904 echo "*** I have the capability to make that library automatically link in when"
7905 echo "*** you link to this library. But I can only do this if you have a"
7906 echo "*** shared version of the library, which you do not appear to have"
7907 echo "*** because I did check the linker path looking for a file starting"
7908 if test -z "$potlib" ; then
7909 $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)"
7910 else
7911 $ECHO "*** with $libname and none of the candidates passed a file format test"
7912 $ECHO "*** using a regex pattern. Last file checked: $potlib"
7913 fi
7914 fi
7915 ;;
7916 *)
7917 # Add a -L argument.
7918 func_append newdeplibs " $a_deplib"
7919 ;;
7920 esac
7921 done # Gone through all deplibs.
7922 ;;
7923 none | unknown | *)
7924 newdeplibs=""
7925 tmp_deplibs=`$ECHO " $deplibs" | $SED 's/ -lc$//; s/ -[LR][^ ]*//g'`
7926 if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
7927 for i in $predeps $postdeps ; do
7928 # can't use Xsed below, because $i might contain '/'
7929 tmp_deplibs=`$ECHO " $tmp_deplibs" | $SED "s,$i,,"`
7930 done
7931 fi
7932 case $tmp_deplibs in
7933 *[!\ \ ]*)
7934 echo
7935 if test "X$deplibs_check_method" = "Xnone"; then
7936 echo "*** Warning: inter-library dependencies are not supported in this platform."
7937 else
7938 echo "*** Warning: inter-library dependencies are not known to be supported."
7939 fi
7940 echo "*** All declared inter-library dependencies are being dropped."
7941 droppeddeps=yes
7942 ;;
7943 esac
7944 ;;
7945 esac
7946 versuffix=$versuffix_save
7947 major=$major_save
7948 release=$release_save
7949 libname=$libname_save
7950 name=$name_save
7951
7952 case $host in
7953 *-*-rhapsody* | *-*-darwin1.[012])
7954 # On Rhapsody replace the C library with the System framework
7955 newdeplibs=`$ECHO " $newdeplibs" | $SED 's/ -lc / System.ltframework /'`
7956 ;;
7957 esac
7958
7959 if test "$droppeddeps" = yes; then
7960 if test "$module" = yes; then
7961 echo
7962 echo "*** Warning: libtool could not satisfy all declared inter-library"
7963 $ECHO "*** dependencies of module $libname. Therefore, libtool will create"
7964 echo "*** a static module, that should work as long as the dlopening"
7965 echo "*** application is linked with the -dlopen flag."
7966 if test -z "$global_symbol_pipe"; then
7967 echo
7968 echo "*** However, this would only work if libtool was able to extract symbol"
7969 echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
7970 echo "*** not find such a program. So, this module is probably useless."
7971 echo "*** \`nm' from GNU binutils and a full rebuild may help."
7972 fi
7973 if test "$build_old_libs" = no; then
7974 oldlibs="$output_objdir/$libname.$libext"
7975 build_libtool_libs=module
7976 build_old_libs=yes
7977 else
7978 build_libtool_libs=no
7979 fi
7980 else
7981 echo "*** The inter-library dependencies that have been dropped here will be"
7982 echo "*** automatically added whenever a program is linked with this library"
7983 echo "*** or is declared to -dlopen it."
7984
7985 if test "$allow_undefined" = no; then
7986 echo
7987 echo "*** Since this library must not contain undefined symbols,"
7988 echo "*** because either the platform does not support them or"
7989 echo "*** it was explicitly requested with -no-undefined,"
7990 echo "*** libtool will only create a static version of it."
7991 if test "$build_old_libs" = no; then
7992 oldlibs="$output_objdir/$libname.$libext"
7993 build_libtool_libs=module
7994 build_old_libs=yes
7995 else
7996 build_libtool_libs=no
7997 fi
7998 fi
7999 fi
8000 fi
8001 # Done checking deplibs!
8002 deplibs=$newdeplibs
8003 fi
8004 # Time to change all our "foo.ltframework" stuff back to "-framework foo"
8005 case $host in
8006 *-*-darwin*)
8007 newdeplibs=`$ECHO " $newdeplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
8008 new_inherited_linker_flags=`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
8009 deplibs=`$ECHO " $deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
8010 ;;
8011 esac
8012
8013 # move library search paths that coincide with paths to not yet
8014 # installed libraries to the beginning of the library search list
8015 new_libs=
8016 for path in $notinst_path; do
8017 case " $new_libs " in
8018 *" -L$path/$objdir "*) ;;
8019 *)
8020 case " $deplibs " in
8021 *" -L$path/$objdir "*)
8022 func_append new_libs " -L$path/$objdir" ;;
8023 esac
8024 ;;
8025 esac
8026 done
8027 for deplib in $deplibs; do
8028 case $deplib in
8029 -L*)
8030 case " $new_libs " in
8031 *" $deplib "*) ;;
8032 *) func_append new_libs " $deplib" ;;
8033 esac
8034 ;;
8035 *) func_append new_libs " $deplib" ;;
8036 esac
8037 done
8038 deplibs="$new_libs"
8039
8040 # All the library-specific variables (install_libdir is set above).
8041 library_names=
8042 old_library=
8043 dlname=
8044
8045 # Test again, we may have decided not to build it any more
8046 if test "$build_libtool_libs" = yes; then
8047 # Remove ${wl} instances when linking with ld.
8048 # FIXME: should test the right _cmds variable.
8049 case $archive_cmds in
8050 *\$LD\ *) wl= ;;
8051 esac
8052 if test "$hardcode_into_libs" = yes; then
8053 # Hardcode the library paths
8054 hardcode_libdirs=
8055 dep_rpath=
8056 rpath="$finalize_rpath"
8057 test "$opt_mode" != relink && rpath="$compile_rpath$rpath"
8058 for libdir in $rpath; do
8059 if test -n "$hardcode_libdir_flag_spec"; then
8060 if test -n "$hardcode_libdir_separator"; then
8061 func_replace_sysroot "$libdir"
8062 libdir=$func_replace_sysroot_result
8063 if test -z "$hardcode_libdirs"; then
8064 hardcode_libdirs="$libdir"
8065 else
8066 # Just accumulate the unique libdirs.
8067 case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
8068 *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
8069 ;;
8070 *)
8071 func_append hardcode_libdirs "$hardcode_libdir_separator$libdir"
8072 ;;
8073 esac
8074 fi
8075 else
8076 eval flag=\"$hardcode_libdir_flag_spec\"
8077 func_append dep_rpath " $flag"
8078 fi
8079 elif test -n "$runpath_var"; then
8080 case "$perm_rpath " in
8081 *" $libdir "*) ;;
8082 *) func_append perm_rpath " $libdir" ;;
8083 esac
8084 fi
8085 done
8086 # Substitute the hardcoded libdirs into the rpath.
8087 if test -n "$hardcode_libdir_separator" &&
8088 test -n "$hardcode_libdirs"; then
8089 libdir="$hardcode_libdirs"
8090 eval "dep_rpath=\"$hardcode_libdir_flag_spec\""
8091 fi
8092 if test -n "$runpath_var" && test -n "$perm_rpath"; then
8093 # We should set the runpath_var.
8094 rpath=
8095 for dir in $perm_rpath; do
8096 func_append rpath "$dir:"
8097 done
8098 eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var"
8099 fi
8100 test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs"
8101 fi
8102
8103 shlibpath="$finalize_shlibpath"
8104 test "$opt_mode" != relink && shlibpath="$compile_shlibpath$shlibpath"
8105 if test -n "$shlibpath"; then
8106 eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var"
8107 fi
8108
8109 # Get the real and link names of the library.
8110 eval shared_ext=\"$shrext_cmds\"
8111 eval library_names=\"$library_names_spec\"
8112 set dummy $library_names
8113 shift
8114 realname="$1"
8115 shift
8116
8117 if test -n "$soname_spec"; then
8118 eval soname=\"$soname_spec\"
8119 else
8120 soname="$realname"
8121 fi
8122 if test -z "$dlname"; then
8123 dlname=$soname
8124 fi
8125
8126 lib="$output_objdir/$realname"
8127 linknames=
8128 for link
8129 do
8130 func_append linknames " $link"
8131 done
8132
8133 # Use standard objects if they are pic
8134 test -z "$pic_flag" && libobjs=`$ECHO "$libobjs" | $SP2NL | $SED "$lo2o" | $NL2SP`
8135 test "X$libobjs" = "X " && libobjs=
8136
8137 delfiles=
8138 if test -n "$export_symbols" && test -n "$include_expsyms"; then
8139 $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp"
8140 export_symbols="$output_objdir/$libname.uexp"
8141 func_append delfiles " $export_symbols"
8142 fi
8143
8144 orig_export_symbols=
8145 case $host_os in
8146 cygwin* | mingw* | cegcc*)
8147 if test -n "$export_symbols" && test -z "$export_symbols_regex"; then
8148 # exporting using user supplied symfile
8149 if test "x`$SED "$sed_uncomment_deffile" $export_symbols | $SED 1q`" != xEXPORTS; then
8150 # and it's NOT already a .def file. Must figure out
8151 # which of the given symbols are data symbols and tag
8152 # them as such. So, trigger use of export_symbols_cmds.
8153 # export_symbols gets reassigned inside the "prepare
8154 # the list of exported symbols" if statement, so the
8155 # include_expsyms logic still works.
8156 orig_export_symbols="$export_symbols"
8157 export_symbols=
8158 always_export_symbols=yes
8159 fi
8160 fi
8161 ;;
8162 esac
8163
8164 # Prepare the list of exported symbols
8165 if test -z "$export_symbols"; then
8166 if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then
8167 func_verbose "generating symbol list for \`$libname.la'"
8168 export_symbols="$output_objdir/$libname.exp"
8169 $opt_dry_run || $RM $export_symbols
8170 cmds=$export_symbols_cmds
8171 save_ifs="$IFS"; IFS='~'
8172 for cmd1 in $cmds; do
8173 IFS="$save_ifs"
8174 # Take the normal branch if the nm_file_list_spec branch
8175 # doesn't work or if tool conversion is not needed.
8176 case $nm_file_list_spec~$to_tool_file_cmd in
8177 *~func_convert_file_noop | *~func_convert_file_msys_to_w32 | ~*)
8178 try_normal_branch=yes
8179 eval cmd=\"$cmd1\"
8180 func_len " $cmd"
8181 len=$func_len_result
8182 ;;
8183 *)
8184 try_normal_branch=no
8185 ;;
8186 esac
8187 if test "$try_normal_branch" = yes \
8188 && { test "$len" -lt "$max_cmd_len" \
8189 || test "$max_cmd_len" -le -1; }
8190 then
8191 func_show_eval "$cmd" 'exit $?'
8192 skipped_export=false
8193 elif test -n "$nm_file_list_spec"; then
8194 func_basename "$output"
8195 output_la=$func_basename_result
8196 save_libobjs=$libobjs
8197 save_output=$output
8198 output=${output_objdir}/${output_la}.nm
8199 func_to_tool_file "$output"
8200 libobjs=$nm_file_list_spec$func_to_tool_file_result
8201 func_append delfiles " $output"
8202 func_verbose "creating $NM input file list: $output"
8203 for obj in $save_libobjs; do
8204 func_to_tool_file "$obj"
8205 $ECHO "$func_to_tool_file_result"
8206 done > "$output"
8207 eval cmd=\"$cmd1\"
8208 func_show_eval "$cmd" 'exit $?'
8209 output=$save_output
8210 libobjs=$save_libobjs
8211 skipped_export=false
8212 else
8213 # The command line is too long to execute in one step.
8214 func_verbose "using reloadable object file for export list..."
8215 skipped_export=:
8216 # Break out early, otherwise skipped_export may be
8217 # set to false by a later but shorter cmd.
8218 break
8219 fi
8220 done
8221 IFS="$save_ifs"
8222 if test -n "$export_symbols_regex" && test "X$skipped_export" != "X:"; then
8223 func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
8224 func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
8225 fi
8226 fi
8227 fi
8228
8229 if test -n "$export_symbols" && test -n "$include_expsyms"; then
8230 tmp_export_symbols="$export_symbols"
8231 test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
8232 $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"'
8233 fi
8234
8235 if test "X$skipped_export" != "X:" && test -n "$orig_export_symbols"; then
8236 # The given exports_symbols file has to be filtered, so filter it.
8237 func_verbose "filter symbol list for \`$libname.la' to tag DATA exports"
8238 # FIXME: $output_objdir/$libname.filter potentially contains lots of
8239 # 's' commands which not all seds can handle. GNU sed should be fine
8240 # though. Also, the filter scales superlinearly with the number of
8241 # global variables. join(1) would be nice here, but unfortunately
8242 # isn't a blessed tool.
8243 $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
8244 func_append delfiles " $export_symbols $output_objdir/$libname.filter"
8245 export_symbols=$output_objdir/$libname.def
8246 $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
8247 fi
8248
8249 tmp_deplibs=
8250 for test_deplib in $deplibs; do
8251 case " $convenience " in
8252 *" $test_deplib "*) ;;
8253 *)
8254 func_append tmp_deplibs " $test_deplib"
8255 ;;
8256 esac
8257 done
8258 deplibs="$tmp_deplibs"
8259
8260 if test -n "$convenience"; then
8261 if test -n "$whole_archive_flag_spec" &&
8262 test "$compiler_needs_object" = yes &&
8263 test -z "$libobjs"; then
8264 # extract the archives, so we have objects to list.
8265 # TODO: could optimize this to just extract one archive.
8266 whole_archive_flag_spec=
8267 fi
8268 if test -n "$whole_archive_flag_spec"; then
8269 save_libobjs=$libobjs
8270 eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
8271 test "X$libobjs" = "X " && libobjs=
8272 else
8273 gentop="$output_objdir/${outputname}x"
8274 func_append generated " $gentop"
8275
8276 func_extract_archives $gentop $convenience
8277 func_append libobjs " $func_extract_archives_result"
8278 test "X$libobjs" = "X " && libobjs=
8279 fi
8280 fi
8281
8282 if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then
8283 eval flag=\"$thread_safe_flag_spec\"
8284 func_append linker_flags " $flag"
8285 fi
8286
8287 # Make a backup of the uninstalled library when relinking
8288 if test "$opt_mode" = relink; then
8289 $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $?
8290 fi
8291
8292 # Do each of the archive commands.
8293 if test "$module" = yes && test -n "$module_cmds" ; then
8294 if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
8295 eval test_cmds=\"$module_expsym_cmds\"
8296 cmds=$module_expsym_cmds
8297 else
8298 eval test_cmds=\"$module_cmds\"
8299 cmds=$module_cmds
8300 fi
8301 else
8302 if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
8303 eval test_cmds=\"$archive_expsym_cmds\"
8304 cmds=$archive_expsym_cmds
8305 else
8306 eval test_cmds=\"$archive_cmds\"
8307 cmds=$archive_cmds
8308 fi
8309 fi
8310
8311 if test "X$skipped_export" != "X:" &&
8312 func_len " $test_cmds" &&
8313 len=$func_len_result &&
8314 test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
8315 :
8316 else
8317 # The command line is too long to link in one step, link piecewise
8318 # or, if using GNU ld and skipped_export is not :, use a linker
8319 # script.
8320
8321 # Save the value of $output and $libobjs because we want to
8322 # use them later. If we have whole_archive_flag_spec, we
8323 # want to use save_libobjs as it was before
8324 # whole_archive_flag_spec was expanded, because we can't
8325 # assume the linker understands whole_archive_flag_spec.
8326 # This may have to be revisited, in case too many
8327 # convenience libraries get linked in and end up exceeding
8328 # the spec.
8329 if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then
8330 save_libobjs=$libobjs
8331 fi
8332 save_output=$output
8333 func_basename "$output"
8334 output_la=$func_basename_result
8335
8336 # Clear the reloadable object creation command queue and
8337 # initialize k to one.
8338 test_cmds=
8339 concat_cmds=
8340 objlist=
8341 last_robj=
8342 k=1
8343
8344 if test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "$with_gnu_ld" = yes; then
8345 output=${output_objdir}/${output_la}.lnkscript
8346 func_verbose "creating GNU ld script: $output"
8347 echo 'INPUT (' > $output
8348 for obj in $save_libobjs
8349 do
8350 func_to_tool_file "$obj"
8351 $ECHO "$func_to_tool_file_result" >> $output
8352 done
8353 echo ')' >> $output
8354 func_append delfiles " $output"
8355 func_to_tool_file "$output"
8356 output=$func_to_tool_file_result
8357 elif test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "X$file_list_spec" != X; then
8358 output=${output_objdir}/${output_la}.lnk
8359 func_verbose "creating linker input file list: $output"
8360 : > $output
8361 set x $save_libobjs
8362 shift
8363 firstobj=
8364 if test "$compiler_needs_object" = yes; then
8365 firstobj="$1 "
8366 shift
8367 fi
8368 for obj
8369 do
8370 func_to_tool_file "$obj"
8371 $ECHO "$func_to_tool_file_result" >> $output
8372 done
8373 func_append delfiles " $output"
8374 func_to_tool_file "$output"
8375 output=$firstobj\"$file_list_spec$func_to_tool_file_result\"
8376 else
8377 if test -n "$save_libobjs"; then
8378 func_verbose "creating reloadable object files..."
8379 output=$output_objdir/$output_la-${k}.$objext
8380 eval test_cmds=\"$reload_cmds\"
8381 func_len " $test_cmds"
8382 len0=$func_len_result
8383 len=$len0
8384
8385 # Loop over the list of objects to be linked.
8386 for obj in $save_libobjs
8387 do
8388 func_len " $obj"
8389 func_arith $len + $func_len_result
8390 len=$func_arith_result
8391 if test "X$objlist" = X ||
8392 test "$len" -lt "$max_cmd_len"; then
8393 func_append objlist " $obj"
8394 else
8395 # The command $test_cmds is almost too long, add a
8396 # command to the queue.
8397 if test "$k" -eq 1 ; then
8398 # The first file doesn't have a previous command to add.
8399 reload_objs=$objlist
8400 eval concat_cmds=\"$reload_cmds\"
8401 else
8402 # All subsequent reloadable object files will link in
8403 # the last one created.
8404 reload_objs="$objlist $last_robj"
8405 eval concat_cmds=\"\$concat_cmds~$reload_cmds~\$RM $last_robj\"
8406 fi
8407 last_robj=$output_objdir/$output_la-${k}.$objext
8408 func_arith $k + 1
8409 k=$func_arith_result
8410 output=$output_objdir/$output_la-${k}.$objext
8411 objlist=" $obj"
8412 func_len " $last_robj"
8413 func_arith $len0 + $func_len_result
8414 len=$func_arith_result
8415 fi
8416 done
8417 # Handle the remaining objects by creating one last
8418 # reloadable object file. All subsequent reloadable object
8419 # files will link in the last one created.
8420 test -z "$concat_cmds" || concat_cmds=$concat_cmds~
8421 reload_objs="$objlist $last_robj"
8422 eval concat_cmds=\"\${concat_cmds}$reload_cmds\"
8423 if test -n "$last_robj"; then
8424 eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\"
8425 fi
8426 func_append delfiles " $output"
8427
8428 else
8429 output=
8430 fi
8431
8432 if ${skipped_export-false}; then
8433 func_verbose "generating symbol list for \`$libname.la'"
8434 export_symbols="$output_objdir/$libname.exp"
8435 $opt_dry_run || $RM $export_symbols
8436 libobjs=$output
8437 # Append the command to create the export file.
8438 test -z "$concat_cmds" || concat_cmds=$concat_cmds~
8439 eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\"
8440 if test -n "$last_robj"; then
8441 eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\"
8442 fi
8443 fi
8444
8445 test -n "$save_libobjs" &&
8446 func_verbose "creating a temporary reloadable object file: $output"
8447
8448 # Loop through the commands generated above and execute them.
8449 save_ifs="$IFS"; IFS='~'
8450 for cmd in $concat_cmds; do
8451 IFS="$save_ifs"
8452 $opt_silent || {
8453 func_quote_for_expand "$cmd"
8454 eval "func_echo $func_quote_for_expand_result"
8455 }
8456 $opt_dry_run || eval "$cmd" || {
8457 lt_exit=$?
8458
8459 # Restore the uninstalled library and exit
8460 if test "$opt_mode" = relink; then
8461 ( cd "$output_objdir" && \
8462 $RM "${realname}T" && \
8463 $MV "${realname}U" "$realname" )
8464 fi
8465
8466 exit $lt_exit
8467 }
8468 done
8469 IFS="$save_ifs"
8470
8471 if test -n "$export_symbols_regex" && ${skipped_export-false}; then
8472 func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
8473 func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
8474 fi
8475 fi
8476
8477 if ${skipped_export-false}; then
8478 if test -n "$export_symbols" && test -n "$include_expsyms"; then
8479 tmp_export_symbols="$export_symbols"
8480 test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
8481 $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"'
8482 fi
8483
8484 if test -n "$orig_export_symbols"; then
8485 # The given exports_symbols file has to be filtered, so filter it.
8486 func_verbose "filter symbol list for \`$libname.la' to tag DATA exports"
8487 # FIXME: $output_objdir/$libname.filter potentially contains lots of
8488 # 's' commands which not all seds can handle. GNU sed should be fine
8489 # though. Also, the filter scales superlinearly with the number of
8490 # global variables. join(1) would be nice here, but unfortunately
8491 # isn't a blessed tool.
8492 $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
8493 func_append delfiles " $export_symbols $output_objdir/$libname.filter"
8494 export_symbols=$output_objdir/$libname.def
8495 $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
8496 fi
8497 fi
8498
8499 libobjs=$output
8500 # Restore the value of output.
8501 output=$save_output
8502
8503 if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then
8504 eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
8505 test "X$libobjs" = "X " && libobjs=
8506 fi
8507 # Expand the library linking commands again to reset the
8508 # value of $libobjs for piecewise linking.
8509
8510 # Do each of the archive commands.
8511 if test "$module" = yes && test -n "$module_cmds" ; then
8512 if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
8513 cmds=$module_expsym_cmds
8514 else
8515 cmds=$module_cmds
8516 fi
8517 else
8518 if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
8519 cmds=$archive_expsym_cmds
8520 else
8521 cmds=$archive_cmds
8522 fi
8523 fi
8524 fi
8525
8526 if test -n "$delfiles"; then
8527 # Append the command to remove temporary files to $cmds.
8528 eval cmds=\"\$cmds~\$RM $delfiles\"
8529 fi
8530
8531 # Add any objects from preloaded convenience libraries
8532 if test -n "$dlprefiles"; then
8533 gentop="$output_objdir/${outputname}x"
8534 func_append generated " $gentop"
8535
8536 func_extract_archives $gentop $dlprefiles
8537 func_append libobjs " $func_extract_archives_result"
8538 test "X$libobjs" = "X " && libobjs=
8539 fi
8540
8541 save_ifs="$IFS"; IFS='~'
8542 for cmd in $cmds; do
8543 IFS="$save_ifs"
8544 eval cmd=\"$cmd\"
8545 $opt_silent || {
8546 func_quote_for_expand "$cmd"
8547 eval "func_echo $func_quote_for_expand_result"
8548 }
8549 $opt_dry_run || eval "$cmd" || {
8550 lt_exit=$?
8551
8552 # Restore the uninstalled library and exit
8553 if test "$opt_mode" = relink; then
8554 ( cd "$output_objdir" && \
8555 $RM "${realname}T" && \
8556 $MV "${realname}U" "$realname" )
8557 fi
8558
8559 exit $lt_exit
8560 }
8561 done
8562 IFS="$save_ifs"
8563
8564 # Restore the uninstalled library and exit
8565 if test "$opt_mode" = relink; then
8566 $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $?
8567
8568 if test -n "$convenience"; then
8569 if test -z "$whole_archive_flag_spec"; then
8570 func_show_eval '${RM}r "$gentop"'
8571 fi
8572 fi
8573
8574 exit $EXIT_SUCCESS
8575 fi
8576
8577 # Create links to the real library.
8578 for linkname in $linknames; do
8579 if test "$realname" != "$linkname"; then
8580 func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?'
8581 fi
8582 done
8583
8584 # If -module or -export-dynamic was specified, set the dlname.
8585 if test "$module" = yes || test "$export_dynamic" = yes; then
8586 # On all known operating systems, these are identical.
8587 dlname="$soname"
8588 fi
8589 fi
8590 ;;
8591
8592 obj)
8593 if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
8594 func_warning "\`-dlopen' is ignored for objects"
8595 fi
8596
8597 case " $deplibs" in
8598 *\ -l* | *\ -L*)
8599 func_warning "\`-l' and \`-L' are ignored for objects" ;;
8600 esac
8601
8602 test -n "$rpath" && \
8603 func_warning "\`-rpath' is ignored for objects"
8604
8605 test -n "$xrpath" && \
8606 func_warning "\`-R' is ignored for objects"
8607
8608 test -n "$vinfo" && \
8609 func_warning "\`-version-info' is ignored for objects"
8610
8611 test -n "$release" && \
8612 func_warning "\`-release' is ignored for objects"
8613
8614 case $output in
8615 *.lo)
8616 test -n "$objs$old_deplibs" && \
8617 func_fatal_error "cannot build library object \`$output' from non-libtool objects"
8618
8619 libobj=$output
8620 func_lo2o "$libobj"
8621 obj=$func_lo2o_result
8622 ;;
8623 *)
8624 libobj=
8625 obj="$output"
8626 ;;
8627 esac
8628
8629 # Delete the old objects.
8630 $opt_dry_run || $RM $obj $libobj
8631
8632 # Objects from convenience libraries. This assumes
8633 # single-version convenience libraries. Whenever we create
8634 # different ones for PIC/non-PIC, this we'll have to duplicate
8635 # the extraction.
8636 reload_conv_objs=
8637 gentop=
8638 # reload_cmds runs $LD directly, so let us get rid of
8639 # -Wl from whole_archive_flag_spec and hope we can get by with
8640 # turning comma into space..
8641 wl=
8642
8643 if test -n "$convenience"; then
8644 if test -n "$whole_archive_flag_spec"; then
8645 eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\"
8646 reload_conv_objs=$reload_objs\ `$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'`
8647 else
8648 gentop="$output_objdir/${obj}x"
8649 func_append generated " $gentop"
8650
8651 func_extract_archives $gentop $convenience
8652 reload_conv_objs="$reload_objs $func_extract_archives_result"
8653 fi
8654 fi
8655
8656 # If we're not building shared, we need to use non_pic_objs
8657 test "$build_libtool_libs" != yes && libobjs="$non_pic_objects"
8658
8659 # Create the old-style object.
8660 reload_objs="$objs$old_deplibs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; /\.lib$/d; $lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test
8661
8662 output="$obj"
8663 func_execute_cmds "$reload_cmds" 'exit $?'
8664
8665 # Exit if we aren't doing a library object file.
8666 if test -z "$libobj"; then
8667 if test -n "$gentop"; then
8668 func_show_eval '${RM}r "$gentop"'
8669 fi
8670
8671 exit $EXIT_SUCCESS
8672 fi
8673
8674 if test "$build_libtool_libs" != yes; then
8675 if test -n "$gentop"; then
8676 func_show_eval '${RM}r "$gentop"'
8677 fi
8678
8679 # Create an invalid libtool object if no PIC, so that we don't
8680 # accidentally link it into a program.
8681 # $show "echo timestamp > $libobj"
8682 # $opt_dry_run || eval "echo timestamp > $libobj" || exit $?
8683 exit $EXIT_SUCCESS
8684 fi
8685
8686 if test -n "$pic_flag" || test "$pic_mode" != default; then
8687 # Only do commands if we really have different PIC objects.
8688 reload_objs="$libobjs $reload_conv_objs"
8689 output="$libobj"
8690 func_execute_cmds "$reload_cmds" 'exit $?'
8691 fi
8692
8693 if test -n "$gentop"; then
8694 func_show_eval '${RM}r "$gentop"'
8695 fi
8696
8697 exit $EXIT_SUCCESS
8698 ;;
8699
8700 prog)
8701 case $host in
8702 *cygwin*) func_stripname '' '.exe' "$output"
8703 output=$func_stripname_result.exe;;
8704 esac
8705 test -n "$vinfo" && \
8706 func_warning "\`-version-info' is ignored for programs"
8707
8708 test -n "$release" && \
8709 func_warning "\`-release' is ignored for programs"
8710
8711 test "$preload" = yes \
8712 && test "$dlopen_support" = unknown \
8713 && test "$dlopen_self" = unknown \
8714 && test "$dlopen_self_static" = unknown && \
8715 func_warning "\`LT_INIT([dlopen])' not used. Assuming no dlopen support."
8716
8717 case $host in
8718 *-*-rhapsody* | *-*-darwin1.[012])
8719 # On Rhapsody replace the C library is the System framework
8720 compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's/ -lc / System.ltframework /'`
8721 finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's/ -lc / System.ltframework /'`
8722 ;;
8723 esac
8724
8725 case $host in
8726 *-*-darwin*)
8727 # Don't allow lazy linking, it breaks C++ global constructors
8728 # But is supposedly fixed on 10.4 or later (yay!).
8729 if test "$tagname" = CXX ; then
8730 case ${MACOSX_DEPLOYMENT_TARGET-10.0} in
8731 10.[0123])
8732 func_append compile_command " ${wl}-bind_at_load"
8733 func_append finalize_command " ${wl}-bind_at_load"
8734 ;;
8735 esac
8736 fi
8737 # Time to change all our "foo.ltframework" stuff back to "-framework foo"
8738 compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
8739 finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
8740 ;;
8741 esac
8742
8743
8744 # move library search paths that coincide with paths to not yet
8745 # installed libraries to the beginning of the library search list
8746 new_libs=
8747 for path in $notinst_path; do
8748 case " $new_libs " in
8749 *" -L$path/$objdir "*) ;;
8750 *)
8751 case " $compile_deplibs " in
8752 *" -L$path/$objdir "*)
8753 func_append new_libs " -L$path/$objdir" ;;
8754 esac
8755 ;;
8756 esac
8757 done
8758 for deplib in $compile_deplibs; do
8759 case $deplib in
8760 -L*)
8761 case " $new_libs " in
8762 *" $deplib "*) ;;
8763 *) func_append new_libs " $deplib" ;;
8764 esac
8765 ;;
8766 *) func_append new_libs " $deplib" ;;
8767 esac
8768 done
8769 compile_deplibs="$new_libs"
8770
8771
8772 func_append compile_command " $compile_deplibs"
8773 func_append finalize_command " $finalize_deplibs"
8774
8775 if test -n "$rpath$xrpath"; then
8776 # If the user specified any rpath flags, then add them.
8777 for libdir in $rpath $xrpath; do
8778 # This is the magic to use -rpath.
8779 case "$finalize_rpath " in
8780 *" $libdir "*) ;;
8781 *) func_append finalize_rpath " $libdir" ;;
8782 esac
8783 done
8784 fi
8785
8786 # Now hardcode the library paths
8787 rpath=
8788 hardcode_libdirs=
8789 for libdir in $compile_rpath $finalize_rpath; do
8790 if test -n "$hardcode_libdir_flag_spec"; then
8791 if test -n "$hardcode_libdir_separator"; then
8792 if test -z "$hardcode_libdirs"; then
8793 hardcode_libdirs="$libdir"
8794 else
8795 # Just accumulate the unique libdirs.
8796 case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
8797 *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
8798 ;;
8799 *)
8800 func_append hardcode_libdirs "$hardcode_libdir_separator$libdir"
8801 ;;
8802 esac
8803 fi
8804 else
8805 eval flag=\"$hardcode_libdir_flag_spec\"
8806 func_append rpath " $flag"
8807 fi
8808 elif test -n "$runpath_var"; then
8809 case "$perm_rpath " in
8810 *" $libdir "*) ;;
8811 *) func_append perm_rpath " $libdir" ;;
8812 esac
8813 fi
8814 case $host in
8815 *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
8816 testbindir=`${ECHO} "$libdir" | ${SED} -e 's*/lib$*/bin*'`
8817 case :$dllsearchpath: in
8818 *":$libdir:"*) ;;
8819 ::) dllsearchpath=$libdir;;
8820 *) func_append dllsearchpath ":$libdir";;
8821 esac
8822 case :$dllsearchpath: in
8823 *":$testbindir:"*) ;;
8824 ::) dllsearchpath=$testbindir;;
8825 *) func_append dllsearchpath ":$testbindir";;
8826 esac
8827 ;;
8828 esac
8829 done
8830 # Substitute the hardcoded libdirs into the rpath.
8831 if test -n "$hardcode_libdir_separator" &&
8832 test -n "$hardcode_libdirs"; then
8833 libdir="$hardcode_libdirs"
8834 eval rpath=\" $hardcode_libdir_flag_spec\"
8835 fi
8836 compile_rpath="$rpath"
8837
8838 rpath=
8839 hardcode_libdirs=
8840 for libdir in $finalize_rpath; do
8841 if test -n "$hardcode_libdir_flag_spec"; then
8842 if test -n "$hardcode_libdir_separator"; then
8843 if test -z "$hardcode_libdirs"; then
8844 hardcode_libdirs="$libdir"
8845 else
8846 # Just accumulate the unique libdirs.
8847 case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
8848 *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
8849 ;;
8850 *)
8851 func_append hardcode_libdirs "$hardcode_libdir_separator$libdir"
8852 ;;
8853 esac
8854 fi
8855 else
8856 eval flag=\"$hardcode_libdir_flag_spec\"
8857 func_append rpath " $flag"
8858 fi
8859 elif test -n "$runpath_var"; then
8860 case "$finalize_perm_rpath " in
8861 *" $libdir "*) ;;
8862 *) func_append finalize_perm_rpath " $libdir" ;;
8863 esac
8864 fi
8865 done
8866 # Substitute the hardcoded libdirs into the rpath.
8867 if test -n "$hardcode_libdir_separator" &&
8868 test -n "$hardcode_libdirs"; then
8869 libdir="$hardcode_libdirs"
8870 eval rpath=\" $hardcode_libdir_flag_spec\"
8871 fi
8872 finalize_rpath="$rpath"
8873
8874 if test -n "$libobjs" && test "$build_old_libs" = yes; then
8875 # Transform all the library objects into standard objects.
8876 compile_command=`$ECHO "$compile_command" | $SP2NL | $SED "$lo2o" | $NL2SP`
8877 finalize_command=`$ECHO "$finalize_command" | $SP2NL | $SED "$lo2o" | $NL2SP`
8878 fi
8879
8880 func_generate_dlsyms "$outputname" "@PROGRAM@" "no"
8881
8882 # template prelinking step
8883 if test -n "$prelink_cmds"; then
8884 func_execute_cmds "$prelink_cmds" 'exit $?'
8885 fi
8886
8887 wrappers_required=yes
8888 case $host in
8889 *cegcc* | *mingw32ce*)
8890 # Disable wrappers for cegcc and mingw32ce hosts, we are cross compiling anyway.
8891 wrappers_required=no
8892 ;;
8893 *cygwin* | *mingw* )
8894 if test "$build_libtool_libs" != yes; then
8895 wrappers_required=no
8896 fi
8897 ;;
8898 *)
8899 if test "$need_relink" = no || test "$build_libtool_libs" != yes; then
8900 wrappers_required=no
8901 fi
8902 ;;
8903 esac
8904 if test "$wrappers_required" = no; then
8905 # Replace the output file specification.
8906 compile_command=`$ECHO "$compile_command" | $SED 's%@OUTPUT@%'"$output"'%g'`
8907 link_command="$compile_command$compile_rpath"
8908
8909 # We have no uninstalled library dependencies, so finalize right now.
8910 exit_status=0
8911 func_show_eval "$link_command" 'exit_status=$?'
8912
8913 if test -n "$postlink_cmds"; then
8914 func_to_tool_file "$output"
8915 postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
8916 func_execute_cmds "$postlink_cmds" 'exit $?'
8917 fi
8918
8919 # Delete the generated files.
8920 if test -f "$output_objdir/${outputname}S.${objext}"; then
8921 func_show_eval '$RM "$output_objdir/${outputname}S.${objext}"'
8922 fi
8923
8924 exit $exit_status
8925 fi
8926
8927 if test -n "$compile_shlibpath$finalize_shlibpath"; then
8928 compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command"
8929 fi
8930 if test -n "$finalize_shlibpath"; then
8931 finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command"
8932 fi
8933
8934 compile_var=
8935 finalize_var=
8936 if test -n "$runpath_var"; then
8937 if test -n "$perm_rpath"; then
8938 # We should set the runpath_var.
8939 rpath=
8940 for dir in $perm_rpath; do
8941 func_append rpath "$dir:"
8942 done
8943 compile_var="$runpath_var=\"$rpath\$$runpath_var\" "
8944 fi
8945 if test -n "$finalize_perm_rpath"; then
8946 # We should set the runpath_var.
8947 rpath=
8948 for dir in $finalize_perm_rpath; do
8949 func_append rpath "$dir:"
8950 done
8951 finalize_var="$runpath_var=\"$rpath\$$runpath_var\" "
8952 fi
8953 fi
8954
8955 if test "$no_install" = yes; then
8956 # We don't need to create a wrapper script.
8957 link_command="$compile_var$compile_command$compile_rpath"
8958 # Replace the output file specification.
8959 link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output"'%g'`
8960 # Delete the old output file.
8961 $opt_dry_run || $RM $output
8962 # Link the executable and exit
8963 func_show_eval "$link_command" 'exit $?'
8964
8965 if test -n "$postlink_cmds"; then
8966 func_to_tool_file "$output"
8967 postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
8968 func_execute_cmds "$postlink_cmds" 'exit $?'
8969 fi
8970
8971 exit $EXIT_SUCCESS
8972 fi
8973
8974 if test "$hardcode_action" = relink; then
8975 # Fast installation is not supported
8976 link_command="$compile_var$compile_command$compile_rpath"
8977 relink_command="$finalize_var$finalize_command$finalize_rpath"
8978
8979 func_warning "this platform does not like uninstalled shared libraries"
8980 func_warning "\`$output' will be relinked during installation"
8981 else
8982 if test "$fast_install" != no; then
8983 link_command="$finalize_var$compile_command$finalize_rpath"
8984 if test "$fast_install" = yes; then
8985 relink_command=`$ECHO "$compile_var$compile_command$compile_rpath" | $SED 's%@OUTPUT@%\$progdir/\$file%g'`
8986 else
8987 # fast_install is set to needless
8988 relink_command=
8989 fi
8990 else
8991 link_command="$compile_var$compile_command$compile_rpath"
8992 relink_command="$finalize_var$finalize_command$finalize_rpath"
8993 fi
8994 fi
8995
8996 # Replace the output file specification.
8997 link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
8998
8999 # Delete the old output files.
9000 $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname
9001
9002 func_show_eval "$link_command" 'exit $?'
9003
9004 if test -n "$postlink_cmds"; then
9005 func_to_tool_file "$output_objdir/$outputname"
9006 postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
9007 func_execute_cmds "$postlink_cmds" 'exit $?'
9008 fi
9009
9010 # Now create the wrapper script.
9011 func_verbose "creating $output"
9012
9013 # Quote the relink command for shipping.
9014 if test -n "$relink_command"; then
9015 # Preserve any variables that may affect compiler behavior
9016 for var in $variables_saved_for_relink; do
9017 if eval test -z \"\${$var+set}\"; then
9018 relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
9019 elif eval var_value=\$$var; test -z "$var_value"; then
9020 relink_command="$var=; export $var; $relink_command"
9021 else
9022 func_quote_for_eval "$var_value"
9023 relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
9024 fi
9025 done
9026 relink_command="(cd `pwd`; $relink_command)"
9027 relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"`
9028 fi
9029
9030 # Only actually do things if not in dry run mode.
9031 $opt_dry_run || {
9032 # win32 will think the script is a binary if it has
9033 # a .exe suffix, so we strip it off here.
9034 case $output in
9035 *.exe) func_stripname '' '.exe' "$output"
9036 output=$func_stripname_result ;;
9037 esac
9038 # test for cygwin because mv fails w/o .exe extensions
9039 case $host in
9040 *cygwin*)
9041 exeext=.exe
9042 func_stripname '' '.exe' "$outputname"
9043 outputname=$func_stripname_result ;;
9044 *) exeext= ;;
9045 esac
9046 case $host in
9047 *cygwin* | *mingw* )
9048 func_dirname_and_basename "$output" "" "."
9049 output_name=$func_basename_result
9050 output_path=$func_dirname_result
9051 cwrappersource="$output_path/$objdir/lt-$output_name.c"
9052 cwrapper="$output_path/$output_name.exe"
9053 $RM $cwrappersource $cwrapper
9054 trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15
9055
9056 func_emit_cwrapperexe_src > $cwrappersource
9057
9058 # The wrapper executable is built using the $host compiler,
9059 # because it contains $host paths and files. If cross-
9060 # compiling, it, like the target executable, must be
9061 # executed on the $host or under an emulation environment.
9062 $opt_dry_run || {
9063 $LTCC $LTCFLAGS -o $cwrapper $cwrappersource
9064 $STRIP $cwrapper
9065 }
9066
9067 # Now, create the wrapper script for func_source use:
9068 func_ltwrapper_scriptname $cwrapper
9069 $RM $func_ltwrapper_scriptname_result
9070 trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15
9071 $opt_dry_run || {
9072 # note: this script will not be executed, so do not chmod.
9073 if test "x$build" = "x$host" ; then
9074 $cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result
9075 else
9076 func_emit_wrapper no > $func_ltwrapper_scriptname_result
9077 fi
9078 }
9079 ;;
9080 * )
9081 $RM $output
9082 trap "$RM $output; exit $EXIT_FAILURE" 1 2 15
9083
9084 func_emit_wrapper no > $output
9085 chmod +x $output
9086 ;;
9087 esac
9088 }
9089 exit $EXIT_SUCCESS
9090 ;;
9091 esac
9092
9093 # See if we need to build an old-fashioned archive.
9094 for oldlib in $oldlibs; do
9095
9096 if test "$build_libtool_libs" = convenience; then
9097 oldobjs="$libobjs_save $symfileobj"
9098 addlibs="$convenience"
9099 build_libtool_libs=no
9100 else
9101 if test "$build_libtool_libs" = module; then
9102 oldobjs="$libobjs_save"
9103 build_libtool_libs=no
9104 else
9105 oldobjs="$old_deplibs $non_pic_objects"
9106 if test "$preload" = yes && test -f "$symfileobj"; then
9107 func_append oldobjs " $symfileobj"
9108 fi
9109 fi
9110 addlibs="$old_convenience"
9111 fi
9112
9113 if test -n "$addlibs"; then
9114 gentop="$output_objdir/${outputname}x"
9115 func_append generated " $gentop"
9116
9117 func_extract_archives $gentop $addlibs
9118 func_append oldobjs " $func_extract_archives_result"
9119 fi
9120
9121 # Do each command in the archive commands.
9122 if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
9123 cmds=$old_archive_from_new_cmds
9124 else
9125
9126 # Add any objects from preloaded convenience libraries
9127 if test -n "$dlprefiles"; then
9128 gentop="$output_objdir/${outputname}x"
9129 func_append generated " $gentop"
9130
9131 func_extract_archives $gentop $dlprefiles
9132 func_append oldobjs " $func_extract_archives_result"
9133 fi
9134
9135 # POSIX demands no paths to be encoded in archives. We have
9136 # to avoid creating archives with duplicate basenames if we
9137 # might have to extract them afterwards, e.g., when creating a
9138 # static archive out of a convenience library, or when linking
9139 # the entirety of a libtool archive into another (currently
9140 # not supported by libtool).
9141 if (for obj in $oldobjs
9142 do
9143 func_basename "$obj"
9144 $ECHO "$func_basename_result"
9145 done | sort | sort -uc >/dev/null 2>&1); then
9146 :
9147 else
9148 echo "copying selected object files to avoid basename conflicts..."
9149 gentop="$output_objdir/${outputname}x"
9150 func_append generated " $gentop"
9151 func_mkdir_p "$gentop"
9152 save_oldobjs=$oldobjs
9153 oldobjs=
9154 counter=1
9155 for obj in $save_oldobjs
9156 do
9157 func_basename "$obj"
9158 objbase="$func_basename_result"
9159 case " $oldobjs " in
9160 " ") oldobjs=$obj ;;
9161 *[\ /]"$objbase "*)
9162 while :; do
9163 # Make sure we don't pick an alternate name that also
9164 # overlaps.
9165 newobj=lt$counter-$objbase
9166 func_arith $counter + 1
9167 counter=$func_arith_result
9168 case " $oldobjs " in
9169 *[\ /]"$newobj "*) ;;
9170 *) if test ! -f "$gentop/$newobj"; then break; fi ;;
9171 esac
9172 done
9173 func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj"
9174 func_append oldobjs " $gentop/$newobj"
9175 ;;
9176 *) func_append oldobjs " $obj" ;;
9177 esac
9178 done
9179 fi
9180 func_to_tool_file "$oldlib" func_convert_file_msys_to_w32
9181 tool_oldlib=$func_to_tool_file_result
9182 eval cmds=\"$old_archive_cmds\"
9183
9184 func_len " $cmds"
9185 len=$func_len_result
9186 if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
9187 cmds=$old_archive_cmds
9188 elif test -n "$archiver_list_spec"; then
9189 func_verbose "using command file archive linking..."
9190 for obj in $oldobjs
9191 do
9192 func_to_tool_file "$obj"
9193 $ECHO "$func_to_tool_file_result"
9194 done > $output_objdir/$libname.libcmd
9195 func_to_tool_file "$output_objdir/$libname.libcmd"
9196 oldobjs=" $archiver_list_spec$func_to_tool_file_result"
9197 cmds=$old_archive_cmds
9198 else
9199 # the command line is too long to link in one step, link in parts
9200 func_verbose "using piecewise archive linking..."
9201 save_RANLIB=$RANLIB
9202 RANLIB=:
9203 objlist=
9204 concat_cmds=
9205 save_oldobjs=$oldobjs
9206 oldobjs=
9207 # Is there a better way of finding the last object in the list?
9208 for obj in $save_oldobjs
9209 do
9210 last_oldobj=$obj
9211 done
9212 eval test_cmds=\"$old_archive_cmds\"
9213 func_len " $test_cmds"
9214 len0=$func_len_result
9215 len=$len0
9216 for obj in $save_oldobjs
9217 do
9218 func_len " $obj"
9219 func_arith $len + $func_len_result
9220 len=$func_arith_result
9221 func_append objlist " $obj"
9222 if test "$len" -lt "$max_cmd_len"; then
9223 :
9224 else
9225 # the above command should be used before it gets too long
9226 oldobjs=$objlist
9227 if test "$obj" = "$last_oldobj" ; then
9228 RANLIB=$save_RANLIB
9229 fi
9230 test -z "$concat_cmds" || concat_cmds=$concat_cmds~
9231 eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\"
9232 objlist=
9233 len=$len0
9234 fi
9235 done
9236 RANLIB=$save_RANLIB
9237 oldobjs=$objlist
9238 if test "X$oldobjs" = "X" ; then
9239 eval cmds=\"\$concat_cmds\"
9240 else
9241 eval cmds=\"\$concat_cmds~\$old_archive_cmds\"
9242 fi
9243 fi
9244 fi
9245 func_execute_cmds "$cmds" 'exit $?'
9246 done
9247
9248 test -n "$generated" && \
9249 func_show_eval "${RM}r$generated"
9250
9251 # Now create the libtool archive.
9252 case $output in
9253 *.la)
9254 old_library=
9255 test "$build_old_libs" = yes && old_library="$libname.$libext"
9256 func_verbose "creating $output"
9257
9258 # Preserve any variables that may affect compiler behavior
9259 for var in $variables_saved_for_relink; do
9260 if eval test -z \"\${$var+set}\"; then
9261 relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
9262 elif eval var_value=\$$var; test -z "$var_value"; then
9263 relink_command="$var=; export $var; $relink_command"
9264 else
9265 func_quote_for_eval "$var_value"
9266 relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
9267 fi
9268 done
9269 # Quote the link command for shipping.
9270 relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
9271 relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"`
9272 if test "$hardcode_automatic" = yes ; then
9273 relink_command=
9274 fi
9275
9276 # Only create the output if not a dry run.
9277 $opt_dry_run || {
9278 for installed in no yes; do
9279 if test "$installed" = yes; then
9280 if test -z "$install_libdir"; then
9281 break
9282 fi
9283 output="$output_objdir/$outputname"i
9284 # Replace all uninstalled libtool libraries with the installed ones
9285 newdependency_libs=
9286 for deplib in $dependency_libs; do
9287 case $deplib in
9288 *.la)
9289 func_basename "$deplib"
9290 name="$func_basename_result"
9291 func_resolve_sysroot "$deplib"
9292 eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result`
9293 test -z "$libdir" && \
9294 func_fatal_error "\`$deplib' is not a valid libtool archive"
9295 func_append newdependency_libs " ${lt_sysroot:+=}$libdir/$name"
9296 ;;
9297 -L*)
9298 func_stripname -L '' "$deplib"
9299 func_replace_sysroot "$func_stripname_result"
9300 func_append newdependency_libs " -L$func_replace_sysroot_result"
9301 ;;
9302 -R*)
9303 func_stripname -R '' "$deplib"
9304 func_replace_sysroot "$func_stripname_result"
9305 func_append newdependency_libs " -R$func_replace_sysroot_result"
9306 ;;
9307 *) func_append newdependency_libs " $deplib" ;;
9308 esac
9309 done
9310 dependency_libs="$newdependency_libs"
9311 newdlfiles=
9312
9313 for lib in $dlfiles; do
9314 case $lib in
9315 *.la)
9316 func_basename "$lib"
9317 name="$func_basename_result"
9318 eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
9319 test -z "$libdir" && \
9320 func_fatal_error "\`$lib' is not a valid libtool archive"
9321 func_append newdlfiles " ${lt_sysroot:+=}$libdir/$name"
9322 ;;
9323 *) func_append newdlfiles " $lib" ;;
9324 esac
9325 done
9326 dlfiles="$newdlfiles"
9327 newdlprefiles=
9328 for lib in $dlprefiles; do
9329 case $lib in
9330 *.la)
9331 # Only pass preopened files to the pseudo-archive (for
9332 # eventual linking with the app. that links it) if we
9333 # didn't already link the preopened objects directly into
9334 # the library:
9335 func_basename "$lib"
9336 name="$func_basename_result"
9337 eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
9338 test -z "$libdir" && \
9339 func_fatal_error "\`$lib' is not a valid libtool archive"
9340 func_append newdlprefiles " ${lt_sysroot:+=}$libdir/$name"
9341 ;;
9342 esac
9343 done
9344 dlprefiles="$newdlprefiles"
9345 else
9346 newdlfiles=
9347 for lib in $dlfiles; do
9348 case $lib in
9349 [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
9350 *) abs=`pwd`"/$lib" ;;
9351 esac
9352 func_append newdlfiles " $abs"
9353 done
9354 dlfiles="$newdlfiles"
9355 newdlprefiles=
9356 for lib in $dlprefiles; do
9357 case $lib in
9358 [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
9359 *) abs=`pwd`"/$lib" ;;
9360 esac
9361 func_append newdlprefiles " $abs"
9362 done
9363 dlprefiles="$newdlprefiles"
9364 fi
9365 $RM $output
9366 # place dlname in correct position for cygwin
9367 # In fact, it would be nice if we could use this code for all target
9368 # systems that can't hard-code library paths into their executables
9369 # and that have no shared library path variable independent of PATH,
9370 # but it turns out we can't easily determine that from inspecting
9371 # libtool variables, so we have to hard-code the OSs to which it
9372 # applies here; at the moment, that means platforms that use the PE
9373 # object format with DLL files. See the long comment at the top of
9374 # tests/bindir.at for full details.
9375 tdlname=$dlname
9376 case $host,$output,$installed,$module,$dlname in
9377 *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll)
9378 # If a -bindir argument was supplied, place the dll there.
9379 if test "x$bindir" != x ;
9380 then
9381 func_relative_path "$install_libdir" "$bindir"
9382 tdlname=$func_relative_path_result$dlname
9383 else
9384 # Otherwise fall back on heuristic.
9385 tdlname=../bin/$dlname
9386 fi
9387 ;;
9388 esac
9389 $ECHO > $output "\
9390 # $outputname - a libtool library file
9391 # Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
9392 #
9393 # Please DO NOT delete this file!
9394 # It is necessary for linking the library.
9395
9396 # The name that we can dlopen(3).
9397 dlname='$tdlname'
9398
9399 # Names of this library.
9400 library_names='$library_names'
9401
9402 # The name of the static archive.
9403 old_library='$old_library'
9404
9405 # Linker flags that can not go in dependency_libs.
9406 inherited_linker_flags='$new_inherited_linker_flags'
9407
9408 # Libraries that this one depends upon.
9409 dependency_libs='$dependency_libs'
9410
9411 # Names of additional weak libraries provided by this library
9412 weak_library_names='$weak_libs'
9413
9414 # Version information for $libname.
9415 current=$current
9416 age=$age
9417 revision=$revision
9418
9419 # Is this an already installed library?
9420 installed=$installed
9421
9422 # Should we warn about portability when linking against -modules?
9423 shouldnotlink=$module
9424
9425 # Files to dlopen/dlpreopen
9426 dlopen='$dlfiles'
9427 dlpreopen='$dlprefiles'
9428
9429 # Directory that this library needs to be installed in:
9430 libdir='$install_libdir'"
9431 if test "$installed" = no && test "$need_relink" = yes; then
9432 $ECHO >> $output "\
9433 relink_command=\"$relink_command\""
9434 fi
9435 done
9436 }
9437
9438 # Do a symbolic link so that the libtool archive can be found in
9439 # LD_LIBRARY_PATH before the program is installed.
9440 func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?'
9441 ;;
9442 esac
9443 exit $EXIT_SUCCESS
9444 }
9445
9446 { test "$opt_mode" = link || test "$opt_mode" = relink; } &&
9447 func_mode_link ${1+"$@"}
9448
9449
9450 # func_mode_uninstall arg...
9451 func_mode_uninstall ()
9452 {
9453 $opt_debug
9454 RM="$nonopt"
9455 files=
9456 rmforce=
9457 exit_status=0
9458
9459 # This variable tells wrapper scripts just to set variables rather
9460 # than running their programs.
9461 libtool_install_magic="$magic"
9462
9463 for arg
9464 do
9465 case $arg in
9466 -f) func_append RM " $arg"; rmforce=yes ;;
9467 -*) func_append RM " $arg" ;;
9468 *) func_append files " $arg" ;;
9469 esac
9470 done
9471
9472 test -z "$RM" && \
9473 func_fatal_help "you must specify an RM program"
9474
9475 rmdirs=
9476
9477 for file in $files; do
9478 func_dirname "$file" "" "."
9479 dir="$func_dirname_result"
9480 if test "X$dir" = X.; then
9481 odir="$objdir"
9482 else
9483 odir="$dir/$objdir"
9484 fi
9485 func_basename "$file"
9486 name="$func_basename_result"
9487 test "$opt_mode" = uninstall && odir="$dir"
9488
9489 # Remember odir for removal later, being careful to avoid duplicates
9490 if test "$opt_mode" = clean; then
9491 case " $rmdirs " in
9492 *" $odir "*) ;;
9493 *) func_append rmdirs " $odir" ;;
9494 esac
9495 fi
9496
9497 # Don't error if the file doesn't exist and rm -f was used.
9498 if { test -L "$file"; } >/dev/null 2>&1 ||
9499 { test -h "$file"; } >/dev/null 2>&1 ||
9500 test -f "$file"; then
9501 :
9502 elif test -d "$file"; then
9503 exit_status=1
9504 continue
9505 elif test "$rmforce" = yes; then
9506 continue
9507 fi
9508
9509 rmfiles="$file"
9510
9511 case $name in
9512 *.la)
9513 # Possibly a libtool archive, so verify it.
9514 if func_lalib_p "$file"; then
9515 func_source $dir/$name
9516
9517 # Delete the libtool libraries and symlinks.
9518 for n in $library_names; do
9519 func_append rmfiles " $odir/$n"
9520 done
9521 test -n "$old_library" && func_append rmfiles " $odir/$old_library"
9522
9523 case "$opt_mode" in
9524 clean)
9525 case " $library_names " in
9526 *" $dlname "*) ;;
9527 *) test -n "$dlname" && func_append rmfiles " $odir/$dlname" ;;
9528 esac
9529 test -n "$libdir" && func_append rmfiles " $odir/$name $odir/${name}i"
9530 ;;
9531 uninstall)
9532 if test -n "$library_names"; then
9533 # Do each command in the postuninstall commands.
9534 func_execute_cmds "$postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1'
9535 fi
9536
9537 if test -n "$old_library"; then
9538 # Do each command in the old_postuninstall commands.
9539 func_execute_cmds "$old_postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1'
9540 fi
9541 # FIXME: should reinstall the best remaining shared library.
9542 ;;
9543 esac
9544 fi
9545 ;;
9546
9547 *.lo)
9548 # Possibly a libtool object, so verify it.
9549 if func_lalib_p "$file"; then
9550
9551 # Read the .lo file
9552 func_source $dir/$name
9553
9554 # Add PIC object to the list of files to remove.
9555 if test -n "$pic_object" &&
9556 test "$pic_object" != none; then
9557 func_append rmfiles " $dir/$pic_object"
9558 fi
9559
9560 # Add non-PIC object to the list of files to remove.
9561 if test -n "$non_pic_object" &&
9562 test "$non_pic_object" != none; then
9563 func_append rmfiles " $dir/$non_pic_object"
9564 fi
9565 fi
9566 ;;
9567
9568 *)
9569 if test "$opt_mode" = clean ; then
9570 noexename=$name
9571 case $file in
9572 *.exe)
9573 func_stripname '' '.exe' "$file"
9574 file=$func_stripname_result
9575 func_stripname '' '.exe' "$name"
9576 noexename=$func_stripname_result
9577 # $file with .exe has already been added to rmfiles,
9578 # add $file without .exe
9579 func_append rmfiles " $file"
9580 ;;
9581 esac
9582 # Do a test to see if this is a libtool program.
9583 if func_ltwrapper_p "$file"; then
9584 if func_ltwrapper_executable_p "$file"; then
9585 func_ltwrapper_scriptname "$file"
9586 relink_command=
9587 func_source $func_ltwrapper_scriptname_result
9588 func_append rmfiles " $func_ltwrapper_scriptname_result"
9589 else
9590 relink_command=
9591 func_source $dir/$noexename
9592 fi
9593
9594 # note $name still contains .exe if it was in $file originally
9595 # as does the version of $file that was added into $rmfiles
9596 func_append rmfiles " $odir/$name $odir/${name}S.${objext}"
9597 if test "$fast_install" = yes && test -n "$relink_command"; then
9598 func_append rmfiles " $odir/lt-$name"
9599 fi
9600 if test "X$noexename" != "X$name" ; then
9601 func_append rmfiles " $odir/lt-${noexename}.c"
9602 fi
9603 fi
9604 fi
9605 ;;
9606 esac
9607 func_show_eval "$RM $rmfiles" 'exit_status=1'
9608 done
9609
9610 # Try to remove the ${objdir}s in the directories where we deleted files
9611 for dir in $rmdirs; do
9612 if test -d "$dir"; then
9613 func_show_eval "rmdir $dir >/dev/null 2>&1"
9614 fi
9615 done
9616
9617 exit $exit_status
9618 }
9619
9620 { test "$opt_mode" = uninstall || test "$opt_mode" = clean; } &&
9621 func_mode_uninstall ${1+"$@"}
9622
9623 test -z "$opt_mode" && {
9624 help="$generic_help"
9625 func_fatal_help "you must specify a MODE"
9626 }
9627
9628 test -z "$exec_cmd" && \
9629 func_fatal_help "invalid operation mode \`$opt_mode'"
9630
9631 if test -n "$exec_cmd"; then
9632 eval exec "$exec_cmd"
9633 exit $EXIT_FAILURE
9634 fi
9635
9636 exit $exit_status
9637
9638
9639 # The TAGs below are defined such that we never get into a situation
9640 # in which we disable both kinds of libraries. Given conflicting
9641 # choices, we go for a static library, that is the most portable,
9642 # since we can't tell whether shared libraries were disabled because
9643 # the user asked for that or because the platform doesn't support
9644 # them. This is particularly important on AIX, because we don't
9645 # support having both static and shared libraries enabled at the same
9646 # time on that platform, so we default to a shared-only configuration.
9647 # If a disable-shared tag is given, we'll fallback to a static-only
9648 # configuration. But we'll never go from static-only to shared-only.
9649
9650 # ### BEGIN LIBTOOL TAG CONFIG: disable-shared
9651 build_libtool_libs=no
9652 build_old_libs=yes
9653 # ### END LIBTOOL TAG CONFIG: disable-shared
9654
9655 # ### BEGIN LIBTOOL TAG CONFIG: disable-static
9656 build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac`
9657 # ### END LIBTOOL TAG CONFIG: disable-static
9658
9659 # Local Variables:
9660 # mode:shell-script
9661 # sh-indentation:2
9662 # End:
9663 # vi:sw=2
0 #!/bin/sh
1 # Get modification time of a file or directory and pretty-print it.
2
3 scriptversion=2010-08-21.06; # UTC
4
5 # Copyright (C) 1995, 1996, 1997, 2003, 2004, 2005, 2007, 2009, 2010
6 # Free Software Foundation, Inc.
7 # written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, June 1995
8 #
9 # This program is free software; you can redistribute it and/or modify
10 # it under the terms of the GNU General Public License as published by
11 # the Free Software Foundation; either version 2, or (at your option)
12 # any later version.
13 #
14 # This program is distributed in the hope that it will be useful,
15 # but WITHOUT ANY WARRANTY; without even the implied warranty of
16 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 # GNU General Public License for more details.
18 #
19 # You should have received a copy of the GNU General Public License
20 # along with this program. If not, see <https://www.gnu.org/licenses/>.
21
22 # As a special exception to the GNU General Public License, if you
23 # distribute this file as part of a program that contains a
24 # configuration script generated by Autoconf, you may include it under
25 # the same distribution terms that you use for the rest of that program.
26
27 # This file is maintained in Automake, please report
28 # bugs to <bug-automake@gnu.org> or send patches to
29 # <automake-patches@gnu.org>.
30
31 if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
32 emulate sh
33 NULLCMD=:
34 # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
35 # is contrary to our usage. Disable this feature.
36 alias -g '${1+"$@"}'='"$@"'
37 setopt NO_GLOB_SUBST
38 fi
39
40 case $1 in
41 '')
42 echo "$0: No file. Try \`$0 --help' for more information." 1>&2
43 exit 1;
44 ;;
45 -h | --h*)
46 cat <<\EOF
47 Usage: mdate-sh [--help] [--version] FILE
48
49 Pretty-print the modification day of FILE, in the format:
50 1 January 1970
51
52 Report bugs to <bug-automake@gnu.org>.
53 EOF
54 exit $?
55 ;;
56 -v | --v*)
57 echo "mdate-sh $scriptversion"
58 exit $?
59 ;;
60 esac
61
62 error ()
63 {
64 echo "$0: $1" >&2
65 exit 1
66 }
67
68
69 # Prevent date giving response in another language.
70 LANG=C
71 export LANG
72 LC_ALL=C
73 export LC_ALL
74 LC_TIME=C
75 export LC_TIME
76
77 # GNU ls changes its time format in response to the TIME_STYLE
78 # variable. Since we cannot assume `unset' works, revert this
79 # variable to its documented default.
80 if test "${TIME_STYLE+set}" = set; then
81 TIME_STYLE=posix-long-iso
82 export TIME_STYLE
83 fi
84
85 save_arg1=$1
86
87 # Find out how to get the extended ls output of a file or directory.
88 if ls -L /dev/null 1>/dev/null 2>&1; then
89 ls_command='ls -L -l -d'
90 else
91 ls_command='ls -l -d'
92 fi
93 # Avoid user/group names that might have spaces, when possible.
94 if ls -n /dev/null 1>/dev/null 2>&1; then
95 ls_command="$ls_command -n"
96 fi
97
98 # A `ls -l' line looks as follows on OS/2.
99 # drwxrwx--- 0 Aug 11 2001 foo
100 # This differs from Unix, which adds ownership information.
101 # drwxrwx--- 2 root root 4096 Aug 11 2001 foo
102 #
103 # To find the date, we split the line on spaces and iterate on words
104 # until we find a month. This cannot work with files whose owner is a
105 # user named `Jan', or `Feb', etc. However, it's unlikely that `/'
106 # will be owned by a user whose name is a month. So we first look at
107 # the extended ls output of the root directory to decide how many
108 # words should be skipped to get the date.
109
110 # On HPUX /bin/sh, "set" interprets "-rw-r--r--" as options, so the "x" below.
111 set x`$ls_command /`
112
113 # Find which argument is the month.
114 month=
115 command=
116 until test $month
117 do
118 test $# -gt 0 || error "failed parsing \`$ls_command /' output"
119 shift
120 # Add another shift to the command.
121 command="$command shift;"
122 case $1 in
123 Jan) month=January; nummonth=1;;
124 Feb) month=February; nummonth=2;;
125 Mar) month=March; nummonth=3;;
126 Apr) month=April; nummonth=4;;
127 May) month=May; nummonth=5;;
128 Jun) month=June; nummonth=6;;
129 Jul) month=July; nummonth=7;;
130 Aug) month=August; nummonth=8;;
131 Sep) month=September; nummonth=9;;
132 Oct) month=October; nummonth=10;;
133 Nov) month=November; nummonth=11;;
134 Dec) month=December; nummonth=12;;
135 esac
136 done
137
138 test -n "$month" || error "failed parsing \`$ls_command /' output"
139
140 # Get the extended ls output of the file or directory.
141 set dummy x`eval "$ls_command \"\\\$save_arg1\""`
142
143 # Remove all preceding arguments
144 eval $command
145
146 # Because of the dummy argument above, month is in $2.
147 #
148 # On a POSIX system, we should have
149 #
150 # $# = 5
151 # $1 = file size
152 # $2 = month
153 # $3 = day
154 # $4 = year or time
155 # $5 = filename
156 #
157 # On Darwin 7.7.0 and 7.6.0, we have
158 #
159 # $# = 4
160 # $1 = day
161 # $2 = month
162 # $3 = year or time
163 # $4 = filename
164
165 # Get the month.
166 case $2 in
167 Jan) month=January; nummonth=1;;
168 Feb) month=February; nummonth=2;;
169 Mar) month=March; nummonth=3;;
170 Apr) month=April; nummonth=4;;
171 May) month=May; nummonth=5;;
172 Jun) month=June; nummonth=6;;
173 Jul) month=July; nummonth=7;;
174 Aug) month=August; nummonth=8;;
175 Sep) month=September; nummonth=9;;
176 Oct) month=October; nummonth=10;;
177 Nov) month=November; nummonth=11;;
178 Dec) month=December; nummonth=12;;
179 esac
180
181 case $3 in
182 ???*) day=$1;;
183 *) day=$3; shift;;
184 esac
185
186 # Here we have to deal with the problem that the ls output gives either
187 # the time of day or the year.
188 case $3 in
189 *:*) set `date`; eval year=\$$#
190 case $2 in
191 Jan) nummonthtod=1;;
192 Feb) nummonthtod=2;;
193 Mar) nummonthtod=3;;
194 Apr) nummonthtod=4;;
195 May) nummonthtod=5;;
196 Jun) nummonthtod=6;;
197 Jul) nummonthtod=7;;
198 Aug) nummonthtod=8;;
199 Sep) nummonthtod=9;;
200 Oct) nummonthtod=10;;
201 Nov) nummonthtod=11;;
202 Dec) nummonthtod=12;;
203 esac
204 # For the first six month of the year the time notation can also
205 # be used for files modified in the last year.
206 if (expr $nummonth \> $nummonthtod) > /dev/null;
207 then
208 year=`expr $year - 1`
209 fi;;
210 *) year=$3;;
211 esac
212
213 # The result.
214 echo $day $month $year
215
216 # Local Variables:
217 # mode: shell-script
218 # sh-indentation: 2
219 # eval: (add-hook 'write-file-hooks 'time-stamp)
220 # time-stamp-start: "scriptversion="
221 # time-stamp-format: "%:y-%02m-%02d.%02H"
222 # time-stamp-time-zone: "UTC"
223 # time-stamp-end: "; # UTC"
224 # End:
0 #! /bin/sh
1 # Common wrapper for a few potentially missing GNU programs.
2
3 scriptversion=2013-10-28.13; # UTC
4
5 # Copyright (C) 1996-2013 Free Software Foundation, Inc.
6 # Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
7
8 # This program is free software; you can redistribute it and/or modify
9 # it under the terms of the GNU General Public License as published by
10 # the Free Software Foundation; either version 2, or (at your option)
11 # any later version.
12
13 # This program is distributed in the hope that it will be useful,
14 # but WITHOUT ANY WARRANTY; without even the implied warranty of
15 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 # GNU General Public License for more details.
17
18 # You should have received a copy of the GNU General Public License
19 # along with this program. If not, see <https://www.gnu.org/licenses/>.
20
21 # As a special exception to the GNU General Public License, if you
22 # distribute this file as part of a program that contains a
23 # configuration script generated by Autoconf, you may include it under
24 # the same distribution terms that you use for the rest of that program.
25
26 if test $# -eq 0; then
27 echo 1>&2 "Try '$0 --help' for more information"
28 exit 1
29 fi
30
31 case $1 in
32
33 --is-lightweight)
34 # Used by our autoconf macros to check whether the available missing
35 # script is modern enough.
36 exit 0
37 ;;
38
39 --run)
40 # Back-compat with the calling convention used by older automake.
41 shift
42 ;;
43
44 -h|--h|--he|--hel|--help)
45 echo "\
46 $0 [OPTION]... PROGRAM [ARGUMENT]...
47
48 Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due
49 to PROGRAM being missing or too old.
50
51 Options:
52 -h, --help display this help and exit
53 -v, --version output version information and exit
54
55 Supported PROGRAM values:
56 aclocal autoconf autoheader autom4te automake makeinfo
57 bison yacc flex lex help2man
58
59 Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and
60 'g' are ignored when checking the name.
61
62 Send bug reports to <bug-automake@gnu.org>."
63 exit $?
64 ;;
65
66 -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
67 echo "missing $scriptversion (GNU Automake)"
68 exit $?
69 ;;
70
71 -*)
72 echo 1>&2 "$0: unknown '$1' option"
73 echo 1>&2 "Try '$0 --help' for more information"
74 exit 1
75 ;;
76
77 esac
78
79 # Run the given program, remember its exit status.
80 "$@"; st=$?
81
82 # If it succeeded, we are done.
83 test $st -eq 0 && exit 0
84
85 # Also exit now if we it failed (or wasn't found), and '--version' was
86 # passed; such an option is passed most likely to detect whether the
87 # program is present and works.
88 case $2 in --version|--help) exit $st;; esac
89
90 # Exit code 63 means version mismatch. This often happens when the user
91 # tries to use an ancient version of a tool on a file that requires a
92 # minimum version.
93 if test $st -eq 63; then
94 msg="probably too old"
95 elif test $st -eq 127; then
96 # Program was missing.
97 msg="missing on your system"
98 else
99 # Program was found and executed, but failed. Give up.
100 exit $st
101 fi
102
103 perl_URL=http://www.perl.org/
104 flex_URL=http://flex.sourceforge.net/
105 gnu_software_URL=https://www.gnu.org/software
106
107 program_details ()
108 {
109 case $1 in
110 aclocal|automake)
111 echo "The '$1' program is part of the GNU Automake package:"
112 echo "<$gnu_software_URL/automake>"
113 echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:"
114 echo "<$gnu_software_URL/autoconf>"
115 echo "<$gnu_software_URL/m4/>"
116 echo "<$perl_URL>"
117 ;;
118 autoconf|autom4te|autoheader)
119 echo "The '$1' program is part of the GNU Autoconf package:"
120 echo "<$gnu_software_URL/autoconf/>"
121 echo "It also requires GNU m4 and Perl in order to run:"
122 echo "<$gnu_software_URL/m4/>"
123 echo "<$perl_URL>"
124 ;;
125 esac
126 }
127
128 give_advice ()
129 {
130 # Normalize program name to check for.
131 normalized_program=`echo "$1" | sed '
132 s/^gnu-//; t
133 s/^gnu//; t
134 s/^g//; t'`
135
136 printf '%s\n' "'$1' is $msg."
137
138 configure_deps="'configure.ac' or m4 files included by 'configure.ac'"
139 case $normalized_program in
140 autoconf*)
141 echo "You should only need it if you modified 'configure.ac',"
142 echo "or m4 files included by it."
143 program_details 'autoconf'
144 ;;
145 autoheader*)
146 echo "You should only need it if you modified 'acconfig.h' or"
147 echo "$configure_deps."
148 program_details 'autoheader'
149 ;;
150 automake*)
151 echo "You should only need it if you modified 'Makefile.am' or"
152 echo "$configure_deps."
153 program_details 'automake'
154 ;;
155 aclocal*)
156 echo "You should only need it if you modified 'acinclude.m4' or"
157 echo "$configure_deps."
158 program_details 'aclocal'
159 ;;
160 autom4te*)
161 echo "You might have modified some maintainer files that require"
162 echo "the 'autom4te' program to be rebuilt."
163 program_details 'autom4te'
164 ;;
165 bison*|yacc*)
166 echo "You should only need it if you modified a '.y' file."
167 echo "You may want to install the GNU Bison package:"
168 echo "<$gnu_software_URL/bison/>"
169 ;;
170 lex*|flex*)
171 echo "You should only need it if you modified a '.l' file."
172 echo "You may want to install the Fast Lexical Analyzer package:"
173 echo "<$flex_URL>"
174 ;;
175 help2man*)
176 echo "You should only need it if you modified a dependency" \
177 "of a man page."
178 echo "You may want to install the GNU Help2man package:"
179 echo "<$gnu_software_URL/help2man/>"
180 ;;
181 makeinfo*)
182 echo "You should only need it if you modified a '.texi' file, or"
183 echo "any other file indirectly affecting the aspect of the manual."
184 echo "You might want to install the Texinfo package:"
185 echo "<$gnu_software_URL/texinfo/>"
186 echo "The spurious makeinfo call might also be the consequence of"
187 echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might"
188 echo "want to install GNU make:"
189 echo "<$gnu_software_URL/make/>"
190 ;;
191 *)
192 echo "You might have modified some files without having the proper"
193 echo "tools for further handling them. Check the 'README' file, it"
194 echo "often tells you about the needed prerequisites for installing"
195 echo "this package. You may also peek at any GNU archive site, in"
196 echo "case some other package contains this missing '$1' program."
197 ;;
198 esac
199 }
200
201 give_advice "$1" | sed -e '1s/^/WARNING: /' \
202 -e '2,$s/^/ /' >&2
203
204 # Propagate the correct exit status (expected to be 127 for a program
205 # not found, 63 for a program that failed due to version mismatch).
206 exit $st
207
208 # Local variables:
209 # eval: (add-hook 'write-file-hooks 'time-stamp)
210 # time-stamp-start: "scriptversion="
211 # time-stamp-format: "%:y-%02m-%02d.%02H"
212 # time-stamp-time-zone: "UTC"
213 # time-stamp-end: "; # UTC"
214 # End:
0 #! /bin/sh
1 # mkinstalldirs --- make directory hierarchy
2
3 scriptversion=2006-05-11.19
4
5 # Original author: Noah Friedman <friedman@prep.ai.mit.edu>
6 # Created: 1993-05-16
7 # Public domain.
8 #
9 # This file is maintained in Automake, please report
10 # bugs to <bug-automake@gnu.org> or send patches to
11 # <automake-patches@gnu.org>.
12
13 nl='
14 '
15 IFS=" "" $nl"
16 errstatus=0
17 dirmode=
18
19 usage="\
20 Usage: mkinstalldirs [-h] [--help] [--version] [-m MODE] DIR ...
21
22 Create each directory DIR (with mode MODE, if specified), including all
23 leading file name components.
24
25 Report bugs to <bug-automake@gnu.org>."
26
27 # process command line arguments
28 while test $# -gt 0 ; do
29 case $1 in
30 -h | --help | --h*) # -h for help
31 echo "$usage"
32 exit $?
33 ;;
34 -m) # -m PERM arg
35 shift
36 test $# -eq 0 && { echo "$usage" 1>&2; exit 1; }
37 dirmode=$1
38 shift
39 ;;
40 --version)
41 echo "$0 $scriptversion"
42 exit $?
43 ;;
44 --) # stop option processing
45 shift
46 break
47 ;;
48 -*) # unknown option
49 echo "$usage" 1>&2
50 exit 1
51 ;;
52 *) # first non-opt arg
53 break
54 ;;
55 esac
56 done
57
58 for file
59 do
60 if test -d "$file"; then
61 shift
62 else
63 break
64 fi
65 done
66
67 case $# in
68 0) exit 0 ;;
69 esac
70
71 # Solaris 8's mkdir -p isn't thread-safe. If you mkdir -p a/b and
72 # mkdir -p a/c at the same time, both will detect that a is missing,
73 # one will create a, then the other will try to create a and die with
74 # a "File exists" error. This is a problem when calling mkinstalldirs
75 # from a parallel make. We use --version in the probe to restrict
76 # ourselves to GNU mkdir, which is thread-safe.
77 case $dirmode in
78 '')
79 if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
80 echo "mkdir -p -- $*"
81 exec mkdir -p -- "$@"
82 else
83 # On NextStep and OpenStep, the `mkdir' command does not
84 # recognize any option. It will interpret all options as
85 # directories to create, and then abort because `.' already
86 # exists.
87 test -d ./-p && rmdir ./-p
88 test -d ./--version && rmdir ./--version
89 fi
90 ;;
91 *)
92 if mkdir -m "$dirmode" -p --version . >/dev/null 2>&1 &&
93 test ! -d ./--version; then
94 echo "mkdir -m $dirmode -p -- $*"
95 exec mkdir -m "$dirmode" -p -- "$@"
96 else
97 # Clean up after NextStep and OpenStep mkdir.
98 for d in ./-m ./-p ./--version "./$dirmode";
99 do
100 test -d $d && rmdir $d
101 done
102 fi
103 ;;
104 esac
105
106 for file
107 do
108 case $file in
109 /*) pathcomp=/ ;;
110 *) pathcomp= ;;
111 esac
112 oIFS=$IFS
113 IFS=/
114 set fnord $file
115 shift
116 IFS=$oIFS
117
118 for d
119 do
120 test "x$d" = x && continue
121
122 pathcomp=$pathcomp$d
123 case $pathcomp in
124 -*) pathcomp=./$pathcomp ;;
125 esac
126
127 if test ! -d "$pathcomp"; then
128 echo "mkdir $pathcomp"
129
130 mkdir "$pathcomp" || lasterr=$?
131
132 if test ! -d "$pathcomp"; then
133 errstatus=$lasterr
134 else
135 if test ! -z "$dirmode"; then
136 echo "chmod $dirmode $pathcomp"
137 lasterr=
138 chmod "$dirmode" "$pathcomp" || lasterr=$?
139
140 if test ! -z "$lasterr"; then
141 errstatus=$lasterr
142 fi
143 fi
144 fi
145 fi
146
147 pathcomp=$pathcomp/
148 done
149 done
150
151 exit $errstatus
152
153 # Local Variables:
154 # mode: shell-script
155 # sh-indentation: 2
156 # eval: (add-hook 'write-file-hooks 'time-stamp)
157 # time-stamp-start: "scriptversion="
158 # time-stamp-format: "%:y-%02m-%02d.%02H"
159 # time-stamp-end: "$"
160 # End:
0 % texinfo.tex -- TeX macros to handle Texinfo files.
1 %
2 % Load plain if necessary, i.e., if running under initex.
3 \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
4 %
5 \def\texinfoversion{2013-02-25.14}
6 %
7 % Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
8 % 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
9 % 2007, 2008, 2009, 2010, 2011, 2012, 2013 Free Software Foundation, Inc.
10 %
11 % This texinfo.tex file is free software: you can redistribute it and/or
12 % modify it under the terms of the GNU General Public License as
13 % published by the Free Software Foundation, either version 3 of the
14 % License, or (at your option) any later version.
15 %
16 % This texinfo.tex file is distributed in the hope that it will be
17 % useful, but WITHOUT ANY WARRANTY; without even the implied warranty
18 % of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
19 % General Public License for more details.
20 %
21 % You should have received a copy of the GNU General Public License
22 % along with this program. If not, see <https://www.gnu.org/licenses/>.
23 %
24 % As a special exception, when this file is read by TeX when processing
25 % a Texinfo source document, you may use the result without
26 % restriction. This Exception is an additional permission under section 7
27 % of the GNU General Public License, version 3 ("GPLv3").
28 %
29 % Please try the latest version of texinfo.tex before submitting bug
30 % reports; you can get the latest version from:
31 % http://ftp.gnu.org/gnu/texinfo/ (the Texinfo release area), or
32 % http://ftpmirror.gnu.org/texinfo/ (same, via a mirror), or
33 % https://www.gnu.org/software/texinfo/ (the Texinfo home page)
34 % The texinfo.tex in any given distribution could well be out
35 % of date, so if that's what you're using, please check.
36 %
37 % Send bug reports to bug-texinfo@gnu.org. Please include including a
38 % complete document in each bug report with which we can reproduce the
39 % problem. Patches are, of course, greatly appreciated.
40 %
41 % To process a Texinfo manual with TeX, it's most reliable to use the
42 % texi2dvi shell script that comes with the distribution. For a simple
43 % manual foo.texi, however, you can get away with this:
44 % tex foo.texi
45 % texindex foo.??
46 % tex foo.texi
47 % tex foo.texi
48 % dvips foo.dvi -o # or whatever; this makes foo.ps.
49 % The extra TeX runs get the cross-reference information correct.
50 % Sometimes one run after texindex suffices, and sometimes you need more
51 % than two; texi2dvi does it as many times as necessary.
52 %
53 % It is possible to adapt texinfo.tex for other languages, to some
54 % extent. You can get the existing language-specific files from the
55 % full Texinfo distribution.
56 %
57 % The GNU Texinfo home page is https://www.gnu.org/software/texinfo.
58
59
60 \message{Loading texinfo [version \texinfoversion]:}
61
62 % If in a .fmt file, print the version number
63 % and turn on active characters that we couldn't do earlier because
64 % they might have appeared in the input file name.
65 \everyjob{\message{[Texinfo version \texinfoversion]}%
66 \catcode`+=\active \catcode`\_=\active}
67
68 \chardef\other=12
69
70 % We never want plain's \outer definition of \+ in Texinfo.
71 % For @tex, we can use \tabalign.
72 \let\+ = \relax
73
74 % Save some plain tex macros whose names we will redefine.
75 \let\ptexb=\b
76 \let\ptexbullet=\bullet
77 \let\ptexc=\c
78 \let\ptexcomma=\,
79 \let\ptexdot=\.
80 \let\ptexdots=\dots
81 \let\ptexend=\end
82 \let\ptexequiv=\equiv
83 \let\ptexexclam=\!
84 \let\ptexfootnote=\footnote
85 \let\ptexgtr=>
86 \let\ptexhat=^
87 \let\ptexi=\i
88 \let\ptexindent=\indent
89 \let\ptexinsert=\insert
90 \let\ptexlbrace=\{
91 \let\ptexless=<
92 \let\ptexnewwrite\newwrite
93 \let\ptexnoindent=\noindent
94 \let\ptexplus=+
95 \let\ptexraggedright=\raggedright
96 \let\ptexrbrace=\}
97 \let\ptexslash=\/
98 \let\ptexstar=\*
99 \let\ptext=\t
100 \let\ptextop=\top
101 {\catcode`\'=\active \global\let\ptexquoteright'}% active in plain's math mode
102
103 % If this character appears in an error message or help string, it
104 % starts a new line in the output.
105 \newlinechar = `^^J
106
107 % Use TeX 3.0's \inputlineno to get the line number, for better error
108 % messages, but if we're using an old version of TeX, don't do anything.
109 %
110 \ifx\inputlineno\thisisundefined
111 \let\linenumber = \empty % Pre-3.0.
112 \else
113 \def\linenumber{l.\the\inputlineno:\space}
114 \fi
115
116 % Set up fixed words for English if not already set.
117 \ifx\putwordAppendix\undefined \gdef\putwordAppendix{Appendix}\fi
118 \ifx\putwordChapter\undefined \gdef\putwordChapter{Chapter}\fi
119 \ifx\putworderror\undefined \gdef\putworderror{error}\fi
120 \ifx\putwordfile\undefined \gdef\putwordfile{file}\fi
121 \ifx\putwordin\undefined \gdef\putwordin{in}\fi
122 \ifx\putwordIndexIsEmpty\undefined \gdef\putwordIndexIsEmpty{(Index is empty)}\fi
123 \ifx\putwordIndexNonexistent\undefined \gdef\putwordIndexNonexistent{(Index is nonexistent)}\fi
124 \ifx\putwordInfo\undefined \gdef\putwordInfo{Info}\fi
125 \ifx\putwordInstanceVariableof\undefined \gdef\putwordInstanceVariableof{Instance Variable of}\fi
126 \ifx\putwordMethodon\undefined \gdef\putwordMethodon{Method on}\fi
127 \ifx\putwordNoTitle\undefined \gdef\putwordNoTitle{No Title}\fi
128 \ifx\putwordof\undefined \gdef\putwordof{of}\fi
129 \ifx\putwordon\undefined \gdef\putwordon{on}\fi
130 \ifx\putwordpage\undefined \gdef\putwordpage{page}\fi
131 \ifx\putwordsection\undefined \gdef\putwordsection{section}\fi
132 \ifx\putwordSection\undefined \gdef\putwordSection{Section}\fi
133 \ifx\putwordsee\undefined \gdef\putwordsee{see}\fi
134 \ifx\putwordSee\undefined \gdef\putwordSee{See}\fi
135 \ifx\putwordShortTOC\undefined \gdef\putwordShortTOC{Short Contents}\fi
136 \ifx\putwordTOC\undefined \gdef\putwordTOC{Table of Contents}\fi
137 %
138 \ifx\putwordMJan\undefined \gdef\putwordMJan{January}\fi
139 \ifx\putwordMFeb\undefined \gdef\putwordMFeb{February}\fi
140 \ifx\putwordMMar\undefined \gdef\putwordMMar{March}\fi
141 \ifx\putwordMApr\undefined \gdef\putwordMApr{April}\fi
142 \ifx\putwordMMay\undefined \gdef\putwordMMay{May}\fi
143 \ifx\putwordMJun\undefined \gdef\putwordMJun{June}\fi
144 \ifx\putwordMJul\undefined \gdef\putwordMJul{July}\fi
145 \ifx\putwordMAug\undefined \gdef\putwordMAug{August}\fi
146 \ifx\putwordMSep\undefined \gdef\putwordMSep{September}\fi
147 \ifx\putwordMOct\undefined \gdef\putwordMOct{October}\fi
148 \ifx\putwordMNov\undefined \gdef\putwordMNov{November}\fi
149 \ifx\putwordMDec\undefined \gdef\putwordMDec{December}\fi
150 %
151 \ifx\putwordDefmac\undefined \gdef\putwordDefmac{Macro}\fi
152 \ifx\putwordDefspec\undefined \gdef\putwordDefspec{Special Form}\fi
153 \ifx\putwordDefvar\undefined \gdef\putwordDefvar{Variable}\fi
154 \ifx\putwordDefopt\undefined \gdef\putwordDefopt{User Option}\fi
155 \ifx\putwordDeffunc\undefined \gdef\putwordDeffunc{Function}\fi
156
157 % Since the category of space is not known, we have to be careful.
158 \chardef\spacecat = 10
159 \def\spaceisspace{\catcode`\ =\spacecat}
160
161 % sometimes characters are active, so we need control sequences.
162 \chardef\ampChar = `\&
163 \chardef\colonChar = `\:
164 \chardef\commaChar = `\,
165 \chardef\dashChar = `\-
166 \chardef\dotChar = `\.
167 \chardef\exclamChar= `\!
168 \chardef\hashChar = `\#
169 \chardef\lquoteChar= `\`
170 \chardef\questChar = `\?
171 \chardef\rquoteChar= `\'
172 \chardef\semiChar = `\;
173 \chardef\slashChar = `\/
174 \chardef\underChar = `\_
175
176 % Ignore a token.
177 %
178 \def\gobble#1{}
179
180 % The following is used inside several \edef's.
181 \def\makecsname#1{\expandafter\noexpand\csname#1\endcsname}
182
183 % Hyphenation fixes.
184 \hyphenation{
185 Flor-i-da Ghost-script Ghost-view Mac-OS Post-Script
186 ap-pen-dix bit-map bit-maps
187 data-base data-bases eshell fall-ing half-way long-est man-u-script
188 man-u-scripts mini-buf-fer mini-buf-fers over-view par-a-digm
189 par-a-digms rath-er rec-tan-gu-lar ro-bot-ics se-vere-ly set-up spa-ces
190 spell-ing spell-ings
191 stand-alone strong-est time-stamp time-stamps which-ever white-space
192 wide-spread wrap-around
193 }
194
195 % Margin to add to right of even pages, to left of odd pages.
196 \newdimen\bindingoffset
197 \newdimen\normaloffset
198 \newdimen\pagewidth \newdimen\pageheight
199
200 % For a final copy, take out the rectangles
201 % that mark overfull boxes (in case you have decided
202 % that the text looks ok even though it passes the margin).
203 %
204 \def\finalout{\overfullrule=0pt }
205
206 % Sometimes it is convenient to have everything in the transcript file
207 % and nothing on the terminal. We don't just call \tracingall here,
208 % since that produces some useless output on the terminal. We also make
209 % some effort to order the tracing commands to reduce output in the log
210 % file; cf. trace.sty in LaTeX.
211 %
212 \def\gloggingall{\begingroup \globaldefs = 1 \loggingall \endgroup}%
213 \def\loggingall{%
214 \tracingstats2
215 \tracingpages1
216 \tracinglostchars2 % 2 gives us more in etex
217 \tracingparagraphs1
218 \tracingoutput1
219 \tracingmacros2
220 \tracingrestores1
221 \showboxbreadth\maxdimen \showboxdepth\maxdimen
222 \ifx\eTeXversion\thisisundefined\else % etex gives us more logging
223 \tracingscantokens1
224 \tracingifs1
225 \tracinggroups1
226 \tracingnesting2
227 \tracingassigns1
228 \fi
229 \tracingcommands3 % 3 gives us more in etex
230 \errorcontextlines16
231 }%
232
233 % @errormsg{MSG}. Do the index-like expansions on MSG, but if things
234 % aren't perfect, it's not the end of the world, being an error message,
235 % after all.
236 %
237 \def\errormsg{\begingroup \indexnofonts \doerrormsg}
238 \def\doerrormsg#1{\errmessage{#1}}
239
240 % add check for \lastpenalty to plain's definitions. If the last thing
241 % we did was a \nobreak, we don't want to insert more space.
242 %
243 \def\smallbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\smallskipamount
244 \removelastskip\penalty-50\smallskip\fi\fi}
245 \def\medbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\medskipamount
246 \removelastskip\penalty-100\medskip\fi\fi}
247 \def\bigbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\bigskipamount
248 \removelastskip\penalty-200\bigskip\fi\fi}
249
250 % Do @cropmarks to get crop marks.
251 %
252 \newif\ifcropmarks
253 \let\cropmarks = \cropmarkstrue
254 %
255 % Dimensions to add cropmarks at corners.
256 % Added by P. A. MacKay, 12 Nov. 1986
257 %
258 \newdimen\outerhsize \newdimen\outervsize % set by the paper size routines
259 \newdimen\cornerlong \cornerlong=1pc
260 \newdimen\cornerthick \cornerthick=.3pt
261 \newdimen\topandbottommargin \topandbottommargin=.75in
262
263 % Output a mark which sets \thischapter, \thissection and \thiscolor.
264 % We dump everything together because we only have one kind of mark.
265 % This works because we only use \botmark / \topmark, not \firstmark.
266 %
267 % A mark contains a subexpression of the \ifcase ... \fi construct.
268 % \get*marks macros below extract the needed part using \ifcase.
269 %
270 % Another complication is to let the user choose whether \thischapter
271 % (\thissection) refers to the chapter (section) in effect at the top
272 % of a page, or that at the bottom of a page. The solution is
273 % described on page 260 of The TeXbook. It involves outputting two
274 % marks for the sectioning macros, one before the section break, and
275 % one after. I won't pretend I can describe this better than DEK...
276 \def\domark{%
277 \toks0=\expandafter{\lastchapterdefs}%
278 \toks2=\expandafter{\lastsectiondefs}%
279 \toks4=\expandafter{\prevchapterdefs}%
280 \toks6=\expandafter{\prevsectiondefs}%
281 \toks8=\expandafter{\lastcolordefs}%
282 \mark{%
283 \the\toks0 \the\toks2
284 \noexpand\or \the\toks4 \the\toks6
285 \noexpand\else \the\toks8
286 }%
287 }
288 % \topmark doesn't work for the very first chapter (after the title
289 % page or the contents), so we use \firstmark there -- this gets us
290 % the mark with the chapter defs, unless the user sneaks in, e.g.,
291 % @setcolor (or @url, or @link, etc.) between @contents and the very
292 % first @chapter.
293 \def\gettopheadingmarks{%
294 \ifcase0\topmark\fi
295 \ifx\thischapter\empty \ifcase0\firstmark\fi \fi
296 }
297 \def\getbottomheadingmarks{\ifcase1\botmark\fi}
298 \def\getcolormarks{\ifcase2\topmark\fi}
299
300 % Avoid "undefined control sequence" errors.
301 \def\lastchapterdefs{}
302 \def\lastsectiondefs{}
303 \def\prevchapterdefs{}
304 \def\prevsectiondefs{}
305 \def\lastcolordefs{}
306
307 % Main output routine.
308 \chardef\PAGE = 255
309 \output = {\onepageout{\pagecontents\PAGE}}
310
311 \newbox\headlinebox
312 \newbox\footlinebox
313
314 % \onepageout takes a vbox as an argument. Note that \pagecontents
315 % does insertions, but you have to call it yourself.
316 \def\onepageout#1{%
317 \ifcropmarks \hoffset=0pt \else \hoffset=\normaloffset \fi
318 %
319 \ifodd\pageno \advance\hoffset by \bindingoffset
320 \else \advance\hoffset by -\bindingoffset\fi
321 %
322 % Do this outside of the \shipout so @code etc. will be expanded in
323 % the headline as they should be, not taken literally (outputting ''code).
324 \ifodd\pageno \getoddheadingmarks \else \getevenheadingmarks \fi
325 \setbox\headlinebox = \vbox{\let\hsize=\pagewidth \makeheadline}%
326 \ifodd\pageno \getoddfootingmarks \else \getevenfootingmarks \fi
327 \setbox\footlinebox = \vbox{\let\hsize=\pagewidth \makefootline}%
328 %
329 {%
330 % Have to do this stuff outside the \shipout because we want it to
331 % take effect in \write's, yet the group defined by the \vbox ends
332 % before the \shipout runs.
333 %
334 \indexdummies % don't expand commands in the output.
335 \normalturnoffactive % \ in index entries must not stay \, e.g., if
336 % the page break happens to be in the middle of an example.
337 % We don't want .vr (or whatever) entries like this:
338 % \entry{{\tt \indexbackslash }acronym}{32}{\code {\acronym}}
339 % "\acronym" won't work when it's read back in;
340 % it needs to be
341 % {\code {{\tt \backslashcurfont }acronym}
342 \shipout\vbox{%
343 % Do this early so pdf references go to the beginning of the page.
344 \ifpdfmakepagedest \pdfdest name{\the\pageno} xyz\fi
345 %
346 \ifcropmarks \vbox to \outervsize\bgroup
347 \hsize = \outerhsize
348 \vskip-\topandbottommargin
349 \vtop to0pt{%
350 \line{\ewtop\hfil\ewtop}%
351 \nointerlineskip
352 \line{%
353 \vbox{\moveleft\cornerthick\nstop}%
354 \hfill
355 \vbox{\moveright\cornerthick\nstop}%
356 }%
357 \vss}%
358 \vskip\topandbottommargin
359 \line\bgroup
360 \hfil % center the page within the outer (page) hsize.
361 \ifodd\pageno\hskip\bindingoffset\fi
362 \vbox\bgroup
363 \fi
364 %
365 \unvbox\headlinebox
366 \pagebody{#1}%
367 \ifdim\ht\footlinebox > 0pt
368 % Only leave this space if the footline is nonempty.
369 % (We lessened \vsize for it in \oddfootingyyy.)
370 % The \baselineskip=24pt in plain's \makefootline has no effect.
371 \vskip 24pt
372 \unvbox\footlinebox
373 \fi
374 %
375 \ifcropmarks
376 \egroup % end of \vbox\bgroup
377 \hfil\egroup % end of (centering) \line\bgroup
378 \vskip\topandbottommargin plus1fill minus1fill
379 \boxmaxdepth = \cornerthick
380 \vbox to0pt{\vss
381 \line{%
382 \vbox{\moveleft\cornerthick\nsbot}%
383 \hfill
384 \vbox{\moveright\cornerthick\nsbot}%
385 }%
386 \nointerlineskip
387 \line{\ewbot\hfil\ewbot}%
388 }%
389 \egroup % \vbox from first cropmarks clause
390 \fi
391 }% end of \shipout\vbox
392 }% end of group with \indexdummies
393 \advancepageno
394 \ifnum\outputpenalty>-20000 \else\dosupereject\fi
395 }
396
397 \newinsert\margin \dimen\margin=\maxdimen
398
399 \def\pagebody#1{\vbox to\pageheight{\boxmaxdepth=\maxdepth #1}}
400 {\catcode`\@ =11
401 \gdef\pagecontents#1{\ifvoid\topins\else\unvbox\topins\fi
402 % marginal hacks, juha@viisa.uucp (Juha Takala)
403 \ifvoid\margin\else % marginal info is present
404 \rlap{\kern\hsize\vbox to\z@{\kern1pt\box\margin \vss}}\fi
405 \dimen@=\dp#1\relax \unvbox#1\relax
406 \ifvoid\footins\else\vskip\skip\footins\footnoterule \unvbox\footins\fi
407 \ifr@ggedbottom \kern-\dimen@ \vfil \fi}
408 }
409
410 % Here are the rules for the cropmarks. Note that they are
411 % offset so that the space between them is truly \outerhsize or \outervsize
412 % (P. A. MacKay, 12 November, 1986)
413 %
414 \def\ewtop{\vrule height\cornerthick depth0pt width\cornerlong}
415 \def\nstop{\vbox
416 {\hrule height\cornerthick depth\cornerlong width\cornerthick}}
417 \def\ewbot{\vrule height0pt depth\cornerthick width\cornerlong}
418 \def\nsbot{\vbox
419 {\hrule height\cornerlong depth\cornerthick width\cornerthick}}
420
421 % Parse an argument, then pass it to #1. The argument is the rest of
422 % the input line (except we remove a trailing comment). #1 should be a
423 % macro which expects an ordinary undelimited TeX argument.
424 %
425 \def\parsearg{\parseargusing{}}
426 \def\parseargusing#1#2{%
427 \def\argtorun{#2}%
428 \begingroup
429 \obeylines
430 \spaceisspace
431 #1%
432 \parseargline\empty% Insert the \empty token, see \finishparsearg below.
433 }
434
435 {\obeylines %
436 \gdef\parseargline#1^^M{%
437 \endgroup % End of the group started in \parsearg.
438 \argremovecomment #1\comment\ArgTerm%
439 }%
440 }
441
442 % First remove any @comment, then any @c comment.
443 \def\argremovecomment#1\comment#2\ArgTerm{\argremovec #1\c\ArgTerm}
444 \def\argremovec#1\c#2\ArgTerm{\argcheckspaces#1\^^M\ArgTerm}
445
446 % Each occurrence of `\^^M' or `<space>\^^M' is replaced by a single space.
447 %
448 % \argremovec might leave us with trailing space, e.g.,
449 % @end itemize @c foo
450 % This space token undergoes the same procedure and is eventually removed
451 % by \finishparsearg.
452 %
453 \def\argcheckspaces#1\^^M{\argcheckspacesX#1\^^M \^^M}
454 \def\argcheckspacesX#1 \^^M{\argcheckspacesY#1\^^M}
455 \def\argcheckspacesY#1\^^M#2\^^M#3\ArgTerm{%
456 \def\temp{#3}%
457 \ifx\temp\empty
458 % Do not use \next, perhaps the caller of \parsearg uses it; reuse \temp:
459 \let\temp\finishparsearg
460 \else
461 \let\temp\argcheckspaces
462 \fi
463 % Put the space token in:
464 \temp#1 #3\ArgTerm
465 }
466
467 % If a _delimited_ argument is enclosed in braces, they get stripped; so
468 % to get _exactly_ the rest of the line, we had to prevent such situation.
469 % We prepended an \empty token at the very beginning and we expand it now,
470 % just before passing the control to \argtorun.
471 % (Similarly, we have to think about #3 of \argcheckspacesY above: it is
472 % either the null string, or it ends with \^^M---thus there is no danger
473 % that a pair of braces would be stripped.
474 %
475 % But first, we have to remove the trailing space token.
476 %
477 \def\finishparsearg#1 \ArgTerm{\expandafter\argtorun\expandafter{#1}}
478
479 % \parseargdef\foo{...}
480 % is roughly equivalent to
481 % \def\foo{\parsearg\Xfoo}
482 % \def\Xfoo#1{...}
483 %
484 % Actually, I use \csname\string\foo\endcsname, ie. \\foo, as it is my
485 % favourite TeX trick. --kasal, 16nov03
486
487 \def\parseargdef#1{%
488 \expandafter \doparseargdef \csname\string#1\endcsname #1%
489 }
490 \def\doparseargdef#1#2{%
491 \def#2{\parsearg#1}%
492 \def#1##1%
493 }
494
495 % Several utility definitions with active space:
496 {
497 \obeyspaces
498 \gdef\obeyedspace{ }
499
500 % Make each space character in the input produce a normal interword
501 % space in the output. Don't allow a line break at this space, as this
502 % is used only in environments like @example, where each line of input
503 % should produce a line of output anyway.
504 %
505 \gdef\sepspaces{\obeyspaces\let =\tie}
506
507 % If an index command is used in an @example environment, any spaces
508 % therein should become regular spaces in the raw index file, not the
509 % expansion of \tie (\leavevmode \penalty \@M \ ).
510 \gdef\unsepspaces{\let =\space}
511 }
512
513
514 \def\flushcr{\ifx\par\lisppar \def\next##1{}\else \let\next=\relax \fi \next}
515
516 % Define the framework for environments in texinfo.tex. It's used like this:
517 %
518 % \envdef\foo{...}
519 % \def\Efoo{...}
520 %
521 % It's the responsibility of \envdef to insert \begingroup before the
522 % actual body; @end closes the group after calling \Efoo. \envdef also
523 % defines \thisenv, so the current environment is known; @end checks
524 % whether the environment name matches. The \checkenv macro can also be
525 % used to check whether the current environment is the one expected.
526 %
527 % Non-false conditionals (@iftex, @ifset) don't fit into this, so they
528 % are not treated as environments; they don't open a group. (The
529 % implementation of @end takes care not to call \endgroup in this
530 % special case.)
531
532
533 % At run-time, environments start with this:
534 \def\startenvironment#1{\begingroup\def\thisenv{#1}}
535 % initialize
536 \let\thisenv\empty
537
538 % ... but they get defined via ``\envdef\foo{...}'':
539 \long\def\envdef#1#2{\def#1{\startenvironment#1#2}}
540 \def\envparseargdef#1#2{\parseargdef#1{\startenvironment#1#2}}
541
542 % Check whether we're in the right environment:
543 \def\checkenv#1{%
544 \def\temp{#1}%
545 \ifx\thisenv\temp
546 \else
547 \badenverr
548 \fi
549 }
550
551 % Environment mismatch, #1 expected:
552 \def\badenverr{%
553 \errhelp = \EMsimple
554 \errmessage{This command can appear only \inenvironment\temp,
555 not \inenvironment\thisenv}%
556 }
557 \def\inenvironment#1{%
558 \ifx#1\empty
559 outside of any environment%
560 \else
561 in environment \expandafter\string#1%
562 \fi
563 }
564
565 % @end foo executes the definition of \Efoo.
566 % But first, it executes a specialized version of \checkenv
567 %
568 \parseargdef\end{%
569 \if 1\csname iscond.#1\endcsname
570 \else
571 % The general wording of \badenverr may not be ideal.
572 \expandafter\checkenv\csname#1\endcsname
573 \csname E#1\endcsname
574 \endgroup
575 \fi
576 }
577
578 \newhelp\EMsimple{Press RETURN to continue.}
579
580
581 % Be sure we're in horizontal mode when doing a tie, since we make space
582 % equivalent to this in @example-like environments. Otherwise, a space
583 % at the beginning of a line will start with \penalty -- and
584 % since \penalty is valid in vertical mode, we'd end up putting the
585 % penalty on the vertical list instead of in the new paragraph.
586 {\catcode`@ = 11
587 % Avoid using \@M directly, because that causes trouble
588 % if the definition is written into an index file.
589 \global\let\tiepenalty = \@M
590 \gdef\tie{\leavevmode\penalty\tiepenalty\ }
591 }
592
593 % @: forces normal size whitespace following.
594 \def\:{\spacefactor=1000 }
595
596 % @* forces a line break.
597 \def\*{\unskip\hfil\break\hbox{}\ignorespaces}
598
599 % @/ allows a line break.
600 \let\/=\allowbreak
601
602 % @. is an end-of-sentence period.
603 \def\.{.\spacefactor=\endofsentencespacefactor\space}
604
605 % @! is an end-of-sentence bang.
606 \def\!{!\spacefactor=\endofsentencespacefactor\space}
607
608 % @? is an end-of-sentence query.
609 \def\?{?\spacefactor=\endofsentencespacefactor\space}
610
611 % @frenchspacing on|off says whether to put extra space after punctuation.
612 %
613 \def\onword{on}
614 \def\offword{off}
615 %
616 \parseargdef\frenchspacing{%
617 \def\temp{#1}%
618 \ifx\temp\onword \plainfrenchspacing
619 \else\ifx\temp\offword \plainnonfrenchspacing
620 \else
621 \errhelp = \EMsimple
622 \errmessage{Unknown @frenchspacing option `\temp', must be on|off}%
623 \fi\fi
624 }
625
626 % @w prevents a word break. Without the \leavevmode, @w at the
627 % beginning of a paragraph, when TeX is still in vertical mode, would
628 % produce a whole line of output instead of starting the paragraph.
629 \def\w#1{\leavevmode\hbox{#1}}
630
631 % @group ... @end group forces ... to be all on one page, by enclosing
632 % it in a TeX vbox. We use \vtop instead of \vbox to construct the box
633 % to keep its height that of a normal line. According to the rules for
634 % \topskip (p.114 of the TeXbook), the glue inserted is
635 % max (\topskip - \ht (first item), 0). If that height is large,
636 % therefore, no glue is inserted, and the space between the headline and
637 % the text is small, which looks bad.
638 %
639 % Another complication is that the group might be very large. This can
640 % cause the glue on the previous page to be unduly stretched, because it
641 % does not have much material. In this case, it's better to add an
642 % explicit \vfill so that the extra space is at the bottom. The
643 % threshold for doing this is if the group is more than \vfilllimit
644 % percent of a page (\vfilllimit can be changed inside of @tex).
645 %
646 \newbox\groupbox
647 \def\vfilllimit{0.7}
648 %
649 \envdef\group{%
650 \ifnum\catcode`\^^M=\active \else
651 \errhelp = \groupinvalidhelp
652 \errmessage{@group invalid in context where filling is enabled}%
653 \fi
654 \startsavinginserts
655 %
656 \setbox\groupbox = \vtop\bgroup
657 % Do @comment since we are called inside an environment such as
658 % @example, where each end-of-line in the input causes an
659 % end-of-line in the output. We don't want the end-of-line after
660 % the `@group' to put extra space in the output. Since @group
661 % should appear on a line by itself (according to the Texinfo
662 % manual), we don't worry about eating any user text.
663 \comment
664 }
665 %
666 % The \vtop produces a box with normal height and large depth; thus, TeX puts
667 % \baselineskip glue before it, and (when the next line of text is done)
668 % \lineskip glue after it. Thus, space below is not quite equal to space
669 % above. But it's pretty close.
670 \def\Egroup{%
671 % To get correct interline space between the last line of the group
672 % and the first line afterwards, we have to propagate \prevdepth.
673 \endgraf % Not \par, as it may have been set to \lisppar.
674 \global\dimen1 = \prevdepth
675 \egroup % End the \vtop.
676 % \dimen0 is the vertical size of the group's box.
677 \dimen0 = \ht\groupbox \advance\dimen0 by \dp\groupbox
678 % \dimen2 is how much space is left on the page (more or less).
679 \dimen2 = \pageheight \advance\dimen2 by -\pagetotal
680 % if the group doesn't fit on the current page, and it's a big big
681 % group, force a page break.
682 \ifdim \dimen0 > \dimen2
683 \ifdim \pagetotal < \vfilllimit\pageheight
684 \page
685 \fi
686 \fi
687 \box\groupbox
688 \prevdepth = \dimen1
689 \checkinserts
690 }
691 %
692 % TeX puts in an \escapechar (i.e., `@') at the beginning of the help
693 % message, so this ends up printing `@group can only ...'.
694 %
695 \newhelp\groupinvalidhelp{%
696 group can only be used in environments such as @example,^^J%
697 where each line of input produces a line of output.}
698
699 % @need space-in-mils
700 % forces a page break if there is not space-in-mils remaining.
701
702 \newdimen\mil \mil=0.001in
703
704 \parseargdef\need{%
705 % Ensure vertical mode, so we don't make a big box in the middle of a
706 % paragraph.
707 \par
708 %
709 % If the @need value is less than one line space, it's useless.
710 \dimen0 = #1\mil
711 \dimen2 = \ht\strutbox
712 \advance\dimen2 by \dp\strutbox
713 \ifdim\dimen0 > \dimen2
714 %
715 % Do a \strut just to make the height of this box be normal, so the
716 % normal leading is inserted relative to the preceding line.
717 % And a page break here is fine.
718 \vtop to #1\mil{\strut\vfil}%
719 %
720 % TeX does not even consider page breaks if a penalty added to the
721 % main vertical list is 10000 or more. But in order to see if the
722 % empty box we just added fits on the page, we must make it consider
723 % page breaks. On the other hand, we don't want to actually break the
724 % page after the empty box. So we use a penalty of 9999.
725 %
726 % There is an extremely small chance that TeX will actually break the
727 % page at this \penalty, if there are no other feasible breakpoints in
728 % sight. (If the user is using lots of big @group commands, which
729 % almost-but-not-quite fill up a page, TeX will have a hard time doing
730 % good page breaking, for example.) However, I could not construct an
731 % example where a page broke at this \penalty; if it happens in a real
732 % document, then we can reconsider our strategy.
733 \penalty9999
734 %
735 % Back up by the size of the box, whether we did a page break or not.
736 \kern -#1\mil
737 %
738 % Do not allow a page break right after this kern.
739 \nobreak
740 \fi
741 }
742
743 % @br forces paragraph break (and is undocumented).
744
745 \let\br = \par
746
747 % @page forces the start of a new page.
748 %
749 \def\page{\par\vfill\supereject}
750
751 % @exdent text....
752 % outputs text on separate line in roman font, starting at standard page margin
753
754 % This records the amount of indent in the innermost environment.
755 % That's how much \exdent should take out.
756 \newskip\exdentamount
757
758 % This defn is used inside fill environments such as @defun.
759 \parseargdef\exdent{\hfil\break\hbox{\kern -\exdentamount{\rm#1}}\hfil\break}
760
761 % This defn is used inside nofill environments such as @example.
762 \parseargdef\nofillexdent{{\advance \leftskip by -\exdentamount
763 \leftline{\hskip\leftskip{\rm#1}}}}
764
765 % @inmargin{WHICH}{TEXT} puts TEXT in the WHICH margin next to the current
766 % paragraph. For more general purposes, use the \margin insertion
767 % class. WHICH is `l' or `r'. Not documented, written for gawk manual.
768 %
769 \newskip\inmarginspacing \inmarginspacing=1cm
770 \def\strutdepth{\dp\strutbox}
771 %
772 \def\doinmargin#1#2{\strut\vadjust{%
773 \nobreak
774 \kern-\strutdepth
775 \vtop to \strutdepth{%
776 \baselineskip=\strutdepth
777 \vss
778 % if you have multiple lines of stuff to put here, you'll need to
779 % make the vbox yourself of the appropriate size.
780 \ifx#1l%
781 \llap{\ignorespaces #2\hskip\inmarginspacing}%
782 \else
783 \rlap{\hskip\hsize \hskip\inmarginspacing \ignorespaces #2}%
784 \fi
785 \null
786 }%
787 }}
788 \def\inleftmargin{\doinmargin l}
789 \def\inrightmargin{\doinmargin r}
790 %
791 % @inmargin{TEXT [, RIGHT-TEXT]}
792 % (if RIGHT-TEXT is given, use TEXT for left page, RIGHT-TEXT for right;
793 % else use TEXT for both).
794 %
795 \def\inmargin#1{\parseinmargin #1,,\finish}
796 \def\parseinmargin#1,#2,#3\finish{% not perfect, but better than nothing.
797 \setbox0 = \hbox{\ignorespaces #2}%
798 \ifdim\wd0 > 0pt
799 \def\lefttext{#1}% have both texts
800 \def\righttext{#2}%
801 \else
802 \def\lefttext{#1}% have only one text
803 \def\righttext{#1}%
804 \fi
805 %
806 \ifodd\pageno
807 \def\temp{\inrightmargin\righttext}% odd page -> outside is right margin
808 \else
809 \def\temp{\inleftmargin\lefttext}%
810 \fi
811 \temp
812 }
813
814 % @| inserts a changebar to the left of the current line. It should
815 % surround any changed text. This approach does *not* work if the
816 % change spans more than two lines of output. To handle that, we would
817 % have adopt a much more difficult approach (putting marks into the main
818 % vertical list for the beginning and end of each change). This command
819 % is not documented, not supported, and doesn't work.
820 %
821 \def\|{%
822 % \vadjust can only be used in horizontal mode.
823 \leavevmode
824 %
825 % Append this vertical mode material after the current line in the output.
826 \vadjust{%
827 % We want to insert a rule with the height and depth of the current
828 % leading; that is exactly what \strutbox is supposed to record.
829 \vskip-\baselineskip
830 %
831 % \vadjust-items are inserted at the left edge of the type. So
832 % the \llap here moves out into the left-hand margin.
833 \llap{%
834 %
835 % For a thicker or thinner bar, change the `1pt'.
836 \vrule height\baselineskip width1pt
837 %
838 % This is the space between the bar and the text.
839 \hskip 12pt
840 }%
841 }%
842 }
843
844 % @include FILE -- \input text of FILE.
845 %
846 \def\include{\parseargusing\filenamecatcodes\includezzz}
847 \def\includezzz#1{%
848 \pushthisfilestack
849 \def\thisfile{#1}%
850 {%
851 \makevalueexpandable % we want to expand any @value in FILE.
852 \turnoffactive % and allow special characters in the expansion
853 \indexnofonts % Allow `@@' and other weird things in file names.
854 \wlog{texinfo.tex: doing @include of #1^^J}%
855 \edef\temp{\noexpand\input #1 }%
856 %
857 % This trickery is to read FILE outside of a group, in case it makes
858 % definitions, etc.
859 \expandafter
860 }\temp
861 \popthisfilestack
862 }
863 \def\filenamecatcodes{%
864 \catcode`\\=\other
865 \catcode`~=\other
866 \catcode`^=\other
867 \catcode`_=\other
868 \catcode`|=\other
869 \catcode`<=\other
870 \catcode`>=\other
871 \catcode`+=\other
872 \catcode`-=\other
873 \catcode`\`=\other
874 \catcode`\'=\other
875 }
876
877 \def\pushthisfilestack{%
878 \expandafter\pushthisfilestackX\popthisfilestack\StackTerm
879 }
880 \def\pushthisfilestackX{%
881 \expandafter\pushthisfilestackY\thisfile\StackTerm
882 }
883 \def\pushthisfilestackY #1\StackTerm #2\StackTerm {%
884 \gdef\popthisfilestack{\gdef\thisfile{#1}\gdef\popthisfilestack{#2}}%
885 }
886
887 \def\popthisfilestack{\errthisfilestackempty}
888 \def\errthisfilestackempty{\errmessage{Internal error:
889 the stack of filenames is empty.}}
890 %
891 \def\thisfile{}
892
893 % @center line
894 % outputs that line, centered.
895 %
896 \parseargdef\center{%
897 \ifhmode
898 \let\centersub\centerH
899 \else
900 \let\centersub\centerV
901 \fi
902 \centersub{\hfil \ignorespaces#1\unskip \hfil}%
903 \let\centersub\relax % don't let the definition persist, just in case
904 }
905 \def\centerH#1{{%
906 \hfil\break
907 \advance\hsize by -\leftskip
908 \advance\hsize by -\rightskip
909 \line{#1}%
910 \break
911 }}
912 %
913 \newcount\centerpenalty
914 \def\centerV#1{%
915 % The idea here is the same as in \startdefun, \cartouche, etc.: if
916 % @center is the first thing after a section heading, we need to wipe
917 % out the negative parskip inserted by \sectionheading, but still
918 % prevent a page break here.
919 \centerpenalty = \lastpenalty
920 \ifnum\centerpenalty>10000 \vskip\parskip \fi
921 \ifnum\centerpenalty>9999 \penalty\centerpenalty \fi
922 \line{\kern\leftskip #1\kern\rightskip}%
923 }
924
925 % @sp n outputs n lines of vertical space
926 %
927 \parseargdef\sp{\vskip #1\baselineskip}
928
929 % @comment ...line which is ignored...
930 % @c is the same as @comment
931 % @ignore ... @end ignore is another way to write a comment
932 %
933 \def\comment{\begingroup \catcode`\^^M=\other%
934 \catcode`\@=\other \catcode`\{=\other \catcode`\}=\other%
935 \commentxxx}
936 {\catcode`\^^M=\other \gdef\commentxxx#1^^M{\endgroup}}
937 %
938 \let\c=\comment
939
940 % @paragraphindent NCHARS
941 % We'll use ems for NCHARS, close enough.
942 % NCHARS can also be the word `asis' or `none'.
943 % We cannot feasibly implement @paragraphindent asis, though.
944 %
945 \def\asisword{asis} % no translation, these are keywords
946 \def\noneword{none}
947 %
948 \parseargdef\paragraphindent{%
949 \def\temp{#1}%
950 \ifx\temp\asisword
951 \else
952 \ifx\temp\noneword
953 \defaultparindent = 0pt
954 \else
955 \defaultparindent = #1em
956 \fi
957 \fi
958 \parindent = \defaultparindent
959 }
960
961 % @exampleindent NCHARS
962 % We'll use ems for NCHARS like @paragraphindent.
963 % It seems @exampleindent asis isn't necessary, but
964 % I preserve it to make it similar to @paragraphindent.
965 \parseargdef\exampleindent{%
966 \def\temp{#1}%
967 \ifx\temp\asisword
968 \else
969 \ifx\temp\noneword
970 \lispnarrowing = 0pt
971 \else
972 \lispnarrowing = #1em
973 \fi
974 \fi
975 }
976
977 % @firstparagraphindent WORD
978 % If WORD is `none', then suppress indentation of the first paragraph
979 % after a section heading. If WORD is `insert', then do indent at such
980 % paragraphs.
981 %
982 % The paragraph indentation is suppressed or not by calling
983 % \suppressfirstparagraphindent, which the sectioning commands do.
984 % We switch the definition of this back and forth according to WORD.
985 % By default, we suppress indentation.
986 %
987 \def\suppressfirstparagraphindent{\dosuppressfirstparagraphindent}
988 \def\insertword{insert}
989 %
990 \parseargdef\firstparagraphindent{%
991 \def\temp{#1}%
992 \ifx\temp\noneword
993 \let\suppressfirstparagraphindent = \dosuppressfirstparagraphindent
994 \else\ifx\temp\insertword
995 \let\suppressfirstparagraphindent = \relax
996 \else
997 \errhelp = \EMsimple
998 \errmessage{Unknown @firstparagraphindent option `\temp'}%
999 \fi\fi
1000 }
1001
1002 % Here is how we actually suppress indentation. Redefine \everypar to
1003 % \kern backwards by \parindent, and then reset itself to empty.
1004 %
1005 % We also make \indent itself not actually do anything until the next
1006 % paragraph.
1007 %
1008 \gdef\dosuppressfirstparagraphindent{%
1009 \gdef\indent{%
1010 \restorefirstparagraphindent
1011 \indent
1012 }%
1013 \gdef\noindent{%
1014 \restorefirstparagraphindent
1015 \noindent
1016 }%
1017 \global\everypar = {%
1018 \kern -\parindent
1019 \restorefirstparagraphindent
1020 }%
1021 }
1022
1023 \gdef\restorefirstparagraphindent{%
1024 \global \let \indent = \ptexindent
1025 \global \let \noindent = \ptexnoindent
1026 \global \everypar = {}%
1027 }
1028
1029
1030 % @refill is a no-op.
1031 \let\refill=\relax
1032
1033 % If working on a large document in chapters, it is convenient to
1034 % be able to disable indexing, cross-referencing, and contents, for test runs.
1035 % This is done with @novalidate (before @setfilename).
1036 %
1037 \newif\iflinks \linkstrue % by default we want the aux files.
1038 \let\novalidate = \linksfalse
1039
1040 % @setfilename is done at the beginning of every texinfo file.
1041 % So open here the files we need to have open while reading the input.
1042 % This makes it possible to make a .fmt file for texinfo.
1043 \def\setfilename{%
1044 \fixbackslash % Turn off hack to swallow `\input texinfo'.
1045 \iflinks
1046 \tryauxfile
1047 % Open the new aux file. TeX will close it automatically at exit.
1048 \immediate\openout\auxfile=\jobname.aux
1049 \fi % \openindices needs to do some work in any case.
1050 \openindices
1051 \let\setfilename=\comment % Ignore extra @setfilename cmds.
1052 %
1053 % If texinfo.cnf is present on the system, read it.
1054 % Useful for site-wide @afourpaper, etc.
1055 \openin 1 texinfo.cnf
1056 \ifeof 1 \else \input texinfo.cnf \fi
1057 \closein 1
1058 %
1059 \comment % Ignore the actual filename.
1060 }
1061
1062 % Called from \setfilename.
1063 %
1064 \def\openindices{%
1065 \newindex{cp}%
1066 \newcodeindex{fn}%
1067 \newcodeindex{vr}%
1068 \newcodeindex{tp}%
1069 \newcodeindex{ky}%
1070 \newcodeindex{pg}%
1071 }
1072
1073 % @bye.
1074 \outer\def\bye{\pagealignmacro\tracingstats=1\ptexend}
1075
1076
1077 \message{pdf,}
1078 % adobe `portable' document format
1079 \newcount\tempnum
1080 \newcount\lnkcount
1081 \newtoks\filename
1082 \newcount\filenamelength
1083 \newcount\pgn
1084 \newtoks\toksA
1085 \newtoks\toksB
1086 \newtoks\toksC
1087 \newtoks\toksD
1088 \newbox\boxA
1089 \newcount\countA
1090 \newif\ifpdf
1091 \newif\ifpdfmakepagedest
1092
1093 % when pdftex is run in dvi mode, \pdfoutput is defined (so \pdfoutput=1
1094 % can be set). So we test for \relax and 0 as well as being undefined.
1095 \ifx\pdfoutput\thisisundefined
1096 \else
1097 \ifx\pdfoutput\relax
1098 \else
1099 \ifcase\pdfoutput
1100 \else
1101 \pdftrue
1102 \fi
1103 \fi
1104 \fi
1105
1106 % PDF uses PostScript string constants for the names of xref targets,
1107 % for display in the outlines, and in other places. Thus, we have to
1108 % double any backslashes. Otherwise, a name like "\node" will be
1109 % interpreted as a newline (\n), followed by o, d, e. Not good.
1110 %
1111 % See http://www.ntg.nl/pipermail/ntg-pdftex/2004-July/000654.html and
1112 % related messages. The final outcome is that it is up to the TeX user
1113 % to double the backslashes and otherwise make the string valid, so
1114 % that's what we do. pdftex 1.30.0 (ca.2005) introduced a primitive to
1115 % do this reliably, so we use it.
1116
1117 % #1 is a control sequence in which to do the replacements,
1118 % which we \xdef.
1119 \def\txiescapepdf#1{%
1120 \ifx\pdfescapestring\thisisundefined
1121 % No primitive available; should we give a warning or log?
1122 % Many times it won't matter.
1123 \else
1124 % The expandable \pdfescapestring primitive escapes parentheses,
1125 % backslashes, and other special chars.
1126 \xdef#1{\pdfescapestring{#1}}%
1127 \fi
1128 }
1129
1130 \newhelp\nopdfimagehelp{Texinfo supports .png, .jpg, .jpeg, and .pdf images
1131 with PDF output, and none of those formats could be found. (.eps cannot
1132 be supported due to the design of the PDF format; use regular TeX (DVI
1133 output) for that.)}
1134
1135 \ifpdf
1136 %
1137 % Color manipulation macros based on pdfcolor.tex,
1138 % except using rgb instead of cmyk; the latter is said to render as a
1139 % very dark gray on-screen and a very dark halftone in print, instead
1140 % of actual black.
1141 \def\rgbDarkRed{0.50 0.09 0.12}
1142 \def\rgbBlack{0 0 0}
1143 %
1144 % k sets the color for filling (usual text, etc.);
1145 % K sets the color for stroking (thin rules, e.g., normal _'s).
1146 \def\pdfsetcolor#1{\pdfliteral{#1 rg #1 RG}}
1147 %
1148 % Set color, and create a mark which defines \thiscolor accordingly,
1149 % so that \makeheadline knows which color to restore.
1150 \def\setcolor#1{%
1151 \xdef\lastcolordefs{\gdef\noexpand\thiscolor{#1}}%
1152 \domark
1153 \pdfsetcolor{#1}%
1154 }
1155 %
1156 \def\maincolor{\rgbBlack}
1157 \pdfsetcolor{\maincolor}
1158 \edef\thiscolor{\maincolor}
1159 \def\lastcolordefs{}
1160 %
1161 \def\makefootline{%
1162 \baselineskip24pt
1163 \line{\pdfsetcolor{\maincolor}\the\footline}%
1164 }
1165 %
1166 \def\makeheadline{%
1167 \vbox to 0pt{%
1168 \vskip-22.5pt
1169 \line{%
1170 \vbox to8.5pt{}%
1171 % Extract \thiscolor definition from the marks.
1172 \getcolormarks
1173 % Typeset the headline with \maincolor, then restore the color.
1174 \pdfsetcolor{\maincolor}\the\headline\pdfsetcolor{\thiscolor}%
1175 }%
1176 \vss
1177 }%
1178 \nointerlineskip
1179 }
1180 %
1181 %
1182 \pdfcatalog{/PageMode /UseOutlines}
1183 %
1184 % #1 is image name, #2 width (might be empty/whitespace), #3 height (ditto).
1185 \def\dopdfimage#1#2#3{%
1186 \def\pdfimagewidth{#2}\setbox0 = \hbox{\ignorespaces #2}%
1187 \def\pdfimageheight{#3}\setbox2 = \hbox{\ignorespaces #3}%
1188 %
1189 % pdftex (and the PDF format) support .pdf, .png, .jpg (among
1190 % others). Let's try in that order, PDF first since if
1191 % someone has a scalable image, presumably better to use that than a
1192 % bitmap.
1193 \let\pdfimgext=\empty
1194 \begingroup
1195 \openin 1 #1.pdf \ifeof 1
1196 \openin 1 #1.PDF \ifeof 1
1197 \openin 1 #1.png \ifeof 1
1198 \openin 1 #1.jpg \ifeof 1
1199 \openin 1 #1.jpeg \ifeof 1
1200 \openin 1 #1.JPG \ifeof 1
1201 \errhelp = \nopdfimagehelp
1202 \errmessage{Could not find image file #1 for pdf}%
1203 \else \gdef\pdfimgext{JPG}%
1204 \fi
1205 \else \gdef\pdfimgext{jpeg}%
1206 \fi
1207 \else \gdef\pdfimgext{jpg}%
1208 \fi
1209 \else \gdef\pdfimgext{png}%
1210 \fi
1211 \else \gdef\pdfimgext{PDF}%
1212 \fi
1213 \else \gdef\pdfimgext{pdf}%
1214 \fi
1215 \closein 1
1216 \endgroup
1217 %
1218 % without \immediate, ancient pdftex seg faults when the same image is
1219 % included twice. (Version 3.14159-pre-1.0-unofficial-20010704.)
1220 \ifnum\pdftexversion < 14
1221 \immediate\pdfimage
1222 \else
1223 \immediate\pdfximage
1224 \fi
1225 \ifdim \wd0 >0pt width \pdfimagewidth \fi
1226 \ifdim \wd2 >0pt height \pdfimageheight \fi
1227 \ifnum\pdftexversion<13
1228 #1.\pdfimgext
1229 \else
1230 {#1.\pdfimgext}%
1231 \fi
1232 \ifnum\pdftexversion < 14 \else
1233 \pdfrefximage \pdflastximage
1234 \fi}
1235 %
1236 \def\pdfmkdest#1{{%
1237 % We have to set dummies so commands such as @code, and characters
1238 % such as \, aren't expanded when present in a section title.
1239 \indexnofonts
1240 \turnoffactive
1241 \makevalueexpandable
1242 \def\pdfdestname{#1}%
1243 \txiescapepdf\pdfdestname
1244 \safewhatsit{\pdfdest name{\pdfdestname} xyz}%
1245 }}
1246 %
1247 % used to mark target names; must be expandable.
1248 \def\pdfmkpgn#1{#1}
1249 %
1250 % by default, use a color that is dark enough to print on paper as
1251 % nearly black, but still distinguishable for online viewing.
1252 \def\urlcolor{\rgbDarkRed}
1253 \def\linkcolor{\rgbDarkRed}
1254 \def\endlink{\setcolor{\maincolor}\pdfendlink}
1255 %
1256 % Adding outlines to PDF; macros for calculating structure of outlines
1257 % come from Petr Olsak
1258 \def\expnumber#1{\expandafter\ifx\csname#1\endcsname\relax 0%
1259 \else \csname#1\endcsname \fi}
1260 \def\advancenumber#1{\tempnum=\expnumber{#1}\relax
1261 \advance\tempnum by 1
1262 \expandafter\xdef\csname#1\endcsname{\the\tempnum}}
1263 %
1264 % #1 is the section text, which is what will be displayed in the
1265 % outline by the pdf viewer. #2 is the pdf expression for the number
1266 % of subentries (or empty, for subsubsections). #3 is the node text,
1267 % which might be empty if this toc entry had no corresponding node.
1268 % #4 is the page number
1269 %
1270 \def\dopdfoutline#1#2#3#4{%
1271 % Generate a link to the node text if that exists; else, use the
1272 % page number. We could generate a destination for the section
1273 % text in the case where a section has no node, but it doesn't
1274 % seem worth the trouble, since most documents are normally structured.
1275 \edef\pdfoutlinedest{#3}%
1276 \ifx\pdfoutlinedest\empty
1277 \def\pdfoutlinedest{#4}%
1278 \else
1279 \txiescapepdf\pdfoutlinedest
1280 \fi
1281 %
1282 % Also escape PDF chars in the display string.
1283 \edef\pdfoutlinetext{#1}%
1284 \txiescapepdf\pdfoutlinetext
1285 %
1286 \pdfoutline goto name{\pdfmkpgn{\pdfoutlinedest}}#2{\pdfoutlinetext}%
1287 }
1288 %
1289 \def\pdfmakeoutlines{%
1290 \begingroup
1291 % Read toc silently, to get counts of subentries for \pdfoutline.
1292 \def\partentry##1##2##3##4{}% ignore parts in the outlines
1293 \def\numchapentry##1##2##3##4{%
1294 \def\thischapnum{##2}%
1295 \def\thissecnum{0}%
1296 \def\thissubsecnum{0}%
1297 }%
1298 \def\numsecentry##1##2##3##4{%
1299 \advancenumber{chap\thischapnum}%
1300 \def\thissecnum{##2}%
1301 \def\thissubsecnum{0}%
1302 }%
1303 \def\numsubsecentry##1##2##3##4{%
1304 \advancenumber{sec\thissecnum}%
1305 \def\thissubsecnum{##2}%
1306 }%
1307 \def\numsubsubsecentry##1##2##3##4{%
1308 \advancenumber{subsec\thissubsecnum}%
1309 }%
1310 \def\thischapnum{0}%
1311 \def\thissecnum{0}%
1312 \def\thissubsecnum{0}%
1313 %
1314 % use \def rather than \let here because we redefine \chapentry et
1315 % al. a second time, below.
1316 \def\appentry{\numchapentry}%
1317 \def\appsecentry{\numsecentry}%
1318 \def\appsubsecentry{\numsubsecentry}%
1319 \def\appsubsubsecentry{\numsubsubsecentry}%
1320 \def\unnchapentry{\numchapentry}%
1321 \def\unnsecentry{\numsecentry}%
1322 \def\unnsubsecentry{\numsubsecentry}%
1323 \def\unnsubsubsecentry{\numsubsubsecentry}%
1324 \readdatafile{toc}%
1325 %
1326 % Read toc second time, this time actually producing the outlines.
1327 % The `-' means take the \expnumber as the absolute number of
1328 % subentries, which we calculated on our first read of the .toc above.
1329 %
1330 % We use the node names as the destinations.
1331 \def\numchapentry##1##2##3##4{%
1332 \dopdfoutline{##1}{count-\expnumber{chap##2}}{##3}{##4}}%
1333 \def\numsecentry##1##2##3##4{%
1334 \dopdfoutline{##1}{count-\expnumber{sec##2}}{##3}{##4}}%
1335 \def\numsubsecentry##1##2##3##4{%
1336 \dopdfoutline{##1}{count-\expnumber{subsec##2}}{##3}{##4}}%
1337 \def\numsubsubsecentry##1##2##3##4{% count is always zero
1338 \dopdfoutline{##1}{}{##3}{##4}}%
1339 %
1340 % PDF outlines are displayed using system fonts, instead of
1341 % document fonts. Therefore we cannot use special characters,
1342 % since the encoding is unknown. For example, the eogonek from
1343 % Latin 2 (0xea) gets translated to a | character. Info from
1344 % Staszek Wawrykiewicz, 19 Jan 2004 04:09:24 +0100.
1345 %
1346 % TODO this right, we have to translate 8-bit characters to
1347 % their "best" equivalent, based on the @documentencoding. Too
1348 % much work for too little return. Just use the ASCII equivalents
1349 % we use for the index sort strings.
1350 %
1351 \indexnofonts
1352 \setupdatafile
1353 % We can have normal brace characters in the PDF outlines, unlike
1354 % Texinfo index files. So set that up.
1355 \def\{{\lbracecharliteral}%
1356 \def\}{\rbracecharliteral}%
1357 \catcode`\\=\active \otherbackslash
1358 \input \tocreadfilename
1359 \endgroup
1360 }
1361 {\catcode`[=1 \catcode`]=2
1362 \catcode`{=\other \catcode`}=\other
1363 \gdef\lbracecharliteral[{]%
1364 \gdef\rbracecharliteral[}]%
1365 ]
1366 %
1367 \def\skipspaces#1{\def\PP{#1}\def\D{|}%
1368 \ifx\PP\D\let\nextsp\relax
1369 \else\let\nextsp\skipspaces
1370 \addtokens{\filename}{\PP}%
1371 \advance\filenamelength by 1
1372 \fi
1373 \nextsp}
1374 \def\getfilename#1{%
1375 \filenamelength=0
1376 % If we don't expand the argument now, \skipspaces will get
1377 % snagged on things like "@value{foo}".
1378 \edef\temp{#1}%
1379 \expandafter\skipspaces\temp|\relax
1380 }
1381 \ifnum\pdftexversion < 14
1382 \let \startlink \pdfannotlink
1383 \else
1384 \let \startlink \pdfstartlink
1385 \fi
1386 % make a live url in pdf output.
1387 \def\pdfurl#1{%
1388 \begingroup
1389 % it seems we really need yet another set of dummies; have not
1390 % tried to figure out what each command should do in the context
1391 % of @url. for now, just make @/ a no-op, that's the only one
1392 % people have actually reported a problem with.
1393 %
1394 \normalturnoffactive
1395 \def\@{@}%
1396 \let\/=\empty
1397 \makevalueexpandable
1398 % do we want to go so far as to use \indexnofonts instead of just
1399 % special-casing \var here?
1400 \def\var##1{##1}%
1401 %
1402 \leavevmode\setcolor{\urlcolor}%
1403 \startlink attr{/Border [0 0 0]}%
1404 user{/Subtype /Link /A << /S /URI /URI (#1) >>}%
1405 \endgroup}
1406 \def\pdfgettoks#1.{\setbox\boxA=\hbox{\toksA={#1.}\toksB={}\maketoks}}
1407 \def\addtokens#1#2{\edef\addtoks{\noexpand#1={\the#1#2}}\addtoks}
1408 \def\adn#1{\addtokens{\toksC}{#1}\global\countA=1\let\next=\maketoks}
1409 \def\poptoks#1#2|ENDTOKS|{\let\first=#1\toksD={#1}\toksA={#2}}
1410 \def\maketoks{%
1411 \expandafter\poptoks\the\toksA|ENDTOKS|\relax
1412 \ifx\first0\adn0
1413 \else\ifx\first1\adn1 \else\ifx\first2\adn2 \else\ifx\first3\adn3
1414 \else\ifx\first4\adn4 \else\ifx\first5\adn5 \else\ifx\first6\adn6
1415 \else\ifx\first7\adn7 \else\ifx\first8\adn8 \else\ifx\first9\adn9
1416 \else
1417 \ifnum0=\countA\else\makelink\fi
1418 \ifx\first.\let\next=\done\else
1419 \let\next=\maketoks
1420 \addtokens{\toksB}{\the\toksD}
1421 \ifx\first,\addtokens{\toksB}{\space}\fi
1422 \fi
1423 \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
1424 \next}
1425 \def\makelink{\addtokens{\toksB}%
1426 {\noexpand\pdflink{\the\toksC}}\toksC={}\global\countA=0}
1427 \def\pdflink#1{%
1428 \startlink attr{/Border [0 0 0]} goto name{\pdfmkpgn{#1}}
1429 \setcolor{\linkcolor}#1\endlink}
1430 \def\done{\edef\st{\global\noexpand\toksA={\the\toksB}}\st}
1431 \else
1432 % non-pdf mode
1433 \let\pdfmkdest = \gobble
1434 \let\pdfurl = \gobble
1435 \let\endlink = \relax
1436 \let\setcolor = \gobble
1437 \let\pdfsetcolor = \gobble
1438 \let\pdfmakeoutlines = \relax
1439 \fi % \ifx\pdfoutput
1440
1441
1442 \message{fonts,}
1443
1444 % Change the current font style to #1, remembering it in \curfontstyle.
1445 % For now, we do not accumulate font styles: @b{@i{foo}} prints foo in
1446 % italics, not bold italics.
1447 %
1448 \def\setfontstyle#1{%
1449 \def\curfontstyle{#1}% not as a control sequence, because we are \edef'd.
1450 \csname ten#1\endcsname % change the current font
1451 }
1452
1453 % Select #1 fonts with the current style.
1454 %
1455 \def\selectfonts#1{\csname #1fonts\endcsname \csname\curfontstyle\endcsname}
1456
1457 \def\rm{\fam=0 \setfontstyle{rm}}
1458 \def\it{\fam=\itfam \setfontstyle{it}}
1459 \def\sl{\fam=\slfam \setfontstyle{sl}}
1460 \def\bf{\fam=\bffam \setfontstyle{bf}}\def\bfstylename{bf}
1461 \def\tt{\fam=\ttfam \setfontstyle{tt}}
1462
1463 % Unfortunately, we have to override this for titles and the like, since
1464 % in those cases "rm" is bold. Sigh.
1465 \def\rmisbold{\rm\def\curfontstyle{bf}}
1466
1467 % Texinfo sort of supports the sans serif font style, which plain TeX does not.
1468 % So we set up a \sf.
1469 \newfam\sffam
1470 \def\sf{\fam=\sffam \setfontstyle{sf}}
1471 \let\li = \sf % Sometimes we call it \li, not \sf.
1472
1473 % We don't need math for this font style.
1474 \def\ttsl{\setfontstyle{ttsl}}
1475
1476
1477 % Set the baselineskip to #1, and the lineskip and strut size
1478 % correspondingly. There is no deep meaning behind these magic numbers
1479 % used as factors; they just match (closely enough) what Knuth defined.
1480 %
1481 \def\lineskipfactor{.08333}
1482 \def\strutheightpercent{.70833}
1483 \def\strutdepthpercent {.29167}
1484 %
1485 % can get a sort of poor man's double spacing by redefining this.
1486 \def\baselinefactor{1}
1487 %
1488 \newdimen\textleading
1489 \def\setleading#1{%
1490 \dimen0 = #1\relax
1491 \normalbaselineskip = \baselinefactor\dimen0
1492 \normallineskip = \lineskipfactor\normalbaselineskip
1493 \normalbaselines
1494 \setbox\strutbox =\hbox{%
1495 \vrule width0pt height\strutheightpercent\baselineskip
1496 depth \strutdepthpercent \baselineskip
1497 }%
1498 }
1499
1500 % PDF CMaps. See also LaTeX's t1.cmap.
1501 %
1502 % do nothing with this by default.
1503 \expandafter\let\csname cmapOT1\endcsname\gobble
1504 \expandafter\let\csname cmapOT1IT\endcsname\gobble
1505 \expandafter\let\csname cmapOT1TT\endcsname\gobble
1506
1507 % if we are producing pdf, and we have \pdffontattr, then define cmaps.
1508 % (\pdffontattr was introduced many years ago, but people still run
1509 % older pdftex's; it's easy to conditionalize, so we do.)
1510 \ifpdf \ifx\pdffontattr\thisisundefined \else
1511 \begingroup
1512 \catcode`\^^M=\active \def^^M{^^J}% Output line endings as the ^^J char.
1513 \catcode`\%=12 \immediate\pdfobj stream {%!PS-Adobe-3.0 Resource-CMap
1514 %%DocumentNeededResources: ProcSet (CIDInit)
1515 %%IncludeResource: ProcSet (CIDInit)
1516 %%BeginResource: CMap (TeX-OT1-0)
1517 %%Title: (TeX-OT1-0 TeX OT1 0)
1518 %%Version: 1.000
1519 %%EndComments
1520 /CIDInit /ProcSet findresource begin
1521 12 dict begin
1522 begincmap
1523 /CIDSystemInfo
1524 << /Registry (TeX)
1525 /Ordering (OT1)
1526 /Supplement 0
1527 >> def
1528 /CMapName /TeX-OT1-0 def
1529 /CMapType 2 def
1530 1 begincodespacerange
1531 <00> <7F>
1532 endcodespacerange
1533 8 beginbfrange
1534 <00> <01> <0393>
1535 <09> <0A> <03A8>
1536 <23> <26> <0023>
1537 <28> <3B> <0028>
1538 <3F> <5B> <003F>
1539 <5D> <5E> <005D>
1540 <61> <7A> <0061>
1541 <7B> <7C> <2013>
1542 endbfrange
1543 40 beginbfchar
1544 <02> <0398>
1545 <03> <039B>
1546 <04> <039E>
1547 <05> <03A0>
1548 <06> <03A3>
1549 <07> <03D2>
1550 <08> <03A6>
1551 <0B> <00660066>
1552 <0C> <00660069>
1553 <0D> <0066006C>
1554 <0E> <006600660069>
1555 <0F> <00660066006C>
1556 <10> <0131>
1557 <11> <0237>
1558 <12> <0060>
1559 <13> <00B4>
1560 <14> <02C7>
1561 <15> <02D8>
1562 <16> <00AF>
1563 <17> <02DA>
1564 <18> <00B8>
1565 <19> <00DF>
1566 <1A> <00E6>
1567 <1B> <0153>
1568 <1C> <00F8>
1569 <1D> <00C6>
1570 <1E> <0152>
1571 <1F> <00D8>
1572 <21> <0021>
1573 <22> <201D>
1574 <27> <2019>
1575 <3C> <00A1>
1576 <3D> <003D>
1577 <3E> <00BF>
1578 <5C> <201C>
1579 <5F> <02D9>
1580 <60> <2018>
1581 <7D> <02DD>
1582 <7E> <007E>
1583 <7F> <00A8>
1584 endbfchar
1585 endcmap
1586 CMapName currentdict /CMap defineresource pop
1587 end
1588 end
1589 %%EndResource
1590 %%EOF
1591 }\endgroup
1592 \expandafter\edef\csname cmapOT1\endcsname#1{%
1593 \pdffontattr#1{/ToUnicode \the\pdflastobj\space 0 R}%
1594 }%
1595 %
1596 % \cmapOT1IT
1597 \begingroup
1598 \catcode`\^^M=\active \def^^M{^^J}% Output line endings as the ^^J char.
1599 \catcode`\%=12 \immediate\pdfobj stream {%!PS-Adobe-3.0 Resource-CMap
1600 %%DocumentNeededResources: ProcSet (CIDInit)
1601 %%IncludeResource: ProcSet (CIDInit)
1602 %%BeginResource: CMap (TeX-OT1IT-0)
1603 %%Title: (TeX-OT1IT-0 TeX OT1IT 0)
1604 %%Version: 1.000
1605 %%EndComments
1606 /CIDInit /ProcSet findresource begin
1607 12 dict begin
1608 begincmap
1609 /CIDSystemInfo
1610 << /Registry (TeX)
1611 /Ordering (OT1IT)
1612 /Supplement 0
1613 >> def
1614 /CMapName /TeX-OT1IT-0 def
1615 /CMapType 2 def
1616 1 begincodespacerange
1617 <00> <7F>
1618 endcodespacerange
1619 8 beginbfrange
1620 <00> <01> <0393>
1621 <09> <0A> <03A8>
1622 <25> <26> <0025>
1623 <28> <3B> <0028>
1624 <3F> <5B> <003F>
1625 <5D> <5E> <005D>
1626 <61> <7A> <0061>
1627 <7B> <7C> <2013>
1628 endbfrange
1629 42 beginbfchar
1630 <02> <0398>
1631 <03> <039B>
1632 <04> <039E>
1633 <05> <03A0>
1634 <06> <03A3>
1635 <07> <03D2>
1636 <08> <03A6>
1637 <0B> <00660066>
1638 <0C> <00660069>
1639 <0D> <0066006C>
1640 <0E> <006600660069>
1641 <0F> <00660066006C>
1642 <10> <0131>
1643 <11> <0237>
1644 <12> <0060>
1645 <13> <00B4>
1646 <14> <02C7>
1647 <15> <02D8>
1648 <16> <00AF>
1649 <17> <02DA>
1650 <18> <00B8>
1651 <19> <00DF>
1652 <1A> <00E6>
1653 <1B> <0153>
1654 <1C> <00F8>
1655 <1D> <00C6>
1656 <1E> <0152>
1657 <1F> <00D8>
1658 <21> <0021>
1659 <22> <201D>
1660 <23> <0023>
1661 <24> <00A3>
1662 <27> <2019>
1663 <3C> <00A1>
1664 <3D> <003D>
1665 <3E> <00BF>
1666 <5C> <201C>
1667 <5F> <02D9>
1668 <60> <2018>
1669 <7D> <02DD>
1670 <7E> <007E>
1671 <7F> <00A8>
1672 endbfchar
1673 endcmap
1674 CMapName currentdict /CMap defineresource pop
1675 end
1676 end
1677 %%EndResource
1678 %%EOF
1679 }\endgroup
1680 \expandafter\edef\csname cmapOT1IT\endcsname#1{%
1681 \pdffontattr#1{/ToUnicode \the\pdflastobj\space 0 R}%
1682 }%
1683 %
1684 % \cmapOT1TT
1685 \begingroup
1686 \catcode`\^^M=\active \def^^M{^^J}% Output line endings as the ^^J char.
1687 \catcode`\%=12 \immediate\pdfobj stream {%!PS-Adobe-3.0 Resource-CMap
1688 %%DocumentNeededResources: ProcSet (CIDInit)
1689 %%IncludeResource: ProcSet (CIDInit)
1690 %%BeginResource: CMap (TeX-OT1TT-0)
1691 %%Title: (TeX-OT1TT-0 TeX OT1TT 0)
1692 %%Version: 1.000
1693 %%EndComments
1694 /CIDInit /ProcSet findresource begin
1695 12 dict begin
1696 begincmap
1697 /CIDSystemInfo
1698 << /Registry (TeX)
1699 /Ordering (OT1TT)
1700 /Supplement 0
1701 >> def
1702 /CMapName /TeX-OT1TT-0 def
1703 /CMapType 2 def
1704 1 begincodespacerange
1705 <00> <7F>
1706 endcodespacerange
1707 5 beginbfrange
1708 <00> <01> <0393>
1709 <09> <0A> <03A8>
1710 <21> <26> <0021>
1711 <28> <5F> <0028>
1712 <61> <7E> <0061>
1713 endbfrange
1714 32 beginbfchar
1715 <02> <0398>
1716 <03> <039B>
1717 <04> <039E>
1718 <05> <03A0>
1719 <06> <03A3>
1720 <07> <03D2>
1721 <08> <03A6>
1722 <0B> <2191>
1723 <0C> <2193>
1724 <0D> <0027>
1725 <0E> <00A1>
1726 <0F> <00BF>
1727 <10> <0131>
1728 <11> <0237>
1729 <12> <0060>
1730 <13> <00B4>
1731 <14> <02C7>
1732 <15> <02D8>
1733 <16> <00AF>
1734 <17> <02DA>
1735 <18> <00B8>
1736 <19> <00DF>
1737 <1A> <00E6>
1738 <1B> <0153>
1739 <1C> <00F8>
1740 <1D> <00C6>
1741 <1E> <0152>
1742 <1F> <00D8>
1743 <20> <2423>
1744 <27> <2019>
1745 <60> <2018>
1746 <7F> <00A8>
1747 endbfchar
1748 endcmap
1749 CMapName currentdict /CMap defineresource pop
1750 end
1751 end
1752 %%EndResource
1753 %%EOF
1754 }\endgroup
1755 \expandafter\edef\csname cmapOT1TT\endcsname#1{%
1756 \pdffontattr#1{/ToUnicode \the\pdflastobj\space 0 R}%
1757 }%
1758 \fi\fi
1759
1760
1761 % Set the font macro #1 to the font named \fontprefix#2.
1762 % #3 is the font's design size, #4 is a scale factor, #5 is the CMap
1763 % encoding (only OT1, OT1IT and OT1TT are allowed, or empty to omit).
1764 % Example:
1765 % #1 = \textrm
1766 % #2 = \rmshape
1767 % #3 = 10
1768 % #4 = \mainmagstep
1769 % #5 = OT1
1770 %
1771 \def\setfont#1#2#3#4#5{%
1772 \font#1=\fontprefix#2#3 scaled #4
1773 \csname cmap#5\endcsname#1%
1774 }
1775 % This is what gets called when #5 of \setfont is empty.
1776 \let\cmap\gobble
1777 %
1778 % (end of cmaps)
1779
1780 % Use cm as the default font prefix.
1781 % To specify the font prefix, you must define \fontprefix
1782 % before you read in texinfo.tex.
1783 \ifx\fontprefix\thisisundefined
1784 \def\fontprefix{cm}
1785 \fi
1786 % Support font families that don't use the same naming scheme as CM.
1787 \def\rmshape{r}
1788 \def\rmbshape{bx} % where the normal face is bold
1789 \def\bfshape{b}
1790 \def\bxshape{bx}
1791 \def\ttshape{tt}
1792 \def\ttbshape{tt}
1793 \def\ttslshape{sltt}
1794 \def\itshape{ti}
1795 \def\itbshape{bxti}
1796 \def\slshape{sl}
1797 \def\slbshape{bxsl}
1798 \def\sfshape{ss}
1799 \def\sfbshape{ss}
1800 \def\scshape{csc}
1801 \def\scbshape{csc}
1802
1803 % Definitions for a main text size of 11pt. (The default in Texinfo.)
1804 %
1805 \def\definetextfontsizexi{%
1806 % Text fonts (11.2pt, magstep1).
1807 \def\textnominalsize{11pt}
1808 \edef\mainmagstep{\magstephalf}
1809 \setfont\textrm\rmshape{10}{\mainmagstep}{OT1}
1810 \setfont\texttt\ttshape{10}{\mainmagstep}{OT1TT}
1811 \setfont\textbf\bfshape{10}{\mainmagstep}{OT1}
1812 \setfont\textit\itshape{10}{\mainmagstep}{OT1IT}
1813 \setfont\textsl\slshape{10}{\mainmagstep}{OT1}
1814 \setfont\textsf\sfshape{10}{\mainmagstep}{OT1}
1815 \setfont\textsc\scshape{10}{\mainmagstep}{OT1}
1816 \setfont\textttsl\ttslshape{10}{\mainmagstep}{OT1TT}
1817 \font\texti=cmmi10 scaled \mainmagstep
1818 \font\textsy=cmsy10 scaled \mainmagstep
1819 \def\textecsize{1095}
1820
1821 % A few fonts for @defun names and args.
1822 \setfont\defbf\bfshape{10}{\magstep1}{OT1}
1823 \setfont\deftt\ttshape{10}{\magstep1}{OT1TT}
1824 \setfont\defttsl\ttslshape{10}{\magstep1}{OT1TT}
1825 \def\df{\let\tentt=\deftt \let\tenbf = \defbf \let\tenttsl=\defttsl \bf}
1826
1827 % Fonts for indices, footnotes, small examples (9pt).
1828 \def\smallnominalsize{9pt}
1829 \setfont\smallrm\rmshape{9}{1000}{OT1}
1830 \setfont\smalltt\ttshape{9}{1000}{OT1TT}
1831 \setfont\smallbf\bfshape{10}{900}{OT1}
1832 \setfont\smallit\itshape{9}{1000}{OT1IT}
1833 \setfont\smallsl\slshape{9}{1000}{OT1}
1834 \setfont\smallsf\sfshape{9}{1000}{OT1}
1835 \setfont\smallsc\scshape{10}{900}{OT1}
1836 \setfont\smallttsl\ttslshape{10}{900}{OT1TT}
1837 \font\smalli=cmmi9
1838 \font\smallsy=cmsy9
1839 \def\smallecsize{0900}
1840
1841 % Fonts for small examples (8pt).
1842 \def\smallernominalsize{8pt}
1843 \setfont\smallerrm\rmshape{8}{1000}{OT1}
1844 \setfont\smallertt\ttshape{8}{1000}{OT1TT}
1845 \setfont\smallerbf\bfshape{10}{800}{OT1}
1846 \setfont\smallerit\itshape{8}{1000}{OT1IT}
1847 \setfont\smallersl\slshape{8}{1000}{OT1}
1848 \setfont\smallersf\sfshape{8}{1000}{OT1}
1849 \setfont\smallersc\scshape{10}{800}{OT1}
1850 \setfont\smallerttsl\ttslshape{10}{800}{OT1TT}
1851 \font\smalleri=cmmi8
1852 \font\smallersy=cmsy8
1853 \def\smallerecsize{0800}
1854
1855 % Fonts for title page (20.4pt):
1856 \def\titlenominalsize{20pt}
1857 \setfont\titlerm\rmbshape{12}{\magstep3}{OT1}
1858 \setfont\titleit\itbshape{10}{\magstep4}{OT1IT}
1859 \setfont\titlesl\slbshape{10}{\magstep4}{OT1}
1860 \setfont\titlett\ttbshape{12}{\magstep3}{OT1TT}
1861 \setfont\titlettsl\ttslshape{10}{\magstep4}{OT1TT}
1862 \setfont\titlesf\sfbshape{17}{\magstep1}{OT1}
1863 \let\titlebf=\titlerm
1864 \setfont\titlesc\scbshape{10}{\magstep4}{OT1}
1865 \font\titlei=cmmi12 scaled \magstep3
1866 \font\titlesy=cmsy10 scaled \magstep4
1867 \def\titleecsize{2074}
1868
1869 % Chapter (and unnumbered) fonts (17.28pt).
1870 \def\chapnominalsize{17pt}
1871 \setfont\chaprm\rmbshape{12}{\magstep2}{OT1}
1872 \setfont\chapit\itbshape{10}{\magstep3}{OT1IT}
1873 \setfont\chapsl\slbshape{10}{\magstep3}{OT1}
1874 \setfont\chaptt\ttbshape{12}{\magstep2}{OT1TT}
1875 \setfont\chapttsl\ttslshape{10}{\magstep3}{OT1TT}
1876 \setfont\chapsf\sfbshape{17}{1000}{OT1}
1877 \let\chapbf=\chaprm
1878 \setfont\chapsc\scbshape{10}{\magstep3}{OT1}
1879 \font\chapi=cmmi12 scaled \magstep2
1880 \font\chapsy=cmsy10 scaled \magstep3
1881 \def\chapecsize{1728}
1882
1883 % Section fonts (14.4pt).
1884 \def\secnominalsize{14pt}
1885 \setfont\secrm\rmbshape{12}{\magstep1}{OT1}
1886 \setfont\secit\itbshape{10}{\magstep2}{OT1IT}
1887 \setfont\secsl\slbshape{10}{\magstep2}{OT1}
1888 \setfont\sectt\ttbshape{12}{\magstep1}{OT1TT}
1889 \setfont\secttsl\ttslshape{10}{\magstep2}{OT1TT}
1890 \setfont\secsf\sfbshape{12}{\magstep1}{OT1}
1891 \let\secbf\secrm
1892 \setfont\secsc\scbshape{10}{\magstep2}{OT1}
1893 \font\seci=cmmi12 scaled \magstep1
1894 \font\secsy=cmsy10 scaled \magstep2
1895 \def\sececsize{1440}
1896
1897 % Subsection fonts (13.15pt).
1898 \def\ssecnominalsize{13pt}
1899 \setfont\ssecrm\rmbshape{12}{\magstephalf}{OT1}
1900 \setfont\ssecit\itbshape{10}{1315}{OT1IT}
1901 \setfont\ssecsl\slbshape{10}{1315}{OT1}
1902 \setfont\ssectt\ttbshape{12}{\magstephalf}{OT1TT}
1903 \setfont\ssecttsl\ttslshape{10}{1315}{OT1TT}
1904 \setfont\ssecsf\sfbshape{12}{\magstephalf}{OT1}
1905 \let\ssecbf\ssecrm
1906 \setfont\ssecsc\scbshape{10}{1315}{OT1}
1907 \font\sseci=cmmi12 scaled \magstephalf
1908 \font\ssecsy=cmsy10 scaled 1315
1909 \def\ssececsize{1200}
1910
1911 % Reduced fonts for @acro in text (10pt).
1912 \def\reducednominalsize{10pt}
1913 \setfont\reducedrm\rmshape{10}{1000}{OT1}
1914 \setfont\reducedtt\ttshape{10}{1000}{OT1TT}
1915 \setfont\reducedbf\bfshape{10}{1000}{OT1}
1916 \setfont\reducedit\itshape{10}{1000}{OT1IT}
1917 \setfont\reducedsl\slshape{10}{1000}{OT1}
1918 \setfont\reducedsf\sfshape{10}{1000}{OT1}
1919 \setfont\reducedsc\scshape{10}{1000}{OT1}
1920 \setfont\reducedttsl\ttslshape{10}{1000}{OT1TT}
1921 \font\reducedi=cmmi10
1922 \font\reducedsy=cmsy10
1923 \def\reducedecsize{1000}
1924
1925 \textleading = 13.2pt % line spacing for 11pt CM
1926 \textfonts % reset the current fonts
1927 \rm
1928 } % end of 11pt text font size definitions, \definetextfontsizexi
1929
1930
1931 % Definitions to make the main text be 10pt Computer Modern, with
1932 % section, chapter, etc., sizes following suit. This is for the GNU
1933 % Press printing of the Emacs 22 manual. Maybe other manuals in the
1934 % future. Used with @smallbook, which sets the leading to 12pt.
1935 %
1936 \def\definetextfontsizex{%
1937 % Text fonts (10pt).
1938 \def\textnominalsize{10pt}
1939 \edef\mainmagstep{1000}
1940 \setfont\textrm\rmshape{10}{\mainmagstep}{OT1}
1941 \setfont\texttt\ttshape{10}{\mainmagstep}{OT1TT}
1942 \setfont\textbf\bfshape{10}{\mainmagstep}{OT1}
1943 \setfont\textit\itshape{10}{\mainmagstep}{OT1IT}
1944 \setfont\textsl\slshape{10}{\mainmagstep}{OT1}
1945 \setfont\textsf\sfshape{10}{\mainmagstep}{OT1}
1946 \setfont\textsc\scshape{10}{\mainmagstep}{OT1}
1947 \setfont\textttsl\ttslshape{10}{\mainmagstep}{OT1TT}
1948 \font\texti=cmmi10 scaled \mainmagstep
1949 \font\textsy=cmsy10 scaled \mainmagstep
1950 \def\textecsize{1000}
1951
1952 % A few fonts for @defun names and args.
1953 \setfont\defbf\bfshape{10}{\magstephalf}{OT1}
1954 \setfont\deftt\ttshape{10}{\magstephalf}{OT1TT}
1955 \setfont\defttsl\ttslshape{10}{\magstephalf}{OT1TT}
1956 \def\df{\let\tentt=\deftt \let\tenbf = \defbf \let\tenttsl=\defttsl \bf}
1957
1958 % Fonts for indices, footnotes, small examples (9pt).
1959 \def\smallnominalsize{9pt}
1960 \setfont\smallrm\rmshape{9}{1000}{OT1}
1961 \setfont\smalltt\ttshape{9}{1000}{OT1TT}
1962 \setfont\smallbf\bfshape{10}{900}{OT1}
1963 \setfont\smallit\itshape{9}{1000}{OT1IT}
1964 \setfont\smallsl\slshape{9}{1000}{OT1}
1965 \setfont\smallsf\sfshape{9}{1000}{OT1}
1966 \setfont\smallsc\scshape{10}{900}{OT1}
1967 \setfont\smallttsl\ttslshape{10}{900}{OT1TT}
1968 \font\smalli=cmmi9
1969 \font\smallsy=cmsy9
1970 \def\smallecsize{0900}
1971
1972 % Fonts for small examples (8pt).
1973 \def\smallernominalsize{8pt}
1974 \setfont\smallerrm\rmshape{8}{1000}{OT1}
1975 \setfont\smallertt\ttshape{8}{1000}{OT1TT}
1976 \setfont\smallerbf\bfshape{10}{800}{OT1}
1977 \setfont\smallerit\itshape{8}{1000}{OT1IT}
1978 \setfont\smallersl\slshape{8}{1000}{OT1}
1979 \setfont\smallersf\sfshape{8}{1000}{OT1}
1980 \setfont\smallersc\scshape{10}{800}{OT1}
1981 \setfont\smallerttsl\ttslshape{10}{800}{OT1TT}
1982 \font\smalleri=cmmi8
1983 \font\smallersy=cmsy8
1984 \def\smallerecsize{0800}
1985
1986 % Fonts for title page (20.4pt):
1987 \def\titlenominalsize{20pt}
1988 \setfont\titlerm\rmbshape{12}{\magstep3}{OT1}
1989 \setfont\titleit\itbshape{10}{\magstep4}{OT1IT}
1990 \setfont\titlesl\slbshape{10}{\magstep4}{OT1}
1991 \setfont\titlett\ttbshape{12}{\magstep3}{OT1TT}
1992 \setfont\titlettsl\ttslshape{10}{\magstep4}{OT1TT}
1993 \setfont\titlesf\sfbshape{17}{\magstep1}{OT1}
1994 \let\titlebf=\titlerm
1995 \setfont\titlesc\scbshape{10}{\magstep4}{OT1}
1996 \font\titlei=cmmi12 scaled \magstep3
1997 \font\titlesy=cmsy10 scaled \magstep4
1998 \def\titleecsize{2074}
1999
2000 % Chapter fonts (14.4pt).
2001 \def\chapnominalsize{14pt}
2002 \setfont\chaprm\rmbshape{12}{\magstep1}{OT1}
2003 \setfont\chapit\itbshape{10}{\magstep2}{OT1IT}
2004 \setfont\chapsl\slbshape{10}{\magstep2}{OT1}
2005 \setfont\chaptt\ttbshape{12}{\magstep1}{OT1TT}
2006 \setfont\chapttsl\ttslshape{10}{\magstep2}{OT1TT}
2007 \setfont\chapsf\sfbshape{12}{\magstep1}{OT1}
2008 \let\chapbf\chaprm
2009 \setfont\chapsc\scbshape{10}{\magstep2}{OT1}
2010 \font\chapi=cmmi12 scaled \magstep1
2011 \font\chapsy=cmsy10 scaled \magstep2
2012 \def\chapecsize{1440}
2013
2014 % Section fonts (12pt).
2015 \def\secnominalsize{12pt}
2016 \setfont\secrm\rmbshape{12}{1000}{OT1}
2017 \setfont\secit\itbshape{10}{\magstep1}{OT1IT}
2018 \setfont\secsl\slbshape{10}{\magstep1}{OT1}
2019 \setfont\sectt\ttbshape{12}{1000}{OT1TT}
2020 \setfont\secttsl\ttslshape{10}{\magstep1}{OT1TT}
2021 \setfont\secsf\sfbshape{12}{1000}{OT1}
2022 \let\secbf\secrm
2023 \setfont\secsc\scbshape{10}{\magstep1}{OT1}
2024 \font\seci=cmmi12
2025 \font\secsy=cmsy10 scaled \magstep1
2026 \def\sececsize{1200}
2027
2028 % Subsection fonts (10pt).
2029 \def\ssecnominalsize{10pt}
2030 \setfont\ssecrm\rmbshape{10}{1000}{OT1}
2031 \setfont\ssecit\itbshape{10}{1000}{OT1IT}
2032 \setfont\ssecsl\slbshape{10}{1000}{OT1}
2033 \setfont\ssectt\ttbshape{10}{1000}{OT1TT}
2034 \setfont\ssecttsl\ttslshape{10}{1000}{OT1TT}
2035 \setfont\ssecsf\sfbshape{10}{1000}{OT1}
2036 \let\ssecbf\ssecrm
2037 \setfont\ssecsc\scbshape{10}{1000}{OT1}
2038 \font\sseci=cmmi10
2039 \font\ssecsy=cmsy10
2040 \def\ssececsize{1000}
2041
2042 % Reduced fonts for @acro in text (9pt).
2043 \def\reducednominalsize{9pt}
2044 \setfont\reducedrm\rmshape{9}{1000}{OT1}
2045 \setfont\reducedtt\ttshape{9}{1000}{OT1TT}
2046 \setfont\reducedbf\bfshape{10}{900}{OT1}
2047 \setfont\reducedit\itshape{9}{1000}{OT1IT}
2048 \setfont\reducedsl\slshape{9}{1000}{OT1}
2049 \setfont\reducedsf\sfshape{9}{1000}{OT1}
2050 \setfont\reducedsc\scshape{10}{900}{OT1}
2051 \setfont\reducedttsl\ttslshape{10}{900}{OT1TT}
2052 \font\reducedi=cmmi9
2053 \font\reducedsy=cmsy9
2054 \def\reducedecsize{0900}
2055
2056 \divide\parskip by 2 % reduce space between paragraphs
2057 \textleading = 12pt % line spacing for 10pt CM
2058 \textfonts % reset the current fonts
2059 \rm
2060 } % end of 10pt text font size definitions, \definetextfontsizex
2061
2062
2063 % We provide the user-level command
2064 % @fonttextsize 10
2065 % (or 11) to redefine the text font size. pt is assumed.
2066 %
2067 \def\xiword{11}
2068 \def\xword{10}
2069 \def\xwordpt{10pt}
2070 %
2071 \parseargdef\fonttextsize{%
2072 \def\textsizearg{#1}%
2073 %\wlog{doing @fonttextsize \textsizearg}%
2074 %
2075 % Set \globaldefs so that documents can use this inside @tex, since
2076 % makeinfo 4.8 does not support it, but we need it nonetheless.
2077 %
2078 \begingroup \globaldefs=1
2079 \ifx\textsizearg\xword \definetextfontsizex
2080 \else \ifx\textsizearg\xiword \definetextfontsizexi
2081 \else
2082 \errhelp=\EMsimple
2083 \errmessage{@fonttextsize only supports `10' or `11', not `\textsizearg'}
2084 \fi\fi
2085 \endgroup
2086 }
2087
2088
2089 % In order for the font changes to affect most math symbols and letters,
2090 % we have to define the \textfont of the standard families. Since
2091 % texinfo doesn't allow for producing subscripts and superscripts except
2092 % in the main text, we don't bother to reset \scriptfont and
2093 % \scriptscriptfont (which would also require loading a lot more fonts).
2094 %
2095 \def\resetmathfonts{%
2096 \textfont0=\tenrm \textfont1=\teni \textfont2=\tensy
2097 \textfont\itfam=\tenit \textfont\slfam=\tensl \textfont\bffam=\tenbf
2098 \textfont\ttfam=\tentt \textfont\sffam=\tensf
2099 }
2100
2101 % The font-changing commands redefine the meanings of \tenSTYLE, instead
2102 % of just \STYLE. We do this because \STYLE needs to also set the
2103 % current \fam for math mode. Our \STYLE (e.g., \rm) commands hardwire
2104 % \tenSTYLE to set the current font.
2105 %
2106 % Each font-changing command also sets the names \lsize (one size lower)
2107 % and \lllsize (three sizes lower). These relative commands are used in
2108 % the LaTeX logo and acronyms.
2109 %
2110 % This all needs generalizing, badly.
2111 %
2112 \def\textfonts{%
2113 \let\tenrm=\textrm \let\tenit=\textit \let\tensl=\textsl
2114 \let\tenbf=\textbf \let\tentt=\texttt \let\smallcaps=\textsc
2115 \let\tensf=\textsf \let\teni=\texti \let\tensy=\textsy
2116 \let\tenttsl=\textttsl
2117 \def\curfontsize{text}%
2118 \def\lsize{reduced}\def\lllsize{smaller}%
2119 \resetmathfonts \setleading{\textleading}}
2120 \def\titlefonts{%
2121 \let\tenrm=\titlerm \let\tenit=\titleit \let\tensl=\titlesl
2122 \let\tenbf=\titlebf \let\tentt=\titlett \let\smallcaps=\titlesc
2123 \let\tensf=\titlesf \let\teni=\titlei \let\tensy=\titlesy
2124 \let\tenttsl=\titlettsl
2125 \def\curfontsize{title}%
2126 \def\lsize{chap}\def\lllsize{subsec}%
2127 \resetmathfonts \setleading{27pt}}
2128 \def\titlefont#1{{\titlefonts\rmisbold #1}}
2129 \def\chapfonts{%
2130 \let\tenrm=\chaprm \let\tenit=\chapit \let\tensl=\chapsl
2131 \let\tenbf=\chapbf \let\tentt=\chaptt \let\smallcaps=\chapsc
2132 \let\tensf=\chapsf \let\teni=\chapi \let\tensy=\chapsy
2133 \let\tenttsl=\chapttsl
2134 \def\curfontsize{chap}%
2135 \def\lsize{sec}\def\lllsize{text}%
2136 \resetmathfonts \setleading{19pt}}
2137 \def\secfonts{%
2138 \let\tenrm=\secrm \let\tenit=\secit \let\tensl=\secsl
2139 \let\tenbf=\secbf \let\tentt=\sectt \let\smallcaps=\secsc
2140 \let\tensf=\secsf \let\teni=\seci \let\tensy=\secsy
2141 \let\tenttsl=\secttsl
2142 \def\curfontsize{sec}%
2143 \def\lsize{subsec}\def\lllsize{reduced}%
2144 \resetmathfonts \setleading{16pt}}
2145 \def\subsecfonts{%
2146 \let\tenrm=\ssecrm \let\tenit=\ssecit \let\tensl=\ssecsl
2147 \let\tenbf=\ssecbf \let\tentt=\ssectt \let\smallcaps=\ssecsc
2148 \let\tensf=\ssecsf \let\teni=\sseci \let\tensy=\ssecsy
2149 \let\tenttsl=\ssecttsl
2150 \def\curfontsize{ssec}%
2151 \def\lsize{text}\def\lllsize{small}%
2152 \resetmathfonts \setleading{15pt}}
2153 \let\subsubsecfonts = \subsecfonts
2154 \def\reducedfonts{%
2155 \let\tenrm=\reducedrm \let\tenit=\reducedit \let\tensl=\reducedsl
2156 \let\tenbf=\reducedbf \let\tentt=\reducedtt \let\reducedcaps=\reducedsc
2157 \let\tensf=\reducedsf \let\teni=\reducedi \let\tensy=\reducedsy
2158 \let\tenttsl=\reducedttsl
2159 \def\curfontsize{reduced}%
2160 \def\lsize{small}\def\lllsize{smaller}%
2161 \resetmathfonts \setleading{10.5pt}}
2162 \def\smallfonts{%
2163 \let\tenrm=\smallrm \let\tenit=\smallit \let\tensl=\smallsl
2164 \let\tenbf=\smallbf \let\tentt=\smalltt \let\smallcaps=\smallsc
2165 \let\tensf=\smallsf \let\teni=\smalli \let\tensy=\smallsy
2166 \let\tenttsl=\smallttsl
2167 \def\curfontsize{small}%
2168 \def\lsize{smaller}\def\lllsize{smaller}%
2169 \resetmathfonts \setleading{10.5pt}}
2170 \def\smallerfonts{%
2171 \let\tenrm=\smallerrm \let\tenit=\smallerit \let\tensl=\smallersl
2172 \let\tenbf=\smallerbf \let\tentt=\smallertt \let\smallcaps=\smallersc
2173 \let\tensf=\smallersf \let\teni=\smalleri \let\tensy=\smallersy
2174 \let\tenttsl=\smallerttsl
2175 \def\curfontsize{smaller}%
2176 \def\lsize{smaller}\def\lllsize{smaller}%
2177 \resetmathfonts \setleading{9.5pt}}
2178
2179 % Fonts for short table of contents.
2180 \setfont\shortcontrm\rmshape{12}{1000}{OT1}
2181 \setfont\shortcontbf\bfshape{10}{\magstep1}{OT1} % no cmb12
2182 \setfont\shortcontsl\slshape{12}{1000}{OT1}
2183 \setfont\shortconttt\ttshape{12}{1000}{OT1TT}
2184
2185 % Define these just so they can be easily changed for other fonts.
2186 \def\angleleft{$\langle$}
2187 \def\angleright{$\rangle$}
2188
2189 % Set the fonts to use with the @small... environments.
2190 \let\smallexamplefonts = \smallfonts
2191
2192 % About \smallexamplefonts. If we use \smallfonts (9pt), @smallexample
2193 % can fit this many characters:
2194 % 8.5x11=86 smallbook=72 a4=90 a5=69
2195 % If we use \scriptfonts (8pt), then we can fit this many characters:
2196 % 8.5x11=90+ smallbook=80 a4=90+ a5=77
2197 % For me, subjectively, the few extra characters that fit aren't worth
2198 % the additional smallness of 8pt. So I'm making the default 9pt.
2199 %
2200 % By the way, for comparison, here's what fits with @example (10pt):
2201 % 8.5x11=71 smallbook=60 a4=75 a5=58
2202 % --karl, 24jan03.
2203
2204 % Set up the default fonts, so we can use them for creating boxes.
2205 %
2206 \definetextfontsizexi
2207
2208
2209 \message{markup,}
2210
2211 % Check if we are currently using a typewriter font. Since all the
2212 % Computer Modern typewriter fonts have zero interword stretch (and
2213 % shrink), and it is reasonable to expect all typewriter fonts to have
2214 % this property, we can check that font parameter.
2215 %
2216 \def\ifmonospace{\ifdim\fontdimen3\font=0pt }
2217
2218 % Markup style infrastructure. \defmarkupstylesetup\INITMACRO will
2219 % define and register \INITMACRO to be called on markup style changes.
2220 % \INITMACRO can check \currentmarkupstyle for the innermost
2221 % style and the set of \ifmarkupSTYLE switches for all styles
2222 % currently in effect.
2223 \newif\ifmarkupvar
2224 \newif\ifmarkupsamp
2225 \newif\ifmarkupkey
2226 %\newif\ifmarkupfile % @file == @samp.
2227 %\newif\ifmarkupoption % @option == @samp.
2228 \newif\ifmarkupcode
2229 \newif\ifmarkupkbd
2230 %\newif\ifmarkupenv % @env == @code.
2231 %\newif\ifmarkupcommand % @command == @code.
2232 \newif\ifmarkuptex % @tex (and part of @math, for now).
2233 \newif\ifmarkupexample
2234 \newif\ifmarkupverb
2235 \newif\ifmarkupverbatim
2236
2237 \let\currentmarkupstyle\empty
2238
2239 \def\setupmarkupstyle#1{%
2240 \csname markup#1true\endcsname
2241 \def\currentmarkupstyle{#1}%
2242 \markupstylesetup
2243 }
2244
2245 \let\markupstylesetup\empty
2246
2247 \def\defmarkupstylesetup#1{%
2248 \expandafter\def\expandafter\markupstylesetup
2249 \expandafter{\markupstylesetup #1}%
2250 \def#1%
2251 }
2252
2253 % Markup style setup for left and right quotes.
2254 \defmarkupstylesetup\markupsetuplq{%
2255 \expandafter\let\expandafter \temp
2256 \csname markupsetuplq\currentmarkupstyle\endcsname
2257 \ifx\temp\relax \markupsetuplqdefault \else \temp \fi
2258 }
2259
2260 \defmarkupstylesetup\markupsetuprq{%
2261 \expandafter\let\expandafter \temp
2262 \csname markupsetuprq\currentmarkupstyle\endcsname
2263 \ifx\temp\relax \markupsetuprqdefault \else \temp \fi
2264 }
2265
2266 {
2267 \catcode`\'=\active
2268 \catcode`\`=\active
2269
2270 \gdef\markupsetuplqdefault{\let`\lq}
2271 \gdef\markupsetuprqdefault{\let'\rq}
2272
2273 \gdef\markupsetcodequoteleft{\let`\codequoteleft}
2274 \gdef\markupsetcodequoteright{\let'\codequoteright}
2275 }
2276
2277 \let\markupsetuplqcode \markupsetcodequoteleft
2278 \let\markupsetuprqcode \markupsetcodequoteright
2279 %
2280 \let\markupsetuplqexample \markupsetcodequoteleft
2281 \let\markupsetuprqexample \markupsetcodequoteright
2282 %
2283 \let\markupsetuplqkbd \markupsetcodequoteleft
2284 \let\markupsetuprqkbd \markupsetcodequoteright
2285 %
2286 \let\markupsetuplqsamp \markupsetcodequoteleft
2287 \let\markupsetuprqsamp \markupsetcodequoteright
2288 %
2289 \let\markupsetuplqverb \markupsetcodequoteleft
2290 \let\markupsetuprqverb \markupsetcodequoteright
2291 %
2292 \let\markupsetuplqverbatim \markupsetcodequoteleft
2293 \let\markupsetuprqverbatim \markupsetcodequoteright
2294
2295 % Allow an option to not use regular directed right quote/apostrophe
2296 % (char 0x27), but instead the undirected quote from cmtt (char 0x0d).
2297 % The undirected quote is ugly, so don't make it the default, but it
2298 % works for pasting with more pdf viewers (at least evince), the
2299 % lilypond developers report. xpdf does work with the regular 0x27.
2300 %
2301 \def\codequoteright{%
2302 \expandafter\ifx\csname SETtxicodequoteundirected\endcsname\relax
2303 \expandafter\ifx\csname SETcodequoteundirected\endcsname\relax
2304 '%
2305 \else \char'15 \fi
2306 \else \char'15 \fi
2307 }
2308 %
2309 % and a similar option for the left quote char vs. a grave accent.
2310 % Modern fonts display ASCII 0x60 as a grave accent, so some people like
2311 % the code environments to do likewise.
2312 %
2313 \def\codequoteleft{%
2314 \expandafter\ifx\csname SETtxicodequotebacktick\endcsname\relax
2315 \expandafter\ifx\csname SETcodequotebacktick\endcsname\relax
2316 % [Knuth] pp. 380,381,391
2317 % \relax disables Spanish ligatures ?` and !` of \tt font.
2318 \relax`%
2319 \else \char'22 \fi
2320 \else \char'22 \fi
2321 }
2322
2323 % Commands to set the quote options.
2324 %
2325 \parseargdef\codequoteundirected{%
2326 \def\temp{#1}%
2327 \ifx\temp\onword
2328 \expandafter\let\csname SETtxicodequoteundirected\endcsname
2329 = t%
2330 \else\ifx\temp\offword
2331 \expandafter\let\csname SETtxicodequoteundirected\endcsname
2332 = \relax
2333 \else
2334 \errhelp = \EMsimple
2335 \errmessage{Unknown @codequoteundirected value `\temp', must be on|off}%
2336 \fi\fi
2337 }
2338 %
2339 \parseargdef\codequotebacktick{%
2340 \def\temp{#1}%
2341 \ifx\temp\onword
2342 \expandafter\let\csname SETtxicodequotebacktick\endcsname
2343 = t%
2344 \else\ifx\temp\offword
2345 \expandafter\let\csname SETtxicodequotebacktick\endcsname
2346 = \relax
2347 \else
2348 \errhelp = \EMsimple
2349 \errmessage{Unknown @codequotebacktick value `\temp', must be on|off}%
2350 \fi\fi
2351 }
2352
2353 % [Knuth] pp. 380,381,391, disable Spanish ligatures ?` and !` of \tt font.
2354 \def\noligaturesquoteleft{\relax\lq}
2355
2356 % Count depth in font-changes, for error checks
2357 \newcount\fontdepth \fontdepth=0
2358
2359 % Font commands.
2360
2361 % #1 is the font command (\sl or \it), #2 is the text to slant.
2362 % If we are in a monospaced environment, however, 1) always use \ttsl,
2363 % and 2) do not add an italic correction.
2364 \def\dosmartslant#1#2{%
2365 \ifusingtt
2366 {{\ttsl #2}\let\next=\relax}%
2367 {\def\next{{#1#2}\futurelet\next\smartitaliccorrection}}%
2368 \next
2369 }
2370 \def\smartslanted{\dosmartslant\sl}
2371 \def\smartitalic{\dosmartslant\it}
2372
2373 % Output an italic correction unless \next (presumed to be the following
2374 % character) is such as not to need one.
2375 \def\smartitaliccorrection{%
2376 \ifx\next,%
2377 \else\ifx\next-%
2378 \else\ifx\next.%
2379 \else\ptexslash
2380 \fi\fi\fi
2381 \aftersmartic
2382 }
2383
2384 % Unconditional use \ttsl, and no ic. @var is set to this for defuns.
2385 \def\ttslanted#1{{\ttsl #1}}
2386
2387 % @cite is like \smartslanted except unconditionally use \sl. We never want
2388 % ttsl for book titles, do we?
2389 \def\cite#1{{\sl #1}\futurelet\next\smartitaliccorrection}
2390
2391 \def\aftersmartic{}
2392 \def\var#1{%
2393 \let\saveaftersmartic = \aftersmartic
2394 \def\aftersmartic{\null\let\aftersmartic=\saveaftersmartic}%
2395 \smartslanted{#1}%
2396 }
2397
2398 \let\i=\smartitalic
2399 \let\slanted=\smartslanted
2400 \let\dfn=\smartslanted
2401 \let\emph=\smartitalic
2402
2403 % Explicit font changes: @r, @sc, undocumented @ii.
2404 \def\r#1{{\rm #1}} % roman font
2405 \def\sc#1{{\smallcaps#1}} % smallcaps font
2406 \def\ii#1{{\it #1}} % italic font
2407
2408 % @b, explicit bold. Also @strong.
2409 \def\b#1{{\bf #1}}
2410 \let\strong=\b
2411
2412 % @sansserif, explicit sans.
2413 \def\sansserif#1{{\sf #1}}
2414
2415 % We can't just use \exhyphenpenalty, because that only has effect at
2416 % the end of a paragraph. Restore normal hyphenation at the end of the
2417 % group within which \nohyphenation is presumably called.
2418 %
2419 \def\nohyphenation{\hyphenchar\font = -1 \aftergroup\restorehyphenation}
2420 \def\restorehyphenation{\hyphenchar\font = `- }
2421
2422 % Set sfcode to normal for the chars that usually have another value.
2423 % Can't use plain's \frenchspacing because it uses the `\x notation, and
2424 % sometimes \x has an active definition that messes things up.
2425 %
2426 \catcode`@=11
2427 \def\plainfrenchspacing{%
2428 \sfcode\dotChar =\@m \sfcode\questChar=\@m \sfcode\exclamChar=\@m
2429 \sfcode\colonChar=\@m \sfcode\semiChar =\@m \sfcode\commaChar =\@m
2430 \def\endofsentencespacefactor{1000}% for @. and friends
2431 }
2432 \def\plainnonfrenchspacing{%
2433 \sfcode`\.3000\sfcode`\?3000\sfcode`\!3000
2434 \sfcode`\:2000\sfcode`\;1500\sfcode`\,1250
2435 \def\endofsentencespacefactor{3000}% for @. and friends
2436 }
2437 \catcode`@=\other
2438 \def\endofsentencespacefactor{3000}% default
2439
2440 % @t, explicit typewriter.
2441 \def\t#1{%
2442 {\tt \rawbackslash \plainfrenchspacing #1}%
2443 \null
2444 }
2445
2446 % @samp.
2447 \def\samp#1{{\setupmarkupstyle{samp}\lq\tclose{#1}\rq\null}}
2448
2449 % @indicateurl is \samp, that is, with quotes.
2450 \let\indicateurl=\samp
2451
2452 % @code (and similar) prints in typewriter, but with spaces the same
2453 % size as normal in the surrounding text, without hyphenation, etc.
2454 % This is a subroutine for that.
2455 \def\tclose#1{%
2456 {%
2457 % Change normal interword space to be same as for the current font.
2458 \spaceskip = \fontdimen2\font
2459 %
2460 % Switch to typewriter.
2461 \tt
2462 %
2463 % But `\ ' produces the large typewriter interword space.
2464 \def\ {{\spaceskip = 0pt{} }}%
2465 %
2466 % Turn off hyphenation.
2467 \nohyphenation
2468 %
2469 \rawbackslash
2470 \plainfrenchspacing
2471 #1%
2472 }%
2473 \null % reset spacefactor to 1000
2474 }
2475
2476 % We *must* turn on hyphenation at `-' and `_' in @code.
2477 % Otherwise, it is too hard to avoid overfull hboxes
2478 % in the Emacs manual, the Library manual, etc.
2479 %
2480 % Unfortunately, TeX uses one parameter (\hyphenchar) to control
2481 % both hyphenation at - and hyphenation within words.
2482 % We must therefore turn them both off (\tclose does that)
2483 % and arrange explicitly to hyphenate at a dash.
2484 % -- rms.
2485 {
2486 \catcode`\-=\active \catcode`\_=\active
2487 \catcode`\'=\active \catcode`\`=\active
2488 \global\let'=\rq \global\let`=\lq % default definitions
2489 %
2490 \global\def\code{\begingroup
2491 \setupmarkupstyle{code}%
2492 % The following should really be moved into \setupmarkupstyle handlers.
2493 \catcode\dashChar=\active \catcode\underChar=\active
2494 \ifallowcodebreaks
2495 \let-\codedash
2496 \let_\codeunder
2497 \else
2498 \let-\normaldash
2499 \let_\realunder
2500 \fi
2501 \codex
2502 }
2503 }
2504
2505 \def\codex #1{\tclose{#1}\endgroup}
2506
2507 \def\normaldash{-}
2508 \def\codedash{-\discretionary{}{}{}}
2509 \def\codeunder{%
2510 % this is all so @math{@code{var_name}+1} can work. In math mode, _
2511 % is "active" (mathcode"8000) and \normalunderscore (or \char95, etc.)
2512 % will therefore expand the active definition of _, which is us
2513 % (inside @code that is), therefore an endless loop.
2514 \ifusingtt{\ifmmode
2515 \mathchar"075F % class 0=ordinary, family 7=ttfam, pos 0x5F=_.
2516 \else\normalunderscore \fi
2517 \discretionary{}{}{}}%
2518 {\_}%
2519 }
2520
2521 % An additional complication: the above will allow breaks after, e.g.,
2522 % each of the four underscores in __typeof__. This is bad.
2523 % @allowcodebreaks provides a document-level way to turn breaking at -
2524 % and _ on and off.
2525 %
2526 \newif\ifallowcodebreaks \allowcodebreakstrue
2527
2528 \def\keywordtrue{true}
2529 \def\keywordfalse{false}
2530
2531 \parseargdef\allowcodebreaks{%
2532 \def\txiarg{#1}%
2533 \ifx\txiarg\keywordtrue
2534 \allowcodebreakstrue
2535 \else\ifx\txiarg\keywordfalse
2536 \allowcodebreaksfalse
2537 \else
2538 \errhelp = \EMsimple
2539 \errmessage{Unknown @allowcodebreaks option `\txiarg', must be true|false}%
2540 \fi\fi
2541 }
2542
2543 % For @command, @env, @file, @option quotes seem unnecessary,
2544 % so use \code rather than \samp.
2545 \let\command=\code
2546 \let\env=\code
2547 \let\file=\code
2548 \let\option=\code
2549
2550 % @uref (abbreviation for `urlref') takes an optional (comma-separated)
2551 % second argument specifying the text to display and an optional third
2552 % arg as text to display instead of (rather than in addition to) the url
2553 % itself. First (mandatory) arg is the url.
2554 % (This \urefnobreak definition isn't used now, leaving it for a while
2555 % for comparison.)
2556 \def\urefnobreak#1{\dourefnobreak #1,,,\finish}
2557 \def\dourefnobreak#1,#2,#3,#4\finish{\begingroup
2558 \unsepspaces
2559 \pdfurl{#1}%
2560 \setbox0 = \hbox{\ignorespaces #3}%
2561 \ifdim\wd0 > 0pt
2562 \unhbox0 % third arg given, show only that
2563 \else
2564 \setbox0 = \hbox{\ignorespaces #2}%
2565 \ifdim\wd0 > 0pt
2566 \ifpdf
2567 \unhbox0 % PDF: 2nd arg given, show only it
2568 \else
2569 \unhbox0\ (\code{#1})% DVI: 2nd arg given, show both it and url
2570 \fi
2571 \else
2572 \code{#1}% only url given, so show it
2573 \fi
2574 \fi
2575 \endlink
2576 \endgroup}
2577
2578 % This \urefbreak definition is the active one.
2579 \def\urefbreak{\begingroup \urefcatcodes \dourefbreak}
2580 \let\uref=\urefbreak
2581 \def\dourefbreak#1{\urefbreakfinish #1,,,\finish}
2582 \def\urefbreakfinish#1,#2,#3,#4\finish{% doesn't work in @example
2583 \unsepspaces
2584 \pdfurl{#1}%
2585 \setbox0 = \hbox{\ignorespaces #3}%
2586 \ifdim\wd0 > 0pt
2587 \unhbox0 % third arg given, show only that
2588 \else
2589 \setbox0 = \hbox{\ignorespaces #2}%
2590 \ifdim\wd0 > 0pt
2591 \ifpdf
2592 \unhbox0 % PDF: 2nd arg given, show only it
2593 \else
2594 \unhbox0\ (\urefcode{#1})% DVI: 2nd arg given, show both it and url
2595 \fi
2596 \else
2597 \urefcode{#1}% only url given, so show it
2598 \fi
2599 \fi
2600 \endlink
2601 \endgroup}
2602
2603 % Allow line breaks around only a few characters (only).
2604 \def\urefcatcodes{%
2605 \catcode\ampChar=\active \catcode\dotChar=\active
2606 \catcode\hashChar=\active \catcode\questChar=\active
2607 \catcode\slashChar=\active
2608 }
2609 {
2610 \urefcatcodes
2611 %
2612 \global\def\urefcode{\begingroup
2613 \setupmarkupstyle{code}%
2614 \urefcatcodes
2615 \let&\urefcodeamp
2616 \let.\urefcodedot
2617 \let#\urefcodehash
2618 \let?\urefcodequest
2619 \let/\urefcodeslash
2620 \codex
2621 }
2622 %
2623 % By default, they are just regular characters.
2624 \global\def&{\normalamp}
2625 \global\def.{\normaldot}
2626 \global\def#{\normalhash}
2627 \global\def?{\normalquest}
2628 \global\def/{\normalslash}
2629 }
2630
2631 % we put a little stretch before and after the breakable chars, to help
2632 % line breaking of long url's. The unequal skips make look better in
2633 % cmtt at least, especially for dots.
2634 \def\urefprestretch{\urefprebreak \hskip0pt plus.13em }
2635 \def\urefpoststretch{\urefpostbreak \hskip0pt plus.1em }
2636 %
2637 \def\urefcodeamp{\urefprestretch \&\urefpoststretch}
2638 \def\urefcodedot{\urefprestretch .\urefpoststretch}
2639 \def\urefcodehash{\urefprestretch \#\urefpoststretch}
2640 \def\urefcodequest{\urefprestretch ?\urefpoststretch}
2641 \def\urefcodeslash{\futurelet\next\urefcodeslashfinish}
2642 {
2643 \catcode`\/=\active
2644 \global\def\urefcodeslashfinish{%
2645 \urefprestretch \slashChar
2646 % Allow line break only after the final / in a sequence of
2647 % slashes, to avoid line break between the slashes in http://.
2648 \ifx\next/\else \urefpoststretch \fi
2649 }
2650 }
2651
2652 % One more complication: by default we'll break after the special
2653 % characters, but some people like to break before the special chars, so
2654 % allow that. Also allow no breaking at all, for manual control.
2655 %
2656 \parseargdef\urefbreakstyle{%
2657 \def\txiarg{#1}%
2658 \ifx\txiarg\wordnone
2659 \def\urefprebreak{\nobreak}\def\urefpostbreak{\nobreak}
2660 \else\ifx\txiarg\wordbefore
2661 \def\urefprebreak{\allowbreak}\def\urefpostbreak{\nobreak}
2662 \else\ifx\txiarg\wordafter
2663 \def\urefprebreak{\nobreak}\def\urefpostbreak{\allowbreak}
2664 \else
2665 \errhelp = \EMsimple
2666 \errmessage{Unknown @urefbreakstyle setting `\txiarg'}%
2667 \fi\fi\fi
2668 }
2669 \def\wordafter{after}
2670 \def\wordbefore{before}
2671 \def\wordnone{none}
2672
2673 \urefbreakstyle after
2674
2675 % @url synonym for @uref, since that's how everyone uses it.
2676 %
2677 \let\url=\uref
2678
2679 % rms does not like angle brackets --karl, 17may97.
2680 % So now @email is just like @uref, unless we are pdf.
2681 %
2682 %\def\email#1{\angleleft{\tt #1}\angleright}
2683 \ifpdf
2684 \def\email#1{\doemail#1,,\finish}
2685 \def\doemail#1,#2,#3\finish{\begingroup
2686 \unsepspaces
2687 \pdfurl{mailto:#1}%
2688 \setbox0 = \hbox{\ignorespaces #2}%
2689 \ifdim\wd0>0pt\unhbox0\else\code{#1}\fi
2690 \endlink
2691 \endgroup}
2692 \else
2693 \let\email=\uref
2694 \fi
2695
2696 % @kbdinputstyle -- arg is `distinct' (@kbd uses slanted tty font always),
2697 % `example' (@kbd uses ttsl only inside of @example and friends),
2698 % or `code' (@kbd uses normal tty font always).
2699 \parseargdef\kbdinputstyle{%
2700 \def\txiarg{#1}%
2701 \ifx\txiarg\worddistinct
2702 \gdef\kbdexamplefont{\ttsl}\gdef\kbdfont{\ttsl}%
2703 \else\ifx\txiarg\wordexample
2704 \gdef\kbdexamplefont{\ttsl}\gdef\kbdfont{\tt}%
2705 \else\ifx\txiarg\wordcode
2706 \gdef\kbdexamplefont{\tt}\gdef\kbdfont{\tt}%
2707 \else
2708 \errhelp = \EMsimple
2709 \errmessage{Unknown @kbdinputstyle setting `\txiarg'}%
2710 \fi\fi\fi
2711 }
2712 \def\worddistinct{distinct}
2713 \def\wordexample{example}
2714 \def\wordcode{code}
2715
2716 % Default is `distinct'.
2717 \kbdinputstyle distinct
2718
2719 % @kbd is like @code, except that if the argument is just one @key command,
2720 % then @kbd has no effect.
2721 \def\kbd#1{{\def\look{#1}\expandafter\kbdsub\look??\par}}
2722
2723 \def\xkey{\key}
2724 \def\kbdsub#1#2#3\par{%
2725 \def\one{#1}\def\three{#3}\def\threex{??}%
2726 \ifx\one\xkey\ifx\threex\three \key{#2}%
2727 \else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi
2728 \else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi
2729 }
2730
2731 % definition of @key that produces a lozenge. Doesn't adjust to text size.
2732 %\setfont\keyrm\rmshape{8}{1000}{OT1}
2733 %\font\keysy=cmsy9
2734 %\def\key#1{{\keyrm\textfont2=\keysy \leavevmode\hbox{%
2735 % \raise0.4pt\hbox{\angleleft}\kern-.08em\vtop{%
2736 % \vbox{\hrule\kern-0.4pt
2737 % \hbox{\raise0.4pt\hbox{\vphantom{\angleleft}}#1}}%
2738 % \kern-0.4pt\hrule}%
2739 % \kern-.06em\raise0.4pt\hbox{\angleright}}}}
2740
2741 % definition of @key with no lozenge. If the current font is already
2742 % monospace, don't change it; that way, we respect @kbdinputstyle. But
2743 % if it isn't monospace, then use \tt.
2744 %
2745 \def\key#1{{\setupmarkupstyle{key}%
2746 \nohyphenation
2747 \ifmonospace\else\tt\fi
2748 #1}\null}
2749
2750 % @clicksequence{File @click{} Open ...}
2751 \def\clicksequence#1{\begingroup #1\endgroup}
2752
2753 % @clickstyle @arrow (by default)
2754 \parseargdef\clickstyle{\def\click{#1}}
2755 \def\click{\arrow}
2756
2757 % Typeset a dimension, e.g., `in' or `pt'. The only reason for the
2758 % argument is to make the input look right: @dmn{pt} instead of @dmn{}pt.
2759 %
2760 \def\dmn#1{\thinspace #1}
2761
2762 % @l was never documented to mean ``switch to the Lisp font'',
2763 % and it is not used as such in any manual I can find. We need it for
2764 % Polish suppressed-l. --karl, 22sep96.
2765 %\def\l#1{{\li #1}\null}
2766
2767 % @acronym for "FBI", "NATO", and the like.
2768 % We print this one point size smaller, since it's intended for
2769 % all-uppercase.
2770 %
2771 \def\acronym#1{\doacronym #1,,\finish}
2772 \def\doacronym#1,#2,#3\finish{%
2773 {\selectfonts\lsize #1}%
2774 \def\temp{#2}%
2775 \ifx\temp\empty \else
2776 \space ({\unsepspaces \ignorespaces \temp \unskip})%
2777 \fi
2778 \null % reset \spacefactor=1000
2779 }
2780
2781 % @abbr for "Comput. J." and the like.
2782 % No font change, but don't do end-of-sentence spacing.
2783 %
2784 \def\abbr#1{\doabbr #1,,\finish}
2785 \def\doabbr#1,#2,#3\finish{%
2786 {\plainfrenchspacing #1}%
2787 \def\temp{#2}%
2788 \ifx\temp\empty \else
2789 \space ({\unsepspaces \ignorespaces \temp \unskip})%
2790 \fi
2791 \null % reset \spacefactor=1000
2792 }
2793
2794 % @asis just yields its argument. Used with @table, for example.
2795 %
2796 \def\asis#1{#1}
2797
2798 % @math outputs its argument in math mode.
2799 %
2800 % One complication: _ usually means subscripts, but it could also mean
2801 % an actual _ character, as in @math{@var{some_variable} + 1}. So make
2802 % _ active, and distinguish by seeing if the current family is \slfam,
2803 % which is what @var uses.
2804 {
2805 \catcode`\_ = \active
2806 \gdef\mathunderscore{%
2807 \catcode`\_=\active
2808 \def_{\ifnum\fam=\slfam \_\else\sb\fi}%
2809 }
2810 }
2811 % Another complication: we want \\ (and @\) to output a math (or tt) \.
2812 % FYI, plain.tex uses \\ as a temporary control sequence (for no
2813 % particular reason), but this is not advertised and we don't care.
2814 %
2815 % The \mathchar is class=0=ordinary, family=7=ttfam, position=5C=\.
2816 \def\mathbackslash{\ifnum\fam=\ttfam \mathchar"075C \else\backslash \fi}
2817 %
2818 \def\math{%
2819 \tex
2820 \mathunderscore
2821 \let\\ = \mathbackslash
2822 \mathactive
2823 % make the texinfo accent commands work in math mode
2824 \let\"=\ddot
2825 \let\'=\acute
2826 \let\==\bar
2827 \let\^=\hat
2828 \let\`=\grave
2829 \let\u=\breve
2830 \let\v=\check
2831 \let\~=\tilde
2832 \let\dotaccent=\dot
2833 $\finishmath
2834 }
2835 \def\finishmath#1{#1$\endgroup} % Close the group opened by \tex.
2836
2837 % Some active characters (such as <) are spaced differently in math.
2838 % We have to reset their definitions in case the @math was an argument
2839 % to a command which sets the catcodes (such as @item or @section).
2840 %
2841 {
2842 \catcode`^ = \active
2843 \catcode`< = \active
2844 \catcode`> = \active
2845 \catcode`+ = \active
2846 \catcode`' = \active
2847 \gdef\mathactive{%
2848 \let^ = \ptexhat
2849 \let< = \ptexless
2850 \let> = \ptexgtr
2851 \let+ = \ptexplus
2852 \let' = \ptexquoteright
2853 }
2854 }
2855
2856 % ctrl is no longer a Texinfo command, but leave this definition for fun.
2857 \def\ctrl #1{{\tt \rawbackslash \hat}#1}
2858
2859 % @inlinefmt{FMTNAME,PROCESSED-TEXT} and @inlineraw{FMTNAME,RAW-TEXT}.
2860 % Ignore unless FMTNAME == tex; then it is like @iftex and @tex,
2861 % except specified as a normal braced arg, so no newlines to worry about.
2862 %
2863 \def\outfmtnametex{tex}
2864 %
2865 \long\def\inlinefmt#1{\doinlinefmt #1,\finish}
2866 \long\def\doinlinefmt#1,#2,\finish{%
2867 \def\inlinefmtname{#1}%
2868 \ifx\inlinefmtname\outfmtnametex \ignorespaces #2\fi
2869 }
2870 % For raw, must switch into @tex before parsing the argument, to avoid
2871 % setting catcodes prematurely. Doing it this way means that, for
2872 % example, @inlineraw{html, foo{bar} gets a parse error instead of being
2873 % ignored. But this isn't important because if people want a literal
2874 % *right* brace they would have to use a command anyway, so they may as
2875 % well use a command to get a left brace too. We could re-use the
2876 % delimiter character idea from \verb, but it seems like overkill.
2877 %
2878 \long\def\inlineraw{\tex \doinlineraw}
2879 \long\def\doinlineraw#1{\doinlinerawtwo #1,\finish}
2880 \def\doinlinerawtwo#1,#2,\finish{%
2881 \def\inlinerawname{#1}%
2882 \ifx\inlinerawname\outfmtnametex \ignorespaces #2\fi
2883 \endgroup % close group opened by \tex.
2884 }
2885
2886
2887 \message{glyphs,}
2888 % and logos.
2889
2890 % @@ prints an @, as does @atchar{}.
2891 \def\@{\char64 }
2892 \let\atchar=\@
2893
2894 % @{ @} @lbracechar{} @rbracechar{} all generate brace characters.
2895 % Unless we're in typewriter, use \ecfont because the CM text fonts do
2896 % not have braces, and we don't want to switch into math.
2897 \def\mylbrace{{\ifmonospace\else\ecfont\fi \char123}}
2898 \def\myrbrace{{\ifmonospace\else\ecfont\fi \char125}}
2899 \let\{=\mylbrace \let\lbracechar=\{
2900 \let\}=\myrbrace \let\rbracechar=\}
2901 \begingroup
2902 % Definitions to produce \{ and \} commands for indices,
2903 % and @{ and @} for the aux/toc files.
2904 \catcode`\{ = \other \catcode`\} = \other
2905 \catcode`\[ = 1 \catcode`\] = 2
2906 \catcode`\! = 0 \catcode`\\ = \other
2907 !gdef!lbracecmd[\{]%
2908 !gdef!rbracecmd[\}]%
2909 !gdef!lbraceatcmd[@{]%
2910 !gdef!rbraceatcmd[@}]%
2911 !endgroup
2912
2913 % @comma{} to avoid , parsing problems.
2914 \let\comma = ,
2915
2916 % Accents: @, @dotaccent @ringaccent @ubaraccent @udotaccent
2917 % Others are defined by plain TeX: @` @' @" @^ @~ @= @u @v @H.
2918 \let\, = \ptexc
2919 \let\dotaccent = \ptexdot
2920 \def\ringaccent#1{{\accent23 #1}}
2921 \let\tieaccent = \ptext
2922 \let\ubaraccent = \ptexb
2923 \let\udotaccent = \d
2924
2925 % Other special characters: @questiondown @exclamdown @ordf @ordm
2926 % Plain TeX defines: @AA @AE @O @OE @L (plus lowercase versions) @ss.
2927 \def\questiondown{?`}
2928 \def\exclamdown{!`}
2929 \def\ordf{\leavevmode\raise1ex\hbox{\selectfonts\lllsize \underbar{a}}}
2930 \def\ordm{\leavevmode\raise1ex\hbox{\selectfonts\lllsize \underbar{o}}}
2931
2932 % Dotless i and dotless j, used for accents.
2933 \def\imacro{i}
2934 \def\jmacro{j}
2935 \def\dotless#1{%
2936 \def\temp{#1}%
2937 \ifx\temp\imacro \ifmmode\imath \else\ptexi \fi
2938 \else\ifx\temp\jmacro \ifmmode\jmath \else\j \fi
2939 \else \errmessage{@dotless can be used only with i or j}%
2940 \fi\fi
2941 }
2942
2943 % The \TeX{} logo, as in plain, but resetting the spacing so that a
2944 % period following counts as ending a sentence. (Idea found in latex.)
2945 %
2946 \edef\TeX{\TeX \spacefactor=1000 }
2947
2948 % @LaTeX{} logo. Not quite the same results as the definition in
2949 % latex.ltx, since we use a different font for the raised A; it's most
2950 % convenient for us to use an explicitly smaller font, rather than using
2951 % the \scriptstyle font (since we don't reset \scriptstyle and
2952 % \scriptscriptstyle).
2953 %
2954 \def\LaTeX{%
2955 L\kern-.36em
2956 {\setbox0=\hbox{T}%
2957 \vbox to \ht0{\hbox{%
2958 \ifx\textnominalsize\xwordpt
2959 % for 10pt running text, \lllsize (8pt) is too small for the A in LaTeX.
2960 % Revert to plain's \scriptsize, which is 7pt.
2961 \count255=\the\fam $\fam\count255 \scriptstyle A$%
2962 \else
2963 % For 11pt, we can use our lllsize.
2964 \selectfonts\lllsize A%
2965 \fi
2966 }%
2967 \vss
2968 }}%
2969 \kern-.15em
2970 \TeX
2971 }
2972
2973 % Some math mode symbols.
2974 \def\bullet{$\ptexbullet$}
2975 \def\geq{\ifmmode \ge\else $\ge$\fi}
2976 \def\leq{\ifmmode \le\else $\le$\fi}
2977 \def\minus{\ifmmode -\else $-$\fi}
2978
2979 % @dots{} outputs an ellipsis using the current font.
2980 % We do .5em per period so that it has the same spacing in the cm
2981 % typewriter fonts as three actual period characters; on the other hand,
2982 % in other typewriter fonts three periods are wider than 1.5em. So do
2983 % whichever is larger.
2984 %
2985 \def\dots{%
2986 \leavevmode
2987 \setbox0=\hbox{...}% get width of three periods
2988 \ifdim\wd0 > 1.5em
2989 \dimen0 = \wd0
2990 \else
2991 \dimen0 = 1.5em
2992 \fi
2993 \hbox to \dimen0{%
2994 \hskip 0pt plus.25fil
2995 .\hskip 0pt plus1fil
2996 .\hskip 0pt plus1fil
2997 .\hskip 0pt plus.5fil
2998 }%
2999 }
3000
3001 % @enddots{} is an end-of-sentence ellipsis.
3002 %
3003 \def\enddots{%
3004 \dots
3005 \spacefactor=\endofsentencespacefactor
3006 }
3007
3008 % @point{}, @result{}, @expansion{}, @print{}, @equiv{}.
3009 %
3010 % Since these characters are used in examples, they should be an even number of
3011 % \tt widths. Each \tt character is 1en, so two makes it 1em.
3012 %
3013 \def\point{$\star$}
3014 \def\arrow{\leavevmode\raise.05ex\hbox to 1em{\hfil$\rightarrow$\hfil}}
3015 \def\result{\leavevmode\raise.05ex\hbox to 1em{\hfil$\Rightarrow$\hfil}}
3016 \def\expansion{\leavevmode\hbox to 1em{\hfil$\mapsto$\hfil}}
3017 \def\print{\leavevmode\lower.1ex\hbox to 1em{\hfil$\dashv$\hfil}}
3018 \def\equiv{\leavevmode\hbox to 1em{\hfil$\ptexequiv$\hfil}}
3019
3020 % The @error{} command.
3021 % Adapted from the TeXbook's \boxit.
3022 %
3023 \newbox\errorbox
3024 %
3025 {\tentt \global\dimen0 = 3em}% Width of the box.
3026 \dimen2 = .55pt % Thickness of rules
3027 % The text. (`r' is open on the right, `e' somewhat less so on the left.)
3028 \setbox0 = \hbox{\kern-.75pt \reducedsf \putworderror\kern-1.5pt}
3029 %
3030 \setbox\errorbox=\hbox to \dimen0{\hfil
3031 \hsize = \dimen0 \advance\hsize by -5.8pt % Space to left+right.
3032 \advance\hsize by -2\dimen2 % Rules.
3033 \vbox{%
3034 \hrule height\dimen2
3035 \hbox{\vrule width\dimen2 \kern3pt % Space to left of text.
3036 \vtop{\kern2.4pt \box0 \kern2.4pt}% Space above/below.
3037 \kern3pt\vrule width\dimen2}% Space to right.
3038 \hrule height\dimen2}
3039 \hfil}
3040 %
3041 \def\error{\leavevmode\lower.7ex\copy\errorbox}
3042
3043 % @pounds{} is a sterling sign, which Knuth put in the CM italic font.
3044 %
3045 \def\pounds{{\it\$}}
3046
3047 % @euro{} comes from a separate font, depending on the current style.
3048 % We use the free feym* fonts from the eurosym package by Henrik
3049 % Theiling, which support regular, slanted, bold and bold slanted (and
3050 % "outlined" (blackboard board, sort of) versions, which we don't need).
3051 % It is available from http://www.ctan.org/tex-archive/fonts/eurosym.
3052 %
3053 % Although only regular is the truly official Euro symbol, we ignore
3054 % that. The Euro is designed to be slightly taller than the regular
3055 % font height.
3056 %
3057 % feymr - regular
3058 % feymo - slanted
3059 % feybr - bold
3060 % feybo - bold slanted
3061 %
3062 % There is no good (free) typewriter version, to my knowledge.
3063 % A feymr10 euro is ~7.3pt wide, while a normal cmtt10 char is ~5.25pt wide.
3064 % Hmm.
3065 %
3066 % Also doesn't work in math. Do we need to do math with euro symbols?
3067 % Hope not.
3068 %
3069 %
3070 \def\euro{{\eurofont e}}
3071 \def\eurofont{%
3072 % We set the font at each command, rather than predefining it in
3073 % \textfonts and the other font-switching commands, so that
3074 % installations which never need the symbol don't have to have the
3075 % font installed.
3076 %
3077 % There is only one designed size (nominal 10pt), so we always scale
3078 % that to the current nominal size.
3079 %
3080 % By the way, simply using "at 1em" works for cmr10 and the like, but
3081 % does not work for cmbx10 and other extended/shrunken fonts.
3082 %
3083 \def\eurosize{\csname\curfontsize nominalsize\endcsname}%
3084 %
3085 \ifx\curfontstyle\bfstylename
3086 % bold:
3087 \font\thiseurofont = \ifusingit{feybo10}{feybr10} at \eurosize
3088 \else
3089 % regular:
3090 \font\thiseurofont = \ifusingit{feymo10}{feymr10} at \eurosize
3091 \fi
3092 \thiseurofont
3093 }
3094
3095 % Glyphs from the EC fonts. We don't use \let for the aliases, because
3096 % sometimes we redefine the original macro, and the alias should reflect
3097 % the redefinition.
3098 %
3099 % Use LaTeX names for the Icelandic letters.
3100 \def\DH{{\ecfont \char"D0}} % Eth
3101 \def\dh{{\ecfont \char"F0}} % eth
3102 \def\TH{{\ecfont \char"DE}} % Thorn
3103 \def\th{{\ecfont \char"FE}} % thorn
3104 %
3105 \def\guillemetleft{{\ecfont \char"13}}
3106 \def\guillemotleft{\guillemetleft}
3107 \def\guillemetright{{\ecfont \char"14}}
3108 \def\guillemotright{\guillemetright}
3109 \def\guilsinglleft{{\ecfont \char"0E}}
3110 \def\guilsinglright{{\ecfont \char"0F}}
3111 \def\quotedblbase{{\ecfont \char"12}}
3112 \def\quotesinglbase{{\ecfont \char"0D}}
3113 %
3114 % This positioning is not perfect (see the ogonek LaTeX package), but
3115 % we have the precomposed glyphs for the most common cases. We put the
3116 % tests to use those glyphs in the single \ogonek macro so we have fewer
3117 % dummy definitions to worry about for index entries, etc.
3118 %
3119 % ogonek is also used with other letters in Lithuanian (IOU), but using
3120 % the precomposed glyphs for those is not so easy since they aren't in
3121 % the same EC font.
3122 \def\ogonek#1{{%
3123 \def\temp{#1}%
3124 \ifx\temp\macrocharA\Aogonek
3125 \else\ifx\temp\macrochara\aogonek
3126 \else\ifx\temp\macrocharE\Eogonek
3127 \else\ifx\temp\macrochare\eogonek
3128 \else
3129 \ecfont \setbox0=\hbox{#1}%
3130 \ifdim\ht0=1ex\accent"0C #1%
3131 \else\ooalign{\unhbox0\crcr\hidewidth\char"0C \hidewidth}%
3132 \fi
3133 \fi\fi\fi\fi
3134 }%
3135 }
3136 \def\Aogonek{{\ecfont \char"81}}\def\macrocharA{A}
3137 \def\aogonek{{\ecfont \char"A1}}\def\macrochara{a}
3138 \def\Eogonek{{\ecfont \char"86}}\def\macrocharE{E}
3139 \def\eogonek{{\ecfont \char"A6}}\def\macrochare{e}
3140 %
3141 % Use the ec* fonts (cm-super in outline format) for non-CM glyphs.
3142 \def\ecfont{%
3143 % We can't distinguish serif/sans and italic/slanted, but this
3144 % is used for crude hacks anyway (like adding French and German
3145 % quotes to documents typeset with CM, where we lose kerning), so
3146 % hopefully nobody will notice/care.
3147 \edef\ecsize{\csname\curfontsize ecsize\endcsname}%
3148 \edef\nominalsize{\csname\curfontsize nominalsize\endcsname}%
3149 \ifmonospace
3150 % typewriter:
3151 \font\thisecfont = ectt\ecsize \space at \nominalsize
3152 \else
3153 \ifx\curfontstyle\bfstylename
3154 % bold:
3155 \font\thisecfont = ecb\ifusingit{i}{x}\ecsize \space at \nominalsize
3156 \else
3157 % regular:
3158 \font\thisecfont = ec\ifusingit{ti}{rm}\ecsize \space at \nominalsize
3159 \fi
3160 \fi
3161 \thisecfont
3162 }
3163
3164 % @registeredsymbol - R in a circle. The font for the R should really
3165 % be smaller yet, but lllsize is the best we can do for now.
3166 % Adapted from the plain.tex definition of \copyright.
3167 %
3168 \def\registeredsymbol{%
3169 $^{{\ooalign{\hfil\raise.07ex\hbox{\selectfonts\lllsize R}%
3170 \hfil\crcr\Orb}}%
3171 }$%
3172 }
3173
3174 % @textdegree - the normal degrees sign.
3175 %
3176 \def\textdegree{$^\circ$}
3177
3178 % Laurent Siebenmann reports \Orb undefined with:
3179 % Textures 1.7.7 (preloaded format=plain 93.10.14) (68K) 16 APR 2004 02:38
3180 % so we'll define it if necessary.
3181 %
3182 \ifx\Orb\thisisundefined
3183 \def\Orb{\mathhexbox20D}
3184 \fi
3185
3186 % Quotes.
3187 \chardef\quotedblleft="5C
3188 \chardef\quotedblright=`\"
3189 \chardef\quoteleft=`\`
3190 \chardef\quoteright=`\'
3191
3192
3193 \message{page headings,}
3194
3195 \newskip\titlepagetopglue \titlepagetopglue = 1.5in
3196 \newskip\titlepagebottomglue \titlepagebottomglue = 2pc
3197
3198 % First the title page. Must do @settitle before @titlepage.
3199 \newif\ifseenauthor
3200 \newif\iffinishedtitlepage
3201
3202 % Do an implicit @contents or @shortcontents after @end titlepage if the
3203 % user says @setcontentsaftertitlepage or @setshortcontentsaftertitlepage.
3204 %
3205 \newif\ifsetcontentsaftertitlepage
3206 \let\setcontentsaftertitlepage = \setcontentsaftertitlepagetrue
3207 \newif\ifsetshortcontentsaftertitlepage
3208 \let\setshortcontentsaftertitlepage = \setshortcontentsaftertitlepagetrue
3209
3210 \parseargdef\shorttitlepage{%
3211 \begingroup \hbox{}\vskip 1.5in \chaprm \centerline{#1}%
3212 \endgroup\page\hbox{}\page}
3213
3214 \envdef\titlepage{%
3215 % Open one extra group, as we want to close it in the middle of \Etitlepage.
3216 \begingroup
3217 \parindent=0pt \textfonts
3218 % Leave some space at the very top of the page.
3219 \vglue\titlepagetopglue
3220 % No rule at page bottom unless we print one at the top with @title.
3221 \finishedtitlepagetrue
3222 %
3223 % Most title ``pages'' are actually two pages long, with space
3224 % at the top of the second. We don't want the ragged left on the second.
3225 \let\oldpage = \page
3226 \def\page{%
3227 \iffinishedtitlepage\else
3228 \finishtitlepage
3229 \fi
3230 \let\page = \oldpage
3231 \page
3232 \null
3233 }%
3234 }
3235
3236 \def\Etitlepage{%
3237 \iffinishedtitlepage\else
3238 \finishtitlepage
3239 \fi
3240 % It is important to do the page break before ending the group,
3241 % because the headline and footline are only empty inside the group.
3242 % If we use the new definition of \page, we always get a blank page
3243 % after the title page, which we certainly don't want.
3244 \oldpage
3245 \endgroup
3246 %
3247 % Need this before the \...aftertitlepage checks so that if they are
3248 % in effect the toc pages will come out with page numbers.
3249 \HEADINGSon
3250 %
3251 % If they want short, they certainly want long too.
3252 \ifsetshortcontentsaftertitlepage
3253 \shortcontents
3254 \contents
3255 \global\let\shortcontents = \relax
3256 \global\let\contents = \relax
3257 \fi
3258 %
3259 \ifsetcontentsaftertitlepage
3260 \contents
3261 \global\let\contents = \relax
3262 \global\let\shortcontents = \relax
3263 \fi
3264 }
3265
3266 \def\finishtitlepage{%
3267 \vskip4pt \hrule height 2pt width \hsize
3268 \vskip\titlepagebottomglue
3269 \finishedtitlepagetrue
3270 }
3271
3272 % Settings used for typesetting titles: no hyphenation, no indentation,
3273 % don't worry much about spacing, ragged right. This should be used
3274 % inside a \vbox, and fonts need to be set appropriately first. Because
3275 % it is always used for titles, nothing else, we call \rmisbold. \par
3276 % should be specified before the end of the \vbox, since a vbox is a group.
3277 %
3278 \def\raggedtitlesettings{%
3279 \rmisbold
3280 \hyphenpenalty=10000
3281 \parindent=0pt
3282 \tolerance=5000
3283 \ptexraggedright
3284 }
3285
3286 % Macros to be used within @titlepage:
3287
3288 \let\subtitlerm=\tenrm
3289 \def\subtitlefont{\subtitlerm \normalbaselineskip = 13pt \normalbaselines}
3290
3291 \parseargdef\title{%
3292 \checkenv\titlepage
3293 \vbox{\titlefonts \raggedtitlesettings #1\par}%
3294 % print a rule at the page bottom also.
3295 \finishedtitlepagefalse
3296 \vskip4pt \hrule height 4pt width \hsize \vskip4pt
3297 }
3298
3299 \parseargdef\subtitle{%
3300 \checkenv\titlepage
3301 {\subtitlefont \rightline{#1}}%
3302 }
3303
3304 % @author should come last, but may come many times.
3305 % It can also be used inside @quotation.
3306 %
3307 \parseargdef\author{%
3308 \def\temp{\quotation}%
3309 \ifx\thisenv\temp
3310 \def\quotationauthor{#1}% printed in \Equotation.
3311 \else
3312 \checkenv\titlepage
3313 \ifseenauthor\else \vskip 0pt plus 1filll \seenauthortrue \fi
3314 {\secfonts\rmisbold \leftline{#1}}%
3315 \fi
3316 }
3317
3318
3319 % Set up page headings and footings.
3320
3321 \let\thispage=\folio
3322
3323 \newtoks\evenheadline % headline on even pages
3324 \newtoks\oddheadline % headline on odd pages
3325 \newtoks\evenfootline % footline on even pages
3326 \newtoks\oddfootline % footline on odd pages
3327
3328 % Now make TeX use those variables
3329 \headline={{\textfonts\rm \ifodd\pageno \the\oddheadline
3330 \else \the\evenheadline \fi}}
3331 \footline={{\textfonts\rm \ifodd\pageno \the\oddfootline
3332 \else \the\evenfootline \fi}\HEADINGShook}
3333 \let\HEADINGShook=\relax
3334
3335 % Commands to set those variables.
3336 % For example, this is what @headings on does
3337 % @evenheading @thistitle|@thispage|@thischapter
3338 % @oddheading @thischapter|@thispage|@thistitle
3339 % @evenfooting @thisfile||
3340 % @oddfooting ||@thisfile
3341
3342
3343 \def\evenheading{\parsearg\evenheadingxxx}
3344 \def\evenheadingxxx #1{\evenheadingyyy #1\|\|\|\|\finish}
3345 \def\evenheadingyyy #1\|#2\|#3\|#4\finish{%
3346 \global\evenheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}}
3347
3348 \def\oddheading{\parsearg\oddheadingxxx}
3349 \def\oddheadingxxx #1{\oddheadingyyy #1\|\|\|\|\finish}
3350 \def\oddheadingyyy #1\|#2\|#3\|#4\finish{%
3351 \global\oddheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}}
3352
3353 \parseargdef\everyheading{\oddheadingxxx{#1}\evenheadingxxx{#1}}%
3354
3355 \def\evenfooting{\parsearg\evenfootingxxx}
3356 \def\evenfootingxxx #1{\evenfootingyyy #1\|\|\|\|\finish}
3357 \def\evenfootingyyy #1\|#2\|#3\|#4\finish{%
3358 \global\evenfootline={\rlap{\centerline{#2}}\line{#1\hfil#3}}}
3359
3360 \def\oddfooting{\parsearg\oddfootingxxx}
3361 \def\oddfootingxxx #1{\oddfootingyyy #1\|\|\|\|\finish}
3362 \def\oddfootingyyy #1\|#2\|#3\|#4\finish{%
3363 \global\oddfootline = {\rlap{\centerline{#2}}\line{#1\hfil#3}}%
3364 %
3365 % Leave some space for the footline. Hopefully ok to assume
3366 % @evenfooting will not be used by itself.
3367 \global\advance\pageheight by -12pt
3368 \global\advance\vsize by -12pt
3369 }
3370
3371 \parseargdef\everyfooting{\oddfootingxxx{#1}\evenfootingxxx{#1}}
3372
3373 % @evenheadingmarks top \thischapter <- chapter at the top of a page
3374 % @evenheadingmarks bottom \thischapter <- chapter at the bottom of a page
3375 %
3376 % The same set of arguments for:
3377 %
3378 % @oddheadingmarks
3379 % @evenfootingmarks
3380 % @oddfootingmarks
3381 % @everyheadingmarks
3382 % @everyfootingmarks
3383
3384 \def\evenheadingmarks{\headingmarks{even}{heading}}
3385 \def\oddheadingmarks{\headingmarks{odd}{heading}}
3386 \def\evenfootingmarks{\headingmarks{even}{footing}}
3387 \def\oddfootingmarks{\headingmarks{odd}{footing}}
3388 \def\everyheadingmarks#1 {\headingmarks{even}{heading}{#1}
3389 \headingmarks{odd}{heading}{#1} }
3390 \def\everyfootingmarks#1 {\headingmarks{even}{footing}{#1}
3391 \headingmarks{odd}{footing}{#1} }
3392 % #1 = even/odd, #2 = heading/footing, #3 = top/bottom.
3393 \def\headingmarks#1#2#3 {%
3394 \expandafter\let\expandafter\temp \csname get#3headingmarks\endcsname
3395 \global\expandafter\let\csname get#1#2marks\endcsname \temp
3396 }
3397
3398 \everyheadingmarks bottom
3399 \everyfootingmarks bottom
3400
3401 % @headings double turns headings on for double-sided printing.
3402 % @headings single turns headings on for single-sided printing.
3403 % @headings off turns them off.
3404 % @headings on same as @headings double, retained for compatibility.
3405 % @headings after turns on double-sided headings after this page.
3406 % @headings doubleafter turns on double-sided headings after this page.
3407 % @headings singleafter turns on single-sided headings after this page.
3408 % By default, they are off at the start of a document,
3409 % and turned `on' after @end titlepage.
3410
3411 \def\headings #1 {\csname HEADINGS#1\endcsname}
3412
3413 \def\headingsoff{% non-global headings elimination
3414 \evenheadline={\hfil}\evenfootline={\hfil}%
3415 \oddheadline={\hfil}\oddfootline={\hfil}%
3416 }
3417
3418 \def\HEADINGSoff{{\globaldefs=1 \headingsoff}} % global setting
3419 \HEADINGSoff % it's the default
3420
3421 % When we turn headings on, set the page number to 1.
3422 % For double-sided printing, put current file name in lower left corner,
3423 % chapter name on inside top of right hand pages, document
3424 % title on inside top of left hand pages, and page numbers on outside top
3425 % edge of all pages.
3426 \def\HEADINGSdouble{%
3427 \global\pageno=1
3428 \global\evenfootline={\hfil}
3429 \global\oddfootline={\hfil}
3430 \global\evenheadline={\line{\folio\hfil\thistitle}}
3431 \global\oddheadline={\line{\thischapter\hfil\folio}}
3432 \global\let\contentsalignmacro = \chapoddpage
3433 }
3434 \let\contentsalignmacro = \chappager
3435
3436 % For single-sided printing, chapter title goes across top left of page,
3437 % page number on top right.
3438 \def\HEADINGSsingle{%
3439 \global\pageno=1
3440 \global\evenfootline={\hfil}
3441 \global\oddfootline={\hfil}
3442 \global\evenheadline={\line{\thischapter\hfil\folio}}
3443 \global\oddheadline={\line{\thischapter\hfil\folio}}
3444 \global\let\contentsalignmacro = \chappager
3445 }
3446 \def\HEADINGSon{\HEADINGSdouble}
3447
3448 \def\HEADINGSafter{\let\HEADINGShook=\HEADINGSdoublex}
3449 \let\HEADINGSdoubleafter=\HEADINGSafter
3450 \def\HEADINGSdoublex{%
3451 \global\evenfootline={\hfil}
3452 \global\oddfootline={\hfil}
3453 \global\evenheadline={\line{\folio\hfil\thistitle}}
3454 \global\oddheadline={\line{\thischapter\hfil\folio}}
3455 \global\let\contentsalignmacro = \chapoddpage
3456 }
3457
3458 \def\HEADINGSsingleafter{\let\HEADINGShook=\HEADINGSsinglex}
3459 \def\HEADINGSsinglex{%
3460 \global\evenfootline={\hfil}
3461 \global\oddfootline={\hfil}
3462 \global\evenheadline={\line{\thischapter\hfil\folio}}
3463 \global\oddheadline={\line{\thischapter\hfil\folio}}
3464 \global\let\contentsalignmacro = \chappager
3465 }
3466
3467 % Subroutines used in generating headings
3468 % This produces Day Month Year style of output.
3469 % Only define if not already defined, in case a txi-??.tex file has set
3470 % up a different format (e.g., txi-cs.tex does this).
3471 \ifx\today\thisisundefined
3472 \def\today{%
3473 \number\day\space
3474 \ifcase\month
3475 \or\putwordMJan\or\putwordMFeb\or\putwordMMar\or\putwordMApr
3476 \or\putwordMMay\or\putwordMJun\or\putwordMJul\or\putwordMAug
3477 \or\putwordMSep\or\putwordMOct\or\putwordMNov\or\putwordMDec
3478 \fi
3479 \space\number\year}
3480 \fi
3481
3482 % @settitle line... specifies the title of the document, for headings.
3483 % It generates no output of its own.
3484 \def\thistitle{\putwordNoTitle}
3485 \def\settitle{\parsearg{\gdef\thistitle}}
3486
3487
3488 \message{tables,}
3489 % Tables -- @table, @ftable, @vtable, @item(x).
3490
3491 % default indentation of table text
3492 \newdimen\tableindent \tableindent=.8in
3493 % default indentation of @itemize and @enumerate text
3494 \newdimen\itemindent \itemindent=.3in
3495 % margin between end of table item and start of table text.
3496 \newdimen\itemmargin \itemmargin=.1in
3497
3498 % used internally for \itemindent minus \itemmargin
3499 \newdimen\itemmax
3500
3501 % Note @table, @ftable, and @vtable define @item, @itemx, etc., with
3502 % these defs.
3503 % They also define \itemindex
3504 % to index the item name in whatever manner is desired (perhaps none).
3505
3506 \newif\ifitemxneedsnegativevskip
3507
3508 \def\itemxpar{\par\ifitemxneedsnegativevskip\nobreak\vskip-\parskip\nobreak\fi}
3509
3510 \def\internalBitem{\smallbreak \parsearg\itemzzz}
3511 \def\internalBitemx{\itemxpar \parsearg\itemzzz}
3512
3513 \def\itemzzz #1{\begingroup %
3514 \advance\hsize by -\rightskip
3515 \advance\hsize by -\tableindent
3516 \setbox0=\hbox{\itemindicate{#1}}%
3517 \itemindex{#1}%
3518 \nobreak % This prevents a break before @itemx.
3519 %
3520 % If the item text does not fit in the space we have, put it on a line
3521 % by itself, and do not allow a page break either before or after that
3522 % line. We do not start a paragraph here because then if the next
3523 % command is, e.g., @kindex, the whatsit would get put into the
3524 % horizontal list on a line by itself, resulting in extra blank space.
3525 \ifdim \wd0>\itemmax
3526 %
3527 % Make this a paragraph so we get the \parskip glue and wrapping,
3528 % but leave it ragged-right.
3529 \begingroup
3530 \advance\leftskip by-\tableindent
3531 \advance\hsize by\tableindent
3532 \advance\rightskip by0pt plus1fil\relax
3533 \leavevmode\unhbox0\par
3534 \endgroup
3535 %
3536 % We're going to be starting a paragraph, but we don't want the
3537 % \parskip glue -- logically it's part of the @item we just started.
3538 \nobreak \vskip-\parskip
3539 %
3540 % Stop a page break at the \parskip glue coming up. However, if
3541 % what follows is an environment such as @example, there will be no
3542 % \parskip glue; then the negative vskip we just inserted would
3543 % cause the example and the item to crash together. So we use this
3544 % bizarre value of 10001 as a signal to \aboveenvbreak to insert
3545 % \parskip glue after all. Section titles are handled this way also.
3546 %
3547 \penalty 10001
3548 \endgroup
3549 \itemxneedsnegativevskipfalse
3550 \else
3551 % The item text fits into the space. Start a paragraph, so that the
3552 % following text (if any) will end up on the same line.
3553 \noindent
3554 % Do this with kerns and \unhbox so that if there is a footnote in
3555 % the item text, it can migrate to the main vertical list and
3556 % eventually be printed.
3557 \nobreak\kern-\tableindent
3558 \dimen0 = \itemmax \advance\dimen0 by \itemmargin \advance\dimen0 by -\wd0
3559 \unhbox0
3560 \nobreak\kern\dimen0
3561 \endgroup
3562 \itemxneedsnegativevskiptrue
3563 \fi
3564 }
3565
3566 \def\item{\errmessage{@item while not in a list environment}}
3567 \def\itemx{\errmessage{@itemx while not in a list environment}}
3568
3569 % @table, @ftable, @vtable.
3570 \envdef\table{%
3571 \let\itemindex\gobble
3572 \tablecheck{table}%
3573 }
3574 \envdef\ftable{%
3575 \def\itemindex ##1{\doind {fn}{\code{##1}}}%
3576 \tablecheck{ftable}%
3577 }
3578 \envdef\vtable{%
3579 \def\itemindex ##1{\doind {vr}{\code{##1}}}%
3580 \tablecheck{vtable}%
3581 }
3582 \def\tablecheck#1{%
3583 \ifnum \the\catcode`\^^M=\active
3584 \endgroup
3585 \errmessage{This command won't work in this context; perhaps the problem is
3586 that we are \inenvironment\thisenv}%
3587 \def\next{\doignore{#1}}%
3588 \else
3589 \let\next\tablex
3590 \fi
3591 \next
3592 }
3593 \def\tablex#1{%
3594 \def\itemindicate{#1}%
3595 \parsearg\tabley
3596 }
3597 \def\tabley#1{%
3598 {%
3599 \makevalueexpandable
3600 \edef\temp{\noexpand\tablez #1\space\space\space}%
3601 \expandafter
3602 }\temp \endtablez
3603 }
3604 \def\tablez #1 #2 #3 #4\endtablez{%
3605 \aboveenvbreak
3606 \ifnum 0#1>0 \advance \leftskip by #1\mil \fi
3607 \ifnum 0#2>0 \tableindent=#2\mil \fi
3608 \ifnum 0#3>0 \advance \rightskip by #3\mil \fi
3609 \itemmax=\tableindent
3610 \advance \itemmax by -\itemmargin
3611 \advance \leftskip by \tableindent
3612 \exdentamount=\tableindent
3613 \parindent = 0pt
3614 \parskip = \smallskipamount
3615 \ifdim \parskip=0pt \parskip=2pt \fi
3616 \let\item = \internalBitem
3617 \let\itemx = \internalBitemx
3618 }
3619 \def\Etable{\endgraf\afterenvbreak}
3620 \let\Eftable\Etable
3621 \let\Evtable\Etable
3622 \let\Eitemize\Etable
3623 \let\Eenumerate\Etable
3624
3625 % This is the counter used by @enumerate, which is really @itemize
3626
3627 \newcount \itemno
3628
3629 \envdef\itemize{\parsearg\doitemize}
3630
3631 \def\doitemize#1{%
3632 \aboveenvbreak
3633 \itemmax=\itemindent
3634 \advance\itemmax by -\itemmargin
3635 \advance\leftskip by \itemindent
3636 \exdentamount=\itemindent
3637 \parindent=0pt
3638 \parskip=\smallskipamount
3639 \ifdim\parskip=0pt \parskip=2pt \fi
3640 %
3641 % Try typesetting the item mark that if the document erroneously says
3642 % something like @itemize @samp (intending @table), there's an error
3643 % right away at the @itemize. It's not the best error message in the
3644 % world, but it's better than leaving it to the @item. This means if
3645 % the user wants an empty mark, they have to say @w{} not just @w.
3646 \def\itemcontents{#1}%
3647 \setbox0 = \hbox{\itemcontents}%
3648 %
3649 % @itemize with no arg is equivalent to @itemize @bullet.
3650 \ifx\itemcontents\empty\def\itemcontents{\bullet}\fi
3651 %
3652 \let\item=\itemizeitem
3653 }
3654
3655 % Definition of @item while inside @itemize and @enumerate.
3656 %
3657 \def\itemizeitem{%
3658 \advance\itemno by 1 % for enumerations
3659 {\let\par=\endgraf \smallbreak}% reasonable place to break
3660 {%
3661 % If the document has an @itemize directly after a section title, a
3662 % \nobreak will be last on the list, and \sectionheading will have
3663 % done a \vskip-\parskip. In that case, we don't want to zero
3664 % parskip, or the item text will crash with the heading. On the
3665 % other hand, when there is normal text preceding the item (as there
3666 % usually is), we do want to zero parskip, or there would be too much
3667 % space. In that case, we won't have a \nobreak before. At least
3668 % that's the theory.
3669 \ifnum\lastpenalty<10000 \parskip=0in \fi
3670 \noindent
3671 \hbox to 0pt{\hss \itemcontents \kern\itemmargin}%
3672 %
3673 \vadjust{\penalty 1200}}% not good to break after first line of item.
3674 \flushcr
3675 }
3676
3677 % \splitoff TOKENS\endmark defines \first to be the first token in
3678 % TOKENS, and \rest to be the remainder.
3679 %
3680 \def\splitoff#1#2\endmark{\def\first{#1}\def\rest{#2}}%
3681
3682 % Allow an optional argument of an uppercase letter, lowercase letter,
3683 % or number, to specify the first label in the enumerated list. No
3684 % argument is the same as `1'.
3685 %
3686 \envparseargdef\enumerate{\enumeratey #1 \endenumeratey}
3687 \def\enumeratey #1 #2\endenumeratey{%
3688 % If we were given no argument, pretend we were given `1'.
3689 \def\thearg{#1}%
3690 \ifx\thearg\empty \def\thearg{1}\fi
3691 %
3692 % Detect if the argument is a single token. If so, it might be a
3693 % letter. Otherwise, the only valid thing it can be is a number.
3694 % (We will always have one token, because of the test we just made.
3695 % This is a good thing, since \splitoff doesn't work given nothing at
3696 % all -- the first parameter is undelimited.)
3697 \expandafter\splitoff\thearg\endmark
3698 \ifx\rest\empty
3699 % Only one token in the argument. It could still be anything.
3700 % A ``lowercase letter'' is one whose \lccode is nonzero.
3701 % An ``uppercase letter'' is one whose \lccode is both nonzero, and
3702 % not equal to itself.
3703 % Otherwise, we assume it's a number.
3704 %
3705 % We need the \relax at the end of the \ifnum lines to stop TeX from
3706 % continuing to look for a <number>.
3707 %
3708 \ifnum\lccode\expandafter`\thearg=0\relax
3709 \numericenumerate % a number (we hope)
3710 \else
3711 % It's a letter.
3712 \ifnum\lccode\expandafter`\thearg=\expandafter`\thearg\relax
3713 \lowercaseenumerate % lowercase letter
3714 \else
3715 \uppercaseenumerate % uppercase letter
3716 \fi
3717 \fi
3718 \else
3719 % Multiple tokens in the argument. We hope it's a number.
3720 \numericenumerate
3721 \fi
3722 }
3723
3724 % An @enumerate whose labels are integers. The starting integer is
3725 % given in \thearg.
3726 %
3727 \def\numericenumerate{%
3728 \itemno = \thearg
3729 \startenumeration{\the\itemno}%
3730 }
3731
3732 % The starting (lowercase) letter is in \thearg.
3733 \def\lowercaseenumerate{%
3734 \itemno = \expandafter`\thearg
3735 \startenumeration{%
3736 % Be sure we're not beyond the end of the alphabet.
3737 \ifnum\itemno=0
3738 \errmessage{No more lowercase letters in @enumerate; get a bigger
3739 alphabet}%
3740 \fi
3741 \char\lccode\itemno
3742 }%
3743 }
3744
3745 % The starting (uppercase) letter is in \thearg.
3746 \def\uppercaseenumerate{%
3747 \itemno = \expandafter`\thearg
3748 \startenumeration{%
3749 % Be sure we're not beyond the end of the alphabet.
3750 \ifnum\itemno=0
3751 \errmessage{No more uppercase letters in @enumerate; get a bigger
3752 alphabet}
3753 \fi
3754 \char\uccode\itemno
3755 }%
3756 }
3757
3758 % Call \doitemize, adding a period to the first argument and supplying the
3759 % common last two arguments. Also subtract one from the initial value in
3760 % \itemno, since @item increments \itemno.
3761 %
3762 \def\startenumeration#1{%
3763 \advance\itemno by -1
3764 \doitemize{#1.}\flushcr
3765 }
3766
3767 % @alphaenumerate and @capsenumerate are abbreviations for giving an arg
3768 % to @enumerate.
3769 %
3770 \def\alphaenumerate{\enumerate{a}}
3771 \def\capsenumerate{\enumerate{A}}
3772 \def\Ealphaenumerate{\Eenumerate}
3773 \def\Ecapsenumerate{\Eenumerate}
3774
3775
3776 % @multitable macros
3777 % Amy Hendrickson, 8/18/94, 3/6/96
3778 %
3779 % @multitable ... @end multitable will make as many columns as desired.
3780 % Contents of each column will wrap at width given in preamble. Width
3781 % can be specified either with sample text given in a template line,
3782 % or in percent of \hsize, the current width of text on page.
3783
3784 % Table can continue over pages but will only break between lines.
3785
3786 % To make preamble:
3787 %
3788 % Either define widths of columns in terms of percent of \hsize:
3789 % @multitable @columnfractions .25 .3 .45
3790 % @item ...
3791 %
3792 % Numbers following @columnfractions are the percent of the total
3793 % current hsize to be used for each column. You may use as many
3794 % columns as desired.
3795
3796
3797 % Or use a template:
3798 % @multitable {Column 1 template} {Column 2 template} {Column 3 template}
3799 % @item ...
3800 % using the widest term desired in each column.
3801
3802 % Each new table line starts with @item, each subsequent new column
3803 % starts with @tab. Empty columns may be produced by supplying @tab's
3804 % with nothing between them for as many times as empty columns are needed,
3805 % ie, @tab@tab@tab will produce two empty columns.
3806
3807 % @item, @tab do not need to be on their own lines, but it will not hurt
3808 % if they are.
3809
3810 % Sample multitable:
3811
3812 % @multitable {Column 1 template} {Column 2 template} {Column 3 template}
3813 % @item first col stuff @tab second col stuff @tab third col
3814 % @item
3815 % first col stuff
3816 % @tab
3817 % second col stuff
3818 % @tab
3819 % third col
3820 % @item first col stuff @tab second col stuff
3821 % @tab Many paragraphs of text may be used in any column.
3822 %
3823 % They will wrap at the width determined by the template.
3824 % @item@tab@tab This will be in third column.
3825 % @end multitable
3826
3827 % Default dimensions may be reset by user.
3828 % @multitableparskip is vertical space between paragraphs in table.
3829 % @multitableparindent is paragraph indent in table.
3830 % @multitablecolmargin is horizontal space to be left between columns.
3831 % @multitablelinespace is space to leave between table items, baseline
3832 % to baseline.
3833 % 0pt means it depends on current normal line spacing.
3834 %
3835 \newskip\multitableparskip
3836 \newskip\multitableparindent
3837 \newdimen\multitablecolspace
3838 \newskip\multitablelinespace
3839 \multitableparskip=0pt
3840 \multitableparindent=6pt
3841 \multitablecolspace=12pt
3842 \multitablelinespace=0pt
3843
3844 % Macros used to set up halign preamble:
3845 %
3846 \let\endsetuptable\relax
3847 \def\xendsetuptable{\endsetuptable}
3848 \let\columnfractions\relax
3849 \def\xcolumnfractions{\columnfractions}
3850 \newif\ifsetpercent
3851
3852 % #1 is the @columnfraction, usually a decimal number like .5, but might
3853 % be just 1. We just use it, whatever it is.
3854 %
3855 \def\pickupwholefraction#1 {%
3856 \global\advance\colcount by 1
3857 \expandafter\xdef\csname col\the\colcount\endcsname{#1\hsize}%
3858 \setuptable
3859 }
3860
3861 \newcount\colcount
3862 \def\setuptable#1{%
3863 \def\firstarg{#1}%
3864 \ifx\firstarg\xendsetuptable
3865 \let\go = \relax
3866 \else
3867 \ifx\firstarg\xcolumnfractions
3868 \global\setpercenttrue
3869 \else
3870 \ifsetpercent
3871 \let\go\pickupwholefraction
3872 \else
3873 \global\advance\colcount by 1
3874 \setbox0=\hbox{#1\unskip\space}% Add a normal word space as a
3875 % separator; typically that is always in the input, anyway.
3876 \expandafter\xdef\csname col\the\colcount\endcsname{\the\wd0}%
3877 \fi
3878 \fi
3879 \ifx\go\pickupwholefraction
3880 % Put the argument back for the \pickupwholefraction call, so
3881 % we'll always have a period there to be parsed.
3882 \def\go{\pickupwholefraction#1}%
3883 \else
3884 \let\go = \setuptable
3885 \fi%
3886 \fi
3887 \go
3888 }
3889
3890 % multitable-only commands.
3891 %
3892 % @headitem starts a heading row, which we typeset in bold.
3893 % Assignments have to be global since we are inside the implicit group
3894 % of an alignment entry. \everycr resets \everytab so we don't have to
3895 % undo it ourselves.
3896 \def\headitemfont{\b}% for people to use in the template row; not changeable
3897 \def\headitem{%
3898 \checkenv\multitable
3899 \crcr
3900 \global\everytab={\bf}% can't use \headitemfont since the parsing differs
3901 \the\everytab % for the first item
3902 }%
3903 %
3904 % A \tab used to include \hskip1sp. But then the space in a template
3905 % line is not enough. That is bad. So let's go back to just `&' until
3906 % we again encounter the problem the 1sp was intended to solve.
3907 % --karl, nathan@acm.org, 20apr99.
3908 \def\tab{\checkenv\multitable &\the\everytab}%
3909
3910 % @multitable ... @end multitable definitions:
3911 %
3912 \newtoks\everytab % insert after every tab.
3913 %
3914 \envdef\multitable{%
3915 \vskip\parskip
3916 \startsavinginserts
3917 %
3918 % @item within a multitable starts a normal row.
3919 % We use \def instead of \let so that if one of the multitable entries
3920 % contains an @itemize, we don't choke on the \item (seen as \crcr aka
3921 % \endtemplate) expanding \doitemize.
3922 \def\item{\crcr}%
3923 %
3924 \tolerance=9500
3925 \hbadness=9500
3926 \setmultitablespacing
3927 \parskip=\multitableparskip
3928 \parindent=\multitableparindent
3929 \overfullrule=0pt
3930 \global\colcount=0
3931 %
3932 \everycr = {%
3933 \noalign{%
3934 \global\everytab={}%
3935 \global\colcount=0 % Reset the column counter.
3936 % Check for saved footnotes, etc.
3937 \checkinserts
3938 % Keeps underfull box messages off when table breaks over pages.
3939 %\filbreak
3940 % Maybe so, but it also creates really weird page breaks when the
3941 % table breaks over pages. Wouldn't \vfil be better? Wait until the
3942 % problem manifests itself, so it can be fixed for real --karl.
3943 }%
3944 }%
3945 %
3946 \parsearg\domultitable
3947 }
3948 \def\domultitable#1{%
3949 % To parse everything between @multitable and @item:
3950 \setuptable#1 \endsetuptable
3951 %
3952 % This preamble sets up a generic column definition, which will
3953 % be used as many times as user calls for columns.
3954 % \vtop will set a single line and will also let text wrap and
3955 % continue for many paragraphs if desired.
3956 \halign\bgroup &%
3957 \global\advance\colcount by 1
3958 \multistrut
3959 \vtop{%
3960 % Use the current \colcount to find the correct column width:
3961 \hsize=\expandafter\csname col\the\colcount\endcsname
3962 %
3963 % In order to keep entries from bumping into each other
3964 % we will add a \leftskip of \multitablecolspace to all columns after
3965 % the first one.
3966 %
3967 % If a template has been used, we will add \multitablecolspace
3968 % to the width of each template entry.
3969 %
3970 % If the user has set preamble in terms of percent of \hsize we will
3971 % use that dimension as the width of the column, and the \leftskip
3972 % will keep entries from bumping into each other. Table will start at
3973 % left margin and final column will justify at right margin.
3974 %
3975 % Make sure we don't inherit \rightskip from the outer environment.
3976 \rightskip=0pt
3977 \ifnum\colcount=1
3978 % The first column will be indented with the surrounding text.
3979 \advance\hsize by\leftskip
3980 \else
3981 \ifsetpercent \else
3982 % If user has not set preamble in terms of percent of \hsize
3983 % we will advance \hsize by \multitablecolspace.
3984 \advance\hsize by \multitablecolspace
3985 \fi
3986 % In either case we will make \leftskip=\multitablecolspace:
3987 \leftskip=\multitablecolspace
3988 \fi
3989 % Ignoring space at the beginning and end avoids an occasional spurious
3990 % blank line, when TeX decides to break the line at the space before the
3991 % box from the multistrut, so the strut ends up on a line by itself.
3992 % For example:
3993 % @multitable @columnfractions .11 .89
3994 % @item @code{#}
3995 % @tab Legal holiday which is valid in major parts of the whole country.
3996 % Is automatically provided with highlighting sequences respectively
3997 % marking characters.
3998 \noindent\ignorespaces##\unskip\multistrut
3999 }\cr
4000 }
4001 \def\Emultitable{%
4002 \crcr
4003 \egroup % end the \halign
4004 \global\setpercentfalse
4005 }
4006
4007 \def\setmultitablespacing{%
4008 \def\multistrut{\strut}% just use the standard line spacing
4009 %
4010 % Compute \multitablelinespace (if not defined by user) for use in
4011 % \multitableparskip calculation. We used define \multistrut based on
4012 % this, but (ironically) that caused the spacing to be off.
4013 % See bug-texinfo report from Werner Lemberg, 31 Oct 2004 12:52:20 +0100.
4014 \ifdim\multitablelinespace=0pt
4015 \setbox0=\vbox{X}\global\multitablelinespace=\the\baselineskip
4016 \global\advance\multitablelinespace by-\ht0
4017 \fi
4018 % Test to see if parskip is larger than space between lines of
4019 % table. If not, do nothing.
4020 % If so, set to same dimension as multitablelinespace.
4021 \ifdim\multitableparskip>\multitablelinespace
4022 \global\multitableparskip=\multitablelinespace
4023 \global\advance\multitableparskip-7pt % to keep parskip somewhat smaller
4024 % than skip between lines in the table.
4025 \fi%
4026 \ifdim\multitableparskip=0pt
4027 \global\multitableparskip=\multitablelinespace
4028 \global\advance\multitableparskip-7pt % to keep parskip somewhat smaller
4029 % than skip between lines in the table.
4030 \fi}
4031
4032
4033 \message{conditionals,}
4034
4035 % @iftex, @ifnotdocbook, @ifnothtml, @ifnotinfo, @ifnotplaintext,
4036 % @ifnotxml always succeed. They currently do nothing; we don't
4037 % attempt to check whether the conditionals are properly nested. But we
4038 % have to remember that they are conditionals, so that @end doesn't
4039 % attempt to close an environment group.
4040 %
4041 \def\makecond#1{%
4042 \expandafter\let\csname #1\endcsname = \relax
4043 \expandafter\let\csname iscond.#1\endcsname = 1
4044 }
4045 \makecond{iftex}
4046 \makecond{ifnotdocbook}
4047 \makecond{ifnothtml}
4048 \makecond{ifnotinfo}
4049 \makecond{ifnotplaintext}
4050 \makecond{ifnotxml}
4051
4052 % Ignore @ignore, @ifhtml, @ifinfo, and the like.
4053 %
4054 \def\direntry{\doignore{direntry}}
4055 \def\documentdescription{\doignore{documentdescription}}
4056 \def\docbook{\doignore{docbook}}
4057 \def\html{\doignore{html}}
4058 \def\ifdocbook{\doignore{ifdocbook}}
4059 \def\ifhtml{\doignore{ifhtml}}
4060 \def\ifinfo{\doignore{ifinfo}}
4061 \def\ifnottex{\doignore{ifnottex}}
4062 \def\ifplaintext{\doignore{ifplaintext}}
4063 \def\ifxml{\doignore{ifxml}}
4064 \def\ignore{\doignore{ignore}}
4065 \def\menu{\doignore{menu}}
4066 \def\xml{\doignore{xml}}
4067
4068 % Ignore text until a line `@end #1', keeping track of nested conditionals.
4069 %
4070 % A count to remember the depth of nesting.
4071 \newcount\doignorecount
4072
4073 \def\doignore#1{\begingroup
4074 % Scan in ``verbatim'' mode:
4075 \obeylines
4076 \catcode`\@ = \other
4077 \catcode`\{ = \other
4078 \catcode`\} = \other
4079 %
4080 % Make sure that spaces turn into tokens that match what \doignoretext wants.
4081 \spaceisspace
4082 %
4083 % Count number of #1's that we've seen.
4084 \doignorecount = 0
4085 %
4086 % Swallow text until we reach the matching `@end #1'.
4087 \dodoignore{#1}%
4088 }
4089
4090 { \catcode`_=11 % We want to use \_STOP_ which cannot appear in texinfo source.
4091 \obeylines %
4092 %
4093 \gdef\dodoignore#1{%
4094 % #1 contains the command name as a string, e.g., `ifinfo'.
4095 %
4096 % Define a command to find the next `@end #1'.
4097 \long\def\doignoretext##1^^M@end #1{%
4098 \doignoretextyyy##1^^M@#1\_STOP_}%
4099 %
4100 % And this command to find another #1 command, at the beginning of a
4101 % line. (Otherwise, we would consider a line `@c @ifset', for
4102 % example, to count as an @ifset for nesting.)
4103 \long\def\doignoretextyyy##1^^M@#1##2\_STOP_{\doignoreyyy{##2}\_STOP_}%
4104 %
4105 % And now expand that command.
4106 \doignoretext ^^M%
4107 }%
4108 }
4109
4110 \def\doignoreyyy#1{%
4111 \def\temp{#1}%
4112 \ifx\temp\empty % Nothing found.
4113 \let\next\doignoretextzzz
4114 \else % Found a nested condition, ...
4115 \advance\doignorecount by 1
4116 \let\next\doignoretextyyy % ..., look for another.
4117 % If we're here, #1 ends with ^^M\ifinfo (for example).
4118 \fi
4119 \next #1% the token \_STOP_ is present just after this macro.
4120 }
4121
4122 % We have to swallow the remaining "\_STOP_".
4123 %
4124 \def\doignoretextzzz#1{%
4125 \ifnum\doignorecount = 0 % We have just found the outermost @end.
4126 \let\next\enddoignore
4127 \else % Still inside a nested condition.
4128 \advance\doignorecount by -1
4129 \let\next\doignoretext % Look for the next @end.
4130 \fi
4131 \next
4132 }
4133
4134 % Finish off ignored text.
4135 { \obeylines%
4136 % Ignore anything after the last `@end #1'; this matters in verbatim
4137 % environments, where otherwise the newline after an ignored conditional
4138 % would result in a blank line in the output.
4139 \gdef\enddoignore#1^^M{\endgroup\ignorespaces}%
4140 }
4141
4142
4143 % @set VAR sets the variable VAR to an empty value.
4144 % @set VAR REST-OF-LINE sets VAR to the value REST-OF-LINE.
4145 %
4146 % Since we want to separate VAR from REST-OF-LINE (which might be
4147 % empty), we can't just use \parsearg; we have to insert a space of our
4148 % own to delimit the rest of the line, and then take it out again if we
4149 % didn't need it.
4150 % We rely on the fact that \parsearg sets \catcode`\ =10.
4151 %
4152 \parseargdef\set{\setyyy#1 \endsetyyy}
4153 \def\setyyy#1 #2\endsetyyy{%
4154 {%
4155 \makevalueexpandable
4156 \def\temp{#2}%
4157 \edef\next{\gdef\makecsname{SET#1}}%
4158 \ifx\temp\empty
4159 \next{}%
4160 \else
4161 \setzzz#2\endsetzzz
4162 \fi
4163 }%
4164 }
4165 % Remove the trailing space \setxxx inserted.
4166 \def\setzzz#1 \endsetzzz{\next{#1}}
4167
4168 % @clear VAR clears (i.e., unsets) the variable VAR.
4169 %
4170 \parseargdef\clear{%
4171 {%
4172 \makevalueexpandable
4173 \global\expandafter\let\csname SET#1\endcsname=\relax
4174 }%
4175 }
4176
4177 % @value{foo} gets the text saved in variable foo.
4178 \def\value{\begingroup\makevalueexpandable\valuexxx}
4179 \def\valuexxx#1{\expandablevalue{#1}\endgroup}
4180 {
4181 \catcode`\- = \active \catcode`\_ = \active
4182 %
4183 \gdef\makevalueexpandable{%
4184 \let\value = \expandablevalue
4185 % We don't want these characters active, ...
4186 \catcode`\-=\other \catcode`\_=\other
4187 % ..., but we might end up with active ones in the argument if
4188 % we're called from @code, as @code{@value{foo-bar_}}, though.
4189 % So \let them to their normal equivalents.
4190 \let-\normaldash \let_\normalunderscore
4191 }
4192 }
4193
4194 % We have this subroutine so that we can handle at least some @value's
4195 % properly in indexes (we call \makevalueexpandable in \indexdummies).
4196 % The command has to be fully expandable (if the variable is set), since
4197 % the result winds up in the index file. This means that if the
4198 % variable's value contains other Texinfo commands, it's almost certain
4199 % it will fail (although perhaps we could fix that with sufficient work
4200 % to do a one-level expansion on the result, instead of complete).
4201 %
4202 \def\expandablevalue#1{%
4203 \expandafter\ifx\csname SET#1\endcsname\relax
4204 {[No value for ``#1'']}%
4205 \message{Variable `#1', used in @value, is not set.}%
4206 \else
4207 \csname SET#1\endcsname
4208 \fi
4209 }
4210
4211 % @ifset VAR ... @end ifset reads the `...' iff VAR has been defined
4212 % with @set.
4213 %
4214 % To get special treatment of `@end ifset,' call \makeond and the redefine.
4215 %
4216 \makecond{ifset}
4217 \def\ifset{\parsearg{\doifset{\let\next=\ifsetfail}}}
4218 \def\doifset#1#2{%
4219 {%
4220 \makevalueexpandable
4221 \let\next=\empty
4222 \expandafter\ifx\csname SET#2\endcsname\relax
4223 #1% If not set, redefine \next.
4224 \fi
4225 \expandafter
4226 }\next
4227 }
4228 \def\ifsetfail{\doignore{ifset}}
4229
4230 % @ifclear VAR ... @end executes the `...' iff VAR has never been
4231 % defined with @set, or has been undefined with @clear.
4232 %
4233 % The `\else' inside the `\doifset' parameter is a trick to reuse the
4234 % above code: if the variable is not set, do nothing, if it is set,
4235 % then redefine \next to \ifclearfail.
4236 %
4237 \makecond{ifclear}
4238 \def\ifclear{\parsearg{\doifset{\else \let\next=\ifclearfail}}}
4239 \def\ifclearfail{\doignore{ifclear}}
4240
4241 % @ifcommandisdefined CMD ... @end executes the `...' if CMD (written
4242 % without the @) is in fact defined. We can only feasibly check at the
4243 % TeX level, so something like `mathcode' is going to considered
4244 % defined even though it is not a Texinfo command.
4245 %
4246 \makecond{ifcommanddefined}
4247 \def\ifcommanddefined{\parsearg{\doifcmddefined{\let\next=\ifcmddefinedfail}}}
4248 %
4249 \def\doifcmddefined#1#2{{%
4250 \makevalueexpandable
4251 \let\next=\empty
4252 \expandafter\ifx\csname #2\endcsname\relax
4253 #1% If not defined, \let\next as above.
4254 \fi
4255 \expandafter
4256 }\next
4257 }
4258 \def\ifcmddefinedfail{\doignore{ifcommanddefined}}
4259
4260 % @ifcommandnotdefined CMD ... handled similar to @ifclear above.
4261 \makecond{ifcommandnotdefined}
4262 \def\ifcommandnotdefined{%
4263 \parsearg{\doifcmddefined{\else \let\next=\ifcmdnotdefinedfail}}}
4264 \def\ifcmdnotdefinedfail{\doignore{ifcommandnotdefined}}
4265
4266 % Set the `txicommandconditionals' variable, so documents have a way to
4267 % test if the @ifcommand...defined conditionals are available.
4268 \set txicommandconditionals
4269
4270 % @dircategory CATEGORY -- specify a category of the dir file
4271 % which this file should belong to. Ignore this in TeX.
4272 \let\dircategory=\comment
4273
4274 % @defininfoenclose.
4275 \let\definfoenclose=\comment
4276
4277
4278 \message{indexing,}
4279 % Index generation facilities
4280
4281 % Define \newwrite to be identical to plain tex's \newwrite
4282 % except not \outer, so it can be used within macros and \if's.
4283 \edef\newwrite{\makecsname{ptexnewwrite}}
4284
4285 % \newindex {foo} defines an index named foo.
4286 % It automatically defines \fooindex such that
4287 % \fooindex ...rest of line... puts an entry in the index foo.
4288 % It also defines \fooindfile to be the number of the output channel for
4289 % the file that accumulates this index. The file's extension is foo.
4290 % The name of an index should be no more than 2 characters long
4291 % for the sake of vms.
4292 %
4293 \def\newindex#1{%
4294 \iflinks
4295 \expandafter\newwrite \csname#1indfile\endcsname
4296 \openout \csname#1indfile\endcsname \jobname.#1 % Open the file
4297 \fi
4298 \expandafter\xdef\csname#1index\endcsname{% % Define @#1index
4299 \noexpand\doindex{#1}}
4300 }
4301
4302 % @defindex foo == \newindex{foo}
4303 %
4304 \def\defindex{\parsearg\newindex}
4305
4306 % Define @defcodeindex, like @defindex except put all entries in @code.
4307 %
4308 \def\defcodeindex{\parsearg\newcodeindex}
4309 %
4310 \def\newcodeindex#1{%
4311 \iflinks
4312 \expandafter\newwrite \csname#1indfile\endcsname
4313 \openout \csname#1indfile\endcsname \jobname.#1
4314 \fi
4315 \expandafter\xdef\csname#1index\endcsname{%
4316 \noexpand\docodeindex{#1}}%
4317 }
4318
4319
4320 % @synindex foo bar makes index foo feed into index bar.
4321 % Do this instead of @defindex foo if you don't want it as a separate index.
4322 %
4323 % @syncodeindex foo bar similar, but put all entries made for index foo
4324 % inside @code.
4325 %
4326 \def\synindex#1 #2 {\dosynindex\doindex{#1}{#2}}
4327 \def\syncodeindex#1 #2 {\dosynindex\docodeindex{#1}{#2}}
4328
4329 % #1 is \doindex or \docodeindex, #2 the index getting redefined (foo),
4330 % #3 the target index (bar).
4331 \def\dosynindex#1#2#3{%
4332 % Only do \closeout if we haven't already done it, else we'll end up
4333 % closing the target index.
4334 \expandafter \ifx\csname donesynindex#2\endcsname \relax
4335 % The \closeout helps reduce unnecessary open files; the limit on the
4336 % Acorn RISC OS is a mere 16 files.
4337 \expandafter\closeout\csname#2indfile\endcsname
4338 \expandafter\let\csname donesynindex#2\endcsname = 1
4339 \fi
4340 % redefine \fooindfile:
4341 \expandafter\let\expandafter\temp\expandafter=\csname#3indfile\endcsname
4342 \expandafter\let\csname#2indfile\endcsname=\temp
4343 % redefine \fooindex:
4344 \expandafter\xdef\csname#2index\endcsname{\noexpand#1{#3}}%
4345 }
4346
4347 % Define \doindex, the driver for all \fooindex macros.
4348 % Argument #1 is generated by the calling \fooindex macro,
4349 % and it is "foo", the name of the index.
4350
4351 % \doindex just uses \parsearg; it calls \doind for the actual work.
4352 % This is because \doind is more useful to call from other macros.
4353
4354 % There is also \dosubind {index}{topic}{subtopic}
4355 % which makes an entry in a two-level index such as the operation index.
4356
4357 \def\doindex#1{\edef\indexname{#1}\parsearg\singleindexer}
4358 \def\singleindexer #1{\doind{\indexname}{#1}}
4359
4360 % like the previous two, but they put @code around the argument.
4361 \def\docodeindex#1{\edef\indexname{#1}\parsearg\singlecodeindexer}
4362 \def\singlecodeindexer #1{\doind{\indexname}{\code{#1}}}
4363
4364 % Take care of Texinfo commands that can appear in an index entry.
4365 % Since there are some commands we want to expand, and others we don't,
4366 % we have to laboriously prevent expansion for those that we don't.
4367 %
4368 \def\indexdummies{%
4369 \escapechar = `\\ % use backslash in output files.
4370 \def\@{@}% change to @@ when we switch to @ as escape char in index files.
4371 \def\ {\realbackslash\space }%
4372 %
4373 % Need these unexpandable (because we define \tt as a dummy)
4374 % definitions when @{ or @} appear in index entry text. Also, more
4375 % complicated, when \tex is in effect and \{ is a \delimiter again.
4376 % We can't use \lbracecmd and \rbracecmd because texindex assumes
4377 % braces and backslashes are used only as delimiters. Perhaps we
4378 % should define @lbrace and @rbrace commands a la @comma.
4379 \def\{{{\tt\char123}}%
4380 \def\}{{\tt\char125}}%
4381 %
4382 % I don't entirely understand this, but when an index entry is
4383 % generated from a macro call, the \endinput which \scanmacro inserts
4384 % causes processing to be prematurely terminated. This is,
4385 % apparently, because \indexsorttmp is fully expanded, and \endinput
4386 % is an expandable command. The redefinition below makes \endinput
4387 % disappear altogether for that purpose -- although logging shows that
4388 % processing continues to some further point. On the other hand, it
4389 % seems \endinput does not hurt in the printed index arg, since that
4390 % is still getting written without apparent harm.
4391 %
4392 % Sample source (mac-idx3.tex, reported by Graham Percival to
4393 % help-texinfo, 22may06):
4394 % @macro funindex {WORD}
4395 % @findex xyz
4396 % @end macro
4397 % ...
4398 % @funindex commtest
4399 %
4400 % The above is not enough to reproduce the bug, but it gives the flavor.
4401 %
4402 % Sample whatsit resulting:
4403 % .@write3{\entry{xyz}{@folio }{@code {xyz@endinput }}}
4404 %
4405 % So:
4406 \let\endinput = \empty
4407 %
4408 % Do the redefinitions.
4409 \commondummies
4410 }
4411
4412 % For the aux and toc files, @ is the escape character. So we want to
4413 % redefine everything using @ as the escape character (instead of
4414 % \realbackslash, still used for index files). When everything uses @,
4415 % this will be simpler.
4416 %
4417 \def\atdummies{%
4418 \def\@{@@}%
4419 \def\ {@ }%
4420 \let\{ = \lbraceatcmd
4421 \let\} = \rbraceatcmd
4422 %
4423 % Do the redefinitions.
4424 \commondummies
4425 \otherbackslash
4426 }
4427
4428 % Called from \indexdummies and \atdummies.
4429 %
4430 \def\commondummies{%
4431 %
4432 % \definedummyword defines \#1 as \string\#1\space, thus effectively
4433 % preventing its expansion. This is used only for control words,
4434 % not control letters, because the \space would be incorrect for
4435 % control characters, but is needed to separate the control word
4436 % from whatever follows.
4437 %
4438 % For control letters, we have \definedummyletter, which omits the
4439 % space.
4440 %
4441 % These can be used both for control words that take an argument and
4442 % those that do not. If it is followed by {arg} in the input, then
4443 % that will dutifully get written to the index (or wherever).
4444 %
4445 \def\definedummyword ##1{\def##1{\string##1\space}}%
4446 \def\definedummyletter##1{\def##1{\string##1}}%
4447 \let\definedummyaccent\definedummyletter
4448 %
4449 \commondummiesnofonts
4450 %
4451 \definedummyletter\_%
4452 \definedummyletter\-%
4453 %
4454 % Non-English letters.
4455 \definedummyword\AA
4456 \definedummyword\AE
4457 \definedummyword\DH
4458 \definedummyword\L
4459 \definedummyword\O
4460 \definedummyword\OE
4461 \definedummyword\TH
4462 \definedummyword\aa
4463 \definedummyword\ae
4464 \definedummyword\dh
4465 \definedummyword\exclamdown
4466 \definedummyword\l
4467 \definedummyword\o
4468 \definedummyword\oe
4469 \definedummyword\ordf
4470 \definedummyword\ordm
4471 \definedummyword\questiondown
4472 \definedummyword\ss
4473 \definedummyword\th
4474 %
4475 % Although these internal commands shouldn't show up, sometimes they do.
4476 \definedummyword\bf
4477 \definedummyword\gtr
4478 \definedummyword\hat
4479 \definedummyword\less
4480 \definedummyword\sf
4481 \definedummyword\sl
4482 \definedummyword\tclose
4483 \definedummyword\tt
4484 %
4485 \definedummyword\LaTeX
4486 \definedummyword\TeX
4487 %
4488 % Assorted special characters.
4489 \definedummyword\arrow
4490 \definedummyword\bullet
4491 \definedummyword\comma
4492 \definedummyword\copyright
4493 \definedummyword\registeredsymbol
4494 \definedummyword\dots
4495 \definedummyword\enddots
4496 \definedummyword\entrybreak
4497 \definedummyword\equiv
4498 \definedummyword\error
4499 \definedummyword\euro
4500 \definedummyword\expansion
4501 \definedummyword\geq
4502 \definedummyword\guillemetleft
4503 \definedummyword\guillemetright
4504 \definedummyword\guilsinglleft
4505 \definedummyword\guilsinglright
4506 \definedummyword\lbracechar
4507 \definedummyword\leq
4508 \definedummyword\minus
4509 \definedummyword\ogonek
4510 \definedummyword\pounds
4511 \definedummyword\point
4512 \definedummyword\print
4513 \definedummyword\quotedblbase
4514 \definedummyword\quotedblleft
4515 \definedummyword\quotedblright
4516 \definedummyword\quoteleft
4517 \definedummyword\quoteright
4518 \definedummyword\quotesinglbase
4519 \definedummyword\rbracechar
4520 \definedummyword\result
4521 \definedummyword\textdegree
4522 %
4523 % We want to disable all macros so that they are not expanded by \write.
4524 \macrolist
4525 %
4526 \normalturnoffactive
4527 %
4528 % Handle some cases of @value -- where it does not contain any
4529 % (non-fully-expandable) commands.
4530 \makevalueexpandable
4531 }
4532
4533 % \commondummiesnofonts: common to \commondummies and \indexnofonts.
4534 %
4535 \def\commondummiesnofonts{%
4536 % Control letters and accents.
4537 \definedummyletter\!%
4538 \definedummyaccent\"%
4539 \definedummyaccent\'%
4540 \definedummyletter\*%
4541 \definedummyaccent\,%
4542 \definedummyletter\.%
4543 \definedummyletter\/%
4544 \definedummyletter\:%
4545 \definedummyaccent\=%
4546 \definedummyletter\?%
4547 \definedummyaccent\^%
4548 \definedummyaccent\`%
4549 \definedummyaccent\~%
4550 \definedummyword\u
4551 \definedummyword\v
4552 \definedummyword\H
4553 \definedummyword\dotaccent
4554 \definedummyword\ogonek
4555 \definedummyword\ringaccent
4556 \definedummyword\tieaccent
4557 \definedummyword\ubaraccent
4558 \definedummyword\udotaccent
4559 \definedummyword\dotless
4560 %
4561 % Texinfo font commands.
4562 \definedummyword\b
4563 \definedummyword\i
4564 \definedummyword\r
4565 \definedummyword\sansserif
4566 \definedummyword\sc
4567 \definedummyword\slanted
4568 \definedummyword\t
4569 %
4570 % Commands that take arguments.
4571 \definedummyword\abbr
4572 \definedummyword\acronym
4573 \definedummyword\anchor
4574 \definedummyword\cite
4575 \definedummyword\code
4576 \definedummyword\command
4577 \definedummyword\dfn
4578 \definedummyword\dmn
4579 \definedummyword\email
4580 \definedummyword\emph
4581 \definedummyword\env
4582 \definedummyword\file
4583 \definedummyword\image
4584 \definedummyword\indicateurl
4585 \definedummyword\inforef
4586 \definedummyword\kbd
4587 \definedummyword\key
4588 \definedummyword\math
4589 \definedummyword\option
4590 \definedummyword\pxref
4591 \definedummyword\ref
4592 \definedummyword\samp
4593 \definedummyword\strong
4594 \definedummyword\tie
4595 \definedummyword\uref
4596 \definedummyword\url
4597 \definedummyword\var
4598 \definedummyword\verb
4599 \definedummyword\w
4600 \definedummyword\xref
4601 }
4602
4603 % \indexnofonts is used when outputting the strings to sort the index
4604 % by, and when constructing control sequence names. It eliminates all
4605 % control sequences and just writes whatever the best ASCII sort string
4606 % would be for a given command (usually its argument).
4607 %
4608 \def\indexnofonts{%
4609 % Accent commands should become @asis.
4610 \def\definedummyaccent##1{\let##1\asis}%
4611 % We can just ignore other control letters.
4612 \def\definedummyletter##1{\let##1\empty}%
4613 % All control words become @asis by default; overrides below.
4614 \let\definedummyword\definedummyaccent
4615 %
4616 \commondummiesnofonts
4617 %
4618 % Don't no-op \tt, since it isn't a user-level command
4619 % and is used in the definitions of the active chars like <, >, |, etc.
4620 % Likewise with the other plain tex font commands.
4621 %\let\tt=\asis
4622 %
4623 \def\ { }%
4624 \def\@{@}%
4625 \def\_{\normalunderscore}%
4626 \def\-{}% @- shouldn't affect sorting
4627 %
4628 % Unfortunately, texindex is not prepared to handle braces in the
4629 % content at all. So for index sorting, we map @{ and @} to strings
4630 % starting with |, since that ASCII character is between ASCII { and }.
4631 \def\{{|a}%
4632 \def\lbracechar{|a}%
4633 %
4634 \def\}{|b}%
4635 \def\rbracechar{|b}%
4636 %
4637 % Non-English letters.
4638 \def\AA{AA}%
4639 \def\AE{AE}%
4640 \def\DH{DZZ}%
4641 \def\L{L}%
4642 \def\OE{OE}%
4643 \def\O{O}%
4644 \def\TH{ZZZ}%
4645 \def\aa{aa}%
4646 \def\ae{ae}%
4647 \def\dh{dzz}%
4648 \def\exclamdown{!}%
4649 \def\l{l}%
4650 \def\oe{oe}%
4651 \def\ordf{a}%
4652 \def\ordm{o}%
4653 \def\o{o}%
4654 \def\questiondown{?}%
4655 \def\ss{ss}%
4656 \def\th{zzz}%
4657 %
4658 \def\LaTeX{LaTeX}%
4659 \def\TeX{TeX}%
4660 %
4661 % Assorted special characters.
4662 % (The following {} will end up in the sort string, but that's ok.)
4663 \def\arrow{->}%
4664 \def\bullet{bullet}%
4665 \def\comma{,}%
4666 \def\copyright{copyright}%
4667 \def\dots{...}%
4668 \def\enddots{...}%
4669 \def\equiv{==}%
4670 \def\error{error}%
4671 \def\euro{euro}%
4672 \def\expansion{==>}%
4673 \def\geq{>=}%
4674 \def\guillemetleft{<<}%
4675 \def\guillemetright{>>}%
4676 \def\guilsinglleft{<}%
4677 \def\guilsinglright{>}%
4678 \def\leq{<=}%
4679 \def\minus{-}%
4680 \def\point{.}%
4681 \def\pounds{pounds}%
4682 \def\print{-|}%
4683 \def\quotedblbase{"}%
4684 \def\quotedblleft{"}%
4685 \def\quotedblright{"}%
4686 \def\quoteleft{`}%
4687 \def\quoteright{'}%
4688 \def\quotesinglbase{,}%
4689 \def\registeredsymbol{R}%
4690 \def\result{=>}%
4691 \def\textdegree{o}%
4692 %
4693 \expandafter\ifx\csname SETtxiindexlquoteignore\endcsname\relax
4694 \else \indexlquoteignore \fi
4695 %
4696 % We need to get rid of all macros, leaving only the arguments (if present).
4697 % Of course this is not nearly correct, but it is the best we can do for now.
4698 % makeinfo does not expand macros in the argument to @deffn, which ends up
4699 % writing an index entry, and texindex isn't prepared for an index sort entry
4700 % that starts with \.
4701 %
4702 % Since macro invocations are followed by braces, we can just redefine them
4703 % to take a single TeX argument. The case of a macro invocation that
4704 % goes to end-of-line is not handled.
4705 %
4706 \macrolist
4707 }
4708
4709 % Undocumented (for FSFS 2nd ed.): @set txiindexlquoteignore makes us
4710 % ignore left quotes in the sort term.
4711 {\catcode`\`=\active
4712 \gdef\indexlquoteignore{\let`=\empty}}
4713
4714 \let\indexbackslash=0 %overridden during \printindex.
4715 \let\SETmarginindex=\relax % put index entries in margin (undocumented)?
4716
4717 % Most index entries go through here, but \dosubind is the general case.
4718 % #1 is the index name, #2 is the entry text.
4719 \def\doind#1#2{\dosubind{#1}{#2}{}}
4720
4721 % Workhorse for all \fooindexes.
4722 % #1 is name of index, #2 is stuff to put there, #3 is subentry --
4723 % empty if called from \doind, as we usually are (the main exception
4724 % is with most defuns, which call us directly).
4725 %
4726 \def\dosubind#1#2#3{%
4727 \iflinks
4728 {%
4729 % Store the main index entry text (including the third arg).
4730 \toks0 = {#2}%
4731 % If third arg is present, precede it with a space.
4732 \def\thirdarg{#3}%
4733 \ifx\thirdarg\empty \else
4734 \toks0 = \expandafter{\the\toks0 \space #3}%
4735 \fi
4736 %
4737 \edef\writeto{\csname#1indfile\endcsname}%
4738 %
4739 \safewhatsit\dosubindwrite
4740 }%
4741 \fi
4742 }
4743
4744 % Write the entry in \toks0 to the index file:
4745 %
4746 \def\dosubindwrite{%
4747 % Put the index entry in the margin if desired.
4748 \ifx\SETmarginindex\relax\else
4749 \insert\margin{\hbox{\vrule height8pt depth3pt width0pt \the\toks0}}%
4750 \fi
4751 %
4752 % Remember, we are within a group.
4753 \indexdummies % Must do this here, since \bf, etc expand at this stage
4754 \def\backslashcurfont{\indexbackslash}% \indexbackslash isn't defined now
4755 % so it will be output as is; and it will print as backslash.
4756 %
4757 % Process the index entry with all font commands turned off, to
4758 % get the string to sort by.
4759 {\indexnofonts
4760 \edef\temp{\the\toks0}% need full expansion
4761 \xdef\indexsorttmp{\temp}%
4762 }%
4763 %
4764 % Set up the complete index entry, with both the sort key and
4765 % the original text, including any font commands. We write
4766 % three arguments to \entry to the .?? file (four in the
4767 % subentry case), texindex reduces to two when writing the .??s
4768 % sorted result.
4769 \edef\temp{%
4770 \write\writeto{%
4771 \string\entry{\indexsorttmp}{\noexpand\folio}{\the\toks0}}%
4772 }%
4773 \temp
4774 }
4775
4776 % Take care of unwanted page breaks/skips around a whatsit:
4777 %
4778 % If a skip is the last thing on the list now, preserve it
4779 % by backing up by \lastskip, doing the \write, then inserting
4780 % the skip again. Otherwise, the whatsit generated by the
4781 % \write or \pdfdest will make \lastskip zero. The result is that
4782 % sequences like this:
4783 % @end defun
4784 % @tindex whatever
4785 % @defun ...
4786 % will have extra space inserted, because the \medbreak in the
4787 % start of the @defun won't see the skip inserted by the @end of
4788 % the previous defun.
4789 %
4790 % But don't do any of this if we're not in vertical mode. We
4791 % don't want to do a \vskip and prematurely end a paragraph.
4792 %
4793 % Avoid page breaks due to these extra skips, too.
4794 %
4795 % But wait, there is a catch there:
4796 % We'll have to check whether \lastskip is zero skip. \ifdim is not
4797 % sufficient for this purpose, as it ignores stretch and shrink parts
4798 % of the skip. The only way seems to be to check the textual
4799 % representation of the skip.
4800 %
4801 % The following is almost like \def\zeroskipmacro{0.0pt} except that
4802 % the ``p'' and ``t'' characters have catcode \other, not 11 (letter).
4803 %
4804 \edef\zeroskipmacro{\expandafter\the\csname z@skip\endcsname}
4805 %
4806 \newskip\whatsitskip
4807 \newcount\whatsitpenalty
4808 %
4809 % ..., ready, GO:
4810 %
4811 \def\safewhatsit#1{\ifhmode
4812 #1%
4813 \else
4814 % \lastskip and \lastpenalty cannot both be nonzero simultaneously.
4815 \whatsitskip = \lastskip
4816 \edef\lastskipmacro{\the\lastskip}%
4817 \whatsitpenalty = \lastpenalty
4818 %
4819 % If \lastskip is nonzero, that means the last item was a
4820 % skip. And since a skip is discardable, that means this
4821 % -\whatsitskip glue we're inserting is preceded by a
4822 % non-discardable item, therefore it is not a potential
4823 % breakpoint, therefore no \nobreak needed.
4824 \ifx\lastskipmacro\zeroskipmacro
4825 \else
4826 \vskip-\whatsitskip
4827 \fi
4828 %
4829 #1%
4830 %
4831 \ifx\lastskipmacro\zeroskipmacro
4832 % If \lastskip was zero, perhaps the last item was a penalty, and
4833 % perhaps it was >=10000, e.g., a \nobreak. In that case, we want
4834 % to re-insert the same penalty (values >10000 are used for various
4835 % signals); since we just inserted a non-discardable item, any
4836 % following glue (such as a \parskip) would be a breakpoint. For example:
4837 % @deffn deffn-whatever
4838 % @vindex index-whatever
4839 % Description.
4840 % would allow a break between the index-whatever whatsit
4841 % and the "Description." paragraph.
4842 \ifnum\whatsitpenalty>9999 \penalty\whatsitpenalty \fi
4843 \else
4844 % On the other hand, if we had a nonzero \lastskip,
4845 % this make-up glue would be preceded by a non-discardable item
4846 % (the whatsit from the \write), so we must insert a \nobreak.
4847 \nobreak\vskip\whatsitskip
4848 \fi
4849 \fi}
4850
4851 % The index entry written in the file actually looks like
4852 % \entry {sortstring}{page}{topic}
4853 % or
4854 % \entry {sortstring}{page}{topic}{subtopic}
4855 % The texindex program reads in these files and writes files
4856 % containing these kinds of lines:
4857 % \initial {c}
4858 % before the first topic whose initial is c
4859 % \entry {topic}{pagelist}
4860 % for a topic that is used without subtopics
4861 % \primary {topic}
4862 % for the beginning of a topic that is used with subtopics
4863 % \secondary {subtopic}{pagelist}
4864 % for each subtopic.
4865
4866 % Define the user-accessible indexing commands
4867 % @findex, @vindex, @kindex, @cindex.
4868
4869 \def\findex {\fnindex}
4870 \def\kindex {\kyindex}
4871 \def\cindex {\cpindex}
4872 \def\vindex {\vrindex}
4873 \def\tindex {\tpindex}
4874 \def\pindex {\pgindex}
4875
4876 \def\cindexsub {\begingroup\obeylines\cindexsub}
4877 {\obeylines %
4878 \gdef\cindexsub "#1" #2^^M{\endgroup %
4879 \dosubind{cp}{#2}{#1}}}
4880
4881 % Define the macros used in formatting output of the sorted index material.
4882
4883 % @printindex causes a particular index (the ??s file) to get printed.
4884 % It does not print any chapter heading (usually an @unnumbered).
4885 %
4886 \parseargdef\printindex{\begingroup
4887 \dobreak \chapheadingskip{10000}%
4888 %
4889 \smallfonts \rm
4890 \tolerance = 9500
4891 \plainfrenchspacing
4892 \everypar = {}% don't want the \kern\-parindent from indentation suppression.
4893 %
4894 % See if the index file exists and is nonempty.
4895 % Change catcode of @ here so that if the index file contains
4896 % \initial {@}
4897 % as its first line, TeX doesn't complain about mismatched braces
4898 % (because it thinks @} is a control sequence).
4899 \catcode`\@ = 11
4900 \openin 1 \jobname.#1s
4901 \ifeof 1
4902 % \enddoublecolumns gets confused if there is no text in the index,
4903 % and it loses the chapter title and the aux file entries for the
4904 % index. The easiest way to prevent this problem is to make sure
4905 % there is some text.
4906 \putwordIndexNonexistent
4907 \else
4908 %
4909 % If the index file exists but is empty, then \openin leaves \ifeof
4910 % false. We have to make TeX try to read something from the file, so
4911 % it can discover if there is anything in it.
4912 \read 1 to \temp
4913 \ifeof 1
4914 \putwordIndexIsEmpty
4915 \else
4916 % Index files are almost Texinfo source, but we use \ as the escape
4917 % character. It would be better to use @, but that's too big a change
4918 % to make right now.
4919 \def\indexbackslash{\backslashcurfont}%
4920 \catcode`\\ = 0
4921 \escapechar = `\\
4922 \begindoublecolumns
4923 \input \jobname.#1s
4924 \enddoublecolumns
4925 \fi
4926 \fi
4927 \closein 1
4928 \endgroup}
4929
4930 % These macros are used by the sorted index file itself.
4931 % Change them to control the appearance of the index.
4932
4933 \def\initial#1{{%
4934 % Some minor font changes for the special characters.
4935 \let\tentt=\sectt \let\tt=\sectt \let\sf=\sectt
4936 %
4937 % Remove any glue we may have, we'll be inserting our own.
4938 \removelastskip
4939 %
4940 % We like breaks before the index initials, so insert a bonus.
4941 \nobreak
4942 \vskip 0pt plus 3\baselineskip
4943 \penalty 0
4944 \vskip 0pt plus -3\baselineskip
4945 %
4946 % Typeset the initial. Making this add up to a whole number of
4947 % baselineskips increases the chance of the dots lining up from column
4948 % to column. It still won't often be perfect, because of the stretch
4949 % we need before each entry, but it's better.
4950 %
4951 % No shrink because it confuses \balancecolumns.
4952 \vskip 1.67\baselineskip plus .5\baselineskip
4953 \leftline{\secbf #1}%
4954 % Do our best not to break after the initial.
4955 \nobreak
4956 \vskip .33\baselineskip plus .1\baselineskip
4957 }}
4958
4959 % \entry typesets a paragraph consisting of the text (#1), dot leaders, and
4960 % then page number (#2) flushed to the right margin. It is used for index
4961 % and table of contents entries. The paragraph is indented by \leftskip.
4962 %
4963 % A straightforward implementation would start like this:
4964 % \def\entry#1#2{...
4965 % But this freezes the catcodes in the argument, and can cause problems to
4966 % @code, which sets - active. This problem was fixed by a kludge---
4967 % ``-'' was active throughout whole index, but this isn't really right.
4968 % The right solution is to prevent \entry from swallowing the whole text.
4969 % --kasal, 21nov03
4970 \def\entry{%
4971 \begingroup
4972 %
4973 % Start a new paragraph if necessary, so our assignments below can't
4974 % affect previous text.
4975 \par
4976 %
4977 % Do not fill out the last line with white space.
4978 \parfillskip = 0in
4979 %
4980 % No extra space above this paragraph.
4981 \parskip = 0in
4982 %
4983 % Do not prefer a separate line ending with a hyphen to fewer lines.
4984 \finalhyphendemerits = 0
4985 %
4986 % \hangindent is only relevant when the entry text and page number
4987 % don't both fit on one line. In that case, bob suggests starting the
4988 % dots pretty far over on the line. Unfortunately, a large
4989 % indentation looks wrong when the entry text itself is broken across
4990 % lines. So we use a small indentation and put up with long leaders.
4991 %
4992 % \hangafter is reset to 1 (which is the value we want) at the start
4993 % of each paragraph, so we need not do anything with that.
4994 \hangindent = 2em
4995 %
4996 % When the entry text needs to be broken, just fill out the first line
4997 % with blank space.
4998 \rightskip = 0pt plus1fil
4999 %
5000 % A bit of stretch before each entry for the benefit of balancing
5001 % columns.
5002 \vskip 0pt plus1pt
5003 %
5004 % When reading the text of entry, convert explicit line breaks
5005 % from @* into spaces. The user might give these in long section
5006 % titles, for instance.
5007 \def\*{\unskip\space\ignorespaces}%
5008 \def\entrybreak{\hfil\break}%
5009 %
5010 % Swallow the left brace of the text (first parameter):
5011 \afterassignment\doentry
5012 \let\temp =
5013 }
5014 \def\entrybreak{\unskip\space\ignorespaces}%
5015 \def\doentry{%
5016 \bgroup % Instead of the swallowed brace.
5017 \noindent
5018 \aftergroup\finishentry
5019 % And now comes the text of the entry.
5020 }
5021 \def\finishentry#1{%
5022 % #1 is the page number.
5023 %
5024 % The following is kludged to not output a line of dots in the index if
5025 % there are no page numbers. The next person who breaks this will be
5026 % cursed by a Unix daemon.
5027 \setbox\boxA = \hbox{#1}%
5028 \ifdim\wd\boxA = 0pt
5029 \ %
5030 \else
5031 %
5032 % If we must, put the page number on a line of its own, and fill out
5033 % this line with blank space. (The \hfil is overwhelmed with the
5034 % fill leaders glue in \indexdotfill if the page number does fit.)
5035 \hfil\penalty50
5036 \null\nobreak\indexdotfill % Have leaders before the page number.
5037 %
5038 % The `\ ' here is removed by the implicit \unskip that TeX does as
5039 % part of (the primitive) \par. Without it, a spurious underfull
5040 % \hbox ensues.
5041 \ifpdf
5042 \pdfgettoks#1.%
5043 \ \the\toksA
5044 \else
5045 \ #1%
5046 \fi
5047 \fi
5048 \par
5049 \endgroup
5050 }
5051
5052 % Like plain.tex's \dotfill, except uses up at least 1 em.
5053 \def\indexdotfill{\cleaders
5054 \hbox{$\mathsurround=0pt \mkern1.5mu.\mkern1.5mu$}\hskip 1em plus 1fill}
5055
5056 \def\primary #1{\line{#1\hfil}}
5057
5058 \newskip\secondaryindent \secondaryindent=0.5cm
5059 \def\secondary#1#2{{%
5060 \parfillskip=0in
5061 \parskip=0in
5062 \hangindent=1in
5063 \hangafter=1
5064 \noindent\hskip\secondaryindent\hbox{#1}\indexdotfill
5065 \ifpdf
5066 \pdfgettoks#2.\ \the\toksA % The page number ends the paragraph.
5067 \else
5068 #2
5069 \fi
5070 \par
5071 }}
5072
5073 % Define two-column mode, which we use to typeset indexes.
5074 % Adapted from the TeXbook, page 416, which is to say,
5075 % the manmac.tex format used to print the TeXbook itself.
5076 \catcode`\@=11
5077
5078 \newbox\partialpage
5079 \newdimen\doublecolumnhsize
5080
5081 \def\begindoublecolumns{\begingroup % ended by \enddoublecolumns
5082 % Grab any single-column material above us.
5083 \output = {%
5084 %
5085 % Here is a possibility not foreseen in manmac: if we accumulate a
5086 % whole lot of material, we might end up calling this \output
5087 % routine twice in a row (see the doublecol-lose test, which is
5088 % essentially a couple of indexes with @setchapternewpage off). In
5089 % that case we just ship out what is in \partialpage with the normal
5090 % output routine. Generally, \partialpage will be empty when this
5091 % runs and this will be a no-op. See the indexspread.tex test case.
5092 \ifvoid\partialpage \else
5093 \onepageout{\pagecontents\partialpage}%
5094 \fi
5095 %
5096 \global\setbox\partialpage = \vbox{%
5097 % Unvbox the main output page.
5098 \unvbox\PAGE
5099 \kern-\topskip \kern\baselineskip
5100 }%
5101 }%
5102 \eject % run that output routine to set \partialpage
5103 %
5104 % Use the double-column output routine for subsequent pages.
5105 \output = {\doublecolumnout}%
5106 %
5107 % Change the page size parameters. We could do this once outside this
5108 % routine, in each of @smallbook, @afourpaper, and the default 8.5x11
5109 % format, but then we repeat the same computation. Repeating a couple
5110 % of assignments once per index is clearly meaningless for the
5111 % execution time, so we may as well do it in one place.
5112 %
5113 % First we halve the line length, less a little for the gutter between
5114 % the columns. We compute the gutter based on the line length, so it
5115 % changes automatically with the paper format. The magic constant
5116 % below is chosen so that the gutter has the same value (well, +-<1pt)
5117 % as it did when we hard-coded it.
5118 %
5119 % We put the result in a separate register, \doublecolumhsize, so we
5120 % can restore it in \pagesofar, after \hsize itself has (potentially)
5121 % been clobbered.
5122 %
5123 \doublecolumnhsize = \hsize
5124 \advance\doublecolumnhsize by -.04154\hsize
5125 \divide\doublecolumnhsize by 2
5126 \hsize = \doublecolumnhsize
5127 %
5128 % Double the \vsize as well. (We don't need a separate register here,
5129 % since nobody clobbers \vsize.)
5130 \vsize = 2\vsize
5131 }
5132
5133 % The double-column output routine for all double-column pages except
5134 % the last.
5135 %
5136 \def\doublecolumnout{%
5137 \splittopskip=\topskip \splitmaxdepth=\maxdepth
5138 % Get the available space for the double columns -- the normal
5139 % (undoubled) page height minus any material left over from the
5140 % previous page.
5141 \dimen@ = \vsize
5142 \divide\dimen@ by 2
5143 \advance\dimen@ by -\ht\partialpage
5144 %
5145 % box0 will be the left-hand column, box2 the right.
5146 \setbox0=\vsplit255 to\dimen@ \setbox2=\vsplit255 to\dimen@
5147 \onepageout\pagesofar
5148 \unvbox255
5149 \penalty\outputpenalty
5150 }
5151 %
5152 % Re-output the contents of the output page -- any previous material,
5153 % followed by the two boxes we just split, in box0 and box2.
5154 \def\pagesofar{%
5155 \unvbox\partialpage
5156 %
5157 \hsize = \doublecolumnhsize
5158 \wd0=\hsize \wd2=\hsize
5159 \hbox to\pagewidth{\box0\hfil\box2}%
5160 }
5161 %
5162 % All done with double columns.
5163 \def\enddoublecolumns{%
5164 % The following penalty ensures that the page builder is exercised
5165 % _before_ we change the output routine. This is necessary in the
5166 % following situation:
5167 %
5168 % The last section of the index consists only of a single entry.
5169 % Before this section, \pagetotal is less than \pagegoal, so no
5170 % break occurs before the last section starts. However, the last
5171 % section, consisting of \initial and the single \entry, does not
5172 % fit on the page and has to be broken off. Without the following
5173 % penalty the page builder will not be exercised until \eject
5174 % below, and by that time we'll already have changed the output
5175 % routine to the \balancecolumns version, so the next-to-last
5176 % double-column page will be processed with \balancecolumns, which
5177 % is wrong: The two columns will go to the main vertical list, with
5178 % the broken-off section in the recent contributions. As soon as
5179 % the output routine finishes, TeX starts reconsidering the page
5180 % break. The two columns and the broken-off section both fit on the
5181 % page, because the two columns now take up only half of the page
5182 % goal. When TeX sees \eject from below which follows the final
5183 % section, it invokes the new output routine that we've set after
5184 % \balancecolumns below; \onepageout will try to fit the two columns
5185 % and the final section into the vbox of \pageheight (see
5186 % \pagebody), causing an overfull box.
5187 %
5188 % Note that glue won't work here, because glue does not exercise the
5189 % page builder, unlike penalties (see The TeXbook, pp. 280-281).
5190 \penalty0
5191 %
5192 \output = {%
5193 % Split the last of the double-column material. Leave it on the
5194 % current page, no automatic page break.
5195 \balancecolumns
5196 %
5197 % If we end up splitting too much material for the current page,
5198 % though, there will be another page break right after this \output
5199 % invocation ends. Having called \balancecolumns once, we do not
5200 % want to call it again. Therefore, reset \output to its normal
5201 % definition right away. (We hope \balancecolumns will never be
5202 % called on to balance too much material, but if it is, this makes
5203 % the output somewhat more palatable.)
5204 \global\output = {\onepageout{\pagecontents\PAGE}}%
5205 }%
5206 \eject
5207 \endgroup % started in \begindoublecolumns
5208 %
5209 % \pagegoal was set to the doubled \vsize above, since we restarted
5210 % the current page. We're now back to normal single-column
5211 % typesetting, so reset \pagegoal to the normal \vsize (after the
5212 % \endgroup where \vsize got restored).
5213 \pagegoal = \vsize
5214 }
5215 %
5216 % Called at the end of the double column material.
5217 \def\balancecolumns{%
5218 \setbox0 = \vbox{\unvbox255}% like \box255 but more efficient, see p.120.
5219 \dimen@ = \ht0
5220 \advance\dimen@ by \topskip
5221 \advance\dimen@ by-\baselineskip
5222 \divide\dimen@ by 2 % target to split to
5223 %debug\message{final 2-column material height=\the\ht0, target=\the\dimen@.}%
5224 \splittopskip = \topskip
5225 % Loop until we get a decent breakpoint.
5226 {%
5227 \vbadness = 10000
5228 \loop
5229 \global\setbox3 = \copy0
5230 \global\setbox1 = \vsplit3 to \dimen@
5231 \ifdim\ht3>\dimen@
5232 \global\advance\dimen@ by 1pt
5233 \repeat
5234 }%
5235 %debug\message{split to \the\dimen@, column heights: \the\ht1, \the\ht3.}%
5236 \setbox0=\vbox to\dimen@{\unvbox1}%
5237 \setbox2=\vbox to\dimen@{\unvbox3}%
5238 %
5239 \pagesofar
5240 }
5241 \catcode`\@ = \other
5242
5243
5244 \message{sectioning,}
5245 % Chapters, sections, etc.
5246
5247 % Let's start with @part.
5248 \outer\parseargdef\part{\partzzz{#1}}
5249 \def\partzzz#1{%
5250 \chapoddpage
5251 \null
5252 \vskip.3\vsize % move it down on the page a bit
5253 \begingroup
5254 \noindent \titlefonts\rmisbold #1\par % the text
5255 \let\lastnode=\empty % no node to associate with
5256 \writetocentry{part}{#1}{}% but put it in the toc
5257 \headingsoff % no headline or footline on the part page
5258 \chapoddpage
5259 \endgroup
5260 }
5261
5262 % \unnumberedno is an oxymoron. But we count the unnumbered
5263 % sections so that we can refer to them unambiguously in the pdf
5264 % outlines by their "section number". We avoid collisions with chapter
5265 % numbers by starting them at 10000. (If a document ever has 10000
5266 % chapters, we're in trouble anyway, I'm sure.)
5267 \newcount\unnumberedno \unnumberedno = 10000
5268 \newcount\chapno
5269 \newcount\secno \secno=0
5270 \newcount\subsecno \subsecno=0
5271 \newcount\subsubsecno \subsubsecno=0
5272
5273 % This counter is funny since it counts through charcodes of letters A, B, ...
5274 \newcount\appendixno \appendixno = `\@
5275 %
5276 % \def\appendixletter{\char\the\appendixno}
5277 % We do the following ugly conditional instead of the above simple
5278 % construct for the sake of pdftex, which needs the actual
5279 % letter in the expansion, not just typeset.
5280 %
5281 \def\appendixletter{%
5282 \ifnum\appendixno=`A A%
5283 \else\ifnum\appendixno=`B B%
5284 \else\ifnum\appendixno=`C C%
5285 \else\ifnum\appendixno=`D D%
5286 \else\ifnum\appendixno=`E E%
5287 \else\ifnum\appendixno=`F F%
5288 \else\ifnum\appendixno=`G G%
5289 \else\ifnum\appendixno=`H H%
5290 \else\ifnum\appendixno=`I I%
5291 \else\ifnum\appendixno=`J J%
5292 \else\ifnum\appendixno=`K K%
5293 \else\ifnum\appendixno=`L L%
5294 \else\ifnum\appendixno=`M M%
5295 \else\ifnum\appendixno=`N N%
5296 \else\ifnum\appendixno=`O O%
5297 \else\ifnum\appendixno=`P P%
5298 \else\ifnum\appendixno=`Q Q%
5299 \else\ifnum\appendixno=`R R%
5300 \else\ifnum\appendixno=`S S%
5301 \else\ifnum\appendixno=`T T%
5302 \else\ifnum\appendixno=`U U%
5303 \else\ifnum\appendixno=`V V%
5304 \else\ifnum\appendixno=`W W%
5305 \else\ifnum\appendixno=`X X%
5306 \else\ifnum\appendixno=`Y Y%
5307 \else\ifnum\appendixno=`Z Z%
5308 % The \the is necessary, despite appearances, because \appendixletter is
5309 % expanded while writing the .toc file. \char\appendixno is not
5310 % expandable, thus it is written literally, thus all appendixes come out
5311 % with the same letter (or @) in the toc without it.
5312 \else\char\the\appendixno
5313 \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
5314 \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi}
5315
5316 % Each @chapter defines these (using marks) as the number+name, number
5317 % and name of the chapter. Page headings and footings can use
5318 % these. @section does likewise.
5319 \def\thischapter{}
5320 \def\thischapternum{}
5321 \def\thischaptername{}
5322 \def\thissection{}
5323 \def\thissectionnum{}
5324 \def\thissectionname{}
5325
5326 \newcount\absseclevel % used to calculate proper heading level
5327 \newcount\secbase\secbase=0 % @raisesections/@lowersections modify this count
5328
5329 % @raisesections: treat @section as chapter, @subsection as section, etc.
5330 \def\raisesections{\global\advance\secbase by -1}
5331 \let\up=\raisesections % original BFox name
5332
5333 % @lowersections: treat @chapter as section, @section as subsection, etc.
5334 \def\lowersections{\global\advance\secbase by 1}
5335 \let\down=\lowersections % original BFox name
5336
5337 % we only have subsub.
5338 \chardef\maxseclevel = 3
5339 %
5340 % A numbered section within an unnumbered changes to unnumbered too.
5341 % To achieve this, remember the "biggest" unnum. sec. we are currently in:
5342 \chardef\unnlevel = \maxseclevel
5343 %
5344 % Trace whether the current chapter is an appendix or not:
5345 % \chapheadtype is "N" or "A", unnumbered chapters are ignored.
5346 \def\chapheadtype{N}
5347
5348 % Choose a heading macro
5349 % #1 is heading type
5350 % #2 is heading level
5351 % #3 is text for heading
5352 \def\genhead#1#2#3{%
5353 % Compute the abs. sec. level:
5354 \absseclevel=#2
5355 \advance\absseclevel by \secbase
5356 % Make sure \absseclevel doesn't fall outside the range:
5357 \ifnum \absseclevel < 0
5358 \absseclevel = 0
5359 \else
5360 \ifnum \absseclevel > 3
5361 \absseclevel = 3
5362 \fi
5363 \fi
5364 % The heading type:
5365 \def\headtype{#1}%
5366 \if \headtype U%
5367 \ifnum \absseclevel < \unnlevel
5368 \chardef\unnlevel = \absseclevel
5369 \fi
5370 \else
5371 % Check for appendix sections:
5372 \ifnum \absseclevel = 0
5373 \edef\chapheadtype{\headtype}%
5374 \else
5375 \if \headtype A\if \chapheadtype N%
5376 \errmessage{@appendix... within a non-appendix chapter}%
5377 \fi\fi
5378 \fi
5379 % Check for numbered within unnumbered:
5380 \ifnum \absseclevel > \unnlevel
5381 \def\headtype{U}%
5382 \else
5383 \chardef\unnlevel = 3
5384 \fi
5385 \fi
5386 % Now print the heading:
5387 \if \headtype U%
5388 \ifcase\absseclevel
5389 \unnumberedzzz{#3}%
5390 \or \unnumberedseczzz{#3}%
5391 \or \unnumberedsubseczzz{#3}%
5392 \or \unnumberedsubsubseczzz{#3}%
5393 \fi
5394 \else
5395 \if \headtype A%
5396 \ifcase\absseclevel
5397 \appendixzzz{#3}%
5398 \or \appendixsectionzzz{#3}%
5399 \or \appendixsubseczzz{#3}%
5400 \or \appendixsubsubseczzz{#3}%
5401 \fi
5402 \else
5403 \ifcase\absseclevel
5404 \chapterzzz{#3}%
5405 \or \seczzz{#3}%
5406 \or \numberedsubseczzz{#3}%
5407 \or \numberedsubsubseczzz{#3}%
5408 \fi
5409 \fi
5410 \fi
5411 \suppressfirstparagraphindent
5412 }
5413
5414 % an interface:
5415 \def\numhead{\genhead N}
5416 \def\apphead{\genhead A}
5417 \def\unnmhead{\genhead U}
5418
5419 % @chapter, @appendix, @unnumbered. Increment top-level counter, reset
5420 % all lower-level sectioning counters to zero.
5421 %
5422 % Also set \chaplevelprefix, which we prepend to @float sequence numbers
5423 % (e.g., figures), q.v. By default (before any chapter), that is empty.
5424 \let\chaplevelprefix = \empty
5425 %
5426 \outer\parseargdef\chapter{\numhead0{#1}} % normally numhead0 calls chapterzzz
5427 \def\chapterzzz#1{%
5428 % section resetting is \global in case the chapter is in a group, such
5429 % as an @include file.
5430 \global\secno=0 \global\subsecno=0 \global\subsubsecno=0
5431 \global\advance\chapno by 1
5432 %
5433 % Used for \float.
5434 \gdef\chaplevelprefix{\the\chapno.}%
5435 \resetallfloatnos
5436 %
5437 % \putwordChapter can contain complex things in translations.
5438 \toks0=\expandafter{\putwordChapter}%
5439 \message{\the\toks0 \space \the\chapno}%
5440 %
5441 % Write the actual heading.
5442 \chapmacro{#1}{Ynumbered}{\the\chapno}%
5443 %
5444 % So @section and the like are numbered underneath this chapter.
5445 \global\let\section = \numberedsec
5446 \global\let\subsection = \numberedsubsec
5447 \global\let\subsubsection = \numberedsubsubsec
5448 }
5449
5450 \outer\parseargdef\appendix{\apphead0{#1}} % normally calls appendixzzz
5451 %
5452 \def\appendixzzz#1{%
5453 \global\secno=0 \global\subsecno=0 \global\subsubsecno=0
5454 \global\advance\appendixno by 1
5455 \gdef\chaplevelprefix{\appendixletter.}%
5456 \resetallfloatnos
5457 %
5458 % \putwordAppendix can contain complex things in translations.
5459 \toks0=\expandafter{\putwordAppendix}%
5460 \message{\the\toks0 \space \appendixletter}%
5461 %
5462 \chapmacro{#1}{Yappendix}{\appendixletter}%
5463 %
5464 \global\let\section = \appendixsec
5465 \global\let\subsection = \appendixsubsec
5466 \global\let\subsubsection = \appendixsubsubsec
5467 }
5468
5469 % normally unnmhead0 calls unnumberedzzz:
5470 \outer\parseargdef\unnumbered{\unnmhead0{#1}}
5471 \def\unnumberedzzz#1{%
5472 \global\secno=0 \global\subsecno=0 \global\subsubsecno=0
5473 \global\advance\unnumberedno by 1
5474 %
5475 % Since an unnumbered has no number, no prefix for figures.
5476 \global\let\chaplevelprefix = \empty
5477 \resetallfloatnos
5478 %
5479 % This used to be simply \message{#1}, but TeX fully expands the
5480 % argument to \message. Therefore, if #1 contained @-commands, TeX
5481 % expanded them. For example, in `@unnumbered The @cite{Book}', TeX
5482 % expanded @cite (which turns out to cause errors because \cite is meant
5483 % to be executed, not expanded).
5484 %
5485 % Anyway, we don't want the fully-expanded definition of @cite to appear
5486 % as a result of the \message, we just want `@cite' itself. We use
5487 % \the<toks register> to achieve this: TeX expands \the<toks> only once,
5488 % simply yielding the contents of <toks register>. (We also do this for
5489 % the toc entries.)
5490 \toks0 = {#1}%
5491 \message{(\the\toks0)}%
5492 %
5493 \chapmacro{#1}{Ynothing}{\the\unnumberedno}%
5494 %
5495 \global\let\section = \unnumberedsec
5496 \global\let\subsection = \unnumberedsubsec
5497 \global\let\subsubsection = \unnumberedsubsubsec
5498 }
5499
5500 % @centerchap is like @unnumbered, but the heading is centered.
5501 \outer\parseargdef\centerchap{%
5502 % Well, we could do the following in a group, but that would break
5503 % an assumption that \chapmacro is called at the outermost level.
5504 % Thus we are safer this way: --kasal, 24feb04
5505 \let\centerparametersmaybe = \centerparameters
5506 \unnmhead0{#1}%
5507 \let\centerparametersmaybe = \relax
5508 }
5509
5510 % @top is like @unnumbered.
5511 \let\top\unnumbered
5512
5513 % Sections.
5514 %
5515 \outer\parseargdef\numberedsec{\numhead1{#1}} % normally calls seczzz
5516 \def\seczzz#1{%
5517 \global\subsecno=0 \global\subsubsecno=0 \global\advance\secno by 1
5518 \sectionheading{#1}{sec}{Ynumbered}{\the\chapno.\the\secno}%
5519 }
5520
5521 % normally calls appendixsectionzzz:
5522 \outer\parseargdef\appendixsection{\apphead1{#1}}
5523 \def\appendixsectionzzz#1{%
5524 \global\subsecno=0 \global\subsubsecno=0 \global\advance\secno by 1
5525 \sectionheading{#1}{sec}{Yappendix}{\appendixletter.\the\secno}%
5526 }
5527 \let\appendixsec\appendixsection
5528
5529 % normally calls unnumberedseczzz:
5530 \outer\parseargdef\unnumberedsec{\unnmhead1{#1}}
5531 \def\unnumberedseczzz#1{%
5532 \global\subsecno=0 \global\subsubsecno=0 \global\advance\secno by 1
5533 \sectionheading{#1}{sec}{Ynothing}{\the\unnumberedno.\the\secno}%
5534 }
5535
5536 % Subsections.
5537 %
5538 % normally calls numberedsubseczzz:
5539 \outer\parseargdef\numberedsubsec{\numhead2{#1}}
5540 \def\numberedsubseczzz#1{%
5541 \global\subsubsecno=0 \global\advance\subsecno by 1
5542 \sectionheading{#1}{subsec}{Ynumbered}{\the\chapno.\the\secno.\the\subsecno}%
5543 }
5544
5545 % normally calls appendixsubseczzz:
5546 \outer\parseargdef\appendixsubsec{\apphead2{#1}}
5547 \def\appendixsubseczzz#1{%
5548 \global\subsubsecno=0 \global\advance\subsecno by 1
5549 \sectionheading{#1}{subsec}{Yappendix}%
5550 {\appendixletter.\the\secno.\the\subsecno}%
5551 }
5552
5553 % normally calls unnumberedsubseczzz:
5554 \outer\parseargdef\unnumberedsubsec{\unnmhead2{#1}}
5555 \def\unnumberedsubseczzz#1{%
5556 \global\subsubsecno=0 \global\advance\subsecno by 1
5557 \sectionheading{#1}{subsec}{Ynothing}%
5558 {\the\unnumberedno.\the\secno.\the\subsecno}%
5559 }
5560
5561 % Subsubsections.
5562 %
5563 % normally numberedsubsubseczzz:
5564 \outer\parseargdef\numberedsubsubsec{\numhead3{#1}}
5565 \def\numberedsubsubseczzz#1{%
5566 \global\advance\subsubsecno by 1
5567 \sectionheading{#1}{subsubsec}{Ynumbered}%
5568 {\the\chapno.\the\secno.\the\subsecno.\the\subsubsecno}%
5569 }
5570
5571 % normally appendixsubsubseczzz:
5572 \outer\parseargdef\appendixsubsubsec{\apphead3{#1}}
5573 \def\appendixsubsubseczzz#1{%
5574 \global\advance\subsubsecno by 1
5575 \sectionheading{#1}{subsubsec}{Yappendix}%
5576 {\appendixletter.\the\secno.\the\subsecno.\the\subsubsecno}%
5577 }
5578
5579 % normally unnumberedsubsubseczzz:
5580 \outer\parseargdef\unnumberedsubsubsec{\unnmhead3{#1}}
5581 \def\unnumberedsubsubseczzz#1{%
5582 \global\advance\subsubsecno by 1
5583 \sectionheading{#1}{subsubsec}{Ynothing}%
5584 {\the\unnumberedno.\the\secno.\the\subsecno.\the\subsubsecno}%
5585 }
5586
5587 % These macros control what the section commands do, according
5588 % to what kind of chapter we are in (ordinary, appendix, or unnumbered).
5589 % Define them by default for a numbered chapter.
5590 \let\section = \numberedsec
5591 \let\subsection = \numberedsubsec
5592 \let\subsubsection = \numberedsubsubsec
5593
5594 % Define @majorheading, @heading and @subheading
5595
5596 \def\majorheading{%
5597 {\advance\chapheadingskip by 10pt \chapbreak }%
5598 \parsearg\chapheadingzzz
5599 }
5600
5601 \def\chapheading{\chapbreak \parsearg\chapheadingzzz}
5602 \def\chapheadingzzz#1{%
5603 \vbox{\chapfonts \raggedtitlesettings #1\par}%
5604 \nobreak\bigskip \nobreak
5605 \suppressfirstparagraphindent
5606 }
5607
5608 % @heading, @subheading, @subsubheading.
5609 \parseargdef\heading{\sectionheading{#1}{sec}{Yomitfromtoc}{}
5610 \suppressfirstparagraphindent}
5611 \parseargdef\subheading{\sectionheading{#1}{subsec}{Yomitfromtoc}{}
5612 \suppressfirstparagraphindent}
5613 \parseargdef\subsubheading{\sectionheading{#1}{subsubsec}{Yomitfromtoc}{}
5614 \suppressfirstparagraphindent}
5615
5616 % These macros generate a chapter, section, etc. heading only
5617 % (including whitespace, linebreaking, etc. around it),
5618 % given all the information in convenient, parsed form.
5619
5620 % Args are the skip and penalty (usually negative)
5621 \def\dobreak#1#2{\par\ifdim\lastskip<#1\removelastskip\penalty#2\vskip#1\fi}
5622
5623 % Parameter controlling skip before chapter headings (if needed)
5624 \newskip\chapheadingskip
5625
5626 % Define plain chapter starts, and page on/off switching for it.
5627 \def\chapbreak{\dobreak \chapheadingskip {-4000}}
5628 \def\chappager{\par\vfill\supereject}
5629 % Because \domark is called before \chapoddpage, the filler page will
5630 % get the headings for the next chapter, which is wrong. But we don't
5631 % care -- we just disable all headings on the filler page.
5632 \def\chapoddpage{%
5633 \chappager
5634 \ifodd\pageno \else
5635 \begingroup
5636 \headingsoff
5637 \null
5638 \chappager
5639 \endgroup
5640 \fi
5641 }
5642
5643 \def\setchapternewpage #1 {\csname CHAPPAG#1\endcsname}
5644
5645 \def\CHAPPAGoff{%
5646 \global\let\contentsalignmacro = \chappager
5647 \global\let\pchapsepmacro=\chapbreak
5648 \global\let\pagealignmacro=\chappager}
5649
5650 \def\CHAPPAGon{%
5651 \global\let\contentsalignmacro = \chappager
5652 \global\let\pchapsepmacro=\chappager
5653 \global\let\pagealignmacro=\chappager
5654 \global\def\HEADINGSon{\HEADINGSsingle}}
5655
5656 \def\CHAPPAGodd{%
5657 \global\let\contentsalignmacro = \chapoddpage
5658 \global\let\pchapsepmacro=\chapoddpage
5659 \global\let\pagealignmacro=\chapoddpage
5660 \global\def\HEADINGSon{\HEADINGSdouble}}
5661
5662 \CHAPPAGon
5663
5664 % Chapter opening.
5665 %
5666 % #1 is the text, #2 is the section type (Ynumbered, Ynothing,
5667 % Yappendix, Yomitfromtoc), #3 the chapter number.
5668 %
5669 % To test against our argument.
5670 \def\Ynothingkeyword{Ynothing}
5671 \def\Yomitfromtockeyword{Yomitfromtoc}
5672 \def\Yappendixkeyword{Yappendix}
5673 %
5674 \def\chapmacro#1#2#3{%
5675 % Insert the first mark before the heading break (see notes for \domark).
5676 \let\prevchapterdefs=\lastchapterdefs
5677 \let\prevsectiondefs=\lastsectiondefs
5678 \gdef\lastsectiondefs{\gdef\thissectionname{}\gdef\thissectionnum{}%
5679 \gdef\thissection{}}%
5680 %
5681 \def\temptype{#2}%
5682 \ifx\temptype\Ynothingkeyword
5683 \gdef\lastchapterdefs{\gdef\thischaptername{#1}\gdef\thischapternum{}%
5684 \gdef\thischapter{\thischaptername}}%
5685 \else\ifx\temptype\Yomitfromtockeyword
5686 \gdef\lastchapterdefs{\gdef\thischaptername{#1}\gdef\thischapternum{}%
5687 \gdef\thischapter{}}%
5688 \else\ifx\temptype\Yappendixkeyword
5689 \toks0={#1}%
5690 \xdef\lastchapterdefs{%
5691 \gdef\noexpand\thischaptername{\the\toks0}%
5692 \gdef\noexpand\thischapternum{\appendixletter}%
5693 % \noexpand\putwordAppendix avoids expanding indigestible
5694 % commands in some of the translations.
5695 \gdef\noexpand\thischapter{\noexpand\putwordAppendix{}
5696 \noexpand\thischapternum:
5697 \noexpand\thischaptername}%
5698 }%
5699 \else
5700 \toks0={#1}%
5701 \xdef\lastchapterdefs{%
5702 \gdef\noexpand\thischaptername{\the\toks0}%
5703 \gdef\noexpand\thischapternum{\the\chapno}%
5704 % \noexpand\putwordChapter avoids expanding indigestible
5705 % commands in some of the translations.
5706 \gdef\noexpand\thischapter{\noexpand\putwordChapter{}
5707 \noexpand\thischapternum:
5708 \noexpand\thischaptername}%
5709 }%
5710 \fi\fi\fi
5711 %
5712 % Output the mark. Pass it through \safewhatsit, to take care of
5713 % the preceding space.
5714 \safewhatsit\domark
5715 %
5716 % Insert the chapter heading break.
5717 \pchapsepmacro
5718 %
5719 % Now the second mark, after the heading break. No break points
5720 % between here and the heading.
5721 \let\prevchapterdefs=\lastchapterdefs
5722 \let\prevsectiondefs=\lastsectiondefs
5723 \domark
5724 %
5725 {%
5726 \chapfonts \rmisbold
5727 %
5728 % Have to define \lastsection before calling \donoderef, because the
5729 % xref code eventually uses it. On the other hand, it has to be called
5730 % after \pchapsepmacro, or the headline will change too soon.
5731 \gdef\lastsection{#1}%
5732 %
5733 % Only insert the separating space if we have a chapter/appendix
5734 % number, and don't print the unnumbered ``number''.
5735 \ifx\temptype\Ynothingkeyword
5736 \setbox0 = \hbox{}%
5737 \def\toctype{unnchap}%
5738 \else\ifx\temptype\Yomitfromtockeyword
5739 \setbox0 = \hbox{}% contents like unnumbered, but no toc entry
5740 \def\toctype{omit}%
5741 \else\ifx\temptype\Yappendixkeyword
5742 \setbox0 = \hbox{\putwordAppendix{} #3\enspace}%
5743 \def\toctype{app}%
5744 \else
5745 \setbox0 = \hbox{#3\enspace}%
5746 \def\toctype{numchap}%
5747 \fi\fi\fi
5748 %
5749 % Write the toc entry for this chapter. Must come before the
5750 % \donoderef, because we include the current node name in the toc
5751 % entry, and \donoderef resets it to empty.
5752 \writetocentry{\toctype}{#1}{#3}%
5753 %
5754 % For pdftex, we have to write out the node definition (aka, make
5755 % the pdfdest) after any page break, but before the actual text has
5756 % been typeset. If the destination for the pdf outline is after the
5757 % text, then jumping from the outline may wind up with the text not
5758 % being visible, for instance under high magnification.
5759 \donoderef{#2}%
5760 %
5761 % Typeset the actual heading.
5762 \nobreak % Avoid page breaks at the interline glue.
5763 \vbox{\raggedtitlesettings \hangindent=\wd0 \centerparametersmaybe
5764 \unhbox0 #1\par}%
5765 }%
5766 \nobreak\bigskip % no page break after a chapter title
5767 \nobreak
5768 }
5769
5770 % @centerchap -- centered and unnumbered.
5771 \let\centerparametersmaybe = \relax
5772 \def\centerparameters{%
5773 \advance\rightskip by 3\rightskip
5774 \leftskip = \rightskip
5775 \parfillskip = 0pt
5776 }
5777
5778
5779 % I don't think this chapter style is supported any more, so I'm not
5780 % updating it with the new noderef stuff. We'll see. --karl, 11aug03.
5781 %
5782 \def\setchapterstyle #1 {\csname CHAPF#1\endcsname}
5783 %
5784 \def\unnchfopen #1{%
5785 \chapoddpage
5786 \vbox{\chapfonts \raggedtitlesettings #1\par}%
5787 \nobreak\bigskip\nobreak
5788 }
5789 \def\chfopen #1#2{\chapoddpage {\chapfonts
5790 \vbox to 3in{\vfil \hbox to\hsize{\hfil #2} \hbox to\hsize{\hfil #1} \vfil}}%
5791 \par\penalty 5000 %
5792 }
5793 \def\centerchfopen #1{%
5794 \chapoddpage
5795 \vbox{\chapfonts \raggedtitlesettings \hfill #1\hfill}%
5796 \nobreak\bigskip \nobreak
5797 }
5798 \def\CHAPFopen{%
5799 \global\let\chapmacro=\chfopen
5800 \global\let\centerchapmacro=\centerchfopen}
5801
5802
5803 % Section titles. These macros combine the section number parts and
5804 % call the generic \sectionheading to do the printing.
5805 %
5806 \newskip\secheadingskip
5807 \def\secheadingbreak{\dobreak \secheadingskip{-1000}}
5808
5809 % Subsection titles.
5810 \newskip\subsecheadingskip
5811 \def\subsecheadingbreak{\dobreak \subsecheadingskip{-500}}
5812
5813 % Subsubsection titles.
5814 \def\subsubsecheadingskip{\subsecheadingskip}
5815 \def\subsubsecheadingbreak{\subsecheadingbreak}
5816
5817
5818 % Print any size, any type, section title.
5819 %
5820 % #1 is the text, #2 is the section level (sec/subsec/subsubsec), #3 is
5821 % the section type for xrefs (Ynumbered, Ynothing, Yappendix), #4 is the
5822 % section number.
5823 %
5824 \def\seckeyword{sec}
5825 %
5826 \def\sectionheading#1#2#3#4{%
5827 {%
5828 \checkenv{}% should not be in an environment.
5829 %
5830 % Switch to the right set of fonts.
5831 \csname #2fonts\endcsname \rmisbold
5832 %
5833 \def\sectionlevel{#2}%
5834 \def\temptype{#3}%
5835 %
5836 % Insert first mark before the heading break (see notes for \domark).
5837 \let\prevsectiondefs=\lastsectiondefs
5838 \ifx\temptype\Ynothingkeyword
5839 \ifx\sectionlevel\seckeyword
5840 \gdef\lastsectiondefs{\gdef\thissectionname{#1}\gdef\thissectionnum{}%
5841 \gdef\thissection{\thissectionname}}%
5842 \fi
5843 \else\ifx\temptype\Yomitfromtockeyword
5844 % Don't redefine \thissection.
5845 \else\ifx\temptype\Yappendixkeyword
5846 \ifx\sectionlevel\seckeyword
5847 \toks0={#1}%
5848 \xdef\lastsectiondefs{%
5849 \gdef\noexpand\thissectionname{\the\toks0}%
5850 \gdef\noexpand\thissectionnum{#4}%
5851 % \noexpand\putwordSection avoids expanding indigestible
5852 % commands in some of the translations.
5853 \gdef\noexpand\thissection{\noexpand\putwordSection{}
5854 \noexpand\thissectionnum:
5855 \noexpand\thissectionname}%
5856 }%
5857 \fi
5858 \else
5859 \ifx\sectionlevel\seckeyword
5860 \toks0={#1}%
5861 \xdef\lastsectiondefs{%
5862 \gdef\noexpand\thissectionname{\the\toks0}%
5863 \gdef\noexpand\thissectionnum{#4}%
5864 % \noexpand\putwordSection avoids expanding indigestible
5865 % commands in some of the translations.
5866 \gdef\noexpand\thissection{\noexpand\putwordSection{}
5867 \noexpand\thissectionnum:
5868 \noexpand\thissectionname}%
5869 }%
5870 \fi
5871 \fi\fi\fi
5872 %
5873 % Go into vertical mode. Usually we'll already be there, but we
5874 % don't want the following whatsit to end up in a preceding paragraph
5875 % if the document didn't happen to have a blank line.
5876 \par
5877 %
5878 % Output the mark. Pass it through \safewhatsit, to take care of
5879 % the preceding space.
5880 \safewhatsit\domark
5881 %
5882 % Insert space above the heading.
5883 \csname #2headingbreak\endcsname
5884 %
5885 % Now the second mark, after the heading break. No break points
5886 % between here and the heading.
5887 \let\prevsectiondefs=\lastsectiondefs
5888 \domark
5889 %
5890 % Only insert the space after the number if we have a section number.
5891 \ifx\temptype\Ynothingkeyword
5892 \setbox0 = \hbox{}%
5893 \def\toctype{unn}%
5894 \gdef\lastsection{#1}%
5895 \else\ifx\temptype\Yomitfromtockeyword
5896 % for @headings -- no section number, don't include in toc,
5897 % and don't redefine \lastsection.
5898 \setbox0 = \hbox{}%
5899 \def\toctype{omit}%
5900 \let\sectionlevel=\empty
5901 \else\ifx\temptype\Yappendixkeyword
5902 \setbox0 = \hbox{#4\enspace}%
5903 \def\toctype{app}%
5904 \gdef\lastsection{#1}%
5905 \else
5906 \setbox0 = \hbox{#4\enspace}%
5907 \def\toctype{num}%
5908 \gdef\lastsection{#1}%
5909 \fi\fi\fi
5910 %
5911 % Write the toc entry (before \donoderef). See comments in \chapmacro.
5912 \writetocentry{\toctype\sectionlevel}{#1}{#4}%
5913 %
5914 % Write the node reference (= pdf destination for pdftex).
5915 % Again, see comments in \chapmacro.
5916 \donoderef{#3}%
5917 %
5918 % Interline glue will be inserted when the vbox is completed.
5919 % That glue will be a valid breakpoint for the page, since it'll be
5920 % preceded by a whatsit (usually from the \donoderef, or from the
5921 % \writetocentry if there was no node). We don't want to allow that
5922 % break, since then the whatsits could end up on page n while the
5923 % section is on page n+1, thus toc/etc. are wrong. Debian bug 276000.
5924 \nobreak
5925 %
5926 % Output the actual section heading.
5927 \vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \ptexraggedright
5928 \hangindent=\wd0 % zero if no section number
5929 \unhbox0 #1}%
5930 }%
5931 % Add extra space after the heading -- half of whatever came above it.
5932 % Don't allow stretch, though.
5933 \kern .5 \csname #2headingskip\endcsname
5934 %
5935 % Do not let the kern be a potential breakpoint, as it would be if it
5936 % was followed by glue.
5937 \nobreak
5938 %
5939 % We'll almost certainly start a paragraph next, so don't let that
5940 % glue accumulate. (Not a breakpoint because it's preceded by a
5941 % discardable item.) However, when a paragraph is not started next
5942 % (\startdefun, \cartouche, \center, etc.), this needs to be wiped out
5943 % or the negative glue will cause weirdly wrong output, typically
5944 % obscuring the section heading with something else.
5945 \vskip-\parskip
5946 %
5947 % This is so the last item on the main vertical list is a known
5948 % \penalty > 10000, so \startdefun, etc., can recognize the situation
5949 % and do the needful.
5950 \penalty 10001
5951 }
5952
5953
5954 \message{toc,}
5955 % Table of contents.
5956 \newwrite\tocfile
5957
5958 % Write an entry to the toc file, opening it if necessary.
5959 % Called from @chapter, etc.
5960 %
5961 % Example usage: \writetocentry{sec}{Section Name}{\the\chapno.\the\secno}
5962 % We append the current node name (if any) and page number as additional
5963 % arguments for the \{chap,sec,...}entry macros which will eventually
5964 % read this. The node name is used in the pdf outlines as the
5965 % destination to jump to.
5966 %
5967 % We open the .toc file for writing here instead of at @setfilename (or
5968 % any other fixed time) so that @contents can be anywhere in the document.
5969 % But if #1 is `omit', then we don't do anything. This is used for the
5970 % table of contents chapter openings themselves.
5971 %
5972 \newif\iftocfileopened
5973 \def\omitkeyword{omit}%
5974 %
5975 \def\writetocentry#1#2#3{%
5976 \edef\writetoctype{#1}%
5977 \ifx\writetoctype\omitkeyword \else
5978 \iftocfileopened\else
5979 \immediate\openout\tocfile = \jobname.toc
5980 \global\tocfileopenedtrue
5981 \fi
5982 %
5983 \iflinks
5984 {\atdummies
5985 \edef\temp{%
5986 \write\tocfile{@#1entry{#2}{#3}{\lastnode}{\noexpand\folio}}}%
5987 \temp
5988 }%
5989 \fi
5990 \fi
5991 %
5992 % Tell \shipout to create a pdf destination on each page, if we're
5993 % writing pdf. These are used in the table of contents. We can't
5994 % just write one on every page because the title pages are numbered
5995 % 1 and 2 (the page numbers aren't printed), and so are the first
5996 % two pages of the document. Thus, we'd have two destinations named
5997 % `1', and two named `2'.
5998 \ifpdf \global\pdfmakepagedesttrue \fi
5999 }
6000
6001
6002 % These characters do not print properly in the Computer Modern roman
6003 % fonts, so we must take special care. This is more or less redundant
6004 % with the Texinfo input format setup at the end of this file.
6005 %
6006 \def\activecatcodes{%
6007 \catcode`\"=\active
6008 \catcode`\$=\active
6009 \catcode`\<=\active
6010 \catcode`\>=\active
6011 \catcode`\\=\active
6012 \catcode`\^=\active
6013 \catcode`\_=\active
6014 \catcode`\|=\active
6015 \catcode`\~=\active
6016 }
6017
6018
6019 % Read the toc file, which is essentially Texinfo input.
6020 \def\readtocfile{%
6021 \setupdatafile
6022 \activecatcodes
6023 \input \tocreadfilename
6024 }
6025
6026 \newskip\contentsrightmargin \contentsrightmargin=1in
6027 \newcount\savepageno
6028 \newcount\lastnegativepageno \lastnegativepageno = -1
6029
6030 % Prepare to read what we've written to \tocfile.
6031 %
6032 \def\startcontents#1{%
6033 % If @setchapternewpage on, and @headings double, the contents should
6034 % start on an odd page, unlike chapters. Thus, we maintain
6035 % \contentsalignmacro in parallel with \pagealignmacro.
6036 % From: Torbjorn Granlund <tege@matematik.su.se>
6037 \contentsalignmacro
6038 \immediate\closeout\tocfile
6039 %
6040 % Don't need to put `Contents' or `Short Contents' in the headline.
6041 % It is abundantly clear what they are.
6042 \chapmacro{#1}{Yomitfromtoc}{}%
6043 %
6044 \savepageno = \pageno
6045 \begingroup % Set up to handle contents files properly.
6046 \raggedbottom % Worry more about breakpoints than the bottom.
6047 \advance\hsize by -\contentsrightmargin % Don't use the full line length.
6048 %
6049 % Roman numerals for page numbers.
6050 \ifnum \pageno>0 \global\pageno = \lastnegativepageno \fi
6051 }
6052
6053 % redefined for the two-volume lispref. We always output on
6054 % \jobname.toc even if this is redefined.
6055 %
6056 \def\tocreadfilename{\jobname.toc}
6057
6058 % Normal (long) toc.
6059 %
6060 \def\contents{%
6061 \startcontents{\putwordTOC}%
6062 \openin 1 \tocreadfilename\space
6063 \ifeof 1 \else
6064 \readtocfile
6065 \fi
6066 \vfill \eject
6067 \contentsalignmacro % in case @setchapternewpage odd is in effect
6068 \ifeof 1 \else
6069 \pdfmakeoutlines
6070 \fi
6071 \closein 1
6072 \endgroup
6073 \lastnegativepageno = \pageno
6074 \global\pageno = \savepageno
6075 }
6076
6077 % And just the chapters.
6078 \def\summarycontents{%
6079 \startcontents{\putwordShortTOC}%
6080 %
6081 \let\partentry = \shortpartentry
6082 \let\numchapentry = \shortchapentry
6083 \let\appentry = \shortchapentry
6084 \let\unnchapentry = \shortunnchapentry
6085 % We want a true roman here for the page numbers.
6086 \secfonts
6087 \let\rm=\shortcontrm \let\bf=\shortcontbf
6088 \let\sl=\shortcontsl \let\tt=\shortconttt
6089 \rm
6090 \hyphenpenalty = 10000
6091 \advance\baselineskip by 1pt % Open it up a little.
6092 \def\numsecentry##1##2##3##4{}
6093 \let\appsecentry = \numsecentry
6094 \let\unnsecentry = \numsecentry
6095 \let\numsubsecentry = \numsecentry
6096 \let\appsubsecentry = \numsecentry
6097 \let\unnsubsecentry = \numsecentry
6098 \let\numsubsubsecentry = \numsecentry
6099 \let\appsubsubsecentry = \numsecentry
6100 \let\unnsubsubsecentry = \numsecentry
6101 \openin 1 \tocreadfilename\space
6102 \ifeof 1 \else
6103 \readtocfile
6104 \fi
6105 \closein 1
6106 \vfill \eject
6107 \contentsalignmacro % in case @setchapternewpage odd is in effect
6108 \endgroup
6109 \lastnegativepageno = \pageno
6110 \global\pageno = \savepageno
6111 }
6112 \let\shortcontents = \summarycontents
6113
6114 % Typeset the label for a chapter or appendix for the short contents.
6115 % The arg is, e.g., `A' for an appendix, or `3' for a chapter.
6116 %
6117 \def\shortchaplabel#1{%
6118 % This space should be enough, since a single number is .5em, and the
6119 % widest letter (M) is 1em, at least in the Computer Modern fonts.
6120 % But use \hss just in case.
6121 % (This space doesn't include the extra space that gets added after
6122 % the label; that gets put in by \shortchapentry above.)
6123 %
6124 % We'd like to right-justify chapter numbers, but that looks strange
6125 % with appendix letters. And right-justifying numbers and
6126 % left-justifying letters looks strange when there is less than 10
6127 % chapters. Have to read the whole toc once to know how many chapters
6128 % there are before deciding ...
6129 \hbox to 1em{#1\hss}%
6130 }
6131
6132 % These macros generate individual entries in the table of contents.
6133 % The first argument is the chapter or section name.
6134 % The last argument is the page number.
6135 % The arguments in between are the chapter number, section number, ...
6136
6137 % Parts, in the main contents. Replace the part number, which doesn't
6138 % exist, with an empty box. Let's hope all the numbers have the same width.
6139 % Also ignore the page number, which is conventionally not printed.
6140 \def\numeralbox{\setbox0=\hbox{8}\hbox to \wd0{\hfil}}
6141 \def\partentry#1#2#3#4{\dochapentry{\numeralbox\labelspace#1}{}}
6142 %
6143 % Parts, in the short toc.
6144 \def\shortpartentry#1#2#3#4{%
6145 \penalty-300
6146 \vskip.5\baselineskip plus.15\baselineskip minus.1\baselineskip
6147 \shortchapentry{{\bf #1}}{\numeralbox}{}{}%
6148 }
6149
6150 % Chapters, in the main contents.
6151 \def\numchapentry#1#2#3#4{\dochapentry{#2\labelspace#1}{#4}}
6152 %
6153 % Chapters, in the short toc.
6154 % See comments in \dochapentry re vbox and related settings.
6155 \def\shortchapentry#1#2#3#4{%
6156 \tocentry{\shortchaplabel{#2}\labelspace #1}{\doshortpageno\bgroup#4\egroup}%
6157 }
6158
6159 % Appendices, in the main contents.
6160 % Need the word Appendix, and a fixed-size box.
6161 %
6162 \def\appendixbox#1{%
6163 % We use M since it's probably the widest letter.
6164 \setbox0 = \hbox{\putwordAppendix{} M}%
6165 \hbox to \wd0{\putwordAppendix{} #1\hss}}
6166 %
6167 \def\appentry#1#2#3#4{\dochapentry{\appendixbox{#2}\labelspace#1}{#4}}
6168
6169 % Unnumbered chapters.
6170 \def\unnchapentry#1#2#3#4{\dochapentry{#1}{#4}}
6171 \def\shortunnchapentry#1#2#3#4{\tocentry{#1}{\doshortpageno\bgroup#4\egroup}}
6172
6173 % Sections.
6174 \def\numsecentry#1#2#3#4{\dosecentry{#2\labelspace#1}{#4}}
6175 \let\appsecentry=\numsecentry
6176 \def\unnsecentry#1#2#3#4{\dosecentry{#1}{#4}}
6177
6178 % Subsections.
6179 \def\numsubsecentry#1#2#3#4{\dosubsecentry{#2\labelspace#1}{#4}}
6180 \let\appsubsecentry=\numsubsecentry
6181 \def\unnsubsecentry#1#2#3#4{\dosubsecentry{#1}{#4}}
6182
6183 % And subsubsections.
6184 \def\numsubsubsecentry#1#2#3#4{\dosubsubsecentry{#2\labelspace#1}{#4}}
6185 \let\appsubsubsecentry=\numsubsubsecentry
6186 \def\unnsubsubsecentry#1#2#3#4{\dosubsubsecentry{#1}{#4}}
6187
6188 % This parameter controls the indentation of the various levels.
6189 % Same as \defaultparindent.
6190 \newdimen\tocindent \tocindent = 15pt
6191
6192 % Now for the actual typesetting. In all these, #1 is the text and #2 is the
6193 % page number.
6194 %
6195 % If the toc has to be broken over pages, we want it to be at chapters
6196 % if at all possible; hence the \penalty.
6197 \def\dochapentry#1#2{%
6198 \penalty-300 \vskip1\baselineskip plus.33\baselineskip minus.25\baselineskip
6199 \begingroup
6200 \chapentryfonts
6201 \tocentry{#1}{\dopageno\bgroup#2\egroup}%
6202 \endgroup
6203 \nobreak\vskip .25\baselineskip plus.1\baselineskip
6204 }
6205
6206 \def\dosecentry#1#2{\begingroup
6207 \secentryfonts \leftskip=\tocindent
6208 \tocentry{#1}{\dopageno\bgroup#2\egroup}%
6209 \endgroup}
6210
6211 \def\dosubsecentry#1#2{\begingroup
6212 \subsecentryfonts \leftskip=2\tocindent
6213 \tocentry{#1}{\dopageno\bgroup#2\egroup}%
6214 \endgroup}
6215
6216 \def\dosubsubsecentry#1#2{\begingroup
6217 \subsubsecentryfonts \leftskip=3\tocindent
6218 \tocentry{#1}{\dopageno\bgroup#2\egroup}%
6219 \endgroup}
6220
6221 % We use the same \entry macro as for the index entries.
6222 \let\tocentry = \entry
6223
6224 % Space between chapter (or whatever) number and the title.
6225 \def\labelspace{\hskip1em \relax}
6226
6227 \def\dopageno#1{{\rm #1}}
6228 \def\doshortpageno#1{{\rm #1}}
6229
6230 \def\chapentryfonts{\secfonts \rm}
6231 \def\secentryfonts{\textfonts}
6232 \def\subsecentryfonts{\textfonts}
6233 \def\subsubsecentryfonts{\textfonts}
6234
6235
6236 \message{environments,}
6237 % @foo ... @end foo.
6238
6239 % @tex ... @end tex escapes into raw TeX temporarily.
6240 % One exception: @ is still an escape character, so that @end tex works.
6241 % But \@ or @@ will get a plain @ character.
6242
6243 \envdef\tex{%
6244 \setupmarkupstyle{tex}%
6245 \catcode `\\=0 \catcode `\{=1 \catcode `\}=2
6246 \catcode `\$=3 \catcode `\&=4 \catcode `\#=6
6247 \catcode `\^=7 \catcode `\_=8 \catcode `\~=\active \let~=\tie
6248 \catcode `\%=14
6249 \catcode `\+=\other
6250 \catcode `\"=\other
6251 \catcode `\|=\other
6252 \catcode `\<=\other
6253 \catcode `\>=\other
6254 \catcode`\`=\other
6255 \catcode`\'=\other
6256 \escapechar=`\\
6257 %
6258 % ' is active in math mode (mathcode"8000). So reset it, and all our
6259 % other math active characters (just in case), to plain's definitions.
6260 \mathactive
6261 %
6262 \let\b=\ptexb
6263 \let\bullet=\ptexbullet
6264 \let\c=\ptexc
6265 \let\,=\ptexcomma
6266 \let\.=\ptexdot
6267 \let\dots=\ptexdots
6268 \let\equiv=\ptexequiv
6269 \let\!=\ptexexclam
6270 \let\i=\ptexi
6271 \let\indent=\ptexindent
6272 \let\noindent=\ptexnoindent
6273 \let\{=\ptexlbrace
6274 \let\+=\tabalign
6275 \let\}=\ptexrbrace
6276 \let\/=\ptexslash
6277 \let\*=\ptexstar
6278 \let\t=\ptext
6279 \expandafter \let\csname top\endcsname=\ptextop % outer
6280 \let\frenchspacing=\plainfrenchspacing
6281 %
6282 \def\endldots{\mathinner{\ldots\ldots\ldots\ldots}}%
6283 \def\enddots{\relax\ifmmode\endldots\else$\mathsurround=0pt \endldots\,$\fi}%
6284 \def\@{@}%
6285 }
6286 % There is no need to define \Etex.
6287
6288 % Define @lisp ... @end lisp.
6289 % @lisp environment forms a group so it can rebind things,
6290 % including the definition of @end lisp (which normally is erroneous).
6291
6292 % Amount to narrow the margins by for @lisp.
6293 \newskip\lispnarrowing \lispnarrowing=0.4in
6294
6295 % This is the definition that ^^M gets inside @lisp, @example, and other
6296 % such environments. \null is better than a space, since it doesn't
6297 % have any width.
6298 \def\lisppar{\null\endgraf}
6299
6300 % This space is always present above and below environments.
6301 \newskip\envskipamount \envskipamount = 0pt
6302
6303 % Make spacing and below environment symmetrical. We use \parskip here
6304 % to help in doing that, since in @example-like environments \parskip
6305 % is reset to zero; thus the \afterenvbreak inserts no space -- but the
6306 % start of the next paragraph will insert \parskip.
6307 %
6308 \def\aboveenvbreak{{%
6309 % =10000 instead of <10000 because of a special case in \itemzzz and
6310 % \sectionheading, q.v.
6311 \ifnum \lastpenalty=10000 \else
6312 \advance\envskipamount by \parskip
6313 \endgraf
6314 \ifdim\lastskip<\envskipamount
6315 \removelastskip
6316 % it's not a good place to break if the last penalty was \nobreak
6317 % or better ...
6318 \ifnum\lastpenalty<10000 \penalty-50 \fi
6319 \vskip\envskipamount
6320 \fi
6321 \fi
6322 }}
6323
6324 \let\afterenvbreak = \aboveenvbreak
6325
6326 % \nonarrowing is a flag. If "set", @lisp etc don't narrow margins; it will
6327 % also clear it, so that its embedded environments do the narrowing again.
6328 \let\nonarrowing=\relax
6329
6330 % @cartouche ... @end cartouche: draw rectangle w/rounded corners around
6331 % environment contents.
6332 \font\circle=lcircle10
6333 \newdimen\circthick
6334 \newdimen\cartouter\newdimen\cartinner
6335 \newskip\normbskip\newskip\normpskip\newskip\normlskip
6336 \circthick=\fontdimen8\circle
6337 %
6338 \def\ctl{{\circle\char'013\hskip -6pt}}% 6pt from pl file: 1/2charwidth
6339 \def\ctr{{\hskip 6pt\circle\char'010}}
6340 \def\cbl{{\circle\char'012\hskip -6pt}}
6341 \def\cbr{{\hskip 6pt\circle\char'011}}
6342 \def\carttop{\hbox to \cartouter{\hskip\lskip
6343 \ctl\leaders\hrule height\circthick\hfil\ctr
6344 \hskip\rskip}}
6345 \def\cartbot{\hbox to \cartouter{\hskip\lskip
6346 \cbl\leaders\hrule height\circthick\hfil\cbr
6347 \hskip\rskip}}
6348 %
6349 \newskip\lskip\newskip\rskip
6350
6351 \envdef\cartouche{%
6352 \ifhmode\par\fi % can't be in the midst of a paragraph.
6353 \startsavinginserts
6354 \lskip=\leftskip \rskip=\rightskip
6355 \leftskip=0pt\rightskip=0pt % we want these *outside*.
6356 \cartinner=\hsize \advance\cartinner by-\lskip
6357 \advance\cartinner by-\rskip
6358 \cartouter=\hsize
6359 \advance\cartouter by 18.4pt % allow for 3pt kerns on either
6360 % side, and for 6pt waste from
6361 % each corner char, and rule thickness
6362 \normbskip=\baselineskip \normpskip=\parskip \normlskip=\lineskip
6363 % Flag to tell @lisp, etc., not to narrow margin.
6364 \let\nonarrowing = t%
6365 %
6366 % If this cartouche directly follows a sectioning command, we need the
6367 % \parskip glue (backspaced over by default) or the cartouche can
6368 % collide with the section heading.
6369 \ifnum\lastpenalty>10000 \vskip\parskip \penalty\lastpenalty \fi
6370 %
6371 \vbox\bgroup
6372 \baselineskip=0pt\parskip=0pt\lineskip=0pt
6373 \carttop
6374 \hbox\bgroup
6375 \hskip\lskip
6376 \vrule\kern3pt
6377 \vbox\bgroup
6378 \kern3pt
6379 \hsize=\cartinner
6380 \baselineskip=\normbskip
6381 \lineskip=\normlskip
6382 \parskip=\normpskip
6383 \vskip -\parskip
6384 \comment % For explanation, see the end of def\group.
6385 }
6386 \def\Ecartouche{%
6387 \ifhmode\par\fi
6388 \kern3pt
6389 \egroup
6390 \kern3pt\vrule
6391 \hskip\rskip
6392 \egroup
6393 \cartbot
6394 \egroup
6395 \checkinserts
6396 }
6397
6398
6399 % This macro is called at the beginning of all the @example variants,
6400 % inside a group.
6401 \newdimen\nonfillparindent
6402 \def\nonfillstart{%
6403 \aboveenvbreak
6404 \hfuzz = 12pt % Don't be fussy
6405 \sepspaces % Make spaces be word-separators rather than space tokens.
6406 \let\par = \lisppar % don't ignore blank lines
6407 \obeylines % each line of input is a line of output
6408 \parskip = 0pt
6409 % Turn off paragraph indentation but redefine \indent to emulate
6410 % the normal \indent.
6411 \nonfillparindent=\parindent
6412 \parindent = 0pt
6413 \let\indent\nonfillindent
6414 %
6415 \emergencystretch = 0pt % don't try to avoid overfull boxes
6416 \ifx\nonarrowing\relax
6417 \advance \leftskip by \lispnarrowing
6418 \exdentamount=\lispnarrowing
6419 \else
6420 \let\nonarrowing = \relax
6421 \fi
6422 \let\exdent=\nofillexdent
6423 }
6424
6425 \begingroup
6426 \obeyspaces
6427 % We want to swallow spaces (but not other tokens) after the fake
6428 % @indent in our nonfill-environments, where spaces are normally
6429 % active and set to @tie, resulting in them not being ignored after
6430 % @indent.
6431 \gdef\nonfillindent{\futurelet\temp\nonfillindentcheck}%
6432 \gdef\nonfillindentcheck{%
6433 \ifx\temp %
6434 \expandafter\nonfillindentgobble%
6435 \else%
6436 \leavevmode\nonfillindentbox%
6437 \fi%
6438 }%
6439 \endgroup
6440 \def\nonfillindentgobble#1{\nonfillindent}
6441 \def\nonfillindentbox{\hbox to \nonfillparindent{\hss}}
6442
6443 % If you want all examples etc. small: @set dispenvsize small.
6444 % If you want even small examples the full size: @set dispenvsize nosmall.
6445 % This affects the following displayed environments:
6446 % @example, @display, @format, @lisp
6447 %
6448 \def\smallword{small}
6449 \def\nosmallword{nosmall}
6450 \let\SETdispenvsize\relax
6451 \def\setnormaldispenv{%
6452 \ifx\SETdispenvsize\smallword
6453 % end paragraph for sake of leading, in case document has no blank
6454 % line. This is redundant with what happens in \aboveenvbreak, but
6455 % we need to do it before changing the fonts, and it's inconvenient
6456 % to change the fonts afterward.
6457 \ifnum \lastpenalty=10000 \else \endgraf \fi
6458 \smallexamplefonts \rm
6459 \fi
6460 }
6461 \def\setsmalldispenv{%
6462 \ifx\SETdispenvsize\nosmallword
6463 \else
6464 \ifnum \lastpenalty=10000 \else \endgraf \fi
6465 \smallexamplefonts \rm
6466 \fi
6467 }
6468
6469 % We often define two environments, @foo and @smallfoo.
6470 % Let's do it in one command. #1 is the env name, #2 the definition.
6471 \def\makedispenvdef#1#2{%
6472 \expandafter\envdef\csname#1\endcsname {\setnormaldispenv #2}%
6473 \expandafter\envdef\csname small#1\endcsname {\setsmalldispenv #2}%
6474 \expandafter\let\csname E#1\endcsname \afterenvbreak
6475 \expandafter\let\csname Esmall#1\endcsname \afterenvbreak
6476 }
6477
6478 % Define two environment synonyms (#1 and #2) for an environment.
6479 \def\maketwodispenvdef#1#2#3{%
6480 \makedispenvdef{#1}{#3}%
6481 \makedispenvdef{#2}{#3}%
6482 }
6483 %
6484 % @lisp: indented, narrowed, typewriter font;
6485 % @example: same as @lisp.
6486 %
6487 % @smallexample and @smalllisp: use smaller fonts.
6488 % Originally contributed by Pavel@xerox.
6489 %
6490 \maketwodispenvdef{lisp}{example}{%
6491 \nonfillstart
6492 \tt\setupmarkupstyle{example}%
6493 \let\kbdfont = \kbdexamplefont % Allow @kbd to do something special.
6494 \gobble % eat return
6495 }
6496 % @display/@smalldisplay: same as @lisp except keep current font.
6497 %
6498 \makedispenvdef{display}{%
6499 \nonfillstart
6500 \gobble
6501 }
6502
6503 % @format/@smallformat: same as @display except don't narrow margins.
6504 %
6505 \makedispenvdef{format}{%
6506 \let\nonarrowing = t%
6507 \nonfillstart
6508 \gobble
6509 }
6510
6511 % @flushleft: same as @format, but doesn't obey \SETdispenvsize.
6512 \envdef\flushleft{%
6513 \let\nonarrowing = t%
6514 \nonfillstart
6515 \gobble
6516 }
6517 \let\Eflushleft = \afterenvbreak
6518
6519 % @flushright.
6520 %
6521 \envdef\flushright{%
6522 \let\nonarrowing = t%
6523 \nonfillstart
6524 \advance\leftskip by 0pt plus 1fill\relax
6525 \gobble
6526 }
6527 \let\Eflushright = \afterenvbreak
6528
6529
6530 % @raggedright does more-or-less normal line breaking but no right
6531 % justification. From plain.tex.
6532 \envdef\raggedright{%
6533 \rightskip0pt plus2em \spaceskip.3333em \xspaceskip.5em\relax
6534 }
6535 \let\Eraggedright\par
6536
6537 \envdef\raggedleft{%
6538 \parindent=0pt \leftskip0pt plus2em
6539 \spaceskip.3333em \xspaceskip.5em \parfillskip=0pt
6540 \hbadness=10000 % Last line will usually be underfull, so turn off
6541 % badness reporting.
6542 }
6543 \let\Eraggedleft\par
6544
6545 \envdef\raggedcenter{%
6546 \parindent=0pt \rightskip0pt plus1em \leftskip0pt plus1em
6547 \spaceskip.3333em \xspaceskip.5em \parfillskip=0pt
6548 \hbadness=10000 % Last line will usually be underfull, so turn off
6549 % badness reporting.
6550 }
6551 \let\Eraggedcenter\par
6552
6553
6554 % @quotation does normal linebreaking (hence we can't use \nonfillstart)
6555 % and narrows the margins. We keep \parskip nonzero in general, since
6556 % we're doing normal filling. So, when using \aboveenvbreak and
6557 % \afterenvbreak, temporarily make \parskip 0.
6558 %
6559 \makedispenvdef{quotation}{\quotationstart}
6560 %
6561 \def\quotationstart{%
6562 \indentedblockstart % same as \indentedblock, but increase right margin too.
6563 \ifx\nonarrowing\relax
6564 \advance\rightskip by \lispnarrowing
6565 \fi
6566 \parsearg\quotationlabel
6567 }
6568
6569 % We have retained a nonzero parskip for the environment, since we're
6570 % doing normal filling.
6571 %
6572 \def\Equotation{%
6573 \par
6574 \ifx\quotationauthor\thisisundefined\else
6575 % indent a bit.
6576 \leftline{\kern 2\leftskip \sl ---\quotationauthor}%
6577 \fi
6578 {\parskip=0pt \afterenvbreak}%
6579 }
6580 \def\Esmallquotation{\Equotation}
6581
6582 % If we're given an argument, typeset it in bold with a colon after.
6583 \def\quotationlabel#1{%
6584 \def\temp{#1}%
6585 \ifx\temp\empty \else
6586 {\bf #1: }%
6587 \fi
6588 }
6589
6590 % @indentedblock is like @quotation, but indents only on the left and
6591 % has no optional argument.
6592 %
6593 \makedispenvdef{indentedblock}{\indentedblockstart}
6594 %
6595 \def\indentedblockstart{%
6596 {\parskip=0pt \aboveenvbreak}% because \aboveenvbreak inserts \parskip
6597 \parindent=0pt
6598 %
6599 % @cartouche defines \nonarrowing to inhibit narrowing at next level down.
6600 \ifx\nonarrowing\relax
6601 \advance\leftskip by \lispnarrowing
6602 \exdentamount = \lispnarrowing
6603 \else
6604 \let\nonarrowing = \relax
6605 \fi
6606 }
6607
6608 % Keep a nonzero parskip for the environment, since we're doing normal filling.
6609 %
6610 \def\Eindentedblock{%
6611 \par
6612 {\parskip=0pt \afterenvbreak}%
6613 }
6614 \def\Esmallindentedblock{\Eindentedblock}
6615
6616
6617 % LaTeX-like @verbatim...@end verbatim and @verb{<char>...<char>}
6618 % If we want to allow any <char> as delimiter,
6619 % we need the curly braces so that makeinfo sees the @verb command, eg:
6620 % `@verbx...x' would look like the '@verbx' command. --janneke@gnu.org
6621 %
6622 % [Knuth]: Donald Ervin Knuth, 1996. The TeXbook.
6623 %
6624 % [Knuth] p.344; only we need to do the other characters Texinfo sets
6625 % active too. Otherwise, they get lost as the first character on a
6626 % verbatim line.
6627 \def\dospecials{%
6628 \do\ \do\\\do\{\do\}\do\$\do\&%
6629 \do\#\do\^\do\^^K\do\_\do\^^A\do\%\do\~%
6630 \do\<\do\>\do\|\do\@\do+\do\"%
6631 % Don't do the quotes -- if we do, @set txicodequoteundirected and
6632 % @set txicodequotebacktick will not have effect on @verb and
6633 % @verbatim, and ?` and !` ligatures won't get disabled.
6634 %\do\`\do\'%
6635 }
6636 %
6637 % [Knuth] p. 380
6638 \def\uncatcodespecials{%
6639 \def\do##1{\catcode`##1=\other}\dospecials}
6640 %
6641 % Setup for the @verb command.
6642 %
6643 % Eight spaces for a tab
6644 \begingroup
6645 \catcode`\^^I=\active
6646 \gdef\tabeightspaces{\catcode`\^^I=\active\def^^I{\ \ \ \ \ \ \ \ }}
6647 \endgroup
6648 %
6649 \def\setupverb{%
6650 \tt % easiest (and conventionally used) font for verbatim
6651 \def\par{\leavevmode\endgraf}%
6652 \setupmarkupstyle{verb}%
6653 \tabeightspaces
6654 % Respect line breaks,
6655 % print special symbols as themselves, and
6656 % make each space count
6657 % must do in this order:
6658 \obeylines \uncatcodespecials \sepspaces
6659 }
6660
6661 % Setup for the @verbatim environment
6662 %
6663 % Real tab expansion.
6664 \newdimen\tabw \setbox0=\hbox{\tt\space} \tabw=8\wd0 % tab amount
6665 %
6666 % We typeset each line of the verbatim in an \hbox, so we can handle
6667 % tabs. The \global is in case the verbatim line starts with an accent,
6668 % or some other command that starts with a begin-group. Otherwise, the
6669 % entire \verbbox would disappear at the corresponding end-group, before
6670 % it is typeset. Meanwhile, we can't have nested verbatim commands
6671 % (can we?), so the \global won't be overwriting itself.
6672 \newbox\verbbox
6673 \def\starttabbox{\global\setbox\verbbox=\hbox\bgroup}
6674 %
6675 \begingroup
6676 \catcode`\^^I=\active
6677 \gdef\tabexpand{%
6678 \catcode`\^^I=\active
6679 \def^^I{\leavevmode\egroup
6680 \dimen\verbbox=\wd\verbbox % the width so far, or since the previous tab
6681 \divide\dimen\verbbox by\tabw
6682 \multiply\dimen\verbbox by\tabw % compute previous multiple of \tabw
6683 \advance\dimen\verbbox by\tabw % advance to next multiple of \tabw
6684 \wd\verbbox=\dimen\verbbox \box\verbbox \starttabbox
6685 }%
6686 }
6687 \endgroup
6688
6689 % start the verbatim environment.
6690 \def\setupverbatim{%
6691 \let\nonarrowing = t%
6692 \nonfillstart
6693 \tt % easiest (and conventionally used) font for verbatim
6694 % The \leavevmode here is for blank lines. Otherwise, we would
6695 % never \starttabox and the \egroup would end verbatim mode.
6696 \def\par{\leavevmode\egroup\box\verbbox\endgraf}%
6697 \tabexpand
6698 \setupmarkupstyle{verbatim}%
6699 % Respect line breaks,
6700 % print special symbols as themselves, and
6701 % make each space count.
6702 % Must do in this order:
6703 \obeylines \uncatcodespecials \sepspaces
6704 \everypar{\starttabbox}%
6705 }
6706
6707 % Do the @verb magic: verbatim text is quoted by unique
6708 % delimiter characters. Before first delimiter expect a
6709 % right brace, after last delimiter expect closing brace:
6710 %
6711 % \def\doverb'{'<char>#1<char>'}'{#1}
6712 %
6713 % [Knuth] p. 382; only eat outer {}
6714 \begingroup
6715 \catcode`[=1\catcode`]=2\catcode`\{=\other\catcode`\}=\other
6716 \gdef\doverb{#1[\def\next##1#1}[##1\endgroup]\next]
6717 \endgroup
6718 %
6719 \def\verb{\begingroup\setupverb\doverb}
6720 %
6721 %
6722 % Do the @verbatim magic: define the macro \doverbatim so that
6723 % the (first) argument ends when '@end verbatim' is reached, ie:
6724 %
6725 % \def\doverbatim#1@end verbatim{#1}
6726 %
6727 % For Texinfo it's a lot easier than for LaTeX,
6728 % because texinfo's \verbatim doesn't stop at '\end{verbatim}':
6729 % we need not redefine '\', '{' and '}'.
6730 %
6731 % Inspired by LaTeX's verbatim command set [latex.ltx]
6732 %
6733 \begingroup
6734 \catcode`\ =\active
6735 \obeylines %
6736 % ignore everything up to the first ^^M, that's the newline at the end
6737 % of the @verbatim input line itself. Otherwise we get an extra blank
6738 % line in the output.
6739 \xdef\doverbatim#1^^M#2@end verbatim{#2\noexpand\end\gobble verbatim}%
6740 % We really want {...\end verbatim} in the body of the macro, but
6741 % without the active space; thus we have to use \xdef and \gobble.
6742 \endgroup
6743 %
6744 \envdef\verbatim{%
6745 \setupverbatim\doverbatim
6746 }
6747 \let\Everbatim = \afterenvbreak
6748
6749
6750 % @verbatiminclude FILE - insert text of file in verbatim environment.
6751 %
6752 \def\verbatiminclude{\parseargusing\filenamecatcodes\doverbatiminclude}
6753 %
6754 \def\doverbatiminclude#1{%
6755 {%
6756 \makevalueexpandable
6757 \setupverbatim
6758 \indexnofonts % Allow `@@' and other weird things in file names.
6759 \wlog{texinfo.tex: doing @verbatiminclude of #1^^J}%
6760 \input #1
6761 \afterenvbreak
6762 }%
6763 }
6764
6765 % @copying ... @end copying.
6766 % Save the text away for @insertcopying later.
6767 %
6768 % We save the uninterpreted tokens, rather than creating a box.
6769 % Saving the text in a box would be much easier, but then all the
6770 % typesetting commands (@smallbook, font changes, etc.) have to be done
6771 % beforehand -- and a) we want @copying to be done first in the source
6772 % file; b) letting users define the frontmatter in as flexible order as
6773 % possible is very desirable.
6774 %
6775 \def\copying{\checkenv{}\begingroup\scanargctxt\docopying}
6776 \def\docopying#1@end copying{\endgroup\def\copyingtext{#1}}
6777 %
6778 \def\insertcopying{%
6779 \begingroup
6780 \parindent = 0pt % paragraph indentation looks wrong on title page
6781 \scanexp\copyingtext
6782 \endgroup
6783 }
6784
6785
6786 \message{defuns,}
6787 % @defun etc.
6788
6789 \newskip\defbodyindent \defbodyindent=.4in
6790 \newskip\defargsindent \defargsindent=50pt
6791 \newskip\deflastargmargin \deflastargmargin=18pt
6792 \newcount\defunpenalty
6793
6794 % Start the processing of @deffn:
6795 \def\startdefun{%
6796 \ifnum\lastpenalty<10000
6797 \medbreak
6798 \defunpenalty=10003 % Will keep this @deffn together with the
6799 % following @def command, see below.
6800 \else
6801 % If there are two @def commands in a row, we'll have a \nobreak,
6802 % which is there to keep the function description together with its
6803 % header. But if there's nothing but headers, we need to allow a
6804 % break somewhere. Check specifically for penalty 10002, inserted
6805 % by \printdefunline, instead of 10000, since the sectioning
6806 % commands also insert a nobreak penalty, and we don't want to allow
6807 % a break between a section heading and a defun.
6808 %
6809 % As a further refinement, we avoid "club" headers by signalling
6810 % with penalty of 10003 after the very first @deffn in the
6811 % sequence (see above), and penalty of 10002 after any following
6812 % @def command.
6813 \ifnum\lastpenalty=10002 \penalty2000 \else \defunpenalty=10002 \fi
6814 %
6815 % Similarly, after a section heading, do not allow a break.
6816 % But do insert the glue.
6817 \medskip % preceded by discardable penalty, so not a breakpoint
6818 \fi
6819 %
6820 \parindent=0in
6821 \advance\leftskip by \defbodyindent
6822 \exdentamount=\defbodyindent
6823 }
6824
6825 \def\dodefunx#1{%
6826 % First, check whether we are in the right environment:
6827 \checkenv#1%
6828 %
6829 % As above, allow line break if we have multiple x headers in a row.
6830 % It's not a great place, though.
6831 \ifnum\lastpenalty=10002 \penalty3000 \else \defunpenalty=10002 \fi
6832 %
6833 % And now, it's time to reuse the body of the original defun:
6834 \expandafter\gobbledefun#1%
6835 }
6836 \def\gobbledefun#1\startdefun{}
6837
6838 % \printdefunline \deffnheader{text}
6839 %
6840 \def\printdefunline#1#2{%
6841 \begingroup
6842 % call \deffnheader:
6843 #1#2 \endheader
6844 % common ending:
6845 \interlinepenalty = 10000
6846 \advance\rightskip by 0pt plus 1fil\relax
6847 \endgraf
6848 \nobreak\vskip -\parskip
6849 \penalty\defunpenalty % signal to \startdefun and \dodefunx
6850 % Some of the @defun-type tags do not enable magic parentheses,
6851 % rendering the following check redundant. But we don't optimize.
6852 \checkparencounts
6853 \endgroup
6854 }
6855
6856 \def\Edefun{\endgraf\medbreak}
6857
6858 % \makedefun{deffn} creates \deffn, \deffnx and \Edeffn;
6859 % the only thing remaining is to define \deffnheader.
6860 %
6861 \def\makedefun#1{%
6862 \expandafter\let\csname E#1\endcsname = \Edefun
6863 \edef\temp{\noexpand\domakedefun
6864 \makecsname{#1}\makecsname{#1x}\makecsname{#1header}}%
6865 \temp
6866 }
6867
6868 % \domakedefun \deffn \deffnx \deffnheader
6869 %
6870 % Define \deffn and \deffnx, without parameters.
6871 % \deffnheader has to be defined explicitly.
6872 %
6873 \def\domakedefun#1#2#3{%
6874 \envdef#1{%
6875 \startdefun
6876 \doingtypefnfalse % distinguish typed functions from all else
6877 \parseargusing\activeparens{\printdefunline#3}%
6878 }%
6879 \def#2{\dodefunx#1}%
6880 \def#3%
6881 }
6882
6883 \newif\ifdoingtypefn % doing typed function?
6884 \newif\ifrettypeownline % typeset return type on its own line?
6885
6886 % @deftypefnnewline on|off says whether the return type of typed functions
6887 % are printed on their own line. This affects @deftypefn, @deftypefun,
6888 % @deftypeop, and @deftypemethod.
6889 %
6890 \parseargdef\deftypefnnewline{%
6891 \def\temp{#1}%
6892 \ifx\temp\onword
6893 \expandafter\let\csname SETtxideftypefnnl\endcsname
6894 = \empty
6895 \else\ifx\temp\offword
6896 \expandafter\let\csname SETtxideftypefnnl\endcsname
6897 = \relax
6898 \else
6899 \errhelp = \EMsimple
6900 \errmessage{Unknown @txideftypefnnl value `\temp',
6901 must be on|off}%
6902 \fi\fi
6903 }
6904
6905 % Untyped functions:
6906
6907 % @deffn category name args
6908 \makedefun{deffn}{\deffngeneral{}}
6909
6910 % @deffn category class name args
6911 \makedefun{defop}#1 {\defopon{#1\ \putwordon}}
6912
6913 % \defopon {category on}class name args
6914 \def\defopon#1#2 {\deffngeneral{\putwordon\ \code{#2}}{#1\ \code{#2}} }
6915
6916 % \deffngeneral {subind}category name args
6917 %
6918 \def\deffngeneral#1#2 #3 #4\endheader{%
6919 % Remember that \dosubind{fn}{foo}{} is equivalent to \doind{fn}{foo}.
6920 \dosubind{fn}{\code{#3}}{#1}%
6921 \defname{#2}{}{#3}\magicamp\defunargs{#4\unskip}%
6922 }
6923
6924 % Typed functions:
6925
6926 % @deftypefn category type name args
6927 \makedefun{deftypefn}{\deftypefngeneral{}}
6928
6929 % @deftypeop category class type name args
6930 \makedefun{deftypeop}#1 {\deftypeopon{#1\ \putwordon}}
6931
6932 % \deftypeopon {category on}class type name args
6933 \def\deftypeopon#1#2 {\deftypefngeneral{\putwordon\ \code{#2}}{#1\ \code{#2}} }
6934
6935 % \deftypefngeneral {subind}category type name args
6936 %
6937 \def\deftypefngeneral#1#2 #3 #4 #5\endheader{%
6938 \dosubind{fn}{\code{#4}}{#1}%
6939 \doingtypefntrue
6940 \defname{#2}{#3}{#4}\defunargs{#5\unskip}%
6941 }
6942
6943 % Typed variables:
6944
6945 % @deftypevr category type var args
6946 \makedefun{deftypevr}{\deftypecvgeneral{}}
6947
6948 % @deftypecv category class type var args
6949 \makedefun{deftypecv}#1 {\deftypecvof{#1\ \putwordof}}
6950
6951 % \deftypecvof {category of}class type var args
6952 \def\deftypecvof#1#2 {\deftypecvgeneral{\putwordof\ \code{#2}}{#1\ \code{#2}} }
6953
6954 % \deftypecvgeneral {subind}category type var args
6955 %
6956 \def\deftypecvgeneral#1#2 #3 #4 #5\endheader{%
6957 \dosubind{vr}{\code{#4}}{#1}%
6958 \defname{#2}{#3}{#4}\defunargs{#5\unskip}%
6959 }
6960
6961 % Untyped variables:
6962
6963 % @defvr category var args
6964 \makedefun{defvr}#1 {\deftypevrheader{#1} {} }
6965
6966 % @defcv category class var args
6967 \makedefun{defcv}#1 {\defcvof{#1\ \putwordof}}
6968
6969 % \defcvof {category of}class var args
6970 \def\defcvof#1#2 {\deftypecvof{#1}#2 {} }
6971
6972 % Types:
6973
6974 % @deftp category name args
6975 \makedefun{deftp}#1 #2 #3\endheader{%
6976 \doind{tp}{\code{#2}}%
6977 \defname{#1}{}{#2}\defunargs{#3\unskip}%
6978 }
6979
6980 % Remaining @defun-like shortcuts:
6981 \makedefun{defun}{\deffnheader{\putwordDeffunc} }
6982 \makedefun{defmac}{\deffnheader{\putwordDefmac} }
6983 \makedefun{defspec}{\deffnheader{\putwordDefspec} }
6984 \makedefun{deftypefun}{\deftypefnheader{\putwordDeffunc} }
6985 \makedefun{defvar}{\defvrheader{\putwordDefvar} }
6986 \makedefun{defopt}{\defvrheader{\putwordDefopt} }
6987 \makedefun{deftypevar}{\deftypevrheader{\putwordDefvar} }
6988 \makedefun{defmethod}{\defopon\putwordMethodon}
6989 \makedefun{deftypemethod}{\deftypeopon\putwordMethodon}
6990 \makedefun{defivar}{\defcvof\putwordInstanceVariableof}
6991 \makedefun{deftypeivar}{\deftypecvof\putwordInstanceVariableof}
6992
6993 % \defname, which formats the name of the @def (not the args).
6994 % #1 is the category, such as "Function".
6995 % #2 is the return type, if any.
6996 % #3 is the function name.
6997 %
6998 % We are followed by (but not passed) the arguments, if any.
6999 %
7000 \def\defname#1#2#3{%
7001 \par
7002 % Get the values of \leftskip and \rightskip as they were outside the @def...
7003 \advance\leftskip by -\defbodyindent
7004 %
7005 % Determine if we are typesetting the return type of a typed function
7006 % on a line by itself.
7007 \rettypeownlinefalse
7008 \ifdoingtypefn % doing a typed function specifically?
7009 % then check user option for putting return type on its own line:
7010 \expandafter\ifx\csname SETtxideftypefnnl\endcsname\relax \else
7011 \rettypeownlinetrue
7012 \fi
7013 \fi
7014 %
7015 % How we'll format the category name. Putting it in brackets helps
7016 % distinguish it from the body text that may end up on the next line
7017 % just below it.
7018 \def\temp{#1}%
7019 \setbox0=\hbox{\kern\deflastargmargin \ifx\temp\empty\else [\rm\temp]\fi}
7020 %
7021 % Figure out line sizes for the paragraph shape. We'll always have at
7022 % least two.
7023 \tempnum = 2
7024 %
7025 % The first line needs space for \box0; but if \rightskip is nonzero,
7026 % we need only space for the part of \box0 which exceeds it:
7027 \dimen0=\hsize \advance\dimen0 by -\wd0 \advance\dimen0 by \rightskip
7028 %
7029 % If doing a return type on its own line, we'll have another line.
7030 \ifrettypeownline
7031 \advance\tempnum by 1
7032 \def\maybeshapeline{0in \hsize}%
7033 \else
7034 \def\maybeshapeline{}%
7035 \fi
7036 %
7037 % The continuations:
7038 \dimen2=\hsize \advance\dimen2 by -\defargsindent
7039 %
7040 % The final paragraph shape:
7041 \parshape \tempnum 0in \dimen0 \maybeshapeline \defargsindent \dimen2
7042 %
7043 % Put the category name at the right margin.
7044 \noindent
7045 \hbox to 0pt{%
7046 \hfil\box0 \kern-\hsize
7047 % \hsize has to be shortened this way:
7048 \kern\leftskip
7049 % Intentionally do not respect \rightskip, since we need the space.
7050 }%
7051 %
7052 % Allow all lines to be underfull without complaint:
7053 \tolerance=10000 \hbadness=10000
7054 \exdentamount=\defbodyindent
7055 {%
7056 % defun fonts. We use typewriter by default (used to be bold) because:
7057 % . we're printing identifiers, they should be in tt in principle.
7058 % . in languages with many accents, such as Czech or French, it's
7059 % common to leave accents off identifiers. The result looks ok in
7060 % tt, but exceedingly strange in rm.
7061 % . we don't want -- and --- to be treated as ligatures.
7062 % . this still does not fix the ?` and !` ligatures, but so far no
7063 % one has made identifiers using them :).
7064 \df \tt
7065 \def\temp{#2}% text of the return type
7066 \ifx\temp\empty\else
7067 \tclose{\temp}% typeset the return type
7068 \ifrettypeownline
7069 % put return type on its own line; prohibit line break following:
7070 \hfil\vadjust{\nobreak}\break
7071 \else
7072 \space % type on same line, so just followed by a space
7073 \fi
7074 \fi % no return type
7075 #3% output function name
7076 }%
7077 {\rm\enskip}% hskip 0.5 em of \tenrm
7078 %
7079 \boldbrax
7080 % arguments will be output next, if any.
7081 }
7082
7083 % Print arguments in slanted roman (not ttsl), inconsistently with using
7084 % tt for the name. This is because literal text is sometimes needed in
7085 % the argument list (groff manual), and ttsl and tt are not very
7086 % distinguishable. Prevent hyphenation at `-' chars.
7087 %
7088 \def\defunargs#1{%
7089 % use sl by default (not ttsl),
7090 % tt for the names.
7091 \df \sl \hyphenchar\font=0
7092 %
7093 % On the other hand, if an argument has two dashes (for instance), we
7094 % want a way to get ttsl. We used to recommend @var for that, so
7095 % leave the code in, but it's strange for @var to lead to typewriter.
7096 % Nowadays we recommend @code, since the difference between a ttsl hyphen
7097 % and a tt hyphen is pretty tiny. @code also disables ?` !`.
7098 \def\var##1{{\setupmarkupstyle{var}\ttslanted{##1}}}%
7099 #1%
7100 \sl\hyphenchar\font=45
7101 }
7102
7103 % We want ()&[] to print specially on the defun line.
7104 %
7105 \def\activeparens{%
7106 \catcode`\(=\active \catcode`\)=\active
7107 \catcode`\[=\active \catcode`\]=\active
7108 \catcode`\&=\active
7109 }
7110
7111 % Make control sequences which act like normal parenthesis chars.
7112 \let\lparen = ( \let\rparen = )
7113
7114 % Be sure that we always have a definition for `(', etc. For example,
7115 % if the fn name has parens in it, \boldbrax will not be in effect yet,
7116 % so TeX would otherwise complain about undefined control sequence.
7117 {
7118 \activeparens
7119 \global\let(=\lparen \global\let)=\rparen
7120 \global\let[=\lbrack \global\let]=\rbrack
7121 \global\let& = \&
7122
7123 \gdef\boldbrax{\let(=\opnr\let)=\clnr\let[=\lbrb\let]=\rbrb}
7124 \gdef\magicamp{\let&=\amprm}
7125 }
7126
7127 \newcount\parencount
7128
7129 % If we encounter &foo, then turn on ()-hacking afterwards
7130 \newif\ifampseen
7131 \def\amprm#1 {\ampseentrue{\bf\&#1 }}
7132
7133 \def\parenfont{%
7134 \ifampseen
7135 % At the first level, print parens in roman,
7136 % otherwise use the default font.
7137 \ifnum \parencount=1 \rm \fi
7138 \else
7139 % The \sf parens (in \boldbrax) actually are a little bolder than
7140 % the contained text. This is especially needed for [ and ] .
7141 \sf
7142 \fi
7143 }
7144 \def\infirstlevel#1{%
7145 \ifampseen
7146 \ifnum\parencount=1
7147 #1%
7148 \fi
7149 \fi
7150 }
7151 \def\bfafterword#1 {#1 \bf}
7152
7153 \def\opnr{%
7154 \global\advance\parencount by 1
7155 {\parenfont(}%
7156 \infirstlevel \bfafterword
7157 }
7158 \def\clnr{%
7159 {\parenfont)}%
7160 \infirstlevel \sl
7161 \global\advance\parencount by -1
7162 }
7163
7164 \newcount\brackcount
7165 \def\lbrb{%
7166 \global\advance\brackcount by 1
7167 {\bf[}%
7168 }
7169 \def\rbrb{%
7170 {\bf]}%
7171 \global\advance\brackcount by -1
7172 }
7173
7174 \def\checkparencounts{%
7175 \ifnum\parencount=0 \else \badparencount \fi
7176 \ifnum\brackcount=0 \else \badbrackcount \fi
7177 }
7178 % these should not use \errmessage; the glibc manual, at least, actually
7179 % has such constructs (when documenting function pointers).
7180 \def\badparencount{%
7181 \message{Warning: unbalanced parentheses in @def...}%
7182 \global\parencount=0
7183 }
7184 \def\badbrackcount{%
7185 \message{Warning: unbalanced square brackets in @def...}%
7186 \global\brackcount=0
7187 }
7188
7189
7190 \message{macros,}
7191 % @macro.
7192
7193 % To do this right we need a feature of e-TeX, \scantokens,
7194 % which we arrange to emulate with a temporary file in ordinary TeX.
7195 \ifx\eTeXversion\thisisundefined
7196 \newwrite\macscribble
7197 \def\scantokens#1{%
7198 \toks0={#1}%
7199 \immediate\openout\macscribble=\jobname.tmp
7200 \immediate\write\macscribble{\the\toks0}%
7201 \immediate\closeout\macscribble
7202 \input \jobname.tmp
7203 }
7204 \fi
7205
7206 \def\scanmacro#1{\begingroup
7207 \newlinechar`\^^M
7208 \let\xeatspaces\eatspaces
7209 %
7210 % Undo catcode changes of \startcontents and \doprintindex
7211 % When called from @insertcopying or (short)caption, we need active
7212 % backslash to get it printed correctly. Previously, we had
7213 % \catcode`\\=\other instead. We'll see whether a problem appears
7214 % with macro expansion. --kasal, 19aug04
7215 \catcode`\@=0 \catcode`\\=\active \escapechar=`\@
7216 %
7217 % ... and for \example:
7218 \spaceisspace
7219 %
7220 % The \empty here causes a following catcode 5 newline to be eaten as
7221 % part of reading whitespace after a control sequence. It does not
7222 % eat a catcode 13 newline. There's no good way to handle the two
7223 % cases (untried: maybe e-TeX's \everyeof could help, though plain TeX
7224 % would then have different behavior). See the Macro Details node in
7225 % the manual for the workaround we recommend for macros and
7226 % line-oriented commands.
7227 %
7228 \scantokens{#1\empty}%
7229 \endgroup}
7230
7231 \def\scanexp#1{%
7232 \edef\temp{\noexpand\scanmacro{#1}}%
7233 \temp
7234 }
7235
7236 \newcount\paramno % Count of parameters
7237 \newtoks\macname % Macro name
7238 \newif\ifrecursive % Is it recursive?
7239
7240 % List of all defined macros in the form
7241 % \definedummyword\macro1\definedummyword\macro2...
7242 % Currently is also contains all @aliases; the list can be split
7243 % if there is a need.
7244 \def\macrolist{}
7245
7246 % Add the macro to \macrolist
7247 \def\addtomacrolist#1{\expandafter \addtomacrolistxxx \csname#1\endcsname}
7248 \def\addtomacrolistxxx#1{%
7249 \toks0 = \expandafter{\macrolist\definedummyword#1}%
7250 \xdef\macrolist{\the\toks0}%
7251 }
7252
7253 % Utility routines.
7254 % This does \let #1 = #2, with \csnames; that is,
7255 % \let \csname#1\endcsname = \csname#2\endcsname
7256 % (except of course we have to play expansion games).
7257 %
7258 \def\cslet#1#2{%
7259 \expandafter\let
7260 \csname#1\expandafter\endcsname
7261 \csname#2\endcsname
7262 }
7263
7264 % Trim leading and trailing spaces off a string.
7265 % Concepts from aro-bend problem 15 (see CTAN).
7266 {\catcode`\@=11
7267 \gdef\eatspaces #1{\expandafter\trim@\expandafter{#1 }}
7268 \gdef\trim@ #1{\trim@@ @#1 @ #1 @ @@}
7269 \gdef\trim@@ #1@ #2@ #3@@{\trim@@@\empty #2 @}
7270 \def\unbrace#1{#1}
7271 \unbrace{\gdef\trim@@@ #1 } #2@{#1}
7272 }
7273
7274 % Trim a single trailing ^^M off a string.
7275 {\catcode`\^^M=\other \catcode`\Q=3%
7276 \gdef\eatcr #1{\eatcra #1Q^^MQ}%
7277 \gdef\eatcra#1^^MQ{\eatcrb#1Q}%
7278 \gdef\eatcrb#1Q#2Q{#1}%
7279 }
7280
7281 % Macro bodies are absorbed as an argument in a context where
7282 % all characters are catcode 10, 11 or 12, except \ which is active
7283 % (as in normal texinfo). It is necessary to change the definition of \
7284 % to recognize macro arguments; this is the job of \mbodybackslash.
7285 %
7286 % Non-ASCII encodings make 8-bit characters active, so un-activate
7287 % them to avoid their expansion. Must do this non-globally, to
7288 % confine the change to the current group.
7289 %
7290 % It's necessary to have hard CRs when the macro is executed. This is
7291 % done by making ^^M (\endlinechar) catcode 12 when reading the macro
7292 % body, and then making it the \newlinechar in \scanmacro.
7293 %
7294 \def\scanctxt{% used as subroutine
7295 \catcode`\"=\other
7296 \catcode`\+=\other
7297 \catcode`\<=\other
7298 \catcode`\>=\other
7299 \catcode`\@=\other
7300 \catcode`\^=\other
7301 \catcode`\_=\other
7302 \catcode`\|=\other
7303 \catcode`\~=\other
7304 \ifx\declaredencoding\ascii \else \setnonasciicharscatcodenonglobal\other \fi
7305 }
7306
7307 \def\scanargctxt{% used for copying and captions, not macros.
7308 \scanctxt
7309 \catcode`\\=\other
7310 \catcode`\^^M=\other
7311 }
7312
7313 \def\macrobodyctxt{% used for @macro definitions
7314 \scanctxt
7315 \catcode`\{=\other
7316 \catcode`\}=\other
7317 \catcode`\^^M=\other
7318 \usembodybackslash
7319 }
7320
7321 \def\macroargctxt{% used when scanning invocations
7322 \scanctxt
7323 \catcode`\\=0
7324 }
7325 % why catcode 0 for \ in the above? To recognize \\ \{ \} as "escapes"
7326 % for the single characters \ { }. Thus, we end up with the "commands"
7327 % that would be written @\ @{ @} in a Texinfo document.
7328 %
7329 % We already have @{ and @}. For @\, we define it here, and only for
7330 % this purpose, to produce a typewriter backslash (so, the @\ that we
7331 % define for @math can't be used with @macro calls):
7332 %
7333 \def\\{\normalbackslash}%
7334 %
7335 % We would like to do this for \, too, since that is what makeinfo does.
7336 % But it is not possible, because Texinfo already has a command @, for a
7337 % cedilla accent. Documents must use @comma{} instead.
7338 %
7339 % \anythingelse will almost certainly be an error of some kind.
7340
7341
7342 % \mbodybackslash is the definition of \ in @macro bodies.
7343 % It maps \foo\ => \csname macarg.foo\endcsname => #N
7344 % where N is the macro parameter number.
7345 % We define \csname macarg.\endcsname to be \realbackslash, so
7346 % \\ in macro replacement text gets you a backslash.
7347 %
7348 {\catcode`@=0 @catcode`@\=@active
7349 @gdef@usembodybackslash{@let\=@mbodybackslash}
7350 @gdef@mbodybackslash#1\{@csname macarg.#1@endcsname}
7351 }
7352 \expandafter\def\csname macarg.\endcsname{\realbackslash}
7353
7354 \def\margbackslash#1{\char`\#1 }
7355
7356 \def\macro{\recursivefalse\parsearg\macroxxx}
7357 \def\rmacro{\recursivetrue\parsearg\macroxxx}
7358
7359 \def\macroxxx#1{%
7360 \getargs{#1}% now \macname is the macname and \argl the arglist
7361 \ifx\argl\empty % no arguments
7362 \paramno=0\relax
7363 \else
7364 \expandafter\parsemargdef \argl;%
7365 \if\paramno>256\relax
7366 \ifx\eTeXversion\thisisundefined
7367 \errhelp = \EMsimple
7368 \errmessage{You need eTeX to compile a file with macros with more than 256 arguments}
7369 \fi
7370 \fi
7371 \fi
7372 \if1\csname ismacro.\the\macname\endcsname
7373 \message{Warning: redefining \the\macname}%
7374 \else
7375 \expandafter\ifx\csname \the\macname\endcsname \relax
7376 \else \errmessage{Macro name \the\macname\space already defined}\fi
7377 \global\cslet{macsave.\the\macname}{\the\macname}%
7378 \global\expandafter\let\csname ismacro.\the\macname\endcsname=1%
7379 \addtomacrolist{\the\macname}%
7380 \fi
7381 \begingroup \macrobodyctxt
7382 \ifrecursive \expandafter\parsermacbody
7383 \else \expandafter\parsemacbody
7384 \fi}
7385
7386 \parseargdef\unmacro{%
7387 \if1\csname ismacro.#1\endcsname
7388 \global\cslet{#1}{macsave.#1}%
7389 \global\expandafter\let \csname ismacro.#1\endcsname=0%
7390 % Remove the macro name from \macrolist:
7391 \begingroup
7392 \expandafter\let\csname#1\endcsname \relax
7393 \let\definedummyword\unmacrodo
7394 \xdef\macrolist{\macrolist}%
7395 \endgroup
7396 \else
7397 \errmessage{Macro #1 not defined}%
7398 \fi
7399 }
7400
7401 % Called by \do from \dounmacro on each macro. The idea is to omit any
7402 % macro definitions that have been changed to \relax.
7403 %
7404 \def\unmacrodo#1{%
7405 \ifx #1\relax
7406 % remove this
7407 \else
7408 \noexpand\definedummyword \noexpand#1%
7409 \fi
7410 }
7411
7412 % This makes use of the obscure feature that if the last token of a
7413 % <parameter list> is #, then the preceding argument is delimited by
7414 % an opening brace, and that opening brace is not consumed.
7415 \def\getargs#1{\getargsxxx#1{}}
7416 \def\getargsxxx#1#{\getmacname #1 \relax\getmacargs}
7417 \def\getmacname#1 #2\relax{\macname={#1}}
7418 \def\getmacargs#1{\def\argl{#1}}
7419
7420 % For macro processing make @ a letter so that we can make Texinfo private macro names.
7421 \edef\texiatcatcode{\the\catcode`\@}
7422 \catcode `@=11\relax
7423
7424 % Parse the optional {params} list. Set up \paramno and \paramlist
7425 % so \defmacro knows what to do. Define \macarg.BLAH for each BLAH
7426 % in the params list to some hook where the argument si to be expanded. If
7427 % there are less than 10 arguments that hook is to be replaced by ##N where N
7428 % is the position in that list, that is to say the macro arguments are to be
7429 % defined `a la TeX in the macro body.
7430 %
7431 % That gets used by \mbodybackslash (above).
7432 %
7433 % We need to get `macro parameter char #' into several definitions.
7434 % The technique used is stolen from LaTeX: let \hash be something
7435 % unexpandable, insert that wherever you need a #, and then redefine
7436 % it to # just before using the token list produced.
7437 %
7438 % The same technique is used to protect \eatspaces till just before
7439 % the macro is used.
7440 %
7441 % If there are 10 or more arguments, a different technique is used, where the
7442 % hook remains in the body, and when macro is to be expanded the body is
7443 % processed again to replace the arguments.
7444 %
7445 % In that case, the hook is \the\toks N-1, and we simply set \toks N-1 to the
7446 % argument N value and then \edef the body (nothing else will expand because of
7447 % the catcode regime underwhich the body was input).
7448 %
7449 % If you compile with TeX (not eTeX), and you have macros with 10 or more
7450 % arguments, you need that no macro has more than 256 arguments, otherwise an
7451 % error is produced.
7452 \def\parsemargdef#1;{%
7453 \paramno=0\def\paramlist{}%
7454 \let\hash\relax
7455 \let\xeatspaces\relax
7456 \parsemargdefxxx#1,;,%
7457 % In case that there are 10 or more arguments we parse again the arguments
7458 % list to set new definitions for the \macarg.BLAH macros corresponding to
7459 % each BLAH argument. It was anyhow needed to parse already once this list
7460 % in order to count the arguments, and as macros with at most 9 arguments
7461 % are by far more frequent than macro with 10 or more arguments, defining
7462 % twice the \macarg.BLAH macros does not cost too much processing power.
7463 \ifnum\paramno<10\relax\else
7464 \paramno0\relax
7465 \parsemmanyargdef@@#1,;,% 10 or more arguments
7466 \fi
7467 }
7468 \def\parsemargdefxxx#1,{%
7469 \if#1;\let\next=\relax
7470 \else \let\next=\parsemargdefxxx
7471 \advance\paramno by 1
7472 \expandafter\edef\csname macarg.\eatspaces{#1}\endcsname
7473 {\xeatspaces{\hash\the\paramno}}%
7474 \edef\paramlist{\paramlist\hash\the\paramno,}%
7475 \fi\next}
7476
7477 \def\parsemmanyargdef@@#1,{%
7478 \if#1;\let\next=\relax
7479 \else
7480 \let\next=\parsemmanyargdef@@
7481 \edef\tempb{\eatspaces{#1}}%
7482 \expandafter\def\expandafter\tempa
7483 \expandafter{\csname macarg.\tempb\endcsname}%
7484 % Note that we need some extra \noexpand\noexpand, this is because we
7485 % don't want \the to be expanded in the \parsermacbody as it uses an
7486 % \xdef .
7487 \expandafter\edef\tempa
7488 {\noexpand\noexpand\noexpand\the\toks\the\paramno}%
7489 \advance\paramno by 1\relax
7490 \fi\next}
7491
7492 % These two commands read recursive and nonrecursive macro bodies.
7493 % (They're different since rec and nonrec macros end differently.)
7494 %
7495
7496 \catcode `\@\texiatcatcode
7497 \long\def\parsemacbody#1@end macro%
7498 {\xdef\temp{\eatcr{#1}}\endgroup\defmacro}%
7499 \long\def\parsermacbody#1@end rmacro%
7500 {\xdef\temp{\eatcr{#1}}\endgroup\defmacro}%
7501 \catcode `\@=11\relax
7502
7503 \let\endargs@\relax
7504 \let\nil@\relax
7505 \def\nilm@{\nil@}%
7506 \long\def\nillm@{\nil@}%
7507
7508 % This macro is expanded during the Texinfo macro expansion, not during its
7509 % definition. It gets all the arguments values and assigns them to macros
7510 % macarg.ARGNAME
7511 %
7512 % #1 is the macro name
7513 % #2 is the list of argument names
7514 % #3 is the list of argument values
7515 \def\getargvals@#1#2#3{%
7516 \def\macargdeflist@{}%
7517 \def\saveparamlist@{#2}% Need to keep a copy for parameter expansion.
7518 \def\paramlist{#2,\nil@}%
7519 \def\macroname{#1}%
7520 \begingroup
7521 \macroargctxt
7522 \def\argvaluelist{#3,\nil@}%
7523 \def\@tempa{#3}%
7524 \ifx\@tempa\empty
7525 \setemptyargvalues@
7526 \else
7527 \getargvals@@
7528 \fi
7529 }
7530
7531 %
7532 \def\getargvals@@{%
7533 \ifx\paramlist\nilm@
7534 % Some sanity check needed here that \argvaluelist is also empty.
7535 \ifx\argvaluelist\nillm@
7536 \else
7537 \errhelp = \EMsimple
7538 \errmessage{Too many arguments in macro `\macroname'!}%
7539 \fi
7540 \let\next\macargexpandinbody@
7541 \else
7542 \ifx\argvaluelist\nillm@
7543 % No more arguments values passed to macro. Set remaining named-arg
7544 % macros to empty.
7545 \let\next\setemptyargvalues@
7546 \else
7547 % pop current arg name into \@tempb
7548 \def\@tempa##1{\pop@{\@tempb}{\paramlist}##1\endargs@}%
7549 \expandafter\@tempa\expandafter{\paramlist}%
7550 % pop current argument value into \@tempc
7551 \def\@tempa##1{\longpop@{\@tempc}{\argvaluelist}##1\endargs@}%
7552 \expandafter\@tempa\expandafter{\argvaluelist}%
7553 % Here \@tempb is the current arg name and \@tempc is the current arg value.
7554 % First place the new argument macro definition into \@tempd
7555 \expandafter\macname\expandafter{\@tempc}%
7556 \expandafter\let\csname macarg.\@tempb\endcsname\relax
7557 \expandafter\def\expandafter\@tempe\expandafter{%
7558 \csname macarg.\@tempb\endcsname}%
7559 \edef\@tempd{\long\def\@tempe{\the\macname}}%
7560 \push@\@tempd\macargdeflist@
7561 \let\next\getargvals@@
7562 \fi
7563 \fi
7564 \next
7565 }
7566
7567 \def\push@#1#2{%
7568 \expandafter\expandafter\expandafter\def
7569 \expandafter\expandafter\expandafter#2%
7570 \expandafter\expandafter\expandafter{%
7571 \expandafter#1#2}%
7572 }
7573
7574 % Replace arguments by their values in the macro body, and place the result
7575 % in macro \@tempa
7576 \def\macvalstoargs@{%
7577 % To do this we use the property that token registers that are \the'ed
7578 % within an \edef expand only once. So we are going to place all argument
7579 % values into respective token registers.
7580 %
7581 % First we save the token context, and initialize argument numbering.
7582 \begingroup
7583 \paramno0\relax
7584 % Then, for each argument number #N, we place the corresponding argument
7585 % value into a new token list register \toks#N
7586 \expandafter\putargsintokens@\saveparamlist@,;,%
7587 % Then, we expand the body so that argument are replaced by their
7588 % values. The trick for values not to be expanded themselves is that they
7589 % are within tokens and that tokens expand only once in an \edef .
7590 \edef\@tempc{\csname mac.\macroname .body\endcsname}%
7591 % Now we restore the token stack pointer to free the token list registers
7592 % which we have used, but we make sure that expanded body is saved after
7593 % group.
7594 \expandafter
7595 \endgroup
7596 \expandafter\def\expandafter\@tempa\expandafter{\@tempc}%
7597 }
7598
7599 \def\macargexpandinbody@{%
7600 %% Define the named-macro outside of this group and then close this group.
7601 \expandafter
7602 \endgroup
7603 \macargdeflist@
7604 % First the replace in body the macro arguments by their values, the result
7605 % is in \@tempa .
7606 \macvalstoargs@
7607 % Then we point at the \norecurse or \gobble (for recursive) macro value
7608 % with \@tempb .
7609 \expandafter\let\expandafter\@tempb\csname mac.\macroname .recurse\endcsname
7610 % Depending on whether it is recursive or not, we need some tailing
7611 % \egroup .
7612 \ifx\@tempb\gobble
7613 \let\@tempc\relax
7614 \else
7615 \let\@tempc\egroup
7616 \fi
7617 % And now we do the real job:
7618 \edef\@tempd{\noexpand\@tempb{\macroname}\noexpand\scanmacro{\@tempa}\@tempc}%
7619 \@tempd
7620 }
7621
7622 \def\putargsintokens@#1,{%
7623 \if#1;\let\next\relax
7624 \else
7625 \let\next\putargsintokens@
7626 % First we allocate the new token list register, and give it a temporary
7627 % alias \@tempb .
7628 \toksdef\@tempb\the\paramno
7629 % Then we place the argument value into that token list register.
7630 \expandafter\let\expandafter\@tempa\csname macarg.#1\endcsname
7631 \expandafter\@tempb\expandafter{\@tempa}%
7632 \advance\paramno by 1\relax
7633 \fi
7634 \next
7635 }
7636
7637 % Save the token stack pointer into macro #1
7638 \def\texisavetoksstackpoint#1{\edef#1{\the\@cclvi}}
7639 % Restore the token stack pointer from number in macro #1
7640 \def\texirestoretoksstackpoint#1{\expandafter\mathchardef\expandafter\@cclvi#1\relax}
7641 % newtoks that can be used non \outer .
7642 \def\texinonouternewtoks{\alloc@ 5\toks \toksdef \@cclvi}
7643
7644 % Tailing missing arguments are set to empty
7645 \def\setemptyargvalues@{%
7646 \ifx\paramlist\nilm@
7647 \let\next\macargexpandinbody@
7648 \else
7649 \expandafter\setemptyargvaluesparser@\paramlist\endargs@
7650 \let\next\setemptyargvalues@
7651 \fi
7652 \next
7653 }
7654
7655 \def\setemptyargvaluesparser@#1,#2\endargs@{%
7656 \expandafter\def\expandafter\@tempa\expandafter{%
7657 \expandafter\def\csname macarg.#1\endcsname{}}%
7658 \push@\@tempa\macargdeflist@
7659 \def\paramlist{#2}%
7660 }
7661
7662 % #1 is the element target macro
7663 % #2 is the list macro
7664 % #3,#4\endargs@ is the list value
7665 \def\pop@#1#2#3,#4\endargs@{%
7666 \def#1{#3}%
7667 \def#2{#4}%
7668 }
7669 \long\def\longpop@#1#2#3,#4\endargs@{%
7670 \long\def#1{#3}%
7671 \long\def#2{#4}%
7672 }
7673
7674 % This defines a Texinfo @macro. There are eight cases: recursive and
7675 % nonrecursive macros of zero, one, up to nine, and many arguments.
7676 % Much magic with \expandafter here.
7677 % \xdef is used so that macro definitions will survive the file
7678 % they're defined in; @include reads the file inside a group.
7679 %
7680 \def\defmacro{%
7681 \let\hash=##% convert placeholders to macro parameter chars
7682 \ifrecursive
7683 \ifcase\paramno
7684 % 0
7685 \expandafter\xdef\csname\the\macname\endcsname{%
7686 \noexpand\scanmacro{\temp}}%
7687 \or % 1
7688 \expandafter\xdef\csname\the\macname\endcsname{%
7689 \bgroup\noexpand\macroargctxt
7690 \noexpand\braceorline
7691 \expandafter\noexpand\csname\the\macname xxx\endcsname}%
7692 \expandafter\xdef\csname\the\macname xxx\endcsname##1{%
7693 \egroup\noexpand\scanmacro{\temp}}%
7694 \else
7695 \ifnum\paramno<10\relax % at most 9
7696 \expandafter\xdef\csname\the\macname\endcsname{%
7697 \bgroup\noexpand\macroargctxt
7698 \noexpand\csname\the\macname xx\endcsname}%
7699 \expandafter\xdef\csname\the\macname xx\endcsname##1{%
7700 \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}%
7701 \expandafter\expandafter
7702 \expandafter\xdef
7703 \expandafter\expandafter
7704 \csname\the\macname xxx\endcsname
7705 \paramlist{\egroup\noexpand\scanmacro{\temp}}%
7706 \else % 10 or more
7707 \expandafter\xdef\csname\the\macname\endcsname{%
7708 \noexpand\getargvals@{\the\macname}{\argl}%
7709 }%
7710 \global\expandafter\let\csname mac.\the\macname .body\endcsname\temp
7711 \global\expandafter\let\csname mac.\the\macname .recurse\endcsname\gobble
7712 \fi
7713 \fi
7714 \else
7715 \ifcase\paramno
7716 % 0
7717 \expandafter\xdef\csname\the\macname\endcsname{%
7718 \noexpand\norecurse{\the\macname}%
7719 \noexpand\scanmacro{\temp}\egroup}%
7720 \or % 1
7721 \expandafter\xdef\csname\the\macname\endcsname{%
7722 \bgroup\noexpand\macroargctxt
7723 \noexpand\braceorline
7724 \expandafter\noexpand\csname\the\macname xxx\endcsname}%
7725 \expandafter\xdef\csname\the\macname xxx\endcsname##1{%
7726 \egroup
7727 \noexpand\norecurse{\the\macname}%
7728 \noexpand\scanmacro{\temp}\egroup}%
7729 \else % at most 9
7730 \ifnum\paramno<10\relax
7731 \expandafter\xdef\csname\the\macname\endcsname{%
7732 \bgroup\noexpand\macroargctxt
7733 \expandafter\noexpand\csname\the\macname xx\endcsname}%
7734 \expandafter\xdef\csname\the\macname xx\endcsname##1{%
7735 \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}%
7736 \expandafter\expandafter
7737 \expandafter\xdef
7738 \expandafter\expandafter
7739 \csname\the\macname xxx\endcsname
7740 \paramlist{%
7741 \egroup
7742 \noexpand\norecurse{\the\macname}%
7743 \noexpand\scanmacro{\temp}\egroup}%
7744 \else % 10 or more:
7745 \expandafter\xdef\csname\the\macname\endcsname{%
7746 \noexpand\getargvals@{\the\macname}{\argl}%
7747 }%
7748 \global\expandafter\let\csname mac.\the\macname .body\endcsname\temp
7749 \global\expandafter\let\csname mac.\the\macname .recurse\endcsname\norecurse
7750 \fi
7751 \fi
7752 \fi}
7753
7754 \catcode `\@\texiatcatcode\relax
7755
7756 \def\norecurse#1{\bgroup\cslet{#1}{macsave.#1}}
7757
7758 % \braceorline decides whether the next nonwhitespace character is a
7759 % {. If so it reads up to the closing }, if not, it reads the whole
7760 % line. Whatever was read is then fed to the next control sequence
7761 % as an argument (by \parsebrace or \parsearg).
7762 %
7763 \def\braceorline#1{\let\macnamexxx=#1\futurelet\nchar\braceorlinexxx}
7764 \def\braceorlinexxx{%
7765 \ifx\nchar\bgroup\else
7766 \expandafter\parsearg
7767 \fi \macnamexxx}
7768
7769
7770 % @alias.
7771 % We need some trickery to remove the optional spaces around the equal
7772 % sign. Make them active and then expand them all to nothing.
7773 %
7774 \def\alias{\parseargusing\obeyspaces\aliasxxx}
7775 \def\aliasxxx #1{\aliasyyy#1\relax}
7776 \def\aliasyyy #1=#2\relax{%
7777 {%
7778 \expandafter\let\obeyedspace=\empty
7779 \addtomacrolist{#1}%
7780 \xdef\next{\global\let\makecsname{#1}=\makecsname{#2}}%
7781 }%
7782 \next
7783 }
7784
7785
7786 \message{cross references,}
7787
7788 \newwrite\auxfile
7789 \newif\ifhavexrefs % True if xref values are known.
7790 \newif\ifwarnedxrefs % True if we warned once that they aren't known.
7791
7792 % @inforef is relatively simple.
7793 \def\inforef #1{\inforefzzz #1,,,,**}
7794 \def\inforefzzz #1,#2,#3,#4**{%
7795 \putwordSee{} \putwordInfo{} \putwordfile{} \file{\ignorespaces #3{}},
7796 node \samp{\ignorespaces#1{}}}
7797
7798 % @node's only job in TeX is to define \lastnode, which is used in
7799 % cross-references. The @node line might or might not have commas, and
7800 % might or might not have spaces before the first comma, like:
7801 % @node foo , bar , ...
7802 % We don't want such trailing spaces in the node name.
7803 %
7804 \parseargdef\node{\checkenv{}\donode #1 ,\finishnodeparse}
7805 %
7806 % also remove a trailing comma, in case of something like this:
7807 % @node Help-Cross, , , Cross-refs
7808 \def\donode#1 ,#2\finishnodeparse{\dodonode #1,\finishnodeparse}
7809 \def\dodonode#1,#2\finishnodeparse{\gdef\lastnode{#1}}
7810
7811 \let\nwnode=\node
7812 \let\lastnode=\empty
7813
7814 % Write a cross-reference definition for the current node. #1 is the
7815 % type (Ynumbered, Yappendix, Ynothing).
7816 %
7817 \def\donoderef#1{%
7818 \ifx\lastnode\empty\else
7819 \setref{\lastnode}{#1}%
7820 \global\let\lastnode=\empty
7821 \fi
7822 }
7823
7824 % @anchor{NAME} -- define xref target at arbitrary point.
7825 %
7826 \newcount\savesfregister
7827 %
7828 \def\savesf{\relax \ifhmode \savesfregister=\spacefactor \fi}
7829 \def\restoresf{\relax \ifhmode \spacefactor=\savesfregister \fi}
7830 \def\anchor#1{\savesf \setref{#1}{Ynothing}\restoresf \ignorespaces}
7831
7832 % \setref{NAME}{SNT} defines a cross-reference point NAME (a node or an
7833 % anchor), which consists of three parts:
7834 % 1) NAME-title - the current sectioning name taken from \lastsection,
7835 % or the anchor name.
7836 % 2) NAME-snt - section number and type, passed as the SNT arg, or
7837 % empty for anchors.
7838 % 3) NAME-pg - the page number.
7839 %
7840 % This is called from \donoderef, \anchor, and \dofloat. In the case of
7841 % floats, there is an additional part, which is not written here:
7842 % 4) NAME-lof - the text as it should appear in a @listoffloats.
7843 %
7844 \def\setref#1#2{%
7845 \pdfmkdest{#1}%
7846 \iflinks
7847 {%
7848 \atdummies % preserve commands, but don't expand them
7849 \edef\writexrdef##1##2{%
7850 \write\auxfile{@xrdef{#1-% #1 of \setref, expanded by the \edef
7851 ##1}{##2}}% these are parameters of \writexrdef
7852 }%
7853 \toks0 = \expandafter{\lastsection}%
7854 \immediate \writexrdef{title}{\the\toks0 }%
7855 \immediate \writexrdef{snt}{\csname #2\endcsname}% \Ynumbered etc.
7856 \safewhatsit{\writexrdef{pg}{\folio}}% will be written later, at \shipout
7857 }%
7858 \fi
7859 }
7860
7861 % @xrefautosectiontitle on|off says whether @section(ing) names are used
7862 % automatically in xrefs, if the third arg is not explicitly specified.
7863 % This was provided as a "secret" @set xref-automatic-section-title
7864 % variable, now it's official.
7865 %
7866 \parseargdef\xrefautomaticsectiontitle{%
7867 \def\temp{#1}%
7868 \ifx\temp\onword
7869 \expandafter\let\csname SETxref-automatic-section-title\endcsname
7870 = \empty
7871 \else\ifx\temp\offword
7872 \expandafter\let\csname SETxref-automatic-section-title\endcsname
7873 = \relax
7874 \else
7875 \errhelp = \EMsimple
7876 \errmessage{Unknown @xrefautomaticsectiontitle value `\temp',
7877 must be on|off}%
7878 \fi\fi
7879 }
7880
7881 %
7882 % @xref, @pxref, and @ref generate cross-references. For \xrefX, #1 is
7883 % the node name, #2 the name of the Info cross-reference, #3 the printed
7884 % node name, #4 the name of the Info file, #5 the name of the printed
7885 % manual. All but the node name can be omitted.
7886 %
7887 \def\pxref#1{\putwordsee{} \xrefX[#1,,,,,,,]}
7888 \def\xref#1{\putwordSee{} \xrefX[#1,,,,,,,]}
7889 \def\ref#1{\xrefX[#1,,,,,,,]}
7890 %
7891 \newbox\toprefbox
7892 \newbox\printedrefnamebox
7893 \newbox\infofilenamebox
7894 \newbox\printedmanualbox
7895 %
7896 \def\xrefX[#1,#2,#3,#4,#5,#6]{\begingroup
7897 \unsepspaces
7898 %
7899 % Get args without leading/trailing spaces.
7900 \def\printedrefname{\ignorespaces #3}%
7901 \setbox\printedrefnamebox = \hbox{\printedrefname\unskip}%
7902 %
7903 \def\infofilename{\ignorespaces #4}%
7904 \setbox\infofilenamebox = \hbox{\infofilename\unskip}%
7905 %
7906 \def\printedmanual{\ignorespaces #5}%
7907 \setbox\printedmanualbox = \hbox{\printedmanual\unskip}%
7908 %
7909 % If the printed reference name (arg #3) was not explicitly given in
7910 % the @xref, figure out what we want to use.
7911 \ifdim \wd\printedrefnamebox = 0pt
7912 % No printed node name was explicitly given.
7913 \expandafter\ifx\csname SETxref-automatic-section-title\endcsname \relax
7914 % Not auto section-title: use node name inside the square brackets.
7915 \def\printedrefname{\ignorespaces #1}%
7916 \else
7917 % Auto section-title: use chapter/section title inside
7918 % the square brackets if we have it.
7919 \ifdim \wd\printedmanualbox > 0pt
7920 % It is in another manual, so we don't have it; use node name.
7921 \def\printedrefname{\ignorespaces #1}%
7922 \else
7923 \ifhavexrefs
7924 % We (should) know the real title if we have the xref values.
7925 \def\printedrefname{\refx{#1-title}{}}%
7926 \else
7927 % Otherwise just copy the Info node name.
7928 \def\printedrefname{\ignorespaces #1}%
7929 \fi%
7930 \fi
7931 \fi
7932 \fi
7933 %
7934 % Make link in pdf output.
7935 \ifpdf
7936 {\indexnofonts
7937 \turnoffactive
7938 \makevalueexpandable
7939 % This expands tokens, so do it after making catcode changes, so _
7940 % etc. don't get their TeX definitions. This ignores all spaces in
7941 % #4, including (wrongly) those in the middle of the filename.
7942 \getfilename{#4}%
7943 %
7944 % This (wrongly) does not take account of leading or trailing
7945 % spaces in #1, which should be ignored.
7946 \edef\pdfxrefdest{#1}%
7947 \ifx\pdfxrefdest\empty
7948 \def\pdfxrefdest{Top}% no empty targets
7949 \else
7950 \txiescapepdf\pdfxrefdest % escape PDF special chars
7951 \fi
7952 %
7953 \leavevmode
7954 \startlink attr{/Border [0 0 0]}%
7955 \ifnum\filenamelength>0
7956 goto file{\the\filename.pdf} name{\pdfxrefdest}%
7957 \else
7958 goto name{\pdfmkpgn{\pdfxrefdest}}%
7959 \fi
7960 }%
7961 \setcolor{\linkcolor}%
7962 \fi
7963 %
7964 % Float references are printed completely differently: "Figure 1.2"
7965 % instead of "[somenode], p.3". We distinguish them by the
7966 % LABEL-title being set to a magic string.
7967 {%
7968 % Have to otherify everything special to allow the \csname to
7969 % include an _ in the xref name, etc.
7970 \indexnofonts
7971 \turnoffactive
7972 \expandafter\global\expandafter\let\expandafter\Xthisreftitle
7973 \csname XR#1-title\endcsname
7974 }%
7975 \iffloat\Xthisreftitle
7976 % If the user specified the print name (third arg) to the ref,
7977 % print it instead of our usual "Figure 1.2".
7978 \ifdim\wd\printedrefnamebox = 0pt
7979 \refx{#1-snt}{}%
7980 \else
7981 \printedrefname
7982 \fi
7983 %
7984 % If the user also gave the printed manual name (fifth arg), append
7985 % "in MANUALNAME".
7986 \ifdim \wd\printedmanualbox > 0pt
7987 \space \putwordin{} \cite{\printedmanual}%
7988 \fi
7989 \else
7990 % node/anchor (non-float) references.
7991 %
7992 % If we use \unhbox to print the node names, TeX does not insert
7993 % empty discretionaries after hyphens, which means that it will not
7994 % find a line break at a hyphen in a node names. Since some manuals
7995 % are best written with fairly long node names, containing hyphens,
7996 % this is a loss. Therefore, we give the text of the node name
7997 % again, so it is as if TeX is seeing it for the first time.
7998 %
7999 \ifdim \wd\printedmanualbox > 0pt
8000 % Cross-manual reference with a printed manual name.
8001 %
8002 \crossmanualxref{\cite{\printedmanual\unskip}}%
8003 %
8004 \else\ifdim \wd\infofilenamebox > 0pt
8005 % Cross-manual reference with only an info filename (arg 4), no
8006 % printed manual name (arg 5). This is essentially the same as
8007 % the case above; we output the filename, since we have nothing else.
8008 %
8009 \crossmanualxref{\code{\infofilename\unskip}}%
8010 %
8011 \else
8012 % Reference within this manual.
8013 %
8014 % _ (for example) has to be the character _ for the purposes of the
8015 % control sequence corresponding to the node, but it has to expand
8016 % into the usual \leavevmode...\vrule stuff for purposes of
8017 % printing. So we \turnoffactive for the \refx-snt, back on for the
8018 % printing, back off for the \refx-pg.
8019 {\turnoffactive
8020 % Only output a following space if the -snt ref is nonempty; for
8021 % @unnumbered and @anchor, it won't be.
8022 \setbox2 = \hbox{\ignorespaces \refx{#1-snt}{}}%
8023 \ifdim \wd2 > 0pt \refx{#1-snt}\space\fi
8024 }%
8025 % output the `[mynode]' via the macro below so it can be overridden.
8026 \xrefprintnodename\printedrefname
8027 %
8028 % But we always want a comma and a space:
8029 ,\space
8030 %
8031 % output the `page 3'.
8032 \turnoffactive \putwordpage\tie\refx{#1-pg}{}%
8033 \fi\fi
8034 \fi
8035 \endlink
8036 \endgroup}
8037
8038 % Output a cross-manual xref to #1. Used just above (twice).
8039 %
8040 % Only include the text "Section ``foo'' in" if the foo is neither
8041 % missing or Top. Thus, @xref{,,,foo,The Foo Manual} outputs simply
8042 % "see The Foo Manual", the idea being to refer to the whole manual.
8043 %
8044 % But, this being TeX, we can't easily compare our node name against the
8045 % string "Top" while ignoring the possible spaces before and after in
8046 % the input. By adding the arbitrary 7sp below, we make it much less
8047 % likely that a real node name would have the same width as "Top" (e.g.,
8048 % in a monospaced font). Hopefully it will never happen in practice.
8049 %
8050 % For the same basic reason, we retypeset the "Top" at every
8051 % reference, since the current font is indeterminate.
8052 %
8053 \def\crossmanualxref#1{%
8054 \setbox\toprefbox = \hbox{Top\kern7sp}%
8055 \setbox2 = \hbox{\ignorespaces \printedrefname \unskip \kern7sp}%
8056 \ifdim \wd2 > 7sp % nonempty?
8057 \ifdim \wd2 = \wd\toprefbox \else % same as Top?
8058 \putwordSection{} ``\printedrefname'' \putwordin{}\space
8059 \fi
8060 \fi
8061 #1%
8062 }
8063
8064 % This macro is called from \xrefX for the `[nodename]' part of xref
8065 % output. It's a separate macro only so it can be changed more easily,
8066 % since square brackets don't work well in some documents. Particularly
8067 % one that Bob is working on :).
8068 %
8069 \def\xrefprintnodename#1{[#1]}
8070
8071 % Things referred to by \setref.
8072 %
8073 \def\Ynothing{}
8074 \def\Yomitfromtoc{}
8075 \def\Ynumbered{%
8076 \ifnum\secno=0
8077 \putwordChapter@tie \the\chapno
8078 \else \ifnum\subsecno=0
8079 \putwordSection@tie \the\chapno.\the\secno
8080 \else \ifnum\subsubsecno=0
8081 \putwordSection@tie \the\chapno.\the\secno.\the\subsecno
8082 \else
8083 \putwordSection@tie \the\chapno.\the\secno.\the\subsecno.\the\subsubsecno
8084 \fi\fi\fi
8085 }
8086 \def\Yappendix{%
8087 \ifnum\secno=0
8088 \putwordAppendix@tie @char\the\appendixno{}%
8089 \else \ifnum\subsecno=0
8090 \putwordSection@tie @char\the\appendixno.\the\secno
8091 \else \ifnum\subsubsecno=0
8092 \putwordSection@tie @char\the\appendixno.\the\secno.\the\subsecno
8093 \else
8094 \putwordSection@tie
8095 @char\the\appendixno.\the\secno.\the\subsecno.\the\subsubsecno
8096 \fi\fi\fi
8097 }
8098
8099 % Define \refx{NAME}{SUFFIX} to reference a cross-reference string named NAME.
8100 % If its value is nonempty, SUFFIX is output afterward.
8101 %
8102 \def\refx#1#2{%
8103 {%
8104 \indexnofonts
8105 \otherbackslash
8106 \expandafter\global\expandafter\let\expandafter\thisrefX
8107 \csname XR#1\endcsname
8108 }%
8109 \ifx\thisrefX\relax
8110 % If not defined, say something at least.
8111 \angleleft un\-de\-fined\angleright
8112 \iflinks
8113 \ifhavexrefs
8114 {\toks0 = {#1}% avoid expansion of possibly-complex value
8115 \message{\linenumber Undefined cross reference `\the\toks0'.}}%
8116 \else
8117 \ifwarnedxrefs\else
8118 \global\warnedxrefstrue
8119 \message{Cross reference values unknown; you must run TeX again.}%
8120 \fi
8121 \fi
8122 \fi
8123 \else
8124 % It's defined, so just use it.
8125 \thisrefX
8126 \fi
8127 #2% Output the suffix in any case.
8128 }
8129
8130 % This is the macro invoked by entries in the aux file. Usually it's
8131 % just a \def (we prepend XR to the control sequence name to avoid
8132 % collisions). But if this is a float type, we have more work to do.
8133 %
8134 \def\xrdef#1#2{%
8135 {% The node name might contain 8-bit characters, which in our current
8136 % implementation are changed to commands like @'e. Don't let these
8137 % mess up the control sequence name.
8138 \indexnofonts
8139 \turnoffactive
8140 \xdef\safexrefname{#1}%
8141 }%
8142 %
8143 \expandafter\gdef\csname XR\safexrefname\endcsname{#2}% remember this xref
8144 %
8145 % Was that xref control sequence that we just defined for a float?
8146 \expandafter\iffloat\csname XR\safexrefname\endcsname
8147 % it was a float, and we have the (safe) float type in \iffloattype.
8148 \expandafter\let\expandafter\floatlist
8149 \csname floatlist\iffloattype\endcsname
8150 %
8151 % Is this the first time we've seen this float type?
8152 \expandafter\ifx\floatlist\relax
8153 \toks0 = {\do}% yes, so just \do
8154 \else
8155 % had it before, so preserve previous elements in list.
8156 \toks0 = \expandafter{\floatlist\do}%
8157 \fi
8158 %
8159 % Remember this xref in the control sequence \floatlistFLOATTYPE,
8160 % for later use in \listoffloats.
8161 \expandafter\xdef\csname floatlist\iffloattype\endcsname{\the\toks0
8162 {\safexrefname}}%
8163 \fi
8164 }
8165
8166 % Read the last existing aux file, if any. No error if none exists.
8167 %
8168 \def\tryauxfile{%
8169 \openin 1 \jobname.aux
8170 \ifeof 1 \else
8171 \readdatafile{aux}%
8172 \global\havexrefstrue
8173 \fi
8174 \closein 1
8175 }
8176
8177 \def\setupdatafile{%
8178 \catcode`\^^@=\other
8179 \catcode`\^^A=\other
8180 \catcode`\^^B=\other
8181 \catcode`\^^C=\other
8182 \catcode`\^^D=\other
8183 \catcode`\^^E=\other
8184 \catcode`\^^F=\other
8185 \catcode`\^^G=\other
8186 \catcode`\^^H=\other
8187 \catcode`\^^K=\other
8188 \catcode`\^^L=\other
8189 \catcode`\^^N=\other
8190 \catcode`\^^P=\other
8191 \catcode`\^^Q=\other
8192 \catcode`\^^R=\other
8193 \catcode`\^^S=\other
8194 \catcode`\^^T=\other
8195 \catcode`\^^U=\other
8196 \catcode`\^^V=\other
8197 \catcode`\^^W=\other
8198 \catcode`\^^X=\other
8199 \catcode`\^^Z=\other
8200 \catcode`\^^[=\other
8201 \catcode`\^^\=\other
8202 \catcode`\^^]=\other
8203 \catcode`\^^^=\other
8204 \catcode`\^^_=\other
8205 % It was suggested to set the catcode of ^ to 7, which would allow ^^e4 etc.
8206 % in xref tags, i.e., node names. But since ^^e4 notation isn't
8207 % supported in the main text, it doesn't seem desirable. Furthermore,
8208 % that is not enough: for node names that actually contain a ^
8209 % character, we would end up writing a line like this: 'xrdef {'hat
8210 % b-title}{'hat b} and \xrdef does a \csname...\endcsname on the first
8211 % argument, and \hat is not an expandable control sequence. It could
8212 % all be worked out, but why? Either we support ^^ or we don't.
8213 %
8214 % The other change necessary for this was to define \auxhat:
8215 % \def\auxhat{\def^{'hat }}% extra space so ok if followed by letter
8216 % and then to call \auxhat in \setq.
8217 %
8218 \catcode`\^=\other
8219 %
8220 % Special characters. Should be turned off anyway, but...
8221 \catcode`\~=\other
8222 \catcode`\[=\other
8223 \catcode`\]=\other
8224 \catcode`\"=\other
8225 \catcode`\_=\other
8226 \catcode`\|=\other
8227 \catcode`\<=\other
8228 \catcode`\>=\other
8229 \catcode`\$=\other
8230 \catcode`\#=\other
8231 \catcode`\&=\other
8232 \catcode`\%=\other
8233 \catcode`+=\other % avoid \+ for paranoia even though we've turned it off
8234 %
8235 % This is to support \ in node names and titles, since the \
8236 % characters end up in a \csname. It's easier than
8237 % leaving it active and making its active definition an actual \
8238 % character. What I don't understand is why it works in the *value*
8239 % of the xrdef. Seems like it should be a catcode12 \, and that
8240 % should not typeset properly. But it works, so I'm moving on for
8241 % now. --karl, 15jan04.
8242 \catcode`\\=\other
8243 %
8244 % Make the characters 128-255 be printing characters.
8245 {%
8246 \count1=128
8247 \def\loop{%
8248 \catcode\count1=\other
8249 \advance\count1 by 1
8250 \ifnum \count1<256 \loop \fi
8251 }%
8252 }%
8253 %
8254 % @ is our escape character in .aux files, and we need braces.
8255 \catcode`\{=1
8256 \catcode`\}=2
8257 \catcode`\@=0
8258 }
8259
8260 \def\readdatafile#1{%
8261 \begingroup
8262 \setupdatafile
8263 \input\jobname.#1
8264 \endgroup}
8265
8266
8267 \message{insertions,}
8268 % including footnotes.
8269
8270 \newcount \footnoteno
8271
8272 % The trailing space in the following definition for supereject is
8273 % vital for proper filling; pages come out unaligned when you do a
8274 % pagealignmacro call if that space before the closing brace is
8275 % removed. (Generally, numeric constants should always be followed by a
8276 % space to prevent strange expansion errors.)
8277 \def\supereject{\par\penalty -20000\footnoteno =0 }
8278
8279 % @footnotestyle is meaningful for Info output only.
8280 \let\footnotestyle=\comment
8281
8282 {\catcode `\@=11
8283 %
8284 % Auto-number footnotes. Otherwise like plain.
8285 \gdef\footnote{%
8286 \let\indent=\ptexindent
8287 \let\noindent=\ptexnoindent
8288 \global\advance\footnoteno by \@ne
8289 \edef\thisfootno{$^{\the\footnoteno}$}%
8290 %
8291 % In case the footnote comes at the end of a sentence, preserve the
8292 % extra spacing after we do the footnote number.
8293 \let\@sf\empty
8294 \ifhmode\edef\@sf{\spacefactor\the\spacefactor}\ptexslash\fi
8295 %
8296 % Remove inadvertent blank space before typesetting the footnote number.
8297 \unskip
8298 \thisfootno\@sf
8299 \dofootnote
8300 }%
8301
8302 % Don't bother with the trickery in plain.tex to not require the
8303 % footnote text as a parameter. Our footnotes don't need to be so general.
8304 %
8305 % Oh yes, they do; otherwise, @ifset (and anything else that uses
8306 % \parseargline) fails inside footnotes because the tokens are fixed when
8307 % the footnote is read. --karl, 16nov96.
8308 %
8309 \gdef\dofootnote{%
8310 \insert\footins\bgroup
8311 % We want to typeset this text as a normal paragraph, even if the
8312 % footnote reference occurs in (for example) a display environment.
8313 % So reset some parameters.
8314 \hsize=\pagewidth
8315 \interlinepenalty\interfootnotelinepenalty
8316 \splittopskip\ht\strutbox % top baseline for broken footnotes
8317 \splitmaxdepth\dp\strutbox
8318 \floatingpenalty\@MM
8319 \leftskip\z@skip
8320 \rightskip\z@skip
8321 \spaceskip\z@skip
8322 \xspaceskip\z@skip
8323 \parindent\defaultparindent
8324 %
8325 \smallfonts \rm
8326 %
8327 % Because we use hanging indentation in footnotes, a @noindent appears
8328 % to exdent this text, so make it be a no-op. makeinfo does not use
8329 % hanging indentation so @noindent can still be needed within footnote
8330 % text after an @example or the like (not that this is good style).
8331 \let\noindent = \relax
8332 %
8333 % Hang the footnote text off the number. Use \everypar in case the
8334 % footnote extends for more than one paragraph.
8335 \everypar = {\hang}%
8336 \textindent{\thisfootno}%
8337 %
8338 % Don't crash into the line above the footnote text. Since this
8339 % expands into a box, it must come within the paragraph, lest it
8340 % provide a place where TeX can split the footnote.
8341 \footstrut
8342 %
8343 % Invoke rest of plain TeX footnote routine.
8344 \futurelet\next\fo@t
8345 }
8346 }%end \catcode `\@=11
8347
8348 % In case a @footnote appears in a vbox, save the footnote text and create
8349 % the real \insert just after the vbox finished. Otherwise, the insertion
8350 % would be lost.
8351 % Similarly, if a @footnote appears inside an alignment, save the footnote
8352 % text to a box and make the \insert when a row of the table is finished.
8353 % And the same can be done for other insert classes. --kasal, 16nov03.
8354
8355 % Replace the \insert primitive by a cheating macro.
8356 % Deeper inside, just make sure that the saved insertions are not spilled
8357 % out prematurely.
8358 %
8359 \def\startsavinginserts{%
8360 \ifx \insert\ptexinsert
8361 \let\insert\saveinsert
8362 \else
8363 \let\checkinserts\relax
8364 \fi
8365 }
8366
8367 % This \insert replacement works for both \insert\footins{foo} and
8368 % \insert\footins\bgroup foo\egroup, but it doesn't work for \insert27{foo}.
8369 %
8370 \def\saveinsert#1{%
8371 \edef\next{\noexpand\savetobox \makeSAVEname#1}%
8372 \afterassignment\next
8373 % swallow the left brace
8374 \let\temp =
8375 }
8376 \def\makeSAVEname#1{\makecsname{SAVE\expandafter\gobble\string#1}}
8377 \def\savetobox#1{\global\setbox#1 = \vbox\bgroup \unvbox#1}
8378
8379 \def\checksaveins#1{\ifvoid#1\else \placesaveins#1\fi}
8380
8381 \def\placesaveins#1{%
8382 \ptexinsert \csname\expandafter\gobblesave\string#1\endcsname
8383 {\box#1}%
8384 }
8385
8386 % eat @SAVE -- beware, all of them have catcode \other:
8387 {
8388 \def\dospecials{\do S\do A\do V\do E} \uncatcodespecials % ;-)
8389 \gdef\gobblesave @SAVE{}
8390 }
8391
8392 % initialization:
8393 \def\newsaveins #1{%
8394 \edef\next{\noexpand\newsaveinsX \makeSAVEname#1}%
8395 \next
8396 }
8397 \def\newsaveinsX #1{%
8398 \csname newbox\endcsname #1%
8399 \expandafter\def\expandafter\checkinserts\expandafter{\checkinserts
8400 \checksaveins #1}%
8401 }
8402
8403 % initialize:
8404 \let\checkinserts\empty
8405 \newsaveins\footins
8406 \newsaveins\margin
8407
8408
8409 % @image. We use the macros from epsf.tex to support this.
8410 % If epsf.tex is not installed and @image is used, we complain.
8411 %
8412 % Check for and read epsf.tex up front. If we read it only at @image
8413 % time, we might be inside a group, and then its definitions would get
8414 % undone and the next image would fail.
8415 \openin 1 = epsf.tex
8416 \ifeof 1 \else
8417 % Do not bother showing banner with epsf.tex v2.7k (available in
8418 % doc/epsf.tex and on ctan).
8419 \def\epsfannounce{\toks0 = }%
8420 \input epsf.tex
8421 \fi
8422 \closein 1
8423 %
8424 % We will only complain once about lack of epsf.tex.
8425 \newif\ifwarnednoepsf
8426 \newhelp\noepsfhelp{epsf.tex must be installed for images to
8427 work. It is also included in the Texinfo distribution, or you can get
8428 it from ftp://tug.org/tex/epsf.tex.}
8429 %
8430 \def\image#1{%
8431 \ifx\epsfbox\thisisundefined
8432 \ifwarnednoepsf \else
8433 \errhelp = \noepsfhelp
8434 \errmessage{epsf.tex not found, images will be ignored}%
8435 \global\warnednoepsftrue
8436 \fi
8437 \else
8438 \imagexxx #1,,,,,\finish
8439 \fi
8440 }
8441 %
8442 % Arguments to @image:
8443 % #1 is (mandatory) image filename; we tack on .eps extension.
8444 % #2 is (optional) width, #3 is (optional) height.
8445 % #4 is (ignored optional) html alt text.
8446 % #5 is (ignored optional) extension.
8447 % #6 is just the usual extra ignored arg for parsing stuff.
8448 \newif\ifimagevmode
8449 \def\imagexxx#1,#2,#3,#4,#5,#6\finish{\begingroup
8450 \catcode`\^^M = 5 % in case we're inside an example
8451 \normalturnoffactive % allow _ et al. in names
8452 % If the image is by itself, center it.
8453 \ifvmode
8454 \imagevmodetrue
8455 \else \ifx\centersub\centerV
8456 % for @center @image, we need a vbox so we can have our vertical space
8457 \imagevmodetrue
8458 \vbox\bgroup % vbox has better behavior than vtop herev
8459 \fi\fi
8460 %
8461 \ifimagevmode
8462 \nobreak\medskip
8463 % Usually we'll have text after the image which will insert
8464 % \parskip glue, so insert it here too to equalize the space
8465 % above and below.
8466 \nobreak\vskip\parskip
8467 \nobreak
8468 \fi
8469 %
8470 % Leave vertical mode so that indentation from an enclosing
8471 % environment such as @quotation is respected.
8472 % However, if we're at the top level, we don't want the
8473 % normal paragraph indentation.
8474 % On the other hand, if we are in the case of @center @image, we don't
8475 % want to start a paragraph, which will create a hsize-width box and
8476 % eradicate the centering.
8477 \ifx\centersub\centerV\else \noindent \fi
8478 %
8479 % Output the image.
8480 \ifpdf
8481 \dopdfimage{#1}{#2}{#3}%
8482 \else
8483 % \epsfbox itself resets \epsf?size at each figure.
8484 \setbox0 = \hbox{\ignorespaces #2}\ifdim\wd0 > 0pt \epsfxsize=#2\relax \fi
8485 \setbox0 = \hbox{\ignorespaces #3}\ifdim\wd0 > 0pt \epsfysize=#3\relax \fi
8486 \epsfbox{#1.eps}%
8487 \fi
8488 %
8489 \ifimagevmode
8490 \medskip % space after a standalone image
8491 \fi
8492 \ifx\centersub\centerV \egroup \fi
8493 \endgroup}
8494
8495
8496 % @float FLOATTYPE,LABEL,LOC ... @end float for displayed figures, tables,
8497 % etc. We don't actually implement floating yet, we always include the
8498 % float "here". But it seemed the best name for the future.
8499 %
8500 \envparseargdef\float{\eatcommaspace\eatcommaspace\dofloat#1, , ,\finish}
8501
8502 % There may be a space before second and/or third parameter; delete it.
8503 \def\eatcommaspace#1, {#1,}
8504
8505 % #1 is the optional FLOATTYPE, the text label for this float, typically
8506 % "Figure", "Table", "Example", etc. Can't contain commas. If omitted,
8507 % this float will not be numbered and cannot be referred to.
8508 %
8509 % #2 is the optional xref label. Also must be present for the float to
8510 % be referable.
8511 %
8512 % #3 is the optional positioning argument; for now, it is ignored. It
8513 % will somehow specify the positions allowed to float to (here, top, bottom).
8514 %
8515 % We keep a separate counter for each FLOATTYPE, which we reset at each
8516 % chapter-level command.
8517 \let\resetallfloatnos=\empty
8518 %
8519 \def\dofloat#1,#2,#3,#4\finish{%
8520 \let\thiscaption=\empty
8521 \let\thisshortcaption=\empty
8522 %
8523 % don't lose footnotes inside @float.
8524 %
8525 % BEWARE: when the floats start float, we have to issue warning whenever an
8526 % insert appears inside a float which could possibly float. --kasal, 26may04
8527 %
8528 \startsavinginserts
8529 %
8530 % We can't be used inside a paragraph.
8531 \par
8532 %
8533 \vtop\bgroup
8534 \def\floattype{#1}%
8535 \def\floatlabel{#2}%
8536 \def\floatloc{#3}% we do nothing with this yet.
8537 %
8538 \ifx\floattype\empty
8539 \let\safefloattype=\empty
8540 \else
8541 {%
8542 % the floattype might have accents or other special characters,
8543 % but we need to use it in a control sequence name.
8544 \indexnofonts
8545 \turnoffactive
8546 \xdef\safefloattype{\floattype}%
8547 }%
8548 \fi
8549 %
8550 % If label is given but no type, we handle that as the empty type.
8551 \ifx\floatlabel\empty \else
8552 % We want each FLOATTYPE to be numbered separately (Figure 1,
8553 % Table 1, Figure 2, ...). (And if no label, no number.)
8554 %
8555 \expandafter\getfloatno\csname\safefloattype floatno\endcsname
8556 \global\advance\floatno by 1
8557 %
8558 {%
8559 % This magic value for \lastsection is output by \setref as the
8560 % XREFLABEL-title value. \xrefX uses it to distinguish float
8561 % labels (which have a completely different output format) from
8562 % node and anchor labels. And \xrdef uses it to construct the
8563 % lists of floats.
8564 %
8565 \edef\lastsection{\floatmagic=\safefloattype}%
8566 \setref{\floatlabel}{Yfloat}%
8567 }%
8568 \fi
8569 %
8570 % start with \parskip glue, I guess.
8571 \vskip\parskip
8572 %
8573 % Don't suppress indentation if a float happens to start a section.
8574 \restorefirstparagraphindent
8575 }
8576
8577 % we have these possibilities:
8578 % @float Foo,lbl & @caption{Cap}: Foo 1.1: Cap
8579 % @float Foo,lbl & no caption: Foo 1.1
8580 % @float Foo & @caption{Cap}: Foo: Cap
8581 % @float Foo & no caption: Foo
8582 % @float ,lbl & Caption{Cap}: 1.1: Cap
8583 % @float ,lbl & no caption: 1.1
8584 % @float & @caption{Cap}: Cap
8585 % @float & no caption:
8586 %
8587 \def\Efloat{%
8588 \let\floatident = \empty
8589 %
8590 % In all cases, if we have a float type, it comes first.
8591 \ifx\floattype\empty \else \def\floatident{\floattype}\fi
8592 %
8593 % If we have an xref label, the number comes next.
8594 \ifx\floatlabel\empty \else
8595 \ifx\floattype\empty \else % if also had float type, need tie first.
8596 \appendtomacro\floatident{\tie}%
8597 \fi
8598 % the number.
8599 \appendtomacro\floatident{\chaplevelprefix\the\floatno}%
8600 \fi
8601 %
8602 % Start the printed caption with what we've constructed in
8603 % \floatident, but keep it separate; we need \floatident again.
8604 \let\captionline = \floatident
8605 %
8606 \ifx\thiscaption\empty \else
8607 \ifx\floatident\empty \else
8608 \appendtomacro\captionline{: }% had ident, so need a colon between
8609 \fi
8610 %
8611 % caption text.
8612 \appendtomacro\captionline{\scanexp\thiscaption}%
8613 \fi
8614 %
8615 % If we have anything to print, print it, with space before.
8616 % Eventually this needs to become an \insert.
8617 \ifx\captionline\empty \else
8618 \vskip.5\parskip
8619 \captionline
8620 %
8621 % Space below caption.
8622 \vskip\parskip
8623 \fi
8624 %
8625 % If have an xref label, write the list of floats info. Do this
8626 % after the caption, to avoid chance of it being a breakpoint.
8627 \ifx\floatlabel\empty \else
8628 % Write the text that goes in the lof to the aux file as
8629 % \floatlabel-lof. Besides \floatident, we include the short
8630 % caption if specified, else the full caption if specified, else nothing.
8631 {%
8632 \atdummies
8633 %
8634 % since we read the caption text in the macro world, where ^^M
8635 % is turned into a normal character, we have to scan it back, so
8636 % we don't write the literal three characters "^^M" into the aux file.
8637 \scanexp{%
8638 \xdef\noexpand\gtemp{%
8639 \ifx\thisshortcaption\empty
8640 \thiscaption
8641 \else
8642 \thisshortcaption
8643 \fi
8644 }%
8645 }%
8646 \immediate\write\auxfile{@xrdef{\floatlabel-lof}{\floatident
8647 \ifx\gtemp\empty \else : \gtemp \fi}}%
8648 }%
8649 \fi
8650 \egroup % end of \vtop
8651 %
8652 % place the captured inserts
8653 %
8654 % BEWARE: when the floats start floating, we have to issue warning
8655 % whenever an insert appears inside a float which could possibly
8656 % float. --kasal, 26may04
8657 %
8658 \checkinserts
8659 }
8660
8661 % Append the tokens #2 to the definition of macro #1, not expanding either.
8662 %
8663 \def\appendtomacro#1#2{%
8664 \expandafter\def\expandafter#1\expandafter{#1#2}%
8665 }
8666
8667 % @caption, @shortcaption
8668 %
8669 \def\caption{\docaption\thiscaption}
8670 \def\shortcaption{\docaption\thisshortcaption}
8671 \def\docaption{\checkenv\float \bgroup\scanargctxt\defcaption}
8672 \def\defcaption#1#2{\egroup \def#1{#2}}
8673
8674 % The parameter is the control sequence identifying the counter we are
8675 % going to use. Create it if it doesn't exist and assign it to \floatno.
8676 \def\getfloatno#1{%
8677 \ifx#1\relax
8678 % Haven't seen this figure type before.
8679 \csname newcount\endcsname #1%
8680 %
8681 % Remember to reset this floatno at the next chap.
8682 \expandafter\gdef\expandafter\resetallfloatnos
8683 \expandafter{\resetallfloatnos #1=0 }%
8684 \fi
8685 \let\floatno#1%
8686 }
8687
8688 % \setref calls this to get the XREFLABEL-snt value. We want an @xref
8689 % to the FLOATLABEL to expand to "Figure 3.1". We call \setref when we
8690 % first read the @float command.
8691 %
8692 \def\Yfloat{\floattype@tie \chaplevelprefix\the\floatno}%
8693
8694 % Magic string used for the XREFLABEL-title value, so \xrefX can
8695 % distinguish floats from other xref types.
8696 \def\floatmagic{!!float!!}
8697
8698 % #1 is the control sequence we are passed; we expand into a conditional
8699 % which is true if #1 represents a float ref. That is, the magic
8700 % \lastsection value which we \setref above.
8701 %
8702 \def\iffloat#1{\expandafter\doiffloat#1==\finish}
8703 %
8704 % #1 is (maybe) the \floatmagic string. If so, #2 will be the
8705 % (safe) float type for this float. We set \iffloattype to #2.
8706 %
8707 \def\doiffloat#1=#2=#3\finish{%
8708 \def\temp{#1}%
8709 \def\iffloattype{#2}%
8710 \ifx\temp\floatmagic
8711 }
8712
8713 % @listoffloats FLOATTYPE - print a list of floats like a table of contents.
8714 %
8715 \parseargdef\listoffloats{%
8716 \def\floattype{#1}% floattype
8717 {%
8718 % the floattype might have accents or other special characters,
8719 % but we need to use it in a control sequence name.
8720 \indexnofonts
8721 \turnoffactive
8722 \xdef\safefloattype{\floattype}%
8723 }%
8724 %
8725 % \xrdef saves the floats as a \do-list in \floatlistSAFEFLOATTYPE.
8726 \expandafter\ifx\csname floatlist\safefloattype\endcsname \relax
8727 \ifhavexrefs
8728 % if the user said @listoffloats foo but never @float foo.
8729 \message{\linenumber No `\safefloattype' floats to list.}%
8730 \fi
8731 \else
8732 \begingroup
8733 \leftskip=\tocindent % indent these entries like a toc
8734 \let\do=\listoffloatsdo
8735 \csname floatlist\safefloattype\endcsname
8736 \endgroup
8737 \fi
8738 }
8739
8740 % This is called on each entry in a list of floats. We're passed the
8741 % xref label, in the form LABEL-title, which is how we save it in the
8742 % aux file. We strip off the -title and look up \XRLABEL-lof, which
8743 % has the text we're supposed to typeset here.
8744 %
8745 % Figures without xref labels will not be included in the list (since
8746 % they won't appear in the aux file).
8747 %
8748 \def\listoffloatsdo#1{\listoffloatsdoentry#1\finish}
8749 \def\listoffloatsdoentry#1-title\finish{{%
8750 % Can't fully expand XR#1-lof because it can contain anything. Just
8751 % pass the control sequence. On the other hand, XR#1-pg is just the
8752 % page number, and we want to fully expand that so we can get a link
8753 % in pdf output.
8754 \toksA = \expandafter{\csname XR#1-lof\endcsname}%
8755 %
8756 % use the same \entry macro we use to generate the TOC and index.
8757 \edef\writeentry{\noexpand\entry{\the\toksA}{\csname XR#1-pg\endcsname}}%
8758 \writeentry
8759 }}
8760
8761
8762 \message{localization,}
8763
8764 % For single-language documents, @documentlanguage is usually given very
8765 % early, just after @documentencoding. Single argument is the language
8766 % (de) or locale (de_DE) abbreviation.
8767 %
8768 {
8769 \catcode`\_ = \active
8770 \globaldefs=1
8771 \parseargdef\documentlanguage{\begingroup
8772 \let_=\normalunderscore % normal _ character for filenames
8773 \tex % read txi-??.tex file in plain TeX.
8774 % Read the file by the name they passed if it exists.
8775 \openin 1 txi-#1.tex
8776 \ifeof 1
8777 \documentlanguagetrywithoutunderscore{#1_\finish}%
8778 \else
8779 \globaldefs = 1 % everything in the txi-LL files needs to persist
8780 \input txi-#1.tex
8781 \fi
8782 \closein 1
8783 \endgroup % end raw TeX
8784 \endgroup}
8785 %
8786 % If they passed de_DE, and txi-de_DE.tex doesn't exist,
8787 % try txi-de.tex.
8788 %
8789 \gdef\documentlanguagetrywithoutunderscore#1_#2\finish{%
8790 \openin 1 txi-#1.tex
8791 \ifeof 1
8792 \errhelp = \nolanghelp
8793 \errmessage{Cannot read language file txi-#1.tex}%
8794 \else
8795 \globaldefs = 1 % everything in the txi-LL files needs to persist
8796 \input txi-#1.tex
8797 \fi
8798 \closein 1
8799 }
8800 }% end of special _ catcode
8801 %
8802 \newhelp\nolanghelp{The given language definition file cannot be found or
8803 is empty. Maybe you need to install it? Putting it in the current
8804 directory should work if nowhere else does.}
8805
8806 % This macro is called from txi-??.tex files; the first argument is the
8807 % \language name to set (without the "\lang@" prefix), the second and
8808 % third args are \{left,right}hyphenmin.
8809 %
8810 % The language names to pass are determined when the format is built.
8811 % See the etex.log file created at that time, e.g.,
8812 % /usr/local/texlive/2008/texmf-var/web2c/pdftex/etex.log.
8813 %
8814 % With TeX Live 2008, etex now includes hyphenation patterns for all
8815 % available languages. This means we can support hyphenation in
8816 % Texinfo, at least to some extent. (This still doesn't solve the
8817 % accented characters problem.)
8818 %
8819 \catcode`@=11
8820 \def\txisetlanguage#1#2#3{%
8821 % do not set the language if the name is undefined in the current TeX.
8822 \expandafter\ifx\csname lang@#1\endcsname \relax
8823 \message{no patterns for #1}%
8824 \else
8825 \global\language = \csname lang@#1\endcsname
8826 \fi
8827 % but there is no harm in adjusting the hyphenmin values regardless.
8828 \global\lefthyphenmin = #2\relax
8829 \global\righthyphenmin = #3\relax
8830 }
8831
8832 % Helpers for encodings.
8833 % Set the catcode of characters 128 through 255 to the specified number.
8834 %
8835 \def\setnonasciicharscatcode#1{%
8836 \count255=128
8837 \loop\ifnum\count255<256
8838 \global\catcode\count255=#1\relax
8839 \advance\count255 by 1
8840 \repeat
8841 }
8842
8843 \def\setnonasciicharscatcodenonglobal#1{%
8844 \count255=128
8845 \loop\ifnum\count255<256
8846 \catcode\count255=#1\relax
8847 \advance\count255 by 1
8848 \repeat
8849 }
8850
8851 % @documentencoding sets the definition of non-ASCII characters
8852 % according to the specified encoding.
8853 %
8854 \parseargdef\documentencoding{%
8855 % Encoding being declared for the document.
8856 \def\declaredencoding{\csname #1.enc\endcsname}%
8857 %
8858 % Supported encodings: names converted to tokens in order to be able
8859 % to compare them with \ifx.
8860 \def\ascii{\csname US-ASCII.enc\endcsname}%
8861 \def\latnine{\csname ISO-8859-15.enc\endcsname}%
8862 \def\latone{\csname ISO-8859-1.enc\endcsname}%
8863 \def\lattwo{\csname ISO-8859-2.enc\endcsname}%
8864 \def\utfeight{\csname UTF-8.enc\endcsname}%
8865 %
8866 \ifx \declaredencoding \ascii
8867 \asciichardefs
8868 %
8869 \else \ifx \declaredencoding \lattwo
8870 \setnonasciicharscatcode\active
8871 \lattwochardefs
8872 %
8873 \else \ifx \declaredencoding \latone
8874 \setnonasciicharscatcode\active
8875 \latonechardefs
8876 %
8877 \else \ifx \declaredencoding \latnine
8878 \setnonasciicharscatcode\active
8879 \latninechardefs
8880 %
8881 \else \ifx \declaredencoding \utfeight
8882 \setnonasciicharscatcode\active
8883 \utfeightchardefs
8884 %
8885 \else
8886 \message{Unknown document encoding #1, ignoring.}%
8887 %
8888 \fi % utfeight
8889 \fi % latnine
8890 \fi % latone
8891 \fi % lattwo
8892 \fi % ascii
8893 }
8894
8895 % A message to be logged when using a character that isn't available
8896 % the default font encoding (OT1).
8897 %
8898 \def\missingcharmsg#1{\message{Character missing in OT1 encoding: #1.}}
8899
8900 % Take account of \c (plain) vs. \, (Texinfo) difference.
8901 \def\cedilla#1{\ifx\c\ptexc\c{#1}\else\,{#1}\fi}
8902
8903 % First, make active non-ASCII characters in order for them to be
8904 % correctly categorized when TeX reads the replacement text of
8905 % macros containing the character definitions.
8906 \setnonasciicharscatcode\active
8907 %
8908 % Latin1 (ISO-8859-1) character definitions.
8909 \def\latonechardefs{%
8910 \gdef^^a0{\tie}
8911 \gdef^^a1{\exclamdown}
8912 \gdef^^a2{\missingcharmsg{CENT SIGN}}
8913 \gdef^^a3{{\pounds}}
8914 \gdef^^a4{\missingcharmsg{CURRENCY SIGN}}
8915 \gdef^^a5{\missingcharmsg{YEN SIGN}}
8916 \gdef^^a6{\missingcharmsg{BROKEN BAR}}
8917 \gdef^^a7{\S}
8918 \gdef^^a8{\"{}}
8919 \gdef^^a9{\copyright}
8920 \gdef^^aa{\ordf}
8921 \gdef^^ab{\guillemetleft}
8922 \gdef^^ac{$\lnot$}
8923 \gdef^^ad{\-}
8924 \gdef^^ae{\registeredsymbol}
8925 \gdef^^af{\={}}
8926 %
8927 \gdef^^b0{\textdegree}
8928 \gdef^^b1{$\pm$}
8929 \gdef^^b2{$^2$}
8930 \gdef^^b3{$^3$}
8931 \gdef^^b4{\'{}}
8932 \gdef^^b5{$\mu$}
8933 \gdef^^b6{\P}
8934 %
8935 \gdef^^b7{$^.$}
8936 \gdef^^b8{\cedilla\ }
8937 \gdef^^b9{$^1$}
8938 \gdef^^ba{\ordm}
8939 %
8940 \gdef^^bb{\guillemetright}
8941 \gdef^^bc{$1\over4$}
8942 \gdef^^bd{$1\over2$}
8943 \gdef^^be{$3\over4$}
8944 \gdef^^bf{\questiondown}
8945 %
8946 \gdef^^c0{\`A}
8947 \gdef^^c1{\'A}
8948 \gdef^^c2{\^A}
8949 \gdef^^c3{\~A}
8950 \gdef^^c4{\"A}
8951 \gdef^^c5{\ringaccent A}
8952 \gdef^^c6{\AE}
8953 \gdef^^c7{\cedilla C}
8954 \gdef^^c8{\`E}
8955 \gdef^^c9{\'E}
8956 \gdef^^ca{\^E}
8957 \gdef^^cb{\"E}
8958 \gdef^^cc{\`I}
8959 \gdef^^cd{\'I}
8960 \gdef^^ce{\^I}
8961 \gdef^^cf{\"I}
8962 %
8963 \gdef^^d0{\DH}
8964 \gdef^^d1{\~N}
8965 \gdef^^d2{\`O}
8966 \gdef^^d3{\'O}
8967 \gdef^^d4{\^O}
8968 \gdef^^d5{\~O}
8969 \gdef^^d6{\"O}
8970 \gdef^^d7{$\times$}
8971 \gdef^^d8{\O}
8972 \gdef^^d9{\`U}
8973 \gdef^^da{\'U}
8974 \gdef^^db{\^U}
8975 \gdef^^dc{\"U}
8976 \gdef^^dd{\'Y}
8977 \gdef^^de{\TH}
8978 \gdef^^df{\ss}
8979 %
8980 \gdef^^e0{\`a}
8981 \gdef^^e1{\'a}
8982 \gdef^^e2{\^a}
8983 \gdef^^e3{\~a}
8984 \gdef^^e4{\"a}
8985 \gdef^^e5{\ringaccent a}
8986 \gdef^^e6{\ae}
8987 \gdef^^e7{\cedilla c}
8988 \gdef^^e8{\`e}
8989 \gdef^^e9{\'e}
8990 \gdef^^ea{\^e}
8991 \gdef^^eb{\"e}
8992 \gdef^^ec{\`{\dotless i}}
8993 \gdef^^ed{\'{\dotless i}}
8994 \gdef^^ee{\^{\dotless i}}
8995 \gdef^^ef{\"{\dotless i}}
8996 %
8997 \gdef^^f0{\dh}
8998 \gdef^^f1{\~n}
8999 \gdef^^f2{\`o}
9000 \gdef^^f3{\'o}
9001 \gdef^^f4{\^o}
9002 \gdef^^f5{\~o}
9003 \gdef^^f6{\"o}
9004 \gdef^^f7{$\div$}
9005 \gdef^^f8{\o}
9006 \gdef^^f9{\`u}
9007 \gdef^^fa{\'u}
9008 \gdef^^fb{\^u}
9009 \gdef^^fc{\"u}
9010 \gdef^^fd{\'y}
9011 \gdef^^fe{\th}
9012 \gdef^^ff{\"y}
9013 }
9014
9015 % Latin9 (ISO-8859-15) encoding character definitions.
9016 \def\latninechardefs{%
9017 % Encoding is almost identical to Latin1.
9018 \latonechardefs
9019 %
9020 \gdef^^a4{\euro}
9021 \gdef^^a6{\v S}
9022 \gdef^^a8{\v s}
9023 \gdef^^b4{\v Z}
9024 \gdef^^b8{\v z}
9025 \gdef^^bc{\OE}
9026 \gdef^^bd{\oe}
9027 \gdef^^be{\"Y}
9028 }
9029
9030 % Latin2 (ISO-8859-2) character definitions.
9031 \def\lattwochardefs{%
9032 \gdef^^a0{\tie}
9033 \gdef^^a1{\ogonek{A}}
9034 \gdef^^a2{\u{}}
9035 \gdef^^a3{\L}
9036 \gdef^^a4{\missingcharmsg{CURRENCY SIGN}}
9037 \gdef^^a5{\v L}
9038 \gdef^^a6{\'S}
9039 \gdef^^a7{\S}
9040 \gdef^^a8{\"{}}
9041 \gdef^^a9{\v S}
9042 \gdef^^aa{\cedilla S}
9043 \gdef^^ab{\v T}
9044 \gdef^^ac{\'Z}
9045 \gdef^^ad{\-}
9046 \gdef^^ae{\v Z}
9047 \gdef^^af{\dotaccent Z}
9048 %
9049 \gdef^^b0{\textdegree}
9050 \gdef^^b1{\ogonek{a}}
9051 \gdef^^b2{\ogonek{ }}
9052 \gdef^^b3{\l}
9053 \gdef^^b4{\'{}}
9054 \gdef^^b5{\v l}
9055 \gdef^^b6{\'s}
9056 \gdef^^b7{\v{}}
9057 \gdef^^b8{\cedilla\ }
9058 \gdef^^b9{\v s}
9059 \gdef^^ba{\cedilla s}
9060 \gdef^^bb{\v t}
9061 \gdef^^bc{\'z}
9062 \gdef^^bd{\H{}}
9063 \gdef^^be{\v z}
9064 \gdef^^bf{\dotaccent z}
9065 %
9066 \gdef^^c0{\'R}
9067 \gdef^^c1{\'A}
9068 \gdef^^c2{\^A}
9069 \gdef^^c3{\u A}
9070 \gdef^^c4{\"A}
9071 \gdef^^c5{\'L}
9072 \gdef^^c6{\'C}
9073 \gdef^^c7{\cedilla C}
9074 \gdef^^c8{\v C}
9075 \gdef^^c9{\'E}
9076 \gdef^^ca{\ogonek{E}}
9077 \gdef^^cb{\"E}
9078 \gdef^^cc{\v E}
9079 \gdef^^cd{\'I}
9080 \gdef^^ce{\^I}
9081 \gdef^^cf{\v D}
9082 %
9083 \gdef^^d0{\DH}
9084 \gdef^^d1{\'N}
9085 \gdef^^d2{\v N}
9086 \gdef^^d3{\'O}
9087 \gdef^^d4{\^O}
9088 \gdef^^d5{\H O}
9089 \gdef^^d6{\"O}
9090 \gdef^^d7{$\times$}
9091 \gdef^^d8{\v R}
9092 \gdef^^d9{\ringaccent U}
9093 \gdef^^da{\'U}
9094 \gdef^^db{\H U}
9095 \gdef^^dc{\"U}
9096 \gdef^^dd{\'Y}
9097 \gdef^^de{\cedilla T}
9098 \gdef^^df{\ss}
9099 %
9100 \gdef^^e0{\'r}
9101 \gdef^^e1{\'a}
9102 \gdef^^e2{\^a}
9103 \gdef^^e3{\u a}
9104 \gdef^^e4{\"a}
9105 \gdef^^e5{\'l}
9106 \gdef^^e6{\'c}
9107 \gdef^^e7{\cedilla c}
9108 \gdef^^e8{\v c}
9109 \gdef^^e9{\'e}
9110 \gdef^^ea{\ogonek{e}}
9111 \gdef^^eb{\"e}
9112 \gdef^^ec{\v e}
9113 \gdef^^ed{\'{\dotless{i}}}
9114 \gdef^^ee{\^{\dotless{i}}}
9115 \gdef^^ef{\v d}
9116 %
9117 \gdef^^f0{\dh}
9118 \gdef^^f1{\'n}
9119 \gdef^^f2{\v n}
9120 \gdef^^f3{\'o}
9121 \gdef^^f4{\^o}
9122 \gdef^^f5{\H o}
9123 \gdef^^f6{\"o}
9124 \gdef^^f7{$\div$}
9125 \gdef^^f8{\v r}
9126 \gdef^^f9{\ringaccent u}
9127 \gdef^^fa{\'u}
9128 \gdef^^fb{\H u}
9129 \gdef^^fc{\"u}
9130 \gdef^^fd{\'y}
9131 \gdef^^fe{\cedilla t}
9132 \gdef^^ff{\dotaccent{}}
9133 }
9134
9135 % UTF-8 character definitions.
9136 %
9137 % This code to support UTF-8 is based on LaTeX's utf8.def, with some
9138 % changes for Texinfo conventions. It is included here under the GPL by
9139 % permission from Frank Mittelbach and the LaTeX team.
9140 %
9141 \newcount\countUTFx
9142 \newcount\countUTFy
9143 \newcount\countUTFz
9144
9145 \gdef\UTFviiiTwoOctets#1#2{\expandafter
9146 \UTFviiiDefined\csname u8:#1\string #2\endcsname}
9147 %
9148 \gdef\UTFviiiThreeOctets#1#2#3{\expandafter
9149 \UTFviiiDefined\csname u8:#1\string #2\string #3\endcsname}
9150 %
9151 \gdef\UTFviiiFourOctets#1#2#3#4{\expandafter
9152 \UTFviiiDefined\csname u8:#1\string #2\string #3\string #4\endcsname}
9153
9154 \gdef\UTFviiiDefined#1{%
9155 \ifx #1\relax
9156 \message{\linenumber Unicode char \string #1 not defined for Texinfo}%
9157 \else
9158 \expandafter #1%
9159 \fi
9160 }
9161
9162 \begingroup
9163 \catcode`\~13
9164 \catcode`\"12
9165
9166 \def\UTFviiiLoop{%
9167 \global\catcode\countUTFx\active
9168 \uccode`\~\countUTFx
9169 \uppercase\expandafter{\UTFviiiTmp}%
9170 \advance\countUTFx by 1
9171 \ifnum\countUTFx < \countUTFy
9172 \expandafter\UTFviiiLoop
9173 \fi}
9174
9175 \countUTFx = "C2
9176 \countUTFy = "E0
9177 \def\UTFviiiTmp{%
9178 \xdef~{\noexpand\UTFviiiTwoOctets\string~}}
9179 \UTFviiiLoop
9180
9181 \countUTFx = "E0
9182 \countUTFy = "F0
9183 \def\UTFviiiTmp{%
9184 \xdef~{\noexpand\UTFviiiThreeOctets\string~}}
9185 \UTFviiiLoop
9186
9187 \countUTFx = "F0
9188 \countUTFy = "F4
9189 \def\UTFviiiTmp{%
9190 \xdef~{\noexpand\UTFviiiFourOctets\string~}}
9191 \UTFviiiLoop
9192 \endgroup
9193
9194 \begingroup
9195 \catcode`\"=12
9196 \catcode`\<=12
9197 \catcode`\.=12
9198 \catcode`\,=12
9199 \catcode`\;=12
9200 \catcode`\!=12
9201 \catcode`\~=13
9202
9203 \gdef\DeclareUnicodeCharacter#1#2{%
9204 \countUTFz = "#1\relax
9205 %\wlog{\space\space defining Unicode char U+#1 (decimal \the\countUTFz)}%
9206 \begingroup
9207 \parseXMLCharref
9208 \def\UTFviiiTwoOctets##1##2{%
9209 \csname u8:##1\string ##2\endcsname}%
9210 \def\UTFviiiThreeOctets##1##2##3{%
9211 \csname u8:##1\string ##2\string ##3\endcsname}%
9212 \def\UTFviiiFourOctets##1##2##3##4{%
9213 \csname u8:##1\string ##2\string ##3\string ##4\endcsname}%
9214 \expandafter\expandafter\expandafter\expandafter
9215 \expandafter\expandafter\expandafter
9216 \gdef\UTFviiiTmp{#2}%
9217 \endgroup}
9218
9219 \gdef\parseXMLCharref{%
9220 \ifnum\countUTFz < "A0\relax
9221 \errhelp = \EMsimple
9222 \errmessage{Cannot define Unicode char value < 00A0}%
9223 \else\ifnum\countUTFz < "800\relax
9224 \parseUTFviiiA,%
9225 \parseUTFviiiB C\UTFviiiTwoOctets.,%
9226 \else\ifnum\countUTFz < "10000\relax
9227 \parseUTFviiiA;%
9228 \parseUTFviiiA,%
9229 \parseUTFviiiB E\UTFviiiThreeOctets.{,;}%
9230 \else
9231 \parseUTFviiiA;%
9232 \parseUTFviiiA,%
9233 \parseUTFviiiA!%
9234 \parseUTFviiiB F\UTFviiiFourOctets.{!,;}%
9235 \fi\fi\fi
9236 }
9237
9238 \gdef\parseUTFviiiA#1{%
9239 \countUTFx = \countUTFz
9240 \divide\countUTFz by 64
9241 \countUTFy = \countUTFz
9242 \multiply\countUTFz by 64
9243 \advance\countUTFx by -\countUTFz
9244 \advance\countUTFx by 128
9245 \uccode `#1\countUTFx
9246 \countUTFz = \countUTFy}
9247
9248 \gdef\parseUTFviiiB#1#2#3#4{%
9249 \advance\countUTFz by "#10\relax
9250 \uccode `#3\countUTFz
9251 \uppercase{\gdef\UTFviiiTmp{#2#3#4}}}
9252 \endgroup
9253
9254 \def\utfeightchardefs{%
9255 \DeclareUnicodeCharacter{00A0}{\tie}
9256 \DeclareUnicodeCharacter{00A1}{\exclamdown}
9257 \DeclareUnicodeCharacter{00A3}{\pounds}
9258 \DeclareUnicodeCharacter{00A8}{\"{ }}
9259 \DeclareUnicodeCharacter{00A9}{\copyright}
9260 \DeclareUnicodeCharacter{00AA}{\ordf}
9261 \DeclareUnicodeCharacter{00AB}{\guillemetleft}
9262 \DeclareUnicodeCharacter{00AD}{\-}
9263 \DeclareUnicodeCharacter{00AE}{\registeredsymbol}
9264 \DeclareUnicodeCharacter{00AF}{\={ }}
9265
9266 \DeclareUnicodeCharacter{00B0}{\ringaccent{ }}
9267 \DeclareUnicodeCharacter{00B4}{\'{ }}
9268 \DeclareUnicodeCharacter{00B8}{\cedilla{ }}
9269 \DeclareUnicodeCharacter{00BA}{\ordm}
9270 \DeclareUnicodeCharacter{00BB}{\guillemetright}
9271 \DeclareUnicodeCharacter{00BF}{\questiondown}
9272
9273 \DeclareUnicodeCharacter{00C0}{\`A}
9274 \DeclareUnicodeCharacter{00C1}{\'A}
9275 \DeclareUnicodeCharacter{00C2}{\^A}
9276 \DeclareUnicodeCharacter{00C3}{\~A}
9277 \DeclareUnicodeCharacter{00C4}{\"A}
9278 \DeclareUnicodeCharacter{00C5}{\AA}
9279 \DeclareUnicodeCharacter{00C6}{\AE}
9280 \DeclareUnicodeCharacter{00C7}{\cedilla{C}}
9281 \DeclareUnicodeCharacter{00C8}{\`E}
9282 \DeclareUnicodeCharacter{00C9}{\'E}
9283 \DeclareUnicodeCharacter{00CA}{\^E}
9284 \DeclareUnicodeCharacter{00CB}{\"E}
9285 \DeclareUnicodeCharacter{00CC}{\`I}
9286 \DeclareUnicodeCharacter{00CD}{\'I}
9287 \DeclareUnicodeCharacter{00CE}{\^I}
9288 \DeclareUnicodeCharacter{00CF}{\"I}
9289
9290 \DeclareUnicodeCharacter{00D0}{\DH}
9291 \DeclareUnicodeCharacter{00D1}{\~N}
9292 \DeclareUnicodeCharacter{00D2}{\`O}
9293 \DeclareUnicodeCharacter{00D3}{\'O}
9294 \DeclareUnicodeCharacter{00D4}{\^O}
9295 \DeclareUnicodeCharacter{00D5}{\~O}
9296 \DeclareUnicodeCharacter{00D6}{\"O}
9297 \DeclareUnicodeCharacter{00D8}{\O}
9298 \DeclareUnicodeCharacter{00D9}{\`U}
9299 \DeclareUnicodeCharacter{00DA}{\'U}
9300 \DeclareUnicodeCharacter{00DB}{\^U}
9301 \DeclareUnicodeCharacter{00DC}{\"U}
9302 \DeclareUnicodeCharacter{00DD}{\'Y}
9303 \DeclareUnicodeCharacter{00DE}{\TH}
9304 \DeclareUnicodeCharacter{00DF}{\ss}
9305
9306 \DeclareUnicodeCharacter{00E0}{\`a}
9307 \DeclareUnicodeCharacter{00E1}{\'a}
9308 \DeclareUnicodeCharacter{00E2}{\^a}
9309 \DeclareUnicodeCharacter{00E3}{\~a}
9310 \DeclareUnicodeCharacter{00E4}{\"a}
9311 \DeclareUnicodeCharacter{00E5}{\aa}
9312 \DeclareUnicodeCharacter{00E6}{\ae}
9313 \DeclareUnicodeCharacter{00E7}{\cedilla{c}}
9314 \DeclareUnicodeCharacter{00E8}{\`e}
9315 \DeclareUnicodeCharacter{00E9}{\'e}
9316 \DeclareUnicodeCharacter{00EA}{\^e}
9317 \DeclareUnicodeCharacter{00EB}{\"e}
9318 \DeclareUnicodeCharacter{00EC}{\`{\dotless{i}}}
9319 \DeclareUnicodeCharacter{00ED}{\'{\dotless{i}}}
9320 \DeclareUnicodeCharacter{00EE}{\^{\dotless{i}}}
9321 \DeclareUnicodeCharacter{00EF}{\"{\dotless{i}}}
9322
9323 \DeclareUnicodeCharacter{00F0}{\dh}
9324 \DeclareUnicodeCharacter{00F1}{\~n}
9325 \DeclareUnicodeCharacter{00F2}{\`o}
9326 \DeclareUnicodeCharacter{00F3}{\'o}
9327 \DeclareUnicodeCharacter{00F4}{\^o}
9328 \DeclareUnicodeCharacter{00F5}{\~o}
9329 \DeclareUnicodeCharacter{00F6}{\"o}
9330 \DeclareUnicodeCharacter{00F8}{\o}
9331 \DeclareUnicodeCharacter{00F9}{\`u}
9332 \DeclareUnicodeCharacter{00FA}{\'u}
9333 \DeclareUnicodeCharacter{00FB}{\^u}
9334 \DeclareUnicodeCharacter{00FC}{\"u}
9335 \DeclareUnicodeCharacter{00FD}{\'y}
9336 \DeclareUnicodeCharacter{00FE}{\th}
9337 \DeclareUnicodeCharacter{00FF}{\"y}
9338
9339 \DeclareUnicodeCharacter{0100}{\=A}
9340 \DeclareUnicodeCharacter{0101}{\=a}
9341 \DeclareUnicodeCharacter{0102}{\u{A}}
9342 \DeclareUnicodeCharacter{0103}{\u{a}}
9343 \DeclareUnicodeCharacter{0104}{\ogonek{A}}
9344 \DeclareUnicodeCharacter{0105}{\ogonek{a}}
9345 \DeclareUnicodeCharacter{0106}{\'C}
9346 \DeclareUnicodeCharacter{0107}{\'c}
9347 \DeclareUnicodeCharacter{0108}{\^C}
9348 \DeclareUnicodeCharacter{0109}{\^c}
9349 \DeclareUnicodeCharacter{0118}{\ogonek{E}}
9350 \DeclareUnicodeCharacter{0119}{\ogonek{e}}
9351 \DeclareUnicodeCharacter{010A}{\dotaccent{C}}
9352 \DeclareUnicodeCharacter{010B}{\dotaccent{c}}
9353 \DeclareUnicodeCharacter{010C}{\v{C}}
9354 \DeclareUnicodeCharacter{010D}{\v{c}}
9355 \DeclareUnicodeCharacter{010E}{\v{D}}
9356
9357 \DeclareUnicodeCharacter{0112}{\=E}
9358 \DeclareUnicodeCharacter{0113}{\=e}
9359 \DeclareUnicodeCharacter{0114}{\u{E}}
9360 \DeclareUnicodeCharacter{0115}{\u{e}}
9361 \DeclareUnicodeCharacter{0116}{\dotaccent{E}}
9362 \DeclareUnicodeCharacter{0117}{\dotaccent{e}}
9363 \DeclareUnicodeCharacter{011A}{\v{E}}
9364 \DeclareUnicodeCharacter{011B}{\v{e}}
9365 \DeclareUnicodeCharacter{011C}{\^G}
9366 \DeclareUnicodeCharacter{011D}{\^g}
9367 \DeclareUnicodeCharacter{011E}{\u{G}}
9368 \DeclareUnicodeCharacter{011F}{\u{g}}
9369
9370 \DeclareUnicodeCharacter{0120}{\dotaccent{G}}
9371 \DeclareUnicodeCharacter{0121}{\dotaccent{g}}
9372 \DeclareUnicodeCharacter{0124}{\^H}
9373 \DeclareUnicodeCharacter{0125}{\^h}
9374 \DeclareUnicodeCharacter{0128}{\~I}
9375 \DeclareUnicodeCharacter{0129}{\~{\dotless{i}}}
9376 \DeclareUnicodeCharacter{012A}{\=I}
9377 \DeclareUnicodeCharacter{012B}{\={\dotless{i}}}
9378 \DeclareUnicodeCharacter{012C}{\u{I}}
9379 \DeclareUnicodeCharacter{012D}{\u{\dotless{i}}}
9380
9381 \DeclareUnicodeCharacter{0130}{\dotaccent{I}}
9382 \DeclareUnicodeCharacter{0131}{\dotless{i}}
9383 \DeclareUnicodeCharacter{0132}{IJ}
9384 \DeclareUnicodeCharacter{0133}{ij}
9385 \DeclareUnicodeCharacter{0134}{\^J}
9386 \DeclareUnicodeCharacter{0135}{\^{\dotless{j}}}
9387 \DeclareUnicodeCharacter{0139}{\'L}
9388 \DeclareUnicodeCharacter{013A}{\'l}
9389
9390 \DeclareUnicodeCharacter{0141}{\L}
9391 \DeclareUnicodeCharacter{0142}{\l}
9392 \DeclareUnicodeCharacter{0143}{\'N}
9393 \DeclareUnicodeCharacter{0144}{\'n}
9394 \DeclareUnicodeCharacter{0147}{\v{N}}
9395 \DeclareUnicodeCharacter{0148}{\v{n}}
9396 \DeclareUnicodeCharacter{014C}{\=O}
9397 \DeclareUnicodeCharacter{014D}{\=o}
9398 \DeclareUnicodeCharacter{014E}{\u{O}}
9399 \DeclareUnicodeCharacter{014F}{\u{o}}
9400
9401 \DeclareUnicodeCharacter{0150}{\H{O}}
9402 \DeclareUnicodeCharacter{0151}{\H{o}}
9403 \DeclareUnicodeCharacter{0152}{\OE}
9404 \DeclareUnicodeCharacter{0153}{\oe}
9405 \DeclareUnicodeCharacter{0154}{\'R}
9406 \DeclareUnicodeCharacter{0155}{\'r}
9407 \DeclareUnicodeCharacter{0158}{\v{R}}
9408 \DeclareUnicodeCharacter{0159}{\v{r}}
9409 \DeclareUnicodeCharacter{015A}{\'S}
9410 \DeclareUnicodeCharacter{015B}{\'s}
9411 \DeclareUnicodeCharacter{015C}{\^S}
9412 \DeclareUnicodeCharacter{015D}{\^s}
9413 \DeclareUnicodeCharacter{015E}{\cedilla{S}}
9414 \DeclareUnicodeCharacter{015F}{\cedilla{s}}
9415
9416 \DeclareUnicodeCharacter{0160}{\v{S}}
9417 \DeclareUnicodeCharacter{0161}{\v{s}}
9418 \DeclareUnicodeCharacter{0162}{\cedilla{t}}
9419 \DeclareUnicodeCharacter{0163}{\cedilla{T}}
9420 \DeclareUnicodeCharacter{0164}{\v{T}}
9421
9422 \DeclareUnicodeCharacter{0168}{\~U}
9423 \DeclareUnicodeCharacter{0169}{\~u}
9424 \DeclareUnicodeCharacter{016A}{\=U}
9425 \DeclareUnicodeCharacter{016B}{\=u}
9426 \DeclareUnicodeCharacter{016C}{\u{U}}
9427 \DeclareUnicodeCharacter{016D}{\u{u}}
9428 \DeclareUnicodeCharacter{016E}{\ringaccent{U}}
9429 \DeclareUnicodeCharacter{016F}{\ringaccent{u}}
9430
9431 \DeclareUnicodeCharacter{0170}{\H{U}}
9432 \DeclareUnicodeCharacter{0171}{\H{u}}
9433 \DeclareUnicodeCharacter{0174}{\^W}
9434 \DeclareUnicodeCharacter{0175}{\^w}
9435 \DeclareUnicodeCharacter{0176}{\^Y}
9436 \DeclareUnicodeCharacter{0177}{\^y}
9437 \DeclareUnicodeCharacter{0178}{\"Y}
9438 \DeclareUnicodeCharacter{0179}{\'Z}
9439 \DeclareUnicodeCharacter{017A}{\'z}
9440 \DeclareUnicodeCharacter{017B}{\dotaccent{Z}}
9441 \DeclareUnicodeCharacter{017C}{\dotaccent{z}}
9442 \DeclareUnicodeCharacter{017D}{\v{Z}}
9443 \DeclareUnicodeCharacter{017E}{\v{z}}
9444
9445 \DeclareUnicodeCharacter{01C4}{D\v{Z}}
9446 \DeclareUnicodeCharacter{01C5}{D\v{z}}
9447 \DeclareUnicodeCharacter{01C6}{d\v{z}}
9448 \DeclareUnicodeCharacter{01C7}{LJ}
9449 \DeclareUnicodeCharacter{01C8}{Lj}
9450 \DeclareUnicodeCharacter{01C9}{lj}
9451 \DeclareUnicodeCharacter{01CA}{NJ}
9452 \DeclareUnicodeCharacter{01CB}{Nj}
9453 \DeclareUnicodeCharacter{01CC}{nj}
9454 \DeclareUnicodeCharacter{01CD}{\v{A}}
9455 \DeclareUnicodeCharacter{01CE}{\v{a}}
9456 \DeclareUnicodeCharacter{01CF}{\v{I}}
9457
9458 \DeclareUnicodeCharacter{01D0}{\v{\dotless{i}}}
9459 \DeclareUnicodeCharacter{01D1}{\v{O}}
9460 \DeclareUnicodeCharacter{01D2}{\v{o}}
9461 \DeclareUnicodeCharacter{01D3}{\v{U}}
9462 \DeclareUnicodeCharacter{01D4}{\v{u}}
9463
9464 \DeclareUnicodeCharacter{01E2}{\={\AE}}
9465 \DeclareUnicodeCharacter{01E3}{\={\ae}}
9466 \DeclareUnicodeCharacter{01E6}{\v{G}}
9467 \DeclareUnicodeCharacter{01E7}{\v{g}}
9468 \DeclareUnicodeCharacter{01E8}{\v{K}}
9469 \DeclareUnicodeCharacter{01E9}{\v{k}}
9470
9471 \DeclareUnicodeCharacter{01F0}{\v{\dotless{j}}}
9472 \DeclareUnicodeCharacter{01F1}{DZ}
9473 \DeclareUnicodeCharacter{01F2}{Dz}
9474 \DeclareUnicodeCharacter{01F3}{dz}
9475 \DeclareUnicodeCharacter{01F4}{\'G}
9476 \DeclareUnicodeCharacter{01F5}{\'g}
9477 \DeclareUnicodeCharacter{01F8}{\`N}
9478 \DeclareUnicodeCharacter{01F9}{\`n}
9479 \DeclareUnicodeCharacter{01FC}{\'{\AE}}
9480 \DeclareUnicodeCharacter{01FD}{\'{\ae}}
9481 \DeclareUnicodeCharacter{01FE}{\'{\O}}
9482 \DeclareUnicodeCharacter{01FF}{\'{\o}}
9483
9484 \DeclareUnicodeCharacter{021E}{\v{H}}
9485 \DeclareUnicodeCharacter{021F}{\v{h}}
9486
9487 \DeclareUnicodeCharacter{0226}{\dotaccent{A}}
9488 \DeclareUnicodeCharacter{0227}{\dotaccent{a}}
9489 \DeclareUnicodeCharacter{0228}{\cedilla{E}}
9490 \DeclareUnicodeCharacter{0229}{\cedilla{e}}
9491 \DeclareUnicodeCharacter{022E}{\dotaccent{O}}
9492 \DeclareUnicodeCharacter{022F}{\dotaccent{o}}
9493
9494 \DeclareUnicodeCharacter{0232}{\=Y}
9495 \DeclareUnicodeCharacter{0233}{\=y}
9496 \DeclareUnicodeCharacter{0237}{\dotless{j}}
9497
9498 \DeclareUnicodeCharacter{02DB}{\ogonek{ }}
9499
9500 \DeclareUnicodeCharacter{1E02}{\dotaccent{B}}
9501 \DeclareUnicodeCharacter{1E03}{\dotaccent{b}}
9502 \DeclareUnicodeCharacter{1E04}{\udotaccent{B}}
9503 \DeclareUnicodeCharacter{1E05}{\udotaccent{b}}
9504 \DeclareUnicodeCharacter{1E06}{\ubaraccent{B}}
9505 \DeclareUnicodeCharacter{1E07}{\ubaraccent{b}}
9506 \DeclareUnicodeCharacter{1E0A}{\dotaccent{D}}
9507 \DeclareUnicodeCharacter{1E0B}{\dotaccent{d}}
9508 \DeclareUnicodeCharacter{1E0C}{\udotaccent{D}}
9509 \DeclareUnicodeCharacter{1E0D}{\udotaccent{d}}
9510 \DeclareUnicodeCharacter{1E0E}{\ubaraccent{D}}
9511 \DeclareUnicodeCharacter{1E0F}{\ubaraccent{d}}
9512
9513 \DeclareUnicodeCharacter{1E1E}{\dotaccent{F}}
9514 \DeclareUnicodeCharacter{1E1F}{\dotaccent{f}}
9515
9516 \DeclareUnicodeCharacter{1E20}{\=G}
9517 \DeclareUnicodeCharacter{1E21}{\=g}
9518 \DeclareUnicodeCharacter{1E22}{\dotaccent{H}}
9519 \DeclareUnicodeCharacter{1E23}{\dotaccent{h}}
9520 \DeclareUnicodeCharacter{1E24}{\udotaccent{H}}
9521 \DeclareUnicodeCharacter{1E25}{\udotaccent{h}}
9522 \DeclareUnicodeCharacter{1E26}{\"H}
9523 \DeclareUnicodeCharacter{1E27}{\"h}
9524
9525 \DeclareUnicodeCharacter{1E30}{\'K}
9526 \DeclareUnicodeCharacter{1E31}{\'k}
9527 \DeclareUnicodeCharacter{1E32}{\udotaccent{K}}
9528 \DeclareUnicodeCharacter{1E33}{\udotaccent{k}}
9529 \DeclareUnicodeCharacter{1E34}{\ubaraccent{K}}
9530 \DeclareUnicodeCharacter{1E35}{\ubaraccent{k}}
9531 \DeclareUnicodeCharacter{1E36}{\udotaccent{L}}
9532 \DeclareUnicodeCharacter{1E37}{\udotaccent{l}}
9533 \DeclareUnicodeCharacter{1E3A}{\ubaraccent{L}}
9534 \DeclareUnicodeCharacter{1E3B}{\ubaraccent{l}}
9535 \DeclareUnicodeCharacter{1E3E}{\'M}
9536 \DeclareUnicodeCharacter{1E3F}{\'m}
9537
9538 \DeclareUnicodeCharacter{1E40}{\dotaccent{M}}
9539 \DeclareUnicodeCharacter{1E41}{\dotaccent{m}}
9540 \DeclareUnicodeCharacter{1E42}{\udotaccent{M}}
9541 \DeclareUnicodeCharacter{1E43}{\udotaccent{m}}
9542 \DeclareUnicodeCharacter{1E44}{\dotaccent{N}}
9543 \DeclareUnicodeCharacter{1E45}{\dotaccent{n}}
9544 \DeclareUnicodeCharacter{1E46}{\udotaccent{N}}
9545 \DeclareUnicodeCharacter{1E47}{\udotaccent{n}}
9546 \DeclareUnicodeCharacter{1E48}{\ubaraccent{N}}
9547 \DeclareUnicodeCharacter{1E49}{\ubaraccent{n}}
9548
9549 \DeclareUnicodeCharacter{1E54}{\'P}
9550 \DeclareUnicodeCharacter{1E55}{\'p}
9551 \DeclareUnicodeCharacter{1E56}{\dotaccent{P}}
9552 \DeclareUnicodeCharacter{1E57}{\dotaccent{p}}
9553 \DeclareUnicodeCharacter{1E58}{\dotaccent{R}}
9554 \DeclareUnicodeCharacter{1E59}{\dotaccent{r}}
9555 \DeclareUnicodeCharacter{1E5A}{\udotaccent{R}}
9556 \DeclareUnicodeCharacter{1E5B}{\udotaccent{r}}
9557 \DeclareUnicodeCharacter{1E5E}{\ubaraccent{R}}
9558 \DeclareUnicodeCharacter{1E5F}{\ubaraccent{r}}
9559
9560 \DeclareUnicodeCharacter{1E60}{\dotaccent{S}}
9561 \DeclareUnicodeCharacter{1E61}{\dotaccent{s}}
9562 \DeclareUnicodeCharacter{1E62}{\udotaccent{S}}
9563 \DeclareUnicodeCharacter{1E63}{\udotaccent{s}}
9564 \DeclareUnicodeCharacter{1E6A}{\dotaccent{T}}
9565 \DeclareUnicodeCharacter{1E6B}{\dotaccent{t}}
9566 \DeclareUnicodeCharacter{1E6C}{\udotaccent{T}}
9567 \DeclareUnicodeCharacter{1E6D}{\udotaccent{t}}
9568 \DeclareUnicodeCharacter{1E6E}{\ubaraccent{T}}
9569 \DeclareUnicodeCharacter{1E6F}{\ubaraccent{t}}
9570
9571 \DeclareUnicodeCharacter{1E7C}{\~V}
9572 \DeclareUnicodeCharacter{1E7D}{\~v}
9573 \DeclareUnicodeCharacter{1E7E}{\udotaccent{V}}
9574 \DeclareUnicodeCharacter{1E7F}{\udotaccent{v}}
9575
9576 \DeclareUnicodeCharacter{1E80}{\`W}
9577 \DeclareUnicodeCharacter{1E81}{\`w}
9578 \DeclareUnicodeCharacter{1E82}{\'W}
9579 \DeclareUnicodeCharacter{1E83}{\'w}
9580 \DeclareUnicodeCharacter{1E84}{\"W}
9581 \DeclareUnicodeCharacter{1E85}{\"w}
9582 \DeclareUnicodeCharacter{1E86}{\dotaccent{W}}
9583 \DeclareUnicodeCharacter{1E87}{\dotaccent{w}}
9584 \DeclareUnicodeCharacter{1E88}{\udotaccent{W}}
9585 \DeclareUnicodeCharacter{1E89}{\udotaccent{w}}
9586 \DeclareUnicodeCharacter{1E8A}{\dotaccent{X}}
9587 \DeclareUnicodeCharacter{1E8B}{\dotaccent{x}}
9588 \DeclareUnicodeCharacter{1E8C}{\"X}
9589 \DeclareUnicodeCharacter{1E8D}{\"x}
9590 \DeclareUnicodeCharacter{1E8E}{\dotaccent{Y}}
9591 \DeclareUnicodeCharacter{1E8F}{\dotaccent{y}}
9592
9593 \DeclareUnicodeCharacter{1E90}{\^Z}
9594 \DeclareUnicodeCharacter{1E91}{\^z}
9595 \DeclareUnicodeCharacter{1E92}{\udotaccent{Z}}
9596 \DeclareUnicodeCharacter{1E93}{\udotaccent{z}}
9597 \DeclareUnicodeCharacter{1E94}{\ubaraccent{Z}}
9598 \DeclareUnicodeCharacter{1E95}{\ubaraccent{z}}
9599 \DeclareUnicodeCharacter{1E96}{\ubaraccent{h}}
9600 \DeclareUnicodeCharacter{1E97}{\"t}
9601 \DeclareUnicodeCharacter{1E98}{\ringaccent{w}}
9602 \DeclareUnicodeCharacter{1E99}{\ringaccent{y}}
9603
9604 \DeclareUnicodeCharacter{1EA0}{\udotaccent{A}}
9605 \DeclareUnicodeCharacter{1EA1}{\udotaccent{a}}
9606
9607 \DeclareUnicodeCharacter{1EB8}{\udotaccent{E}}
9608 \DeclareUnicodeCharacter{1EB9}{\udotaccent{e}}
9609 \DeclareUnicodeCharacter{1EBC}{\~E}
9610 \DeclareUnicodeCharacter{1EBD}{\~e}
9611
9612 \DeclareUnicodeCharacter{1ECA}{\udotaccent{I}}
9613 \DeclareUnicodeCharacter{1ECB}{\udotaccent{i}}
9614 \DeclareUnicodeCharacter{1ECC}{\udotaccent{O}}
9615 \DeclareUnicodeCharacter{1ECD}{\udotaccent{o}}
9616
9617 \DeclareUnicodeCharacter{1EE4}{\udotaccent{U}}
9618 \DeclareUnicodeCharacter{1EE5}{\udotaccent{u}}
9619
9620 \DeclareUnicodeCharacter{1EF2}{\`Y}
9621 \DeclareUnicodeCharacter{1EF3}{\`y}
9622 \DeclareUnicodeCharacter{1EF4}{\udotaccent{Y}}
9623
9624 \DeclareUnicodeCharacter{1EF8}{\~Y}
9625 \DeclareUnicodeCharacter{1EF9}{\~y}
9626
9627 \DeclareUnicodeCharacter{2013}{--}
9628 \DeclareUnicodeCharacter{2014}{---}
9629 \DeclareUnicodeCharacter{2018}{\quoteleft}
9630 \DeclareUnicodeCharacter{2019}{\quoteright}
9631 \DeclareUnicodeCharacter{201A}{\quotesinglbase}
9632 \DeclareUnicodeCharacter{201C}{\quotedblleft}
9633 \DeclareUnicodeCharacter{201D}{\quotedblright}
9634 \DeclareUnicodeCharacter{201E}{\quotedblbase}
9635 \DeclareUnicodeCharacter{2022}{\bullet}
9636 \DeclareUnicodeCharacter{2026}{\dots}
9637 \DeclareUnicodeCharacter{2039}{\guilsinglleft}
9638 \DeclareUnicodeCharacter{203A}{\guilsinglright}
9639 \DeclareUnicodeCharacter{20AC}{\euro}
9640
9641 \DeclareUnicodeCharacter{2192}{\expansion}
9642 \DeclareUnicodeCharacter{21D2}{\result}
9643
9644 \DeclareUnicodeCharacter{2212}{\minus}
9645 \DeclareUnicodeCharacter{2217}{\point}
9646 \DeclareUnicodeCharacter{2261}{\equiv}
9647 }% end of \utfeightchardefs
9648
9649
9650 % US-ASCII character definitions.
9651 \def\asciichardefs{% nothing need be done
9652 \relax
9653 }
9654
9655 % Make non-ASCII characters printable again for compatibility with
9656 % existing Texinfo documents that may use them, even without declaring a
9657 % document encoding.
9658 %
9659 \setnonasciicharscatcode \other
9660
9661
9662 \message{formatting,}
9663
9664 \newdimen\defaultparindent \defaultparindent = 15pt
9665
9666 \chapheadingskip = 15pt plus 4pt minus 2pt
9667 \secheadingskip = 12pt plus 3pt minus 2pt
9668 \subsecheadingskip = 9pt plus 2pt minus 2pt
9669
9670 % Prevent underfull vbox error messages.
9671 \vbadness = 10000
9672
9673 % Don't be very finicky about underfull hboxes, either.
9674 \hbadness = 6666
9675
9676 % Following George Bush, get rid of widows and orphans.
9677 \widowpenalty=10000
9678 \clubpenalty=10000
9679
9680 % Use TeX 3.0's \emergencystretch to help line breaking, but if we're
9681 % using an old version of TeX, don't do anything. We want the amount of
9682 % stretch added to depend on the line length, hence the dependence on
9683 % \hsize. We call this whenever the paper size is set.
9684 %
9685 \def\setemergencystretch{%
9686 \ifx\emergencystretch\thisisundefined
9687 % Allow us to assign to \emergencystretch anyway.
9688 \def\emergencystretch{\dimen0}%
9689 \else
9690 \emergencystretch = .15\hsize
9691 \fi
9692 }
9693
9694 % Parameters in order: 1) textheight; 2) textwidth;
9695 % 3) voffset; 4) hoffset; 5) binding offset; 6) topskip;
9696 % 7) physical page height; 8) physical page width.
9697 %
9698 % We also call \setleading{\textleading}, so the caller should define
9699 % \textleading. The caller should also set \parskip.
9700 %
9701 \def\internalpagesizes#1#2#3#4#5#6#7#8{%
9702 \voffset = #3\relax
9703 \topskip = #6\relax
9704 \splittopskip = \topskip
9705 %
9706 \vsize = #1\relax
9707 \advance\vsize by \topskip
9708 \outervsize = \vsize
9709 \advance\outervsize by 2\topandbottommargin
9710 \pageheight = \vsize
9711 %
9712 \hsize = #2\relax
9713 \outerhsize = \hsize
9714 \advance\outerhsize by 0.5in
9715 \pagewidth = \hsize
9716 %
9717 \normaloffset = #4\relax
9718 \bindingoffset = #5\relax
9719 %
9720 \ifpdf
9721 \pdfpageheight #7\relax
9722 \pdfpagewidth #8\relax
9723 % if we don't reset these, they will remain at "1 true in" of
9724 % whatever layout pdftex was dumped with.
9725 \pdfhorigin = 1 true in
9726 \pdfvorigin = 1 true in
9727 \fi
9728 %
9729 \setleading{\textleading}
9730 %
9731 \parindent = \defaultparindent
9732 \setemergencystretch
9733 }
9734
9735 % @letterpaper (the default).
9736 \def\letterpaper{{\globaldefs = 1
9737 \parskip = 3pt plus 2pt minus 1pt
9738 \textleading = 13.2pt
9739 %
9740 % If page is nothing but text, make it come out even.
9741 \internalpagesizes{607.2pt}{6in}% that's 46 lines
9742 {\voffset}{.25in}%
9743 {\bindingoffset}{36pt}%
9744 {11in}{8.5in}%
9745 }}
9746
9747 % Use @smallbook to reset parameters for 7x9.25 trim size.
9748 \def\smallbook{{\globaldefs = 1
9749 \parskip = 2pt plus 1pt
9750 \textleading = 12pt
9751 %
9752 \internalpagesizes{7.5in}{5in}%
9753 {-.2in}{0in}%
9754 {\bindingoffset}{16pt}%
9755 {9.25in}{7in}%
9756 %
9757 \lispnarrowing = 0.3in
9758 \tolerance = 700
9759 \hfuzz = 1pt
9760 \contentsrightmargin = 0pt
9761 \defbodyindent = .5cm
9762 }}
9763
9764 % Use @smallerbook to reset parameters for 6x9 trim size.
9765 % (Just testing, parameters still in flux.)
9766 \def\smallerbook{{\globaldefs = 1
9767 \parskip = 1.5pt plus 1pt
9768 \textleading = 12pt
9769 %
9770 \internalpagesizes{7.4in}{4.8in}%
9771 {-.2in}{-.4in}%
9772 {0pt}{14pt}%
9773 {9in}{6in}%
9774 %
9775 \lispnarrowing = 0.25in
9776 \tolerance = 700
9777 \hfuzz = 1pt
9778 \contentsrightmargin = 0pt
9779 \defbodyindent = .4cm
9780 }}
9781
9782 % Use @afourpaper to print on European A4 paper.
9783 \def\afourpaper{{\globaldefs = 1
9784 \parskip = 3pt plus 2pt minus 1pt
9785 \textleading = 13.2pt
9786 %
9787 % Double-side printing via postscript on Laserjet 4050
9788 % prints double-sided nicely when \bindingoffset=10mm and \hoffset=-6mm.
9789 % To change the settings for a different printer or situation, adjust
9790 % \normaloffset until the front-side and back-side texts align. Then
9791 % do the same for \bindingoffset. You can set these for testing in
9792 % your texinfo source file like this:
9793 % @tex
9794 % \global\normaloffset = -6mm
9795 % \global\bindingoffset = 10mm
9796 % @end tex
9797 \internalpagesizes{673.2pt}{160mm}% that's 51 lines
9798 {\voffset}{\hoffset}%
9799 {\bindingoffset}{44pt}%
9800 {297mm}{210mm}%
9801 %
9802 \tolerance = 700
9803 \hfuzz = 1pt
9804 \contentsrightmargin = 0pt
9805 \defbodyindent = 5mm
9806 }}
9807
9808 % Use @afivepaper to print on European A5 paper.
9809 % From romildo@urano.iceb.ufop.br, 2 July 2000.
9810 % He also recommends making @example and @lisp be small.
9811 \def\afivepaper{{\globaldefs = 1
9812 \parskip = 2pt plus 1pt minus 0.1pt
9813 \textleading = 12.5pt
9814 %
9815 \internalpagesizes{160mm}{120mm}%
9816 {\voffset}{\hoffset}%
9817 {\bindingoffset}{8pt}%
9818 {210mm}{148mm}%
9819 %
9820 \lispnarrowing = 0.2in
9821 \tolerance = 800
9822 \hfuzz = 1.2pt
9823 \contentsrightmargin = 0pt
9824 \defbodyindent = 2mm
9825 \tableindent = 12mm
9826 }}
9827
9828 % A specific text layout, 24x15cm overall, intended for A4 paper.
9829 \def\afourlatex{{\globaldefs = 1
9830 \afourpaper
9831 \internalpagesizes{237mm}{150mm}%
9832 {\voffset}{4.6mm}%
9833 {\bindingoffset}{7mm}%
9834 {297mm}{210mm}%
9835 %
9836 % Must explicitly reset to 0 because we call \afourpaper.
9837 \globaldefs = 0
9838 }}
9839
9840 % Use @afourwide to print on A4 paper in landscape format.
9841 \def\afourwide{{\globaldefs = 1
9842 \afourpaper
9843 \internalpagesizes{241mm}{165mm}%
9844 {\voffset}{-2.95mm}%
9845 {\bindingoffset}{7mm}%
9846 {297mm}{210mm}%
9847 \globaldefs = 0
9848 }}
9849
9850 % @pagesizes TEXTHEIGHT[,TEXTWIDTH]
9851 % Perhaps we should allow setting the margins, \topskip, \parskip,
9852 % and/or leading, also. Or perhaps we should compute them somehow.
9853 %
9854 \parseargdef\pagesizes{\pagesizesyyy #1,,\finish}
9855 \def\pagesizesyyy#1,#2,#3\finish{{%
9856 \setbox0 = \hbox{\ignorespaces #2}\ifdim\wd0 > 0pt \hsize=#2\relax \fi
9857 \globaldefs = 1
9858 %
9859 \parskip = 3pt plus 2pt minus 1pt
9860 \setleading{\textleading}%
9861 %
9862 \dimen0 = #1\relax
9863 \advance\dimen0 by \voffset
9864 %
9865 \dimen2 = \hsize
9866 \advance\dimen2 by \normaloffset
9867 %
9868 \internalpagesizes{#1}{\hsize}%
9869 {\voffset}{\normaloffset}%
9870 {\bindingoffset}{44pt}%
9871 {\dimen0}{\dimen2}%
9872 }}
9873
9874 % Set default to letter.
9875 %
9876 \letterpaper
9877
9878
9879 \message{and turning on texinfo input format.}
9880
9881 \def^^L{\par} % remove \outer, so ^L can appear in an @comment
9882
9883 % DEL is a comment character, in case @c does not suffice.
9884 \catcode`\^^? = 14
9885
9886 % Define macros to output various characters with catcode for normal text.
9887 \catcode`\"=\other \def\normaldoublequote{"}
9888 \catcode`\$=\other \def\normaldollar{$}%$ font-lock fix
9889 \catcode`\+=\other \def\normalplus{+}
9890 \catcode`\<=\other \def\normalless{<}
9891 \catcode`\>=\other \def\normalgreater{>}
9892 \catcode`\^=\other \def\normalcaret{^}
9893 \catcode`\_=\other \def\normalunderscore{_}
9894 \catcode`\|=\other \def\normalverticalbar{|}
9895 \catcode`\~=\other \def\normaltilde{~}
9896
9897 % This macro is used to make a character print one way in \tt
9898 % (where it can probably be output as-is), and another way in other fonts,
9899 % where something hairier probably needs to be done.
9900 %
9901 % #1 is what to print if we are indeed using \tt; #2 is what to print
9902 % otherwise. Since all the Computer Modern typewriter fonts have zero
9903 % interword stretch (and shrink), and it is reasonable to expect all
9904 % typewriter fonts to have this, we can check that font parameter.
9905 %
9906 \def\ifusingtt#1#2{\ifdim \fontdimen3\font=0pt #1\else #2\fi}
9907
9908 % Same as above, but check for italic font. Actually this also catches
9909 % non-italic slanted fonts since it is impossible to distinguish them from
9910 % italic fonts. But since this is only used by $ and it uses \sl anyway
9911 % this is not a problem.
9912 \def\ifusingit#1#2{\ifdim \fontdimen1\font>0pt #1\else #2\fi}
9913
9914 % Turn off all special characters except @
9915 % (and those which the user can use as if they were ordinary).
9916 % Most of these we simply print from the \tt font, but for some, we can
9917 % use math or other variants that look better in normal text.
9918
9919 \catcode`\"=\active
9920 \def\activedoublequote{{\tt\char34}}
9921 \let"=\activedoublequote
9922 \catcode`\~=\active
9923 \def~{{\tt\char126}}
9924 \chardef\hat=`\^
9925 \catcode`\^=\active
9926 \def^{{\tt \hat}}
9927
9928 \catcode`\_=\active
9929 \def_{\ifusingtt\normalunderscore\_}
9930 \let\realunder=_
9931 % Subroutine for the previous macro.
9932 \def\_{\leavevmode \kern.07em \vbox{\hrule width.3em height.1ex}\kern .07em }
9933
9934 \catcode`\|=\active
9935 \def|{{\tt\char124}}
9936 \chardef \less=`\<
9937 \catcode`\<=\active
9938 \def<{{\tt \less}}
9939 \chardef \gtr=`\>
9940 \catcode`\>=\active
9941 \def>{{\tt \gtr}}
9942 \catcode`\+=\active
9943 \def+{{\tt \char 43}}
9944 \catcode`\$=\active
9945 \def${\ifusingit{{\sl\$}}\normaldollar}%$ font-lock fix
9946
9947 % If a .fmt file is being used, characters that might appear in a file
9948 % name cannot be active until we have parsed the command line.
9949 % So turn them off again, and have \everyjob (or @setfilename) turn them on.
9950 % \otherifyactive is called near the end of this file.
9951 \def\otherifyactive{\catcode`+=\other \catcode`\_=\other}
9952
9953 % Used sometimes to turn off (effectively) the active characters even after
9954 % parsing them.
9955 \def\turnoffactive{%
9956 \normalturnoffactive
9957 \otherbackslash
9958 }
9959
9960 \catcode`\@=0
9961
9962 % \backslashcurfont outputs one backslash character in current font,
9963 % as in \char`\\.
9964 \global\chardef\backslashcurfont=`\\
9965 \global\let\rawbackslashxx=\backslashcurfont % let existing .??s files work
9966
9967 % \realbackslash is an actual character `\' with catcode other, and
9968 % \doublebackslash is two of them (for the pdf outlines).
9969 {\catcode`\\=\other @gdef@realbackslash{\} @gdef@doublebackslash{\\}}
9970
9971 % In texinfo, backslash is an active character; it prints the backslash
9972 % in fixed width font.
9973 \catcode`\\=\active % @ for escape char from now on.
9974
9975 % The story here is that in math mode, the \char of \backslashcurfont
9976 % ends up printing the roman \ from the math symbol font (because \char
9977 % in math mode uses the \mathcode, and plain.tex sets
9978 % \mathcode`\\="026E). It seems better for @backslashchar{} to always
9979 % print a typewriter backslash, hence we use an explicit \mathchar,
9980 % which is the decimal equivalent of "715c (class 7, e.g., use \fam;
9981 % ignored family value; char position "5C). We can't use " for the
9982 % usual hex value because it has already been made active.
9983 @def@normalbackslash{{@tt @ifmmode @mathchar29020 @else @backslashcurfont @fi}}
9984 @let@backslashchar = @normalbackslash % @backslashchar{} is for user documents.
9985
9986 % On startup, @fixbackslash assigns:
9987 % @let \ = @normalbackslash
9988 % \rawbackslash defines an active \ to do \backslashcurfont.
9989 % \otherbackslash defines an active \ to be a literal `\' character with
9990 % catcode other. We switch back and forth between these.
9991 @gdef@rawbackslash{@let\=@backslashcurfont}
9992 @gdef@otherbackslash{@let\=@realbackslash}
9993
9994 % Same as @turnoffactive except outputs \ as {\tt\char`\\} instead of
9995 % the literal character `\'. Also revert - to its normal character, in
9996 % case the active - from code has slipped in.
9997 %
9998 {@catcode`- = @active
9999 @gdef@normalturnoffactive{%
10000 @let-=@normaldash
10001 @let"=@normaldoublequote
10002 @let$=@normaldollar %$ font-lock fix
10003 @let+=@normalplus
10004 @let<=@normalless
10005 @let>=@normalgreater
10006 @let\=@normalbackslash
10007 @let^=@normalcaret
10008 @let_=@normalunderscore
10009 @let|=@normalverticalbar
10010 @let~=@normaltilde
10011 @markupsetuplqdefault
10012 @markupsetuprqdefault
10013 @unsepspaces
10014 }
10015 }
10016
10017 % Make _ and + \other characters, temporarily.
10018 % This is canceled by @fixbackslash.
10019 @otherifyactive
10020
10021 % If a .fmt file is being used, we don't want the `\input texinfo' to show up.
10022 % That is what \eatinput is for; after that, the `\' should revert to printing
10023 % a backslash.
10024 %
10025 @gdef@eatinput input texinfo{@fixbackslash}
10026 @global@let\ = @eatinput
10027
10028 % On the other hand, perhaps the file did not have a `\input texinfo'. Then
10029 % the first `\' in the file would cause an error. This macro tries to fix
10030 % that, assuming it is called before the first `\' could plausibly occur.
10031 % Also turn back on active characters that might appear in the input
10032 % file name, in case not using a pre-dumped format.
10033 %
10034 @gdef@fixbackslash{%
10035 @ifx\@eatinput @let\ = @normalbackslash @fi
10036 @catcode`+=@active
10037 @catcode`@_=@active
10038 }
10039
10040 % Say @foo, not \foo, in error messages.
10041 @escapechar = `@@
10042
10043 % These (along with & and #) are made active for url-breaking, so need
10044 % active definitions as the normal characters.
10045 @def@normaldot{.}
10046 @def@normalquest{?}
10047 @def@normalslash{/}
10048
10049 % These look ok in all fonts, so just make them not special.
10050 % @hashchar{} gets its own user-level command, because of #line.
10051 @catcode`@& = @other @def@normalamp{&}
10052 @catcode`@# = @other @def@normalhash{#}
10053 @catcode`@% = @other @def@normalpercent{%}
10054
10055 @let @hashchar = @normalhash
10056
10057 @c Finally, make ` and ' active, so that txicodequoteundirected and
10058 @c txicodequotebacktick work right in, e.g., @w{@code{`foo'}}. If we
10059 @c don't make ` and ' active, @code will not get them as active chars.
10060 @c Do this last of all since we use ` in the previous @catcode assignments.
10061 @catcode`@'=@active
10062 @catcode`@`=@active
10063 @markupsetuplqdefault
10064 @markupsetuprqdefault
10065
10066 @c Local variables:
10067 @c eval: (add-hook 'write-file-hooks 'time-stamp)
10068 @c page-delimiter: "^\\\\message"
10069 @c time-stamp-start: "def\\\\texinfoversion{"
10070 @c time-stamp-format: "%:y-%02m-%02d.%02H"
10071 @c time-stamp-end: "}"
10072 @c End:
10073
10074 @c vim:sw=2:
10075
10076 @ignore
10077 arch-tag: e1b36e32-c96e-4135-a41a-0b2efa2ea115
10078 @end ignore
0 /* conf/config.h.in. Generated from configure.ac by autoheader. */
1
2 /* GIT commit id revision used to build this package */
3 #undef BUILD_REVISION
4
5 /* The time this package was configured for a build */
6 #undef BUILD_TIMESTAMP
7
8 /* Defined if we are building with uiserver support. */
9 #undef ENABLE_UISERVER
10
11 /* Locate binaries only via this PATH */
12 #undef FIXED_SEARCH_PATH
13
14 /* Define to nothing if C supports flexible array members, and to 1 if it does
15 not. That way, with a declaration like `struct s { int n; double
16 d[FLEXIBLE_ARRAY_MEMBER]; };', the struct hack can be used with pre-C99
17 compilers. When computing the size of such an object, don't use 'sizeof
18 (struct s)' as it overestimates the size. Use 'offsetof (struct s, d)'
19 instead. Don't use 'offsetof (struct s, d[0])', as this doesn't work with
20 MSVC and with C++ compilers. */
21 #undef FLEXIBLE_ARRAY_MEMBER
22
23 /* version of the libassuan library */
24 #undef GPGME_LIBASSUAN_VERSION
25
26 /* The default error source for GPGME. */
27 #undef GPG_ERR_SOURCE_DEFAULT
28
29 /* Defined if we build for an Android system */
30 #undef HAVE_ANDROID_SYSTEM
31
32 /* Define to 1 if you have the <argp.h> header file. */
33 #undef HAVE_ARGP_H
34
35 /* Define if ttyname_r is does not work with small buffers */
36 #undef HAVE_BROKEN_TTYNAME_R
37
38 /* Define to 1 if you have the `closefrom' function. */
39 #undef HAVE_CLOSEFROM
40
41 /* define if the compiler supports basic C++11 syntax */
42 #undef HAVE_CXX11
43
44 /* Define to 1 if you have the declaration of `ttyname_r', and to 0 if you
45 don't. */
46 #undef HAVE_DECL_TTYNAME_R
47
48 /* Define to 1 if you have the <dlfcn.h> header file. */
49 #undef HAVE_DLFCN_H
50
51 /* Defined if we run on some of the PCDOS like systems (DOS, Windoze. OS/2)
52 with special properties like no file modes */
53 #undef HAVE_DOSISH_SYSTEM
54
55 /* Define to 1 if the system has the type `error_t'. */
56 #undef HAVE_ERROR_T
57
58 /* Define to 1 if fseeko (and presumably ftello) exists and is declared. */
59 #undef HAVE_FSEEKO
60
61 /* Define to 1 if you have the `getegid' function. */
62 #undef HAVE_GETEGID
63
64 /* Define to 1 if you have the `getenv_r' function. */
65 #undef HAVE_GETENV_R
66
67 /* Define to 1 if you have the `getgid' function. */
68 #undef HAVE_GETGID
69
70 /* Define to 1 if you have the <inttypes.h> header file. */
71 #undef HAVE_INTTYPES_H
72
73 /* Define to 1 if you have the <locale.h> header file. */
74 #undef HAVE_LOCALE_H
75
76 /* Defined if we build for an MacOS system */
77 #undef HAVE_MACOS_SYSTEM
78
79 /* Define to 1 if you have the <minix/config.h> header file. */
80 #undef HAVE_MINIX_CONFIG_H
81
82 /* Define if the ttyname_r function has a POSIX compliant declaration. */
83 #undef HAVE_POSIXDECL_TTYNAME_R
84
85 /* Define to 1 if you have the `setenv' function. */
86 #undef HAVE_SETENV
87
88 /* Define to 1 if you have the `setlocale' function. */
89 #undef HAVE_SETLOCALE
90
91 /* Define to 1 if you have the <stdint.h> header file. */
92 #undef HAVE_STDINT_H
93
94 /* Define to 1 if you have the <stdio.h> header file. */
95 #undef HAVE_STDIO_H
96
97 /* Define to 1 if you have the <stdlib.h> header file. */
98 #undef HAVE_STDLIB_H
99
100 /* Define to 1 if you have the `stpcpy' function. */
101 #undef HAVE_STPCPY
102
103 /* Define to 1 if you have the <strings.h> header file. */
104 #undef HAVE_STRINGS_H
105
106 /* Define to 1 if you have the <string.h> header file. */
107 #undef HAVE_STRING_H
108
109 /* Define to 1 if you have the <sys/select.h> header file. */
110 #undef HAVE_SYS_SELECT_H
111
112 /* Define to 1 if you have the <sys/stat.h> header file. */
113 #undef HAVE_SYS_STAT_H
114
115 /* Define to 1 if you have the <sys/time.h> header file. */
116 #undef HAVE_SYS_TIME_H
117
118 /* Define to 1 if you have the <sys/types.h> header file. */
119 #undef HAVE_SYS_TYPES_H
120
121 /* Define to 1 if you have the <sys/uio.h> header file. */
122 #undef HAVE_SYS_UIO_H
123
124 /* Define if getenv() is thread-safe */
125 #undef HAVE_THREAD_SAFE_GETENV
126
127 /* Define to 1 if you have the `timegm' function. */
128 #undef HAVE_TIMEGM
129
130 /* Define if __thread is supported */
131 #undef HAVE_TLS
132
133 /* Define to 1 if you have the `ttyname_r' function. */
134 #undef HAVE_TTYNAME_R
135
136 /* Define to 1 if the system has the type `uintptr_t'. */
137 #undef HAVE_UINTPTR_T
138
139 /* Define to 1 if you have the <unistd.h> header file. */
140 #undef HAVE_UNISTD_H
141
142 /* Defined if we run on any kind of W32 API based system */
143 #undef HAVE_W32_SYSTEM
144
145 /* Defined if we run on a 64 bit W32 API based system */
146 #undef HAVE_W64_SYSTEM
147
148 /* Define to 1 if you have the <wchar.h> header file. */
149 #undef HAVE_WCHAR_H
150
151 /* Define to the sub-directory in which libtool stores uninstalled libraries.
152 */
153 #undef LT_OBJDIR
154
155 /* Name of package */
156 #undef PACKAGE
157
158 /* Define to the address where bug reports for this package should be sent. */
159 #undef PACKAGE_BUGREPORT
160
161 /* Define to the full name of this package. */
162 #undef PACKAGE_NAME
163
164 /* Define to the full name and version of this package. */
165 #undef PACKAGE_STRING
166
167 /* Define to the one symbol short name of this package. */
168 #undef PACKAGE_TARNAME
169
170 /* Define to the home page for this package. */
171 #undef PACKAGE_URL
172
173 /* Define to the version of this package. */
174 #undef PACKAGE_VERSION
175
176 /* Define to 1 if ttyname_r is a replacement function. */
177 #undef REPLACE_TTYNAME_R
178
179
180 /* Separators as used in $PATH and file name. */
181 #ifdef HAVE_DOSISH_SYSTEM
182 #define PATHSEP_C ';'
183 #define DIRSEP_C '\\'
184 #define DIRSEP_S "\\"
185 #else
186 #define PATHSEP_C ':'
187 #define DIRSEP_C '/'
188 #define DIRSEP_S "/"
189 #endif
190
191
192 /* The size of `unsigned int', as computed by sizeof. */
193 #undef SIZEOF_UNSIGNED_INT
194
195 /* Define to 1 if all of the C90 standard headers exist (not just the ones
196 required in a freestanding environment). This macro is provided for
197 backward compatibility; new code need not use it. */
198 #undef STDC_HEADERS
199
200 /* Defined if descriptor passing is enabled and supported */
201 #undef USE_DESCRIPTOR_PASSING
202
203 /* Defined if SYS_getdents can be used on Linux */
204 #undef USE_LINUX_GETDENTS
205
206 /* Enable extensions on AIX 3, Interix. */
207 #ifndef _ALL_SOURCE
208 # undef _ALL_SOURCE
209 #endif
210 /* Enable general extensions on macOS. */
211 #ifndef _DARWIN_C_SOURCE
212 # undef _DARWIN_C_SOURCE
213 #endif
214 /* Enable general extensions on Solaris. */
215 #ifndef __EXTENSIONS__
216 # undef __EXTENSIONS__
217 #endif
218 /* Enable GNU extensions on systems that have them. */
219 #ifndef _GNU_SOURCE
220 # undef _GNU_SOURCE
221 #endif
222 /* Enable X/Open compliant socket functions that do not require linking
223 with -lxnet on HP-UX 11.11. */
224 #ifndef _HPUX_ALT_XOPEN_SOCKET_API
225 # undef _HPUX_ALT_XOPEN_SOCKET_API
226 #endif
227 /* Identify the host operating system as Minix.
228 This macro does not affect the system headers' behavior.
229 A future release of Autoconf may stop defining this macro. */
230 #ifndef _MINIX
231 # undef _MINIX
232 #endif
233 /* Enable general extensions on NetBSD.
234 Enable NetBSD compatibility extensions on Minix. */
235 #ifndef _NETBSD_SOURCE
236 # undef _NETBSD_SOURCE
237 #endif
238 /* Enable OpenBSD compatibility extensions on NetBSD.
239 Oddly enough, this does nothing on OpenBSD. */
240 #ifndef _OPENBSD_SOURCE
241 # undef _OPENBSD_SOURCE
242 #endif
243 /* Define to 1 if needed for POSIX-compatible behavior. */
244 #ifndef _POSIX_SOURCE
245 # undef _POSIX_SOURCE
246 #endif
247 /* Define to 2 if needed for POSIX-compatible behavior. */
248 #ifndef _POSIX_1_SOURCE
249 # undef _POSIX_1_SOURCE
250 #endif
251 /* Enable POSIX-compatible threading on Solaris. */
252 #ifndef _POSIX_PTHREAD_SEMANTICS
253 # undef _POSIX_PTHREAD_SEMANTICS
254 #endif
255 /* Enable extensions specified by ISO/IEC TS 18661-5:2014. */
256 #ifndef __STDC_WANT_IEC_60559_ATTRIBS_EXT__
257 # undef __STDC_WANT_IEC_60559_ATTRIBS_EXT__
258 #endif
259 /* Enable extensions specified by ISO/IEC TS 18661-1:2014. */
260 #ifndef __STDC_WANT_IEC_60559_BFP_EXT__
261 # undef __STDC_WANT_IEC_60559_BFP_EXT__
262 #endif
263 /* Enable extensions specified by ISO/IEC TS 18661-2:2015. */
264 #ifndef __STDC_WANT_IEC_60559_DFP_EXT__
265 # undef __STDC_WANT_IEC_60559_DFP_EXT__
266 #endif
267 /* Enable extensions specified by ISO/IEC TS 18661-4:2015. */
268 #ifndef __STDC_WANT_IEC_60559_FUNCS_EXT__
269 # undef __STDC_WANT_IEC_60559_FUNCS_EXT__
270 #endif
271 /* Enable extensions specified by ISO/IEC TS 18661-3:2015. */
272 #ifndef __STDC_WANT_IEC_60559_TYPES_EXT__
273 # undef __STDC_WANT_IEC_60559_TYPES_EXT__
274 #endif
275 /* Enable extensions specified by ISO/IEC TR 24731-2:2010. */
276 #ifndef __STDC_WANT_LIB_EXT2__
277 # undef __STDC_WANT_LIB_EXT2__
278 #endif
279 /* Enable extensions specified by ISO/IEC 24747:2009. */
280 #ifndef __STDC_WANT_MATH_SPEC_FUNCS__
281 # undef __STDC_WANT_MATH_SPEC_FUNCS__
282 #endif
283 /* Enable extensions on HP NonStop. */
284 #ifndef _TANDEM_SOURCE
285 # undef _TANDEM_SOURCE
286 #endif
287 /* Enable X/Open extensions. Define to 500 only if necessary
288 to make mbstate_t available. */
289 #ifndef _XOPEN_SOURCE
290 # undef _XOPEN_SOURCE
291 #endif
292
293
294 /* Version number of package */
295 #undef VERSION
296
297 /* Expose all libc features (__DARWIN_C_FULL). */
298 #undef _DARWIN_C_SOURCE
299
300 /* Number of bits in a file offset, on hosts where this is settable. */
301 #undef _FILE_OFFSET_BITS
302
303 /* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */
304 #undef _LARGEFILE_SOURCE
305
306 /* Define for large files, on AIX-style hosts. */
307 #undef _LARGE_FILES
308
309 /* To allow the use of GPGME in multithreaded programs we have to use
310 special features from the library.
311 IMPORTANT: gpgme is not yet fully reentrant and you should use it
312 only from one thread. */
313 #ifndef _REENTRANT
314 # define _REENTRANT 1
315 #endif
316
317 /* Activate POSIX interface on MacOS X */
318 #undef _XOPEN_SOURCE
319
320 /* Define to a type to use for `error_t' if it is not otherwise available. */
321 #undef error_t
322
323 /* Define to `__inline__' or `__inline' if that's what the C compiler
324 calls it, or to nothing if 'inline' is not supported under any name. */
325 #ifndef __cplusplus
326 #undef inline
327 #endif
328
329 /* Define to `long int' if <sys/types.h> does not define. */
330 #undef off_t
331
332 /* Define to the type of an unsigned integer type wide enough to hold a
333 pointer, if such a type exists, and if the system does not define it. */
334 #undef uintptr_t
335
336
337 /* Definition of GCC specific attributes. */
338 #if __GNUC__ > 2
339 # define GPGME_GCC_A_PURE __attribute__ ((__pure__))
340 #else
341 # define GPGME_GCC_A_PURE
342 #endif
343
344 /* Under WindowsCE we need gpg-error's strerror macro. */
345 #define GPG_ERR_ENABLE_ERRNO_MACROS 1
346
347 #define CRIGHTBLURB "Copyright (C) 2000 Werner Koch\n" \
348 "Copyright (C) 2001--2021 g10 Code GmbH\n"
349
0 #! /bin/sh
1 # Guess values for system-dependent variables and create Makefiles.
2 # Generated by GNU Autoconf 2.71 for gpgme 1.16.1-unknown.
3 #
4 # Report bugs to <https://bugs.gnupg.org>.
5 #
6 #
7 # Copyright (C) 1992-1996, 1998-2017, 2020-2021 Free Software Foundation,
8 # Inc.
9 #
10 #
11 # This configure script is free software; the Free Software Foundation
12 # gives unlimited permission to copy, distribute and modify it.
13 ## -------------------- ##
14 ## M4sh Initialization. ##
15 ## -------------------- ##
16
17 # Be more Bourne compatible
18 DUALCASE=1; export DUALCASE # for MKS sh
19 as_nop=:
20 if test ${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1
21 then :
22 emulate sh
23 NULLCMD=:
24 # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
25 # is contrary to our usage. Disable this feature.
26 alias -g '${1+"$@"}'='"$@"'
27 setopt NO_GLOB_SUBST
28 else $as_nop
29 case `(set -o) 2>/dev/null` in #(
30 *posix*) :
31 set -o posix ;; #(
32 *) :
33 ;;
34 esac
35 fi
36
37
38
39 # Reset variables that may have inherited troublesome values from
40 # the environment.
41
42 # IFS needs to be set, to space, tab, and newline, in precisely that order.
43 # (If _AS_PATH_WALK were called with IFS unset, it would have the
44 # side effect of setting IFS to empty, thus disabling word splitting.)
45 # Quoting is to prevent editors from complaining about space-tab.
46 as_nl='
47 '
48 export as_nl
49 IFS=" "" $as_nl"
50
51 PS1='$ '
52 PS2='> '
53 PS4='+ '
54
55 # Ensure predictable behavior from utilities with locale-dependent output.
56 LC_ALL=C
57 export LC_ALL
58 LANGUAGE=C
59 export LANGUAGE
60
61 # We cannot yet rely on "unset" to work, but we need these variables
62 # to be unset--not just set to an empty or harmless value--now, to
63 # avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct
64 # also avoids known problems related to "unset" and subshell syntax
65 # in other old shells (e.g. bash 2.01 and pdksh 5.2.14).
66 for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH
67 do eval test \${$as_var+y} \
68 && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
69 done
70
71 # Ensure that fds 0, 1, and 2 are open.
72 if (exec 3>&0) 2>/dev/null; then :; else exec 0</dev/null; fi
73 if (exec 3>&1) 2>/dev/null; then :; else exec 1>/dev/null; fi
74 if (exec 3>&2) ; then :; else exec 2>/dev/null; fi
75
76 # The user is always right.
77 if ${PATH_SEPARATOR+false} :; then
78 PATH_SEPARATOR=:
79 (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
80 (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
81 PATH_SEPARATOR=';'
82 }
83 fi
84
85
86 # Find who we are. Look in the path if we contain no directory separator.
87 as_myself=
88 case $0 in #((
89 *[\\/]* ) as_myself=$0 ;;
90 *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
91 for as_dir in $PATH
92 do
93 IFS=$as_save_IFS
94 case $as_dir in #(((
95 '') as_dir=./ ;;
96 */) ;;
97 *) as_dir=$as_dir/ ;;
98 esac
99 test -r "$as_dir$0" && as_myself=$as_dir$0 && break
100 done
101 IFS=$as_save_IFS
102
103 ;;
104 esac
105 # We did not find ourselves, most probably we were run as `sh COMMAND'
106 # in which case we are not to be found in the path.
107 if test "x$as_myself" = x; then
108 as_myself=$0
109 fi
110 if test ! -f "$as_myself"; then
111 printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
112 exit 1
113 fi
114
115
116 # Use a proper internal environment variable to ensure we don't fall
117 # into an infinite loop, continuously re-executing ourselves.
118 if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
119 _as_can_reexec=no; export _as_can_reexec;
120 # We cannot yet assume a decent shell, so we have to provide a
121 # neutralization value for shells without unset; and this also
122 # works around shells that cannot unset nonexistent variables.
123 # Preserve -v and -x to the replacement shell.
124 BASH_ENV=/dev/null
125 ENV=/dev/null
126 (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
127 case $- in # ((((
128 *v*x* | *x*v* ) as_opts=-vx ;;
129 *v* ) as_opts=-v ;;
130 *x* ) as_opts=-x ;;
131 * ) as_opts= ;;
132 esac
133 exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
134 # Admittedly, this is quite paranoid, since all the known shells bail
135 # out after a failed `exec'.
136 printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2
137 exit 255
138 fi
139 # We don't want this to propagate to other subprocesses.
140 { _as_can_reexec=; unset _as_can_reexec;}
141 if test "x$CONFIG_SHELL" = x; then
142 as_bourne_compatible="as_nop=:
143 if test \${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1
144 then :
145 emulate sh
146 NULLCMD=:
147 # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
148 # is contrary to our usage. Disable this feature.
149 alias -g '\${1+\"\$@\"}'='\"\$@\"'
150 setopt NO_GLOB_SUBST
151 else \$as_nop
152 case \`(set -o) 2>/dev/null\` in #(
153 *posix*) :
154 set -o posix ;; #(
155 *) :
156 ;;
157 esac
158 fi
159 "
160 as_required="as_fn_return () { (exit \$1); }
161 as_fn_success () { as_fn_return 0; }
162 as_fn_failure () { as_fn_return 1; }
163 as_fn_ret_success () { return 0; }
164 as_fn_ret_failure () { return 1; }
165
166 exitcode=0
167 as_fn_success || { exitcode=1; echo as_fn_success failed.; }
168 as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
169 as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
170 as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
171 if ( set x; as_fn_ret_success y && test x = \"\$1\" )
172 then :
173
174 else \$as_nop
175 exitcode=1; echo positional parameters were not saved.
176 fi
177 test x\$exitcode = x0 || exit 1
178 blah=\$(echo \$(echo blah))
179 test x\"\$blah\" = xblah || exit 1
180 test -x / || exit 1"
181 as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
182 as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
183 eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
184 test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
185
186 test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || (
187 ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
188 ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
189 ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
190 PATH=/empty FPATH=/empty; export PATH FPATH
191 test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\
192 || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1
193 test \$(( 1 + 1 )) = 2 || exit 1"
194 if (eval "$as_required") 2>/dev/null
195 then :
196 as_have_required=yes
197 else $as_nop
198 as_have_required=no
199 fi
200 if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null
201 then :
202
203 else $as_nop
204 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
205 as_found=false
206 for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
207 do
208 IFS=$as_save_IFS
209 case $as_dir in #(((
210 '') as_dir=./ ;;
211 */) ;;
212 *) as_dir=$as_dir/ ;;
213 esac
214 as_found=:
215 case $as_dir in #(
216 /*)
217 for as_base in sh bash ksh sh5; do
218 # Try only shells that exist, to save several forks.
219 as_shell=$as_dir$as_base
220 if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
221 as_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null
222 then :
223 CONFIG_SHELL=$as_shell as_have_required=yes
224 if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null
225 then :
226 break 2
227 fi
228 fi
229 done;;
230 esac
231 as_found=false
232 done
233 IFS=$as_save_IFS
234 if $as_found
235 then :
236
237 else $as_nop
238 if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
239 as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null
240 then :
241 CONFIG_SHELL=$SHELL as_have_required=yes
242 fi
243 fi
244
245
246 if test "x$CONFIG_SHELL" != x
247 then :
248 export CONFIG_SHELL
249 # We cannot yet assume a decent shell, so we have to provide a
250 # neutralization value for shells without unset; and this also
251 # works around shells that cannot unset nonexistent variables.
252 # Preserve -v and -x to the replacement shell.
253 BASH_ENV=/dev/null
254 ENV=/dev/null
255 (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
256 case $- in # ((((
257 *v*x* | *x*v* ) as_opts=-vx ;;
258 *v* ) as_opts=-v ;;
259 *x* ) as_opts=-x ;;
260 * ) as_opts= ;;
261 esac
262 exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
263 # Admittedly, this is quite paranoid, since all the known shells bail
264 # out after a failed `exec'.
265 printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2
266 exit 255
267 fi
268
269 if test x$as_have_required = xno
270 then :
271 printf "%s\n" "$0: This script requires a shell more modern than all"
272 printf "%s\n" "$0: the shells that I found on your system."
273 if test ${ZSH_VERSION+y} ; then
274 printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should"
275 printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later."
276 else
277 printf "%s\n" "$0: Please tell bug-autoconf@gnu.org and
278 $0: https://bugs.gnupg.org about your system, including any
279 $0: error possibly output before this message. Then install
280 $0: a modern shell, or manually run the script under such a
281 $0: shell if you do have one."
282 fi
283 exit 1
284 fi
285 fi
286 fi
287 SHELL=${CONFIG_SHELL-/bin/sh}
288 export SHELL
289 # Unset more variables known to interfere with behavior of common tools.
290 CLICOLOR_FORCE= GREP_OPTIONS=
291 unset CLICOLOR_FORCE GREP_OPTIONS
292
293 ## --------------------- ##
294 ## M4sh Shell Functions. ##
295 ## --------------------- ##
296 # as_fn_unset VAR
297 # ---------------
298 # Portably unset VAR.
299 as_fn_unset ()
300 {
301 { eval $1=; unset $1;}
302 }
303 as_unset=as_fn_unset
304
305
306 # as_fn_set_status STATUS
307 # -----------------------
308 # Set $? to STATUS, without forking.
309 as_fn_set_status ()
310 {
311 return $1
312 } # as_fn_set_status
313
314 # as_fn_exit STATUS
315 # -----------------
316 # Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
317 as_fn_exit ()
318 {
319 set +e
320 as_fn_set_status $1
321 exit $1
322 } # as_fn_exit
323 # as_fn_nop
324 # ---------
325 # Do nothing but, unlike ":", preserve the value of $?.
326 as_fn_nop ()
327 {
328 return $?
329 }
330 as_nop=as_fn_nop
331
332 # as_fn_mkdir_p
333 # -------------
334 # Create "$as_dir" as a directory, including parents if necessary.
335 as_fn_mkdir_p ()
336 {
337
338 case $as_dir in #(
339 -*) as_dir=./$as_dir;;
340 esac
341 test -d "$as_dir" || eval $as_mkdir_p || {
342 as_dirs=
343 while :; do
344 case $as_dir in #(
345 *\'*) as_qdir=`printf "%s\n" "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
346 *) as_qdir=$as_dir;;
347 esac
348 as_dirs="'$as_qdir' $as_dirs"
349 as_dir=`$as_dirname -- "$as_dir" ||
350 $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
351 X"$as_dir" : 'X\(//\)[^/]' \| \
352 X"$as_dir" : 'X\(//\)$' \| \
353 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
354 printf "%s\n" X"$as_dir" |
355 sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
356 s//\1/
357 q
358 }
359 /^X\(\/\/\)[^/].*/{
360 s//\1/
361 q
362 }
363 /^X\(\/\/\)$/{
364 s//\1/
365 q
366 }
367 /^X\(\/\).*/{
368 s//\1/
369 q
370 }
371 s/.*/./; q'`
372 test -d "$as_dir" && break
373 done
374 test -z "$as_dirs" || eval "mkdir $as_dirs"
375 } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
376
377
378 } # as_fn_mkdir_p
379
380 # as_fn_executable_p FILE
381 # -----------------------
382 # Test if FILE is an executable regular file.
383 as_fn_executable_p ()
384 {
385 test -f "$1" && test -x "$1"
386 } # as_fn_executable_p
387 # as_fn_append VAR VALUE
388 # ----------------------
389 # Append the text in VALUE to the end of the definition contained in VAR. Take
390 # advantage of any shell optimizations that allow amortized linear growth over
391 # repeated appends, instead of the typical quadratic growth present in naive
392 # implementations.
393 if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null
394 then :
395 eval 'as_fn_append ()
396 {
397 eval $1+=\$2
398 }'
399 else $as_nop
400 as_fn_append ()
401 {
402 eval $1=\$$1\$2
403 }
404 fi # as_fn_append
405
406 # as_fn_arith ARG...
407 # ------------------
408 # Perform arithmetic evaluation on the ARGs, and store the result in the
409 # global $as_val. Take advantage of shells that can avoid forks. The arguments
410 # must be portable across $(()) and expr.
411 if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null
412 then :
413 eval 'as_fn_arith ()
414 {
415 as_val=$(( $* ))
416 }'
417 else $as_nop
418 as_fn_arith ()
419 {
420 as_val=`expr "$@" || test $? -eq 1`
421 }
422 fi # as_fn_arith
423
424 # as_fn_nop
425 # ---------
426 # Do nothing but, unlike ":", preserve the value of $?.
427 as_fn_nop ()
428 {
429 return $?
430 }
431 as_nop=as_fn_nop
432
433 # as_fn_error STATUS ERROR [LINENO LOG_FD]
434 # ----------------------------------------
435 # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
436 # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
437 # script with STATUS, using 1 if that was 0.
438 as_fn_error ()
439 {
440 as_status=$1; test $as_status -eq 0 && as_status=1
441 if test "$4"; then
442 as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
443 printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
444 fi
445 printf "%s\n" "$as_me: error: $2" >&2
446 as_fn_exit $as_status
447 } # as_fn_error
448
449 if expr a : '\(a\)' >/dev/null 2>&1 &&
450 test "X`expr 00001 : '.*\(...\)'`" = X001; then
451 as_expr=expr
452 else
453 as_expr=false
454 fi
455
456 if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
457 as_basename=basename
458 else
459 as_basename=false
460 fi
461
462 if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
463 as_dirname=dirname
464 else
465 as_dirname=false
466 fi
467
468 as_me=`$as_basename -- "$0" ||
469 $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
470 X"$0" : 'X\(//\)$' \| \
471 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
472 printf "%s\n" X/"$0" |
473 sed '/^.*\/\([^/][^/]*\)\/*$/{
474 s//\1/
475 q
476 }
477 /^X\/\(\/\/\)$/{
478 s//\1/
479 q
480 }
481 /^X\/\(\/\).*/{
482 s//\1/
483 q
484 }
485 s/.*/./; q'`
486
487 # Avoid depending upon Character Ranges.
488 as_cr_letters='abcdefghijklmnopqrstuvwxyz'
489 as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
490 as_cr_Letters=$as_cr_letters$as_cr_LETTERS
491 as_cr_digits='0123456789'
492 as_cr_alnum=$as_cr_Letters$as_cr_digits
493
494
495 as_lineno_1=$LINENO as_lineno_1a=$LINENO
496 as_lineno_2=$LINENO as_lineno_2a=$LINENO
497 eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
498 test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
499 # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-)
500 sed -n '
501 p
502 /[$]LINENO/=
503 ' <$as_myself |
504 sed '
505 s/[$]LINENO.*/&-/
506 t lineno
507 b
508 :lineno
509 N
510 :loop
511 s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
512 t loop
513 s/-\n.*//
514 ' >$as_me.lineno &&
515 chmod +x "$as_me.lineno" ||
516 { printf "%s\n" "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
517
518 # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
519 # already done that, so ensure we don't try to do so again and fall
520 # in an infinite loop. This has already happened in practice.
521 _as_can_reexec=no; export _as_can_reexec
522 # Don't try to exec as it changes $[0], causing all sort of problems
523 # (the dirname of $[0] is not the place where we might find the
524 # original and so on. Autoconf is especially sensitive to this).
525 . "./$as_me.lineno"
526 # Exit status is that of the last command.
527 exit
528 }
529
530
531 # Determine whether it's possible to make 'echo' print without a newline.
532 # These variables are no longer used directly by Autoconf, but are AC_SUBSTed
533 # for compatibility with existing Makefiles.
534 ECHO_C= ECHO_N= ECHO_T=
535 case `echo -n x` in #(((((
536 -n*)
537 case `echo 'xy\c'` in
538 *c*) ECHO_T=' ';; # ECHO_T is single tab character.
539 xy) ECHO_C='\c';;
540 *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
541 ECHO_T=' ';;
542 esac;;
543 *)
544 ECHO_N='-n';;
545 esac
546
547 # For backward compatibility with old third-party macros, we provide
548 # the shell variables $as_echo and $as_echo_n. New code should use
549 # AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively.
550 as_echo='printf %s\n'
551 as_echo_n='printf %s'
552
553
554 rm -f conf$$ conf$$.exe conf$$.file
555 if test -d conf$$.dir; then
556 rm -f conf$$.dir/conf$$.file
557 else
558 rm -f conf$$.dir
559 mkdir conf$$.dir 2>/dev/null
560 fi
561 if (echo >conf$$.file) 2>/dev/null; then
562 if ln -s conf$$.file conf$$ 2>/dev/null; then
563 as_ln_s='ln -s'
564 # ... but there are two gotchas:
565 # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
566 # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
567 # In both cases, we have to default to `cp -pR'.
568 ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
569 as_ln_s='cp -pR'
570 elif ln conf$$.file conf$$ 2>/dev/null; then
571 as_ln_s=ln
572 else
573 as_ln_s='cp -pR'
574 fi
575 else
576 as_ln_s='cp -pR'
577 fi
578 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
579 rmdir conf$$.dir 2>/dev/null
580
581 if mkdir -p . 2>/dev/null; then
582 as_mkdir_p='mkdir -p "$as_dir"'
583 else
584 test -d ./-p && rmdir ./-p
585 as_mkdir_p=false
586 fi
587
588 as_test_x='test -x'
589 as_executable_p=as_fn_executable_p
590
591 # Sed expression to map a string onto a valid CPP name.
592 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
593
594 # Sed expression to map a string onto a valid variable name.
595 as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
596
597 SHELL=${CONFIG_SHELL-/bin/sh}
598
599
600 test -n "$DJDIR" || exec 7<&0 </dev/null
601 exec 6>&1
602
603 # Name of the host.
604 # hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
605 # so uname gets run too.
606 ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
607
608 #
609 # Initializations.
610 #
611 ac_default_prefix=/usr/local
612 ac_clean_files=
613 ac_config_libobj_dir=.
614 LIBOBJS=
615 cross_compiling=no
616 subdirs=
617 MFLAGS=
618 MAKEFLAGS=
619
620 # Identity of this package.
621 PACKAGE_NAME='gpgme'
622 PACKAGE_TARNAME='gpgme'
623 PACKAGE_VERSION='1.16.1-unknown'
624 PACKAGE_STRING='gpgme 1.16.1-unknown'
625 PACKAGE_BUGREPORT='https://bugs.gnupg.org'
626 PACKAGE_URL=''
627
628 ac_unique_file="src/gpgme.h.in"
629 # Factoring default headers for most tests.
630 ac_includes_default="\
631 #include <stddef.h>
632 #ifdef HAVE_STDIO_H
633 # include <stdio.h>
634 #endif
635 #ifdef HAVE_STDLIB_H
636 # include <stdlib.h>
637 #endif
638 #ifdef HAVE_STRING_H
639 # include <string.h>
640 #endif
641 #ifdef HAVE_INTTYPES_H
642 # include <inttypes.h>
643 #endif
644 #ifdef HAVE_STDINT_H
645 # include <stdint.h>
646 #endif
647 #ifdef HAVE_STRINGS_H
648 # include <strings.h>
649 #endif
650 #ifdef HAVE_SYS_TYPES_H
651 # include <sys/types.h>
652 #endif
653 #ifdef HAVE_SYS_STAT_H
654 # include <sys/stat.h>
655 #endif
656 #ifdef HAVE_UNISTD_H
657 # include <unistd.h>
658 #endif"
659
660 ac_header_c_list=
661 ac_subst_vars='am__EXEEXT_FALSE
662 am__EXEEXT_TRUE
663 emacs_local_vars_end
664 emacs_local_vars_read_only
665 emacs_local_vars_begin
666 LTLIBOBJS
667 GPGME_CONFIG_AVAIL_LANG
668 GPGME_CONFIG_HOST
669 GPGME_CONFIG_CFLAGS
670 GPGME_CONFIG_LIBS
671 GPGME_CONFIG_API_VERSION
672 HAVE_UISERVER_FALSE
673 HAVE_UISERVER_TRUE
674 USE_DESCRIPTOR_PASSING_FALSE
675 USE_DESCRIPTOR_PASSING_TRUE
676 LIBASSUAN_LIBS
677 LIBASSUAN_CFLAGS
678 LIBASSUAN_CONFIG
679 GPG_ERROR_MT_LIBS
680 GPG_ERROR_MT_CFLAGS
681 GPG_ERROR_LIBS
682 GPG_ERROR_CFLAGS
683 GPGRT_CONFIG
684 GPG_ERROR_CONFIG
685 GLIBC21
686 LIBOBJS
687 API__SSIZE_T
688 API__OFF_T
689 INSERT__TYPEDEFS_FOR_GPGME_H
690 NEED__FILE_OFFSET_BITS
691 RUN_G13_TESTS_FALSE
692 RUN_G13_TESTS_TRUE
693 RUN_GPGSM_TESTS_FALSE
694 RUN_GPGSM_TESTS_TRUE
695 RUN_GPG_TESTS_FALSE
696 RUN_GPG_TESTS_TRUE
697 RUN_GPGCONF_TESTS_FALSE
698 RUN_GPGCONF_TESTS_TRUE
699 BUILD_TIMESTAMP
700 BUILD_FILEVERSION
701 BUILD_VERSION
702 BUILD_REVISION
703 ENABLED_LANGUAGES
704 PYTHONS
705 PYTHON_EXTRA_LDFLAGS
706 PYTHON_EXTRA_LIBS
707 PYTHON_SITE_PKG
708 PYTHON_LDFLAGS
709 PYTHON_CPPFLAGS
710 pkgpyexecdir
711 pyexecdir
712 pkgpythondir
713 pythondir
714 PYTHON_PLATFORM
715 PYTHON_EXEC_PREFIX
716 PYTHON_PREFIX
717 PYTHON_VERSION
718 PYTHON
719 SWIG_LIB
720 SWIG
721 HAVE_DOT
722 HAVE_DOXYGEN_FALSE
723 HAVE_DOXYGEN_TRUE
724 GRAPHVIZ
725 DOXYGEN
726 QTCHOOSER
727 MOC2
728 MOC
729 GPGME_QTTEST_LIBS
730 GPGME_QTTEST_CFLAGS
731 GPGME_QT_LIBS
732 GPGME_QT_CFLAGS
733 HAVE_CXX11
734 BUILD_W32_GLIB_FALSE
735 BUILD_W32_GLIB_TRUE
736 HAVE_MACOS_SYSTEM_FALSE
737 HAVE_MACOS_SYSTEM_TRUE
738 HAVE_ANDROID_SYSTEM_FALSE
739 HAVE_ANDROID_SYSTEM_TRUE
740 HAVE_W64_SYSTEM_FALSE
741 HAVE_W64_SYSTEM_TRUE
742 HAVE_W32_SYSTEM_FALSE
743 HAVE_W32_SYSTEM_TRUE
744 HAVE_DOSISH_SYSTEM_FALSE
745 HAVE_DOSISH_SYSTEM_TRUE
746 GLIB_MKENUMS
747 GOBJECT_QUERY
748 GLIB_GENMARSHAL
749 GLIB_LIBS
750 GLIB_CFLAGS
751 PKG_CONFIG
752 HAVE_LD_VERSION_SCRIPT_FALSE
753 HAVE_LD_VERSION_SCRIPT_TRUE
754 RC
755 CXXCPP
756 OTOOL64
757 OTOOL
758 LIPO
759 NMEDIT
760 DSYMUTIL
761 MANIFEST_TOOL
762 RANLIB
763 ac_ct_AR
764 AR
765 LN_S
766 NM
767 ac_ct_DUMPBIN
768 DUMPBIN
769 LD
770 FGREP
771 EGREP
772 GREP
773 SED
774 LIBTOOL
775 OBJDUMP
776 DLLTOOL
777 AS
778 CC_FOR_BUILD
779 VERSION_NUMBER
780 VERSION_MICRO
781 VERSION_MINOR
782 VERSION_MAJOR
783 GITLOG_TO_CHANGELOG
784 am__fastdepCXX_FALSE
785 am__fastdepCXX_TRUE
786 CXXDEPMODE
787 ac_ct_CXX
788 CXXFLAGS
789 CXX
790 CPP
791 LDADD_FOR_TESTS_KLUDGE
792 am__fastdepCC_FALSE
793 am__fastdepCC_TRUE
794 CCDEPMODE
795 am__nodep
796 AMDEPBACKSLASH
797 AMDEP_FALSE
798 AMDEP_TRUE
799 am__include
800 DEPDIR
801 OBJEXT
802 EXEEXT
803 ac_ct_CC
804 CPPFLAGS
805 LDFLAGS
806 CFLAGS
807 CC
808 SYSROOT
809 host_os
810 host_vendor
811 host_cpu
812 host
813 build_os
814 build_vendor
815 build_cpu
816 build
817 MAINT
818 MAINTAINER_MODE_FALSE
819 MAINTAINER_MODE_TRUE
820 AM_BACKSLASH
821 AM_DEFAULT_VERBOSITY
822 AM_DEFAULT_V
823 AM_V
824 CSCOPE
825 ETAGS
826 CTAGS
827 am__untar
828 am__tar
829 AMTAR
830 am__leading_dot
831 SET_MAKE
832 AWK
833 mkdir_p
834 MKDIR_P
835 INSTALL_STRIP_PROGRAM
836 STRIP
837 install_sh
838 MAKEINFO
839 AUTOHEADER
840 AUTOMAKE
841 AUTOCONF
842 ACLOCAL
843 VERSION
844 PACKAGE
845 CYGPATH_W
846 am__isrc
847 INSTALL_DATA
848 INSTALL_SCRIPT
849 INSTALL_PROGRAM
850 LIBQGPGME_LT_REVISION
851 LIBQGPGME_LT_AGE
852 LIBQGPGME_LT_CURRENT
853 LIBGPGMEPP_LT_REVISION
854 LIBGPGMEPP_LT_AGE
855 LIBGPGMEPP_LT_CURRENT
856 LIBGPGME_LT_REVISION
857 LIBGPGME_LT_AGE
858 LIBGPGME_LT_CURRENT
859 target_alias
860 host_alias
861 build_alias
862 LIBS
863 ECHO_T
864 ECHO_N
865 ECHO_C
866 DEFS
867 mandir
868 localedir
869 libdir
870 psdir
871 pdfdir
872 dvidir
873 htmldir
874 infodir
875 docdir
876 oldincludedir
877 includedir
878 runstatedir
879 localstatedir
880 sharedstatedir
881 sysconfdir
882 datadir
883 datarootdir
884 libexecdir
885 sbindir
886 bindir
887 program_transform_name
888 prefix
889 exec_prefix
890 PACKAGE_URL
891 PACKAGE_BUGREPORT
892 PACKAGE_STRING
893 PACKAGE_VERSION
894 PACKAGE_TARNAME
895 PACKAGE_NAME
896 PATH_SEPARATOR
897 SHELL
898 am__quote'
899 ac_subst_files=''
900 ac_user_opts='
901 enable_option_checking
902 enable_silent_rules
903 enable_maintainer_mode
904 enable_dependency_tracking
905 enable_static
906 enable_shared
907 with_pic
908 enable_fast_install
909 with_gnu_ld
910 with_sysroot
911 enable_libtool_lock
912 enable_glibtest
913 enable_w32_glib
914 enable_fixed_path
915 enable_languages
916 enable_build_timestamp
917 enable_gpgconf_test
918 enable_gpg_test
919 enable_gpgsm_test
920 enable_g13_test
921 enable_largefile
922 with_libgpg_error_prefix
923 with_gpg_error_prefix
924 with_libassuan_prefix
925 enable_fd_passing
926 enable_linux_getdents
927 '
928 ac_precious_vars='build_alias
929 host_alias
930 target_alias
931 SYSROOT
932 CC
933 CFLAGS
934 LDFLAGS
935 LIBS
936 CPPFLAGS
937 CPP
938 CXX
939 CXXFLAGS
940 CCC
941 CC_FOR_BUILD
942 CXXCPP
943 PKG_CONFIG
944 GPGME_QT_CFLAGS
945 GPGME_QT_LIBS
946 GPGME_QTTEST_CFLAGS
947 GPGME_QTTEST_LIBS
948 PYTHON
949 PYTHON_VERSION'
950
951
952 # Initialize some variables set by options.
953 ac_init_help=
954 ac_init_version=false
955 ac_unrecognized_opts=
956 ac_unrecognized_sep=
957 # The variables have the same names as the options, with
958 # dashes changed to underlines.
959 cache_file=/dev/null
960 exec_prefix=NONE
961 no_create=
962 no_recursion=
963 prefix=NONE
964 program_prefix=NONE
965 program_suffix=NONE
966 program_transform_name=s,x,x,
967 silent=
968 site=
969 srcdir=
970 verbose=
971 x_includes=NONE
972 x_libraries=NONE
973
974 # Installation directory options.
975 # These are left unexpanded so users can "make install exec_prefix=/foo"
976 # and all the variables that are supposed to be based on exec_prefix
977 # by default will actually change.
978 # Use braces instead of parens because sh, perl, etc. also accept them.
979 # (The list follows the same order as the GNU Coding Standards.)
980 bindir='${exec_prefix}/bin'
981 sbindir='${exec_prefix}/sbin'
982 libexecdir='${exec_prefix}/libexec'
983 datarootdir='${prefix}/share'
984 datadir='${datarootdir}'
985 sysconfdir='${prefix}/etc'
986 sharedstatedir='${prefix}/com'
987 localstatedir='${prefix}/var'
988 runstatedir='${localstatedir}/run'
989 includedir='${prefix}/include'
990 oldincludedir='/usr/include'
991 docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
992 infodir='${datarootdir}/info'
993 htmldir='${docdir}'
994 dvidir='${docdir}'
995 pdfdir='${docdir}'
996 psdir='${docdir}'
997 libdir='${exec_prefix}/lib'
998 localedir='${datarootdir}/locale'
999 mandir='${datarootdir}/man'
1000
1001 ac_prev=
1002 ac_dashdash=
1003 for ac_option
1004 do
1005 # If the previous option needs an argument, assign it.
1006 if test -n "$ac_prev"; then
1007 eval $ac_prev=\$ac_option
1008 ac_prev=
1009 continue
1010 fi
1011
1012 case $ac_option in
1013 *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
1014 *=) ac_optarg= ;;
1015 *) ac_optarg=yes ;;
1016 esac
1017
1018 case $ac_dashdash$ac_option in
1019 --)
1020 ac_dashdash=yes ;;
1021
1022 -bindir | --bindir | --bindi | --bind | --bin | --bi)
1023 ac_prev=bindir ;;
1024 -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
1025 bindir=$ac_optarg ;;
1026
1027 -build | --build | --buil | --bui | --bu)
1028 ac_prev=build_alias ;;
1029 -build=* | --build=* | --buil=* | --bui=* | --bu=*)
1030 build_alias=$ac_optarg ;;
1031
1032 -cache-file | --cache-file | --cache-fil | --cache-fi \
1033 | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
1034 ac_prev=cache_file ;;
1035 -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
1036 | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
1037 cache_file=$ac_optarg ;;
1038
1039 --config-cache | -C)
1040 cache_file=config.cache ;;
1041
1042 -datadir | --datadir | --datadi | --datad)
1043 ac_prev=datadir ;;
1044 -datadir=* | --datadir=* | --datadi=* | --datad=*)
1045 datadir=$ac_optarg ;;
1046
1047 -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
1048 | --dataroo | --dataro | --datar)
1049 ac_prev=datarootdir ;;
1050 -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
1051 | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
1052 datarootdir=$ac_optarg ;;
1053
1054 -disable-* | --disable-*)
1055 ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
1056 # Reject names that are not valid shell variable names.
1057 expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
1058 as_fn_error $? "invalid feature name: \`$ac_useropt'"
1059 ac_useropt_orig=$ac_useropt
1060 ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'`
1061 case $ac_user_opts in
1062 *"
1063 "enable_$ac_useropt"
1064 "*) ;;
1065 *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
1066 ac_unrecognized_sep=', ';;
1067 esac
1068 eval enable_$ac_useropt=no ;;
1069
1070 -docdir | --docdir | --docdi | --doc | --do)
1071 ac_prev=docdir ;;
1072 -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
1073 docdir=$ac_optarg ;;
1074
1075 -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
1076 ac_prev=dvidir ;;
1077 -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
1078 dvidir=$ac_optarg ;;
1079
1080 -enable-* | --enable-*)
1081 ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
1082 # Reject names that are not valid shell variable names.
1083 expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
1084 as_fn_error $? "invalid feature name: \`$ac_useropt'"
1085 ac_useropt_orig=$ac_useropt
1086 ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'`
1087 case $ac_user_opts in
1088 *"
1089 "enable_$ac_useropt"
1090 "*) ;;
1091 *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
1092 ac_unrecognized_sep=', ';;
1093 esac
1094 eval enable_$ac_useropt=\$ac_optarg ;;
1095
1096 -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
1097 | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
1098 | --exec | --exe | --ex)
1099 ac_prev=exec_prefix ;;
1100 -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
1101 | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
1102 | --exec=* | --exe=* | --ex=*)
1103 exec_prefix=$ac_optarg ;;
1104
1105 -gas | --gas | --ga | --g)
1106 # Obsolete; use --with-gas.
1107 with_gas=yes ;;
1108
1109 -help | --help | --hel | --he | -h)
1110 ac_init_help=long ;;
1111 -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
1112 ac_init_help=recursive ;;
1113 -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
1114 ac_init_help=short ;;
1115
1116 -host | --host | --hos | --ho)
1117 ac_prev=host_alias ;;
1118 -host=* | --host=* | --hos=* | --ho=*)
1119 host_alias=$ac_optarg ;;
1120
1121 -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
1122 ac_prev=htmldir ;;
1123 -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
1124 | --ht=*)
1125 htmldir=$ac_optarg ;;
1126
1127 -includedir | --includedir | --includedi | --included | --include \
1128 | --includ | --inclu | --incl | --inc)
1129 ac_prev=includedir ;;
1130 -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
1131 | --includ=* | --inclu=* | --incl=* | --inc=*)
1132 includedir=$ac_optarg ;;
1133
1134 -infodir | --infodir | --infodi | --infod | --info | --inf)
1135 ac_prev=infodir ;;
1136 -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
1137 infodir=$ac_optarg ;;
1138
1139 -libdir | --libdir | --libdi | --libd)
1140 ac_prev=libdir ;;
1141 -libdir=* | --libdir=* | --libdi=* | --libd=*)
1142 libdir=$ac_optarg ;;
1143
1144 -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
1145 | --libexe | --libex | --libe)
1146 ac_prev=libexecdir ;;
1147 -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
1148 | --libexe=* | --libex=* | --libe=*)
1149 libexecdir=$ac_optarg ;;
1150
1151 -localedir | --localedir | --localedi | --localed | --locale)
1152 ac_prev=localedir ;;
1153 -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
1154 localedir=$ac_optarg ;;
1155
1156 -localstatedir | --localstatedir | --localstatedi | --localstated \
1157 | --localstate | --localstat | --localsta | --localst | --locals)
1158 ac_prev=localstatedir ;;
1159 -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
1160 | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
1161 localstatedir=$ac_optarg ;;
1162
1163 -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
1164 ac_prev=mandir ;;
1165 -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
1166 mandir=$ac_optarg ;;
1167
1168 -nfp | --nfp | --nf)
1169 # Obsolete; use --without-fp.
1170 with_fp=no ;;
1171
1172 -no-create | --no-create | --no-creat | --no-crea | --no-cre \
1173 | --no-cr | --no-c | -n)
1174 no_create=yes ;;
1175
1176 -no-recursion | --no-recursion | --no-recursio | --no-recursi \
1177 | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
1178 no_recursion=yes ;;
1179
1180 -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
1181 | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
1182 | --oldin | --oldi | --old | --ol | --o)
1183 ac_prev=oldincludedir ;;
1184 -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
1185 | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
1186 | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
1187 oldincludedir=$ac_optarg ;;
1188
1189 -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
1190 ac_prev=prefix ;;
1191 -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
1192 prefix=$ac_optarg ;;
1193
1194 -program-prefix | --program-prefix | --program-prefi | --program-pref \
1195 | --program-pre | --program-pr | --program-p)
1196 ac_prev=program_prefix ;;
1197 -program-prefix=* | --program-prefix=* | --program-prefi=* \
1198 | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
1199 program_prefix=$ac_optarg ;;
1200
1201 -program-suffix | --program-suffix | --program-suffi | --program-suff \
1202 | --program-suf | --program-su | --program-s)
1203 ac_prev=program_suffix ;;
1204 -program-suffix=* | --program-suffix=* | --program-suffi=* \
1205 | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
1206 program_suffix=$ac_optarg ;;
1207
1208 -program-transform-name | --program-transform-name \
1209 | --program-transform-nam | --program-transform-na \
1210 | --program-transform-n | --program-transform- \
1211 | --program-transform | --program-transfor \
1212 | --program-transfo | --program-transf \
1213 | --program-trans | --program-tran \
1214 | --progr-tra | --program-tr | --program-t)
1215 ac_prev=program_transform_name ;;
1216 -program-transform-name=* | --program-transform-name=* \
1217 | --program-transform-nam=* | --program-transform-na=* \
1218 | --program-transform-n=* | --program-transform-=* \
1219 | --program-transform=* | --program-transfor=* \
1220 | --program-transfo=* | --program-transf=* \
1221 | --program-trans=* | --program-tran=* \
1222 | --progr-tra=* | --program-tr=* | --program-t=*)
1223 program_transform_name=$ac_optarg ;;
1224
1225 -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
1226 ac_prev=pdfdir ;;
1227 -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
1228 pdfdir=$ac_optarg ;;
1229
1230 -psdir | --psdir | --psdi | --psd | --ps)
1231 ac_prev=psdir ;;
1232 -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
1233 psdir=$ac_optarg ;;
1234
1235 -q | -quiet | --quiet | --quie | --qui | --qu | --q \
1236 | -silent | --silent | --silen | --sile | --sil)
1237 silent=yes ;;
1238
1239 -runstatedir | --runstatedir | --runstatedi | --runstated \
1240 | --runstate | --runstat | --runsta | --runst | --runs \
1241 | --run | --ru | --r)
1242 ac_prev=runstatedir ;;
1243 -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \
1244 | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \
1245 | --run=* | --ru=* | --r=*)
1246 runstatedir=$ac_optarg ;;
1247
1248 -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
1249 ac_prev=sbindir ;;
1250 -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
1251 | --sbi=* | --sb=*)
1252 sbindir=$ac_optarg ;;
1253
1254 -sharedstatedir | --sharedstatedir | --sharedstatedi \
1255 | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
1256 | --sharedst | --shareds | --shared | --share | --shar \
1257 | --sha | --sh)
1258 ac_prev=sharedstatedir ;;
1259 -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
1260 | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
1261 | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
1262 | --sha=* | --sh=*)
1263 sharedstatedir=$ac_optarg ;;
1264
1265 -site | --site | --sit)
1266 ac_prev=site ;;
1267 -site=* | --site=* | --sit=*)
1268 site=$ac_optarg ;;
1269
1270 -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
1271 ac_prev=srcdir ;;
1272 -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
1273 srcdir=$ac_optarg ;;
1274
1275 -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
1276 | --syscon | --sysco | --sysc | --sys | --sy)
1277 ac_prev=sysconfdir ;;
1278 -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
1279 | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
1280 sysconfdir=$ac_optarg ;;
1281
1282 -target | --target | --targe | --targ | --tar | --ta | --t)
1283 ac_prev=target_alias ;;
1284 -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
1285 target_alias=$ac_optarg ;;
1286
1287 -v | -verbose | --verbose | --verbos | --verbo | --verb)
1288 verbose=yes ;;
1289
1290 -version | --version | --versio | --versi | --vers | -V)
1291 ac_init_version=: ;;
1292
1293 -with-* | --with-*)
1294 ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
1295 # Reject names that are not valid shell variable names.
1296 expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
1297 as_fn_error $? "invalid package name: \`$ac_useropt'"
1298 ac_useropt_orig=$ac_useropt
1299 ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'`
1300 case $ac_user_opts in
1301 *"
1302 "with_$ac_useropt"
1303 "*) ;;
1304 *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
1305 ac_unrecognized_sep=', ';;
1306 esac
1307 eval with_$ac_useropt=\$ac_optarg ;;
1308
1309 -without-* | --without-*)
1310 ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
1311 # Reject names that are not valid shell variable names.
1312 expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
1313 as_fn_error $? "invalid package name: \`$ac_useropt'"
1314 ac_useropt_orig=$ac_useropt
1315 ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'`
1316 case $ac_user_opts in
1317 *"
1318 "with_$ac_useropt"
1319 "*) ;;
1320 *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
1321 ac_unrecognized_sep=', ';;
1322 esac
1323 eval with_$ac_useropt=no ;;
1324
1325 --x)
1326 # Obsolete; use --with-x.
1327 with_x=yes ;;
1328
1329 -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
1330 | --x-incl | --x-inc | --x-in | --x-i)
1331 ac_prev=x_includes ;;
1332 -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
1333 | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
1334 x_includes=$ac_optarg ;;
1335
1336 -x-libraries | --x-libraries | --x-librarie | --x-librari \
1337 | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
1338 ac_prev=x_libraries ;;
1339 -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
1340 | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
1341 x_libraries=$ac_optarg ;;
1342
1343 -*) as_fn_error $? "unrecognized option: \`$ac_option'
1344 Try \`$0 --help' for more information"
1345 ;;
1346
1347 *=*)
1348 ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
1349 # Reject names that are not valid shell variable names.
1350 case $ac_envvar in #(
1351 '' | [0-9]* | *[!_$as_cr_alnum]* )
1352 as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
1353 esac
1354 eval $ac_envvar=\$ac_optarg
1355 export $ac_envvar ;;
1356
1357 *)
1358 # FIXME: should be removed in autoconf 3.0.
1359 printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2
1360 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
1361 printf "%s\n" "$as_me: WARNING: invalid host type: $ac_option" >&2
1362 : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
1363 ;;
1364
1365 esac
1366 done
1367
1368 if test -n "$ac_prev"; then
1369 ac_option=--`echo $ac_prev | sed 's/_/-/g'`
1370 as_fn_error $? "missing argument to $ac_option"
1371 fi
1372
1373 if test -n "$ac_unrecognized_opts"; then
1374 case $enable_option_checking in
1375 no) ;;
1376 fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
1377 *) printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
1378 esac
1379 fi
1380
1381 # Check all directory arguments for consistency.
1382 for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
1383 datadir sysconfdir sharedstatedir localstatedir includedir \
1384 oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
1385 libdir localedir mandir runstatedir
1386 do
1387 eval ac_val=\$$ac_var
1388 # Remove trailing slashes.
1389 case $ac_val in
1390 */ )
1391 ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
1392 eval $ac_var=\$ac_val;;
1393 esac
1394 # Be sure to have absolute directory names.
1395 case $ac_val in
1396 [\\/$]* | ?:[\\/]* ) continue;;
1397 NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
1398 esac
1399 as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
1400 done
1401
1402 # There might be people who depend on the old broken behavior: `$host'
1403 # used to hold the argument of --host etc.
1404 # FIXME: To remove some day.
1405 build=$build_alias
1406 host=$host_alias
1407 target=$target_alias
1408
1409 # FIXME: To remove some day.
1410 if test "x$host_alias" != x; then
1411 if test "x$build_alias" = x; then
1412 cross_compiling=maybe
1413 elif test "x$build_alias" != "x$host_alias"; then
1414 cross_compiling=yes
1415 fi
1416 fi
1417
1418 ac_tool_prefix=
1419 test -n "$host_alias" && ac_tool_prefix=$host_alias-
1420
1421 test "$silent" = yes && exec 6>/dev/null
1422
1423
1424 ac_pwd=`pwd` && test -n "$ac_pwd" &&
1425 ac_ls_di=`ls -di .` &&
1426 ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
1427 as_fn_error $? "working directory cannot be determined"
1428 test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
1429 as_fn_error $? "pwd does not report name of working directory"
1430
1431
1432 # Find the source files, if location was not specified.
1433 if test -z "$srcdir"; then
1434 ac_srcdir_defaulted=yes
1435 # Try the directory containing this script, then the parent directory.
1436 ac_confdir=`$as_dirname -- "$as_myself" ||
1437 $as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
1438 X"$as_myself" : 'X\(//\)[^/]' \| \
1439 X"$as_myself" : 'X\(//\)$' \| \
1440 X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
1441 printf "%s\n" X"$as_myself" |
1442 sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
1443 s//\1/
1444 q
1445 }
1446 /^X\(\/\/\)[^/].*/{
1447 s//\1/
1448 q
1449 }
1450 /^X\(\/\/\)$/{
1451 s//\1/
1452 q
1453 }
1454 /^X\(\/\).*/{
1455 s//\1/
1456 q
1457 }
1458 s/.*/./; q'`
1459 srcdir=$ac_confdir
1460 if test ! -r "$srcdir/$ac_unique_file"; then
1461 srcdir=..
1462 fi
1463 else
1464 ac_srcdir_defaulted=no
1465 fi
1466 if test ! -r "$srcdir/$ac_unique_file"; then
1467 test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
1468 as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
1469 fi
1470 ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
1471 ac_abs_confdir=`(
1472 cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
1473 pwd)`
1474 # When building in place, set srcdir=.
1475 if test "$ac_abs_confdir" = "$ac_pwd"; then
1476 srcdir=.
1477 fi
1478 # Remove unnecessary trailing slashes from srcdir.
1479 # Double slashes in file names in object file debugging info
1480 # mess up M-x gdb in Emacs.
1481 case $srcdir in
1482 */) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
1483 esac
1484 for ac_var in $ac_precious_vars; do
1485 eval ac_env_${ac_var}_set=\${${ac_var}+set}
1486 eval ac_env_${ac_var}_value=\$${ac_var}
1487 eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
1488 eval ac_cv_env_${ac_var}_value=\$${ac_var}
1489 done
1490
1491 #
1492 # Report the --help message.
1493 #
1494 if test "$ac_init_help" = "long"; then
1495 # Omit some internal or obsolete options to make the list less imposing.
1496 # This message is too long to be a string in the A/UX 3.1 sh.
1497 cat <<_ACEOF
1498 \`configure' configures gpgme 1.16.1-unknown to adapt to many kinds of systems.
1499
1500 Usage: $0 [OPTION]... [VAR=VALUE]...
1501
1502 To assign environment variables (e.g., CC, CFLAGS...), specify them as
1503 VAR=VALUE. See below for descriptions of some of the useful variables.
1504
1505 Defaults for the options are specified in brackets.
1506
1507 Configuration:
1508 -h, --help display this help and exit
1509 --help=short display options specific to this package
1510 --help=recursive display the short help of all the included packages
1511 -V, --version display version information and exit
1512 -q, --quiet, --silent do not print \`checking ...' messages
1513 --cache-file=FILE cache test results in FILE [disabled]
1514 -C, --config-cache alias for \`--cache-file=config.cache'
1515 -n, --no-create do not create output files
1516 --srcdir=DIR find the sources in DIR [configure dir or \`..']
1517
1518 Installation directories:
1519 --prefix=PREFIX install architecture-independent files in PREFIX
1520 [$ac_default_prefix]
1521 --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
1522 [PREFIX]
1523
1524 By default, \`make install' will install all the files in
1525 \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
1526 an installation prefix other than \`$ac_default_prefix' using \`--prefix',
1527 for instance \`--prefix=\$HOME'.
1528
1529 For better control, use the options below.
1530
1531 Fine tuning of the installation directories:
1532 --bindir=DIR user executables [EPREFIX/bin]
1533 --sbindir=DIR system admin executables [EPREFIX/sbin]
1534 --libexecdir=DIR program executables [EPREFIX/libexec]
1535 --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
1536 --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
1537 --localstatedir=DIR modifiable single-machine data [PREFIX/var]
1538 --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run]
1539 --libdir=DIR object code libraries [EPREFIX/lib]
1540 --includedir=DIR C header files [PREFIX/include]
1541 --oldincludedir=DIR C header files for non-gcc [/usr/include]
1542 --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
1543 --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
1544 --infodir=DIR info documentation [DATAROOTDIR/info]
1545 --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
1546 --mandir=DIR man documentation [DATAROOTDIR/man]
1547 --docdir=DIR documentation root [DATAROOTDIR/doc/gpgme]
1548 --htmldir=DIR html documentation [DOCDIR]
1549 --dvidir=DIR dvi documentation [DOCDIR]
1550 --pdfdir=DIR pdf documentation [DOCDIR]
1551 --psdir=DIR ps documentation [DOCDIR]
1552 _ACEOF
1553
1554 cat <<\_ACEOF
1555
1556 Program names:
1557 --program-prefix=PREFIX prepend PREFIX to installed program names
1558 --program-suffix=SUFFIX append SUFFIX to installed program names
1559 --program-transform-name=PROGRAM run sed PROGRAM on installed program names
1560
1561 System types:
1562 --build=BUILD configure for building on BUILD [guessed]
1563 --host=HOST cross-compile to build programs to run on HOST [BUILD]
1564 _ACEOF
1565 fi
1566
1567 if test -n "$ac_init_help"; then
1568 case $ac_init_help in
1569 short | recursive ) echo "Configuration of gpgme 1.16.1-unknown:";;
1570 esac
1571 cat <<\_ACEOF
1572
1573 Optional Features:
1574 --disable-option-checking ignore unrecognized --enable/--with options
1575 --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
1576 --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
1577 --enable-silent-rules less verbose build output (undo: "make V=1")
1578 --disable-silent-rules verbose build output (undo: "make V=0")
1579 --enable-maintainer-mode
1580 enable make rules and dependencies not useful (and
1581 sometimes confusing) to the casual installer
1582 --enable-dependency-tracking
1583 do not reject slow dependency extractors
1584 --disable-dependency-tracking
1585 speeds up one-time build
1586 --enable-static[=PKGS] build static libraries [default=no]
1587 --enable-shared[=PKGS] build shared libraries [default=yes]
1588 --enable-fast-install[=PKGS]
1589 optimize for fast installation [default=yes]
1590 --disable-libtool-lock avoid locking (might break parallel builds)
1591 --disable-glibtest do not try to compile and run a test GLIB program
1592 --enable-w32-glib build GPGME Glib for W32
1593 --enable-fixed-path=PATH
1594 locate binaries only via this PATH
1595 --enable-languages=languages
1596 enable only specific language bindings
1597 --enable-build-timestamp
1598 set an explicit build timestamp for reproducibility.
1599 (default is the current time in ISO-8601 format)
1600 --disable-gpgconf-test disable GPGCONF regression test
1601 --disable-gpg-test disable GPG regression test
1602 --disable-gpgsm-test disable GPGSM regression test
1603 --disable-g13-test disable G13 regression test
1604 --disable-largefile omit support for large files
1605 --disable-fd-passing do not use FD passing
1606 --disable-linux-getdents
1607 do not use SYS_getdents on Linux
1608
1609 Optional Packages:
1610 --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
1611 --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
1612 --with-pic[=PKGS] try to use only PIC/non-PIC objects [default=use
1613 both]
1614 --with-gnu-ld assume the C compiler uses GNU ld [default=no]
1615 --with-sysroot=DIR Search for dependent libraries within DIR
1616 (or the compiler's sysroot if not specified).
1617 --with-libgpg-error-prefix=PFX
1618 prefix where GPG Error is installed (optional)
1619
1620 --with-libassuan-prefix=PFX
1621 prefix where LIBASSUAN is installed (optional)
1622
1623 Some influential environment variables:
1624 SYSROOT locate config scripts also below that directory
1625 CC C compiler command
1626 CFLAGS C compiler flags
1627 LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
1628 nonstandard directory <lib dir>
1629 LIBS libraries to pass to the linker, e.g. -l<library>
1630 CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
1631 you have headers in a nonstandard directory <include dir>
1632 CPP C preprocessor
1633 CXX C++ compiler command
1634 CXXFLAGS C++ compiler flags
1635 CC_FOR_BUILD
1636 build system C compiler
1637 CXXCPP C++ preprocessor
1638 PKG_CONFIG path to pkg-config utility
1639 GPGME_QT_CFLAGS
1640 C compiler flags for GPGME_QT, overriding pkg-config
1641 GPGME_QT_LIBS
1642 linker flags for GPGME_QT, overriding pkg-config
1643 GPGME_QTTEST_CFLAGS
1644 C compiler flags for GPGME_QTTEST, overriding pkg-config
1645 GPGME_QTTEST_LIBS
1646 linker flags for GPGME_QTTEST, overriding pkg-config
1647 PYTHON the Python interpreter
1648 PYTHON_VERSION
1649 The installed Python version to use, for example '2.3'. This
1650 string will be appended to the Python interpreter canonical
1651 name.
1652
1653 Use these variables to override the choices made by `configure' or to help
1654 it to find libraries and programs with nonstandard names/locations.
1655
1656 Report bugs to <https://bugs.gnupg.org>.
1657 _ACEOF
1658 ac_status=$?
1659 fi
1660
1661 if test "$ac_init_help" = "recursive"; then
1662 # If there are subdirs, report their specific --help.
1663 for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
1664 test -d "$ac_dir" ||
1665 { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
1666 continue
1667 ac_builddir=.
1668
1669 case "$ac_dir" in
1670 .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
1671 *)
1672 ac_dir_suffix=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'`
1673 # A ".." for each directory in $ac_dir_suffix.
1674 ac_top_builddir_sub=`printf "%s\n" "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
1675 case $ac_top_builddir_sub in
1676 "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
1677 *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
1678 esac ;;
1679 esac
1680 ac_abs_top_builddir=$ac_pwd
1681 ac_abs_builddir=$ac_pwd$ac_dir_suffix
1682 # for backward compatibility:
1683 ac_top_builddir=$ac_top_build_prefix
1684
1685 case $srcdir in
1686 .) # We are building in place.
1687 ac_srcdir=.
1688 ac_top_srcdir=$ac_top_builddir_sub
1689 ac_abs_top_srcdir=$ac_pwd ;;
1690 [\\/]* | ?:[\\/]* ) # Absolute name.
1691 ac_srcdir=$srcdir$ac_dir_suffix;
1692 ac_top_srcdir=$srcdir
1693 ac_abs_top_srcdir=$srcdir ;;
1694 *) # Relative name.
1695 ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
1696 ac_top_srcdir=$ac_top_build_prefix$srcdir
1697 ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
1698 esac
1699 ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
1700
1701 cd "$ac_dir" || { ac_status=$?; continue; }
1702 # Check for configure.gnu first; this name is used for a wrapper for
1703 # Metaconfig's "Configure" on case-insensitive file systems.
1704 if test -f "$ac_srcdir/configure.gnu"; then
1705 echo &&
1706 $SHELL "$ac_srcdir/configure.gnu" --help=recursive
1707 elif test -f "$ac_srcdir/configure"; then
1708 echo &&
1709 $SHELL "$ac_srcdir/configure" --help=recursive
1710 else
1711 printf "%s\n" "$as_me: WARNING: no configuration information is in $ac_dir" >&2
1712 fi || ac_status=$?
1713 cd "$ac_pwd" || { ac_status=$?; break; }
1714 done
1715 fi
1716
1717 test -n "$ac_init_help" && exit $ac_status
1718 if $ac_init_version; then
1719 cat <<\_ACEOF
1720 gpgme configure 1.16.1-unknown
1721 generated by GNU Autoconf 2.71
1722
1723 Copyright (C) 2021 Free Software Foundation, Inc.
1724 This configure script is free software; the Free Software Foundation
1725 gives unlimited permission to copy, distribute and modify it.
1726 _ACEOF
1727 exit
1728 fi
1729
1730 ## ------------------------ ##
1731 ## Autoconf initialization. ##
1732 ## ------------------------ ##
1733
1734 # ac_fn_c_try_compile LINENO
1735 # --------------------------
1736 # Try to compile conftest.$ac_ext, and return whether this succeeded.
1737 ac_fn_c_try_compile ()
1738 {
1739 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
1740 rm -f conftest.$ac_objext conftest.beam
1741 if { { ac_try="$ac_compile"
1742 case "(($ac_try" in
1743 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
1744 *) ac_try_echo=$ac_try;;
1745 esac
1746 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
1747 printf "%s\n" "$ac_try_echo"; } >&5
1748 (eval "$ac_compile") 2>conftest.err
1749 ac_status=$?
1750 if test -s conftest.err; then
1751 grep -v '^ *+' conftest.err >conftest.er1
1752 cat conftest.er1 >&5
1753 mv -f conftest.er1 conftest.err
1754 fi
1755 printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
1756 test $ac_status = 0; } && {
1757 test -z "$ac_c_werror_flag" ||
1758 test ! -s conftest.err
1759 } && test -s conftest.$ac_objext
1760 then :
1761 ac_retval=0
1762 else $as_nop
1763 printf "%s\n" "$as_me: failed program was:" >&5
1764 sed 's/^/| /' conftest.$ac_ext >&5
1765
1766 ac_retval=1
1767 fi
1768 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
1769 as_fn_set_status $ac_retval
1770
1771 } # ac_fn_c_try_compile
1772
1773 # ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
1774 # -------------------------------------------------------
1775 # Tests whether HEADER exists and can be compiled using the include files in
1776 # INCLUDES, setting the cache variable VAR accordingly.
1777 ac_fn_c_check_header_compile ()
1778 {
1779 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
1780 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
1781 printf %s "checking for $2... " >&6; }
1782 if eval test \${$3+y}
1783 then :
1784 printf %s "(cached) " >&6
1785 else $as_nop
1786 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
1787 /* end confdefs.h. */
1788 $4
1789 #include <$2>
1790 _ACEOF
1791 if ac_fn_c_try_compile "$LINENO"
1792 then :
1793 eval "$3=yes"
1794 else $as_nop
1795 eval "$3=no"
1796 fi
1797 rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
1798 fi
1799 eval ac_res=\$$3
1800 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
1801 printf "%s\n" "$ac_res" >&6; }
1802 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
1803
1804 } # ac_fn_c_check_header_compile
1805
1806 # ac_fn_c_try_link LINENO
1807 # -----------------------
1808 # Try to link conftest.$ac_ext, and return whether this succeeded.
1809 ac_fn_c_try_link ()
1810 {
1811 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
1812 rm -f conftest.$ac_objext conftest.beam conftest$ac_exeext
1813 if { { ac_try="$ac_link"
1814 case "(($ac_try" in
1815 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
1816 *) ac_try_echo=$ac_try;;
1817 esac
1818 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
1819 printf "%s\n" "$ac_try_echo"; } >&5
1820 (eval "$ac_link") 2>conftest.err
1821 ac_status=$?
1822 if test -s conftest.err; then
1823 grep -v '^ *+' conftest.err >conftest.er1
1824 cat conftest.er1 >&5
1825 mv -f conftest.er1 conftest.err
1826 fi
1827 printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
1828 test $ac_status = 0; } && {
1829 test -z "$ac_c_werror_flag" ||
1830 test ! -s conftest.err
1831 } && test -s conftest$ac_exeext && {
1832 test "$cross_compiling" = yes ||
1833 test -x conftest$ac_exeext
1834 }
1835 then :
1836 ac_retval=0
1837 else $as_nop
1838 printf "%s\n" "$as_me: failed program was:" >&5
1839 sed 's/^/| /' conftest.$ac_ext >&5
1840
1841 ac_retval=1
1842 fi
1843 # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
1844 # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
1845 # interfere with the next link command; also delete a directory that is
1846 # left behind by Apple's compiler. We do this before executing the actions.
1847 rm -rf conftest.dSYM conftest_ipa8_conftest.oo
1848 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
1849 as_fn_set_status $ac_retval
1850
1851 } # ac_fn_c_try_link
1852
1853 # ac_fn_c_try_cpp LINENO
1854 # ----------------------
1855 # Try to preprocess conftest.$ac_ext, and return whether this succeeded.
1856 ac_fn_c_try_cpp ()
1857 {
1858 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
1859 if { { ac_try="$ac_cpp conftest.$ac_ext"
1860 case "(($ac_try" in
1861 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
1862 *) ac_try_echo=$ac_try;;
1863 esac
1864 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
1865 printf "%s\n" "$ac_try_echo"; } >&5
1866 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
1867 ac_status=$?
1868 if test -s conftest.err; then
1869 grep -v '^ *+' conftest.err >conftest.er1
1870 cat conftest.er1 >&5
1871 mv -f conftest.er1 conftest.err
1872 fi
1873 printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
1874 test $ac_status = 0; } > conftest.i && {
1875 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
1876 test ! -s conftest.err
1877 }
1878 then :
1879 ac_retval=0
1880 else $as_nop
1881 printf "%s\n" "$as_me: failed program was:" >&5
1882 sed 's/^/| /' conftest.$ac_ext >&5
1883
1884 ac_retval=1
1885 fi
1886 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
1887 as_fn_set_status $ac_retval
1888
1889 } # ac_fn_c_try_cpp
1890
1891 # ac_fn_cxx_try_compile LINENO
1892 # ----------------------------
1893 # Try to compile conftest.$ac_ext, and return whether this succeeded.
1894 ac_fn_cxx_try_compile ()
1895 {
1896 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
1897 rm -f conftest.$ac_objext conftest.beam
1898 if { { ac_try="$ac_compile"
1899 case "(($ac_try" in
1900 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
1901 *) ac_try_echo=$ac_try;;
1902 esac
1903 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
1904 printf "%s\n" "$ac_try_echo"; } >&5
1905 (eval "$ac_compile") 2>conftest.err
1906 ac_status=$?
1907 if test -s conftest.err; then
1908 grep -v '^ *+' conftest.err >conftest.er1
1909 cat conftest.er1 >&5
1910 mv -f conftest.er1 conftest.err
1911 fi
1912 printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
1913 test $ac_status = 0; } && {
1914 test -z "$ac_cxx_werror_flag" ||
1915 test ! -s conftest.err
1916 } && test -s conftest.$ac_objext
1917 then :
1918 ac_retval=0
1919 else $as_nop
1920 printf "%s\n" "$as_me: failed program was:" >&5
1921 sed 's/^/| /' conftest.$ac_ext >&5
1922
1923 ac_retval=1
1924 fi
1925 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
1926 as_fn_set_status $ac_retval
1927
1928 } # ac_fn_cxx_try_compile
1929
1930 # ac_fn_c_check_func LINENO FUNC VAR
1931 # ----------------------------------
1932 # Tests whether FUNC exists, setting the cache variable VAR accordingly
1933 ac_fn_c_check_func ()
1934 {
1935 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
1936 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
1937 printf %s "checking for $2... " >&6; }
1938 if eval test \${$3+y}
1939 then :
1940 printf %s "(cached) " >&6
1941 else $as_nop
1942 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
1943 /* end confdefs.h. */
1944 /* Define $2 to an innocuous variant, in case <limits.h> declares $2.
1945 For example, HP-UX 11i <limits.h> declares gettimeofday. */
1946 #define $2 innocuous_$2
1947
1948 /* System header to define __stub macros and hopefully few prototypes,
1949 which can conflict with char $2 (); below. */
1950
1951 #include <limits.h>
1952 #undef $2
1953
1954 /* Override any GCC internal prototype to avoid an error.
1955 Use char because int might match the return type of a GCC
1956 builtin and then its argument prototype would still apply. */
1957 #ifdef __cplusplus
1958 extern "C"
1959 #endif
1960 char $2 ();
1961 /* The GNU C library defines this for functions which it implements
1962 to always fail with ENOSYS. Some functions are actually named
1963 something starting with __ and the normal name is an alias. */
1964 #if defined __stub_$2 || defined __stub___$2
1965 choke me
1966 #endif
1967
1968 int
1969 main (void)
1970 {
1971 return $2 ();
1972 ;
1973 return 0;
1974 }
1975 _ACEOF
1976 if ac_fn_c_try_link "$LINENO"
1977 then :
1978 eval "$3=yes"
1979 else $as_nop
1980 eval "$3=no"
1981 fi
1982 rm -f core conftest.err conftest.$ac_objext conftest.beam \
1983 conftest$ac_exeext conftest.$ac_ext
1984 fi
1985 eval ac_res=\$$3
1986 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
1987 printf "%s\n" "$ac_res" >&6; }
1988 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
1989
1990 } # ac_fn_c_check_func
1991
1992 # ac_fn_cxx_try_cpp LINENO
1993 # ------------------------
1994 # Try to preprocess conftest.$ac_ext, and return whether this succeeded.
1995 ac_fn_cxx_try_cpp ()
1996 {
1997 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
1998 if { { ac_try="$ac_cpp conftest.$ac_ext"
1999 case "(($ac_try" in
2000 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
2001 *) ac_try_echo=$ac_try;;
2002 esac
2003 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
2004 printf "%s\n" "$ac_try_echo"; } >&5
2005 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
2006 ac_status=$?
2007 if test -s conftest.err; then
2008 grep -v '^ *+' conftest.err >conftest.er1
2009 cat conftest.er1 >&5
2010 mv -f conftest.er1 conftest.err
2011 fi
2012 printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
2013 test $ac_status = 0; } > conftest.i && {
2014 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
2015 test ! -s conftest.err
2016 }
2017 then :
2018 ac_retval=0
2019 else $as_nop
2020 printf "%s\n" "$as_me: failed program was:" >&5
2021 sed 's/^/| /' conftest.$ac_ext >&5
2022
2023 ac_retval=1
2024 fi
2025 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
2026 as_fn_set_status $ac_retval
2027
2028 } # ac_fn_cxx_try_cpp
2029
2030 # ac_fn_cxx_try_link LINENO
2031 # -------------------------
2032 # Try to link conftest.$ac_ext, and return whether this succeeded.
2033 ac_fn_cxx_try_link ()
2034 {
2035 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
2036 rm -f conftest.$ac_objext conftest.beam conftest$ac_exeext
2037 if { { ac_try="$ac_link"
2038 case "(($ac_try" in
2039 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
2040 *) ac_try_echo=$ac_try;;
2041 esac
2042 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
2043 printf "%s\n" "$ac_try_echo"; } >&5
2044 (eval "$ac_link") 2>conftest.err
2045 ac_status=$?
2046 if test -s conftest.err; then
2047 grep -v '^ *+' conftest.err >conftest.er1
2048 cat conftest.er1 >&5
2049 mv -f conftest.er1 conftest.err
2050 fi
2051 printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
2052 test $ac_status = 0; } && {
2053 test -z "$ac_cxx_werror_flag" ||
2054 test ! -s conftest.err
2055 } && test -s conftest$ac_exeext && {
2056 test "$cross_compiling" = yes ||
2057 test -x conftest$ac_exeext
2058 }
2059 then :
2060 ac_retval=0
2061 else $as_nop
2062 printf "%s\n" "$as_me: failed program was:" >&5
2063 sed 's/^/| /' conftest.$ac_ext >&5
2064
2065 ac_retval=1
2066 fi
2067 # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
2068 # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
2069 # interfere with the next link command; also delete a directory that is
2070 # left behind by Apple's compiler. We do this before executing the actions.
2071 rm -rf conftest.dSYM conftest_ipa8_conftest.oo
2072 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
2073 as_fn_set_status $ac_retval
2074
2075 } # ac_fn_cxx_try_link
2076
2077 # ac_fn_c_try_run LINENO
2078 # ----------------------
2079 # Try to run conftest.$ac_ext, and return whether this succeeded. Assumes that
2080 # executables *can* be run.
2081 ac_fn_c_try_run ()
2082 {
2083 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
2084 if { { ac_try="$ac_link"
2085 case "(($ac_try" in
2086 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
2087 *) ac_try_echo=$ac_try;;
2088 esac
2089 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
2090 printf "%s\n" "$ac_try_echo"; } >&5
2091 (eval "$ac_link") 2>&5
2092 ac_status=$?
2093 printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
2094 test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
2095 { { case "(($ac_try" in
2096 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
2097 *) ac_try_echo=$ac_try;;
2098 esac
2099 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
2100 printf "%s\n" "$ac_try_echo"; } >&5
2101 (eval "$ac_try") 2>&5
2102 ac_status=$?
2103 printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
2104 test $ac_status = 0; }; }
2105 then :
2106 ac_retval=0
2107 else $as_nop
2108 printf "%s\n" "$as_me: program exited with status $ac_status" >&5
2109 printf "%s\n" "$as_me: failed program was:" >&5
2110 sed 's/^/| /' conftest.$ac_ext >&5
2111
2112 ac_retval=$ac_status
2113 fi
2114 rm -rf conftest.dSYM conftest_ipa8_conftest.oo
2115 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
2116 as_fn_set_status $ac_retval
2117
2118 } # ac_fn_c_try_run
2119
2120 # ac_fn_c_compute_int LINENO EXPR VAR INCLUDES
2121 # --------------------------------------------
2122 # Tries to find the compile-time value of EXPR in a program that includes
2123 # INCLUDES, setting VAR accordingly. Returns whether the value could be
2124 # computed
2125 ac_fn_c_compute_int ()
2126 {
2127 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
2128 if test "$cross_compiling" = yes; then
2129 # Depending upon the size, compute the lo and hi bounds.
2130 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
2131 /* end confdefs.h. */
2132 $4
2133 int
2134 main (void)
2135 {
2136 static int test_array [1 - 2 * !(($2) >= 0)];
2137 test_array [0] = 0;
2138 return test_array [0];
2139
2140 ;
2141 return 0;
2142 }
2143 _ACEOF
2144 if ac_fn_c_try_compile "$LINENO"
2145 then :
2146 ac_lo=0 ac_mid=0
2147 while :; do
2148 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
2149 /* end confdefs.h. */
2150 $4
2151 int
2152 main (void)
2153 {
2154 static int test_array [1 - 2 * !(($2) <= $ac_mid)];
2155 test_array [0] = 0;
2156 return test_array [0];
2157
2158 ;
2159 return 0;
2160 }
2161 _ACEOF
2162 if ac_fn_c_try_compile "$LINENO"
2163 then :
2164 ac_hi=$ac_mid; break
2165 else $as_nop
2166 as_fn_arith $ac_mid + 1 && ac_lo=$as_val
2167 if test $ac_lo -le $ac_mid; then
2168 ac_lo= ac_hi=
2169 break
2170 fi
2171 as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val
2172 fi
2173 rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
2174 done
2175 else $as_nop
2176 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
2177 /* end confdefs.h. */
2178 $4
2179 int
2180 main (void)
2181 {
2182 static int test_array [1 - 2 * !(($2) < 0)];
2183 test_array [0] = 0;
2184 return test_array [0];
2185
2186 ;
2187 return 0;
2188 }
2189 _ACEOF
2190 if ac_fn_c_try_compile "$LINENO"
2191 then :
2192 ac_hi=-1 ac_mid=-1
2193 while :; do
2194 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
2195 /* end confdefs.h. */
2196 $4
2197 int
2198 main (void)
2199 {
2200 static int test_array [1 - 2 * !(($2) >= $ac_mid)];
2201 test_array [0] = 0;
2202 return test_array [0];
2203
2204 ;
2205 return 0;
2206 }
2207 _ACEOF
2208 if ac_fn_c_try_compile "$LINENO"
2209 then :
2210 ac_lo=$ac_mid; break
2211 else $as_nop
2212 as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val
2213 if test $ac_mid -le $ac_hi; then
2214 ac_lo= ac_hi=
2215 break
2216 fi
2217 as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val
2218 fi
2219 rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
2220 done
2221 else $as_nop
2222 ac_lo= ac_hi=
2223 fi
2224 rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
2225 fi
2226 rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
2227 # Binary search between lo and hi bounds.
2228 while test "x$ac_lo" != "x$ac_hi"; do
2229 as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val
2230 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
2231 /* end confdefs.h. */
2232 $4
2233 int
2234 main (void)
2235 {
2236 static int test_array [1 - 2 * !(($2) <= $ac_mid)];
2237 test_array [0] = 0;
2238 return test_array [0];
2239
2240 ;
2241 return 0;
2242 }
2243 _ACEOF
2244 if ac_fn_c_try_compile "$LINENO"
2245 then :
2246 ac_hi=$ac_mid
2247 else $as_nop
2248 as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val
2249 fi
2250 rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
2251 done
2252 case $ac_lo in #((
2253 ?*) eval "$3=\$ac_lo"; ac_retval=0 ;;
2254 '') ac_retval=1 ;;
2255 esac
2256 else
2257 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
2258 /* end confdefs.h. */
2259 $4
2260 static long int longval (void) { return $2; }
2261 static unsigned long int ulongval (void) { return $2; }
2262 #include <stdio.h>
2263 #include <stdlib.h>
2264 int
2265 main (void)
2266 {
2267
2268 FILE *f = fopen ("conftest.val", "w");
2269 if (! f)
2270 return 1;
2271 if (($2) < 0)
2272 {
2273 long int i = longval ();
2274 if (i != ($2))
2275 return 1;
2276 fprintf (f, "%ld", i);
2277 }
2278 else
2279 {
2280 unsigned long int i = ulongval ();
2281 if (i != ($2))
2282 return 1;
2283 fprintf (f, "%lu", i);
2284 }
2285 /* Do not output a trailing newline, as this causes \r\n confusion
2286 on some platforms. */
2287 return ferror (f) || fclose (f) != 0;
2288
2289 ;
2290 return 0;
2291 }
2292 _ACEOF
2293 if ac_fn_c_try_run "$LINENO"
2294 then :
2295 echo >>conftest.val; read $3 <conftest.val; ac_retval=0
2296 else $as_nop
2297 ac_retval=1
2298 fi
2299 rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
2300 conftest.$ac_objext conftest.beam conftest.$ac_ext
2301 rm -f conftest.val
2302
2303 fi
2304 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
2305 as_fn_set_status $ac_retval
2306
2307 } # ac_fn_c_compute_int
2308
2309 # ac_fn_c_check_type LINENO TYPE VAR INCLUDES
2310 # -------------------------------------------
2311 # Tests whether TYPE exists after having included INCLUDES, setting cache
2312 # variable VAR accordingly.
2313 ac_fn_c_check_type ()
2314 {
2315 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
2316 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
2317 printf %s "checking for $2... " >&6; }
2318 if eval test \${$3+y}
2319 then :
2320 printf %s "(cached) " >&6
2321 else $as_nop
2322 eval "$3=no"
2323 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
2324 /* end confdefs.h. */
2325 $4
2326 int
2327 main (void)
2328 {
2329 if (sizeof ($2))
2330 return 0;
2331 ;
2332 return 0;
2333 }
2334 _ACEOF
2335 if ac_fn_c_try_compile "$LINENO"
2336 then :
2337 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
2338 /* end confdefs.h. */
2339 $4
2340 int
2341 main (void)
2342 {
2343 if (sizeof (($2)))
2344 return 0;
2345 ;
2346 return 0;
2347 }
2348 _ACEOF
2349 if ac_fn_c_try_compile "$LINENO"
2350 then :
2351
2352 else $as_nop
2353 eval "$3=yes"
2354 fi
2355 rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
2356 fi
2357 rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
2358 fi
2359 eval ac_res=\$$3
2360 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
2361 printf "%s\n" "$ac_res" >&6; }
2362 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
2363
2364 } # ac_fn_c_check_type
2365
2366 # ac_fn_check_decl LINENO SYMBOL VAR INCLUDES EXTRA-OPTIONS FLAG-VAR
2367 # ------------------------------------------------------------------
2368 # Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR
2369 # accordingly. Pass EXTRA-OPTIONS to the compiler, using FLAG-VAR.
2370 ac_fn_check_decl ()
2371 {
2372 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
2373 as_decl_name=`echo $2|sed 's/ *(.*//'`
2374 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5
2375 printf %s "checking whether $as_decl_name is declared... " >&6; }
2376 if eval test \${$3+y}
2377 then :
2378 printf %s "(cached) " >&6
2379 else $as_nop
2380 as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'`
2381 eval ac_save_FLAGS=\$$6
2382 as_fn_append $6 " $5"
2383 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
2384 /* end confdefs.h. */
2385 $4
2386 int
2387 main (void)
2388 {
2389 #ifndef $as_decl_name
2390 #ifdef __cplusplus
2391 (void) $as_decl_use;
2392 #else
2393 (void) $as_decl_name;
2394 #endif
2395 #endif
2396
2397 ;
2398 return 0;
2399 }
2400 _ACEOF
2401 if ac_fn_c_try_compile "$LINENO"
2402 then :
2403 eval "$3=yes"
2404 else $as_nop
2405 eval "$3=no"
2406 fi
2407 rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
2408 eval $6=\$ac_save_FLAGS
2409
2410 fi
2411 eval ac_res=\$$3
2412 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
2413 printf "%s\n" "$ac_res" >&6; }
2414 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
2415
2416 } # ac_fn_check_decl
2417
2418 # ac_fn_c_check_member LINENO AGGR MEMBER VAR INCLUDES
2419 # ----------------------------------------------------
2420 # Tries to find if the field MEMBER exists in type AGGR, after including
2421 # INCLUDES, setting cache variable VAR accordingly.
2422 ac_fn_c_check_member ()
2423 {
2424 as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
2425 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5
2426 printf %s "checking for $2.$3... " >&6; }
2427 if eval test \${$4+y}
2428 then :
2429 printf %s "(cached) " >&6
2430 else $as_nop
2431 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
2432 /* end confdefs.h. */
2433 $5
2434 int
2435 main (void)
2436 {
2437 static $2 ac_aggr;
2438 if (ac_aggr.$3)
2439 return 0;
2440 ;
2441 return 0;
2442 }
2443 _ACEOF
2444 if ac_fn_c_try_compile "$LINENO"
2445 then :
2446 eval "$4=yes"
2447 else $as_nop
2448 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
2449 /* end confdefs.h. */
2450 $5
2451 int
2452 main (void)
2453 {
2454 static $2 ac_aggr;
2455 if (sizeof ac_aggr.$3)
2456 return 0;
2457 ;
2458 return 0;
2459 }
2460 _ACEOF
2461 if ac_fn_c_try_compile "$LINENO"
2462 then :
2463 eval "$4=yes"
2464 else $as_nop
2465 eval "$4=no"
2466 fi
2467 rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
2468 fi
2469 rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
2470 fi
2471 eval ac_res=\$$4
2472 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
2473 printf "%s\n" "$ac_res" >&6; }
2474 eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
2475
2476 } # ac_fn_c_check_member
2477 ac_configure_args_raw=
2478 for ac_arg
2479 do
2480 case $ac_arg in
2481 *\'*)
2482 ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
2483 esac
2484 as_fn_append ac_configure_args_raw " '$ac_arg'"
2485 done
2486
2487 case $ac_configure_args_raw in
2488 *$as_nl*)
2489 ac_safe_unquote= ;;
2490 *)
2491 ac_unsafe_z='|&;<>()$`\\"*?[ '' ' # This string ends in space, tab.
2492 ac_unsafe_a="$ac_unsafe_z#~"
2493 ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g"
2494 ac_configure_args_raw=` printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;;
2495 esac
2496
2497 cat >config.log <<_ACEOF
2498 This file contains any messages produced by compilers while
2499 running configure, to aid debugging if configure makes a mistake.
2500
2501 It was created by gpgme $as_me 1.16.1-unknown, which was
2502 generated by GNU Autoconf 2.71. Invocation command line was
2503
2504 $ $0$ac_configure_args_raw
2505
2506 _ACEOF
2507 exec 5>>config.log
2508 {
2509 cat <<_ASUNAME
2510 ## --------- ##
2511 ## Platform. ##
2512 ## --------- ##
2513
2514 hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
2515 uname -m = `(uname -m) 2>/dev/null || echo unknown`
2516 uname -r = `(uname -r) 2>/dev/null || echo unknown`
2517 uname -s = `(uname -s) 2>/dev/null || echo unknown`
2518 uname -v = `(uname -v) 2>/dev/null || echo unknown`
2519
2520 /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
2521 /bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
2522
2523 /bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
2524 /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
2525 /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
2526 /usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown`
2527 /bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
2528 /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
2529 /bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
2530
2531 _ASUNAME
2532
2533 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
2534 for as_dir in $PATH
2535 do
2536 IFS=$as_save_IFS
2537 case $as_dir in #(((
2538 '') as_dir=./ ;;
2539 */) ;;
2540 *) as_dir=$as_dir/ ;;
2541 esac
2542 printf "%s\n" "PATH: $as_dir"
2543 done
2544 IFS=$as_save_IFS
2545
2546 } >&5
2547
2548 cat >&5 <<_ACEOF
2549
2550
2551 ## ----------- ##
2552 ## Core tests. ##
2553 ## ----------- ##
2554
2555 _ACEOF
2556
2557
2558 # Keep a trace of the command line.
2559 # Strip out --no-create and --no-recursion so they do not pile up.
2560 # Strip out --silent because we don't want to record it for future runs.
2561 # Also quote any args containing shell meta-characters.
2562 # Make two passes to allow for proper duplicate-argument suppression.
2563 ac_configure_args=
2564 ac_configure_args0=
2565 ac_configure_args1=
2566 ac_must_keep_next=false
2567 for ac_pass in 1 2
2568 do
2569 for ac_arg
2570 do
2571 case $ac_arg in
2572 -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
2573 -q | -quiet | --quiet | --quie | --qui | --qu | --q \
2574 | -silent | --silent | --silen | --sile | --sil)
2575 continue ;;
2576 *\'*)
2577 ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
2578 esac
2579 case $ac_pass in
2580 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
2581 2)
2582 as_fn_append ac_configure_args1 " '$ac_arg'"
2583 if test $ac_must_keep_next = true; then
2584 ac_must_keep_next=false # Got value, back to normal.
2585 else
2586 case $ac_arg in
2587 *=* | --config-cache | -C | -disable-* | --disable-* \
2588 | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
2589 | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
2590 | -with-* | --with-* | -without-* | --without-* | --x)
2591 case "$ac_configure_args0 " in
2592 "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
2593 esac
2594 ;;
2595 -* ) ac_must_keep_next=true ;;
2596 esac
2597 fi
2598 as_fn_append ac_configure_args " '$ac_arg'"
2599 ;;
2600 esac
2601 done
2602 done
2603 { ac_configure_args0=; unset ac_configure_args0;}
2604 { ac_configure_args1=; unset ac_configure_args1;}
2605
2606 # When interrupted or exit'd, cleanup temporary files, and complete
2607 # config.log. We remove comments because anyway the quotes in there
2608 # would cause problems or look ugly.
2609 # WARNING: Use '\'' to represent an apostrophe within the trap.
2610 # WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
2611 trap 'exit_status=$?
2612 # Sanitize IFS.
2613 IFS=" "" $as_nl"
2614 # Save into config.log some information that might help in debugging.
2615 {
2616 echo
2617
2618 printf "%s\n" "## ---------------- ##
2619 ## Cache variables. ##
2620 ## ---------------- ##"
2621 echo
2622 # The following way of writing the cache mishandles newlines in values,
2623 (
2624 for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
2625 eval ac_val=\$$ac_var
2626 case $ac_val in #(
2627 *${as_nl}*)
2628 case $ac_var in #(
2629 *_cv_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
2630 printf "%s\n" "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
2631 esac
2632 case $ac_var in #(
2633 _ | IFS | as_nl) ;; #(
2634 BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
2635 *) { eval $ac_var=; unset $ac_var;} ;;
2636 esac ;;
2637 esac
2638 done
2639 (set) 2>&1 |
2640 case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
2641 *${as_nl}ac_space=\ *)
2642 sed -n \
2643 "s/'\''/'\''\\\\'\'''\''/g;
2644 s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
2645 ;; #(
2646 *)
2647 sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
2648 ;;
2649 esac |
2650 sort
2651 )
2652 echo
2653
2654 printf "%s\n" "## ----------------- ##
2655 ## Output variables. ##
2656 ## ----------------- ##"
2657 echo
2658 for ac_var in $ac_subst_vars
2659 do
2660 eval ac_val=\$$ac_var
2661 case $ac_val in
2662 *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
2663 esac
2664 printf "%s\n" "$ac_var='\''$ac_val'\''"
2665 done | sort
2666 echo
2667
2668 if test -n "$ac_subst_files"; then
2669 printf "%s\n" "## ------------------- ##
2670 ## File substitutions. ##
2671 ## ------------------- ##"
2672 echo
2673 for ac_var in $ac_subst_files
2674 do
2675 eval ac_val=\$$ac_var
2676 case $ac_val in
2677 *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
2678 esac
2679 printf "%s\n" "$ac_var='\''$ac_val'\''"
2680 done | sort
2681 echo
2682 fi
2683
2684 if test -s confdefs.h; then
2685 printf "%s\n" "## ----------- ##
2686 ## confdefs.h. ##
2687 ## ----------- ##"
2688 echo
2689 cat confdefs.h
2690 echo
2691 fi
2692 test "$ac_signal" != 0 &&
2693 printf "%s\n" "$as_me: caught signal $ac_signal"
2694 printf "%s\n" "$as_me: exit $exit_status"
2695 } >&5
2696 rm -f core *.core core.conftest.* &&
2697 rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
2698 exit $exit_status
2699 ' 0
2700 for ac_signal in 1 2 13 15; do
2701 trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
2702 done
2703 ac_signal=0
2704
2705 # confdefs.h avoids OS command line length limits that DEFS can exceed.
2706 rm -f -r conftest* confdefs.h
2707
2708 printf "%s\n" "/* confdefs.h */" > confdefs.h
2709
2710 # Predefined preprocessor variables.
2711
2712 printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h
2713
2714 printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h
2715
2716 printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h
2717
2718 printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h
2719
2720 printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h
2721
2722 printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h
2723
2724
2725 # Let the site file select an alternate cache file if it wants to.
2726 # Prefer an explicitly selected file to automatically selected ones.
2727 if test -n "$CONFIG_SITE"; then
2728 ac_site_files="$CONFIG_SITE"
2729 elif test "x$prefix" != xNONE; then
2730 ac_site_files="$prefix/share/config.site $prefix/etc/config.site"
2731 else
2732 ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
2733 fi
2734
2735 for ac_site_file in $ac_site_files
2736 do
2737 case $ac_site_file in #(
2738 */*) :
2739 ;; #(
2740 *) :
2741 ac_site_file=./$ac_site_file ;;
2742 esac
2743 if test -f "$ac_site_file" && test -r "$ac_site_file"; then
2744 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
2745 printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;}
2746 sed 's/^/| /' "$ac_site_file" >&5
2747 . "$ac_site_file" \
2748 || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
2749 printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
2750 as_fn_error $? "failed to load site script $ac_site_file
2751 See \`config.log' for more details" "$LINENO" 5; }
2752 fi
2753 done
2754
2755 if test -r "$cache_file"; then
2756 # Some versions of bash will fail to source /dev/null (special files
2757 # actually), so we avoid doing that. DJGPP emulates it as a regular file.
2758 if test /dev/null != "$cache_file" && test -f "$cache_file"; then
2759 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
2760 printf "%s\n" "$as_me: loading cache $cache_file" >&6;}
2761 case $cache_file in
2762 [\\/]* | ?:[\\/]* ) . "$cache_file";;
2763 *) . "./$cache_file";;
2764 esac
2765 fi
2766 else
2767 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
2768 printf "%s\n" "$as_me: creating cache $cache_file" >&6;}
2769 >$cache_file
2770 fi
2771
2772 as_fn_append ac_header_c_list " stdio.h stdio_h HAVE_STDIO_H"
2773 # Test code for whether the C compiler supports C89 (global declarations)
2774 ac_c_conftest_c89_globals='
2775 /* Does the compiler advertise C89 conformance?
2776 Do not test the value of __STDC__, because some compilers set it to 0
2777 while being otherwise adequately conformant. */
2778 #if !defined __STDC__
2779 # error "Compiler does not advertise C89 conformance"
2780 #endif
2781
2782 #include <stddef.h>
2783 #include <stdarg.h>
2784 struct stat;
2785 /* Most of the following tests are stolen from RCS 5.7 src/conf.sh. */
2786 struct buf { int x; };
2787 struct buf * (*rcsopen) (struct buf *, struct stat *, int);
2788 static char *e (p, i)
2789 char **p;
2790 int i;
2791 {
2792 return p[i];
2793 }
2794 static char *f (char * (*g) (char **, int), char **p, ...)
2795 {
2796 char *s;
2797 va_list v;
2798 va_start (v,p);
2799 s = g (p, va_arg (v,int));
2800 va_end (v);
2801 return s;
2802 }
2803
2804 /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
2805 function prototypes and stuff, but not \xHH hex character constants.
2806 These do not provoke an error unfortunately, instead are silently treated
2807 as an "x". The following induces an error, until -std is added to get
2808 proper ANSI mode. Curiously \x00 != x always comes out true, for an
2809 array size at least. It is necessary to write \x00 == 0 to get something
2810 that is true only with -std. */
2811 int osf4_cc_array ['\''\x00'\'' == 0 ? 1 : -1];
2812
2813 /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
2814 inside strings and character constants. */
2815 #define FOO(x) '\''x'\''
2816 int xlc6_cc_array[FOO(a) == '\''x'\'' ? 1 : -1];
2817
2818 int test (int i, double x);
2819 struct s1 {int (*f) (int a);};
2820 struct s2 {int (*f) (double a);};
2821 int pairnames (int, char **, int *(*)(struct buf *, struct stat *, int),
2822 int, int);'
2823
2824 # Test code for whether the C compiler supports C89 (body of main).
2825 ac_c_conftest_c89_main='
2826 ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]);
2827 '
2828
2829 # Test code for whether the C compiler supports C99 (global declarations)
2830 ac_c_conftest_c99_globals='
2831 // Does the compiler advertise C99 conformance?
2832 #if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L
2833 # error "Compiler does not advertise C99 conformance"
2834 #endif
2835
2836 #include <stdbool.h>
2837 extern int puts (const char *);
2838 extern int printf (const char *, ...);
2839 extern int dprintf (int, const char *, ...);
2840 extern void *malloc (size_t);
2841
2842 // Check varargs macros. These examples are taken from C99 6.10.3.5.
2843 // dprintf is used instead of fprintf to avoid needing to declare
2844 // FILE and stderr.
2845 #define debug(...) dprintf (2, __VA_ARGS__)
2846 #define showlist(...) puts (#__VA_ARGS__)
2847 #define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__))
2848 static void
2849 test_varargs_macros (void)
2850 {
2851 int x = 1234;
2852 int y = 5678;
2853 debug ("Flag");
2854 debug ("X = %d\n", x);
2855 showlist (The first, second, and third items.);
2856 report (x>y, "x is %d but y is %d", x, y);
2857 }
2858
2859 // Check long long types.
2860 #define BIG64 18446744073709551615ull
2861 #define BIG32 4294967295ul
2862 #define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0)
2863 #if !BIG_OK
2864 #error "your preprocessor is broken"
2865 #endif
2866 #if BIG_OK
2867 #else
2868 #error "your preprocessor is broken"
2869 #endif
2870 static long long int bignum = -9223372036854775807LL;
2871 static unsigned long long int ubignum = BIG64;
2872
2873 struct incomplete_array
2874 {
2875 int datasize;
2876 double data[];
2877 };
2878
2879 struct named_init {
2880 int number;
2881 const wchar_t *name;
2882 double average;
2883 };
2884
2885 typedef const char *ccp;
2886
2887 static inline int
2888 test_restrict (ccp restrict text)
2889 {
2890 // See if C++-style comments work.
2891 // Iterate through items via the restricted pointer.
2892 // Also check for declarations in for loops.
2893 for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i)
2894 continue;
2895 return 0;
2896 }
2897
2898 // Check varargs and va_copy.
2899 static bool
2900 test_varargs (const char *format, ...)
2901 {
2902 va_list args;
2903 va_start (args, format);
2904 va_list args_copy;
2905 va_copy (args_copy, args);
2906
2907 const char *str = "";
2908 int number = 0;
2909 float fnumber = 0;
2910
2911 while (*format)
2912 {
2913 switch (*format++)
2914 {
2915 case '\''s'\'': // string
2916 str = va_arg (args_copy, const char *);
2917 break;
2918 case '\''d'\'': // int
2919 number = va_arg (args_copy, int);
2920 break;
2921 case '\''f'\'': // float
2922 fnumber = va_arg (args_copy, double);
2923 break;
2924 default:
2925 break;
2926 }
2927 }
2928 va_end (args_copy);
2929 va_end (args);
2930
2931 return *str && number && fnumber;
2932 }
2933 '
2934
2935 # Test code for whether the C compiler supports C99 (body of main).
2936 ac_c_conftest_c99_main='
2937 // Check bool.
2938 _Bool success = false;
2939 success |= (argc != 0);
2940
2941 // Check restrict.
2942 if (test_restrict ("String literal") == 0)
2943 success = true;
2944 char *restrict newvar = "Another string";
2945
2946 // Check varargs.
2947 success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234);
2948 test_varargs_macros ();
2949
2950 // Check flexible array members.
2951 struct incomplete_array *ia =
2952 malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10));
2953 ia->datasize = 10;
2954 for (int i = 0; i < ia->datasize; ++i)
2955 ia->data[i] = i * 1.234;
2956
2957 // Check named initializers.
2958 struct named_init ni = {
2959 .number = 34,
2960 .name = L"Test wide string",
2961 .average = 543.34343,
2962 };
2963
2964 ni.number = 58;
2965
2966 int dynamic_array[ni.number];
2967 dynamic_array[0] = argv[0][0];
2968 dynamic_array[ni.number - 1] = 543;
2969
2970 // work around unused variable warnings
2971 ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\''
2972 || dynamic_array[ni.number - 1] != 543);
2973 '
2974
2975 # Test code for whether the C compiler supports C11 (global declarations)
2976 ac_c_conftest_c11_globals='
2977 // Does the compiler advertise C11 conformance?
2978 #if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L
2979 # error "Compiler does not advertise C11 conformance"
2980 #endif
2981
2982 // Check _Alignas.
2983 char _Alignas (double) aligned_as_double;
2984 char _Alignas (0) no_special_alignment;
2985 extern char aligned_as_int;
2986 char _Alignas (0) _Alignas (int) aligned_as_int;
2987
2988 // Check _Alignof.
2989 enum
2990 {
2991 int_alignment = _Alignof (int),
2992 int_array_alignment = _Alignof (int[100]),
2993 char_alignment = _Alignof (char)
2994 };
2995 _Static_assert (0 < -_Alignof (int), "_Alignof is signed");
2996
2997 // Check _Noreturn.
2998 int _Noreturn does_not_return (void) { for (;;) continue; }
2999
3000 // Check _Static_assert.
3001 struct test_static_assert
3002 {
3003 int x;
3004 _Static_assert (sizeof (int) <= sizeof (long int),
3005 "_Static_assert does not work in struct");
3006 long int y;
3007 };
3008
3009 // Check UTF-8 literals.
3010 #define u8 syntax error!
3011 char const utf8_literal[] = u8"happens to be ASCII" "another string";
3012
3013 // Check duplicate typedefs.
3014 typedef long *long_ptr;
3015 typedef long int *long_ptr;
3016 typedef long_ptr long_ptr;
3017
3018 // Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1.
3019 struct anonymous
3020 {
3021 union {
3022 struct { int i; int j; };
3023 struct { int k; long int l; } w;
3024 };
3025 int m;
3026 } v1;
3027 '
3028
3029 # Test code for whether the C compiler supports C11 (body of main).
3030 ac_c_conftest_c11_main='
3031 _Static_assert ((offsetof (struct anonymous, i)
3032 == offsetof (struct anonymous, w.k)),
3033 "Anonymous union alignment botch");
3034 v1.i = 2;
3035 v1.w.k = 5;
3036 ok |= v1.i != 5;
3037 '
3038
3039 # Test code for whether the C compiler supports C11 (complete).
3040 ac_c_conftest_c11_program="${ac_c_conftest_c89_globals}
3041 ${ac_c_conftest_c99_globals}
3042 ${ac_c_conftest_c11_globals}
3043
3044 int
3045 main (int argc, char **argv)
3046 {
3047 int ok = 0;
3048 ${ac_c_conftest_c89_main}
3049 ${ac_c_conftest_c99_main}
3050 ${ac_c_conftest_c11_main}
3051 return ok;
3052 }
3053 "
3054
3055 # Test code for whether the C compiler supports C99 (complete).
3056 ac_c_conftest_c99_program="${ac_c_conftest_c89_globals}
3057 ${ac_c_conftest_c99_globals}
3058
3059 int
3060 main (int argc, char **argv)
3061 {
3062 int ok = 0;
3063 ${ac_c_conftest_c89_main}
3064 ${ac_c_conftest_c99_main}
3065 return ok;
3066 }
3067 "
3068
3069 # Test code for whether the C compiler supports C89 (complete).
3070 ac_c_conftest_c89_program="${ac_c_conftest_c89_globals}
3071
3072 int
3073 main (int argc, char **argv)
3074 {
3075 int ok = 0;
3076 ${ac_c_conftest_c89_main}
3077 return ok;
3078 }
3079 "
3080
3081 as_fn_append ac_header_c_list " stdlib.h stdlib_h HAVE_STDLIB_H"
3082 as_fn_append ac_header_c_list " string.h string_h HAVE_STRING_H"
3083 as_fn_append ac_header_c_list " inttypes.h inttypes_h HAVE_INTTYPES_H"
3084 as_fn_append ac_header_c_list " stdint.h stdint_h HAVE_STDINT_H"
3085 as_fn_append ac_header_c_list " strings.h strings_h HAVE_STRINGS_H"
3086 as_fn_append ac_header_c_list " sys/stat.h sys_stat_h HAVE_SYS_STAT_H"
3087 as_fn_append ac_header_c_list " sys/types.h sys_types_h HAVE_SYS_TYPES_H"
3088 as_fn_append ac_header_c_list " unistd.h unistd_h HAVE_UNISTD_H"
3089 as_fn_append ac_header_c_list " wchar.h wchar_h HAVE_WCHAR_H"
3090 as_fn_append ac_header_c_list " minix/config.h minix_config_h HAVE_MINIX_CONFIG_H"
3091 # Test code for whether the C++ compiler supports C++98 (global declarations)
3092 ac_cxx_conftest_cxx98_globals='
3093 // Does the compiler advertise C++98 conformance?
3094 #if !defined __cplusplus || __cplusplus < 199711L
3095 # error "Compiler does not advertise C++98 conformance"
3096 #endif
3097
3098 // These inclusions are to reject old compilers that
3099 // lack the unsuffixed header files.
3100 #include <cstdlib>
3101 #include <exception>
3102
3103 // <cassert> and <cstring> are *not* freestanding headers in C++98.
3104 extern void assert (int);
3105 namespace std {
3106 extern int strcmp (const char *, const char *);
3107 }
3108
3109 // Namespaces, exceptions, and templates were all added after "C++ 2.0".
3110 using std::exception;
3111 using std::strcmp;
3112
3113 namespace {
3114
3115 void test_exception_syntax()
3116 {
3117 try {
3118 throw "test";
3119 } catch (const char *s) {
3120 // Extra parentheses suppress a warning when building autoconf itself,
3121 // due to lint rules shared with more typical C programs.
3122 assert (!(strcmp) (s, "test"));
3123 }
3124 }
3125
3126 template <typename T> struct test_template
3127 {
3128 T const val;
3129 explicit test_template(T t) : val(t) {}
3130 template <typename U> T add(U u) { return static_cast<T>(u) + val; }
3131 };
3132
3133 } // anonymous namespace
3134 '
3135
3136 # Test code for whether the C++ compiler supports C++98 (body of main)
3137 ac_cxx_conftest_cxx98_main='
3138 assert (argc);
3139 assert (! argv[0]);
3140 {
3141 test_exception_syntax ();
3142 test_template<double> tt (2.0);
3143 assert (tt.add (4) == 6.0);
3144 assert (true && !false);
3145 }
3146 '
3147
3148 # Test code for whether the C++ compiler supports C++11 (global declarations)
3149 ac_cxx_conftest_cxx11_globals='
3150 // Does the compiler advertise C++ 2011 conformance?
3151 #if !defined __cplusplus || __cplusplus < 201103L
3152 # error "Compiler does not advertise C++11 conformance"
3153 #endif
3154
3155 namespace cxx11test
3156 {
3157 constexpr int get_val() { return 20; }
3158
3159 struct testinit
3160 {
3161 int i;
3162 double d;
3163 };
3164
3165 class delegate
3166 {
3167 public:
3168 delegate(int n) : n(n) {}
3169 delegate(): delegate(2354) {}
3170
3171 virtual int getval() { return this->n; };
3172 protected:
3173 int n;
3174 };
3175
3176 class overridden : public delegate
3177 {
3178 public:
3179 overridden(int n): delegate(n) {}
3180 virtual int getval() override final { return this->n * 2; }
3181 };
3182
3183 class nocopy
3184 {
3185 public:
3186 nocopy(int i): i(i) {}
3187 nocopy() = default;
3188 nocopy(const nocopy&) = delete;
3189 nocopy & operator=(const nocopy&) = delete;
3190 private:
3191 int i;
3192 };
3193
3194 // for testing lambda expressions
3195 template <typename Ret, typename Fn> Ret eval(Fn f, Ret v)
3196 {
3197 return f(v);
3198 }
3199
3200 // for testing variadic templates and trailing return types
3201 template <typename V> auto sum(V first) -> V
3202 {
3203 return first;
3204 }
3205 template <typename V, typename... Args> auto sum(V first, Args... rest) -> V
3206 {
3207 return first + sum(rest...);
3208 }
3209 }
3210 '
3211
3212 # Test code for whether the C++ compiler supports C++11 (body of main)
3213 ac_cxx_conftest_cxx11_main='
3214 {
3215 // Test auto and decltype
3216 auto a1 = 6538;
3217 auto a2 = 48573953.4;
3218 auto a3 = "String literal";
3219
3220 int total = 0;
3221 for (auto i = a3; *i; ++i) { total += *i; }
3222
3223 decltype(a2) a4 = 34895.034;
3224 }
3225 {
3226 // Test constexpr
3227 short sa[cxx11test::get_val()] = { 0 };
3228 }
3229 {
3230 // Test initializer lists
3231 cxx11test::testinit il = { 4323, 435234.23544 };
3232 }
3233 {
3234 // Test range-based for
3235 int array[] = {9, 7, 13, 15, 4, 18, 12, 10, 5, 3,
3236 14, 19, 17, 8, 6, 20, 16, 2, 11, 1};
3237 for (auto &x : array) { x += 23; }
3238 }
3239 {
3240 // Test lambda expressions
3241 using cxx11test::eval;
3242 assert (eval ([](int x) { return x*2; }, 21) == 42);
3243 double d = 2.0;
3244 assert (eval ([&](double x) { return d += x; }, 3.0) == 5.0);
3245 assert (d == 5.0);
3246 assert (eval ([=](double x) mutable { return d += x; }, 4.0) == 9.0);
3247 assert (d == 5.0);
3248 }
3249 {
3250 // Test use of variadic templates
3251 using cxx11test::sum;
3252 auto a = sum(1);
3253 auto b = sum(1, 2);
3254 auto c = sum(1.0, 2.0, 3.0);
3255 }
3256 {
3257 // Test constructor delegation
3258 cxx11test::delegate d1;
3259 cxx11test::delegate d2();
3260 cxx11test::delegate d3(45);
3261 }
3262 {
3263 // Test override and final
3264 cxx11test::overridden o1(55464);
3265 }
3266 {
3267 // Test nullptr
3268 char *c = nullptr;
3269 }
3270 {
3271 // Test template brackets
3272 test_template<::test_template<int>> v(test_template<int>(12));
3273 }
3274 {
3275 // Unicode literals
3276 char const *utf8 = u8"UTF-8 string \u2500";
3277 char16_t const *utf16 = u"UTF-8 string \u2500";
3278 char32_t const *utf32 = U"UTF-32 string \u2500";
3279 }
3280 '
3281
3282 # Test code for whether the C compiler supports C++11 (complete).
3283 ac_cxx_conftest_cxx11_program="${ac_cxx_conftest_cxx98_globals}
3284 ${ac_cxx_conftest_cxx11_globals}
3285
3286 int
3287 main (int argc, char **argv)
3288 {
3289 int ok = 0;
3290 ${ac_cxx_conftest_cxx98_main}
3291 ${ac_cxx_conftest_cxx11_main}
3292 return ok;
3293 }
3294 "
3295
3296 # Test code for whether the C compiler supports C++98 (complete).
3297 ac_cxx_conftest_cxx98_program="${ac_cxx_conftest_cxx98_globals}
3298 int
3299 main (int argc, char **argv)
3300 {
3301 int ok = 0;
3302 ${ac_cxx_conftest_cxx98_main}
3303 return ok;
3304 }
3305 "
3306
3307 as_fn_append ac_header_c_list " locale.h locale_h HAVE_LOCALE_H"
3308 as_fn_append ac_header_c_list " sys/select.h sys_select_h HAVE_SYS_SELECT_H"
3309 as_fn_append ac_header_c_list " sys/uio.h sys_uio_h HAVE_SYS_UIO_H"
3310 as_fn_append ac_header_c_list " argp.h argp_h HAVE_ARGP_H"
3311 as_fn_append ac_header_c_list " sys/time.h sys_time_h HAVE_SYS_TIME_H"
3312
3313 # Auxiliary files required by this configure script.
3314 ac_aux_files="ltmain.sh compile config.guess config.sub missing install-sh"
3315
3316 # Locations in which to look for auxiliary files.
3317 ac_aux_dir_candidates="${srcdir}/build-aux"
3318
3319 # Search for a directory containing all of the required auxiliary files,
3320 # $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates.
3321 # If we don't find one directory that contains all the files we need,
3322 # we report the set of missing files from the *first* directory in
3323 # $ac_aux_dir_candidates and give up.
3324 ac_missing_aux_files=""
3325 ac_first_candidate=:
3326 printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5
3327 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
3328 as_found=false
3329 for as_dir in $ac_aux_dir_candidates
3330 do
3331 IFS=$as_save_IFS
3332 case $as_dir in #(((
3333 '') as_dir=./ ;;
3334 */) ;;
3335 *) as_dir=$as_dir/ ;;
3336 esac
3337 as_found=:
3338
3339 printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying $as_dir" >&5
3340 ac_aux_dir_found=yes
3341 ac_install_sh=
3342 for ac_aux in $ac_aux_files
3343 do
3344 # As a special case, if "install-sh" is required, that requirement
3345 # can be satisfied by any of "install-sh", "install.sh", or "shtool",
3346 # and $ac_install_sh is set appropriately for whichever one is found.
3347 if test x"$ac_aux" = x"install-sh"
3348 then
3349 if test -f "${as_dir}install-sh"; then
3350 printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install-sh found" >&5
3351 ac_install_sh="${as_dir}install-sh -c"
3352 elif test -f "${as_dir}install.sh"; then
3353 printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}install.sh found" >&5
3354 ac_install_sh="${as_dir}install.sh -c"
3355 elif test -f "${as_dir}shtool"; then
3356 printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}shtool found" >&5
3357 ac_install_sh="${as_dir}shtool install -c"
3358 else
3359 ac_aux_dir_found=no
3360 if $ac_first_candidate; then
3361 ac_missing_aux_files="${ac_missing_aux_files} install-sh"
3362 else
3363 break
3364 fi
3365 fi
3366 else
3367 if test -f "${as_dir}${ac_aux}"; then
3368 printf "%s\n" "$as_me:${as_lineno-$LINENO}: ${as_dir}${ac_aux} found" >&5
3369 else
3370 ac_aux_dir_found=no
3371 if $ac_first_candidate; then
3372 ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}"
3373 else
3374 break
3375 fi
3376 fi
3377 fi
3378 done
3379 if test "$ac_aux_dir_found" = yes; then
3380 ac_aux_dir="$as_dir"
3381 break
3382 fi
3383 ac_first_candidate=false
3384
3385 as_found=false
3386 done
3387 IFS=$as_save_IFS
3388 if $as_found
3389 then :
3390
3391 else $as_nop
3392 as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$LINENO" 5
3393 fi
3394
3395
3396 # These three variables are undocumented and unsupported,
3397 # and are intended to be withdrawn in a future Autoconf release.
3398 # They can cause serious problems if a builder's source tree is in a directory
3399 # whose full name contains unusual characters.
3400 if test -f "${ac_aux_dir}config.guess"; then
3401 ac_config_guess="$SHELL ${ac_aux_dir}config.guess"
3402 fi
3403 if test -f "${ac_aux_dir}config.sub"; then
3404 ac_config_sub="$SHELL ${ac_aux_dir}config.sub"
3405 fi
3406 if test -f "$ac_aux_dir/configure"; then
3407 ac_configure="$SHELL ${ac_aux_dir}configure"
3408 fi
3409
3410 # Check that the precious variables saved in the cache have kept the same
3411 # value.
3412 ac_cache_corrupted=false
3413 for ac_var in $ac_precious_vars; do
3414 eval ac_old_set=\$ac_cv_env_${ac_var}_set
3415 eval ac_new_set=\$ac_env_${ac_var}_set
3416 eval ac_old_val=\$ac_cv_env_${ac_var}_value
3417 eval ac_new_val=\$ac_env_${ac_var}_value
3418 case $ac_old_set,$ac_new_set in
3419 set,)
3420 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
3421 printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
3422 ac_cache_corrupted=: ;;
3423 ,set)
3424 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
3425 printf "%s\n" "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
3426 ac_cache_corrupted=: ;;
3427 ,);;
3428 *)
3429 if test "x$ac_old_val" != "x$ac_new_val"; then
3430 # differences in whitespace do not lead to failure.
3431 ac_old_val_w=`echo x $ac_old_val`
3432 ac_new_val_w=`echo x $ac_new_val`
3433 if test "$ac_old_val_w" != "$ac_new_val_w"; then
3434 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
3435 printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
3436 ac_cache_corrupted=:
3437 else
3438 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
3439 printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
3440 eval $ac_var=\$ac_old_val
3441 fi
3442 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5
3443 printf "%s\n" "$as_me: former value: \`$ac_old_val'" >&2;}
3444 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5
3445 printf "%s\n" "$as_me: current value: \`$ac_new_val'" >&2;}
3446 fi;;
3447 esac
3448 # Pass precious variables to config.status.
3449 if test "$ac_new_set" = set; then
3450 case $ac_new_val in
3451 *\'*) ac_arg=$ac_var=`printf "%s\n" "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
3452 *) ac_arg=$ac_var=$ac_new_val ;;
3453 esac
3454 case " $ac_configure_args " in
3455 *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
3456 *) as_fn_append ac_configure_args " '$ac_arg'" ;;
3457 esac
3458 fi
3459 done
3460 if $ac_cache_corrupted; then
3461 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
3462 printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
3463 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
3464 printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;}
3465 as_fn_error $? "run \`${MAKE-make} distclean' and/or \`rm $cache_file'
3466 and start over" "$LINENO" 5
3467 fi
3468 ## -------------------- ##
3469 ## Main body of script. ##
3470 ## -------------------- ##
3471
3472 ac_ext=c
3473 ac_cpp='$CPP $CPPFLAGS'
3474 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
3475 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
3476 ac_compiler_gnu=$ac_cv_c_compiler_gnu
3477
3478
3479
3480 # LT Version numbers, remember to change them just *before* a release.
3481 # (Code changed: REVISION++)
3482 # (Interfaces added/removed/changed: CURRENT++, REVISION=0)
3483 # (Interfaces added: AGE++)
3484 # (Interfaces removed: AGE=0)
3485 #
3486 LIBGPGME_LT_CURRENT=36
3487 LIBGPGME_LT_AGE=25
3488 LIBGPGME_LT_REVISION=0
3489
3490 # If there is an ABI break in gpgmepp or qgpgme also bump the
3491 # version in IMPORTED_LOCATION in the GpgmeppConfig-w32.cmake.in.in
3492
3493 LIBGPGMEPP_LT_CURRENT=19
3494 LIBGPGMEPP_LT_AGE=13
3495 LIBGPGMEPP_LT_REVISION=0
3496
3497 LIBQGPGME_LT_CURRENT=13
3498 LIBQGPGME_LT_AGE=6
3499 LIBQGPGME_LT_REVISION=0
3500 ################################################
3501
3502
3503
3504
3505
3506
3507
3508
3509
3510
3511
3512
3513
3514 # If the API is changed in an incompatible way: increment the next counter.
3515 GPGME_CONFIG_API_VERSION=1
3516 ##############################################
3517
3518 NEED_GPG_ERROR_VERSION=1.36
3519 NEED_LIBASSUAN_API=2
3520 NEED_LIBASSUAN_VERSION=2.4.2
3521
3522
3523 VERSION_MAJOR=1
3524 VERSION_MINOR=16
3525 VERSION_MICRO=1
3526
3527
3528
3529
3530 ac_config_headers="$ac_config_headers conf/config.h"
3531
3532 am__api_version='1.16'
3533
3534
3535
3536 # Find a good install program. We prefer a C program (faster),
3537 # so one script is as good as another. But avoid the broken or
3538 # incompatible versions:
3539 # SysV /etc/install, /usr/sbin/install
3540 # SunOS /usr/etc/install
3541 # IRIX /sbin/install
3542 # AIX /bin/install
3543 # AmigaOS /C/install, which installs bootblocks on floppy discs
3544 # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
3545 # AFS /usr/afsws/bin/install, which mishandles nonexistent args
3546 # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
3547 # OS/2's system install, which has a completely different semantic
3548 # ./install, which can be erroneously created by make from ./install.sh.
3549 # Reject install programs that cannot install multiple files.
3550 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
3551 printf %s "checking for a BSD-compatible install... " >&6; }
3552 if test -z "$INSTALL"; then
3553 if test ${ac_cv_path_install+y}
3554 then :
3555 printf %s "(cached) " >&6
3556 else $as_nop
3557 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
3558 for as_dir in $PATH
3559 do
3560 IFS=$as_save_IFS
3561 case $as_dir in #(((
3562 '') as_dir=./ ;;
3563 */) ;;
3564 *) as_dir=$as_dir/ ;;
3565 esac
3566 # Account for fact that we put trailing slashes in our PATH walk.
3567 case $as_dir in #((
3568 ./ | /[cC]/* | \
3569 /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
3570 ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
3571 /usr/ucb/* ) ;;
3572 *)
3573 # OSF1 and SCO ODT 3.0 have their own names for install.
3574 # Don't use installbsd from OSF since it installs stuff as root
3575 # by default.
3576 for ac_prog in ginstall scoinst install; do
3577 for ac_exec_ext in '' $ac_executable_extensions; do
3578 if as_fn_executable_p "$as_dir$ac_prog$ac_exec_ext"; then
3579 if test $ac_prog = install &&
3580 grep dspmsg "$as_dir$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
3581 # AIX install. It has an incompatible calling convention.
3582 :
3583 elif test $ac_prog = install &&
3584 grep pwplus "$as_dir$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
3585 # program-specific install script used by HP pwplus--don't use.
3586 :
3587 else
3588 rm -rf conftest.one conftest.two conftest.dir
3589 echo one > conftest.one
3590 echo two > conftest.two
3591 mkdir conftest.dir
3592 if "$as_dir$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir/" &&
3593 test -s conftest.one && test -s conftest.two &&
3594 test -s conftest.dir/conftest.one &&
3595 test -s conftest.dir/conftest.two
3596 then
3597 ac_cv_path_install="$as_dir$ac_prog$ac_exec_ext -c"
3598 break 3
3599 fi
3600 fi
3601 fi
3602 done
3603 done
3604 ;;
3605 esac
3606
3607 done
3608 IFS=$as_save_IFS
3609
3610 rm -rf conftest.one conftest.two conftest.dir
3611
3612 fi
3613 if test ${ac_cv_path_install+y}; then
3614 INSTALL=$ac_cv_path_install
3615 else
3616 # As a last resort, use the slow shell script. Don't cache a
3617 # value for INSTALL within a source directory, because that will
3618 # break other packages using the cache if that directory is
3619 # removed, or if the value is a relative name.
3620 INSTALL=$ac_install_sh
3621 fi
3622 fi
3623 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
3624 printf "%s\n" "$INSTALL" >&6; }
3625
3626 # Use test -z because SunOS4 sh mishandles braces in ${var-val}.
3627 # It thinks the first close brace ends the variable substitution.
3628 test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
3629
3630 test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
3631
3632 test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
3633
3634 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
3635 printf %s "checking whether build environment is sane... " >&6; }
3636 # Reject unsafe characters in $srcdir or the absolute working directory
3637 # name. Accept space and tab only in the latter.
3638 am_lf='
3639 '
3640 case `pwd` in
3641 *[\\\"\#\$\&\'\`$am_lf]*)
3642 as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;;
3643 esac
3644 case $srcdir in
3645 *[\\\"\#\$\&\'\`$am_lf\ \ ]*)
3646 as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;;
3647 esac
3648
3649 # Do 'set' in a subshell so we don't clobber the current shell's
3650 # arguments. Must try -L first in case configure is actually a
3651 # symlink; some systems play weird games with the mod time of symlinks
3652 # (eg FreeBSD returns the mod time of the symlink's containing
3653 # directory).
3654 if (
3655 am_has_slept=no
3656 for am_try in 1 2; do
3657 echo "timestamp, slept: $am_has_slept" > conftest.file
3658 set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
3659 if test "$*" = "X"; then
3660 # -L didn't work.
3661 set X `ls -t "$srcdir/configure" conftest.file`
3662 fi
3663 if test "$*" != "X $srcdir/configure conftest.file" \
3664 && test "$*" != "X conftest.file $srcdir/configure"; then
3665
3666 # If neither matched, then we have a broken ls. This can happen
3667 # if, for instance, CONFIG_SHELL is bash and it inherits a
3668 # broken ls alias from the environment. This has actually
3669 # happened. Such a system could not be considered "sane".
3670 as_fn_error $? "ls -t appears to fail. Make sure there is not a broken
3671 alias in your environment" "$LINENO" 5
3672 fi
3673 if test "$2" = conftest.file || test $am_try -eq 2; then
3674 break
3675 fi
3676 # Just in case.
3677 sleep 1
3678 am_has_slept=yes
3679 done
3680 test "$2" = conftest.file
3681 )
3682 then
3683 # Ok.
3684 :
3685 else
3686 as_fn_error $? "newly created file is older than distributed files!
3687 Check your system clock" "$LINENO" 5
3688 fi
3689 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
3690 printf "%s\n" "yes" >&6; }
3691 # If we didn't sleep, we still need to ensure time stamps of config.status and
3692 # generated files are strictly newer.
3693 am_sleep_pid=
3694 if grep 'slept: no' conftest.file >/dev/null 2>&1; then
3695 ( sleep 1 ) &
3696 am_sleep_pid=$!
3697 fi
3698
3699 rm -f conftest.file
3700
3701 test "$program_prefix" != NONE &&
3702 program_transform_name="s&^&$program_prefix&;$program_transform_name"
3703 # Use a double $ so make ignores it.
3704 test "$program_suffix" != NONE &&
3705 program_transform_name="s&\$&$program_suffix&;$program_transform_name"
3706 # Double any \ or $.
3707 # By default was `s,x,x', remove it if useless.
3708 ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
3709 program_transform_name=`printf "%s\n" "$program_transform_name" | sed "$ac_script"`
3710
3711
3712 # Expand $ac_aux_dir to an absolute path.
3713 am_aux_dir=`cd "$ac_aux_dir" && pwd`
3714
3715
3716 if test x"${MISSING+set}" != xset; then
3717 MISSING="\${SHELL} '$am_aux_dir/missing'"
3718 fi
3719 # Use eval to expand $SHELL
3720 if eval "$MISSING --is-lightweight"; then
3721 am_missing_run="$MISSING "
3722 else
3723 am_missing_run=
3724 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5
3725 printf "%s\n" "$as_me: WARNING: 'missing' script is too old or missing" >&2;}
3726 fi
3727
3728 if test x"${install_sh+set}" != xset; then
3729 case $am_aux_dir in
3730 *\ * | *\ *)
3731 install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
3732 *)
3733 install_sh="\${SHELL} $am_aux_dir/install-sh"
3734 esac
3735 fi
3736
3737 # Installed binaries are usually stripped using 'strip' when the user
3738 # run "make install-strip". However 'strip' might not be the right
3739 # tool to use in cross-compilation environments, therefore Automake
3740 # will honor the 'STRIP' environment variable to overrule this program.
3741 if test "$cross_compiling" != no; then
3742 if test -n "$ac_tool_prefix"; then
3743 # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
3744 set dummy ${ac_tool_prefix}strip; ac_word=$2
3745 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
3746 printf %s "checking for $ac_word... " >&6; }
3747 if test ${ac_cv_prog_STRIP+y}
3748 then :
3749 printf %s "(cached) " >&6
3750 else $as_nop
3751 if test -n "$STRIP"; then
3752 ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
3753 else
3754 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
3755 for as_dir in $PATH
3756 do
3757 IFS=$as_save_IFS
3758 case $as_dir in #(((
3759 '') as_dir=./ ;;
3760 */) ;;
3761 *) as_dir=$as_dir/ ;;
3762 esac
3763 for ac_exec_ext in '' $ac_executable_extensions; do
3764 if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
3765 ac_cv_prog_STRIP="${ac_tool_prefix}strip"
3766 printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
3767 break 2
3768 fi
3769 done
3770 done
3771 IFS=$as_save_IFS
3772
3773 fi
3774 fi
3775 STRIP=$ac_cv_prog_STRIP
3776 if test -n "$STRIP"; then
3777 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
3778 printf "%s\n" "$STRIP" >&6; }
3779 else
3780 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
3781 printf "%s\n" "no" >&6; }
3782 fi
3783
3784
3785 fi
3786 if test -z "$ac_cv_prog_STRIP"; then
3787 ac_ct_STRIP=$STRIP
3788 # Extract the first word of "strip", so it can be a program name with args.
3789 set dummy strip; ac_word=$2
3790 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
3791 printf %s "checking for $ac_word... " >&6; }
3792 if test ${ac_cv_prog_ac_ct_STRIP+y}
3793 then :
3794 printf %s "(cached) " >&6
3795 else $as_nop
3796 if test -n "$ac_ct_STRIP"; then
3797 ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
3798 else
3799 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
3800 for as_dir in $PATH
3801 do
3802 IFS=$as_save_IFS
3803 case $as_dir in #(((
3804 '') as_dir=./ ;;
3805 */) ;;
3806 *) as_dir=$as_dir/ ;;
3807 esac
3808 for ac_exec_ext in '' $ac_executable_extensions; do
3809 if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
3810 ac_cv_prog_ac_ct_STRIP="strip"
3811 printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
3812 break 2
3813 fi
3814 done
3815 done
3816 IFS=$as_save_IFS
3817
3818 fi
3819 fi
3820 ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
3821 if test -n "$ac_ct_STRIP"; then
3822 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
3823 printf "%s\n" "$ac_ct_STRIP" >&6; }
3824 else
3825 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
3826 printf "%s\n" "no" >&6; }
3827 fi
3828
3829 if test "x$ac_ct_STRIP" = x; then
3830 STRIP=":"
3831 else
3832 case $cross_compiling:$ac_tool_warned in
3833 yes:)
3834 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
3835 printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
3836 ac_tool_warned=yes ;;
3837 esac
3838 STRIP=$ac_ct_STRIP
3839 fi
3840 else
3841 STRIP="$ac_cv_prog_STRIP"
3842 fi
3843
3844 fi
3845 INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
3846
3847
3848 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a race-free mkdir -p" >&5
3849 printf %s "checking for a race-free mkdir -p... " >&6; }
3850 if test -z "$MKDIR_P"; then
3851 if test ${ac_cv_path_mkdir+y}
3852 then :
3853 printf %s "(cached) " >&6
3854 else $as_nop
3855 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
3856 for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
3857 do
3858 IFS=$as_save_IFS
3859 case $as_dir in #(((
3860 '') as_dir=./ ;;
3861 */) ;;
3862 *) as_dir=$as_dir/ ;;
3863 esac
3864 for ac_prog in mkdir gmkdir; do
3865 for ac_exec_ext in '' $ac_executable_extensions; do
3866 as_fn_executable_p "$as_dir$ac_prog$ac_exec_ext" || continue
3867 case `"$as_dir$ac_prog$ac_exec_ext" --version 2>&1` in #(
3868 'mkdir ('*'coreutils) '* | \
3869 'BusyBox '* | \
3870 'mkdir (fileutils) '4.1*)
3871 ac_cv_path_mkdir=$as_dir$ac_prog$ac_exec_ext
3872 break 3;;
3873 esac
3874 done
3875 done
3876 done
3877 IFS=$as_save_IFS
3878
3879 fi
3880
3881 test -d ./--version && rmdir ./--version
3882 if test ${ac_cv_path_mkdir+y}; then
3883 MKDIR_P="$ac_cv_path_mkdir -p"
3884 else
3885 # As a last resort, use the slow shell script. Don't cache a
3886 # value for MKDIR_P within a source directory, because that will
3887 # break other packages using the cache if that directory is
3888 # removed, or if the value is a relative name.
3889 MKDIR_P="$ac_install_sh -d"
3890 fi
3891 fi
3892 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
3893 printf "%s\n" "$MKDIR_P" >&6; }
3894
3895 for ac_prog in gawk mawk nawk awk
3896 do
3897 # Extract the first word of "$ac_prog", so it can be a program name with args.
3898 set dummy $ac_prog; ac_word=$2
3899 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
3900 printf %s "checking for $ac_word... " >&6; }
3901 if test ${ac_cv_prog_AWK+y}
3902 then :
3903 printf %s "(cached) " >&6
3904 else $as_nop
3905 if test -n "$AWK"; then
3906 ac_cv_prog_AWK="$AWK" # Let the user override the test.
3907 else
3908 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
3909 for as_dir in $PATH
3910 do
3911 IFS=$as_save_IFS
3912 case $as_dir in #(((
3913 '') as_dir=./ ;;
3914 */) ;;
3915 *) as_dir=$as_dir/ ;;
3916 esac
3917 for ac_exec_ext in '' $ac_executable_extensions; do
3918 if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
3919 ac_cv_prog_AWK="$ac_prog"
3920 printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
3921 break 2
3922 fi
3923 done
3924 done
3925 IFS=$as_save_IFS
3926
3927 fi
3928 fi
3929 AWK=$ac_cv_prog_AWK
3930 if test -n "$AWK"; then
3931 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
3932 printf "%s\n" "$AWK" >&6; }
3933 else
3934 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
3935 printf "%s\n" "no" >&6; }
3936 fi
3937
3938
3939 test -n "$AWK" && break
3940 done
3941
3942 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
3943 printf %s "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
3944 set x ${MAKE-make}
3945 ac_make=`printf "%s\n" "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
3946 if eval test \${ac_cv_prog_make_${ac_make}_set+y}
3947 then :
3948 printf %s "(cached) " >&6
3949 else $as_nop
3950 cat >conftest.make <<\_ACEOF
3951 SHELL = /bin/sh
3952 all:
3953 @echo '@@@%%%=$(MAKE)=@@@%%%'
3954 _ACEOF
3955 # GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
3956 case `${MAKE-make} -f conftest.make 2>/dev/null` in
3957 *@@@%%%=?*=@@@%%%*)
3958 eval ac_cv_prog_make_${ac_make}_set=yes;;
3959 *)
3960 eval ac_cv_prog_make_${ac_make}_set=no;;
3961 esac
3962 rm -f conftest.make
3963 fi
3964 if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
3965 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
3966 printf "%s\n" "yes" >&6; }
3967 SET_MAKE=
3968 else
3969 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
3970 printf "%s\n" "no" >&6; }
3971 SET_MAKE="MAKE=${MAKE-make}"
3972 fi
3973
3974 rm -rf .tst 2>/dev/null
3975 mkdir .tst 2>/dev/null
3976 if test -d .tst; then
3977 am__leading_dot=.
3978 else
3979 am__leading_dot=_
3980 fi
3981 rmdir .tst 2>/dev/null
3982
3983 # Check whether --enable-silent-rules was given.
3984 if test ${enable_silent_rules+y}
3985 then :
3986 enableval=$enable_silent_rules;
3987 fi
3988
3989 case $enable_silent_rules in # (((
3990 yes) AM_DEFAULT_VERBOSITY=0;;
3991 no) AM_DEFAULT_VERBOSITY=1;;
3992 *) AM_DEFAULT_VERBOSITY=1;;
3993 esac
3994 am_make=${MAKE-make}
3995 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5
3996 printf %s "checking whether $am_make supports nested variables... " >&6; }
3997 if test ${am_cv_make_support_nested_variables+y}
3998 then :
3999 printf %s "(cached) " >&6
4000 else $as_nop
4001 if printf "%s\n" 'TRUE=$(BAR$(V))
4002 BAR0=false
4003 BAR1=true
4004 V=1
4005 am__doit:
4006 @$(TRUE)
4007 .PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then
4008 am_cv_make_support_nested_variables=yes
4009 else
4010 am_cv_make_support_nested_variables=no
4011 fi
4012 fi
4013 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5
4014 printf "%s\n" "$am_cv_make_support_nested_variables" >&6; }
4015 if test $am_cv_make_support_nested_variables = yes; then
4016 AM_V='$(V)'
4017 AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
4018 else
4019 AM_V=$AM_DEFAULT_VERBOSITY
4020 AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
4021 fi
4022 AM_BACKSLASH='\'
4023
4024 if test "`cd $srcdir && pwd`" != "`pwd`"; then
4025 # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
4026 # is not polluted with repeated "-I."
4027 am__isrc=' -I$(srcdir)'
4028 # test to see if srcdir already configured
4029 if test -f $srcdir/config.status; then
4030 as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
4031 fi
4032 fi
4033
4034 # test whether we have cygpath
4035 if test -z "$CYGPATH_W"; then
4036 if (cygpath --version) >/dev/null 2>/dev/null; then
4037 CYGPATH_W='cygpath -w'
4038 else
4039 CYGPATH_W=echo
4040 fi
4041 fi
4042
4043
4044 # Define the identity of the package.
4045 PACKAGE='gpgme'
4046 VERSION='1.16.1-unknown'
4047
4048
4049 printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h
4050
4051
4052 printf "%s\n" "#define VERSION \"$VERSION\"" >>confdefs.h
4053
4054 # Some tools Automake needs.
4055
4056 ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
4057
4058
4059 AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
4060
4061
4062 AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
4063
4064
4065 AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
4066
4067
4068 MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
4069
4070 # For better backward compatibility. To be removed once Automake 1.9.x
4071 # dies out for good. For more background, see:
4072 # <https://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
4073 # <https://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
4074 mkdir_p='$(MKDIR_P)'
4075
4076 # We need awk for the "check" target (and possibly the TAP driver). The
4077 # system "awk" is bad on some platforms.
4078 # Always define AMTAR for backward compatibility. Yes, it's still used
4079 # in the wild :-( We should find a proper way to deprecate it ...
4080 AMTAR='$${TAR-tar}'
4081
4082
4083 # We'll loop over all known methods to create a tar archive until one works.
4084 _am_tools='gnutar pax cpio none'
4085
4086 am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'
4087
4088
4089
4090
4091
4092 # Variables for tags utilities; see am/tags.am
4093 if test -z "$CTAGS"; then
4094 CTAGS=ctags
4095 fi
4096
4097 if test -z "$ETAGS"; then
4098 ETAGS=etags
4099 fi
4100
4101 if test -z "$CSCOPE"; then
4102 CSCOPE=cscope
4103 fi
4104
4105
4106
4107 # POSIX will say in a future version that running "rm -f" with no argument
4108 # is OK; and we want to be able to make that assumption in our Makefile
4109 # recipes. So use an aggressive probe to check that the usage we want is
4110 # actually supported "in the wild" to an acceptable degree.
4111 # See automake bug#10828.
4112 # To make any issue more visible, cause the running configure to be aborted
4113 # by default if the 'rm' program in use doesn't match our expectations; the
4114 # user can still override this though.
4115 if rm -f && rm -fr && rm -rf; then : OK; else
4116 cat >&2 <<'END'
4117 Oops!
4118
4119 Your 'rm' program seems unable to run without file operands specified
4120 on the command line, even when the '-f' option is present. This is contrary
4121 to the behaviour of most rm programs out there, and not conforming with
4122 the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
4123
4124 Please tell bug-automake@gnu.org about your system, including the value
4125 of your $PATH and any error possibly output before this message. This
4126 can help us improve future automake versions.
4127
4128 END
4129 if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
4130 echo 'Configuration will proceed anyway, since you have set the' >&2
4131 echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
4132 echo >&2
4133 else
4134 cat >&2 <<'END'
4135 Aborting the configuration process, to ensure you take notice of the issue.
4136
4137 You can download and install GNU coreutils to get an 'rm' implementation
4138 that behaves properly: <https://www.gnu.org/software/coreutils/>.
4139
4140 If you want to complete the configuration process using your problematic
4141 'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
4142 to "yes", and re-run configure.
4143
4144 END
4145 as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5
4146 fi
4147 fi
4148
4149
4150 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5
4151 printf %s "checking whether to enable maintainer-specific portions of Makefiles... " >&6; }
4152 # Check whether --enable-maintainer-mode was given.
4153 if test ${enable_maintainer_mode+y}
4154 then :
4155 enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval
4156 else $as_nop
4157 USE_MAINTAINER_MODE=no
4158 fi
4159
4160 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5
4161 printf "%s\n" "$USE_MAINTAINER_MODE" >&6; }
4162 if test $USE_MAINTAINER_MODE = yes; then
4163 MAINTAINER_MODE_TRUE=
4164 MAINTAINER_MODE_FALSE='#'
4165 else
4166 MAINTAINER_MODE_TRUE='#'
4167 MAINTAINER_MODE_FALSE=
4168 fi
4169
4170 MAINT=$MAINTAINER_MODE_TRUE
4171
4172
4173
4174
4175 # Make sure we can run config.sub.
4176 $SHELL "${ac_aux_dir}config.sub" sun4 >/dev/null 2>&1 ||
4177 as_fn_error $? "cannot run $SHELL ${ac_aux_dir}config.sub" "$LINENO" 5
4178
4179 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
4180 printf %s "checking build system type... " >&6; }
4181 if test ${ac_cv_build+y}
4182 then :
4183 printf %s "(cached) " >&6
4184 else $as_nop
4185 ac_build_alias=$build_alias
4186 test "x$ac_build_alias" = x &&
4187 ac_build_alias=`$SHELL "${ac_aux_dir}config.guess"`
4188 test "x$ac_build_alias" = x &&
4189 as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
4190 ac_cv_build=`$SHELL "${ac_aux_dir}config.sub" $ac_build_alias` ||
4191 as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $ac_build_alias failed" "$LINENO" 5
4192
4193 fi
4194 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
4195 printf "%s\n" "$ac_cv_build" >&6; }
4196 case $ac_cv_build in
4197 *-*-*) ;;
4198 *) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
4199 esac
4200 build=$ac_cv_build
4201 ac_save_IFS=$IFS; IFS='-'
4202 set x $ac_cv_build
4203 shift
4204 build_cpu=$1
4205 build_vendor=$2
4206 shift; shift
4207 # Remember, the first character of IFS is used to create $*,
4208 # except with old shells:
4209 build_os=$*
4210 IFS=$ac_save_IFS
4211 case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
4212
4213
4214 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
4215 printf %s "checking host system type... " >&6; }
4216 if test ${ac_cv_host+y}
4217 then :
4218 printf %s "(cached) " >&6
4219 else $as_nop
4220 if test "x$host_alias" = x; then
4221 ac_cv_host=$ac_cv_build
4222 else
4223 ac_cv_host=`$SHELL "${ac_aux_dir}config.sub" $host_alias` ||
4224 as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $host_alias failed" "$LINENO" 5
4225 fi
4226
4227 fi
4228 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
4229 printf "%s\n" "$ac_cv_host" >&6; }
4230 case $ac_cv_host in
4231 *-*-*) ;;
4232 *) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
4233 esac
4234 host=$ac_cv_host
4235 ac_save_IFS=$IFS; IFS='-'
4236 set x $ac_cv_host
4237 shift
4238 host_cpu=$1
4239 host_vendor=$2
4240 shift; shift
4241 # Remember, the first character of IFS is used to create $*,
4242 # except with old shells:
4243 host_os=$*
4244 IFS=$ac_save_IFS
4245 case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
4246
4247
4248 # Check whether --enable-silent-rules was given.
4249 if test ${enable_silent_rules+y}
4250 then :
4251 enableval=$enable_silent_rules;
4252 fi
4253
4254 case $enable_silent_rules in # (((
4255 yes) AM_DEFAULT_VERBOSITY=0;;
4256 no) AM_DEFAULT_VERBOSITY=1;;
4257 *) AM_DEFAULT_VERBOSITY=1;;
4258 esac
4259 am_make=${MAKE-make}
4260 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5
4261 printf %s "checking whether $am_make supports nested variables... " >&6; }
4262 if test ${am_cv_make_support_nested_variables+y}
4263 then :
4264 printf %s "(cached) " >&6
4265 else $as_nop
4266 if printf "%s\n" 'TRUE=$(BAR$(V))
4267 BAR0=false
4268 BAR1=true
4269 V=1
4270 am__doit:
4271 @$(TRUE)
4272 .PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then
4273 am_cv_make_support_nested_variables=yes
4274 else
4275 am_cv_make_support_nested_variables=no
4276 fi
4277 fi
4278 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5
4279 printf "%s\n" "$am_cv_make_support_nested_variables" >&6; }
4280 if test $am_cv_make_support_nested_variables = yes; then
4281 AM_V='$(V)'
4282 AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
4283 else
4284 AM_V=$AM_DEFAULT_VERBOSITY
4285 AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
4286 fi
4287 AM_BACKSLASH='\'
4288
4289
4290
4291 # Enable GNU extensions on systems that have them.
4292
4293
4294
4295
4296
4297
4298
4299
4300
4301 DEPDIR="${am__leading_dot}deps"
4302
4303 ac_config_commands="$ac_config_commands depfiles"
4304
4305 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} supports the include directive" >&5
4306 printf %s "checking whether ${MAKE-make} supports the include directive... " >&6; }
4307 cat > confinc.mk << 'END'
4308 am__doit:
4309 @echo this is the am__doit target >confinc.out
4310 .PHONY: am__doit
4311 END
4312 am__include="#"
4313 am__quote=
4314 # BSD make does it like this.
4315 echo '.include "confinc.mk" # ignored' > confmf.BSD
4316 # Other make implementations (GNU, Solaris 10, AIX) do it like this.
4317 echo 'include confinc.mk # ignored' > confmf.GNU
4318 _am_result=no
4319 for s in GNU BSD; do
4320 { echo "$as_me:$LINENO: ${MAKE-make} -f confmf.$s && cat confinc.out" >&5
4321 (${MAKE-make} -f confmf.$s && cat confinc.out) >&5 2>&5
4322 ac_status=$?
4323 echo "$as_me:$LINENO: \$? = $ac_status" >&5
4324 (exit $ac_status); }
4325 case $?:`cat confinc.out 2>/dev/null` in #(
4326 '0:this is the am__doit target') :
4327 case $s in #(
4328 BSD) :
4329 am__include='.include' am__quote='"' ;; #(
4330 *) :
4331 am__include='include' am__quote='' ;;
4332 esac ;; #(
4333 *) :
4334 ;;
4335 esac
4336 if test "$am__include" != "#"; then
4337 _am_result="yes ($s style)"
4338 break
4339 fi
4340 done
4341 rm -f confinc.* confmf.*
4342 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${_am_result}" >&5
4343 printf "%s\n" "${_am_result}" >&6; }
4344
4345 # Check whether --enable-dependency-tracking was given.
4346 if test ${enable_dependency_tracking+y}
4347 then :
4348 enableval=$enable_dependency_tracking;
4349 fi
4350
4351 if test "x$enable_dependency_tracking" != xno; then
4352 am_depcomp="$ac_aux_dir/depcomp"
4353 AMDEPBACKSLASH='\'
4354 am__nodep='_no'
4355 fi
4356 if test "x$enable_dependency_tracking" != xno; then
4357 AMDEP_TRUE=
4358 AMDEP_FALSE='#'
4359 else
4360 AMDEP_TRUE='#'
4361 AMDEP_FALSE=
4362 fi
4363
4364
4365 ac_ext=c
4366 ac_cpp='$CPP $CPPFLAGS'
4367 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
4368 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
4369 ac_compiler_gnu=$ac_cv_c_compiler_gnu
4370 if test -n "$ac_tool_prefix"; then
4371 # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
4372 set dummy ${ac_tool_prefix}gcc; ac_word=$2
4373 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
4374 printf %s "checking for $ac_word... " >&6; }
4375 if test ${ac_cv_prog_CC+y}
4376 then :
4377 printf %s "(cached) " >&6
4378 else $as_nop
4379 if test -n "$CC"; then
4380 ac_cv_prog_CC="$CC" # Let the user override the test.
4381 else
4382 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4383 for as_dir in $PATH
4384 do
4385 IFS=$as_save_IFS
4386 case $as_dir in #(((
4387 '') as_dir=./ ;;
4388 */) ;;
4389 *) as_dir=$as_dir/ ;;
4390 esac
4391 for ac_exec_ext in '' $ac_executable_extensions; do
4392 if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
4393 ac_cv_prog_CC="${ac_tool_prefix}gcc"
4394 printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
4395 break 2
4396 fi
4397 done
4398 done
4399 IFS=$as_save_IFS
4400
4401 fi
4402 fi
4403 CC=$ac_cv_prog_CC
4404 if test -n "$CC"; then
4405 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
4406 printf "%s\n" "$CC" >&6; }
4407 else
4408 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
4409 printf "%s\n" "no" >&6; }
4410 fi
4411
4412
4413 fi
4414 if test -z "$ac_cv_prog_CC"; then
4415 ac_ct_CC=$CC
4416 # Extract the first word of "gcc", so it can be a program name with args.
4417 set dummy gcc; ac_word=$2
4418 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
4419 printf %s "checking for $ac_word... " >&6; }
4420 if test ${ac_cv_prog_ac_ct_CC+y}
4421 then :
4422 printf %s "(cached) " >&6
4423 else $as_nop
4424 if test -n "$ac_ct_CC"; then
4425 ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
4426 else
4427 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4428 for as_dir in $PATH
4429 do
4430 IFS=$as_save_IFS
4431 case $as_dir in #(((
4432 '') as_dir=./ ;;
4433 */) ;;
4434 *) as_dir=$as_dir/ ;;
4435 esac
4436 for ac_exec_ext in '' $ac_executable_extensions; do
4437 if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
4438 ac_cv_prog_ac_ct_CC="gcc"
4439 printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
4440 break 2
4441 fi
4442 done
4443 done
4444 IFS=$as_save_IFS
4445
4446 fi
4447 fi
4448 ac_ct_CC=$ac_cv_prog_ac_ct_CC
4449 if test -n "$ac_ct_CC"; then
4450 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
4451 printf "%s\n" "$ac_ct_CC" >&6; }
4452 else
4453 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
4454 printf "%s\n" "no" >&6; }
4455 fi
4456
4457 if test "x$ac_ct_CC" = x; then
4458 CC=""
4459 else
4460 case $cross_compiling:$ac_tool_warned in
4461 yes:)
4462 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
4463 printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
4464 ac_tool_warned=yes ;;
4465 esac
4466 CC=$ac_ct_CC
4467 fi
4468 else
4469 CC="$ac_cv_prog_CC"
4470 fi
4471
4472 if test -z "$CC"; then
4473 if test -n "$ac_tool_prefix"; then
4474 # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
4475 set dummy ${ac_tool_prefix}cc; ac_word=$2
4476 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
4477 printf %s "checking for $ac_word... " >&6; }
4478 if test ${ac_cv_prog_CC+y}
4479 then :
4480 printf %s "(cached) " >&6
4481 else $as_nop
4482 if test -n "$CC"; then
4483 ac_cv_prog_CC="$CC" # Let the user override the test.
4484 else
4485 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4486 for as_dir in $PATH
4487 do
4488 IFS=$as_save_IFS
4489 case $as_dir in #(((
4490 '') as_dir=./ ;;
4491 */) ;;
4492 *) as_dir=$as_dir/ ;;
4493 esac
4494 for ac_exec_ext in '' $ac_executable_extensions; do
4495 if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
4496 ac_cv_prog_CC="${ac_tool_prefix}cc"
4497 printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
4498 break 2
4499 fi
4500 done
4501 done
4502 IFS=$as_save_IFS
4503
4504 fi
4505 fi
4506 CC=$ac_cv_prog_CC
4507 if test -n "$CC"; then
4508 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
4509 printf "%s\n" "$CC" >&6; }
4510 else
4511 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
4512 printf "%s\n" "no" >&6; }
4513 fi
4514
4515
4516 fi
4517 fi
4518 if test -z "$CC"; then
4519 # Extract the first word of "cc", so it can be a program name with args.
4520 set dummy cc; ac_word=$2
4521 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
4522 printf %s "checking for $ac_word... " >&6; }
4523 if test ${ac_cv_prog_CC+y}
4524 then :
4525 printf %s "(cached) " >&6
4526 else $as_nop
4527 if test -n "$CC"; then
4528 ac_cv_prog_CC="$CC" # Let the user override the test.
4529 else
4530 ac_prog_rejected=no
4531 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4532 for as_dir in $PATH
4533 do
4534 IFS=$as_save_IFS
4535 case $as_dir in #(((
4536 '') as_dir=./ ;;
4537 */) ;;
4538 *) as_dir=$as_dir/ ;;
4539 esac
4540 for ac_exec_ext in '' $ac_executable_extensions; do
4541 if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
4542 if test "$as_dir$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
4543 ac_prog_rejected=yes
4544 continue
4545 fi
4546 ac_cv_prog_CC="cc"
4547 printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
4548 break 2
4549 fi
4550 done
4551 done
4552 IFS=$as_save_IFS
4553
4554 if test $ac_prog_rejected = yes; then
4555 # We found a bogon in the path, so make sure we never use it.
4556 set dummy $ac_cv_prog_CC
4557 shift
4558 if test $# != 0; then
4559 # We chose a different compiler from the bogus one.
4560 # However, it has the same basename, so the bogon will be chosen
4561 # first if we set CC to just the basename; use the full file name.
4562 shift
4563 ac_cv_prog_CC="$as_dir$ac_word${1+' '}$@"
4564 fi
4565 fi
4566 fi
4567 fi
4568 CC=$ac_cv_prog_CC
4569 if test -n "$CC"; then
4570 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
4571 printf "%s\n" "$CC" >&6; }
4572 else
4573 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
4574 printf "%s\n" "no" >&6; }
4575 fi
4576
4577
4578 fi
4579 if test -z "$CC"; then
4580 if test -n "$ac_tool_prefix"; then
4581 for ac_prog in cl.exe
4582 do
4583 # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
4584 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
4585 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
4586 printf %s "checking for $ac_word... " >&6; }
4587 if test ${ac_cv_prog_CC+y}
4588 then :
4589 printf %s "(cached) " >&6
4590 else $as_nop
4591 if test -n "$CC"; then
4592 ac_cv_prog_CC="$CC" # Let the user override the test.
4593 else
4594 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4595 for as_dir in $PATH
4596 do
4597 IFS=$as_save_IFS
4598 case $as_dir in #(((
4599 '') as_dir=./ ;;
4600 */) ;;
4601 *) as_dir=$as_dir/ ;;
4602 esac
4603 for ac_exec_ext in '' $ac_executable_extensions; do
4604 if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
4605 ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
4606 printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
4607 break 2
4608 fi
4609 done
4610 done
4611 IFS=$as_save_IFS
4612
4613 fi
4614 fi
4615 CC=$ac_cv_prog_CC
4616 if test -n "$CC"; then
4617 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
4618 printf "%s\n" "$CC" >&6; }
4619 else
4620 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
4621 printf "%s\n" "no" >&6; }
4622 fi
4623
4624
4625 test -n "$CC" && break
4626 done
4627 fi
4628 if test -z "$CC"; then
4629 ac_ct_CC=$CC
4630 for ac_prog in cl.exe
4631 do
4632 # Extract the first word of "$ac_prog", so it can be a program name with args.
4633 set dummy $ac_prog; ac_word=$2
4634 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
4635 printf %s "checking for $ac_word... " >&6; }
4636 if test ${ac_cv_prog_ac_ct_CC+y}
4637 then :
4638 printf %s "(cached) " >&6
4639 else $as_nop
4640 if test -n "$ac_ct_CC"; then
4641 ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
4642 else
4643 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4644 for as_dir in $PATH
4645 do
4646 IFS=$as_save_IFS
4647 case $as_dir in #(((
4648 '') as_dir=./ ;;
4649 */) ;;
4650 *) as_dir=$as_dir/ ;;
4651 esac
4652 for ac_exec_ext in '' $ac_executable_extensions; do
4653 if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
4654 ac_cv_prog_ac_ct_CC="$ac_prog"
4655 printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
4656 break 2
4657 fi
4658 done
4659 done
4660 IFS=$as_save_IFS
4661
4662 fi
4663 fi
4664 ac_ct_CC=$ac_cv_prog_ac_ct_CC
4665 if test -n "$ac_ct_CC"; then
4666 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
4667 printf "%s\n" "$ac_ct_CC" >&6; }
4668 else
4669 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
4670 printf "%s\n" "no" >&6; }
4671 fi
4672
4673
4674 test -n "$ac_ct_CC" && break
4675 done
4676
4677 if test "x$ac_ct_CC" = x; then
4678 CC=""
4679 else
4680 case $cross_compiling:$ac_tool_warned in
4681 yes:)
4682 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
4683 printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
4684 ac_tool_warned=yes ;;
4685 esac
4686 CC=$ac_ct_CC
4687 fi
4688 fi
4689
4690 fi
4691 if test -z "$CC"; then
4692 if test -n "$ac_tool_prefix"; then
4693 # Extract the first word of "${ac_tool_prefix}clang", so it can be a program name with args.
4694 set dummy ${ac_tool_prefix}clang; ac_word=$2
4695 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
4696 printf %s "checking for $ac_word... " >&6; }
4697 if test ${ac_cv_prog_CC+y}
4698 then :
4699 printf %s "(cached) " >&6
4700 else $as_nop
4701 if test -n "$CC"; then
4702 ac_cv_prog_CC="$CC" # Let the user override the test.
4703 else
4704 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4705 for as_dir in $PATH
4706 do
4707 IFS=$as_save_IFS
4708 case $as_dir in #(((
4709 '') as_dir=./ ;;
4710 */) ;;
4711 *) as_dir=$as_dir/ ;;
4712 esac
4713 for ac_exec_ext in '' $ac_executable_extensions; do
4714 if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
4715 ac_cv_prog_CC="${ac_tool_prefix}clang"
4716 printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
4717 break 2
4718 fi
4719 done
4720 done
4721 IFS=$as_save_IFS
4722
4723 fi
4724 fi
4725 CC=$ac_cv_prog_CC
4726 if test -n "$CC"; then
4727 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
4728 printf "%s\n" "$CC" >&6; }
4729 else
4730 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
4731 printf "%s\n" "no" >&6; }
4732 fi
4733
4734
4735 fi
4736 if test -z "$ac_cv_prog_CC"; then
4737 ac_ct_CC=$CC
4738 # Extract the first word of "clang", so it can be a program name with args.
4739 set dummy clang; ac_word=$2
4740 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
4741 printf %s "checking for $ac_word... " >&6; }
4742 if test ${ac_cv_prog_ac_ct_CC+y}
4743 then :
4744 printf %s "(cached) " >&6
4745 else $as_nop
4746 if test -n "$ac_ct_CC"; then
4747 ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
4748 else
4749 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
4750 for as_dir in $PATH
4751 do
4752 IFS=$as_save_IFS
4753 case $as_dir in #(((
4754 '') as_dir=./ ;;
4755 */) ;;
4756 *) as_dir=$as_dir/ ;;
4757 esac
4758 for ac_exec_ext in '' $ac_executable_extensions; do
4759 if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
4760 ac_cv_prog_ac_ct_CC="clang"
4761 printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
4762 break 2
4763 fi
4764 done
4765 done
4766 IFS=$as_save_IFS
4767
4768 fi
4769 fi
4770 ac_ct_CC=$ac_cv_prog_ac_ct_CC
4771 if test -n "$ac_ct_CC"; then
4772 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
4773 printf "%s\n" "$ac_ct_CC" >&6; }
4774 else
4775 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
4776 printf "%s\n" "no" >&6; }
4777 fi
4778
4779 if test "x$ac_ct_CC" = x; then
4780 CC=""
4781 else
4782 case $cross_compiling:$ac_tool_warned in
4783 yes:)
4784 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
4785 printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
4786 ac_tool_warned=yes ;;
4787 esac
4788 CC=$ac_ct_CC
4789 fi
4790 else
4791 CC="$ac_cv_prog_CC"
4792 fi
4793
4794 fi
4795
4796
4797 test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
4798 printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
4799 as_fn_error $? "no acceptable C compiler found in \$PATH
4800 See \`config.log' for more details" "$LINENO" 5; }
4801
4802 # Provide some information about the compiler.
4803 printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
4804 set X $ac_compile
4805 ac_compiler=$2
4806 for ac_option in --version -v -V -qversion -version; do
4807 { { ac_try="$ac_compiler $ac_option >&5"
4808 case "(($ac_try" in
4809 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
4810 *) ac_try_echo=$ac_try;;
4811 esac
4812 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
4813 printf "%s\n" "$ac_try_echo"; } >&5
4814 (eval "$ac_compiler $ac_option >&5") 2>conftest.err
4815 ac_status=$?
4816 if test -s conftest.err; then
4817 sed '10a\
4818 ... rest of stderr output deleted ...
4819 10q' conftest.err >conftest.er1
4820 cat conftest.er1 >&5
4821 fi
4822 rm -f conftest.er1 conftest.err
4823 printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
4824 test $ac_status = 0; }
4825 done
4826
4827 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
4828 /* end confdefs.h. */
4829
4830 int
4831 main (void)
4832 {
4833
4834 ;
4835 return 0;
4836 }
4837 _ACEOF
4838 ac_clean_files_save=$ac_clean_files
4839 ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
4840 # Try to create an executable without -o first, disregard a.out.
4841 # It will help us diagnose broken compilers, and finding out an intuition
4842 # of exeext.
4843 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
4844 printf %s "checking whether the C compiler works... " >&6; }
4845 ac_link_default=`printf "%s\n" "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
4846
4847 # The possible output files:
4848 ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
4849
4850 ac_rmfiles=
4851 for ac_file in $ac_files
4852 do
4853 case $ac_file in
4854 *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
4855 * ) ac_rmfiles="$ac_rmfiles $ac_file";;
4856 esac
4857 done
4858 rm -f $ac_rmfiles
4859
4860 if { { ac_try="$ac_link_default"
4861 case "(($ac_try" in
4862 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
4863 *) ac_try_echo=$ac_try;;
4864 esac
4865 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
4866 printf "%s\n" "$ac_try_echo"; } >&5
4867 (eval "$ac_link_default") 2>&5
4868 ac_status=$?
4869 printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
4870 test $ac_status = 0; }
4871 then :
4872 # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
4873 # So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
4874 # in a Makefile. We should not override ac_cv_exeext if it was cached,
4875 # so that the user can short-circuit this test for compilers unknown to
4876 # Autoconf.
4877 for ac_file in $ac_files ''
4878 do
4879 test -f "$ac_file" || continue
4880 case $ac_file in
4881 *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
4882 ;;
4883 [ab].out )
4884 # We found the default executable, but exeext='' is most
4885 # certainly right.
4886 break;;
4887 *.* )
4888 if test ${ac_cv_exeext+y} && test "$ac_cv_exeext" != no;
4889 then :; else
4890 ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
4891 fi
4892 # We set ac_cv_exeext here because the later test for it is not
4893 # safe: cross compilers may not add the suffix if given an `-o'
4894 # argument, so we may need to know it at that point already.
4895 # Even if this section looks crufty: it has the advantage of
4896 # actually working.
4897 break;;
4898 * )
4899 break;;
4900 esac
4901 done
4902 test "$ac_cv_exeext" = no && ac_cv_exeext=
4903
4904 else $as_nop
4905 ac_file=''
4906 fi
4907 if test -z "$ac_file"
4908 then :
4909 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
4910 printf "%s\n" "no" >&6; }
4911 printf "%s\n" "$as_me: failed program was:" >&5
4912 sed 's/^/| /' conftest.$ac_ext >&5
4913
4914 { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
4915 printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
4916 as_fn_error 77 "C compiler cannot create executables
4917 See \`config.log' for more details" "$LINENO" 5; }
4918 else $as_nop
4919 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
4920 printf "%s\n" "yes" >&6; }
4921 fi
4922 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
4923 printf %s "checking for C compiler default output file name... " >&6; }
4924 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
4925 printf "%s\n" "$ac_file" >&6; }
4926 ac_exeext=$ac_cv_exeext
4927
4928 rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
4929 ac_clean_files=$ac_clean_files_save
4930 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
4931 printf %s "checking for suffix of executables... " >&6; }
4932 if { { ac_try="$ac_link"
4933 case "(($ac_try" in
4934 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
4935 *) ac_try_echo=$ac_try;;
4936 esac
4937 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
4938 printf "%s\n" "$ac_try_echo"; } >&5
4939 (eval "$ac_link") 2>&5
4940 ac_status=$?
4941 printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
4942 test $ac_status = 0; }
4943 then :
4944 # If both `conftest.exe' and `conftest' are `present' (well, observable)
4945 # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
4946 # work properly (i.e., refer to `conftest.exe'), while it won't with
4947 # `rm'.
4948 for ac_file in conftest.exe conftest conftest.*; do
4949 test -f "$ac_file" || continue
4950 case $ac_file in
4951 *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
4952 *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
4953 break;;
4954 * ) break;;
4955 esac
4956 done
4957 else $as_nop
4958 { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
4959 printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
4960 as_fn_error $? "cannot compute suffix of executables: cannot compile and link
4961 See \`config.log' for more details" "$LINENO" 5; }
4962 fi
4963 rm -f conftest conftest$ac_cv_exeext
4964 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
4965 printf "%s\n" "$ac_cv_exeext" >&6; }
4966
4967 rm -f conftest.$ac_ext
4968 EXEEXT=$ac_cv_exeext
4969 ac_exeext=$EXEEXT
4970 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
4971 /* end confdefs.h. */
4972 #include <stdio.h>
4973 int
4974 main (void)
4975 {
4976 FILE *f = fopen ("conftest.out", "w");
4977 return ferror (f) || fclose (f) != 0;
4978
4979 ;
4980 return 0;
4981 }
4982 _ACEOF
4983 ac_clean_files="$ac_clean_files conftest.out"
4984 # Check that the compiler produces executables we can run. If not, either
4985 # the compiler is broken, or we cross compile.
4986 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
4987 printf %s "checking whether we are cross compiling... " >&6; }
4988 if test "$cross_compiling" != yes; then
4989 { { ac_try="$ac_link"
4990 case "(($ac_try" in
4991 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
4992 *) ac_try_echo=$ac_try;;
4993 esac
4994 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
4995 printf "%s\n" "$ac_try_echo"; } >&5
4996 (eval "$ac_link") 2>&5
4997 ac_status=$?
4998 printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
4999 test $ac_status = 0; }
5000 if { ac_try='./conftest$ac_cv_exeext'
5001 { { case "(($ac_try" in
5002 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
5003 *) ac_try_echo=$ac_try;;
5004 esac
5005 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
5006 printf "%s\n" "$ac_try_echo"; } >&5
5007 (eval "$ac_try") 2>&5
5008 ac_status=$?
5009 printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
5010 test $ac_status = 0; }; }; then
5011 cross_compiling=no
5012 else
5013 if test "$cross_compiling" = maybe; then
5014 cross_compiling=yes
5015 else
5016 { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
5017 printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
5018 as_fn_error 77 "cannot run C compiled programs.
5019 If you meant to cross compile, use \`--host'.
5020 See \`config.log' for more details" "$LINENO" 5; }
5021 fi
5022 fi
5023 fi
5024 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
5025 printf "%s\n" "$cross_compiling" >&6; }
5026
5027 rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
5028 ac_clean_files=$ac_clean_files_save
5029 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
5030 printf %s "checking for suffix of object files... " >&6; }
5031 if test ${ac_cv_objext+y}
5032 then :
5033 printf %s "(cached) " >&6
5034 else $as_nop
5035 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5036 /* end confdefs.h. */
5037
5038 int
5039 main (void)
5040 {
5041
5042 ;
5043 return 0;
5044 }
5045 _ACEOF
5046 rm -f conftest.o conftest.obj
5047 if { { ac_try="$ac_compile"
5048 case "(($ac_try" in
5049 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
5050 *) ac_try_echo=$ac_try;;
5051 esac
5052 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
5053 printf "%s\n" "$ac_try_echo"; } >&5
5054 (eval "$ac_compile") 2>&5
5055 ac_status=$?
5056 printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
5057 test $ac_status = 0; }
5058 then :
5059 for ac_file in conftest.o conftest.obj conftest.*; do
5060 test -f "$ac_file" || continue;
5061 case $ac_file in
5062 *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
5063 *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
5064 break;;
5065 esac
5066 done
5067 else $as_nop
5068 printf "%s\n" "$as_me: failed program was:" >&5
5069 sed 's/^/| /' conftest.$ac_ext >&5
5070
5071 { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
5072 printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
5073 as_fn_error $? "cannot compute suffix of object files: cannot compile
5074 See \`config.log' for more details" "$LINENO" 5; }
5075 fi
5076 rm -f conftest.$ac_cv_objext conftest.$ac_ext
5077 fi
5078 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
5079 printf "%s\n" "$ac_cv_objext" >&6; }
5080 OBJEXT=$ac_cv_objext
5081 ac_objext=$OBJEXT
5082 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5
5083 printf %s "checking whether the compiler supports GNU C... " >&6; }
5084 if test ${ac_cv_c_compiler_gnu+y}
5085 then :
5086 printf %s "(cached) " >&6
5087 else $as_nop
5088 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5089 /* end confdefs.h. */
5090
5091 int
5092 main (void)
5093 {
5094 #ifndef __GNUC__
5095 choke me
5096 #endif
5097
5098 ;
5099 return 0;
5100 }
5101 _ACEOF
5102 if ac_fn_c_try_compile "$LINENO"
5103 then :
5104 ac_compiler_gnu=yes
5105 else $as_nop
5106 ac_compiler_gnu=no
5107 fi
5108 rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
5109 ac_cv_c_compiler_gnu=$ac_compiler_gnu
5110
5111 fi
5112 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
5113 printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; }
5114 ac_compiler_gnu=$ac_cv_c_compiler_gnu
5115
5116 if test $ac_compiler_gnu = yes; then
5117 GCC=yes
5118 else
5119 GCC=
5120 fi
5121 ac_test_CFLAGS=${CFLAGS+y}
5122 ac_save_CFLAGS=$CFLAGS
5123 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
5124 printf %s "checking whether $CC accepts -g... " >&6; }
5125 if test ${ac_cv_prog_cc_g+y}
5126 then :
5127 printf %s "(cached) " >&6
5128 else $as_nop
5129 ac_save_c_werror_flag=$ac_c_werror_flag
5130 ac_c_werror_flag=yes
5131 ac_cv_prog_cc_g=no
5132 CFLAGS="-g"
5133 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5134 /* end confdefs.h. */
5135
5136 int
5137 main (void)
5138 {
5139
5140 ;
5141 return 0;
5142 }
5143 _ACEOF
5144 if ac_fn_c_try_compile "$LINENO"
5145 then :
5146 ac_cv_prog_cc_g=yes
5147 else $as_nop
5148 CFLAGS=""
5149 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5150 /* end confdefs.h. */
5151
5152 int
5153 main (void)
5154 {
5155
5156 ;
5157 return 0;
5158 }
5159 _ACEOF
5160 if ac_fn_c_try_compile "$LINENO"
5161 then :
5162
5163 else $as_nop
5164 ac_c_werror_flag=$ac_save_c_werror_flag
5165 CFLAGS="-g"
5166 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5167 /* end confdefs.h. */
5168
5169 int
5170 main (void)
5171 {
5172
5173 ;
5174 return 0;
5175 }
5176 _ACEOF
5177 if ac_fn_c_try_compile "$LINENO"
5178 then :
5179 ac_cv_prog_cc_g=yes
5180 fi
5181 rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
5182 fi
5183 rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
5184 fi
5185 rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
5186 ac_c_werror_flag=$ac_save_c_werror_flag
5187 fi
5188 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
5189 printf "%s\n" "$ac_cv_prog_cc_g" >&6; }
5190 if test $ac_test_CFLAGS; then
5191 CFLAGS=$ac_save_CFLAGS
5192 elif test $ac_cv_prog_cc_g = yes; then
5193 if test "$GCC" = yes; then
5194 CFLAGS="-g -O2"
5195 else
5196 CFLAGS="-g"
5197 fi
5198 else
5199 if test "$GCC" = yes; then
5200 CFLAGS="-O2"
5201 else
5202 CFLAGS=
5203 fi
5204 fi
5205 ac_prog_cc_stdc=no
5206 if test x$ac_prog_cc_stdc = xno
5207 then :
5208 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5
5209 printf %s "checking for $CC option to enable C11 features... " >&6; }
5210 if test ${ac_cv_prog_cc_c11+y}
5211 then :
5212 printf %s "(cached) " >&6
5213 else $as_nop
5214 ac_cv_prog_cc_c11=no
5215 ac_save_CC=$CC
5216 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5217 /* end confdefs.h. */
5218 $ac_c_conftest_c11_program
5219 _ACEOF
5220 for ac_arg in '' -std=gnu11
5221 do
5222 CC="$ac_save_CC $ac_arg"
5223 if ac_fn_c_try_compile "$LINENO"
5224 then :
5225 ac_cv_prog_cc_c11=$ac_arg
5226 fi
5227 rm -f core conftest.err conftest.$ac_objext conftest.beam
5228 test "x$ac_cv_prog_cc_c11" != "xno" && break
5229 done
5230 rm -f conftest.$ac_ext
5231 CC=$ac_save_CC
5232 fi
5233
5234 if test "x$ac_cv_prog_cc_c11" = xno
5235 then :
5236 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
5237 printf "%s\n" "unsupported" >&6; }
5238 else $as_nop
5239 if test "x$ac_cv_prog_cc_c11" = x
5240 then :
5241 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
5242 printf "%s\n" "none needed" >&6; }
5243 else $as_nop
5244 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5
5245 printf "%s\n" "$ac_cv_prog_cc_c11" >&6; }
5246 CC="$CC $ac_cv_prog_cc_c11"
5247 fi
5248 ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11
5249 ac_prog_cc_stdc=c11
5250 fi
5251 fi
5252 if test x$ac_prog_cc_stdc = xno
5253 then :
5254 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5
5255 printf %s "checking for $CC option to enable C99 features... " >&6; }
5256 if test ${ac_cv_prog_cc_c99+y}
5257 then :
5258 printf %s "(cached) " >&6
5259 else $as_nop
5260 ac_cv_prog_cc_c99=no
5261 ac_save_CC=$CC
5262 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5263 /* end confdefs.h. */
5264 $ac_c_conftest_c99_program
5265 _ACEOF
5266 for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99=
5267 do
5268 CC="$ac_save_CC $ac_arg"
5269 if ac_fn_c_try_compile "$LINENO"
5270 then :
5271 ac_cv_prog_cc_c99=$ac_arg
5272 fi
5273 rm -f core conftest.err conftest.$ac_objext conftest.beam
5274 test "x$ac_cv_prog_cc_c99" != "xno" && break
5275 done
5276 rm -f conftest.$ac_ext
5277 CC=$ac_save_CC
5278 fi
5279
5280 if test "x$ac_cv_prog_cc_c99" = xno
5281 then :
5282 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
5283 printf "%s\n" "unsupported" >&6; }
5284 else $as_nop
5285 if test "x$ac_cv_prog_cc_c99" = x
5286 then :
5287 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
5288 printf "%s\n" "none needed" >&6; }
5289 else $as_nop
5290 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5
5291 printf "%s\n" "$ac_cv_prog_cc_c99" >&6; }
5292 CC="$CC $ac_cv_prog_cc_c99"
5293 fi
5294 ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99
5295 ac_prog_cc_stdc=c99
5296 fi
5297 fi
5298 if test x$ac_prog_cc_stdc = xno
5299 then :
5300 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5
5301 printf %s "checking for $CC option to enable C89 features... " >&6; }
5302 if test ${ac_cv_prog_cc_c89+y}
5303 then :
5304 printf %s "(cached) " >&6
5305 else $as_nop
5306 ac_cv_prog_cc_c89=no
5307 ac_save_CC=$CC
5308 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5309 /* end confdefs.h. */
5310 $ac_c_conftest_c89_program
5311 _ACEOF
5312 for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
5313 do
5314 CC="$ac_save_CC $ac_arg"
5315 if ac_fn_c_try_compile "$LINENO"
5316 then :
5317 ac_cv_prog_cc_c89=$ac_arg
5318 fi
5319 rm -f core conftest.err conftest.$ac_objext conftest.beam
5320 test "x$ac_cv_prog_cc_c89" != "xno" && break
5321 done
5322 rm -f conftest.$ac_ext
5323 CC=$ac_save_CC
5324 fi
5325
5326 if test "x$ac_cv_prog_cc_c89" = xno
5327 then :
5328 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
5329 printf "%s\n" "unsupported" >&6; }
5330 else $as_nop
5331 if test "x$ac_cv_prog_cc_c89" = x
5332 then :
5333 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
5334 printf "%s\n" "none needed" >&6; }
5335 else $as_nop
5336 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
5337 printf "%s\n" "$ac_cv_prog_cc_c89" >&6; }
5338 CC="$CC $ac_cv_prog_cc_c89"
5339 fi
5340 ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89
5341 ac_prog_cc_stdc=c89
5342 fi
5343 fi
5344
5345 ac_ext=c
5346 ac_cpp='$CPP $CPPFLAGS'
5347 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
5348 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
5349 ac_compiler_gnu=$ac_cv_c_compiler_gnu
5350
5351
5352 ac_ext=c
5353 ac_cpp='$CPP $CPPFLAGS'
5354 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
5355 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
5356 ac_compiler_gnu=$ac_cv_c_compiler_gnu
5357 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5
5358 printf %s "checking whether $CC understands -c and -o together... " >&6; }
5359 if test ${am_cv_prog_cc_c_o+y}
5360 then :
5361 printf %s "(cached) " >&6
5362 else $as_nop
5363 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5364 /* end confdefs.h. */
5365
5366 int
5367 main (void)
5368 {
5369
5370 ;
5371 return 0;
5372 }
5373 _ACEOF
5374 # Make sure it works both with $CC and with simple cc.
5375 # Following AC_PROG_CC_C_O, we do the test twice because some
5376 # compilers refuse to overwrite an existing .o file with -o,
5377 # though they will create one.
5378 am_cv_prog_cc_c_o=yes
5379 for am_i in 1 2; do
5380 if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5
5381 ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5
5382 ac_status=$?
5383 echo "$as_me:$LINENO: \$? = $ac_status" >&5
5384 (exit $ac_status); } \
5385 && test -f conftest2.$ac_objext; then
5386 : OK
5387 else
5388 am_cv_prog_cc_c_o=no
5389 break
5390 fi
5391 done
5392 rm -f core conftest*
5393 unset am_i
5394 fi
5395 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5
5396 printf "%s\n" "$am_cv_prog_cc_c_o" >&6; }
5397 if test "$am_cv_prog_cc_c_o" != yes; then
5398 # Losing compiler, so override with the script.
5399 # FIXME: It is wrong to rewrite CC.
5400 # But if we don't then we get into trouble of one sort or another.
5401 # A longer-term fix would be to have automake use am__CC in this case,
5402 # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
5403 CC="$am_aux_dir/compile $CC"
5404 fi
5405 ac_ext=c
5406 ac_cpp='$CPP $CPPFLAGS'
5407 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
5408 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
5409 ac_compiler_gnu=$ac_cv_c_compiler_gnu
5410
5411
5412 depcc="$CC" am_compiler_list=
5413
5414 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
5415 printf %s "checking dependency style of $depcc... " >&6; }
5416 if test ${am_cv_CC_dependencies_compiler_type+y}
5417 then :
5418 printf %s "(cached) " >&6
5419 else $as_nop
5420 if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
5421 # We make a subdir and do the tests there. Otherwise we can end up
5422 # making bogus files that we don't know about and never remove. For
5423 # instance it was reported that on HP-UX the gcc test will end up
5424 # making a dummy file named 'D' -- because '-MD' means "put the output
5425 # in D".
5426 rm -rf conftest.dir
5427 mkdir conftest.dir
5428 # Copy depcomp to subdir because otherwise we won't find it if we're
5429 # using a relative directory.
5430 cp "$am_depcomp" conftest.dir
5431 cd conftest.dir
5432 # We will build objects and dependencies in a subdirectory because
5433 # it helps to detect inapplicable dependency modes. For instance
5434 # both Tru64's cc and ICC support -MD to output dependencies as a
5435 # side effect of compilation, but ICC will put the dependencies in
5436 # the current directory while Tru64 will put them in the object
5437 # directory.
5438 mkdir sub
5439
5440 am_cv_CC_dependencies_compiler_type=none
5441 if test "$am_compiler_list" = ""; then
5442 am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
5443 fi
5444 am__universal=false
5445 case " $depcc " in #(
5446 *\ -arch\ *\ -arch\ *) am__universal=true ;;
5447 esac
5448
5449 for depmode in $am_compiler_list; do
5450 # Setup a source with many dependencies, because some compilers
5451 # like to wrap large dependency lists on column 80 (with \), and
5452 # we should not choose a depcomp mode which is confused by this.
5453 #
5454 # We need to recreate these files for each test, as the compiler may
5455 # overwrite some of them when testing with obscure command lines.
5456 # This happens at least with the AIX C compiler.
5457 : > sub/conftest.c
5458 for i in 1 2 3 4 5 6; do
5459 echo '#include "conftst'$i'.h"' >> sub/conftest.c
5460 # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
5461 # Solaris 10 /bin/sh.
5462 echo '/* dummy */' > sub/conftst$i.h
5463 done
5464 echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
5465
5466 # We check with '-c' and '-o' for the sake of the "dashmstdout"
5467 # mode. It turns out that the SunPro C++ compiler does not properly
5468 # handle '-M -o', and we need to detect this. Also, some Intel
5469 # versions had trouble with output in subdirs.
5470 am__obj=sub/conftest.${OBJEXT-o}
5471 am__minus_obj="-o $am__obj"
5472 case $depmode in
5473 gcc)
5474 # This depmode causes a compiler race in universal mode.
5475 test "$am__universal" = false || continue
5476 ;;
5477 nosideeffect)
5478 # After this tag, mechanisms are not by side-effect, so they'll
5479 # only be used when explicitly requested.
5480 if test "x$enable_dependency_tracking" = xyes; then
5481 continue
5482 else
5483 break
5484 fi
5485 ;;
5486 msvc7 | msvc7msys | msvisualcpp | msvcmsys)
5487 # This compiler won't grok '-c -o', but also, the minuso test has
5488 # not run yet. These depmodes are late enough in the game, and
5489 # so weak that their functioning should not be impacted.
5490 am__obj=conftest.${OBJEXT-o}
5491 am__minus_obj=
5492 ;;
5493 none) break ;;
5494 esac
5495 if depmode=$depmode \
5496 source=sub/conftest.c object=$am__obj \
5497 depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
5498 $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
5499 >/dev/null 2>conftest.err &&
5500 grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
5501 grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
5502 grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
5503 ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
5504 # icc doesn't choke on unknown options, it will just issue warnings
5505 # or remarks (even with -Werror). So we grep stderr for any message
5506 # that says an option was ignored or not supported.
5507 # When given -MP, icc 7.0 and 7.1 complain thusly:
5508 # icc: Command line warning: ignoring option '-M'; no argument required
5509 # The diagnosis changed in icc 8.0:
5510 # icc: Command line remark: option '-MP' not supported
5511 if (grep 'ignoring option' conftest.err ||
5512 grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
5513 am_cv_CC_dependencies_compiler_type=$depmode
5514 break
5515 fi
5516 fi
5517 done
5518
5519 cd ..
5520 rm -rf conftest.dir
5521 else
5522 am_cv_CC_dependencies_compiler_type=none
5523 fi
5524
5525 fi
5526 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
5527 printf "%s\n" "$am_cv_CC_dependencies_compiler_type" >&6; }
5528 CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
5529
5530 if
5531 test "x$enable_dependency_tracking" != xno \
5532 && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
5533 am__fastdepCC_TRUE=
5534 am__fastdepCC_FALSE='#'
5535 else
5536 am__fastdepCC_TRUE='#'
5537 am__fastdepCC_FALSE=
5538 fi
5539
5540
5541
5542 ac_header= ac_cache=
5543 for ac_item in $ac_header_c_list
5544 do
5545 if test $ac_cache; then
5546 ac_fn_c_check_header_compile "$LINENO" $ac_header ac_cv_header_$ac_cache "$ac_includes_default"
5547 if eval test \"x\$ac_cv_header_$ac_cache\" = xyes; then
5548 printf "%s\n" "#define $ac_item 1" >> confdefs.h
5549 fi
5550 ac_header= ac_cache=
5551 elif test $ac_header; then
5552 ac_cache=$ac_item
5553 else
5554 ac_header=$ac_item
5555 fi
5556 done
5557
5558
5559
5560
5561
5562
5563
5564
5565 if test $ac_cv_header_stdlib_h = yes && test $ac_cv_header_string_h = yes
5566 then :
5567
5568 printf "%s\n" "#define STDC_HEADERS 1" >>confdefs.h
5569
5570 fi
5571
5572
5573
5574
5575
5576
5577 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5
5578 printf %s "checking whether it is safe to define __EXTENSIONS__... " >&6; }
5579 if test ${ac_cv_safe_to_define___extensions__+y}
5580 then :
5581 printf %s "(cached) " >&6
5582 else $as_nop
5583 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5584 /* end confdefs.h. */
5585
5586 # define __EXTENSIONS__ 1
5587 $ac_includes_default
5588 int
5589 main (void)
5590 {
5591
5592 ;
5593 return 0;
5594 }
5595 _ACEOF
5596 if ac_fn_c_try_compile "$LINENO"
5597 then :
5598 ac_cv_safe_to_define___extensions__=yes
5599 else $as_nop
5600 ac_cv_safe_to_define___extensions__=no
5601 fi
5602 rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
5603 fi
5604 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_safe_to_define___extensions__" >&5
5605 printf "%s\n" "$ac_cv_safe_to_define___extensions__" >&6; }
5606
5607 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether _XOPEN_SOURCE should be defined" >&5
5608 printf %s "checking whether _XOPEN_SOURCE should be defined... " >&6; }
5609 if test ${ac_cv_should_define__xopen_source+y}
5610 then :
5611 printf %s "(cached) " >&6
5612 else $as_nop
5613 ac_cv_should_define__xopen_source=no
5614 if test $ac_cv_header_wchar_h = yes
5615 then :
5616 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5617 /* end confdefs.h. */
5618
5619 #include <wchar.h>
5620 mbstate_t x;
5621 int
5622 main (void)
5623 {
5624
5625 ;
5626 return 0;
5627 }
5628 _ACEOF
5629 if ac_fn_c_try_compile "$LINENO"
5630 then :
5631
5632 else $as_nop
5633 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5634 /* end confdefs.h. */
5635
5636 #define _XOPEN_SOURCE 500
5637 #include <wchar.h>
5638 mbstate_t x;
5639 int
5640 main (void)
5641 {
5642
5643 ;
5644 return 0;
5645 }
5646 _ACEOF
5647 if ac_fn_c_try_compile "$LINENO"
5648 then :
5649 ac_cv_should_define__xopen_source=yes
5650 fi
5651 rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
5652 fi
5653 rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
5654 fi
5655 fi
5656 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_should_define__xopen_source" >&5
5657 printf "%s\n" "$ac_cv_should_define__xopen_source" >&6; }
5658
5659 printf "%s\n" "#define _ALL_SOURCE 1" >>confdefs.h
5660
5661 printf "%s\n" "#define _DARWIN_C_SOURCE 1" >>confdefs.h
5662
5663 printf "%s\n" "#define _GNU_SOURCE 1" >>confdefs.h
5664
5665 printf "%s\n" "#define _HPUX_ALT_XOPEN_SOCKET_API 1" >>confdefs.h
5666
5667 printf "%s\n" "#define _NETBSD_SOURCE 1" >>confdefs.h
5668
5669 printf "%s\n" "#define _OPENBSD_SOURCE 1" >>confdefs.h
5670
5671 printf "%s\n" "#define _POSIX_PTHREAD_SEMANTICS 1" >>confdefs.h
5672
5673 printf "%s\n" "#define __STDC_WANT_IEC_60559_ATTRIBS_EXT__ 1" >>confdefs.h
5674
5675 printf "%s\n" "#define __STDC_WANT_IEC_60559_BFP_EXT__ 1" >>confdefs.h
5676
5677 printf "%s\n" "#define __STDC_WANT_IEC_60559_DFP_EXT__ 1" >>confdefs.h
5678
5679 printf "%s\n" "#define __STDC_WANT_IEC_60559_FUNCS_EXT__ 1" >>confdefs.h
5680
5681 printf "%s\n" "#define __STDC_WANT_IEC_60559_TYPES_EXT__ 1" >>confdefs.h
5682
5683 printf "%s\n" "#define __STDC_WANT_LIB_EXT2__ 1" >>confdefs.h
5684
5685 printf "%s\n" "#define __STDC_WANT_MATH_SPEC_FUNCS__ 1" >>confdefs.h
5686
5687 printf "%s\n" "#define _TANDEM_SOURCE 1" >>confdefs.h
5688
5689 if test $ac_cv_header_minix_config_h = yes
5690 then :
5691 MINIX=yes
5692 printf "%s\n" "#define _MINIX 1" >>confdefs.h
5693
5694 printf "%s\n" "#define _POSIX_SOURCE 1" >>confdefs.h
5695
5696 printf "%s\n" "#define _POSIX_1_SOURCE 2" >>confdefs.h
5697
5698 else $as_nop
5699 MINIX=
5700 fi
5701 if test $ac_cv_safe_to_define___extensions__ = yes
5702 then :
5703 printf "%s\n" "#define __EXTENSIONS__ 1" >>confdefs.h
5704
5705 fi
5706 if test $ac_cv_should_define__xopen_source = yes
5707 then :
5708 printf "%s\n" "#define _XOPEN_SOURCE 500" >>confdefs.h
5709
5710 fi
5711
5712
5713 # Taken from mpfr-4.0.1, then modified for LDADD_FOR_TESTS_KLUDGE
5714 case $host in
5715 *-*-linux*)
5716 if test -n "$LD_LIBRARY_PATH"; then
5717 saved_LDFLAGS="$LDFLAGS"
5718 LDADD_FOR_TESTS_KLUDGE="-Wl,--disable-new-dtags"
5719 LDFLAGS="$LDFLAGS $LDADD_FOR_TESTS_KLUDGE"
5720 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether --disable-new-dtags is supported by the linker" >&5
5721 printf %s "checking whether --disable-new-dtags is supported by the linker... " >&6; }
5722 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5723 /* end confdefs.h. */
5724
5725 int main (void) { return 0; }
5726
5727 _ACEOF
5728 if ac_fn_c_try_link "$LINENO"
5729 then :
5730 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes (use it since LD_LIBRARY_PATH is set)" >&5
5731 printf "%s\n" "yes (use it since LD_LIBRARY_PATH is set)" >&6; }
5732 else $as_nop
5733 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
5734 printf "%s\n" "no" >&6; }
5735 LDADD_FOR_TESTS_KLUDGE=""
5736
5737 fi
5738 rm -f core conftest.err conftest.$ac_objext conftest.beam \
5739 conftest$ac_exeext conftest.$ac_ext
5740 LDFLAGS="$saved_LDFLAGS"
5741 fi
5742 ;;
5743 esac
5744
5745
5746
5747
5748 ac_ext=c
5749 ac_cpp='$CPP $CPPFLAGS'
5750 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
5751 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
5752 ac_compiler_gnu=$ac_cv_c_compiler_gnu
5753 if test -n "$ac_tool_prefix"; then
5754 # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
5755 set dummy ${ac_tool_prefix}gcc; ac_word=$2
5756 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
5757 printf %s "checking for $ac_word... " >&6; }
5758 if test ${ac_cv_prog_CC+y}
5759 then :
5760 printf %s "(cached) " >&6
5761 else $as_nop
5762 if test -n "$CC"; then
5763 ac_cv_prog_CC="$CC" # Let the user override the test.
5764 else
5765 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
5766 for as_dir in $PATH
5767 do
5768 IFS=$as_save_IFS
5769 case $as_dir in #(((
5770 '') as_dir=./ ;;
5771 */) ;;
5772 *) as_dir=$as_dir/ ;;
5773 esac
5774 for ac_exec_ext in '' $ac_executable_extensions; do
5775 if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
5776 ac_cv_prog_CC="${ac_tool_prefix}gcc"
5777 printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
5778 break 2
5779 fi
5780 done
5781 done
5782 IFS=$as_save_IFS
5783
5784 fi
5785 fi
5786 CC=$ac_cv_prog_CC
5787 if test -n "$CC"; then
5788 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
5789 printf "%s\n" "$CC" >&6; }
5790 else
5791 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
5792 printf "%s\n" "no" >&6; }
5793 fi
5794
5795
5796 fi
5797 if test -z "$ac_cv_prog_CC"; then
5798 ac_ct_CC=$CC
5799 # Extract the first word of "gcc", so it can be a program name with args.
5800 set dummy gcc; ac_word=$2
5801 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
5802 printf %s "checking for $ac_word... " >&6; }
5803 if test ${ac_cv_prog_ac_ct_CC+y}
5804 then :
5805 printf %s "(cached) " >&6
5806 else $as_nop
5807 if test -n "$ac_ct_CC"; then
5808 ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
5809 else
5810 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
5811 for as_dir in $PATH
5812 do
5813 IFS=$as_save_IFS
5814 case $as_dir in #(((
5815 '') as_dir=./ ;;
5816 */) ;;
5817 *) as_dir=$as_dir/ ;;
5818 esac
5819 for ac_exec_ext in '' $ac_executable_extensions; do
5820 if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
5821 ac_cv_prog_ac_ct_CC="gcc"
5822 printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
5823 break 2
5824 fi
5825 done
5826 done
5827 IFS=$as_save_IFS
5828
5829 fi
5830 fi
5831 ac_ct_CC=$ac_cv_prog_ac_ct_CC
5832 if test -n "$ac_ct_CC"; then
5833 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
5834 printf "%s\n" "$ac_ct_CC" >&6; }
5835 else
5836 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
5837 printf "%s\n" "no" >&6; }
5838 fi
5839
5840 if test "x$ac_ct_CC" = x; then
5841 CC=""
5842 else
5843 case $cross_compiling:$ac_tool_warned in
5844 yes:)
5845 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
5846 printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
5847 ac_tool_warned=yes ;;
5848 esac
5849 CC=$ac_ct_CC
5850 fi
5851 else
5852 CC="$ac_cv_prog_CC"
5853 fi
5854
5855 if test -z "$CC"; then
5856 if test -n "$ac_tool_prefix"; then
5857 # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
5858 set dummy ${ac_tool_prefix}cc; ac_word=$2
5859 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
5860 printf %s "checking for $ac_word... " >&6; }
5861 if test ${ac_cv_prog_CC+y}
5862 then :
5863 printf %s "(cached) " >&6
5864 else $as_nop
5865 if test -n "$CC"; then
5866 ac_cv_prog_CC="$CC" # Let the user override the test.
5867 else
5868 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
5869 for as_dir in $PATH
5870 do
5871 IFS=$as_save_IFS
5872 case $as_dir in #(((
5873 '') as_dir=./ ;;
5874 */) ;;
5875 *) as_dir=$as_dir/ ;;
5876 esac
5877 for ac_exec_ext in '' $ac_executable_extensions; do
5878 if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
5879 ac_cv_prog_CC="${ac_tool_prefix}cc"
5880 printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
5881 break 2
5882 fi
5883 done
5884 done
5885 IFS=$as_save_IFS
5886
5887 fi
5888 fi
5889 CC=$ac_cv_prog_CC
5890 if test -n "$CC"; then
5891 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
5892 printf "%s\n" "$CC" >&6; }
5893 else
5894 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
5895 printf "%s\n" "no" >&6; }
5896 fi
5897
5898
5899 fi
5900 fi
5901 if test -z "$CC"; then
5902 # Extract the first word of "cc", so it can be a program name with args.
5903 set dummy cc; ac_word=$2
5904 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
5905 printf %s "checking for $ac_word... " >&6; }
5906 if test ${ac_cv_prog_CC+y}
5907 then :
5908 printf %s "(cached) " >&6
5909 else $as_nop
5910 if test -n "$CC"; then
5911 ac_cv_prog_CC="$CC" # Let the user override the test.
5912 else
5913 ac_prog_rejected=no
5914 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
5915 for as_dir in $PATH
5916 do
5917 IFS=$as_save_IFS
5918 case $as_dir in #(((
5919 '') as_dir=./ ;;
5920 */) ;;
5921 *) as_dir=$as_dir/ ;;
5922 esac
5923 for ac_exec_ext in '' $ac_executable_extensions; do
5924 if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
5925 if test "$as_dir$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
5926 ac_prog_rejected=yes
5927 continue
5928 fi
5929 ac_cv_prog_CC="cc"
5930 printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
5931 break 2
5932 fi
5933 done
5934 done
5935 IFS=$as_save_IFS
5936
5937 if test $ac_prog_rejected = yes; then
5938 # We found a bogon in the path, so make sure we never use it.
5939 set dummy $ac_cv_prog_CC
5940 shift
5941 if test $# != 0; then
5942 # We chose a different compiler from the bogus one.
5943 # However, it has the same basename, so the bogon will be chosen
5944 # first if we set CC to just the basename; use the full file name.
5945 shift
5946 ac_cv_prog_CC="$as_dir$ac_word${1+' '}$@"
5947 fi
5948 fi
5949 fi
5950 fi
5951 CC=$ac_cv_prog_CC
5952 if test -n "$CC"; then
5953 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
5954 printf "%s\n" "$CC" >&6; }
5955 else
5956 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
5957 printf "%s\n" "no" >&6; }
5958 fi
5959
5960
5961 fi
5962 if test -z "$CC"; then
5963 if test -n "$ac_tool_prefix"; then
5964 for ac_prog in cl.exe
5965 do
5966 # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
5967 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
5968 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
5969 printf %s "checking for $ac_word... " >&6; }
5970 if test ${ac_cv_prog_CC+y}
5971 then :
5972 printf %s "(cached) " >&6
5973 else $as_nop
5974 if test -n "$CC"; then
5975 ac_cv_prog_CC="$CC" # Let the user override the test.
5976 else
5977 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
5978 for as_dir in $PATH
5979 do
5980 IFS=$as_save_IFS
5981 case $as_dir in #(((
5982 '') as_dir=./ ;;
5983 */) ;;
5984 *) as_dir=$as_dir/ ;;
5985 esac
5986 for ac_exec_ext in '' $ac_executable_extensions; do
5987 if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
5988 ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
5989 printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
5990 break 2
5991 fi
5992 done
5993 done
5994 IFS=$as_save_IFS
5995
5996 fi
5997 fi
5998 CC=$ac_cv_prog_CC
5999 if test -n "$CC"; then
6000 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
6001 printf "%s\n" "$CC" >&6; }
6002 else
6003 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
6004 printf "%s\n" "no" >&6; }
6005 fi
6006
6007
6008 test -n "$CC" && break
6009 done
6010 fi
6011 if test -z "$CC"; then
6012 ac_ct_CC=$CC
6013 for ac_prog in cl.exe
6014 do
6015 # Extract the first word of "$ac_prog", so it can be a program name with args.
6016 set dummy $ac_prog; ac_word=$2
6017 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
6018 printf %s "checking for $ac_word... " >&6; }
6019 if test ${ac_cv_prog_ac_ct_CC+y}
6020 then :
6021 printf %s "(cached) " >&6
6022 else $as_nop
6023 if test -n "$ac_ct_CC"; then
6024 ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
6025 else
6026 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
6027 for as_dir in $PATH
6028 do
6029 IFS=$as_save_IFS
6030 case $as_dir in #(((
6031 '') as_dir=./ ;;
6032 */) ;;
6033 *) as_dir=$as_dir/ ;;
6034 esac
6035 for ac_exec_ext in '' $ac_executable_extensions; do
6036 if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
6037 ac_cv_prog_ac_ct_CC="$ac_prog"
6038 printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
6039 break 2
6040 fi
6041 done
6042 done
6043 IFS=$as_save_IFS
6044
6045 fi
6046 fi
6047 ac_ct_CC=$ac_cv_prog_ac_ct_CC
6048 if test -n "$ac_ct_CC"; then
6049 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
6050 printf "%s\n" "$ac_ct_CC" >&6; }
6051 else
6052 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
6053 printf "%s\n" "no" >&6; }
6054 fi
6055
6056
6057 test -n "$ac_ct_CC" && break
6058 done
6059
6060 if test "x$ac_ct_CC" = x; then
6061 CC=""
6062 else
6063 case $cross_compiling:$ac_tool_warned in
6064 yes:)
6065 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
6066 printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
6067 ac_tool_warned=yes ;;
6068 esac
6069 CC=$ac_ct_CC
6070 fi
6071 fi
6072
6073 fi
6074 if test -z "$CC"; then
6075 if test -n "$ac_tool_prefix"; then
6076 # Extract the first word of "${ac_tool_prefix}clang", so it can be a program name with args.
6077 set dummy ${ac_tool_prefix}clang; ac_word=$2
6078 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
6079 printf %s "checking for $ac_word... " >&6; }
6080 if test ${ac_cv_prog_CC+y}
6081 then :
6082 printf %s "(cached) " >&6
6083 else $as_nop
6084 if test -n "$CC"; then
6085 ac_cv_prog_CC="$CC" # Let the user override the test.
6086 else
6087 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
6088 for as_dir in $PATH
6089 do
6090 IFS=$as_save_IFS
6091 case $as_dir in #(((
6092 '') as_dir=./ ;;
6093 */) ;;
6094 *) as_dir=$as_dir/ ;;
6095 esac
6096 for ac_exec_ext in '' $ac_executable_extensions; do
6097 if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
6098 ac_cv_prog_CC="${ac_tool_prefix}clang"
6099 printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
6100 break 2
6101 fi
6102 done
6103 done
6104 IFS=$as_save_IFS
6105
6106 fi
6107 fi
6108 CC=$ac_cv_prog_CC
6109 if test -n "$CC"; then
6110 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
6111 printf "%s\n" "$CC" >&6; }
6112 else
6113 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
6114 printf "%s\n" "no" >&6; }
6115 fi
6116
6117
6118 fi
6119 if test -z "$ac_cv_prog_CC"; then
6120 ac_ct_CC=$CC
6121 # Extract the first word of "clang", so it can be a program name with args.
6122 set dummy clang; ac_word=$2
6123 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
6124 printf %s "checking for $ac_word... " >&6; }
6125 if test ${ac_cv_prog_ac_ct_CC+y}
6126 then :
6127 printf %s "(cached) " >&6
6128 else $as_nop
6129 if test -n "$ac_ct_CC"; then
6130 ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
6131 else
6132 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
6133 for as_dir in $PATH
6134 do
6135 IFS=$as_save_IFS
6136 case $as_dir in #(((
6137 '') as_dir=./ ;;
6138 */) ;;
6139 *) as_dir=$as_dir/ ;;
6140 esac
6141 for ac_exec_ext in '' $ac_executable_extensions; do
6142 if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
6143 ac_cv_prog_ac_ct_CC="clang"
6144 printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
6145 break 2
6146 fi
6147 done
6148 done
6149 IFS=$as_save_IFS
6150
6151 fi
6152 fi
6153 ac_ct_CC=$ac_cv_prog_ac_ct_CC
6154 if test -n "$ac_ct_CC"; then
6155 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
6156 printf "%s\n" "$ac_ct_CC" >&6; }
6157 else
6158 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
6159 printf "%s\n" "no" >&6; }
6160 fi
6161
6162 if test "x$ac_ct_CC" = x; then
6163 CC=""
6164 else
6165 case $cross_compiling:$ac_tool_warned in
6166 yes:)
6167 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
6168 printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
6169 ac_tool_warned=yes ;;
6170 esac
6171 CC=$ac_ct_CC
6172 fi
6173 else
6174 CC="$ac_cv_prog_CC"
6175 fi
6176
6177 fi
6178
6179
6180 test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
6181 printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
6182 as_fn_error $? "no acceptable C compiler found in \$PATH
6183 See \`config.log' for more details" "$LINENO" 5; }
6184
6185 # Provide some information about the compiler.
6186 printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
6187 set X $ac_compile
6188 ac_compiler=$2
6189 for ac_option in --version -v -V -qversion -version; do
6190 { { ac_try="$ac_compiler $ac_option >&5"
6191 case "(($ac_try" in
6192 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
6193 *) ac_try_echo=$ac_try;;
6194 esac
6195 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
6196 printf "%s\n" "$ac_try_echo"; } >&5
6197 (eval "$ac_compiler $ac_option >&5") 2>conftest.err
6198 ac_status=$?
6199 if test -s conftest.err; then
6200 sed '10a\
6201 ... rest of stderr output deleted ...
6202 10q' conftest.err >conftest.er1
6203 cat conftest.er1 >&5
6204 fi
6205 rm -f conftest.er1 conftest.err
6206 printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
6207 test $ac_status = 0; }
6208 done
6209
6210 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5
6211 printf %s "checking whether the compiler supports GNU C... " >&6; }
6212 if test ${ac_cv_c_compiler_gnu+y}
6213 then :
6214 printf %s "(cached) " >&6
6215 else $as_nop
6216 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
6217 /* end confdefs.h. */
6218
6219 int
6220 main (void)
6221 {
6222 #ifndef __GNUC__
6223 choke me
6224 #endif
6225
6226 ;
6227 return 0;
6228 }
6229 _ACEOF
6230 if ac_fn_c_try_compile "$LINENO"
6231 then :
6232 ac_compiler_gnu=yes
6233 else $as_nop
6234 ac_compiler_gnu=no
6235 fi
6236 rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
6237 ac_cv_c_compiler_gnu=$ac_compiler_gnu
6238
6239 fi
6240 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
6241 printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; }
6242 ac_compiler_gnu=$ac_cv_c_compiler_gnu
6243
6244 if test $ac_compiler_gnu = yes; then
6245 GCC=yes
6246 else
6247 GCC=
6248 fi
6249 ac_test_CFLAGS=${CFLAGS+y}
6250 ac_save_CFLAGS=$CFLAGS
6251 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
6252 printf %s "checking whether $CC accepts -g... " >&6; }
6253 if test ${ac_cv_prog_cc_g+y}
6254 then :
6255 printf %s "(cached) " >&6
6256 else $as_nop
6257 ac_save_c_werror_flag=$ac_c_werror_flag
6258 ac_c_werror_flag=yes
6259 ac_cv_prog_cc_g=no
6260 CFLAGS="-g"
6261 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
6262 /* end confdefs.h. */
6263
6264 int
6265 main (void)
6266 {
6267
6268 ;
6269 return 0;
6270 }
6271 _ACEOF
6272 if ac_fn_c_try_compile "$LINENO"
6273 then :
6274 ac_cv_prog_cc_g=yes
6275 else $as_nop
6276 CFLAGS=""
6277 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
6278 /* end confdefs.h. */
6279
6280 int
6281 main (void)
6282 {
6283
6284 ;
6285 return 0;
6286 }
6287 _ACEOF
6288 if ac_fn_c_try_compile "$LINENO"
6289 then :
6290
6291 else $as_nop
6292 ac_c_werror_flag=$ac_save_c_werror_flag
6293 CFLAGS="-g"
6294 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
6295 /* end confdefs.h. */
6296
6297 int
6298 main (void)
6299 {
6300
6301 ;
6302 return 0;
6303 }
6304 _ACEOF
6305 if ac_fn_c_try_compile "$LINENO"
6306 then :
6307 ac_cv_prog_cc_g=yes
6308 fi
6309 rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
6310 fi
6311 rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
6312 fi
6313 rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
6314 ac_c_werror_flag=$ac_save_c_werror_flag
6315 fi
6316 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
6317 printf "%s\n" "$ac_cv_prog_cc_g" >&6; }
6318 if test $ac_test_CFLAGS; then
6319 CFLAGS=$ac_save_CFLAGS
6320 elif test $ac_cv_prog_cc_g = yes; then
6321 if test "$GCC" = yes; then
6322 CFLAGS="-g -O2"
6323 else
6324 CFLAGS="-g"
6325 fi
6326 else
6327 if test "$GCC" = yes; then
6328 CFLAGS="-O2"
6329 else
6330 CFLAGS=
6331 fi
6332 fi
6333 ac_prog_cc_stdc=no
6334 if test x$ac_prog_cc_stdc = xno
6335 then :
6336 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5
6337 printf %s "checking for $CC option to enable C11 features... " >&6; }
6338 if test ${ac_cv_prog_cc_c11+y}
6339 then :
6340 printf %s "(cached) " >&6
6341 else $as_nop
6342 ac_cv_prog_cc_c11=no
6343 ac_save_CC=$CC
6344 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
6345 /* end confdefs.h. */
6346 $ac_c_conftest_c11_program
6347 _ACEOF
6348 for ac_arg in '' -std=gnu11
6349 do
6350 CC="$ac_save_CC $ac_arg"
6351 if ac_fn_c_try_compile "$LINENO"
6352 then :
6353 ac_cv_prog_cc_c11=$ac_arg
6354 fi
6355 rm -f core conftest.err conftest.$ac_objext conftest.beam
6356 test "x$ac_cv_prog_cc_c11" != "xno" && break
6357 done
6358 rm -f conftest.$ac_ext
6359 CC=$ac_save_CC
6360 fi
6361
6362 if test "x$ac_cv_prog_cc_c11" = xno
6363 then :
6364 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
6365 printf "%s\n" "unsupported" >&6; }
6366 else $as_nop
6367 if test "x$ac_cv_prog_cc_c11" = x
6368 then :
6369 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
6370 printf "%s\n" "none needed" >&6; }
6371 else $as_nop
6372 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5
6373 printf "%s\n" "$ac_cv_prog_cc_c11" >&6; }
6374 CC="$CC $ac_cv_prog_cc_c11"
6375 fi
6376 ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11
6377 ac_prog_cc_stdc=c11
6378 fi
6379 fi
6380 if test x$ac_prog_cc_stdc = xno
6381 then :
6382 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5
6383 printf %s "checking for $CC option to enable C99 features... " >&6; }
6384 if test ${ac_cv_prog_cc_c99+y}
6385 then :
6386 printf %s "(cached) " >&6
6387 else $as_nop
6388 ac_cv_prog_cc_c99=no
6389 ac_save_CC=$CC
6390 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
6391 /* end confdefs.h. */
6392 $ac_c_conftest_c99_program
6393 _ACEOF
6394 for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99=
6395 do
6396 CC="$ac_save_CC $ac_arg"
6397 if ac_fn_c_try_compile "$LINENO"
6398 then :
6399 ac_cv_prog_cc_c99=$ac_arg
6400 fi
6401 rm -f core conftest.err conftest.$ac_objext conftest.beam
6402 test "x$ac_cv_prog_cc_c99" != "xno" && break
6403 done
6404 rm -f conftest.$ac_ext
6405 CC=$ac_save_CC
6406 fi
6407
6408 if test "x$ac_cv_prog_cc_c99" = xno
6409 then :
6410 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
6411 printf "%s\n" "unsupported" >&6; }
6412 else $as_nop
6413 if test "x$ac_cv_prog_cc_c99" = x
6414 then :
6415 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
6416 printf "%s\n" "none needed" >&6; }
6417 else $as_nop
6418 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5
6419 printf "%s\n" "$ac_cv_prog_cc_c99" >&6; }
6420 CC="$CC $ac_cv_prog_cc_c99"
6421 fi
6422 ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99
6423 ac_prog_cc_stdc=c99
6424 fi
6425 fi
6426 if test x$ac_prog_cc_stdc = xno
6427 then :
6428 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5
6429 printf %s "checking for $CC option to enable C89 features... " >&6; }
6430 if test ${ac_cv_prog_cc_c89+y}
6431 then :
6432 printf %s "(cached) " >&6
6433 else $as_nop
6434 ac_cv_prog_cc_c89=no
6435 ac_save_CC=$CC
6436 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
6437 /* end confdefs.h. */
6438 $ac_c_conftest_c89_program
6439 _ACEOF
6440 for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
6441 do
6442 CC="$ac_save_CC $ac_arg"
6443 if ac_fn_c_try_compile "$LINENO"
6444 then :
6445 ac_cv_prog_cc_c89=$ac_arg
6446 fi
6447 rm -f core conftest.err conftest.$ac_objext conftest.beam
6448 test "x$ac_cv_prog_cc_c89" != "xno" && break
6449 done
6450 rm -f conftest.$ac_ext
6451 CC=$ac_save_CC
6452 fi
6453
6454 if test "x$ac_cv_prog_cc_c89" = xno
6455 then :
6456 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
6457 printf "%s\n" "unsupported" >&6; }
6458 else $as_nop
6459 if test "x$ac_cv_prog_cc_c89" = x
6460 then :
6461 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
6462 printf "%s\n" "none needed" >&6; }
6463 else $as_nop
6464 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
6465 printf "%s\n" "$ac_cv_prog_cc_c89" >&6; }
6466 CC="$CC $ac_cv_prog_cc_c89"
6467 fi
6468 ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89
6469 ac_prog_cc_stdc=c89
6470 fi
6471 fi
6472
6473 ac_ext=c
6474 ac_cpp='$CPP $CPPFLAGS'
6475 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
6476 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
6477 ac_compiler_gnu=$ac_cv_c_compiler_gnu
6478
6479
6480 ac_ext=c
6481 ac_cpp='$CPP $CPPFLAGS'
6482 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
6483 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
6484 ac_compiler_gnu=$ac_cv_c_compiler_gnu
6485 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5
6486 printf %s "checking whether $CC understands -c and -o together... " >&6; }
6487 if test ${am_cv_prog_cc_c_o+y}
6488 then :
6489 printf %s "(cached) " >&6
6490 else $as_nop
6491 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
6492 /* end confdefs.h. */
6493
6494 int
6495 main (void)
6496 {
6497
6498 ;
6499 return 0;
6500 }
6501 _ACEOF
6502 # Make sure it works both with $CC and with simple cc.
6503 # Following AC_PROG_CC_C_O, we do the test twice because some
6504 # compilers refuse to overwrite an existing .o file with -o,
6505 # though they will create one.
6506 am_cv_prog_cc_c_o=yes
6507 for am_i in 1 2; do
6508 if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5
6509 ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5
6510 ac_status=$?
6511 echo "$as_me:$LINENO: \$? = $ac_status" >&5
6512 (exit $ac_status); } \
6513 && test -f conftest2.$ac_objext; then
6514 : OK
6515 else
6516 am_cv_prog_cc_c_o=no
6517 break
6518 fi
6519 done
6520 rm -f core conftest*
6521 unset am_i
6522 fi
6523 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5
6524 printf "%s\n" "$am_cv_prog_cc_c_o" >&6; }
6525 if test "$am_cv_prog_cc_c_o" != yes; then
6526 # Losing compiler, so override with the script.
6527 # FIXME: It is wrong to rewrite CC.
6528 # But if we don't then we get into trouble of one sort or another.
6529 # A longer-term fix would be to have automake use am__CC in this case,
6530 # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
6531 CC="$am_aux_dir/compile $CC"
6532 fi
6533 ac_ext=c
6534 ac_cpp='$CPP $CPPFLAGS'
6535 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
6536 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
6537 ac_compiler_gnu=$ac_cv_c_compiler_gnu
6538
6539
6540 depcc="$CC" am_compiler_list=
6541
6542 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
6543 printf %s "checking dependency style of $depcc... " >&6; }
6544 if test ${am_cv_CC_dependencies_compiler_type+y}
6545 then :
6546 printf %s "(cached) " >&6
6547 else $as_nop
6548 if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
6549 # We make a subdir and do the tests there. Otherwise we can end up
6550 # making bogus files that we don't know about and never remove. For
6551 # instance it was reported that on HP-UX the gcc test will end up
6552 # making a dummy file named 'D' -- because '-MD' means "put the output
6553 # in D".
6554 rm -rf conftest.dir
6555 mkdir conftest.dir
6556 # Copy depcomp to subdir because otherwise we won't find it if we're
6557 # using a relative directory.
6558 cp "$am_depcomp" conftest.dir
6559 cd conftest.dir
6560 # We will build objects and dependencies in a subdirectory because
6561 # it helps to detect inapplicable dependency modes. For instance
6562 # both Tru64's cc and ICC support -MD to output dependencies as a
6563 # side effect of compilation, but ICC will put the dependencies in
6564 # the current directory while Tru64 will put them in the object
6565 # directory.
6566 mkdir sub
6567
6568 am_cv_CC_dependencies_compiler_type=none
6569 if test "$am_compiler_list" = ""; then
6570 am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
6571 fi
6572 am__universal=false
6573 case " $depcc " in #(
6574 *\ -arch\ *\ -arch\ *) am__universal=true ;;
6575 esac
6576
6577 for depmode in $am_compiler_list; do
6578 # Setup a source with many dependencies, because some compilers
6579 # like to wrap large dependency lists on column 80 (with \), and
6580 # we should not choose a depcomp mode which is confused by this.
6581 #
6582 # We need to recreate these files for each test, as the compiler may
6583 # overwrite some of them when testing with obscure command lines.
6584 # This happens at least with the AIX C compiler.
6585 : > sub/conftest.c
6586 for i in 1 2 3 4 5 6; do
6587 echo '#include "conftst'$i'.h"' >> sub/conftest.c
6588 # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
6589 # Solaris 10 /bin/sh.
6590 echo '/* dummy */' > sub/conftst$i.h
6591 done
6592 echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
6593
6594 # We check with '-c' and '-o' for the sake of the "dashmstdout"
6595 # mode. It turns out that the SunPro C++ compiler does not properly
6596 # handle '-M -o', and we need to detect this. Also, some Intel
6597 # versions had trouble with output in subdirs.
6598 am__obj=sub/conftest.${OBJEXT-o}
6599 am__minus_obj="-o $am__obj"
6600 case $depmode in
6601 gcc)
6602 # This depmode causes a compiler race in universal mode.
6603 test "$am__universal" = false || continue
6604 ;;
6605 nosideeffect)
6606 # After this tag, mechanisms are not by side-effect, so they'll
6607 # only be used when explicitly requested.
6608 if test "x$enable_dependency_tracking" = xyes; then
6609 continue
6610 else
6611 break
6612 fi
6613 ;;
6614 msvc7 | msvc7msys | msvisualcpp | msvcmsys)
6615 # This compiler won't grok '-c -o', but also, the minuso test has
6616 # not run yet. These depmodes are late enough in the game, and
6617 # so weak that their functioning should not be impacted.
6618 am__obj=conftest.${OBJEXT-o}
6619 am__minus_obj=
6620 ;;
6621 none) break ;;
6622 esac
6623 if depmode=$depmode \
6624 source=sub/conftest.c object=$am__obj \
6625 depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
6626 $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
6627 >/dev/null 2>conftest.err &&
6628 grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
6629 grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
6630 grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
6631 ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
6632 # icc doesn't choke on unknown options, it will just issue warnings
6633 # or remarks (even with -Werror). So we grep stderr for any message
6634 # that says an option was ignored or not supported.
6635 # When given -MP, icc 7.0 and 7.1 complain thusly:
6636 # icc: Command line warning: ignoring option '-M'; no argument required
6637 # The diagnosis changed in icc 8.0:
6638 # icc: Command line remark: option '-MP' not supported
6639 if (grep 'ignoring option' conftest.err ||
6640 grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
6641 am_cv_CC_dependencies_compiler_type=$depmode
6642 break
6643 fi
6644 fi
6645 done
6646
6647 cd ..
6648 rm -rf conftest.dir
6649 else
6650 am_cv_CC_dependencies_compiler_type=none
6651 fi
6652
6653 fi
6654 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
6655 printf "%s\n" "$am_cv_CC_dependencies_compiler_type" >&6; }
6656 CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
6657
6658 if
6659 test "x$enable_dependency_tracking" != xno \
6660 && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
6661 am__fastdepCC_TRUE=
6662 am__fastdepCC_FALSE='#'
6663 else
6664 am__fastdepCC_TRUE='#'
6665 am__fastdepCC_FALSE=
6666 fi
6667
6668
6669 ac_ext=c
6670 ac_cpp='$CPP $CPPFLAGS'
6671 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
6672 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
6673 ac_compiler_gnu=$ac_cv_c_compiler_gnu
6674 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
6675 printf %s "checking how to run the C preprocessor... " >&6; }
6676 # On Suns, sometimes $CPP names a directory.
6677 if test -n "$CPP" && test -d "$CPP"; then
6678 CPP=
6679 fi
6680 if test -z "$CPP"; then
6681 if test ${ac_cv_prog_CPP+y}
6682 then :
6683 printf %s "(cached) " >&6
6684 else $as_nop
6685 # Double quotes because $CC needs to be expanded
6686 for CPP in "$CC -E" "$CC -E -traditional-cpp" cpp /lib/cpp
6687 do
6688 ac_preproc_ok=false
6689 for ac_c_preproc_warn_flag in '' yes
6690 do
6691 # Use a header file that comes with gcc, so configuring glibc
6692 # with a fresh cross-compiler works.
6693 # On the NeXT, cc -E runs the code through the compiler's parser,
6694 # not just through cpp. "Syntax error" is here to catch this case.
6695 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
6696 /* end confdefs.h. */
6697 #include <limits.h>
6698 Syntax error
6699 _ACEOF
6700 if ac_fn_c_try_cpp "$LINENO"
6701 then :
6702
6703 else $as_nop
6704 # Broken: fails on valid input.
6705 continue
6706 fi
6707 rm -f conftest.err conftest.i conftest.$ac_ext
6708
6709 # OK, works on sane cases. Now check whether nonexistent headers
6710 # can be detected and how.
6711 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
6712 /* end confdefs.h. */
6713 #include <ac_nonexistent.h>
6714 _ACEOF
6715 if ac_fn_c_try_cpp "$LINENO"
6716 then :
6717 # Broken: success on invalid input.
6718 continue
6719 else $as_nop
6720 # Passes both tests.
6721 ac_preproc_ok=:
6722 break
6723 fi
6724 rm -f conftest.err conftest.i conftest.$ac_ext
6725
6726 done
6727 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
6728 rm -f conftest.i conftest.err conftest.$ac_ext
6729 if $ac_preproc_ok
6730 then :
6731 break
6732 fi
6733
6734 done
6735 ac_cv_prog_CPP=$CPP
6736
6737 fi
6738 CPP=$ac_cv_prog_CPP
6739 else
6740 ac_cv_prog_CPP=$CPP
6741 fi
6742 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
6743 printf "%s\n" "$CPP" >&6; }
6744 ac_preproc_ok=false
6745 for ac_c_preproc_warn_flag in '' yes
6746 do
6747 # Use a header file that comes with gcc, so configuring glibc
6748 # with a fresh cross-compiler works.
6749 # On the NeXT, cc -E runs the code through the compiler's parser,
6750 # not just through cpp. "Syntax error" is here to catch this case.
6751 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
6752 /* end confdefs.h. */
6753 #include <limits.h>
6754 Syntax error
6755 _ACEOF
6756 if ac_fn_c_try_cpp "$LINENO"
6757 then :
6758
6759 else $as_nop
6760 # Broken: fails on valid input.
6761 continue
6762 fi
6763 rm -f conftest.err conftest.i conftest.$ac_ext
6764
6765 # OK, works on sane cases. Now check whether nonexistent headers
6766 # can be detected and how.
6767 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
6768 /* end confdefs.h. */
6769 #include <ac_nonexistent.h>
6770 _ACEOF
6771 if ac_fn_c_try_cpp "$LINENO"
6772 then :
6773 # Broken: success on invalid input.
6774 continue
6775 else $as_nop
6776 # Passes both tests.
6777 ac_preproc_ok=:
6778 break
6779 fi
6780 rm -f conftest.err conftest.i conftest.$ac_ext
6781
6782 done
6783 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
6784 rm -f conftest.i conftest.err conftest.$ac_ext
6785 if $ac_preproc_ok
6786 then :
6787
6788 else $as_nop
6789 { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
6790 printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
6791 as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
6792 See \`config.log' for more details" "$LINENO" 5; }
6793 fi
6794
6795 ac_ext=c
6796 ac_cpp='$CPP $CPPFLAGS'
6797 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
6798 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
6799 ac_compiler_gnu=$ac_cv_c_compiler_gnu
6800
6801
6802
6803
6804
6805
6806
6807 ac_ext=cpp
6808 ac_cpp='$CXXCPP $CPPFLAGS'
6809 ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
6810 ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
6811 ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
6812 if test -z "$CXX"; then
6813 if test -n "$CCC"; then
6814 CXX=$CCC
6815 else
6816 if test -n "$ac_tool_prefix"; then
6817 for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++
6818 do
6819 # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
6820 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
6821 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
6822 printf %s "checking for $ac_word... " >&6; }
6823 if test ${ac_cv_prog_CXX+y}
6824 then :
6825 printf %s "(cached) " >&6
6826 else $as_nop
6827 if test -n "$CXX"; then
6828 ac_cv_prog_CXX="$CXX" # Let the user override the test.
6829 else
6830 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
6831 for as_dir in $PATH
6832 do
6833 IFS=$as_save_IFS
6834 case $as_dir in #(((
6835 '') as_dir=./ ;;
6836 */) ;;
6837 *) as_dir=$as_dir/ ;;
6838 esac
6839 for ac_exec_ext in '' $ac_executable_extensions; do
6840 if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
6841 ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
6842 printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
6843 break 2
6844 fi
6845 done
6846 done
6847 IFS=$as_save_IFS
6848
6849 fi
6850 fi
6851 CXX=$ac_cv_prog_CXX
6852 if test -n "$CXX"; then
6853 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5
6854 printf "%s\n" "$CXX" >&6; }
6855 else
6856 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
6857 printf "%s\n" "no" >&6; }
6858 fi
6859
6860
6861 test -n "$CXX" && break
6862 done
6863 fi
6864 if test -z "$CXX"; then
6865 ac_ct_CXX=$CXX
6866 for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC clang++
6867 do
6868 # Extract the first word of "$ac_prog", so it can be a program name with args.
6869 set dummy $ac_prog; ac_word=$2
6870 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
6871 printf %s "checking for $ac_word... " >&6; }
6872 if test ${ac_cv_prog_ac_ct_CXX+y}
6873 then :
6874 printf %s "(cached) " >&6
6875 else $as_nop
6876 if test -n "$ac_ct_CXX"; then
6877 ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test.
6878 else
6879 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
6880 for as_dir in $PATH
6881 do
6882 IFS=$as_save_IFS
6883 case $as_dir in #(((
6884 '') as_dir=./ ;;
6885 */) ;;
6886 *) as_dir=$as_dir/ ;;
6887 esac
6888 for ac_exec_ext in '' $ac_executable_extensions; do
6889 if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
6890 ac_cv_prog_ac_ct_CXX="$ac_prog"
6891 printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
6892 break 2
6893 fi
6894 done
6895 done
6896 IFS=$as_save_IFS
6897
6898 fi
6899 fi
6900 ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
6901 if test -n "$ac_ct_CXX"; then
6902 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5
6903 printf "%s\n" "$ac_ct_CXX" >&6; }
6904 else
6905 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
6906 printf "%s\n" "no" >&6; }
6907 fi
6908
6909
6910 test -n "$ac_ct_CXX" && break
6911 done
6912
6913 if test "x$ac_ct_CXX" = x; then
6914 CXX="g++"
6915 else
6916 case $cross_compiling:$ac_tool_warned in
6917 yes:)
6918 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
6919 printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
6920 ac_tool_warned=yes ;;
6921 esac
6922 CXX=$ac_ct_CXX
6923 fi
6924 fi
6925
6926 fi
6927 fi
6928 # Provide some information about the compiler.
6929 printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5
6930 set X $ac_compile
6931 ac_compiler=$2
6932 for ac_option in --version -v -V -qversion; do
6933 { { ac_try="$ac_compiler $ac_option >&5"
6934 case "(($ac_try" in
6935 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
6936 *) ac_try_echo=$ac_try;;
6937 esac
6938 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
6939 printf "%s\n" "$ac_try_echo"; } >&5
6940 (eval "$ac_compiler $ac_option >&5") 2>conftest.err
6941 ac_status=$?
6942 if test -s conftest.err; then
6943 sed '10a\
6944 ... rest of stderr output deleted ...
6945 10q' conftest.err >conftest.er1
6946 cat conftest.er1 >&5
6947 fi
6948 rm -f conftest.er1 conftest.err
6949 printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
6950 test $ac_status = 0; }
6951 done
6952
6953 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C++" >&5
6954 printf %s "checking whether the compiler supports GNU C++... " >&6; }
6955 if test ${ac_cv_cxx_compiler_gnu+y}
6956 then :
6957 printf %s "(cached) " >&6
6958 else $as_nop
6959 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
6960 /* end confdefs.h. */
6961
6962 int
6963 main (void)
6964 {
6965 #ifndef __GNUC__
6966 choke me
6967 #endif
6968
6969 ;
6970 return 0;
6971 }
6972 _ACEOF
6973 if ac_fn_cxx_try_compile "$LINENO"
6974 then :
6975 ac_compiler_gnu=yes
6976 else $as_nop
6977 ac_compiler_gnu=no
6978 fi
6979 rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
6980 ac_cv_cxx_compiler_gnu=$ac_compiler_gnu
6981
6982 fi
6983 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5
6984 printf "%s\n" "$ac_cv_cxx_compiler_gnu" >&6; }
6985 ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
6986
6987 if test $ac_compiler_gnu = yes; then
6988 GXX=yes
6989 else
6990 GXX=
6991 fi
6992 ac_test_CXXFLAGS=${CXXFLAGS+y}
6993 ac_save_CXXFLAGS=$CXXFLAGS
6994 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5
6995 printf %s "checking whether $CXX accepts -g... " >&6; }
6996 if test ${ac_cv_prog_cxx_g+y}
6997 then :
6998 printf %s "(cached) " >&6
6999 else $as_nop
7000 ac_save_cxx_werror_flag=$ac_cxx_werror_flag
7001 ac_cxx_werror_flag=yes
7002 ac_cv_prog_cxx_g=no
7003 CXXFLAGS="-g"
7004 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
7005 /* end confdefs.h. */
7006
7007 int
7008 main (void)
7009 {
7010
7011 ;
7012 return 0;
7013 }
7014 _ACEOF
7015 if ac_fn_cxx_try_compile "$LINENO"
7016 then :
7017 ac_cv_prog_cxx_g=yes
7018 else $as_nop
7019 CXXFLAGS=""
7020 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
7021 /* end confdefs.h. */
7022
7023 int
7024 main (void)
7025 {
7026
7027 ;
7028 return 0;
7029 }
7030 _ACEOF
7031 if ac_fn_cxx_try_compile "$LINENO"
7032 then :
7033
7034 else $as_nop
7035 ac_cxx_werror_flag=$ac_save_cxx_werror_flag
7036 CXXFLAGS="-g"
7037 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
7038 /* end confdefs.h. */
7039
7040 int
7041 main (void)
7042 {
7043
7044 ;
7045 return 0;
7046 }
7047 _ACEOF
7048 if ac_fn_cxx_try_compile "$LINENO"
7049 then :
7050 ac_cv_prog_cxx_g=yes
7051 fi
7052 rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
7053 fi
7054 rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
7055 fi
7056 rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
7057 ac_cxx_werror_flag=$ac_save_cxx_werror_flag
7058 fi
7059 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5
7060 printf "%s\n" "$ac_cv_prog_cxx_g" >&6; }
7061 if test $ac_test_CXXFLAGS; then
7062 CXXFLAGS=$ac_save_CXXFLAGS
7063 elif test $ac_cv_prog_cxx_g = yes; then
7064 if test "$GXX" = yes; then
7065 CXXFLAGS="-g -O2"
7066 else
7067 CXXFLAGS="-g"
7068 fi
7069 else
7070 if test "$GXX" = yes; then
7071 CXXFLAGS="-O2"
7072 else
7073 CXXFLAGS=
7074 fi
7075 fi
7076 ac_prog_cxx_stdcxx=no
7077 if test x$ac_prog_cxx_stdcxx = xno
7078 then :
7079 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++11 features" >&5
7080 printf %s "checking for $CXX option to enable C++11 features... " >&6; }
7081 if test ${ac_cv_prog_cxx_11+y}
7082 then :
7083 printf %s "(cached) " >&6
7084 else $as_nop
7085 ac_cv_prog_cxx_11=no
7086 ac_save_CXX=$CXX
7087 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
7088 /* end confdefs.h. */
7089 $ac_cxx_conftest_cxx11_program
7090 _ACEOF
7091 for ac_arg in '' -std=gnu++11 -std=gnu++0x -std=c++11 -std=c++0x -qlanglvl=extended0x -AA
7092 do
7093 CXX="$ac_save_CXX $ac_arg"
7094 if ac_fn_cxx_try_compile "$LINENO"
7095 then :
7096 ac_cv_prog_cxx_cxx11=$ac_arg
7097 fi
7098 rm -f core conftest.err conftest.$ac_objext conftest.beam
7099 test "x$ac_cv_prog_cxx_cxx11" != "xno" && break
7100 done
7101 rm -f conftest.$ac_ext
7102 CXX=$ac_save_CXX
7103 fi
7104
7105 if test "x$ac_cv_prog_cxx_cxx11" = xno
7106 then :
7107 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
7108 printf "%s\n" "unsupported" >&6; }
7109 else $as_nop
7110 if test "x$ac_cv_prog_cxx_cxx11" = x
7111 then :
7112 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
7113 printf "%s\n" "none needed" >&6; }
7114 else $as_nop
7115 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx11" >&5
7116 printf "%s\n" "$ac_cv_prog_cxx_cxx11" >&6; }
7117 CXX="$CXX $ac_cv_prog_cxx_cxx11"
7118 fi
7119 ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx11
7120 ac_prog_cxx_stdcxx=cxx11
7121 fi
7122 fi
7123 if test x$ac_prog_cxx_stdcxx = xno
7124 then :
7125 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++98 features" >&5
7126 printf %s "checking for $CXX option to enable C++98 features... " >&6; }
7127 if test ${ac_cv_prog_cxx_98+y}
7128 then :
7129 printf %s "(cached) " >&6
7130 else $as_nop
7131 ac_cv_prog_cxx_98=no
7132 ac_save_CXX=$CXX
7133 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
7134 /* end confdefs.h. */
7135 $ac_cxx_conftest_cxx98_program
7136 _ACEOF
7137 for ac_arg in '' -std=gnu++98 -std=c++98 -qlanglvl=extended -AA
7138 do
7139 CXX="$ac_save_CXX $ac_arg"
7140 if ac_fn_cxx_try_compile "$LINENO"
7141 then :
7142 ac_cv_prog_cxx_cxx98=$ac_arg
7143 fi
7144 rm -f core conftest.err conftest.$ac_objext conftest.beam
7145 test "x$ac_cv_prog_cxx_cxx98" != "xno" && break
7146 done
7147 rm -f conftest.$ac_ext
7148 CXX=$ac_save_CXX
7149 fi
7150
7151 if test "x$ac_cv_prog_cxx_cxx98" = xno
7152 then :
7153 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
7154 printf "%s\n" "unsupported" >&6; }
7155 else $as_nop
7156 if test "x$ac_cv_prog_cxx_cxx98" = x
7157 then :
7158 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
7159 printf "%s\n" "none needed" >&6; }
7160 else $as_nop
7161 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx98" >&5
7162 printf "%s\n" "$ac_cv_prog_cxx_cxx98" >&6; }
7163 CXX="$CXX $ac_cv_prog_cxx_cxx98"
7164 fi
7165 ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx98
7166 ac_prog_cxx_stdcxx=cxx98
7167 fi
7168 fi
7169
7170 ac_ext=c
7171 ac_cpp='$CPP $CPPFLAGS'
7172 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
7173 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
7174 ac_compiler_gnu=$ac_cv_c_compiler_gnu
7175
7176 depcc="$CXX" am_compiler_list=
7177
7178 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
7179 printf %s "checking dependency style of $depcc... " >&6; }
7180 if test ${am_cv_CXX_dependencies_compiler_type+y}
7181 then :
7182 printf %s "(cached) " >&6
7183 else $as_nop
7184 if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
7185 # We make a subdir and do the tests there. Otherwise we can end up
7186 # making bogus files that we don't know about and never remove. For
7187 # instance it was reported that on HP-UX the gcc test will end up
7188 # making a dummy file named 'D' -- because '-MD' means "put the output
7189 # in D".
7190 rm -rf conftest.dir
7191 mkdir conftest.dir
7192 # Copy depcomp to subdir because otherwise we won't find it if we're
7193 # using a relative directory.
7194 cp "$am_depcomp" conftest.dir
7195 cd conftest.dir
7196 # We will build objects and dependencies in a subdirectory because
7197 # it helps to detect inapplicable dependency modes. For instance
7198 # both Tru64's cc and ICC support -MD to output dependencies as a
7199 # side effect of compilation, but ICC will put the dependencies in
7200 # the current directory while Tru64 will put them in the object
7201 # directory.
7202 mkdir sub
7203
7204 am_cv_CXX_dependencies_compiler_type=none
7205 if test "$am_compiler_list" = ""; then
7206 am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
7207 fi
7208 am__universal=false
7209 case " $depcc " in #(
7210 *\ -arch\ *\ -arch\ *) am__universal=true ;;
7211 esac
7212
7213 for depmode in $am_compiler_list; do
7214 # Setup a source with many dependencies, because some compilers
7215 # like to wrap large dependency lists on column 80 (with \), and
7216 # we should not choose a depcomp mode which is confused by this.
7217 #
7218 # We need to recreate these files for each test, as the compiler may
7219 # overwrite some of them when testing with obscure command lines.
7220 # This happens at least with the AIX C compiler.
7221 : > sub/conftest.c
7222 for i in 1 2 3 4 5 6; do
7223 echo '#include "conftst'$i'.h"' >> sub/conftest.c
7224 # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
7225 # Solaris 10 /bin/sh.
7226 echo '/* dummy */' > sub/conftst$i.h
7227 done
7228 echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
7229
7230 # We check with '-c' and '-o' for the sake of the "dashmstdout"
7231 # mode. It turns out that the SunPro C++ compiler does not properly
7232 # handle '-M -o', and we need to detect this. Also, some Intel
7233 # versions had trouble with output in subdirs.
7234 am__obj=sub/conftest.${OBJEXT-o}
7235 am__minus_obj="-o $am__obj"
7236 case $depmode in
7237 gcc)
7238 # This depmode causes a compiler race in universal mode.
7239 test "$am__universal" = false || continue
7240 ;;
7241 nosideeffect)
7242 # After this tag, mechanisms are not by side-effect, so they'll
7243 # only be used when explicitly requested.
7244 if test "x$enable_dependency_tracking" = xyes; then
7245 continue
7246 else
7247 break
7248 fi
7249 ;;
7250 msvc7 | msvc7msys | msvisualcpp | msvcmsys)
7251 # This compiler won't grok '-c -o', but also, the minuso test has
7252 # not run yet. These depmodes are late enough in the game, and
7253 # so weak that their functioning should not be impacted.
7254 am__obj=conftest.${OBJEXT-o}
7255 am__minus_obj=
7256 ;;
7257 none) break ;;
7258 esac
7259 if depmode=$depmode \
7260 source=sub/conftest.c object=$am__obj \
7261 depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
7262 $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
7263 >/dev/null 2>conftest.err &&
7264 grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
7265 grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
7266 grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
7267 ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
7268 # icc doesn't choke on unknown options, it will just issue warnings
7269 # or remarks (even with -Werror). So we grep stderr for any message
7270 # that says an option was ignored or not supported.
7271 # When given -MP, icc 7.0 and 7.1 complain thusly:
7272 # icc: Command line warning: ignoring option '-M'; no argument required
7273 # The diagnosis changed in icc 8.0:
7274 # icc: Command line remark: option '-MP' not supported
7275 if (grep 'ignoring option' conftest.err ||
7276 grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
7277 am_cv_CXX_dependencies_compiler_type=$depmode
7278 break
7279 fi
7280 fi
7281 done
7282
7283 cd ..
7284 rm -rf conftest.dir
7285 else
7286 am_cv_CXX_dependencies_compiler_type=none
7287 fi
7288
7289 fi
7290 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_CXX_dependencies_compiler_type" >&5
7291 printf "%s\n" "$am_cv_CXX_dependencies_compiler_type" >&6; }
7292 CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type
7293
7294 if
7295 test "x$enable_dependency_tracking" != xno \
7296 && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then
7297 am__fastdepCXX_TRUE=
7298 am__fastdepCXX_FALSE='#'
7299 else
7300 am__fastdepCXX_TRUE='#'
7301 am__fastdepCXX_FALSE=
7302 fi
7303
7304
7305
7306 # Note: A suitable gitlog-to-changelog script can be found in GnuPG master.
7307 for ac_prog in gitlog-to-changelog
7308 do
7309 # Extract the first word of "$ac_prog", so it can be a program name with args.
7310 set dummy $ac_prog; ac_word=$2
7311 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
7312 printf %s "checking for $ac_word... " >&6; }
7313 if test ${ac_cv_prog_GITLOG_TO_CHANGELOG+y}
7314 then :
7315 printf %s "(cached) " >&6
7316 else $as_nop
7317 if test -n "$GITLOG_TO_CHANGELOG"; then
7318 ac_cv_prog_GITLOG_TO_CHANGELOG="$GITLOG_TO_CHANGELOG" # Let the user override the test.
7319 else
7320 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
7321 for as_dir in $PATH
7322 do
7323 IFS=$as_save_IFS
7324 case $as_dir in #(((
7325 '') as_dir=./ ;;
7326 */) ;;
7327 *) as_dir=$as_dir/ ;;
7328 esac
7329 for ac_exec_ext in '' $ac_executable_extensions; do
7330 if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
7331 ac_cv_prog_GITLOG_TO_CHANGELOG="$ac_prog"
7332 printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
7333 break 2
7334 fi
7335 done
7336 done
7337 IFS=$as_save_IFS
7338
7339 fi
7340 fi
7341 GITLOG_TO_CHANGELOG=$ac_cv_prog_GITLOG_TO_CHANGELOG
7342 if test -n "$GITLOG_TO_CHANGELOG"; then
7343 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $GITLOG_TO_CHANGELOG" >&5
7344 printf "%s\n" "$GITLOG_TO_CHANGELOG" >&6; }
7345 else
7346 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
7347 printf "%s\n" "no" >&6; }
7348 fi
7349
7350
7351 test -n "$GITLOG_TO_CHANGELOG" && break
7352 done
7353 test -n "$GITLOG_TO_CHANGELOG" || GITLOG_TO_CHANGELOG="gitlog-to-changelog"
7354
7355
7356
7357
7358
7359
7360 VERSION_NUMBER=0x011001
7361
7362
7363 # We need to compile and run a program on the build machine. A
7364 # comment in libgpg-error says that the AC_PROG_CC_FOR_BUILD macro in
7365 # the AC archive is broken for autoconf 2.57. Given that there is no
7366 # newer version of that macro, we assume that it is also broken for
7367 # autoconf 2.61 and thus we use a simple but usually sufficient
7368 # approach.
7369 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for cc for build" >&5
7370 printf %s "checking for cc for build... " >&6; }
7371 if test "$cross_compiling" = "yes"; then
7372 CC_FOR_BUILD="${CC_FOR_BUILD-cc}"
7373 else
7374 CC_FOR_BUILD="${CC_FOR_BUILD-$CC}"
7375 fi
7376 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC_FOR_BUILD" >&5
7377 printf "%s\n" "$CC_FOR_BUILD" >&6; }
7378
7379
7380
7381 # Don't default to build static libs.
7382
7383 case `pwd` in
7384 *\ * | *\ *)
7385 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
7386 printf "%s\n" "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;;
7387 esac
7388
7389
7390
7391 macro_version='2.4.2'
7392 macro_revision='1.3337'
7393
7394
7395
7396
7397
7398
7399
7400
7401
7402
7403
7404
7405
7406
7407 ltmain="$ac_aux_dir/ltmain.sh"
7408
7409 # Backslashify metacharacters that are still active within
7410 # double-quoted strings.
7411 sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
7412
7413 # Same as above, but do not quote variable references.
7414 double_quote_subst='s/\(["`\\]\)/\\\1/g'
7415
7416 # Sed substitution to delay expansion of an escaped shell variable in a
7417 # double_quote_subst'ed string.
7418 delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
7419
7420 # Sed substitution to delay expansion of an escaped single quote.
7421 delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
7422
7423 # Sed substitution to avoid accidental globbing in evaled expressions
7424 no_glob_subst='s/\*/\\\*/g'
7425
7426 ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
7427 ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
7428 ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
7429
7430 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
7431 printf %s "checking how to print strings... " >&6; }
7432 # Test print first, because it will be a builtin if present.
7433 if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
7434 test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
7435 ECHO='print -r --'
7436 elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
7437 ECHO='printf %s\n'
7438 else
7439 # Use this function as a fallback that always works.
7440 func_fallback_echo ()
7441 {
7442 eval 'cat <<_LTECHO_EOF
7443 $1
7444 _LTECHO_EOF'
7445 }
7446 ECHO='func_fallback_echo'
7447 fi
7448
7449 # func_echo_all arg...
7450 # Invoke $ECHO with all args, space-separated.
7451 func_echo_all ()
7452 {
7453 $ECHO ""
7454 }
7455
7456 case "$ECHO" in
7457 printf*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: printf" >&5
7458 printf "%s\n" "printf" >&6; } ;;
7459 print*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: print -r" >&5
7460 printf "%s\n" "print -r" >&6; } ;;
7461 *) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: cat" >&5
7462 printf "%s\n" "cat" >&6; } ;;
7463 esac
7464
7465
7466
7467
7468
7469
7470
7471
7472
7473
7474
7475
7476
7477
7478 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
7479 printf %s "checking for a sed that does not truncate output... " >&6; }
7480 if test ${ac_cv_path_SED+y}
7481 then :
7482 printf %s "(cached) " >&6
7483 else $as_nop
7484 ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
7485 for ac_i in 1 2 3 4 5 6 7; do
7486 ac_script="$ac_script$as_nl$ac_script"
7487 done
7488 echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
7489 { ac_script=; unset ac_script;}
7490 if test -z "$SED"; then
7491 ac_path_SED_found=false
7492 # Loop through the user's path and test for each of PROGNAME-LIST
7493 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
7494 for as_dir in $PATH
7495 do
7496 IFS=$as_save_IFS
7497 case $as_dir in #(((
7498 '') as_dir=./ ;;
7499 */) ;;
7500 *) as_dir=$as_dir/ ;;
7501 esac
7502 for ac_prog in sed gsed
7503 do
7504 for ac_exec_ext in '' $ac_executable_extensions; do
7505 ac_path_SED="$as_dir$ac_prog$ac_exec_ext"
7506 as_fn_executable_p "$ac_path_SED" || continue
7507 # Check for GNU ac_path_SED and select it if it is found.
7508 # Check for GNU $ac_path_SED
7509 case `"$ac_path_SED" --version 2>&1` in
7510 *GNU*)
7511 ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
7512 *)
7513 ac_count=0
7514 printf %s 0123456789 >"conftest.in"
7515 while :
7516 do
7517 cat "conftest.in" "conftest.in" >"conftest.tmp"
7518 mv "conftest.tmp" "conftest.in"
7519 cp "conftest.in" "conftest.nl"
7520 printf "%s\n" '' >> "conftest.nl"
7521 "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
7522 diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
7523 as_fn_arith $ac_count + 1 && ac_count=$as_val
7524 if test $ac_count -gt ${ac_path_SED_max-0}; then
7525 # Best one so far, save it but keep looking for a better one
7526 ac_cv_path_SED="$ac_path_SED"
7527 ac_path_SED_max=$ac_count
7528 fi
7529 # 10*(2^10) chars as input seems more than enough
7530 test $ac_count -gt 10 && break
7531 done
7532 rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
7533 esac
7534
7535 $ac_path_SED_found && break 3
7536 done
7537 done
7538 done
7539 IFS=$as_save_IFS
7540 if test -z "$ac_cv_path_SED"; then
7541 as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
7542 fi
7543 else
7544 ac_cv_path_SED=$SED
7545 fi
7546
7547 fi
7548 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5
7549 printf "%s\n" "$ac_cv_path_SED" >&6; }
7550 SED="$ac_cv_path_SED"
7551 rm -f conftest.sed
7552
7553 test -z "$SED" && SED=sed
7554 Xsed="$SED -e 1s/^X//"
7555
7556
7557
7558
7559
7560
7561
7562
7563
7564
7565
7566 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
7567 printf %s "checking for grep that handles long lines and -e... " >&6; }
7568 if test ${ac_cv_path_GREP+y}
7569 then :
7570 printf %s "(cached) " >&6
7571 else $as_nop
7572 if test -z "$GREP"; then
7573 ac_path_GREP_found=false
7574 # Loop through the user's path and test for each of PROGNAME-LIST
7575 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
7576 for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
7577 do
7578 IFS=$as_save_IFS
7579 case $as_dir in #(((
7580 '') as_dir=./ ;;
7581 */) ;;
7582 *) as_dir=$as_dir/ ;;
7583 esac
7584 for ac_prog in grep ggrep
7585 do
7586 for ac_exec_ext in '' $ac_executable_extensions; do
7587 ac_path_GREP="$as_dir$ac_prog$ac_exec_ext"
7588 as_fn_executable_p "$ac_path_GREP" || continue
7589 # Check for GNU ac_path_GREP and select it if it is found.
7590 # Check for GNU $ac_path_GREP
7591 case `"$ac_path_GREP" --version 2>&1` in
7592 *GNU*)
7593 ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
7594 *)
7595 ac_count=0
7596 printf %s 0123456789 >"conftest.in"
7597 while :
7598 do
7599 cat "conftest.in" "conftest.in" >"conftest.tmp"
7600 mv "conftest.tmp" "conftest.in"
7601 cp "conftest.in" "conftest.nl"
7602 printf "%s\n" 'GREP' >> "conftest.nl"
7603 "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
7604 diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
7605 as_fn_arith $ac_count + 1 && ac_count=$as_val
7606 if test $ac_count -gt ${ac_path_GREP_max-0}; then
7607 # Best one so far, save it but keep looking for a better one
7608 ac_cv_path_GREP="$ac_path_GREP"
7609 ac_path_GREP_max=$ac_count
7610 fi
7611 # 10*(2^10) chars as input seems more than enough
7612 test $ac_count -gt 10 && break
7613 done
7614 rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
7615 esac
7616
7617 $ac_path_GREP_found && break 3
7618 done
7619 done
7620 done
7621 IFS=$as_save_IFS
7622 if test -z "$ac_cv_path_GREP"; then
7623 as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
7624 fi
7625 else
7626 ac_cv_path_GREP=$GREP
7627 fi
7628
7629 fi
7630 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
7631 printf "%s\n" "$ac_cv_path_GREP" >&6; }
7632 GREP="$ac_cv_path_GREP"
7633
7634
7635 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
7636 printf %s "checking for egrep... " >&6; }
7637 if test ${ac_cv_path_EGREP+y}
7638 then :
7639 printf %s "(cached) " >&6
7640 else $as_nop
7641 if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
7642 then ac_cv_path_EGREP="$GREP -E"
7643 else
7644 if test -z "$EGREP"; then
7645 ac_path_EGREP_found=false
7646 # Loop through the user's path and test for each of PROGNAME-LIST
7647 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
7648 for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
7649 do
7650 IFS=$as_save_IFS
7651 case $as_dir in #(((
7652 '') as_dir=./ ;;
7653 */) ;;
7654 *) as_dir=$as_dir/ ;;
7655 esac
7656 for ac_prog in egrep
7657 do
7658 for ac_exec_ext in '' $ac_executable_extensions; do
7659 ac_path_EGREP="$as_dir$ac_prog$ac_exec_ext"
7660 as_fn_executable_p "$ac_path_EGREP" || continue
7661 # Check for GNU ac_path_EGREP and select it if it is found.
7662 # Check for GNU $ac_path_EGREP
7663 case `"$ac_path_EGREP" --version 2>&1` in
7664 *GNU*)
7665 ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
7666 *)
7667 ac_count=0
7668 printf %s 0123456789 >"conftest.in"
7669 while :
7670 do
7671 cat "conftest.in" "conftest.in" >"conftest.tmp"
7672 mv "conftest.tmp" "conftest.in"
7673 cp "conftest.in" "conftest.nl"
7674 printf "%s\n" 'EGREP' >> "conftest.nl"
7675 "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
7676 diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
7677 as_fn_arith $ac_count + 1 && ac_count=$as_val
7678 if test $ac_count -gt ${ac_path_EGREP_max-0}; then
7679 # Best one so far, save it but keep looking for a better one
7680 ac_cv_path_EGREP="$ac_path_EGREP"
7681 ac_path_EGREP_max=$ac_count
7682 fi
7683 # 10*(2^10) chars as input seems more than enough
7684 test $ac_count -gt 10 && break
7685 done
7686 rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
7687 esac
7688
7689 $ac_path_EGREP_found && break 3
7690 done
7691 done
7692 done
7693 IFS=$as_save_IFS
7694 if test -z "$ac_cv_path_EGREP"; then
7695 as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
7696 fi
7697 else
7698 ac_cv_path_EGREP=$EGREP
7699 fi
7700
7701 fi
7702 fi
7703 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
7704 printf "%s\n" "$ac_cv_path_EGREP" >&6; }
7705 EGREP="$ac_cv_path_EGREP"
7706
7707
7708 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
7709 printf %s "checking for fgrep... " >&6; }
7710 if test ${ac_cv_path_FGREP+y}
7711 then :
7712 printf %s "(cached) " >&6
7713 else $as_nop
7714 if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
7715 then ac_cv_path_FGREP="$GREP -F"
7716 else
7717 if test -z "$FGREP"; then
7718 ac_path_FGREP_found=false
7719 # Loop through the user's path and test for each of PROGNAME-LIST
7720 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
7721 for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
7722 do
7723 IFS=$as_save_IFS
7724 case $as_dir in #(((
7725 '') as_dir=./ ;;
7726 */) ;;
7727 *) as_dir=$as_dir/ ;;
7728 esac
7729 for ac_prog in fgrep
7730 do
7731 for ac_exec_ext in '' $ac_executable_extensions; do
7732 ac_path_FGREP="$as_dir$ac_prog$ac_exec_ext"
7733 as_fn_executable_p "$ac_path_FGREP" || continue
7734 # Check for GNU ac_path_FGREP and select it if it is found.
7735 # Check for GNU $ac_path_FGREP
7736 case `"$ac_path_FGREP" --version 2>&1` in
7737 *GNU*)
7738 ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;;
7739 *)
7740 ac_count=0
7741 printf %s 0123456789 >"conftest.in"
7742 while :
7743 do
7744 cat "conftest.in" "conftest.in" >"conftest.tmp"
7745 mv "conftest.tmp" "conftest.in"
7746 cp "conftest.in" "conftest.nl"
7747 printf "%s\n" 'FGREP' >> "conftest.nl"
7748 "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break
7749 diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
7750 as_fn_arith $ac_count + 1 && ac_count=$as_val
7751 if test $ac_count -gt ${ac_path_FGREP_max-0}; then
7752 # Best one so far, save it but keep looking for a better one
7753 ac_cv_path_FGREP="$ac_path_FGREP"
7754 ac_path_FGREP_max=$ac_count
7755 fi
7756 # 10*(2^10) chars as input seems more than enough
7757 test $ac_count -gt 10 && break
7758 done
7759 rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
7760 esac
7761
7762 $ac_path_FGREP_found && break 3
7763 done
7764 done
7765 done
7766 IFS=$as_save_IFS
7767 if test -z "$ac_cv_path_FGREP"; then
7768 as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
7769 fi
7770 else
7771 ac_cv_path_FGREP=$FGREP
7772 fi
7773
7774 fi
7775 fi
7776 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5
7777 printf "%s\n" "$ac_cv_path_FGREP" >&6; }
7778 FGREP="$ac_cv_path_FGREP"
7779
7780
7781 test -z "$GREP" && GREP=grep
7782
7783
7784
7785
7786
7787
7788
7789
7790
7791
7792
7793
7794
7795
7796
7797
7798
7799
7800
7801 # Check whether --with-gnu-ld was given.
7802 if test ${with_gnu_ld+y}
7803 then :
7804 withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
7805 else $as_nop
7806 with_gnu_ld=no
7807 fi
7808
7809 ac_prog=ld
7810 if test "$GCC" = yes; then
7811 # Check if gcc -print-prog-name=ld gives a path.
7812 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
7813 printf %s "checking for ld used by $CC... " >&6; }
7814 case $host in
7815 *-*-mingw*)
7816 # gcc leaves a trailing carriage return which upsets mingw
7817 ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
7818 *)
7819 ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
7820 esac
7821 case $ac_prog in
7822 # Accept absolute paths.
7823 [\\/]* | ?:[\\/]*)
7824 re_direlt='/[^/][^/]*/\.\./'
7825 # Canonicalize the pathname of ld
7826 ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
7827 while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
7828 ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
7829 done
7830 test -z "$LD" && LD="$ac_prog"
7831 ;;
7832 "")
7833 # If it fails, then pretend we aren't using GCC.
7834 ac_prog=ld
7835 ;;
7836 *)
7837 # If it is relative, then search for the first ld in PATH.
7838 with_gnu_ld=unknown
7839 ;;
7840 esac
7841 elif test "$with_gnu_ld" = yes; then
7842 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
7843 printf %s "checking for GNU ld... " >&6; }
7844 else
7845 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
7846 printf %s "checking for non-GNU ld... " >&6; }
7847 fi
7848 if test ${lt_cv_path_LD+y}
7849 then :
7850 printf %s "(cached) " >&6
7851 else $as_nop
7852 if test -z "$LD"; then
7853 lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
7854 for ac_dir in $PATH; do
7855 IFS="$lt_save_ifs"
7856 test -z "$ac_dir" && ac_dir=.
7857 if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
7858 lt_cv_path_LD="$ac_dir/$ac_prog"
7859 # Check to see if the program is GNU ld. I'd rather use --version,
7860 # but apparently some variants of GNU ld only accept -v.
7861 # Break only if it was the GNU/non-GNU ld that we prefer.
7862 case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
7863 *GNU* | *'with BFD'*)
7864 test "$with_gnu_ld" != no && break
7865 ;;
7866 *)
7867 test "$with_gnu_ld" != yes && break
7868 ;;
7869 esac
7870 fi
7871 done
7872 IFS="$lt_save_ifs"
7873 else
7874 lt_cv_path_LD="$LD" # Let the user override the test with a path.
7875 fi
7876 fi
7877
7878 LD="$lt_cv_path_LD"
7879 if test -n "$LD"; then
7880 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
7881 printf "%s\n" "$LD" >&6; }
7882 else
7883 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
7884 printf "%s\n" "no" >&6; }
7885 fi
7886 test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
7887 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
7888 printf %s "checking if the linker ($LD) is GNU ld... " >&6; }
7889 if test ${lt_cv_prog_gnu_ld+y}
7890 then :
7891 printf %s "(cached) " >&6
7892 else $as_nop
7893 # I'd rather use --version here, but apparently some GNU lds only accept -v.
7894 case `$LD -v 2>&1 </dev/null` in
7895 *GNU* | *'with BFD'*)
7896 lt_cv_prog_gnu_ld=yes
7897 ;;
7898 *)
7899 lt_cv_prog_gnu_ld=no
7900 ;;
7901 esac
7902 fi
7903 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5
7904 printf "%s\n" "$lt_cv_prog_gnu_ld" >&6; }
7905 with_gnu_ld=$lt_cv_prog_gnu_ld
7906
7907
7908
7909
7910
7911
7912
7913
7914
7915 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
7916 printf %s "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
7917 if test ${lt_cv_path_NM+y}
7918 then :
7919 printf %s "(cached) " >&6
7920 else $as_nop
7921 if test -n "$NM"; then
7922 # Let the user override the test.
7923 lt_cv_path_NM="$NM"
7924 else
7925 lt_nm_to_check="${ac_tool_prefix}nm"
7926 if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
7927 lt_nm_to_check="$lt_nm_to_check nm"
7928 fi
7929 for lt_tmp_nm in $lt_nm_to_check; do
7930 lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
7931 for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
7932 IFS="$lt_save_ifs"
7933 test -z "$ac_dir" && ac_dir=.
7934 tmp_nm="$ac_dir/$lt_tmp_nm"
7935 if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
7936 # Check to see if the nm accepts a BSD-compat flag.
7937 # Adding the `sed 1q' prevents false positives on HP-UX, which says:
7938 # nm: unknown option "B" ignored
7939 # Tru64's nm complains that /dev/null is an invalid object file
7940 case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
7941 */dev/null* | *'Invalid file or object type'*)
7942 lt_cv_path_NM="$tmp_nm -B"
7943 break
7944 ;;
7945 *)
7946 case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
7947 */dev/null*)
7948 lt_cv_path_NM="$tmp_nm -p"
7949 break
7950 ;;
7951 *)
7952 lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
7953 continue # so that we can try to find one that supports BSD flags
7954 ;;
7955 esac
7956 ;;
7957 esac
7958 fi
7959 done
7960 IFS="$lt_save_ifs"
7961 done
7962 : ${lt_cv_path_NM=no}
7963 fi
7964 fi
7965 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5
7966 printf "%s\n" "$lt_cv_path_NM" >&6; }
7967 if test "$lt_cv_path_NM" != "no"; then
7968 NM="$lt_cv_path_NM"
7969 else
7970 # Didn't find any BSD compatible name lister, look for dumpbin.
7971 if test -n "$DUMPBIN"; then :
7972 # Let the user override the test.
7973 else
7974 if test -n "$ac_tool_prefix"; then
7975 for ac_prog in dumpbin "link -dump"
7976 do
7977 # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
7978 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
7979 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
7980 printf %s "checking for $ac_word... " >&6; }
7981 if test ${ac_cv_prog_DUMPBIN+y}
7982 then :
7983 printf %s "(cached) " >&6
7984 else $as_nop
7985 if test -n "$DUMPBIN"; then
7986 ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test.
7987 else
7988 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
7989 for as_dir in $PATH
7990 do
7991 IFS=$as_save_IFS
7992 case $as_dir in #(((
7993 '') as_dir=./ ;;
7994 */) ;;
7995 *) as_dir=$as_dir/ ;;
7996 esac
7997 for ac_exec_ext in '' $ac_executable_extensions; do
7998 if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
7999 ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
8000 printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
8001 break 2
8002 fi
8003 done
8004 done
8005 IFS=$as_save_IFS
8006
8007 fi
8008 fi
8009 DUMPBIN=$ac_cv_prog_DUMPBIN
8010 if test -n "$DUMPBIN"; then
8011 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5
8012 printf "%s\n" "$DUMPBIN" >&6; }
8013 else
8014 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
8015 printf "%s\n" "no" >&6; }
8016 fi
8017
8018
8019 test -n "$DUMPBIN" && break
8020 done
8021 fi
8022 if test -z "$DUMPBIN"; then
8023 ac_ct_DUMPBIN=$DUMPBIN
8024 for ac_prog in dumpbin "link -dump"
8025 do
8026 # Extract the first word of "$ac_prog", so it can be a program name with args.
8027 set dummy $ac_prog; ac_word=$2
8028 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
8029 printf %s "checking for $ac_word... " >&6; }
8030 if test ${ac_cv_prog_ac_ct_DUMPBIN+y}
8031 then :
8032 printf %s "(cached) " >&6
8033 else $as_nop
8034 if test -n "$ac_ct_DUMPBIN"; then
8035 ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test.
8036 else
8037 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
8038 for as_dir in $PATH
8039 do
8040 IFS=$as_save_IFS
8041 case $as_dir in #(((
8042 '') as_dir=./ ;;
8043 */) ;;
8044 *) as_dir=$as_dir/ ;;
8045 esac
8046 for ac_exec_ext in '' $ac_executable_extensions; do
8047 if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
8048 ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
8049 printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
8050 break 2
8051 fi
8052 done
8053 done
8054 IFS=$as_save_IFS
8055
8056 fi
8057 fi
8058 ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN
8059 if test -n "$ac_ct_DUMPBIN"; then
8060 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5
8061 printf "%s\n" "$ac_ct_DUMPBIN" >&6; }
8062 else
8063 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
8064 printf "%s\n" "no" >&6; }
8065 fi
8066
8067
8068 test -n "$ac_ct_DUMPBIN" && break
8069 done
8070
8071 if test "x$ac_ct_DUMPBIN" = x; then
8072 DUMPBIN=":"
8073 else
8074 case $cross_compiling:$ac_tool_warned in
8075 yes:)
8076 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
8077 printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
8078 ac_tool_warned=yes ;;
8079 esac
8080 DUMPBIN=$ac_ct_DUMPBIN
8081 fi
8082 fi
8083
8084 case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in
8085 *COFF*)
8086 DUMPBIN="$DUMPBIN -symbols"
8087 ;;
8088 *)
8089 DUMPBIN=:
8090 ;;
8091 esac
8092 fi
8093
8094 if test "$DUMPBIN" != ":"; then
8095 NM="$DUMPBIN"
8096 fi
8097 fi
8098 test -z "$NM" && NM=nm
8099
8100
8101
8102
8103
8104
8105 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
8106 printf %s "checking the name lister ($NM) interface... " >&6; }
8107 if test ${lt_cv_nm_interface+y}
8108 then :
8109 printf %s "(cached) " >&6
8110 else $as_nop
8111 lt_cv_nm_interface="BSD nm"
8112 echo "int some_variable = 0;" > conftest.$ac_ext
8113 (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5)
8114 (eval "$ac_compile" 2>conftest.err)
8115 cat conftest.err >&5
8116 (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
8117 (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
8118 cat conftest.err >&5
8119 (eval echo "\"\$as_me:$LINENO: output\"" >&5)
8120 cat conftest.out >&5
8121 if $GREP 'External.*some_variable' conftest.out > /dev/null; then
8122 lt_cv_nm_interface="MS dumpbin"
8123 fi
8124 rm -f conftest*
8125 fi
8126 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5
8127 printf "%s\n" "$lt_cv_nm_interface" >&6; }
8128
8129 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5
8130 printf %s "checking whether ln -s works... " >&6; }
8131 LN_S=$as_ln_s
8132 if test "$LN_S" = "ln -s"; then
8133 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
8134 printf "%s\n" "yes" >&6; }
8135 else
8136 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5
8137 printf "%s\n" "no, using $LN_S" >&6; }
8138 fi
8139
8140 # find the maximum length of command line arguments
8141 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
8142 printf %s "checking the maximum length of command line arguments... " >&6; }
8143 if test ${lt_cv_sys_max_cmd_len+y}
8144 then :
8145 printf %s "(cached) " >&6
8146 else $as_nop
8147 i=0
8148 teststring="ABCD"
8149
8150 case $build_os in
8151 msdosdjgpp*)
8152 # On DJGPP, this test can blow up pretty badly due to problems in libc
8153 # (any single argument exceeding 2000 bytes causes a buffer overrun
8154 # during glob expansion). Even if it were fixed, the result of this
8155 # check would be larger than it should be.
8156 lt_cv_sys_max_cmd_len=12288; # 12K is about right
8157 ;;
8158
8159 gnu*)
8160 # Under GNU Hurd, this test is not required because there is
8161 # no limit to the length of command line arguments.
8162 # Libtool will interpret -1 as no limit whatsoever
8163 lt_cv_sys_max_cmd_len=-1;
8164 ;;
8165
8166 cygwin* | mingw* | cegcc*)
8167 # On Win9x/ME, this test blows up -- it succeeds, but takes
8168 # about 5 minutes as the teststring grows exponentially.
8169 # Worse, since 9x/ME are not pre-emptively multitasking,
8170 # you end up with a "frozen" computer, even though with patience
8171 # the test eventually succeeds (with a max line length of 256k).
8172 # Instead, let's just punt: use the minimum linelength reported by
8173 # all of the supported platforms: 8192 (on NT/2K/XP).
8174 lt_cv_sys_max_cmd_len=8192;
8175 ;;
8176
8177 mint*)
8178 # On MiNT this can take a long time and run out of memory.
8179 lt_cv_sys_max_cmd_len=8192;
8180 ;;
8181
8182 amigaos*)
8183 # On AmigaOS with pdksh, this test takes hours, literally.
8184 # So we just punt and use a minimum line length of 8192.
8185 lt_cv_sys_max_cmd_len=8192;
8186 ;;
8187
8188 netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
8189 # This has been around since 386BSD, at least. Likely further.
8190 if test -x /sbin/sysctl; then
8191 lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
8192 elif test -x /usr/sbin/sysctl; then
8193 lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
8194 else
8195 lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
8196 fi
8197 # And add a safety zone
8198 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
8199 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
8200 ;;
8201
8202 interix*)
8203 # We know the value 262144 and hardcode it with a safety zone (like BSD)
8204 lt_cv_sys_max_cmd_len=196608
8205 ;;
8206
8207 os2*)
8208 # The test takes a long time on OS/2.
8209 lt_cv_sys_max_cmd_len=8192
8210 ;;
8211
8212 osf*)
8213 # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
8214 # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
8215 # nice to cause kernel panics so lets avoid the loop below.
8216 # First set a reasonable default.
8217 lt_cv_sys_max_cmd_len=16384
8218 #
8219 if test -x /sbin/sysconfig; then
8220 case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
8221 *1*) lt_cv_sys_max_cmd_len=-1 ;;
8222 esac
8223 fi
8224 ;;
8225 sco3.2v5*)
8226 lt_cv_sys_max_cmd_len=102400
8227 ;;
8228 sysv5* | sco5v6* | sysv4.2uw2*)
8229 kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
8230 if test -n "$kargmax"; then
8231 lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'`
8232 else
8233 lt_cv_sys_max_cmd_len=32768
8234 fi
8235 ;;
8236 *)
8237 lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
8238 if test -n "$lt_cv_sys_max_cmd_len"; then
8239 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
8240 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
8241 else
8242 # Make teststring a little bigger before we do anything with it.
8243 # a 1K string should be a reasonable start.
8244 for i in 1 2 3 4 5 6 7 8 ; do
8245 teststring=$teststring$teststring
8246 done
8247 SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
8248 # If test is not a shell built-in, we'll probably end up computing a
8249 # maximum length that is only half of the actual maximum length, but
8250 # we can't tell.
8251 while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \
8252 = "X$teststring$teststring"; } >/dev/null 2>&1 &&
8253 test $i != 17 # 1/2 MB should be enough
8254 do
8255 i=`expr $i + 1`
8256 teststring=$teststring$teststring
8257 done
8258 # Only check the string length outside the loop.
8259 lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
8260 teststring=
8261 # Add a significant safety factor because C++ compilers can tack on
8262 # massive amounts of additional arguments before passing them to the
8263 # linker. It appears as though 1/2 is a usable value.
8264 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
8265 fi
8266 ;;
8267 esac
8268
8269 fi
8270
8271 if test -n $lt_cv_sys_max_cmd_len ; then
8272 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5
8273 printf "%s\n" "$lt_cv_sys_max_cmd_len" >&6; }
8274 else
8275 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none" >&5
8276 printf "%s\n" "none" >&6; }
8277 fi
8278 max_cmd_len=$lt_cv_sys_max_cmd_len
8279
8280
8281
8282
8283
8284
8285 : ${CP="cp -f"}
8286 : ${MV="mv -f"}
8287 : ${RM="rm -f"}
8288
8289 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the shell understands some XSI constructs" >&5
8290 printf %s "checking whether the shell understands some XSI constructs... " >&6; }
8291 # Try some XSI features
8292 xsi_shell=no
8293 ( _lt_dummy="a/b/c"
8294 test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \
8295 = c,a/b,b/c, \
8296 && eval 'test $(( 1 + 1 )) -eq 2 \
8297 && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
8298 && xsi_shell=yes
8299 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $xsi_shell" >&5
8300 printf "%s\n" "$xsi_shell" >&6; }
8301
8302
8303 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the shell understands \"+=\"" >&5
8304 printf %s "checking whether the shell understands \"+=\"... " >&6; }
8305 lt_shell_append=no
8306 ( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \
8307 >/dev/null 2>&1 \
8308 && lt_shell_append=yes
8309 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_shell_append" >&5
8310 printf "%s\n" "$lt_shell_append" >&6; }
8311
8312
8313 if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
8314 lt_unset=unset
8315 else
8316 lt_unset=false
8317 fi
8318
8319
8320
8321
8322
8323 # test EBCDIC or ASCII
8324 case `echo X|tr X '\101'` in
8325 A) # ASCII based system
8326 # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
8327 lt_SP2NL='tr \040 \012'
8328 lt_NL2SP='tr \015\012 \040\040'
8329 ;;
8330 *) # EBCDIC based system
8331 lt_SP2NL='tr \100 \n'
8332 lt_NL2SP='tr \r\n \100\100'
8333 ;;
8334 esac
8335
8336
8337
8338
8339
8340
8341
8342
8343
8344 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5
8345 printf %s "checking how to convert $build file names to $host format... " >&6; }
8346 if test ${lt_cv_to_host_file_cmd+y}
8347 then :
8348 printf %s "(cached) " >&6
8349 else $as_nop
8350 case $host in
8351 *-*-mingw* )
8352 case $build in
8353 *-*-mingw* ) # actually msys
8354 lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
8355 ;;
8356 *-*-cygwin* )
8357 lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
8358 ;;
8359 * ) # otherwise, assume *nix
8360 lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
8361 ;;
8362 esac
8363 ;;
8364 *-*-cygwin* )
8365 case $build in
8366 *-*-mingw* ) # actually msys
8367 lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
8368 ;;
8369 *-*-cygwin* )
8370 lt_cv_to_host_file_cmd=func_convert_file_noop
8371 ;;
8372 * ) # otherwise, assume *nix
8373 lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
8374 ;;
8375 esac
8376 ;;
8377 * ) # unhandled hosts (and "normal" native builds)
8378 lt_cv_to_host_file_cmd=func_convert_file_noop
8379 ;;
8380 esac
8381
8382 fi
8383
8384 to_host_file_cmd=$lt_cv_to_host_file_cmd
8385 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5
8386 printf "%s\n" "$lt_cv_to_host_file_cmd" >&6; }
8387
8388
8389
8390
8391
8392 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5
8393 printf %s "checking how to convert $build file names to toolchain format... " >&6; }
8394 if test ${lt_cv_to_tool_file_cmd+y}
8395 then :
8396 printf %s "(cached) " >&6
8397 else $as_nop
8398 #assume ordinary cross tools, or native build.
8399 lt_cv_to_tool_file_cmd=func_convert_file_noop
8400 case $host in
8401 *-*-mingw* )
8402 case $build in
8403 *-*-mingw* ) # actually msys
8404 lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
8405 ;;
8406 esac
8407 ;;
8408 esac
8409
8410 fi
8411
8412 to_tool_file_cmd=$lt_cv_to_tool_file_cmd
8413 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5
8414 printf "%s\n" "$lt_cv_to_tool_file_cmd" >&6; }
8415
8416
8417
8418
8419
8420 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
8421 printf %s "checking for $LD option to reload object files... " >&6; }
8422 if test ${lt_cv_ld_reload_flag+y}
8423 then :
8424 printf %s "(cached) " >&6
8425 else $as_nop
8426 lt_cv_ld_reload_flag='-r'
8427 fi
8428 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5
8429 printf "%s\n" "$lt_cv_ld_reload_flag" >&6; }
8430 reload_flag=$lt_cv_ld_reload_flag
8431 case $reload_flag in
8432 "" | " "*) ;;
8433 *) reload_flag=" $reload_flag" ;;
8434 esac
8435 reload_cmds='$LD$reload_flag -o $output$reload_objs'
8436 case $host_os in
8437 cygwin* | mingw* | pw32* | cegcc*)
8438 if test "$GCC" != yes; then
8439 reload_cmds=false
8440 fi
8441 ;;
8442 darwin*)
8443 if test "$GCC" = yes; then
8444 reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
8445 else
8446 reload_cmds='$LD$reload_flag -o $output$reload_objs'
8447 fi
8448 ;;
8449 esac
8450
8451
8452
8453
8454
8455
8456
8457
8458
8459 if test -n "$ac_tool_prefix"; then
8460 # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
8461 set dummy ${ac_tool_prefix}objdump; ac_word=$2
8462 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
8463 printf %s "checking for $ac_word... " >&6; }
8464 if test ${ac_cv_prog_OBJDUMP+y}
8465 then :
8466 printf %s "(cached) " >&6
8467 else $as_nop
8468 if test -n "$OBJDUMP"; then
8469 ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
8470 else
8471 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
8472 for as_dir in $PATH
8473 do
8474 IFS=$as_save_IFS
8475 case $as_dir in #(((
8476 '') as_dir=./ ;;
8477 */) ;;
8478 *) as_dir=$as_dir/ ;;
8479 esac
8480 for ac_exec_ext in '' $ac_executable_extensions; do
8481 if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
8482 ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
8483 printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
8484 break 2
8485 fi
8486 done
8487 done
8488 IFS=$as_save_IFS
8489
8490 fi
8491 fi
8492 OBJDUMP=$ac_cv_prog_OBJDUMP
8493 if test -n "$OBJDUMP"; then
8494 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5
8495 printf "%s\n" "$OBJDUMP" >&6; }
8496 else
8497 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
8498 printf "%s\n" "no" >&6; }
8499 fi
8500
8501
8502 fi
8503 if test -z "$ac_cv_prog_OBJDUMP"; then
8504 ac_ct_OBJDUMP=$OBJDUMP
8505 # Extract the first word of "objdump", so it can be a program name with args.
8506 set dummy objdump; ac_word=$2
8507 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
8508 printf %s "checking for $ac_word... " >&6; }
8509 if test ${ac_cv_prog_ac_ct_OBJDUMP+y}
8510 then :
8511 printf %s "(cached) " >&6
8512 else $as_nop
8513 if test -n "$ac_ct_OBJDUMP"; then
8514 ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
8515 else
8516 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
8517 for as_dir in $PATH
8518 do
8519 IFS=$as_save_IFS
8520 case $as_dir in #(((
8521 '') as_dir=./ ;;
8522 */) ;;
8523 *) as_dir=$as_dir/ ;;
8524 esac
8525 for ac_exec_ext in '' $ac_executable_extensions; do
8526 if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
8527 ac_cv_prog_ac_ct_OBJDUMP="objdump"
8528 printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
8529 break 2
8530 fi
8531 done
8532 done
8533 IFS=$as_save_IFS
8534
8535 fi
8536 fi
8537 ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
8538 if test -n "$ac_ct_OBJDUMP"; then
8539 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5
8540 printf "%s\n" "$ac_ct_OBJDUMP" >&6; }
8541 else
8542 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
8543 printf "%s\n" "no" >&6; }
8544 fi
8545
8546 if test "x$ac_ct_OBJDUMP" = x; then
8547 OBJDUMP="false"
8548 else
8549 case $cross_compiling:$ac_tool_warned in
8550 yes:)
8551 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
8552 printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
8553 ac_tool_warned=yes ;;
8554 esac
8555 OBJDUMP=$ac_ct_OBJDUMP
8556 fi
8557 else
8558 OBJDUMP="$ac_cv_prog_OBJDUMP"
8559 fi
8560
8561 test -z "$OBJDUMP" && OBJDUMP=objdump
8562
8563
8564
8565
8566
8567
8568 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
8569 printf %s "checking how to recognize dependent libraries... " >&6; }
8570 if test ${lt_cv_deplibs_check_method+y}
8571 then :
8572 printf %s "(cached) " >&6
8573 else $as_nop
8574 lt_cv_file_magic_cmd='$MAGIC_CMD'
8575 lt_cv_file_magic_test_file=
8576 lt_cv_deplibs_check_method='unknown'
8577 # Need to set the preceding variable on all platforms that support
8578 # interlibrary dependencies.
8579 # 'none' -- dependencies not supported.
8580 # `unknown' -- same as none, but documents that we really don't know.
8581 # 'pass_all' -- all dependencies passed with no checks.
8582 # 'test_compile' -- check by making test program.
8583 # 'file_magic [[regex]]' -- check by looking for files in library path
8584 # which responds to the $file_magic_cmd with a given extended regex.
8585 # If you have `file' or equivalent on your system and you're not sure
8586 # whether `pass_all' will *always* work, you probably want this one.
8587
8588 case $host_os in
8589 aix[4-9]*)
8590 lt_cv_deplibs_check_method=pass_all
8591 ;;
8592
8593 beos*)
8594 lt_cv_deplibs_check_method=pass_all
8595 ;;
8596
8597 bsdi[45]*)
8598 lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
8599 lt_cv_file_magic_cmd='/usr/bin/file -L'
8600 lt_cv_file_magic_test_file=/shlib/libc.so
8601 ;;
8602
8603 cygwin*)
8604 # func_win32_libid is a shell function defined in ltmain.sh
8605 lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
8606 lt_cv_file_magic_cmd='func_win32_libid'
8607 ;;
8608
8609 mingw* | pw32*)
8610 # Base MSYS/MinGW do not provide the 'file' command needed by
8611 # func_win32_libid shell function, so use a weaker test based on 'objdump',
8612 # unless we find 'file', for example because we are cross-compiling.
8613 # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin.
8614 if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then
8615 lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
8616 lt_cv_file_magic_cmd='func_win32_libid'
8617 else
8618 # Keep this pattern in sync with the one in func_win32_libid.
8619 lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
8620 lt_cv_file_magic_cmd='$OBJDUMP -f'
8621 fi
8622 ;;
8623
8624 cegcc*)
8625 # use the weaker test based on 'objdump'. See mingw*.
8626 lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
8627 lt_cv_file_magic_cmd='$OBJDUMP -f'
8628 ;;
8629
8630 darwin* | rhapsody*)
8631 lt_cv_deplibs_check_method=pass_all
8632 ;;
8633
8634 freebsd* | dragonfly*)
8635 if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
8636 case $host_cpu in
8637 i*86 )
8638 # Not sure whether the presence of OpenBSD here was a mistake.
8639 # Let's accept both of them until this is cleared up.
8640 lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library'
8641 lt_cv_file_magic_cmd=/usr/bin/file
8642 lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
8643 ;;
8644 esac
8645 else
8646 lt_cv_deplibs_check_method=pass_all
8647 fi
8648 ;;
8649
8650 gnu*)
8651 lt_cv_deplibs_check_method=pass_all
8652 ;;
8653
8654 haiku*)
8655 lt_cv_deplibs_check_method=pass_all
8656 ;;
8657
8658 hpux10.20* | hpux11*)
8659 lt_cv_file_magic_cmd=/usr/bin/file
8660 case $host_cpu in
8661 ia64*)
8662 lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
8663 lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
8664 ;;
8665 hppa*64*)
8666 lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'
8667 lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
8668 ;;
8669 *)
8670 lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library'
8671 lt_cv_file_magic_test_file=/usr/lib/libc.sl
8672 ;;
8673 esac
8674 ;;
8675
8676 interix[3-9]*)
8677 # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
8678 lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'
8679 ;;
8680
8681 irix5* | irix6* | nonstopux*)
8682 case $LD in
8683 *-32|*"-32 ") libmagic=32-bit;;
8684 *-n32|*"-n32 ") libmagic=N32;;
8685 *-64|*"-64 ") libmagic=64-bit;;
8686 *) libmagic=never-match;;
8687 esac
8688 lt_cv_deplibs_check_method=pass_all
8689 ;;
8690
8691 # This must be glibc/ELF.
8692 linux* | k*bsd*-gnu | kopensolaris*-gnu)
8693 lt_cv_deplibs_check_method=pass_all
8694 ;;
8695
8696 netbsd* | netbsdelf*-gnu)
8697 if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
8698 lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
8699 else
8700 lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'
8701 fi
8702 ;;
8703
8704 newos6*)
8705 lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
8706 lt_cv_file_magic_cmd=/usr/bin/file
8707 lt_cv_file_magic_test_file=/usr/lib/libnls.so
8708 ;;
8709
8710 *nto* | *qnx*)
8711 lt_cv_deplibs_check_method=pass_all
8712 ;;
8713
8714 openbsd*)
8715 if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
8716 lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
8717 else
8718 lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
8719 fi
8720 ;;
8721
8722 osf3* | osf4* | osf5*)
8723 lt_cv_deplibs_check_method=pass_all
8724 ;;
8725
8726 rdos*)
8727 lt_cv_deplibs_check_method=pass_all
8728 ;;
8729
8730 solaris*)
8731 lt_cv_deplibs_check_method=pass_all
8732 ;;
8733
8734 sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
8735 lt_cv_deplibs_check_method=pass_all
8736 ;;
8737
8738 sysv4 | sysv4.3*)
8739 case $host_vendor in
8740 motorola)
8741 lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
8742 lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
8743 ;;
8744 ncr)
8745 lt_cv_deplibs_check_method=pass_all
8746 ;;
8747 sequent)
8748 lt_cv_file_magic_cmd='/bin/file'
8749 lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
8750 ;;
8751 sni)
8752 lt_cv_file_magic_cmd='/bin/file'
8753 lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"
8754 lt_cv_file_magic_test_file=/lib/libc.so
8755 ;;
8756 siemens)
8757 lt_cv_deplibs_check_method=pass_all
8758 ;;
8759 pc)
8760 lt_cv_deplibs_check_method=pass_all
8761 ;;
8762 esac
8763 ;;
8764
8765 tpf*)
8766 lt_cv_deplibs_check_method=pass_all
8767 ;;
8768 esac
8769
8770 fi
8771 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
8772 printf "%s\n" "$lt_cv_deplibs_check_method" >&6; }
8773
8774 file_magic_glob=
8775 want_nocaseglob=no
8776 if test "$build" = "$host"; then
8777 case $host_os in
8778 mingw* | pw32*)
8779 if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
8780 want_nocaseglob=yes
8781 else
8782 file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"`
8783 fi
8784 ;;
8785 esac
8786 fi
8787
8788 file_magic_cmd=$lt_cv_file_magic_cmd
8789 deplibs_check_method=$lt_cv_deplibs_check_method
8790 test -z "$deplibs_check_method" && deplibs_check_method=unknown
8791
8792
8793
8794
8795
8796
8797
8798
8799
8800
8801
8802
8803
8804
8805
8806
8807
8808
8809
8810
8811
8812
8813 if test -n "$ac_tool_prefix"; then
8814 # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
8815 set dummy ${ac_tool_prefix}dlltool; ac_word=$2
8816 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
8817 printf %s "checking for $ac_word... " >&6; }
8818 if test ${ac_cv_prog_DLLTOOL+y}
8819 then :
8820 printf %s "(cached) " >&6
8821 else $as_nop
8822 if test -n "$DLLTOOL"; then
8823 ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
8824 else
8825 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
8826 for as_dir in $PATH
8827 do
8828 IFS=$as_save_IFS
8829 case $as_dir in #(((
8830 '') as_dir=./ ;;
8831 */) ;;
8832 *) as_dir=$as_dir/ ;;
8833 esac
8834 for ac_exec_ext in '' $ac_executable_extensions; do
8835 if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
8836 ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
8837 printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
8838 break 2
8839 fi
8840 done
8841 done
8842 IFS=$as_save_IFS
8843
8844 fi
8845 fi
8846 DLLTOOL=$ac_cv_prog_DLLTOOL
8847 if test -n "$DLLTOOL"; then
8848 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5
8849 printf "%s\n" "$DLLTOOL" >&6; }
8850 else
8851 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
8852 printf "%s\n" "no" >&6; }
8853 fi
8854
8855
8856 fi
8857 if test -z "$ac_cv_prog_DLLTOOL"; then
8858 ac_ct_DLLTOOL=$DLLTOOL
8859 # Extract the first word of "dlltool", so it can be a program name with args.
8860 set dummy dlltool; ac_word=$2
8861 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
8862 printf %s "checking for $ac_word... " >&6; }
8863 if test ${ac_cv_prog_ac_ct_DLLTOOL+y}
8864 then :
8865 printf %s "(cached) " >&6
8866 else $as_nop
8867 if test -n "$ac_ct_DLLTOOL"; then
8868 ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.
8869 else
8870 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
8871 for as_dir in $PATH
8872 do
8873 IFS=$as_save_IFS
8874 case $as_dir in #(((
8875 '') as_dir=./ ;;
8876 */) ;;
8877 *) as_dir=$as_dir/ ;;
8878 esac
8879 for ac_exec_ext in '' $ac_executable_extensions; do
8880 if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
8881 ac_cv_prog_ac_ct_DLLTOOL="dlltool"
8882 printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
8883 break 2
8884 fi
8885 done
8886 done
8887 IFS=$as_save_IFS
8888
8889 fi
8890 fi
8891 ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
8892 if test -n "$ac_ct_DLLTOOL"; then
8893 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5
8894 printf "%s\n" "$ac_ct_DLLTOOL" >&6; }
8895 else
8896 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
8897 printf "%s\n" "no" >&6; }
8898 fi
8899
8900 if test "x$ac_ct_DLLTOOL" = x; then
8901 DLLTOOL="false"
8902 else
8903 case $cross_compiling:$ac_tool_warned in
8904 yes:)
8905 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
8906 printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
8907 ac_tool_warned=yes ;;
8908 esac
8909 DLLTOOL=$ac_ct_DLLTOOL
8910 fi
8911 else
8912 DLLTOOL="$ac_cv_prog_DLLTOOL"
8913 fi
8914
8915 test -z "$DLLTOOL" && DLLTOOL=dlltool
8916
8917
8918
8919
8920
8921
8922
8923 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5
8924 printf %s "checking how to associate runtime and link libraries... " >&6; }
8925 if test ${lt_cv_sharedlib_from_linklib_cmd+y}
8926 then :
8927 printf %s "(cached) " >&6
8928 else $as_nop
8929 lt_cv_sharedlib_from_linklib_cmd='unknown'
8930
8931 case $host_os in
8932 cygwin* | mingw* | pw32* | cegcc*)
8933 # two different shell functions defined in ltmain.sh
8934 # decide which to use based on capabilities of $DLLTOOL
8935 case `$DLLTOOL --help 2>&1` in
8936 *--identify-strict*)
8937 lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
8938 ;;
8939 *)
8940 lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
8941 ;;
8942 esac
8943 ;;
8944 *)
8945 # fallback: assume linklib IS sharedlib
8946 lt_cv_sharedlib_from_linklib_cmd="$ECHO"
8947 ;;
8948 esac
8949
8950 fi
8951 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5
8952 printf "%s\n" "$lt_cv_sharedlib_from_linklib_cmd" >&6; }
8953 sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
8954 test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
8955
8956
8957
8958
8959
8960
8961
8962 if test -n "$ac_tool_prefix"; then
8963 for ac_prog in ar
8964 do
8965 # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
8966 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
8967 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
8968 printf %s "checking for $ac_word... " >&6; }
8969 if test ${ac_cv_prog_AR+y}
8970 then :
8971 printf %s "(cached) " >&6
8972 else $as_nop
8973 if test -n "$AR"; then
8974 ac_cv_prog_AR="$AR" # Let the user override the test.
8975 else
8976 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
8977 for as_dir in $PATH
8978 do
8979 IFS=$as_save_IFS
8980 case $as_dir in #(((
8981 '') as_dir=./ ;;
8982 */) ;;
8983 *) as_dir=$as_dir/ ;;
8984 esac
8985 for ac_exec_ext in '' $ac_executable_extensions; do
8986 if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
8987 ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
8988 printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
8989 break 2
8990 fi
8991 done
8992 done
8993 IFS=$as_save_IFS
8994
8995 fi
8996 fi
8997 AR=$ac_cv_prog_AR
8998 if test -n "$AR"; then
8999 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
9000 printf "%s\n" "$AR" >&6; }
9001 else
9002 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
9003 printf "%s\n" "no" >&6; }
9004 fi
9005
9006
9007 test -n "$AR" && break
9008 done
9009 fi
9010 if test -z "$AR"; then
9011 ac_ct_AR=$AR
9012 for ac_prog in ar
9013 do
9014 # Extract the first word of "$ac_prog", so it can be a program name with args.
9015 set dummy $ac_prog; ac_word=$2
9016 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
9017 printf %s "checking for $ac_word... " >&6; }
9018 if test ${ac_cv_prog_ac_ct_AR+y}
9019 then :
9020 printf %s "(cached) " >&6
9021 else $as_nop
9022 if test -n "$ac_ct_AR"; then
9023 ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
9024 else
9025 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
9026 for as_dir in $PATH
9027 do
9028 IFS=$as_save_IFS
9029 case $as_dir in #(((
9030 '') as_dir=./ ;;
9031 */) ;;
9032 *) as_dir=$as_dir/ ;;
9033 esac
9034 for ac_exec_ext in '' $ac_executable_extensions; do
9035 if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
9036 ac_cv_prog_ac_ct_AR="$ac_prog"
9037 printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
9038 break 2
9039 fi
9040 done
9041 done
9042 IFS=$as_save_IFS
9043
9044 fi
9045 fi
9046 ac_ct_AR=$ac_cv_prog_ac_ct_AR
9047 if test -n "$ac_ct_AR"; then
9048 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
9049 printf "%s\n" "$ac_ct_AR" >&6; }
9050 else
9051 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
9052 printf "%s\n" "no" >&6; }
9053 fi
9054
9055
9056 test -n "$ac_ct_AR" && break
9057 done
9058
9059 if test "x$ac_ct_AR" = x; then
9060 AR="false"
9061 else
9062 case $cross_compiling:$ac_tool_warned in
9063 yes:)
9064 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
9065 printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
9066 ac_tool_warned=yes ;;
9067 esac
9068 AR=$ac_ct_AR
9069 fi
9070 fi
9071
9072 : ${AR=ar}
9073 : ${AR_FLAGS=cru}
9074
9075
9076
9077
9078
9079
9080
9081
9082
9083
9084
9085 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5
9086 printf %s "checking for archiver @FILE support... " >&6; }
9087 if test ${lt_cv_ar_at_file+y}
9088 then :
9089 printf %s "(cached) " >&6
9090 else $as_nop
9091 lt_cv_ar_at_file=no
9092 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
9093 /* end confdefs.h. */
9094
9095 int
9096 main (void)
9097 {
9098
9099 ;
9100 return 0;
9101 }
9102 _ACEOF
9103 if ac_fn_c_try_compile "$LINENO"
9104 then :
9105 echo conftest.$ac_objext > conftest.lst
9106 lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5'
9107 { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
9108 (eval $lt_ar_try) 2>&5
9109 ac_status=$?
9110 printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
9111 test $ac_status = 0; }
9112 if test "$ac_status" -eq 0; then
9113 # Ensure the archiver fails upon bogus file names.
9114 rm -f conftest.$ac_objext libconftest.a
9115 { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
9116 (eval $lt_ar_try) 2>&5
9117 ac_status=$?
9118 printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
9119 test $ac_status = 0; }
9120 if test "$ac_status" -ne 0; then
9121 lt_cv_ar_at_file=@
9122 fi
9123 fi
9124 rm -f conftest.* libconftest.a
9125
9126 fi
9127 rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
9128
9129 fi
9130 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5
9131 printf "%s\n" "$lt_cv_ar_at_file" >&6; }
9132
9133 if test "x$lt_cv_ar_at_file" = xno; then
9134 archiver_list_spec=
9135 else
9136 archiver_list_spec=$lt_cv_ar_at_file
9137 fi
9138
9139
9140
9141
9142
9143
9144
9145 if test -n "$ac_tool_prefix"; then
9146 # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
9147 set dummy ${ac_tool_prefix}strip; ac_word=$2
9148 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
9149 printf %s "checking for $ac_word... " >&6; }
9150 if test ${ac_cv_prog_STRIP+y}
9151 then :
9152 printf %s "(cached) " >&6
9153 else $as_nop
9154 if test -n "$STRIP"; then
9155 ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
9156 else
9157 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
9158 for as_dir in $PATH
9159 do
9160 IFS=$as_save_IFS
9161 case $as_dir in #(((
9162 '') as_dir=./ ;;
9163 */) ;;
9164 *) as_dir=$as_dir/ ;;
9165 esac
9166 for ac_exec_ext in '' $ac_executable_extensions; do
9167 if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
9168 ac_cv_prog_STRIP="${ac_tool_prefix}strip"
9169 printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
9170 break 2
9171 fi
9172 done
9173 done
9174 IFS=$as_save_IFS
9175
9176 fi
9177 fi
9178 STRIP=$ac_cv_prog_STRIP
9179 if test -n "$STRIP"; then
9180 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
9181 printf "%s\n" "$STRIP" >&6; }
9182 else
9183 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
9184 printf "%s\n" "no" >&6; }
9185 fi
9186
9187
9188 fi
9189 if test -z "$ac_cv_prog_STRIP"; then
9190 ac_ct_STRIP=$STRIP
9191 # Extract the first word of "strip", so it can be a program name with args.
9192 set dummy strip; ac_word=$2
9193 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
9194 printf %s "checking for $ac_word... " >&6; }
9195 if test ${ac_cv_prog_ac_ct_STRIP+y}
9196 then :
9197 printf %s "(cached) " >&6
9198 else $as_nop
9199 if test -n "$ac_ct_STRIP"; then
9200 ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
9201 else
9202 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
9203 for as_dir in $PATH
9204 do
9205 IFS=$as_save_IFS
9206 case $as_dir in #(((
9207 '') as_dir=./ ;;
9208 */) ;;
9209 *) as_dir=$as_dir/ ;;
9210 esac
9211 for ac_exec_ext in '' $ac_executable_extensions; do
9212 if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
9213 ac_cv_prog_ac_ct_STRIP="strip"
9214 printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
9215 break 2
9216 fi
9217 done
9218 done
9219 IFS=$as_save_IFS
9220
9221 fi
9222 fi
9223 ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
9224 if test -n "$ac_ct_STRIP"; then
9225 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
9226 printf "%s\n" "$ac_ct_STRIP" >&6; }
9227 else
9228 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
9229 printf "%s\n" "no" >&6; }
9230 fi
9231
9232 if test "x$ac_ct_STRIP" = x; then
9233 STRIP=":"
9234 else
9235 case $cross_compiling:$ac_tool_warned in
9236 yes:)
9237 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
9238 printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
9239 ac_tool_warned=yes ;;
9240 esac
9241 STRIP=$ac_ct_STRIP
9242 fi
9243 else
9244 STRIP="$ac_cv_prog_STRIP"
9245 fi
9246
9247 test -z "$STRIP" && STRIP=:
9248
9249
9250
9251
9252
9253
9254 if test -n "$ac_tool_prefix"; then
9255 # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
9256 set dummy ${ac_tool_prefix}ranlib; ac_word=$2
9257 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
9258 printf %s "checking for $ac_word... " >&6; }
9259 if test ${ac_cv_prog_RANLIB+y}
9260 then :
9261 printf %s "(cached) " >&6
9262 else $as_nop
9263 if test -n "$RANLIB"; then
9264 ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
9265 else
9266 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
9267 for as_dir in $PATH
9268 do
9269 IFS=$as_save_IFS
9270 case $as_dir in #(((
9271 '') as_dir=./ ;;
9272 */) ;;
9273 *) as_dir=$as_dir/ ;;
9274 esac
9275 for ac_exec_ext in '' $ac_executable_extensions; do
9276 if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
9277 ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
9278 printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
9279 break 2
9280 fi
9281 done
9282 done
9283 IFS=$as_save_IFS
9284
9285 fi
9286 fi
9287 RANLIB=$ac_cv_prog_RANLIB
9288 if test -n "$RANLIB"; then
9289 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
9290 printf "%s\n" "$RANLIB" >&6; }
9291 else
9292 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
9293 printf "%s\n" "no" >&6; }
9294 fi
9295
9296
9297 fi
9298 if test -z "$ac_cv_prog_RANLIB"; then
9299 ac_ct_RANLIB=$RANLIB
9300 # Extract the first word of "ranlib", so it can be a program name with args.
9301 set dummy ranlib; ac_word=$2
9302 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
9303 printf %s "checking for $ac_word... " >&6; }
9304 if test ${ac_cv_prog_ac_ct_RANLIB+y}
9305 then :
9306 printf %s "(cached) " >&6
9307 else $as_nop
9308 if test -n "$ac_ct_RANLIB"; then
9309 ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
9310 else
9311 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
9312 for as_dir in $PATH
9313 do
9314 IFS=$as_save_IFS
9315 case $as_dir in #(((
9316 '') as_dir=./ ;;
9317 */) ;;
9318 *) as_dir=$as_dir/ ;;
9319 esac
9320 for ac_exec_ext in '' $ac_executable_extensions; do
9321 if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
9322 ac_cv_prog_ac_ct_RANLIB="ranlib"
9323 printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
9324 break 2
9325 fi
9326 done
9327 done
9328 IFS=$as_save_IFS
9329
9330 fi
9331 fi
9332 ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
9333 if test -n "$ac_ct_RANLIB"; then
9334 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
9335 printf "%s\n" "$ac_ct_RANLIB" >&6; }
9336 else
9337 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
9338 printf "%s\n" "no" >&6; }
9339 fi
9340
9341 if test "x$ac_ct_RANLIB" = x; then
9342 RANLIB=":"
9343 else
9344 case $cross_compiling:$ac_tool_warned in
9345 yes:)
9346 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
9347 printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
9348 ac_tool_warned=yes ;;
9349 esac
9350 RANLIB=$ac_ct_RANLIB
9351 fi
9352 else
9353 RANLIB="$ac_cv_prog_RANLIB"
9354 fi
9355
9356 test -z "$RANLIB" && RANLIB=:
9357
9358
9359
9360
9361
9362
9363 # Determine commands to create old-style static archives.
9364 old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
9365 old_postinstall_cmds='chmod 644 $oldlib'
9366 old_postuninstall_cmds=
9367
9368 if test -n "$RANLIB"; then
9369 case $host_os in
9370 openbsd*)
9371 old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
9372 ;;
9373 *)
9374 old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
9375 ;;
9376 esac
9377 old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
9378 fi
9379
9380 case $host_os in
9381 darwin*)
9382 lock_old_archive_extraction=yes ;;
9383 *)
9384 lock_old_archive_extraction=no ;;
9385 esac
9386
9387
9388
9389
9390
9391
9392
9393
9394
9395
9396
9397
9398
9399
9400
9401
9402
9403
9404
9405
9406
9407
9408
9409
9410
9411
9412
9413
9414
9415
9416
9417
9418
9419
9420
9421
9422
9423
9424
9425 # If no C compiler was specified, use CC.
9426 LTCC=${LTCC-"$CC"}
9427
9428 # If no C compiler flags were specified, use CFLAGS.
9429 LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
9430
9431 # Allow CC to be a program name with arguments.
9432 compiler=$CC
9433
9434
9435 # Check for command to grab the raw symbol name followed by C symbol from nm.
9436 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
9437 printf %s "checking command to parse $NM output from $compiler object... " >&6; }
9438 if test ${lt_cv_sys_global_symbol_pipe+y}
9439 then :
9440 printf %s "(cached) " >&6
9441 else $as_nop
9442
9443 # These are sane defaults that work on at least a few old systems.
9444 # [They come from Ultrix. What could be older than Ultrix?!! ;)]
9445
9446 # Character class describing NM global symbol codes.
9447 symcode='[BCDEGRST]'
9448
9449 # Regexp to match symbols that can be accessed directly from C.
9450 sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
9451
9452 # Define system-specific variables.
9453 case $host_os in
9454 aix*)
9455 symcode='[BCDT]'
9456 ;;
9457 cygwin* | mingw* | pw32* | cegcc*)
9458 symcode='[ABCDGISTW]'
9459 ;;
9460 hpux*)
9461 if test "$host_cpu" = ia64; then
9462 symcode='[ABCDEGRST]'
9463 fi
9464 ;;
9465 irix* | nonstopux*)
9466 symcode='[BCDEGRST]'
9467 ;;
9468 osf*)
9469 symcode='[BCDEGQRST]'
9470 ;;
9471 solaris*)
9472 symcode='[BDRT]'
9473 ;;
9474 sco3.2v5*)
9475 symcode='[DT]'
9476 ;;
9477 sysv4.2uw2*)
9478 symcode='[DT]'
9479 ;;
9480 sysv5* | sco5v6* | unixware* | OpenUNIX*)
9481 symcode='[ABDT]'
9482 ;;
9483 sysv4)
9484 symcode='[DFNSTU]'
9485 ;;
9486 esac
9487
9488 # If we're using GNU nm, then use its standard symbol codes.
9489 case `$NM -V 2>&1` in
9490 *GNU* | *'with BFD'*)
9491 symcode='[ABCDGIRSTW]' ;;
9492 esac
9493
9494 # Transform an extracted symbol line into a proper C declaration.
9495 # Some systems (esp. on ia64) link data and code symbols differently,
9496 # so use this general approach.
9497 lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
9498
9499 # Transform an extracted symbol line into symbol name and symbol address
9500 lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'"
9501 lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
9502
9503 # Handle CRLF in mingw tool chain
9504 opt_cr=
9505 case $build_os in
9506 mingw*)
9507 opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
9508 ;;
9509 esac
9510
9511 # Try without a prefix underscore, then with it.
9512 for ac_symprfx in "" "_"; do
9513
9514 # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
9515 symxfrm="\\1 $ac_symprfx\\2 \\2"
9516
9517 # Write the raw and C identifiers.
9518 if test "$lt_cv_nm_interface" = "MS dumpbin"; then
9519 # Fake it for dumpbin and say T for any non-static function
9520 # and D for any global variable.
9521 # Also find C++ and __fastcall symbols from MSVC++,
9522 # which start with @ or ?.
9523 lt_cv_sys_global_symbol_pipe="$AWK '"\
9524 " {last_section=section; section=\$ 3};"\
9525 " /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
9526 " /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
9527 " \$ 0!~/External *\|/{next};"\
9528 " / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
9529 " {if(hide[section]) next};"\
9530 " {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
9531 " {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
9532 " s[1]~/^[@?]/{print s[1], s[1]; next};"\
9533 " s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
9534 " ' prfx=^$ac_symprfx"
9535 else
9536 lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
9537 fi
9538 lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
9539
9540 # Check to see that the pipe works correctly.
9541 pipe_works=no
9542
9543 rm -f conftest*
9544 cat > conftest.$ac_ext <<_LT_EOF
9545 #ifdef __cplusplus
9546 extern "C" {
9547 #endif
9548 char nm_test_var;
9549 void nm_test_func(void);
9550 void nm_test_func(void){}
9551 #ifdef __cplusplus
9552 }
9553 #endif
9554 int main(){nm_test_var='a';nm_test_func();return(0);}
9555 _LT_EOF
9556
9557 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
9558 (eval $ac_compile) 2>&5
9559 ac_status=$?
9560 printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
9561 test $ac_status = 0; }; then
9562 # Now try to grab the symbols.
9563 nlist=conftest.nm
9564 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5
9565 (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5
9566 ac_status=$?
9567 printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
9568 test $ac_status = 0; } && test -s "$nlist"; then
9569 # Try sorting and uniquifying the output.
9570 if sort "$nlist" | uniq > "$nlist"T; then
9571 mv -f "$nlist"T "$nlist"
9572 else
9573 rm -f "$nlist"T
9574 fi
9575
9576 # Make sure that we snagged all the symbols we need.
9577 if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
9578 if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
9579 cat <<_LT_EOF > conftest.$ac_ext
9580 /* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
9581 #if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
9582 /* DATA imports from DLLs on WIN32 con't be const, because runtime
9583 relocations are performed -- see ld's documentation on pseudo-relocs. */
9584 # define LT_DLSYM_CONST
9585 #elif defined(__osf__)
9586 /* This system does not cope well with relocations in const data. */
9587 # define LT_DLSYM_CONST
9588 #else
9589 # define LT_DLSYM_CONST const
9590 #endif
9591
9592 #ifdef __cplusplus
9593 extern "C" {
9594 #endif
9595
9596 _LT_EOF
9597 # Now generate the symbol file.
9598 eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
9599
9600 cat <<_LT_EOF >> conftest.$ac_ext
9601
9602 /* The mapping between symbol names and symbols. */
9603 LT_DLSYM_CONST struct {
9604 const char *name;
9605 void *address;
9606 }
9607 lt__PROGRAM__LTX_preloaded_symbols[] =
9608 {
9609 { "@PROGRAM@", (void *) 0 },
9610 _LT_EOF
9611 $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
9612 cat <<\_LT_EOF >> conftest.$ac_ext
9613 {0, (void *) 0}
9614 };
9615
9616 /* This works around a problem in FreeBSD linker */
9617 #ifdef FREEBSD_WORKAROUND
9618 static const void *lt_preloaded_setup() {
9619 return lt__PROGRAM__LTX_preloaded_symbols;
9620 }
9621 #endif
9622
9623 #ifdef __cplusplus
9624 }
9625 #endif
9626 _LT_EOF
9627 # Now try linking the two files.
9628 mv conftest.$ac_objext conftstm.$ac_objext
9629 lt_globsym_save_LIBS=$LIBS
9630 lt_globsym_save_CFLAGS=$CFLAGS
9631 LIBS="conftstm.$ac_objext"
9632 CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
9633 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
9634 (eval $ac_link) 2>&5
9635 ac_status=$?
9636 printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
9637 test $ac_status = 0; } && test -s conftest${ac_exeext}; then
9638 pipe_works=yes
9639 fi
9640 LIBS=$lt_globsym_save_LIBS
9641 CFLAGS=$lt_globsym_save_CFLAGS
9642 else
9643 echo "cannot find nm_test_func in $nlist" >&5
9644 fi
9645 else
9646 echo "cannot find nm_test_var in $nlist" >&5
9647 fi
9648 else
9649 echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
9650 fi
9651 else
9652 echo "$progname: failed program was:" >&5
9653 cat conftest.$ac_ext >&5
9654 fi
9655 rm -rf conftest* conftst*
9656
9657 # Do not use the global_symbol_pipe unless it works.
9658 if test "$pipe_works" = yes; then
9659 break
9660 else
9661 lt_cv_sys_global_symbol_pipe=
9662 fi
9663 done
9664
9665 fi
9666
9667 if test -z "$lt_cv_sys_global_symbol_pipe"; then
9668 lt_cv_sys_global_symbol_to_cdecl=
9669 fi
9670 if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
9671 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: failed" >&5
9672 printf "%s\n" "failed" >&6; }
9673 else
9674 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ok" >&5
9675 printf "%s\n" "ok" >&6; }
9676 fi
9677
9678 # Response file support.
9679 if test "$lt_cv_nm_interface" = "MS dumpbin"; then
9680 nm_file_list_spec='@'
9681 elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then
9682 nm_file_list_spec='@'
9683 fi
9684
9685
9686
9687
9688
9689
9690
9691
9692
9693
9694
9695
9696
9697
9698
9699
9700
9701
9702
9703
9704
9705
9706
9707
9708
9709
9710
9711 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
9712 printf %s "checking for sysroot... " >&6; }
9713
9714 # Check whether --with-sysroot was given.
9715 if test ${with_sysroot+y}
9716 then :
9717 withval=$with_sysroot;
9718 else $as_nop
9719 with_sysroot=no
9720 fi
9721
9722
9723 lt_sysroot=
9724 case ${with_sysroot} in #(
9725 yes)
9726 if test "$GCC" = yes; then
9727 lt_sysroot=`$CC --print-sysroot 2>/dev/null`
9728 fi
9729 ;; #(
9730 /*)
9731 lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
9732 ;; #(
9733 no|'')
9734 ;; #(
9735 *)
9736 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${with_sysroot}" >&5
9737 printf "%s\n" "${with_sysroot}" >&6; }
9738 as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5
9739 ;;
9740 esac
9741
9742 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5
9743 printf "%s\n" "${lt_sysroot:-no}" >&6; }
9744
9745
9746
9747
9748
9749 # Check whether --enable-libtool-lock was given.
9750 if test ${enable_libtool_lock+y}
9751 then :
9752 enableval=$enable_libtool_lock;
9753 fi
9754
9755 test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
9756
9757 # Some flags need to be propagated to the compiler or linker for good
9758 # libtool support.
9759 case $host in
9760 ia64-*-hpux*)
9761 # Find out which ABI we are using.
9762 echo 'int i;' > conftest.$ac_ext
9763 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
9764 (eval $ac_compile) 2>&5
9765 ac_status=$?
9766 printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
9767 test $ac_status = 0; }; then
9768 case `/usr/bin/file conftest.$ac_objext` in
9769 *ELF-32*)
9770 HPUX_IA64_MODE="32"
9771 ;;
9772 *ELF-64*)
9773 HPUX_IA64_MODE="64"
9774 ;;
9775 esac
9776 fi
9777 rm -rf conftest*
9778 ;;
9779 *-*-irix6*)
9780 # Find out which ABI we are using.
9781 echo '#line '$LINENO' "configure"' > conftest.$ac_ext
9782 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
9783 (eval $ac_compile) 2>&5
9784 ac_status=$?
9785 printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
9786 test $ac_status = 0; }; then
9787 if test "$lt_cv_prog_gnu_ld" = yes; then
9788 case `/usr/bin/file conftest.$ac_objext` in
9789 *32-bit*)
9790 LD="${LD-ld} -melf32bsmip"
9791 ;;
9792 *N32*)
9793 LD="${LD-ld} -melf32bmipn32"
9794 ;;
9795 *64-bit*)
9796 LD="${LD-ld} -melf64bmip"
9797 ;;
9798 esac
9799 else
9800 case `/usr/bin/file conftest.$ac_objext` in
9801 *32-bit*)
9802 LD="${LD-ld} -32"
9803 ;;
9804 *N32*)
9805 LD="${LD-ld} -n32"
9806 ;;
9807 *64-bit*)
9808 LD="${LD-ld} -64"
9809 ;;
9810 esac
9811 fi
9812 fi
9813 rm -rf conftest*
9814 ;;
9815
9816 x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
9817 s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
9818 # Find out which ABI we are using.
9819 echo 'int i;' > conftest.$ac_ext
9820 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
9821 (eval $ac_compile) 2>&5
9822 ac_status=$?
9823 printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
9824 test $ac_status = 0; }; then
9825 case `/usr/bin/file conftest.o` in
9826 *32-bit*)
9827 case $host in
9828 x86_64-*kfreebsd*-gnu)
9829 LD="${LD-ld} -m elf_i386_fbsd"
9830 ;;
9831 x86_64-*linux*)
9832 LD="${LD-ld} -m elf_i386"
9833 ;;
9834 powerpc64le-*)
9835 LD="${LD-ld} -m elf32lppclinux"
9836 ;;
9837 powerpc64-*)
9838 LD="${LD-ld} -m elf32ppclinux"
9839 ;;
9840 s390x-*linux*)
9841 LD="${LD-ld} -m elf_s390"
9842 ;;
9843 sparc64-*linux*)
9844 LD="${LD-ld} -m elf32_sparc"
9845 ;;
9846 esac
9847 ;;
9848 *64-bit*)
9849 case $host in
9850 x86_64-*kfreebsd*-gnu)
9851 LD="${LD-ld} -m elf_x86_64_fbsd"
9852 ;;
9853 x86_64-*linux*)
9854 LD="${LD-ld} -m elf_x86_64"
9855 ;;
9856 powerpcle-*)
9857 LD="${LD-ld} -m elf64lppc"
9858 ;;
9859 powerpc-*)
9860 LD="${LD-ld} -m elf64ppc"
9861 ;;
9862 s390*-*linux*|s390*-*tpf*)
9863 LD="${LD-ld} -m elf64_s390"
9864 ;;
9865 sparc*-*linux*)
9866 LD="${LD-ld} -m elf64_sparc"
9867 ;;
9868 esac
9869 ;;
9870 esac
9871 fi
9872 rm -rf conftest*
9873 ;;
9874
9875 *-*-sco3.2v5*)
9876 # On SCO OpenServer 5, we need -belf to get full-featured binaries.
9877 SAVE_CFLAGS="$CFLAGS"
9878 CFLAGS="$CFLAGS -belf"
9879 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
9880 printf %s "checking whether the C compiler needs -belf... " >&6; }
9881 if test ${lt_cv_cc_needs_belf+y}
9882 then :
9883 printf %s "(cached) " >&6
9884 else $as_nop
9885 ac_ext=c
9886 ac_cpp='$CPP $CPPFLAGS'
9887 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
9888 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
9889 ac_compiler_gnu=$ac_cv_c_compiler_gnu
9890
9891 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
9892 /* end confdefs.h. */
9893
9894 int
9895 main (void)
9896 {
9897
9898 ;
9899 return 0;
9900 }
9901 _ACEOF
9902 if ac_fn_c_try_link "$LINENO"
9903 then :
9904 lt_cv_cc_needs_belf=yes
9905 else $as_nop
9906 lt_cv_cc_needs_belf=no
9907 fi
9908 rm -f core conftest.err conftest.$ac_objext conftest.beam \
9909 conftest$ac_exeext conftest.$ac_ext
9910 ac_ext=c
9911 ac_cpp='$CPP $CPPFLAGS'
9912 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
9913 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
9914 ac_compiler_gnu=$ac_cv_c_compiler_gnu
9915
9916 fi
9917 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5
9918 printf "%s\n" "$lt_cv_cc_needs_belf" >&6; }
9919 if test x"$lt_cv_cc_needs_belf" != x"yes"; then
9920 # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
9921 CFLAGS="$SAVE_CFLAGS"
9922 fi
9923 ;;
9924 *-*solaris*)
9925 # Find out which ABI we are using.
9926 echo 'int i;' > conftest.$ac_ext
9927 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
9928 (eval $ac_compile) 2>&5
9929 ac_status=$?
9930 printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
9931 test $ac_status = 0; }; then
9932 case `/usr/bin/file conftest.o` in
9933 *64-bit*)
9934 case $lt_cv_prog_gnu_ld in
9935 yes*)
9936 case $host in
9937 i?86-*-solaris*)
9938 LD="${LD-ld} -m elf_x86_64"
9939 ;;
9940 sparc*-*-solaris*)
9941 LD="${LD-ld} -m elf64_sparc"
9942 ;;
9943 esac
9944 # GNU ld 2.21 introduced _sol2 emulations. Use them if available.
9945 if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
9946 LD="${LD-ld}_sol2"
9947 fi
9948 ;;
9949 *)
9950 if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
9951 LD="${LD-ld} -64"
9952 fi
9953 ;;
9954 esac
9955 ;;
9956 esac
9957 fi
9958 rm -rf conftest*
9959 ;;
9960 esac
9961
9962 need_locks="$enable_libtool_lock"
9963
9964 if test -n "$ac_tool_prefix"; then
9965 # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args.
9966 set dummy ${ac_tool_prefix}mt; ac_word=$2
9967 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
9968 printf %s "checking for $ac_word... " >&6; }
9969 if test ${ac_cv_prog_MANIFEST_TOOL+y}
9970 then :
9971 printf %s "(cached) " >&6
9972 else $as_nop
9973 if test -n "$MANIFEST_TOOL"; then
9974 ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test.
9975 else
9976 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
9977 for as_dir in $PATH
9978 do
9979 IFS=$as_save_IFS
9980 case $as_dir in #(((
9981 '') as_dir=./ ;;
9982 */) ;;
9983 *) as_dir=$as_dir/ ;;
9984 esac
9985 for ac_exec_ext in '' $ac_executable_extensions; do
9986 if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
9987 ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt"
9988 printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
9989 break 2
9990 fi
9991 done
9992 done
9993 IFS=$as_save_IFS
9994
9995 fi
9996 fi
9997 MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL
9998 if test -n "$MANIFEST_TOOL"; then
9999 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5
10000 printf "%s\n" "$MANIFEST_TOOL" >&6; }
10001 else
10002 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
10003 printf "%s\n" "no" >&6; }
10004 fi
10005
10006
10007 fi
10008 if test -z "$ac_cv_prog_MANIFEST_TOOL"; then
10009 ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL
10010 # Extract the first word of "mt", so it can be a program name with args.
10011 set dummy mt; ac_word=$2
10012 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
10013 printf %s "checking for $ac_word... " >&6; }
10014 if test ${ac_cv_prog_ac_ct_MANIFEST_TOOL+y}
10015 then :
10016 printf %s "(cached) " >&6
10017 else $as_nop
10018 if test -n "$ac_ct_MANIFEST_TOOL"; then
10019 ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test.
10020 else
10021 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
10022 for as_dir in $PATH
10023 do
10024 IFS=$as_save_IFS
10025 case $as_dir in #(((
10026 '') as_dir=./ ;;
10027 */) ;;
10028 *) as_dir=$as_dir/ ;;
10029 esac
10030 for ac_exec_ext in '' $ac_executable_extensions; do
10031 if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
10032 ac_cv_prog_ac_ct_MANIFEST_TOOL="mt"
10033 printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
10034 break 2
10035 fi
10036 done
10037 done
10038 IFS=$as_save_IFS
10039
10040 fi
10041 fi
10042 ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL
10043 if test -n "$ac_ct_MANIFEST_TOOL"; then
10044 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5
10045 printf "%s\n" "$ac_ct_MANIFEST_TOOL" >&6; }
10046 else
10047 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
10048 printf "%s\n" "no" >&6; }
10049 fi
10050
10051 if test "x$ac_ct_MANIFEST_TOOL" = x; then
10052 MANIFEST_TOOL=":"
10053 else
10054 case $cross_compiling:$ac_tool_warned in
10055 yes:)
10056 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
10057 printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
10058 ac_tool_warned=yes ;;
10059 esac
10060 MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL
10061 fi
10062 else
10063 MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL"
10064 fi
10065
10066 test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
10067 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5
10068 printf %s "checking if $MANIFEST_TOOL is a manifest tool... " >&6; }
10069 if test ${lt_cv_path_mainfest_tool+y}
10070 then :
10071 printf %s "(cached) " >&6
10072 else $as_nop
10073 lt_cv_path_mainfest_tool=no
10074 echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5
10075 $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
10076 cat conftest.err >&5
10077 if $GREP 'Manifest Tool' conftest.out > /dev/null; then
10078 lt_cv_path_mainfest_tool=yes
10079 fi
10080 rm -f conftest*
10081 fi
10082 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5
10083 printf "%s\n" "$lt_cv_path_mainfest_tool" >&6; }
10084 if test "x$lt_cv_path_mainfest_tool" != xyes; then
10085 MANIFEST_TOOL=:
10086 fi
10087
10088
10089
10090
10091
10092
10093 case $host_os in
10094 rhapsody* | darwin*)
10095 if test -n "$ac_tool_prefix"; then
10096 # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
10097 set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
10098 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
10099 printf %s "checking for $ac_word... " >&6; }
10100 if test ${ac_cv_prog_DSYMUTIL+y}
10101 then :
10102 printf %s "(cached) " >&6
10103 else $as_nop
10104 if test -n "$DSYMUTIL"; then
10105 ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
10106 else
10107 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
10108 for as_dir in $PATH
10109 do
10110 IFS=$as_save_IFS
10111 case $as_dir in #(((
10112 '') as_dir=./ ;;
10113 */) ;;
10114 *) as_dir=$as_dir/ ;;
10115 esac
10116 for ac_exec_ext in '' $ac_executable_extensions; do
10117 if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
10118 ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
10119 printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
10120 break 2
10121 fi
10122 done
10123 done
10124 IFS=$as_save_IFS
10125
10126 fi
10127 fi
10128 DSYMUTIL=$ac_cv_prog_DSYMUTIL
10129 if test -n "$DSYMUTIL"; then
10130 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5
10131 printf "%s\n" "$DSYMUTIL" >&6; }
10132 else
10133 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
10134 printf "%s\n" "no" >&6; }
10135 fi
10136
10137
10138 fi
10139 if test -z "$ac_cv_prog_DSYMUTIL"; then
10140 ac_ct_DSYMUTIL=$DSYMUTIL
10141 # Extract the first word of "dsymutil", so it can be a program name with args.
10142 set dummy dsymutil; ac_word=$2
10143 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
10144 printf %s "checking for $ac_word... " >&6; }
10145 if test ${ac_cv_prog_ac_ct_DSYMUTIL+y}
10146 then :
10147 printf %s "(cached) " >&6
10148 else $as_nop
10149 if test -n "$ac_ct_DSYMUTIL"; then
10150 ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
10151 else
10152 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
10153 for as_dir in $PATH
10154 do
10155 IFS=$as_save_IFS
10156 case $as_dir in #(((
10157 '') as_dir=./ ;;
10158 */) ;;
10159 *) as_dir=$as_dir/ ;;
10160 esac
10161 for ac_exec_ext in '' $ac_executable_extensions; do
10162 if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
10163 ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
10164 printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
10165 break 2
10166 fi
10167 done
10168 done
10169 IFS=$as_save_IFS
10170
10171 fi
10172 fi
10173 ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
10174 if test -n "$ac_ct_DSYMUTIL"; then
10175 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5
10176 printf "%s\n" "$ac_ct_DSYMUTIL" >&6; }
10177 else
10178 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
10179 printf "%s\n" "no" >&6; }
10180 fi
10181
10182 if test "x$ac_ct_DSYMUTIL" = x; then
10183 DSYMUTIL=":"
10184 else
10185 case $cross_compiling:$ac_tool_warned in
10186 yes:)
10187 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
10188 printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
10189 ac_tool_warned=yes ;;
10190 esac
10191 DSYMUTIL=$ac_ct_DSYMUTIL
10192 fi
10193 else
10194 DSYMUTIL="$ac_cv_prog_DSYMUTIL"
10195 fi
10196
10197 if test -n "$ac_tool_prefix"; then
10198 # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args.
10199 set dummy ${ac_tool_prefix}nmedit; ac_word=$2
10200 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
10201 printf %s "checking for $ac_word... " >&6; }
10202 if test ${ac_cv_prog_NMEDIT+y}
10203 then :
10204 printf %s "(cached) " >&6
10205 else $as_nop
10206 if test -n "$NMEDIT"; then
10207 ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test.
10208 else
10209 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
10210 for as_dir in $PATH
10211 do
10212 IFS=$as_save_IFS
10213 case $as_dir in #(((
10214 '') as_dir=./ ;;
10215 */) ;;
10216 *) as_dir=$as_dir/ ;;
10217 esac
10218 for ac_exec_ext in '' $ac_executable_extensions; do
10219 if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
10220 ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
10221 printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
10222 break 2
10223 fi
10224 done
10225 done
10226 IFS=$as_save_IFS
10227
10228 fi
10229 fi
10230 NMEDIT=$ac_cv_prog_NMEDIT
10231 if test -n "$NMEDIT"; then
10232 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5
10233 printf "%s\n" "$NMEDIT" >&6; }
10234 else
10235 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
10236 printf "%s\n" "no" >&6; }
10237 fi
10238
10239
10240 fi
10241 if test -z "$ac_cv_prog_NMEDIT"; then
10242 ac_ct_NMEDIT=$NMEDIT
10243 # Extract the first word of "nmedit", so it can be a program name with args.
10244 set dummy nmedit; ac_word=$2
10245 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
10246 printf %s "checking for $ac_word... " >&6; }
10247 if test ${ac_cv_prog_ac_ct_NMEDIT+y}
10248 then :
10249 printf %s "(cached) " >&6
10250 else $as_nop
10251 if test -n "$ac_ct_NMEDIT"; then
10252 ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test.
10253 else
10254 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
10255 for as_dir in $PATH
10256 do
10257 IFS=$as_save_IFS
10258 case $as_dir in #(((
10259 '') as_dir=./ ;;
10260 */) ;;
10261 *) as_dir=$as_dir/ ;;
10262 esac
10263 for ac_exec_ext in '' $ac_executable_extensions; do
10264 if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
10265 ac_cv_prog_ac_ct_NMEDIT="nmedit"
10266 printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
10267 break 2
10268 fi
10269 done
10270 done
10271 IFS=$as_save_IFS
10272
10273 fi
10274 fi
10275 ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT
10276 if test -n "$ac_ct_NMEDIT"; then
10277 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5
10278 printf "%s\n" "$ac_ct_NMEDIT" >&6; }
10279 else
10280 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
10281 printf "%s\n" "no" >&6; }
10282 fi
10283
10284 if test "x$ac_ct_NMEDIT" = x; then
10285 NMEDIT=":"
10286 else
10287 case $cross_compiling:$ac_tool_warned in
10288 yes:)
10289 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
10290 printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
10291 ac_tool_warned=yes ;;
10292 esac
10293 NMEDIT=$ac_ct_NMEDIT
10294 fi
10295 else
10296 NMEDIT="$ac_cv_prog_NMEDIT"
10297 fi
10298
10299 if test -n "$ac_tool_prefix"; then
10300 # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args.
10301 set dummy ${ac_tool_prefix}lipo; ac_word=$2
10302 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
10303 printf %s "checking for $ac_word... " >&6; }
10304 if test ${ac_cv_prog_LIPO+y}
10305 then :
10306 printf %s "(cached) " >&6
10307 else $as_nop
10308 if test -n "$LIPO"; then
10309 ac_cv_prog_LIPO="$LIPO" # Let the user override the test.
10310 else
10311 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
10312 for as_dir in $PATH
10313 do
10314 IFS=$as_save_IFS
10315 case $as_dir in #(((
10316 '') as_dir=./ ;;
10317 */) ;;
10318 *) as_dir=$as_dir/ ;;
10319 esac
10320 for ac_exec_ext in '' $ac_executable_extensions; do
10321 if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
10322 ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
10323 printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
10324 break 2
10325 fi
10326 done
10327 done
10328 IFS=$as_save_IFS
10329
10330 fi
10331 fi
10332 LIPO=$ac_cv_prog_LIPO
10333 if test -n "$LIPO"; then
10334 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5
10335 printf "%s\n" "$LIPO" >&6; }
10336 else
10337 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
10338 printf "%s\n" "no" >&6; }
10339 fi
10340
10341
10342 fi
10343 if test -z "$ac_cv_prog_LIPO"; then
10344 ac_ct_LIPO=$LIPO
10345 # Extract the first word of "lipo", so it can be a program name with args.
10346 set dummy lipo; ac_word=$2
10347 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
10348 printf %s "checking for $ac_word... " >&6; }
10349 if test ${ac_cv_prog_ac_ct_LIPO+y}
10350 then :
10351 printf %s "(cached) " >&6
10352 else $as_nop
10353 if test -n "$ac_ct_LIPO"; then
10354 ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test.
10355 else
10356 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
10357 for as_dir in $PATH
10358 do
10359 IFS=$as_save_IFS
10360 case $as_dir in #(((
10361 '') as_dir=./ ;;
10362 */) ;;
10363 *) as_dir=$as_dir/ ;;
10364 esac
10365 for ac_exec_ext in '' $ac_executable_extensions; do
10366 if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
10367 ac_cv_prog_ac_ct_LIPO="lipo"
10368 printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
10369 break 2
10370 fi
10371 done
10372 done
10373 IFS=$as_save_IFS
10374
10375 fi
10376 fi
10377 ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO
10378 if test -n "$ac_ct_LIPO"; then
10379 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5
10380 printf "%s\n" "$ac_ct_LIPO" >&6; }
10381 else
10382 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
10383 printf "%s\n" "no" >&6; }
10384 fi
10385
10386 if test "x$ac_ct_LIPO" = x; then
10387 LIPO=":"
10388 else
10389 case $cross_compiling:$ac_tool_warned in
10390 yes:)
10391 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
10392 printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
10393 ac_tool_warned=yes ;;
10394 esac
10395 LIPO=$ac_ct_LIPO
10396 fi
10397 else
10398 LIPO="$ac_cv_prog_LIPO"
10399 fi
10400
10401 if test -n "$ac_tool_prefix"; then
10402 # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args.
10403 set dummy ${ac_tool_prefix}otool; ac_word=$2
10404 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
10405 printf %s "checking for $ac_word... " >&6; }
10406 if test ${ac_cv_prog_OTOOL+y}
10407 then :
10408 printf %s "(cached) " >&6
10409 else $as_nop
10410 if test -n "$OTOOL"; then
10411 ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test.
10412 else
10413 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
10414 for as_dir in $PATH
10415 do
10416 IFS=$as_save_IFS
10417 case $as_dir in #(((
10418 '') as_dir=./ ;;
10419 */) ;;
10420 *) as_dir=$as_dir/ ;;
10421 esac
10422 for ac_exec_ext in '' $ac_executable_extensions; do
10423 if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
10424 ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
10425 printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
10426 break 2
10427 fi
10428 done
10429 done
10430 IFS=$as_save_IFS
10431
10432 fi
10433 fi
10434 OTOOL=$ac_cv_prog_OTOOL
10435 if test -n "$OTOOL"; then
10436 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5
10437 printf "%s\n" "$OTOOL" >&6; }
10438 else
10439 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
10440 printf "%s\n" "no" >&6; }
10441 fi
10442
10443
10444 fi
10445 if test -z "$ac_cv_prog_OTOOL"; then
10446 ac_ct_OTOOL=$OTOOL
10447 # Extract the first word of "otool", so it can be a program name with args.
10448 set dummy otool; ac_word=$2
10449 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
10450 printf %s "checking for $ac_word... " >&6; }
10451 if test ${ac_cv_prog_ac_ct_OTOOL+y}
10452 then :
10453 printf %s "(cached) " >&6
10454 else $as_nop
10455 if test -n "$ac_ct_OTOOL"; then
10456 ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test.
10457 else
10458 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
10459 for as_dir in $PATH
10460 do
10461 IFS=$as_save_IFS
10462 case $as_dir in #(((
10463 '') as_dir=./ ;;
10464 */) ;;
10465 *) as_dir=$as_dir/ ;;
10466 esac
10467 for ac_exec_ext in '' $ac_executable_extensions; do
10468 if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
10469 ac_cv_prog_ac_ct_OTOOL="otool"
10470 printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
10471 break 2
10472 fi
10473 done
10474 done
10475 IFS=$as_save_IFS
10476
10477 fi
10478 fi
10479 ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL
10480 if test -n "$ac_ct_OTOOL"; then
10481 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5
10482 printf "%s\n" "$ac_ct_OTOOL" >&6; }
10483 else
10484 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
10485 printf "%s\n" "no" >&6; }
10486 fi
10487
10488 if test "x$ac_ct_OTOOL" = x; then
10489 OTOOL=":"
10490 else
10491 case $cross_compiling:$ac_tool_warned in
10492 yes:)
10493 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
10494 printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
10495 ac_tool_warned=yes ;;
10496 esac
10497 OTOOL=$ac_ct_OTOOL
10498 fi
10499 else
10500 OTOOL="$ac_cv_prog_OTOOL"
10501 fi
10502
10503 if test -n "$ac_tool_prefix"; then
10504 # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args.
10505 set dummy ${ac_tool_prefix}otool64; ac_word=$2
10506 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
10507 printf %s "checking for $ac_word... " >&6; }
10508 if test ${ac_cv_prog_OTOOL64+y}
10509 then :
10510 printf %s "(cached) " >&6
10511 else $as_nop
10512 if test -n "$OTOOL64"; then
10513 ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test.
10514 else
10515 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
10516 for as_dir in $PATH
10517 do
10518 IFS=$as_save_IFS
10519 case $as_dir in #(((
10520 '') as_dir=./ ;;
10521 */) ;;
10522 *) as_dir=$as_dir/ ;;
10523 esac
10524 for ac_exec_ext in '' $ac_executable_extensions; do
10525 if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
10526 ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
10527 printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
10528 break 2
10529 fi
10530 done
10531 done
10532 IFS=$as_save_IFS
10533
10534 fi
10535 fi
10536 OTOOL64=$ac_cv_prog_OTOOL64
10537 if test -n "$OTOOL64"; then
10538 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5
10539 printf "%s\n" "$OTOOL64" >&6; }
10540 else
10541 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
10542 printf "%s\n" "no" >&6; }
10543 fi
10544
10545
10546 fi
10547 if test -z "$ac_cv_prog_OTOOL64"; then
10548 ac_ct_OTOOL64=$OTOOL64
10549 # Extract the first word of "otool64", so it can be a program name with args.
10550 set dummy otool64; ac_word=$2
10551 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
10552 printf %s "checking for $ac_word... " >&6; }
10553 if test ${ac_cv_prog_ac_ct_OTOOL64+y}
10554 then :
10555 printf %s "(cached) " >&6
10556 else $as_nop
10557 if test -n "$ac_ct_OTOOL64"; then
10558 ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test.
10559 else
10560 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
10561 for as_dir in $PATH
10562 do
10563 IFS=$as_save_IFS
10564 case $as_dir in #(((
10565 '') as_dir=./ ;;
10566 */) ;;
10567 *) as_dir=$as_dir/ ;;
10568 esac
10569 for ac_exec_ext in '' $ac_executable_extensions; do
10570 if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
10571 ac_cv_prog_ac_ct_OTOOL64="otool64"
10572 printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
10573 break 2
10574 fi
10575 done
10576 done
10577 IFS=$as_save_IFS
10578
10579 fi
10580 fi
10581 ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64
10582 if test -n "$ac_ct_OTOOL64"; then
10583 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5
10584 printf "%s\n" "$ac_ct_OTOOL64" >&6; }
10585 else
10586 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
10587 printf "%s\n" "no" >&6; }
10588 fi
10589
10590 if test "x$ac_ct_OTOOL64" = x; then
10591 OTOOL64=":"
10592 else
10593 case $cross_compiling:$ac_tool_warned in
10594 yes:)
10595 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
10596 printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
10597 ac_tool_warned=yes ;;
10598 esac
10599 OTOOL64=$ac_ct_OTOOL64
10600 fi
10601 else
10602 OTOOL64="$ac_cv_prog_OTOOL64"
10603 fi
10604
10605
10606
10607
10608
10609
10610
10611
10612
10613
10614
10615
10616
10617
10618
10619
10620
10621
10622
10623
10624
10625
10626
10627
10628
10629
10630
10631 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
10632 printf %s "checking for -single_module linker flag... " >&6; }
10633 if test ${lt_cv_apple_cc_single_mod+y}
10634 then :
10635 printf %s "(cached) " >&6
10636 else $as_nop
10637 lt_cv_apple_cc_single_mod=no
10638 if test -z "${LT_MULTI_MODULE}"; then
10639 # By default we will add the -single_module flag. You can override
10640 # by either setting the environment variable LT_MULTI_MODULE
10641 # non-empty at configure time, or by adding -multi_module to the
10642 # link flags.
10643 rm -rf libconftest.dylib*
10644 echo "int foo(void){return 1;}" > conftest.c
10645 echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
10646 -dynamiclib -Wl,-single_module conftest.c" >&5
10647 $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
10648 -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
10649 _lt_result=$?
10650 # If there is a non-empty error log, and "single_module"
10651 # appears in it, assume the flag caused a linker warning
10652 if test -s conftest.err && $GREP single_module conftest.err; then
10653 cat conftest.err >&5
10654 # Otherwise, if the output was created with a 0 exit code from
10655 # the compiler, it worked.
10656 elif test -f libconftest.dylib && test $_lt_result -eq 0; then
10657 lt_cv_apple_cc_single_mod=yes
10658 else
10659 cat conftest.err >&5
10660 fi
10661 rm -rf libconftest.dylib*
10662 rm -f conftest.*
10663 fi
10664 fi
10665 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5
10666 printf "%s\n" "$lt_cv_apple_cc_single_mod" >&6; }
10667
10668 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
10669 printf %s "checking for -exported_symbols_list linker flag... " >&6; }
10670 if test ${lt_cv_ld_exported_symbols_list+y}
10671 then :
10672 printf %s "(cached) " >&6
10673 else $as_nop
10674 lt_cv_ld_exported_symbols_list=no
10675 save_LDFLAGS=$LDFLAGS
10676 echo "_main" > conftest.sym
10677 LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
10678 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
10679 /* end confdefs.h. */
10680
10681 int
10682 main (void)
10683 {
10684
10685 ;
10686 return 0;
10687 }
10688 _ACEOF
10689 if ac_fn_c_try_link "$LINENO"
10690 then :
10691 lt_cv_ld_exported_symbols_list=yes
10692 else $as_nop
10693 lt_cv_ld_exported_symbols_list=no
10694 fi
10695 rm -f core conftest.err conftest.$ac_objext conftest.beam \
10696 conftest$ac_exeext conftest.$ac_ext
10697 LDFLAGS="$save_LDFLAGS"
10698
10699 fi
10700 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5
10701 printf "%s\n" "$lt_cv_ld_exported_symbols_list" >&6; }
10702
10703 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5
10704 printf %s "checking for -force_load linker flag... " >&6; }
10705 if test ${lt_cv_ld_force_load+y}
10706 then :
10707 printf %s "(cached) " >&6
10708 else $as_nop
10709 lt_cv_ld_force_load=no
10710 cat > conftest.c << _LT_EOF
10711 int forced_loaded() { return 2;}
10712 _LT_EOF
10713 echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5
10714 $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
10715 echo "$AR cru libconftest.a conftest.o" >&5
10716 $AR cru libconftest.a conftest.o 2>&5
10717 echo "$RANLIB libconftest.a" >&5
10718 $RANLIB libconftest.a 2>&5
10719 cat > conftest.c << _LT_EOF
10720 int main() { return 0;}
10721 _LT_EOF
10722 echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5
10723 $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
10724 _lt_result=$?
10725 if test -s conftest.err && $GREP force_load conftest.err; then
10726 cat conftest.err >&5
10727 elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then
10728 lt_cv_ld_force_load=yes
10729 else
10730 cat conftest.err >&5
10731 fi
10732 rm -f conftest.err libconftest.a conftest conftest.c
10733 rm -rf conftest.dSYM
10734
10735 fi
10736 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5
10737 printf "%s\n" "$lt_cv_ld_force_load" >&6; }
10738 case $host_os in
10739 rhapsody* | darwin1.[012])
10740 _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
10741 darwin1.*)
10742 _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
10743 darwin*) # darwin 5.x on
10744 # if running on 10.5 or later, the deployment target defaults
10745 # to the OS version, if on x86, and 10.4, the deployment
10746 # target defaults to 10.4. Don't you love it?
10747 case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
10748 10.0,*86*-darwin8*|10.0,*-darwin[91]*)
10749 _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
10750 10.[012]*)
10751 _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
10752 10.*)
10753 _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
10754 esac
10755 ;;
10756 esac
10757 if test "$lt_cv_apple_cc_single_mod" = "yes"; then
10758 _lt_dar_single_mod='$single_module'
10759 fi
10760 if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
10761 _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
10762 else
10763 _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
10764 fi
10765 if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then
10766 _lt_dsymutil='~$DSYMUTIL $lib || :'
10767 else
10768 _lt_dsymutil=
10769 fi
10770 ;;
10771 esac
10772
10773 ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
10774 "
10775 if test "x$ac_cv_header_dlfcn_h" = xyes
10776 then :
10777 printf "%s\n" "#define HAVE_DLFCN_H 1" >>confdefs.h
10778
10779 fi
10780
10781
10782
10783
10784 func_stripname_cnf ()
10785 {
10786 case ${2} in
10787 .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
10788 *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
10789 esac
10790 } # func_stripname_cnf
10791
10792
10793
10794
10795
10796 # Set options
10797 enable_win32_dll=yes
10798
10799 case $host in
10800 *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*)
10801 if test -n "$ac_tool_prefix"; then
10802 # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
10803 set dummy ${ac_tool_prefix}as; ac_word=$2
10804 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
10805 printf %s "checking for $ac_word... " >&6; }
10806 if test ${ac_cv_prog_AS+y}
10807 then :
10808 printf %s "(cached) " >&6
10809 else $as_nop
10810 if test -n "$AS"; then
10811 ac_cv_prog_AS="$AS" # Let the user override the test.
10812 else
10813 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
10814 for as_dir in $PATH
10815 do
10816 IFS=$as_save_IFS
10817 case $as_dir in #(((
10818 '') as_dir=./ ;;
10819 */) ;;
10820 *) as_dir=$as_dir/ ;;
10821 esac
10822 for ac_exec_ext in '' $ac_executable_extensions; do
10823 if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
10824 ac_cv_prog_AS="${ac_tool_prefix}as"
10825 printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
10826 break 2
10827 fi
10828 done
10829 done
10830 IFS=$as_save_IFS
10831
10832 fi
10833 fi
10834 AS=$ac_cv_prog_AS
10835 if test -n "$AS"; then
10836 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AS" >&5
10837 printf "%s\n" "$AS" >&6; }
10838 else
10839 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
10840 printf "%s\n" "no" >&6; }
10841 fi
10842
10843
10844 fi
10845 if test -z "$ac_cv_prog_AS"; then
10846 ac_ct_AS=$AS
10847 # Extract the first word of "as", so it can be a program name with args.
10848 set dummy as; ac_word=$2
10849 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
10850 printf %s "checking for $ac_word... " >&6; }
10851 if test ${ac_cv_prog_ac_ct_AS+y}
10852 then :
10853 printf %s "(cached) " >&6
10854 else $as_nop
10855 if test -n "$ac_ct_AS"; then
10856 ac_cv_prog_ac_ct_AS="$ac_ct_AS" # Let the user override the test.
10857 else
10858 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
10859 for as_dir in $PATH
10860 do
10861 IFS=$as_save_IFS
10862 case $as_dir in #(((
10863 '') as_dir=./ ;;
10864 */) ;;
10865 *) as_dir=$as_dir/ ;;
10866 esac
10867 for ac_exec_ext in '' $ac_executable_extensions; do
10868 if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
10869 ac_cv_prog_ac_ct_AS="as"
10870 printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
10871 break 2
10872 fi
10873 done
10874 done
10875 IFS=$as_save_IFS
10876
10877 fi
10878 fi
10879 ac_ct_AS=$ac_cv_prog_ac_ct_AS
10880 if test -n "$ac_ct_AS"; then
10881 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AS" >&5
10882 printf "%s\n" "$ac_ct_AS" >&6; }
10883 else
10884 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
10885 printf "%s\n" "no" >&6; }
10886 fi
10887
10888 if test "x$ac_ct_AS" = x; then
10889 AS="false"
10890 else
10891 case $cross_compiling:$ac_tool_warned in
10892 yes:)
10893 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
10894 printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
10895 ac_tool_warned=yes ;;
10896 esac
10897 AS=$ac_ct_AS
10898 fi
10899 else
10900 AS="$ac_cv_prog_AS"
10901 fi
10902
10903 if test -n "$ac_tool_prefix"; then
10904 # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
10905 set dummy ${ac_tool_prefix}dlltool; ac_word=$2
10906 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
10907 printf %s "checking for $ac_word... " >&6; }
10908 if test ${ac_cv_prog_DLLTOOL+y}
10909 then :
10910 printf %s "(cached) " >&6
10911 else $as_nop
10912 if test -n "$DLLTOOL"; then
10913 ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
10914 else
10915 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
10916 for as_dir in $PATH
10917 do
10918 IFS=$as_save_IFS
10919 case $as_dir in #(((
10920 '') as_dir=./ ;;
10921 */) ;;
10922 *) as_dir=$as_dir/ ;;
10923 esac
10924 for ac_exec_ext in '' $ac_executable_extensions; do
10925 if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
10926 ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
10927 printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
10928 break 2
10929 fi
10930 done
10931 done
10932 IFS=$as_save_IFS
10933
10934 fi
10935 fi
10936 DLLTOOL=$ac_cv_prog_DLLTOOL
10937 if test -n "$DLLTOOL"; then
10938 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5
10939 printf "%s\n" "$DLLTOOL" >&6; }
10940 else
10941 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
10942 printf "%s\n" "no" >&6; }
10943 fi
10944
10945
10946 fi
10947 if test -z "$ac_cv_prog_DLLTOOL"; then
10948 ac_ct_DLLTOOL=$DLLTOOL
10949 # Extract the first word of "dlltool", so it can be a program name with args.
10950 set dummy dlltool; ac_word=$2
10951 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
10952 printf %s "checking for $ac_word... " >&6; }
10953 if test ${ac_cv_prog_ac_ct_DLLTOOL+y}
10954 then :
10955 printf %s "(cached) " >&6
10956 else $as_nop
10957 if test -n "$ac_ct_DLLTOOL"; then
10958 ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.
10959 else
10960 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
10961 for as_dir in $PATH
10962 do
10963 IFS=$as_save_IFS
10964 case $as_dir in #(((
10965 '') as_dir=./ ;;
10966 */) ;;
10967 *) as_dir=$as_dir/ ;;
10968 esac
10969 for ac_exec_ext in '' $ac_executable_extensions; do
10970 if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
10971 ac_cv_prog_ac_ct_DLLTOOL="dlltool"
10972 printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
10973 break 2
10974 fi
10975 done
10976 done
10977 IFS=$as_save_IFS
10978
10979 fi
10980 fi
10981 ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
10982 if test -n "$ac_ct_DLLTOOL"; then
10983 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5
10984 printf "%s\n" "$ac_ct_DLLTOOL" >&6; }
10985 else
10986 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
10987 printf "%s\n" "no" >&6; }
10988 fi
10989
10990 if test "x$ac_ct_DLLTOOL" = x; then
10991 DLLTOOL="false"
10992 else
10993 case $cross_compiling:$ac_tool_warned in
10994 yes:)
10995 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
10996 printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
10997 ac_tool_warned=yes ;;
10998 esac
10999 DLLTOOL=$ac_ct_DLLTOOL
11000 fi
11001 else
11002 DLLTOOL="$ac_cv_prog_DLLTOOL"
11003 fi
11004
11005 if test -n "$ac_tool_prefix"; then
11006 # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
11007 set dummy ${ac_tool_prefix}objdump; ac_word=$2
11008 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
11009 printf %s "checking for $ac_word... " >&6; }
11010 if test ${ac_cv_prog_OBJDUMP+y}
11011 then :
11012 printf %s "(cached) " >&6
11013 else $as_nop
11014 if test -n "$OBJDUMP"; then
11015 ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
11016 else
11017 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
11018 for as_dir in $PATH
11019 do
11020 IFS=$as_save_IFS
11021 case $as_dir in #(((
11022 '') as_dir=./ ;;
11023 */) ;;
11024 *) as_dir=$as_dir/ ;;
11025 esac
11026 for ac_exec_ext in '' $ac_executable_extensions; do
11027 if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
11028 ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
11029 printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
11030 break 2
11031 fi
11032 done
11033 done
11034 IFS=$as_save_IFS
11035
11036 fi
11037 fi
11038 OBJDUMP=$ac_cv_prog_OBJDUMP
11039 if test -n "$OBJDUMP"; then
11040 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5
11041 printf "%s\n" "$OBJDUMP" >&6; }
11042 else
11043 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
11044 printf "%s\n" "no" >&6; }
11045 fi
11046
11047
11048 fi
11049 if test -z "$ac_cv_prog_OBJDUMP"; then
11050 ac_ct_OBJDUMP=$OBJDUMP
11051 # Extract the first word of "objdump", so it can be a program name with args.
11052 set dummy objdump; ac_word=$2
11053 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
11054 printf %s "checking for $ac_word... " >&6; }
11055 if test ${ac_cv_prog_ac_ct_OBJDUMP+y}
11056 then :
11057 printf %s "(cached) " >&6
11058 else $as_nop
11059 if test -n "$ac_ct_OBJDUMP"; then
11060 ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
11061 else
11062 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
11063 for as_dir in $PATH
11064 do
11065 IFS=$as_save_IFS
11066 case $as_dir in #(((
11067 '') as_dir=./ ;;
11068 */) ;;
11069 *) as_dir=$as_dir/ ;;
11070 esac
11071 for ac_exec_ext in '' $ac_executable_extensions; do
11072 if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
11073 ac_cv_prog_ac_ct_OBJDUMP="objdump"
11074 printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
11075 break 2
11076 fi
11077 done
11078 done
11079 IFS=$as_save_IFS
11080
11081 fi
11082 fi
11083 ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
11084 if test -n "$ac_ct_OBJDUMP"; then
11085 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5
11086 printf "%s\n" "$ac_ct_OBJDUMP" >&6; }
11087 else
11088 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
11089 printf "%s\n" "no" >&6; }
11090 fi
11091
11092 if test "x$ac_ct_OBJDUMP" = x; then
11093 OBJDUMP="false"
11094 else
11095 case $cross_compiling:$ac_tool_warned in
11096 yes:)
11097 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
11098 printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
11099 ac_tool_warned=yes ;;
11100 esac
11101 OBJDUMP=$ac_ct_OBJDUMP
11102 fi
11103 else
11104 OBJDUMP="$ac_cv_prog_OBJDUMP"
11105 fi
11106
11107 ;;
11108 esac
11109
11110 test -z "$AS" && AS=as
11111
11112
11113
11114
11115
11116 test -z "$DLLTOOL" && DLLTOOL=dlltool
11117
11118
11119
11120
11121
11122 test -z "$OBJDUMP" && OBJDUMP=objdump
11123
11124
11125
11126
11127 # Check whether --enable-static was given.
11128 if test ${enable_static+y}
11129 then :
11130 enableval=$enable_static; p=${PACKAGE-default}
11131 case $enableval in
11132 yes) enable_static=yes ;;
11133 no) enable_static=no ;;
11134 *)
11135 enable_static=no
11136 # Look at the argument we got. We use all the common list separators.
11137 lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
11138 for pkg in $enableval; do
11139 IFS="$lt_save_ifs"
11140 if test "X$pkg" = "X$p"; then
11141 enable_static=yes
11142 fi
11143 done
11144 IFS="$lt_save_ifs"
11145 ;;
11146 esac
11147 else $as_nop
11148 enable_static=no
11149 fi
11150
11151
11152
11153
11154
11155
11156
11157
11158
11159
11160 enable_dlopen=no
11161
11162
11163
11164 # Check whether --enable-shared was given.
11165 if test ${enable_shared+y}
11166 then :
11167 enableval=$enable_shared; p=${PACKAGE-default}
11168 case $enableval in
11169 yes) enable_shared=yes ;;
11170 no) enable_shared=no ;;
11171 *)
11172 enable_shared=no
11173 # Look at the argument we got. We use all the common list separators.
11174 lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
11175 for pkg in $enableval; do
11176 IFS="$lt_save_ifs"
11177 if test "X$pkg" = "X$p"; then
11178 enable_shared=yes
11179 fi
11180 done
11181 IFS="$lt_save_ifs"
11182 ;;
11183 esac
11184 else $as_nop
11185 enable_shared=yes
11186 fi
11187
11188
11189
11190
11191
11192
11193
11194
11195
11196
11197
11198 # Check whether --with-pic was given.
11199 if test ${with_pic+y}
11200 then :
11201 withval=$with_pic; lt_p=${PACKAGE-default}
11202 case $withval in
11203 yes|no) pic_mode=$withval ;;
11204 *)
11205 pic_mode=default
11206 # Look at the argument we got. We use all the common list separators.
11207 lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
11208 for lt_pkg in $withval; do
11209 IFS="$lt_save_ifs"
11210 if test "X$lt_pkg" = "X$lt_p"; then
11211 pic_mode=yes
11212 fi
11213 done
11214 IFS="$lt_save_ifs"
11215 ;;
11216 esac
11217 else $as_nop
11218 pic_mode=default
11219 fi
11220
11221
11222 test -z "$pic_mode" && pic_mode=default
11223
11224
11225
11226
11227
11228
11229
11230 # Check whether --enable-fast-install was given.
11231 if test ${enable_fast_install+y}
11232 then :
11233 enableval=$enable_fast_install; p=${PACKAGE-default}
11234 case $enableval in
11235 yes) enable_fast_install=yes ;;
11236 no) enable_fast_install=no ;;
11237 *)
11238 enable_fast_install=no
11239 # Look at the argument we got. We use all the common list separators.
11240 lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
11241 for pkg in $enableval; do
11242 IFS="$lt_save_ifs"
11243 if test "X$pkg" = "X$p"; then
11244 enable_fast_install=yes
11245 fi
11246 done
11247 IFS="$lt_save_ifs"
11248 ;;
11249 esac
11250 else $as_nop
11251 enable_fast_install=yes
11252 fi
11253
11254
11255
11256
11257
11258
11259
11260
11261
11262
11263
11264 # This can be used to rebuild libtool when needed
11265 LIBTOOL_DEPS="$ltmain"
11266
11267 # Always use our own libtool.
11268 LIBTOOL='$(SHELL) $(top_builddir)/libtool'
11269
11270
11271
11272
11273
11274
11275
11276
11277
11278
11279
11280
11281
11282
11283
11284
11285
11286
11287
11288
11289
11290
11291
11292
11293
11294
11295
11296
11297
11298
11299 test -z "$LN_S" && LN_S="ln -s"
11300
11301
11302
11303
11304
11305
11306
11307
11308
11309
11310
11311
11312
11313
11314 if test -n "${ZSH_VERSION+set}" ; then
11315 setopt NO_GLOB_SUBST
11316 fi
11317
11318 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
11319 printf %s "checking for objdir... " >&6; }
11320 if test ${lt_cv_objdir+y}
11321 then :
11322 printf %s "(cached) " >&6
11323 else $as_nop
11324 rm -f .libs 2>/dev/null
11325 mkdir .libs 2>/dev/null
11326 if test -d .libs; then
11327 lt_cv_objdir=.libs
11328 else
11329 # MS-DOS does not allow filenames that begin with a dot.
11330 lt_cv_objdir=_libs
11331 fi
11332 rmdir .libs 2>/dev/null
11333 fi
11334 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5
11335 printf "%s\n" "$lt_cv_objdir" >&6; }
11336 objdir=$lt_cv_objdir
11337
11338
11339
11340
11341
11342 printf "%s\n" "#define LT_OBJDIR \"$lt_cv_objdir/\"" >>confdefs.h
11343
11344
11345
11346
11347 case $host_os in
11348 aix3*)
11349 # AIX sometimes has problems with the GCC collect2 program. For some
11350 # reason, if we set the COLLECT_NAMES environment variable, the problems
11351 # vanish in a puff of smoke.
11352 if test "X${COLLECT_NAMES+set}" != Xset; then
11353 COLLECT_NAMES=
11354 export COLLECT_NAMES
11355 fi
11356 ;;
11357 esac
11358
11359 # Global variables:
11360 ofile=libtool
11361 can_build_shared=yes
11362
11363 # All known linkers require a `.a' archive for static linking (except MSVC,
11364 # which needs '.lib').
11365 libext=a
11366
11367 with_gnu_ld="$lt_cv_prog_gnu_ld"
11368
11369 old_CC="$CC"
11370 old_CFLAGS="$CFLAGS"
11371
11372 # Set sane defaults for various variables
11373 test -z "$CC" && CC=cc
11374 test -z "$LTCC" && LTCC=$CC
11375 test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
11376 test -z "$LD" && LD=ld
11377 test -z "$ac_objext" && ac_objext=o
11378
11379 for cc_temp in $compiler""; do
11380 case $cc_temp in
11381 compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
11382 distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
11383 \-*) ;;
11384 *) break;;
11385 esac
11386 done
11387 cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
11388
11389
11390 # Only perform the check for file, if the check method requires it
11391 test -z "$MAGIC_CMD" && MAGIC_CMD=file
11392 case $deplibs_check_method in
11393 file_magic*)
11394 if test "$file_magic_cmd" = '$MAGIC_CMD'; then
11395 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5
11396 printf %s "checking for ${ac_tool_prefix}file... " >&6; }
11397 if test ${lt_cv_path_MAGIC_CMD+y}
11398 then :
11399 printf %s "(cached) " >&6
11400 else $as_nop
11401 case $MAGIC_CMD in
11402 [\\/*] | ?:[\\/]*)
11403 lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
11404 ;;
11405 *)
11406 lt_save_MAGIC_CMD="$MAGIC_CMD"
11407 lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
11408 ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
11409 for ac_dir in $ac_dummy; do
11410 IFS="$lt_save_ifs"
11411 test -z "$ac_dir" && ac_dir=.
11412 if test -f $ac_dir/${ac_tool_prefix}file; then
11413 lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file"
11414 if test -n "$file_magic_test_file"; then
11415 case $deplibs_check_method in
11416 "file_magic "*)
11417 file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
11418 MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
11419 if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
11420 $EGREP "$file_magic_regex" > /dev/null; then
11421 :
11422 else
11423 cat <<_LT_EOF 1>&2
11424
11425 *** Warning: the command libtool uses to detect shared libraries,
11426 *** $file_magic_cmd, produces output that libtool cannot recognize.
11427 *** The result is that libtool may fail to recognize shared libraries
11428 *** as such. This will affect the creation of libtool libraries that
11429 *** depend on shared libraries, but programs linked with such libtool
11430 *** libraries will work regardless of this problem. Nevertheless, you
11431 *** may want to report the problem to your system manager and/or to
11432 *** bug-libtool@gnu.org
11433
11434 _LT_EOF
11435 fi ;;
11436 esac
11437 fi
11438 break
11439 fi
11440 done
11441 IFS="$lt_save_ifs"
11442 MAGIC_CMD="$lt_save_MAGIC_CMD"
11443 ;;
11444 esac
11445 fi
11446
11447 MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
11448 if test -n "$MAGIC_CMD"; then
11449 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
11450 printf "%s\n" "$MAGIC_CMD" >&6; }
11451 else
11452 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
11453 printf "%s\n" "no" >&6; }
11454 fi
11455
11456
11457
11458
11459
11460 if test -z "$lt_cv_path_MAGIC_CMD"; then
11461 if test -n "$ac_tool_prefix"; then
11462 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for file" >&5
11463 printf %s "checking for file... " >&6; }
11464 if test ${lt_cv_path_MAGIC_CMD+y}
11465 then :
11466 printf %s "(cached) " >&6
11467 else $as_nop
11468 case $MAGIC_CMD in
11469 [\\/*] | ?:[\\/]*)
11470 lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
11471 ;;
11472 *)
11473 lt_save_MAGIC_CMD="$MAGIC_CMD"
11474 lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
11475 ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
11476 for ac_dir in $ac_dummy; do
11477 IFS="$lt_save_ifs"
11478 test -z "$ac_dir" && ac_dir=.
11479 if test -f $ac_dir/file; then
11480 lt_cv_path_MAGIC_CMD="$ac_dir/file"
11481 if test -n "$file_magic_test_file"; then
11482 case $deplibs_check_method in
11483 "file_magic "*)
11484 file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
11485 MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
11486 if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
11487 $EGREP "$file_magic_regex" > /dev/null; then
11488 :
11489 else
11490 cat <<_LT_EOF 1>&2
11491
11492 *** Warning: the command libtool uses to detect shared libraries,
11493 *** $file_magic_cmd, produces output that libtool cannot recognize.
11494 *** The result is that libtool may fail to recognize shared libraries
11495 *** as such. This will affect the creation of libtool libraries that
11496 *** depend on shared libraries, but programs linked with such libtool
11497 *** libraries will work regardless of this problem. Nevertheless, you
11498 *** may want to report the problem to your system manager and/or to
11499 *** bug-libtool@gnu.org
11500
11501 _LT_EOF
11502 fi ;;
11503 esac
11504 fi
11505 break
11506 fi
11507 done
11508 IFS="$lt_save_ifs"
11509 MAGIC_CMD="$lt_save_MAGIC_CMD"
11510 ;;
11511 esac
11512 fi
11513
11514 MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
11515 if test -n "$MAGIC_CMD"; then
11516 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
11517 printf "%s\n" "$MAGIC_CMD" >&6; }
11518 else
11519 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
11520 printf "%s\n" "no" >&6; }
11521 fi
11522
11523
11524 else
11525 MAGIC_CMD=:
11526 fi
11527 fi
11528
11529 fi
11530 ;;
11531 esac
11532
11533 # Use C for the default configuration in the libtool script
11534
11535 lt_save_CC="$CC"
11536 ac_ext=c
11537 ac_cpp='$CPP $CPPFLAGS'
11538 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
11539 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
11540 ac_compiler_gnu=$ac_cv_c_compiler_gnu
11541
11542
11543 # Source file extension for C test sources.
11544 ac_ext=c
11545
11546 # Object file extension for compiled C test sources.
11547 objext=o
11548 objext=$objext
11549
11550 # Code to be used in simple compile tests
11551 lt_simple_compile_test_code="int some_variable = 0;"
11552
11553 # Code to be used in simple link tests
11554 lt_simple_link_test_code='int main(){return(0);}'
11555
11556
11557
11558
11559
11560
11561
11562 # If no C compiler was specified, use CC.
11563 LTCC=${LTCC-"$CC"}
11564
11565 # If no C compiler flags were specified, use CFLAGS.
11566 LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
11567
11568 # Allow CC to be a program name with arguments.
11569 compiler=$CC
11570
11571 # Save the default compiler, since it gets overwritten when the other
11572 # tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
11573 compiler_DEFAULT=$CC
11574
11575 # save warnings/boilerplate of simple test code
11576 ac_outfile=conftest.$ac_objext
11577 echo "$lt_simple_compile_test_code" >conftest.$ac_ext
11578 eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
11579 _lt_compiler_boilerplate=`cat conftest.err`
11580 $RM conftest*
11581
11582 ac_outfile=conftest.$ac_objext
11583 echo "$lt_simple_link_test_code" >conftest.$ac_ext
11584 eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
11585 _lt_linker_boilerplate=`cat conftest.err`
11586 $RM -r conftest*
11587
11588
11589 ## CAVEAT EMPTOR:
11590 ## There is no encapsulation within the following macros, do not change
11591 ## the running order or otherwise move them around unless you know exactly
11592 ## what you are doing...
11593 if test -n "$compiler"; then
11594
11595 lt_prog_compiler_no_builtin_flag=
11596
11597 if test "$GCC" = yes; then
11598 case $cc_basename in
11599 nvcc*)
11600 lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;;
11601 *)
11602 lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;;
11603 esac
11604
11605 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
11606 printf %s "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
11607 if test ${lt_cv_prog_compiler_rtti_exceptions+y}
11608 then :
11609 printf %s "(cached) " >&6
11610 else $as_nop
11611 lt_cv_prog_compiler_rtti_exceptions=no
11612 ac_outfile=conftest.$ac_objext
11613 echo "$lt_simple_compile_test_code" > conftest.$ac_ext
11614 lt_compiler_flag="-fno-rtti -fno-exceptions"
11615 # Insert the option either (1) after the last *FLAGS variable, or
11616 # (2) before a word containing "conftest.", or (3) at the end.
11617 # Note that $ac_compile itself does not contain backslashes and begins
11618 # with a dollar sign (not a hyphen), so the echo should work correctly.
11619 # The option is referenced via a variable to avoid confusing sed.
11620 lt_compile=`echo "$ac_compile" | $SED \
11621 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
11622 -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
11623 -e 's:$: $lt_compiler_flag:'`
11624 (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
11625 (eval "$lt_compile" 2>conftest.err)
11626 ac_status=$?
11627 cat conftest.err >&5
11628 echo "$as_me:$LINENO: \$? = $ac_status" >&5
11629 if (exit $ac_status) && test -s "$ac_outfile"; then
11630 # The compiler can only warn and ignore the option if not recognized
11631 # So say no if there are warnings other than the usual output.
11632 $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
11633 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
11634 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
11635 lt_cv_prog_compiler_rtti_exceptions=yes
11636 fi
11637 fi
11638 $RM conftest*
11639
11640 fi
11641 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
11642 printf "%s\n" "$lt_cv_prog_compiler_rtti_exceptions" >&6; }
11643
11644 if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
11645 lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
11646 else
11647 :
11648 fi
11649
11650 fi
11651
11652
11653
11654
11655
11656
11657 lt_prog_compiler_wl=
11658 lt_prog_compiler_pic=
11659 lt_prog_compiler_static=
11660
11661
11662 if test "$GCC" = yes; then
11663 lt_prog_compiler_wl='-Wl,'
11664 lt_prog_compiler_static='-static'
11665
11666 case $host_os in
11667 aix*)
11668 # All AIX code is PIC.
11669 if test "$host_cpu" = ia64; then
11670 # AIX 5 now supports IA64 processor
11671 lt_prog_compiler_static='-Bstatic'
11672 fi
11673 ;;
11674
11675 amigaos*)
11676 case $host_cpu in
11677 powerpc)
11678 # see comment about AmigaOS4 .so support
11679 lt_prog_compiler_pic='-fPIC'
11680 ;;
11681 m68k)
11682 # FIXME: we need at least 68020 code to build shared libraries, but
11683 # adding the `-m68020' flag to GCC prevents building anything better,
11684 # like `-m68040'.
11685 lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
11686 ;;
11687 esac
11688 ;;
11689
11690 beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
11691 # PIC is the default for these OSes.
11692 ;;
11693
11694 mingw* | cygwin* | pw32* | os2* | cegcc*)
11695 # This hack is so that the source file can tell whether it is being
11696 # built for inclusion in a dll (and should export symbols for example).
11697 # Although the cygwin gcc ignores -fPIC, still need this for old-style
11698 # (--disable-auto-import) libraries
11699 lt_prog_compiler_pic='-DDLL_EXPORT'
11700 ;;
11701
11702 darwin* | rhapsody*)
11703 # PIC is the default on this platform
11704 # Common symbols not allowed in MH_DYLIB files
11705 lt_prog_compiler_pic='-fno-common'
11706 ;;
11707
11708 haiku*)
11709 # PIC is the default for Haiku.
11710 # The "-static" flag exists, but is broken.
11711 lt_prog_compiler_static=
11712 ;;
11713
11714 hpux*)
11715 # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
11716 # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
11717 # sets the default TLS model and affects inlining.
11718 case $host_cpu in
11719 hppa*64*)
11720 # +Z the default
11721 ;;
11722 *)
11723 lt_prog_compiler_pic='-fPIC'
11724 ;;
11725 esac
11726 ;;
11727
11728 interix[3-9]*)
11729 # Interix 3.x gcc -fpic/-fPIC options generate broken code.
11730 # Instead, we relocate shared libraries at runtime.
11731 ;;
11732
11733 msdosdjgpp*)
11734 # Just because we use GCC doesn't mean we suddenly get shared libraries
11735 # on systems that don't support them.
11736 lt_prog_compiler_can_build_shared=no
11737 enable_shared=no
11738 ;;
11739
11740 *nto* | *qnx*)
11741 # QNX uses GNU C++, but need to define -shared option too, otherwise
11742 # it will coredump.
11743 lt_prog_compiler_pic='-fPIC -shared'
11744 ;;
11745
11746 sysv4*MP*)
11747 if test -d /usr/nec; then
11748 lt_prog_compiler_pic=-Kconform_pic
11749 fi
11750 ;;
11751
11752 *)
11753 lt_prog_compiler_pic='-fPIC'
11754 ;;
11755 esac
11756
11757 case $cc_basename in
11758 nvcc*) # Cuda Compiler Driver 2.2
11759 lt_prog_compiler_wl='-Xlinker '
11760 if test -n "$lt_prog_compiler_pic"; then
11761 lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic"
11762 fi
11763 ;;
11764 esac
11765 else
11766 # PORTME Check for flag to pass linker flags through the system compiler.
11767 case $host_os in
11768 aix*)
11769 lt_prog_compiler_wl='-Wl,'
11770 if test "$host_cpu" = ia64; then
11771 # AIX 5 now supports IA64 processor
11772 lt_prog_compiler_static='-Bstatic'
11773 else
11774 lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp'
11775 fi
11776 ;;
11777
11778 mingw* | cygwin* | pw32* | os2* | cegcc*)
11779 # This hack is so that the source file can tell whether it is being
11780 # built for inclusion in a dll (and should export symbols for example).
11781 lt_prog_compiler_pic='-DDLL_EXPORT'
11782 ;;
11783
11784 hpux9* | hpux10* | hpux11*)
11785 lt_prog_compiler_wl='-Wl,'
11786 # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
11787 # not for PA HP-UX.
11788 case $host_cpu in
11789 hppa*64*|ia64*)
11790 # +Z the default
11791 ;;
11792 *)
11793 lt_prog_compiler_pic='+Z'
11794 ;;
11795 esac
11796 # Is there a better lt_prog_compiler_static that works with the bundled CC?
11797 lt_prog_compiler_static='${wl}-a ${wl}archive'
11798 ;;
11799
11800 irix5* | irix6* | nonstopux*)
11801 lt_prog_compiler_wl='-Wl,'
11802 # PIC (with -KPIC) is the default.
11803 lt_prog_compiler_static='-non_shared'
11804 ;;
11805
11806 linux* | k*bsd*-gnu | kopensolaris*-gnu)
11807 case $cc_basename in
11808 # old Intel for x86_64 which still supported -KPIC.
11809 ecc*)
11810 lt_prog_compiler_wl='-Wl,'
11811 lt_prog_compiler_pic='-KPIC'
11812 lt_prog_compiler_static='-static'
11813 ;;
11814 # icc used to be incompatible with GCC.
11815 # ICC 10 doesn't accept -KPIC any more.
11816 icc* | ifort*)
11817 lt_prog_compiler_wl='-Wl,'
11818 lt_prog_compiler_pic='-fPIC'
11819 lt_prog_compiler_static='-static'
11820 ;;
11821 # Lahey Fortran 8.1.
11822 lf95*)
11823 lt_prog_compiler_wl='-Wl,'
11824 lt_prog_compiler_pic='--shared'
11825 lt_prog_compiler_static='--static'
11826 ;;
11827 nagfor*)
11828 # NAG Fortran compiler
11829 lt_prog_compiler_wl='-Wl,-Wl,,'
11830 lt_prog_compiler_pic='-PIC'
11831 lt_prog_compiler_static='-Bstatic'
11832 ;;
11833 pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
11834 # Portland Group compilers (*not* the Pentium gcc compiler,
11835 # which looks to be a dead project)
11836 lt_prog_compiler_wl='-Wl,'
11837 lt_prog_compiler_pic='-fpic'
11838 lt_prog_compiler_static='-Bstatic'
11839 ;;
11840 ccc*)
11841 lt_prog_compiler_wl='-Wl,'
11842 # All Alpha code is PIC.
11843 lt_prog_compiler_static='-non_shared'
11844 ;;
11845 xl* | bgxl* | bgf* | mpixl*)
11846 # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
11847 lt_prog_compiler_wl='-Wl,'
11848 lt_prog_compiler_pic='-qpic'
11849 lt_prog_compiler_static='-qstaticlink'
11850 ;;
11851 *)
11852 case `$CC -V 2>&1 | sed 5q` in
11853 *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*)
11854 # Sun Fortran 8.3 passes all unrecognized flags to the linker
11855 lt_prog_compiler_pic='-KPIC'
11856 lt_prog_compiler_static='-Bstatic'
11857 lt_prog_compiler_wl=''
11858 ;;
11859 *Sun\ F* | *Sun*Fortran*)
11860 lt_prog_compiler_pic='-KPIC'
11861 lt_prog_compiler_static='-Bstatic'
11862 lt_prog_compiler_wl='-Qoption ld '
11863 ;;
11864 *Sun\ C*)
11865 # Sun C 5.9
11866 lt_prog_compiler_pic='-KPIC'
11867 lt_prog_compiler_static='-Bstatic'
11868 lt_prog_compiler_wl='-Wl,'
11869 ;;
11870 *Intel*\ [CF]*Compiler*)
11871 lt_prog_compiler_wl='-Wl,'
11872 lt_prog_compiler_pic='-fPIC'
11873 lt_prog_compiler_static='-static'
11874 ;;
11875 *Portland\ Group*)
11876 lt_prog_compiler_wl='-Wl,'
11877 lt_prog_compiler_pic='-fpic'
11878 lt_prog_compiler_static='-Bstatic'
11879 ;;
11880 esac
11881 ;;
11882 esac
11883 ;;
11884
11885 newsos6)
11886 lt_prog_compiler_pic='-KPIC'
11887 lt_prog_compiler_static='-Bstatic'
11888 ;;
11889
11890 *nto* | *qnx*)
11891 # QNX uses GNU C++, but need to define -shared option too, otherwise
11892 # it will coredump.
11893 lt_prog_compiler_pic='-fPIC -shared'
11894 ;;
11895
11896 osf3* | osf4* | osf5*)
11897 lt_prog_compiler_wl='-Wl,'
11898 # All OSF/1 code is PIC.
11899 lt_prog_compiler_static='-non_shared'
11900 ;;
11901
11902 rdos*)
11903 lt_prog_compiler_static='-non_shared'
11904 ;;
11905
11906 solaris*)
11907 lt_prog_compiler_pic='-KPIC'
11908 lt_prog_compiler_static='-Bstatic'
11909 case $cc_basename in
11910 f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
11911 lt_prog_compiler_wl='-Qoption ld ';;
11912 *)
11913 lt_prog_compiler_wl='-Wl,';;
11914 esac
11915 ;;
11916
11917 sunos4*)
11918 lt_prog_compiler_wl='-Qoption ld '
11919 lt_prog_compiler_pic='-PIC'
11920 lt_prog_compiler_static='-Bstatic'
11921 ;;
11922
11923 sysv4 | sysv4.2uw2* | sysv4.3*)
11924 lt_prog_compiler_wl='-Wl,'
11925 lt_prog_compiler_pic='-KPIC'
11926 lt_prog_compiler_static='-Bstatic'
11927 ;;
11928
11929 sysv4*MP*)
11930 if test -d /usr/nec ;then
11931 lt_prog_compiler_pic='-Kconform_pic'
11932 lt_prog_compiler_static='-Bstatic'
11933 fi
11934 ;;
11935
11936 sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
11937 lt_prog_compiler_wl='-Wl,'
11938 lt_prog_compiler_pic='-KPIC'
11939 lt_prog_compiler_static='-Bstatic'
11940 ;;
11941
11942 unicos*)
11943 lt_prog_compiler_wl='-Wl,'
11944 lt_prog_compiler_can_build_shared=no
11945 ;;
11946
11947 uts4*)
11948 lt_prog_compiler_pic='-pic'
11949 lt_prog_compiler_static='-Bstatic'
11950 ;;
11951
11952 *)
11953 lt_prog_compiler_can_build_shared=no
11954 ;;
11955 esac
11956 fi
11957
11958 case $host_os in
11959 # For platforms which do not support PIC, -DPIC is meaningless:
11960 *djgpp*)
11961 lt_prog_compiler_pic=
11962 ;;
11963 *)
11964 lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
11965 ;;
11966 esac
11967
11968 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
11969 printf %s "checking for $compiler option to produce PIC... " >&6; }
11970 if test ${lt_cv_prog_compiler_pic+y}
11971 then :
11972 printf %s "(cached) " >&6
11973 else $as_nop
11974 lt_cv_prog_compiler_pic=$lt_prog_compiler_pic
11975 fi
11976 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5
11977 printf "%s\n" "$lt_cv_prog_compiler_pic" >&6; }
11978 lt_prog_compiler_pic=$lt_cv_prog_compiler_pic
11979
11980 #
11981 # Check to make sure the PIC flag actually works.
11982 #
11983 if test -n "$lt_prog_compiler_pic"; then
11984 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
11985 printf %s "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
11986 if test ${lt_cv_prog_compiler_pic_works+y}
11987 then :
11988 printf %s "(cached) " >&6
11989 else $as_nop
11990 lt_cv_prog_compiler_pic_works=no
11991 ac_outfile=conftest.$ac_objext
11992 echo "$lt_simple_compile_test_code" > conftest.$ac_ext
11993 lt_compiler_flag="$lt_prog_compiler_pic -DPIC"
11994 # Insert the option either (1) after the last *FLAGS variable, or
11995 # (2) before a word containing "conftest.", or (3) at the end.
11996 # Note that $ac_compile itself does not contain backslashes and begins
11997 # with a dollar sign (not a hyphen), so the echo should work correctly.
11998 # The option is referenced via a variable to avoid confusing sed.
11999 lt_compile=`echo "$ac_compile" | $SED \
12000 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
12001 -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
12002 -e 's:$: $lt_compiler_flag:'`
12003 (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
12004 (eval "$lt_compile" 2>conftest.err)
12005 ac_status=$?
12006 cat conftest.err >&5
12007 echo "$as_me:$LINENO: \$? = $ac_status" >&5
12008 if (exit $ac_status) && test -s "$ac_outfile"; then
12009 # The compiler can only warn and ignore the option if not recognized
12010 # So say no if there are warnings other than the usual output.
12011 $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
12012 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
12013 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
12014 lt_cv_prog_compiler_pic_works=yes
12015 fi
12016 fi
12017 $RM conftest*
12018
12019 fi
12020 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5
12021 printf "%s\n" "$lt_cv_prog_compiler_pic_works" >&6; }
12022
12023 if test x"$lt_cv_prog_compiler_pic_works" = xyes; then
12024 case $lt_prog_compiler_pic in
12025 "" | " "*) ;;
12026 *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
12027 esac
12028 else
12029 lt_prog_compiler_pic=
12030 lt_prog_compiler_can_build_shared=no
12031 fi
12032
12033 fi
12034
12035
12036
12037
12038
12039
12040
12041
12042
12043
12044
12045 #
12046 # Check to make sure the static flag actually works.
12047 #
12048 wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
12049 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
12050 printf %s "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
12051 if test ${lt_cv_prog_compiler_static_works+y}
12052 then :
12053 printf %s "(cached) " >&6
12054 else $as_nop
12055 lt_cv_prog_compiler_static_works=no
12056 save_LDFLAGS="$LDFLAGS"
12057 LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
12058 echo "$lt_simple_link_test_code" > conftest.$ac_ext
12059 if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
12060 # The linker can only warn and ignore the option if not recognized
12061 # So say no if there are warnings
12062 if test -s conftest.err; then
12063 # Append any errors to the config.log.
12064 cat conftest.err 1>&5
12065 $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
12066 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
12067 if diff conftest.exp conftest.er2 >/dev/null; then
12068 lt_cv_prog_compiler_static_works=yes
12069 fi
12070 else
12071 lt_cv_prog_compiler_static_works=yes
12072 fi
12073 fi
12074 $RM -r conftest*
12075 LDFLAGS="$save_LDFLAGS"
12076
12077 fi
12078 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5
12079 printf "%s\n" "$lt_cv_prog_compiler_static_works" >&6; }
12080
12081 if test x"$lt_cv_prog_compiler_static_works" = xyes; then
12082 :
12083 else
12084 lt_prog_compiler_static=
12085 fi
12086
12087
12088
12089
12090
12091
12092
12093 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
12094 printf %s "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
12095 if test ${lt_cv_prog_compiler_c_o+y}
12096 then :
12097 printf %s "(cached) " >&6
12098 else $as_nop
12099 lt_cv_prog_compiler_c_o=no
12100 $RM -r conftest 2>/dev/null
12101 mkdir conftest
12102 cd conftest
12103 mkdir out
12104 echo "$lt_simple_compile_test_code" > conftest.$ac_ext
12105
12106 lt_compiler_flag="-o out/conftest2.$ac_objext"
12107 # Insert the option either (1) after the last *FLAGS variable, or
12108 # (2) before a word containing "conftest.", or (3) at the end.
12109 # Note that $ac_compile itself does not contain backslashes and begins
12110 # with a dollar sign (not a hyphen), so the echo should work correctly.
12111 lt_compile=`echo "$ac_compile" | $SED \
12112 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
12113 -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
12114 -e 's:$: $lt_compiler_flag:'`
12115 (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
12116 (eval "$lt_compile" 2>out/conftest.err)
12117 ac_status=$?
12118 cat out/conftest.err >&5
12119 echo "$as_me:$LINENO: \$? = $ac_status" >&5
12120 if (exit $ac_status) && test -s out/conftest2.$ac_objext
12121 then
12122 # The compiler can only warn and ignore the option if not recognized
12123 # So say no if there are warnings
12124 $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
12125 $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
12126 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
12127 lt_cv_prog_compiler_c_o=yes
12128 fi
12129 fi
12130 chmod u+w . 2>&5
12131 $RM conftest*
12132 # SGI C++ compiler will create directory out/ii_files/ for
12133 # template instantiation
12134 test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
12135 $RM out/* && rmdir out
12136 cd ..
12137 $RM -r conftest
12138 $RM conftest*
12139
12140 fi
12141 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
12142 printf "%s\n" "$lt_cv_prog_compiler_c_o" >&6; }
12143
12144
12145
12146
12147
12148
12149 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
12150 printf %s "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
12151 if test ${lt_cv_prog_compiler_c_o+y}
12152 then :
12153 printf %s "(cached) " >&6
12154 else $as_nop
12155 lt_cv_prog_compiler_c_o=no
12156 $RM -r conftest 2>/dev/null
12157 mkdir conftest
12158 cd conftest
12159 mkdir out
12160 echo "$lt_simple_compile_test_code" > conftest.$ac_ext
12161
12162 lt_compiler_flag="-o out/conftest2.$ac_objext"
12163 # Insert the option either (1) after the last *FLAGS variable, or
12164 # (2) before a word containing "conftest.", or (3) at the end.
12165 # Note that $ac_compile itself does not contain backslashes and begins
12166 # with a dollar sign (not a hyphen), so the echo should work correctly.
12167 lt_compile=`echo "$ac_compile" | $SED \
12168 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
12169 -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
12170 -e 's:$: $lt_compiler_flag:'`
12171 (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
12172 (eval "$lt_compile" 2>out/conftest.err)
12173 ac_status=$?
12174 cat out/conftest.err >&5
12175 echo "$as_me:$LINENO: \$? = $ac_status" >&5
12176 if (exit $ac_status) && test -s out/conftest2.$ac_objext
12177 then
12178 # The compiler can only warn and ignore the option if not recognized
12179 # So say no if there are warnings
12180 $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
12181 $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
12182 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
12183 lt_cv_prog_compiler_c_o=yes
12184 fi
12185 fi
12186 chmod u+w . 2>&5
12187 $RM conftest*
12188 # SGI C++ compiler will create directory out/ii_files/ for
12189 # template instantiation
12190 test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
12191 $RM out/* && rmdir out
12192 cd ..
12193 $RM -r conftest
12194 $RM conftest*
12195
12196 fi
12197 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
12198 printf "%s\n" "$lt_cv_prog_compiler_c_o" >&6; }
12199
12200
12201
12202
12203 hard_links="nottested"
12204 if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then
12205 # do not overwrite the value of need_locks provided by the user
12206 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5
12207 printf %s "checking if we can lock with hard links... " >&6; }
12208 hard_links=yes
12209 $RM conftest*
12210 ln conftest.a conftest.b 2>/dev/null && hard_links=no
12211 touch conftest.a
12212 ln conftest.a conftest.b 2>&5 || hard_links=no
12213 ln conftest.a conftest.b 2>/dev/null && hard_links=no
12214 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
12215 printf "%s\n" "$hard_links" >&6; }
12216 if test "$hard_links" = no; then
12217 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
12218 printf "%s\n" "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
12219 need_locks=warn
12220 fi
12221 else
12222 need_locks=no
12223 fi
12224
12225
12226
12227
12228
12229
12230 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
12231 printf %s "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
12232
12233 runpath_var=
12234 allow_undefined_flag=
12235 always_export_symbols=no
12236 archive_cmds=
12237 archive_expsym_cmds=
12238 compiler_needs_object=no
12239 enable_shared_with_static_runtimes=no
12240 export_dynamic_flag_spec=
12241 export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
12242 hardcode_automatic=no
12243 hardcode_direct=no
12244 hardcode_direct_absolute=no
12245 hardcode_libdir_flag_spec=
12246 hardcode_libdir_separator=
12247 hardcode_minus_L=no
12248 hardcode_shlibpath_var=unsupported
12249 inherit_rpath=no
12250 link_all_deplibs=unknown
12251 module_cmds=
12252 module_expsym_cmds=
12253 old_archive_from_new_cmds=
12254 old_archive_from_expsyms_cmds=
12255 thread_safe_flag_spec=
12256 whole_archive_flag_spec=
12257 # include_expsyms should be a list of space-separated symbols to be *always*
12258 # included in the symbol list
12259 include_expsyms=
12260 # exclude_expsyms can be an extended regexp of symbols to exclude
12261 # it will be wrapped by ` (' and `)$', so one must not match beginning or
12262 # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
12263 # as well as any symbol that contains `d'.
12264 exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
12265 # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
12266 # platforms (ab)use it in PIC code, but their linkers get confused if
12267 # the symbol is explicitly referenced. Since portable code cannot
12268 # rely on this symbol name, it's probably fine to never include it in
12269 # preloaded symbol tables.
12270 # Exclude shared library initialization/finalization symbols.
12271 extract_expsyms_cmds=
12272
12273 case $host_os in
12274 cygwin* | mingw* | pw32* | cegcc*)
12275 # FIXME: the MSVC++ port hasn't been tested in a loooong time
12276 # When not using gcc, we currently assume that we are using
12277 # Microsoft Visual C++.
12278 if test "$GCC" != yes; then
12279 with_gnu_ld=no
12280 fi
12281 ;;
12282 interix*)
12283 # we just hope/assume this is gcc and not c89 (= MSVC++)
12284 with_gnu_ld=yes
12285 ;;
12286 openbsd*)
12287 with_gnu_ld=no
12288 ;;
12289 linux* | k*bsd*-gnu | gnu*)
12290 link_all_deplibs=no
12291 ;;
12292 esac
12293
12294 ld_shlibs=yes
12295
12296 # On some targets, GNU ld is compatible enough with the native linker
12297 # that we're better off using the native interface for both.
12298 lt_use_gnu_ld_interface=no
12299 if test "$with_gnu_ld" = yes; then
12300 case $host_os in
12301 aix*)
12302 # The AIX port of GNU ld has always aspired to compatibility
12303 # with the native linker. However, as the warning in the GNU ld
12304 # block says, versions before 2.19.5* couldn't really create working
12305 # shared libraries, regardless of the interface used.
12306 case `$LD -v 2>&1` in
12307 *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
12308 *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;;
12309 *\ \(GNU\ Binutils\)\ [3-9]*) ;;
12310 *)
12311 lt_use_gnu_ld_interface=yes
12312 ;;
12313 esac
12314 ;;
12315 *)
12316 lt_use_gnu_ld_interface=yes
12317 ;;
12318 esac
12319 fi
12320
12321 if test "$lt_use_gnu_ld_interface" = yes; then
12322 # If archive_cmds runs LD, not CC, wlarc should be empty
12323 wlarc='${wl}'
12324
12325 # Set some defaults for GNU ld with shared library support. These
12326 # are reset later if shared libraries are not supported. Putting them
12327 # here allows them to be overridden if necessary.
12328 runpath_var=LD_RUN_PATH
12329 hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
12330 export_dynamic_flag_spec='${wl}--export-dynamic'
12331 # ancient GNU ld didn't support --whole-archive et. al.
12332 if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
12333 whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
12334 else
12335 whole_archive_flag_spec=
12336 fi
12337 supports_anon_versioning=no
12338 case `$LD -v 2>&1` in
12339 *GNU\ gold*) supports_anon_versioning=yes ;;
12340 *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
12341 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
12342 *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
12343 *\ 2.11.*) ;; # other 2.11 versions
12344 *) supports_anon_versioning=yes ;;
12345 esac
12346
12347 # See if GNU ld supports shared libraries.
12348 case $host_os in
12349 aix[3-9]*)
12350 # On AIX/PPC, the GNU linker is very broken
12351 if test "$host_cpu" != ia64; then
12352 ld_shlibs=no
12353 cat <<_LT_EOF 1>&2
12354
12355 *** Warning: the GNU linker, at least up to release 2.19, is reported
12356 *** to be unable to reliably create shared libraries on AIX.
12357 *** Therefore, libtool is disabling shared libraries support. If you
12358 *** really care for shared libraries, you may want to install binutils
12359 *** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
12360 *** You will then need to restart the configuration process.
12361
12362 _LT_EOF
12363 fi
12364 ;;
12365
12366 amigaos*)
12367 case $host_cpu in
12368 powerpc)
12369 # see comment about AmigaOS4 .so support
12370 archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
12371 archive_expsym_cmds=''
12372 ;;
12373 m68k)
12374 archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
12375 hardcode_libdir_flag_spec='-L$libdir'
12376 hardcode_minus_L=yes
12377 ;;
12378 esac
12379 ;;
12380
12381 beos*)
12382 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
12383 allow_undefined_flag=unsupported
12384 # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
12385 # support --undefined. This deserves some investigation. FIXME
12386 archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
12387 else
12388 ld_shlibs=no
12389 fi
12390 ;;
12391
12392 cygwin* | mingw* | pw32* | cegcc*)
12393 # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
12394 # as there is no search path for DLLs.
12395 hardcode_libdir_flag_spec='-L$libdir'
12396 export_dynamic_flag_spec='${wl}--export-all-symbols'
12397 allow_undefined_flag=unsupported
12398 always_export_symbols=no
12399 enable_shared_with_static_runtimes=yes
12400 export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
12401 exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'
12402
12403 if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
12404 archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
12405 # If the export-symbols file already is a .def file (1st line
12406 # is EXPORTS), use it as is; otherwise, prepend...
12407 archive_expsym_cmds='if test "x`$SED \"$sed_uncomment_deffile\" $export_symbols | $SED 1q`" = xEXPORTS; then
12408 cp $export_symbols $output_objdir/$soname.def;
12409 else
12410 echo EXPORTS > $output_objdir/$soname.def;
12411 cat $export_symbols >> $output_objdir/$soname.def;
12412 fi~
12413 $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
12414 else
12415 ld_shlibs=no
12416 fi
12417 ;;
12418
12419 haiku*)
12420 archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
12421 link_all_deplibs=yes
12422 ;;
12423
12424 interix[3-9]*)
12425 hardcode_direct=no
12426 hardcode_shlibpath_var=no
12427 hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
12428 export_dynamic_flag_spec='${wl}-E'
12429 # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
12430 # Instead, shared libraries are loaded at an image base (0x10000000 by
12431 # default) and relocated if they conflict, which is a slow very memory
12432 # consuming and fragmenting process. To avoid this, we pick a random,
12433 # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
12434 # time. Moving up from 0x10000000 also allows more sbrk(2) space.
12435 archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
12436 archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
12437 ;;
12438
12439 gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
12440 tmp_diet=no
12441 if test "$host_os" = linux-dietlibc; then
12442 case $cc_basename in
12443 diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
12444 esac
12445 fi
12446 if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
12447 && test "$tmp_diet" = no
12448 then
12449 tmp_addflag=' $pic_flag'
12450 tmp_sharedflag='-shared'
12451 case $cc_basename,$host_cpu in
12452 pgcc*) # Portland Group C compiler
12453 whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
12454 tmp_addflag=' $pic_flag'
12455 ;;
12456 pgf77* | pgf90* | pgf95* | pgfortran*)
12457 # Portland Group f77 and f90 compilers
12458 whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
12459 tmp_addflag=' $pic_flag -Mnomain' ;;
12460 ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
12461 tmp_addflag=' -i_dynamic' ;;
12462 efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
12463 tmp_addflag=' -i_dynamic -nofor_main' ;;
12464 ifc* | ifort*) # Intel Fortran compiler
12465 tmp_addflag=' -nofor_main' ;;
12466 lf95*) # Lahey Fortran 8.1
12467 whole_archive_flag_spec=
12468 tmp_sharedflag='--shared' ;;
12469 xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below)
12470 tmp_sharedflag='-qmkshrobj'
12471 tmp_addflag= ;;
12472 nvcc*) # Cuda Compiler Driver 2.2
12473 whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
12474 compiler_needs_object=yes
12475 ;;
12476 esac
12477 case `$CC -V 2>&1 | sed 5q` in
12478 *Sun\ C*) # Sun C 5.9
12479 whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
12480 compiler_needs_object=yes
12481 tmp_sharedflag='-G' ;;
12482 *Sun\ F*) # Sun Fortran 8.3
12483 tmp_sharedflag='-G' ;;
12484 esac
12485 archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
12486
12487 if test "x$supports_anon_versioning" = xyes; then
12488 archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
12489 cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
12490 echo "local: *; };" >> $output_objdir/$libname.ver~
12491 $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
12492 fi
12493
12494 case $cc_basename in
12495 xlf* | bgf* | bgxlf* | mpixlf*)
12496 # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
12497 whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
12498 hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
12499 archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
12500 if test "x$supports_anon_versioning" = xyes; then
12501 archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
12502 cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
12503 echo "local: *; };" >> $output_objdir/$libname.ver~
12504 $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
12505 fi
12506 ;;
12507 esac
12508 else
12509 ld_shlibs=no
12510 fi
12511 ;;
12512
12513 netbsd* | netbsdelf*-gnu)
12514 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
12515 archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
12516 wlarc=
12517 else
12518 archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
12519 archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
12520 fi
12521 ;;
12522
12523 solaris*)
12524 if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
12525 ld_shlibs=no
12526 cat <<_LT_EOF 1>&2
12527
12528 *** Warning: The releases 2.8.* of the GNU linker cannot reliably
12529 *** create shared libraries on Solaris systems. Therefore, libtool
12530 *** is disabling shared libraries support. We urge you to upgrade GNU
12531 *** binutils to release 2.9.1 or newer. Another option is to modify
12532 *** your PATH or compiler configuration so that the native linker is
12533 *** used, and then restart.
12534
12535 _LT_EOF
12536 elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
12537 archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
12538 archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
12539 else
12540 ld_shlibs=no
12541 fi
12542 ;;
12543
12544 sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
12545 case `$LD -v 2>&1` in
12546 *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
12547 ld_shlibs=no
12548 cat <<_LT_EOF 1>&2
12549
12550 *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
12551 *** reliably create shared libraries on SCO systems. Therefore, libtool
12552 *** is disabling shared libraries support. We urge you to upgrade GNU
12553 *** binutils to release 2.16.91.0.3 or newer. Another option is to modify
12554 *** your PATH or compiler configuration so that the native linker is
12555 *** used, and then restart.
12556
12557 _LT_EOF
12558 ;;
12559 *)
12560 # For security reasons, it is highly recommended that you always
12561 # use absolute paths for naming shared libraries, and exclude the
12562 # DT_RUNPATH tag from executables and libraries. But doing so
12563 # requires that you compile everything twice, which is a pain.
12564 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
12565 hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
12566 archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
12567 archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
12568 else
12569 ld_shlibs=no
12570 fi
12571 ;;
12572 esac
12573 ;;
12574
12575 sunos4*)
12576 archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
12577 wlarc=
12578 hardcode_direct=yes
12579 hardcode_shlibpath_var=no
12580 ;;
12581
12582 *)
12583 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
12584 archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
12585 archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
12586 else
12587 ld_shlibs=no
12588 fi
12589 ;;
12590 esac
12591
12592 if test "$ld_shlibs" = no; then
12593 runpath_var=
12594 hardcode_libdir_flag_spec=
12595 export_dynamic_flag_spec=
12596 whole_archive_flag_spec=
12597 fi
12598 else
12599 # PORTME fill in a description of your system's linker (not GNU ld)
12600 case $host_os in
12601 aix3*)
12602 allow_undefined_flag=unsupported
12603 always_export_symbols=yes
12604 archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
12605 # Note: this linker hardcodes the directories in LIBPATH if there
12606 # are no directories specified by -L.
12607 hardcode_minus_L=yes
12608 if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
12609 # Neither direct hardcoding nor static linking is supported with a
12610 # broken collect2.
12611 hardcode_direct=unsupported
12612 fi
12613 ;;
12614
12615 aix[4-9]*)
12616 if test "$host_cpu" = ia64; then
12617 # On IA64, the linker does run time linking by default, so we don't
12618 # have to do anything special.
12619 aix_use_runtimelinking=no
12620 exp_sym_flag='-Bexport'
12621 no_entry_flag=""
12622 else
12623 # If we're using GNU nm, then we don't want the "-C" option.
12624 # -C means demangle to AIX nm, but means don't demangle with GNU nm
12625 # Also, AIX nm treats weak defined symbols like other global
12626 # defined symbols, whereas GNU nm marks them as "W".
12627 if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
12628 export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
12629 else
12630 export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
12631 fi
12632 aix_use_runtimelinking=no
12633
12634 # Test if we are trying to use run time linking or normal
12635 # AIX style linking. If -brtl is somewhere in LDFLAGS, we
12636 # need to do runtime linking.
12637 case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
12638 for ld_flag in $LDFLAGS; do
12639 if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
12640 aix_use_runtimelinking=yes
12641 break
12642 fi
12643 done
12644 ;;
12645 esac
12646
12647 exp_sym_flag='-bexport'
12648 no_entry_flag='-bnoentry'
12649 fi
12650
12651 # When large executables or shared objects are built, AIX ld can
12652 # have problems creating the table of contents. If linking a library
12653 # or program results in "error TOC overflow" add -mminimal-toc to
12654 # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
12655 # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
12656
12657 archive_cmds=''
12658 hardcode_direct=yes
12659 hardcode_direct_absolute=yes
12660 hardcode_libdir_separator=':'
12661 link_all_deplibs=yes
12662 file_list_spec='${wl}-f,'
12663
12664 if test "$GCC" = yes; then
12665 case $host_os in aix4.[012]|aix4.[012].*)
12666 # We only want to do this on AIX 4.2 and lower, the check
12667 # below for broken collect2 doesn't work under 4.3+
12668 collect2name=`${CC} -print-prog-name=collect2`
12669 if test -f "$collect2name" &&
12670 strings "$collect2name" | $GREP resolve_lib_name >/dev/null
12671 then
12672 # We have reworked collect2
12673 :
12674 else
12675 # We have old collect2
12676 hardcode_direct=unsupported
12677 # It fails to find uninstalled libraries when the uninstalled
12678 # path is not listed in the libpath. Setting hardcode_minus_L
12679 # to unsupported forces relinking
12680 hardcode_minus_L=yes
12681 hardcode_libdir_flag_spec='-L$libdir'
12682 hardcode_libdir_separator=
12683 fi
12684 ;;
12685 esac
12686 shared_flag='-shared'
12687 if test "$aix_use_runtimelinking" = yes; then
12688 shared_flag="$shared_flag "'${wl}-G'
12689 fi
12690 link_all_deplibs=no
12691 else
12692 # not using gcc
12693 if test "$host_cpu" = ia64; then
12694 # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
12695 # chokes on -Wl,-G. The following line is correct:
12696 shared_flag='-G'
12697 else
12698 if test "$aix_use_runtimelinking" = yes; then
12699 shared_flag='${wl}-G'
12700 else
12701 shared_flag='${wl}-bM:SRE'
12702 fi
12703 fi
12704 fi
12705
12706 export_dynamic_flag_spec='${wl}-bexpall'
12707 # It seems that -bexpall does not export symbols beginning with
12708 # underscore (_), so it is better to generate a list of symbols to export.
12709 always_export_symbols=yes
12710 if test "$aix_use_runtimelinking" = yes; then
12711 # Warning - without using the other runtime loading flags (-brtl),
12712 # -berok will link without error, but may produce a broken library.
12713 allow_undefined_flag='-berok'
12714 # Determine the default libpath from the value encoded in an
12715 # empty executable.
12716 if test "${lt_cv_aix_libpath+set}" = set; then
12717 aix_libpath=$lt_cv_aix_libpath
12718 else
12719 if test ${lt_cv_aix_libpath_+y}
12720 then :
12721 printf %s "(cached) " >&6
12722 else $as_nop
12723 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
12724 /* end confdefs.h. */
12725
12726 int
12727 main (void)
12728 {
12729
12730 ;
12731 return 0;
12732 }
12733 _ACEOF
12734 if ac_fn_c_try_link "$LINENO"
12735 then :
12736
12737 lt_aix_libpath_sed='
12738 /Import File Strings/,/^$/ {
12739 /^0/ {
12740 s/^0 *\([^ ]*\) *$/\1/
12741 p
12742 }
12743 }'
12744 lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
12745 # Check for a 64-bit object if we didn't find anything.
12746 if test -z "$lt_cv_aix_libpath_"; then
12747 lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
12748 fi
12749 fi
12750 rm -f core conftest.err conftest.$ac_objext conftest.beam \
12751 conftest$ac_exeext conftest.$ac_ext
12752 if test -z "$lt_cv_aix_libpath_"; then
12753 lt_cv_aix_libpath_="/usr/lib:/lib"
12754 fi
12755
12756 fi
12757
12758 aix_libpath=$lt_cv_aix_libpath_
12759 fi
12760
12761 hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
12762 archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
12763 else
12764 if test "$host_cpu" = ia64; then
12765 hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
12766 allow_undefined_flag="-z nodefs"
12767 archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
12768 else
12769 # Determine the default libpath from the value encoded in an
12770 # empty executable.
12771 if test "${lt_cv_aix_libpath+set}" = set; then
12772 aix_libpath=$lt_cv_aix_libpath
12773 else
12774 if test ${lt_cv_aix_libpath_+y}
12775 then :
12776 printf %s "(cached) " >&6
12777 else $as_nop
12778 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
12779 /* end confdefs.h. */
12780
12781 int
12782 main (void)
12783 {
12784
12785 ;
12786 return 0;
12787 }
12788 _ACEOF
12789 if ac_fn_c_try_link "$LINENO"
12790 then :
12791
12792 lt_aix_libpath_sed='
12793 /Import File Strings/,/^$/ {
12794 /^0/ {
12795 s/^0 *\([^ ]*\) *$/\1/
12796 p
12797 }
12798 }'
12799 lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
12800 # Check for a 64-bit object if we didn't find anything.
12801 if test -z "$lt_cv_aix_libpath_"; then
12802 lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
12803 fi
12804 fi
12805 rm -f core conftest.err conftest.$ac_objext conftest.beam \
12806 conftest$ac_exeext conftest.$ac_ext
12807 if test -z "$lt_cv_aix_libpath_"; then
12808 lt_cv_aix_libpath_="/usr/lib:/lib"
12809 fi
12810
12811 fi
12812
12813 aix_libpath=$lt_cv_aix_libpath_
12814 fi
12815
12816 hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
12817 # Warning - without using the other run time loading flags,
12818 # -berok will link without error, but may produce a broken library.
12819 no_undefined_flag=' ${wl}-bernotok'
12820 allow_undefined_flag=' ${wl}-berok'
12821 if test "$with_gnu_ld" = yes; then
12822 # We only use this code for GNU lds that support --whole-archive.
12823 whole_archive_flag_spec='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
12824 else
12825 # Exported symbols can be pulled into shared objects from archives
12826 whole_archive_flag_spec='$convenience'
12827 fi
12828 archive_cmds_need_lc=yes
12829 # This is similar to how AIX traditionally builds its shared libraries.
12830 archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
12831 fi
12832 fi
12833 ;;
12834
12835 amigaos*)
12836 case $host_cpu in
12837 powerpc)
12838 # see comment about AmigaOS4 .so support
12839 archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
12840 archive_expsym_cmds=''
12841 ;;
12842 m68k)
12843 archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
12844 hardcode_libdir_flag_spec='-L$libdir'
12845 hardcode_minus_L=yes
12846 ;;
12847 esac
12848 ;;
12849
12850 bsdi[45]*)
12851 export_dynamic_flag_spec=-rdynamic
12852 ;;
12853
12854 cygwin* | mingw* | pw32* | cegcc*)
12855 # When not using gcc, we currently assume that we are using
12856 # Microsoft Visual C++.
12857 # hardcode_libdir_flag_spec is actually meaningless, as there is
12858 # no search path for DLLs.
12859 case $cc_basename in
12860 cl*)
12861 # Native MSVC
12862 hardcode_libdir_flag_spec=' '
12863 allow_undefined_flag=unsupported
12864 always_export_symbols=yes
12865 file_list_spec='@'
12866 # Tell ltmain to make .lib files, not .a files.
12867 libext=lib
12868 # Tell ltmain to make .dll files, not .so files.
12869 shrext_cmds=".dll"
12870 # FIXME: Setting linknames here is a bad hack.
12871 archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
12872 archive_expsym_cmds='if test "x`$SED \"$sed_uncomment_deffile\" $export_symbols | $SED 1q`" = xEXPORTS; then
12873 sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
12874 else
12875 sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
12876 fi~
12877 $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
12878 linknames='
12879 # The linker will not automatically build a static lib if we build a DLL.
12880 # _LT_TAGVAR(old_archive_from_new_cmds, )='true'
12881 enable_shared_with_static_runtimes=yes
12882 exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
12883 export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
12884 # Don't use ranlib
12885 old_postinstall_cmds='chmod 644 $oldlib'
12886 postlink_cmds='lt_outputfile="@OUTPUT@"~
12887 lt_tool_outputfile="@TOOL_OUTPUT@"~
12888 case $lt_outputfile in
12889 *.exe|*.EXE) ;;
12890 *)
12891 lt_outputfile="$lt_outputfile.exe"
12892 lt_tool_outputfile="$lt_tool_outputfile.exe"
12893 ;;
12894 esac~
12895 if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
12896 $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
12897 $RM "$lt_outputfile.manifest";
12898 fi'
12899 ;;
12900 *)
12901 # Assume MSVC wrapper
12902 hardcode_libdir_flag_spec=' '
12903 allow_undefined_flag=unsupported
12904 # Tell ltmain to make .lib files, not .a files.
12905 libext=lib
12906 # Tell ltmain to make .dll files, not .so files.
12907 shrext_cmds=".dll"
12908 # FIXME: Setting linknames here is a bad hack.
12909 archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
12910 # The linker will automatically build a .lib file if we build a DLL.
12911 old_archive_from_new_cmds='true'
12912 # FIXME: Should let the user specify the lib program.
12913 old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
12914 enable_shared_with_static_runtimes=yes
12915 ;;
12916 esac
12917 ;;
12918
12919 darwin* | rhapsody*)
12920
12921
12922 archive_cmds_need_lc=no
12923 hardcode_direct=no
12924 hardcode_automatic=yes
12925 hardcode_shlibpath_var=unsupported
12926 if test "$lt_cv_ld_force_load" = "yes"; then
12927 whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
12928
12929 else
12930 whole_archive_flag_spec=''
12931 fi
12932 link_all_deplibs=yes
12933 allow_undefined_flag="$_lt_dar_allow_undefined"
12934 case $cc_basename in
12935 ifort*) _lt_dar_can_shared=yes ;;
12936 *) _lt_dar_can_shared=$GCC ;;
12937 esac
12938 if test "$_lt_dar_can_shared" = "yes"; then
12939 output_verbose_link_cmd=func_echo_all
12940 archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
12941 module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
12942 archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
12943 module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
12944
12945 else
12946 ld_shlibs=no
12947 fi
12948
12949 ;;
12950
12951 dgux*)
12952 archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
12953 hardcode_libdir_flag_spec='-L$libdir'
12954 hardcode_shlibpath_var=no
12955 ;;
12956
12957 # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
12958 # support. Future versions do this automatically, but an explicit c++rt0.o
12959 # does not break anything, and helps significantly (at the cost of a little
12960 # extra space).
12961 freebsd2.2*)
12962 archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
12963 hardcode_libdir_flag_spec='-R$libdir'
12964 hardcode_direct=yes
12965 hardcode_shlibpath_var=no
12966 ;;
12967
12968 # Unfortunately, older versions of FreeBSD 2 do not have this feature.
12969 freebsd2.*)
12970 archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
12971 hardcode_direct=yes
12972 hardcode_minus_L=yes
12973 hardcode_shlibpath_var=no
12974 ;;
12975
12976 # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
12977 freebsd* | dragonfly*)
12978 archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
12979 hardcode_libdir_flag_spec='-R$libdir'
12980 hardcode_direct=yes
12981 hardcode_shlibpath_var=no
12982 ;;
12983
12984 hpux9*)
12985 if test "$GCC" = yes; then
12986 archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
12987 else
12988 archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
12989 fi
12990 hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
12991 hardcode_libdir_separator=:
12992 hardcode_direct=yes
12993
12994 # hardcode_minus_L: Not really in the search PATH,
12995 # but as the default location of the library.
12996 hardcode_minus_L=yes
12997 export_dynamic_flag_spec='${wl}-E'
12998 ;;
12999
13000 hpux10*)
13001 if test "$GCC" = yes && test "$with_gnu_ld" = no; then
13002 archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
13003 else
13004 archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
13005 fi
13006 if test "$with_gnu_ld" = no; then
13007 hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
13008 hardcode_libdir_separator=:
13009 hardcode_direct=yes
13010 hardcode_direct_absolute=yes
13011 export_dynamic_flag_spec='${wl}-E'
13012 # hardcode_minus_L: Not really in the search PATH,
13013 # but as the default location of the library.
13014 hardcode_minus_L=yes
13015 fi
13016 ;;
13017
13018 hpux11*)
13019 if test "$GCC" = yes && test "$with_gnu_ld" = no; then
13020 case $host_cpu in
13021 hppa*64*)
13022 archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
13023 ;;
13024 ia64*)
13025 archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
13026 ;;
13027 *)
13028 archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
13029 ;;
13030 esac
13031 else
13032 case $host_cpu in
13033 hppa*64*)
13034 archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
13035 ;;
13036 ia64*)
13037 archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
13038 ;;
13039 *)
13040
13041 # Older versions of the 11.00 compiler do not understand -b yet
13042 # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
13043 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5
13044 printf %s "checking if $CC understands -b... " >&6; }
13045 if test ${lt_cv_prog_compiler__b+y}
13046 then :
13047 printf %s "(cached) " >&6
13048 else $as_nop
13049 lt_cv_prog_compiler__b=no
13050 save_LDFLAGS="$LDFLAGS"
13051 LDFLAGS="$LDFLAGS -b"
13052 echo "$lt_simple_link_test_code" > conftest.$ac_ext
13053 if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
13054 # The linker can only warn and ignore the option if not recognized
13055 # So say no if there are warnings
13056 if test -s conftest.err; then
13057 # Append any errors to the config.log.
13058 cat conftest.err 1>&5
13059 $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
13060 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
13061 if diff conftest.exp conftest.er2 >/dev/null; then
13062 lt_cv_prog_compiler__b=yes
13063 fi
13064 else
13065 lt_cv_prog_compiler__b=yes
13066 fi
13067 fi
13068 $RM -r conftest*
13069 LDFLAGS="$save_LDFLAGS"
13070
13071 fi
13072 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5
13073 printf "%s\n" "$lt_cv_prog_compiler__b" >&6; }
13074
13075 if test x"$lt_cv_prog_compiler__b" = xyes; then
13076 archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
13077 else
13078 archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
13079 fi
13080
13081 ;;
13082 esac
13083 fi
13084 if test "$with_gnu_ld" = no; then
13085 hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
13086 hardcode_libdir_separator=:
13087
13088 case $host_cpu in
13089 hppa*64*|ia64*)
13090 hardcode_direct=no
13091 hardcode_shlibpath_var=no
13092 ;;
13093 *)
13094 hardcode_direct=yes
13095 hardcode_direct_absolute=yes
13096 export_dynamic_flag_spec='${wl}-E'
13097
13098 # hardcode_minus_L: Not really in the search PATH,
13099 # but as the default location of the library.
13100 hardcode_minus_L=yes
13101 ;;
13102 esac
13103 fi
13104 ;;
13105
13106 irix5* | irix6* | nonstopux*)
13107 if test "$GCC" = yes; then
13108 archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
13109 # Try to use the -exported_symbol ld option, if it does not
13110 # work, assume that -exports_file does not work either and
13111 # implicitly export all symbols.
13112 # This should be the same for all languages, so no per-tag cache variable.
13113 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5
13114 printf %s "checking whether the $host_os linker accepts -exported_symbol... " >&6; }
13115 if test ${lt_cv_irix_exported_symbol+y}
13116 then :
13117 printf %s "(cached) " >&6
13118 else $as_nop
13119 save_LDFLAGS="$LDFLAGS"
13120 LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
13121 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
13122 /* end confdefs.h. */
13123 int foo (void) { return 0; }
13124 _ACEOF
13125 if ac_fn_c_try_link "$LINENO"
13126 then :
13127 lt_cv_irix_exported_symbol=yes
13128 else $as_nop
13129 lt_cv_irix_exported_symbol=no
13130 fi
13131 rm -f core conftest.err conftest.$ac_objext conftest.beam \
13132 conftest$ac_exeext conftest.$ac_ext
13133 LDFLAGS="$save_LDFLAGS"
13134 fi
13135 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5
13136 printf "%s\n" "$lt_cv_irix_exported_symbol" >&6; }
13137 if test "$lt_cv_irix_exported_symbol" = yes; then
13138 archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
13139 fi
13140 else
13141 archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
13142 archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
13143 fi
13144 archive_cmds_need_lc='no'
13145 hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
13146 hardcode_libdir_separator=:
13147 inherit_rpath=yes
13148 link_all_deplibs=yes
13149 ;;
13150
13151 netbsd* | netbsdelf*-gnu)
13152 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
13153 archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
13154 else
13155 archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
13156 fi
13157 hardcode_libdir_flag_spec='-R$libdir'
13158 hardcode_direct=yes
13159 hardcode_shlibpath_var=no
13160 ;;
13161
13162 newsos6)
13163 archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
13164 hardcode_direct=yes
13165 hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
13166 hardcode_libdir_separator=:
13167 hardcode_shlibpath_var=no
13168 ;;
13169
13170 *nto* | *qnx*)
13171 ;;
13172
13173 openbsd*)
13174 if test -f /usr/libexec/ld.so; then
13175 hardcode_direct=yes
13176 hardcode_shlibpath_var=no
13177 hardcode_direct_absolute=yes
13178 if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
13179 archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
13180 archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
13181 hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
13182 export_dynamic_flag_spec='${wl}-E'
13183 else
13184 case $host_os in
13185 openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
13186 archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
13187 hardcode_libdir_flag_spec='-R$libdir'
13188 ;;
13189 *)
13190 archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
13191 hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
13192 ;;
13193 esac
13194 fi
13195 else
13196 ld_shlibs=no
13197 fi
13198 ;;
13199
13200 os2*)
13201 hardcode_libdir_flag_spec='-L$libdir'
13202 hardcode_minus_L=yes
13203 allow_undefined_flag=unsupported
13204 archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
13205 old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
13206 ;;
13207
13208 osf3*)
13209 if test "$GCC" = yes; then
13210 allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
13211 archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
13212 else
13213 allow_undefined_flag=' -expect_unresolved \*'
13214 archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
13215 fi
13216 archive_cmds_need_lc='no'
13217 hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
13218 hardcode_libdir_separator=:
13219 ;;
13220
13221 osf4* | osf5*) # as osf3* with the addition of -msym flag
13222 if test "$GCC" = yes; then
13223 allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
13224 archive_cmds='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
13225 hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
13226 else
13227 allow_undefined_flag=' -expect_unresolved \*'
13228 archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
13229 archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
13230 $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
13231
13232 # Both c and cxx compiler support -rpath directly
13233 hardcode_libdir_flag_spec='-rpath $libdir'
13234 fi
13235 archive_cmds_need_lc='no'
13236 hardcode_libdir_separator=:
13237 ;;
13238
13239 solaris*)
13240 no_undefined_flag=' -z defs'
13241 if test "$GCC" = yes; then
13242 wlarc='${wl}'
13243 archive_cmds='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
13244 archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
13245 $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
13246 else
13247 case `$CC -V 2>&1` in
13248 *"Compilers 5.0"*)
13249 wlarc=''
13250 archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
13251 archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
13252 $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
13253 ;;
13254 *)
13255 wlarc='${wl}'
13256 archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
13257 archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
13258 $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
13259 ;;
13260 esac
13261 fi
13262 hardcode_libdir_flag_spec='-R$libdir'
13263 hardcode_shlibpath_var=no
13264 case $host_os in
13265 solaris2.[0-5] | solaris2.[0-5].*) ;;
13266 *)
13267 # The compiler driver will combine and reorder linker options,
13268 # but understands `-z linker_flag'. GCC discards it without `$wl',
13269 # but is careful enough not to reorder.
13270 # Supported since Solaris 2.6 (maybe 2.5.1?)
13271 if test "$GCC" = yes; then
13272 whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
13273 else
13274 whole_archive_flag_spec='-z allextract$convenience -z defaultextract'
13275 fi
13276 ;;
13277 esac
13278 link_all_deplibs=yes
13279 ;;
13280
13281 sunos4*)
13282 if test "x$host_vendor" = xsequent; then
13283 # Use $CC to link under sequent, because it throws in some extra .o
13284 # files that make .init and .fini sections work.
13285 archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
13286 else
13287 archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
13288 fi
13289 hardcode_libdir_flag_spec='-L$libdir'
13290 hardcode_direct=yes
13291 hardcode_minus_L=yes
13292 hardcode_shlibpath_var=no
13293 ;;
13294
13295 sysv4)
13296 case $host_vendor in
13297 sni)
13298 archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
13299 hardcode_direct=yes # is this really true???
13300 ;;
13301 siemens)
13302 ## LD is ld it makes a PLAMLIB
13303 ## CC just makes a GrossModule.
13304 archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
13305 reload_cmds='$CC -r -o $output$reload_objs'
13306 hardcode_direct=no
13307 ;;
13308 motorola)
13309 archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
13310 hardcode_direct=no #Motorola manual says yes, but my tests say they lie
13311 ;;
13312 esac
13313 runpath_var='LD_RUN_PATH'
13314 hardcode_shlibpath_var=no
13315 ;;
13316
13317 sysv4.3*)
13318 archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
13319 hardcode_shlibpath_var=no
13320 export_dynamic_flag_spec='-Bexport'
13321 ;;
13322
13323 sysv4*MP*)
13324 if test -d /usr/nec; then
13325 archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
13326 hardcode_shlibpath_var=no
13327 runpath_var=LD_RUN_PATH
13328 hardcode_runpath_var=yes
13329 ld_shlibs=yes
13330 fi
13331 ;;
13332
13333 sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
13334 no_undefined_flag='${wl}-z,text'
13335 archive_cmds_need_lc=no
13336 hardcode_shlibpath_var=no
13337 runpath_var='LD_RUN_PATH'
13338
13339 if test "$GCC" = yes; then
13340 archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
13341 archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
13342 else
13343 archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
13344 archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
13345 fi
13346 ;;
13347
13348 sysv5* | sco3.2v5* | sco5v6*)
13349 # Note: We can NOT use -z defs as we might desire, because we do not
13350 # link with -lc, and that would cause any symbols used from libc to
13351 # always be unresolved, which means just about no library would
13352 # ever link correctly. If we're not using GNU ld we use -z text
13353 # though, which does catch some bad symbols but isn't as heavy-handed
13354 # as -z defs.
13355 no_undefined_flag='${wl}-z,text'
13356 allow_undefined_flag='${wl}-z,nodefs'
13357 archive_cmds_need_lc=no
13358 hardcode_shlibpath_var=no
13359 hardcode_libdir_flag_spec='${wl}-R,$libdir'
13360 hardcode_libdir_separator=':'
13361 link_all_deplibs=yes
13362 export_dynamic_flag_spec='${wl}-Bexport'
13363 runpath_var='LD_RUN_PATH'
13364
13365 if test "$GCC" = yes; then
13366 archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
13367 archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
13368 else
13369 archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
13370 archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
13371 fi
13372 ;;
13373
13374 uts4*)
13375 archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
13376 hardcode_libdir_flag_spec='-L$libdir'
13377 hardcode_shlibpath_var=no
13378 ;;
13379
13380 *)
13381 ld_shlibs=no
13382 ;;
13383 esac
13384
13385 if test x$host_vendor = xsni; then
13386 case $host in
13387 sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
13388 export_dynamic_flag_spec='${wl}-Blargedynsym'
13389 ;;
13390 esac
13391 fi
13392 fi
13393
13394 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5
13395 printf "%s\n" "$ld_shlibs" >&6; }
13396 test "$ld_shlibs" = no && can_build_shared=no
13397
13398 with_gnu_ld=$with_gnu_ld
13399
13400
13401
13402
13403
13404
13405
13406
13407
13408
13409
13410
13411
13412
13413
13414 #
13415 # Do we need to explicitly link libc?
13416 #
13417 case "x$archive_cmds_need_lc" in
13418 x|xyes)
13419 # Assume -lc should be added
13420 archive_cmds_need_lc=yes
13421
13422 if test "$enable_shared" = yes && test "$GCC" = yes; then
13423 case $archive_cmds in
13424 *'~'*)
13425 # FIXME: we may have to deal with multi-command sequences.
13426 ;;
13427 '$CC '*)
13428 # Test whether the compiler implicitly links with -lc since on some
13429 # systems, -lgcc has to come before -lc. If gcc already passes -lc
13430 # to ld, don't add -lc before -lgcc.
13431 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
13432 printf %s "checking whether -lc should be explicitly linked in... " >&6; }
13433 if test ${lt_cv_archive_cmds_need_lc+y}
13434 then :
13435 printf %s "(cached) " >&6
13436 else $as_nop
13437 $RM conftest*
13438 echo "$lt_simple_compile_test_code" > conftest.$ac_ext
13439
13440 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
13441 (eval $ac_compile) 2>&5
13442 ac_status=$?
13443 printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
13444 test $ac_status = 0; } 2>conftest.err; then
13445 soname=conftest
13446 lib=conftest
13447 libobjs=conftest.$ac_objext
13448 deplibs=
13449 wl=$lt_prog_compiler_wl
13450 pic_flag=$lt_prog_compiler_pic
13451 compiler_flags=-v
13452 linker_flags=-v
13453 verstring=
13454 output_objdir=.
13455 libname=conftest
13456 lt_save_allow_undefined_flag=$allow_undefined_flag
13457 allow_undefined_flag=
13458 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
13459 (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
13460 ac_status=$?
13461 printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
13462 test $ac_status = 0; }
13463 then
13464 lt_cv_archive_cmds_need_lc=no
13465 else
13466 lt_cv_archive_cmds_need_lc=yes
13467 fi
13468 allow_undefined_flag=$lt_save_allow_undefined_flag
13469 else
13470 cat conftest.err 1>&5
13471 fi
13472 $RM conftest*
13473
13474 fi
13475 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5
13476 printf "%s\n" "$lt_cv_archive_cmds_need_lc" >&6; }
13477 archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc
13478 ;;
13479 esac
13480 fi
13481 ;;
13482 esac
13483
13484
13485
13486
13487
13488
13489
13490
13491
13492
13493
13494
13495
13496
13497
13498
13499
13500
13501
13502
13503
13504
13505
13506
13507
13508
13509
13510
13511
13512
13513
13514
13515
13516
13517
13518
13519
13520
13521
13522
13523
13524
13525
13526
13527
13528
13529
13530
13531
13532
13533
13534
13535
13536
13537
13538
13539
13540
13541
13542
13543
13544
13545
13546
13547
13548
13549
13550
13551
13552
13553
13554
13555
13556
13557
13558
13559
13560
13561
13562
13563
13564
13565
13566
13567
13568
13569
13570
13571
13572
13573
13574
13575
13576
13577
13578
13579
13580
13581
13582
13583
13584
13585
13586
13587
13588
13589
13590
13591
13592
13593
13594
13595
13596
13597
13598
13599
13600
13601
13602
13603
13604
13605
13606
13607
13608
13609
13610
13611
13612
13613
13614
13615
13616
13617
13618
13619
13620
13621
13622
13623
13624
13625
13626
13627
13628
13629
13630
13631
13632
13633
13634
13635 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
13636 printf %s "checking dynamic linker characteristics... " >&6; }
13637
13638 if test "$GCC" = yes; then
13639 case $host_os in
13640 darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
13641 *) lt_awk_arg="/^libraries:/" ;;
13642 esac
13643 case $host_os in
13644 mingw* | cegcc*) lt_sed_strip_eq="s,=\([A-Za-z]:\),\1,g" ;;
13645 *) lt_sed_strip_eq="s,=/,/,g" ;;
13646 esac
13647 lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
13648 case $lt_search_path_spec in
13649 *\;*)
13650 # if the path contains ";" then we assume it to be the separator
13651 # otherwise default to the standard path separator (i.e. ":") - it is
13652 # assumed that no part of a normal pathname contains ";" but that should
13653 # okay in the real world where ";" in dirpaths is itself problematic.
13654 lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
13655 ;;
13656 *)
13657 lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
13658 ;;
13659 esac
13660 # Ok, now we have the path, separated by spaces, we can step through it
13661 # and add multilib dir if necessary.
13662 lt_tmp_lt_search_path_spec=
13663 lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
13664 for lt_sys_path in $lt_search_path_spec; do
13665 if test -d "$lt_sys_path/$lt_multi_os_dir"; then
13666 lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
13667 else
13668 test -d "$lt_sys_path" && \
13669 lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
13670 fi
13671 done
13672 lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
13673 BEGIN {RS=" "; FS="/|\n";} {
13674 lt_foo="";
13675 lt_count=0;
13676 for (lt_i = NF; lt_i > 0; lt_i--) {
13677 if ($lt_i != "" && $lt_i != ".") {
13678 if ($lt_i == "..") {
13679 lt_count++;
13680 } else {
13681 if (lt_count == 0) {
13682 lt_foo="/" $lt_i lt_foo;
13683 } else {
13684 lt_count--;
13685 }
13686 }
13687 }
13688 }
13689 if (lt_foo != "") { lt_freq[lt_foo]++; }
13690 if (lt_freq[lt_foo] == 1) { print lt_foo; }
13691 }'`
13692 # AWK program above erroneously prepends '/' to C:/dos/paths
13693 # for these hosts.
13694 case $host_os in
13695 mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
13696 $SED 's,/\([A-Za-z]:\),\1,g'` ;;
13697 esac
13698 sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
13699 else
13700 sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
13701 fi
13702 library_names_spec=
13703 libname_spec='lib$name'
13704 soname_spec=
13705 shrext_cmds=".so"
13706 postinstall_cmds=
13707 postuninstall_cmds=
13708 finish_cmds=
13709 finish_eval=
13710 shlibpath_var=
13711 shlibpath_overrides_runpath=unknown
13712 version_type=none
13713 dynamic_linker="$host_os ld.so"
13714 sys_lib_dlsearch_path_spec="/lib /usr/lib"
13715 need_lib_prefix=unknown
13716 hardcode_into_libs=no
13717
13718 # when you set need_version to no, make sure it does not cause -set_version
13719 # flags to be left without arguments
13720 need_version=unknown
13721
13722 case $host_os in
13723 aix3*)
13724 version_type=linux # correct to gnu/linux during the next big refactor
13725 library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
13726 shlibpath_var=LIBPATH
13727
13728 # AIX 3 has no versioning support, so we append a major version to the name.
13729 soname_spec='${libname}${release}${shared_ext}$major'
13730 ;;
13731
13732 aix[4-9]*)
13733 version_type=linux # correct to gnu/linux during the next big refactor
13734 need_lib_prefix=no
13735 need_version=no
13736 hardcode_into_libs=yes
13737 if test "$host_cpu" = ia64; then
13738 # AIX 5 supports IA64
13739 library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
13740 shlibpath_var=LD_LIBRARY_PATH
13741 else
13742 # With GCC up to 2.95.x, collect2 would create an import file
13743 # for dependence libraries. The import file would start with
13744 # the line `#! .'. This would cause the generated library to
13745 # depend on `.', always an invalid library. This was fixed in
13746 # development snapshots of GCC prior to 3.0.
13747 case $host_os in
13748 aix4 | aix4.[01] | aix4.[01].*)
13749 if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
13750 echo ' yes '
13751 echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
13752 :
13753 else
13754 can_build_shared=no
13755 fi
13756 ;;
13757 esac
13758 # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
13759 # soname into executable. Probably we can add versioning support to
13760 # collect2, so additional links can be useful in future.
13761 if test "$aix_use_runtimelinking" = yes; then
13762 # If using run time linking (on AIX 4.2 or later) use lib<name>.so
13763 # instead of lib<name>.a to let people know that these are not
13764 # typical AIX shared libraries.
13765 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
13766 else
13767 # We preserve .a as extension for shared libraries through AIX4.2
13768 # and later when we are not doing run time linking.
13769 library_names_spec='${libname}${release}.a $libname.a'
13770 soname_spec='${libname}${release}${shared_ext}$major'
13771 fi
13772 shlibpath_var=LIBPATH
13773 fi
13774 ;;
13775
13776 amigaos*)
13777 case $host_cpu in
13778 powerpc)
13779 # Since July 2007 AmigaOS4 officially supports .so libraries.
13780 # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
13781 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
13782 ;;
13783 m68k)
13784 library_names_spec='$libname.ixlibrary $libname.a'
13785 # Create ${libname}_ixlibrary.a entries in /sys/libs.
13786 finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
13787 ;;
13788 esac
13789 ;;
13790
13791 beos*)
13792 library_names_spec='${libname}${shared_ext}'
13793 dynamic_linker="$host_os ld.so"
13794 shlibpath_var=LIBRARY_PATH
13795 ;;
13796
13797 bsdi[45]*)
13798 version_type=linux # correct to gnu/linux during the next big refactor
13799 need_version=no
13800 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
13801 soname_spec='${libname}${release}${shared_ext}$major'
13802 finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
13803 shlibpath_var=LD_LIBRARY_PATH
13804 sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
13805 sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
13806 # the default ld.so.conf also contains /usr/contrib/lib and
13807 # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
13808 # libtool to hard-code these into programs
13809 ;;
13810
13811 cygwin* | mingw* | pw32* | cegcc*)
13812 version_type=windows
13813 shrext_cmds=".dll"
13814 need_version=no
13815 need_lib_prefix=no
13816
13817 case $GCC,$cc_basename in
13818 yes,*)
13819 # gcc
13820 library_names_spec='$libname.dll.a'
13821 # DLL is installed to $(libdir)/../bin by postinstall_cmds
13822 postinstall_cmds='base_file=`basename \${file}`~
13823 dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
13824 dldir=$destdir/`dirname \$dlpath`~
13825 test -d \$dldir || mkdir -p \$dldir~
13826 $install_prog $dir/$dlname \$dldir/$dlname~
13827 chmod a+x \$dldir/$dlname~
13828 if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
13829 eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
13830 fi'
13831 postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
13832 dlpath=$dir/\$dldll~
13833 $RM \$dlpath'
13834 shlibpath_overrides_runpath=yes
13835
13836 case $host_os in
13837 cygwin*)
13838 # Cygwin DLLs use 'cyg' prefix rather than 'lib'
13839 soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
13840
13841 sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"
13842 ;;
13843 mingw* | cegcc*)
13844 # MinGW DLLs use traditional 'lib' prefix
13845 soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
13846 ;;
13847 pw32*)
13848 # pw32 DLLs use 'pw' prefix rather than 'lib'
13849 library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
13850 ;;
13851 esac
13852 dynamic_linker='Win32 ld.exe'
13853 ;;
13854
13855 *,cl*)
13856 # Native MSVC
13857 libname_spec='$name'
13858 soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
13859 library_names_spec='${libname}.dll.lib'
13860
13861 case $build_os in
13862 mingw*)
13863 sys_lib_search_path_spec=
13864 lt_save_ifs=$IFS
13865 IFS=';'
13866 for lt_path in $LIB
13867 do
13868 IFS=$lt_save_ifs
13869 # Let DOS variable expansion print the short 8.3 style file name.
13870 lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
13871 sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
13872 done
13873 IFS=$lt_save_ifs
13874 # Convert to MSYS style.
13875 sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'`
13876 ;;
13877 cygwin*)
13878 # Convert to unix form, then to dos form, then back to unix form
13879 # but this time dos style (no spaces!) so that the unix form looks
13880 # like /cygdrive/c/PROGRA~1:/cygdr...
13881 sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
13882 sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
13883 sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
13884 ;;
13885 *)
13886 sys_lib_search_path_spec="$LIB"
13887 if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
13888 # It is most probably a Windows format PATH.
13889 sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
13890 else
13891 sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
13892 fi
13893 # FIXME: find the short name or the path components, as spaces are
13894 # common. (e.g. "Program Files" -> "PROGRA~1")
13895 ;;
13896 esac
13897
13898 # DLL is installed to $(libdir)/../bin by postinstall_cmds
13899 postinstall_cmds='base_file=`basename \${file}`~
13900 dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
13901 dldir=$destdir/`dirname \$dlpath`~
13902 test -d \$dldir || mkdir -p \$dldir~
13903 $install_prog $dir/$dlname \$dldir/$dlname'
13904 postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
13905 dlpath=$dir/\$dldll~
13906 $RM \$dlpath'
13907 shlibpath_overrides_runpath=yes
13908 dynamic_linker='Win32 link.exe'
13909 ;;
13910
13911 *)
13912 # Assume MSVC wrapper
13913 library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
13914 dynamic_linker='Win32 ld.exe'
13915 ;;
13916 esac
13917 # FIXME: first we should search . and the directory the executable is in
13918 shlibpath_var=PATH
13919 ;;
13920
13921 darwin* | rhapsody*)
13922 dynamic_linker="$host_os dyld"
13923 version_type=darwin
13924 need_lib_prefix=no
13925 need_version=no
13926 library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
13927 soname_spec='${libname}${release}${major}$shared_ext'
13928 shlibpath_overrides_runpath=yes
13929 shlibpath_var=DYLD_LIBRARY_PATH
13930 shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
13931
13932 sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"
13933 sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
13934 ;;
13935
13936 dgux*)
13937 version_type=linux # correct to gnu/linux during the next big refactor
13938 need_lib_prefix=no
13939 need_version=no
13940 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
13941 soname_spec='${libname}${release}${shared_ext}$major'
13942 shlibpath_var=LD_LIBRARY_PATH
13943 ;;
13944
13945 freebsd* | dragonfly*)
13946 # DragonFly does not have aout. When/if they implement a new
13947 # versioning mechanism, adjust this.
13948 if test -x /usr/bin/objformat; then
13949 objformat=`/usr/bin/objformat`
13950 else
13951 case $host_os in
13952 freebsd[23].*) objformat=aout ;;
13953 *) objformat=elf ;;
13954 esac
13955 fi
13956 version_type=freebsd-$objformat
13957 case $version_type in
13958 freebsd-elf*)
13959 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
13960 need_version=no
13961 need_lib_prefix=no
13962 ;;
13963 freebsd-*)
13964 library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
13965 need_version=yes
13966 ;;
13967 esac
13968 shlibpath_var=LD_LIBRARY_PATH
13969 case $host_os in
13970 freebsd2.*)
13971 shlibpath_overrides_runpath=yes
13972 ;;
13973 freebsd3.[01]* | freebsdelf3.[01]*)
13974 shlibpath_overrides_runpath=yes
13975 hardcode_into_libs=yes
13976 ;;
13977 freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
13978 freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
13979 shlibpath_overrides_runpath=no
13980 hardcode_into_libs=yes
13981 ;;
13982 *) # from 4.6 on, and DragonFly
13983 shlibpath_overrides_runpath=yes
13984 hardcode_into_libs=yes
13985 ;;
13986 esac
13987 ;;
13988
13989 gnu*)
13990 version_type=linux # correct to gnu/linux during the next big refactor
13991 need_lib_prefix=no
13992 need_version=no
13993 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
13994 soname_spec='${libname}${release}${shared_ext}$major'
13995 shlibpath_var=LD_LIBRARY_PATH
13996 shlibpath_overrides_runpath=no
13997 hardcode_into_libs=yes
13998 ;;
13999
14000 haiku*)
14001 version_type=linux # correct to gnu/linux during the next big refactor
14002 need_lib_prefix=no
14003 need_version=no
14004 dynamic_linker="$host_os runtime_loader"
14005 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
14006 soname_spec='${libname}${release}${shared_ext}$major'
14007 shlibpath_var=LIBRARY_PATH
14008 shlibpath_overrides_runpath=yes
14009 sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
14010 hardcode_into_libs=yes
14011 ;;
14012
14013 hpux9* | hpux10* | hpux11*)
14014 # Give a soname corresponding to the major version so that dld.sl refuses to
14015 # link against other versions.
14016 version_type=sunos
14017 need_lib_prefix=no
14018 need_version=no
14019 case $host_cpu in
14020 ia64*)
14021 shrext_cmds='.so'
14022 hardcode_into_libs=yes
14023 dynamic_linker="$host_os dld.so"
14024 shlibpath_var=LD_LIBRARY_PATH
14025 shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
14026 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
14027 soname_spec='${libname}${release}${shared_ext}$major'
14028 if test "X$HPUX_IA64_MODE" = X32; then
14029 sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
14030 else
14031 sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
14032 fi
14033 sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
14034 ;;
14035 hppa*64*)
14036 shrext_cmds='.sl'
14037 hardcode_into_libs=yes
14038 dynamic_linker="$host_os dld.sl"
14039 shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
14040 shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
14041 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
14042 soname_spec='${libname}${release}${shared_ext}$major'
14043 sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
14044 sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
14045 ;;
14046 *)
14047 shrext_cmds='.sl'
14048 dynamic_linker="$host_os dld.sl"
14049 shlibpath_var=SHLIB_PATH
14050 shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
14051 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
14052 soname_spec='${libname}${release}${shared_ext}$major'
14053 ;;
14054 esac
14055 # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
14056 postinstall_cmds='chmod 555 $lib'
14057 # or fails outright, so override atomically:
14058 install_override_mode=555
14059 ;;
14060
14061 interix[3-9]*)
14062 version_type=linux # correct to gnu/linux during the next big refactor
14063 need_lib_prefix=no
14064 need_version=no
14065 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
14066 soname_spec='${libname}${release}${shared_ext}$major'
14067 dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
14068 shlibpath_var=LD_LIBRARY_PATH
14069 shlibpath_overrides_runpath=no
14070 hardcode_into_libs=yes
14071 ;;
14072
14073 irix5* | irix6* | nonstopux*)
14074 case $host_os in
14075 nonstopux*) version_type=nonstopux ;;
14076 *)
14077 if test "$lt_cv_prog_gnu_ld" = yes; then
14078 version_type=linux # correct to gnu/linux during the next big refactor
14079 else
14080 version_type=irix
14081 fi ;;
14082 esac
14083 need_lib_prefix=no
14084 need_version=no
14085 soname_spec='${libname}${release}${shared_ext}$major'
14086 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
14087 case $host_os in
14088 irix5* | nonstopux*)
14089 libsuff= shlibsuff=
14090 ;;
14091 *)
14092 case $LD in # libtool.m4 will add one of these switches to LD
14093 *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
14094 libsuff= shlibsuff= libmagic=32-bit;;
14095 *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
14096 libsuff=32 shlibsuff=N32 libmagic=N32;;
14097 *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
14098 libsuff=64 shlibsuff=64 libmagic=64-bit;;
14099 *) libsuff= shlibsuff= libmagic=never-match;;
14100 esac
14101 ;;
14102 esac
14103 shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
14104 shlibpath_overrides_runpath=no
14105 sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
14106 sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
14107 hardcode_into_libs=yes
14108 ;;
14109
14110 # No shared lib support for Linux oldld, aout, or coff.
14111 linux*oldld* | linux*aout* | linux*coff*)
14112 dynamic_linker=no
14113 ;;
14114
14115 linux*android*)
14116 version_type=none # Android doesn't support versioned libraries.
14117 need_lib_prefix=no
14118 need_version=no
14119 library_names_spec='$libname$release$shared_ext'
14120 soname_spec='$libname$release$shared_ext'
14121 finish_cmds=
14122 shlibpath_var=LD_LIBRARY_PATH
14123 shlibpath_overrides_runpath=yes
14124
14125 # This implies no fast_install, which is unacceptable.
14126 # Some rework will be needed to allow for fast_install
14127 # before this can be enabled.
14128 hardcode_into_libs=yes
14129
14130 dynamic_linker='Android linker'
14131 # Don't embed -rpath directories since the linker doesn't support them.
14132 hardcode_libdir_flag_spec='-L$libdir'
14133 ;;
14134
14135 # This must be glibc/ELF.
14136 linux* | k*bsd*-gnu | kopensolaris*-gnu)
14137 version_type=linux # correct to gnu/linux during the next big refactor
14138 need_lib_prefix=no
14139 need_version=no
14140 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
14141 soname_spec='${libname}${release}${shared_ext}$major'
14142 finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
14143 shlibpath_var=LD_LIBRARY_PATH
14144 shlibpath_overrides_runpath=no
14145
14146 # Some binutils ld are patched to set DT_RUNPATH
14147 if test ${lt_cv_shlibpath_overrides_runpath+y}
14148 then :
14149 printf %s "(cached) " >&6
14150 else $as_nop
14151 lt_cv_shlibpath_overrides_runpath=no
14152 save_LDFLAGS=$LDFLAGS
14153 save_libdir=$libdir
14154 eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \
14155 LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\""
14156 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
14157 /* end confdefs.h. */
14158
14159 int
14160 main (void)
14161 {
14162
14163 ;
14164 return 0;
14165 }
14166 _ACEOF
14167 if ac_fn_c_try_link "$LINENO"
14168 then :
14169 if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null
14170 then :
14171 lt_cv_shlibpath_overrides_runpath=yes
14172 fi
14173 fi
14174 rm -f core conftest.err conftest.$ac_objext conftest.beam \
14175 conftest$ac_exeext conftest.$ac_ext
14176 LDFLAGS=$save_LDFLAGS
14177 libdir=$save_libdir
14178
14179 fi
14180
14181 shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
14182
14183 # This implies no fast_install, which is unacceptable.
14184 # Some rework will be needed to allow for fast_install
14185 # before this can be enabled.
14186 hardcode_into_libs=yes
14187
14188 # Append ld.so.conf contents to the search path
14189 if test -f /etc/ld.so.conf; then
14190 lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
14191 sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
14192 fi
14193
14194 # We used to test for /lib/ld.so.1 and disable shared libraries on
14195 # powerpc, because MkLinux only supported shared libraries with the
14196 # GNU dynamic linker. Since this was broken with cross compilers,
14197 # most powerpc-linux boxes support dynamic linking these days and
14198 # people can always --disable-shared, the test was removed, and we
14199 # assume the GNU/Linux dynamic linker is in use.
14200 dynamic_linker='GNU/Linux ld.so'
14201 ;;
14202
14203 netbsdelf*-gnu)
14204 version_type=linux
14205 need_lib_prefix=no
14206 need_version=no
14207 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
14208 soname_spec='${libname}${release}${shared_ext}$major'
14209 shlibpath_var=LD_LIBRARY_PATH
14210 shlibpath_overrides_runpath=no
14211 hardcode_into_libs=yes
14212 dynamic_linker='NetBSD ld.elf_so'
14213 ;;
14214
14215 netbsd*)
14216 version_type=sunos
14217 need_lib_prefix=no
14218 need_version=no
14219 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
14220 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
14221 finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
14222 dynamic_linker='NetBSD (a.out) ld.so'
14223 else
14224 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
14225 soname_spec='${libname}${release}${shared_ext}$major'
14226 dynamic_linker='NetBSD ld.elf_so'
14227 fi
14228 shlibpath_var=LD_LIBRARY_PATH
14229 shlibpath_overrides_runpath=yes
14230 hardcode_into_libs=yes
14231 ;;
14232
14233 newsos6)
14234 version_type=linux # correct to gnu/linux during the next big refactor
14235 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
14236 shlibpath_var=LD_LIBRARY_PATH
14237 shlibpath_overrides_runpath=yes
14238 ;;
14239
14240 *nto* | *qnx*)
14241 version_type=qnx
14242 need_lib_prefix=no
14243 need_version=no
14244 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
14245 soname_spec='${libname}${release}${shared_ext}$major'
14246 shlibpath_var=LD_LIBRARY_PATH
14247 shlibpath_overrides_runpath=no
14248 hardcode_into_libs=yes
14249 dynamic_linker='ldqnx.so'
14250 ;;
14251
14252 openbsd*)
14253 version_type=sunos
14254 sys_lib_dlsearch_path_spec="/usr/lib"
14255 need_lib_prefix=no
14256 # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
14257 case $host_os in
14258 openbsd3.3 | openbsd3.3.*) need_version=yes ;;
14259 *) need_version=no ;;
14260 esac
14261 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
14262 finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
14263 shlibpath_var=LD_LIBRARY_PATH
14264 if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
14265 case $host_os in
14266 openbsd2.[89] | openbsd2.[89].*)
14267 shlibpath_overrides_runpath=no
14268 ;;
14269 *)
14270 shlibpath_overrides_runpath=yes
14271 ;;
14272 esac
14273 else
14274 shlibpath_overrides_runpath=yes
14275 fi
14276 ;;
14277
14278 os2*)
14279 libname_spec='$name'
14280 shrext_cmds=".dll"
14281 need_lib_prefix=no
14282 library_names_spec='$libname${shared_ext} $libname.a'
14283 dynamic_linker='OS/2 ld.exe'
14284 shlibpath_var=LIBPATH
14285 ;;
14286
14287 osf3* | osf4* | osf5*)
14288 version_type=osf
14289 need_lib_prefix=no
14290 need_version=no
14291 soname_spec='${libname}${release}${shared_ext}$major'
14292 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
14293 shlibpath_var=LD_LIBRARY_PATH
14294 sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
14295 sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
14296 ;;
14297
14298 rdos*)
14299 dynamic_linker=no
14300 ;;
14301
14302 solaris*)
14303 version_type=linux # correct to gnu/linux during the next big refactor
14304 need_lib_prefix=no
14305 need_version=no
14306 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
14307 soname_spec='${libname}${release}${shared_ext}$major'
14308 shlibpath_var=LD_LIBRARY_PATH
14309 shlibpath_overrides_runpath=yes
14310 hardcode_into_libs=yes
14311 # ldd complains unless libraries are executable
14312 postinstall_cmds='chmod +x $lib'
14313 ;;
14314
14315 sunos4*)
14316 version_type=sunos
14317 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
14318 finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
14319 shlibpath_var=LD_LIBRARY_PATH
14320 shlibpath_overrides_runpath=yes
14321 if test "$with_gnu_ld" = yes; then
14322 need_lib_prefix=no
14323 fi
14324 need_version=yes
14325 ;;
14326
14327 sysv4 | sysv4.3*)
14328 version_type=linux # correct to gnu/linux during the next big refactor
14329 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
14330 soname_spec='${libname}${release}${shared_ext}$major'
14331 shlibpath_var=LD_LIBRARY_PATH
14332 case $host_vendor in
14333 sni)
14334 shlibpath_overrides_runpath=no
14335 need_lib_prefix=no
14336 runpath_var=LD_RUN_PATH
14337 ;;
14338 siemens)
14339 need_lib_prefix=no
14340 ;;
14341 motorola)
14342 need_lib_prefix=no
14343 need_version=no
14344 shlibpath_overrides_runpath=no
14345 sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
14346 ;;
14347 esac
14348 ;;
14349
14350 sysv4*MP*)
14351 if test -d /usr/nec ;then
14352 version_type=linux # correct to gnu/linux during the next big refactor
14353 library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
14354 soname_spec='$libname${shared_ext}.$major'
14355 shlibpath_var=LD_LIBRARY_PATH
14356 fi
14357 ;;
14358
14359 sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
14360 version_type=freebsd-elf
14361 need_lib_prefix=no
14362 need_version=no
14363 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
14364 soname_spec='${libname}${release}${shared_ext}$major'
14365 shlibpath_var=LD_LIBRARY_PATH
14366 shlibpath_overrides_runpath=yes
14367 hardcode_into_libs=yes
14368 if test "$with_gnu_ld" = yes; then
14369 sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
14370 else
14371 sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
14372 case $host_os in
14373 sco3.2v5*)
14374 sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
14375 ;;
14376 esac
14377 fi
14378 sys_lib_dlsearch_path_spec='/usr/lib'
14379 ;;
14380
14381 tpf*)
14382 # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
14383 version_type=linux # correct to gnu/linux during the next big refactor
14384 need_lib_prefix=no
14385 need_version=no
14386 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
14387 shlibpath_var=LD_LIBRARY_PATH
14388 shlibpath_overrides_runpath=no
14389 hardcode_into_libs=yes
14390 ;;
14391
14392 uts4*)
14393 version_type=linux # correct to gnu/linux during the next big refactor
14394 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
14395 soname_spec='${libname}${release}${shared_ext}$major'
14396 shlibpath_var=LD_LIBRARY_PATH
14397 ;;
14398
14399 *)
14400 dynamic_linker=no
14401 ;;
14402 esac
14403 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
14404 printf "%s\n" "$dynamic_linker" >&6; }
14405 test "$dynamic_linker" = no && can_build_shared=no
14406
14407 variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
14408 if test "$GCC" = yes; then
14409 variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
14410 fi
14411
14412 if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
14413 sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
14414 fi
14415 if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
14416 sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
14417 fi
14418
14419
14420
14421
14422
14423
14424
14425
14426
14427
14428
14429
14430
14431
14432
14433
14434
14435
14436
14437
14438
14439
14440
14441
14442
14443
14444
14445
14446
14447
14448
14449
14450
14451
14452
14453
14454
14455
14456
14457
14458
14459
14460
14461
14462
14463
14464
14465
14466
14467
14468
14469
14470
14471
14472
14473
14474
14475
14476
14477
14478
14479
14480
14481
14482
14483
14484
14485
14486
14487
14488
14489
14490
14491
14492
14493
14494
14495
14496
14497
14498
14499
14500
14501
14502
14503
14504
14505
14506
14507
14508
14509
14510 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5
14511 printf %s "checking how to hardcode library paths into programs... " >&6; }
14512 hardcode_action=
14513 if test -n "$hardcode_libdir_flag_spec" ||
14514 test -n "$runpath_var" ||
14515 test "X$hardcode_automatic" = "Xyes" ; then
14516
14517 # We can hardcode non-existent directories.
14518 if test "$hardcode_direct" != no &&
14519 # If the only mechanism to avoid hardcoding is shlibpath_var, we
14520 # have to relink, otherwise we might link with an installed library
14521 # when we should be linking with a yet-to-be-installed one
14522 ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no &&
14523 test "$hardcode_minus_L" != no; then
14524 # Linking always hardcodes the temporary library directory.
14525 hardcode_action=relink
14526 else
14527 # We can link without hardcoding, and we can hardcode nonexisting dirs.
14528 hardcode_action=immediate
14529 fi
14530 else
14531 # We cannot hardcode anything, or else we can only hardcode existing
14532 # directories.
14533 hardcode_action=unsupported
14534 fi
14535 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5
14536 printf "%s\n" "$hardcode_action" >&6; }
14537
14538 if test "$hardcode_action" = relink ||
14539 test "$inherit_rpath" = yes; then
14540 # Fast installation is not supported
14541 enable_fast_install=no
14542 elif test "$shlibpath_overrides_runpath" = yes ||
14543 test "$enable_shared" = no; then
14544 # Fast installation is not necessary
14545 enable_fast_install=needless
14546 fi
14547
14548
14549
14550
14551
14552
14553 if test "x$enable_dlopen" != xyes; then
14554 enable_dlopen=unknown
14555 enable_dlopen_self=unknown
14556 enable_dlopen_self_static=unknown
14557 else
14558 lt_cv_dlopen=no
14559 lt_cv_dlopen_libs=
14560
14561 case $host_os in
14562 beos*)
14563 lt_cv_dlopen="load_add_on"
14564 lt_cv_dlopen_libs=
14565 lt_cv_dlopen_self=yes
14566 ;;
14567
14568 mingw* | pw32* | cegcc*)
14569 lt_cv_dlopen="LoadLibrary"
14570 lt_cv_dlopen_libs=
14571 ;;
14572
14573 cygwin*)
14574 lt_cv_dlopen="dlopen"
14575 lt_cv_dlopen_libs=
14576 ;;
14577
14578 darwin*)
14579 # if libdl is installed we need to link against it
14580 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
14581 printf %s "checking for dlopen in -ldl... " >&6; }
14582 if test ${ac_cv_lib_dl_dlopen+y}
14583 then :
14584 printf %s "(cached) " >&6
14585 else $as_nop
14586 ac_check_lib_save_LIBS=$LIBS
14587 LIBS="-ldl $LIBS"
14588 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
14589 /* end confdefs.h. */
14590
14591 /* Override any GCC internal prototype to avoid an error.
14592 Use char because int might match the return type of a GCC
14593 builtin and then its argument prototype would still apply. */
14594 char dlopen ();
14595 int
14596 main (void)
14597 {
14598 return dlopen ();
14599 ;
14600 return 0;
14601 }
14602 _ACEOF
14603 if ac_fn_c_try_link "$LINENO"
14604 then :
14605 ac_cv_lib_dl_dlopen=yes
14606 else $as_nop
14607 ac_cv_lib_dl_dlopen=no
14608 fi
14609 rm -f core conftest.err conftest.$ac_objext conftest.beam \
14610 conftest$ac_exeext conftest.$ac_ext
14611 LIBS=$ac_check_lib_save_LIBS
14612 fi
14613 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
14614 printf "%s\n" "$ac_cv_lib_dl_dlopen" >&6; }
14615 if test "x$ac_cv_lib_dl_dlopen" = xyes
14616 then :
14617 lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
14618 else $as_nop
14619
14620 lt_cv_dlopen="dyld"
14621 lt_cv_dlopen_libs=
14622 lt_cv_dlopen_self=yes
14623
14624 fi
14625
14626 ;;
14627
14628 *)
14629 ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
14630 if test "x$ac_cv_func_shl_load" = xyes
14631 then :
14632 lt_cv_dlopen="shl_load"
14633 else $as_nop
14634 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
14635 printf %s "checking for shl_load in -ldld... " >&6; }
14636 if test ${ac_cv_lib_dld_shl_load+y}
14637 then :
14638 printf %s "(cached) " >&6
14639 else $as_nop
14640 ac_check_lib_save_LIBS=$LIBS
14641 LIBS="-ldld $LIBS"
14642 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
14643 /* end confdefs.h. */
14644
14645 /* Override any GCC internal prototype to avoid an error.
14646 Use char because int might match the return type of a GCC
14647 builtin and then its argument prototype would still apply. */
14648 char shl_load ();
14649 int
14650 main (void)
14651 {
14652 return shl_load ();
14653 ;
14654 return 0;
14655 }
14656 _ACEOF
14657 if ac_fn_c_try_link "$LINENO"
14658 then :
14659 ac_cv_lib_dld_shl_load=yes
14660 else $as_nop
14661 ac_cv_lib_dld_shl_load=no
14662 fi
14663 rm -f core conftest.err conftest.$ac_objext conftest.beam \
14664 conftest$ac_exeext conftest.$ac_ext
14665 LIBS=$ac_check_lib_save_LIBS
14666 fi
14667 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
14668 printf "%s\n" "$ac_cv_lib_dld_shl_load" >&6; }
14669 if test "x$ac_cv_lib_dld_shl_load" = xyes
14670 then :
14671 lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
14672 else $as_nop
14673 ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
14674 if test "x$ac_cv_func_dlopen" = xyes
14675 then :
14676 lt_cv_dlopen="dlopen"
14677 else $as_nop
14678 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
14679 printf %s "checking for dlopen in -ldl... " >&6; }
14680 if test ${ac_cv_lib_dl_dlopen+y}
14681 then :
14682 printf %s "(cached) " >&6
14683 else $as_nop
14684 ac_check_lib_save_LIBS=$LIBS
14685 LIBS="-ldl $LIBS"
14686 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
14687 /* end confdefs.h. */
14688
14689 /* Override any GCC internal prototype to avoid an error.
14690 Use char because int might match the return type of a GCC
14691 builtin and then its argument prototype would still apply. */
14692 char dlopen ();
14693 int
14694 main (void)
14695 {
14696 return dlopen ();
14697 ;
14698 return 0;
14699 }
14700 _ACEOF
14701 if ac_fn_c_try_link "$LINENO"
14702 then :
14703 ac_cv_lib_dl_dlopen=yes
14704 else $as_nop
14705 ac_cv_lib_dl_dlopen=no
14706 fi
14707 rm -f core conftest.err conftest.$ac_objext conftest.beam \
14708 conftest$ac_exeext conftest.$ac_ext
14709 LIBS=$ac_check_lib_save_LIBS
14710 fi
14711 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
14712 printf "%s\n" "$ac_cv_lib_dl_dlopen" >&6; }
14713 if test "x$ac_cv_lib_dl_dlopen" = xyes
14714 then :
14715 lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
14716 else $as_nop
14717 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
14718 printf %s "checking for dlopen in -lsvld... " >&6; }
14719 if test ${ac_cv_lib_svld_dlopen+y}
14720 then :
14721 printf %s "(cached) " >&6
14722 else $as_nop
14723 ac_check_lib_save_LIBS=$LIBS
14724 LIBS="-lsvld $LIBS"
14725 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
14726 /* end confdefs.h. */
14727
14728 /* Override any GCC internal prototype to avoid an error.
14729 Use char because int might match the return type of a GCC
14730 builtin and then its argument prototype would still apply. */
14731 char dlopen ();
14732 int
14733 main (void)
14734 {
14735 return dlopen ();
14736 ;
14737 return 0;
14738 }
14739 _ACEOF
14740 if ac_fn_c_try_link "$LINENO"
14741 then :
14742 ac_cv_lib_svld_dlopen=yes
14743 else $as_nop
14744 ac_cv_lib_svld_dlopen=no
14745 fi
14746 rm -f core conftest.err conftest.$ac_objext conftest.beam \
14747 conftest$ac_exeext conftest.$ac_ext
14748 LIBS=$ac_check_lib_save_LIBS
14749 fi
14750 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
14751 printf "%s\n" "$ac_cv_lib_svld_dlopen" >&6; }
14752 if test "x$ac_cv_lib_svld_dlopen" = xyes
14753 then :
14754 lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
14755 else $as_nop
14756 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
14757 printf %s "checking for dld_link in -ldld... " >&6; }
14758 if test ${ac_cv_lib_dld_dld_link+y}
14759 then :
14760 printf %s "(cached) " >&6
14761 else $as_nop
14762 ac_check_lib_save_LIBS=$LIBS
14763 LIBS="-ldld $LIBS"
14764 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
14765 /* end confdefs.h. */
14766
14767 /* Override any GCC internal prototype to avoid an error.
14768 Use char because int might match the return type of a GCC
14769 builtin and then its argument prototype would still apply. */
14770 char dld_link ();
14771 int
14772 main (void)
14773 {
14774 return dld_link ();
14775 ;
14776 return 0;
14777 }
14778 _ACEOF
14779 if ac_fn_c_try_link "$LINENO"
14780 then :
14781 ac_cv_lib_dld_dld_link=yes
14782 else $as_nop
14783 ac_cv_lib_dld_dld_link=no
14784 fi
14785 rm -f core conftest.err conftest.$ac_objext conftest.beam \
14786 conftest$ac_exeext conftest.$ac_ext
14787 LIBS=$ac_check_lib_save_LIBS
14788 fi
14789 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
14790 printf "%s\n" "$ac_cv_lib_dld_dld_link" >&6; }
14791 if test "x$ac_cv_lib_dld_dld_link" = xyes
14792 then :
14793 lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
14794 fi
14795
14796
14797 fi
14798
14799
14800 fi
14801
14802
14803 fi
14804
14805
14806 fi
14807
14808
14809 fi
14810
14811 ;;
14812 esac
14813
14814 if test "x$lt_cv_dlopen" != xno; then
14815 enable_dlopen=yes
14816 else
14817 enable_dlopen=no
14818 fi
14819
14820 case $lt_cv_dlopen in
14821 dlopen)
14822 save_CPPFLAGS="$CPPFLAGS"
14823 test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
14824
14825 save_LDFLAGS="$LDFLAGS"
14826 wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
14827
14828 save_LIBS="$LIBS"
14829 LIBS="$lt_cv_dlopen_libs $LIBS"
14830
14831 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
14832 printf %s "checking whether a program can dlopen itself... " >&6; }
14833 if test ${lt_cv_dlopen_self+y}
14834 then :
14835 printf %s "(cached) " >&6
14836 else $as_nop
14837 if test "$cross_compiling" = yes; then :
14838 lt_cv_dlopen_self=cross
14839 else
14840 lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
14841 lt_status=$lt_dlunknown
14842 cat > conftest.$ac_ext <<_LT_EOF
14843 #line $LINENO "configure"
14844 #include "confdefs.h"
14845
14846 #if HAVE_DLFCN_H
14847 #include <dlfcn.h>
14848 #endif
14849
14850 #include <stdio.h>
14851
14852 #ifdef RTLD_GLOBAL
14853 # define LT_DLGLOBAL RTLD_GLOBAL
14854 #else
14855 # ifdef DL_GLOBAL
14856 # define LT_DLGLOBAL DL_GLOBAL
14857 # else
14858 # define LT_DLGLOBAL 0
14859 # endif
14860 #endif
14861
14862 /* We may have to define LT_DLLAZY_OR_NOW in the command line if we
14863 find out it does not work in some platform. */
14864 #ifndef LT_DLLAZY_OR_NOW
14865 # ifdef RTLD_LAZY
14866 # define LT_DLLAZY_OR_NOW RTLD_LAZY
14867 # else
14868 # ifdef DL_LAZY
14869 # define LT_DLLAZY_OR_NOW DL_LAZY
14870 # else
14871 # ifdef RTLD_NOW
14872 # define LT_DLLAZY_OR_NOW RTLD_NOW
14873 # else
14874 # ifdef DL_NOW
14875 # define LT_DLLAZY_OR_NOW DL_NOW
14876 # else
14877 # define LT_DLLAZY_OR_NOW 0
14878 # endif
14879 # endif
14880 # endif
14881 # endif
14882 #endif
14883
14884 /* When -fvisbility=hidden is used, assume the code has been annotated
14885 correspondingly for the symbols needed. */
14886 #if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
14887 int fnord () __attribute__((visibility("default")));
14888 #endif
14889
14890 int fnord () { return 42; }
14891 int main ()
14892 {
14893 void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
14894 int status = $lt_dlunknown;
14895
14896 if (self)
14897 {
14898 if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
14899 else
14900 {
14901 if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
14902 else puts (dlerror ());
14903 }
14904 /* dlclose (self); */
14905 }
14906 else
14907 puts (dlerror ());
14908
14909 return status;
14910 }
14911 _LT_EOF
14912 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
14913 (eval $ac_link) 2>&5
14914 ac_status=$?
14915 printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
14916 test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
14917 (./conftest; exit; ) >&5 2>/dev/null
14918 lt_status=$?
14919 case x$lt_status in
14920 x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
14921 x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
14922 x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;;
14923 esac
14924 else :
14925 # compilation failed
14926 lt_cv_dlopen_self=no
14927 fi
14928 fi
14929 rm -fr conftest*
14930
14931
14932 fi
14933 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5
14934 printf "%s\n" "$lt_cv_dlopen_self" >&6; }
14935
14936 if test "x$lt_cv_dlopen_self" = xyes; then
14937 wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
14938 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
14939 printf %s "checking whether a statically linked program can dlopen itself... " >&6; }
14940 if test ${lt_cv_dlopen_self_static+y}
14941 then :
14942 printf %s "(cached) " >&6
14943 else $as_nop
14944 if test "$cross_compiling" = yes; then :
14945 lt_cv_dlopen_self_static=cross
14946 else
14947 lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
14948 lt_status=$lt_dlunknown
14949 cat > conftest.$ac_ext <<_LT_EOF
14950 #line $LINENO "configure"
14951 #include "confdefs.h"
14952
14953 #if HAVE_DLFCN_H
14954 #include <dlfcn.h>
14955 #endif
14956
14957 #include <stdio.h>
14958
14959 #ifdef RTLD_GLOBAL
14960 # define LT_DLGLOBAL RTLD_GLOBAL
14961 #else
14962 # ifdef DL_GLOBAL
14963 # define LT_DLGLOBAL DL_GLOBAL
14964 # else
14965 # define LT_DLGLOBAL 0
14966 # endif
14967 #endif
14968
14969 /* We may have to define LT_DLLAZY_OR_NOW in the command line if we
14970 find out it does not work in some platform. */
14971 #ifndef LT_DLLAZY_OR_NOW
14972 # ifdef RTLD_LAZY
14973 # define LT_DLLAZY_OR_NOW RTLD_LAZY
14974 # else
14975 # ifdef DL_LAZY
14976 # define LT_DLLAZY_OR_NOW DL_LAZY
14977 # else
14978 # ifdef RTLD_NOW
14979 # define LT_DLLAZY_OR_NOW RTLD_NOW
14980 # else
14981 # ifdef DL_NOW
14982 # define LT_DLLAZY_OR_NOW DL_NOW
14983 # else
14984 # define LT_DLLAZY_OR_NOW 0
14985 # endif
14986 # endif
14987 # endif
14988 # endif
14989 #endif
14990
14991 /* When -fvisbility=hidden is used, assume the code has been annotated
14992 correspondingly for the symbols needed. */
14993 #if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
14994 int fnord () __attribute__((visibility("default")));
14995 #endif
14996
14997 int fnord () { return 42; }
14998 int main ()
14999 {
15000 void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
15001 int status = $lt_dlunknown;
15002
15003 if (self)
15004 {
15005 if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
15006 else
15007 {
15008 if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
15009 else puts (dlerror ());
15010 }
15011 /* dlclose (self); */
15012 }
15013 else
15014 puts (dlerror ());
15015
15016 return status;
15017 }
15018 _LT_EOF
15019 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
15020 (eval $ac_link) 2>&5
15021 ac_status=$?
15022 printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
15023 test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
15024 (./conftest; exit; ) >&5 2>/dev/null
15025 lt_status=$?
15026 case x$lt_status in
15027 x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
15028 x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
15029 x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;;
15030 esac
15031 else :
15032 # compilation failed
15033 lt_cv_dlopen_self_static=no
15034 fi
15035 fi
15036 rm -fr conftest*
15037
15038
15039 fi
15040 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5
15041 printf "%s\n" "$lt_cv_dlopen_self_static" >&6; }
15042 fi
15043
15044 CPPFLAGS="$save_CPPFLAGS"
15045 LDFLAGS="$save_LDFLAGS"
15046 LIBS="$save_LIBS"
15047 ;;
15048 esac
15049
15050 case $lt_cv_dlopen_self in
15051 yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
15052 *) enable_dlopen_self=unknown ;;
15053 esac
15054
15055 case $lt_cv_dlopen_self_static in
15056 yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
15057 *) enable_dlopen_self_static=unknown ;;
15058 esac
15059 fi
15060
15061
15062
15063
15064
15065
15066
15067
15068
15069
15070
15071
15072
15073
15074
15075
15076
15077 striplib=
15078 old_striplib=
15079 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5
15080 printf %s "checking whether stripping libraries is possible... " >&6; }
15081 if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
15082 test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
15083 test -z "$striplib" && striplib="$STRIP --strip-unneeded"
15084 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
15085 printf "%s\n" "yes" >&6; }
15086 else
15087 # FIXME - insert some real tests, host_os isn't really good enough
15088 case $host_os in
15089 darwin*)
15090 if test -n "$STRIP" ; then
15091 striplib="$STRIP -x"
15092 old_striplib="$STRIP -S"
15093 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
15094 printf "%s\n" "yes" >&6; }
15095 else
15096 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
15097 printf "%s\n" "no" >&6; }
15098 fi
15099 ;;
15100 *)
15101 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
15102 printf "%s\n" "no" >&6; }
15103 ;;
15104 esac
15105 fi
15106
15107
15108
15109
15110
15111
15112
15113
15114
15115
15116
15117
15118 # Report which library types will actually be built
15119 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5
15120 printf %s "checking if libtool supports shared libraries... " >&6; }
15121 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5
15122 printf "%s\n" "$can_build_shared" >&6; }
15123
15124 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5
15125 printf %s "checking whether to build shared libraries... " >&6; }
15126 test "$can_build_shared" = "no" && enable_shared=no
15127
15128 # On AIX, shared libraries and static libraries use the same namespace, and
15129 # are all built from PIC.
15130 case $host_os in
15131 aix3*)
15132 test "$enable_shared" = yes && enable_static=no
15133 if test -n "$RANLIB"; then
15134 archive_cmds="$archive_cmds~\$RANLIB \$lib"
15135 postinstall_cmds='$RANLIB $lib'
15136 fi
15137 ;;
15138
15139 aix[4-9]*)
15140 if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
15141 test "$enable_shared" = yes && enable_static=no
15142 fi
15143 ;;
15144 esac
15145 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5
15146 printf "%s\n" "$enable_shared" >&6; }
15147
15148 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5
15149 printf %s "checking whether to build static libraries... " >&6; }
15150 # Make sure either enable_shared or enable_static is yes.
15151 test "$enable_shared" = yes || enable_static=yes
15152 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5
15153 printf "%s\n" "$enable_static" >&6; }
15154
15155
15156
15157
15158 fi
15159 ac_ext=c
15160 ac_cpp='$CPP $CPPFLAGS'
15161 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
15162 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
15163 ac_compiler_gnu=$ac_cv_c_compiler_gnu
15164
15165 CC="$lt_save_CC"
15166
15167 if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
15168 ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
15169 (test "X$CXX" != "Xg++"))) ; then
15170 ac_ext=cpp
15171 ac_cpp='$CXXCPP $CPPFLAGS'
15172 ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
15173 ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
15174 ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
15175 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5
15176 printf %s "checking how to run the C++ preprocessor... " >&6; }
15177 if test -z "$CXXCPP"; then
15178 if test ${ac_cv_prog_CXXCPP+y}
15179 then :
15180 printf %s "(cached) " >&6
15181 else $as_nop
15182 # Double quotes because $CXX needs to be expanded
15183 for CXXCPP in "$CXX -E" cpp /lib/cpp
15184 do
15185 ac_preproc_ok=false
15186 for ac_cxx_preproc_warn_flag in '' yes
15187 do
15188 # Use a header file that comes with gcc, so configuring glibc
15189 # with a fresh cross-compiler works.
15190 # On the NeXT, cc -E runs the code through the compiler's parser,
15191 # not just through cpp. "Syntax error" is here to catch this case.
15192 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15193 /* end confdefs.h. */
15194 #include <limits.h>
15195 Syntax error
15196 _ACEOF
15197 if ac_fn_cxx_try_cpp "$LINENO"
15198 then :
15199
15200 else $as_nop
15201 # Broken: fails on valid input.
15202 continue
15203 fi
15204 rm -f conftest.err conftest.i conftest.$ac_ext
15205
15206 # OK, works on sane cases. Now check whether nonexistent headers
15207 # can be detected and how.
15208 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15209 /* end confdefs.h. */
15210 #include <ac_nonexistent.h>
15211 _ACEOF
15212 if ac_fn_cxx_try_cpp "$LINENO"
15213 then :
15214 # Broken: success on invalid input.
15215 continue
15216 else $as_nop
15217 # Passes both tests.
15218 ac_preproc_ok=:
15219 break
15220 fi
15221 rm -f conftest.err conftest.i conftest.$ac_ext
15222
15223 done
15224 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
15225 rm -f conftest.i conftest.err conftest.$ac_ext
15226 if $ac_preproc_ok
15227 then :
15228 break
15229 fi
15230
15231 done
15232 ac_cv_prog_CXXCPP=$CXXCPP
15233
15234 fi
15235 CXXCPP=$ac_cv_prog_CXXCPP
15236 else
15237 ac_cv_prog_CXXCPP=$CXXCPP
15238 fi
15239 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5
15240 printf "%s\n" "$CXXCPP" >&6; }
15241 ac_preproc_ok=false
15242 for ac_cxx_preproc_warn_flag in '' yes
15243 do
15244 # Use a header file that comes with gcc, so configuring glibc
15245 # with a fresh cross-compiler works.
15246 # On the NeXT, cc -E runs the code through the compiler's parser,
15247 # not just through cpp. "Syntax error" is here to catch this case.
15248 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15249 /* end confdefs.h. */
15250 #include <limits.h>
15251 Syntax error
15252 _ACEOF
15253 if ac_fn_cxx_try_cpp "$LINENO"
15254 then :
15255
15256 else $as_nop
15257 # Broken: fails on valid input.
15258 continue
15259 fi
15260 rm -f conftest.err conftest.i conftest.$ac_ext
15261
15262 # OK, works on sane cases. Now check whether nonexistent headers
15263 # can be detected and how.
15264 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15265 /* end confdefs.h. */
15266 #include <ac_nonexistent.h>
15267 _ACEOF
15268 if ac_fn_cxx_try_cpp "$LINENO"
15269 then :
15270 # Broken: success on invalid input.
15271 continue
15272 else $as_nop
15273 # Passes both tests.
15274 ac_preproc_ok=:
15275 break
15276 fi
15277 rm -f conftest.err conftest.i conftest.$ac_ext
15278
15279 done
15280 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
15281 rm -f conftest.i conftest.err conftest.$ac_ext
15282 if $ac_preproc_ok
15283 then :
15284
15285 else $as_nop
15286 { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
15287 printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
15288 as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check
15289 See \`config.log' for more details" "$LINENO" 5; }
15290 fi
15291
15292 ac_ext=c
15293 ac_cpp='$CPP $CPPFLAGS'
15294 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
15295 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
15296 ac_compiler_gnu=$ac_cv_c_compiler_gnu
15297
15298 else
15299 _lt_caught_CXX_error=yes
15300 fi
15301
15302 ac_ext=cpp
15303 ac_cpp='$CXXCPP $CPPFLAGS'
15304 ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
15305 ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
15306 ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
15307
15308 archive_cmds_need_lc_CXX=no
15309 allow_undefined_flag_CXX=
15310 always_export_symbols_CXX=no
15311 archive_expsym_cmds_CXX=
15312 compiler_needs_object_CXX=no
15313 export_dynamic_flag_spec_CXX=
15314 hardcode_direct_CXX=no
15315 hardcode_direct_absolute_CXX=no
15316 hardcode_libdir_flag_spec_CXX=
15317 hardcode_libdir_separator_CXX=
15318 hardcode_minus_L_CXX=no
15319 hardcode_shlibpath_var_CXX=unsupported
15320 hardcode_automatic_CXX=no
15321 inherit_rpath_CXX=no
15322 module_cmds_CXX=
15323 module_expsym_cmds_CXX=
15324 link_all_deplibs_CXX=unknown
15325 old_archive_cmds_CXX=$old_archive_cmds
15326 reload_flag_CXX=$reload_flag
15327 reload_cmds_CXX=$reload_cmds
15328 no_undefined_flag_CXX=
15329 whole_archive_flag_spec_CXX=
15330 enable_shared_with_static_runtimes_CXX=no
15331
15332 # Source file extension for C++ test sources.
15333 ac_ext=cpp
15334
15335 # Object file extension for compiled C++ test sources.
15336 objext=o
15337 objext_CXX=$objext
15338
15339 # No sense in running all these tests if we already determined that
15340 # the CXX compiler isn't working. Some variables (like enable_shared)
15341 # are currently assumed to apply to all compilers on this platform,
15342 # and will be corrupted by setting them based on a non-working compiler.
15343 if test "$_lt_caught_CXX_error" != yes; then
15344 # Code to be used in simple compile tests
15345 lt_simple_compile_test_code="int some_variable = 0;"
15346
15347 # Code to be used in simple link tests
15348 lt_simple_link_test_code='int main(int, char *[]) { return(0); }'
15349
15350 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
15351
15352
15353
15354
15355
15356
15357 # If no C compiler was specified, use CC.
15358 LTCC=${LTCC-"$CC"}
15359
15360 # If no C compiler flags were specified, use CFLAGS.
15361 LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
15362
15363 # Allow CC to be a program name with arguments.
15364 compiler=$CC
15365
15366
15367 # save warnings/boilerplate of simple test code
15368 ac_outfile=conftest.$ac_objext
15369 echo "$lt_simple_compile_test_code" >conftest.$ac_ext
15370 eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
15371 _lt_compiler_boilerplate=`cat conftest.err`
15372 $RM conftest*
15373
15374 ac_outfile=conftest.$ac_objext
15375 echo "$lt_simple_link_test_code" >conftest.$ac_ext
15376 eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
15377 _lt_linker_boilerplate=`cat conftest.err`
15378 $RM -r conftest*
15379
15380
15381 # Allow CC to be a program name with arguments.
15382 lt_save_CC=$CC
15383 lt_save_CFLAGS=$CFLAGS
15384 lt_save_LD=$LD
15385 lt_save_GCC=$GCC
15386 GCC=$GXX
15387 lt_save_with_gnu_ld=$with_gnu_ld
15388 lt_save_path_LD=$lt_cv_path_LD
15389 if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
15390 lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
15391 else
15392 $as_unset lt_cv_prog_gnu_ld
15393 fi
15394 if test -n "${lt_cv_path_LDCXX+set}"; then
15395 lt_cv_path_LD=$lt_cv_path_LDCXX
15396 else
15397 $as_unset lt_cv_path_LD
15398 fi
15399 test -z "${LDCXX+set}" || LD=$LDCXX
15400 CC=${CXX-"c++"}
15401 CFLAGS=$CXXFLAGS
15402 compiler=$CC
15403 compiler_CXX=$CC
15404 for cc_temp in $compiler""; do
15405 case $cc_temp in
15406 compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
15407 distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
15408 \-*) ;;
15409 *) break;;
15410 esac
15411 done
15412 cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
15413
15414
15415 if test -n "$compiler"; then
15416 # We don't want -fno-exception when compiling C++ code, so set the
15417 # no_builtin_flag separately
15418 if test "$GXX" = yes; then
15419 lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin'
15420 else
15421 lt_prog_compiler_no_builtin_flag_CXX=
15422 fi
15423
15424 if test "$GXX" = yes; then
15425 # Set up default GNU C++ configuration
15426
15427
15428
15429 # Check whether --with-gnu-ld was given.
15430 if test ${with_gnu_ld+y}
15431 then :
15432 withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
15433 else $as_nop
15434 with_gnu_ld=no
15435 fi
15436
15437 ac_prog=ld
15438 if test "$GCC" = yes; then
15439 # Check if gcc -print-prog-name=ld gives a path.
15440 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
15441 printf %s "checking for ld used by $CC... " >&6; }
15442 case $host in
15443 *-*-mingw*)
15444 # gcc leaves a trailing carriage return which upsets mingw
15445 ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
15446 *)
15447 ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
15448 esac
15449 case $ac_prog in
15450 # Accept absolute paths.
15451 [\\/]* | ?:[\\/]*)
15452 re_direlt='/[^/][^/]*/\.\./'
15453 # Canonicalize the pathname of ld
15454 ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
15455 while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
15456 ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
15457 done
15458 test -z "$LD" && LD="$ac_prog"
15459 ;;
15460 "")
15461 # If it fails, then pretend we aren't using GCC.
15462 ac_prog=ld
15463 ;;
15464 *)
15465 # If it is relative, then search for the first ld in PATH.
15466 with_gnu_ld=unknown
15467 ;;
15468 esac
15469 elif test "$with_gnu_ld" = yes; then
15470 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
15471 printf %s "checking for GNU ld... " >&6; }
15472 else
15473 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
15474 printf %s "checking for non-GNU ld... " >&6; }
15475 fi
15476 if test ${lt_cv_path_LD+y}
15477 then :
15478 printf %s "(cached) " >&6
15479 else $as_nop
15480 if test -z "$LD"; then
15481 lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
15482 for ac_dir in $PATH; do
15483 IFS="$lt_save_ifs"
15484 test -z "$ac_dir" && ac_dir=.
15485 if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
15486 lt_cv_path_LD="$ac_dir/$ac_prog"
15487 # Check to see if the program is GNU ld. I'd rather use --version,
15488 # but apparently some variants of GNU ld only accept -v.
15489 # Break only if it was the GNU/non-GNU ld that we prefer.
15490 case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
15491 *GNU* | *'with BFD'*)
15492 test "$with_gnu_ld" != no && break
15493 ;;
15494 *)
15495 test "$with_gnu_ld" != yes && break
15496 ;;
15497 esac
15498 fi
15499 done
15500 IFS="$lt_save_ifs"
15501 else
15502 lt_cv_path_LD="$LD" # Let the user override the test with a path.
15503 fi
15504 fi
15505
15506 LD="$lt_cv_path_LD"
15507 if test -n "$LD"; then
15508 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
15509 printf "%s\n" "$LD" >&6; }
15510 else
15511 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
15512 printf "%s\n" "no" >&6; }
15513 fi
15514 test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
15515 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
15516 printf %s "checking if the linker ($LD) is GNU ld... " >&6; }
15517 if test ${lt_cv_prog_gnu_ld+y}
15518 then :
15519 printf %s "(cached) " >&6
15520 else $as_nop
15521 # I'd rather use --version here, but apparently some GNU lds only accept -v.
15522 case `$LD -v 2>&1 </dev/null` in
15523 *GNU* | *'with BFD'*)
15524 lt_cv_prog_gnu_ld=yes
15525 ;;
15526 *)
15527 lt_cv_prog_gnu_ld=no
15528 ;;
15529 esac
15530 fi
15531 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5
15532 printf "%s\n" "$lt_cv_prog_gnu_ld" >&6; }
15533 with_gnu_ld=$lt_cv_prog_gnu_ld
15534
15535
15536
15537
15538
15539
15540
15541 # Check if GNU C++ uses GNU ld as the underlying linker, since the
15542 # archiving commands below assume that GNU ld is being used.
15543 if test "$with_gnu_ld" = yes; then
15544 archive_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
15545 archive_expsym_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
15546
15547 hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
15548 export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
15549
15550 # If archive_cmds runs LD, not CC, wlarc should be empty
15551 # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
15552 # investigate it a little bit more. (MM)
15553 wlarc='${wl}'
15554
15555 # ancient GNU ld didn't support --whole-archive et. al.
15556 if eval "`$CC -print-prog-name=ld` --help 2>&1" |
15557 $GREP 'no-whole-archive' > /dev/null; then
15558 whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
15559 else
15560 whole_archive_flag_spec_CXX=
15561 fi
15562 else
15563 with_gnu_ld=no
15564 wlarc=
15565
15566 # A generic and very simple default shared library creation
15567 # command for GNU C++ for the case where it uses the native
15568 # linker, instead of GNU ld. If possible, this setting should
15569 # overridden to take advantage of the native linker features on
15570 # the platform it is being used on.
15571 archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
15572 fi
15573
15574 # Commands to make compiler produce verbose output that lists
15575 # what "hidden" libraries, object files and flags are used when
15576 # linking a shared library.
15577 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
15578
15579 else
15580 GXX=no
15581 with_gnu_ld=no
15582 wlarc=
15583 fi
15584
15585 # PORTME: fill in a description of your system's C++ link characteristics
15586 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
15587 printf %s "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
15588 ld_shlibs_CXX=yes
15589 case $host_os in
15590 aix3*)
15591 # FIXME: insert proper C++ library support
15592 ld_shlibs_CXX=no
15593 ;;
15594 aix[4-9]*)
15595 if test "$host_cpu" = ia64; then
15596 # On IA64, the linker does run time linking by default, so we don't
15597 # have to do anything special.
15598 aix_use_runtimelinking=no
15599 exp_sym_flag='-Bexport'
15600 no_entry_flag=""
15601 else
15602 aix_use_runtimelinking=no
15603
15604 # Test if we are trying to use run time linking or normal
15605 # AIX style linking. If -brtl is somewhere in LDFLAGS, we
15606 # need to do runtime linking.
15607 case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
15608 for ld_flag in $LDFLAGS; do
15609 case $ld_flag in
15610 *-brtl*)
15611 aix_use_runtimelinking=yes
15612 break
15613 ;;
15614 esac
15615 done
15616 ;;
15617 esac
15618
15619 exp_sym_flag='-bexport'
15620 no_entry_flag='-bnoentry'
15621 fi
15622
15623 # When large executables or shared objects are built, AIX ld can
15624 # have problems creating the table of contents. If linking a library
15625 # or program results in "error TOC overflow" add -mminimal-toc to
15626 # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
15627 # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
15628
15629 archive_cmds_CXX=''
15630 hardcode_direct_CXX=yes
15631 hardcode_direct_absolute_CXX=yes
15632 hardcode_libdir_separator_CXX=':'
15633 link_all_deplibs_CXX=yes
15634 file_list_spec_CXX='${wl}-f,'
15635
15636 if test "$GXX" = yes; then
15637 case $host_os in aix4.[012]|aix4.[012].*)
15638 # We only want to do this on AIX 4.2 and lower, the check
15639 # below for broken collect2 doesn't work under 4.3+
15640 collect2name=`${CC} -print-prog-name=collect2`
15641 if test -f "$collect2name" &&
15642 strings "$collect2name" | $GREP resolve_lib_name >/dev/null
15643 then
15644 # We have reworked collect2
15645 :
15646 else
15647 # We have old collect2
15648 hardcode_direct_CXX=unsupported
15649 # It fails to find uninstalled libraries when the uninstalled
15650 # path is not listed in the libpath. Setting hardcode_minus_L
15651 # to unsupported forces relinking
15652 hardcode_minus_L_CXX=yes
15653 hardcode_libdir_flag_spec_CXX='-L$libdir'
15654 hardcode_libdir_separator_CXX=
15655 fi
15656 esac
15657 shared_flag='-shared'
15658 if test "$aix_use_runtimelinking" = yes; then
15659 shared_flag="$shared_flag "'${wl}-G'
15660 fi
15661 else
15662 # not using gcc
15663 if test "$host_cpu" = ia64; then
15664 # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
15665 # chokes on -Wl,-G. The following line is correct:
15666 shared_flag='-G'
15667 else
15668 if test "$aix_use_runtimelinking" = yes; then
15669 shared_flag='${wl}-G'
15670 else
15671 shared_flag='${wl}-bM:SRE'
15672 fi
15673 fi
15674 fi
15675
15676 export_dynamic_flag_spec_CXX='${wl}-bexpall'
15677 # It seems that -bexpall does not export symbols beginning with
15678 # underscore (_), so it is better to generate a list of symbols to
15679 # export.
15680 always_export_symbols_CXX=yes
15681 if test "$aix_use_runtimelinking" = yes; then
15682 # Warning - without using the other runtime loading flags (-brtl),
15683 # -berok will link without error, but may produce a broken library.
15684 allow_undefined_flag_CXX='-berok'
15685 # Determine the default libpath from the value encoded in an empty
15686 # executable.
15687 if test "${lt_cv_aix_libpath+set}" = set; then
15688 aix_libpath=$lt_cv_aix_libpath
15689 else
15690 if test ${lt_cv_aix_libpath__CXX+y}
15691 then :
15692 printf %s "(cached) " >&6
15693 else $as_nop
15694 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15695 /* end confdefs.h. */
15696
15697 int
15698 main (void)
15699 {
15700
15701 ;
15702 return 0;
15703 }
15704 _ACEOF
15705 if ac_fn_cxx_try_link "$LINENO"
15706 then :
15707
15708 lt_aix_libpath_sed='
15709 /Import File Strings/,/^$/ {
15710 /^0/ {
15711 s/^0 *\([^ ]*\) *$/\1/
15712 p
15713 }
15714 }'
15715 lt_cv_aix_libpath__CXX=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
15716 # Check for a 64-bit object if we didn't find anything.
15717 if test -z "$lt_cv_aix_libpath__CXX"; then
15718 lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
15719 fi
15720 fi
15721 rm -f core conftest.err conftest.$ac_objext conftest.beam \
15722 conftest$ac_exeext conftest.$ac_ext
15723 if test -z "$lt_cv_aix_libpath__CXX"; then
15724 lt_cv_aix_libpath__CXX="/usr/lib:/lib"
15725 fi
15726
15727 fi
15728
15729 aix_libpath=$lt_cv_aix_libpath__CXX
15730 fi
15731
15732 hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
15733
15734 archive_expsym_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
15735 else
15736 if test "$host_cpu" = ia64; then
15737 hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib'
15738 allow_undefined_flag_CXX="-z nodefs"
15739 archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
15740 else
15741 # Determine the default libpath from the value encoded in an
15742 # empty executable.
15743 if test "${lt_cv_aix_libpath+set}" = set; then
15744 aix_libpath=$lt_cv_aix_libpath
15745 else
15746 if test ${lt_cv_aix_libpath__CXX+y}
15747 then :
15748 printf %s "(cached) " >&6
15749 else $as_nop
15750 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
15751 /* end confdefs.h. */
15752
15753 int
15754 main (void)
15755 {
15756
15757 ;
15758 return 0;
15759 }
15760 _ACEOF
15761 if ac_fn_cxx_try_link "$LINENO"
15762 then :
15763
15764 lt_aix_libpath_sed='
15765 /Import File Strings/,/^$/ {
15766 /^0/ {
15767 s/^0 *\([^ ]*\) *$/\1/
15768 p
15769 }
15770 }'
15771 lt_cv_aix_libpath__CXX=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
15772 # Check for a 64-bit object if we didn't find anything.
15773 if test -z "$lt_cv_aix_libpath__CXX"; then
15774 lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
15775 fi
15776 fi
15777 rm -f core conftest.err conftest.$ac_objext conftest.beam \
15778 conftest$ac_exeext conftest.$ac_ext
15779 if test -z "$lt_cv_aix_libpath__CXX"; then
15780 lt_cv_aix_libpath__CXX="/usr/lib:/lib"
15781 fi
15782
15783 fi
15784
15785 aix_libpath=$lt_cv_aix_libpath__CXX
15786 fi
15787
15788 hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
15789 # Warning - without using the other run time loading flags,
15790 # -berok will link without error, but may produce a broken library.
15791 no_undefined_flag_CXX=' ${wl}-bernotok'
15792 allow_undefined_flag_CXX=' ${wl}-berok'
15793 if test "$with_gnu_ld" = yes; then
15794 # We only use this code for GNU lds that support --whole-archive.
15795 whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
15796 else
15797 # Exported symbols can be pulled into shared objects from archives
15798 whole_archive_flag_spec_CXX='$convenience'
15799 fi
15800 archive_cmds_need_lc_CXX=yes
15801 # This is similar to how AIX traditionally builds its shared
15802 # libraries.
15803 archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
15804 fi
15805 fi
15806 ;;
15807
15808 beos*)
15809 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
15810 allow_undefined_flag_CXX=unsupported
15811 # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
15812 # support --undefined. This deserves some investigation. FIXME
15813 archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
15814 else
15815 ld_shlibs_CXX=no
15816 fi
15817 ;;
15818
15819 chorus*)
15820 case $cc_basename in
15821 *)
15822 # FIXME: insert proper C++ library support
15823 ld_shlibs_CXX=no
15824 ;;
15825 esac
15826 ;;
15827
15828 cygwin* | mingw* | pw32* | cegcc*)
15829 case $GXX,$cc_basename in
15830 ,cl* | no,cl*)
15831 # Native MSVC
15832 # hardcode_libdir_flag_spec is actually meaningless, as there is
15833 # no search path for DLLs.
15834 hardcode_libdir_flag_spec_CXX=' '
15835 allow_undefined_flag_CXX=unsupported
15836 always_export_symbols_CXX=yes
15837 file_list_spec_CXX='@'
15838 # Tell ltmain to make .lib files, not .a files.
15839 libext=lib
15840 # Tell ltmain to make .dll files, not .so files.
15841 shrext_cmds=".dll"
15842 # FIXME: Setting linknames here is a bad hack.
15843 archive_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
15844 archive_expsym_cmds_CXX='if test "x`$SED \"$sed_uncomment_deffile\" $export_symbols | $SED 1q`" = xEXPORTS; then
15845 $SED -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
15846 else
15847 $SED -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
15848 fi~
15849 $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
15850 linknames='
15851 # The linker will not automatically build a static lib if we build a DLL.
15852 # _LT_TAGVAR(old_archive_from_new_cmds, CXX)='true'
15853 enable_shared_with_static_runtimes_CXX=yes
15854 # Don't use ranlib
15855 old_postinstall_cmds_CXX='chmod 644 $oldlib'
15856 postlink_cmds_CXX='lt_outputfile="@OUTPUT@"~
15857 lt_tool_outputfile="@TOOL_OUTPUT@"~
15858 case $lt_outputfile in
15859 *.exe|*.EXE) ;;
15860 *)
15861 lt_outputfile="$lt_outputfile.exe"
15862 lt_tool_outputfile="$lt_tool_outputfile.exe"
15863 ;;
15864 esac~
15865 func_to_tool_file "$lt_outputfile"~
15866 if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
15867 $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
15868 $RM "$lt_outputfile.manifest";
15869 fi'
15870 ;;
15871 *)
15872 # g++
15873 # _LT_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless,
15874 # as there is no search path for DLLs.
15875 hardcode_libdir_flag_spec_CXX='-L$libdir'
15876 export_dynamic_flag_spec_CXX='${wl}--export-all-symbols'
15877 allow_undefined_flag_CXX=unsupported
15878 always_export_symbols_CXX=no
15879 enable_shared_with_static_runtimes_CXX=yes
15880
15881 if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
15882 archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
15883 # If the export-symbols file already is a .def file (1st line
15884 # is EXPORTS), use it as is; otherwise, prepend...
15885 archive_expsym_cmds_CXX='if test "x`$SED \"$sed_uncomment_deffile\" $export_symbols | $SED 1q`" = xEXPORTS; then
15886 cp $export_symbols $output_objdir/$soname.def;
15887 else
15888 echo EXPORTS > $output_objdir/$soname.def;
15889 cat $export_symbols >> $output_objdir/$soname.def;
15890 fi~
15891 $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
15892 else
15893 ld_shlibs_CXX=no
15894 fi
15895 ;;
15896 esac
15897 ;;
15898 darwin* | rhapsody*)
15899
15900
15901 archive_cmds_need_lc_CXX=no
15902 hardcode_direct_CXX=no
15903 hardcode_automatic_CXX=yes
15904 hardcode_shlibpath_var_CXX=unsupported
15905 if test "$lt_cv_ld_force_load" = "yes"; then
15906 whole_archive_flag_spec_CXX='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
15907
15908 else
15909 whole_archive_flag_spec_CXX=''
15910 fi
15911 link_all_deplibs_CXX=yes
15912 allow_undefined_flag_CXX="$_lt_dar_allow_undefined"
15913 case $cc_basename in
15914 ifort*) _lt_dar_can_shared=yes ;;
15915 *) _lt_dar_can_shared=$GCC ;;
15916 esac
15917 if test "$_lt_dar_can_shared" = "yes"; then
15918 output_verbose_link_cmd=func_echo_all
15919 archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
15920 module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
15921 archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
15922 module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
15923 if test "$lt_cv_apple_cc_single_mod" != "yes"; then
15924 archive_cmds_CXX="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}"
15925 archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}"
15926 fi
15927
15928 else
15929 ld_shlibs_CXX=no
15930 fi
15931
15932 ;;
15933
15934 dgux*)
15935 case $cc_basename in
15936 ec++*)
15937 # FIXME: insert proper C++ library support
15938 ld_shlibs_CXX=no
15939 ;;
15940 ghcx*)
15941 # Green Hills C++ Compiler
15942 # FIXME: insert proper C++ library support
15943 ld_shlibs_CXX=no
15944 ;;
15945 *)
15946 # FIXME: insert proper C++ library support
15947 ld_shlibs_CXX=no
15948 ;;
15949 esac
15950 ;;
15951
15952 freebsd2.*)
15953 # C++ shared libraries reported to be fairly broken before
15954 # switch to ELF
15955 ld_shlibs_CXX=no
15956 ;;
15957
15958 freebsd-elf*)
15959 archive_cmds_need_lc_CXX=no
15960 ;;
15961
15962 freebsd* | dragonfly*)
15963 # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
15964 # conventions
15965 ld_shlibs_CXX=yes
15966 ;;
15967
15968 gnu*)
15969 ;;
15970
15971 haiku*)
15972 archive_cmds_CXX='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
15973 link_all_deplibs_CXX=yes
15974 ;;
15975
15976 hpux9*)
15977 hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir'
15978 hardcode_libdir_separator_CXX=:
15979 export_dynamic_flag_spec_CXX='${wl}-E'
15980 hardcode_direct_CXX=yes
15981 hardcode_minus_L_CXX=yes # Not in the search PATH,
15982 # but as the default
15983 # location of the library.
15984
15985 case $cc_basename in
15986 CC*)
15987 # FIXME: insert proper C++ library support
15988 ld_shlibs_CXX=no
15989 ;;
15990 aCC*)
15991 archive_cmds_CXX='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
15992 # Commands to make compiler produce verbose output that lists
15993 # what "hidden" libraries, object files and flags are used when
15994 # linking a shared library.
15995 #
15996 # There doesn't appear to be a way to prevent this compiler from
15997 # explicitly linking system object files so we need to strip them
15998 # from the output so that they don't get included in the library
15999 # dependencies.
16000 output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
16001 ;;
16002 *)
16003 if test "$GXX" = yes; then
16004 archive_cmds_CXX='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
16005 else
16006 # FIXME: insert proper C++ library support
16007 ld_shlibs_CXX=no
16008 fi
16009 ;;
16010 esac
16011 ;;
16012
16013 hpux10*|hpux11*)
16014 if test $with_gnu_ld = no; then
16015 hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir'
16016 hardcode_libdir_separator_CXX=:
16017
16018 case $host_cpu in
16019 hppa*64*|ia64*)
16020 ;;
16021 *)
16022 export_dynamic_flag_spec_CXX='${wl}-E'
16023 ;;
16024 esac
16025 fi
16026 case $host_cpu in
16027 hppa*64*|ia64*)
16028 hardcode_direct_CXX=no
16029 hardcode_shlibpath_var_CXX=no
16030 ;;
16031 *)
16032 hardcode_direct_CXX=yes
16033 hardcode_direct_absolute_CXX=yes
16034 hardcode_minus_L_CXX=yes # Not in the search PATH,
16035 # but as the default
16036 # location of the library.
16037 ;;
16038 esac
16039
16040 case $cc_basename in
16041 CC*)
16042 # FIXME: insert proper C++ library support
16043 ld_shlibs_CXX=no
16044 ;;
16045 aCC*)
16046 case $host_cpu in
16047 hppa*64*)
16048 archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
16049 ;;
16050 ia64*)
16051 archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
16052 ;;
16053 *)
16054 archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
16055 ;;
16056 esac
16057 # Commands to make compiler produce verbose output that lists
16058 # what "hidden" libraries, object files and flags are used when
16059 # linking a shared library.
16060 #
16061 # There doesn't appear to be a way to prevent this compiler from
16062 # explicitly linking system object files so we need to strip them
16063 # from the output so that they don't get included in the library
16064 # dependencies.
16065 output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
16066 ;;
16067 *)
16068 if test "$GXX" = yes; then
16069 if test $with_gnu_ld = no; then
16070 case $host_cpu in
16071 hppa*64*)
16072 archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
16073 ;;
16074 ia64*)
16075 archive_cmds_CXX='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
16076 ;;
16077 *)
16078 archive_cmds_CXX='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
16079 ;;
16080 esac
16081 fi
16082 else
16083 # FIXME: insert proper C++ library support
16084 ld_shlibs_CXX=no
16085 fi
16086 ;;
16087 esac
16088 ;;
16089
16090 interix[3-9]*)
16091 hardcode_direct_CXX=no
16092 hardcode_shlibpath_var_CXX=no
16093 hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
16094 export_dynamic_flag_spec_CXX='${wl}-E'
16095 # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
16096 # Instead, shared libraries are loaded at an image base (0x10000000 by
16097 # default) and relocated if they conflict, which is a slow very memory
16098 # consuming and fragmenting process. To avoid this, we pick a random,
16099 # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
16100 # time. Moving up from 0x10000000 also allows more sbrk(2) space.
16101 archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
16102 archive_expsym_cmds_CXX='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
16103 ;;
16104 irix5* | irix6*)
16105 case $cc_basename in
16106 CC*)
16107 # SGI C++
16108 archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
16109
16110 # Archives containing C++ object files must be created using
16111 # "CC -ar", where "CC" is the IRIX C++ compiler. This is
16112 # necessary to make sure instantiated templates are included
16113 # in the archive.
16114 old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs'
16115 ;;
16116 *)
16117 if test "$GXX" = yes; then
16118 if test "$with_gnu_ld" = no; then
16119 archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
16120 else
16121 archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` -o $lib'
16122 fi
16123 fi
16124 link_all_deplibs_CXX=yes
16125 ;;
16126 esac
16127 hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
16128 hardcode_libdir_separator_CXX=:
16129 inherit_rpath_CXX=yes
16130 ;;
16131
16132 linux* | k*bsd*-gnu | kopensolaris*-gnu)
16133 case $cc_basename in
16134 KCC*)
16135 # Kuck and Associates, Inc. (KAI) C++ Compiler
16136
16137 # KCC will only create a shared library if the output file
16138 # ends with ".so" (or ".sl" for HP-UX), so rename the library
16139 # to its proper name (with version) after linking.
16140 archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
16141 archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
16142 # Commands to make compiler produce verbose output that lists
16143 # what "hidden" libraries, object files and flags are used when
16144 # linking a shared library.
16145 #
16146 # There doesn't appear to be a way to prevent this compiler from
16147 # explicitly linking system object files so we need to strip them
16148 # from the output so that they don't get included in the library
16149 # dependencies.
16150 output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
16151
16152 hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
16153 export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
16154
16155 # Archives containing C++ object files must be created using
16156 # "CC -Bstatic", where "CC" is the KAI C++ compiler.
16157 old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs'
16158 ;;
16159 icpc* | ecpc* )
16160 # Intel C++
16161 with_gnu_ld=yes
16162 # version 8.0 and above of icpc choke on multiply defined symbols
16163 # if we add $predep_objects and $postdep_objects, however 7.1 and
16164 # earlier do not add the objects themselves.
16165 case `$CC -V 2>&1` in
16166 *"Version 7."*)
16167 archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
16168 archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
16169 ;;
16170 *) # Version 8.0 or newer
16171 tmp_idyn=
16172 case $host_cpu in
16173 ia64*) tmp_idyn=' -i_dynamic';;
16174 esac
16175 archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
16176 archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
16177 ;;
16178 esac
16179 archive_cmds_need_lc_CXX=no
16180 hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
16181 export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
16182 whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
16183 ;;
16184 pgCC* | pgcpp*)
16185 # Portland Group C++ compiler
16186 case `$CC -V` in
16187 *pgCC\ [1-5].* | *pgcpp\ [1-5].*)
16188 prelink_cmds_CXX='tpldir=Template.dir~
16189 rm -rf $tpldir~
16190 $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
16191 compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"'
16192 old_archive_cmds_CXX='tpldir=Template.dir~
16193 rm -rf $tpldir~
16194 $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
16195 $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~
16196 $RANLIB $oldlib'
16197 archive_cmds_CXX='tpldir=Template.dir~
16198 rm -rf $tpldir~
16199 $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
16200 $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
16201 archive_expsym_cmds_CXX='tpldir=Template.dir~
16202 rm -rf $tpldir~
16203 $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
16204 $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
16205 ;;
16206 *) # Version 6 and above use weak symbols
16207 archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
16208 archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
16209 ;;
16210 esac
16211
16212 hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir'
16213 export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
16214 whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
16215 ;;
16216 cxx*)
16217 # Compaq C++
16218 archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
16219 archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
16220
16221 runpath_var=LD_RUN_PATH
16222 hardcode_libdir_flag_spec_CXX='-rpath $libdir'
16223 hardcode_libdir_separator_CXX=:
16224
16225 # Commands to make compiler produce verbose output that lists
16226 # what "hidden" libraries, object files and flags are used when
16227 # linking a shared library.
16228 #
16229 # There doesn't appear to be a way to prevent this compiler from
16230 # explicitly linking system object files so we need to strip them
16231 # from the output so that they don't get included in the library
16232 # dependencies.
16233 output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed'
16234 ;;
16235 xl* | mpixl* | bgxl*)
16236 # IBM XL 8.0 on PPC, with GNU ld
16237 hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
16238 export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
16239 archive_cmds_CXX='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
16240 if test "x$supports_anon_versioning" = xyes; then
16241 archive_expsym_cmds_CXX='echo "{ global:" > $output_objdir/$libname.ver~
16242 cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
16243 echo "local: *; };" >> $output_objdir/$libname.ver~
16244 $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
16245 fi
16246 ;;
16247 *)
16248 case `$CC -V 2>&1 | sed 5q` in
16249 *Sun\ C*)
16250 # Sun C++ 5.9
16251 no_undefined_flag_CXX=' -zdefs'
16252 archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
16253 archive_expsym_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
16254 hardcode_libdir_flag_spec_CXX='-R$libdir'
16255 whole_archive_flag_spec_CXX='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
16256 compiler_needs_object_CXX=yes
16257
16258 # Not sure whether something based on
16259 # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
16260 # would be better.
16261 output_verbose_link_cmd='func_echo_all'
16262
16263 # Archives containing C++ object files must be created using
16264 # "CC -xar", where "CC" is the Sun C++ compiler. This is
16265 # necessary to make sure instantiated templates are included
16266 # in the archive.
16267 old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs'
16268 ;;
16269 esac
16270 ;;
16271 esac
16272 ;;
16273
16274 lynxos*)
16275 # FIXME: insert proper C++ library support
16276 ld_shlibs_CXX=no
16277 ;;
16278
16279 m88k*)
16280 # FIXME: insert proper C++ library support
16281 ld_shlibs_CXX=no
16282 ;;
16283
16284 mvs*)
16285 case $cc_basename in
16286 cxx*)
16287 # FIXME: insert proper C++ library support
16288 ld_shlibs_CXX=no
16289 ;;
16290 *)
16291 # FIXME: insert proper C++ library support
16292 ld_shlibs_CXX=no
16293 ;;
16294 esac
16295 ;;
16296
16297 netbsd*)
16298 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
16299 archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
16300 wlarc=
16301 hardcode_libdir_flag_spec_CXX='-R$libdir'
16302 hardcode_direct_CXX=yes
16303 hardcode_shlibpath_var_CXX=no
16304 fi
16305 # Workaround some broken pre-1.5 toolchains
16306 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
16307 ;;
16308
16309 *nto* | *qnx*)
16310 ld_shlibs_CXX=yes
16311 ;;
16312
16313 openbsd2*)
16314 # C++ shared libraries are fairly broken
16315 ld_shlibs_CXX=no
16316 ;;
16317
16318 openbsd*)
16319 if test -f /usr/libexec/ld.so; then
16320 hardcode_direct_CXX=yes
16321 hardcode_shlibpath_var_CXX=no
16322 hardcode_direct_absolute_CXX=yes
16323 archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
16324 hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
16325 if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
16326 archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
16327 export_dynamic_flag_spec_CXX='${wl}-E'
16328 whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
16329 fi
16330 output_verbose_link_cmd=func_echo_all
16331 else
16332 ld_shlibs_CXX=no
16333 fi
16334 ;;
16335
16336 osf3* | osf4* | osf5*)
16337 case $cc_basename in
16338 KCC*)
16339 # Kuck and Associates, Inc. (KAI) C++ Compiler
16340
16341 # KCC will only create a shared library if the output file
16342 # ends with ".so" (or ".sl" for HP-UX), so rename the library
16343 # to its proper name (with version) after linking.
16344 archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
16345
16346 hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
16347 hardcode_libdir_separator_CXX=:
16348
16349 # Archives containing C++ object files must be created using
16350 # the KAI C++ compiler.
16351 case $host in
16352 osf3*) old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;;
16353 *) old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' ;;
16354 esac
16355 ;;
16356 RCC*)
16357 # Rational C++ 2.4.1
16358 # FIXME: insert proper C++ library support
16359 ld_shlibs_CXX=no
16360 ;;
16361 cxx*)
16362 case $host in
16363 osf3*)
16364 allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
16365 archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && func_echo_all "${wl}-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
16366 hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
16367 ;;
16368 *)
16369 allow_undefined_flag_CXX=' -expect_unresolved \*'
16370 archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
16371 archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
16372 echo "-hidden">> $lib.exp~
16373 $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~
16374 $RM $lib.exp'
16375 hardcode_libdir_flag_spec_CXX='-rpath $libdir'
16376 ;;
16377 esac
16378
16379 hardcode_libdir_separator_CXX=:
16380
16381 # Commands to make compiler produce verbose output that lists
16382 # what "hidden" libraries, object files and flags are used when
16383 # linking a shared library.
16384 #
16385 # There doesn't appear to be a way to prevent this compiler from
16386 # explicitly linking system object files so we need to strip them
16387 # from the output so that they don't get included in the library
16388 # dependencies.
16389 output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
16390 ;;
16391 *)
16392 if test "$GXX" = yes && test "$with_gnu_ld" = no; then
16393 allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
16394 case $host in
16395 osf3*)
16396 archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
16397 ;;
16398 *)
16399 archive_cmds_CXX='$CC -shared $pic_flag -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
16400 ;;
16401 esac
16402
16403 hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
16404 hardcode_libdir_separator_CXX=:
16405
16406 # Commands to make compiler produce verbose output that lists
16407 # what "hidden" libraries, object files and flags are used when
16408 # linking a shared library.
16409 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
16410
16411 else
16412 # FIXME: insert proper C++ library support
16413 ld_shlibs_CXX=no
16414 fi
16415 ;;
16416 esac
16417 ;;
16418
16419 psos*)
16420 # FIXME: insert proper C++ library support
16421 ld_shlibs_CXX=no
16422 ;;
16423
16424 sunos4*)
16425 case $cc_basename in
16426 CC*)
16427 # Sun C++ 4.x
16428 # FIXME: insert proper C++ library support
16429 ld_shlibs_CXX=no
16430 ;;
16431 lcc*)
16432 # Lucid
16433 # FIXME: insert proper C++ library support
16434 ld_shlibs_CXX=no
16435 ;;
16436 *)
16437 # FIXME: insert proper C++ library support
16438 ld_shlibs_CXX=no
16439 ;;
16440 esac
16441 ;;
16442
16443 solaris*)
16444 case $cc_basename in
16445 CC* | sunCC*)
16446 # Sun C++ 4.2, 5.x and Centerline C++
16447 archive_cmds_need_lc_CXX=yes
16448 no_undefined_flag_CXX=' -zdefs'
16449 archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
16450 archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
16451 $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
16452
16453 hardcode_libdir_flag_spec_CXX='-R$libdir'
16454 hardcode_shlibpath_var_CXX=no
16455 case $host_os in
16456 solaris2.[0-5] | solaris2.[0-5].*) ;;
16457 *)
16458 # The compiler driver will combine and reorder linker options,
16459 # but understands `-z linker_flag'.
16460 # Supported since Solaris 2.6 (maybe 2.5.1?)
16461 whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract'
16462 ;;
16463 esac
16464 link_all_deplibs_CXX=yes
16465
16466 output_verbose_link_cmd='func_echo_all'
16467
16468 # Archives containing C++ object files must be created using
16469 # "CC -xar", where "CC" is the Sun C++ compiler. This is
16470 # necessary to make sure instantiated templates are included
16471 # in the archive.
16472 old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs'
16473 ;;
16474 gcx*)
16475 # Green Hills C++ Compiler
16476 archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
16477
16478 # The C++ compiler must be used to create the archive.
16479 old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
16480 ;;
16481 *)
16482 # GNU C++ compiler with Solaris linker
16483 if test "$GXX" = yes && test "$with_gnu_ld" = no; then
16484 no_undefined_flag_CXX=' ${wl}-z ${wl}defs'
16485 if $CC --version | $GREP -v '^2\.7' > /dev/null; then
16486 archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
16487 archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
16488 $CC -shared $pic_flag -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
16489
16490 # Commands to make compiler produce verbose output that lists
16491 # what "hidden" libraries, object files and flags are used when
16492 # linking a shared library.
16493 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
16494 else
16495 # g++ 2.7 appears to require `-G' NOT `-shared' on this
16496 # platform.
16497 archive_cmds_CXX='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
16498 archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
16499 $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
16500
16501 # Commands to make compiler produce verbose output that lists
16502 # what "hidden" libraries, object files and flags are used when
16503 # linking a shared library.
16504 output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
16505 fi
16506
16507 hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir'
16508 case $host_os in
16509 solaris2.[0-5] | solaris2.[0-5].*) ;;
16510 *)
16511 whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
16512 ;;
16513 esac
16514 fi
16515 ;;
16516 esac
16517 ;;
16518
16519 sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
16520 no_undefined_flag_CXX='${wl}-z,text'
16521 archive_cmds_need_lc_CXX=no
16522 hardcode_shlibpath_var_CXX=no
16523 runpath_var='LD_RUN_PATH'
16524
16525 case $cc_basename in
16526 CC*)
16527 archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
16528 archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
16529 ;;
16530 *)
16531 archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
16532 archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
16533 ;;
16534 esac
16535 ;;
16536
16537 sysv5* | sco3.2v5* | sco5v6*)
16538 # Note: We can NOT use -z defs as we might desire, because we do not
16539 # link with -lc, and that would cause any symbols used from libc to
16540 # always be unresolved, which means just about no library would
16541 # ever link correctly. If we're not using GNU ld we use -z text
16542 # though, which does catch some bad symbols but isn't as heavy-handed
16543 # as -z defs.
16544 no_undefined_flag_CXX='${wl}-z,text'
16545 allow_undefined_flag_CXX='${wl}-z,nodefs'
16546 archive_cmds_need_lc_CXX=no
16547 hardcode_shlibpath_var_CXX=no
16548 hardcode_libdir_flag_spec_CXX='${wl}-R,$libdir'
16549 hardcode_libdir_separator_CXX=':'
16550 link_all_deplibs_CXX=yes
16551 export_dynamic_flag_spec_CXX='${wl}-Bexport'
16552 runpath_var='LD_RUN_PATH'
16553
16554 case $cc_basename in
16555 CC*)
16556 archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
16557 archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
16558 old_archive_cmds_CXX='$CC -Tprelink_objects $oldobjs~
16559 '"$old_archive_cmds_CXX"
16560 reload_cmds_CXX='$CC -Tprelink_objects $reload_objs~
16561 '"$reload_cmds_CXX"
16562 ;;
16563 *)
16564 archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
16565 archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
16566 ;;
16567 esac
16568 ;;
16569
16570 tandem*)
16571 case $cc_basename in
16572 NCC*)
16573 # NonStop-UX NCC 3.20
16574 # FIXME: insert proper C++ library support
16575 ld_shlibs_CXX=no
16576 ;;
16577 *)
16578 # FIXME: insert proper C++ library support
16579 ld_shlibs_CXX=no
16580 ;;
16581 esac
16582 ;;
16583
16584 vxworks*)
16585 # FIXME: insert proper C++ library support
16586 ld_shlibs_CXX=no
16587 ;;
16588
16589 *)
16590 # FIXME: insert proper C++ library support
16591 ld_shlibs_CXX=no
16592 ;;
16593 esac
16594
16595 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5
16596 printf "%s\n" "$ld_shlibs_CXX" >&6; }
16597 test "$ld_shlibs_CXX" = no && can_build_shared=no
16598
16599 GCC_CXX="$GXX"
16600 LD_CXX="$LD"
16601
16602 ## CAVEAT EMPTOR:
16603 ## There is no encapsulation within the following macros, do not change
16604 ## the running order or otherwise move them around unless you know exactly
16605 ## what you are doing...
16606 # Dependencies to place before and after the object being linked:
16607 predep_objects_CXX=
16608 postdep_objects_CXX=
16609 predeps_CXX=
16610 postdeps_CXX=
16611 compiler_lib_search_path_CXX=
16612
16613 cat > conftest.$ac_ext <<_LT_EOF
16614 class Foo
16615 {
16616 public:
16617 Foo (void) { a = 0; }
16618 private:
16619 int a;
16620 };
16621 _LT_EOF
16622
16623
16624 _lt_libdeps_save_CFLAGS=$CFLAGS
16625 case "$CC $CFLAGS " in #(
16626 *\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;;
16627 *\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;;
16628 *\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;;
16629 esac
16630
16631 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
16632 (eval $ac_compile) 2>&5
16633 ac_status=$?
16634 printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
16635 test $ac_status = 0; }; then
16636 # Parse the compiler output and extract the necessary
16637 # objects, libraries and library flags.
16638
16639 # Sentinel used to keep track of whether or not we are before
16640 # the conftest object file.
16641 pre_test_object_deps_done=no
16642
16643 for p in `eval "$output_verbose_link_cmd"`; do
16644 case ${prev}${p} in
16645
16646 -L* | -R* | -l*)
16647 # Some compilers place space between "-{L,R}" and the path.
16648 # Remove the space.
16649 if test $p = "-L" ||
16650 test $p = "-R"; then
16651 prev=$p
16652 continue
16653 fi
16654
16655 # Expand the sysroot to ease extracting the directories later.
16656 if test -z "$prev"; then
16657 case $p in
16658 -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;;
16659 -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;;
16660 -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;;
16661 esac
16662 fi
16663 case $p in
16664 =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;;
16665 esac
16666 if test "$pre_test_object_deps_done" = no; then
16667 case ${prev} in
16668 -L | -R)
16669 # Internal compiler library paths should come after those
16670 # provided the user. The postdeps already come after the
16671 # user supplied libs so there is no need to process them.
16672 if test -z "$compiler_lib_search_path_CXX"; then
16673 compiler_lib_search_path_CXX="${prev}${p}"
16674 else
16675 compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} ${prev}${p}"
16676 fi
16677 ;;
16678 # The "-l" case would never come before the object being
16679 # linked, so don't bother handling this case.
16680 esac
16681 else
16682 if test -z "$postdeps_CXX"; then
16683 postdeps_CXX="${prev}${p}"
16684 else
16685 postdeps_CXX="${postdeps_CXX} ${prev}${p}"
16686 fi
16687 fi
16688 prev=
16689 ;;
16690
16691 *.lto.$objext) ;; # Ignore GCC LTO objects
16692 *.$objext)
16693 # This assumes that the test object file only shows up
16694 # once in the compiler output.
16695 if test "$p" = "conftest.$objext"; then
16696 pre_test_object_deps_done=yes
16697 continue
16698 fi
16699
16700 if test "$pre_test_object_deps_done" = no; then
16701 if test -z "$predep_objects_CXX"; then
16702 predep_objects_CXX="$p"
16703 else
16704 predep_objects_CXX="$predep_objects_CXX $p"
16705 fi
16706 else
16707 if test -z "$postdep_objects_CXX"; then
16708 postdep_objects_CXX="$p"
16709 else
16710 postdep_objects_CXX="$postdep_objects_CXX $p"
16711 fi
16712 fi
16713 ;;
16714
16715 *) ;; # Ignore the rest.
16716
16717 esac
16718 done
16719
16720 # Clean up.
16721 rm -f a.out a.exe
16722 else
16723 echo "libtool.m4: error: problem compiling CXX test program"
16724 fi
16725
16726 $RM -f confest.$objext
16727 CFLAGS=$_lt_libdeps_save_CFLAGS
16728
16729 # PORTME: override above test on systems where it is broken
16730 case $host_os in
16731 interix[3-9]*)
16732 # Interix 3.5 installs completely hosed .la files for C++, so rather than
16733 # hack all around it, let's just trust "g++" to DTRT.
16734 predep_objects_CXX=
16735 postdep_objects_CXX=
16736 postdeps_CXX=
16737 ;;
16738
16739 linux*)
16740 case `$CC -V 2>&1 | sed 5q` in
16741 *Sun\ C*)
16742 # Sun C++ 5.9
16743
16744 # The more standards-conforming stlport4 library is
16745 # incompatible with the Cstd library. Avoid specifying
16746 # it if it's in CXXFLAGS. Ignore libCrun as
16747 # -library=stlport4 depends on it.
16748 case " $CXX $CXXFLAGS " in
16749 *" -library=stlport4 "*)
16750 solaris_use_stlport4=yes
16751 ;;
16752 esac
16753
16754 if test "$solaris_use_stlport4" != yes; then
16755 postdeps_CXX='-library=Cstd -library=Crun'
16756 fi
16757 ;;
16758 esac
16759 ;;
16760
16761 solaris*)
16762 case $cc_basename in
16763 CC* | sunCC*)
16764 # The more standards-conforming stlport4 library is
16765 # incompatible with the Cstd library. Avoid specifying
16766 # it if it's in CXXFLAGS. Ignore libCrun as
16767 # -library=stlport4 depends on it.
16768 case " $CXX $CXXFLAGS " in
16769 *" -library=stlport4 "*)
16770 solaris_use_stlport4=yes
16771 ;;
16772 esac
16773
16774 # Adding this requires a known-good setup of shared libraries for
16775 # Sun compiler versions before 5.6, else PIC objects from an old
16776 # archive will be linked into the output, leading to subtle bugs.
16777 if test "$solaris_use_stlport4" != yes; then
16778 postdeps_CXX='-library=Cstd -library=Crun'
16779 fi
16780 ;;
16781 esac
16782 ;;
16783 esac
16784
16785
16786 case " $postdeps_CXX " in
16787 *" -lc "*) archive_cmds_need_lc_CXX=no ;;
16788 esac
16789 compiler_lib_search_dirs_CXX=
16790 if test -n "${compiler_lib_search_path_CXX}"; then
16791 compiler_lib_search_dirs_CXX=`echo " ${compiler_lib_search_path_CXX}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
16792 fi
16793
16794
16795
16796
16797
16798
16799
16800
16801
16802
16803
16804
16805
16806
16807
16808
16809
16810
16811
16812
16813
16814
16815
16816
16817
16818
16819
16820
16821
16822
16823
16824 lt_prog_compiler_wl_CXX=
16825 lt_prog_compiler_pic_CXX=
16826 lt_prog_compiler_static_CXX=
16827
16828
16829 # C++ specific cases for pic, static, wl, etc.
16830 if test "$GXX" = yes; then
16831 lt_prog_compiler_wl_CXX='-Wl,'
16832 lt_prog_compiler_static_CXX='-static'
16833
16834 case $host_os in
16835 aix*)
16836 # All AIX code is PIC.
16837 if test "$host_cpu" = ia64; then
16838 # AIX 5 now supports IA64 processor
16839 lt_prog_compiler_static_CXX='-Bstatic'
16840 fi
16841 ;;
16842
16843 amigaos*)
16844 case $host_cpu in
16845 powerpc)
16846 # see comment about AmigaOS4 .so support
16847 lt_prog_compiler_pic_CXX='-fPIC'
16848 ;;
16849 m68k)
16850 # FIXME: we need at least 68020 code to build shared libraries, but
16851 # adding the `-m68020' flag to GCC prevents building anything better,
16852 # like `-m68040'.
16853 lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4'
16854 ;;
16855 esac
16856 ;;
16857
16858 beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
16859 # PIC is the default for these OSes.
16860 ;;
16861 mingw* | cygwin* | os2* | pw32* | cegcc*)
16862 # This hack is so that the source file can tell whether it is being
16863 # built for inclusion in a dll (and should export symbols for example).
16864 # Although the cygwin gcc ignores -fPIC, still need this for old-style
16865 # (--disable-auto-import) libraries
16866 lt_prog_compiler_pic_CXX='-DDLL_EXPORT'
16867 ;;
16868 darwin* | rhapsody*)
16869 # PIC is the default on this platform
16870 # Common symbols not allowed in MH_DYLIB files
16871 lt_prog_compiler_pic_CXX='-fno-common'
16872 ;;
16873 *djgpp*)
16874 # DJGPP does not support shared libraries at all
16875 lt_prog_compiler_pic_CXX=
16876 ;;
16877 haiku*)
16878 # PIC is the default for Haiku.
16879 # The "-static" flag exists, but is broken.
16880 lt_prog_compiler_static_CXX=
16881 ;;
16882 interix[3-9]*)
16883 # Interix 3.x gcc -fpic/-fPIC options generate broken code.
16884 # Instead, we relocate shared libraries at runtime.
16885 ;;
16886 sysv4*MP*)
16887 if test -d /usr/nec; then
16888 lt_prog_compiler_pic_CXX=-Kconform_pic
16889 fi
16890 ;;
16891 hpux*)
16892 # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
16893 # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
16894 # sets the default TLS model and affects inlining.
16895 case $host_cpu in
16896 hppa*64*)
16897 ;;
16898 *)
16899 lt_prog_compiler_pic_CXX='-fPIC'
16900 ;;
16901 esac
16902 ;;
16903 *qnx* | *nto*)
16904 # QNX uses GNU C++, but need to define -shared option too, otherwise
16905 # it will coredump.
16906 lt_prog_compiler_pic_CXX='-fPIC -shared'
16907 ;;
16908 *)
16909 lt_prog_compiler_pic_CXX='-fPIC'
16910 ;;
16911 esac
16912 else
16913 case $host_os in
16914 aix[4-9]*)
16915 # All AIX code is PIC.
16916 if test "$host_cpu" = ia64; then
16917 # AIX 5 now supports IA64 processor
16918 lt_prog_compiler_static_CXX='-Bstatic'
16919 else
16920 lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp'
16921 fi
16922 ;;
16923 chorus*)
16924 case $cc_basename in
16925 cxch68*)
16926 # Green Hills C++ Compiler
16927 # _LT_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
16928 ;;
16929 esac
16930 ;;
16931 mingw* | cygwin* | os2* | pw32* | cegcc*)
16932 # This hack is so that the source file can tell whether it is being
16933 # built for inclusion in a dll (and should export symbols for example).
16934 lt_prog_compiler_pic_CXX='-DDLL_EXPORT'
16935 ;;
16936 dgux*)
16937 case $cc_basename in
16938 ec++*)
16939 lt_prog_compiler_pic_CXX='-KPIC'
16940 ;;
16941 ghcx*)
16942 # Green Hills C++ Compiler
16943 lt_prog_compiler_pic_CXX='-pic'
16944 ;;
16945 *)
16946 ;;
16947 esac
16948 ;;
16949 freebsd* | dragonfly*)
16950 # FreeBSD uses GNU C++
16951 ;;
16952 hpux9* | hpux10* | hpux11*)
16953 case $cc_basename in
16954 CC*)
16955 lt_prog_compiler_wl_CXX='-Wl,'
16956 lt_prog_compiler_static_CXX='${wl}-a ${wl}archive'
16957 if test "$host_cpu" != ia64; then
16958 lt_prog_compiler_pic_CXX='+Z'
16959 fi
16960 ;;
16961 aCC*)
16962 lt_prog_compiler_wl_CXX='-Wl,'
16963 lt_prog_compiler_static_CXX='${wl}-a ${wl}archive'
16964 case $host_cpu in
16965 hppa*64*|ia64*)
16966 # +Z the default
16967 ;;
16968 *)
16969 lt_prog_compiler_pic_CXX='+Z'
16970 ;;
16971 esac
16972 ;;
16973 *)
16974 ;;
16975 esac
16976 ;;
16977 interix*)
16978 # This is c89, which is MS Visual C++ (no shared libs)
16979 # Anyone wants to do a port?
16980 ;;
16981 irix5* | irix6* | nonstopux*)
16982 case $cc_basename in
16983 CC*)
16984 lt_prog_compiler_wl_CXX='-Wl,'
16985 lt_prog_compiler_static_CXX='-non_shared'
16986 # CC pic flag -KPIC is the default.
16987 ;;
16988 *)
16989 ;;
16990 esac
16991 ;;
16992 linux* | k*bsd*-gnu | kopensolaris*-gnu)
16993 case $cc_basename in
16994 KCC*)
16995 # KAI C++ Compiler
16996 lt_prog_compiler_wl_CXX='--backend -Wl,'
16997 lt_prog_compiler_pic_CXX='-fPIC'
16998 ;;
16999 ecpc* )
17000 # old Intel C++ for x86_64 which still supported -KPIC.
17001 lt_prog_compiler_wl_CXX='-Wl,'
17002 lt_prog_compiler_pic_CXX='-KPIC'
17003 lt_prog_compiler_static_CXX='-static'
17004 ;;
17005 icpc* )
17006 # Intel C++, used to be incompatible with GCC.
17007 # ICC 10 doesn't accept -KPIC any more.
17008 lt_prog_compiler_wl_CXX='-Wl,'
17009 lt_prog_compiler_pic_CXX='-fPIC'
17010 lt_prog_compiler_static_CXX='-static'
17011 ;;
17012 pgCC* | pgcpp*)
17013 # Portland Group C++ compiler
17014 lt_prog_compiler_wl_CXX='-Wl,'
17015 lt_prog_compiler_pic_CXX='-fpic'
17016 lt_prog_compiler_static_CXX='-Bstatic'
17017 ;;
17018 cxx*)
17019 # Compaq C++
17020 # Make sure the PIC flag is empty. It appears that all Alpha
17021 # Linux and Compaq Tru64 Unix objects are PIC.
17022 lt_prog_compiler_pic_CXX=
17023 lt_prog_compiler_static_CXX='-non_shared'
17024 ;;
17025 xlc* | xlC* | bgxl[cC]* | mpixl[cC]*)
17026 # IBM XL 8.0, 9.0 on PPC and BlueGene
17027 lt_prog_compiler_wl_CXX='-Wl,'
17028 lt_prog_compiler_pic_CXX='-qpic'
17029 lt_prog_compiler_static_CXX='-qstaticlink'
17030 ;;
17031 *)
17032 case `$CC -V 2>&1 | sed 5q` in
17033 *Sun\ C*)
17034 # Sun C++ 5.9
17035 lt_prog_compiler_pic_CXX='-KPIC'
17036 lt_prog_compiler_static_CXX='-Bstatic'
17037 lt_prog_compiler_wl_CXX='-Qoption ld '
17038 ;;
17039 esac
17040 ;;
17041 esac
17042 ;;
17043 lynxos*)
17044 ;;
17045 m88k*)
17046 ;;
17047 mvs*)
17048 case $cc_basename in
17049 cxx*)
17050 lt_prog_compiler_pic_CXX='-W c,exportall'
17051 ;;
17052 *)
17053 ;;
17054 esac
17055 ;;
17056 netbsd* | netbsdelf*-gnu)
17057 ;;
17058 *qnx* | *nto*)
17059 # QNX uses GNU C++, but need to define -shared option too, otherwise
17060 # it will coredump.
17061 lt_prog_compiler_pic_CXX='-fPIC -shared'
17062 ;;
17063 osf3* | osf4* | osf5*)
17064 case $cc_basename in
17065 KCC*)
17066 lt_prog_compiler_wl_CXX='--backend -Wl,'
17067 ;;
17068 RCC*)
17069 # Rational C++ 2.4.1
17070 lt_prog_compiler_pic_CXX='-pic'
17071 ;;
17072 cxx*)
17073 # Digital/Compaq C++
17074 lt_prog_compiler_wl_CXX='-Wl,'
17075 # Make sure the PIC flag is empty. It appears that all Alpha
17076 # Linux and Compaq Tru64 Unix objects are PIC.
17077 lt_prog_compiler_pic_CXX=
17078 lt_prog_compiler_static_CXX='-non_shared'
17079 ;;
17080 *)
17081 ;;
17082 esac
17083 ;;
17084 psos*)
17085 ;;
17086 solaris*)
17087 case $cc_basename in
17088 CC* | sunCC*)
17089 # Sun C++ 4.2, 5.x and Centerline C++
17090 lt_prog_compiler_pic_CXX='-KPIC'
17091 lt_prog_compiler_static_CXX='-Bstatic'
17092 lt_prog_compiler_wl_CXX='-Qoption ld '
17093 ;;
17094 gcx*)
17095 # Green Hills C++ Compiler
17096 lt_prog_compiler_pic_CXX='-PIC'
17097 ;;
17098 *)
17099 ;;
17100 esac
17101 ;;
17102 sunos4*)
17103 case $cc_basename in
17104 CC*)
17105 # Sun C++ 4.x
17106 lt_prog_compiler_pic_CXX='-pic'
17107 lt_prog_compiler_static_CXX='-Bstatic'
17108 ;;
17109 lcc*)
17110 # Lucid
17111 lt_prog_compiler_pic_CXX='-pic'
17112 ;;
17113 *)
17114 ;;
17115 esac
17116 ;;
17117 sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
17118 case $cc_basename in
17119 CC*)
17120 lt_prog_compiler_wl_CXX='-Wl,'
17121 lt_prog_compiler_pic_CXX='-KPIC'
17122 lt_prog_compiler_static_CXX='-Bstatic'
17123 ;;
17124 esac
17125 ;;
17126 tandem*)
17127 case $cc_basename in
17128 NCC*)
17129 # NonStop-UX NCC 3.20
17130 lt_prog_compiler_pic_CXX='-KPIC'
17131 ;;
17132 *)
17133 ;;
17134 esac
17135 ;;
17136 vxworks*)
17137 ;;
17138 *)
17139 lt_prog_compiler_can_build_shared_CXX=no
17140 ;;
17141 esac
17142 fi
17143
17144 case $host_os in
17145 # For platforms which do not support PIC, -DPIC is meaningless:
17146 *djgpp*)
17147 lt_prog_compiler_pic_CXX=
17148 ;;
17149 *)
17150 lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC"
17151 ;;
17152 esac
17153
17154 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
17155 printf %s "checking for $compiler option to produce PIC... " >&6; }
17156 if test ${lt_cv_prog_compiler_pic_CXX+y}
17157 then :
17158 printf %s "(cached) " >&6
17159 else $as_nop
17160 lt_cv_prog_compiler_pic_CXX=$lt_prog_compiler_pic_CXX
17161 fi
17162 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_CXX" >&5
17163 printf "%s\n" "$lt_cv_prog_compiler_pic_CXX" >&6; }
17164 lt_prog_compiler_pic_CXX=$lt_cv_prog_compiler_pic_CXX
17165
17166 #
17167 # Check to make sure the PIC flag actually works.
17168 #
17169 if test -n "$lt_prog_compiler_pic_CXX"; then
17170 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5
17171 printf %s "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... " >&6; }
17172 if test ${lt_cv_prog_compiler_pic_works_CXX+y}
17173 then :
17174 printf %s "(cached) " >&6
17175 else $as_nop
17176 lt_cv_prog_compiler_pic_works_CXX=no
17177 ac_outfile=conftest.$ac_objext
17178 echo "$lt_simple_compile_test_code" > conftest.$ac_ext
17179 lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC"
17180 # Insert the option either (1) after the last *FLAGS variable, or
17181 # (2) before a word containing "conftest.", or (3) at the end.
17182 # Note that $ac_compile itself does not contain backslashes and begins
17183 # with a dollar sign (not a hyphen), so the echo should work correctly.
17184 # The option is referenced via a variable to avoid confusing sed.
17185 lt_compile=`echo "$ac_compile" | $SED \
17186 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
17187 -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
17188 -e 's:$: $lt_compiler_flag:'`
17189 (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
17190 (eval "$lt_compile" 2>conftest.err)
17191 ac_status=$?
17192 cat conftest.err >&5
17193 echo "$as_me:$LINENO: \$? = $ac_status" >&5
17194 if (exit $ac_status) && test -s "$ac_outfile"; then
17195 # The compiler can only warn and ignore the option if not recognized
17196 # So say no if there are warnings other than the usual output.
17197 $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
17198 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
17199 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
17200 lt_cv_prog_compiler_pic_works_CXX=yes
17201 fi
17202 fi
17203 $RM conftest*
17204
17205 fi
17206 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_CXX" >&5
17207 printf "%s\n" "$lt_cv_prog_compiler_pic_works_CXX" >&6; }
17208
17209 if test x"$lt_cv_prog_compiler_pic_works_CXX" = xyes; then
17210 case $lt_prog_compiler_pic_CXX in
17211 "" | " "*) ;;
17212 *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;;
17213 esac
17214 else
17215 lt_prog_compiler_pic_CXX=
17216 lt_prog_compiler_can_build_shared_CXX=no
17217 fi
17218
17219 fi
17220
17221
17222
17223
17224
17225 #
17226 # Check to make sure the static flag actually works.
17227 #
17228 wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\"
17229 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
17230 printf %s "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
17231 if test ${lt_cv_prog_compiler_static_works_CXX+y}
17232 then :
17233 printf %s "(cached) " >&6
17234 else $as_nop
17235 lt_cv_prog_compiler_static_works_CXX=no
17236 save_LDFLAGS="$LDFLAGS"
17237 LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
17238 echo "$lt_simple_link_test_code" > conftest.$ac_ext
17239 if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
17240 # The linker can only warn and ignore the option if not recognized
17241 # So say no if there are warnings
17242 if test -s conftest.err; then
17243 # Append any errors to the config.log.
17244 cat conftest.err 1>&5
17245 $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
17246 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
17247 if diff conftest.exp conftest.er2 >/dev/null; then
17248 lt_cv_prog_compiler_static_works_CXX=yes
17249 fi
17250 else
17251 lt_cv_prog_compiler_static_works_CXX=yes
17252 fi
17253 fi
17254 $RM -r conftest*
17255 LDFLAGS="$save_LDFLAGS"
17256
17257 fi
17258 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_CXX" >&5
17259 printf "%s\n" "$lt_cv_prog_compiler_static_works_CXX" >&6; }
17260
17261 if test x"$lt_cv_prog_compiler_static_works_CXX" = xyes; then
17262 :
17263 else
17264 lt_prog_compiler_static_CXX=
17265 fi
17266
17267
17268
17269
17270 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
17271 printf %s "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
17272 if test ${lt_cv_prog_compiler_c_o_CXX+y}
17273 then :
17274 printf %s "(cached) " >&6
17275 else $as_nop
17276 lt_cv_prog_compiler_c_o_CXX=no
17277 $RM -r conftest 2>/dev/null
17278 mkdir conftest
17279 cd conftest
17280 mkdir out
17281 echo "$lt_simple_compile_test_code" > conftest.$ac_ext
17282
17283 lt_compiler_flag="-o out/conftest2.$ac_objext"
17284 # Insert the option either (1) after the last *FLAGS variable, or
17285 # (2) before a word containing "conftest.", or (3) at the end.
17286 # Note that $ac_compile itself does not contain backslashes and begins
17287 # with a dollar sign (not a hyphen), so the echo should work correctly.
17288 lt_compile=`echo "$ac_compile" | $SED \
17289 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
17290 -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
17291 -e 's:$: $lt_compiler_flag:'`
17292 (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
17293 (eval "$lt_compile" 2>out/conftest.err)
17294 ac_status=$?
17295 cat out/conftest.err >&5
17296 echo "$as_me:$LINENO: \$? = $ac_status" >&5
17297 if (exit $ac_status) && test -s out/conftest2.$ac_objext
17298 then
17299 # The compiler can only warn and ignore the option if not recognized
17300 # So say no if there are warnings
17301 $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
17302 $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
17303 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
17304 lt_cv_prog_compiler_c_o_CXX=yes
17305 fi
17306 fi
17307 chmod u+w . 2>&5
17308 $RM conftest*
17309 # SGI C++ compiler will create directory out/ii_files/ for
17310 # template instantiation
17311 test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
17312 $RM out/* && rmdir out
17313 cd ..
17314 $RM -r conftest
17315 $RM conftest*
17316
17317 fi
17318 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5
17319 printf "%s\n" "$lt_cv_prog_compiler_c_o_CXX" >&6; }
17320
17321
17322
17323 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
17324 printf %s "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
17325 if test ${lt_cv_prog_compiler_c_o_CXX+y}
17326 then :
17327 printf %s "(cached) " >&6
17328 else $as_nop
17329 lt_cv_prog_compiler_c_o_CXX=no
17330 $RM -r conftest 2>/dev/null
17331 mkdir conftest
17332 cd conftest
17333 mkdir out
17334 echo "$lt_simple_compile_test_code" > conftest.$ac_ext
17335
17336 lt_compiler_flag="-o out/conftest2.$ac_objext"
17337 # Insert the option either (1) after the last *FLAGS variable, or
17338 # (2) before a word containing "conftest.", or (3) at the end.
17339 # Note that $ac_compile itself does not contain backslashes and begins
17340 # with a dollar sign (not a hyphen), so the echo should work correctly.
17341 lt_compile=`echo "$ac_compile" | $SED \
17342 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
17343 -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
17344 -e 's:$: $lt_compiler_flag:'`
17345 (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
17346 (eval "$lt_compile" 2>out/conftest.err)
17347 ac_status=$?
17348 cat out/conftest.err >&5
17349 echo "$as_me:$LINENO: \$? = $ac_status" >&5
17350 if (exit $ac_status) && test -s out/conftest2.$ac_objext
17351 then
17352 # The compiler can only warn and ignore the option if not recognized
17353 # So say no if there are warnings
17354 $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
17355 $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
17356 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
17357 lt_cv_prog_compiler_c_o_CXX=yes
17358 fi
17359 fi
17360 chmod u+w . 2>&5
17361 $RM conftest*
17362 # SGI C++ compiler will create directory out/ii_files/ for
17363 # template instantiation
17364 test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
17365 $RM out/* && rmdir out
17366 cd ..
17367 $RM -r conftest
17368 $RM conftest*
17369
17370 fi
17371 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5
17372 printf "%s\n" "$lt_cv_prog_compiler_c_o_CXX" >&6; }
17373
17374
17375
17376
17377 hard_links="nottested"
17378 if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then
17379 # do not overwrite the value of need_locks provided by the user
17380 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5
17381 printf %s "checking if we can lock with hard links... " >&6; }
17382 hard_links=yes
17383 $RM conftest*
17384 ln conftest.a conftest.b 2>/dev/null && hard_links=no
17385 touch conftest.a
17386 ln conftest.a conftest.b 2>&5 || hard_links=no
17387 ln conftest.a conftest.b 2>/dev/null && hard_links=no
17388 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
17389 printf "%s\n" "$hard_links" >&6; }
17390 if test "$hard_links" = no; then
17391 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
17392 printf "%s\n" "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
17393 need_locks=warn
17394 fi
17395 else
17396 need_locks=no
17397 fi
17398
17399
17400
17401 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
17402 printf %s "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
17403
17404 export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
17405 exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
17406 case $host_os in
17407 aix[4-9]*)
17408 # If we're using GNU nm, then we don't want the "-C" option.
17409 # -C means demangle to AIX nm, but means don't demangle with GNU nm
17410 # Also, AIX nm treats weak defined symbols like other global defined
17411 # symbols, whereas GNU nm marks them as "W".
17412 if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
17413 export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
17414 else
17415 export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
17416 fi
17417 ;;
17418 pw32*)
17419 export_symbols_cmds_CXX="$ltdll_cmds"
17420 ;;
17421 cygwin* | mingw* | cegcc*)
17422 case $cc_basename in
17423 cl*)
17424 exclude_expsyms_CXX='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
17425 ;;
17426 *)
17427 export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
17428 exclude_expsyms_CXX='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'
17429 ;;
17430 esac
17431 ;;
17432 linux* | k*bsd*-gnu | gnu*)
17433 link_all_deplibs_CXX=no
17434 ;;
17435 *)
17436 export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
17437 ;;
17438 esac
17439
17440 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5
17441 printf "%s\n" "$ld_shlibs_CXX" >&6; }
17442 test "$ld_shlibs_CXX" = no && can_build_shared=no
17443
17444 with_gnu_ld_CXX=$with_gnu_ld
17445
17446
17447
17448
17449
17450
17451 #
17452 # Do we need to explicitly link libc?
17453 #
17454 case "x$archive_cmds_need_lc_CXX" in
17455 x|xyes)
17456 # Assume -lc should be added
17457 archive_cmds_need_lc_CXX=yes
17458
17459 if test "$enable_shared" = yes && test "$GCC" = yes; then
17460 case $archive_cmds_CXX in
17461 *'~'*)
17462 # FIXME: we may have to deal with multi-command sequences.
17463 ;;
17464 '$CC '*)
17465 # Test whether the compiler implicitly links with -lc since on some
17466 # systems, -lgcc has to come before -lc. If gcc already passes -lc
17467 # to ld, don't add -lc before -lgcc.
17468 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
17469 printf %s "checking whether -lc should be explicitly linked in... " >&6; }
17470 if test ${lt_cv_archive_cmds_need_lc_CXX+y}
17471 then :
17472 printf %s "(cached) " >&6
17473 else $as_nop
17474 $RM conftest*
17475 echo "$lt_simple_compile_test_code" > conftest.$ac_ext
17476
17477 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
17478 (eval $ac_compile) 2>&5
17479 ac_status=$?
17480 printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
17481 test $ac_status = 0; } 2>conftest.err; then
17482 soname=conftest
17483 lib=conftest
17484 libobjs=conftest.$ac_objext
17485 deplibs=
17486 wl=$lt_prog_compiler_wl_CXX
17487 pic_flag=$lt_prog_compiler_pic_CXX
17488 compiler_flags=-v
17489 linker_flags=-v
17490 verstring=
17491 output_objdir=.
17492 libname=conftest
17493 lt_save_allow_undefined_flag=$allow_undefined_flag_CXX
17494 allow_undefined_flag_CXX=
17495 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
17496 (eval $archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
17497 ac_status=$?
17498 printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
17499 test $ac_status = 0; }
17500 then
17501 lt_cv_archive_cmds_need_lc_CXX=no
17502 else
17503 lt_cv_archive_cmds_need_lc_CXX=yes
17504 fi
17505 allow_undefined_flag_CXX=$lt_save_allow_undefined_flag
17506 else
17507 cat conftest.err 1>&5
17508 fi
17509 $RM conftest*
17510
17511 fi
17512 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc_CXX" >&5
17513 printf "%s\n" "$lt_cv_archive_cmds_need_lc_CXX" >&6; }
17514 archive_cmds_need_lc_CXX=$lt_cv_archive_cmds_need_lc_CXX
17515 ;;
17516 esac
17517 fi
17518 ;;
17519 esac
17520
17521
17522
17523
17524
17525
17526
17527
17528
17529
17530
17531
17532
17533
17534
17535
17536
17537
17538
17539
17540
17541
17542
17543
17544
17545
17546
17547
17548
17549
17550
17551
17552
17553
17554
17555
17556
17557
17558
17559
17560
17561
17562
17563
17564
17565
17566
17567
17568
17569
17570
17571
17572
17573
17574
17575
17576
17577
17578
17579
17580
17581
17582 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
17583 printf %s "checking dynamic linker characteristics... " >&6; }
17584
17585 library_names_spec=
17586 libname_spec='lib$name'
17587 soname_spec=
17588 shrext_cmds=".so"
17589 postinstall_cmds=
17590 postuninstall_cmds=
17591 finish_cmds=
17592 finish_eval=
17593 shlibpath_var=
17594 shlibpath_overrides_runpath=unknown
17595 version_type=none
17596 dynamic_linker="$host_os ld.so"
17597 sys_lib_dlsearch_path_spec="/lib /usr/lib"
17598 need_lib_prefix=unknown
17599 hardcode_into_libs=no
17600
17601 # when you set need_version to no, make sure it does not cause -set_version
17602 # flags to be left without arguments
17603 need_version=unknown
17604
17605 case $host_os in
17606 aix3*)
17607 version_type=linux # correct to gnu/linux during the next big refactor
17608 library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
17609 shlibpath_var=LIBPATH
17610
17611 # AIX 3 has no versioning support, so we append a major version to the name.
17612 soname_spec='${libname}${release}${shared_ext}$major'
17613 ;;
17614
17615 aix[4-9]*)
17616 version_type=linux # correct to gnu/linux during the next big refactor
17617 need_lib_prefix=no
17618 need_version=no
17619 hardcode_into_libs=yes
17620 if test "$host_cpu" = ia64; then
17621 # AIX 5 supports IA64
17622 library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
17623 shlibpath_var=LD_LIBRARY_PATH
17624 else
17625 # With GCC up to 2.95.x, collect2 would create an import file
17626 # for dependence libraries. The import file would start with
17627 # the line `#! .'. This would cause the generated library to
17628 # depend on `.', always an invalid library. This was fixed in
17629 # development snapshots of GCC prior to 3.0.
17630 case $host_os in
17631 aix4 | aix4.[01] | aix4.[01].*)
17632 if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
17633 echo ' yes '
17634 echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
17635 :
17636 else
17637 can_build_shared=no
17638 fi
17639 ;;
17640 esac
17641 # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
17642 # soname into executable. Probably we can add versioning support to
17643 # collect2, so additional links can be useful in future.
17644 if test "$aix_use_runtimelinking" = yes; then
17645 # If using run time linking (on AIX 4.2 or later) use lib<name>.so
17646 # instead of lib<name>.a to let people know that these are not
17647 # typical AIX shared libraries.
17648 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
17649 else
17650 # We preserve .a as extension for shared libraries through AIX4.2
17651 # and later when we are not doing run time linking.
17652 library_names_spec='${libname}${release}.a $libname.a'
17653 soname_spec='${libname}${release}${shared_ext}$major'
17654 fi
17655 shlibpath_var=LIBPATH
17656 fi
17657 ;;
17658
17659 amigaos*)
17660 case $host_cpu in
17661 powerpc)
17662 # Since July 2007 AmigaOS4 officially supports .so libraries.
17663 # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
17664 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
17665 ;;
17666 m68k)
17667 library_names_spec='$libname.ixlibrary $libname.a'
17668 # Create ${libname}_ixlibrary.a entries in /sys/libs.
17669 finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
17670 ;;
17671 esac
17672 ;;
17673
17674 beos*)
17675 library_names_spec='${libname}${shared_ext}'
17676 dynamic_linker="$host_os ld.so"
17677 shlibpath_var=LIBRARY_PATH
17678 ;;
17679
17680 bsdi[45]*)
17681 version_type=linux # correct to gnu/linux during the next big refactor
17682 need_version=no
17683 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
17684 soname_spec='${libname}${release}${shared_ext}$major'
17685 finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
17686 shlibpath_var=LD_LIBRARY_PATH
17687 sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
17688 sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
17689 # the default ld.so.conf also contains /usr/contrib/lib and
17690 # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
17691 # libtool to hard-code these into programs
17692 ;;
17693
17694 cygwin* | mingw* | pw32* | cegcc*)
17695 version_type=windows
17696 shrext_cmds=".dll"
17697 need_version=no
17698 need_lib_prefix=no
17699
17700 case $GCC,$cc_basename in
17701 yes,*)
17702 # gcc
17703 library_names_spec='$libname.dll.a'
17704 # DLL is installed to $(libdir)/../bin by postinstall_cmds
17705 postinstall_cmds='base_file=`basename \${file}`~
17706 dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
17707 dldir=$destdir/`dirname \$dlpath`~
17708 test -d \$dldir || mkdir -p \$dldir~
17709 $install_prog $dir/$dlname \$dldir/$dlname~
17710 chmod a+x \$dldir/$dlname~
17711 if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
17712 eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
17713 fi'
17714 postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
17715 dlpath=$dir/\$dldll~
17716 $RM \$dlpath'
17717 shlibpath_overrides_runpath=yes
17718
17719 case $host_os in
17720 cygwin*)
17721 # Cygwin DLLs use 'cyg' prefix rather than 'lib'
17722 soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
17723
17724 ;;
17725 mingw* | cegcc*)
17726 # MinGW DLLs use traditional 'lib' prefix
17727 soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
17728 ;;
17729 pw32*)
17730 # pw32 DLLs use 'pw' prefix rather than 'lib'
17731 library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
17732 ;;
17733 esac
17734 dynamic_linker='Win32 ld.exe'
17735 ;;
17736
17737 *,cl*)
17738 # Native MSVC
17739 libname_spec='$name'
17740 soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
17741 library_names_spec='${libname}.dll.lib'
17742
17743 case $build_os in
17744 mingw*)
17745 sys_lib_search_path_spec=
17746 lt_save_ifs=$IFS
17747 IFS=';'
17748 for lt_path in $LIB
17749 do
17750 IFS=$lt_save_ifs
17751 # Let DOS variable expansion print the short 8.3 style file name.
17752 lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
17753 sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
17754 done
17755 IFS=$lt_save_ifs
17756 # Convert to MSYS style.
17757 sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'`
17758 ;;
17759 cygwin*)
17760 # Convert to unix form, then to dos form, then back to unix form
17761 # but this time dos style (no spaces!) so that the unix form looks
17762 # like /cygdrive/c/PROGRA~1:/cygdr...
17763 sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
17764 sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
17765 sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
17766 ;;
17767 *)
17768 sys_lib_search_path_spec="$LIB"
17769 if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
17770 # It is most probably a Windows format PATH.
17771 sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
17772 else
17773 sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
17774 fi
17775 # FIXME: find the short name or the path components, as spaces are
17776 # common. (e.g. "Program Files" -> "PROGRA~1")
17777 ;;
17778 esac
17779
17780 # DLL is installed to $(libdir)/../bin by postinstall_cmds
17781 postinstall_cmds='base_file=`basename \${file}`~
17782 dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
17783 dldir=$destdir/`dirname \$dlpath`~
17784 test -d \$dldir || mkdir -p \$dldir~
17785 $install_prog $dir/$dlname \$dldir/$dlname'
17786 postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
17787 dlpath=$dir/\$dldll~
17788 $RM \$dlpath'
17789 shlibpath_overrides_runpath=yes
17790 dynamic_linker='Win32 link.exe'
17791 ;;
17792
17793 *)
17794 # Assume MSVC wrapper
17795 library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
17796 dynamic_linker='Win32 ld.exe'
17797 ;;
17798 esac
17799 # FIXME: first we should search . and the directory the executable is in
17800 shlibpath_var=PATH
17801 ;;
17802
17803 darwin* | rhapsody*)
17804 dynamic_linker="$host_os dyld"
17805 version_type=darwin
17806 need_lib_prefix=no
17807 need_version=no
17808 library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
17809 soname_spec='${libname}${release}${major}$shared_ext'
17810 shlibpath_overrides_runpath=yes
17811 shlibpath_var=DYLD_LIBRARY_PATH
17812 shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
17813
17814 sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
17815 ;;
17816
17817 dgux*)
17818 version_type=linux # correct to gnu/linux during the next big refactor
17819 need_lib_prefix=no
17820 need_version=no
17821 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
17822 soname_spec='${libname}${release}${shared_ext}$major'
17823 shlibpath_var=LD_LIBRARY_PATH
17824 ;;
17825
17826 freebsd* | dragonfly*)
17827 # DragonFly does not have aout. When/if they implement a new
17828 # versioning mechanism, adjust this.
17829 if test -x /usr/bin/objformat; then
17830 objformat=`/usr/bin/objformat`
17831 else
17832 case $host_os in
17833 freebsd[23].*) objformat=aout ;;
17834 *) objformat=elf ;;
17835 esac
17836 fi
17837 version_type=freebsd-$objformat
17838 case $version_type in
17839 freebsd-elf*)
17840 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
17841 need_version=no
17842 need_lib_prefix=no
17843 ;;
17844 freebsd-*)
17845 library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
17846 need_version=yes
17847 ;;
17848 esac
17849 shlibpath_var=LD_LIBRARY_PATH
17850 case $host_os in
17851 freebsd2.*)
17852 shlibpath_overrides_runpath=yes
17853 ;;
17854 freebsd3.[01]* | freebsdelf3.[01]*)
17855 shlibpath_overrides_runpath=yes
17856 hardcode_into_libs=yes
17857 ;;
17858 freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
17859 freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
17860 shlibpath_overrides_runpath=no
17861 hardcode_into_libs=yes
17862 ;;
17863 *) # from 4.6 on, and DragonFly
17864 shlibpath_overrides_runpath=yes
17865 hardcode_into_libs=yes
17866 ;;
17867 esac
17868 ;;
17869
17870 gnu*)
17871 version_type=linux # correct to gnu/linux during the next big refactor
17872 need_lib_prefix=no
17873 need_version=no
17874 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
17875 soname_spec='${libname}${release}${shared_ext}$major'
17876 shlibpath_var=LD_LIBRARY_PATH
17877 shlibpath_overrides_runpath=no
17878 hardcode_into_libs=yes
17879 ;;
17880
17881 haiku*)
17882 version_type=linux # correct to gnu/linux during the next big refactor
17883 need_lib_prefix=no
17884 need_version=no
17885 dynamic_linker="$host_os runtime_loader"
17886 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
17887 soname_spec='${libname}${release}${shared_ext}$major'
17888 shlibpath_var=LIBRARY_PATH
17889 shlibpath_overrides_runpath=yes
17890 sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
17891 hardcode_into_libs=yes
17892 ;;
17893
17894 hpux9* | hpux10* | hpux11*)
17895 # Give a soname corresponding to the major version so that dld.sl refuses to
17896 # link against other versions.
17897 version_type=sunos
17898 need_lib_prefix=no
17899 need_version=no
17900 case $host_cpu in
17901 ia64*)
17902 shrext_cmds='.so'
17903 hardcode_into_libs=yes
17904 dynamic_linker="$host_os dld.so"
17905 shlibpath_var=LD_LIBRARY_PATH
17906 shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
17907 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
17908 soname_spec='${libname}${release}${shared_ext}$major'
17909 if test "X$HPUX_IA64_MODE" = X32; then
17910 sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
17911 else
17912 sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
17913 fi
17914 sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
17915 ;;
17916 hppa*64*)
17917 shrext_cmds='.sl'
17918 hardcode_into_libs=yes
17919 dynamic_linker="$host_os dld.sl"
17920 shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
17921 shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
17922 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
17923 soname_spec='${libname}${release}${shared_ext}$major'
17924 sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
17925 sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
17926 ;;
17927 *)
17928 shrext_cmds='.sl'
17929 dynamic_linker="$host_os dld.sl"
17930 shlibpath_var=SHLIB_PATH
17931 shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
17932 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
17933 soname_spec='${libname}${release}${shared_ext}$major'
17934 ;;
17935 esac
17936 # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
17937 postinstall_cmds='chmod 555 $lib'
17938 # or fails outright, so override atomically:
17939 install_override_mode=555
17940 ;;
17941
17942 interix[3-9]*)
17943 version_type=linux # correct to gnu/linux during the next big refactor
17944 need_lib_prefix=no
17945 need_version=no
17946 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
17947 soname_spec='${libname}${release}${shared_ext}$major'
17948 dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
17949 shlibpath_var=LD_LIBRARY_PATH
17950 shlibpath_overrides_runpath=no
17951 hardcode_into_libs=yes
17952 ;;
17953
17954 irix5* | irix6* | nonstopux*)
17955 case $host_os in
17956 nonstopux*) version_type=nonstopux ;;
17957 *)
17958 if test "$lt_cv_prog_gnu_ld" = yes; then
17959 version_type=linux # correct to gnu/linux during the next big refactor
17960 else
17961 version_type=irix
17962 fi ;;
17963 esac
17964 need_lib_prefix=no
17965 need_version=no
17966 soname_spec='${libname}${release}${shared_ext}$major'
17967 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
17968 case $host_os in
17969 irix5* | nonstopux*)
17970 libsuff= shlibsuff=
17971 ;;
17972 *)
17973 case $LD in # libtool.m4 will add one of these switches to LD
17974 *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
17975 libsuff= shlibsuff= libmagic=32-bit;;
17976 *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
17977 libsuff=32 shlibsuff=N32 libmagic=N32;;
17978 *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
17979 libsuff=64 shlibsuff=64 libmagic=64-bit;;
17980 *) libsuff= shlibsuff= libmagic=never-match;;
17981 esac
17982 ;;
17983 esac
17984 shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
17985 shlibpath_overrides_runpath=no
17986 sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
17987 sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
17988 hardcode_into_libs=yes
17989 ;;
17990
17991 # No shared lib support for Linux oldld, aout, or coff.
17992 linux*oldld* | linux*aout* | linux*coff*)
17993 dynamic_linker=no
17994 ;;
17995
17996 linux*android*)
17997 version_type=none # Android doesn't support versioned libraries.
17998 need_lib_prefix=no
17999 need_version=no
18000 library_names_spec='$libname$release$shared_ext'
18001 soname_spec='$libname$release$shared_ext'
18002 finish_cmds=
18003 shlibpath_var=LD_LIBRARY_PATH
18004 shlibpath_overrides_runpath=yes
18005
18006 # This implies no fast_install, which is unacceptable.
18007 # Some rework will be needed to allow for fast_install
18008 # before this can be enabled.
18009 hardcode_into_libs=yes
18010
18011 dynamic_linker='Android linker'
18012 # Don't embed -rpath directories since the linker doesn't support them.
18013 hardcode_libdir_flag_spec_CXX='-L$libdir'
18014 ;;
18015
18016 # This must be glibc/ELF.
18017 linux* | k*bsd*-gnu | kopensolaris*-gnu)
18018 version_type=linux # correct to gnu/linux during the next big refactor
18019 need_lib_prefix=no
18020 need_version=no
18021 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
18022 soname_spec='${libname}${release}${shared_ext}$major'
18023 finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
18024 shlibpath_var=LD_LIBRARY_PATH
18025 shlibpath_overrides_runpath=no
18026
18027 # Some binutils ld are patched to set DT_RUNPATH
18028 if test ${lt_cv_shlibpath_overrides_runpath+y}
18029 then :
18030 printf %s "(cached) " >&6
18031 else $as_nop
18032 lt_cv_shlibpath_overrides_runpath=no
18033 save_LDFLAGS=$LDFLAGS
18034 save_libdir=$libdir
18035 eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_CXX\"; \
18036 LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec_CXX\""
18037 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
18038 /* end confdefs.h. */
18039
18040 int
18041 main (void)
18042 {
18043
18044 ;
18045 return 0;
18046 }
18047 _ACEOF
18048 if ac_fn_cxx_try_link "$LINENO"
18049 then :
18050 if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null
18051 then :
18052 lt_cv_shlibpath_overrides_runpath=yes
18053 fi
18054 fi
18055 rm -f core conftest.err conftest.$ac_objext conftest.beam \
18056 conftest$ac_exeext conftest.$ac_ext
18057 LDFLAGS=$save_LDFLAGS
18058 libdir=$save_libdir
18059
18060 fi
18061
18062 shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
18063
18064 # This implies no fast_install, which is unacceptable.
18065 # Some rework will be needed to allow for fast_install
18066 # before this can be enabled.
18067 hardcode_into_libs=yes
18068
18069 # Append ld.so.conf contents to the search path
18070 if test -f /etc/ld.so.conf; then
18071 lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
18072 sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
18073 fi
18074
18075 # We used to test for /lib/ld.so.1 and disable shared libraries on
18076 # powerpc, because MkLinux only supported shared libraries with the
18077 # GNU dynamic linker. Since this was broken with cross compilers,
18078 # most powerpc-linux boxes support dynamic linking these days and
18079 # people can always --disable-shared, the test was removed, and we
18080 # assume the GNU/Linux dynamic linker is in use.
18081 dynamic_linker='GNU/Linux ld.so'
18082 ;;
18083
18084 netbsdelf*-gnu)
18085 version_type=linux
18086 need_lib_prefix=no
18087 need_version=no
18088 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
18089 soname_spec='${libname}${release}${shared_ext}$major'
18090 shlibpath_var=LD_LIBRARY_PATH
18091 shlibpath_overrides_runpath=no
18092 hardcode_into_libs=yes
18093 dynamic_linker='NetBSD ld.elf_so'
18094 ;;
18095
18096 netbsd*)
18097 version_type=sunos
18098 need_lib_prefix=no
18099 need_version=no
18100 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
18101 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
18102 finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
18103 dynamic_linker='NetBSD (a.out) ld.so'
18104 else
18105 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
18106 soname_spec='${libname}${release}${shared_ext}$major'
18107 dynamic_linker='NetBSD ld.elf_so'
18108 fi
18109 shlibpath_var=LD_LIBRARY_PATH
18110 shlibpath_overrides_runpath=yes
18111 hardcode_into_libs=yes
18112 ;;
18113
18114 newsos6)
18115 version_type=linux # correct to gnu/linux during the next big refactor
18116 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
18117 shlibpath_var=LD_LIBRARY_PATH
18118 shlibpath_overrides_runpath=yes
18119 ;;
18120
18121 *nto* | *qnx*)
18122 version_type=qnx
18123 need_lib_prefix=no
18124 need_version=no
18125 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
18126 soname_spec='${libname}${release}${shared_ext}$major'
18127 shlibpath_var=LD_LIBRARY_PATH
18128 shlibpath_overrides_runpath=no
18129 hardcode_into_libs=yes
18130 dynamic_linker='ldqnx.so'
18131 ;;
18132
18133 openbsd*)
18134 version_type=sunos
18135 sys_lib_dlsearch_path_spec="/usr/lib"
18136 need_lib_prefix=no
18137 # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
18138 case $host_os in
18139 openbsd3.3 | openbsd3.3.*) need_version=yes ;;
18140 *) need_version=no ;;
18141 esac
18142 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
18143 finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
18144 shlibpath_var=LD_LIBRARY_PATH
18145 if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
18146 case $host_os in
18147 openbsd2.[89] | openbsd2.[89].*)
18148 shlibpath_overrides_runpath=no
18149 ;;
18150 *)
18151 shlibpath_overrides_runpath=yes
18152 ;;
18153 esac
18154 else
18155 shlibpath_overrides_runpath=yes
18156 fi
18157 ;;
18158
18159 os2*)
18160 libname_spec='$name'
18161 shrext_cmds=".dll"
18162 need_lib_prefix=no
18163 library_names_spec='$libname${shared_ext} $libname.a'
18164 dynamic_linker='OS/2 ld.exe'
18165 shlibpath_var=LIBPATH
18166 ;;
18167
18168 osf3* | osf4* | osf5*)
18169 version_type=osf
18170 need_lib_prefix=no
18171 need_version=no
18172 soname_spec='${libname}${release}${shared_ext}$major'
18173 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
18174 shlibpath_var=LD_LIBRARY_PATH
18175 sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
18176 sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
18177 ;;
18178
18179 rdos*)
18180 dynamic_linker=no
18181 ;;
18182
18183 solaris*)
18184 version_type=linux # correct to gnu/linux during the next big refactor
18185 need_lib_prefix=no
18186 need_version=no
18187 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
18188 soname_spec='${libname}${release}${shared_ext}$major'
18189 shlibpath_var=LD_LIBRARY_PATH
18190 shlibpath_overrides_runpath=yes
18191 hardcode_into_libs=yes
18192 # ldd complains unless libraries are executable
18193 postinstall_cmds='chmod +x $lib'
18194 ;;
18195
18196 sunos4*)
18197 version_type=sunos
18198 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
18199 finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
18200 shlibpath_var=LD_LIBRARY_PATH
18201 shlibpath_overrides_runpath=yes
18202 if test "$with_gnu_ld" = yes; then
18203 need_lib_prefix=no
18204 fi
18205 need_version=yes
18206 ;;
18207
18208 sysv4 | sysv4.3*)
18209 version_type=linux # correct to gnu/linux during the next big refactor
18210 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
18211 soname_spec='${libname}${release}${shared_ext}$major'
18212 shlibpath_var=LD_LIBRARY_PATH
18213 case $host_vendor in
18214 sni)
18215 shlibpath_overrides_runpath=no
18216 need_lib_prefix=no
18217 runpath_var=LD_RUN_PATH
18218 ;;
18219 siemens)
18220 need_lib_prefix=no
18221 ;;
18222 motorola)
18223 need_lib_prefix=no
18224 need_version=no
18225 shlibpath_overrides_runpath=no
18226 sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
18227 ;;
18228 esac
18229 ;;
18230
18231 sysv4*MP*)
18232 if test -d /usr/nec ;then
18233 version_type=linux # correct to gnu/linux during the next big refactor
18234 library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
18235 soname_spec='$libname${shared_ext}.$major'
18236 shlibpath_var=LD_LIBRARY_PATH
18237 fi
18238 ;;
18239
18240 sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
18241 version_type=freebsd-elf
18242 need_lib_prefix=no
18243 need_version=no
18244 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
18245 soname_spec='${libname}${release}${shared_ext}$major'
18246 shlibpath_var=LD_LIBRARY_PATH
18247 shlibpath_overrides_runpath=yes
18248 hardcode_into_libs=yes
18249 if test "$with_gnu_ld" = yes; then
18250 sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
18251 else
18252 sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
18253 case $host_os in
18254 sco3.2v5*)
18255 sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
18256 ;;
18257 esac
18258 fi
18259 sys_lib_dlsearch_path_spec='/usr/lib'
18260 ;;
18261
18262 tpf*)
18263 # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
18264 version_type=linux # correct to gnu/linux during the next big refactor
18265 need_lib_prefix=no
18266 need_version=no
18267 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
18268 shlibpath_var=LD_LIBRARY_PATH
18269 shlibpath_overrides_runpath=no
18270 hardcode_into_libs=yes
18271 ;;
18272
18273 uts4*)
18274 version_type=linux # correct to gnu/linux during the next big refactor
18275 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
18276 soname_spec='${libname}${release}${shared_ext}$major'
18277 shlibpath_var=LD_LIBRARY_PATH
18278 ;;
18279
18280 *)
18281 dynamic_linker=no
18282 ;;
18283 esac
18284 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
18285 printf "%s\n" "$dynamic_linker" >&6; }
18286 test "$dynamic_linker" = no && can_build_shared=no
18287
18288 variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
18289 if test "$GCC" = yes; then
18290 variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
18291 fi
18292
18293 if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
18294 sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
18295 fi
18296 if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
18297 sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
18298 fi
18299
18300
18301
18302
18303
18304
18305
18306
18307
18308
18309
18310
18311
18312
18313
18314
18315
18316
18317
18318
18319
18320
18321
18322
18323
18324
18325
18326
18327
18328
18329
18330
18331
18332
18333
18334
18335
18336
18337 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5
18338 printf %s "checking how to hardcode library paths into programs... " >&6; }
18339 hardcode_action_CXX=
18340 if test -n "$hardcode_libdir_flag_spec_CXX" ||
18341 test -n "$runpath_var_CXX" ||
18342 test "X$hardcode_automatic_CXX" = "Xyes" ; then
18343
18344 # We can hardcode non-existent directories.
18345 if test "$hardcode_direct_CXX" != no &&
18346 # If the only mechanism to avoid hardcoding is shlibpath_var, we
18347 # have to relink, otherwise we might link with an installed library
18348 # when we should be linking with a yet-to-be-installed one
18349 ## test "$_LT_TAGVAR(hardcode_shlibpath_var, CXX)" != no &&
18350 test "$hardcode_minus_L_CXX" != no; then
18351 # Linking always hardcodes the temporary library directory.
18352 hardcode_action_CXX=relink
18353 else
18354 # We can link without hardcoding, and we can hardcode nonexisting dirs.
18355 hardcode_action_CXX=immediate
18356 fi
18357 else
18358 # We cannot hardcode anything, or else we can only hardcode existing
18359 # directories.
18360 hardcode_action_CXX=unsupported
18361 fi
18362 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_CXX" >&5
18363 printf "%s\n" "$hardcode_action_CXX" >&6; }
18364
18365 if test "$hardcode_action_CXX" = relink ||
18366 test "$inherit_rpath_CXX" = yes; then
18367 # Fast installation is not supported
18368 enable_fast_install=no
18369 elif test "$shlibpath_overrides_runpath" = yes ||
18370 test "$enable_shared" = no; then
18371 # Fast installation is not necessary
18372 enable_fast_install=needless
18373 fi
18374
18375
18376
18377
18378
18379
18380
18381 fi # test -n "$compiler"
18382
18383 CC=$lt_save_CC
18384 CFLAGS=$lt_save_CFLAGS
18385 LDCXX=$LD
18386 LD=$lt_save_LD
18387 GCC=$lt_save_GCC
18388 with_gnu_ld=$lt_save_with_gnu_ld
18389 lt_cv_path_LDCXX=$lt_cv_path_LD
18390 lt_cv_path_LD=$lt_save_path_LD
18391 lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
18392 lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
18393 fi # test "$_lt_caught_CXX_error" != yes
18394
18395 ac_ext=c
18396 ac_cpp='$CPP $CPPFLAGS'
18397 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
18398 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
18399 ac_compiler_gnu=$ac_cv_c_compiler_gnu
18400
18401
18402
18403
18404
18405
18406
18407
18408
18409
18410
18411
18412
18413
18414
18415 ac_config_commands="$ac_config_commands libtool"
18416
18417
18418
18419
18420 # Only expand once:
18421
18422
18423 if test -n "$ac_tool_prefix"; then
18424 # Extract the first word of "${ac_tool_prefix}windres", so it can be a program name with args.
18425 set dummy ${ac_tool_prefix}windres; ac_word=$2
18426 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
18427 printf %s "checking for $ac_word... " >&6; }
18428 if test ${ac_cv_prog_RC+y}
18429 then :
18430 printf %s "(cached) " >&6
18431 else $as_nop
18432 if test -n "$RC"; then
18433 ac_cv_prog_RC="$RC" # Let the user override the test.
18434 else
18435 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
18436 for as_dir in $PATH
18437 do
18438 IFS=$as_save_IFS
18439 case $as_dir in #(((
18440 '') as_dir=./ ;;
18441 */) ;;
18442 *) as_dir=$as_dir/ ;;
18443 esac
18444 for ac_exec_ext in '' $ac_executable_extensions; do
18445 if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
18446 ac_cv_prog_RC="${ac_tool_prefix}windres"
18447 printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
18448 break 2
18449 fi
18450 done
18451 done
18452 IFS=$as_save_IFS
18453
18454 fi
18455 fi
18456 RC=$ac_cv_prog_RC
18457 if test -n "$RC"; then
18458 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RC" >&5
18459 printf "%s\n" "$RC" >&6; }
18460 else
18461 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
18462 printf "%s\n" "no" >&6; }
18463 fi
18464
18465
18466 fi
18467 if test -z "$ac_cv_prog_RC"; then
18468 ac_ct_RC=$RC
18469 # Extract the first word of "windres", so it can be a program name with args.
18470 set dummy windres; ac_word=$2
18471 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
18472 printf %s "checking for $ac_word... " >&6; }
18473 if test ${ac_cv_prog_ac_ct_RC+y}
18474 then :
18475 printf %s "(cached) " >&6
18476 else $as_nop
18477 if test -n "$ac_ct_RC"; then
18478 ac_cv_prog_ac_ct_RC="$ac_ct_RC" # Let the user override the test.
18479 else
18480 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
18481 for as_dir in $PATH
18482 do
18483 IFS=$as_save_IFS
18484 case $as_dir in #(((
18485 '') as_dir=./ ;;
18486 */) ;;
18487 *) as_dir=$as_dir/ ;;
18488 esac
18489 for ac_exec_ext in '' $ac_executable_extensions; do
18490 if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
18491 ac_cv_prog_ac_ct_RC="windres"
18492 printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
18493 break 2
18494 fi
18495 done
18496 done
18497 IFS=$as_save_IFS
18498
18499 fi
18500 fi
18501 ac_ct_RC=$ac_cv_prog_ac_ct_RC
18502 if test -n "$ac_ct_RC"; then
18503 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RC" >&5
18504 printf "%s\n" "$ac_ct_RC" >&6; }
18505 else
18506 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
18507 printf "%s\n" "no" >&6; }
18508 fi
18509
18510 if test "x$ac_ct_RC" = x; then
18511 RC=""
18512 else
18513 case $cross_compiling:$ac_tool_warned in
18514 yes:)
18515 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
18516 printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
18517 ac_tool_warned=yes ;;
18518 esac
18519 RC=$ac_ct_RC
18520 fi
18521 else
18522 RC="$ac_cv_prog_RC"
18523 fi
18524
18525
18526
18527
18528 # Source file extension for RC test sources.
18529 ac_ext=rc
18530
18531 # Object file extension for compiled RC test sources.
18532 objext=o
18533 objext_RC=$objext
18534
18535 # Code to be used in simple compile tests
18536 lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
18537
18538 # Code to be used in simple link tests
18539 lt_simple_link_test_code="$lt_simple_compile_test_code"
18540
18541 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
18542
18543
18544
18545
18546
18547
18548 # If no C compiler was specified, use CC.
18549 LTCC=${LTCC-"$CC"}
18550
18551 # If no C compiler flags were specified, use CFLAGS.
18552 LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
18553
18554 # Allow CC to be a program name with arguments.
18555 compiler=$CC
18556
18557
18558 # save warnings/boilerplate of simple test code
18559 ac_outfile=conftest.$ac_objext
18560 echo "$lt_simple_compile_test_code" >conftest.$ac_ext
18561 eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
18562 _lt_compiler_boilerplate=`cat conftest.err`
18563 $RM conftest*
18564
18565 ac_outfile=conftest.$ac_objext
18566 echo "$lt_simple_link_test_code" >conftest.$ac_ext
18567 eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
18568 _lt_linker_boilerplate=`cat conftest.err`
18569 $RM -r conftest*
18570
18571
18572 # Allow CC to be a program name with arguments.
18573 lt_save_CC="$CC"
18574 lt_save_CFLAGS=$CFLAGS
18575 lt_save_GCC=$GCC
18576 GCC=
18577 CC=${RC-"windres"}
18578 CFLAGS=
18579 compiler=$CC
18580 compiler_RC=$CC
18581 for cc_temp in $compiler""; do
18582 case $cc_temp in
18583 compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
18584 distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
18585 \-*) ;;
18586 *) break;;
18587 esac
18588 done
18589 cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
18590
18591 lt_cv_prog_compiler_c_o_RC=yes
18592
18593 if test -n "$compiler"; then
18594 :
18595
18596
18597
18598 fi
18599
18600 GCC=$lt_save_GCC
18601 ac_ext=c
18602 ac_cpp='$CPP $CPPFLAGS'
18603 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
18604 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
18605 ac_compiler_gnu=$ac_cv_c_compiler_gnu
18606
18607 CC=$lt_save_CC
18608 CFLAGS=$lt_save_CFLAGS
18609
18610
18611 # For now we hardcode the use of version scripts. It would be better
18612 # to write a test for this or even implement this within libtool.
18613 have_ld_version_script=no
18614 case "${host}" in
18615 *-*-linux*)
18616 have_ld_version_script=yes
18617 ;;
18618 *-*-gnu*)
18619 have_ld_version_script=yes
18620 ;;
18621 *-apple-darwin*)
18622
18623 printf "%s\n" "#define _DARWIN_C_SOURCE 1" >>confdefs.h
18624
18625
18626 printf "%s\n" "#define _XOPEN_SOURCE 500" >>confdefs.h
18627
18628 ;;
18629 esac
18630
18631 if test "$have_ld_version_script" = "yes"; then
18632 HAVE_LD_VERSION_SCRIPT_TRUE=
18633 HAVE_LD_VERSION_SCRIPT_FALSE='#'
18634 else
18635 HAVE_LD_VERSION_SCRIPT_TRUE='#'
18636 HAVE_LD_VERSION_SCRIPT_FALSE=
18637 fi
18638
18639
18640 GPG_DEFAULT=no
18641 GPGSM_DEFAULT=no
18642 GPGCONF_DEFAULT=no
18643 G13_DEFAULT=no
18644 component_system=None
18645 have_dosish_system=no
18646 have_android_system=no
18647 have_w32_system=no
18648 have_w64_system=no
18649 have_macos_system=no
18650 build_w32_glib=no
18651 build_w32_qt=no
18652 available_languages="cl cpp python qt"
18653 default_languages="cl cpp python qt"
18654 case "${host}" in
18655 x86_64-*mingw32*)
18656 have_w64_system=yes
18657 ;;
18658 *-linux-androideabi)
18659 have_android_system=yes
18660 ;;
18661 *-apple-darwin*)
18662 have_macos_system=yes
18663 ;;
18664 esac
18665 case "${host}" in
18666 *-mingw32*)
18667 have_dosish_system=yes
18668 have_w32_system=yes
18669 GPG_DEFAULT='c:\\gnupg\\gpg.exe'
18670 GPGSM_DEFAULT='c:\\gnupg\\gpgsm.exe'
18671 GPGCONF_DEFAULT='c:\\gnupg\\gpgconf.exe'
18672 G13_DEFAULT='c:\\gnupg\\g13.exe'
18673 #component_system='COM+'
18674
18675 # Check whether --enable-glibtest was given.
18676 if test ${enable_glibtest+y}
18677 then :
18678 enableval=$enable_glibtest;
18679 else $as_nop
18680 enable_glibtest=yes
18681 fi
18682
18683
18684 pkg_config_args=glib-2.0
18685 for module in .
18686 do
18687 case "$module" in
18688 gmodule)
18689 pkg_config_args="$pkg_config_args gmodule-2.0"
18690 ;;
18691 gmodule-no-export)
18692 pkg_config_args="$pkg_config_args gmodule-no-export-2.0"
18693 ;;
18694 gobject)
18695 pkg_config_args="$pkg_config_args gobject-2.0"
18696 ;;
18697 gthread)
18698 pkg_config_args="$pkg_config_args gthread-2.0"
18699 ;;
18700 esac
18701 done
18702
18703 # Extract the first word of "pkg-config", so it can be a program name with args.
18704 set dummy pkg-config; ac_word=$2
18705 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
18706 printf %s "checking for $ac_word... " >&6; }
18707 if test ${ac_cv_path_PKG_CONFIG+y}
18708 then :
18709 printf %s "(cached) " >&6
18710 else $as_nop
18711 case $PKG_CONFIG in
18712 [\\/]* | ?:[\\/]*)
18713 ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
18714 ;;
18715 *)
18716 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
18717 for as_dir in $PATH
18718 do
18719 IFS=$as_save_IFS
18720 case $as_dir in #(((
18721 '') as_dir=./ ;;
18722 */) ;;
18723 *) as_dir=$as_dir/ ;;
18724 esac
18725 for ac_exec_ext in '' $ac_executable_extensions; do
18726 if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
18727 ac_cv_path_PKG_CONFIG="$as_dir$ac_word$ac_exec_ext"
18728 printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
18729 break 2
18730 fi
18731 done
18732 done
18733 IFS=$as_save_IFS
18734
18735 test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no"
18736 ;;
18737 esac
18738 fi
18739 PKG_CONFIG=$ac_cv_path_PKG_CONFIG
18740 if test -n "$PKG_CONFIG"; then
18741 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5
18742 printf "%s\n" "$PKG_CONFIG" >&6; }
18743 else
18744 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
18745 printf "%s\n" "no" >&6; }
18746 fi
18747
18748
18749
18750 no_glib=""
18751
18752 if test x$PKG_CONFIG != xno ; then
18753 if $PKG_CONFIG --atleast-pkgconfig-version 0.7 ; then
18754 :
18755 else
18756 echo *** pkg-config too old; version 0.7 or better required.
18757 no_glib=yes
18758 PKG_CONFIG=no
18759 fi
18760 else
18761 no_glib=yes
18762 fi
18763
18764 min_glib_version=2.0.0
18765 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GLIB - version >= $min_glib_version" >&5
18766 printf %s "checking for GLIB - version >= $min_glib_version... " >&6; }
18767
18768 if test x$PKG_CONFIG != xno ; then
18769 ## don't try to run the test against uninstalled libtool libs
18770 if $PKG_CONFIG --uninstalled $pkg_config_args; then
18771 echo "Will use uninstalled version of GLib found in PKG_CONFIG_PATH"
18772 enable_glibtest=no
18773 fi
18774
18775 if $PKG_CONFIG --atleast-version $min_glib_version $pkg_config_args; then
18776 :
18777 else
18778 no_glib=yes
18779 fi
18780 fi
18781
18782 if test x"$no_glib" = x ; then
18783 GLIB_GENMARSHAL=`$PKG_CONFIG --variable=glib_genmarshal glib-2.0`
18784 GOBJECT_QUERY=`$PKG_CONFIG --variable=gobject_query glib-2.0`
18785 GLIB_MKENUMS=`$PKG_CONFIG --variable=glib_mkenums glib-2.0`
18786
18787 GLIB_CFLAGS=`$PKG_CONFIG --cflags $pkg_config_args`
18788 GLIB_LIBS=`$PKG_CONFIG --libs $pkg_config_args`
18789 glib_config_major_version=`$PKG_CONFIG --modversion glib-2.0 | \
18790 sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\1/'`
18791 glib_config_minor_version=`$PKG_CONFIG --modversion glib-2.0 | \
18792 sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\2/'`
18793 glib_config_micro_version=`$PKG_CONFIG --modversion glib-2.0 | \
18794 sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\3/'`
18795 if test "x$enable_glibtest" = "xyes" ; then
18796 ac_save_CFLAGS="$CFLAGS"
18797 ac_save_LIBS="$LIBS"
18798 CFLAGS="$CFLAGS $GLIB_CFLAGS"
18799 LIBS="$GLIB_LIBS $LIBS"
18800 rm -f conf.glibtest
18801 if test "$cross_compiling" = yes
18802 then :
18803 echo $ac_n "cross compiling; assumed OK... $ac_c"
18804 else $as_nop
18805 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
18806 /* end confdefs.h. */
18807
18808 #include <glib.h>
18809 #include <stdio.h>
18810 #include <stdlib.h>
18811
18812 int
18813 main ()
18814 {
18815 int major, minor, micro;
18816 char *tmp_version;
18817
18818 system ("touch conf.glibtest");
18819
18820 /* HP/UX 9 (%@#!) writes to sscanf strings */
18821 tmp_version = g_strdup("$min_glib_version");
18822 if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, &micro) != 3) {
18823 printf("%s, bad version string\n", "$min_glib_version");
18824 exit(1);
18825 }
18826
18827 if ((glib_major_version != $glib_config_major_version) ||
18828 (glib_minor_version != $glib_config_minor_version) ||
18829 (glib_micro_version != $glib_config_micro_version))
18830 {
18831 printf("\n*** 'pkg-config --modversion glib-2.0' returned %d.%d.%d, but GLIB (%d.%d.%d)\n",
18832 $glib_config_major_version, $glib_config_minor_version, $glib_config_micro_version,
18833 glib_major_version, glib_minor_version, glib_micro_version);
18834 printf ("*** was found! If pkg-config was correct, then it is best\n");
18835 printf ("*** to remove the old version of GLib. You may also be able to fix the error\n");
18836 printf("*** by modifying your LD_LIBRARY_PATH environment variable, or by editing\n");
18837 printf("*** /etc/ld.so.conf. Make sure you have run ldconfig if that is\n");
18838 printf("*** required on your system.\n");
18839 printf("*** If pkg-config was wrong, set the environment variable PKG_CONFIG_PATH\n");
18840 printf("*** to point to the correct configuration files\n");
18841 }
18842 else if ((glib_major_version != GLIB_MAJOR_VERSION) ||
18843 (glib_minor_version != GLIB_MINOR_VERSION) ||
18844 (glib_micro_version != GLIB_MICRO_VERSION))
18845 {
18846 printf("*** GLIB header files (version %d.%d.%d) do not match\n",
18847 GLIB_MAJOR_VERSION, GLIB_MINOR_VERSION, GLIB_MICRO_VERSION);
18848 printf("*** library (version %d.%d.%d)\n",
18849 glib_major_version, glib_minor_version, glib_micro_version);
18850 }
18851 else
18852 {
18853 if ((glib_major_version > major) ||
18854 ((glib_major_version == major) && (glib_minor_version > minor)) ||
18855 ((glib_major_version == major) && (glib_minor_version == minor) && (glib_micro_version >= micro)))
18856 {
18857 return 0;
18858 }
18859 else
18860 {
18861 printf("\n*** An old version of GLIB (%d.%d.%d) was found.\n",
18862 glib_major_version, glib_minor_version, glib_micro_version);
18863 printf("*** You need a version of GLIB newer than %d.%d.%d. The latest version of\n",
18864 major, minor, micro);
18865 printf("*** GLIB is always available from ftp://ftp.gtk.org.\n");
18866 printf("***\n");
18867 printf("*** If you have already installed a sufficiently new version, this error\n");
18868 printf("*** probably means that the wrong copy of the pkg-config shell script is\n");
18869 printf("*** being found. The easiest way to fix this is to remove the old version\n");
18870 printf("*** of GLIB, but you can also set the PKG_CONFIG environment to point to the\n");
18871 printf("*** correct copy of pkg-config. (In this case, you will have to\n");
18872 printf("*** modify your LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf\n");
18873 printf("*** so that the correct libraries are found at run-time))\n");
18874 }
18875 }
18876 return 1;
18877 }
18878
18879 _ACEOF
18880 if ac_fn_c_try_run "$LINENO"
18881 then :
18882
18883 else $as_nop
18884 no_glib=yes
18885 fi
18886 rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
18887 conftest.$ac_objext conftest.beam conftest.$ac_ext
18888 fi
18889
18890 CFLAGS="$ac_save_CFLAGS"
18891 LIBS="$ac_save_LIBS"
18892 fi
18893 fi
18894 if test "x$no_glib" = x ; then
18895 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes (version $glib_config_major_version.$glib_config_minor_version.$glib_config_micro_version)" >&5
18896 printf "%s\n" "yes (version $glib_config_major_version.$glib_config_minor_version.$glib_config_micro_version)" >&6; }
18897 :
18898 else
18899 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
18900 printf "%s\n" "no" >&6; }
18901 if test "$PKG_CONFIG" = "no" ; then
18902 echo "*** A new enough version of pkg-config was not found."
18903 echo "*** See https://www.freedesktop.org/software/pkgconfig/"
18904 else
18905 if test -f conf.glibtest ; then
18906 :
18907 else
18908 echo "*** Could not run GLIB test program, checking why..."
18909 ac_save_CFLAGS="$CFLAGS"
18910 ac_save_LIBS="$LIBS"
18911 CFLAGS="$CFLAGS $GLIB_CFLAGS"
18912 LIBS="$LIBS $GLIB_LIBS"
18913 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
18914 /* end confdefs.h. */
18915
18916 #include <glib.h>
18917 #include <stdio.h>
18918
18919 int
18920 main (void)
18921 {
18922 return ((glib_major_version) || (glib_minor_version) || (glib_micro_version));
18923 ;
18924 return 0;
18925 }
18926 _ACEOF
18927 if ac_fn_c_try_link "$LINENO"
18928 then :
18929 echo "*** The test program compiled, but did not run. This usually means"
18930 echo "*** that the run-time linker is not finding GLIB or finding the wrong"
18931 echo "*** version of GLIB. If it is not finding GLIB, you'll need to set your"
18932 echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
18933 echo "*** to the installed location Also, make sure you have run ldconfig if that"
18934 echo "*** is required on your system"
18935 echo "***"
18936 echo "*** If you have an old version installed, it is best to remove it, although"
18937 echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"
18938 else $as_nop
18939 echo "*** The test program failed to compile or link. See the file config.log for the"
18940 echo "*** exact error that occurred. This usually means GLIB is incorrectly installed."
18941 fi
18942 rm -f core conftest.err conftest.$ac_objext conftest.beam \
18943 conftest$ac_exeext conftest.$ac_ext
18944 CFLAGS="$ac_save_CFLAGS"
18945 LIBS="$ac_save_LIBS"
18946 fi
18947 fi
18948 GLIB_CFLAGS=""
18949 GLIB_LIBS=""
18950 GLIB_GENMARSHAL=""
18951 GOBJECT_QUERY=""
18952 GLIB_MKENUMS=""
18953 :
18954 fi
18955
18956
18957
18958
18959
18960 rm -f conf.glibtest
18961
18962 # Check whether --enable-w32-glib was given.
18963 if test ${enable_w32_glib+y}
18964 then :
18965 enableval=$enable_w32_glib; build_w32_glib=$enableval
18966 fi
18967
18968 ;;
18969 *)
18970
18971 # XXX: Probably use exec-prefix here?
18972 # GPG_DEFAULT='/usr/bin/gpg'
18973 # GPGSM_DEFAULT='/usr/bin/gpgsm'
18974 # GPGCONF_DEFAULT='/usr/bin/gpgconf'
18975 # G13_DEFAULT='/usr/bin/g13'
18976 ;;
18977 esac
18978
18979 if test "$have_dosish_system" = yes; then
18980
18981 printf "%s\n" "#define HAVE_DOSISH_SYSTEM 1" >>confdefs.h
18982
18983 fi
18984 if test "$have_dosish_system" = yes; then
18985 HAVE_DOSISH_SYSTEM_TRUE=
18986 HAVE_DOSISH_SYSTEM_FALSE='#'
18987 else
18988 HAVE_DOSISH_SYSTEM_TRUE='#'
18989 HAVE_DOSISH_SYSTEM_FALSE=
18990 fi
18991
18992
18993 if test "$have_w32_system" = yes; then
18994
18995 printf "%s\n" "#define HAVE_W32_SYSTEM 1" >>confdefs.h
18996
18997 fi
18998 if test "$have_w32_system" = yes; then
18999 HAVE_W32_SYSTEM_TRUE=
19000 HAVE_W32_SYSTEM_FALSE='#'
19001 else
19002 HAVE_W32_SYSTEM_TRUE='#'
19003 HAVE_W32_SYSTEM_FALSE=
19004 fi
19005
19006
19007 if test "$have_w64_system" = yes; then
19008
19009 printf "%s\n" "#define HAVE_W64_SYSTEM 1" >>confdefs.h
19010
19011 fi
19012 if test "$have_w64_system" = yes; then
19013 HAVE_W64_SYSTEM_TRUE=
19014 HAVE_W64_SYSTEM_FALSE='#'
19015 else
19016 HAVE_W64_SYSTEM_TRUE='#'
19017 HAVE_W64_SYSTEM_FALSE=
19018 fi
19019
19020
19021 if test "$have_android_system" = yes; then
19022
19023 printf "%s\n" "#define HAVE_ANDROID_SYSTEM 1" >>confdefs.h
19024
19025 fi
19026 if test "$have_android_system" = yes; then
19027 HAVE_ANDROID_SYSTEM_TRUE=
19028 HAVE_ANDROID_SYSTEM_FALSE='#'
19029 else
19030 HAVE_ANDROID_SYSTEM_TRUE='#'
19031 HAVE_ANDROID_SYSTEM_FALSE=
19032 fi
19033
19034
19035 if test "$have_macos_system" = yes; then
19036
19037 printf "%s\n" "#define HAVE_MACOS_SYSTEM 1" >>confdefs.h
19038
19039 fi
19040 if test "$have_macos_system" = yes; then
19041 HAVE_MACOS_SYSTEM_TRUE=
19042 HAVE_MACOS_SYSTEM_FALSE='#'
19043 else
19044 HAVE_MACOS_SYSTEM_TRUE='#'
19045 HAVE_MACOS_SYSTEM_FALSE=
19046 fi
19047
19048
19049 if test "$build_w32_glib" = yes; then
19050 BUILD_W32_GLIB_TRUE=
19051 BUILD_W32_GLIB_FALSE='#'
19052 else
19053 BUILD_W32_GLIB_TRUE='#'
19054 BUILD_W32_GLIB_FALSE=
19055 fi
19056
19057
19058
19059 # Check whether --enable-fixed-path was given.
19060 if test ${enable_fixed_path+y}
19061 then :
19062 enableval=$enable_fixed_path; fixed_search_path="$enableval"
19063 else $as_nop
19064 fixed_search_path=""
19065 fi
19066
19067 if test x$fixed_search_path != x ; then
19068
19069 printf "%s\n" "#define FIXED_SEARCH_PATH \"$fixed_search_path\"" >>confdefs.h
19070
19071 fi
19072
19073
19074 # Note: You need to declare all possible languages also in
19075 # lang/Makefile.am's DIST_SUBDIRS.
19076 # Check whether --enable-languages was given.
19077 if test ${enable_languages+y}
19078 then :
19079 enableval=$enable_languages; enabled_languages=`echo $enableval | \
19080 tr ',:' ' ' | tr 'A-Z' 'a-z' | \
19081 sed 's/c++/cpp/'`
19082 else $as_nop
19083 enabled_languages="maybe"
19084 fi
19085
19086 if test "x$enabled_languages" = "x" \
19087 -o "$enabled_languages" = "no"; then
19088 enabled_languages=
19089 fi
19090
19091 # If languages are explicitly set missing requirements
19092 # for the languages are treated as errors otherwise
19093 # there will be a warning.
19094 explicit_languages=1
19095 if test "x$enabled_languages" = "xmaybe"; then
19096 explicit_languages=0
19097 enabled_languages="$default_languages"
19098 fi
19099
19100 for language in $enabled_languages; do
19101
19102 name=$language
19103 list=$available_languages
19104 found=0
19105
19106 for n in $list; do
19107 if test "x$name" = "x$n"; then
19108 found=1
19109 fi
19110 done
19111
19112 if test "$found" = "0"; then
19113 as_fn_error $? "unsupported language binding specified" "$LINENO" 5
19114 fi
19115 done
19116
19117
19118
19119 # Enable C++ 11 if cpp language is requested
19120
19121 name="cpp"
19122 list=$enabled_languages
19123 found=0
19124
19125 for n in $list; do
19126 if test "x$name" = "x$n"; then
19127 found=1
19128 fi
19129 done
19130
19131 if test "$found" = "1"; then
19132 ax_cxx_compile_cxx11_required=false
19133 ac_ext=cpp
19134 ac_cpp='$CXXCPP $CPPFLAGS'
19135 ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
19136 ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
19137 ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
19138 ac_success=no
19139 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++11 features by default" >&5
19140 printf %s "checking whether $CXX supports C++11 features by default... " >&6; }
19141 if test ${ax_cv_cxx_compile_cxx11+y}
19142 then :
19143 printf %s "(cached) " >&6
19144 else $as_nop
19145 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
19146 /* end confdefs.h. */
19147
19148
19149 // If the compiler admits that it is not ready for C++11, why torture it?
19150 // Hopefully, this will speed up the test.
19151
19152 #ifndef __cplusplus
19153
19154 #error "This is not a C++ compiler"
19155
19156 #elif __cplusplus < 201103L
19157
19158 #error "This is not a C++11 compiler"
19159
19160 #else
19161
19162 namespace cxx11
19163 {
19164
19165 namespace test_static_assert
19166 {
19167
19168 template <typename T>
19169 struct check
19170 {
19171 static_assert(sizeof(int) <= sizeof(T), "not big enough");
19172 };
19173
19174 }
19175
19176 namespace test_final_override
19177 {
19178
19179 struct Base
19180 {
19181 virtual void f() {}
19182 };
19183
19184 struct Derived : public Base
19185 {
19186 virtual void f() override {}
19187 };
19188
19189 }
19190
19191 namespace test_double_right_angle_brackets
19192 {
19193
19194 template < typename T >
19195 struct check {};
19196
19197 typedef check<void> single_type;
19198 typedef check<check<void>> double_type;
19199 typedef check<check<check<void>>> triple_type;
19200 typedef check<check<check<check<void>>>> quadruple_type;
19201
19202 }
19203
19204 namespace test_decltype
19205 {
19206
19207 int
19208 f()
19209 {
19210 int a = 1;
19211 decltype(a) b = 2;
19212 return a + b;
19213 }
19214
19215 }
19216
19217 namespace test_type_deduction
19218 {
19219
19220 template < typename T1, typename T2 >
19221 struct is_same
19222 {
19223 static const bool value = false;
19224 };
19225
19226 template < typename T >
19227 struct is_same<T, T>
19228 {
19229 static const bool value = true;
19230 };
19231
19232 template < typename T1, typename T2 >
19233 auto
19234 add(T1 a1, T2 a2) -> decltype(a1 + a2)
19235 {
19236 return a1 + a2;
19237 }
19238
19239 int
19240 test(const int c, volatile int v)
19241 {
19242 static_assert(is_same<int, decltype(0)>::value == true, "");
19243 static_assert(is_same<int, decltype(c)>::value == false, "");
19244 static_assert(is_same<int, decltype(v)>::value == false, "");
19245 auto ac = c;
19246 auto av = v;
19247 auto sumi = ac + av + 'x';
19248 auto sumf = ac + av + 1.0;
19249 static_assert(is_same<int, decltype(ac)>::value == true, "");
19250 static_assert(is_same<int, decltype(av)>::value == true, "");
19251 static_assert(is_same<int, decltype(sumi)>::value == true, "");
19252 static_assert(is_same<int, decltype(sumf)>::value == false, "");
19253 static_assert(is_same<int, decltype(add(c, v))>::value == true, "");
19254 return (sumf > 0.0) ? sumi : add(c, v);
19255 }
19256
19257 }
19258
19259 namespace test_noexcept
19260 {
19261
19262 int f() { return 0; }
19263 int g() noexcept { return 0; }
19264
19265 static_assert(noexcept(f()) == false, "");
19266 static_assert(noexcept(g()) == true, "");
19267
19268 }
19269
19270 namespace test_constexpr
19271 {
19272
19273 template < typename CharT >
19274 unsigned long constexpr
19275 strlen_c_r(const CharT *const s, const unsigned long acc) noexcept
19276 {
19277 return *s ? strlen_c_r(s + 1, acc + 1) : acc;
19278 }
19279
19280 template < typename CharT >
19281 unsigned long constexpr
19282 strlen_c(const CharT *const s) noexcept
19283 {
19284 return strlen_c_r(s, 0UL);
19285 }
19286
19287 static_assert(strlen_c("") == 0UL, "");
19288 static_assert(strlen_c("1") == 1UL, "");
19289 static_assert(strlen_c("example") == 7UL, "");
19290 static_assert(strlen_c("another\0example") == 7UL, "");
19291
19292 }
19293
19294 namespace test_rvalue_references
19295 {
19296
19297 template < int N >
19298 struct answer
19299 {
19300 static constexpr int value = N;
19301 };
19302
19303 answer<1> f(int&) { return answer<1>(); }
19304 answer<2> f(const int&) { return answer<2>(); }
19305 answer<3> f(int&&) { return answer<3>(); }
19306
19307 void
19308 test()
19309 {
19310 int i = 0;
19311 const int c = 0;
19312 static_assert(decltype(f(i))::value == 1, "");
19313 static_assert(decltype(f(c))::value == 2, "");
19314 static_assert(decltype(f(0))::value == 3, "");
19315 }
19316
19317 }
19318
19319 namespace test_uniform_initialization
19320 {
19321
19322 struct test
19323 {
19324 static const int zero {};
19325 static const int one {1};
19326 };
19327
19328 static_assert(test::zero == 0, "");
19329 static_assert(test::one == 1, "");
19330
19331 }
19332
19333 namespace test_lambdas
19334 {
19335
19336 void
19337 test1()
19338 {
19339 auto lambda1 = [](){};
19340 auto lambda2 = lambda1;
19341 lambda1();
19342 lambda2();
19343 }
19344
19345 int
19346 test2()
19347 {
19348 auto a = [](int i, int j){ return i + j; }(1, 2);
19349 auto b = []() -> int { return '0'; }();
19350 auto c = [=](){ return a + b; }();
19351 auto d = [&](){ return c; }();
19352 auto e = [a, &b](int x) mutable {
19353 const auto identity = [](int y){ return y; };
19354 for (auto i = 0; i < a; ++i)
19355 a += b--;
19356 return x + identity(a + b);
19357 }(0);
19358 return a + b + c + d + e;
19359 }
19360
19361 int
19362 test3()
19363 {
19364 const auto nullary = [](){ return 0; };
19365 const auto unary = [](int x){ return x; };
19366 using nullary_t = decltype(nullary);
19367 using unary_t = decltype(unary);
19368 const auto higher1st = [](nullary_t f){ return f(); };
19369 const auto higher2nd = [unary](nullary_t f1){
19370 return [unary, f1](unary_t f2){ return f2(unary(f1())); };
19371 };
19372 return higher1st(nullary) + higher2nd(nullary)(unary);
19373 }
19374
19375 }
19376
19377 namespace test_variadic_templates
19378 {
19379
19380 template <int...>
19381 struct sum;
19382
19383 template <int N0, int... N1toN>
19384 struct sum<N0, N1toN...>
19385 {
19386 static constexpr auto value = N0 + sum<N1toN...>::value;
19387 };
19388
19389 template <>
19390 struct sum<>
19391 {
19392 static constexpr auto value = 0;
19393 };
19394
19395 static_assert(sum<>::value == 0, "");
19396 static_assert(sum<1>::value == 1, "");
19397 static_assert(sum<23>::value == 23, "");
19398 static_assert(sum<1, 2>::value == 3, "");
19399 static_assert(sum<5, 5, 11>::value == 21, "");
19400 static_assert(sum<2, 3, 5, 7, 11, 13>::value == 41, "");
19401
19402 }
19403
19404 // http://stackoverflow.com/questions/13728184/template-aliases-and-sfinae
19405 // Clang 3.1 fails with headers of libstd++ 4.8.3 when using std::function
19406 // because of this.
19407 namespace test_template_alias_sfinae
19408 {
19409
19410 struct foo {};
19411
19412 template<typename T>
19413 using member = typename T::member_type;
19414
19415 template<typename T>
19416 void func(...) {}
19417
19418 template<typename T>
19419 void func(member<T>*) {}
19420
19421 void test();
19422
19423 void test() { func<foo>(0); }
19424
19425 }
19426
19427 } // namespace cxx11
19428
19429 #endif // __cplusplus >= 201103L
19430
19431
19432
19433 _ACEOF
19434 if ac_fn_cxx_try_compile "$LINENO"
19435 then :
19436 ax_cv_cxx_compile_cxx11=yes
19437 else $as_nop
19438 ax_cv_cxx_compile_cxx11=no
19439 fi
19440 rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
19441 fi
19442 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cxx_compile_cxx11" >&5
19443 printf "%s\n" "$ax_cv_cxx_compile_cxx11" >&6; }
19444 if test x$ax_cv_cxx_compile_cxx11 = xyes; then
19445 ac_success=yes
19446 fi
19447
19448
19449
19450 if test x$ac_success = xno; then
19451 for switch in -std=c++11 -std=c++0x +std=c++11 "-h std=c++11"; do
19452 cachevar=`printf "%s\n" "ax_cv_cxx_compile_cxx11_$switch" | $as_tr_sh`
19453 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CXX supports C++11 features with $switch" >&5
19454 printf %s "checking whether $CXX supports C++11 features with $switch... " >&6; }
19455 if eval test \${$cachevar+y}
19456 then :
19457 printf %s "(cached) " >&6
19458 else $as_nop
19459 ac_save_CXX="$CXX"
19460 CXX="$CXX $switch"
19461 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
19462 /* end confdefs.h. */
19463
19464
19465 // If the compiler admits that it is not ready for C++11, why torture it?
19466 // Hopefully, this will speed up the test.
19467
19468 #ifndef __cplusplus
19469
19470 #error "This is not a C++ compiler"
19471
19472 #elif __cplusplus < 201103L
19473
19474 #error "This is not a C++11 compiler"
19475
19476 #else
19477
19478 namespace cxx11
19479 {
19480
19481 namespace test_static_assert
19482 {
19483
19484 template <typename T>
19485 struct check
19486 {
19487 static_assert(sizeof(int) <= sizeof(T), "not big enough");
19488 };
19489
19490 }
19491
19492 namespace test_final_override
19493 {
19494
19495 struct Base
19496 {
19497 virtual void f() {}
19498 };
19499
19500 struct Derived : public Base
19501 {
19502 virtual void f() override {}
19503 };
19504
19505 }
19506
19507 namespace test_double_right_angle_brackets
19508 {
19509
19510 template < typename T >
19511 struct check {};
19512
19513 typedef check<void> single_type;
19514 typedef check<check<void>> double_type;
19515 typedef check<check<check<void>>> triple_type;
19516 typedef check<check<check<check<void>>>> quadruple_type;
19517
19518 }
19519
19520 namespace test_decltype
19521 {
19522
19523 int
19524 f()
19525 {
19526 int a = 1;
19527 decltype(a) b = 2;
19528 return a + b;
19529 }
19530
19531 }
19532
19533 namespace test_type_deduction
19534 {
19535
19536 template < typename T1, typename T2 >
19537 struct is_same
19538 {
19539 static const bool value = false;
19540 };
19541
19542 template < typename T >
19543 struct is_same<T, T>
19544 {
19545 static const bool value = true;
19546 };
19547
19548 template < typename T1, typename T2 >
19549 auto
19550 add(T1 a1, T2 a2) -> decltype(a1 + a2)
19551 {
19552 return a1 + a2;
19553 }
19554
19555 int
19556 test(const int c, volatile int v)
19557 {
19558 static_assert(is_same<int, decltype(0)>::value == true, "");
19559 static_assert(is_same<int, decltype(c)>::value == false, "");
19560 static_assert(is_same<int, decltype(v)>::value == false, "");
19561 auto ac = c;
19562 auto av = v;
19563 auto sumi = ac + av + 'x';
19564 auto sumf = ac + av + 1.0;
19565 static_assert(is_same<int, decltype(ac)>::value == true, "");
19566 static_assert(is_same<int, decltype(av)>::value == true, "");
19567 static_assert(is_same<int, decltype(sumi)>::value == true, "");
19568 static_assert(is_same<int, decltype(sumf)>::value == false, "");
19569 static_assert(is_same<int, decltype(add(c, v))>::value == true, "");
19570 return (sumf > 0.0) ? sumi : add(c, v);
19571 }
19572
19573 }
19574
19575 namespace test_noexcept
19576 {
19577
19578 int f() { return 0; }
19579 int g() noexcept { return 0; }
19580
19581 static_assert(noexcept(f()) == false, "");
19582 static_assert(noexcept(g()) == true, "");
19583
19584 }
19585
19586 namespace test_constexpr
19587 {
19588
19589 template < typename CharT >
19590 unsigned long constexpr
19591 strlen_c_r(const CharT *const s, const unsigned long acc) noexcept
19592 {
19593 return *s ? strlen_c_r(s + 1, acc + 1) : acc;
19594 }
19595
19596 template < typename CharT >
19597 unsigned long constexpr
19598 strlen_c(const CharT *const s) noexcept
19599 {
19600 return strlen_c_r(s, 0UL);
19601 }
19602
19603 static_assert(strlen_c("") == 0UL, "");
19604 static_assert(strlen_c("1") == 1UL, "");
19605 static_assert(strlen_c("example") == 7UL, "");
19606 static_assert(strlen_c("another\0example") == 7UL, "");
19607
19608 }
19609
19610 namespace test_rvalue_references
19611 {
19612
19613 template < int N >
19614 struct answer
19615 {
19616 static constexpr int value = N;
19617 };
19618
19619 answer<1> f(int&) { return answer<1>(); }
19620 answer<2> f(const int&) { return answer<2>(); }
19621 answer<3> f(int&&) { return answer<3>(); }
19622
19623 void
19624 test()
19625 {
19626 int i = 0;
19627 const int c = 0;
19628 static_assert(decltype(f(i))::value == 1, "");
19629 static_assert(decltype(f(c))::value == 2, "");
19630 static_assert(decltype(f(0))::value == 3, "");
19631 }
19632
19633 }
19634
19635 namespace test_uniform_initialization
19636 {
19637
19638 struct test
19639 {
19640 static const int zero {};
19641 static const int one {1};
19642 };
19643
19644 static_assert(test::zero == 0, "");
19645 static_assert(test::one == 1, "");
19646
19647 }
19648
19649 namespace test_lambdas
19650 {
19651
19652 void
19653 test1()
19654 {
19655 auto lambda1 = [](){};
19656 auto lambda2 = lambda1;
19657 lambda1();
19658 lambda2();
19659 }
19660
19661 int
19662 test2()
19663 {
19664 auto a = [](int i, int j){ return i + j; }(1, 2);
19665 auto b = []() -> int { return '0'; }();
19666 auto c = [=](){ return a + b; }();
19667 auto d = [&](){ return c; }();
19668 auto e = [a, &b](int x) mutable {
19669 const auto identity = [](int y){ return y; };
19670 for (auto i = 0; i < a; ++i)
19671 a += b--;
19672 return x + identity(a + b);
19673 }(0);
19674 return a + b + c + d + e;
19675 }
19676
19677 int
19678 test3()
19679 {
19680 const auto nullary = [](){ return 0; };
19681 const auto unary = [](int x){ return x; };
19682 using nullary_t = decltype(nullary);
19683 using unary_t = decltype(unary);
19684 const auto higher1st = [](nullary_t f){ return f(); };
19685 const auto higher2nd = [unary](nullary_t f1){
19686 return [unary, f1](unary_t f2){ return f2(unary(f1())); };
19687 };
19688 return higher1st(nullary) + higher2nd(nullary)(unary);
19689 }
19690
19691 }
19692
19693 namespace test_variadic_templates
19694 {
19695
19696 template <int...>
19697 struct sum;
19698
19699 template <int N0, int... N1toN>
19700 struct sum<N0, N1toN...>
19701 {
19702 static constexpr auto value = N0 + sum<N1toN...>::value;
19703 };
19704
19705 template <>
19706 struct sum<>
19707 {
19708 static constexpr auto value = 0;
19709 };
19710
19711 static_assert(sum<>::value == 0, "");
19712 static_assert(sum<1>::value == 1, "");
19713 static_assert(sum<23>::value == 23, "");
19714 static_assert(sum<1, 2>::value == 3, "");
19715 static_assert(sum<5, 5, 11>::value == 21, "");
19716 static_assert(sum<2, 3, 5, 7, 11, 13>::value == 41, "");
19717
19718 }
19719
19720 // http://stackoverflow.com/questions/13728184/template-aliases-and-sfinae
19721 // Clang 3.1 fails with headers of libstd++ 4.8.3 when using std::function
19722 // because of this.
19723 namespace test_template_alias_sfinae
19724 {
19725
19726 struct foo {};
19727
19728 template<typename T>
19729 using member = typename T::member_type;
19730
19731 template<typename T>
19732 void func(...) {}
19733
19734 template<typename T>
19735 void func(member<T>*) {}
19736
19737 void test();
19738
19739 void test() { func<foo>(0); }
19740
19741 }
19742
19743 } // namespace cxx11
19744
19745 #endif // __cplusplus >= 201103L
19746
19747
19748
19749 _ACEOF
19750 if ac_fn_cxx_try_compile "$LINENO"
19751 then :
19752 eval $cachevar=yes
19753 else $as_nop
19754 eval $cachevar=no
19755 fi
19756 rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
19757 CXX="$ac_save_CXX"
19758 fi
19759 eval ac_res=\$$cachevar
19760 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
19761 printf "%s\n" "$ac_res" >&6; }
19762 if eval test x\$$cachevar = xyes; then
19763 CXX="$CXX $switch"
19764 CXXCPP="$CXXCPP $switch"
19765 ac_success=yes
19766 break
19767 fi
19768 done
19769 fi
19770 ac_ext=c
19771 ac_cpp='$CPP $CPPFLAGS'
19772 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
19773 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
19774 ac_compiler_gnu=$ac_cv_c_compiler_gnu
19775
19776 if test x$ax_cxx_compile_cxx11_required = xtrue; then
19777 if test x$ac_success = xno; then
19778 as_fn_error $? "*** A compiler with support for C++11 language features is required." "$LINENO" 5
19779 fi
19780 fi
19781 if test x$ac_success = xno; then
19782 HAVE_CXX11=0
19783 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: No compiler with C++11 support was found" >&5
19784 printf "%s\n" "$as_me: No compiler with C++11 support was found" >&6;}
19785 else
19786 HAVE_CXX11=1
19787
19788 printf "%s\n" "#define HAVE_CXX11 1" >>confdefs.h
19789
19790 fi
19791
19792
19793 if test "$HAVE_CXX11" != "1"; then
19794 if test "$explicit_languages" = "1"; then
19795 as_fn_error $? "
19796 ***
19797 *** A compiler with c++11 support is required for the c++ binding.
19798 ***" "$LINENO" 5
19799 else
19800 enabled_languages=$(echo $enabled_languages | sed 's/cpp//')
19801 enabled_languages=$(echo $enabled_languages | sed 's/qt//')
19802 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING:
19803 ***
19804 *** No c++11 support detected. C++ and Qt bindings will be disabled.
19805 ***" >&5
19806 printf "%s\n" "$as_me: WARNING:
19807 ***
19808 *** No c++11 support detected. C++ and Qt bindings will be disabled.
19809 ***" >&2;}
19810 fi
19811 fi
19812 fi
19813
19814 # Check that if qt is enabled cpp also is enabled
19815
19816 name="qt"
19817 list=$enabled_languages
19818 found=0
19819
19820 for n in $list; do
19821 if test "x$name" = "x$n"; then
19822 found=1
19823 fi
19824 done
19825
19826 if test "$found" = "1"; then
19827 # We need to ensure that in the language order qt comes after cpp
19828 # so we remove qt first and explicitly add it as last list member.
19829 enabled_languages=$(echo $enabled_languages | sed 's/qt//')
19830
19831 name="cpp"
19832 list=$enabled_languages
19833 found=0
19834
19835 for n in $list; do
19836 if test "x$name" = "x$n"; then
19837 found=1
19838 fi
19839 done
19840
19841 if test "$found" = "0"; then
19842 as_fn_error $? "
19843 ***
19844 *** Qt language binding depends on cpp binding.
19845 ***" "$LINENO" 5
19846 fi
19847
19848
19849 if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
19850 if test -n "$ac_tool_prefix"; then
19851 # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
19852 set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
19853 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
19854 printf %s "checking for $ac_word... " >&6; }
19855 if test ${ac_cv_path_PKG_CONFIG+y}
19856 then :
19857 printf %s "(cached) " >&6
19858 else $as_nop
19859 case $PKG_CONFIG in
19860 [\\/]* | ?:[\\/]*)
19861 ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
19862 ;;
19863 *)
19864 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
19865 for as_dir in $PATH
19866 do
19867 IFS=$as_save_IFS
19868 case $as_dir in #(((
19869 '') as_dir=./ ;;
19870 */) ;;
19871 *) as_dir=$as_dir/ ;;
19872 esac
19873 for ac_exec_ext in '' $ac_executable_extensions; do
19874 if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
19875 ac_cv_path_PKG_CONFIG="$as_dir$ac_word$ac_exec_ext"
19876 printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
19877 break 2
19878 fi
19879 done
19880 done
19881 IFS=$as_save_IFS
19882
19883 ;;
19884 esac
19885 fi
19886 PKG_CONFIG=$ac_cv_path_PKG_CONFIG
19887 if test -n "$PKG_CONFIG"; then
19888 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5
19889 printf "%s\n" "$PKG_CONFIG" >&6; }
19890 else
19891 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
19892 printf "%s\n" "no" >&6; }
19893 fi
19894
19895
19896 fi
19897 if test -z "$ac_cv_path_PKG_CONFIG"; then
19898 ac_pt_PKG_CONFIG=$PKG_CONFIG
19899 # Extract the first word of "pkg-config", so it can be a program name with args.
19900 set dummy pkg-config; ac_word=$2
19901 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
19902 printf %s "checking for $ac_word... " >&6; }
19903 if test ${ac_cv_path_ac_pt_PKG_CONFIG+y}
19904 then :
19905 printf %s "(cached) " >&6
19906 else $as_nop
19907 case $ac_pt_PKG_CONFIG in
19908 [\\/]* | ?:[\\/]*)
19909 ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path.
19910 ;;
19911 *)
19912 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
19913 for as_dir in $PATH
19914 do
19915 IFS=$as_save_IFS
19916 case $as_dir in #(((
19917 '') as_dir=./ ;;
19918 */) ;;
19919 *) as_dir=$as_dir/ ;;
19920 esac
19921 for ac_exec_ext in '' $ac_executable_extensions; do
19922 if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
19923 ac_cv_path_ac_pt_PKG_CONFIG="$as_dir$ac_word$ac_exec_ext"
19924 printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
19925 break 2
19926 fi
19927 done
19928 done
19929 IFS=$as_save_IFS
19930
19931 ;;
19932 esac
19933 fi
19934 ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG
19935 if test -n "$ac_pt_PKG_CONFIG"; then
19936 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5
19937 printf "%s\n" "$ac_pt_PKG_CONFIG" >&6; }
19938 else
19939 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
19940 printf "%s\n" "no" >&6; }
19941 fi
19942
19943 if test "x$ac_pt_PKG_CONFIG" = x; then
19944 PKG_CONFIG=""
19945 else
19946 case $cross_compiling:$ac_tool_warned in
19947 yes:)
19948 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
19949 printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
19950 ac_tool_warned=yes ;;
19951 esac
19952 PKG_CONFIG=$ac_pt_PKG_CONFIG
19953 fi
19954 else
19955 PKG_CONFIG="$ac_cv_path_PKG_CONFIG"
19956 fi
19957
19958 fi
19959 if test -n "$PKG_CONFIG"; then
19960 _pkg_min_version=0.9.0
19961 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5
19962 printf %s "checking pkg-config is at least version $_pkg_min_version... " >&6; }
19963 if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
19964 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
19965 printf "%s\n" "yes" >&6; }
19966 else
19967 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
19968 printf "%s\n" "no" >&6; }
19969 PKG_CONFIG=""
19970 fi
19971
19972 fi
19973
19974 have_qt5_libs="no";
19975
19976
19977 pkg_failed=no
19978 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GPGME_QT" >&5
19979 printf %s "checking for GPGME_QT... " >&6; }
19980
19981 if test -n "$PKG_CONFIG"; then
19982 if test -n "$GPGME_QT_CFLAGS"; then
19983 pkg_cv_GPGME_QT_CFLAGS="$GPGME_QT_CFLAGS"
19984 else
19985 if test -n "$PKG_CONFIG" && \
19986 { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"Qt5Core >= 5.0.0\""; } >&5
19987 ($PKG_CONFIG --exists --print-errors "Qt5Core >= 5.0.0") 2>&5
19988 ac_status=$?
19989 printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
19990 test $ac_status = 0; }; then
19991 pkg_cv_GPGME_QT_CFLAGS=`$PKG_CONFIG --cflags "Qt5Core >= 5.0.0" 2>/dev/null`
19992 else
19993 pkg_failed=yes
19994 fi
19995 fi
19996 else
19997 pkg_failed=untried
19998 fi
19999 if test -n "$PKG_CONFIG"; then
20000 if test -n "$GPGME_QT_LIBS"; then
20001 pkg_cv_GPGME_QT_LIBS="$GPGME_QT_LIBS"
20002 else
20003 if test -n "$PKG_CONFIG" && \
20004 { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"Qt5Core >= 5.0.0\""; } >&5
20005 ($PKG_CONFIG --exists --print-errors "Qt5Core >= 5.0.0") 2>&5
20006 ac_status=$?
20007 printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
20008 test $ac_status = 0; }; then
20009 pkg_cv_GPGME_QT_LIBS=`$PKG_CONFIG --libs "Qt5Core >= 5.0.0" 2>/dev/null`
20010 else
20011 pkg_failed=yes
20012 fi
20013 fi
20014 else
20015 pkg_failed=untried
20016 fi
20017
20018
20019
20020 if test $pkg_failed = yes; then
20021
20022 if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
20023 _pkg_short_errors_supported=yes
20024 else
20025 _pkg_short_errors_supported=no
20026 fi
20027 if test $_pkg_short_errors_supported = yes; then
20028 GPGME_QT_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "Qt5Core >= 5.0.0"`
20029 else
20030 GPGME_QT_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "Qt5Core >= 5.0.0"`
20031 fi
20032 # Put the nasty error message in config.log where it belongs
20033 echo "$GPGME_QT_PKG_ERRORS" >&5
20034
20035 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
20036 printf "%s\n" "no" >&6; }
20037 have_qt5_libs="no"
20038 elif test $pkg_failed = untried; then
20039 have_qt5_libs="no"
20040 else
20041 GPGME_QT_CFLAGS=$pkg_cv_GPGME_QT_CFLAGS
20042 GPGME_QT_LIBS=$pkg_cv_GPGME_QT_LIBS
20043 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
20044 printf "%s\n" "yes" >&6; }
20045 have_qt5_libs="yes"
20046 fi
20047
20048
20049 pkg_failed=no
20050 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GPGME_QTTEST" >&5
20051 printf %s "checking for GPGME_QTTEST... " >&6; }
20052
20053 if test -n "$PKG_CONFIG"; then
20054 if test -n "$GPGME_QTTEST_CFLAGS"; then
20055 pkg_cv_GPGME_QTTEST_CFLAGS="$GPGME_QTTEST_CFLAGS"
20056 else
20057 if test -n "$PKG_CONFIG" && \
20058 { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"Qt5Test >= 5.0.0\""; } >&5
20059 ($PKG_CONFIG --exists --print-errors "Qt5Test >= 5.0.0") 2>&5
20060 ac_status=$?
20061 printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
20062 test $ac_status = 0; }; then
20063 pkg_cv_GPGME_QTTEST_CFLAGS=`$PKG_CONFIG --cflags "Qt5Test >= 5.0.0" 2>/dev/null`
20064 else
20065 pkg_failed=yes
20066 fi
20067 fi
20068 else
20069 pkg_failed=untried
20070 fi
20071 if test -n "$PKG_CONFIG"; then
20072 if test -n "$GPGME_QTTEST_LIBS"; then
20073 pkg_cv_GPGME_QTTEST_LIBS="$GPGME_QTTEST_LIBS"
20074 else
20075 if test -n "$PKG_CONFIG" && \
20076 { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"Qt5Test >= 5.0.0\""; } >&5
20077 ($PKG_CONFIG --exists --print-errors "Qt5Test >= 5.0.0") 2>&5
20078 ac_status=$?
20079 printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
20080 test $ac_status = 0; }; then
20081 pkg_cv_GPGME_QTTEST_LIBS=`$PKG_CONFIG --libs "Qt5Test >= 5.0.0" 2>/dev/null`
20082 else
20083 pkg_failed=yes
20084 fi
20085 fi
20086 else
20087 pkg_failed=untried
20088 fi
20089
20090
20091
20092 if test $pkg_failed = yes; then
20093
20094 if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
20095 _pkg_short_errors_supported=yes
20096 else
20097 _pkg_short_errors_supported=no
20098 fi
20099 if test $_pkg_short_errors_supported = yes; then
20100 GPGME_QTTEST_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "Qt5Test >= 5.0.0"`
20101 else
20102 GPGME_QTTEST_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "Qt5Test >= 5.0.0"`
20103 fi
20104 # Put the nasty error message in config.log where it belongs
20105 echo "$GPGME_QTTEST_PKG_ERRORS" >&5
20106
20107 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
20108 printf "%s\n" "no" >&6; }
20109 have_qt5test_libs="no"
20110 elif test $pkg_failed = untried; then
20111 have_qt5test_libs="no"
20112 else
20113 GPGME_QTTEST_CFLAGS=$pkg_cv_GPGME_QTTEST_CFLAGS
20114 GPGME_QTTEST_LIBS=$pkg_cv_GPGME_QTTEST_LIBS
20115 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
20116 printf "%s\n" "yes" >&6; }
20117 have_qt5test_libs="yes"
20118 fi
20119
20120 if ! test "$have_w32_system" = yes; then
20121 if "$PKG_CONFIG" --variable qt_config Qt5Core | grep -q "reduce_relocations"; then
20122 GPGME_QT_CFLAGS="$GPGME_QT_CFLAGS -fpic"
20123 fi
20124 fi
20125 if test "$have_qt5_libs" = "yes"; then
20126 if test -n "$ac_tool_prefix"; then
20127 # Extract the first word of "${ac_tool_prefix}moc", so it can be a program name with args.
20128 set dummy ${ac_tool_prefix}moc; ac_word=$2
20129 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
20130 printf %s "checking for $ac_word... " >&6; }
20131 if test ${ac_cv_prog_MOC+y}
20132 then :
20133 printf %s "(cached) " >&6
20134 else $as_nop
20135 if test -n "$MOC"; then
20136 ac_cv_prog_MOC="$MOC" # Let the user override the test.
20137 else
20138 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
20139 for as_dir in $PATH
20140 do
20141 IFS=$as_save_IFS
20142 case $as_dir in #(((
20143 '') as_dir=./ ;;
20144 */) ;;
20145 *) as_dir=$as_dir/ ;;
20146 esac
20147 for ac_exec_ext in '' $ac_executable_extensions; do
20148 if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
20149 ac_cv_prog_MOC="${ac_tool_prefix}moc"
20150 printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
20151 break 2
20152 fi
20153 done
20154 done
20155 IFS=$as_save_IFS
20156
20157 fi
20158 fi
20159 MOC=$ac_cv_prog_MOC
20160 if test -n "$MOC"; then
20161 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MOC" >&5
20162 printf "%s\n" "$MOC" >&6; }
20163 else
20164 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
20165 printf "%s\n" "no" >&6; }
20166 fi
20167
20168
20169 fi
20170 if test -z "$ac_cv_prog_MOC"; then
20171 ac_ct_MOC=$MOC
20172 # Extract the first word of "moc", so it can be a program name with args.
20173 set dummy moc; ac_word=$2
20174 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
20175 printf %s "checking for $ac_word... " >&6; }
20176 if test ${ac_cv_prog_ac_ct_MOC+y}
20177 then :
20178 printf %s "(cached) " >&6
20179 else $as_nop
20180 if test -n "$ac_ct_MOC"; then
20181 ac_cv_prog_ac_ct_MOC="$ac_ct_MOC" # Let the user override the test.
20182 else
20183 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
20184 for as_dir in $PATH
20185 do
20186 IFS=$as_save_IFS
20187 case $as_dir in #(((
20188 '') as_dir=./ ;;
20189 */) ;;
20190 *) as_dir=$as_dir/ ;;
20191 esac
20192 for ac_exec_ext in '' $ac_executable_extensions; do
20193 if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
20194 ac_cv_prog_ac_ct_MOC="moc"
20195 printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
20196 break 2
20197 fi
20198 done
20199 done
20200 IFS=$as_save_IFS
20201
20202 fi
20203 fi
20204 ac_ct_MOC=$ac_cv_prog_ac_ct_MOC
20205 if test -n "$ac_ct_MOC"; then
20206 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MOC" >&5
20207 printf "%s\n" "$ac_ct_MOC" >&6; }
20208 else
20209 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
20210 printf "%s\n" "no" >&6; }
20211 fi
20212
20213 if test "x$ac_ct_MOC" = x; then
20214 MOC=""
20215 else
20216 case $cross_compiling:$ac_tool_warned in
20217 yes:)
20218 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
20219 printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
20220 ac_tool_warned=yes ;;
20221 esac
20222 MOC=$ac_ct_MOC
20223 fi
20224 else
20225 MOC="$ac_cv_prog_MOC"
20226 fi
20227
20228 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking moc version" >&5
20229 printf %s "checking moc version... " >&6; }
20230 mocversion=`$MOC -v 2>&1`
20231 mocversiongrep=`echo $mocversion | grep -E "Qt 5|moc 5"`
20232 if test x"$mocversiongrep" != x"$mocversion"; then
20233 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
20234 printf "%s\n" "no" >&6; }
20235 # moc was not the qt5 one, try with moc-qt5
20236 if test -n "$ac_tool_prefix"; then
20237 # Extract the first word of "${ac_tool_prefix}moc-qt5", so it can be a program name with args.
20238 set dummy ${ac_tool_prefix}moc-qt5; ac_word=$2
20239 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
20240 printf %s "checking for $ac_word... " >&6; }
20241 if test ${ac_cv_prog_MOC2+y}
20242 then :
20243 printf %s "(cached) " >&6
20244 else $as_nop
20245 if test -n "$MOC2"; then
20246 ac_cv_prog_MOC2="$MOC2" # Let the user override the test.
20247 else
20248 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
20249 for as_dir in $PATH
20250 do
20251 IFS=$as_save_IFS
20252 case $as_dir in #(((
20253 '') as_dir=./ ;;
20254 */) ;;
20255 *) as_dir=$as_dir/ ;;
20256 esac
20257 for ac_exec_ext in '' $ac_executable_extensions; do
20258 if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
20259 ac_cv_prog_MOC2="${ac_tool_prefix}moc-qt5"
20260 printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
20261 break 2
20262 fi
20263 done
20264 done
20265 IFS=$as_save_IFS
20266
20267 fi
20268 fi
20269 MOC2=$ac_cv_prog_MOC2
20270 if test -n "$MOC2"; then
20271 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $MOC2" >&5
20272 printf "%s\n" "$MOC2" >&6; }
20273 else
20274 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
20275 printf "%s\n" "no" >&6; }
20276 fi
20277
20278
20279 fi
20280 if test -z "$ac_cv_prog_MOC2"; then
20281 ac_ct_MOC2=$MOC2
20282 # Extract the first word of "moc-qt5", so it can be a program name with args.
20283 set dummy moc-qt5; ac_word=$2
20284 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
20285 printf %s "checking for $ac_word... " >&6; }
20286 if test ${ac_cv_prog_ac_ct_MOC2+y}
20287 then :
20288 printf %s "(cached) " >&6
20289 else $as_nop
20290 if test -n "$ac_ct_MOC2"; then
20291 ac_cv_prog_ac_ct_MOC2="$ac_ct_MOC2" # Let the user override the test.
20292 else
20293 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
20294 for as_dir in $PATH
20295 do
20296 IFS=$as_save_IFS
20297 case $as_dir in #(((
20298 '') as_dir=./ ;;
20299 */) ;;
20300 *) as_dir=$as_dir/ ;;
20301 esac
20302 for ac_exec_ext in '' $ac_executable_extensions; do
20303 if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
20304 ac_cv_prog_ac_ct_MOC2="moc-qt5"
20305 printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
20306 break 2
20307 fi
20308 done
20309 done
20310 IFS=$as_save_IFS
20311
20312 fi
20313 fi
20314 ac_ct_MOC2=$ac_cv_prog_ac_ct_MOC2
20315 if test -n "$ac_ct_MOC2"; then
20316 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MOC2" >&5
20317 printf "%s\n" "$ac_ct_MOC2" >&6; }
20318 else
20319 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
20320 printf "%s\n" "no" >&6; }
20321 fi
20322
20323 if test "x$ac_ct_MOC2" = x; then
20324 MOC2=""
20325 else
20326 case $cross_compiling:$ac_tool_warned in
20327 yes:)
20328 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
20329 printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
20330 ac_tool_warned=yes ;;
20331 esac
20332 MOC2=$ac_ct_MOC2
20333 fi
20334 else
20335 MOC2="$ac_cv_prog_MOC2"
20336 fi
20337
20338 mocversion=`$MOC2 -v 2>&1`
20339 mocversiongrep=`echo $mocversion | grep -E "Qt 5|moc-qt5 5|moc 5"`
20340 if test x"$mocversiongrep" != x"$mocversion"; then
20341 if test -n "$ac_tool_prefix"; then
20342 # Extract the first word of "${ac_tool_prefix}qtchooser", so it can be a program name with args.
20343 set dummy ${ac_tool_prefix}qtchooser; ac_word=$2
20344 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
20345 printf %s "checking for $ac_word... " >&6; }
20346 if test ${ac_cv_prog_QTCHOOSER+y}
20347 then :
20348 printf %s "(cached) " >&6
20349 else $as_nop
20350 if test -n "$QTCHOOSER"; then
20351 ac_cv_prog_QTCHOOSER="$QTCHOOSER" # Let the user override the test.
20352 else
20353 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
20354 for as_dir in $PATH
20355 do
20356 IFS=$as_save_IFS
20357 case $as_dir in #(((
20358 '') as_dir=./ ;;
20359 */) ;;
20360 *) as_dir=$as_dir/ ;;
20361 esac
20362 for ac_exec_ext in '' $ac_executable_extensions; do
20363 if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
20364 ac_cv_prog_QTCHOOSER="${ac_tool_prefix}qtchooser"
20365 printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
20366 break 2
20367 fi
20368 done
20369 done
20370 IFS=$as_save_IFS
20371
20372 fi
20373 fi
20374 QTCHOOSER=$ac_cv_prog_QTCHOOSER
20375 if test -n "$QTCHOOSER"; then
20376 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $QTCHOOSER" >&5
20377 printf "%s\n" "$QTCHOOSER" >&6; }
20378 else
20379 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
20380 printf "%s\n" "no" >&6; }
20381 fi
20382
20383
20384 fi
20385 if test -z "$ac_cv_prog_QTCHOOSER"; then
20386 ac_ct_QTCHOOSER=$QTCHOOSER
20387 # Extract the first word of "qtchooser", so it can be a program name with args.
20388 set dummy qtchooser; ac_word=$2
20389 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
20390 printf %s "checking for $ac_word... " >&6; }
20391 if test ${ac_cv_prog_ac_ct_QTCHOOSER+y}
20392 then :
20393 printf %s "(cached) " >&6
20394 else $as_nop
20395 if test -n "$ac_ct_QTCHOOSER"; then
20396 ac_cv_prog_ac_ct_QTCHOOSER="$ac_ct_QTCHOOSER" # Let the user override the test.
20397 else
20398 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
20399 for as_dir in $PATH
20400 do
20401 IFS=$as_save_IFS
20402 case $as_dir in #(((
20403 '') as_dir=./ ;;
20404 */) ;;
20405 *) as_dir=$as_dir/ ;;
20406 esac
20407 for ac_exec_ext in '' $ac_executable_extensions; do
20408 if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
20409 ac_cv_prog_ac_ct_QTCHOOSER="qtchooser"
20410 printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
20411 break 2
20412 fi
20413 done
20414 done
20415 IFS=$as_save_IFS
20416
20417 fi
20418 fi
20419 ac_ct_QTCHOOSER=$ac_cv_prog_ac_ct_QTCHOOSER
20420 if test -n "$ac_ct_QTCHOOSER"; then
20421 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_QTCHOOSER" >&5
20422 printf "%s\n" "$ac_ct_QTCHOOSER" >&6; }
20423 else
20424 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
20425 printf "%s\n" "no" >&6; }
20426 fi
20427
20428 if test "x$ac_ct_QTCHOOSER" = x; then
20429 QTCHOOSER=""
20430 else
20431 case $cross_compiling:$ac_tool_warned in
20432 yes:)
20433 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
20434 printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
20435 ac_tool_warned=yes ;;
20436 esac
20437 QTCHOOSER=$ac_ct_QTCHOOSER
20438 fi
20439 else
20440 QTCHOOSER="$ac_cv_prog_QTCHOOSER"
20441 fi
20442
20443 qt5tooldir=`QT_SELECT=qt5 qtchooser -print-env | grep QTTOOLDIR | cut -d '=' -f 2 | cut -d \" -f 2`
20444 mocversion=`$qt5tooldir/moc -v 2>&1`
20445 mocversiongrep=`echo $mocversion | grep -E "Qt 5|moc 5"`
20446 if test x"$mocversiongrep" != x"$mocversion"; then
20447 # no valid moc found
20448 have_qt5_libs="no";
20449 else
20450 MOC=$qt5tooldir/moc
20451 fi
20452 else
20453 MOC=$MOC2
20454 fi
20455 fi
20456 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $mocversion" >&5
20457 printf "%s\n" "$mocversion" >&6; }
20458 OLDCPPFLAGS=$CPPFLAGS
20459 CPPFLAGS=$GPGME_QT_CFLAGS
20460 OLDLIBS=$LIBS
20461 LIBS=$GPGME_QT_LIBS
20462 ac_ext=cpp
20463 ac_cpp='$CXXCPP $CPPFLAGS'
20464 ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
20465 ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
20466 ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
20467
20468 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether a simple qt program can be built" >&5
20469 printf %s "checking whether a simple qt program can be built... " >&6; }
20470 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
20471 /* end confdefs.h. */
20472
20473 #include <QCoreApplication>
20474 int main (int argc, char **argv) {
20475 QCoreApplication app(argc, argv);
20476 app.exec();
20477 }
20478 _ACEOF
20479 if ac_fn_cxx_try_link "$LINENO"
20480 then :
20481 have_qt5_libs='yes'
20482 else $as_nop
20483 have_qt5_libs='no'
20484 fi
20485 rm -f core conftest.err conftest.$ac_objext conftest.beam \
20486 conftest$ac_exeext conftest.$ac_ext
20487 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $have_qt5_libs" >&5
20488 printf "%s\n" "$have_qt5_libs" >&6; }
20489 ac_ext=c
20490 ac_cpp='$CPP $CPPFLAGS'
20491 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
20492 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
20493 ac_compiler_gnu=$ac_cv_c_compiler_gnu
20494
20495 CPPFLAGS=$OLDCPPFLAGS
20496 LIBS=$OLDLIBS
20497 fi
20498
20499 if test "$have_qt5_libs" != "yes"; then
20500 if test "$explicit_languages" = "1"; then
20501 as_fn_error $? "
20502 ***
20503 *** Qt5 (Qt5Core) is required for Qt binding.
20504 ***" "$LINENO" 5
20505 else
20506 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING:
20507 ***
20508 *** Qt5 (Qt5Core) not found Qt Binding will be disabled.
20509 ***" >&5
20510 printf "%s\n" "$as_me: WARNING:
20511 ***
20512 *** Qt5 (Qt5Core) not found Qt Binding will be disabled.
20513 ***" >&2;}
20514 fi
20515 else
20516 enabled_languages=`echo $enabled_languages qt`
20517
20518 for ac_prog in doxygen
20519 do
20520 # Extract the first word of "$ac_prog", so it can be a program name with args.
20521 set dummy $ac_prog; ac_word=$2
20522 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
20523 printf %s "checking for $ac_word... " >&6; }
20524 if test ${ac_cv_prog_DOXYGEN+y}
20525 then :
20526 printf %s "(cached) " >&6
20527 else $as_nop
20528 if test -n "$DOXYGEN"; then
20529 ac_cv_prog_DOXYGEN="$DOXYGEN" # Let the user override the test.
20530 else
20531 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
20532 for as_dir in $PATH
20533 do
20534 IFS=$as_save_IFS
20535 case $as_dir in #(((
20536 '') as_dir=./ ;;
20537 */) ;;
20538 *) as_dir=$as_dir/ ;;
20539 esac
20540 for ac_exec_ext in '' $ac_executable_extensions; do
20541 if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
20542 ac_cv_prog_DOXYGEN="$ac_prog"
20543 printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
20544 break 2
20545 fi
20546 done
20547 done
20548 IFS=$as_save_IFS
20549
20550 fi
20551 fi
20552 DOXYGEN=$ac_cv_prog_DOXYGEN
20553 if test -n "$DOXYGEN"; then
20554 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DOXYGEN" >&5
20555 printf "%s\n" "$DOXYGEN" >&6; }
20556 else
20557 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
20558 printf "%s\n" "no" >&6; }
20559 fi
20560
20561
20562 test -n "$DOXYGEN" && break
20563 done
20564
20565 if test -z "$DOXYGEN";
20566 # This is not highlighted because it's not really important.
20567 then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Doxygen not found - Qt binding doc will not be built." >&5
20568 printf "%s\n" "$as_me: WARNING: Doxygen not found - Qt binding doc will not be built." >&2;}
20569 fi
20570 for ac_prog in dot
20571 do
20572 # Extract the first word of "$ac_prog", so it can be a program name with args.
20573 set dummy $ac_prog; ac_word=$2
20574 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
20575 printf %s "checking for $ac_word... " >&6; }
20576 if test ${ac_cv_prog_GRAPHVIZ+y}
20577 then :
20578 printf %s "(cached) " >&6
20579 else $as_nop
20580 if test -n "$GRAPHVIZ"; then
20581 ac_cv_prog_GRAPHVIZ="$GRAPHVIZ" # Let the user override the test.
20582 else
20583 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
20584 for as_dir in $PATH
20585 do
20586 IFS=$as_save_IFS
20587 case $as_dir in #(((
20588 '') as_dir=./ ;;
20589 */) ;;
20590 *) as_dir=$as_dir/ ;;
20591 esac
20592 for ac_exec_ext in '' $ac_executable_extensions; do
20593 if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
20594 ac_cv_prog_GRAPHVIZ="$ac_prog"
20595 printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
20596 break 2
20597 fi
20598 done
20599 done
20600 IFS=$as_save_IFS
20601
20602 fi
20603 fi
20604 GRAPHVIZ=$ac_cv_prog_GRAPHVIZ
20605 if test -n "$GRAPHVIZ"; then
20606 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $GRAPHVIZ" >&5
20607 printf "%s\n" "$GRAPHVIZ" >&6; }
20608 else
20609 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
20610 printf "%s\n" "no" >&6; }
20611 fi
20612
20613
20614 test -n "$GRAPHVIZ" && break
20615 done
20616
20617 if test -z "$GRAPHVIZ";
20618 then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Graphviz not found - Qt binding doc will not have diagrams." >&5
20619 printf "%s\n" "$as_me: WARNING: Graphviz not found - Qt binding doc will not have diagrams." >&2;}
20620 fi
20621 fi
20622 fi
20623 if test -n "$DOXYGEN"; then
20624 HAVE_DOXYGEN_TRUE=
20625 HAVE_DOXYGEN_FALSE='#'
20626 else
20627 HAVE_DOXYGEN_TRUE='#'
20628 HAVE_DOXYGEN_FALSE=
20629 fi
20630
20631 if test -n "$GRAPHVIZ"; then
20632 HAVE_DOT="YES"
20633 else
20634 HAVE_DOT="NO"
20635 fi
20636
20637
20638 # Python bindings.
20639
20640 name="python"
20641 list=$enabled_languages
20642 found=0
20643
20644 for n in $list; do
20645 if test "x$name" = "x$n"; then
20646 found=1
20647 fi
20648 done
20649
20650 found_py=$found
20651 if test "$found_py" = "1"; then
20652
20653 # Ubuntu has swig 2.0 as /usr/bin/swig2.0
20654 for ac_prog in swig swig2.0
20655 do
20656 # Extract the first word of "$ac_prog", so it can be a program name with args.
20657 set dummy $ac_prog; ac_word=$2
20658 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
20659 printf %s "checking for $ac_word... " >&6; }
20660 if test ${ac_cv_path_SWIG+y}
20661 then :
20662 printf %s "(cached) " >&6
20663 else $as_nop
20664 case $SWIG in
20665 [\\/]* | ?:[\\/]*)
20666 ac_cv_path_SWIG="$SWIG" # Let the user override the test with a path.
20667 ;;
20668 *)
20669 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
20670 for as_dir in $PATH
20671 do
20672 IFS=$as_save_IFS
20673 case $as_dir in #(((
20674 '') as_dir=./ ;;
20675 */) ;;
20676 *) as_dir=$as_dir/ ;;
20677 esac
20678 for ac_exec_ext in '' $ac_executable_extensions; do
20679 if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
20680 ac_cv_path_SWIG="$as_dir$ac_word$ac_exec_ext"
20681 printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
20682 break 2
20683 fi
20684 done
20685 done
20686 IFS=$as_save_IFS
20687
20688 ;;
20689 esac
20690 fi
20691 SWIG=$ac_cv_path_SWIG
20692 if test -n "$SWIG"; then
20693 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $SWIG" >&5
20694 printf "%s\n" "$SWIG" >&6; }
20695 else
20696 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
20697 printf "%s\n" "no" >&6; }
20698 fi
20699
20700
20701 test -n "$SWIG" && break
20702 done
20703
20704 if test -z "$SWIG" ; then
20705 :
20706 elif test -n "" ; then
20707 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking SWIG version" >&5
20708 printf %s "checking SWIG version... " >&6; }
20709 swig_version=`$SWIG -version 2>&1 | grep 'SWIG Version' | sed 's/.*\([0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\).*/\1/g'`
20710 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $swig_version" >&5
20711 printf "%s\n" "$swig_version" >&6; }
20712 if test -n "$swig_version" ; then
20713 # Calculate the required version number components
20714 required=
20715 required_major=`echo $required | sed 's/[^0-9].*//'`
20716 if test -z "$required_major" ; then
20717 required_major=0
20718 fi
20719 required=`echo $required | sed 's/[0-9]*[^0-9]//'`
20720 required_minor=`echo $required | sed 's/[^0-9].*//'`
20721 if test -z "$required_minor" ; then
20722 required_minor=0
20723 fi
20724 required=`echo $required | sed 's/[0-9]*[^0-9]//'`
20725 required_patch=`echo $required | sed 's/[^0-9].*//'`
20726 if test -z "$required_patch" ; then
20727 required_patch=0
20728 fi
20729 # Calculate the available version number components
20730 available=$swig_version
20731 available_major=`echo $available | sed 's/[^0-9].*//'`
20732 if test -z "$available_major" ; then
20733 available_major=0
20734 fi
20735 available=`echo $available | sed 's/[0-9]*[^0-9]//'`
20736 available_minor=`echo $available | sed 's/[^0-9].*//'`
20737 if test -z "$available_minor" ; then
20738 available_minor=0
20739 fi
20740 available=`echo $available | sed 's/[0-9]*[^0-9]//'`
20741 available_patch=`echo $available | sed 's/[^0-9].*//'`
20742 if test -z "$available_patch" ; then
20743 available_patch=0
20744 fi
20745 # Convert the version tuple into a single number for easier comparison.
20746 # Using base 100 should be safe since SWIG internally uses BCD values
20747 # to encode its version number.
20748 required_swig_vernum=`expr $required_major \* 10000 \
20749 \+ $required_minor \* 100 \+ $required_patch`
20750 available_swig_vernum=`expr $available_major \* 10000 \
20751 \+ $available_minor \* 100 \+ $available_patch`
20752
20753 if test $available_swig_vernum -lt $required_swig_vernum; then
20754 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: SWIG version >= is required. You have $swig_version." >&5
20755 printf "%s\n" "$as_me: WARNING: SWIG version >= is required. You have $swig_version." >&2;}
20756 SWIG=''
20757
20758 else
20759 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for SWIG library" >&5
20760 printf %s "checking for SWIG library... " >&6; }
20761 SWIG_LIB=`$SWIG -swiglib`
20762 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $SWIG_LIB" >&5
20763 printf "%s\n" "$SWIG_LIB" >&6; }
20764
20765 fi
20766 else
20767 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cannot determine SWIG version" >&5
20768 printf "%s\n" "$as_me: WARNING: cannot determine SWIG version" >&2;}
20769 SWIG=''
20770
20771 fi
20772 fi
20773
20774
20775 if test -z "$SWIG"; then
20776 if test "$explicit_languages" = "1"; then
20777 as_fn_error $? "
20778 ***
20779 *** You need SWIG to build the Python bindings.
20780 ***" "$LINENO" 5
20781 else
20782 enabled_languages=$(echo $enabled_languages | sed 's/python//')
20783 fi
20784 else
20785 # Reset the version collecting vars.
20786 PYTHONS=
20787 PYTHON_VERSIONS=
20788
20789 if test "$found_py" = "1" -o "$found_py3" = "1"; then
20790 # Reset everything, so that we can look for another Python.
20791 unset PYTHON
20792 unset PYTHON_VERSION
20793 unset PYTHON_CPPFLAGS
20794 unset PYTHON_LDFLAGS
20795 unset PYTHON_SITE_PKG
20796 unset PYTHON_EXTRA_LIBS
20797 unset PYTHON_EXTRA_LDFLAGS
20798 unset ac_cv_path_PYTHON
20799 unset am_cv_pathless_PYTHON
20800 unset am_cv_python_version
20801 unset am_cv_python_platform
20802 unset am_cv_python_pythondir
20803 unset am_cv_python_pyexecdir
20804
20805
20806
20807
20808
20809
20810 if test -n "$PYTHON"; then
20811 # If the user set $PYTHON, use it and don't search something else.
20812 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $PYTHON version is >= 2.7" >&5
20813 printf %s "checking whether $PYTHON version is >= 2.7... " >&6; }
20814 prog="import sys
20815 # split strings by '.' and convert to numeric. Append some zeros
20816 # because we need at least 4 digits for the hex conversion.
20817 # map returns an iterator in Python 3.0 and a list in 2.x
20818 minver = list(map(int, '2.7'.split('.'))) + [0, 0, 0]
20819 minverhex = 0
20820 # xrange is not present in Python 3.0 and range returns an iterator
20821 for i in list(range(0, 4)): minverhex = (minverhex << 8) + minver[i]
20822 sys.exit(sys.hexversion < minverhex)"
20823 if { echo "$as_me:$LINENO: $PYTHON -c "$prog"" >&5
20824 ($PYTHON -c "$prog") >&5 2>&5
20825 ac_status=$?
20826 echo "$as_me:$LINENO: \$? = $ac_status" >&5
20827 (exit $ac_status); }
20828 then :
20829 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
20830 printf "%s\n" "yes" >&6; }
20831 else $as_nop
20832 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
20833 printf "%s\n" "no" >&6; }
20834 as_fn_error $? "Python interpreter is too old" "$LINENO" 5
20835 fi
20836 am_display_PYTHON=$PYTHON
20837 else
20838 # Otherwise, try each interpreter until we find one that satisfies
20839 # VERSION.
20840 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a Python interpreter with version >= 2.7" >&5
20841 printf %s "checking for a Python interpreter with version >= 2.7... " >&6; }
20842 if test ${am_cv_pathless_PYTHON+y}
20843 then :
20844 printf %s "(cached) " >&6
20845 else $as_nop
20846
20847 for am_cv_pathless_PYTHON in python2.7 none; do
20848 test "$am_cv_pathless_PYTHON" = none && break
20849 prog="import sys
20850 # split strings by '.' and convert to numeric. Append some zeros
20851 # because we need at least 4 digits for the hex conversion.
20852 # map returns an iterator in Python 3.0 and a list in 2.x
20853 minver = list(map(int, '2.7'.split('.'))) + [0, 0, 0]
20854 minverhex = 0
20855 # xrange is not present in Python 3.0 and range returns an iterator
20856 for i in list(range(0, 4)): minverhex = (minverhex << 8) + minver[i]
20857 sys.exit(sys.hexversion < minverhex)"
20858 if { echo "$as_me:$LINENO: $am_cv_pathless_PYTHON -c "$prog"" >&5
20859 ($am_cv_pathless_PYTHON -c "$prog") >&5 2>&5
20860 ac_status=$?
20861 echo "$as_me:$LINENO: \$? = $ac_status" >&5
20862 (exit $ac_status); }
20863 then :
20864 break
20865 fi
20866 done
20867 fi
20868 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_pathless_PYTHON" >&5
20869 printf "%s\n" "$am_cv_pathless_PYTHON" >&6; }
20870 # Set $PYTHON to the absolute path of $am_cv_pathless_PYTHON.
20871 if test "$am_cv_pathless_PYTHON" = none; then
20872 PYTHON=:
20873 else
20874 # Extract the first word of "$am_cv_pathless_PYTHON", so it can be a program name with args.
20875 set dummy $am_cv_pathless_PYTHON; ac_word=$2
20876 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
20877 printf %s "checking for $ac_word... " >&6; }
20878 if test ${ac_cv_path_PYTHON+y}
20879 then :
20880 printf %s "(cached) " >&6
20881 else $as_nop
20882 case $PYTHON in
20883 [\\/]* | ?:[\\/]*)
20884 ac_cv_path_PYTHON="$PYTHON" # Let the user override the test with a path.
20885 ;;
20886 *)
20887 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
20888 for as_dir in $PATH
20889 do
20890 IFS=$as_save_IFS
20891 case $as_dir in #(((
20892 '') as_dir=./ ;;
20893 */) ;;
20894 *) as_dir=$as_dir/ ;;
20895 esac
20896 for ac_exec_ext in '' $ac_executable_extensions; do
20897 if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
20898 ac_cv_path_PYTHON="$as_dir$ac_word$ac_exec_ext"
20899 printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
20900 break 2
20901 fi
20902 done
20903 done
20904 IFS=$as_save_IFS
20905
20906 ;;
20907 esac
20908 fi
20909 PYTHON=$ac_cv_path_PYTHON
20910 if test -n "$PYTHON"; then
20911 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHON" >&5
20912 printf "%s\n" "$PYTHON" >&6; }
20913 else
20914 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
20915 printf "%s\n" "no" >&6; }
20916 fi
20917
20918
20919 fi
20920 am_display_PYTHON=$am_cv_pathless_PYTHON
20921 fi
20922
20923
20924 if test "$PYTHON" = :; then
20925 :
20926 else
20927
20928
20929 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON version" >&5
20930 printf %s "checking for $am_display_PYTHON version... " >&6; }
20931 if test ${am_cv_python_version+y}
20932 then :
20933 printf %s "(cached) " >&6
20934 else $as_nop
20935 am_cv_python_version=`$PYTHON -c "import sys; sys.stdout.write(sys.version[:3])"`
20936 fi
20937 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_version" >&5
20938 printf "%s\n" "$am_cv_python_version" >&6; }
20939 PYTHON_VERSION=$am_cv_python_version
20940
20941
20942
20943 PYTHON_PREFIX='${prefix}'
20944
20945 PYTHON_EXEC_PREFIX='${exec_prefix}'
20946
20947
20948
20949 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON platform" >&5
20950 printf %s "checking for $am_display_PYTHON platform... " >&6; }
20951 if test ${am_cv_python_platform+y}
20952 then :
20953 printf %s "(cached) " >&6
20954 else $as_nop
20955 am_cv_python_platform=`$PYTHON -c "import sys; sys.stdout.write(sys.platform)"`
20956 fi
20957 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_platform" >&5
20958 printf "%s\n" "$am_cv_python_platform" >&6; }
20959 PYTHON_PLATFORM=$am_cv_python_platform
20960
20961
20962 # Just factor out some code duplication.
20963 am_python_setup_sysconfig="\
20964 import sys
20965 # Prefer sysconfig over distutils.sysconfig, for better compatibility
20966 # with python 3.x. See automake bug#10227.
20967 try:
20968 import sysconfig
20969 except ImportError:
20970 can_use_sysconfig = 0
20971 else:
20972 can_use_sysconfig = 1
20973 # Can't use sysconfig in CPython 2.7, since it's broken in virtualenvs:
20974 # <https://github.com/pypa/virtualenv/issues/118>
20975 try:
20976 from platform import python_implementation
20977 if python_implementation() == 'CPython' and sys.version[:3] == '2.7':
20978 can_use_sysconfig = 0
20979 except ImportError:
20980 pass"
20981
20982
20983 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON script directory" >&5
20984 printf %s "checking for $am_display_PYTHON script directory... " >&6; }
20985 if test ${am_cv_python_pythondir+y}
20986 then :
20987 printf %s "(cached) " >&6
20988 else $as_nop
20989 if test "x$prefix" = xNONE
20990 then
20991 am_py_prefix=$ac_default_prefix
20992 else
20993 am_py_prefix=$prefix
20994 fi
20995 am_cv_python_pythondir=`$PYTHON -c "
20996 $am_python_setup_sysconfig
20997 if can_use_sysconfig:
20998 sitedir = sysconfig.get_path('purelib', vars={'base':'$am_py_prefix'})
20999 else:
21000 from distutils import sysconfig
21001 sitedir = sysconfig.get_python_lib(0, 0, prefix='$am_py_prefix')
21002 sys.stdout.write(sitedir)"`
21003 case $am_cv_python_pythondir in
21004 $am_py_prefix*)
21005 am__strip_prefix=`echo "$am_py_prefix" | sed 's|.|.|g'`
21006 am_cv_python_pythondir=`echo "$am_cv_python_pythondir" | sed "s,^$am__strip_prefix,$PYTHON_PREFIX,"`
21007 ;;
21008 *)
21009 case $am_py_prefix in
21010 /usr|/System*) ;;
21011 *)
21012 am_cv_python_pythondir=$PYTHON_PREFIX/lib/python$PYTHON_VERSION/site-packages
21013 ;;
21014 esac
21015 ;;
21016 esac
21017
21018 fi
21019 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_pythondir" >&5
21020 printf "%s\n" "$am_cv_python_pythondir" >&6; }
21021 pythondir=$am_cv_python_pythondir
21022
21023
21024
21025 pkgpythondir=\${pythondir}/$PACKAGE
21026
21027
21028 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON extension module directory" >&5
21029 printf %s "checking for $am_display_PYTHON extension module directory... " >&6; }
21030 if test ${am_cv_python_pyexecdir+y}
21031 then :
21032 printf %s "(cached) " >&6
21033 else $as_nop
21034 if test "x$exec_prefix" = xNONE
21035 then
21036 am_py_exec_prefix=$am_py_prefix
21037 else
21038 am_py_exec_prefix=$exec_prefix
21039 fi
21040 am_cv_python_pyexecdir=`$PYTHON -c "
21041 $am_python_setup_sysconfig
21042 if can_use_sysconfig:
21043 sitedir = sysconfig.get_path('platlib', vars={'platbase':'$am_py_prefix'})
21044 else:
21045 from distutils import sysconfig
21046 sitedir = sysconfig.get_python_lib(1, 0, prefix='$am_py_prefix')
21047 sys.stdout.write(sitedir)"`
21048 case $am_cv_python_pyexecdir in
21049 $am_py_exec_prefix*)
21050 am__strip_prefix=`echo "$am_py_exec_prefix" | sed 's|.|.|g'`
21051 am_cv_python_pyexecdir=`echo "$am_cv_python_pyexecdir" | sed "s,^$am__strip_prefix,$PYTHON_EXEC_PREFIX,"`
21052 ;;
21053 *)
21054 case $am_py_exec_prefix in
21055 /usr|/System*) ;;
21056 *)
21057 am_cv_python_pyexecdir=$PYTHON_EXEC_PREFIX/lib/python$PYTHON_VERSION/site-packages
21058 ;;
21059 esac
21060 ;;
21061 esac
21062
21063 fi
21064 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_pyexecdir" >&5
21065 printf "%s\n" "$am_cv_python_pyexecdir" >&6; }
21066 pyexecdir=$am_cv_python_pyexecdir
21067
21068
21069
21070 pkgpyexecdir=\${pyexecdir}/$PACKAGE
21071
21072
21073
21074
21075 #
21076 # Allow the use of a (user set) custom python version
21077 #
21078
21079
21080 # Extract the first word of "python[$PYTHON_VERSION]", so it can be a program name with args.
21081 set dummy python$PYTHON_VERSION; ac_word=$2
21082 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
21083 printf %s "checking for $ac_word... " >&6; }
21084 if test ${ac_cv_path_PYTHON+y}
21085 then :
21086 printf %s "(cached) " >&6
21087 else $as_nop
21088 case $PYTHON in
21089 [\\/]* | ?:[\\/]*)
21090 ac_cv_path_PYTHON="$PYTHON" # Let the user override the test with a path.
21091 ;;
21092 *)
21093 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
21094 for as_dir in $PATH
21095 do
21096 IFS=$as_save_IFS
21097 case $as_dir in #(((
21098 '') as_dir=./ ;;
21099 */) ;;
21100 *) as_dir=$as_dir/ ;;
21101 esac
21102 for ac_exec_ext in '' $ac_executable_extensions; do
21103 if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
21104 ac_cv_path_PYTHON="$as_dir$ac_word$ac_exec_ext"
21105 printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
21106 break 2
21107 fi
21108 done
21109 done
21110 IFS=$as_save_IFS
21111
21112 ;;
21113 esac
21114 fi
21115 PYTHON=$ac_cv_path_PYTHON
21116 if test -n "$PYTHON"; then
21117 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHON" >&5
21118 printf "%s\n" "$PYTHON" >&6; }
21119 else
21120 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
21121 printf "%s\n" "no" >&6; }
21122 fi
21123
21124
21125 if test -z "$PYTHON"; then
21126 as_fn_error $? "Cannot find python$PYTHON_VERSION in your system path" "$LINENO" 5
21127 PYTHON_VERSION=""
21128 fi
21129
21130 #
21131 # Check for a version of Python >= 2.1.0
21132 #
21133 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a version of Python >= '2.1.0'" >&5
21134 printf %s "checking for a version of Python >= '2.1.0'... " >&6; }
21135 ac_supports_python_ver=`$PYTHON -c "import sys; \
21136 ver = sys.version.split ()[0]; \
21137 print (ver >= '2.1.0')"`
21138 if test "$ac_supports_python_ver" != "True"; then
21139 if test -z "$PYTHON_NOVERSIONCHECK"; then
21140 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
21141 printf "%s\n" "no" >&6; }
21142 { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
21143 printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
21144 as_fn_error $? "
21145 This version of the AC_PYTHON_DEVEL macro
21146 doesn't work properly with versions of Python before
21147 2.1.0. You may need to re-run configure, setting the
21148 variables PYTHON_CPPFLAGS, PYTHON_LDFLAGS, PYTHON_SITE_PKG,
21149 PYTHON_EXTRA_LIBS and PYTHON_EXTRA_LDFLAGS by hand.
21150 Moreover, to disable this check, set PYTHON_NOVERSIONCHECK
21151 to something else than an empty string.
21152
21153 See \`config.log' for more details" "$LINENO" 5; }
21154 else
21155 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: skip at user request" >&5
21156 printf "%s\n" "skip at user request" >&6; }
21157 fi
21158 else
21159 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
21160 printf "%s\n" "yes" >&6; }
21161 fi
21162
21163 #
21164 # if the macro parameter ``version'' is set, honour it
21165 #
21166 if test -n ""; then
21167 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a version of Python " >&5
21168 printf %s "checking for a version of Python ... " >&6; }
21169 ac_supports_python_ver=`$PYTHON -c "import sys; \
21170 ver = sys.version.split ()[0]; \
21171 print (ver )"`
21172 if test "$ac_supports_python_ver" = "True"; then
21173 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
21174 printf "%s\n" "yes" >&6; }
21175 else
21176 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
21177 printf "%s\n" "no" >&6; }
21178 as_fn_error $? "this package requires Python .
21179 If you have it installed, but it isn't the default Python
21180 interpreter in your system path, please pass the PYTHON_VERSION
21181 variable to configure. See \`\`configure --help'' for reference.
21182 " "$LINENO" 5
21183 PYTHON_VERSION=""
21184 fi
21185 fi
21186
21187 #
21188 # Check if you have distutils, else fail
21189 #
21190 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for the distutils Python package" >&5
21191 printf %s "checking for the distutils Python package... " >&6; }
21192 ac_distutils_result=`$PYTHON -c "import distutils" 2>&1`
21193 if test -z "$ac_distutils_result"; then
21194 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
21195 printf "%s\n" "yes" >&6; }
21196 else
21197 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
21198 printf "%s\n" "no" >&6; }
21199 as_fn_error $? "cannot import Python module \"distutils\".
21200 Please check your Python installation. The error was:
21201 $ac_distutils_result" "$LINENO" 5
21202 PYTHON_VERSION=""
21203 fi
21204
21205 #
21206 # Check for Python include path
21207 #
21208 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Python include path" >&5
21209 printf %s "checking for Python include path... " >&6; }
21210 if test -z "$PYTHON_CPPFLAGS"; then
21211 python_path=`$PYTHON -c "import distutils.sysconfig; \
21212 print (distutils.sysconfig.get_python_inc ());"`
21213 plat_python_path=`$PYTHON -c "import distutils.sysconfig; \
21214 print (distutils.sysconfig.get_python_inc (plat_specific=1));"`
21215 if test -n "${python_path}"; then
21216 if test "${plat_python_path}" != "${python_path}"; then
21217 python_path="-I$python_path -I$plat_python_path"
21218 else
21219 python_path="-I$python_path"
21220 fi
21221 fi
21222 PYTHON_CPPFLAGS=$python_path
21223 fi
21224 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHON_CPPFLAGS" >&5
21225 printf "%s\n" "$PYTHON_CPPFLAGS" >&6; }
21226
21227
21228 #
21229 # Check for Python library path
21230 #
21231 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Python library path" >&5
21232 printf %s "checking for Python library path... " >&6; }
21233 if test -z "$PYTHON_LDFLAGS"; then
21234 # (makes two attempts to ensure we've got a version number
21235 # from the interpreter)
21236 ac_python_version=`cat<<EOD | $PYTHON -
21237
21238 # join all versioning strings, on some systems
21239 # major/minor numbers could be in different list elements
21240 from distutils.sysconfig import *
21241 e = get_config_var('VERSION')
21242 if e is not None:
21243 print(e)
21244 EOD`
21245
21246 if test -z "$ac_python_version"; then
21247 if test -n "$PYTHON_VERSION"; then
21248 ac_python_version=$PYTHON_VERSION
21249 else
21250 ac_python_version=`$PYTHON -c "import sys; \
21251 print (sys.version[:3])"`
21252 fi
21253 fi
21254
21255 # Make the versioning information available to the compiler
21256
21257 # JW: We don't need it and it interferes with the hack
21258 # to detect multiple Pyhton versions
21259 #AC_DEFINE_UNQUOTED([HAVE_PYTHON], ["$ac_python_version"],
21260 # [If available, contains the Python version number currently in use.])
21261
21262 # First, the library directory:
21263 ac_python_libdir=`cat<<EOD | $PYTHON -
21264
21265 # There should be only one
21266 import distutils.sysconfig
21267 e = distutils.sysconfig.get_config_var('LIBDIR')
21268 if e is not None:
21269 print (e)
21270 EOD`
21271
21272 # Now, for the library:
21273 ac_python_library=`cat<<EOD | $PYTHON -
21274
21275 import distutils.sysconfig
21276 c = distutils.sysconfig.get_config_vars()
21277 if 'LDVERSION' in c:
21278 print ('python'+c['LDVERSION'])
21279 else:
21280 print ('python'+c['VERSION'])
21281 EOD`
21282
21283 # This small piece shamelessly adapted from PostgreSQL python macro;
21284 # credits goes to momjian, I think. I'd like to put the right name
21285 # in the credits, if someone can point me in the right direction... ?
21286 #
21287 if test -n "$ac_python_libdir" -a -n "$ac_python_library"
21288 then
21289 # use the official shared library
21290 ac_python_library=`echo "$ac_python_library" | sed "s/^lib//"`
21291 PYTHON_LDFLAGS="-L$ac_python_libdir -l$ac_python_library"
21292 else
21293 # old way: use libpython from python_configdir
21294 ac_python_libdir=`$PYTHON -c \
21295 "from distutils.sysconfig import get_python_lib as f; \
21296 import os; \
21297 print (os.path.join(f(plat_specific=1, standard_lib=1), 'config'));"`
21298 PYTHON_LDFLAGS="-L$ac_python_libdir -lpython$ac_python_version"
21299 fi
21300
21301 if test -z "PYTHON_LDFLAGS"; then
21302 as_fn_error $? "
21303 Cannot determine location of your Python DSO. Please check it was installed with
21304 dynamic libraries enabled, or try setting PYTHON_LDFLAGS by hand.
21305 " "$LINENO" 5
21306 fi
21307 fi
21308 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHON_LDFLAGS" >&5
21309 printf "%s\n" "$PYTHON_LDFLAGS" >&6; }
21310
21311
21312 #
21313 # Check for site packages
21314 #
21315 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Python site-packages path" >&5
21316 printf %s "checking for Python site-packages path... " >&6; }
21317 if test -z "$PYTHON_SITE_PKG"; then
21318 PYTHON_SITE_PKG=`$PYTHON -c "import distutils.sysconfig; \
21319 print (distutils.sysconfig.get_python_lib(0,0));"`
21320 fi
21321 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHON_SITE_PKG" >&5
21322 printf "%s\n" "$PYTHON_SITE_PKG" >&6; }
21323
21324
21325 #
21326 # libraries which must be linked in when embedding
21327 #
21328 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking python extra libraries" >&5
21329 printf %s "checking python extra libraries... " >&6; }
21330 if test -z "$PYTHON_EXTRA_LIBS"; then
21331 PYTHON_EXTRA_LIBS=`$PYTHON -c "import distutils.sysconfig; \
21332 conf = distutils.sysconfig.get_config_var; \
21333 print (conf('LIBS') + ' ' + conf('SYSLIBS'))"`
21334 fi
21335 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHON_EXTRA_LIBS" >&5
21336 printf "%s\n" "$PYTHON_EXTRA_LIBS" >&6; }
21337
21338
21339 #
21340 # linking flags needed when embedding
21341 #
21342 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking python extra linking flags" >&5
21343 printf %s "checking python extra linking flags... " >&6; }
21344 if test -z "$PYTHON_EXTRA_LDFLAGS"; then
21345 PYTHON_EXTRA_LDFLAGS=`$PYTHON -c "import distutils.sysconfig; \
21346 conf = distutils.sysconfig.get_config_var; \
21347 print (conf('LINKFORSHARED'))"`
21348 fi
21349 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHON_EXTRA_LDFLAGS" >&5
21350 printf "%s\n" "$PYTHON_EXTRA_LDFLAGS" >&6; }
21351
21352
21353 #
21354 # final check to see if everything compiles alright
21355 #
21356 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking consistency of all components of python development environment" >&5
21357 printf %s "checking consistency of all components of python development environment... " >&6; }
21358 # save current global flags
21359 ac_save_LIBS="$LIBS"
21360 ac_save_CPPFLAGS="$CPPFLAGS"
21361 LIBS="$ac_save_LIBS $PYTHON_LDFLAGS $PYTHON_EXTRA_LDFLAGS $PYTHON_EXTRA_LIBS"
21362 CPPFLAGS="$ac_save_CPPFLAGS $PYTHON_CPPFLAGS"
21363 ac_ext=c
21364 ac_cpp='$CPP $CPPFLAGS'
21365 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
21366 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
21367 ac_compiler_gnu=$ac_cv_c_compiler_gnu
21368
21369 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
21370 /* end confdefs.h. */
21371
21372 #include <Python.h>
21373 int
21374 main (void)
21375 {
21376 Py_Initialize();
21377 ;
21378 return 0;
21379 }
21380
21381 _ACEOF
21382 if ac_fn_c_try_link "$LINENO"
21383 then :
21384 pythonexists=yes
21385 else $as_nop
21386 pythonexists=no
21387 fi
21388 rm -f core conftest.err conftest.$ac_objext conftest.beam \
21389 conftest$ac_exeext conftest.$ac_ext
21390 ac_ext=c
21391 ac_cpp='$CPP $CPPFLAGS'
21392 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
21393 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
21394 ac_compiler_gnu=$ac_cv_c_compiler_gnu
21395
21396 # turn back to default flags
21397 CPPFLAGS="$ac_save_CPPFLAGS"
21398 LIBS="$ac_save_LIBS"
21399
21400 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $pythonexists" >&5
21401 printf "%s\n" "$pythonexists" >&6; }
21402
21403 if test ! "x$pythonexists" = "xyes"; then
21404 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING:
21405 Could not link test program to Python. Maybe the main Python library has been
21406 installed in some non-standard library path. If so, pass it to configure,
21407 via the LDFLAGS environment variable.
21408 Example: ./configure LDFLAGS=\"-L/usr/non-standard-path/python/lib\"
21409 ============================================================================
21410 You probably have to install the development version of the Python package
21411 for your distribution. The exact name of this package varies among them.
21412 ============================================================================
21413 " >&5
21414 printf "%s\n" "$as_me: WARNING:
21415 Could not link test program to Python. Maybe the main Python library has been
21416 installed in some non-standard library path. If so, pass it to configure,
21417 via the LDFLAGS environment variable.
21418 Example: ./configure LDFLAGS=\"-L/usr/non-standard-path/python/lib\"
21419 ============================================================================
21420 You probably have to install the development version of the Python package
21421 for your distribution. The exact name of this package varies among them.
21422 ============================================================================
21423 " >&2;}
21424 PYTHON_VERSION=""
21425 fi
21426
21427 #
21428 # all done!
21429 #
21430
21431 if test "$PYTHON_VERSION"; then
21432 PYTHONS="$(echo $PYTHONS $PYTHON)"
21433 PYTHON_VERSIONS="$(echo $PYTHON_VERSIONS $PYTHON_VERSION)"
21434 fi
21435
21436 fi
21437
21438
21439 unset PYTHON
21440 unset PYTHON_VERSION
21441 unset PYTHON_CPPFLAGS
21442 unset PYTHON_LDFLAGS
21443 unset PYTHON_SITE_PKG
21444 unset PYTHON_EXTRA_LIBS
21445 unset PYTHON_EXTRA_LDFLAGS
21446 unset ac_cv_path_PYTHON
21447 unset am_cv_pathless_PYTHON
21448 unset am_cv_python_version
21449 unset am_cv_python_platform
21450 unset am_cv_python_pythondir
21451 unset am_cv_python_pyexecdir
21452
21453
21454
21455
21456
21457
21458 if test -n "$PYTHON"; then
21459 # If the user set $PYTHON, use it and don't search something else.
21460 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $PYTHON version is >= 3.4" >&5
21461 printf %s "checking whether $PYTHON version is >= 3.4... " >&6; }
21462 prog="import sys
21463 # split strings by '.' and convert to numeric. Append some zeros
21464 # because we need at least 4 digits for the hex conversion.
21465 # map returns an iterator in Python 3.0 and a list in 2.x
21466 minver = list(map(int, '3.4'.split('.'))) + [0, 0, 0]
21467 minverhex = 0
21468 # xrange is not present in Python 3.0 and range returns an iterator
21469 for i in list(range(0, 4)): minverhex = (minverhex << 8) + minver[i]
21470 sys.exit(sys.hexversion < minverhex)"
21471 if { echo "$as_me:$LINENO: $PYTHON -c "$prog"" >&5
21472 ($PYTHON -c "$prog") >&5 2>&5
21473 ac_status=$?
21474 echo "$as_me:$LINENO: \$? = $ac_status" >&5
21475 (exit $ac_status); }
21476 then :
21477 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
21478 printf "%s\n" "yes" >&6; }
21479 else $as_nop
21480 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
21481 printf "%s\n" "no" >&6; }
21482 as_fn_error $? "Python interpreter is too old" "$LINENO" 5
21483 fi
21484 am_display_PYTHON=$PYTHON
21485 else
21486 # Otherwise, try each interpreter until we find one that satisfies
21487 # VERSION.
21488 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a Python interpreter with version >= 3.4" >&5
21489 printf %s "checking for a Python interpreter with version >= 3.4... " >&6; }
21490 if test ${am_cv_pathless_PYTHON+y}
21491 then :
21492 printf %s "(cached) " >&6
21493 else $as_nop
21494
21495 for am_cv_pathless_PYTHON in python3.4 none; do
21496 test "$am_cv_pathless_PYTHON" = none && break
21497 prog="import sys
21498 # split strings by '.' and convert to numeric. Append some zeros
21499 # because we need at least 4 digits for the hex conversion.
21500 # map returns an iterator in Python 3.0 and a list in 2.x
21501 minver = list(map(int, '3.4'.split('.'))) + [0, 0, 0]
21502 minverhex = 0
21503 # xrange is not present in Python 3.0 and range returns an iterator
21504 for i in list(range(0, 4)): minverhex = (minverhex << 8) + minver[i]
21505 sys.exit(sys.hexversion < minverhex)"
21506 if { echo "$as_me:$LINENO: $am_cv_pathless_PYTHON -c "$prog"" >&5
21507 ($am_cv_pathless_PYTHON -c "$prog") >&5 2>&5
21508 ac_status=$?
21509 echo "$as_me:$LINENO: \$? = $ac_status" >&5
21510 (exit $ac_status); }
21511 then :
21512 break
21513 fi
21514 done
21515 fi
21516 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_pathless_PYTHON" >&5
21517 printf "%s\n" "$am_cv_pathless_PYTHON" >&6; }
21518 # Set $PYTHON to the absolute path of $am_cv_pathless_PYTHON.
21519 if test "$am_cv_pathless_PYTHON" = none; then
21520 PYTHON=:
21521 else
21522 # Extract the first word of "$am_cv_pathless_PYTHON", so it can be a program name with args.
21523 set dummy $am_cv_pathless_PYTHON; ac_word=$2
21524 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
21525 printf %s "checking for $ac_word... " >&6; }
21526 if test ${ac_cv_path_PYTHON+y}
21527 then :
21528 printf %s "(cached) " >&6
21529 else $as_nop
21530 case $PYTHON in
21531 [\\/]* | ?:[\\/]*)
21532 ac_cv_path_PYTHON="$PYTHON" # Let the user override the test with a path.
21533 ;;
21534 *)
21535 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
21536 for as_dir in $PATH
21537 do
21538 IFS=$as_save_IFS
21539 case $as_dir in #(((
21540 '') as_dir=./ ;;
21541 */) ;;
21542 *) as_dir=$as_dir/ ;;
21543 esac
21544 for ac_exec_ext in '' $ac_executable_extensions; do
21545 if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
21546 ac_cv_path_PYTHON="$as_dir$ac_word$ac_exec_ext"
21547 printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
21548 break 2
21549 fi
21550 done
21551 done
21552 IFS=$as_save_IFS
21553
21554 ;;
21555 esac
21556 fi
21557 PYTHON=$ac_cv_path_PYTHON
21558 if test -n "$PYTHON"; then
21559 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHON" >&5
21560 printf "%s\n" "$PYTHON" >&6; }
21561 else
21562 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
21563 printf "%s\n" "no" >&6; }
21564 fi
21565
21566
21567 fi
21568 am_display_PYTHON=$am_cv_pathless_PYTHON
21569 fi
21570
21571
21572 if test "$PYTHON" = :; then
21573 :
21574 else
21575
21576
21577 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON version" >&5
21578 printf %s "checking for $am_display_PYTHON version... " >&6; }
21579 if test ${am_cv_python_version+y}
21580 then :
21581 printf %s "(cached) " >&6
21582 else $as_nop
21583 am_cv_python_version=`$PYTHON -c "import sys; sys.stdout.write(sys.version[:3])"`
21584 fi
21585 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_version" >&5
21586 printf "%s\n" "$am_cv_python_version" >&6; }
21587 PYTHON_VERSION=$am_cv_python_version
21588
21589
21590
21591 PYTHON_PREFIX='${prefix}'
21592
21593 PYTHON_EXEC_PREFIX='${exec_prefix}'
21594
21595
21596
21597 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON platform" >&5
21598 printf %s "checking for $am_display_PYTHON platform... " >&6; }
21599 if test ${am_cv_python_platform+y}
21600 then :
21601 printf %s "(cached) " >&6
21602 else $as_nop
21603 am_cv_python_platform=`$PYTHON -c "import sys; sys.stdout.write(sys.platform)"`
21604 fi
21605 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_platform" >&5
21606 printf "%s\n" "$am_cv_python_platform" >&6; }
21607 PYTHON_PLATFORM=$am_cv_python_platform
21608
21609
21610 # Just factor out some code duplication.
21611 am_python_setup_sysconfig="\
21612 import sys
21613 # Prefer sysconfig over distutils.sysconfig, for better compatibility
21614 # with python 3.x. See automake bug#10227.
21615 try:
21616 import sysconfig
21617 except ImportError:
21618 can_use_sysconfig = 0
21619 else:
21620 can_use_sysconfig = 1
21621 # Can't use sysconfig in CPython 2.7, since it's broken in virtualenvs:
21622 # <https://github.com/pypa/virtualenv/issues/118>
21623 try:
21624 from platform import python_implementation
21625 if python_implementation() == 'CPython' and sys.version[:3] == '2.7':
21626 can_use_sysconfig = 0
21627 except ImportError:
21628 pass"
21629
21630
21631 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON script directory" >&5
21632 printf %s "checking for $am_display_PYTHON script directory... " >&6; }
21633 if test ${am_cv_python_pythondir+y}
21634 then :
21635 printf %s "(cached) " >&6
21636 else $as_nop
21637 if test "x$prefix" = xNONE
21638 then
21639 am_py_prefix=$ac_default_prefix
21640 else
21641 am_py_prefix=$prefix
21642 fi
21643 am_cv_python_pythondir=`$PYTHON -c "
21644 $am_python_setup_sysconfig
21645 if can_use_sysconfig:
21646 sitedir = sysconfig.get_path('purelib', vars={'base':'$am_py_prefix'})
21647 else:
21648 from distutils import sysconfig
21649 sitedir = sysconfig.get_python_lib(0, 0, prefix='$am_py_prefix')
21650 sys.stdout.write(sitedir)"`
21651 case $am_cv_python_pythondir in
21652 $am_py_prefix*)
21653 am__strip_prefix=`echo "$am_py_prefix" | sed 's|.|.|g'`
21654 am_cv_python_pythondir=`echo "$am_cv_python_pythondir" | sed "s,^$am__strip_prefix,$PYTHON_PREFIX,"`
21655 ;;
21656 *)
21657 case $am_py_prefix in
21658 /usr|/System*) ;;
21659 *)
21660 am_cv_python_pythondir=$PYTHON_PREFIX/lib/python$PYTHON_VERSION/site-packages
21661 ;;
21662 esac
21663 ;;
21664 esac
21665
21666 fi
21667 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_pythondir" >&5
21668 printf "%s\n" "$am_cv_python_pythondir" >&6; }
21669 pythondir=$am_cv_python_pythondir
21670
21671
21672
21673 pkgpythondir=\${pythondir}/$PACKAGE
21674
21675
21676 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON extension module directory" >&5
21677 printf %s "checking for $am_display_PYTHON extension module directory... " >&6; }
21678 if test ${am_cv_python_pyexecdir+y}
21679 then :
21680 printf %s "(cached) " >&6
21681 else $as_nop
21682 if test "x$exec_prefix" = xNONE
21683 then
21684 am_py_exec_prefix=$am_py_prefix
21685 else
21686 am_py_exec_prefix=$exec_prefix
21687 fi
21688 am_cv_python_pyexecdir=`$PYTHON -c "
21689 $am_python_setup_sysconfig
21690 if can_use_sysconfig:
21691 sitedir = sysconfig.get_path('platlib', vars={'platbase':'$am_py_prefix'})
21692 else:
21693 from distutils import sysconfig
21694 sitedir = sysconfig.get_python_lib(1, 0, prefix='$am_py_prefix')
21695 sys.stdout.write(sitedir)"`
21696 case $am_cv_python_pyexecdir in
21697 $am_py_exec_prefix*)
21698 am__strip_prefix=`echo "$am_py_exec_prefix" | sed 's|.|.|g'`
21699 am_cv_python_pyexecdir=`echo "$am_cv_python_pyexecdir" | sed "s,^$am__strip_prefix,$PYTHON_EXEC_PREFIX,"`
21700 ;;
21701 *)
21702 case $am_py_exec_prefix in
21703 /usr|/System*) ;;
21704 *)
21705 am_cv_python_pyexecdir=$PYTHON_EXEC_PREFIX/lib/python$PYTHON_VERSION/site-packages
21706 ;;
21707 esac
21708 ;;
21709 esac
21710
21711 fi
21712 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_pyexecdir" >&5
21713 printf "%s\n" "$am_cv_python_pyexecdir" >&6; }
21714 pyexecdir=$am_cv_python_pyexecdir
21715
21716
21717
21718 pkgpyexecdir=\${pyexecdir}/$PACKAGE
21719
21720
21721
21722
21723 #
21724 # Allow the use of a (user set) custom python version
21725 #
21726
21727
21728 # Extract the first word of "python[$PYTHON_VERSION]", so it can be a program name with args.
21729 set dummy python$PYTHON_VERSION; ac_word=$2
21730 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
21731 printf %s "checking for $ac_word... " >&6; }
21732 if test ${ac_cv_path_PYTHON+y}
21733 then :
21734 printf %s "(cached) " >&6
21735 else $as_nop
21736 case $PYTHON in
21737 [\\/]* | ?:[\\/]*)
21738 ac_cv_path_PYTHON="$PYTHON" # Let the user override the test with a path.
21739 ;;
21740 *)
21741 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
21742 for as_dir in $PATH
21743 do
21744 IFS=$as_save_IFS
21745 case $as_dir in #(((
21746 '') as_dir=./ ;;
21747 */) ;;
21748 *) as_dir=$as_dir/ ;;
21749 esac
21750 for ac_exec_ext in '' $ac_executable_extensions; do
21751 if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
21752 ac_cv_path_PYTHON="$as_dir$ac_word$ac_exec_ext"
21753 printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
21754 break 2
21755 fi
21756 done
21757 done
21758 IFS=$as_save_IFS
21759
21760 ;;
21761 esac
21762 fi
21763 PYTHON=$ac_cv_path_PYTHON
21764 if test -n "$PYTHON"; then
21765 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHON" >&5
21766 printf "%s\n" "$PYTHON" >&6; }
21767 else
21768 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
21769 printf "%s\n" "no" >&6; }
21770 fi
21771
21772
21773 if test -z "$PYTHON"; then
21774 as_fn_error $? "Cannot find python$PYTHON_VERSION in your system path" "$LINENO" 5
21775 PYTHON_VERSION=""
21776 fi
21777
21778 #
21779 # Check for a version of Python >= 2.1.0
21780 #
21781 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a version of Python >= '2.1.0'" >&5
21782 printf %s "checking for a version of Python >= '2.1.0'... " >&6; }
21783 ac_supports_python_ver=`$PYTHON -c "import sys; \
21784 ver = sys.version.split ()[0]; \
21785 print (ver >= '2.1.0')"`
21786 if test "$ac_supports_python_ver" != "True"; then
21787 if test -z "$PYTHON_NOVERSIONCHECK"; then
21788 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
21789 printf "%s\n" "no" >&6; }
21790 { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
21791 printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
21792 as_fn_error $? "
21793 This version of the AC_PYTHON_DEVEL macro
21794 doesn't work properly with versions of Python before
21795 2.1.0. You may need to re-run configure, setting the
21796 variables PYTHON_CPPFLAGS, PYTHON_LDFLAGS, PYTHON_SITE_PKG,
21797 PYTHON_EXTRA_LIBS and PYTHON_EXTRA_LDFLAGS by hand.
21798 Moreover, to disable this check, set PYTHON_NOVERSIONCHECK
21799 to something else than an empty string.
21800
21801 See \`config.log' for more details" "$LINENO" 5; }
21802 else
21803 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: skip at user request" >&5
21804 printf "%s\n" "skip at user request" >&6; }
21805 fi
21806 else
21807 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
21808 printf "%s\n" "yes" >&6; }
21809 fi
21810
21811 #
21812 # if the macro parameter ``version'' is set, honour it
21813 #
21814 if test -n ""; then
21815 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a version of Python " >&5
21816 printf %s "checking for a version of Python ... " >&6; }
21817 ac_supports_python_ver=`$PYTHON -c "import sys; \
21818 ver = sys.version.split ()[0]; \
21819 print (ver )"`
21820 if test "$ac_supports_python_ver" = "True"; then
21821 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
21822 printf "%s\n" "yes" >&6; }
21823 else
21824 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
21825 printf "%s\n" "no" >&6; }
21826 as_fn_error $? "this package requires Python .
21827 If you have it installed, but it isn't the default Python
21828 interpreter in your system path, please pass the PYTHON_VERSION
21829 variable to configure. See \`\`configure --help'' for reference.
21830 " "$LINENO" 5
21831 PYTHON_VERSION=""
21832 fi
21833 fi
21834
21835 #
21836 # Check if you have distutils, else fail
21837 #
21838 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for the distutils Python package" >&5
21839 printf %s "checking for the distutils Python package... " >&6; }
21840 ac_distutils_result=`$PYTHON -c "import distutils" 2>&1`
21841 if test -z "$ac_distutils_result"; then
21842 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
21843 printf "%s\n" "yes" >&6; }
21844 else
21845 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
21846 printf "%s\n" "no" >&6; }
21847 as_fn_error $? "cannot import Python module \"distutils\".
21848 Please check your Python installation. The error was:
21849 $ac_distutils_result" "$LINENO" 5
21850 PYTHON_VERSION=""
21851 fi
21852
21853 #
21854 # Check for Python include path
21855 #
21856 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Python include path" >&5
21857 printf %s "checking for Python include path... " >&6; }
21858 if test -z "$PYTHON_CPPFLAGS"; then
21859 python_path=`$PYTHON -c "import distutils.sysconfig; \
21860 print (distutils.sysconfig.get_python_inc ());"`
21861 plat_python_path=`$PYTHON -c "import distutils.sysconfig; \
21862 print (distutils.sysconfig.get_python_inc (plat_specific=1));"`
21863 if test -n "${python_path}"; then
21864 if test "${plat_python_path}" != "${python_path}"; then
21865 python_path="-I$python_path -I$plat_python_path"
21866 else
21867 python_path="-I$python_path"
21868 fi
21869 fi
21870 PYTHON_CPPFLAGS=$python_path
21871 fi
21872 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHON_CPPFLAGS" >&5
21873 printf "%s\n" "$PYTHON_CPPFLAGS" >&6; }
21874
21875
21876 #
21877 # Check for Python library path
21878 #
21879 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Python library path" >&5
21880 printf %s "checking for Python library path... " >&6; }
21881 if test -z "$PYTHON_LDFLAGS"; then
21882 # (makes two attempts to ensure we've got a version number
21883 # from the interpreter)
21884 ac_python_version=`cat<<EOD | $PYTHON -
21885
21886 # join all versioning strings, on some systems
21887 # major/minor numbers could be in different list elements
21888 from distutils.sysconfig import *
21889 e = get_config_var('VERSION')
21890 if e is not None:
21891 print(e)
21892 EOD`
21893
21894 if test -z "$ac_python_version"; then
21895 if test -n "$PYTHON_VERSION"; then
21896 ac_python_version=$PYTHON_VERSION
21897 else
21898 ac_python_version=`$PYTHON -c "import sys; \
21899 print (sys.version[:3])"`
21900 fi
21901 fi
21902
21903 # Make the versioning information available to the compiler
21904
21905 # JW: We don't need it and it interferes with the hack
21906 # to detect multiple Pyhton versions
21907 #AC_DEFINE_UNQUOTED([HAVE_PYTHON], ["$ac_python_version"],
21908 # [If available, contains the Python version number currently in use.])
21909
21910 # First, the library directory:
21911 ac_python_libdir=`cat<<EOD | $PYTHON -
21912
21913 # There should be only one
21914 import distutils.sysconfig
21915 e = distutils.sysconfig.get_config_var('LIBDIR')
21916 if e is not None:
21917 print (e)
21918 EOD`
21919
21920 # Now, for the library:
21921 ac_python_library=`cat<<EOD | $PYTHON -
21922
21923 import distutils.sysconfig
21924 c = distutils.sysconfig.get_config_vars()
21925 if 'LDVERSION' in c:
21926 print ('python'+c['LDVERSION'])
21927 else:
21928 print ('python'+c['VERSION'])
21929 EOD`
21930
21931 # This small piece shamelessly adapted from PostgreSQL python macro;
21932 # credits goes to momjian, I think. I'd like to put the right name
21933 # in the credits, if someone can point me in the right direction... ?
21934 #
21935 if test -n "$ac_python_libdir" -a -n "$ac_python_library"
21936 then
21937 # use the official shared library
21938 ac_python_library=`echo "$ac_python_library" | sed "s/^lib//"`
21939 PYTHON_LDFLAGS="-L$ac_python_libdir -l$ac_python_library"
21940 else
21941 # old way: use libpython from python_configdir
21942 ac_python_libdir=`$PYTHON -c \
21943 "from distutils.sysconfig import get_python_lib as f; \
21944 import os; \
21945 print (os.path.join(f(plat_specific=1, standard_lib=1), 'config'));"`
21946 PYTHON_LDFLAGS="-L$ac_python_libdir -lpython$ac_python_version"
21947 fi
21948
21949 if test -z "PYTHON_LDFLAGS"; then
21950 as_fn_error $? "
21951 Cannot determine location of your Python DSO. Please check it was installed with
21952 dynamic libraries enabled, or try setting PYTHON_LDFLAGS by hand.
21953 " "$LINENO" 5
21954 fi
21955 fi
21956 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHON_LDFLAGS" >&5
21957 printf "%s\n" "$PYTHON_LDFLAGS" >&6; }
21958
21959
21960 #
21961 # Check for site packages
21962 #
21963 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Python site-packages path" >&5
21964 printf %s "checking for Python site-packages path... " >&6; }
21965 if test -z "$PYTHON_SITE_PKG"; then
21966 PYTHON_SITE_PKG=`$PYTHON -c "import distutils.sysconfig; \
21967 print (distutils.sysconfig.get_python_lib(0,0));"`
21968 fi
21969 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHON_SITE_PKG" >&5
21970 printf "%s\n" "$PYTHON_SITE_PKG" >&6; }
21971
21972
21973 #
21974 # libraries which must be linked in when embedding
21975 #
21976 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking python extra libraries" >&5
21977 printf %s "checking python extra libraries... " >&6; }
21978 if test -z "$PYTHON_EXTRA_LIBS"; then
21979 PYTHON_EXTRA_LIBS=`$PYTHON -c "import distutils.sysconfig; \
21980 conf = distutils.sysconfig.get_config_var; \
21981 print (conf('LIBS') + ' ' + conf('SYSLIBS'))"`
21982 fi
21983 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHON_EXTRA_LIBS" >&5
21984 printf "%s\n" "$PYTHON_EXTRA_LIBS" >&6; }
21985
21986
21987 #
21988 # linking flags needed when embedding
21989 #
21990 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking python extra linking flags" >&5
21991 printf %s "checking python extra linking flags... " >&6; }
21992 if test -z "$PYTHON_EXTRA_LDFLAGS"; then
21993 PYTHON_EXTRA_LDFLAGS=`$PYTHON -c "import distutils.sysconfig; \
21994 conf = distutils.sysconfig.get_config_var; \
21995 print (conf('LINKFORSHARED'))"`
21996 fi
21997 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHON_EXTRA_LDFLAGS" >&5
21998 printf "%s\n" "$PYTHON_EXTRA_LDFLAGS" >&6; }
21999
22000
22001 #
22002 # final check to see if everything compiles alright
22003 #
22004 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking consistency of all components of python development environment" >&5
22005 printf %s "checking consistency of all components of python development environment... " >&6; }
22006 # save current global flags
22007 ac_save_LIBS="$LIBS"
22008 ac_save_CPPFLAGS="$CPPFLAGS"
22009 LIBS="$ac_save_LIBS $PYTHON_LDFLAGS $PYTHON_EXTRA_LDFLAGS $PYTHON_EXTRA_LIBS"
22010 CPPFLAGS="$ac_save_CPPFLAGS $PYTHON_CPPFLAGS"
22011 ac_ext=c
22012 ac_cpp='$CPP $CPPFLAGS'
22013 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
22014 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
22015 ac_compiler_gnu=$ac_cv_c_compiler_gnu
22016
22017 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
22018 /* end confdefs.h. */
22019
22020 #include <Python.h>
22021 int
22022 main (void)
22023 {
22024 Py_Initialize();
22025 ;
22026 return 0;
22027 }
22028
22029 _ACEOF
22030 if ac_fn_c_try_link "$LINENO"
22031 then :
22032 pythonexists=yes
22033 else $as_nop
22034 pythonexists=no
22035 fi
22036 rm -f core conftest.err conftest.$ac_objext conftest.beam \
22037 conftest$ac_exeext conftest.$ac_ext
22038 ac_ext=c
22039 ac_cpp='$CPP $CPPFLAGS'
22040 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
22041 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
22042 ac_compiler_gnu=$ac_cv_c_compiler_gnu
22043
22044 # turn back to default flags
22045 CPPFLAGS="$ac_save_CPPFLAGS"
22046 LIBS="$ac_save_LIBS"
22047
22048 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $pythonexists" >&5
22049 printf "%s\n" "$pythonexists" >&6; }
22050
22051 if test ! "x$pythonexists" = "xyes"; then
22052 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING:
22053 Could not link test program to Python. Maybe the main Python library has been
22054 installed in some non-standard library path. If so, pass it to configure,
22055 via the LDFLAGS environment variable.
22056 Example: ./configure LDFLAGS=\"-L/usr/non-standard-path/python/lib\"
22057 ============================================================================
22058 You probably have to install the development version of the Python package
22059 for your distribution. The exact name of this package varies among them.
22060 ============================================================================
22061 " >&5
22062 printf "%s\n" "$as_me: WARNING:
22063 Could not link test program to Python. Maybe the main Python library has been
22064 installed in some non-standard library path. If so, pass it to configure,
22065 via the LDFLAGS environment variable.
22066 Example: ./configure LDFLAGS=\"-L/usr/non-standard-path/python/lib\"
22067 ============================================================================
22068 You probably have to install the development version of the Python package
22069 for your distribution. The exact name of this package varies among them.
22070 ============================================================================
22071 " >&2;}
22072 PYTHON_VERSION=""
22073 fi
22074
22075 #
22076 # all done!
22077 #
22078
22079 if test "$PYTHON_VERSION"; then
22080 PYTHONS="$(echo $PYTHONS $PYTHON)"
22081 PYTHON_VERSIONS="$(echo $PYTHON_VERSIONS $PYTHON_VERSION)"
22082 fi
22083
22084 fi
22085
22086
22087 unset PYTHON
22088 unset PYTHON_VERSION
22089 unset PYTHON_CPPFLAGS
22090 unset PYTHON_LDFLAGS
22091 unset PYTHON_SITE_PKG
22092 unset PYTHON_EXTRA_LIBS
22093 unset PYTHON_EXTRA_LDFLAGS
22094 unset ac_cv_path_PYTHON
22095 unset am_cv_pathless_PYTHON
22096 unset am_cv_python_version
22097 unset am_cv_python_platform
22098 unset am_cv_python_pythondir
22099 unset am_cv_python_pyexecdir
22100
22101
22102
22103
22104
22105
22106 if test -n "$PYTHON"; then
22107 # If the user set $PYTHON, use it and don't search something else.
22108 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $PYTHON version is >= 3.5" >&5
22109 printf %s "checking whether $PYTHON version is >= 3.5... " >&6; }
22110 prog="import sys
22111 # split strings by '.' and convert to numeric. Append some zeros
22112 # because we need at least 4 digits for the hex conversion.
22113 # map returns an iterator in Python 3.0 and a list in 2.x
22114 minver = list(map(int, '3.5'.split('.'))) + [0, 0, 0]
22115 minverhex = 0
22116 # xrange is not present in Python 3.0 and range returns an iterator
22117 for i in list(range(0, 4)): minverhex = (minverhex << 8) + minver[i]
22118 sys.exit(sys.hexversion < minverhex)"
22119 if { echo "$as_me:$LINENO: $PYTHON -c "$prog"" >&5
22120 ($PYTHON -c "$prog") >&5 2>&5
22121 ac_status=$?
22122 echo "$as_me:$LINENO: \$? = $ac_status" >&5
22123 (exit $ac_status); }
22124 then :
22125 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
22126 printf "%s\n" "yes" >&6; }
22127 else $as_nop
22128 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
22129 printf "%s\n" "no" >&6; }
22130 as_fn_error $? "Python interpreter is too old" "$LINENO" 5
22131 fi
22132 am_display_PYTHON=$PYTHON
22133 else
22134 # Otherwise, try each interpreter until we find one that satisfies
22135 # VERSION.
22136 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a Python interpreter with version >= 3.5" >&5
22137 printf %s "checking for a Python interpreter with version >= 3.5... " >&6; }
22138 if test ${am_cv_pathless_PYTHON+y}
22139 then :
22140 printf %s "(cached) " >&6
22141 else $as_nop
22142
22143 for am_cv_pathless_PYTHON in python3.5 none; do
22144 test "$am_cv_pathless_PYTHON" = none && break
22145 prog="import sys
22146 # split strings by '.' and convert to numeric. Append some zeros
22147 # because we need at least 4 digits for the hex conversion.
22148 # map returns an iterator in Python 3.0 and a list in 2.x
22149 minver = list(map(int, '3.5'.split('.'))) + [0, 0, 0]
22150 minverhex = 0
22151 # xrange is not present in Python 3.0 and range returns an iterator
22152 for i in list(range(0, 4)): minverhex = (minverhex << 8) + minver[i]
22153 sys.exit(sys.hexversion < minverhex)"
22154 if { echo "$as_me:$LINENO: $am_cv_pathless_PYTHON -c "$prog"" >&5
22155 ($am_cv_pathless_PYTHON -c "$prog") >&5 2>&5
22156 ac_status=$?
22157 echo "$as_me:$LINENO: \$? = $ac_status" >&5
22158 (exit $ac_status); }
22159 then :
22160 break
22161 fi
22162 done
22163 fi
22164 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_pathless_PYTHON" >&5
22165 printf "%s\n" "$am_cv_pathless_PYTHON" >&6; }
22166 # Set $PYTHON to the absolute path of $am_cv_pathless_PYTHON.
22167 if test "$am_cv_pathless_PYTHON" = none; then
22168 PYTHON=:
22169 else
22170 # Extract the first word of "$am_cv_pathless_PYTHON", so it can be a program name with args.
22171 set dummy $am_cv_pathless_PYTHON; ac_word=$2
22172 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
22173 printf %s "checking for $ac_word... " >&6; }
22174 if test ${ac_cv_path_PYTHON+y}
22175 then :
22176 printf %s "(cached) " >&6
22177 else $as_nop
22178 case $PYTHON in
22179 [\\/]* | ?:[\\/]*)
22180 ac_cv_path_PYTHON="$PYTHON" # Let the user override the test with a path.
22181 ;;
22182 *)
22183 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
22184 for as_dir in $PATH
22185 do
22186 IFS=$as_save_IFS
22187 case $as_dir in #(((
22188 '') as_dir=./ ;;
22189 */) ;;
22190 *) as_dir=$as_dir/ ;;
22191 esac
22192 for ac_exec_ext in '' $ac_executable_extensions; do
22193 if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
22194 ac_cv_path_PYTHON="$as_dir$ac_word$ac_exec_ext"
22195 printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
22196 break 2
22197 fi
22198 done
22199 done
22200 IFS=$as_save_IFS
22201
22202 ;;
22203 esac
22204 fi
22205 PYTHON=$ac_cv_path_PYTHON
22206 if test -n "$PYTHON"; then
22207 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHON" >&5
22208 printf "%s\n" "$PYTHON" >&6; }
22209 else
22210 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
22211 printf "%s\n" "no" >&6; }
22212 fi
22213
22214
22215 fi
22216 am_display_PYTHON=$am_cv_pathless_PYTHON
22217 fi
22218
22219
22220 if test "$PYTHON" = :; then
22221 :
22222 else
22223
22224
22225 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON version" >&5
22226 printf %s "checking for $am_display_PYTHON version... " >&6; }
22227 if test ${am_cv_python_version+y}
22228 then :
22229 printf %s "(cached) " >&6
22230 else $as_nop
22231 am_cv_python_version=`$PYTHON -c "import sys; sys.stdout.write(sys.version[:3])"`
22232 fi
22233 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_version" >&5
22234 printf "%s\n" "$am_cv_python_version" >&6; }
22235 PYTHON_VERSION=$am_cv_python_version
22236
22237
22238
22239 PYTHON_PREFIX='${prefix}'
22240
22241 PYTHON_EXEC_PREFIX='${exec_prefix}'
22242
22243
22244
22245 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON platform" >&5
22246 printf %s "checking for $am_display_PYTHON platform... " >&6; }
22247 if test ${am_cv_python_platform+y}
22248 then :
22249 printf %s "(cached) " >&6
22250 else $as_nop
22251 am_cv_python_platform=`$PYTHON -c "import sys; sys.stdout.write(sys.platform)"`
22252 fi
22253 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_platform" >&5
22254 printf "%s\n" "$am_cv_python_platform" >&6; }
22255 PYTHON_PLATFORM=$am_cv_python_platform
22256
22257
22258 # Just factor out some code duplication.
22259 am_python_setup_sysconfig="\
22260 import sys
22261 # Prefer sysconfig over distutils.sysconfig, for better compatibility
22262 # with python 3.x. See automake bug#10227.
22263 try:
22264 import sysconfig
22265 except ImportError:
22266 can_use_sysconfig = 0
22267 else:
22268 can_use_sysconfig = 1
22269 # Can't use sysconfig in CPython 2.7, since it's broken in virtualenvs:
22270 # <https://github.com/pypa/virtualenv/issues/118>
22271 try:
22272 from platform import python_implementation
22273 if python_implementation() == 'CPython' and sys.version[:3] == '2.7':
22274 can_use_sysconfig = 0
22275 except ImportError:
22276 pass"
22277
22278
22279 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON script directory" >&5
22280 printf %s "checking for $am_display_PYTHON script directory... " >&6; }
22281 if test ${am_cv_python_pythondir+y}
22282 then :
22283 printf %s "(cached) " >&6
22284 else $as_nop
22285 if test "x$prefix" = xNONE
22286 then
22287 am_py_prefix=$ac_default_prefix
22288 else
22289 am_py_prefix=$prefix
22290 fi
22291 am_cv_python_pythondir=`$PYTHON -c "
22292 $am_python_setup_sysconfig
22293 if can_use_sysconfig:
22294 sitedir = sysconfig.get_path('purelib', vars={'base':'$am_py_prefix'})
22295 else:
22296 from distutils import sysconfig
22297 sitedir = sysconfig.get_python_lib(0, 0, prefix='$am_py_prefix')
22298 sys.stdout.write(sitedir)"`
22299 case $am_cv_python_pythondir in
22300 $am_py_prefix*)
22301 am__strip_prefix=`echo "$am_py_prefix" | sed 's|.|.|g'`
22302 am_cv_python_pythondir=`echo "$am_cv_python_pythondir" | sed "s,^$am__strip_prefix,$PYTHON_PREFIX,"`
22303 ;;
22304 *)
22305 case $am_py_prefix in
22306 /usr|/System*) ;;
22307 *)
22308 am_cv_python_pythondir=$PYTHON_PREFIX/lib/python$PYTHON_VERSION/site-packages
22309 ;;
22310 esac
22311 ;;
22312 esac
22313
22314 fi
22315 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_pythondir" >&5
22316 printf "%s\n" "$am_cv_python_pythondir" >&6; }
22317 pythondir=$am_cv_python_pythondir
22318
22319
22320
22321 pkgpythondir=\${pythondir}/$PACKAGE
22322
22323
22324 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON extension module directory" >&5
22325 printf %s "checking for $am_display_PYTHON extension module directory... " >&6; }
22326 if test ${am_cv_python_pyexecdir+y}
22327 then :
22328 printf %s "(cached) " >&6
22329 else $as_nop
22330 if test "x$exec_prefix" = xNONE
22331 then
22332 am_py_exec_prefix=$am_py_prefix
22333 else
22334 am_py_exec_prefix=$exec_prefix
22335 fi
22336 am_cv_python_pyexecdir=`$PYTHON -c "
22337 $am_python_setup_sysconfig
22338 if can_use_sysconfig:
22339 sitedir = sysconfig.get_path('platlib', vars={'platbase':'$am_py_prefix'})
22340 else:
22341 from distutils import sysconfig
22342 sitedir = sysconfig.get_python_lib(1, 0, prefix='$am_py_prefix')
22343 sys.stdout.write(sitedir)"`
22344 case $am_cv_python_pyexecdir in
22345 $am_py_exec_prefix*)
22346 am__strip_prefix=`echo "$am_py_exec_prefix" | sed 's|.|.|g'`
22347 am_cv_python_pyexecdir=`echo "$am_cv_python_pyexecdir" | sed "s,^$am__strip_prefix,$PYTHON_EXEC_PREFIX,"`
22348 ;;
22349 *)
22350 case $am_py_exec_prefix in
22351 /usr|/System*) ;;
22352 *)
22353 am_cv_python_pyexecdir=$PYTHON_EXEC_PREFIX/lib/python$PYTHON_VERSION/site-packages
22354 ;;
22355 esac
22356 ;;
22357 esac
22358
22359 fi
22360 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_pyexecdir" >&5
22361 printf "%s\n" "$am_cv_python_pyexecdir" >&6; }
22362 pyexecdir=$am_cv_python_pyexecdir
22363
22364
22365
22366 pkgpyexecdir=\${pyexecdir}/$PACKAGE
22367
22368
22369
22370
22371 #
22372 # Allow the use of a (user set) custom python version
22373 #
22374
22375
22376 # Extract the first word of "python[$PYTHON_VERSION]", so it can be a program name with args.
22377 set dummy python$PYTHON_VERSION; ac_word=$2
22378 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
22379 printf %s "checking for $ac_word... " >&6; }
22380 if test ${ac_cv_path_PYTHON+y}
22381 then :
22382 printf %s "(cached) " >&6
22383 else $as_nop
22384 case $PYTHON in
22385 [\\/]* | ?:[\\/]*)
22386 ac_cv_path_PYTHON="$PYTHON" # Let the user override the test with a path.
22387 ;;
22388 *)
22389 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
22390 for as_dir in $PATH
22391 do
22392 IFS=$as_save_IFS
22393 case $as_dir in #(((
22394 '') as_dir=./ ;;
22395 */) ;;
22396 *) as_dir=$as_dir/ ;;
22397 esac
22398 for ac_exec_ext in '' $ac_executable_extensions; do
22399 if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
22400 ac_cv_path_PYTHON="$as_dir$ac_word$ac_exec_ext"
22401 printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
22402 break 2
22403 fi
22404 done
22405 done
22406 IFS=$as_save_IFS
22407
22408 ;;
22409 esac
22410 fi
22411 PYTHON=$ac_cv_path_PYTHON
22412 if test -n "$PYTHON"; then
22413 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHON" >&5
22414 printf "%s\n" "$PYTHON" >&6; }
22415 else
22416 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
22417 printf "%s\n" "no" >&6; }
22418 fi
22419
22420
22421 if test -z "$PYTHON"; then
22422 as_fn_error $? "Cannot find python$PYTHON_VERSION in your system path" "$LINENO" 5
22423 PYTHON_VERSION=""
22424 fi
22425
22426 #
22427 # Check for a version of Python >= 2.1.0
22428 #
22429 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a version of Python >= '2.1.0'" >&5
22430 printf %s "checking for a version of Python >= '2.1.0'... " >&6; }
22431 ac_supports_python_ver=`$PYTHON -c "import sys; \
22432 ver = sys.version.split ()[0]; \
22433 print (ver >= '2.1.0')"`
22434 if test "$ac_supports_python_ver" != "True"; then
22435 if test -z "$PYTHON_NOVERSIONCHECK"; then
22436 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
22437 printf "%s\n" "no" >&6; }
22438 { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
22439 printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
22440 as_fn_error $? "
22441 This version of the AC_PYTHON_DEVEL macro
22442 doesn't work properly with versions of Python before
22443 2.1.0. You may need to re-run configure, setting the
22444 variables PYTHON_CPPFLAGS, PYTHON_LDFLAGS, PYTHON_SITE_PKG,
22445 PYTHON_EXTRA_LIBS and PYTHON_EXTRA_LDFLAGS by hand.
22446 Moreover, to disable this check, set PYTHON_NOVERSIONCHECK
22447 to something else than an empty string.
22448
22449 See \`config.log' for more details" "$LINENO" 5; }
22450 else
22451 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: skip at user request" >&5
22452 printf "%s\n" "skip at user request" >&6; }
22453 fi
22454 else
22455 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
22456 printf "%s\n" "yes" >&6; }
22457 fi
22458
22459 #
22460 # if the macro parameter ``version'' is set, honour it
22461 #
22462 if test -n ""; then
22463 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a version of Python " >&5
22464 printf %s "checking for a version of Python ... " >&6; }
22465 ac_supports_python_ver=`$PYTHON -c "import sys; \
22466 ver = sys.version.split ()[0]; \
22467 print (ver )"`
22468 if test "$ac_supports_python_ver" = "True"; then
22469 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
22470 printf "%s\n" "yes" >&6; }
22471 else
22472 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
22473 printf "%s\n" "no" >&6; }
22474 as_fn_error $? "this package requires Python .
22475 If you have it installed, but it isn't the default Python
22476 interpreter in your system path, please pass the PYTHON_VERSION
22477 variable to configure. See \`\`configure --help'' for reference.
22478 " "$LINENO" 5
22479 PYTHON_VERSION=""
22480 fi
22481 fi
22482
22483 #
22484 # Check if you have distutils, else fail
22485 #
22486 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for the distutils Python package" >&5
22487 printf %s "checking for the distutils Python package... " >&6; }
22488 ac_distutils_result=`$PYTHON -c "import distutils" 2>&1`
22489 if test -z "$ac_distutils_result"; then
22490 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
22491 printf "%s\n" "yes" >&6; }
22492 else
22493 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
22494 printf "%s\n" "no" >&6; }
22495 as_fn_error $? "cannot import Python module \"distutils\".
22496 Please check your Python installation. The error was:
22497 $ac_distutils_result" "$LINENO" 5
22498 PYTHON_VERSION=""
22499 fi
22500
22501 #
22502 # Check for Python include path
22503 #
22504 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Python include path" >&5
22505 printf %s "checking for Python include path... " >&6; }
22506 if test -z "$PYTHON_CPPFLAGS"; then
22507 python_path=`$PYTHON -c "import distutils.sysconfig; \
22508 print (distutils.sysconfig.get_python_inc ());"`
22509 plat_python_path=`$PYTHON -c "import distutils.sysconfig; \
22510 print (distutils.sysconfig.get_python_inc (plat_specific=1));"`
22511 if test -n "${python_path}"; then
22512 if test "${plat_python_path}" != "${python_path}"; then
22513 python_path="-I$python_path -I$plat_python_path"
22514 else
22515 python_path="-I$python_path"
22516 fi
22517 fi
22518 PYTHON_CPPFLAGS=$python_path
22519 fi
22520 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHON_CPPFLAGS" >&5
22521 printf "%s\n" "$PYTHON_CPPFLAGS" >&6; }
22522
22523
22524 #
22525 # Check for Python library path
22526 #
22527 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Python library path" >&5
22528 printf %s "checking for Python library path... " >&6; }
22529 if test -z "$PYTHON_LDFLAGS"; then
22530 # (makes two attempts to ensure we've got a version number
22531 # from the interpreter)
22532 ac_python_version=`cat<<EOD | $PYTHON -
22533
22534 # join all versioning strings, on some systems
22535 # major/minor numbers could be in different list elements
22536 from distutils.sysconfig import *
22537 e = get_config_var('VERSION')
22538 if e is not None:
22539 print(e)
22540 EOD`
22541
22542 if test -z "$ac_python_version"; then
22543 if test -n "$PYTHON_VERSION"; then
22544 ac_python_version=$PYTHON_VERSION
22545 else
22546 ac_python_version=`$PYTHON -c "import sys; \
22547 print (sys.version[:3])"`
22548 fi
22549 fi
22550
22551 # Make the versioning information available to the compiler
22552
22553 # JW: We don't need it and it interferes with the hack
22554 # to detect multiple Pyhton versions
22555 #AC_DEFINE_UNQUOTED([HAVE_PYTHON], ["$ac_python_version"],
22556 # [If available, contains the Python version number currently in use.])
22557
22558 # First, the library directory:
22559 ac_python_libdir=`cat<<EOD | $PYTHON -
22560
22561 # There should be only one
22562 import distutils.sysconfig
22563 e = distutils.sysconfig.get_config_var('LIBDIR')
22564 if e is not None:
22565 print (e)
22566 EOD`
22567
22568 # Now, for the library:
22569 ac_python_library=`cat<<EOD | $PYTHON -
22570
22571 import distutils.sysconfig
22572 c = distutils.sysconfig.get_config_vars()
22573 if 'LDVERSION' in c:
22574 print ('python'+c['LDVERSION'])
22575 else:
22576 print ('python'+c['VERSION'])
22577 EOD`
22578
22579 # This small piece shamelessly adapted from PostgreSQL python macro;
22580 # credits goes to momjian, I think. I'd like to put the right name
22581 # in the credits, if someone can point me in the right direction... ?
22582 #
22583 if test -n "$ac_python_libdir" -a -n "$ac_python_library"
22584 then
22585 # use the official shared library
22586 ac_python_library=`echo "$ac_python_library" | sed "s/^lib//"`
22587 PYTHON_LDFLAGS="-L$ac_python_libdir -l$ac_python_library"
22588 else
22589 # old way: use libpython from python_configdir
22590 ac_python_libdir=`$PYTHON -c \
22591 "from distutils.sysconfig import get_python_lib as f; \
22592 import os; \
22593 print (os.path.join(f(plat_specific=1, standard_lib=1), 'config'));"`
22594 PYTHON_LDFLAGS="-L$ac_python_libdir -lpython$ac_python_version"
22595 fi
22596
22597 if test -z "PYTHON_LDFLAGS"; then
22598 as_fn_error $? "
22599 Cannot determine location of your Python DSO. Please check it was installed with
22600 dynamic libraries enabled, or try setting PYTHON_LDFLAGS by hand.
22601 " "$LINENO" 5
22602 fi
22603 fi
22604 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHON_LDFLAGS" >&5
22605 printf "%s\n" "$PYTHON_LDFLAGS" >&6; }
22606
22607
22608 #
22609 # Check for site packages
22610 #
22611 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Python site-packages path" >&5
22612 printf %s "checking for Python site-packages path... " >&6; }
22613 if test -z "$PYTHON_SITE_PKG"; then
22614 PYTHON_SITE_PKG=`$PYTHON -c "import distutils.sysconfig; \
22615 print (distutils.sysconfig.get_python_lib(0,0));"`
22616 fi
22617 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHON_SITE_PKG" >&5
22618 printf "%s\n" "$PYTHON_SITE_PKG" >&6; }
22619
22620
22621 #
22622 # libraries which must be linked in when embedding
22623 #
22624 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking python extra libraries" >&5
22625 printf %s "checking python extra libraries... " >&6; }
22626 if test -z "$PYTHON_EXTRA_LIBS"; then
22627 PYTHON_EXTRA_LIBS=`$PYTHON -c "import distutils.sysconfig; \
22628 conf = distutils.sysconfig.get_config_var; \
22629 print (conf('LIBS') + ' ' + conf('SYSLIBS'))"`
22630 fi
22631 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHON_EXTRA_LIBS" >&5
22632 printf "%s\n" "$PYTHON_EXTRA_LIBS" >&6; }
22633
22634
22635 #
22636 # linking flags needed when embedding
22637 #
22638 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking python extra linking flags" >&5
22639 printf %s "checking python extra linking flags... " >&6; }
22640 if test -z "$PYTHON_EXTRA_LDFLAGS"; then
22641 PYTHON_EXTRA_LDFLAGS=`$PYTHON -c "import distutils.sysconfig; \
22642 conf = distutils.sysconfig.get_config_var; \
22643 print (conf('LINKFORSHARED'))"`
22644 fi
22645 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHON_EXTRA_LDFLAGS" >&5
22646 printf "%s\n" "$PYTHON_EXTRA_LDFLAGS" >&6; }
22647
22648
22649 #
22650 # final check to see if everything compiles alright
22651 #
22652 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking consistency of all components of python development environment" >&5
22653 printf %s "checking consistency of all components of python development environment... " >&6; }
22654 # save current global flags
22655 ac_save_LIBS="$LIBS"
22656 ac_save_CPPFLAGS="$CPPFLAGS"
22657 LIBS="$ac_save_LIBS $PYTHON_LDFLAGS $PYTHON_EXTRA_LDFLAGS $PYTHON_EXTRA_LIBS"
22658 CPPFLAGS="$ac_save_CPPFLAGS $PYTHON_CPPFLAGS"
22659 ac_ext=c
22660 ac_cpp='$CPP $CPPFLAGS'
22661 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
22662 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
22663 ac_compiler_gnu=$ac_cv_c_compiler_gnu
22664
22665 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
22666 /* end confdefs.h. */
22667
22668 #include <Python.h>
22669 int
22670 main (void)
22671 {
22672 Py_Initialize();
22673 ;
22674 return 0;
22675 }
22676
22677 _ACEOF
22678 if ac_fn_c_try_link "$LINENO"
22679 then :
22680 pythonexists=yes
22681 else $as_nop
22682 pythonexists=no
22683 fi
22684 rm -f core conftest.err conftest.$ac_objext conftest.beam \
22685 conftest$ac_exeext conftest.$ac_ext
22686 ac_ext=c
22687 ac_cpp='$CPP $CPPFLAGS'
22688 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
22689 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
22690 ac_compiler_gnu=$ac_cv_c_compiler_gnu
22691
22692 # turn back to default flags
22693 CPPFLAGS="$ac_save_CPPFLAGS"
22694 LIBS="$ac_save_LIBS"
22695
22696 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $pythonexists" >&5
22697 printf "%s\n" "$pythonexists" >&6; }
22698
22699 if test ! "x$pythonexists" = "xyes"; then
22700 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING:
22701 Could not link test program to Python. Maybe the main Python library has been
22702 installed in some non-standard library path. If so, pass it to configure,
22703 via the LDFLAGS environment variable.
22704 Example: ./configure LDFLAGS=\"-L/usr/non-standard-path/python/lib\"
22705 ============================================================================
22706 You probably have to install the development version of the Python package
22707 for your distribution. The exact name of this package varies among them.
22708 ============================================================================
22709 " >&5
22710 printf "%s\n" "$as_me: WARNING:
22711 Could not link test program to Python. Maybe the main Python library has been
22712 installed in some non-standard library path. If so, pass it to configure,
22713 via the LDFLAGS environment variable.
22714 Example: ./configure LDFLAGS=\"-L/usr/non-standard-path/python/lib\"
22715 ============================================================================
22716 You probably have to install the development version of the Python package
22717 for your distribution. The exact name of this package varies among them.
22718 ============================================================================
22719 " >&2;}
22720 PYTHON_VERSION=""
22721 fi
22722
22723 #
22724 # all done!
22725 #
22726
22727 if test "$PYTHON_VERSION"; then
22728 PYTHONS="$(echo $PYTHONS $PYTHON)"
22729 PYTHON_VERSIONS="$(echo $PYTHON_VERSIONS $PYTHON_VERSION)"
22730 fi
22731
22732 fi
22733
22734
22735 unset PYTHON
22736 unset PYTHON_VERSION
22737 unset PYTHON_CPPFLAGS
22738 unset PYTHON_LDFLAGS
22739 unset PYTHON_SITE_PKG
22740 unset PYTHON_EXTRA_LIBS
22741 unset PYTHON_EXTRA_LDFLAGS
22742 unset ac_cv_path_PYTHON
22743 unset am_cv_pathless_PYTHON
22744 unset am_cv_python_version
22745 unset am_cv_python_platform
22746 unset am_cv_python_pythondir
22747 unset am_cv_python_pyexecdir
22748
22749
22750
22751
22752
22753
22754 if test -n "$PYTHON"; then
22755 # If the user set $PYTHON, use it and don't search something else.
22756 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $PYTHON version is >= 3.6" >&5
22757 printf %s "checking whether $PYTHON version is >= 3.6... " >&6; }
22758 prog="import sys
22759 # split strings by '.' and convert to numeric. Append some zeros
22760 # because we need at least 4 digits for the hex conversion.
22761 # map returns an iterator in Python 3.0 and a list in 2.x
22762 minver = list(map(int, '3.6'.split('.'))) + [0, 0, 0]
22763 minverhex = 0
22764 # xrange is not present in Python 3.0 and range returns an iterator
22765 for i in list(range(0, 4)): minverhex = (minverhex << 8) + minver[i]
22766 sys.exit(sys.hexversion < minverhex)"
22767 if { echo "$as_me:$LINENO: $PYTHON -c "$prog"" >&5
22768 ($PYTHON -c "$prog") >&5 2>&5
22769 ac_status=$?
22770 echo "$as_me:$LINENO: \$? = $ac_status" >&5
22771 (exit $ac_status); }
22772 then :
22773 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
22774 printf "%s\n" "yes" >&6; }
22775 else $as_nop
22776 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
22777 printf "%s\n" "no" >&6; }
22778 as_fn_error $? "Python interpreter is too old" "$LINENO" 5
22779 fi
22780 am_display_PYTHON=$PYTHON
22781 else
22782 # Otherwise, try each interpreter until we find one that satisfies
22783 # VERSION.
22784 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a Python interpreter with version >= 3.6" >&5
22785 printf %s "checking for a Python interpreter with version >= 3.6... " >&6; }
22786 if test ${am_cv_pathless_PYTHON+y}
22787 then :
22788 printf %s "(cached) " >&6
22789 else $as_nop
22790
22791 for am_cv_pathless_PYTHON in python3.6 none; do
22792 test "$am_cv_pathless_PYTHON" = none && break
22793 prog="import sys
22794 # split strings by '.' and convert to numeric. Append some zeros
22795 # because we need at least 4 digits for the hex conversion.
22796 # map returns an iterator in Python 3.0 and a list in 2.x
22797 minver = list(map(int, '3.6'.split('.'))) + [0, 0, 0]
22798 minverhex = 0
22799 # xrange is not present in Python 3.0 and range returns an iterator
22800 for i in list(range(0, 4)): minverhex = (minverhex << 8) + minver[i]
22801 sys.exit(sys.hexversion < minverhex)"
22802 if { echo "$as_me:$LINENO: $am_cv_pathless_PYTHON -c "$prog"" >&5
22803 ($am_cv_pathless_PYTHON -c "$prog") >&5 2>&5
22804 ac_status=$?
22805 echo "$as_me:$LINENO: \$? = $ac_status" >&5
22806 (exit $ac_status); }
22807 then :
22808 break
22809 fi
22810 done
22811 fi
22812 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_pathless_PYTHON" >&5
22813 printf "%s\n" "$am_cv_pathless_PYTHON" >&6; }
22814 # Set $PYTHON to the absolute path of $am_cv_pathless_PYTHON.
22815 if test "$am_cv_pathless_PYTHON" = none; then
22816 PYTHON=:
22817 else
22818 # Extract the first word of "$am_cv_pathless_PYTHON", so it can be a program name with args.
22819 set dummy $am_cv_pathless_PYTHON; ac_word=$2
22820 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
22821 printf %s "checking for $ac_word... " >&6; }
22822 if test ${ac_cv_path_PYTHON+y}
22823 then :
22824 printf %s "(cached) " >&6
22825 else $as_nop
22826 case $PYTHON in
22827 [\\/]* | ?:[\\/]*)
22828 ac_cv_path_PYTHON="$PYTHON" # Let the user override the test with a path.
22829 ;;
22830 *)
22831 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
22832 for as_dir in $PATH
22833 do
22834 IFS=$as_save_IFS
22835 case $as_dir in #(((
22836 '') as_dir=./ ;;
22837 */) ;;
22838 *) as_dir=$as_dir/ ;;
22839 esac
22840 for ac_exec_ext in '' $ac_executable_extensions; do
22841 if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
22842 ac_cv_path_PYTHON="$as_dir$ac_word$ac_exec_ext"
22843 printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
22844 break 2
22845 fi
22846 done
22847 done
22848 IFS=$as_save_IFS
22849
22850 ;;
22851 esac
22852 fi
22853 PYTHON=$ac_cv_path_PYTHON
22854 if test -n "$PYTHON"; then
22855 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHON" >&5
22856 printf "%s\n" "$PYTHON" >&6; }
22857 else
22858 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
22859 printf "%s\n" "no" >&6; }
22860 fi
22861
22862
22863 fi
22864 am_display_PYTHON=$am_cv_pathless_PYTHON
22865 fi
22866
22867
22868 if test "$PYTHON" = :; then
22869 :
22870 else
22871
22872
22873 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON version" >&5
22874 printf %s "checking for $am_display_PYTHON version... " >&6; }
22875 if test ${am_cv_python_version+y}
22876 then :
22877 printf %s "(cached) " >&6
22878 else $as_nop
22879 am_cv_python_version=`$PYTHON -c "import sys; sys.stdout.write(sys.version[:3])"`
22880 fi
22881 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_version" >&5
22882 printf "%s\n" "$am_cv_python_version" >&6; }
22883 PYTHON_VERSION=$am_cv_python_version
22884
22885
22886
22887 PYTHON_PREFIX='${prefix}'
22888
22889 PYTHON_EXEC_PREFIX='${exec_prefix}'
22890
22891
22892
22893 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON platform" >&5
22894 printf %s "checking for $am_display_PYTHON platform... " >&6; }
22895 if test ${am_cv_python_platform+y}
22896 then :
22897 printf %s "(cached) " >&6
22898 else $as_nop
22899 am_cv_python_platform=`$PYTHON -c "import sys; sys.stdout.write(sys.platform)"`
22900 fi
22901 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_platform" >&5
22902 printf "%s\n" "$am_cv_python_platform" >&6; }
22903 PYTHON_PLATFORM=$am_cv_python_platform
22904
22905
22906 # Just factor out some code duplication.
22907 am_python_setup_sysconfig="\
22908 import sys
22909 # Prefer sysconfig over distutils.sysconfig, for better compatibility
22910 # with python 3.x. See automake bug#10227.
22911 try:
22912 import sysconfig
22913 except ImportError:
22914 can_use_sysconfig = 0
22915 else:
22916 can_use_sysconfig = 1
22917 # Can't use sysconfig in CPython 2.7, since it's broken in virtualenvs:
22918 # <https://github.com/pypa/virtualenv/issues/118>
22919 try:
22920 from platform import python_implementation
22921 if python_implementation() == 'CPython' and sys.version[:3] == '2.7':
22922 can_use_sysconfig = 0
22923 except ImportError:
22924 pass"
22925
22926
22927 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON script directory" >&5
22928 printf %s "checking for $am_display_PYTHON script directory... " >&6; }
22929 if test ${am_cv_python_pythondir+y}
22930 then :
22931 printf %s "(cached) " >&6
22932 else $as_nop
22933 if test "x$prefix" = xNONE
22934 then
22935 am_py_prefix=$ac_default_prefix
22936 else
22937 am_py_prefix=$prefix
22938 fi
22939 am_cv_python_pythondir=`$PYTHON -c "
22940 $am_python_setup_sysconfig
22941 if can_use_sysconfig:
22942 sitedir = sysconfig.get_path('purelib', vars={'base':'$am_py_prefix'})
22943 else:
22944 from distutils import sysconfig
22945 sitedir = sysconfig.get_python_lib(0, 0, prefix='$am_py_prefix')
22946 sys.stdout.write(sitedir)"`
22947 case $am_cv_python_pythondir in
22948 $am_py_prefix*)
22949 am__strip_prefix=`echo "$am_py_prefix" | sed 's|.|.|g'`
22950 am_cv_python_pythondir=`echo "$am_cv_python_pythondir" | sed "s,^$am__strip_prefix,$PYTHON_PREFIX,"`
22951 ;;
22952 *)
22953 case $am_py_prefix in
22954 /usr|/System*) ;;
22955 *)
22956 am_cv_python_pythondir=$PYTHON_PREFIX/lib/python$PYTHON_VERSION/site-packages
22957 ;;
22958 esac
22959 ;;
22960 esac
22961
22962 fi
22963 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_pythondir" >&5
22964 printf "%s\n" "$am_cv_python_pythondir" >&6; }
22965 pythondir=$am_cv_python_pythondir
22966
22967
22968
22969 pkgpythondir=\${pythondir}/$PACKAGE
22970
22971
22972 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON extension module directory" >&5
22973 printf %s "checking for $am_display_PYTHON extension module directory... " >&6; }
22974 if test ${am_cv_python_pyexecdir+y}
22975 then :
22976 printf %s "(cached) " >&6
22977 else $as_nop
22978 if test "x$exec_prefix" = xNONE
22979 then
22980 am_py_exec_prefix=$am_py_prefix
22981 else
22982 am_py_exec_prefix=$exec_prefix
22983 fi
22984 am_cv_python_pyexecdir=`$PYTHON -c "
22985 $am_python_setup_sysconfig
22986 if can_use_sysconfig:
22987 sitedir = sysconfig.get_path('platlib', vars={'platbase':'$am_py_prefix'})
22988 else:
22989 from distutils import sysconfig
22990 sitedir = sysconfig.get_python_lib(1, 0, prefix='$am_py_prefix')
22991 sys.stdout.write(sitedir)"`
22992 case $am_cv_python_pyexecdir in
22993 $am_py_exec_prefix*)
22994 am__strip_prefix=`echo "$am_py_exec_prefix" | sed 's|.|.|g'`
22995 am_cv_python_pyexecdir=`echo "$am_cv_python_pyexecdir" | sed "s,^$am__strip_prefix,$PYTHON_EXEC_PREFIX,"`
22996 ;;
22997 *)
22998 case $am_py_exec_prefix in
22999 /usr|/System*) ;;
23000 *)
23001 am_cv_python_pyexecdir=$PYTHON_EXEC_PREFIX/lib/python$PYTHON_VERSION/site-packages
23002 ;;
23003 esac
23004 ;;
23005 esac
23006
23007 fi
23008 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_pyexecdir" >&5
23009 printf "%s\n" "$am_cv_python_pyexecdir" >&6; }
23010 pyexecdir=$am_cv_python_pyexecdir
23011
23012
23013
23014 pkgpyexecdir=\${pyexecdir}/$PACKAGE
23015
23016
23017
23018
23019 #
23020 # Allow the use of a (user set) custom python version
23021 #
23022
23023
23024 # Extract the first word of "python[$PYTHON_VERSION]", so it can be a program name with args.
23025 set dummy python$PYTHON_VERSION; ac_word=$2
23026 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
23027 printf %s "checking for $ac_word... " >&6; }
23028 if test ${ac_cv_path_PYTHON+y}
23029 then :
23030 printf %s "(cached) " >&6
23031 else $as_nop
23032 case $PYTHON in
23033 [\\/]* | ?:[\\/]*)
23034 ac_cv_path_PYTHON="$PYTHON" # Let the user override the test with a path.
23035 ;;
23036 *)
23037 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
23038 for as_dir in $PATH
23039 do
23040 IFS=$as_save_IFS
23041 case $as_dir in #(((
23042 '') as_dir=./ ;;
23043 */) ;;
23044 *) as_dir=$as_dir/ ;;
23045 esac
23046 for ac_exec_ext in '' $ac_executable_extensions; do
23047 if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
23048 ac_cv_path_PYTHON="$as_dir$ac_word$ac_exec_ext"
23049 printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
23050 break 2
23051 fi
23052 done
23053 done
23054 IFS=$as_save_IFS
23055
23056 ;;
23057 esac
23058 fi
23059 PYTHON=$ac_cv_path_PYTHON
23060 if test -n "$PYTHON"; then
23061 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHON" >&5
23062 printf "%s\n" "$PYTHON" >&6; }
23063 else
23064 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
23065 printf "%s\n" "no" >&6; }
23066 fi
23067
23068
23069 if test -z "$PYTHON"; then
23070 as_fn_error $? "Cannot find python$PYTHON_VERSION in your system path" "$LINENO" 5
23071 PYTHON_VERSION=""
23072 fi
23073
23074 #
23075 # Check for a version of Python >= 2.1.0
23076 #
23077 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a version of Python >= '2.1.0'" >&5
23078 printf %s "checking for a version of Python >= '2.1.0'... " >&6; }
23079 ac_supports_python_ver=`$PYTHON -c "import sys; \
23080 ver = sys.version.split ()[0]; \
23081 print (ver >= '2.1.0')"`
23082 if test "$ac_supports_python_ver" != "True"; then
23083 if test -z "$PYTHON_NOVERSIONCHECK"; then
23084 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
23085 printf "%s\n" "no" >&6; }
23086 { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
23087 printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
23088 as_fn_error $? "
23089 This version of the AC_PYTHON_DEVEL macro
23090 doesn't work properly with versions of Python before
23091 2.1.0. You may need to re-run configure, setting the
23092 variables PYTHON_CPPFLAGS, PYTHON_LDFLAGS, PYTHON_SITE_PKG,
23093 PYTHON_EXTRA_LIBS and PYTHON_EXTRA_LDFLAGS by hand.
23094 Moreover, to disable this check, set PYTHON_NOVERSIONCHECK
23095 to something else than an empty string.
23096
23097 See \`config.log' for more details" "$LINENO" 5; }
23098 else
23099 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: skip at user request" >&5
23100 printf "%s\n" "skip at user request" >&6; }
23101 fi
23102 else
23103 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
23104 printf "%s\n" "yes" >&6; }
23105 fi
23106
23107 #
23108 # if the macro parameter ``version'' is set, honour it
23109 #
23110 if test -n ""; then
23111 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a version of Python " >&5
23112 printf %s "checking for a version of Python ... " >&6; }
23113 ac_supports_python_ver=`$PYTHON -c "import sys; \
23114 ver = sys.version.split ()[0]; \
23115 print (ver )"`
23116 if test "$ac_supports_python_ver" = "True"; then
23117 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
23118 printf "%s\n" "yes" >&6; }
23119 else
23120 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
23121 printf "%s\n" "no" >&6; }
23122 as_fn_error $? "this package requires Python .
23123 If you have it installed, but it isn't the default Python
23124 interpreter in your system path, please pass the PYTHON_VERSION
23125 variable to configure. See \`\`configure --help'' for reference.
23126 " "$LINENO" 5
23127 PYTHON_VERSION=""
23128 fi
23129 fi
23130
23131 #
23132 # Check if you have distutils, else fail
23133 #
23134 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for the distutils Python package" >&5
23135 printf %s "checking for the distutils Python package... " >&6; }
23136 ac_distutils_result=`$PYTHON -c "import distutils" 2>&1`
23137 if test -z "$ac_distutils_result"; then
23138 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
23139 printf "%s\n" "yes" >&6; }
23140 else
23141 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
23142 printf "%s\n" "no" >&6; }
23143 as_fn_error $? "cannot import Python module \"distutils\".
23144 Please check your Python installation. The error was:
23145 $ac_distutils_result" "$LINENO" 5
23146 PYTHON_VERSION=""
23147 fi
23148
23149 #
23150 # Check for Python include path
23151 #
23152 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Python include path" >&5
23153 printf %s "checking for Python include path... " >&6; }
23154 if test -z "$PYTHON_CPPFLAGS"; then
23155 python_path=`$PYTHON -c "import distutils.sysconfig; \
23156 print (distutils.sysconfig.get_python_inc ());"`
23157 plat_python_path=`$PYTHON -c "import distutils.sysconfig; \
23158 print (distutils.sysconfig.get_python_inc (plat_specific=1));"`
23159 if test -n "${python_path}"; then
23160 if test "${plat_python_path}" != "${python_path}"; then
23161 python_path="-I$python_path -I$plat_python_path"
23162 else
23163 python_path="-I$python_path"
23164 fi
23165 fi
23166 PYTHON_CPPFLAGS=$python_path
23167 fi
23168 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHON_CPPFLAGS" >&5
23169 printf "%s\n" "$PYTHON_CPPFLAGS" >&6; }
23170
23171
23172 #
23173 # Check for Python library path
23174 #
23175 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Python library path" >&5
23176 printf %s "checking for Python library path... " >&6; }
23177 if test -z "$PYTHON_LDFLAGS"; then
23178 # (makes two attempts to ensure we've got a version number
23179 # from the interpreter)
23180 ac_python_version=`cat<<EOD | $PYTHON -
23181
23182 # join all versioning strings, on some systems
23183 # major/minor numbers could be in different list elements
23184 from distutils.sysconfig import *
23185 e = get_config_var('VERSION')
23186 if e is not None:
23187 print(e)
23188 EOD`
23189
23190 if test -z "$ac_python_version"; then
23191 if test -n "$PYTHON_VERSION"; then
23192 ac_python_version=$PYTHON_VERSION
23193 else
23194 ac_python_version=`$PYTHON -c "import sys; \
23195 print (sys.version[:3])"`
23196 fi
23197 fi
23198
23199 # Make the versioning information available to the compiler
23200
23201 # JW: We don't need it and it interferes with the hack
23202 # to detect multiple Pyhton versions
23203 #AC_DEFINE_UNQUOTED([HAVE_PYTHON], ["$ac_python_version"],
23204 # [If available, contains the Python version number currently in use.])
23205
23206 # First, the library directory:
23207 ac_python_libdir=`cat<<EOD | $PYTHON -
23208
23209 # There should be only one
23210 import distutils.sysconfig
23211 e = distutils.sysconfig.get_config_var('LIBDIR')
23212 if e is not None:
23213 print (e)
23214 EOD`
23215
23216 # Now, for the library:
23217 ac_python_library=`cat<<EOD | $PYTHON -
23218
23219 import distutils.sysconfig
23220 c = distutils.sysconfig.get_config_vars()
23221 if 'LDVERSION' in c:
23222 print ('python'+c['LDVERSION'])
23223 else:
23224 print ('python'+c['VERSION'])
23225 EOD`
23226
23227 # This small piece shamelessly adapted from PostgreSQL python macro;
23228 # credits goes to momjian, I think. I'd like to put the right name
23229 # in the credits, if someone can point me in the right direction... ?
23230 #
23231 if test -n "$ac_python_libdir" -a -n "$ac_python_library"
23232 then
23233 # use the official shared library
23234 ac_python_library=`echo "$ac_python_library" | sed "s/^lib//"`
23235 PYTHON_LDFLAGS="-L$ac_python_libdir -l$ac_python_library"
23236 else
23237 # old way: use libpython from python_configdir
23238 ac_python_libdir=`$PYTHON -c \
23239 "from distutils.sysconfig import get_python_lib as f; \
23240 import os; \
23241 print (os.path.join(f(plat_specific=1, standard_lib=1), 'config'));"`
23242 PYTHON_LDFLAGS="-L$ac_python_libdir -lpython$ac_python_version"
23243 fi
23244
23245 if test -z "PYTHON_LDFLAGS"; then
23246 as_fn_error $? "
23247 Cannot determine location of your Python DSO. Please check it was installed with
23248 dynamic libraries enabled, or try setting PYTHON_LDFLAGS by hand.
23249 " "$LINENO" 5
23250 fi
23251 fi
23252 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHON_LDFLAGS" >&5
23253 printf "%s\n" "$PYTHON_LDFLAGS" >&6; }
23254
23255
23256 #
23257 # Check for site packages
23258 #
23259 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Python site-packages path" >&5
23260 printf %s "checking for Python site-packages path... " >&6; }
23261 if test -z "$PYTHON_SITE_PKG"; then
23262 PYTHON_SITE_PKG=`$PYTHON -c "import distutils.sysconfig; \
23263 print (distutils.sysconfig.get_python_lib(0,0));"`
23264 fi
23265 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHON_SITE_PKG" >&5
23266 printf "%s\n" "$PYTHON_SITE_PKG" >&6; }
23267
23268
23269 #
23270 # libraries which must be linked in when embedding
23271 #
23272 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking python extra libraries" >&5
23273 printf %s "checking python extra libraries... " >&6; }
23274 if test -z "$PYTHON_EXTRA_LIBS"; then
23275 PYTHON_EXTRA_LIBS=`$PYTHON -c "import distutils.sysconfig; \
23276 conf = distutils.sysconfig.get_config_var; \
23277 print (conf('LIBS') + ' ' + conf('SYSLIBS'))"`
23278 fi
23279 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHON_EXTRA_LIBS" >&5
23280 printf "%s\n" "$PYTHON_EXTRA_LIBS" >&6; }
23281
23282
23283 #
23284 # linking flags needed when embedding
23285 #
23286 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking python extra linking flags" >&5
23287 printf %s "checking python extra linking flags... " >&6; }
23288 if test -z "$PYTHON_EXTRA_LDFLAGS"; then
23289 PYTHON_EXTRA_LDFLAGS=`$PYTHON -c "import distutils.sysconfig; \
23290 conf = distutils.sysconfig.get_config_var; \
23291 print (conf('LINKFORSHARED'))"`
23292 fi
23293 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHON_EXTRA_LDFLAGS" >&5
23294 printf "%s\n" "$PYTHON_EXTRA_LDFLAGS" >&6; }
23295
23296
23297 #
23298 # final check to see if everything compiles alright
23299 #
23300 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking consistency of all components of python development environment" >&5
23301 printf %s "checking consistency of all components of python development environment... " >&6; }
23302 # save current global flags
23303 ac_save_LIBS="$LIBS"
23304 ac_save_CPPFLAGS="$CPPFLAGS"
23305 LIBS="$ac_save_LIBS $PYTHON_LDFLAGS $PYTHON_EXTRA_LDFLAGS $PYTHON_EXTRA_LIBS"
23306 CPPFLAGS="$ac_save_CPPFLAGS $PYTHON_CPPFLAGS"
23307 ac_ext=c
23308 ac_cpp='$CPP $CPPFLAGS'
23309 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
23310 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
23311 ac_compiler_gnu=$ac_cv_c_compiler_gnu
23312
23313 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
23314 /* end confdefs.h. */
23315
23316 #include <Python.h>
23317 int
23318 main (void)
23319 {
23320 Py_Initialize();
23321 ;
23322 return 0;
23323 }
23324
23325 _ACEOF
23326 if ac_fn_c_try_link "$LINENO"
23327 then :
23328 pythonexists=yes
23329 else $as_nop
23330 pythonexists=no
23331 fi
23332 rm -f core conftest.err conftest.$ac_objext conftest.beam \
23333 conftest$ac_exeext conftest.$ac_ext
23334 ac_ext=c
23335 ac_cpp='$CPP $CPPFLAGS'
23336 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
23337 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
23338 ac_compiler_gnu=$ac_cv_c_compiler_gnu
23339
23340 # turn back to default flags
23341 CPPFLAGS="$ac_save_CPPFLAGS"
23342 LIBS="$ac_save_LIBS"
23343
23344 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $pythonexists" >&5
23345 printf "%s\n" "$pythonexists" >&6; }
23346
23347 if test ! "x$pythonexists" = "xyes"; then
23348 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING:
23349 Could not link test program to Python. Maybe the main Python library has been
23350 installed in some non-standard library path. If so, pass it to configure,
23351 via the LDFLAGS environment variable.
23352 Example: ./configure LDFLAGS=\"-L/usr/non-standard-path/python/lib\"
23353 ============================================================================
23354 You probably have to install the development version of the Python package
23355 for your distribution. The exact name of this package varies among them.
23356 ============================================================================
23357 " >&5
23358 printf "%s\n" "$as_me: WARNING:
23359 Could not link test program to Python. Maybe the main Python library has been
23360 installed in some non-standard library path. If so, pass it to configure,
23361 via the LDFLAGS environment variable.
23362 Example: ./configure LDFLAGS=\"-L/usr/non-standard-path/python/lib\"
23363 ============================================================================
23364 You probably have to install the development version of the Python package
23365 for your distribution. The exact name of this package varies among them.
23366 ============================================================================
23367 " >&2;}
23368 PYTHON_VERSION=""
23369 fi
23370
23371 #
23372 # all done!
23373 #
23374
23375 if test "$PYTHON_VERSION"; then
23376 PYTHONS="$(echo $PYTHONS $PYTHON)"
23377 PYTHON_VERSIONS="$(echo $PYTHON_VERSIONS $PYTHON_VERSION)"
23378 fi
23379
23380 fi
23381
23382
23383 unset PYTHON
23384 unset PYTHON_VERSION
23385 unset PYTHON_CPPFLAGS
23386 unset PYTHON_LDFLAGS
23387 unset PYTHON_SITE_PKG
23388 unset PYTHON_EXTRA_LIBS
23389 unset PYTHON_EXTRA_LDFLAGS
23390 unset ac_cv_path_PYTHON
23391 unset am_cv_pathless_PYTHON
23392 unset am_cv_python_version
23393 unset am_cv_python_platform
23394 unset am_cv_python_pythondir
23395 unset am_cv_python_pyexecdir
23396
23397
23398
23399
23400
23401
23402 if test -n "$PYTHON"; then
23403 # If the user set $PYTHON, use it and don't search something else.
23404 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $PYTHON version is >= 3.7" >&5
23405 printf %s "checking whether $PYTHON version is >= 3.7... " >&6; }
23406 prog="import sys
23407 # split strings by '.' and convert to numeric. Append some zeros
23408 # because we need at least 4 digits for the hex conversion.
23409 # map returns an iterator in Python 3.0 and a list in 2.x
23410 minver = list(map(int, '3.7'.split('.'))) + [0, 0, 0]
23411 minverhex = 0
23412 # xrange is not present in Python 3.0 and range returns an iterator
23413 for i in list(range(0, 4)): minverhex = (minverhex << 8) + minver[i]
23414 sys.exit(sys.hexversion < minverhex)"
23415 if { echo "$as_me:$LINENO: $PYTHON -c "$prog"" >&5
23416 ($PYTHON -c "$prog") >&5 2>&5
23417 ac_status=$?
23418 echo "$as_me:$LINENO: \$? = $ac_status" >&5
23419 (exit $ac_status); }
23420 then :
23421 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
23422 printf "%s\n" "yes" >&6; }
23423 else $as_nop
23424 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
23425 printf "%s\n" "no" >&6; }
23426 as_fn_error $? "Python interpreter is too old" "$LINENO" 5
23427 fi
23428 am_display_PYTHON=$PYTHON
23429 else
23430 # Otherwise, try each interpreter until we find one that satisfies
23431 # VERSION.
23432 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a Python interpreter with version >= 3.7" >&5
23433 printf %s "checking for a Python interpreter with version >= 3.7... " >&6; }
23434 if test ${am_cv_pathless_PYTHON+y}
23435 then :
23436 printf %s "(cached) " >&6
23437 else $as_nop
23438
23439 for am_cv_pathless_PYTHON in python3.7 none; do
23440 test "$am_cv_pathless_PYTHON" = none && break
23441 prog="import sys
23442 # split strings by '.' and convert to numeric. Append some zeros
23443 # because we need at least 4 digits for the hex conversion.
23444 # map returns an iterator in Python 3.0 and a list in 2.x
23445 minver = list(map(int, '3.7'.split('.'))) + [0, 0, 0]
23446 minverhex = 0
23447 # xrange is not present in Python 3.0 and range returns an iterator
23448 for i in list(range(0, 4)): minverhex = (minverhex << 8) + minver[i]
23449 sys.exit(sys.hexversion < minverhex)"
23450 if { echo "$as_me:$LINENO: $am_cv_pathless_PYTHON -c "$prog"" >&5
23451 ($am_cv_pathless_PYTHON -c "$prog") >&5 2>&5
23452 ac_status=$?
23453 echo "$as_me:$LINENO: \$? = $ac_status" >&5
23454 (exit $ac_status); }
23455 then :
23456 break
23457 fi
23458 done
23459 fi
23460 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_pathless_PYTHON" >&5
23461 printf "%s\n" "$am_cv_pathless_PYTHON" >&6; }
23462 # Set $PYTHON to the absolute path of $am_cv_pathless_PYTHON.
23463 if test "$am_cv_pathless_PYTHON" = none; then
23464 PYTHON=:
23465 else
23466 # Extract the first word of "$am_cv_pathless_PYTHON", so it can be a program name with args.
23467 set dummy $am_cv_pathless_PYTHON; ac_word=$2
23468 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
23469 printf %s "checking for $ac_word... " >&6; }
23470 if test ${ac_cv_path_PYTHON+y}
23471 then :
23472 printf %s "(cached) " >&6
23473 else $as_nop
23474 case $PYTHON in
23475 [\\/]* | ?:[\\/]*)
23476 ac_cv_path_PYTHON="$PYTHON" # Let the user override the test with a path.
23477 ;;
23478 *)
23479 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
23480 for as_dir in $PATH
23481 do
23482 IFS=$as_save_IFS
23483 case $as_dir in #(((
23484 '') as_dir=./ ;;
23485 */) ;;
23486 *) as_dir=$as_dir/ ;;
23487 esac
23488 for ac_exec_ext in '' $ac_executable_extensions; do
23489 if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
23490 ac_cv_path_PYTHON="$as_dir$ac_word$ac_exec_ext"
23491 printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
23492 break 2
23493 fi
23494 done
23495 done
23496 IFS=$as_save_IFS
23497
23498 ;;
23499 esac
23500 fi
23501 PYTHON=$ac_cv_path_PYTHON
23502 if test -n "$PYTHON"; then
23503 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHON" >&5
23504 printf "%s\n" "$PYTHON" >&6; }
23505 else
23506 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
23507 printf "%s\n" "no" >&6; }
23508 fi
23509
23510
23511 fi
23512 am_display_PYTHON=$am_cv_pathless_PYTHON
23513 fi
23514
23515
23516 if test "$PYTHON" = :; then
23517 :
23518 else
23519
23520
23521 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON version" >&5
23522 printf %s "checking for $am_display_PYTHON version... " >&6; }
23523 if test ${am_cv_python_version+y}
23524 then :
23525 printf %s "(cached) " >&6
23526 else $as_nop
23527 am_cv_python_version=`$PYTHON -c "import sys; sys.stdout.write(sys.version[:3])"`
23528 fi
23529 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_version" >&5
23530 printf "%s\n" "$am_cv_python_version" >&6; }
23531 PYTHON_VERSION=$am_cv_python_version
23532
23533
23534
23535 PYTHON_PREFIX='${prefix}'
23536
23537 PYTHON_EXEC_PREFIX='${exec_prefix}'
23538
23539
23540
23541 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON platform" >&5
23542 printf %s "checking for $am_display_PYTHON platform... " >&6; }
23543 if test ${am_cv_python_platform+y}
23544 then :
23545 printf %s "(cached) " >&6
23546 else $as_nop
23547 am_cv_python_platform=`$PYTHON -c "import sys; sys.stdout.write(sys.platform)"`
23548 fi
23549 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_platform" >&5
23550 printf "%s\n" "$am_cv_python_platform" >&6; }
23551 PYTHON_PLATFORM=$am_cv_python_platform
23552
23553
23554 # Just factor out some code duplication.
23555 am_python_setup_sysconfig="\
23556 import sys
23557 # Prefer sysconfig over distutils.sysconfig, for better compatibility
23558 # with python 3.x. See automake bug#10227.
23559 try:
23560 import sysconfig
23561 except ImportError:
23562 can_use_sysconfig = 0
23563 else:
23564 can_use_sysconfig = 1
23565 # Can't use sysconfig in CPython 2.7, since it's broken in virtualenvs:
23566 # <https://github.com/pypa/virtualenv/issues/118>
23567 try:
23568 from platform import python_implementation
23569 if python_implementation() == 'CPython' and sys.version[:3] == '2.7':
23570 can_use_sysconfig = 0
23571 except ImportError:
23572 pass"
23573
23574
23575 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON script directory" >&5
23576 printf %s "checking for $am_display_PYTHON script directory... " >&6; }
23577 if test ${am_cv_python_pythondir+y}
23578 then :
23579 printf %s "(cached) " >&6
23580 else $as_nop
23581 if test "x$prefix" = xNONE
23582 then
23583 am_py_prefix=$ac_default_prefix
23584 else
23585 am_py_prefix=$prefix
23586 fi
23587 am_cv_python_pythondir=`$PYTHON -c "
23588 $am_python_setup_sysconfig
23589 if can_use_sysconfig:
23590 sitedir = sysconfig.get_path('purelib', vars={'base':'$am_py_prefix'})
23591 else:
23592 from distutils import sysconfig
23593 sitedir = sysconfig.get_python_lib(0, 0, prefix='$am_py_prefix')
23594 sys.stdout.write(sitedir)"`
23595 case $am_cv_python_pythondir in
23596 $am_py_prefix*)
23597 am__strip_prefix=`echo "$am_py_prefix" | sed 's|.|.|g'`
23598 am_cv_python_pythondir=`echo "$am_cv_python_pythondir" | sed "s,^$am__strip_prefix,$PYTHON_PREFIX,"`
23599 ;;
23600 *)
23601 case $am_py_prefix in
23602 /usr|/System*) ;;
23603 *)
23604 am_cv_python_pythondir=$PYTHON_PREFIX/lib/python$PYTHON_VERSION/site-packages
23605 ;;
23606 esac
23607 ;;
23608 esac
23609
23610 fi
23611 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_pythondir" >&5
23612 printf "%s\n" "$am_cv_python_pythondir" >&6; }
23613 pythondir=$am_cv_python_pythondir
23614
23615
23616
23617 pkgpythondir=\${pythondir}/$PACKAGE
23618
23619
23620 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON extension module directory" >&5
23621 printf %s "checking for $am_display_PYTHON extension module directory... " >&6; }
23622 if test ${am_cv_python_pyexecdir+y}
23623 then :
23624 printf %s "(cached) " >&6
23625 else $as_nop
23626 if test "x$exec_prefix" = xNONE
23627 then
23628 am_py_exec_prefix=$am_py_prefix
23629 else
23630 am_py_exec_prefix=$exec_prefix
23631 fi
23632 am_cv_python_pyexecdir=`$PYTHON -c "
23633 $am_python_setup_sysconfig
23634 if can_use_sysconfig:
23635 sitedir = sysconfig.get_path('platlib', vars={'platbase':'$am_py_prefix'})
23636 else:
23637 from distutils import sysconfig
23638 sitedir = sysconfig.get_python_lib(1, 0, prefix='$am_py_prefix')
23639 sys.stdout.write(sitedir)"`
23640 case $am_cv_python_pyexecdir in
23641 $am_py_exec_prefix*)
23642 am__strip_prefix=`echo "$am_py_exec_prefix" | sed 's|.|.|g'`
23643 am_cv_python_pyexecdir=`echo "$am_cv_python_pyexecdir" | sed "s,^$am__strip_prefix,$PYTHON_EXEC_PREFIX,"`
23644 ;;
23645 *)
23646 case $am_py_exec_prefix in
23647 /usr|/System*) ;;
23648 *)
23649 am_cv_python_pyexecdir=$PYTHON_EXEC_PREFIX/lib/python$PYTHON_VERSION/site-packages
23650 ;;
23651 esac
23652 ;;
23653 esac
23654
23655 fi
23656 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_pyexecdir" >&5
23657 printf "%s\n" "$am_cv_python_pyexecdir" >&6; }
23658 pyexecdir=$am_cv_python_pyexecdir
23659
23660
23661
23662 pkgpyexecdir=\${pyexecdir}/$PACKAGE
23663
23664
23665
23666
23667 #
23668 # Allow the use of a (user set) custom python version
23669 #
23670
23671
23672 # Extract the first word of "python[$PYTHON_VERSION]", so it can be a program name with args.
23673 set dummy python$PYTHON_VERSION; ac_word=$2
23674 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
23675 printf %s "checking for $ac_word... " >&6; }
23676 if test ${ac_cv_path_PYTHON+y}
23677 then :
23678 printf %s "(cached) " >&6
23679 else $as_nop
23680 case $PYTHON in
23681 [\\/]* | ?:[\\/]*)
23682 ac_cv_path_PYTHON="$PYTHON" # Let the user override the test with a path.
23683 ;;
23684 *)
23685 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
23686 for as_dir in $PATH
23687 do
23688 IFS=$as_save_IFS
23689 case $as_dir in #(((
23690 '') as_dir=./ ;;
23691 */) ;;
23692 *) as_dir=$as_dir/ ;;
23693 esac
23694 for ac_exec_ext in '' $ac_executable_extensions; do
23695 if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
23696 ac_cv_path_PYTHON="$as_dir$ac_word$ac_exec_ext"
23697 printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
23698 break 2
23699 fi
23700 done
23701 done
23702 IFS=$as_save_IFS
23703
23704 ;;
23705 esac
23706 fi
23707 PYTHON=$ac_cv_path_PYTHON
23708 if test -n "$PYTHON"; then
23709 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHON" >&5
23710 printf "%s\n" "$PYTHON" >&6; }
23711 else
23712 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
23713 printf "%s\n" "no" >&6; }
23714 fi
23715
23716
23717 if test -z "$PYTHON"; then
23718 as_fn_error $? "Cannot find python$PYTHON_VERSION in your system path" "$LINENO" 5
23719 PYTHON_VERSION=""
23720 fi
23721
23722 #
23723 # Check for a version of Python >= 2.1.0
23724 #
23725 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a version of Python >= '2.1.0'" >&5
23726 printf %s "checking for a version of Python >= '2.1.0'... " >&6; }
23727 ac_supports_python_ver=`$PYTHON -c "import sys; \
23728 ver = sys.version.split ()[0]; \
23729 print (ver >= '2.1.0')"`
23730 if test "$ac_supports_python_ver" != "True"; then
23731 if test -z "$PYTHON_NOVERSIONCHECK"; then
23732 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
23733 printf "%s\n" "no" >&6; }
23734 { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
23735 printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
23736 as_fn_error $? "
23737 This version of the AC_PYTHON_DEVEL macro
23738 doesn't work properly with versions of Python before
23739 2.1.0. You may need to re-run configure, setting the
23740 variables PYTHON_CPPFLAGS, PYTHON_LDFLAGS, PYTHON_SITE_PKG,
23741 PYTHON_EXTRA_LIBS and PYTHON_EXTRA_LDFLAGS by hand.
23742 Moreover, to disable this check, set PYTHON_NOVERSIONCHECK
23743 to something else than an empty string.
23744
23745 See \`config.log' for more details" "$LINENO" 5; }
23746 else
23747 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: skip at user request" >&5
23748 printf "%s\n" "skip at user request" >&6; }
23749 fi
23750 else
23751 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
23752 printf "%s\n" "yes" >&6; }
23753 fi
23754
23755 #
23756 # if the macro parameter ``version'' is set, honour it
23757 #
23758 if test -n ""; then
23759 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a version of Python " >&5
23760 printf %s "checking for a version of Python ... " >&6; }
23761 ac_supports_python_ver=`$PYTHON -c "import sys; \
23762 ver = sys.version.split ()[0]; \
23763 print (ver )"`
23764 if test "$ac_supports_python_ver" = "True"; then
23765 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
23766 printf "%s\n" "yes" >&6; }
23767 else
23768 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
23769 printf "%s\n" "no" >&6; }
23770 as_fn_error $? "this package requires Python .
23771 If you have it installed, but it isn't the default Python
23772 interpreter in your system path, please pass the PYTHON_VERSION
23773 variable to configure. See \`\`configure --help'' for reference.
23774 " "$LINENO" 5
23775 PYTHON_VERSION=""
23776 fi
23777 fi
23778
23779 #
23780 # Check if you have distutils, else fail
23781 #
23782 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for the distutils Python package" >&5
23783 printf %s "checking for the distutils Python package... " >&6; }
23784 ac_distutils_result=`$PYTHON -c "import distutils" 2>&1`
23785 if test -z "$ac_distutils_result"; then
23786 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
23787 printf "%s\n" "yes" >&6; }
23788 else
23789 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
23790 printf "%s\n" "no" >&6; }
23791 as_fn_error $? "cannot import Python module \"distutils\".
23792 Please check your Python installation. The error was:
23793 $ac_distutils_result" "$LINENO" 5
23794 PYTHON_VERSION=""
23795 fi
23796
23797 #
23798 # Check for Python include path
23799 #
23800 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Python include path" >&5
23801 printf %s "checking for Python include path... " >&6; }
23802 if test -z "$PYTHON_CPPFLAGS"; then
23803 python_path=`$PYTHON -c "import distutils.sysconfig; \
23804 print (distutils.sysconfig.get_python_inc ());"`
23805 plat_python_path=`$PYTHON -c "import distutils.sysconfig; \
23806 print (distutils.sysconfig.get_python_inc (plat_specific=1));"`
23807 if test -n "${python_path}"; then
23808 if test "${plat_python_path}" != "${python_path}"; then
23809 python_path="-I$python_path -I$plat_python_path"
23810 else
23811 python_path="-I$python_path"
23812 fi
23813 fi
23814 PYTHON_CPPFLAGS=$python_path
23815 fi
23816 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHON_CPPFLAGS" >&5
23817 printf "%s\n" "$PYTHON_CPPFLAGS" >&6; }
23818
23819
23820 #
23821 # Check for Python library path
23822 #
23823 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Python library path" >&5
23824 printf %s "checking for Python library path... " >&6; }
23825 if test -z "$PYTHON_LDFLAGS"; then
23826 # (makes two attempts to ensure we've got a version number
23827 # from the interpreter)
23828 ac_python_version=`cat<<EOD | $PYTHON -
23829
23830 # join all versioning strings, on some systems
23831 # major/minor numbers could be in different list elements
23832 from distutils.sysconfig import *
23833 e = get_config_var('VERSION')
23834 if e is not None:
23835 print(e)
23836 EOD`
23837
23838 if test -z "$ac_python_version"; then
23839 if test -n "$PYTHON_VERSION"; then
23840 ac_python_version=$PYTHON_VERSION
23841 else
23842 ac_python_version=`$PYTHON -c "import sys; \
23843 print (sys.version[:3])"`
23844 fi
23845 fi
23846
23847 # Make the versioning information available to the compiler
23848
23849 # JW: We don't need it and it interferes with the hack
23850 # to detect multiple Pyhton versions
23851 #AC_DEFINE_UNQUOTED([HAVE_PYTHON], ["$ac_python_version"],
23852 # [If available, contains the Python version number currently in use.])
23853
23854 # First, the library directory:
23855 ac_python_libdir=`cat<<EOD | $PYTHON -
23856
23857 # There should be only one
23858 import distutils.sysconfig
23859 e = distutils.sysconfig.get_config_var('LIBDIR')
23860 if e is not None:
23861 print (e)
23862 EOD`
23863
23864 # Now, for the library:
23865 ac_python_library=`cat<<EOD | $PYTHON -
23866
23867 import distutils.sysconfig
23868 c = distutils.sysconfig.get_config_vars()
23869 if 'LDVERSION' in c:
23870 print ('python'+c['LDVERSION'])
23871 else:
23872 print ('python'+c['VERSION'])
23873 EOD`
23874
23875 # This small piece shamelessly adapted from PostgreSQL python macro;
23876 # credits goes to momjian, I think. I'd like to put the right name
23877 # in the credits, if someone can point me in the right direction... ?
23878 #
23879 if test -n "$ac_python_libdir" -a -n "$ac_python_library"
23880 then
23881 # use the official shared library
23882 ac_python_library=`echo "$ac_python_library" | sed "s/^lib//"`
23883 PYTHON_LDFLAGS="-L$ac_python_libdir -l$ac_python_library"
23884 else
23885 # old way: use libpython from python_configdir
23886 ac_python_libdir=`$PYTHON -c \
23887 "from distutils.sysconfig import get_python_lib as f; \
23888 import os; \
23889 print (os.path.join(f(plat_specific=1, standard_lib=1), 'config'));"`
23890 PYTHON_LDFLAGS="-L$ac_python_libdir -lpython$ac_python_version"
23891 fi
23892
23893 if test -z "PYTHON_LDFLAGS"; then
23894 as_fn_error $? "
23895 Cannot determine location of your Python DSO. Please check it was installed with
23896 dynamic libraries enabled, or try setting PYTHON_LDFLAGS by hand.
23897 " "$LINENO" 5
23898 fi
23899 fi
23900 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHON_LDFLAGS" >&5
23901 printf "%s\n" "$PYTHON_LDFLAGS" >&6; }
23902
23903
23904 #
23905 # Check for site packages
23906 #
23907 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Python site-packages path" >&5
23908 printf %s "checking for Python site-packages path... " >&6; }
23909 if test -z "$PYTHON_SITE_PKG"; then
23910 PYTHON_SITE_PKG=`$PYTHON -c "import distutils.sysconfig; \
23911 print (distutils.sysconfig.get_python_lib(0,0));"`
23912 fi
23913 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHON_SITE_PKG" >&5
23914 printf "%s\n" "$PYTHON_SITE_PKG" >&6; }
23915
23916
23917 #
23918 # libraries which must be linked in when embedding
23919 #
23920 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking python extra libraries" >&5
23921 printf %s "checking python extra libraries... " >&6; }
23922 if test -z "$PYTHON_EXTRA_LIBS"; then
23923 PYTHON_EXTRA_LIBS=`$PYTHON -c "import distutils.sysconfig; \
23924 conf = distutils.sysconfig.get_config_var; \
23925 print (conf('LIBS') + ' ' + conf('SYSLIBS'))"`
23926 fi
23927 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHON_EXTRA_LIBS" >&5
23928 printf "%s\n" "$PYTHON_EXTRA_LIBS" >&6; }
23929
23930
23931 #
23932 # linking flags needed when embedding
23933 #
23934 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking python extra linking flags" >&5
23935 printf %s "checking python extra linking flags... " >&6; }
23936 if test -z "$PYTHON_EXTRA_LDFLAGS"; then
23937 PYTHON_EXTRA_LDFLAGS=`$PYTHON -c "import distutils.sysconfig; \
23938 conf = distutils.sysconfig.get_config_var; \
23939 print (conf('LINKFORSHARED'))"`
23940 fi
23941 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHON_EXTRA_LDFLAGS" >&5
23942 printf "%s\n" "$PYTHON_EXTRA_LDFLAGS" >&6; }
23943
23944
23945 #
23946 # final check to see if everything compiles alright
23947 #
23948 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking consistency of all components of python development environment" >&5
23949 printf %s "checking consistency of all components of python development environment... " >&6; }
23950 # save current global flags
23951 ac_save_LIBS="$LIBS"
23952 ac_save_CPPFLAGS="$CPPFLAGS"
23953 LIBS="$ac_save_LIBS $PYTHON_LDFLAGS $PYTHON_EXTRA_LDFLAGS $PYTHON_EXTRA_LIBS"
23954 CPPFLAGS="$ac_save_CPPFLAGS $PYTHON_CPPFLAGS"
23955 ac_ext=c
23956 ac_cpp='$CPP $CPPFLAGS'
23957 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
23958 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
23959 ac_compiler_gnu=$ac_cv_c_compiler_gnu
23960
23961 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
23962 /* end confdefs.h. */
23963
23964 #include <Python.h>
23965 int
23966 main (void)
23967 {
23968 Py_Initialize();
23969 ;
23970 return 0;
23971 }
23972
23973 _ACEOF
23974 if ac_fn_c_try_link "$LINENO"
23975 then :
23976 pythonexists=yes
23977 else $as_nop
23978 pythonexists=no
23979 fi
23980 rm -f core conftest.err conftest.$ac_objext conftest.beam \
23981 conftest$ac_exeext conftest.$ac_ext
23982 ac_ext=c
23983 ac_cpp='$CPP $CPPFLAGS'
23984 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
23985 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
23986 ac_compiler_gnu=$ac_cv_c_compiler_gnu
23987
23988 # turn back to default flags
23989 CPPFLAGS="$ac_save_CPPFLAGS"
23990 LIBS="$ac_save_LIBS"
23991
23992 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $pythonexists" >&5
23993 printf "%s\n" "$pythonexists" >&6; }
23994
23995 if test ! "x$pythonexists" = "xyes"; then
23996 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING:
23997 Could not link test program to Python. Maybe the main Python library has been
23998 installed in some non-standard library path. If so, pass it to configure,
23999 via the LDFLAGS environment variable.
24000 Example: ./configure LDFLAGS=\"-L/usr/non-standard-path/python/lib\"
24001 ============================================================================
24002 You probably have to install the development version of the Python package
24003 for your distribution. The exact name of this package varies among them.
24004 ============================================================================
24005 " >&5
24006 printf "%s\n" "$as_me: WARNING:
24007 Could not link test program to Python. Maybe the main Python library has been
24008 installed in some non-standard library path. If so, pass it to configure,
24009 via the LDFLAGS environment variable.
24010 Example: ./configure LDFLAGS=\"-L/usr/non-standard-path/python/lib\"
24011 ============================================================================
24012 You probably have to install the development version of the Python package
24013 for your distribution. The exact name of this package varies among them.
24014 ============================================================================
24015 " >&2;}
24016 PYTHON_VERSION=""
24017 fi
24018
24019 #
24020 # all done!
24021 #
24022
24023 if test "$PYTHON_VERSION"; then
24024 PYTHONS="$(echo $PYTHONS $PYTHON)"
24025 PYTHON_VERSIONS="$(echo $PYTHON_VERSIONS $PYTHON_VERSION)"
24026 fi
24027
24028 fi
24029
24030
24031 unset PYTHON
24032 unset PYTHON_VERSION
24033 unset PYTHON_CPPFLAGS
24034 unset PYTHON_LDFLAGS
24035 unset PYTHON_SITE_PKG
24036 unset PYTHON_EXTRA_LIBS
24037 unset PYTHON_EXTRA_LDFLAGS
24038 unset ac_cv_path_PYTHON
24039 unset am_cv_pathless_PYTHON
24040 unset am_cv_python_version
24041 unset am_cv_python_platform
24042 unset am_cv_python_pythondir
24043 unset am_cv_python_pyexecdir
24044
24045
24046
24047
24048
24049
24050 if test -n "$PYTHON"; then
24051 # If the user set $PYTHON, use it and don't search something else.
24052 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $PYTHON version is >= 3.8" >&5
24053 printf %s "checking whether $PYTHON version is >= 3.8... " >&6; }
24054 prog="import sys
24055 # split strings by '.' and convert to numeric. Append some zeros
24056 # because we need at least 4 digits for the hex conversion.
24057 # map returns an iterator in Python 3.0 and a list in 2.x
24058 minver = list(map(int, '3.8'.split('.'))) + [0, 0, 0]
24059 minverhex = 0
24060 # xrange is not present in Python 3.0 and range returns an iterator
24061 for i in list(range(0, 4)): minverhex = (minverhex << 8) + minver[i]
24062 sys.exit(sys.hexversion < minverhex)"
24063 if { echo "$as_me:$LINENO: $PYTHON -c "$prog"" >&5
24064 ($PYTHON -c "$prog") >&5 2>&5
24065 ac_status=$?
24066 echo "$as_me:$LINENO: \$? = $ac_status" >&5
24067 (exit $ac_status); }
24068 then :
24069 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
24070 printf "%s\n" "yes" >&6; }
24071 else $as_nop
24072 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
24073 printf "%s\n" "no" >&6; }
24074 as_fn_error $? "Python interpreter is too old" "$LINENO" 5
24075 fi
24076 am_display_PYTHON=$PYTHON
24077 else
24078 # Otherwise, try each interpreter until we find one that satisfies
24079 # VERSION.
24080 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a Python interpreter with version >= 3.8" >&5
24081 printf %s "checking for a Python interpreter with version >= 3.8... " >&6; }
24082 if test ${am_cv_pathless_PYTHON+y}
24083 then :
24084 printf %s "(cached) " >&6
24085 else $as_nop
24086
24087 for am_cv_pathless_PYTHON in python3.8 none; do
24088 test "$am_cv_pathless_PYTHON" = none && break
24089 prog="import sys
24090 # split strings by '.' and convert to numeric. Append some zeros
24091 # because we need at least 4 digits for the hex conversion.
24092 # map returns an iterator in Python 3.0 and a list in 2.x
24093 minver = list(map(int, '3.8'.split('.'))) + [0, 0, 0]
24094 minverhex = 0
24095 # xrange is not present in Python 3.0 and range returns an iterator
24096 for i in list(range(0, 4)): minverhex = (minverhex << 8) + minver[i]
24097 sys.exit(sys.hexversion < minverhex)"
24098 if { echo "$as_me:$LINENO: $am_cv_pathless_PYTHON -c "$prog"" >&5
24099 ($am_cv_pathless_PYTHON -c "$prog") >&5 2>&5
24100 ac_status=$?
24101 echo "$as_me:$LINENO: \$? = $ac_status" >&5
24102 (exit $ac_status); }
24103 then :
24104 break
24105 fi
24106 done
24107 fi
24108 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_pathless_PYTHON" >&5
24109 printf "%s\n" "$am_cv_pathless_PYTHON" >&6; }
24110 # Set $PYTHON to the absolute path of $am_cv_pathless_PYTHON.
24111 if test "$am_cv_pathless_PYTHON" = none; then
24112 PYTHON=:
24113 else
24114 # Extract the first word of "$am_cv_pathless_PYTHON", so it can be a program name with args.
24115 set dummy $am_cv_pathless_PYTHON; ac_word=$2
24116 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
24117 printf %s "checking for $ac_word... " >&6; }
24118 if test ${ac_cv_path_PYTHON+y}
24119 then :
24120 printf %s "(cached) " >&6
24121 else $as_nop
24122 case $PYTHON in
24123 [\\/]* | ?:[\\/]*)
24124 ac_cv_path_PYTHON="$PYTHON" # Let the user override the test with a path.
24125 ;;
24126 *)
24127 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
24128 for as_dir in $PATH
24129 do
24130 IFS=$as_save_IFS
24131 case $as_dir in #(((
24132 '') as_dir=./ ;;
24133 */) ;;
24134 *) as_dir=$as_dir/ ;;
24135 esac
24136 for ac_exec_ext in '' $ac_executable_extensions; do
24137 if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
24138 ac_cv_path_PYTHON="$as_dir$ac_word$ac_exec_ext"
24139 printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
24140 break 2
24141 fi
24142 done
24143 done
24144 IFS=$as_save_IFS
24145
24146 ;;
24147 esac
24148 fi
24149 PYTHON=$ac_cv_path_PYTHON
24150 if test -n "$PYTHON"; then
24151 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHON" >&5
24152 printf "%s\n" "$PYTHON" >&6; }
24153 else
24154 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
24155 printf "%s\n" "no" >&6; }
24156 fi
24157
24158
24159 fi
24160 am_display_PYTHON=$am_cv_pathless_PYTHON
24161 fi
24162
24163
24164 if test "$PYTHON" = :; then
24165 :
24166 else
24167
24168
24169 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON version" >&5
24170 printf %s "checking for $am_display_PYTHON version... " >&6; }
24171 if test ${am_cv_python_version+y}
24172 then :
24173 printf %s "(cached) " >&6
24174 else $as_nop
24175 am_cv_python_version=`$PYTHON -c "import sys; sys.stdout.write(sys.version[:3])"`
24176 fi
24177 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_version" >&5
24178 printf "%s\n" "$am_cv_python_version" >&6; }
24179 PYTHON_VERSION=$am_cv_python_version
24180
24181
24182
24183 PYTHON_PREFIX='${prefix}'
24184
24185 PYTHON_EXEC_PREFIX='${exec_prefix}'
24186
24187
24188
24189 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON platform" >&5
24190 printf %s "checking for $am_display_PYTHON platform... " >&6; }
24191 if test ${am_cv_python_platform+y}
24192 then :
24193 printf %s "(cached) " >&6
24194 else $as_nop
24195 am_cv_python_platform=`$PYTHON -c "import sys; sys.stdout.write(sys.platform)"`
24196 fi
24197 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_platform" >&5
24198 printf "%s\n" "$am_cv_python_platform" >&6; }
24199 PYTHON_PLATFORM=$am_cv_python_platform
24200
24201
24202 # Just factor out some code duplication.
24203 am_python_setup_sysconfig="\
24204 import sys
24205 # Prefer sysconfig over distutils.sysconfig, for better compatibility
24206 # with python 3.x. See automake bug#10227.
24207 try:
24208 import sysconfig
24209 except ImportError:
24210 can_use_sysconfig = 0
24211 else:
24212 can_use_sysconfig = 1
24213 # Can't use sysconfig in CPython 2.7, since it's broken in virtualenvs:
24214 # <https://github.com/pypa/virtualenv/issues/118>
24215 try:
24216 from platform import python_implementation
24217 if python_implementation() == 'CPython' and sys.version[:3] == '2.7':
24218 can_use_sysconfig = 0
24219 except ImportError:
24220 pass"
24221
24222
24223 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON script directory" >&5
24224 printf %s "checking for $am_display_PYTHON script directory... " >&6; }
24225 if test ${am_cv_python_pythondir+y}
24226 then :
24227 printf %s "(cached) " >&6
24228 else $as_nop
24229 if test "x$prefix" = xNONE
24230 then
24231 am_py_prefix=$ac_default_prefix
24232 else
24233 am_py_prefix=$prefix
24234 fi
24235 am_cv_python_pythondir=`$PYTHON -c "
24236 $am_python_setup_sysconfig
24237 if can_use_sysconfig:
24238 sitedir = sysconfig.get_path('purelib', vars={'base':'$am_py_prefix'})
24239 else:
24240 from distutils import sysconfig
24241 sitedir = sysconfig.get_python_lib(0, 0, prefix='$am_py_prefix')
24242 sys.stdout.write(sitedir)"`
24243 case $am_cv_python_pythondir in
24244 $am_py_prefix*)
24245 am__strip_prefix=`echo "$am_py_prefix" | sed 's|.|.|g'`
24246 am_cv_python_pythondir=`echo "$am_cv_python_pythondir" | sed "s,^$am__strip_prefix,$PYTHON_PREFIX,"`
24247 ;;
24248 *)
24249 case $am_py_prefix in
24250 /usr|/System*) ;;
24251 *)
24252 am_cv_python_pythondir=$PYTHON_PREFIX/lib/python$PYTHON_VERSION/site-packages
24253 ;;
24254 esac
24255 ;;
24256 esac
24257
24258 fi
24259 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_pythondir" >&5
24260 printf "%s\n" "$am_cv_python_pythondir" >&6; }
24261 pythondir=$am_cv_python_pythondir
24262
24263
24264
24265 pkgpythondir=\${pythondir}/$PACKAGE
24266
24267
24268 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON extension module directory" >&5
24269 printf %s "checking for $am_display_PYTHON extension module directory... " >&6; }
24270 if test ${am_cv_python_pyexecdir+y}
24271 then :
24272 printf %s "(cached) " >&6
24273 else $as_nop
24274 if test "x$exec_prefix" = xNONE
24275 then
24276 am_py_exec_prefix=$am_py_prefix
24277 else
24278 am_py_exec_prefix=$exec_prefix
24279 fi
24280 am_cv_python_pyexecdir=`$PYTHON -c "
24281 $am_python_setup_sysconfig
24282 if can_use_sysconfig:
24283 sitedir = sysconfig.get_path('platlib', vars={'platbase':'$am_py_prefix'})
24284 else:
24285 from distutils import sysconfig
24286 sitedir = sysconfig.get_python_lib(1, 0, prefix='$am_py_prefix')
24287 sys.stdout.write(sitedir)"`
24288 case $am_cv_python_pyexecdir in
24289 $am_py_exec_prefix*)
24290 am__strip_prefix=`echo "$am_py_exec_prefix" | sed 's|.|.|g'`
24291 am_cv_python_pyexecdir=`echo "$am_cv_python_pyexecdir" | sed "s,^$am__strip_prefix,$PYTHON_EXEC_PREFIX,"`
24292 ;;
24293 *)
24294 case $am_py_exec_prefix in
24295 /usr|/System*) ;;
24296 *)
24297 am_cv_python_pyexecdir=$PYTHON_EXEC_PREFIX/lib/python$PYTHON_VERSION/site-packages
24298 ;;
24299 esac
24300 ;;
24301 esac
24302
24303 fi
24304 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_pyexecdir" >&5
24305 printf "%s\n" "$am_cv_python_pyexecdir" >&6; }
24306 pyexecdir=$am_cv_python_pyexecdir
24307
24308
24309
24310 pkgpyexecdir=\${pyexecdir}/$PACKAGE
24311
24312
24313
24314
24315 #
24316 # Allow the use of a (user set) custom python version
24317 #
24318
24319
24320 # Extract the first word of "python[$PYTHON_VERSION]", so it can be a program name with args.
24321 set dummy python$PYTHON_VERSION; ac_word=$2
24322 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
24323 printf %s "checking for $ac_word... " >&6; }
24324 if test ${ac_cv_path_PYTHON+y}
24325 then :
24326 printf %s "(cached) " >&6
24327 else $as_nop
24328 case $PYTHON in
24329 [\\/]* | ?:[\\/]*)
24330 ac_cv_path_PYTHON="$PYTHON" # Let the user override the test with a path.
24331 ;;
24332 *)
24333 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
24334 for as_dir in $PATH
24335 do
24336 IFS=$as_save_IFS
24337 case $as_dir in #(((
24338 '') as_dir=./ ;;
24339 */) ;;
24340 *) as_dir=$as_dir/ ;;
24341 esac
24342 for ac_exec_ext in '' $ac_executable_extensions; do
24343 if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
24344 ac_cv_path_PYTHON="$as_dir$ac_word$ac_exec_ext"
24345 printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
24346 break 2
24347 fi
24348 done
24349 done
24350 IFS=$as_save_IFS
24351
24352 ;;
24353 esac
24354 fi
24355 PYTHON=$ac_cv_path_PYTHON
24356 if test -n "$PYTHON"; then
24357 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHON" >&5
24358 printf "%s\n" "$PYTHON" >&6; }
24359 else
24360 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
24361 printf "%s\n" "no" >&6; }
24362 fi
24363
24364
24365 if test -z "$PYTHON"; then
24366 as_fn_error $? "Cannot find python$PYTHON_VERSION in your system path" "$LINENO" 5
24367 PYTHON_VERSION=""
24368 fi
24369
24370 #
24371 # Check for a version of Python >= 2.1.0
24372 #
24373 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a version of Python >= '2.1.0'" >&5
24374 printf %s "checking for a version of Python >= '2.1.0'... " >&6; }
24375 ac_supports_python_ver=`$PYTHON -c "import sys; \
24376 ver = sys.version.split ()[0]; \
24377 print (ver >= '2.1.0')"`
24378 if test "$ac_supports_python_ver" != "True"; then
24379 if test -z "$PYTHON_NOVERSIONCHECK"; then
24380 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
24381 printf "%s\n" "no" >&6; }
24382 { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
24383 printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
24384 as_fn_error $? "
24385 This version of the AC_PYTHON_DEVEL macro
24386 doesn't work properly with versions of Python before
24387 2.1.0. You may need to re-run configure, setting the
24388 variables PYTHON_CPPFLAGS, PYTHON_LDFLAGS, PYTHON_SITE_PKG,
24389 PYTHON_EXTRA_LIBS and PYTHON_EXTRA_LDFLAGS by hand.
24390 Moreover, to disable this check, set PYTHON_NOVERSIONCHECK
24391 to something else than an empty string.
24392
24393 See \`config.log' for more details" "$LINENO" 5; }
24394 else
24395 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: skip at user request" >&5
24396 printf "%s\n" "skip at user request" >&6; }
24397 fi
24398 else
24399 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
24400 printf "%s\n" "yes" >&6; }
24401 fi
24402
24403 #
24404 # if the macro parameter ``version'' is set, honour it
24405 #
24406 if test -n ""; then
24407 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a version of Python " >&5
24408 printf %s "checking for a version of Python ... " >&6; }
24409 ac_supports_python_ver=`$PYTHON -c "import sys; \
24410 ver = sys.version.split ()[0]; \
24411 print (ver )"`
24412 if test "$ac_supports_python_ver" = "True"; then
24413 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
24414 printf "%s\n" "yes" >&6; }
24415 else
24416 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
24417 printf "%s\n" "no" >&6; }
24418 as_fn_error $? "this package requires Python .
24419 If you have it installed, but it isn't the default Python
24420 interpreter in your system path, please pass the PYTHON_VERSION
24421 variable to configure. See \`\`configure --help'' for reference.
24422 " "$LINENO" 5
24423 PYTHON_VERSION=""
24424 fi
24425 fi
24426
24427 #
24428 # Check if you have distutils, else fail
24429 #
24430 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for the distutils Python package" >&5
24431 printf %s "checking for the distutils Python package... " >&6; }
24432 ac_distutils_result=`$PYTHON -c "import distutils" 2>&1`
24433 if test -z "$ac_distutils_result"; then
24434 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
24435 printf "%s\n" "yes" >&6; }
24436 else
24437 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
24438 printf "%s\n" "no" >&6; }
24439 as_fn_error $? "cannot import Python module \"distutils\".
24440 Please check your Python installation. The error was:
24441 $ac_distutils_result" "$LINENO" 5
24442 PYTHON_VERSION=""
24443 fi
24444
24445 #
24446 # Check for Python include path
24447 #
24448 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Python include path" >&5
24449 printf %s "checking for Python include path... " >&6; }
24450 if test -z "$PYTHON_CPPFLAGS"; then
24451 python_path=`$PYTHON -c "import distutils.sysconfig; \
24452 print (distutils.sysconfig.get_python_inc ());"`
24453 plat_python_path=`$PYTHON -c "import distutils.sysconfig; \
24454 print (distutils.sysconfig.get_python_inc (plat_specific=1));"`
24455 if test -n "${python_path}"; then
24456 if test "${plat_python_path}" != "${python_path}"; then
24457 python_path="-I$python_path -I$plat_python_path"
24458 else
24459 python_path="-I$python_path"
24460 fi
24461 fi
24462 PYTHON_CPPFLAGS=$python_path
24463 fi
24464 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHON_CPPFLAGS" >&5
24465 printf "%s\n" "$PYTHON_CPPFLAGS" >&6; }
24466
24467
24468 #
24469 # Check for Python library path
24470 #
24471 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Python library path" >&5
24472 printf %s "checking for Python library path... " >&6; }
24473 if test -z "$PYTHON_LDFLAGS"; then
24474 # (makes two attempts to ensure we've got a version number
24475 # from the interpreter)
24476 ac_python_version=`cat<<EOD | $PYTHON -
24477
24478 # join all versioning strings, on some systems
24479 # major/minor numbers could be in different list elements
24480 from distutils.sysconfig import *
24481 e = get_config_var('VERSION')
24482 if e is not None:
24483 print(e)
24484 EOD`
24485
24486 if test -z "$ac_python_version"; then
24487 if test -n "$PYTHON_VERSION"; then
24488 ac_python_version=$PYTHON_VERSION
24489 else
24490 ac_python_version=`$PYTHON -c "import sys; \
24491 print (sys.version[:3])"`
24492 fi
24493 fi
24494
24495 # Make the versioning information available to the compiler
24496
24497 # JW: We don't need it and it interferes with the hack
24498 # to detect multiple Pyhton versions
24499 #AC_DEFINE_UNQUOTED([HAVE_PYTHON], ["$ac_python_version"],
24500 # [If available, contains the Python version number currently in use.])
24501
24502 # First, the library directory:
24503 ac_python_libdir=`cat<<EOD | $PYTHON -
24504
24505 # There should be only one
24506 import distutils.sysconfig
24507 e = distutils.sysconfig.get_config_var('LIBDIR')
24508 if e is not None:
24509 print (e)
24510 EOD`
24511
24512 # Now, for the library:
24513 ac_python_library=`cat<<EOD | $PYTHON -
24514
24515 import distutils.sysconfig
24516 c = distutils.sysconfig.get_config_vars()
24517 if 'LDVERSION' in c:
24518 print ('python'+c['LDVERSION'])
24519 else:
24520 print ('python'+c['VERSION'])
24521 EOD`
24522
24523 # This small piece shamelessly adapted from PostgreSQL python macro;
24524 # credits goes to momjian, I think. I'd like to put the right name
24525 # in the credits, if someone can point me in the right direction... ?
24526 #
24527 if test -n "$ac_python_libdir" -a -n "$ac_python_library"
24528 then
24529 # use the official shared library
24530 ac_python_library=`echo "$ac_python_library" | sed "s/^lib//"`
24531 PYTHON_LDFLAGS="-L$ac_python_libdir -l$ac_python_library"
24532 else
24533 # old way: use libpython from python_configdir
24534 ac_python_libdir=`$PYTHON -c \
24535 "from distutils.sysconfig import get_python_lib as f; \
24536 import os; \
24537 print (os.path.join(f(plat_specific=1, standard_lib=1), 'config'));"`
24538 PYTHON_LDFLAGS="-L$ac_python_libdir -lpython$ac_python_version"
24539 fi
24540
24541 if test -z "PYTHON_LDFLAGS"; then
24542 as_fn_error $? "
24543 Cannot determine location of your Python DSO. Please check it was installed with
24544 dynamic libraries enabled, or try setting PYTHON_LDFLAGS by hand.
24545 " "$LINENO" 5
24546 fi
24547 fi
24548 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHON_LDFLAGS" >&5
24549 printf "%s\n" "$PYTHON_LDFLAGS" >&6; }
24550
24551
24552 #
24553 # Check for site packages
24554 #
24555 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Python site-packages path" >&5
24556 printf %s "checking for Python site-packages path... " >&6; }
24557 if test -z "$PYTHON_SITE_PKG"; then
24558 PYTHON_SITE_PKG=`$PYTHON -c "import distutils.sysconfig; \
24559 print (distutils.sysconfig.get_python_lib(0,0));"`
24560 fi
24561 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHON_SITE_PKG" >&5
24562 printf "%s\n" "$PYTHON_SITE_PKG" >&6; }
24563
24564
24565 #
24566 # libraries which must be linked in when embedding
24567 #
24568 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking python extra libraries" >&5
24569 printf %s "checking python extra libraries... " >&6; }
24570 if test -z "$PYTHON_EXTRA_LIBS"; then
24571 PYTHON_EXTRA_LIBS=`$PYTHON -c "import distutils.sysconfig; \
24572 conf = distutils.sysconfig.get_config_var; \
24573 print (conf('LIBS') + ' ' + conf('SYSLIBS'))"`
24574 fi
24575 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHON_EXTRA_LIBS" >&5
24576 printf "%s\n" "$PYTHON_EXTRA_LIBS" >&6; }
24577
24578
24579 #
24580 # linking flags needed when embedding
24581 #
24582 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking python extra linking flags" >&5
24583 printf %s "checking python extra linking flags... " >&6; }
24584 if test -z "$PYTHON_EXTRA_LDFLAGS"; then
24585 PYTHON_EXTRA_LDFLAGS=`$PYTHON -c "import distutils.sysconfig; \
24586 conf = distutils.sysconfig.get_config_var; \
24587 print (conf('LINKFORSHARED'))"`
24588 fi
24589 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHON_EXTRA_LDFLAGS" >&5
24590 printf "%s\n" "$PYTHON_EXTRA_LDFLAGS" >&6; }
24591
24592
24593 #
24594 # final check to see if everything compiles alright
24595 #
24596 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking consistency of all components of python development environment" >&5
24597 printf %s "checking consistency of all components of python development environment... " >&6; }
24598 # save current global flags
24599 ac_save_LIBS="$LIBS"
24600 ac_save_CPPFLAGS="$CPPFLAGS"
24601 LIBS="$ac_save_LIBS $PYTHON_LDFLAGS $PYTHON_EXTRA_LDFLAGS $PYTHON_EXTRA_LIBS"
24602 CPPFLAGS="$ac_save_CPPFLAGS $PYTHON_CPPFLAGS"
24603 ac_ext=c
24604 ac_cpp='$CPP $CPPFLAGS'
24605 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
24606 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
24607 ac_compiler_gnu=$ac_cv_c_compiler_gnu
24608
24609 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
24610 /* end confdefs.h. */
24611
24612 #include <Python.h>
24613 int
24614 main (void)
24615 {
24616 Py_Initialize();
24617 ;
24618 return 0;
24619 }
24620
24621 _ACEOF
24622 if ac_fn_c_try_link "$LINENO"
24623 then :
24624 pythonexists=yes
24625 else $as_nop
24626 pythonexists=no
24627 fi
24628 rm -f core conftest.err conftest.$ac_objext conftest.beam \
24629 conftest$ac_exeext conftest.$ac_ext
24630 ac_ext=c
24631 ac_cpp='$CPP $CPPFLAGS'
24632 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
24633 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
24634 ac_compiler_gnu=$ac_cv_c_compiler_gnu
24635
24636 # turn back to default flags
24637 CPPFLAGS="$ac_save_CPPFLAGS"
24638 LIBS="$ac_save_LIBS"
24639
24640 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $pythonexists" >&5
24641 printf "%s\n" "$pythonexists" >&6; }
24642
24643 if test ! "x$pythonexists" = "xyes"; then
24644 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING:
24645 Could not link test program to Python. Maybe the main Python library has been
24646 installed in some non-standard library path. If so, pass it to configure,
24647 via the LDFLAGS environment variable.
24648 Example: ./configure LDFLAGS=\"-L/usr/non-standard-path/python/lib\"
24649 ============================================================================
24650 You probably have to install the development version of the Python package
24651 for your distribution. The exact name of this package varies among them.
24652 ============================================================================
24653 " >&5
24654 printf "%s\n" "$as_me: WARNING:
24655 Could not link test program to Python. Maybe the main Python library has been
24656 installed in some non-standard library path. If so, pass it to configure,
24657 via the LDFLAGS environment variable.
24658 Example: ./configure LDFLAGS=\"-L/usr/non-standard-path/python/lib\"
24659 ============================================================================
24660 You probably have to install the development version of the Python package
24661 for your distribution. The exact name of this package varies among them.
24662 ============================================================================
24663 " >&2;}
24664 PYTHON_VERSION=""
24665 fi
24666
24667 #
24668 # all done!
24669 #
24670
24671 if test "$PYTHON_VERSION"; then
24672 PYTHONS="$(echo $PYTHONS $PYTHON)"
24673 PYTHON_VERSIONS="$(echo $PYTHON_VERSIONS $PYTHON_VERSION)"
24674 fi
24675
24676 fi
24677
24678
24679 unset PYTHON
24680 unset PYTHON_VERSION
24681 unset PYTHON_CPPFLAGS
24682 unset PYTHON_LDFLAGS
24683 unset PYTHON_SITE_PKG
24684 unset PYTHON_EXTRA_LIBS
24685 unset PYTHON_EXTRA_LDFLAGS
24686 unset ac_cv_path_PYTHON
24687 unset am_cv_pathless_PYTHON
24688 unset am_cv_python_version
24689 unset am_cv_python_platform
24690 unset am_cv_python_pythondir
24691 unset am_cv_python_pyexecdir
24692
24693
24694
24695
24696
24697
24698 if test -n "$PYTHON"; then
24699 # If the user set $PYTHON, use it and don't search something else.
24700 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $PYTHON version is >= 3.9" >&5
24701 printf %s "checking whether $PYTHON version is >= 3.9... " >&6; }
24702 prog="import sys
24703 # split strings by '.' and convert to numeric. Append some zeros
24704 # because we need at least 4 digits for the hex conversion.
24705 # map returns an iterator in Python 3.0 and a list in 2.x
24706 minver = list(map(int, '3.9'.split('.'))) + [0, 0, 0]
24707 minverhex = 0
24708 # xrange is not present in Python 3.0 and range returns an iterator
24709 for i in list(range(0, 4)): minverhex = (minverhex << 8) + minver[i]
24710 sys.exit(sys.hexversion < minverhex)"
24711 if { echo "$as_me:$LINENO: $PYTHON -c "$prog"" >&5
24712 ($PYTHON -c "$prog") >&5 2>&5
24713 ac_status=$?
24714 echo "$as_me:$LINENO: \$? = $ac_status" >&5
24715 (exit $ac_status); }
24716 then :
24717 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
24718 printf "%s\n" "yes" >&6; }
24719 else $as_nop
24720 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
24721 printf "%s\n" "no" >&6; }
24722 as_fn_error $? "Python interpreter is too old" "$LINENO" 5
24723 fi
24724 am_display_PYTHON=$PYTHON
24725 else
24726 # Otherwise, try each interpreter until we find one that satisfies
24727 # VERSION.
24728 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a Python interpreter with version >= 3.9" >&5
24729 printf %s "checking for a Python interpreter with version >= 3.9... " >&6; }
24730 if test ${am_cv_pathless_PYTHON+y}
24731 then :
24732 printf %s "(cached) " >&6
24733 else $as_nop
24734
24735 for am_cv_pathless_PYTHON in python3.9 none; do
24736 test "$am_cv_pathless_PYTHON" = none && break
24737 prog="import sys
24738 # split strings by '.' and convert to numeric. Append some zeros
24739 # because we need at least 4 digits for the hex conversion.
24740 # map returns an iterator in Python 3.0 and a list in 2.x
24741 minver = list(map(int, '3.9'.split('.'))) + [0, 0, 0]
24742 minverhex = 0
24743 # xrange is not present in Python 3.0 and range returns an iterator
24744 for i in list(range(0, 4)): minverhex = (minverhex << 8) + minver[i]
24745 sys.exit(sys.hexversion < minverhex)"
24746 if { echo "$as_me:$LINENO: $am_cv_pathless_PYTHON -c "$prog"" >&5
24747 ($am_cv_pathless_PYTHON -c "$prog") >&5 2>&5
24748 ac_status=$?
24749 echo "$as_me:$LINENO: \$? = $ac_status" >&5
24750 (exit $ac_status); }
24751 then :
24752 break
24753 fi
24754 done
24755 fi
24756 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_pathless_PYTHON" >&5
24757 printf "%s\n" "$am_cv_pathless_PYTHON" >&6; }
24758 # Set $PYTHON to the absolute path of $am_cv_pathless_PYTHON.
24759 if test "$am_cv_pathless_PYTHON" = none; then
24760 PYTHON=:
24761 else
24762 # Extract the first word of "$am_cv_pathless_PYTHON", so it can be a program name with args.
24763 set dummy $am_cv_pathless_PYTHON; ac_word=$2
24764 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
24765 printf %s "checking for $ac_word... " >&6; }
24766 if test ${ac_cv_path_PYTHON+y}
24767 then :
24768 printf %s "(cached) " >&6
24769 else $as_nop
24770 case $PYTHON in
24771 [\\/]* | ?:[\\/]*)
24772 ac_cv_path_PYTHON="$PYTHON" # Let the user override the test with a path.
24773 ;;
24774 *)
24775 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
24776 for as_dir in $PATH
24777 do
24778 IFS=$as_save_IFS
24779 case $as_dir in #(((
24780 '') as_dir=./ ;;
24781 */) ;;
24782 *) as_dir=$as_dir/ ;;
24783 esac
24784 for ac_exec_ext in '' $ac_executable_extensions; do
24785 if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
24786 ac_cv_path_PYTHON="$as_dir$ac_word$ac_exec_ext"
24787 printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
24788 break 2
24789 fi
24790 done
24791 done
24792 IFS=$as_save_IFS
24793
24794 ;;
24795 esac
24796 fi
24797 PYTHON=$ac_cv_path_PYTHON
24798 if test -n "$PYTHON"; then
24799 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHON" >&5
24800 printf "%s\n" "$PYTHON" >&6; }
24801 else
24802 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
24803 printf "%s\n" "no" >&6; }
24804 fi
24805
24806
24807 fi
24808 am_display_PYTHON=$am_cv_pathless_PYTHON
24809 fi
24810
24811
24812 if test "$PYTHON" = :; then
24813 :
24814 else
24815
24816
24817 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON version" >&5
24818 printf %s "checking for $am_display_PYTHON version... " >&6; }
24819 if test ${am_cv_python_version+y}
24820 then :
24821 printf %s "(cached) " >&6
24822 else $as_nop
24823 am_cv_python_version=`$PYTHON -c "import sys; sys.stdout.write(sys.version[:3])"`
24824 fi
24825 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_version" >&5
24826 printf "%s\n" "$am_cv_python_version" >&6; }
24827 PYTHON_VERSION=$am_cv_python_version
24828
24829
24830
24831 PYTHON_PREFIX='${prefix}'
24832
24833 PYTHON_EXEC_PREFIX='${exec_prefix}'
24834
24835
24836
24837 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON platform" >&5
24838 printf %s "checking for $am_display_PYTHON platform... " >&6; }
24839 if test ${am_cv_python_platform+y}
24840 then :
24841 printf %s "(cached) " >&6
24842 else $as_nop
24843 am_cv_python_platform=`$PYTHON -c "import sys; sys.stdout.write(sys.platform)"`
24844 fi
24845 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_platform" >&5
24846 printf "%s\n" "$am_cv_python_platform" >&6; }
24847 PYTHON_PLATFORM=$am_cv_python_platform
24848
24849
24850 # Just factor out some code duplication.
24851 am_python_setup_sysconfig="\
24852 import sys
24853 # Prefer sysconfig over distutils.sysconfig, for better compatibility
24854 # with python 3.x. See automake bug#10227.
24855 try:
24856 import sysconfig
24857 except ImportError:
24858 can_use_sysconfig = 0
24859 else:
24860 can_use_sysconfig = 1
24861 # Can't use sysconfig in CPython 2.7, since it's broken in virtualenvs:
24862 # <https://github.com/pypa/virtualenv/issues/118>
24863 try:
24864 from platform import python_implementation
24865 if python_implementation() == 'CPython' and sys.version[:3] == '2.7':
24866 can_use_sysconfig = 0
24867 except ImportError:
24868 pass"
24869
24870
24871 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON script directory" >&5
24872 printf %s "checking for $am_display_PYTHON script directory... " >&6; }
24873 if test ${am_cv_python_pythondir+y}
24874 then :
24875 printf %s "(cached) " >&6
24876 else $as_nop
24877 if test "x$prefix" = xNONE
24878 then
24879 am_py_prefix=$ac_default_prefix
24880 else
24881 am_py_prefix=$prefix
24882 fi
24883 am_cv_python_pythondir=`$PYTHON -c "
24884 $am_python_setup_sysconfig
24885 if can_use_sysconfig:
24886 sitedir = sysconfig.get_path('purelib', vars={'base':'$am_py_prefix'})
24887 else:
24888 from distutils import sysconfig
24889 sitedir = sysconfig.get_python_lib(0, 0, prefix='$am_py_prefix')
24890 sys.stdout.write(sitedir)"`
24891 case $am_cv_python_pythondir in
24892 $am_py_prefix*)
24893 am__strip_prefix=`echo "$am_py_prefix" | sed 's|.|.|g'`
24894 am_cv_python_pythondir=`echo "$am_cv_python_pythondir" | sed "s,^$am__strip_prefix,$PYTHON_PREFIX,"`
24895 ;;
24896 *)
24897 case $am_py_prefix in
24898 /usr|/System*) ;;
24899 *)
24900 am_cv_python_pythondir=$PYTHON_PREFIX/lib/python$PYTHON_VERSION/site-packages
24901 ;;
24902 esac
24903 ;;
24904 esac
24905
24906 fi
24907 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_pythondir" >&5
24908 printf "%s\n" "$am_cv_python_pythondir" >&6; }
24909 pythondir=$am_cv_python_pythondir
24910
24911
24912
24913 pkgpythondir=\${pythondir}/$PACKAGE
24914
24915
24916 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON extension module directory" >&5
24917 printf %s "checking for $am_display_PYTHON extension module directory... " >&6; }
24918 if test ${am_cv_python_pyexecdir+y}
24919 then :
24920 printf %s "(cached) " >&6
24921 else $as_nop
24922 if test "x$exec_prefix" = xNONE
24923 then
24924 am_py_exec_prefix=$am_py_prefix
24925 else
24926 am_py_exec_prefix=$exec_prefix
24927 fi
24928 am_cv_python_pyexecdir=`$PYTHON -c "
24929 $am_python_setup_sysconfig
24930 if can_use_sysconfig:
24931 sitedir = sysconfig.get_path('platlib', vars={'platbase':'$am_py_prefix'})
24932 else:
24933 from distutils import sysconfig
24934 sitedir = sysconfig.get_python_lib(1, 0, prefix='$am_py_prefix')
24935 sys.stdout.write(sitedir)"`
24936 case $am_cv_python_pyexecdir in
24937 $am_py_exec_prefix*)
24938 am__strip_prefix=`echo "$am_py_exec_prefix" | sed 's|.|.|g'`
24939 am_cv_python_pyexecdir=`echo "$am_cv_python_pyexecdir" | sed "s,^$am__strip_prefix,$PYTHON_EXEC_PREFIX,"`
24940 ;;
24941 *)
24942 case $am_py_exec_prefix in
24943 /usr|/System*) ;;
24944 *)
24945 am_cv_python_pyexecdir=$PYTHON_EXEC_PREFIX/lib/python$PYTHON_VERSION/site-packages
24946 ;;
24947 esac
24948 ;;
24949 esac
24950
24951 fi
24952 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_pyexecdir" >&5
24953 printf "%s\n" "$am_cv_python_pyexecdir" >&6; }
24954 pyexecdir=$am_cv_python_pyexecdir
24955
24956
24957
24958 pkgpyexecdir=\${pyexecdir}/$PACKAGE
24959
24960
24961
24962
24963 #
24964 # Allow the use of a (user set) custom python version
24965 #
24966
24967
24968 # Extract the first word of "python[$PYTHON_VERSION]", so it can be a program name with args.
24969 set dummy python$PYTHON_VERSION; ac_word=$2
24970 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
24971 printf %s "checking for $ac_word... " >&6; }
24972 if test ${ac_cv_path_PYTHON+y}
24973 then :
24974 printf %s "(cached) " >&6
24975 else $as_nop
24976 case $PYTHON in
24977 [\\/]* | ?:[\\/]*)
24978 ac_cv_path_PYTHON="$PYTHON" # Let the user override the test with a path.
24979 ;;
24980 *)
24981 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
24982 for as_dir in $PATH
24983 do
24984 IFS=$as_save_IFS
24985 case $as_dir in #(((
24986 '') as_dir=./ ;;
24987 */) ;;
24988 *) as_dir=$as_dir/ ;;
24989 esac
24990 for ac_exec_ext in '' $ac_executable_extensions; do
24991 if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
24992 ac_cv_path_PYTHON="$as_dir$ac_word$ac_exec_ext"
24993 printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
24994 break 2
24995 fi
24996 done
24997 done
24998 IFS=$as_save_IFS
24999
25000 ;;
25001 esac
25002 fi
25003 PYTHON=$ac_cv_path_PYTHON
25004 if test -n "$PYTHON"; then
25005 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHON" >&5
25006 printf "%s\n" "$PYTHON" >&6; }
25007 else
25008 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
25009 printf "%s\n" "no" >&6; }
25010 fi
25011
25012
25013 if test -z "$PYTHON"; then
25014 as_fn_error $? "Cannot find python$PYTHON_VERSION in your system path" "$LINENO" 5
25015 PYTHON_VERSION=""
25016 fi
25017
25018 #
25019 # Check for a version of Python >= 2.1.0
25020 #
25021 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a version of Python >= '2.1.0'" >&5
25022 printf %s "checking for a version of Python >= '2.1.0'... " >&6; }
25023 ac_supports_python_ver=`$PYTHON -c "import sys; \
25024 ver = sys.version.split ()[0]; \
25025 print (ver >= '2.1.0')"`
25026 if test "$ac_supports_python_ver" != "True"; then
25027 if test -z "$PYTHON_NOVERSIONCHECK"; then
25028 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
25029 printf "%s\n" "no" >&6; }
25030 { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
25031 printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
25032 as_fn_error $? "
25033 This version of the AC_PYTHON_DEVEL macro
25034 doesn't work properly with versions of Python before
25035 2.1.0. You may need to re-run configure, setting the
25036 variables PYTHON_CPPFLAGS, PYTHON_LDFLAGS, PYTHON_SITE_PKG,
25037 PYTHON_EXTRA_LIBS and PYTHON_EXTRA_LDFLAGS by hand.
25038 Moreover, to disable this check, set PYTHON_NOVERSIONCHECK
25039 to something else than an empty string.
25040
25041 See \`config.log' for more details" "$LINENO" 5; }
25042 else
25043 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: skip at user request" >&5
25044 printf "%s\n" "skip at user request" >&6; }
25045 fi
25046 else
25047 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
25048 printf "%s\n" "yes" >&6; }
25049 fi
25050
25051 #
25052 # if the macro parameter ``version'' is set, honour it
25053 #
25054 if test -n ""; then
25055 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a version of Python " >&5
25056 printf %s "checking for a version of Python ... " >&6; }
25057 ac_supports_python_ver=`$PYTHON -c "import sys; \
25058 ver = sys.version.split ()[0]; \
25059 print (ver )"`
25060 if test "$ac_supports_python_ver" = "True"; then
25061 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
25062 printf "%s\n" "yes" >&6; }
25063 else
25064 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
25065 printf "%s\n" "no" >&6; }
25066 as_fn_error $? "this package requires Python .
25067 If you have it installed, but it isn't the default Python
25068 interpreter in your system path, please pass the PYTHON_VERSION
25069 variable to configure. See \`\`configure --help'' for reference.
25070 " "$LINENO" 5
25071 PYTHON_VERSION=""
25072 fi
25073 fi
25074
25075 #
25076 # Check if you have distutils, else fail
25077 #
25078 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for the distutils Python package" >&5
25079 printf %s "checking for the distutils Python package... " >&6; }
25080 ac_distutils_result=`$PYTHON -c "import distutils" 2>&1`
25081 if test -z "$ac_distutils_result"; then
25082 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
25083 printf "%s\n" "yes" >&6; }
25084 else
25085 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
25086 printf "%s\n" "no" >&6; }
25087 as_fn_error $? "cannot import Python module \"distutils\".
25088 Please check your Python installation. The error was:
25089 $ac_distutils_result" "$LINENO" 5
25090 PYTHON_VERSION=""
25091 fi
25092
25093 #
25094 # Check for Python include path
25095 #
25096 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Python include path" >&5
25097 printf %s "checking for Python include path... " >&6; }
25098 if test -z "$PYTHON_CPPFLAGS"; then
25099 python_path=`$PYTHON -c "import distutils.sysconfig; \
25100 print (distutils.sysconfig.get_python_inc ());"`
25101 plat_python_path=`$PYTHON -c "import distutils.sysconfig; \
25102 print (distutils.sysconfig.get_python_inc (plat_specific=1));"`
25103 if test -n "${python_path}"; then
25104 if test "${plat_python_path}" != "${python_path}"; then
25105 python_path="-I$python_path -I$plat_python_path"
25106 else
25107 python_path="-I$python_path"
25108 fi
25109 fi
25110 PYTHON_CPPFLAGS=$python_path
25111 fi
25112 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHON_CPPFLAGS" >&5
25113 printf "%s\n" "$PYTHON_CPPFLAGS" >&6; }
25114
25115
25116 #
25117 # Check for Python library path
25118 #
25119 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Python library path" >&5
25120 printf %s "checking for Python library path... " >&6; }
25121 if test -z "$PYTHON_LDFLAGS"; then
25122 # (makes two attempts to ensure we've got a version number
25123 # from the interpreter)
25124 ac_python_version=`cat<<EOD | $PYTHON -
25125
25126 # join all versioning strings, on some systems
25127 # major/minor numbers could be in different list elements
25128 from distutils.sysconfig import *
25129 e = get_config_var('VERSION')
25130 if e is not None:
25131 print(e)
25132 EOD`
25133
25134 if test -z "$ac_python_version"; then
25135 if test -n "$PYTHON_VERSION"; then
25136 ac_python_version=$PYTHON_VERSION
25137 else
25138 ac_python_version=`$PYTHON -c "import sys; \
25139 print (sys.version[:3])"`
25140 fi
25141 fi
25142
25143 # Make the versioning information available to the compiler
25144
25145 # JW: We don't need it and it interferes with the hack
25146 # to detect multiple Pyhton versions
25147 #AC_DEFINE_UNQUOTED([HAVE_PYTHON], ["$ac_python_version"],
25148 # [If available, contains the Python version number currently in use.])
25149
25150 # First, the library directory:
25151 ac_python_libdir=`cat<<EOD | $PYTHON -
25152
25153 # There should be only one
25154 import distutils.sysconfig
25155 e = distutils.sysconfig.get_config_var('LIBDIR')
25156 if e is not None:
25157 print (e)
25158 EOD`
25159
25160 # Now, for the library:
25161 ac_python_library=`cat<<EOD | $PYTHON -
25162
25163 import distutils.sysconfig
25164 c = distutils.sysconfig.get_config_vars()
25165 if 'LDVERSION' in c:
25166 print ('python'+c['LDVERSION'])
25167 else:
25168 print ('python'+c['VERSION'])
25169 EOD`
25170
25171 # This small piece shamelessly adapted from PostgreSQL python macro;
25172 # credits goes to momjian, I think. I'd like to put the right name
25173 # in the credits, if someone can point me in the right direction... ?
25174 #
25175 if test -n "$ac_python_libdir" -a -n "$ac_python_library"
25176 then
25177 # use the official shared library
25178 ac_python_library=`echo "$ac_python_library" | sed "s/^lib//"`
25179 PYTHON_LDFLAGS="-L$ac_python_libdir -l$ac_python_library"
25180 else
25181 # old way: use libpython from python_configdir
25182 ac_python_libdir=`$PYTHON -c \
25183 "from distutils.sysconfig import get_python_lib as f; \
25184 import os; \
25185 print (os.path.join(f(plat_specific=1, standard_lib=1), 'config'));"`
25186 PYTHON_LDFLAGS="-L$ac_python_libdir -lpython$ac_python_version"
25187 fi
25188
25189 if test -z "PYTHON_LDFLAGS"; then
25190 as_fn_error $? "
25191 Cannot determine location of your Python DSO. Please check it was installed with
25192 dynamic libraries enabled, or try setting PYTHON_LDFLAGS by hand.
25193 " "$LINENO" 5
25194 fi
25195 fi
25196 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHON_LDFLAGS" >&5
25197 printf "%s\n" "$PYTHON_LDFLAGS" >&6; }
25198
25199
25200 #
25201 # Check for site packages
25202 #
25203 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Python site-packages path" >&5
25204 printf %s "checking for Python site-packages path... " >&6; }
25205 if test -z "$PYTHON_SITE_PKG"; then
25206 PYTHON_SITE_PKG=`$PYTHON -c "import distutils.sysconfig; \
25207 print (distutils.sysconfig.get_python_lib(0,0));"`
25208 fi
25209 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHON_SITE_PKG" >&5
25210 printf "%s\n" "$PYTHON_SITE_PKG" >&6; }
25211
25212
25213 #
25214 # libraries which must be linked in when embedding
25215 #
25216 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking python extra libraries" >&5
25217 printf %s "checking python extra libraries... " >&6; }
25218 if test -z "$PYTHON_EXTRA_LIBS"; then
25219 PYTHON_EXTRA_LIBS=`$PYTHON -c "import distutils.sysconfig; \
25220 conf = distutils.sysconfig.get_config_var; \
25221 print (conf('LIBS') + ' ' + conf('SYSLIBS'))"`
25222 fi
25223 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHON_EXTRA_LIBS" >&5
25224 printf "%s\n" "$PYTHON_EXTRA_LIBS" >&6; }
25225
25226
25227 #
25228 # linking flags needed when embedding
25229 #
25230 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking python extra linking flags" >&5
25231 printf %s "checking python extra linking flags... " >&6; }
25232 if test -z "$PYTHON_EXTRA_LDFLAGS"; then
25233 PYTHON_EXTRA_LDFLAGS=`$PYTHON -c "import distutils.sysconfig; \
25234 conf = distutils.sysconfig.get_config_var; \
25235 print (conf('LINKFORSHARED'))"`
25236 fi
25237 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHON_EXTRA_LDFLAGS" >&5
25238 printf "%s\n" "$PYTHON_EXTRA_LDFLAGS" >&6; }
25239
25240
25241 #
25242 # final check to see if everything compiles alright
25243 #
25244 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking consistency of all components of python development environment" >&5
25245 printf %s "checking consistency of all components of python development environment... " >&6; }
25246 # save current global flags
25247 ac_save_LIBS="$LIBS"
25248 ac_save_CPPFLAGS="$CPPFLAGS"
25249 LIBS="$ac_save_LIBS $PYTHON_LDFLAGS $PYTHON_EXTRA_LDFLAGS $PYTHON_EXTRA_LIBS"
25250 CPPFLAGS="$ac_save_CPPFLAGS $PYTHON_CPPFLAGS"
25251 ac_ext=c
25252 ac_cpp='$CPP $CPPFLAGS'
25253 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
25254 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
25255 ac_compiler_gnu=$ac_cv_c_compiler_gnu
25256
25257 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
25258 /* end confdefs.h. */
25259
25260 #include <Python.h>
25261 int
25262 main (void)
25263 {
25264 Py_Initialize();
25265 ;
25266 return 0;
25267 }
25268
25269 _ACEOF
25270 if ac_fn_c_try_link "$LINENO"
25271 then :
25272 pythonexists=yes
25273 else $as_nop
25274 pythonexists=no
25275 fi
25276 rm -f core conftest.err conftest.$ac_objext conftest.beam \
25277 conftest$ac_exeext conftest.$ac_ext
25278 ac_ext=c
25279 ac_cpp='$CPP $CPPFLAGS'
25280 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
25281 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
25282 ac_compiler_gnu=$ac_cv_c_compiler_gnu
25283
25284 # turn back to default flags
25285 CPPFLAGS="$ac_save_CPPFLAGS"
25286 LIBS="$ac_save_LIBS"
25287
25288 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $pythonexists" >&5
25289 printf "%s\n" "$pythonexists" >&6; }
25290
25291 if test ! "x$pythonexists" = "xyes"; then
25292 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING:
25293 Could not link test program to Python. Maybe the main Python library has been
25294 installed in some non-standard library path. If so, pass it to configure,
25295 via the LDFLAGS environment variable.
25296 Example: ./configure LDFLAGS=\"-L/usr/non-standard-path/python/lib\"
25297 ============================================================================
25298 You probably have to install the development version of the Python package
25299 for your distribution. The exact name of this package varies among them.
25300 ============================================================================
25301 " >&5
25302 printf "%s\n" "$as_me: WARNING:
25303 Could not link test program to Python. Maybe the main Python library has been
25304 installed in some non-standard library path. If so, pass it to configure,
25305 via the LDFLAGS environment variable.
25306 Example: ./configure LDFLAGS=\"-L/usr/non-standard-path/python/lib\"
25307 ============================================================================
25308 You probably have to install the development version of the Python package
25309 for your distribution. The exact name of this package varies among them.
25310 ============================================================================
25311 " >&2;}
25312 PYTHON_VERSION=""
25313 fi
25314
25315 #
25316 # all done!
25317 #
25318
25319 if test "$PYTHON_VERSION"; then
25320 PYTHONS="$(echo $PYTHONS $PYTHON)"
25321 PYTHON_VERSIONS="$(echo $PYTHON_VERSIONS $PYTHON_VERSION)"
25322 fi
25323
25324 fi
25325
25326
25327 unset PYTHON
25328 unset PYTHON_VERSION
25329 unset PYTHON_CPPFLAGS
25330 unset PYTHON_LDFLAGS
25331 unset PYTHON_SITE_PKG
25332 unset PYTHON_EXTRA_LIBS
25333 unset PYTHON_EXTRA_LDFLAGS
25334 unset ac_cv_path_PYTHON
25335 unset am_cv_pathless_PYTHON
25336 unset am_cv_python_version
25337 unset am_cv_python_platform
25338 unset am_cv_python_pythondir
25339 unset am_cv_python_pyexecdir
25340
25341
25342
25343
25344
25345
25346 if test -n "$PYTHON"; then
25347 # If the user set $PYTHON, use it and don't search something else.
25348 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $PYTHON version is >= all" >&5
25349 printf %s "checking whether $PYTHON version is >= all... " >&6; }
25350 prog="import sys
25351 # split strings by '.' and convert to numeric. Append some zeros
25352 # because we need at least 4 digits for the hex conversion.
25353 # map returns an iterator in Python 3.0 and a list in 2.x
25354 minver = list(map(int, 'all'.split('.'))) + [0, 0, 0]
25355 minverhex = 0
25356 # xrange is not present in Python 3.0 and range returns an iterator
25357 for i in list(range(0, 4)): minverhex = (minverhex << 8) + minver[i]
25358 sys.exit(sys.hexversion < minverhex)"
25359 if { echo "$as_me:$LINENO: $PYTHON -c "$prog"" >&5
25360 ($PYTHON -c "$prog") >&5 2>&5
25361 ac_status=$?
25362 echo "$as_me:$LINENO: \$? = $ac_status" >&5
25363 (exit $ac_status); }
25364 then :
25365 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
25366 printf "%s\n" "yes" >&6; }
25367 else $as_nop
25368 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
25369 printf "%s\n" "no" >&6; }
25370 as_fn_error $? "Python interpreter is too old" "$LINENO" 5
25371 fi
25372 am_display_PYTHON=$PYTHON
25373 else
25374 # Otherwise, try each interpreter until we find one that satisfies
25375 # VERSION.
25376 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a Python interpreter with version >= all" >&5
25377 printf %s "checking for a Python interpreter with version >= all... " >&6; }
25378 if test ${am_cv_pathless_PYTHON+y}
25379 then :
25380 printf %s "(cached) " >&6
25381 else $as_nop
25382
25383 for am_cv_pathless_PYTHON in pythonall none; do
25384 test "$am_cv_pathless_PYTHON" = none && break
25385 prog="import sys
25386 # split strings by '.' and convert to numeric. Append some zeros
25387 # because we need at least 4 digits for the hex conversion.
25388 # map returns an iterator in Python 3.0 and a list in 2.x
25389 minver = list(map(int, 'all'.split('.'))) + [0, 0, 0]
25390 minverhex = 0
25391 # xrange is not present in Python 3.0 and range returns an iterator
25392 for i in list(range(0, 4)): minverhex = (minverhex << 8) + minver[i]
25393 sys.exit(sys.hexversion < minverhex)"
25394 if { echo "$as_me:$LINENO: $am_cv_pathless_PYTHON -c "$prog"" >&5
25395 ($am_cv_pathless_PYTHON -c "$prog") >&5 2>&5
25396 ac_status=$?
25397 echo "$as_me:$LINENO: \$? = $ac_status" >&5
25398 (exit $ac_status); }
25399 then :
25400 break
25401 fi
25402 done
25403 fi
25404 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_pathless_PYTHON" >&5
25405 printf "%s\n" "$am_cv_pathless_PYTHON" >&6; }
25406 # Set $PYTHON to the absolute path of $am_cv_pathless_PYTHON.
25407 if test "$am_cv_pathless_PYTHON" = none; then
25408 PYTHON=:
25409 else
25410 # Extract the first word of "$am_cv_pathless_PYTHON", so it can be a program name with args.
25411 set dummy $am_cv_pathless_PYTHON; ac_word=$2
25412 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
25413 printf %s "checking for $ac_word... " >&6; }
25414 if test ${ac_cv_path_PYTHON+y}
25415 then :
25416 printf %s "(cached) " >&6
25417 else $as_nop
25418 case $PYTHON in
25419 [\\/]* | ?:[\\/]*)
25420 ac_cv_path_PYTHON="$PYTHON" # Let the user override the test with a path.
25421 ;;
25422 *)
25423 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
25424 for as_dir in $PATH
25425 do
25426 IFS=$as_save_IFS
25427 case $as_dir in #(((
25428 '') as_dir=./ ;;
25429 */) ;;
25430 *) as_dir=$as_dir/ ;;
25431 esac
25432 for ac_exec_ext in '' $ac_executable_extensions; do
25433 if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
25434 ac_cv_path_PYTHON="$as_dir$ac_word$ac_exec_ext"
25435 printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
25436 break 2
25437 fi
25438 done
25439 done
25440 IFS=$as_save_IFS
25441
25442 ;;
25443 esac
25444 fi
25445 PYTHON=$ac_cv_path_PYTHON
25446 if test -n "$PYTHON"; then
25447 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHON" >&5
25448 printf "%s\n" "$PYTHON" >&6; }
25449 else
25450 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
25451 printf "%s\n" "no" >&6; }
25452 fi
25453
25454
25455 fi
25456 am_display_PYTHON=$am_cv_pathless_PYTHON
25457 fi
25458
25459
25460 if test "$PYTHON" = :; then
25461 :
25462 else
25463
25464
25465 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON version" >&5
25466 printf %s "checking for $am_display_PYTHON version... " >&6; }
25467 if test ${am_cv_python_version+y}
25468 then :
25469 printf %s "(cached) " >&6
25470 else $as_nop
25471 am_cv_python_version=`$PYTHON -c "import sys; sys.stdout.write(sys.version[:3])"`
25472 fi
25473 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_version" >&5
25474 printf "%s\n" "$am_cv_python_version" >&6; }
25475 PYTHON_VERSION=$am_cv_python_version
25476
25477
25478
25479 PYTHON_PREFIX='${prefix}'
25480
25481 PYTHON_EXEC_PREFIX='${exec_prefix}'
25482
25483
25484
25485 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON platform" >&5
25486 printf %s "checking for $am_display_PYTHON platform... " >&6; }
25487 if test ${am_cv_python_platform+y}
25488 then :
25489 printf %s "(cached) " >&6
25490 else $as_nop
25491 am_cv_python_platform=`$PYTHON -c "import sys; sys.stdout.write(sys.platform)"`
25492 fi
25493 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_platform" >&5
25494 printf "%s\n" "$am_cv_python_platform" >&6; }
25495 PYTHON_PLATFORM=$am_cv_python_platform
25496
25497
25498 # Just factor out some code duplication.
25499 am_python_setup_sysconfig="\
25500 import sys
25501 # Prefer sysconfig over distutils.sysconfig, for better compatibility
25502 # with python 3.x. See automake bug#10227.
25503 try:
25504 import sysconfig
25505 except ImportError:
25506 can_use_sysconfig = 0
25507 else:
25508 can_use_sysconfig = 1
25509 # Can't use sysconfig in CPython 2.7, since it's broken in virtualenvs:
25510 # <https://github.com/pypa/virtualenv/issues/118>
25511 try:
25512 from platform import python_implementation
25513 if python_implementation() == 'CPython' and sys.version[:3] == '2.7':
25514 can_use_sysconfig = 0
25515 except ImportError:
25516 pass"
25517
25518
25519 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON script directory" >&5
25520 printf %s "checking for $am_display_PYTHON script directory... " >&6; }
25521 if test ${am_cv_python_pythondir+y}
25522 then :
25523 printf %s "(cached) " >&6
25524 else $as_nop
25525 if test "x$prefix" = xNONE
25526 then
25527 am_py_prefix=$ac_default_prefix
25528 else
25529 am_py_prefix=$prefix
25530 fi
25531 am_cv_python_pythondir=`$PYTHON -c "
25532 $am_python_setup_sysconfig
25533 if can_use_sysconfig:
25534 sitedir = sysconfig.get_path('purelib', vars={'base':'$am_py_prefix'})
25535 else:
25536 from distutils import sysconfig
25537 sitedir = sysconfig.get_python_lib(0, 0, prefix='$am_py_prefix')
25538 sys.stdout.write(sitedir)"`
25539 case $am_cv_python_pythondir in
25540 $am_py_prefix*)
25541 am__strip_prefix=`echo "$am_py_prefix" | sed 's|.|.|g'`
25542 am_cv_python_pythondir=`echo "$am_cv_python_pythondir" | sed "s,^$am__strip_prefix,$PYTHON_PREFIX,"`
25543 ;;
25544 *)
25545 case $am_py_prefix in
25546 /usr|/System*) ;;
25547 *)
25548 am_cv_python_pythondir=$PYTHON_PREFIX/lib/python$PYTHON_VERSION/site-packages
25549 ;;
25550 esac
25551 ;;
25552 esac
25553
25554 fi
25555 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_pythondir" >&5
25556 printf "%s\n" "$am_cv_python_pythondir" >&6; }
25557 pythondir=$am_cv_python_pythondir
25558
25559
25560
25561 pkgpythondir=\${pythondir}/$PACKAGE
25562
25563
25564 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $am_display_PYTHON extension module directory" >&5
25565 printf %s "checking for $am_display_PYTHON extension module directory... " >&6; }
25566 if test ${am_cv_python_pyexecdir+y}
25567 then :
25568 printf %s "(cached) " >&6
25569 else $as_nop
25570 if test "x$exec_prefix" = xNONE
25571 then
25572 am_py_exec_prefix=$am_py_prefix
25573 else
25574 am_py_exec_prefix=$exec_prefix
25575 fi
25576 am_cv_python_pyexecdir=`$PYTHON -c "
25577 $am_python_setup_sysconfig
25578 if can_use_sysconfig:
25579 sitedir = sysconfig.get_path('platlib', vars={'platbase':'$am_py_prefix'})
25580 else:
25581 from distutils import sysconfig
25582 sitedir = sysconfig.get_python_lib(1, 0, prefix='$am_py_prefix')
25583 sys.stdout.write(sitedir)"`
25584 case $am_cv_python_pyexecdir in
25585 $am_py_exec_prefix*)
25586 am__strip_prefix=`echo "$am_py_exec_prefix" | sed 's|.|.|g'`
25587 am_cv_python_pyexecdir=`echo "$am_cv_python_pyexecdir" | sed "s,^$am__strip_prefix,$PYTHON_EXEC_PREFIX,"`
25588 ;;
25589 *)
25590 case $am_py_exec_prefix in
25591 /usr|/System*) ;;
25592 *)
25593 am_cv_python_pyexecdir=$PYTHON_EXEC_PREFIX/lib/python$PYTHON_VERSION/site-packages
25594 ;;
25595 esac
25596 ;;
25597 esac
25598
25599 fi
25600 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_pyexecdir" >&5
25601 printf "%s\n" "$am_cv_python_pyexecdir" >&6; }
25602 pyexecdir=$am_cv_python_pyexecdir
25603
25604
25605
25606 pkgpyexecdir=\${pyexecdir}/$PACKAGE
25607
25608
25609
25610
25611 #
25612 # Allow the use of a (user set) custom python version
25613 #
25614
25615
25616 # Extract the first word of "python[$PYTHON_VERSION]", so it can be a program name with args.
25617 set dummy python$PYTHON_VERSION; ac_word=$2
25618 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
25619 printf %s "checking for $ac_word... " >&6; }
25620 if test ${ac_cv_path_PYTHON+y}
25621 then :
25622 printf %s "(cached) " >&6
25623 else $as_nop
25624 case $PYTHON in
25625 [\\/]* | ?:[\\/]*)
25626 ac_cv_path_PYTHON="$PYTHON" # Let the user override the test with a path.
25627 ;;
25628 *)
25629 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
25630 for as_dir in $PATH
25631 do
25632 IFS=$as_save_IFS
25633 case $as_dir in #(((
25634 '') as_dir=./ ;;
25635 */) ;;
25636 *) as_dir=$as_dir/ ;;
25637 esac
25638 for ac_exec_ext in '' $ac_executable_extensions; do
25639 if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
25640 ac_cv_path_PYTHON="$as_dir$ac_word$ac_exec_ext"
25641 printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
25642 break 2
25643 fi
25644 done
25645 done
25646 IFS=$as_save_IFS
25647
25648 ;;
25649 esac
25650 fi
25651 PYTHON=$ac_cv_path_PYTHON
25652 if test -n "$PYTHON"; then
25653 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHON" >&5
25654 printf "%s\n" "$PYTHON" >&6; }
25655 else
25656 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
25657 printf "%s\n" "no" >&6; }
25658 fi
25659
25660
25661 if test -z "$PYTHON"; then
25662 as_fn_error $? "Cannot find python$PYTHON_VERSION in your system path" "$LINENO" 5
25663 PYTHON_VERSION=""
25664 fi
25665
25666 #
25667 # Check for a version of Python >= 2.1.0
25668 #
25669 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a version of Python >= '2.1.0'" >&5
25670 printf %s "checking for a version of Python >= '2.1.0'... " >&6; }
25671 ac_supports_python_ver=`$PYTHON -c "import sys; \
25672 ver = sys.version.split ()[0]; \
25673 print (ver >= '2.1.0')"`
25674 if test "$ac_supports_python_ver" != "True"; then
25675 if test -z "$PYTHON_NOVERSIONCHECK"; then
25676 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
25677 printf "%s\n" "no" >&6; }
25678 { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
25679 printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
25680 as_fn_error $? "
25681 This version of the AC_PYTHON_DEVEL macro
25682 doesn't work properly with versions of Python before
25683 2.1.0. You may need to re-run configure, setting the
25684 variables PYTHON_CPPFLAGS, PYTHON_LDFLAGS, PYTHON_SITE_PKG,
25685 PYTHON_EXTRA_LIBS and PYTHON_EXTRA_LDFLAGS by hand.
25686 Moreover, to disable this check, set PYTHON_NOVERSIONCHECK
25687 to something else than an empty string.
25688
25689 See \`config.log' for more details" "$LINENO" 5; }
25690 else
25691 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: skip at user request" >&5
25692 printf "%s\n" "skip at user request" >&6; }
25693 fi
25694 else
25695 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
25696 printf "%s\n" "yes" >&6; }
25697 fi
25698
25699 #
25700 # if the macro parameter ``version'' is set, honour it
25701 #
25702 if test -n ""; then
25703 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a version of Python " >&5
25704 printf %s "checking for a version of Python ... " >&6; }
25705 ac_supports_python_ver=`$PYTHON -c "import sys; \
25706 ver = sys.version.split ()[0]; \
25707 print (ver )"`
25708 if test "$ac_supports_python_ver" = "True"; then
25709 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
25710 printf "%s\n" "yes" >&6; }
25711 else
25712 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
25713 printf "%s\n" "no" >&6; }
25714 as_fn_error $? "this package requires Python .
25715 If you have it installed, but it isn't the default Python
25716 interpreter in your system path, please pass the PYTHON_VERSION
25717 variable to configure. See \`\`configure --help'' for reference.
25718 " "$LINENO" 5
25719 PYTHON_VERSION=""
25720 fi
25721 fi
25722
25723 #
25724 # Check if you have distutils, else fail
25725 #
25726 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for the distutils Python package" >&5
25727 printf %s "checking for the distutils Python package... " >&6; }
25728 ac_distutils_result=`$PYTHON -c "import distutils" 2>&1`
25729 if test -z "$ac_distutils_result"; then
25730 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
25731 printf "%s\n" "yes" >&6; }
25732 else
25733 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
25734 printf "%s\n" "no" >&6; }
25735 as_fn_error $? "cannot import Python module \"distutils\".
25736 Please check your Python installation. The error was:
25737 $ac_distutils_result" "$LINENO" 5
25738 PYTHON_VERSION=""
25739 fi
25740
25741 #
25742 # Check for Python include path
25743 #
25744 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Python include path" >&5
25745 printf %s "checking for Python include path... " >&6; }
25746 if test -z "$PYTHON_CPPFLAGS"; then
25747 python_path=`$PYTHON -c "import distutils.sysconfig; \
25748 print (distutils.sysconfig.get_python_inc ());"`
25749 plat_python_path=`$PYTHON -c "import distutils.sysconfig; \
25750 print (distutils.sysconfig.get_python_inc (plat_specific=1));"`
25751 if test -n "${python_path}"; then
25752 if test "${plat_python_path}" != "${python_path}"; then
25753 python_path="-I$python_path -I$plat_python_path"
25754 else
25755 python_path="-I$python_path"
25756 fi
25757 fi
25758 PYTHON_CPPFLAGS=$python_path
25759 fi
25760 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHON_CPPFLAGS" >&5
25761 printf "%s\n" "$PYTHON_CPPFLAGS" >&6; }
25762
25763
25764 #
25765 # Check for Python library path
25766 #
25767 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Python library path" >&5
25768 printf %s "checking for Python library path... " >&6; }
25769 if test -z "$PYTHON_LDFLAGS"; then
25770 # (makes two attempts to ensure we've got a version number
25771 # from the interpreter)
25772 ac_python_version=`cat<<EOD | $PYTHON -
25773
25774 # join all versioning strings, on some systems
25775 # major/minor numbers could be in different list elements
25776 from distutils.sysconfig import *
25777 e = get_config_var('VERSION')
25778 if e is not None:
25779 print(e)
25780 EOD`
25781
25782 if test -z "$ac_python_version"; then
25783 if test -n "$PYTHON_VERSION"; then
25784 ac_python_version=$PYTHON_VERSION
25785 else
25786 ac_python_version=`$PYTHON -c "import sys; \
25787 print (sys.version[:3])"`
25788 fi
25789 fi
25790
25791 # Make the versioning information available to the compiler
25792
25793 # JW: We don't need it and it interferes with the hack
25794 # to detect multiple Pyhton versions
25795 #AC_DEFINE_UNQUOTED([HAVE_PYTHON], ["$ac_python_version"],
25796 # [If available, contains the Python version number currently in use.])
25797
25798 # First, the library directory:
25799 ac_python_libdir=`cat<<EOD | $PYTHON -
25800
25801 # There should be only one
25802 import distutils.sysconfig
25803 e = distutils.sysconfig.get_config_var('LIBDIR')
25804 if e is not None:
25805 print (e)
25806 EOD`
25807
25808 # Now, for the library:
25809 ac_python_library=`cat<<EOD | $PYTHON -
25810
25811 import distutils.sysconfig
25812 c = distutils.sysconfig.get_config_vars()
25813 if 'LDVERSION' in c:
25814 print ('python'+c['LDVERSION'])
25815 else:
25816 print ('python'+c['VERSION'])
25817 EOD`
25818
25819 # This small piece shamelessly adapted from PostgreSQL python macro;
25820 # credits goes to momjian, I think. I'd like to put the right name
25821 # in the credits, if someone can point me in the right direction... ?
25822 #
25823 if test -n "$ac_python_libdir" -a -n "$ac_python_library"
25824 then
25825 # use the official shared library
25826 ac_python_library=`echo "$ac_python_library" | sed "s/^lib//"`
25827 PYTHON_LDFLAGS="-L$ac_python_libdir -l$ac_python_library"
25828 else
25829 # old way: use libpython from python_configdir
25830 ac_python_libdir=`$PYTHON -c \
25831 "from distutils.sysconfig import get_python_lib as f; \
25832 import os; \
25833 print (os.path.join(f(plat_specific=1, standard_lib=1), 'config'));"`
25834 PYTHON_LDFLAGS="-L$ac_python_libdir -lpython$ac_python_version"
25835 fi
25836
25837 if test -z "PYTHON_LDFLAGS"; then
25838 as_fn_error $? "
25839 Cannot determine location of your Python DSO. Please check it was installed with
25840 dynamic libraries enabled, or try setting PYTHON_LDFLAGS by hand.
25841 " "$LINENO" 5
25842 fi
25843 fi
25844 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHON_LDFLAGS" >&5
25845 printf "%s\n" "$PYTHON_LDFLAGS" >&6; }
25846
25847
25848 #
25849 # Check for site packages
25850 #
25851 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for Python site-packages path" >&5
25852 printf %s "checking for Python site-packages path... " >&6; }
25853 if test -z "$PYTHON_SITE_PKG"; then
25854 PYTHON_SITE_PKG=`$PYTHON -c "import distutils.sysconfig; \
25855 print (distutils.sysconfig.get_python_lib(0,0));"`
25856 fi
25857 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHON_SITE_PKG" >&5
25858 printf "%s\n" "$PYTHON_SITE_PKG" >&6; }
25859
25860
25861 #
25862 # libraries which must be linked in when embedding
25863 #
25864 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking python extra libraries" >&5
25865 printf %s "checking python extra libraries... " >&6; }
25866 if test -z "$PYTHON_EXTRA_LIBS"; then
25867 PYTHON_EXTRA_LIBS=`$PYTHON -c "import distutils.sysconfig; \
25868 conf = distutils.sysconfig.get_config_var; \
25869 print (conf('LIBS') + ' ' + conf('SYSLIBS'))"`
25870 fi
25871 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHON_EXTRA_LIBS" >&5
25872 printf "%s\n" "$PYTHON_EXTRA_LIBS" >&6; }
25873
25874
25875 #
25876 # linking flags needed when embedding
25877 #
25878 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking python extra linking flags" >&5
25879 printf %s "checking python extra linking flags... " >&6; }
25880 if test -z "$PYTHON_EXTRA_LDFLAGS"; then
25881 PYTHON_EXTRA_LDFLAGS=`$PYTHON -c "import distutils.sysconfig; \
25882 conf = distutils.sysconfig.get_config_var; \
25883 print (conf('LINKFORSHARED'))"`
25884 fi
25885 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHON_EXTRA_LDFLAGS" >&5
25886 printf "%s\n" "$PYTHON_EXTRA_LDFLAGS" >&6; }
25887
25888
25889 #
25890 # final check to see if everything compiles alright
25891 #
25892 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking consistency of all components of python development environment" >&5
25893 printf %s "checking consistency of all components of python development environment... " >&6; }
25894 # save current global flags
25895 ac_save_LIBS="$LIBS"
25896 ac_save_CPPFLAGS="$CPPFLAGS"
25897 LIBS="$ac_save_LIBS $PYTHON_LDFLAGS $PYTHON_EXTRA_LDFLAGS $PYTHON_EXTRA_LIBS"
25898 CPPFLAGS="$ac_save_CPPFLAGS $PYTHON_CPPFLAGS"
25899 ac_ext=c
25900 ac_cpp='$CPP $CPPFLAGS'
25901 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
25902 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
25903 ac_compiler_gnu=$ac_cv_c_compiler_gnu
25904
25905 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
25906 /* end confdefs.h. */
25907
25908 #include <Python.h>
25909 int
25910 main (void)
25911 {
25912 Py_Initialize();
25913 ;
25914 return 0;
25915 }
25916
25917 _ACEOF
25918 if ac_fn_c_try_link "$LINENO"
25919 then :
25920 pythonexists=yes
25921 else $as_nop
25922 pythonexists=no
25923 fi
25924 rm -f core conftest.err conftest.$ac_objext conftest.beam \
25925 conftest$ac_exeext conftest.$ac_ext
25926 ac_ext=c
25927 ac_cpp='$CPP $CPPFLAGS'
25928 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
25929 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
25930 ac_compiler_gnu=$ac_cv_c_compiler_gnu
25931
25932 # turn back to default flags
25933 CPPFLAGS="$ac_save_CPPFLAGS"
25934 LIBS="$ac_save_LIBS"
25935
25936 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $pythonexists" >&5
25937 printf "%s\n" "$pythonexists" >&6; }
25938
25939 if test ! "x$pythonexists" = "xyes"; then
25940 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING:
25941 Could not link test program to Python. Maybe the main Python library has been
25942 installed in some non-standard library path. If so, pass it to configure,
25943 via the LDFLAGS environment variable.
25944 Example: ./configure LDFLAGS=\"-L/usr/non-standard-path/python/lib\"
25945 ============================================================================
25946 You probably have to install the development version of the Python package
25947 for your distribution. The exact name of this package varies among them.
25948 ============================================================================
25949 " >&5
25950 printf "%s\n" "$as_me: WARNING:
25951 Could not link test program to Python. Maybe the main Python library has been
25952 installed in some non-standard library path. If so, pass it to configure,
25953 via the LDFLAGS environment variable.
25954 Example: ./configure LDFLAGS=\"-L/usr/non-standard-path/python/lib\"
25955 ============================================================================
25956 You probably have to install the development version of the Python package
25957 for your distribution. The exact name of this package varies among them.
25958 ============================================================================
25959 " >&2;}
25960 PYTHON_VERSION=""
25961 fi
25962
25963 #
25964 # all done!
25965 #
25966
25967 if test "$PYTHON_VERSION"; then
25968 PYTHONS="$(echo $PYTHONS $PYTHON)"
25969 PYTHON_VERSIONS="$(echo $PYTHON_VERSIONS $PYTHON_VERSION)"
25970 fi
25971
25972 fi
25973
25974
25975
25976 fi
25977
25978 # Recover some values lost in the second attempt to find Python.
25979 PYTHON="$(echo $PYTHONS | cut -d ' ' -f 1)"
25980 PYTHON_VERSION="$(echo $PYTHON_VERSIONS | cut -d ' ' -f 1)"
25981
25982 # Remove duplicates.
25983 PYTHONS="$(echo $PYTHONS | tr '[:space:]' '\n' | sort | uniq | tr '\n' ' ' | sed -e 's/ $//')"
25984 PYTHON_VERSIONS="$(echo $PYTHON_VERSIONS | tr '[:space:]' '\n' | sort | uniq | tr '\n' ' ' | sed -e 's/ $//')"
25985
25986 if test "$PYTHON_VERSIONS"; then
25987 enabled_languages_v=$(echo $enabled_languages | sed -Ee "s/python[23]?/python ($PYTHON_VERSIONS)/")
25988 enabled_languages=$(echo $enabled_languages | sed -Ee "s/python[23]?/python/")
25989 else
25990 if test "$explicit_languages" = "1"; then
25991 as_fn_error $? "
25992 ***
25993 *** Please install the python development packages.
25994 ***" "$LINENO" 5
25995 else
25996 enabled_languages=$(echo $enabled_languages | sed 's/python//')
25997 fi
25998 fi
25999
26000 PYTHONS=$PYTHONS
26001
26002 fi
26003 fi
26004
26005 ENABLED_LANGUAGES=$enabled_languages
26006
26007
26008 #
26009 # Provide information about the build.
26010 #
26011 BUILD_REVISION="0000000"
26012
26013
26014 printf "%s\n" "#define BUILD_REVISION \"$BUILD_REVISION\"" >>confdefs.h
26015
26016
26017 BUILD_VERSION=`echo "$PACKAGE_VERSION" | sed 's/\([0-9.]*\).*/\1./'`
26018 BUILD_VERSION="${BUILD_VERSION}0"
26019 BUILD_FILEVERSION=`echo "${BUILD_VERSION}" | tr . ,`
26020
26021
26022
26023 # Check whether --enable-build-timestamp was given.
26024 if test ${enable_build_timestamp+y}
26025 then :
26026 enableval=$enable_build_timestamp; if test "$enableval" = "yes"; then
26027 BUILD_TIMESTAMP=`date -u +%Y-%m-%dT%H:%M+0000 2>/dev/null || date`
26028 else
26029 BUILD_TIMESTAMP="$enableval"
26030 fi
26031 else $as_nop
26032 BUILD_TIMESTAMP="<none>"
26033 fi
26034
26035
26036
26037 printf "%s\n" "#define BUILD_TIMESTAMP \"$BUILD_TIMESTAMP\"" >>confdefs.h
26038
26039
26040
26041 #
26042 # Options to disable some regression tests
26043 #
26044 run_gpgconf_test="yes"
26045 # Check whether --enable-gpgconf-test was given.
26046 if test ${enable_gpgconf_test+y}
26047 then :
26048 enableval=$enable_gpgconf_test; run_gpgconf_test=$enableval
26049 fi
26050
26051 if test "$run_gpgconf_test" = "yes"; then
26052 RUN_GPGCONF_TESTS_TRUE=
26053 RUN_GPGCONF_TESTS_FALSE='#'
26054 else
26055 RUN_GPGCONF_TESTS_TRUE='#'
26056 RUN_GPGCONF_TESTS_FALSE=
26057 fi
26058
26059
26060 run_gpg_test="yes"
26061 # Check whether --enable-gpg-test was given.
26062 if test ${enable_gpg_test+y}
26063 then :
26064 enableval=$enable_gpg_test; run_gpg_test=$enableval
26065 fi
26066
26067 if test "$run_gpg_test" = "yes"; then
26068 RUN_GPG_TESTS_TRUE=
26069 RUN_GPG_TESTS_FALSE='#'
26070 else
26071 RUN_GPG_TESTS_TRUE='#'
26072 RUN_GPG_TESTS_FALSE=
26073 fi
26074
26075
26076 run_gpgsm_test="yes"
26077 # Check whether --enable-gpgsm-test was given.
26078 if test ${enable_gpgsm_test+y}
26079 then :
26080 enableval=$enable_gpgsm_test; run_gpgsm_test=$enableval
26081 fi
26082
26083 if test "$run_gpgsm_test" = "yes"; then
26084 RUN_GPGSM_TESTS_TRUE=
26085 RUN_GPGSM_TESTS_FALSE='#'
26086 else
26087 RUN_GPGSM_TESTS_TRUE='#'
26088 RUN_GPGSM_TESTS_FALSE=
26089 fi
26090
26091
26092 run_g13_test="yes"
26093 # Check whether --enable-g13-test was given.
26094 if test ${enable_g13_test+y}
26095 then :
26096 enableval=$enable_g13_test; run_g13_test=$enableval
26097 fi
26098
26099 if test "$run_g13_test" = "yes"; then
26100 RUN_G13_TESTS_TRUE=
26101 RUN_G13_TESTS_FALSE='#'
26102 else
26103 RUN_G13_TESTS_TRUE='#'
26104 RUN_G13_TESTS_FALSE=
26105 fi
26106
26107
26108
26109 # Checks for header files.
26110
26111
26112
26113
26114
26115
26116
26117
26118 # Type checks.
26119 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for inline" >&5
26120 printf %s "checking for inline... " >&6; }
26121 if test ${ac_cv_c_inline+y}
26122 then :
26123 printf %s "(cached) " >&6
26124 else $as_nop
26125 ac_cv_c_inline=no
26126 for ac_kw in inline __inline__ __inline; do
26127 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
26128 /* end confdefs.h. */
26129 #ifndef __cplusplus
26130 typedef int foo_t;
26131 static $ac_kw foo_t static_foo (void) {return 0; }
26132 $ac_kw foo_t foo (void) {return 0; }
26133 #endif
26134
26135 _ACEOF
26136 if ac_fn_c_try_compile "$LINENO"
26137 then :
26138 ac_cv_c_inline=$ac_kw
26139 fi
26140 rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
26141 test "$ac_cv_c_inline" != no && break
26142 done
26143
26144 fi
26145 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_inline" >&5
26146 printf "%s\n" "$ac_cv_c_inline" >&6; }
26147
26148 case $ac_cv_c_inline in
26149 inline | yes) ;;
26150 *)
26151 case $ac_cv_c_inline in
26152 no) ac_val=;;
26153 *) ac_val=$ac_cv_c_inline;;
26154 esac
26155 cat >>confdefs.h <<_ACEOF
26156 #ifndef __cplusplus
26157 #define inline $ac_val
26158 #endif
26159 _ACEOF
26160 ;;
26161 esac
26162
26163
26164 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for flexible array members" >&5
26165 printf %s "checking for flexible array members... " >&6; }
26166 if test ${ac_cv_c_flexmember+y}
26167 then :
26168 printf %s "(cached) " >&6
26169 else $as_nop
26170 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
26171 /* end confdefs.h. */
26172 #include <stdlib.h>
26173 #include <stdio.h>
26174 #include <stddef.h>
26175 struct s { int n; double d[]; };
26176 int
26177 main (void)
26178 {
26179 int m = getchar ();
26180 struct s *p = (struct s *) malloc (offsetof (struct s, d)
26181 + m * sizeof (double));
26182 p->d[0] = 0.0;
26183 return p->d != (double *) NULL;
26184 ;
26185 return 0;
26186 }
26187 _ACEOF
26188 if ac_fn_c_try_compile "$LINENO"
26189 then :
26190 ac_cv_c_flexmember=yes
26191 else $as_nop
26192 ac_cv_c_flexmember=no
26193 fi
26194 rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
26195 fi
26196 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_flexmember" >&5
26197 printf "%s\n" "$ac_cv_c_flexmember" >&6; }
26198 if test $ac_cv_c_flexmember = yes; then
26199
26200 printf "%s\n" "#define FLEXIBLE_ARRAY_MEMBER /**/" >>confdefs.h
26201
26202 else
26203 printf "%s\n" "#define FLEXIBLE_ARRAY_MEMBER 1" >>confdefs.h
26204
26205 fi
26206
26207 # The cast to long int works around a bug in the HP C Compiler
26208 # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
26209 # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
26210 # This bug is HP SR number 8606223364.
26211 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of unsigned int" >&5
26212 printf %s "checking size of unsigned int... " >&6; }
26213 if test ${ac_cv_sizeof_unsigned_int+y}
26214 then :
26215 printf %s "(cached) " >&6
26216 else $as_nop
26217 if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (unsigned int))" "ac_cv_sizeof_unsigned_int" "$ac_includes_default"
26218 then :
26219
26220 else $as_nop
26221 if test "$ac_cv_type_unsigned_int" = yes; then
26222 { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
26223 printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
26224 as_fn_error 77 "cannot compute sizeof (unsigned int)
26225 See \`config.log' for more details" "$LINENO" 5; }
26226 else
26227 ac_cv_sizeof_unsigned_int=0
26228 fi
26229 fi
26230
26231 fi
26232 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_unsigned_int" >&5
26233 printf "%s\n" "$ac_cv_sizeof_unsigned_int" >&6; }
26234
26235
26236
26237 printf "%s\n" "#define SIZEOF_UNSIGNED_INT $ac_cv_sizeof_unsigned_int" >>confdefs.h
26238
26239
26240 # Check whether --enable-largefile was given.
26241 if test ${enable_largefile+y}
26242 then :
26243 enableval=$enable_largefile;
26244 fi
26245
26246 if test "$enable_largefile" != no; then
26247
26248 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5
26249 printf %s "checking for special C compiler options needed for large files... " >&6; }
26250 if test ${ac_cv_sys_largefile_CC+y}
26251 then :
26252 printf %s "(cached) " >&6
26253 else $as_nop
26254 ac_cv_sys_largefile_CC=no
26255 if test "$GCC" != yes; then
26256 ac_save_CC=$CC
26257 while :; do
26258 # IRIX 6.2 and later do not support large files by default,
26259 # so use the C compiler's -n32 option if that helps.
26260 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
26261 /* end confdefs.h. */
26262 #include <sys/types.h>
26263 /* Check that off_t can represent 2**63 - 1 correctly.
26264 We can't simply define LARGE_OFF_T to be 9223372036854775807,
26265 since some C++ compilers masquerading as C compilers
26266 incorrectly reject 9223372036854775807. */
26267 #define LARGE_OFF_T (((off_t) 1 << 31 << 31) - 1 + ((off_t) 1 << 31 << 31))
26268 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
26269 && LARGE_OFF_T % 2147483647 == 1)
26270 ? 1 : -1];
26271 int
26272 main (void)
26273 {
26274
26275 ;
26276 return 0;
26277 }
26278 _ACEOF
26279 if ac_fn_c_try_compile "$LINENO"
26280 then :
26281 break
26282 fi
26283 rm -f core conftest.err conftest.$ac_objext conftest.beam
26284 CC="$CC -n32"
26285 if ac_fn_c_try_compile "$LINENO"
26286 then :
26287 ac_cv_sys_largefile_CC=' -n32'; break
26288 fi
26289 rm -f core conftest.err conftest.$ac_objext conftest.beam
26290 break
26291 done
26292 CC=$ac_save_CC
26293 rm -f conftest.$ac_ext
26294 fi
26295 fi
26296 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_CC" >&5
26297 printf "%s\n" "$ac_cv_sys_largefile_CC" >&6; }
26298 if test "$ac_cv_sys_largefile_CC" != no; then
26299 CC=$CC$ac_cv_sys_largefile_CC
26300 fi
26301
26302 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5
26303 printf %s "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; }
26304 if test ${ac_cv_sys_file_offset_bits+y}
26305 then :
26306 printf %s "(cached) " >&6
26307 else $as_nop
26308 while :; do
26309 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
26310 /* end confdefs.h. */
26311 #include <sys/types.h>
26312 /* Check that off_t can represent 2**63 - 1 correctly.
26313 We can't simply define LARGE_OFF_T to be 9223372036854775807,
26314 since some C++ compilers masquerading as C compilers
26315 incorrectly reject 9223372036854775807. */
26316 #define LARGE_OFF_T (((off_t) 1 << 31 << 31) - 1 + ((off_t) 1 << 31 << 31))
26317 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
26318 && LARGE_OFF_T % 2147483647 == 1)
26319 ? 1 : -1];
26320 int
26321 main (void)
26322 {
26323
26324 ;
26325 return 0;
26326 }
26327 _ACEOF
26328 if ac_fn_c_try_compile "$LINENO"
26329 then :
26330 ac_cv_sys_file_offset_bits=no; break
26331 fi
26332 rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
26333 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
26334 /* end confdefs.h. */
26335 #define _FILE_OFFSET_BITS 64
26336 #include <sys/types.h>
26337 /* Check that off_t can represent 2**63 - 1 correctly.
26338 We can't simply define LARGE_OFF_T to be 9223372036854775807,
26339 since some C++ compilers masquerading as C compilers
26340 incorrectly reject 9223372036854775807. */
26341 #define LARGE_OFF_T (((off_t) 1 << 31 << 31) - 1 + ((off_t) 1 << 31 << 31))
26342 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
26343 && LARGE_OFF_T % 2147483647 == 1)
26344 ? 1 : -1];
26345 int
26346 main (void)
26347 {
26348
26349 ;
26350 return 0;
26351 }
26352 _ACEOF
26353 if ac_fn_c_try_compile "$LINENO"
26354 then :
26355 ac_cv_sys_file_offset_bits=64; break
26356 fi
26357 rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
26358 ac_cv_sys_file_offset_bits=unknown
26359 break
26360 done
26361 fi
26362 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_file_offset_bits" >&5
26363 printf "%s\n" "$ac_cv_sys_file_offset_bits" >&6; }
26364 case $ac_cv_sys_file_offset_bits in #(
26365 no | unknown) ;;
26366 *)
26367 printf "%s\n" "#define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits" >>confdefs.h
26368 ;;
26369 esac
26370 rm -rf conftest*
26371 if test $ac_cv_sys_file_offset_bits = unknown; then
26372 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5
26373 printf %s "checking for _LARGE_FILES value needed for large files... " >&6; }
26374 if test ${ac_cv_sys_large_files+y}
26375 then :
26376 printf %s "(cached) " >&6
26377 else $as_nop
26378 while :; do
26379 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
26380 /* end confdefs.h. */
26381 #include <sys/types.h>
26382 /* Check that off_t can represent 2**63 - 1 correctly.
26383 We can't simply define LARGE_OFF_T to be 9223372036854775807,
26384 since some C++ compilers masquerading as C compilers
26385 incorrectly reject 9223372036854775807. */
26386 #define LARGE_OFF_T (((off_t) 1 << 31 << 31) - 1 + ((off_t) 1 << 31 << 31))
26387 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
26388 && LARGE_OFF_T % 2147483647 == 1)
26389 ? 1 : -1];
26390 int
26391 main (void)
26392 {
26393
26394 ;
26395 return 0;
26396 }
26397 _ACEOF
26398 if ac_fn_c_try_compile "$LINENO"
26399 then :
26400 ac_cv_sys_large_files=no; break
26401 fi
26402 rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
26403 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
26404 /* end confdefs.h. */
26405 #define _LARGE_FILES 1
26406 #include <sys/types.h>
26407 /* Check that off_t can represent 2**63 - 1 correctly.
26408 We can't simply define LARGE_OFF_T to be 9223372036854775807,
26409 since some C++ compilers masquerading as C compilers
26410 incorrectly reject 9223372036854775807. */
26411 #define LARGE_OFF_T (((off_t) 1 << 31 << 31) - 1 + ((off_t) 1 << 31 << 31))
26412 int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
26413 && LARGE_OFF_T % 2147483647 == 1)
26414 ? 1 : -1];
26415 int
26416 main (void)
26417 {
26418
26419 ;
26420 return 0;
26421 }
26422 _ACEOF
26423 if ac_fn_c_try_compile "$LINENO"
26424 then :
26425 ac_cv_sys_large_files=1; break
26426 fi
26427 rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
26428 ac_cv_sys_large_files=unknown
26429 break
26430 done
26431 fi
26432 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_large_files" >&5
26433 printf "%s\n" "$ac_cv_sys_large_files" >&6; }
26434 case $ac_cv_sys_large_files in #(
26435 no | unknown) ;;
26436 *)
26437 printf "%s\n" "#define _LARGE_FILES $ac_cv_sys_large_files" >>confdefs.h
26438 ;;
26439 esac
26440 rm -rf conftest*
26441 fi
26442 fi
26443
26444 ac_fn_c_check_type "$LINENO" "off_t" "ac_cv_type_off_t" "$ac_includes_default"
26445 if test "x$ac_cv_type_off_t" = xyes
26446 then :
26447
26448 else $as_nop
26449
26450 printf "%s\n" "#define off_t long int" >>confdefs.h
26451
26452 fi
26453
26454
26455 ac_fn_c_check_type "$LINENO" "uintptr_t" "ac_cv_type_uintptr_t" "$ac_includes_default"
26456 if test "x$ac_cv_type_uintptr_t" = xyes
26457 then :
26458
26459 printf "%s\n" "#define HAVE_UINTPTR_T 1" >>confdefs.h
26460
26461 else $as_nop
26462 for ac_type in 'unsigned int' 'unsigned long int' \
26463 'unsigned long long int'; do
26464 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
26465 /* end confdefs.h. */
26466 $ac_includes_default
26467 int
26468 main (void)
26469 {
26470 static int test_array [1 - 2 * !(sizeof (void *) <= sizeof ($ac_type))];
26471 test_array [0] = 0;
26472 return test_array [0];
26473
26474 ;
26475 return 0;
26476 }
26477 _ACEOF
26478 if ac_fn_c_try_compile "$LINENO"
26479 then :
26480
26481 printf "%s\n" "#define uintptr_t $ac_type" >>confdefs.h
26482
26483 ac_type=
26484 fi
26485 rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
26486 test -z "$ac_type" && break
26487 done
26488 fi
26489
26490
26491
26492 # We require uint64_t
26493 if test "$ac_cv_header_stdint_h" != yes; then
26494 as_fn_error $? "
26495 ***
26496 *** No stdint.h and thus no uint64_t type. Can't build this library.
26497 ***" "$LINENO" 5
26498 fi
26499
26500
26501 # A simple compile time check in gpgme.h for GNU/Linux systems that
26502 # prevents a file offset bits mismatch between gpgme and the application.
26503 NEED__FILE_OFFSET_BITS=0
26504 if test "$have_w32_system" != yes; then
26505 case "$ac_cv_sys_file_offset_bits" in
26506 "" | no | unknown) ;;
26507 *)
26508 NEED__FILE_OFFSET_BITS=$ac_cv_sys_file_offset_bits
26509 ;;
26510 esac
26511 fi
26512
26513
26514 # Figure out platform dependent typedefs for gpgme.h
26515 if test "$have_w32_system" = yes; then
26516 INSERT__TYPEDEFS_FOR_GPGME_H="
26517 #ifdef _WIN64
26518 # include <stdint.h>
26519 typedef int64_t gpgme_off_t;
26520 typedef int64_t gpgme_ssize_t;
26521 #else /* _WIN32 */
26522 typedef long gpgme_off_t;
26523 typedef long gpgme_ssize_t;
26524 #endif /* _WIN32 */"
26525 API__OFF_T="gpgme_off_t"
26526 API__SSIZE_T="gpgme_ssize_t"
26527 else
26528 INSERT__TYPEDEFS_FOR_GPGME_H="
26529 #include <sys/types.h>
26530 typedef off_t gpgme_off_t;
26531 typedef ssize_t gpgme_ssize_t;"
26532 API__OFF_T="off_t"
26533 API__SSIZE_T="ssize_t"
26534 fi
26535
26536
26537
26538
26539
26540
26541
26542 # Checks for compiler features.
26543 if test "$GCC" = yes; then
26544 CFLAGS="$CFLAGS -Wall -Wcast-align -Wshadow -Wstrict-prototypes"
26545 CFLAGS="$CFLAGS -Wno-format-y2k"
26546
26547 # If -Wno-missing-field-initializers is supported we can expect a
26548 # a larger set of warning options.
26549 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if gcc supports -Wno-missing-field-initializers" >&5
26550 printf %s "checking if gcc supports -Wno-missing-field-initializers... " >&6; }
26551 _gcc_cflags_save=$CFLAGS
26552 CFLAGS="-Wno-missing-field-initializers"
26553 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
26554 /* end confdefs.h. */
26555
26556 int
26557 main (void)
26558 {
26559
26560 ;
26561 return 0;
26562 }
26563 _ACEOF
26564 if ac_fn_c_try_compile "$LINENO"
26565 then :
26566 _gcc_wopt=yes
26567 else $as_nop
26568 _gcc_wopt=no
26569 fi
26570 rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
26571 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $_gcc_wopt" >&5
26572 printf "%s\n" "$_gcc_wopt" >&6; }
26573 CFLAGS=$_gcc_cflags_save;
26574 if test x"$_gcc_wopt" = xyes ; then
26575 CFLAGS="$CFLAGS -Wno-missing-field-initializers"
26576 CFLAGS="$CFLAGS -Wno-sign-compare"
26577 CFLAGS="$CFLAGS -Wno-format-zero-length"
26578 CFLAGS="$CFLAGS -Wno-format-truncation"
26579 CFLAGS="$CFLAGS -Wno-sizeof-pointer-div"
26580 fi
26581 if test "$USE_MAINTAINER_MODE" = "yes"; then
26582 if test x"$_gcc_wopt" = xyes ; then
26583 CFLAGS="$CFLAGS -W -Wextra -Wbad-function-cast"
26584 CFLAGS="$CFLAGS -Wwrite-strings"
26585 CFLAGS="$CFLAGS -Wdeclaration-after-statement"
26586 fi
26587 CFLAGS="$CFLAGS -Wformat -Wformat-security"
26588 CXXFLAGS="$CXXFLAGS -Wall -Wextra -Wno-shadow"
26589
26590 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if gcc supports -Wpointer-arith" >&5
26591 printf %s "checking if gcc supports -Wpointer-arith... " >&6; }
26592 _gcc_cflags_save=$CFLAGS
26593 CFLAGS="-Wpointer-arith"
26594 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
26595 /* end confdefs.h. */
26596
26597 int
26598 main (void)
26599 {
26600
26601 ;
26602 return 0;
26603 }
26604 _ACEOF
26605 if ac_fn_c_try_compile "$LINENO"
26606 then :
26607 _gcc_wopt=yes
26608 else $as_nop
26609 _gcc_wopt=no
26610 fi
26611 rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
26612 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $_gcc_wopt" >&5
26613 printf "%s\n" "$_gcc_wopt" >&6; }
26614 CFLAGS=$_gcc_cflags_save;
26615 if test x"$_gcc_wopt" = xyes ; then
26616 CFLAGS="$CFLAGS -Wpointer-arith"
26617 fi
26618 fi
26619 if test "$have_w32_system" = yes; then
26620 CFLAGS="$CFLAGS -mms-bitfields"
26621 fi
26622 fi
26623
26624 # Only used for debugging, so no serious test needed (for actual
26625 # functionality you have to test libc as well, this only tests the
26626 # compiler).
26627 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __thread" >&5
26628 printf %s "checking for __thread... " >&6; }
26629 if test ${gpgme_cv_tls_works+y}
26630 then :
26631 printf %s "(cached) " >&6
26632 else $as_nop
26633 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
26634 /* end confdefs.h. */
26635 __thread int foo;
26636 int
26637 main (void)
26638 {
26639
26640 ;
26641 return 0;
26642 }
26643 _ACEOF
26644 if ac_fn_c_try_compile "$LINENO"
26645 then :
26646 gpgme_cv_tls_works=yes
26647 else $as_nop
26648 gpgme_cv_tls_works=no
26649 fi
26650 rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
26651 fi
26652 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gpgme_cv_tls_works" >&5
26653 printf "%s\n" "$gpgme_cv_tls_works" >&6; }
26654 if test "$gpgme_cv_tls_works" = yes; then
26655
26656 printf "%s\n" "#define HAVE_TLS 1" >>confdefs.h
26657
26658 fi
26659
26660
26661 # Checks for library functions.
26662 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libraries" >&5
26663 printf "%s\n" "$as_me: checking for libraries" >&6;}
26664
26665 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for _LARGEFILE_SOURCE value needed for large files" >&5
26666 printf %s "checking for _LARGEFILE_SOURCE value needed for large files... " >&6; }
26667 if test ${ac_cv_sys_largefile_source+y}
26668 then :
26669 printf %s "(cached) " >&6
26670 else $as_nop
26671 while :; do
26672 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
26673 /* end confdefs.h. */
26674 #include <sys/types.h> /* for off_t */
26675 #include <stdio.h>
26676 int
26677 main (void)
26678 {
26679 int (*fp) (FILE *, off_t, int) = fseeko;
26680 return fseeko (stdin, 0, 0) && fp (stdin, 0, 0);
26681 ;
26682 return 0;
26683 }
26684 _ACEOF
26685 if ac_fn_c_try_link "$LINENO"
26686 then :
26687 ac_cv_sys_largefile_source=no; break
26688 fi
26689 rm -f core conftest.err conftest.$ac_objext conftest.beam \
26690 conftest$ac_exeext conftest.$ac_ext
26691 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
26692 /* end confdefs.h. */
26693 #define _LARGEFILE_SOURCE 1
26694 #include <sys/types.h> /* for off_t */
26695 #include <stdio.h>
26696 int
26697 main (void)
26698 {
26699 int (*fp) (FILE *, off_t, int) = fseeko;
26700 return fseeko (stdin, 0, 0) && fp (stdin, 0, 0);
26701 ;
26702 return 0;
26703 }
26704 _ACEOF
26705 if ac_fn_c_try_link "$LINENO"
26706 then :
26707 ac_cv_sys_largefile_source=1; break
26708 fi
26709 rm -f core conftest.err conftest.$ac_objext conftest.beam \
26710 conftest$ac_exeext conftest.$ac_ext
26711 ac_cv_sys_largefile_source=unknown
26712 break
26713 done
26714 fi
26715 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_source" >&5
26716 printf "%s\n" "$ac_cv_sys_largefile_source" >&6; }
26717 case $ac_cv_sys_largefile_source in #(
26718 no | unknown) ;;
26719 *)
26720 printf "%s\n" "#define _LARGEFILE_SOURCE $ac_cv_sys_largefile_source" >>confdefs.h
26721 ;;
26722 esac
26723 rm -rf conftest*
26724
26725 # We used to try defining _XOPEN_SOURCE=500 too, to work around a bug
26726 # in glibc 2.1.3, but that breaks too many other things.
26727 # If you want fseeko and ftello with glibc, upgrade to a fixed glibc.
26728 if test $ac_cv_sys_largefile_source != unknown; then
26729
26730 printf "%s\n" "#define HAVE_FSEEKO 1" >>confdefs.h
26731
26732 fi
26733
26734
26735 # Try to find a thread-safe version of ttyname().
26736 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC options needed to detect all undeclared functions" >&5
26737 printf %s "checking for $CC options needed to detect all undeclared functions... " >&6; }
26738 if test ${ac_cv_c_undeclared_builtin_options+y}
26739 then :
26740 printf %s "(cached) " >&6
26741 else $as_nop
26742 ac_save_CFLAGS=$CFLAGS
26743 ac_cv_c_undeclared_builtin_options='cannot detect'
26744 for ac_arg in '' -fno-builtin; do
26745 CFLAGS="$ac_save_CFLAGS $ac_arg"
26746 # This test program should *not* compile successfully.
26747 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
26748 /* end confdefs.h. */
26749
26750 int
26751 main (void)
26752 {
26753 (void) strchr;
26754 ;
26755 return 0;
26756 }
26757 _ACEOF
26758 if ac_fn_c_try_compile "$LINENO"
26759 then :
26760
26761 else $as_nop
26762 # This test program should compile successfully.
26763 # No library function is consistently available on
26764 # freestanding implementations, so test against a dummy
26765 # declaration. Include always-available headers on the
26766 # off chance that they somehow elicit warnings.
26767 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
26768 /* end confdefs.h. */
26769 #include <float.h>
26770 #include <limits.h>
26771 #include <stdarg.h>
26772 #include <stddef.h>
26773 extern void ac_decl (int, char *);
26774
26775 int
26776 main (void)
26777 {
26778 (void) ac_decl (0, (char *) 0);
26779 (void) ac_decl;
26780
26781 ;
26782 return 0;
26783 }
26784 _ACEOF
26785 if ac_fn_c_try_compile "$LINENO"
26786 then :
26787 if test x"$ac_arg" = x
26788 then :
26789 ac_cv_c_undeclared_builtin_options='none needed'
26790 else $as_nop
26791 ac_cv_c_undeclared_builtin_options=$ac_arg
26792 fi
26793 break
26794 fi
26795 rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
26796 fi
26797 rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
26798 done
26799 CFLAGS=$ac_save_CFLAGS
26800
26801 fi
26802 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_undeclared_builtin_options" >&5
26803 printf "%s\n" "$ac_cv_c_undeclared_builtin_options" >&6; }
26804 case $ac_cv_c_undeclared_builtin_options in #(
26805 'cannot detect') :
26806 { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
26807 printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
26808 as_fn_error $? "cannot make $CC report undeclared builtins
26809 See \`config.log' for more details" "$LINENO" 5; } ;; #(
26810 'none needed') :
26811 ac_c_undeclared_builtin_options='' ;; #(
26812 *) :
26813 ac_c_undeclared_builtin_options=$ac_cv_c_undeclared_builtin_options ;;
26814 esac
26815
26816 ac_fn_check_decl "$LINENO" "ttyname_r" "ac_cv_have_decl_ttyname_r" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS"
26817 if test "x$ac_cv_have_decl_ttyname_r" = xyes
26818 then :
26819 ac_have_decl=1
26820 else $as_nop
26821 ac_have_decl=0
26822 fi
26823 printf "%s\n" "#define HAVE_DECL_TTYNAME_R $ac_have_decl" >>confdefs.h
26824
26825
26826 ac_fn_c_check_header_compile "$LINENO" "unistd.h" "ac_cv_header_unistd_h" "$ac_includes_default"
26827 if test "x$ac_cv_header_unistd_h" = xyes
26828 then :
26829 printf "%s\n" "#define HAVE_UNISTD_H 1" >>confdefs.h
26830
26831 fi
26832
26833
26834
26835 if test $ac_cv_have_decl_ttyname_r = no; then
26836 HAVE_DECL_TTYNAME_R=0
26837 fi
26838
26839 ac_fn_c_check_func "$LINENO" "ttyname_r" "ac_cv_func_ttyname_r"
26840 if test "x$ac_cv_func_ttyname_r" = xyes
26841 then :
26842 printf "%s\n" "#define HAVE_TTYNAME_R 1" >>confdefs.h
26843
26844 fi
26845
26846 if test $ac_cv_func_ttyname_r = no; then
26847 HAVE_TTYNAME_R=0
26848 case " $LIBOBJS " in
26849 *" ttyname_r.$ac_objext "* ) ;;
26850 *) LIBOBJS="$LIBOBJS ttyname_r.$ac_objext"
26851 ;;
26852 esac
26853
26854
26855 printf "%s\n" "#define REPLACE_TTYNAME_R 1" >>confdefs.h
26856
26857 else
26858 HAVE_TTYNAME_R=1
26859 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ttyname_r is compatible with its POSIX signature" >&5
26860 printf %s "checking whether ttyname_r is compatible with its POSIX signature... " >&6; }
26861 if test ${gnupg_cv_func_ttyname_r_posix+y}
26862 then :
26863 printf %s "(cached) " >&6
26864 else $as_nop
26865 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
26866 /* end confdefs.h. */
26867 #include <stddef.h>
26868 #include <unistd.h>
26869 int
26870 main (void)
26871 {
26872 *ttyname_r (0, NULL, 0);
26873 ;
26874 return 0;
26875 }
26876
26877 _ACEOF
26878 if ac_fn_c_try_compile "$LINENO"
26879 then :
26880 gnupg_cv_func_ttyname_r_posix=no
26881 else $as_nop
26882 gnupg_cv_func_ttyname_r_posix=yes
26883 fi
26884 rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
26885
26886 fi
26887 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gnupg_cv_func_ttyname_r_posix" >&5
26888 printf "%s\n" "$gnupg_cv_func_ttyname_r_posix" >&6; }
26889 if test $gnupg_cv_func_ttyname_r_posix = no; then
26890 case " $LIBOBJS " in
26891 *" ttyname_r.$ac_objext "* ) ;;
26892 *) LIBOBJS="$LIBOBJS ttyname_r.$ac_objext"
26893 ;;
26894 esac
26895
26896 printf "%s\n" "#define REPLACE_TTYNAME_R 1" >>confdefs.h
26897
26898 elif test "$have_android_system" = yes; then
26899 # Android has ttyname and ttyname_r but they are only stubs and
26900 # print an annoying warning message. Thus we need to replace
26901 # ttyname_r with our own dummy function.
26902 case " $LIBOBJS " in
26903 *" ttyname_r.$ac_objext "* ) ;;
26904 *) LIBOBJS="$LIBOBJS ttyname_r.$ac_objext"
26905 ;;
26906 esac
26907
26908 printf "%s\n" "#define REPLACE_TTYNAME_R 1" >>confdefs.h
26909
26910 else
26911
26912 printf "%s\n" "#define HAVE_POSIXDECL_TTYNAME_R 1" >>confdefs.h
26913
26914
26915 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ttyname_r works with small buffers" >&5
26916 printf %s "checking whether ttyname_r works with small buffers... " >&6; }
26917 if test ${gnupg_cv_func_ttyname_r_works+y}
26918 then :
26919 printf %s "(cached) " >&6
26920 else $as_nop
26921
26922 case "$host_os" in
26923 # Guess no on Solaris.
26924 solaris*) gnupg_cv_func_ttyname_r_works="guessing no" ;;
26925 # Guess no on OSF/1.
26926 osf*) gnupg_cv_func_ttyname_r_works="guessing no" ;;
26927 # Guess yes otherwise.
26928 *) gnupg_cv_func_ttyname_r_works="guessing yes" ;;
26929 esac
26930 if test "$cross_compiling" = yes
26931 then :
26932 :
26933 else $as_nop
26934 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
26935 /* end confdefs.h. */
26936
26937 #include <fcntl.h>
26938 #include <unistd.h>
26939 int
26940 main (void)
26941 {
26942 int result = 0;
26943 int fd;
26944 char buf[31]; /* use any size < 128 here */
26945
26946 fd = open ("/dev/tty", O_RDONLY);
26947 if (fd < 0)
26948 result |= 16;
26949 else if (ttyname_r (fd, buf, sizeof (buf)) != 0)
26950 result |= 17;
26951 else if (ttyname_r (fd, buf, 1) == 0)
26952 result |= 18;
26953 return result;
26954 }
26955 _ACEOF
26956 if ac_fn_c_try_run "$LINENO"
26957 then :
26958 gnupg_cv_func_ttyname_r_works=yes
26959 else $as_nop
26960 case $? in
26961 17 | 18) gnupg_cv_func_ttyname_r_works=no ;;
26962 esac
26963 fi
26964 rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
26965 conftest.$ac_objext conftest.beam conftest.$ac_ext
26966 fi
26967
26968
26969 fi
26970 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gnupg_cv_func_ttyname_r_works" >&5
26971 printf "%s\n" "$gnupg_cv_func_ttyname_r_works" >&6; }
26972 case "$gnupg_cv_func_ttyname_r_works" in
26973 *yes) ;;
26974 *) case " $LIBOBJS " in
26975 *" ttyname_r.$ac_objext "* ) ;;
26976 *) LIBOBJS="$LIBOBJS ttyname_r.$ac_objext"
26977 ;;
26978 esac
26979
26980 printf "%s\n" "#define REPLACE_TTYNAME_R 1" >>confdefs.h
26981
26982
26983 printf "%s\n" "#define HAVE_BROKEN_TTYNAME_R 1" >>confdefs.h
26984
26985 ;;
26986 esac
26987 fi
26988 fi
26989
26990 if test "$ac_cv_func_ttyname_r" != yes; then
26991 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING:
26992 ***
26993 *** ttyname() is not thread-safe and ttyname_r() does not exist
26994 ***" >&5
26995 printf "%s\n" "$as_me: WARNING:
26996 ***
26997 *** ttyname() is not thread-safe and ttyname_r() does not exist
26998 ***" >&2;}
26999 fi
27000
27001 # Try to find a thread-safe version of getenv().
27002 have_thread_safe_getenv=no
27003
27004
27005 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C Library 2.1 or newer" >&5
27006 printf %s "checking whether we are using the GNU C Library 2.1 or newer... " >&6; }
27007 if test ${ac_cv_gnu_library_2_1+y}
27008 then :
27009 printf %s "(cached) " >&6
27010 else $as_nop
27011 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
27012 /* end confdefs.h. */
27013
27014 #include <features.h>
27015 #ifdef __GNU_LIBRARY__
27016 #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2)
27017 Lucky GNU user
27018 #endif
27019 #endif
27020
27021 _ACEOF
27022 if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
27023 $EGREP "Lucky GNU user" >/dev/null 2>&1
27024 then :
27025 ac_cv_gnu_library_2_1=yes
27026 else $as_nop
27027 ac_cv_gnu_library_2_1=no
27028 fi
27029 rm -rf conftest*
27030
27031
27032
27033 fi
27034 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_gnu_library_2_1" >&5
27035 printf "%s\n" "$ac_cv_gnu_library_2_1" >&6; }
27036
27037 GLIBC21="$ac_cv_gnu_library_2_1"
27038
27039
27040 if test $GLIBC21 = yes -o $have_w32_system = yes; then
27041 have_thread_safe_getenv=yes
27042 fi
27043 if test $have_thread_safe_getenv = yes; then
27044
27045 printf "%s\n" "#define HAVE_THREAD_SAFE_GETENV 1" >>confdefs.h
27046
27047 fi
27048 have_getenv_r=no
27049
27050 for ac_func in getenv_r
27051 do :
27052 ac_fn_c_check_func "$LINENO" "getenv_r" "ac_cv_func_getenv_r"
27053 if test "x$ac_cv_func_getenv_r" = xyes
27054 then :
27055 printf "%s\n" "#define HAVE_GETENV_R 1" >>confdefs.h
27056 have_getenv_r=yes
27057 fi
27058
27059 done
27060 if test $have_getenv_r = no && test $have_thread_safe_getenv = no; then
27061 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING:
27062 ***
27063 *** getenv() is not thread-safe and getenv_r() does not exist
27064 ***" >&5
27065 printf "%s\n" "$as_me: WARNING:
27066 ***
27067 *** getenv() is not thread-safe and getenv_r() does not exist
27068 ***" >&2;}
27069 fi
27070
27071 # For converting time strings to seconds since Epoch, we need the timegm
27072 # function.
27073 ac_fn_c_check_func "$LINENO" "timegm" "ac_cv_func_timegm"
27074 if test "x$ac_cv_func_timegm" = xyes
27075 then :
27076 printf "%s\n" "#define HAVE_TIMEGM 1" >>confdefs.h
27077
27078 fi
27079
27080 if test "$ac_cv_func_timegm" != yes; then
27081 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING:
27082 ***
27083 *** timegm() not available - a non-thread-safe kludge will be used
27084 *** and the TZ variable might be changed at runtime.
27085 ***" >&5
27086 printf "%s\n" "$as_me: WARNING:
27087 ***
27088 *** timegm() not available - a non-thread-safe kludge will be used
27089 *** and the TZ variable might be changed at runtime.
27090 ***" >&2;}
27091 fi
27092
27093 ac_fn_c_check_func "$LINENO" "setlocale" "ac_cv_func_setlocale"
27094 if test "x$ac_cv_func_setlocale" = xyes
27095 then :
27096 printf "%s\n" "#define HAVE_SETLOCALE 1" >>confdefs.h
27097
27098 fi
27099
27100
27101 # Checking for libgpg-error.
27102 have_gpg_error=no
27103
27104 gpg_error_config_prefix=""
27105
27106 # Check whether --with-libgpg-error-prefix was given.
27107 if test ${with_libgpg_error_prefix+y}
27108 then :
27109 withval=$with_libgpg_error_prefix; gpg_error_config_prefix="$withval"
27110 fi
27111
27112
27113
27114 # Check whether --with-gpg-error-prefix was given.
27115 if test ${with_gpg_error_prefix+y}
27116 then :
27117 withval=$with_gpg_error_prefix; gpg_error_config_prefix="$withval"
27118 fi
27119
27120
27121 if test x"${GPG_ERROR_CONFIG}" = x ; then
27122 if test x"${gpg_error_config_prefix}" != x ; then
27123 GPG_ERROR_CONFIG="${gpg_error_config_prefix}/bin/gpg-error-config"
27124 else
27125 case "${SYSROOT}" in
27126 /*)
27127 if test -x "${SYSROOT}/bin/gpg-error-config" ; then
27128 GPG_ERROR_CONFIG="${SYSROOT}/bin/gpg-error-config"
27129 fi
27130 ;;
27131 '')
27132 ;;
27133 *)
27134 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Ignoring \$SYSROOT as it is not an absolute path." >&5
27135 printf "%s\n" "$as_me: WARNING: Ignoring \$SYSROOT as it is not an absolute path." >&2;}
27136 ;;
27137 esac
27138 fi
27139 fi
27140
27141 # Extract the first word of "gpg-error-config", so it can be a program name with args.
27142 set dummy gpg-error-config; ac_word=$2
27143 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
27144 printf %s "checking for $ac_word... " >&6; }
27145 if test ${ac_cv_path_GPG_ERROR_CONFIG+y}
27146 then :
27147 printf %s "(cached) " >&6
27148 else $as_nop
27149 case $GPG_ERROR_CONFIG in
27150 [\\/]* | ?:[\\/]*)
27151 ac_cv_path_GPG_ERROR_CONFIG="$GPG_ERROR_CONFIG" # Let the user override the test with a path.
27152 ;;
27153 *)
27154 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
27155 for as_dir in $PATH
27156 do
27157 IFS=$as_save_IFS
27158 case $as_dir in #(((
27159 '') as_dir=./ ;;
27160 */) ;;
27161 *) as_dir=$as_dir/ ;;
27162 esac
27163 for ac_exec_ext in '' $ac_executable_extensions; do
27164 if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
27165 ac_cv_path_GPG_ERROR_CONFIG="$as_dir$ac_word$ac_exec_ext"
27166 printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
27167 break 2
27168 fi
27169 done
27170 done
27171 IFS=$as_save_IFS
27172
27173 test -z "$ac_cv_path_GPG_ERROR_CONFIG" && ac_cv_path_GPG_ERROR_CONFIG="no"
27174 ;;
27175 esac
27176 fi
27177 GPG_ERROR_CONFIG=$ac_cv_path_GPG_ERROR_CONFIG
27178 if test -n "$GPG_ERROR_CONFIG"; then
27179 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $GPG_ERROR_CONFIG" >&5
27180 printf "%s\n" "$GPG_ERROR_CONFIG" >&6; }
27181 else
27182 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
27183 printf "%s\n" "no" >&6; }
27184 fi
27185
27186
27187 min_gpg_error_version="$NEED_GPG_ERROR_VERSION"
27188 ok=no
27189
27190 # Extract the first word of "gpgrt-config", so it can be a program name with args.
27191 set dummy gpgrt-config; ac_word=$2
27192 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
27193 printf %s "checking for $ac_word... " >&6; }
27194 if test ${ac_cv_path_GPGRT_CONFIG+y}
27195 then :
27196 printf %s "(cached) " >&6
27197 else $as_nop
27198 case $GPGRT_CONFIG in
27199 [\\/]* | ?:[\\/]*)
27200 ac_cv_path_GPGRT_CONFIG="$GPGRT_CONFIG" # Let the user override the test with a path.
27201 ;;
27202 *)
27203 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
27204 as_dummy="$prefix/bin:$PATH"
27205 for as_dir in $as_dummy
27206 do
27207 IFS=$as_save_IFS
27208 case $as_dir in #(((
27209 '') as_dir=./ ;;
27210 */) ;;
27211 *) as_dir=$as_dir/ ;;
27212 esac
27213 for ac_exec_ext in '' $ac_executable_extensions; do
27214 if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
27215 ac_cv_path_GPGRT_CONFIG="$as_dir$ac_word$ac_exec_ext"
27216 printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
27217 break 2
27218 fi
27219 done
27220 done
27221 IFS=$as_save_IFS
27222
27223 test -z "$ac_cv_path_GPGRT_CONFIG" && ac_cv_path_GPGRT_CONFIG="no"
27224 ;;
27225 esac
27226 fi
27227 GPGRT_CONFIG=$ac_cv_path_GPGRT_CONFIG
27228 if test -n "$GPGRT_CONFIG"; then
27229 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $GPGRT_CONFIG" >&5
27230 printf "%s\n" "$GPGRT_CONFIG" >&6; }
27231 else
27232 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
27233 printf "%s\n" "no" >&6; }
27234 fi
27235
27236
27237 if test "$GPGRT_CONFIG" != "no"; then
27238 # Determine gpgrt_libdir
27239 #
27240 # Get the prefix of gpgrt-config assuming it's something like:
27241 # <PREFIX>/bin/gpgrt-config
27242 gpgrt_prefix=${GPGRT_CONFIG%/*/*}
27243 possible_libdir1=${gpgrt_prefix}/lib
27244 # Determine by using system libdir-format with CC, it's like:
27245 # Normal style: /usr/lib
27246 # GNU cross style: /usr/<triplet>/lib
27247 # Debian style: /usr/lib/<multiarch-name>
27248 # Fedora/openSUSE style: /usr/lib, /usr/lib32 or /usr/lib64
27249 # It is assumed that CC is specified to the one of host on cross build.
27250 if libdir_candidates=$(${CC:-cc} -print-search-dirs | \
27251 sed -n -e "/^libraries/{s/libraries: =//;s/:/\\
27252 /g;p;}"); then
27253 # From the output of -print-search-dirs, select valid pkgconfig dirs.
27254 libdir_candidates=$(for dir in $libdir_candidates; do
27255 if p=$(cd $dir 2>/dev/null && pwd); then
27256 test -d "$p/pkgconfig" && echo $p;
27257 fi
27258 done)
27259
27260 for possible_libdir0 in $libdir_candidates; do
27261 # possible_libdir0:
27262 # Fallback candidate, the one of system-installed (by $CC)
27263 # (/usr/<triplet>/lib, /usr/lib/<multiarch-name> or /usr/lib32)
27264 # possible_libdir1:
27265 # Another candidate, user-locally-installed
27266 # (<gpgrt_prefix>/lib)
27267 # possible_libdir2
27268 # Most preferred
27269 # (<gpgrt_prefix>/<triplet>/lib,
27270 # <gpgrt_prefix>/lib/<multiarch-name> or <gpgrt_prefix>/lib32)
27271 if test "${possible_libdir0##*/}" = "lib"; then
27272 possible_prefix0=${possible_libdir0%/lib}
27273 possible_prefix0_triplet=${possible_prefix0##*/}
27274 if test -z "$possible_prefix0_triplet"; then
27275 continue
27276 fi
27277 possible_libdir2=${gpgrt_prefix}/$possible_prefix0_triplet/lib
27278 else
27279 possible_prefix0=${possible_libdir0%%/lib*}
27280 possible_libdir2=${gpgrt_prefix}${possible_libdir0#$possible_prefix0}
27281 fi
27282 if test -f ${possible_libdir2}/pkgconfig/gpg-error.pc; then
27283 gpgrt_libdir=${possible_libdir2}
27284 elif test -f ${possible_libdir1}/pkgconfig/gpg-error.pc; then
27285 gpgrt_libdir=${possible_libdir1}
27286 elif test -f ${possible_libdir0}/pkgconfig/gpg-error.pc; then
27287 gpgrt_libdir=${possible_libdir0}
27288 fi
27289 if test -n "$gpgrt_libdir"; then break; fi
27290 done
27291 else
27292 # When we cannot determine system libdir-format, use this:
27293 gpgrt_libdir=${possible_libdir1}
27294 fi
27295 else
27296 unset GPGRT_CONFIG
27297 fi
27298
27299 if test -n "$gpgrt_libdir"; then
27300 GPGRT_CONFIG="$GPGRT_CONFIG --libdir=$gpgrt_libdir"
27301 if $GPGRT_CONFIG gpg-error >/dev/null 2>&1; then
27302 GPG_ERROR_CONFIG="$GPGRT_CONFIG gpg-error"
27303 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Use gpgrt-config with $gpgrt_libdir as gpg-error-config" >&5
27304 printf "%s\n" "$as_me: Use gpgrt-config with $gpgrt_libdir as gpg-error-config" >&6;}
27305 gpg_error_config_version=`$GPG_ERROR_CONFIG --modversion`
27306 else
27307 unset GPGRT_CONFIG
27308 fi
27309 elif test "$GPG_ERROR_CONFIG" != "no"; then
27310 gpg_error_config_version=`$GPG_ERROR_CONFIG --version`
27311 fi
27312 if test "$GPG_ERROR_CONFIG" != "no"; then
27313 req_major=`echo $min_gpg_error_version | \
27314 sed 's/\([0-9]*\)\.\([0-9]*\)/\1/'`
27315 req_minor=`echo $min_gpg_error_version | \
27316 sed 's/\([0-9]*\)\.\([0-9]*\)/\2/'`
27317 major=`echo $gpg_error_config_version | \
27318 sed 's/\([0-9]*\)\.\([0-9]*\).*/\1/'`
27319 minor=`echo $gpg_error_config_version | \
27320 sed 's/\([0-9]*\)\.\([0-9]*\).*/\2/'`
27321 if test "$major" -gt "$req_major"; then
27322 ok=yes
27323 else
27324 if test "$major" -eq "$req_major"; then
27325 if test "$minor" -ge "$req_minor"; then
27326 ok=yes
27327 fi
27328 fi
27329 fi
27330 fi
27331 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GPG Error - version >= $min_gpg_error_version" >&5
27332 printf %s "checking for GPG Error - version >= $min_gpg_error_version... " >&6; }
27333 if test $ok = yes; then
27334 GPG_ERROR_CFLAGS=`$GPG_ERROR_CONFIG --cflags`
27335 GPG_ERROR_LIBS=`$GPG_ERROR_CONFIG --libs`
27336 if test -z "$GPGRT_CONFIG"; then
27337 GPG_ERROR_MT_CFLAGS=`$GPG_ERROR_CONFIG --mt --cflags 2>/dev/null`
27338 GPG_ERROR_MT_LIBS=`$GPG_ERROR_CONFIG --mt --libs 2>/dev/null`
27339 else
27340 GPG_ERROR_MT_CFLAGS=`$GPG_ERROR_CONFIG --variable=mtcflags 2>/dev/null`
27341 GPG_ERROR_MT_CFLAGS="$GPG_ERROR_CFLAGS${GPG_ERROR_CFLAGS:+ }$GPG_ERROR_MT_CFLAGS"
27342 GPG_ERROR_MT_LIBS=`$GPG_ERROR_CONFIG --variable=mtlibs 2>/dev/null`
27343 GPG_ERROR_MT_LIBS="$GPG_ERROR_LIBS${GPG_ERROR_LIBS:+ }$GPG_ERROR_MT_LIBS"
27344 fi
27345 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes ($gpg_error_config_version)" >&5
27346 printf "%s\n" "yes ($gpg_error_config_version)" >&6; }
27347 have_gpg_error=yes
27348 if test -z "$GPGRT_CONFIG"; then
27349 gpg_error_config_host=`$GPG_ERROR_CONFIG --host 2>/dev/null || echo none`
27350 else
27351 gpg_error_config_host=`$GPG_ERROR_CONFIG --variable=host 2>/dev/null || echo none`
27352 fi
27353 if test x"$gpg_error_config_host" != xnone ; then
27354 if test x"$gpg_error_config_host" != x"$host" ; then
27355 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING:
27356 ***
27357 *** The config script \"$GPG_ERROR_CONFIG\" was
27358 *** built for $gpg_error_config_host and thus may not match the
27359 *** used host $host.
27360 *** You may want to use the configure option --with-libgpg-error-prefix
27361 *** to specify a matching config script or use \$SYSROOT.
27362 ***" >&5
27363 printf "%s\n" "$as_me: WARNING:
27364 ***
27365 *** The config script \"$GPG_ERROR_CONFIG\" was
27366 *** built for $gpg_error_config_host and thus may not match the
27367 *** used host $host.
27368 *** You may want to use the configure option --with-libgpg-error-prefix
27369 *** to specify a matching config script or use \$SYSROOT.
27370 ***" >&2;}
27371 gpg_config_script_warn="$gpg_config_script_warn libgpg-error"
27372 fi
27373 fi
27374 else
27375 GPG_ERROR_CFLAGS=""
27376 GPG_ERROR_LIBS=""
27377 GPG_ERROR_MT_CFLAGS=""
27378 GPG_ERROR_MT_LIBS=""
27379 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
27380 printf "%s\n" "no" >&6; }
27381 have_gpg_error=no
27382 fi
27383
27384
27385
27386
27387
27388
27389 printf "%s\n" "#define GPG_ERR_SOURCE_DEFAULT GPG_ERR_SOURCE_GPGME" >>confdefs.h
27390
27391
27392 # And for libassuan.
27393 have_libassuan=no
27394
27395
27396 # Check whether --with-libassuan-prefix was given.
27397 if test ${with_libassuan_prefix+y}
27398 then :
27399 withval=$with_libassuan_prefix; libassuan_config_prefix="$withval"
27400 else $as_nop
27401 libassuan_config_prefix=""
27402 fi
27403
27404 if test x$libassuan_config_prefix != x ; then
27405 if test x${LIBASSUAN_CONFIG+set} != xset ; then
27406 LIBASSUAN_CONFIG=$libassuan_config_prefix/bin/libassuan-config
27407 fi
27408 fi
27409
27410 use_gpgrt_config=""
27411 if test x"${LIBASSUAN_CONFIG}" = x -a x"$GPGRT_CONFIG" != x -a "$GPGRT_CONFIG" != "no"; then
27412 if $GPGRT_CONFIG libassuan --exists; then
27413 LIBASSUAN_CONFIG="$GPGRT_CONFIG libassuan"
27414 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Use gpgrt-config as libassuan-config" >&5
27415 printf "%s\n" "$as_me: Use gpgrt-config as libassuan-config" >&6;}
27416 use_gpgrt_config=yes
27417 fi
27418 fi
27419 if test -z "$use_gpgrt_config"; then
27420 # Extract the first word of "libassuan-config", so it can be a program name with args.
27421 set dummy libassuan-config; ac_word=$2
27422 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
27423 printf %s "checking for $ac_word... " >&6; }
27424 if test ${ac_cv_path_LIBASSUAN_CONFIG+y}
27425 then :
27426 printf %s "(cached) " >&6
27427 else $as_nop
27428 case $LIBASSUAN_CONFIG in
27429 [\\/]* | ?:[\\/]*)
27430 ac_cv_path_LIBASSUAN_CONFIG="$LIBASSUAN_CONFIG" # Let the user override the test with a path.
27431 ;;
27432 *)
27433 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
27434 for as_dir in $PATH
27435 do
27436 IFS=$as_save_IFS
27437 case $as_dir in #(((
27438 '') as_dir=./ ;;
27439 */) ;;
27440 *) as_dir=$as_dir/ ;;
27441 esac
27442 for ac_exec_ext in '' $ac_executable_extensions; do
27443 if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
27444 ac_cv_path_LIBASSUAN_CONFIG="$as_dir$ac_word$ac_exec_ext"
27445 printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
27446 break 2
27447 fi
27448 done
27449 done
27450 IFS=$as_save_IFS
27451
27452 test -z "$ac_cv_path_LIBASSUAN_CONFIG" && ac_cv_path_LIBASSUAN_CONFIG="no"
27453 ;;
27454 esac
27455 fi
27456 LIBASSUAN_CONFIG=$ac_cv_path_LIBASSUAN_CONFIG
27457 if test -n "$LIBASSUAN_CONFIG"; then
27458 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $LIBASSUAN_CONFIG" >&5
27459 printf "%s\n" "$LIBASSUAN_CONFIG" >&6; }
27460 else
27461 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
27462 printf "%s\n" "no" >&6; }
27463 fi
27464
27465
27466 fi
27467
27468 tmp="$NEED_LIBASSUAN_API:$NEED_LIBASSUAN_VERSION"
27469 if echo "$tmp" | grep ':' >/dev/null 2>/dev/null ; then
27470 req_libassuan_api=`echo "$tmp" | sed 's/\(.*\):\(.*\)/\1/'`
27471 min_libassuan_version=`echo "$tmp" | sed 's/\(.*\):\(.*\)/\2/'`
27472 else
27473 req_libassuan_api=0
27474 min_libassuan_version="$tmp"
27475 fi
27476
27477 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for LIBASSUAN - version >= $min_libassuan_version" >&5
27478 printf %s "checking for LIBASSUAN - version >= $min_libassuan_version... " >&6; }
27479 ok=no
27480 if test "$LIBASSUAN_CONFIG" != "no"; then
27481 req_major=`echo $min_libassuan_version | \
27482 sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\)/\1/'`
27483 req_minor=`echo $min_libassuan_version | \
27484 sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\)/\2/'`
27485 req_micro=`echo $min_libassuan_version | \
27486 sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\)/\3/'`
27487
27488 if test -z "$use_gpgrt_config"; then
27489 libassuan_config_version=`$LIBASSUAN_CONFIG --version`
27490 else
27491 libassuan_config_version=`$LIBASSUAN_CONFIG --modversion`
27492 fi
27493 major=`echo $libassuan_config_version | \
27494 sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/\1/'`
27495 minor=`echo $libassuan_config_version | \
27496 sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/\2/'`
27497 micro=`echo $libassuan_config_version | \
27498 sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/\3/'`
27499
27500 if test "$major" -gt "$req_major"; then
27501 ok=yes
27502 else
27503 if test "$major" -eq "$req_major"; then
27504 if test "$minor" -gt "$req_minor"; then
27505 ok=yes
27506 else
27507 if test "$minor" -eq "$req_minor"; then
27508 if test "$micro" -ge "$req_micro"; then
27509 ok=yes
27510 fi
27511 fi
27512 fi
27513 fi
27514 fi
27515 fi
27516
27517 if test $ok = yes; then
27518 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes ($libassuan_config_version)" >&5
27519 printf "%s\n" "yes ($libassuan_config_version)" >&6; }
27520 else
27521 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
27522 printf "%s\n" "no" >&6; }
27523 fi
27524
27525 if test $ok = yes; then
27526 if test "$req_libassuan_api" -gt 0 ; then
27527 if test -z "$use_gpgrt_config"; then
27528 tmp=`$LIBASSUAN_CONFIG --api-version 2>/dev/null || echo 0`
27529 else
27530 tmp=`$LIBASSUAN_CONFIG --variable=api_version 2>/dev/null || echo 0`
27531 fi
27532 if test "$tmp" -gt 0 ; then
27533 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking LIBASSUAN API version" >&5
27534 printf %s "checking LIBASSUAN API version... " >&6; }
27535 if test "$req_libassuan_api" -eq "$tmp" ; then
27536 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: okay" >&5
27537 printf "%s\n" "okay" >&6; }
27538 else
27539 ok=no
27540 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: does not match. want=$req_libassuan_api got=$tmp." >&5
27541 printf "%s\n" "does not match. want=$req_libassuan_api got=$tmp." >&6; }
27542 fi
27543 fi
27544 fi
27545 fi
27546
27547 if test $ok = yes; then
27548 if test x"$host" != x ; then
27549 if test -z "$use_gpgrt_config"; then
27550 libassuan_config_host=`$LIBASSUAN_CONFIG --host 2>/dev/null || echo none`
27551 else
27552 libassuan_config_host=`$LIBASSUAN_CONFIG --variable=host 2>/dev/null || echo none`
27553 fi
27554 if test x"$libassuan_config_host" != xnone ; then
27555 if test x"$libassuan_config_host" != x"$host" ; then
27556 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING:
27557 ***
27558 *** The config script \"$LIBASSUAN_CONFIG\" was
27559 *** built for $libassuan_config_host and thus may not match the
27560 *** used host $host.
27561 *** You may want to use the configure option --with-libassuan-prefix
27562 *** to specify a matching config script.
27563 ***" >&5
27564 printf "%s\n" "$as_me: WARNING:
27565 ***
27566 *** The config script \"$LIBASSUAN_CONFIG\" was
27567 *** built for $libassuan_config_host and thus may not match the
27568 *** used host $host.
27569 *** You may want to use the configure option --with-libassuan-prefix
27570 *** to specify a matching config script.
27571 ***" >&2;}
27572 fi
27573 fi
27574 fi
27575 fi
27576
27577 if test $ok = yes; then
27578 LIBASSUAN_CFLAGS=`$LIBASSUAN_CONFIG --cflags`
27579 LIBASSUAN_LIBS=`$LIBASSUAN_CONFIG --libs`
27580 have_libassuan=yes
27581 else
27582 LIBASSUAN_CFLAGS=""
27583 LIBASSUAN_LIBS=""
27584 have_libassuan=no
27585 fi
27586
27587
27588
27589 if test "$have_libassuan" = "yes"; then
27590
27591 printf "%s\n" "#define GPGME_LIBASSUAN_VERSION \"$libassuan_version\"" >>confdefs.h
27592
27593 fi
27594
27595
27596 #
27597 # Other checks
27598 #
27599
27600 # Check for getgid etc
27601 ac_fn_c_check_func "$LINENO" "getgid" "ac_cv_func_getgid"
27602 if test "x$ac_cv_func_getgid" = xyes
27603 then :
27604 printf "%s\n" "#define HAVE_GETGID 1" >>confdefs.h
27605
27606 fi
27607 ac_fn_c_check_func "$LINENO" "getegid" "ac_cv_func_getegid"
27608 if test "x$ac_cv_func_getegid" = xyes
27609 then :
27610 printf "%s\n" "#define HAVE_GETEGID 1" >>confdefs.h
27611
27612 fi
27613 ac_fn_c_check_func "$LINENO" "closefrom" "ac_cv_func_closefrom"
27614 if test "x$ac_cv_func_closefrom" = xyes
27615 then :
27616 printf "%s\n" "#define HAVE_CLOSEFROM 1" >>confdefs.h
27617
27618 fi
27619
27620
27621
27622 # Replacement functions.
27623 ac_fn_c_check_func "$LINENO" "stpcpy" "ac_cv_func_stpcpy"
27624 if test "x$ac_cv_func_stpcpy" = xyes
27625 then :
27626 printf "%s\n" "#define HAVE_STPCPY 1" >>confdefs.h
27627
27628 else $as_nop
27629 case " $LIBOBJS " in
27630 *" stpcpy.$ac_objext "* ) ;;
27631 *) LIBOBJS="$LIBOBJS stpcpy.$ac_objext"
27632 ;;
27633 esac
27634
27635 fi
27636
27637 ac_fn_c_check_func "$LINENO" "setenv" "ac_cv_func_setenv"
27638 if test "x$ac_cv_func_setenv" = xyes
27639 then :
27640 printf "%s\n" "#define HAVE_SETENV 1" >>confdefs.h
27641
27642 else $as_nop
27643 case " $LIBOBJS " in
27644 *" setenv.$ac_objext "* ) ;;
27645 *) LIBOBJS="$LIBOBJS setenv.$ac_objext"
27646 ;;
27647 esac
27648
27649 fi
27650
27651
27652 # Assuan check for descriptor passing.
27653 ac_fn_c_check_member "$LINENO" "struct cmsghdr" "cmsg_len" "ac_cv_member_struct_cmsghdr_cmsg_len" "
27654 #include <stdlib.h>
27655 #include <stddef.h>
27656 #include <stdio.h>
27657 #include <sys/types.h>
27658 #include <sys/socket.h>
27659 #include <sys/un.h>
27660 #if HAVE_SYS_UIO_H
27661 #include <sys/uio.h>
27662 #endif
27663 #include <unistd.h>
27664
27665 "
27666 if test "x$ac_cv_member_struct_cmsghdr_cmsg_len" = xyes
27667 then :
27668 supports_descriptor_passing=yes
27669 else $as_nop
27670 supports_descriptor_passing=no
27671 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING:
27672 ***
27673 *** Data structure for sending ancillary data missing.
27674 *** Descriptor passing won't work.
27675 ***" >&5
27676 printf "%s\n" "$as_me: WARNING:
27677 ***
27678 *** Data structure for sending ancillary data missing.
27679 *** Descriptor passing won't work.
27680 ***" >&2;}
27681 fi
27682
27683
27684 use_descriptor_passing=yes
27685 # Check whether --enable-fd-passing was given.
27686 if test ${enable_fd_passing+y}
27687 then :
27688 enableval=$enable_fd_passing; use_descriptor_passing=$enableval
27689 fi
27690
27691
27692 if test "$supports_descriptor_passing" != "yes"; then
27693 use_descriptor_passing=no
27694 fi
27695
27696 if test "$use_descriptor_passing" = "yes"; then
27697
27698 printf "%s\n" "#define USE_DESCRIPTOR_PASSING 1" >>confdefs.h
27699
27700 fi
27701
27702 if test "$use_descriptor_passing" = "yes"; then
27703 USE_DESCRIPTOR_PASSING_TRUE=
27704 USE_DESCRIPTOR_PASSING_FALSE='#'
27705 else
27706 USE_DESCRIPTOR_PASSING_TRUE='#'
27707 USE_DESCRIPTOR_PASSING_FALSE=
27708 fi
27709
27710
27711
27712 uiserver=no
27713 if test "$use_descriptor_passing" = "yes" && test "$have_libassuan" = "yes"; then
27714 uiserver=yes
27715 fi
27716 if test "$uiserver" != "no"; then
27717
27718 printf "%s\n" "#define ENABLE_UISERVER 1" >>confdefs.h
27719
27720 fi
27721 if test "$uiserver" != "no"; then
27722 HAVE_UISERVER_TRUE=
27723 HAVE_UISERVER_FALSE='#'
27724 else
27725 HAVE_UISERVER_TRUE='#'
27726 HAVE_UISERVER_FALSE=
27727 fi
27728
27729
27730
27731 # Option --disable-linux-getdents
27732 #
27733 # By default we use SYS_getdents on Linux to optimize fd closing
27734 # before an exec. This option allows to switch this optimization off.
27735 use_linux_getdents=yes
27736 # Check whether --enable-linux-getdents was given.
27737 if test ${enable_linux_getdents+y}
27738 then :
27739 enableval=$enable_linux_getdents; use_linux_getdents=$enableval
27740 fi
27741
27742 if test "$use_linux_getdents" = "yes"; then
27743 case "${host}" in
27744 *-*-linux*)
27745
27746 printf "%s\n" "#define USE_LINUX_GETDENTS 1" >>confdefs.h
27747
27748 ;;
27749 esac
27750 fi
27751
27752
27753 #
27754 # Add a few constants to help porting to W32
27755 #
27756
27757
27758
27759
27760
27761 # Substitution used for gpgme-config
27762 GPGME_CONFIG_LIBS="-lgpgme"
27763 GPGME_CONFIG_CFLAGS=""
27764 GPGME_CONFIG_HOST="$host"
27765 GPGME_CONFIG_AVAIL_LANG="$enabled_languages"
27766
27767
27768
27769
27770
27771
27772 # Frob'da Variables
27773 LTLIBOBJS=`echo "$LIBOBJS" |
27774 sed 's,\.[^.]* ,.lo ,g;s,\.[^.]*$,.lo,'`
27775
27776
27777 # Some checks for gpgme-tool
27778 # Done at top: AC_CHECK_HEADER([argp.h])
27779 ac_fn_c_check_type "$LINENO" "error_t" "ac_cv_type_error_t" "#include <errno.h>
27780 "
27781 if test "x$ac_cv_type_error_t" = xyes
27782 then :
27783
27784 printf "%s\n" "#define HAVE_ERROR_T 1" >>confdefs.h
27785
27786
27787 else $as_nop
27788
27789 printf "%s\n" "#define error_t int" >>confdefs.h
27790
27791 fi
27792
27793
27794
27795 # A substitution to set generated files in a Emacs buffer to read-only.
27796 emacs_local_vars_begin='Local Variables:'
27797
27798 emacs_local_vars_read_only='buffer-read-only: t'
27799
27800 emacs_local_vars_end='End:'
27801
27802
27803 # Last check.
27804 die=no
27805 if test "$have_gpg_error" = "no"; then
27806 die=yes
27807 { printf "%s\n" "$as_me:${as_lineno-$LINENO}:
27808 ***
27809 *** You need libgpg-error to build this program.
27810 ** This library is for example available at
27811 *** https://www.gnupg.org/ftp/gcrypt/libgpg-error/
27812 *** (at least version $NEED_GPG_ERROR_VERSION is required.)
27813 ***" >&5
27814 printf "%s\n" "$as_me:
27815 ***
27816 *** You need libgpg-error to build this program.
27817 ** This library is for example available at
27818 *** https://www.gnupg.org/ftp/gcrypt/libgpg-error/
27819 *** (at least version $NEED_GPG_ERROR_VERSION is required.)
27820 ***" >&6;}
27821 fi
27822 if test "$have_libassuan" = "no"; then
27823 die=yes
27824 { printf "%s\n" "$as_me:${as_lineno-$LINENO}:
27825 ***
27826 *** You need libassuan to build this program.
27827 *** This library is for example available at
27828 *** https://www.gnupg.org/ftp/gcrypt/libassuan/
27829 *** (at least version $NEED_LIBASSUAN_VERSION (API $NEED_LIBASSUAN_API) is required).
27830 ***" >&5
27831 printf "%s\n" "$as_me:
27832 ***
27833 *** You need libassuan to build this program.
27834 *** This library is for example available at
27835 *** https://www.gnupg.org/ftp/gcrypt/libassuan/
27836 *** (at least version $NEED_LIBASSUAN_VERSION (API $NEED_LIBASSUAN_API) is required).
27837 ***" >&6;}
27838 fi
27839
27840 if test "$die" = "yes"; then
27841 as_fn_error $? "
27842 ***
27843 *** Required libraries not found. Please consult the above messages
27844 *** and install them before running configure again.
27845 ***" "$LINENO" 5
27846 fi
27847
27848
27849 #
27850 # Create config files
27851
27852 ac_config_files="$ac_config_files Makefile src/Makefile tests/Makefile tests/gpg/Makefile tests/gpgsm/Makefile tests/opassuan/Makefile tests/json/Makefile doc/Makefile src/versioninfo.rc src/gpgme.pc src/gpgme-glib.pc src/gpgme.h"
27853
27854 ac_config_files="$ac_config_files src/gpgme-config"
27855
27856 ac_config_files="$ac_config_files lang/cpp/Makefile lang/cpp/src/Makefile"
27857
27858 ac_config_files="$ac_config_files lang/cpp/tests/Makefile"
27859
27860 ac_config_files="$ac_config_files lang/cpp/src/GpgmeppConfig-w32.cmake.in"
27861
27862 ac_config_files="$ac_config_files lang/cpp/src/GpgmeppConfig.cmake.in"
27863
27864 ac_config_files="$ac_config_files lang/cpp/src/GpgmeppConfigVersion.cmake"
27865
27866 ac_config_files="$ac_config_files lang/cpp/src/gpgmepp_version.h"
27867
27868 ac_config_files="$ac_config_files lang/qt/Makefile lang/qt/src/Makefile"
27869
27870 ac_config_files="$ac_config_files lang/qt/src/QGpgmeConfig-w32.cmake.in"
27871
27872 ac_config_files="$ac_config_files lang/qt/src/QGpgmeConfig.cmake.in"
27873
27874 ac_config_files="$ac_config_files lang/qt/src/QGpgmeConfigVersion.cmake"
27875
27876 ac_config_files="$ac_config_files lang/qt/tests/Makefile"
27877
27878 ac_config_files="$ac_config_files lang/qt/src/qgpgme_version.h"
27879
27880 ac_config_files="$ac_config_files lang/Makefile lang/cl/Makefile lang/cl/gpgme.asd"
27881
27882 if test -z "$HAVE_DOXYGEN_TRUE"; then :
27883 ac_config_files="$ac_config_files lang/qt/doc/Doxyfile"
27884
27885 fi
27886 ac_config_files="$ac_config_files lang/js/Makefile lang/js/src/Makefile lang/js/BrowserTestExtension/Makefile lang/js/DemoExtension/Makefile"
27887
27888 ac_config_files="$ac_config_files lang/qt/doc/Makefile"
27889
27890 ac_config_files="$ac_config_files lang/python/Makefile lang/python/version.py lang/python/tests/Makefile lang/python/src/Makefile lang/python/examples/Makefile lang/python/doc/Makefile"
27891
27892 ac_config_files="$ac_config_files lang/python/setup.py"
27893
27894 cat >confcache <<\_ACEOF
27895 # This file is a shell script that caches the results of configure
27896 # tests run on this system so they can be shared between configure
27897 # scripts and configure runs, see configure's option --config-cache.
27898 # It is not useful on other systems. If it contains results you don't
27899 # want to keep, you may remove or edit it.
27900 #
27901 # config.status only pays attention to the cache file if you give it
27902 # the --recheck option to rerun configure.
27903 #
27904 # `ac_cv_env_foo' variables (set or unset) will be overridden when
27905 # loading this file, other *unset* `ac_cv_foo' will be assigned the
27906 # following values.
27907
27908 _ACEOF
27909
27910 # The following way of writing the cache mishandles newlines in values,
27911 # but we know of no workaround that is simple, portable, and efficient.
27912 # So, we kill variables containing newlines.
27913 # Ultrix sh set writes to stderr and can't be redirected directly,
27914 # and sets the high bit in the cache file unless we assign to the vars.
27915 (
27916 for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
27917 eval ac_val=\$$ac_var
27918 case $ac_val in #(
27919 *${as_nl}*)
27920 case $ac_var in #(
27921 *_cv_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
27922 printf "%s\n" "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
27923 esac
27924 case $ac_var in #(
27925 _ | IFS | as_nl) ;; #(
27926 BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
27927 *) { eval $ac_var=; unset $ac_var;} ;;
27928 esac ;;
27929 esac
27930 done
27931
27932 (set) 2>&1 |
27933 case $as_nl`(ac_space=' '; set) 2>&1` in #(
27934 *${as_nl}ac_space=\ *)
27935 # `set' does not quote correctly, so add quotes: double-quote
27936 # substitution turns \\\\ into \\, and sed turns \\ into \.
27937 sed -n \
27938 "s/'/'\\\\''/g;
27939 s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
27940 ;; #(
27941 *)
27942 # `set' quotes correctly as required by POSIX, so do not add quotes.
27943 sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
27944 ;;
27945 esac |
27946 sort
27947 ) |
27948 sed '
27949 /^ac_cv_env_/b end
27950 t clear
27951 :clear
27952 s/^\([^=]*\)=\(.*[{}].*\)$/test ${\1+y} || &/
27953 t end
27954 s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
27955 :end' >>confcache
27956 if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
27957 if test -w "$cache_file"; then
27958 if test "x$cache_file" != "x/dev/null"; then
27959 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
27960 printf "%s\n" "$as_me: updating cache $cache_file" >&6;}
27961 if test ! -f "$cache_file" || test -h "$cache_file"; then
27962 cat confcache >"$cache_file"
27963 else
27964 case $cache_file in #(
27965 */* | ?:*)
27966 mv -f confcache "$cache_file"$$ &&
27967 mv -f "$cache_file"$$ "$cache_file" ;; #(
27968 *)
27969 mv -f confcache "$cache_file" ;;
27970 esac
27971 fi
27972 fi
27973 else
27974 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
27975 printf "%s\n" "$as_me: not updating unwritable cache $cache_file" >&6;}
27976 fi
27977 fi
27978 rm -f confcache
27979
27980 test "x$prefix" = xNONE && prefix=$ac_default_prefix
27981 # Let make expand exec_prefix.
27982 test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
27983
27984 DEFS=-DHAVE_CONFIG_H
27985
27986 ac_libobjs=
27987 ac_ltlibobjs=
27988 U=
27989 for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
27990 # 1. Remove the extension, and $U if already installed.
27991 ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
27992 ac_i=`printf "%s\n" "$ac_i" | sed "$ac_script"`
27993 # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
27994 # will be set to the directory where LIBOBJS objects are built.
27995 as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
27996 as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
27997 done
27998 LIBOBJS=$ac_libobjs
27999
28000 LTLIBOBJS=$ac_ltlibobjs
28001
28002
28003 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5
28004 printf %s "checking that generated files are newer than configure... " >&6; }
28005 if test -n "$am_sleep_pid"; then
28006 # Hide warnings about reused PIDs.
28007 wait $am_sleep_pid 2>/dev/null
28008 fi
28009 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: done" >&5
28010 printf "%s\n" "done" >&6; }
28011 if test -n "$EXEEXT"; then
28012 am__EXEEXT_TRUE=
28013 am__EXEEXT_FALSE='#'
28014 else
28015 am__EXEEXT_TRUE='#'
28016 am__EXEEXT_FALSE=
28017 fi
28018
28019 if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
28020 as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
28021 Usually this means the macro was only invoked conditionally." "$LINENO" 5
28022 fi
28023 if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
28024 as_fn_error $? "conditional \"AMDEP\" was never defined.
28025 Usually this means the macro was only invoked conditionally." "$LINENO" 5
28026 fi
28027 if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
28028 as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
28029 Usually this means the macro was only invoked conditionally." "$LINENO" 5
28030 fi
28031 if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
28032 as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
28033 Usually this means the macro was only invoked conditionally." "$LINENO" 5
28034 fi
28035 if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then
28036 as_fn_error $? "conditional \"am__fastdepCXX\" was never defined.
28037 Usually this means the macro was only invoked conditionally." "$LINENO" 5
28038 fi
28039 if test -z "${HAVE_LD_VERSION_SCRIPT_TRUE}" && test -z "${HAVE_LD_VERSION_SCRIPT_FALSE}"; then
28040 as_fn_error $? "conditional \"HAVE_LD_VERSION_SCRIPT\" was never defined.
28041 Usually this means the macro was only invoked conditionally." "$LINENO" 5
28042 fi
28043 if test -z "${HAVE_DOSISH_SYSTEM_TRUE}" && test -z "${HAVE_DOSISH_SYSTEM_FALSE}"; then
28044 as_fn_error $? "conditional \"HAVE_DOSISH_SYSTEM\" was never defined.
28045 Usually this means the macro was only invoked conditionally." "$LINENO" 5
28046 fi
28047 if test -z "${HAVE_W32_SYSTEM_TRUE}" && test -z "${HAVE_W32_SYSTEM_FALSE}"; then
28048 as_fn_error $? "conditional \"HAVE_W32_SYSTEM\" was never defined.
28049 Usually this means the macro was only invoked conditionally." "$LINENO" 5
28050 fi
28051 if test -z "${HAVE_W64_SYSTEM_TRUE}" && test -z "${HAVE_W64_SYSTEM_FALSE}"; then
28052 as_fn_error $? "conditional \"HAVE_W64_SYSTEM\" was never defined.
28053 Usually this means the macro was only invoked conditionally." "$LINENO" 5
28054 fi
28055 if test -z "${HAVE_ANDROID_SYSTEM_TRUE}" && test -z "${HAVE_ANDROID_SYSTEM_FALSE}"; then
28056 as_fn_error $? "conditional \"HAVE_ANDROID_SYSTEM\" was never defined.
28057 Usually this means the macro was only invoked conditionally." "$LINENO" 5
28058 fi
28059 if test -z "${HAVE_MACOS_SYSTEM_TRUE}" && test -z "${HAVE_MACOS_SYSTEM_FALSE}"; then
28060 as_fn_error $? "conditional \"HAVE_MACOS_SYSTEM\" was never defined.
28061 Usually this means the macro was only invoked conditionally." "$LINENO" 5
28062 fi
28063 if test -z "${BUILD_W32_GLIB_TRUE}" && test -z "${BUILD_W32_GLIB_FALSE}"; then
28064 as_fn_error $? "conditional \"BUILD_W32_GLIB\" was never defined.
28065 Usually this means the macro was only invoked conditionally." "$LINENO" 5
28066 fi
28067 if test -z "${HAVE_DOXYGEN_TRUE}" && test -z "${HAVE_DOXYGEN_FALSE}"; then
28068 as_fn_error $? "conditional \"HAVE_DOXYGEN\" was never defined.
28069 Usually this means the macro was only invoked conditionally." "$LINENO" 5
28070 fi
28071 if test -z "${RUN_GPGCONF_TESTS_TRUE}" && test -z "${RUN_GPGCONF_TESTS_FALSE}"; then
28072 as_fn_error $? "conditional \"RUN_GPGCONF_TESTS\" was never defined.
28073 Usually this means the macro was only invoked conditionally." "$LINENO" 5
28074 fi
28075 if test -z "${RUN_GPG_TESTS_TRUE}" && test -z "${RUN_GPG_TESTS_FALSE}"; then
28076 as_fn_error $? "conditional \"RUN_GPG_TESTS\" was never defined.
28077 Usually this means the macro was only invoked conditionally." "$LINENO" 5
28078 fi
28079 if test -z "${RUN_GPGSM_TESTS_TRUE}" && test -z "${RUN_GPGSM_TESTS_FALSE}"; then
28080 as_fn_error $? "conditional \"RUN_GPGSM_TESTS\" was never defined.
28081 Usually this means the macro was only invoked conditionally." "$LINENO" 5
28082 fi
28083 if test -z "${RUN_G13_TESTS_TRUE}" && test -z "${RUN_G13_TESTS_FALSE}"; then
28084 as_fn_error $? "conditional \"RUN_G13_TESTS\" was never defined.
28085 Usually this means the macro was only invoked conditionally." "$LINENO" 5
28086 fi
28087 if test -z "${USE_DESCRIPTOR_PASSING_TRUE}" && test -z "${USE_DESCRIPTOR_PASSING_FALSE}"; then
28088 as_fn_error $? "conditional \"USE_DESCRIPTOR_PASSING\" was never defined.
28089 Usually this means the macro was only invoked conditionally." "$LINENO" 5
28090 fi
28091 if test -z "${HAVE_UISERVER_TRUE}" && test -z "${HAVE_UISERVER_FALSE}"; then
28092 as_fn_error $? "conditional \"HAVE_UISERVER\" was never defined.
28093 Usually this means the macro was only invoked conditionally." "$LINENO" 5
28094 fi
28095
28096 : "${CONFIG_STATUS=./config.status}"
28097 ac_write_fail=0
28098 ac_clean_files_save=$ac_clean_files
28099 ac_clean_files="$ac_clean_files $CONFIG_STATUS"
28100 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
28101 printf "%s\n" "$as_me: creating $CONFIG_STATUS" >&6;}
28102 as_write_fail=0
28103 cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
28104 #! $SHELL
28105 # Generated by $as_me.
28106 # Run this file to recreate the current configuration.
28107 # Compiler output produced by configure, useful for debugging
28108 # configure, is in config.log if it exists.
28109
28110 debug=false
28111 ac_cs_recheck=false
28112 ac_cs_silent=false
28113
28114 SHELL=\${CONFIG_SHELL-$SHELL}
28115 export SHELL
28116 _ASEOF
28117 cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
28118 ## -------------------- ##
28119 ## M4sh Initialization. ##
28120 ## -------------------- ##
28121
28122 # Be more Bourne compatible
28123 DUALCASE=1; export DUALCASE # for MKS sh
28124 as_nop=:
28125 if test ${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1
28126 then :
28127 emulate sh
28128 NULLCMD=:
28129 # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
28130 # is contrary to our usage. Disable this feature.
28131 alias -g '${1+"$@"}'='"$@"'
28132 setopt NO_GLOB_SUBST
28133 else $as_nop
28134 case `(set -o) 2>/dev/null` in #(
28135 *posix*) :
28136 set -o posix ;; #(
28137 *) :
28138 ;;
28139 esac
28140 fi
28141
28142
28143
28144 # Reset variables that may have inherited troublesome values from
28145 # the environment.
28146
28147 # IFS needs to be set, to space, tab, and newline, in precisely that order.
28148 # (If _AS_PATH_WALK were called with IFS unset, it would have the
28149 # side effect of setting IFS to empty, thus disabling word splitting.)
28150 # Quoting is to prevent editors from complaining about space-tab.
28151 as_nl='
28152 '
28153 export as_nl
28154 IFS=" "" $as_nl"
28155
28156 PS1='$ '
28157 PS2='> '
28158 PS4='+ '
28159
28160 # Ensure predictable behavior from utilities with locale-dependent output.
28161 LC_ALL=C
28162 export LC_ALL
28163 LANGUAGE=C
28164 export LANGUAGE
28165
28166 # We cannot yet rely on "unset" to work, but we need these variables
28167 # to be unset--not just set to an empty or harmless value--now, to
28168 # avoid bugs in old shells (e.g. pre-3.0 UWIN ksh). This construct
28169 # also avoids known problems related to "unset" and subshell syntax
28170 # in other old shells (e.g. bash 2.01 and pdksh 5.2.14).
28171 for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH
28172 do eval test \${$as_var+y} \
28173 && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
28174 done
28175
28176 # Ensure that fds 0, 1, and 2 are open.
28177 if (exec 3>&0) 2>/dev/null; then :; else exec 0</dev/null; fi
28178 if (exec 3>&1) 2>/dev/null; then :; else exec 1>/dev/null; fi
28179 if (exec 3>&2) ; then :; else exec 2>/dev/null; fi
28180
28181 # The user is always right.
28182 if ${PATH_SEPARATOR+false} :; then
28183 PATH_SEPARATOR=:
28184 (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
28185 (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
28186 PATH_SEPARATOR=';'
28187 }
28188 fi
28189
28190
28191 # Find who we are. Look in the path if we contain no directory separator.
28192 as_myself=
28193 case $0 in #((
28194 *[\\/]* ) as_myself=$0 ;;
28195 *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
28196 for as_dir in $PATH
28197 do
28198 IFS=$as_save_IFS
28199 case $as_dir in #(((
28200 '') as_dir=./ ;;
28201 */) ;;
28202 *) as_dir=$as_dir/ ;;
28203 esac
28204 test -r "$as_dir$0" && as_myself=$as_dir$0 && break
28205 done
28206 IFS=$as_save_IFS
28207
28208 ;;
28209 esac
28210 # We did not find ourselves, most probably we were run as `sh COMMAND'
28211 # in which case we are not to be found in the path.
28212 if test "x$as_myself" = x; then
28213 as_myself=$0
28214 fi
28215 if test ! -f "$as_myself"; then
28216 printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
28217 exit 1
28218 fi
28219
28220
28221
28222 # as_fn_error STATUS ERROR [LINENO LOG_FD]
28223 # ----------------------------------------
28224 # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
28225 # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
28226 # script with STATUS, using 1 if that was 0.
28227 as_fn_error ()
28228 {
28229 as_status=$1; test $as_status -eq 0 && as_status=1
28230 if test "$4"; then
28231 as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
28232 printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
28233 fi
28234 printf "%s\n" "$as_me: error: $2" >&2
28235 as_fn_exit $as_status
28236 } # as_fn_error
28237
28238
28239
28240 # as_fn_set_status STATUS
28241 # -----------------------
28242 # Set $? to STATUS, without forking.
28243 as_fn_set_status ()
28244 {
28245 return $1
28246 } # as_fn_set_status
28247
28248 # as_fn_exit STATUS
28249 # -----------------
28250 # Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
28251 as_fn_exit ()
28252 {
28253 set +e
28254 as_fn_set_status $1
28255 exit $1
28256 } # as_fn_exit
28257
28258 # as_fn_unset VAR
28259 # ---------------
28260 # Portably unset VAR.
28261 as_fn_unset ()
28262 {
28263 { eval $1=; unset $1;}
28264 }
28265 as_unset=as_fn_unset
28266
28267 # as_fn_append VAR VALUE
28268 # ----------------------
28269 # Append the text in VALUE to the end of the definition contained in VAR. Take
28270 # advantage of any shell optimizations that allow amortized linear growth over
28271 # repeated appends, instead of the typical quadratic growth present in naive
28272 # implementations.
28273 if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null
28274 then :
28275 eval 'as_fn_append ()
28276 {
28277 eval $1+=\$2
28278 }'
28279 else $as_nop
28280 as_fn_append ()
28281 {
28282 eval $1=\$$1\$2
28283 }
28284 fi # as_fn_append
28285
28286 # as_fn_arith ARG...
28287 # ------------------
28288 # Perform arithmetic evaluation on the ARGs, and store the result in the
28289 # global $as_val. Take advantage of shells that can avoid forks. The arguments
28290 # must be portable across $(()) and expr.
28291 if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null
28292 then :
28293 eval 'as_fn_arith ()
28294 {
28295 as_val=$(( $* ))
28296 }'
28297 else $as_nop
28298 as_fn_arith ()
28299 {
28300 as_val=`expr "$@" || test $? -eq 1`
28301 }
28302 fi # as_fn_arith
28303
28304
28305 if expr a : '\(a\)' >/dev/null 2>&1 &&
28306 test "X`expr 00001 : '.*\(...\)'`" = X001; then
28307 as_expr=expr
28308 else
28309 as_expr=false
28310 fi
28311
28312 if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
28313 as_basename=basename
28314 else
28315 as_basename=false
28316 fi
28317
28318 if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
28319 as_dirname=dirname
28320 else
28321 as_dirname=false
28322 fi
28323
28324 as_me=`$as_basename -- "$0" ||
28325 $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
28326 X"$0" : 'X\(//\)$' \| \
28327 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
28328 printf "%s\n" X/"$0" |
28329 sed '/^.*\/\([^/][^/]*\)\/*$/{
28330 s//\1/
28331 q
28332 }
28333 /^X\/\(\/\/\)$/{
28334 s//\1/
28335 q
28336 }
28337 /^X\/\(\/\).*/{
28338 s//\1/
28339 q
28340 }
28341 s/.*/./; q'`
28342
28343 # Avoid depending upon Character Ranges.
28344 as_cr_letters='abcdefghijklmnopqrstuvwxyz'
28345 as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
28346 as_cr_Letters=$as_cr_letters$as_cr_LETTERS
28347 as_cr_digits='0123456789'
28348 as_cr_alnum=$as_cr_Letters$as_cr_digits
28349
28350
28351 # Determine whether it's possible to make 'echo' print without a newline.
28352 # These variables are no longer used directly by Autoconf, but are AC_SUBSTed
28353 # for compatibility with existing Makefiles.
28354 ECHO_C= ECHO_N= ECHO_T=
28355 case `echo -n x` in #(((((
28356 -n*)
28357 case `echo 'xy\c'` in
28358 *c*) ECHO_T=' ';; # ECHO_T is single tab character.
28359 xy) ECHO_C='\c';;
28360 *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
28361 ECHO_T=' ';;
28362 esac;;
28363 *)
28364 ECHO_N='-n';;
28365 esac
28366
28367 # For backward compatibility with old third-party macros, we provide
28368 # the shell variables $as_echo and $as_echo_n. New code should use
28369 # AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively.
28370 as_echo='printf %s\n'
28371 as_echo_n='printf %s'
28372
28373 rm -f conf$$ conf$$.exe conf$$.file
28374 if test -d conf$$.dir; then
28375 rm -f conf$$.dir/conf$$.file
28376 else
28377 rm -f conf$$.dir
28378 mkdir conf$$.dir 2>/dev/null
28379 fi
28380 if (echo >conf$$.file) 2>/dev/null; then
28381 if ln -s conf$$.file conf$$ 2>/dev/null; then
28382 as_ln_s='ln -s'
28383 # ... but there are two gotchas:
28384 # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
28385 # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
28386 # In both cases, we have to default to `cp -pR'.
28387 ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
28388 as_ln_s='cp -pR'
28389 elif ln conf$$.file conf$$ 2>/dev/null; then
28390 as_ln_s=ln
28391 else
28392 as_ln_s='cp -pR'
28393 fi
28394 else
28395 as_ln_s='cp -pR'
28396 fi
28397 rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
28398 rmdir conf$$.dir 2>/dev/null
28399
28400
28401 # as_fn_mkdir_p
28402 # -------------
28403 # Create "$as_dir" as a directory, including parents if necessary.
28404 as_fn_mkdir_p ()
28405 {
28406
28407 case $as_dir in #(
28408 -*) as_dir=./$as_dir;;
28409 esac
28410 test -d "$as_dir" || eval $as_mkdir_p || {
28411 as_dirs=
28412 while :; do
28413 case $as_dir in #(
28414 *\'*) as_qdir=`printf "%s\n" "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
28415 *) as_qdir=$as_dir;;
28416 esac
28417 as_dirs="'$as_qdir' $as_dirs"
28418 as_dir=`$as_dirname -- "$as_dir" ||
28419 $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
28420 X"$as_dir" : 'X\(//\)[^/]' \| \
28421 X"$as_dir" : 'X\(//\)$' \| \
28422 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
28423 printf "%s\n" X"$as_dir" |
28424 sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
28425 s//\1/
28426 q
28427 }
28428 /^X\(\/\/\)[^/].*/{
28429 s//\1/
28430 q
28431 }
28432 /^X\(\/\/\)$/{
28433 s//\1/
28434 q
28435 }
28436 /^X\(\/\).*/{
28437 s//\1/
28438 q
28439 }
28440 s/.*/./; q'`
28441 test -d "$as_dir" && break
28442 done
28443 test -z "$as_dirs" || eval "mkdir $as_dirs"
28444 } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
28445
28446
28447 } # as_fn_mkdir_p
28448 if mkdir -p . 2>/dev/null; then
28449 as_mkdir_p='mkdir -p "$as_dir"'
28450 else
28451 test -d ./-p && rmdir ./-p
28452 as_mkdir_p=false
28453 fi
28454
28455
28456 # as_fn_executable_p FILE
28457 # -----------------------
28458 # Test if FILE is an executable regular file.
28459 as_fn_executable_p ()
28460 {
28461 test -f "$1" && test -x "$1"
28462 } # as_fn_executable_p
28463 as_test_x='test -x'
28464 as_executable_p=as_fn_executable_p
28465
28466 # Sed expression to map a string onto a valid CPP name.
28467 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
28468
28469 # Sed expression to map a string onto a valid variable name.
28470 as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
28471
28472
28473 exec 6>&1
28474 ## ----------------------------------- ##
28475 ## Main body of $CONFIG_STATUS script. ##
28476 ## ----------------------------------- ##
28477 _ASEOF
28478 test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
28479
28480 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
28481 # Save the log message, to keep $0 and so on meaningful, and to
28482 # report actual input values of CONFIG_FILES etc. instead of their
28483 # values after options handling.
28484 ac_log="
28485 This file was extended by gpgme $as_me 1.16.1-unknown, which was
28486 generated by GNU Autoconf 2.71. Invocation command line was
28487
28488 CONFIG_FILES = $CONFIG_FILES
28489 CONFIG_HEADERS = $CONFIG_HEADERS
28490 CONFIG_LINKS = $CONFIG_LINKS
28491 CONFIG_COMMANDS = $CONFIG_COMMANDS
28492 $ $0 $@
28493
28494 on `(hostname || uname -n) 2>/dev/null | sed 1q`
28495 "
28496
28497 _ACEOF
28498
28499 case $ac_config_files in *"
28500 "*) set x $ac_config_files; shift; ac_config_files=$*;;
28501 esac
28502
28503 case $ac_config_headers in *"
28504 "*) set x $ac_config_headers; shift; ac_config_headers=$*;;
28505 esac
28506
28507
28508 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
28509 # Files that config.status was made for.
28510 config_files="$ac_config_files"
28511 config_headers="$ac_config_headers"
28512 config_commands="$ac_config_commands"
28513
28514 _ACEOF
28515
28516 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
28517 ac_cs_usage="\
28518 \`$as_me' instantiates files and other configuration actions
28519 from templates according to the current configuration. Unless the files
28520 and actions are specified as TAGs, all are instantiated by default.
28521
28522 Usage: $0 [OPTION]... [TAG]...
28523
28524 -h, --help print this help, then exit
28525 -V, --version print version number and configuration settings, then exit
28526 --config print configuration, then exit
28527 -q, --quiet, --silent
28528 do not print progress messages
28529 -d, --debug don't remove temporary files
28530 --recheck update $as_me by reconfiguring in the same conditions
28531 --file=FILE[:TEMPLATE]
28532 instantiate the configuration file FILE
28533 --header=FILE[:TEMPLATE]
28534 instantiate the configuration header FILE
28535
28536 Configuration files:
28537 $config_files
28538
28539 Configuration headers:
28540 $config_headers
28541
28542 Configuration commands:
28543 $config_commands
28544
28545 Report bugs to <https://bugs.gnupg.org>."
28546
28547 _ACEOF
28548 ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"`
28549 ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"`
28550 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
28551 ac_cs_config='$ac_cs_config_escaped'
28552 ac_cs_version="\\
28553 gpgme config.status 1.16.1-unknown
28554 configured by $0, generated by GNU Autoconf 2.71,
28555 with options \\"\$ac_cs_config\\"
28556
28557 Copyright (C) 2021 Free Software Foundation, Inc.
28558 This config.status script is free software; the Free Software Foundation
28559 gives unlimited permission to copy, distribute and modify it."
28560
28561 ac_pwd='$ac_pwd'
28562 srcdir='$srcdir'
28563 INSTALL='$INSTALL'
28564 MKDIR_P='$MKDIR_P'
28565 AWK='$AWK'
28566 test -n "\$AWK" || AWK=awk
28567 _ACEOF
28568
28569 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
28570 # The default lists apply if the user does not specify any file.
28571 ac_need_defaults=:
28572 while test $# != 0
28573 do
28574 case $1 in
28575 --*=?*)
28576 ac_option=`expr "X$1" : 'X\([^=]*\)='`
28577 ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
28578 ac_shift=:
28579 ;;
28580 --*=)
28581 ac_option=`expr "X$1" : 'X\([^=]*\)='`
28582 ac_optarg=
28583 ac_shift=:
28584 ;;
28585 *)
28586 ac_option=$1
28587 ac_optarg=$2
28588 ac_shift=shift
28589 ;;
28590 esac
28591
28592 case $ac_option in
28593 # Handling of the options.
28594 -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
28595 ac_cs_recheck=: ;;
28596 --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
28597 printf "%s\n" "$ac_cs_version"; exit ;;
28598 --config | --confi | --conf | --con | --co | --c )
28599 printf "%s\n" "$ac_cs_config"; exit ;;
28600 --debug | --debu | --deb | --de | --d | -d )
28601 debug=: ;;
28602 --file | --fil | --fi | --f )
28603 $ac_shift
28604 case $ac_optarg in
28605 *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
28606 '') as_fn_error $? "missing file argument" ;;
28607 esac
28608 as_fn_append CONFIG_FILES " '$ac_optarg'"
28609 ac_need_defaults=false;;
28610 --header | --heade | --head | --hea )
28611 $ac_shift
28612 case $ac_optarg in
28613 *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
28614 esac
28615 as_fn_append CONFIG_HEADERS " '$ac_optarg'"
28616 ac_need_defaults=false;;
28617 --he | --h)
28618 # Conflict between --help and --header
28619 as_fn_error $? "ambiguous option: \`$1'
28620 Try \`$0 --help' for more information.";;
28621 --help | --hel | -h )
28622 printf "%s\n" "$ac_cs_usage"; exit ;;
28623 -q | -quiet | --quiet | --quie | --qui | --qu | --q \
28624 | -silent | --silent | --silen | --sile | --sil | --si | --s)
28625 ac_cs_silent=: ;;
28626
28627 # This is an error.
28628 -*) as_fn_error $? "unrecognized option: \`$1'
28629 Try \`$0 --help' for more information." ;;
28630
28631 *) as_fn_append ac_config_targets " $1"
28632 ac_need_defaults=false ;;
28633
28634 esac
28635 shift
28636 done
28637
28638 ac_configure_extra_args=
28639
28640 if $ac_cs_silent; then
28641 exec 6>/dev/null
28642 ac_configure_extra_args="$ac_configure_extra_args --silent"
28643 fi
28644
28645 _ACEOF
28646 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
28647 if \$ac_cs_recheck; then
28648 set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
28649 shift
28650 \printf "%s\n" "running CONFIG_SHELL=$SHELL \$*" >&6
28651 CONFIG_SHELL='$SHELL'
28652 export CONFIG_SHELL
28653 exec "\$@"
28654 fi
28655
28656 _ACEOF
28657 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
28658 exec 5>>config.log
28659 {
28660 echo
28661 sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
28662 ## Running $as_me. ##
28663 _ASBOX
28664 printf "%s\n" "$ac_log"
28665 } >&5
28666
28667 _ACEOF
28668 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
28669 #
28670 # INIT-COMMANDS
28671 #
28672 AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}"
28673
28674
28675 # The HP-UX ksh and POSIX shell print the target directory to stdout
28676 # if CDPATH is set.
28677 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
28678
28679 sed_quote_subst='$sed_quote_subst'
28680 double_quote_subst='$double_quote_subst'
28681 delay_variable_subst='$delay_variable_subst'
28682 macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`'
28683 macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`'
28684 AS='`$ECHO "$AS" | $SED "$delay_single_quote_subst"`'
28685 DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`'
28686 OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`'
28687 enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`'
28688 enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`'
28689 pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`'
28690 enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`'
28691 SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`'
28692 ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`'
28693 PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`'
28694 host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`'
28695 host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`'
28696 host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`'
28697 build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`'
28698 build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`'
28699 build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`'
28700 SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`'
28701 Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`'
28702 GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`'
28703 EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`'
28704 FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`'
28705 LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`'
28706 NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`'
28707 LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`'
28708 max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`'
28709 ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`'
28710 exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
28711 lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
28712 lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
28713 lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
28714 lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`'
28715 lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`'
28716 reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`'
28717 reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`'
28718 deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`'
28719 file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`'
28720 file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`'
28721 want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`'
28722 sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`'
28723 AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`'
28724 AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`'
28725 archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`'
28726 STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
28727 RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
28728 old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
28729 old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
28730 old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`'
28731 lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`'
28732 CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`'
28733 CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`'
28734 compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`'
28735 GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`'
28736 lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`'
28737 lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
28738 lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
28739 lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
28740 nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`'
28741 lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`'
28742 objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`'
28743 MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`'
28744 lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`'
28745 lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`'
28746 lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`'
28747 lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`'
28748 lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`'
28749 need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`'
28750 MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`'
28751 DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
28752 NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
28753 LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
28754 OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`'
28755 OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`'
28756 libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`'
28757 shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`'
28758 extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
28759 archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`'
28760 enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`'
28761 export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`'
28762 whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`'
28763 compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`'
28764 old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`'
28765 old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
28766 archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`'
28767 archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`'
28768 module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`'
28769 module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`'
28770 with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`'
28771 allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`'
28772 no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`'
28773 hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`'
28774 hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`'
28775 hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`'
28776 hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`'
28777 hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`'
28778 hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`'
28779 hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
28780 inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
28781 link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
28782 always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`'
28783 export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`'
28784 exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`'
28785 include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`'
28786 prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`'
28787 postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`'
28788 file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
28789 variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
28790 need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
28791 need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`'
28792 version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`'
28793 runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`'
28794 shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`'
28795 shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`'
28796 libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`'
28797 library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`'
28798 soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`'
28799 install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`'
28800 postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`'
28801 postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
28802 finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`'
28803 finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`'
28804 hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`'
28805 sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`'
28806 sys_lib_dlsearch_path_spec='`$ECHO "$sys_lib_dlsearch_path_spec" | $SED "$delay_single_quote_subst"`'
28807 hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`'
28808 enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`'
28809 enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`'
28810 enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`'
28811 old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`'
28812 striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`'
28813 compiler_lib_search_dirs='`$ECHO "$compiler_lib_search_dirs" | $SED "$delay_single_quote_subst"`'
28814 predep_objects='`$ECHO "$predep_objects" | $SED "$delay_single_quote_subst"`'
28815 postdep_objects='`$ECHO "$postdep_objects" | $SED "$delay_single_quote_subst"`'
28816 predeps='`$ECHO "$predeps" | $SED "$delay_single_quote_subst"`'
28817 postdeps='`$ECHO "$postdeps" | $SED "$delay_single_quote_subst"`'
28818 compiler_lib_search_path='`$ECHO "$compiler_lib_search_path" | $SED "$delay_single_quote_subst"`'
28819 LD_CXX='`$ECHO "$LD_CXX" | $SED "$delay_single_quote_subst"`'
28820 LD_RC='`$ECHO "$LD_RC" | $SED "$delay_single_quote_subst"`'
28821 reload_flag_CXX='`$ECHO "$reload_flag_CXX" | $SED "$delay_single_quote_subst"`'
28822 reload_flag_RC='`$ECHO "$reload_flag_RC" | $SED "$delay_single_quote_subst"`'
28823 reload_cmds_CXX='`$ECHO "$reload_cmds_CXX" | $SED "$delay_single_quote_subst"`'
28824 reload_cmds_RC='`$ECHO "$reload_cmds_RC" | $SED "$delay_single_quote_subst"`'
28825 old_archive_cmds_CXX='`$ECHO "$old_archive_cmds_CXX" | $SED "$delay_single_quote_subst"`'
28826 old_archive_cmds_RC='`$ECHO "$old_archive_cmds_RC" | $SED "$delay_single_quote_subst"`'
28827 compiler_CXX='`$ECHO "$compiler_CXX" | $SED "$delay_single_quote_subst"`'
28828 compiler_RC='`$ECHO "$compiler_RC" | $SED "$delay_single_quote_subst"`'
28829 GCC_CXX='`$ECHO "$GCC_CXX" | $SED "$delay_single_quote_subst"`'
28830 GCC_RC='`$ECHO "$GCC_RC" | $SED "$delay_single_quote_subst"`'
28831 lt_prog_compiler_no_builtin_flag_CXX='`$ECHO "$lt_prog_compiler_no_builtin_flag_CXX" | $SED "$delay_single_quote_subst"`'
28832 lt_prog_compiler_no_builtin_flag_RC='`$ECHO "$lt_prog_compiler_no_builtin_flag_RC" | $SED "$delay_single_quote_subst"`'
28833 lt_prog_compiler_pic_CXX='`$ECHO "$lt_prog_compiler_pic_CXX" | $SED "$delay_single_quote_subst"`'
28834 lt_prog_compiler_pic_RC='`$ECHO "$lt_prog_compiler_pic_RC" | $SED "$delay_single_quote_subst"`'
28835 lt_prog_compiler_wl_CXX='`$ECHO "$lt_prog_compiler_wl_CXX" | $SED "$delay_single_quote_subst"`'
28836 lt_prog_compiler_wl_RC='`$ECHO "$lt_prog_compiler_wl_RC" | $SED "$delay_single_quote_subst"`'
28837 lt_prog_compiler_static_CXX='`$ECHO "$lt_prog_compiler_static_CXX" | $SED "$delay_single_quote_subst"`'
28838 lt_prog_compiler_static_RC='`$ECHO "$lt_prog_compiler_static_RC" | $SED "$delay_single_quote_subst"`'
28839 lt_cv_prog_compiler_c_o_CXX='`$ECHO "$lt_cv_prog_compiler_c_o_CXX" | $SED "$delay_single_quote_subst"`'
28840 lt_cv_prog_compiler_c_o_RC='`$ECHO "$lt_cv_prog_compiler_c_o_RC" | $SED "$delay_single_quote_subst"`'
28841 archive_cmds_need_lc_CXX='`$ECHO "$archive_cmds_need_lc_CXX" | $SED "$delay_single_quote_subst"`'
28842 archive_cmds_need_lc_RC='`$ECHO "$archive_cmds_need_lc_RC" | $SED "$delay_single_quote_subst"`'
28843 enable_shared_with_static_runtimes_CXX='`$ECHO "$enable_shared_with_static_runtimes_CXX" | $SED "$delay_single_quote_subst"`'
28844 enable_shared_with_static_runtimes_RC='`$ECHO "$enable_shared_with_static_runtimes_RC" | $SED "$delay_single_quote_subst"`'
28845 export_dynamic_flag_spec_CXX='`$ECHO "$export_dynamic_flag_spec_CXX" | $SED "$delay_single_quote_subst"`'
28846 export_dynamic_flag_spec_RC='`$ECHO "$export_dynamic_flag_spec_RC" | $SED "$delay_single_quote_subst"`'
28847 whole_archive_flag_spec_CXX='`$ECHO "$whole_archive_flag_spec_CXX" | $SED "$delay_single_quote_subst"`'
28848 whole_archive_flag_spec_RC='`$ECHO "$whole_archive_flag_spec_RC" | $SED "$delay_single_quote_subst"`'
28849 compiler_needs_object_CXX='`$ECHO "$compiler_needs_object_CXX" | $SED "$delay_single_quote_subst"`'
28850 compiler_needs_object_RC='`$ECHO "$compiler_needs_object_RC" | $SED "$delay_single_quote_subst"`'
28851 old_archive_from_new_cmds_CXX='`$ECHO "$old_archive_from_new_cmds_CXX" | $SED "$delay_single_quote_subst"`'
28852 old_archive_from_new_cmds_RC='`$ECHO "$old_archive_from_new_cmds_RC" | $SED "$delay_single_quote_subst"`'
28853 old_archive_from_expsyms_cmds_CXX='`$ECHO "$old_archive_from_expsyms_cmds_CXX" | $SED "$delay_single_quote_subst"`'
28854 old_archive_from_expsyms_cmds_RC='`$ECHO "$old_archive_from_expsyms_cmds_RC" | $SED "$delay_single_quote_subst"`'
28855 archive_cmds_CXX='`$ECHO "$archive_cmds_CXX" | $SED "$delay_single_quote_subst"`'
28856 archive_cmds_RC='`$ECHO "$archive_cmds_RC" | $SED "$delay_single_quote_subst"`'
28857 archive_expsym_cmds_CXX='`$ECHO "$archive_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`'
28858 archive_expsym_cmds_RC='`$ECHO "$archive_expsym_cmds_RC" | $SED "$delay_single_quote_subst"`'
28859 module_cmds_CXX='`$ECHO "$module_cmds_CXX" | $SED "$delay_single_quote_subst"`'
28860 module_cmds_RC='`$ECHO "$module_cmds_RC" | $SED "$delay_single_quote_subst"`'
28861 module_expsym_cmds_CXX='`$ECHO "$module_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`'
28862 module_expsym_cmds_RC='`$ECHO "$module_expsym_cmds_RC" | $SED "$delay_single_quote_subst"`'
28863 with_gnu_ld_CXX='`$ECHO "$with_gnu_ld_CXX" | $SED "$delay_single_quote_subst"`'
28864 with_gnu_ld_RC='`$ECHO "$with_gnu_ld_RC" | $SED "$delay_single_quote_subst"`'
28865 allow_undefined_flag_CXX='`$ECHO "$allow_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`'
28866 allow_undefined_flag_RC='`$ECHO "$allow_undefined_flag_RC" | $SED "$delay_single_quote_subst"`'
28867 no_undefined_flag_CXX='`$ECHO "$no_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`'
28868 no_undefined_flag_RC='`$ECHO "$no_undefined_flag_RC" | $SED "$delay_single_quote_subst"`'
28869 hardcode_libdir_flag_spec_CXX='`$ECHO "$hardcode_libdir_flag_spec_CXX" | $SED "$delay_single_quote_subst"`'
28870 hardcode_libdir_flag_spec_RC='`$ECHO "$hardcode_libdir_flag_spec_RC" | $SED "$delay_single_quote_subst"`'
28871 hardcode_libdir_separator_CXX='`$ECHO "$hardcode_libdir_separator_CXX" | $SED "$delay_single_quote_subst"`'
28872 hardcode_libdir_separator_RC='`$ECHO "$hardcode_libdir_separator_RC" | $SED "$delay_single_quote_subst"`'
28873 hardcode_direct_CXX='`$ECHO "$hardcode_direct_CXX" | $SED "$delay_single_quote_subst"`'
28874 hardcode_direct_RC='`$ECHO "$hardcode_direct_RC" | $SED "$delay_single_quote_subst"`'
28875 hardcode_direct_absolute_CXX='`$ECHO "$hardcode_direct_absolute_CXX" | $SED "$delay_single_quote_subst"`'
28876 hardcode_direct_absolute_RC='`$ECHO "$hardcode_direct_absolute_RC" | $SED "$delay_single_quote_subst"`'
28877 hardcode_minus_L_CXX='`$ECHO "$hardcode_minus_L_CXX" | $SED "$delay_single_quote_subst"`'
28878 hardcode_minus_L_RC='`$ECHO "$hardcode_minus_L_RC" | $SED "$delay_single_quote_subst"`'
28879 hardcode_shlibpath_var_CXX='`$ECHO "$hardcode_shlibpath_var_CXX" | $SED "$delay_single_quote_subst"`'
28880 hardcode_shlibpath_var_RC='`$ECHO "$hardcode_shlibpath_var_RC" | $SED "$delay_single_quote_subst"`'
28881 hardcode_automatic_CXX='`$ECHO "$hardcode_automatic_CXX" | $SED "$delay_single_quote_subst"`'
28882 hardcode_automatic_RC='`$ECHO "$hardcode_automatic_RC" | $SED "$delay_single_quote_subst"`'
28883 inherit_rpath_CXX='`$ECHO "$inherit_rpath_CXX" | $SED "$delay_single_quote_subst"`'
28884 inherit_rpath_RC='`$ECHO "$inherit_rpath_RC" | $SED "$delay_single_quote_subst"`'
28885 link_all_deplibs_CXX='`$ECHO "$link_all_deplibs_CXX" | $SED "$delay_single_quote_subst"`'
28886 link_all_deplibs_RC='`$ECHO "$link_all_deplibs_RC" | $SED "$delay_single_quote_subst"`'
28887 always_export_symbols_CXX='`$ECHO "$always_export_symbols_CXX" | $SED "$delay_single_quote_subst"`'
28888 always_export_symbols_RC='`$ECHO "$always_export_symbols_RC" | $SED "$delay_single_quote_subst"`'
28889 export_symbols_cmds_CXX='`$ECHO "$export_symbols_cmds_CXX" | $SED "$delay_single_quote_subst"`'
28890 export_symbols_cmds_RC='`$ECHO "$export_symbols_cmds_RC" | $SED "$delay_single_quote_subst"`'
28891 exclude_expsyms_CXX='`$ECHO "$exclude_expsyms_CXX" | $SED "$delay_single_quote_subst"`'
28892 exclude_expsyms_RC='`$ECHO "$exclude_expsyms_RC" | $SED "$delay_single_quote_subst"`'
28893 include_expsyms_CXX='`$ECHO "$include_expsyms_CXX" | $SED "$delay_single_quote_subst"`'
28894 include_expsyms_RC='`$ECHO "$include_expsyms_RC" | $SED "$delay_single_quote_subst"`'
28895 prelink_cmds_CXX='`$ECHO "$prelink_cmds_CXX" | $SED "$delay_single_quote_subst"`'
28896 prelink_cmds_RC='`$ECHO "$prelink_cmds_RC" | $SED "$delay_single_quote_subst"`'
28897 postlink_cmds_CXX='`$ECHO "$postlink_cmds_CXX" | $SED "$delay_single_quote_subst"`'
28898 postlink_cmds_RC='`$ECHO "$postlink_cmds_RC" | $SED "$delay_single_quote_subst"`'
28899 file_list_spec_CXX='`$ECHO "$file_list_spec_CXX" | $SED "$delay_single_quote_subst"`'
28900 file_list_spec_RC='`$ECHO "$file_list_spec_RC" | $SED "$delay_single_quote_subst"`'
28901 hardcode_action_CXX='`$ECHO "$hardcode_action_CXX" | $SED "$delay_single_quote_subst"`'
28902 hardcode_action_RC='`$ECHO "$hardcode_action_RC" | $SED "$delay_single_quote_subst"`'
28903 compiler_lib_search_dirs_CXX='`$ECHO "$compiler_lib_search_dirs_CXX" | $SED "$delay_single_quote_subst"`'
28904 compiler_lib_search_dirs_RC='`$ECHO "$compiler_lib_search_dirs_RC" | $SED "$delay_single_quote_subst"`'
28905 predep_objects_CXX='`$ECHO "$predep_objects_CXX" | $SED "$delay_single_quote_subst"`'
28906 predep_objects_RC='`$ECHO "$predep_objects_RC" | $SED "$delay_single_quote_subst"`'
28907 postdep_objects_CXX='`$ECHO "$postdep_objects_CXX" | $SED "$delay_single_quote_subst"`'
28908 postdep_objects_RC='`$ECHO "$postdep_objects_RC" | $SED "$delay_single_quote_subst"`'
28909 predeps_CXX='`$ECHO "$predeps_CXX" | $SED "$delay_single_quote_subst"`'
28910 predeps_RC='`$ECHO "$predeps_RC" | $SED "$delay_single_quote_subst"`'
28911 postdeps_CXX='`$ECHO "$postdeps_CXX" | $SED "$delay_single_quote_subst"`'
28912 postdeps_RC='`$ECHO "$postdeps_RC" | $SED "$delay_single_quote_subst"`'
28913 compiler_lib_search_path_CXX='`$ECHO "$compiler_lib_search_path_CXX" | $SED "$delay_single_quote_subst"`'
28914 compiler_lib_search_path_RC='`$ECHO "$compiler_lib_search_path_RC" | $SED "$delay_single_quote_subst"`'
28915
28916 LTCC='$LTCC'
28917 LTCFLAGS='$LTCFLAGS'
28918 compiler='$compiler_DEFAULT'
28919
28920 # A function that is used when there is no print builtin or printf.
28921 func_fallback_echo ()
28922 {
28923 eval 'cat <<_LTECHO_EOF
28924 \$1
28925 _LTECHO_EOF'
28926 }
28927
28928 # Quote evaled strings.
28929 for var in AS \
28930 DLLTOOL \
28931 OBJDUMP \
28932 SHELL \
28933 ECHO \
28934 PATH_SEPARATOR \
28935 SED \
28936 GREP \
28937 EGREP \
28938 FGREP \
28939 LD \
28940 NM \
28941 LN_S \
28942 lt_SP2NL \
28943 lt_NL2SP \
28944 reload_flag \
28945 deplibs_check_method \
28946 file_magic_cmd \
28947 file_magic_glob \
28948 want_nocaseglob \
28949 sharedlib_from_linklib_cmd \
28950 AR \
28951 AR_FLAGS \
28952 archiver_list_spec \
28953 STRIP \
28954 RANLIB \
28955 CC \
28956 CFLAGS \
28957 compiler \
28958 lt_cv_sys_global_symbol_pipe \
28959 lt_cv_sys_global_symbol_to_cdecl \
28960 lt_cv_sys_global_symbol_to_c_name_address \
28961 lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
28962 nm_file_list_spec \
28963 lt_prog_compiler_no_builtin_flag \
28964 lt_prog_compiler_pic \
28965 lt_prog_compiler_wl \
28966 lt_prog_compiler_static \
28967 lt_cv_prog_compiler_c_o \
28968 need_locks \
28969 MANIFEST_TOOL \
28970 DSYMUTIL \
28971 NMEDIT \
28972 LIPO \
28973 OTOOL \
28974 OTOOL64 \
28975 shrext_cmds \
28976 export_dynamic_flag_spec \
28977 whole_archive_flag_spec \
28978 compiler_needs_object \
28979 with_gnu_ld \
28980 allow_undefined_flag \
28981 no_undefined_flag \
28982 hardcode_libdir_flag_spec \
28983 hardcode_libdir_separator \
28984 exclude_expsyms \
28985 include_expsyms \
28986 file_list_spec \
28987 variables_saved_for_relink \
28988 libname_spec \
28989 library_names_spec \
28990 soname_spec \
28991 install_override_mode \
28992 finish_eval \
28993 old_striplib \
28994 striplib \
28995 compiler_lib_search_dirs \
28996 predep_objects \
28997 postdep_objects \
28998 predeps \
28999 postdeps \
29000 compiler_lib_search_path \
29001 LD_CXX \
29002 LD_RC \
29003 reload_flag_CXX \
29004 reload_flag_RC \
29005 compiler_CXX \
29006 compiler_RC \
29007 lt_prog_compiler_no_builtin_flag_CXX \
29008 lt_prog_compiler_no_builtin_flag_RC \
29009 lt_prog_compiler_pic_CXX \
29010 lt_prog_compiler_pic_RC \
29011 lt_prog_compiler_wl_CXX \
29012 lt_prog_compiler_wl_RC \
29013 lt_prog_compiler_static_CXX \
29014 lt_prog_compiler_static_RC \
29015 lt_cv_prog_compiler_c_o_CXX \
29016 lt_cv_prog_compiler_c_o_RC \
29017 export_dynamic_flag_spec_CXX \
29018 export_dynamic_flag_spec_RC \
29019 whole_archive_flag_spec_CXX \
29020 whole_archive_flag_spec_RC \
29021 compiler_needs_object_CXX \
29022 compiler_needs_object_RC \
29023 with_gnu_ld_CXX \
29024 with_gnu_ld_RC \
29025 allow_undefined_flag_CXX \
29026 allow_undefined_flag_RC \
29027 no_undefined_flag_CXX \
29028 no_undefined_flag_RC \
29029 hardcode_libdir_flag_spec_CXX \
29030 hardcode_libdir_flag_spec_RC \
29031 hardcode_libdir_separator_CXX \
29032 hardcode_libdir_separator_RC \
29033 exclude_expsyms_CXX \
29034 exclude_expsyms_RC \
29035 include_expsyms_CXX \
29036 include_expsyms_RC \
29037 file_list_spec_CXX \
29038 file_list_spec_RC \
29039 compiler_lib_search_dirs_CXX \
29040 compiler_lib_search_dirs_RC \
29041 predep_objects_CXX \
29042 predep_objects_RC \
29043 postdep_objects_CXX \
29044 postdep_objects_RC \
29045 predeps_CXX \
29046 predeps_RC \
29047 postdeps_CXX \
29048 postdeps_RC \
29049 compiler_lib_search_path_CXX \
29050 compiler_lib_search_path_RC; do
29051 case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
29052 *[\\\\\\\`\\"\\\$]*)
29053 eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
29054 ;;
29055 *)
29056 eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
29057 ;;
29058 esac
29059 done
29060
29061 # Double-quote double-evaled strings.
29062 for var in reload_cmds \
29063 old_postinstall_cmds \
29064 old_postuninstall_cmds \
29065 old_archive_cmds \
29066 extract_expsyms_cmds \
29067 old_archive_from_new_cmds \
29068 old_archive_from_expsyms_cmds \
29069 archive_cmds \
29070 archive_expsym_cmds \
29071 module_cmds \
29072 module_expsym_cmds \
29073 export_symbols_cmds \
29074 prelink_cmds \
29075 postlink_cmds \
29076 postinstall_cmds \
29077 postuninstall_cmds \
29078 finish_cmds \
29079 sys_lib_search_path_spec \
29080 sys_lib_dlsearch_path_spec \
29081 reload_cmds_CXX \
29082 reload_cmds_RC \
29083 old_archive_cmds_CXX \
29084 old_archive_cmds_RC \
29085 old_archive_from_new_cmds_CXX \
29086 old_archive_from_new_cmds_RC \
29087 old_archive_from_expsyms_cmds_CXX \
29088 old_archive_from_expsyms_cmds_RC \
29089 archive_cmds_CXX \
29090 archive_cmds_RC \
29091 archive_expsym_cmds_CXX \
29092 archive_expsym_cmds_RC \
29093 module_cmds_CXX \
29094 module_cmds_RC \
29095 module_expsym_cmds_CXX \
29096 module_expsym_cmds_RC \
29097 export_symbols_cmds_CXX \
29098 export_symbols_cmds_RC \
29099 prelink_cmds_CXX \
29100 prelink_cmds_RC \
29101 postlink_cmds_CXX \
29102 postlink_cmds_RC; do
29103 case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
29104 *[\\\\\\\`\\"\\\$]*)
29105 eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
29106 ;;
29107 *)
29108 eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
29109 ;;
29110 esac
29111 done
29112
29113 ac_aux_dir='$ac_aux_dir'
29114 xsi_shell='$xsi_shell'
29115 lt_shell_append='$lt_shell_append'
29116
29117 # See if we are running on zsh, and set the options which allow our
29118 # commands through without removal of \ escapes INIT.
29119 if test -n "\${ZSH_VERSION+set}" ; then
29120 setopt NO_GLOB_SUBST
29121 fi
29122
29123
29124 PACKAGE='$PACKAGE'
29125 VERSION='$VERSION'
29126 TIMESTAMP='$TIMESTAMP'
29127 RM='$RM'
29128 ofile='$ofile'
29129
29130
29131
29132
29133
29134
29135
29136
29137 _ACEOF
29138
29139 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
29140
29141 # Handling of arguments.
29142 for ac_config_target in $ac_config_targets
29143 do
29144 case $ac_config_target in
29145 "conf/config.h") CONFIG_HEADERS="$CONFIG_HEADERS conf/config.h" ;;
29146 "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
29147 "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
29148 "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
29149 "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
29150 "tests/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Makefile" ;;
29151 "tests/gpg/Makefile") CONFIG_FILES="$CONFIG_FILES tests/gpg/Makefile" ;;
29152 "tests/gpgsm/Makefile") CONFIG_FILES="$CONFIG_FILES tests/gpgsm/Makefile" ;;
29153 "tests/opassuan/Makefile") CONFIG_FILES="$CONFIG_FILES tests/opassuan/Makefile" ;;
29154 "tests/json/Makefile") CONFIG_FILES="$CONFIG_FILES tests/json/Makefile" ;;
29155 "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;;
29156 "src/versioninfo.rc") CONFIG_FILES="$CONFIG_FILES src/versioninfo.rc" ;;
29157 "src/gpgme.pc") CONFIG_FILES="$CONFIG_FILES src/gpgme.pc" ;;
29158 "src/gpgme-glib.pc") CONFIG_FILES="$CONFIG_FILES src/gpgme-glib.pc" ;;
29159 "src/gpgme.h") CONFIG_FILES="$CONFIG_FILES src/gpgme.h" ;;
29160 "src/gpgme-config") CONFIG_FILES="$CONFIG_FILES src/gpgme-config" ;;
29161 "lang/cpp/Makefile") CONFIG_FILES="$CONFIG_FILES lang/cpp/Makefile" ;;
29162 "lang/cpp/src/Makefile") CONFIG_FILES="$CONFIG_FILES lang/cpp/src/Makefile" ;;
29163 "lang/cpp/tests/Makefile") CONFIG_FILES="$CONFIG_FILES lang/cpp/tests/Makefile" ;;
29164 "lang/cpp/src/GpgmeppConfig-w32.cmake.in") CONFIG_FILES="$CONFIG_FILES lang/cpp/src/GpgmeppConfig-w32.cmake.in" ;;
29165 "lang/cpp/src/GpgmeppConfig.cmake.in") CONFIG_FILES="$CONFIG_FILES lang/cpp/src/GpgmeppConfig.cmake.in" ;;
29166 "lang/cpp/src/GpgmeppConfigVersion.cmake") CONFIG_FILES="$CONFIG_FILES lang/cpp/src/GpgmeppConfigVersion.cmake" ;;
29167 "lang/cpp/src/gpgmepp_version.h") CONFIG_FILES="$CONFIG_FILES lang/cpp/src/gpgmepp_version.h" ;;
29168 "lang/qt/Makefile") CONFIG_FILES="$CONFIG_FILES lang/qt/Makefile" ;;
29169 "lang/qt/src/Makefile") CONFIG_FILES="$CONFIG_FILES lang/qt/src/Makefile" ;;
29170 "lang/qt/src/QGpgmeConfig-w32.cmake.in") CONFIG_FILES="$CONFIG_FILES lang/qt/src/QGpgmeConfig-w32.cmake.in" ;;
29171 "lang/qt/src/QGpgmeConfig.cmake.in") CONFIG_FILES="$CONFIG_FILES lang/qt/src/QGpgmeConfig.cmake.in" ;;
29172 "lang/qt/src/QGpgmeConfigVersion.cmake") CONFIG_FILES="$CONFIG_FILES lang/qt/src/QGpgmeConfigVersion.cmake" ;;
29173 "lang/qt/tests/Makefile") CONFIG_FILES="$CONFIG_FILES lang/qt/tests/Makefile" ;;
29174 "lang/qt/src/qgpgme_version.h") CONFIG_FILES="$CONFIG_FILES lang/qt/src/qgpgme_version.h" ;;
29175 "lang/Makefile") CONFIG_FILES="$CONFIG_FILES lang/Makefile" ;;
29176 "lang/cl/Makefile") CONFIG_FILES="$CONFIG_FILES lang/cl/Makefile" ;;
29177 "lang/cl/gpgme.asd") CONFIG_FILES="$CONFIG_FILES lang/cl/gpgme.asd" ;;
29178 "lang/qt/doc/Doxyfile") CONFIG_FILES="$CONFIG_FILES lang/qt/doc/Doxyfile" ;;
29179 "lang/js/Makefile") CONFIG_FILES="$CONFIG_FILES lang/js/Makefile" ;;
29180 "lang/js/src/Makefile") CONFIG_FILES="$CONFIG_FILES lang/js/src/Makefile" ;;
29181 "lang/js/BrowserTestExtension/Makefile") CONFIG_FILES="$CONFIG_FILES lang/js/BrowserTestExtension/Makefile" ;;
29182 "lang/js/DemoExtension/Makefile") CONFIG_FILES="$CONFIG_FILES lang/js/DemoExtension/Makefile" ;;
29183 "lang/qt/doc/Makefile") CONFIG_FILES="$CONFIG_FILES lang/qt/doc/Makefile" ;;
29184 "lang/python/Makefile") CONFIG_FILES="$CONFIG_FILES lang/python/Makefile" ;;
29185 "lang/python/version.py") CONFIG_FILES="$CONFIG_FILES lang/python/version.py" ;;
29186 "lang/python/tests/Makefile") CONFIG_FILES="$CONFIG_FILES lang/python/tests/Makefile" ;;
29187 "lang/python/src/Makefile") CONFIG_FILES="$CONFIG_FILES lang/python/src/Makefile" ;;
29188 "lang/python/examples/Makefile") CONFIG_FILES="$CONFIG_FILES lang/python/examples/Makefile" ;;
29189 "lang/python/doc/Makefile") CONFIG_FILES="$CONFIG_FILES lang/python/doc/Makefile" ;;
29190 "lang/python/setup.py") CONFIG_FILES="$CONFIG_FILES lang/python/setup.py" ;;
29191
29192 *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
29193 esac
29194 done
29195
29196
29197 # If the user did not use the arguments to specify the items to instantiate,
29198 # then the envvar interface is used. Set only those that are not.
29199 # We use the long form for the default assignment because of an extremely
29200 # bizarre bug on SunOS 4.1.3.
29201 if $ac_need_defaults; then
29202 test ${CONFIG_FILES+y} || CONFIG_FILES=$config_files
29203 test ${CONFIG_HEADERS+y} || CONFIG_HEADERS=$config_headers
29204 test ${CONFIG_COMMANDS+y} || CONFIG_COMMANDS=$config_commands
29205 fi
29206
29207 # Have a temporary directory for convenience. Make it in the build tree
29208 # simply because there is no reason against having it here, and in addition,
29209 # creating and moving files from /tmp can sometimes cause problems.
29210 # Hook for its removal unless debugging.
29211 # Note that there is a small window in which the directory will not be cleaned:
29212 # after its creation but before its name has been assigned to `$tmp'.
29213 $debug ||
29214 {
29215 tmp= ac_tmp=
29216 trap 'exit_status=$?
29217 : "${ac_tmp:=$tmp}"
29218 { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
29219 ' 0
29220 trap 'as_fn_exit 1' 1 2 13 15
29221 }
29222 # Create a (secure) tmp directory for tmp files.
29223
29224 {
29225 tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
29226 test -d "$tmp"
29227 } ||
29228 {
29229 tmp=./conf$$-$RANDOM
29230 (umask 077 && mkdir "$tmp")
29231 } || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
29232 ac_tmp=$tmp
29233
29234 # Set up the scripts for CONFIG_FILES section.
29235 # No need to generate them if there are no CONFIG_FILES.
29236 # This happens for instance with `./config.status config.h'.
29237 if test -n "$CONFIG_FILES"; then
29238
29239
29240 ac_cr=`echo X | tr X '\015'`
29241 # On cygwin, bash can eat \r inside `` if the user requested igncr.
29242 # But we know of no other shell where ac_cr would be empty at this
29243 # point, so we can use a bashism as a fallback.
29244 if test "x$ac_cr" = x; then
29245 eval ac_cr=\$\'\\r\'
29246 fi
29247 ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
29248 if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
29249 ac_cs_awk_cr='\\r'
29250 else
29251 ac_cs_awk_cr=$ac_cr
29252 fi
29253
29254 echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
29255 _ACEOF
29256
29257
29258 {
29259 echo "cat >conf$$subs.awk <<_ACEOF" &&
29260 echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
29261 echo "_ACEOF"
29262 } >conf$$subs.sh ||
29263 as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
29264 ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
29265 ac_delim='%!_!# '
29266 for ac_last_try in false false false false false :; do
29267 . ./conf$$subs.sh ||
29268 as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
29269
29270 ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
29271 if test $ac_delim_n = $ac_delim_num; then
29272 break
29273 elif $ac_last_try; then
29274 as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
29275 else
29276 ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
29277 fi
29278 done
29279 rm -f conf$$subs.sh
29280
29281 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
29282 cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
29283 _ACEOF
29284 sed -n '
29285 h
29286 s/^/S["/; s/!.*/"]=/
29287 p
29288 g
29289 s/^[^!]*!//
29290 :repl
29291 t repl
29292 s/'"$ac_delim"'$//
29293 t delim
29294 :nl
29295 h
29296 s/\(.\{148\}\)..*/\1/
29297 t more1
29298 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
29299 p
29300 n
29301 b repl
29302 :more1
29303 s/["\\]/\\&/g; s/^/"/; s/$/"\\/
29304 p
29305 g
29306 s/.\{148\}//
29307 t nl
29308 :delim
29309 h
29310 s/\(.\{148\}\)..*/\1/
29311 t more2
29312 s/["\\]/\\&/g; s/^/"/; s/$/"/
29313 p
29314 b
29315 :more2
29316 s/["\\]/\\&/g; s/^/"/; s/$/"\\/
29317 p
29318 g
29319 s/.\{148\}//
29320 t delim
29321 ' <conf$$subs.awk | sed '
29322 /^[^""]/{
29323 N
29324 s/\n//
29325 }
29326 ' >>$CONFIG_STATUS || ac_write_fail=1
29327 rm -f conf$$subs.awk
29328 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
29329 _ACAWK
29330 cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
29331 for (key in S) S_is_set[key] = 1
29332 FS = ""
29333
29334 }
29335 {
29336 line = $ 0
29337 nfields = split(line, field, "@")
29338 substed = 0
29339 len = length(field[1])
29340 for (i = 2; i < nfields; i++) {
29341 key = field[i]
29342 keylen = length(key)
29343 if (S_is_set[key]) {
29344 value = S[key]
29345 line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
29346 len += length(value) + length(field[++i])
29347 substed = 1
29348 } else
29349 len += 1 + keylen
29350 }
29351
29352 print line
29353 }
29354
29355 _ACAWK
29356 _ACEOF
29357 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
29358 if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
29359 sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
29360 else
29361 cat
29362 fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
29363 || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
29364 _ACEOF
29365
29366 # VPATH may cause trouble with some makes, so we remove sole $(srcdir),
29367 # ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
29368 # trailing colons and then remove the whole line if VPATH becomes empty
29369 # (actually we leave an empty line to preserve line numbers).
29370 if test "x$srcdir" = x.; then
29371 ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{
29372 h
29373 s///
29374 s/^/:/
29375 s/[ ]*$/:/
29376 s/:\$(srcdir):/:/g
29377 s/:\${srcdir}:/:/g
29378 s/:@srcdir@:/:/g
29379 s/^:*//
29380 s/:*$//
29381 x
29382 s/\(=[ ]*\).*/\1/
29383 G
29384 s/\n//
29385 s/^[^=]*=[ ]*$//
29386 }'
29387 fi
29388
29389 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
29390 fi # test -n "$CONFIG_FILES"
29391
29392 # Set up the scripts for CONFIG_HEADERS section.
29393 # No need to generate them if there are no CONFIG_HEADERS.
29394 # This happens for instance with `./config.status Makefile'.
29395 if test -n "$CONFIG_HEADERS"; then
29396 cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
29397 BEGIN {
29398 _ACEOF
29399
29400 # Transform confdefs.h into an awk script `defines.awk', embedded as
29401 # here-document in config.status, that substitutes the proper values into
29402 # config.h.in to produce config.h.
29403
29404 # Create a delimiter string that does not exist in confdefs.h, to ease
29405 # handling of long lines.
29406 ac_delim='%!_!# '
29407 for ac_last_try in false false :; do
29408 ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
29409 if test -z "$ac_tt"; then
29410 break
29411 elif $ac_last_try; then
29412 as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
29413 else
29414 ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
29415 fi
29416 done
29417
29418 # For the awk script, D is an array of macro values keyed by name,
29419 # likewise P contains macro parameters if any. Preserve backslash
29420 # newline sequences.
29421
29422 ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
29423 sed -n '
29424 s/.\{148\}/&'"$ac_delim"'/g
29425 t rset
29426 :rset
29427 s/^[ ]*#[ ]*define[ ][ ]*/ /
29428 t def
29429 d
29430 :def
29431 s/\\$//
29432 t bsnl
29433 s/["\\]/\\&/g
29434 s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
29435 D["\1"]=" \3"/p
29436 s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p
29437 d
29438 :bsnl
29439 s/["\\]/\\&/g
29440 s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
29441 D["\1"]=" \3\\\\\\n"\\/p
29442 t cont
29443 s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
29444 t cont
29445 d
29446 :cont
29447 n
29448 s/.\{148\}/&'"$ac_delim"'/g
29449 t clear
29450 :clear
29451 s/\\$//
29452 t bsnlc
29453 s/["\\]/\\&/g; s/^/"/; s/$/"/p
29454 d
29455 :bsnlc
29456 s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
29457 b cont
29458 ' <confdefs.h | sed '
29459 s/'"$ac_delim"'/"\\\
29460 "/g' >>$CONFIG_STATUS || ac_write_fail=1
29461
29462 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
29463 for (key in D) D_is_set[key] = 1
29464 FS = ""
29465 }
29466 /^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
29467 line = \$ 0
29468 split(line, arg, " ")
29469 if (arg[1] == "#") {
29470 defundef = arg[2]
29471 mac1 = arg[3]
29472 } else {
29473 defundef = substr(arg[1], 2)
29474 mac1 = arg[2]
29475 }
29476 split(mac1, mac2, "(") #)
29477 macro = mac2[1]
29478 prefix = substr(line, 1, index(line, defundef) - 1)
29479 if (D_is_set[macro]) {
29480 # Preserve the white space surrounding the "#".
29481 print prefix "define", macro P[macro] D[macro]
29482 next
29483 } else {
29484 # Replace #undef with comments. This is necessary, for example,
29485 # in the case of _POSIX_SOURCE, which is predefined and required
29486 # on some systems where configure will not decide to define it.
29487 if (defundef == "undef") {
29488 print "/*", prefix defundef, macro, "*/"
29489 next
29490 }
29491 }
29492 }
29493 { print }
29494 _ACAWK
29495 _ACEOF
29496 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
29497 as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
29498 fi # test -n "$CONFIG_HEADERS"
29499
29500
29501 eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS"
29502 shift
29503 for ac_tag
29504 do
29505 case $ac_tag in
29506 :[FHLC]) ac_mode=$ac_tag; continue;;
29507 esac
29508 case $ac_mode$ac_tag in
29509 :[FHL]*:*);;
29510 :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
29511 :[FH]-) ac_tag=-:-;;
29512 :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
29513 esac
29514 ac_save_IFS=$IFS
29515 IFS=:
29516 set x $ac_tag
29517 IFS=$ac_save_IFS
29518 shift
29519 ac_file=$1
29520 shift
29521
29522 case $ac_mode in
29523 :L) ac_source=$1;;
29524 :[FH])
29525 ac_file_inputs=
29526 for ac_f
29527 do
29528 case $ac_f in
29529 -) ac_f="$ac_tmp/stdin";;
29530 *) # Look for the file first in the build tree, then in the source tree
29531 # (if the path is not absolute). The absolute path cannot be DOS-style,
29532 # because $ac_f cannot contain `:'.
29533 test -f "$ac_f" ||
29534 case $ac_f in
29535 [\\/$]*) false;;
29536 *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
29537 esac ||
29538 as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
29539 esac
29540 case $ac_f in *\'*) ac_f=`printf "%s\n" "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
29541 as_fn_append ac_file_inputs " '$ac_f'"
29542 done
29543
29544 # Let's still pretend it is `configure' which instantiates (i.e., don't
29545 # use $as_me), people would be surprised to read:
29546 # /* config.h. Generated by config.status. */
29547 configure_input='Generated from '`
29548 printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
29549 `' by configure.'
29550 if test x"$ac_file" != x-; then
29551 configure_input="$ac_file. $configure_input"
29552 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
29553 printf "%s\n" "$as_me: creating $ac_file" >&6;}
29554 fi
29555 # Neutralize special characters interpreted by sed in replacement strings.
29556 case $configure_input in #(
29557 *\&* | *\|* | *\\* )
29558 ac_sed_conf_input=`printf "%s\n" "$configure_input" |
29559 sed 's/[\\\\&|]/\\\\&/g'`;; #(
29560 *) ac_sed_conf_input=$configure_input;;
29561 esac
29562
29563 case $ac_tag in
29564 *:-:* | *:-) cat >"$ac_tmp/stdin" \
29565 || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
29566 esac
29567 ;;
29568 esac
29569
29570 ac_dir=`$as_dirname -- "$ac_file" ||
29571 $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
29572 X"$ac_file" : 'X\(//\)[^/]' \| \
29573 X"$ac_file" : 'X\(//\)$' \| \
29574 X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
29575 printf "%s\n" X"$ac_file" |
29576 sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
29577 s//\1/
29578 q
29579 }
29580 /^X\(\/\/\)[^/].*/{
29581 s//\1/
29582 q
29583 }
29584 /^X\(\/\/\)$/{
29585 s//\1/
29586 q
29587 }
29588 /^X\(\/\).*/{
29589 s//\1/
29590 q
29591 }
29592 s/.*/./; q'`
29593 as_dir="$ac_dir"; as_fn_mkdir_p
29594 ac_builddir=.
29595
29596 case "$ac_dir" in
29597 .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
29598 *)
29599 ac_dir_suffix=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'`
29600 # A ".." for each directory in $ac_dir_suffix.
29601 ac_top_builddir_sub=`printf "%s\n" "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
29602 case $ac_top_builddir_sub in
29603 "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
29604 *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
29605 esac ;;
29606 esac
29607 ac_abs_top_builddir=$ac_pwd
29608 ac_abs_builddir=$ac_pwd$ac_dir_suffix
29609 # for backward compatibility:
29610 ac_top_builddir=$ac_top_build_prefix
29611
29612 case $srcdir in
29613 .) # We are building in place.
29614 ac_srcdir=.
29615 ac_top_srcdir=$ac_top_builddir_sub
29616 ac_abs_top_srcdir=$ac_pwd ;;
29617 [\\/]* | ?:[\\/]* ) # Absolute name.
29618 ac_srcdir=$srcdir$ac_dir_suffix;
29619 ac_top_srcdir=$srcdir
29620 ac_abs_top_srcdir=$srcdir ;;
29621 *) # Relative name.
29622 ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
29623 ac_top_srcdir=$ac_top_build_prefix$srcdir
29624 ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
29625 esac
29626 ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
29627
29628
29629 case $ac_mode in
29630 :F)
29631 #
29632 # CONFIG_FILE
29633 #
29634
29635 case $INSTALL in
29636 [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
29637 *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
29638 esac
29639 ac_MKDIR_P=$MKDIR_P
29640 case $MKDIR_P in
29641 [\\/$]* | ?:[\\/]* ) ;;
29642 */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
29643 esac
29644 _ACEOF
29645
29646 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
29647 # If the template does not know about datarootdir, expand it.
29648 # FIXME: This hack should be removed a few years after 2.60.
29649 ac_datarootdir_hack=; ac_datarootdir_seen=
29650 ac_sed_dataroot='
29651 /datarootdir/ {
29652 p
29653 q
29654 }
29655 /@datadir@/p
29656 /@docdir@/p
29657 /@infodir@/p
29658 /@localedir@/p
29659 /@mandir@/p'
29660 case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
29661 *datarootdir*) ac_datarootdir_seen=yes;;
29662 *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
29663 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
29664 printf "%s\n" "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
29665 _ACEOF
29666 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
29667 ac_datarootdir_hack='
29668 s&@datadir@&$datadir&g
29669 s&@docdir@&$docdir&g
29670 s&@infodir@&$infodir&g
29671 s&@localedir@&$localedir&g
29672 s&@mandir@&$mandir&g
29673 s&\\\${datarootdir}&$datarootdir&g' ;;
29674 esac
29675 _ACEOF
29676
29677 # Neutralize VPATH when `$srcdir' = `.'.
29678 # Shell code in configure.ac might set extrasub.
29679 # FIXME: do we really want to maintain this feature?
29680 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
29681 ac_sed_extra="$ac_vpsub
29682 $extrasub
29683 _ACEOF
29684 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
29685 :t
29686 /@[a-zA-Z_][a-zA-Z_0-9]*@/!b
29687 s|@configure_input@|$ac_sed_conf_input|;t t
29688 s&@top_builddir@&$ac_top_builddir_sub&;t t
29689 s&@top_build_prefix@&$ac_top_build_prefix&;t t
29690 s&@srcdir@&$ac_srcdir&;t t
29691 s&@abs_srcdir@&$ac_abs_srcdir&;t t
29692 s&@top_srcdir@&$ac_top_srcdir&;t t
29693 s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
29694 s&@builddir@&$ac_builddir&;t t
29695 s&@abs_builddir@&$ac_abs_builddir&;t t
29696 s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
29697 s&@INSTALL@&$ac_INSTALL&;t t
29698 s&@MKDIR_P@&$ac_MKDIR_P&;t t
29699 $ac_datarootdir_hack
29700 "
29701 eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
29702 >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
29703
29704 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
29705 { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
29706 { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \
29707 "$ac_tmp/out"`; test -z "$ac_out"; } &&
29708 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
29709 which seems to be undefined. Please make sure it is defined" >&5
29710 printf "%s\n" "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
29711 which seems to be undefined. Please make sure it is defined" >&2;}
29712
29713 rm -f "$ac_tmp/stdin"
29714 case $ac_file in
29715 -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
29716 *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
29717 esac \
29718 || as_fn_error $? "could not create $ac_file" "$LINENO" 5
29719 ;;
29720 :H)
29721 #
29722 # CONFIG_HEADER
29723 #
29724 if test x"$ac_file" != x-; then
29725 {
29726 printf "%s\n" "/* $configure_input */" >&1 \
29727 && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
29728 } >"$ac_tmp/config.h" \
29729 || as_fn_error $? "could not create $ac_file" "$LINENO" 5
29730 if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
29731 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
29732 printf "%s\n" "$as_me: $ac_file is unchanged" >&6;}
29733 else
29734 rm -f "$ac_file"
29735 mv "$ac_tmp/config.h" "$ac_file" \
29736 || as_fn_error $? "could not create $ac_file" "$LINENO" 5
29737 fi
29738 else
29739 printf "%s\n" "/* $configure_input */" >&1 \
29740 && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
29741 || as_fn_error $? "could not create -" "$LINENO" 5
29742 fi
29743 # Compute "$ac_file"'s index in $config_headers.
29744 _am_arg="$ac_file"
29745 _am_stamp_count=1
29746 for _am_header in $config_headers :; do
29747 case $_am_header in
29748 $_am_arg | $_am_arg:* )
29749 break ;;
29750 * )
29751 _am_stamp_count=`expr $_am_stamp_count + 1` ;;
29752 esac
29753 done
29754 echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" ||
29755 $as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
29756 X"$_am_arg" : 'X\(//\)[^/]' \| \
29757 X"$_am_arg" : 'X\(//\)$' \| \
29758 X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null ||
29759 printf "%s\n" X"$_am_arg" |
29760 sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
29761 s//\1/
29762 q
29763 }
29764 /^X\(\/\/\)[^/].*/{
29765 s//\1/
29766 q
29767 }
29768 /^X\(\/\/\)$/{
29769 s//\1/
29770 q
29771 }
29772 /^X\(\/\).*/{
29773 s//\1/
29774 q
29775 }
29776 s/.*/./; q'`/stamp-h$_am_stamp_count
29777 ;;
29778
29779 :C) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
29780 printf "%s\n" "$as_me: executing $ac_file commands" >&6;}
29781 ;;
29782 esac
29783
29784
29785 case $ac_file$ac_mode in
29786 "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
29787 # Older Autoconf quotes --file arguments for eval, but not when files
29788 # are listed without --file. Let's play safe and only enable the eval
29789 # if we detect the quoting.
29790 # TODO: see whether this extra hack can be removed once we start
29791 # requiring Autoconf 2.70 or later.
29792 case $CONFIG_FILES in #(
29793 *\'*) :
29794 eval set x "$CONFIG_FILES" ;; #(
29795 *) :
29796 set x $CONFIG_FILES ;; #(
29797 *) :
29798 ;;
29799 esac
29800 shift
29801 # Used to flag and report bootstrapping failures.
29802 am_rc=0
29803 for am_mf
29804 do
29805 # Strip MF so we end up with the name of the file.
29806 am_mf=`printf "%s\n" "$am_mf" | sed -e 's/:.*$//'`
29807 # Check whether this is an Automake generated Makefile which includes
29808 # dependency-tracking related rules and includes.
29809 # Grep'ing the whole file directly is not great: AIX grep has a line
29810 # limit of 2048, but all sed's we know have understand at least 4000.
29811 sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \
29812 || continue
29813 am_dirpart=`$as_dirname -- "$am_mf" ||
29814 $as_expr X"$am_mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
29815 X"$am_mf" : 'X\(//\)[^/]' \| \
29816 X"$am_mf" : 'X\(//\)$' \| \
29817 X"$am_mf" : 'X\(/\)' \| . 2>/dev/null ||
29818 printf "%s\n" X"$am_mf" |
29819 sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
29820 s//\1/
29821 q
29822 }
29823 /^X\(\/\/\)[^/].*/{
29824 s//\1/
29825 q
29826 }
29827 /^X\(\/\/\)$/{
29828 s//\1/
29829 q
29830 }
29831 /^X\(\/\).*/{
29832 s//\1/
29833 q
29834 }
29835 s/.*/./; q'`
29836 am_filepart=`$as_basename -- "$am_mf" ||
29837 $as_expr X/"$am_mf" : '.*/\([^/][^/]*\)/*$' \| \
29838 X"$am_mf" : 'X\(//\)$' \| \
29839 X"$am_mf" : 'X\(/\)' \| . 2>/dev/null ||
29840 printf "%s\n" X/"$am_mf" |
29841 sed '/^.*\/\([^/][^/]*\)\/*$/{
29842 s//\1/
29843 q
29844 }
29845 /^X\/\(\/\/\)$/{
29846 s//\1/
29847 q
29848 }
29849 /^X\/\(\/\).*/{
29850 s//\1/
29851 q
29852 }
29853 s/.*/./; q'`
29854 { echo "$as_me:$LINENO: cd "$am_dirpart" \
29855 && sed -e '/# am--include-marker/d' "$am_filepart" \
29856 | $MAKE -f - am--depfiles" >&5
29857 (cd "$am_dirpart" \
29858 && sed -e '/# am--include-marker/d' "$am_filepart" \
29859 | $MAKE -f - am--depfiles) >&5 2>&5
29860 ac_status=$?
29861 echo "$as_me:$LINENO: \$? = $ac_status" >&5
29862 (exit $ac_status); } || am_rc=$?
29863 done
29864 if test $am_rc -ne 0; then
29865 { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
29866 printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
29867 as_fn_error $? "Something went wrong bootstrapping makefile fragments
29868 for automatic dependency tracking. If GNU make was not used, consider
29869 re-running the configure script with MAKE=\"gmake\" (or whatever is
29870 necessary). You can also try re-running configure with the
29871 '--disable-dependency-tracking' option to at least be able to build
29872 the package (albeit without support for automatic dependency tracking).
29873 See \`config.log' for more details" "$LINENO" 5; }
29874 fi
29875 { am_dirpart=; unset am_dirpart;}
29876 { am_filepart=; unset am_filepart;}
29877 { am_mf=; unset am_mf;}
29878 { am_rc=; unset am_rc;}
29879 rm -f conftest-deps.mk
29880 }
29881 ;;
29882 "libtool":C)
29883
29884 # See if we are running on zsh, and set the options which allow our
29885 # commands through without removal of \ escapes.
29886 if test -n "${ZSH_VERSION+set}" ; then
29887 setopt NO_GLOB_SUBST
29888 fi
29889
29890 cfgfile="${ofile}T"
29891 trap "$RM \"$cfgfile\"; exit 1" 1 2 15
29892 $RM "$cfgfile"
29893
29894 cat <<_LT_EOF >> "$cfgfile"
29895 #! $SHELL
29896
29897 # `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
29898 # Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
29899 # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
29900 # NOTE: Changes made to this file will be lost: look at ltmain.sh.
29901 #
29902 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
29903 # 2006, 2007, 2008, 2009, 2010, 2011 Free Software
29904 # Foundation, Inc.
29905 # Written by Gordon Matzigkeit, 1996
29906 #
29907 # This file is part of GNU Libtool.
29908 #
29909 # GNU Libtool is free software; you can redistribute it and/or
29910 # modify it under the terms of the GNU General Public License as
29911 # published by the Free Software Foundation; either version 2 of
29912 # the License, or (at your option) any later version.
29913 #
29914 # As a special exception to the GNU General Public License,
29915 # if you distribute this file as part of a program or library that
29916 # is built using GNU Libtool, you may include this file under the
29917 # same distribution terms that you use for the rest of that program.
29918 #
29919 # GNU Libtool is distributed in the hope that it will be useful,
29920 # but WITHOUT ANY WARRANTY; without even the implied warranty of
29921 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
29922 # GNU General Public License for more details.
29923 #
29924 # You should have received a copy of the GNU General Public License
29925 # along with GNU Libtool; see the file COPYING. If not, a copy
29926 # can be downloaded from https://www.gnu.org/licenses/gpl.html, or
29927 # obtained by writing to the Free Software Foundation, Inc.,
29928 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
29929
29930
29931 # The names of the tagged configurations supported by this script.
29932 available_tags="CXX RC "
29933
29934 # ### BEGIN LIBTOOL CONFIG
29935
29936 # Which release of libtool.m4 was used?
29937 macro_version=$macro_version
29938 macro_revision=$macro_revision
29939
29940 # Assembler program.
29941 AS=$lt_AS
29942
29943 # DLL creation program.
29944 DLLTOOL=$lt_DLLTOOL
29945
29946 # Object dumper program.
29947 OBJDUMP=$lt_OBJDUMP
29948
29949 # Whether or not to build static libraries.
29950 build_old_libs=$enable_static
29951
29952 # Whether or not to build shared libraries.
29953 build_libtool_libs=$enable_shared
29954
29955 # What type of objects to build.
29956 pic_mode=$pic_mode
29957
29958 # Whether or not to optimize for fast installation.
29959 fast_install=$enable_fast_install
29960
29961 # Shell to use when invoking shell scripts.
29962 SHELL=$lt_SHELL
29963
29964 # An echo program that protects backslashes.
29965 ECHO=$lt_ECHO
29966
29967 # The PATH separator for the build system.
29968 PATH_SEPARATOR=$lt_PATH_SEPARATOR
29969
29970 # The host system.
29971 host_alias=$host_alias
29972 host=$host
29973 host_os=$host_os
29974
29975 # The build system.
29976 build_alias=$build_alias
29977 build=$build
29978 build_os=$build_os
29979
29980 # A sed program that does not truncate output.
29981 SED=$lt_SED
29982
29983 # Sed that helps us avoid accidentally triggering echo(1) options like -n.
29984 Xsed="\$SED -e 1s/^X//"
29985
29986 # A grep program that handles long lines.
29987 GREP=$lt_GREP
29988
29989 # An ERE matcher.
29990 EGREP=$lt_EGREP
29991
29992 # A literal string matcher.
29993 FGREP=$lt_FGREP
29994
29995 # A BSD- or MS-compatible name lister.
29996 NM=$lt_NM
29997
29998 # Whether we need soft or hard links.
29999 LN_S=$lt_LN_S
30000
30001 # What is the maximum length of a command?
30002 max_cmd_len=$max_cmd_len
30003
30004 # Object file suffix (normally "o").
30005 objext=$ac_objext
30006
30007 # Executable file suffix (normally "").
30008 exeext=$exeext
30009
30010 # whether the shell understands "unset".
30011 lt_unset=$lt_unset
30012
30013 # turn spaces into newlines.
30014 SP2NL=$lt_lt_SP2NL
30015
30016 # turn newlines into spaces.
30017 NL2SP=$lt_lt_NL2SP
30018
30019 # convert \$build file names to \$host format.
30020 to_host_file_cmd=$lt_cv_to_host_file_cmd
30021
30022 # convert \$build files to toolchain format.
30023 to_tool_file_cmd=$lt_cv_to_tool_file_cmd
30024
30025 # Method to check whether dependent libraries are shared objects.
30026 deplibs_check_method=$lt_deplibs_check_method
30027
30028 # Command to use when deplibs_check_method = "file_magic".
30029 file_magic_cmd=$lt_file_magic_cmd
30030
30031 # How to find potential files when deplibs_check_method = "file_magic".
30032 file_magic_glob=$lt_file_magic_glob
30033
30034 # Find potential files using nocaseglob when deplibs_check_method = "file_magic".
30035 want_nocaseglob=$lt_want_nocaseglob
30036
30037 # Command to associate shared and link libraries.
30038 sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd
30039
30040 # The archiver.
30041 AR=$lt_AR
30042
30043 # Flags to create an archive.
30044 AR_FLAGS=$lt_AR_FLAGS
30045
30046 # How to feed a file listing to the archiver.
30047 archiver_list_spec=$lt_archiver_list_spec
30048
30049 # A symbol stripping program.
30050 STRIP=$lt_STRIP
30051
30052 # Commands used to install an old-style archive.
30053 RANLIB=$lt_RANLIB
30054 old_postinstall_cmds=$lt_old_postinstall_cmds
30055 old_postuninstall_cmds=$lt_old_postuninstall_cmds
30056
30057 # Whether to use a lock for old archive extraction.
30058 lock_old_archive_extraction=$lock_old_archive_extraction
30059
30060 # A C compiler.
30061 LTCC=$lt_CC
30062
30063 # LTCC compiler flags.
30064 LTCFLAGS=$lt_CFLAGS
30065
30066 # Take the output of nm and produce a listing of raw symbols and C names.
30067 global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
30068
30069 # Transform the output of nm in a proper C declaration.
30070 global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
30071
30072 # Transform the output of nm in a C name address pair.
30073 global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
30074
30075 # Transform the output of nm in a C name address pair when lib prefix is needed.
30076 global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
30077
30078 # Specify filename containing input files for \$NM.
30079 nm_file_list_spec=$lt_nm_file_list_spec
30080
30081 # The root where to search for dependent libraries,and in which our libraries should be installed.
30082 lt_sysroot=$lt_sysroot
30083
30084 # The name of the directory that contains temporary libtool files.
30085 objdir=$objdir
30086
30087 # Used to examine libraries when file_magic_cmd begins with "file".
30088 MAGIC_CMD=$MAGIC_CMD
30089
30090 # Must we lock files when doing compilation?
30091 need_locks=$lt_need_locks
30092
30093 # Manifest tool.
30094 MANIFEST_TOOL=$lt_MANIFEST_TOOL
30095
30096 # Tool to manipulate archived DWARF debug symbol files on Mac OS X.
30097 DSYMUTIL=$lt_DSYMUTIL
30098
30099 # Tool to change global to local symbols on Mac OS X.
30100 NMEDIT=$lt_NMEDIT
30101
30102 # Tool to manipulate fat objects and archives on Mac OS X.
30103 LIPO=$lt_LIPO
30104
30105 # ldd/readelf like tool for Mach-O binaries on Mac OS X.
30106 OTOOL=$lt_OTOOL
30107
30108 # ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4.
30109 OTOOL64=$lt_OTOOL64
30110
30111 # Old archive suffix (normally "a").
30112 libext=$libext
30113
30114 # Shared library suffix (normally ".so").
30115 shrext_cmds=$lt_shrext_cmds
30116
30117 # The commands to extract the exported symbol list from a shared archive.
30118 extract_expsyms_cmds=$lt_extract_expsyms_cmds
30119
30120 # Variables whose values should be saved in libtool wrapper scripts and
30121 # restored at link time.
30122 variables_saved_for_relink=$lt_variables_saved_for_relink
30123
30124 # Do we need the "lib" prefix for modules?
30125 need_lib_prefix=$need_lib_prefix
30126
30127 # Do we need a version for libraries?
30128 need_version=$need_version
30129
30130 # Library versioning type.
30131 version_type=$version_type
30132
30133 # Shared library runtime path variable.
30134 runpath_var=$runpath_var
30135
30136 # Shared library path variable.
30137 shlibpath_var=$shlibpath_var
30138
30139 # Is shlibpath searched before the hard-coded library search path?
30140 shlibpath_overrides_runpath=$shlibpath_overrides_runpath
30141
30142 # Format of library name prefix.
30143 libname_spec=$lt_libname_spec
30144
30145 # List of archive names. First name is the real one, the rest are links.
30146 # The last name is the one that the linker finds with -lNAME
30147 library_names_spec=$lt_library_names_spec
30148
30149 # The coded name of the library, if different from the real name.
30150 soname_spec=$lt_soname_spec
30151
30152 # Permission mode override for installation of shared libraries.
30153 install_override_mode=$lt_install_override_mode
30154
30155 # Command to use after installation of a shared archive.
30156 postinstall_cmds=$lt_postinstall_cmds
30157
30158 # Command to use after uninstallation of a shared archive.
30159 postuninstall_cmds=$lt_postuninstall_cmds
30160
30161 # Commands used to finish a libtool library installation in a directory.
30162 finish_cmds=$lt_finish_cmds
30163
30164 # As "finish_cmds", except a single script fragment to be evaled but
30165 # not shown.
30166 finish_eval=$lt_finish_eval
30167
30168 # Whether we should hardcode library paths into libraries.
30169 hardcode_into_libs=$hardcode_into_libs
30170
30171 # Compile-time system search path for libraries.
30172 sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
30173
30174 # Run-time system search path for libraries.
30175 sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
30176
30177 # Whether dlopen is supported.
30178 dlopen_support=$enable_dlopen
30179
30180 # Whether dlopen of programs is supported.
30181 dlopen_self=$enable_dlopen_self
30182
30183 # Whether dlopen of statically linked programs is supported.
30184 dlopen_self_static=$enable_dlopen_self_static
30185
30186 # Commands to strip libraries.
30187 old_striplib=$lt_old_striplib
30188 striplib=$lt_striplib
30189
30190
30191 # The linker used to build libraries.
30192 LD=$lt_LD
30193
30194 # How to create reloadable object files.
30195 reload_flag=$lt_reload_flag
30196 reload_cmds=$lt_reload_cmds
30197
30198 # Commands used to build an old-style archive.
30199 old_archive_cmds=$lt_old_archive_cmds
30200
30201 # A language specific compiler.
30202 CC=$lt_compiler
30203
30204 # Is the compiler the GNU compiler?
30205 with_gcc=$GCC
30206
30207 # Compiler flag to turn off builtin functions.
30208 no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
30209
30210 # Additional compiler flags for building library objects.
30211 pic_flag=$lt_lt_prog_compiler_pic
30212
30213 # How to pass a linker flag through the compiler.
30214 wl=$lt_lt_prog_compiler_wl
30215
30216 # Compiler flag to prevent dynamic linking.
30217 link_static_flag=$lt_lt_prog_compiler_static
30218
30219 # Does compiler simultaneously support -c and -o options?
30220 compiler_c_o=$lt_lt_cv_prog_compiler_c_o
30221
30222 # Whether or not to add -lc for building shared libraries.
30223 build_libtool_need_lc=$archive_cmds_need_lc
30224
30225 # Whether or not to disallow shared libs when runtime libs are static.
30226 allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes
30227
30228 # Compiler flag to allow reflexive dlopens.
30229 export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
30230
30231 # Compiler flag to generate shared objects directly from archives.
30232 whole_archive_flag_spec=$lt_whole_archive_flag_spec
30233
30234 # Whether the compiler copes with passing no objects directly.
30235 compiler_needs_object=$lt_compiler_needs_object
30236
30237 # Create an old-style archive from a shared archive.
30238 old_archive_from_new_cmds=$lt_old_archive_from_new_cmds
30239
30240 # Create a temporary old-style archive to link instead of a shared archive.
30241 old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
30242
30243 # Commands used to build a shared archive.
30244 archive_cmds=$lt_archive_cmds
30245 archive_expsym_cmds=$lt_archive_expsym_cmds
30246
30247 # Commands used to build a loadable module if different from building
30248 # a shared archive.
30249 module_cmds=$lt_module_cmds
30250 module_expsym_cmds=$lt_module_expsym_cmds
30251
30252 # Whether we are building with GNU ld or not.
30253 with_gnu_ld=$lt_with_gnu_ld
30254
30255 # Flag that allows shared libraries with undefined symbols to be built.
30256 allow_undefined_flag=$lt_allow_undefined_flag
30257
30258 # Flag that enforces no undefined symbols.
30259 no_undefined_flag=$lt_no_undefined_flag
30260
30261 # Flag to hardcode \$libdir into a binary during linking.
30262 # This must work even if \$libdir does not exist
30263 hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
30264
30265 # Whether we need a single "-rpath" flag with a separated argument.
30266 hardcode_libdir_separator=$lt_hardcode_libdir_separator
30267
30268 # Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
30269 # DIR into the resulting binary.
30270 hardcode_direct=$hardcode_direct
30271
30272 # Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
30273 # DIR into the resulting binary and the resulting library dependency is
30274 # "absolute",i.e impossible to change by setting \${shlibpath_var} if the
30275 # library is relocated.
30276 hardcode_direct_absolute=$hardcode_direct_absolute
30277
30278 # Set to "yes" if using the -LDIR flag during linking hardcodes DIR
30279 # into the resulting binary.
30280 hardcode_minus_L=$hardcode_minus_L
30281
30282 # Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
30283 # into the resulting binary.
30284 hardcode_shlibpath_var=$hardcode_shlibpath_var
30285
30286 # Set to "yes" if building a shared library automatically hardcodes DIR
30287 # into the library and all subsequent libraries and executables linked
30288 # against it.
30289 hardcode_automatic=$hardcode_automatic
30290
30291 # Set to yes if linker adds runtime paths of dependent libraries
30292 # to runtime path list.
30293 inherit_rpath=$inherit_rpath
30294
30295 # Whether libtool must link a program against all its dependency libraries.
30296 link_all_deplibs=$link_all_deplibs
30297
30298 # Set to "yes" if exported symbols are required.
30299 always_export_symbols=$always_export_symbols
30300
30301 # The commands to list exported symbols.
30302 export_symbols_cmds=$lt_export_symbols_cmds
30303
30304 # Symbols that should not be listed in the preloaded symbols.
30305 exclude_expsyms=$lt_exclude_expsyms
30306
30307 # Symbols that must always be exported.
30308 include_expsyms=$lt_include_expsyms
30309
30310 # Commands necessary for linking programs (against libraries) with templates.
30311 prelink_cmds=$lt_prelink_cmds
30312
30313 # Commands necessary for finishing linking programs.
30314 postlink_cmds=$lt_postlink_cmds
30315
30316 # Specify filename containing input files.
30317 file_list_spec=$lt_file_list_spec
30318
30319 # How to hardcode a shared library path into an executable.
30320 hardcode_action=$hardcode_action
30321
30322 # The directories searched by this compiler when creating a shared library.
30323 compiler_lib_search_dirs=$lt_compiler_lib_search_dirs
30324
30325 # Dependencies to place before and after the objects being linked to
30326 # create a shared library.
30327 predep_objects=$lt_predep_objects
30328 postdep_objects=$lt_postdep_objects
30329 predeps=$lt_predeps
30330 postdeps=$lt_postdeps
30331
30332 # The library search path used internally by the compiler when linking
30333 # a shared library.
30334 compiler_lib_search_path=$lt_compiler_lib_search_path
30335
30336 # ### END LIBTOOL CONFIG
30337
30338 _LT_EOF
30339
30340 case $host_os in
30341 aix3*)
30342 cat <<\_LT_EOF >> "$cfgfile"
30343 # AIX sometimes has problems with the GCC collect2 program. For some
30344 # reason, if we set the COLLECT_NAMES environment variable, the problems
30345 # vanish in a puff of smoke.
30346 if test "X${COLLECT_NAMES+set}" != Xset; then
30347 COLLECT_NAMES=
30348 export COLLECT_NAMES
30349 fi
30350 _LT_EOF
30351 ;;
30352 esac
30353
30354
30355
30356 ltmain="$ac_aux_dir/ltmain.sh"
30357
30358
30359 # We use sed instead of cat because bash on DJGPP gets confused if
30360 # if finds mixed CR/LF and LF-only lines. Since sed operates in
30361 # text mode, it properly converts lines to CR/LF. This bash problem
30362 # is reportedly fixed, but why not run on old versions too?
30363 sed '$q' "$ltmain" >> "$cfgfile" \
30364 || (rm -f "$cfgfile"; exit 1)
30365
30366 if test x"$xsi_shell" = xyes; then
30367 sed -e '/^func_dirname ()$/,/^} # func_dirname /c\
30368 func_dirname ()\
30369 {\
30370 \ case ${1} in\
30371 \ */*) func_dirname_result="${1%/*}${2}" ;;\
30372 \ * ) func_dirname_result="${3}" ;;\
30373 \ esac\
30374 } # Extended-shell func_dirname implementation' "$cfgfile" > $cfgfile.tmp \
30375 && mv -f "$cfgfile.tmp" "$cfgfile" \
30376 || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
30377 test 0 -eq $? || _lt_function_replace_fail=:
30378
30379
30380 sed -e '/^func_basename ()$/,/^} # func_basename /c\
30381 func_basename ()\
30382 {\
30383 \ func_basename_result="${1##*/}"\
30384 } # Extended-shell func_basename implementation' "$cfgfile" > $cfgfile.tmp \
30385 && mv -f "$cfgfile.tmp" "$cfgfile" \
30386 || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
30387 test 0 -eq $? || _lt_function_replace_fail=:
30388
30389
30390 sed -e '/^func_dirname_and_basename ()$/,/^} # func_dirname_and_basename /c\
30391 func_dirname_and_basename ()\
30392 {\
30393 \ case ${1} in\
30394 \ */*) func_dirname_result="${1%/*}${2}" ;;\
30395 \ * ) func_dirname_result="${3}" ;;\
30396 \ esac\
30397 \ func_basename_result="${1##*/}"\
30398 } # Extended-shell func_dirname_and_basename implementation' "$cfgfile" > $cfgfile.tmp \
30399 && mv -f "$cfgfile.tmp" "$cfgfile" \
30400 || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
30401 test 0 -eq $? || _lt_function_replace_fail=:
30402
30403
30404 sed -e '/^func_stripname ()$/,/^} # func_stripname /c\
30405 func_stripname ()\
30406 {\
30407 \ # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are\
30408 \ # positional parameters, so assign one to ordinary parameter first.\
30409 \ func_stripname_result=${3}\
30410 \ func_stripname_result=${func_stripname_result#"${1}"}\
30411 \ func_stripname_result=${func_stripname_result%"${2}"}\
30412 } # Extended-shell func_stripname implementation' "$cfgfile" > $cfgfile.tmp \
30413 && mv -f "$cfgfile.tmp" "$cfgfile" \
30414 || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
30415 test 0 -eq $? || _lt_function_replace_fail=:
30416
30417
30418 sed -e '/^func_split_long_opt ()$/,/^} # func_split_long_opt /c\
30419 func_split_long_opt ()\
30420 {\
30421 \ func_split_long_opt_name=${1%%=*}\
30422 \ func_split_long_opt_arg=${1#*=}\
30423 } # Extended-shell func_split_long_opt implementation' "$cfgfile" > $cfgfile.tmp \
30424 && mv -f "$cfgfile.tmp" "$cfgfile" \
30425 || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
30426 test 0 -eq $? || _lt_function_replace_fail=:
30427
30428
30429 sed -e '/^func_split_short_opt ()$/,/^} # func_split_short_opt /c\
30430 func_split_short_opt ()\
30431 {\
30432 \ func_split_short_opt_arg=${1#??}\
30433 \ func_split_short_opt_name=${1%"$func_split_short_opt_arg"}\
30434 } # Extended-shell func_split_short_opt implementation' "$cfgfile" > $cfgfile.tmp \
30435 && mv -f "$cfgfile.tmp" "$cfgfile" \
30436 || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
30437 test 0 -eq $? || _lt_function_replace_fail=:
30438
30439
30440 sed -e '/^func_lo2o ()$/,/^} # func_lo2o /c\
30441 func_lo2o ()\
30442 {\
30443 \ case ${1} in\
30444 \ *.lo) func_lo2o_result=${1%.lo}.${objext} ;;\
30445 \ *) func_lo2o_result=${1} ;;\
30446 \ esac\
30447 } # Extended-shell func_lo2o implementation' "$cfgfile" > $cfgfile.tmp \
30448 && mv -f "$cfgfile.tmp" "$cfgfile" \
30449 || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
30450 test 0 -eq $? || _lt_function_replace_fail=:
30451
30452
30453 sed -e '/^func_xform ()$/,/^} # func_xform /c\
30454 func_xform ()\
30455 {\
30456 func_xform_result=${1%.*}.lo\
30457 } # Extended-shell func_xform implementation' "$cfgfile" > $cfgfile.tmp \
30458 && mv -f "$cfgfile.tmp" "$cfgfile" \
30459 || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
30460 test 0 -eq $? || _lt_function_replace_fail=:
30461
30462
30463 sed -e '/^func_arith ()$/,/^} # func_arith /c\
30464 func_arith ()\
30465 {\
30466 func_arith_result=$(( $* ))\
30467 } # Extended-shell func_arith implementation' "$cfgfile" > $cfgfile.tmp \
30468 && mv -f "$cfgfile.tmp" "$cfgfile" \
30469 || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
30470 test 0 -eq $? || _lt_function_replace_fail=:
30471
30472
30473 sed -e '/^func_len ()$/,/^} # func_len /c\
30474 func_len ()\
30475 {\
30476 func_len_result=${#1}\
30477 } # Extended-shell func_len implementation' "$cfgfile" > $cfgfile.tmp \
30478 && mv -f "$cfgfile.tmp" "$cfgfile" \
30479 || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
30480 test 0 -eq $? || _lt_function_replace_fail=:
30481
30482 fi
30483
30484 if test x"$lt_shell_append" = xyes; then
30485 sed -e '/^func_append ()$/,/^} # func_append /c\
30486 func_append ()\
30487 {\
30488 eval "${1}+=\\${2}"\
30489 } # Extended-shell func_append implementation' "$cfgfile" > $cfgfile.tmp \
30490 && mv -f "$cfgfile.tmp" "$cfgfile" \
30491 || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
30492 test 0 -eq $? || _lt_function_replace_fail=:
30493
30494
30495 sed -e '/^func_append_quoted ()$/,/^} # func_append_quoted /c\
30496 func_append_quoted ()\
30497 {\
30498 \ func_quote_for_eval "${2}"\
30499 \ eval "${1}+=\\\\ \\$func_quote_for_eval_result"\
30500 } # Extended-shell func_append_quoted implementation' "$cfgfile" > $cfgfile.tmp \
30501 && mv -f "$cfgfile.tmp" "$cfgfile" \
30502 || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
30503 test 0 -eq $? || _lt_function_replace_fail=:
30504
30505
30506 # Save a `func_append' function call where possible by direct use of '+='
30507 sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \
30508 && mv -f "$cfgfile.tmp" "$cfgfile" \
30509 || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
30510 test 0 -eq $? || _lt_function_replace_fail=:
30511 else
30512 # Save a `func_append' function call even when '+=' is not available
30513 sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \
30514 && mv -f "$cfgfile.tmp" "$cfgfile" \
30515 || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
30516 test 0 -eq $? || _lt_function_replace_fail=:
30517 fi
30518
30519 if test x"$_lt_function_replace_fail" = x":"; then
30520 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Unable to substitute extended shell functions in $ofile" >&5
30521 printf "%s\n" "$as_me: WARNING: Unable to substitute extended shell functions in $ofile" >&2;}
30522 fi
30523
30524
30525 mv -f "$cfgfile" "$ofile" ||
30526 (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
30527 chmod +x "$ofile"
30528
30529
30530 cat <<_LT_EOF >> "$ofile"
30531
30532 # ### BEGIN LIBTOOL TAG CONFIG: CXX
30533
30534 # The linker used to build libraries.
30535 LD=$lt_LD_CXX
30536
30537 # How to create reloadable object files.
30538 reload_flag=$lt_reload_flag_CXX
30539 reload_cmds=$lt_reload_cmds_CXX
30540
30541 # Commands used to build an old-style archive.
30542 old_archive_cmds=$lt_old_archive_cmds_CXX
30543
30544 # A language specific compiler.
30545 CC=$lt_compiler_CXX
30546
30547 # Is the compiler the GNU compiler?
30548 with_gcc=$GCC_CXX
30549
30550 # Compiler flag to turn off builtin functions.
30551 no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX
30552
30553 # Additional compiler flags for building library objects.
30554 pic_flag=$lt_lt_prog_compiler_pic_CXX
30555
30556 # How to pass a linker flag through the compiler.
30557 wl=$lt_lt_prog_compiler_wl_CXX
30558
30559 # Compiler flag to prevent dynamic linking.
30560 link_static_flag=$lt_lt_prog_compiler_static_CXX
30561
30562 # Does compiler simultaneously support -c and -o options?
30563 compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX
30564
30565 # Whether or not to add -lc for building shared libraries.
30566 build_libtool_need_lc=$archive_cmds_need_lc_CXX
30567
30568 # Whether or not to disallow shared libs when runtime libs are static.
30569 allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX
30570
30571 # Compiler flag to allow reflexive dlopens.
30572 export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX
30573
30574 # Compiler flag to generate shared objects directly from archives.
30575 whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX
30576
30577 # Whether the compiler copes with passing no objects directly.
30578 compiler_needs_object=$lt_compiler_needs_object_CXX
30579
30580 # Create an old-style archive from a shared archive.
30581 old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX
30582
30583 # Create a temporary old-style archive to link instead of a shared archive.
30584 old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX
30585
30586 # Commands used to build a shared archive.
30587 archive_cmds=$lt_archive_cmds_CXX
30588 archive_expsym_cmds=$lt_archive_expsym_cmds_CXX
30589
30590 # Commands used to build a loadable module if different from building
30591 # a shared archive.
30592 module_cmds=$lt_module_cmds_CXX
30593 module_expsym_cmds=$lt_module_expsym_cmds_CXX
30594
30595 # Whether we are building with GNU ld or not.
30596 with_gnu_ld=$lt_with_gnu_ld_CXX
30597
30598 # Flag that allows shared libraries with undefined symbols to be built.
30599 allow_undefined_flag=$lt_allow_undefined_flag_CXX
30600
30601 # Flag that enforces no undefined symbols.
30602 no_undefined_flag=$lt_no_undefined_flag_CXX
30603
30604 # Flag to hardcode \$libdir into a binary during linking.
30605 # This must work even if \$libdir does not exist
30606 hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX
30607
30608 # Whether we need a single "-rpath" flag with a separated argument.
30609 hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX
30610
30611 # Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
30612 # DIR into the resulting binary.
30613 hardcode_direct=$hardcode_direct_CXX
30614
30615 # Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
30616 # DIR into the resulting binary and the resulting library dependency is
30617 # "absolute",i.e impossible to change by setting \${shlibpath_var} if the
30618 # library is relocated.
30619 hardcode_direct_absolute=$hardcode_direct_absolute_CXX
30620
30621 # Set to "yes" if using the -LDIR flag during linking hardcodes DIR
30622 # into the resulting binary.
30623 hardcode_minus_L=$hardcode_minus_L_CXX
30624
30625 # Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
30626 # into the resulting binary.
30627 hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX
30628
30629 # Set to "yes" if building a shared library automatically hardcodes DIR
30630 # into the library and all subsequent libraries and executables linked
30631 # against it.
30632 hardcode_automatic=$hardcode_automatic_CXX
30633
30634 # Set to yes if linker adds runtime paths of dependent libraries
30635 # to runtime path list.
30636 inherit_rpath=$inherit_rpath_CXX
30637
30638 # Whether libtool must link a program against all its dependency libraries.
30639 link_all_deplibs=$link_all_deplibs_CXX
30640
30641 # Set to "yes" if exported symbols are required.
30642 always_export_symbols=$always_export_symbols_CXX
30643
30644 # The commands to list exported symbols.
30645 export_symbols_cmds=$lt_export_symbols_cmds_CXX
30646
30647 # Symbols that should not be listed in the preloaded symbols.
30648 exclude_expsyms=$lt_exclude_expsyms_CXX
30649
30650 # Symbols that must always be exported.
30651 include_expsyms=$lt_include_expsyms_CXX
30652
30653 # Commands necessary for linking programs (against libraries) with templates.
30654 prelink_cmds=$lt_prelink_cmds_CXX
30655
30656 # Commands necessary for finishing linking programs.
30657 postlink_cmds=$lt_postlink_cmds_CXX
30658
30659 # Specify filename containing input files.
30660 file_list_spec=$lt_file_list_spec_CXX
30661
30662 # How to hardcode a shared library path into an executable.
30663 hardcode_action=$hardcode_action_CXX
30664
30665 # The directories searched by this compiler when creating a shared library.
30666 compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_CXX
30667
30668 # Dependencies to place before and after the objects being linked to
30669 # create a shared library.
30670 predep_objects=$lt_predep_objects_CXX
30671 postdep_objects=$lt_postdep_objects_CXX
30672 predeps=$lt_predeps_CXX
30673 postdeps=$lt_postdeps_CXX
30674
30675 # The library search path used internally by the compiler when linking
30676 # a shared library.
30677 compiler_lib_search_path=$lt_compiler_lib_search_path_CXX
30678
30679 # ### END LIBTOOL TAG CONFIG: CXX
30680 _LT_EOF
30681
30682
30683 cat <<_LT_EOF >> "$ofile"
30684
30685 # ### BEGIN LIBTOOL TAG CONFIG: RC
30686
30687 # The linker used to build libraries.
30688 LD=$lt_LD_RC
30689
30690 # How to create reloadable object files.
30691 reload_flag=$lt_reload_flag_RC
30692 reload_cmds=$lt_reload_cmds_RC
30693
30694 # Commands used to build an old-style archive.
30695 old_archive_cmds=$lt_old_archive_cmds_RC
30696
30697 # A language specific compiler.
30698 CC=$lt_compiler_RC
30699
30700 # Is the compiler the GNU compiler?
30701 with_gcc=$GCC_RC
30702
30703 # Compiler flag to turn off builtin functions.
30704 no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_RC
30705
30706 # Additional compiler flags for building library objects.
30707 pic_flag=$lt_lt_prog_compiler_pic_RC
30708
30709 # How to pass a linker flag through the compiler.
30710 wl=$lt_lt_prog_compiler_wl_RC
30711
30712 # Compiler flag to prevent dynamic linking.
30713 link_static_flag=$lt_lt_prog_compiler_static_RC
30714
30715 # Does compiler simultaneously support -c and -o options?
30716 compiler_c_o=$lt_lt_cv_prog_compiler_c_o_RC
30717
30718 # Whether or not to add -lc for building shared libraries.
30719 build_libtool_need_lc=$archive_cmds_need_lc_RC
30720
30721 # Whether or not to disallow shared libs when runtime libs are static.
30722 allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_RC
30723
30724 # Compiler flag to allow reflexive dlopens.
30725 export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_RC
30726
30727 # Compiler flag to generate shared objects directly from archives.
30728 whole_archive_flag_spec=$lt_whole_archive_flag_spec_RC
30729
30730 # Whether the compiler copes with passing no objects directly.
30731 compiler_needs_object=$lt_compiler_needs_object_RC
30732
30733 # Create an old-style archive from a shared archive.
30734 old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_RC
30735
30736 # Create a temporary old-style archive to link instead of a shared archive.
30737 old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_RC
30738
30739 # Commands used to build a shared archive.
30740 archive_cmds=$lt_archive_cmds_RC
30741 archive_expsym_cmds=$lt_archive_expsym_cmds_RC
30742
30743 # Commands used to build a loadable module if different from building
30744 # a shared archive.
30745 module_cmds=$lt_module_cmds_RC
30746 module_expsym_cmds=$lt_module_expsym_cmds_RC
30747
30748 # Whether we are building with GNU ld or not.
30749 with_gnu_ld=$lt_with_gnu_ld_RC
30750
30751 # Flag that allows shared libraries with undefined symbols to be built.
30752 allow_undefined_flag=$lt_allow_undefined_flag_RC
30753
30754 # Flag that enforces no undefined symbols.
30755 no_undefined_flag=$lt_no_undefined_flag_RC
30756
30757 # Flag to hardcode \$libdir into a binary during linking.
30758 # This must work even if \$libdir does not exist
30759 hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_RC
30760
30761 # Whether we need a single "-rpath" flag with a separated argument.
30762 hardcode_libdir_separator=$lt_hardcode_libdir_separator_RC
30763
30764 # Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
30765 # DIR into the resulting binary.
30766 hardcode_direct=$hardcode_direct_RC
30767
30768 # Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
30769 # DIR into the resulting binary and the resulting library dependency is
30770 # "absolute",i.e impossible to change by setting \${shlibpath_var} if the
30771 # library is relocated.
30772 hardcode_direct_absolute=$hardcode_direct_absolute_RC
30773
30774 # Set to "yes" if using the -LDIR flag during linking hardcodes DIR
30775 # into the resulting binary.
30776 hardcode_minus_L=$hardcode_minus_L_RC
30777
30778 # Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
30779 # into the resulting binary.
30780 hardcode_shlibpath_var=$hardcode_shlibpath_var_RC
30781
30782 # Set to "yes" if building a shared library automatically hardcodes DIR
30783 # into the library and all subsequent libraries and executables linked
30784 # against it.
30785 hardcode_automatic=$hardcode_automatic_RC
30786
30787 # Set to yes if linker adds runtime paths of dependent libraries
30788 # to runtime path list.
30789 inherit_rpath=$inherit_rpath_RC
30790
30791 # Whether libtool must link a program against all its dependency libraries.
30792 link_all_deplibs=$link_all_deplibs_RC
30793
30794 # Set to "yes" if exported symbols are required.
30795 always_export_symbols=$always_export_symbols_RC
30796
30797 # The commands to list exported symbols.
30798 export_symbols_cmds=$lt_export_symbols_cmds_RC
30799
30800 # Symbols that should not be listed in the preloaded symbols.
30801 exclude_expsyms=$lt_exclude_expsyms_RC
30802
30803 # Symbols that must always be exported.
30804 include_expsyms=$lt_include_expsyms_RC
30805
30806 # Commands necessary for linking programs (against libraries) with templates.
30807 prelink_cmds=$lt_prelink_cmds_RC
30808
30809 # Commands necessary for finishing linking programs.
30810 postlink_cmds=$lt_postlink_cmds_RC
30811
30812 # Specify filename containing input files.
30813 file_list_spec=$lt_file_list_spec_RC
30814
30815 # How to hardcode a shared library path into an executable.
30816 hardcode_action=$hardcode_action_RC
30817
30818 # The directories searched by this compiler when creating a shared library.
30819 compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_RC
30820
30821 # Dependencies to place before and after the objects being linked to
30822 # create a shared library.
30823 predep_objects=$lt_predep_objects_RC
30824 postdep_objects=$lt_postdep_objects_RC
30825 predeps=$lt_predeps_RC
30826 postdeps=$lt_postdeps_RC
30827
30828 # The library search path used internally by the compiler when linking
30829 # a shared library.
30830 compiler_lib_search_path=$lt_compiler_lib_search_path_RC
30831
30832 # ### END LIBTOOL TAG CONFIG: RC
30833 _LT_EOF
30834
30835 ;;
30836 "src/gpgme-config":F) chmod +x src/gpgme-config ;;
30837 "lang/python/setup.py":F) chmod a+x lang/python/setup.py ;;
30838
30839 esac
30840 done # for ac_tag
30841
30842
30843 as_fn_exit 0
30844 _ACEOF
30845 ac_clean_files=$ac_clean_files_save
30846
30847 test $ac_write_fail = 0 ||
30848 as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
30849
30850
30851 # configure is writing to config.log, and then calls config.status.
30852 # config.status does its own redirection, appending to config.log.
30853 # Unfortunately, on DOS this fails, as config.log is still kept open
30854 # by configure, so config.status won't be able to write to it; its
30855 # output is simply discarded. So we exec the FD to /dev/null,
30856 # effectively closing config.log, so it can be properly (re)opened and
30857 # appended to by config.status. When coming back to configure, we
30858 # need to make the FD available again.
30859 if test "$no_create" != yes; then
30860 ac_cs_success=:
30861 ac_config_status_args=
30862 test "$silent" = yes &&
30863 ac_config_status_args="$ac_config_status_args --quiet"
30864 exec 5>/dev/null
30865 $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
30866 exec 5>>config.log
30867 # Use ||, not &&, to avoid exiting from the if with $? = 1, which
30868 # would make configure fail if this is the last instruction.
30869 $ac_cs_success || as_fn_exit 1
30870 fi
30871 if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
30872 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
30873 printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
30874 fi
30875
30876
30877 echo "
30878 GPGME v${VERSION} has been configured as follows:
30879
30880 Revision: 0000000 (0)
30881 Platform: $host
30882
30883 UI Server: $uiserver
30884 FD Passing: $use_descriptor_passing
30885
30886 Language bindings: ${enabled_languages_v:-$enabled_languages}
30887 "
30888 if test "x${gpg_config_script_warn}" != x; then
30889 cat <<G10EOF
30890 Mismatches between the target platform and the to
30891 be used libraries have been been detected for:
30892 ${gpg_config_script_warn}
30893 Please check above for warning messages.
30894
30895 G10EOF
30896 fi
30897
3131 m4_define([mym4_package],[gpgme])
3232 m4_define([mym4_major], [1])
3333 m4_define([mym4_minor], [16])
34 m4_define([mym4_micro], [0])
34 m4_define([mym4_micro], [1])
3535
3636 # Below is m4 magic to extract and compute the git revision number,
3737 # the decimalized short revision number, a beta version string and a
542542
543543 # Type checks.
544544 AC_C_INLINE
545 AC_C_FLEXIBLE_ARRAY_MEMBER
545546 AC_CHECK_SIZEOF(unsigned int)
546547 AC_SYS_LARGEFILE
547548 AC_TYPE_OFF_T
0 # Makefile.in generated by automake 1.16.4 from Makefile.am.
1 # @configure_input@
2
3 # Copyright (C) 1994-2021 Free Software Foundation, Inc.
4
5 # This Makefile.in is free software; the Free Software Foundation
6 # gives unlimited permission to copy and/or distribute it,
7 # with or without modifications, as long as this notice is preserved.
8
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
11 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
12 # PARTICULAR PURPOSE.
13
14 @SET_MAKE@
15
16 # doc - Automake template
17 # Copyright (C) 2001, 2004 g10 Code GmbH
18 #
19 # This file is part of GPGME.
20 #
21 # GPGME is free software; you can redistribute it and/or modify it
22 # under the terms of the GNU Lesser General Public License as
23 # published by the Free Software Foundation; either version 2.1 of the
24 # License, or (at your option) any later version.
25 #
26 # GPGME is distributed in the hope that it will be useful, but WITHOUT
27 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
28 # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General
29 # Public License for more details.
30 #
31 # You should have received a copy of the GNU Lesser General Public
32 # License along with this program; if not, see <https://gnu.org/licenses/>.
33 # SPDX-License-Identifier: LGPL-2.1-or-later
34 VPATH = @srcdir@
35 am__is_gnu_make = { \
36 if test -z '$(MAKELEVEL)'; then \
37 false; \
38 elif test -n '$(MAKE_HOST)'; then \
39 true; \
40 elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
41 true; \
42 else \
43 false; \
44 fi; \
45 }
46 am__make_running_with_option = \
47 case $${target_option-} in \
48 ?) ;; \
49 *) echo "am__make_running_with_option: internal error: invalid" \
50 "target option '$${target_option-}' specified" >&2; \
51 exit 1;; \
52 esac; \
53 has_opt=no; \
54 sane_makeflags=$$MAKEFLAGS; \
55 if $(am__is_gnu_make); then \
56 sane_makeflags=$$MFLAGS; \
57 else \
58 case $$MAKEFLAGS in \
59 *\\[\ \ ]*) \
60 bs=\\; \
61 sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
62 | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
63 esac; \
64 fi; \
65 skip_next=no; \
66 strip_trailopt () \
67 { \
68 flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
69 }; \
70 for flg in $$sane_makeflags; do \
71 test $$skip_next = yes && { skip_next=no; continue; }; \
72 case $$flg in \
73 *=*|--*) continue;; \
74 -*I) strip_trailopt 'I'; skip_next=yes;; \
75 -*I?*) strip_trailopt 'I';; \
76 -*O) strip_trailopt 'O'; skip_next=yes;; \
77 -*O?*) strip_trailopt 'O';; \
78 -*l) strip_trailopt 'l'; skip_next=yes;; \
79 -*l?*) strip_trailopt 'l';; \
80 -[dEDm]) skip_next=yes;; \
81 -[JT]) skip_next=yes;; \
82 esac; \
83 case $$flg in \
84 *$$target_option*) has_opt=yes; break;; \
85 esac; \
86 done; \
87 test $$has_opt = yes
88 am__make_dryrun = (target_option=n; $(am__make_running_with_option))
89 am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
90 pkgdatadir = $(datadir)/@PACKAGE@
91 pkgincludedir = $(includedir)/@PACKAGE@
92 pkglibdir = $(libdir)/@PACKAGE@
93 pkglibexecdir = $(libexecdir)/@PACKAGE@
94 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
95 install_sh_DATA = $(install_sh) -c -m 644
96 install_sh_PROGRAM = $(install_sh) -c
97 install_sh_SCRIPT = $(install_sh) -c
98 INSTALL_HEADER = $(INSTALL_DATA)
99 transform = $(program_transform_name)
100 NORMAL_INSTALL = :
101 PRE_INSTALL = :
102 POST_INSTALL = :
103 NORMAL_UNINSTALL = :
104 PRE_UNINSTALL = :
105 POST_UNINSTALL = :
106 build_triplet = @build@
107 host_triplet = @host@
108 subdir = doc
109 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
110 am__aclocal_m4_deps = $(top_srcdir)/m4/ax_cxx_compile_stdcxx.m4 \
111 $(top_srcdir)/m4/ax_pkg_swig.m4 \
112 $(top_srcdir)/m4/ax_python_devel.m4 \
113 $(top_srcdir)/m4/glib-2.0.m4 $(top_srcdir)/m4/glibc21.m4 \
114 $(top_srcdir)/m4/gnupg-ttyname.m4 \
115 $(top_srcdir)/m4/gpg-error.m4 $(top_srcdir)/m4/libassuan.m4 \
116 $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
117 $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
118 $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/pkg.m4 \
119 $(top_srcdir)/m4/python.m4 $(top_srcdir)/m4/qt.m4 \
120 $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
121 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
122 $(ACLOCAL_M4)
123 DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
124 mkinstalldirs = $(SHELL) $(top_srcdir)/build-aux/mkinstalldirs
125 CONFIG_HEADER = $(top_builddir)/conf/config.h
126 CONFIG_CLEAN_FILES =
127 CONFIG_CLEAN_VPATH_FILES =
128 AM_V_P = $(am__v_P_@AM_V@)
129 am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
130 am__v_P_0 = false
131 am__v_P_1 = :
132 AM_V_GEN = $(am__v_GEN_@AM_V@)
133 am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
134 am__v_GEN_0 = @echo " GEN " $@;
135 am__v_GEN_1 =
136 AM_V_at = $(am__v_at_@AM_V@)
137 am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
138 am__v_at_0 = @
139 am__v_at_1 =
140 SOURCES =
141 DIST_SOURCES =
142 AM_V_DVIPS = $(am__v_DVIPS_@AM_V@)
143 am__v_DVIPS_ = $(am__v_DVIPS_@AM_DEFAULT_V@)
144 am__v_DVIPS_0 = @echo " DVIPS " $@;
145 am__v_DVIPS_1 =
146 AM_V_MAKEINFO = $(am__v_MAKEINFO_@AM_V@)
147 am__v_MAKEINFO_ = $(am__v_MAKEINFO_@AM_DEFAULT_V@)
148 am__v_MAKEINFO_0 = @echo " MAKEINFO" $@;
149 am__v_MAKEINFO_1 =
150 AM_V_INFOHTML = $(am__v_INFOHTML_@AM_V@)
151 am__v_INFOHTML_ = $(am__v_INFOHTML_@AM_DEFAULT_V@)
152 am__v_INFOHTML_0 = @echo " INFOHTML" $@;
153 am__v_INFOHTML_1 =
154 AM_V_TEXI2DVI = $(am__v_TEXI2DVI_@AM_V@)
155 am__v_TEXI2DVI_ = $(am__v_TEXI2DVI_@AM_DEFAULT_V@)
156 am__v_TEXI2DVI_0 = @echo " TEXI2DVI" $@;
157 am__v_TEXI2DVI_1 =
158 AM_V_TEXI2PDF = $(am__v_TEXI2PDF_@AM_V@)
159 am__v_TEXI2PDF_ = $(am__v_TEXI2PDF_@AM_DEFAULT_V@)
160 am__v_TEXI2PDF_0 = @echo " TEXI2PDF" $@;
161 am__v_TEXI2PDF_1 =
162 AM_V_texinfo = $(am__v_texinfo_@AM_V@)
163 am__v_texinfo_ = $(am__v_texinfo_@AM_DEFAULT_V@)
164 am__v_texinfo_0 = -q
165 am__v_texinfo_1 =
166 AM_V_texidevnull = $(am__v_texidevnull_@AM_V@)
167 am__v_texidevnull_ = $(am__v_texidevnull_@AM_DEFAULT_V@)
168 am__v_texidevnull_0 = > /dev/null
169 am__v_texidevnull_1 =
170 INFO_DEPS = $(srcdir)/gpgme.info
171 TEXINFO_TEX = $(top_srcdir)/build-aux/texinfo.tex
172 am__TEXINFO_TEX_DIR = $(top_srcdir)/build-aux
173 DVIS = gpgme.dvi
174 PDFS = gpgme.pdf
175 PSS = gpgme.ps
176 HTMLS = gpgme.html
177 TEXINFOS = gpgme.texi
178 TEXI2DVI = texi2dvi
179 TEXI2PDF = $(TEXI2DVI) --pdf --batch
180 MAKEINFOHTML = $(MAKEINFO) --html
181 AM_MAKEINFOHTMLFLAGS = $(AM_MAKEINFOFLAGS)
182 DVIPS = dvips
183 am__can_run_installinfo = \
184 case $$AM_UPDATE_INFO_DIR in \
185 n|no|NO) false;; \
186 *) (install-info --version) >/dev/null 2>&1;; \
187 esac
188 am__installdirs = "$(DESTDIR)$(infodir)"
189 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
190 am__vpath_adj = case $$p in \
191 $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
192 *) f=$$p;; \
193 esac;
194 am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
195 am__install_max = 40
196 am__nobase_strip_setup = \
197 srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
198 am__nobase_strip = \
199 for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
200 am__nobase_list = $(am__nobase_strip_setup); \
201 for p in $$list; do echo "$$p $$p"; done | \
202 sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
203 $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
204 if (++n[$$2] == $(am__install_max)) \
205 { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
206 END { for (dir in files) print dir, files[dir] }'
207 am__base_list = \
208 sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
209 sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
210 am__uninstall_files_from_dir = { \
211 test -z "$$files" \
212 || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
213 || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
214 $(am__cd) "$$dir" && rm -f $$files; }; \
215 }
216 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
217 am__DIST_COMMON = $(gpgme_TEXINFOS) $(srcdir)/Makefile.in \
218 $(top_srcdir)/build-aux/mkinstalldirs \
219 $(top_srcdir)/build-aux/texinfo.tex mdate-sh texinfo.tex
220 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
221 ACLOCAL = @ACLOCAL@
222 AMTAR = @AMTAR@
223 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
224 AR = @AR@
225 AS = @AS@
226 AUTOCONF = @AUTOCONF@
227 AUTOHEADER = @AUTOHEADER@
228 AUTOMAKE = @AUTOMAKE@
229 AWK = @AWK@
230 BUILD_FILEVERSION = @BUILD_FILEVERSION@
231 BUILD_REVISION = @BUILD_REVISION@
232 BUILD_TIMESTAMP = @BUILD_TIMESTAMP@
233 BUILD_VERSION = @BUILD_VERSION@
234 CC = @CC@
235 CCDEPMODE = @CCDEPMODE@
236 CC_FOR_BUILD = @CC_FOR_BUILD@
237 CFLAGS = @CFLAGS@
238 CPP = @CPP@
239 CPPFLAGS = @CPPFLAGS@
240 CSCOPE = @CSCOPE@
241 CTAGS = @CTAGS@
242 CXX = @CXX@
243 CXXCPP = @CXXCPP@
244 CXXDEPMODE = @CXXDEPMODE@
245 CXXFLAGS = @CXXFLAGS@
246 CYGPATH_W = @CYGPATH_W@
247 DEFS = @DEFS@
248 DEPDIR = @DEPDIR@
249 DLLTOOL = @DLLTOOL@
250 DOXYGEN = @DOXYGEN@
251 DSYMUTIL = @DSYMUTIL@
252 DUMPBIN = @DUMPBIN@
253 ECHO_C = @ECHO_C@
254 ECHO_N = @ECHO_N@
255 ECHO_T = @ECHO_T@
256 EGREP = @EGREP@
257 ENABLED_LANGUAGES = @ENABLED_LANGUAGES@
258 ETAGS = @ETAGS@
259 EXEEXT = @EXEEXT@
260 FGREP = @FGREP@
261 GITLOG_TO_CHANGELOG = @GITLOG_TO_CHANGELOG@
262 GLIBC21 = @GLIBC21@
263 GLIB_CFLAGS = @GLIB_CFLAGS@
264 GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
265 GLIB_LIBS = @GLIB_LIBS@
266 GLIB_MKENUMS = @GLIB_MKENUMS@
267 GOBJECT_QUERY = @GOBJECT_QUERY@
268 GPGME_CONFIG_API_VERSION = @GPGME_CONFIG_API_VERSION@
269 GPGME_CONFIG_AVAIL_LANG = @GPGME_CONFIG_AVAIL_LANG@
270 GPGME_CONFIG_CFLAGS = @GPGME_CONFIG_CFLAGS@
271 GPGME_CONFIG_HOST = @GPGME_CONFIG_HOST@
272 GPGME_CONFIG_LIBS = @GPGME_CONFIG_LIBS@
273 GPGME_QTTEST_CFLAGS = @GPGME_QTTEST_CFLAGS@
274 GPGME_QTTEST_LIBS = @GPGME_QTTEST_LIBS@
275 GPGME_QT_CFLAGS = @GPGME_QT_CFLAGS@
276 GPGME_QT_LIBS = @GPGME_QT_LIBS@
277 GPGRT_CONFIG = @GPGRT_CONFIG@
278 GPG_ERROR_CFLAGS = @GPG_ERROR_CFLAGS@
279 GPG_ERROR_CONFIG = @GPG_ERROR_CONFIG@
280 GPG_ERROR_LIBS = @GPG_ERROR_LIBS@
281 GPG_ERROR_MT_CFLAGS = @GPG_ERROR_MT_CFLAGS@
282 GPG_ERROR_MT_LIBS = @GPG_ERROR_MT_LIBS@
283 GRAPHVIZ = @GRAPHVIZ@
284 GREP = @GREP@
285 HAVE_CXX11 = @HAVE_CXX11@
286 HAVE_DOT = @HAVE_DOT@
287 INSTALL = @INSTALL@
288 INSTALL_DATA = @INSTALL_DATA@
289 INSTALL_PROGRAM = @INSTALL_PROGRAM@
290 INSTALL_SCRIPT = @INSTALL_SCRIPT@
291 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
292 LD = @LD@
293 LDADD_FOR_TESTS_KLUDGE = @LDADD_FOR_TESTS_KLUDGE@
294 LDFLAGS = @LDFLAGS@
295 LIBASSUAN_CFLAGS = @LIBASSUAN_CFLAGS@
296 LIBASSUAN_CONFIG = @LIBASSUAN_CONFIG@
297 LIBASSUAN_LIBS = @LIBASSUAN_LIBS@
298 LIBGPGMEPP_LT_AGE = @LIBGPGMEPP_LT_AGE@
299 LIBGPGMEPP_LT_CURRENT = @LIBGPGMEPP_LT_CURRENT@
300 LIBGPGMEPP_LT_REVISION = @LIBGPGMEPP_LT_REVISION@
301 LIBGPGME_LT_AGE = @LIBGPGME_LT_AGE@
302 LIBGPGME_LT_CURRENT = @LIBGPGME_LT_CURRENT@
303 LIBGPGME_LT_REVISION = @LIBGPGME_LT_REVISION@
304 LIBOBJS = @LIBOBJS@
305 LIBQGPGME_LT_AGE = @LIBQGPGME_LT_AGE@
306 LIBQGPGME_LT_CURRENT = @LIBQGPGME_LT_CURRENT@
307 LIBQGPGME_LT_REVISION = @LIBQGPGME_LT_REVISION@
308 LIBS = @LIBS@
309 LIBTOOL = @LIBTOOL@
310 LIPO = @LIPO@
311 LN_S = @LN_S@
312 LTLIBOBJS = @LTLIBOBJS@
313 MAINT = @MAINT@
314 MAKEINFO = @MAKEINFO@
315 MANIFEST_TOOL = @MANIFEST_TOOL@
316 MKDIR_P = @MKDIR_P@
317 MOC = @MOC@
318 MOC2 = @MOC2@
319 NEED__FILE_OFFSET_BITS = @NEED__FILE_OFFSET_BITS@
320 NM = @NM@
321 NMEDIT = @NMEDIT@
322 OBJDUMP = @OBJDUMP@
323 OBJEXT = @OBJEXT@
324 OTOOL = @OTOOL@
325 OTOOL64 = @OTOOL64@
326 PACKAGE = @PACKAGE@
327 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
328 PACKAGE_NAME = @PACKAGE_NAME@
329 PACKAGE_STRING = @PACKAGE_STRING@
330 PACKAGE_TARNAME = @PACKAGE_TARNAME@
331 PACKAGE_URL = @PACKAGE_URL@
332 PACKAGE_VERSION = @PACKAGE_VERSION@
333 PATH_SEPARATOR = @PATH_SEPARATOR@
334 PKG_CONFIG = @PKG_CONFIG@
335 PYTHON = @PYTHON@
336 PYTHONS = @PYTHONS@
337 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
338 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
339 PYTHON_EXTRA_LDFLAGS = @PYTHON_EXTRA_LDFLAGS@
340 PYTHON_EXTRA_LIBS = @PYTHON_EXTRA_LIBS@
341 PYTHON_LDFLAGS = @PYTHON_LDFLAGS@
342 PYTHON_PLATFORM = @PYTHON_PLATFORM@
343 PYTHON_PREFIX = @PYTHON_PREFIX@
344 PYTHON_SITE_PKG = @PYTHON_SITE_PKG@
345 PYTHON_VERSION = @PYTHON_VERSION@
346 QTCHOOSER = @QTCHOOSER@
347 RANLIB = @RANLIB@
348 RC = @RC@
349 SED = @SED@
350 SET_MAKE = @SET_MAKE@
351 SHELL = @SHELL@
352 STRIP = @STRIP@
353 SWIG = @SWIG@
354 SWIG_LIB = @SWIG_LIB@
355 SYSROOT = @SYSROOT@
356 VERSION = @VERSION@
357 VERSION_MAJOR = @VERSION_MAJOR@
358 VERSION_MICRO = @VERSION_MICRO@
359 VERSION_MINOR = @VERSION_MINOR@
360 VERSION_NUMBER = @VERSION_NUMBER@
361 abs_builddir = @abs_builddir@
362 abs_srcdir = @abs_srcdir@
363 abs_top_builddir = @abs_top_builddir@
364 abs_top_srcdir = @abs_top_srcdir@
365 ac_ct_AR = @ac_ct_AR@
366 ac_ct_CC = @ac_ct_CC@
367 ac_ct_CXX = @ac_ct_CXX@
368 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
369 am__include = @am__include@
370 am__leading_dot = @am__leading_dot@
371 am__quote = @am__quote@
372 am__tar = @am__tar@
373 am__untar = @am__untar@
374 bindir = @bindir@
375 build = @build@
376 build_alias = @build_alias@
377 build_cpu = @build_cpu@
378 build_os = @build_os@
379 build_vendor = @build_vendor@
380 builddir = @builddir@
381 datadir = @datadir@
382 datarootdir = @datarootdir@
383 docdir = @docdir@
384 dvidir = @dvidir@
385 emacs_local_vars_begin = @emacs_local_vars_begin@
386 emacs_local_vars_end = @emacs_local_vars_end@
387 emacs_local_vars_read_only = @emacs_local_vars_read_only@
388 exec_prefix = @exec_prefix@
389 host = @host@
390 host_alias = @host_alias@
391 host_cpu = @host_cpu@
392 host_os = @host_os@
393 host_vendor = @host_vendor@
394 htmldir = @htmldir@
395 includedir = @includedir@
396 infodir = @infodir@
397 install_sh = @install_sh@
398 libdir = @libdir@
399 libexecdir = @libexecdir@
400 localedir = @localedir@
401 localstatedir = @localstatedir@
402 mandir = @mandir@
403 mkdir_p = @mkdir_p@
404 oldincludedir = @oldincludedir@
405 pdfdir = @pdfdir@
406 pkgpyexecdir = @pkgpyexecdir@
407 pkgpythondir = @pkgpythondir@
408 prefix = @prefix@
409 program_transform_name = @program_transform_name@
410 psdir = @psdir@
411 pyexecdir = @pyexecdir@
412 pythondir = @pythondir@
413 runstatedir = @runstatedir@
414 sbindir = @sbindir@
415 sharedstatedir = @sharedstatedir@
416 srcdir = @srcdir@
417 sysconfdir = @sysconfdir@
418 target_alias = @target_alias@
419 top_build_prefix = @top_build_prefix@
420 top_builddir = @top_builddir@
421 top_srcdir = @top_srcdir@
422 DISTCLEANFILES = gpgme.tmp
423 CLEANFILES = mkdefsinc defs.inc
424 EXTRA_DIST = module-overview.sk HACKING DCO ChangeLog-2011 \
425 mkdefsinc.c defsincdate \
426 examples/gpgme-mozilla.json examples/gpgme-chrome.json
427
428 BUILT_SOURCES = defsincdate defs.inc
429 info_TEXINFOS = gpgme.texi
430 gpgme_TEXINFOS = uiserver.texi lesser.texi gpl.texi
431 all: $(BUILT_SOURCES)
432 $(MAKE) $(AM_MAKEFLAGS) all-am
433
434 .SUFFIXES:
435 .SUFFIXES: .dvi .html .info .pdf .ps .texi
436 $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
437 @for dep in $?; do \
438 case '$(am__configure_deps)' in \
439 *$$dep*) \
440 ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
441 && { if test -f $@; then exit 0; else break; fi; }; \
442 exit 1;; \
443 esac; \
444 done; \
445 echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/Makefile'; \
446 $(am__cd) $(top_srcdir) && \
447 $(AUTOMAKE) --gnu doc/Makefile
448 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
449 @case '$?' in \
450 *config.status*) \
451 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
452 *) \
453 echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
454 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
455 esac;
456
457 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
458 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
459
460 $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
461 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
462 $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
463 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
464 $(am__aclocal_m4_deps):
465
466 mostlyclean-libtool:
467 -rm -f *.lo
468
469 clean-libtool:
470 -rm -rf .libs _libs
471
472 .texi.info:
473 $(AM_V_MAKEINFO)restore=: && backupdir="$(am__leading_dot)am$$$$" && \
474 am__cwd=`pwd` && $(am__cd) $(srcdir) && \
475 rm -rf $$backupdir && mkdir $$backupdir && \
476 if ($(MAKEINFO) --version) >/dev/null 2>&1; then \
477 for f in $@ $@-[0-9] $@-[0-9][0-9] $(@:.info=).i[0-9] $(@:.info=).i[0-9][0-9]; do \
478 if test -f $$f; then mv $$f $$backupdir; restore=mv; else :; fi; \
479 done; \
480 else :; fi && \
481 cd "$$am__cwd"; \
482 if $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \
483 -o $@ $<; \
484 then \
485 rc=0; \
486 $(am__cd) $(srcdir); \
487 else \
488 rc=$$?; \
489 $(am__cd) $(srcdir) && \
490 $$restore $$backupdir/* `echo "./$@" | sed 's|[^/]*$$||'`; \
491 fi; \
492 rm -rf $$backupdir; exit $$rc
493
494 .texi.dvi:
495 $(AM_V_TEXI2DVI)TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
496 MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \
497 $(TEXI2DVI) $(AM_V_texinfo) --build-dir=$(@:.dvi=.t2d) -o $@ $(AM_V_texidevnull) \
498 $<
499
500 .texi.pdf:
501 $(AM_V_TEXI2PDF)TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
502 MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \
503 $(TEXI2PDF) $(AM_V_texinfo) --build-dir=$(@:.pdf=.t2p) -o $@ $(AM_V_texidevnull) \
504 $<
505
506 .texi.html:
507 $(AM_V_MAKEINFO)rm -rf $(@:.html=.htp)
508 $(AM_V_at)if $(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \
509 -o $(@:.html=.htp) $<; \
510 then \
511 rm -rf $@ && mv $(@:.html=.htp) $@; \
512 else \
513 rm -rf $(@:.html=.htp); exit 1; \
514 fi
515 $(srcdir)/gpgme.info: gpgme.texi $(gpgme_TEXINFOS)
516 gpgme.dvi: gpgme.texi $(gpgme_TEXINFOS)
517 gpgme.pdf: gpgme.texi $(gpgme_TEXINFOS)
518 gpgme.html: gpgme.texi $(gpgme_TEXINFOS)
519 .dvi.ps:
520 $(AM_V_DVIPS)TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
521 $(DVIPS) $(AM_V_texinfo) -o $@ $<
522
523 uninstall-dvi-am:
524 @$(NORMAL_UNINSTALL)
525 @list='$(DVIS)'; test -n "$(dvidir)" || list=; \
526 for p in $$list; do \
527 $(am__strip_dir) \
528 echo " rm -f '$(DESTDIR)$(dvidir)/$$f'"; \
529 rm -f "$(DESTDIR)$(dvidir)/$$f"; \
530 done
531
532 uninstall-html-am:
533 @$(NORMAL_UNINSTALL)
534 @list='$(HTMLS)'; test -n "$(htmldir)" || list=; \
535 for p in $$list; do \
536 $(am__strip_dir) \
537 echo " rm -rf '$(DESTDIR)$(htmldir)/$$f'"; \
538 rm -rf "$(DESTDIR)$(htmldir)/$$f"; \
539 done
540
541 uninstall-info-am:
542 @$(PRE_UNINSTALL)
543 @if test -d '$(DESTDIR)$(infodir)' && $(am__can_run_installinfo); then \
544 list='$(INFO_DEPS)'; \
545 for file in $$list; do \
546 relfile=`echo "$$file" | sed 's|^.*/||'`; \
547 echo " install-info --info-dir='$(DESTDIR)$(infodir)' --remove '$(DESTDIR)$(infodir)/$$relfile'"; \
548 if install-info --info-dir="$(DESTDIR)$(infodir)" --remove "$(DESTDIR)$(infodir)/$$relfile"; \
549 then :; else test ! -f "$(DESTDIR)$(infodir)/$$relfile" || exit 1; fi; \
550 done; \
551 else :; fi
552 @$(NORMAL_UNINSTALL)
553 @list='$(INFO_DEPS)'; \
554 for file in $$list; do \
555 relfile=`echo "$$file" | sed 's|^.*/||'`; \
556 relfile_i=`echo "$$relfile" | sed 's|\.info$$||;s|$$|.i|'`; \
557 (if test -d "$(DESTDIR)$(infodir)" && cd "$(DESTDIR)$(infodir)"; then \
558 echo " cd '$(DESTDIR)$(infodir)' && rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]"; \
559 rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]; \
560 else :; fi); \
561 done
562
563 uninstall-pdf-am:
564 @$(NORMAL_UNINSTALL)
565 @list='$(PDFS)'; test -n "$(pdfdir)" || list=; \
566 for p in $$list; do \
567 $(am__strip_dir) \
568 echo " rm -f '$(DESTDIR)$(pdfdir)/$$f'"; \
569 rm -f "$(DESTDIR)$(pdfdir)/$$f"; \
570 done
571
572 uninstall-ps-am:
573 @$(NORMAL_UNINSTALL)
574 @list='$(PSS)'; test -n "$(psdir)" || list=; \
575 for p in $$list; do \
576 $(am__strip_dir) \
577 echo " rm -f '$(DESTDIR)$(psdir)/$$f'"; \
578 rm -f "$(DESTDIR)$(psdir)/$$f"; \
579 done
580
581 dist-info: $(INFO_DEPS)
582 @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
583 list='$(INFO_DEPS)'; \
584 for base in $$list; do \
585 case $$base in \
586 $(srcdir)/*) base=`echo "$$base" | sed "s|^$$srcdirstrip/||"`;; \
587 esac; \
588 if test -f $$base; then d=.; else d=$(srcdir); fi; \
589 base_i=`echo "$$base" | sed 's|\.info$$||;s|$$|.i|'`; \
590 for file in $$d/$$base $$d/$$base-[0-9] $$d/$$base-[0-9][0-9] $$d/$$base_i[0-9] $$d/$$base_i[0-9][0-9]; do \
591 if test -f $$file; then \
592 relfile=`expr "$$file" : "$$d/\(.*\)"`; \
593 test -f "$(distdir)/$$relfile" || \
594 cp -p $$file "$(distdir)/$$relfile"; \
595 else :; fi; \
596 done; \
597 done
598
599 mostlyclean-aminfo:
600 -rm -rf gpgme.t2d gpgme.t2p
601
602 clean-aminfo:
603 -test -z "gpgme.dvi gpgme.pdf gpgme.ps gpgme.html" \
604 || rm -rf gpgme.dvi gpgme.pdf gpgme.ps gpgme.html
605
606 maintainer-clean-aminfo:
607 @list='$(INFO_DEPS)'; for i in $$list; do \
608 i_i=`echo "$$i" | sed 's|\.info$$||;s|$$|.i|'`; \
609 echo " rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]"; \
610 rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]; \
611 done
612 tags TAGS:
613
614 ctags CTAGS:
615
616 cscope cscopelist:
617
618 distdir: $(BUILT_SOURCES)
619 $(MAKE) $(AM_MAKEFLAGS) distdir-am
620
621 distdir-am: $(DISTFILES)
622 @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
623 topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
624 list='$(DISTFILES)'; \
625 dist_files=`for file in $$list; do echo $$file; done | \
626 sed -e "s|^$$srcdirstrip/||;t" \
627 -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
628 case $$dist_files in \
629 */*) $(MKDIR_P) `echo "$$dist_files" | \
630 sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
631 sort -u` ;; \
632 esac; \
633 for file in $$dist_files; do \
634 if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
635 if test -d $$d/$$file; then \
636 dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
637 if test -d "$(distdir)/$$file"; then \
638 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
639 fi; \
640 if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
641 cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
642 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
643 fi; \
644 cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
645 else \
646 test -f "$(distdir)/$$file" \
647 || cp -p $$d/$$file "$(distdir)/$$file" \
648 || exit 1; \
649 fi; \
650 done
651 $(MAKE) $(AM_MAKEFLAGS) \
652 top_distdir="$(top_distdir)" distdir="$(distdir)" \
653 dist-info dist-hook
654 check-am: all-am
655 check: $(BUILT_SOURCES)
656 $(MAKE) $(AM_MAKEFLAGS) check-am
657 all-am: Makefile $(INFO_DEPS)
658 installdirs:
659 for dir in "$(DESTDIR)$(infodir)"; do \
660 test -z "$$dir" || $(MKDIR_P) "$$dir"; \
661 done
662 install: $(BUILT_SOURCES)
663 $(MAKE) $(AM_MAKEFLAGS) install-am
664 install-exec: $(BUILT_SOURCES)
665 $(MAKE) $(AM_MAKEFLAGS) install-exec-am
666 install-data: install-data-am
667 uninstall: uninstall-am
668
669 install-am: all-am
670 @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
671
672 installcheck: installcheck-am
673 install-strip:
674 if test -z '$(STRIP)'; then \
675 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
676 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
677 install; \
678 else \
679 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
680 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
681 "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
682 fi
683 mostlyclean-generic:
684
685 clean-generic:
686 -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
687
688 distclean-generic:
689 -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
690 -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
691 -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
692
693 maintainer-clean-generic:
694 @echo "This command is intended for maintainers to use"
695 @echo "it deletes files that may require special tools to rebuild."
696 -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
697 clean: clean-am
698
699 clean-am: clean-aminfo clean-generic clean-libtool mostlyclean-am
700
701 distclean: distclean-am
702 -rm -f Makefile
703 distclean-am: clean-am distclean-generic
704
705 dvi: dvi-am
706
707 dvi-am: $(DVIS)
708
709 html: html-am
710
711 html-am: $(HTMLS)
712
713 info: info-am
714
715 info-am: $(INFO_DEPS)
716
717 install-data-am: install-info-am
718
719 install-dvi: install-dvi-am
720
721 install-dvi-am: $(DVIS)
722 @$(NORMAL_INSTALL)
723 @list='$(DVIS)'; test -n "$(dvidir)" || list=; \
724 if test -n "$$list"; then \
725 echo " $(MKDIR_P) '$(DESTDIR)$(dvidir)'"; \
726 $(MKDIR_P) "$(DESTDIR)$(dvidir)" || exit 1; \
727 fi; \
728 for p in $$list; do \
729 if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
730 echo "$$d$$p"; \
731 done | $(am__base_list) | \
732 while read files; do \
733 echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(dvidir)'"; \
734 $(INSTALL_DATA) $$files "$(DESTDIR)$(dvidir)" || exit $$?; \
735 done
736 install-exec-am:
737
738 install-html: install-html-am
739
740 install-html-am: $(HTMLS)
741 @$(NORMAL_INSTALL)
742 @list='$(HTMLS)'; list2=; test -n "$(htmldir)" || list=; \
743 if test -n "$$list"; then \
744 echo " $(MKDIR_P) '$(DESTDIR)$(htmldir)'"; \
745 $(MKDIR_P) "$(DESTDIR)$(htmldir)" || exit 1; \
746 fi; \
747 for p in $$list; do \
748 if test -f "$$p" || test -d "$$p"; then d=; else d="$(srcdir)/"; fi; \
749 $(am__strip_dir) \
750 d2=$$d$$p; \
751 if test -d "$$d2"; then \
752 echo " $(MKDIR_P) '$(DESTDIR)$(htmldir)/$$f'"; \
753 $(MKDIR_P) "$(DESTDIR)$(htmldir)/$$f" || exit 1; \
754 echo " $(INSTALL_DATA) '$$d2'/* '$(DESTDIR)$(htmldir)/$$f'"; \
755 $(INSTALL_DATA) "$$d2"/* "$(DESTDIR)$(htmldir)/$$f" || exit $$?; \
756 else \
757 list2="$$list2 $$d2"; \
758 fi; \
759 done; \
760 test -z "$$list2" || { echo "$$list2" | $(am__base_list) | \
761 while read files; do \
762 echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(htmldir)'"; \
763 $(INSTALL_DATA) $$files "$(DESTDIR)$(htmldir)" || exit $$?; \
764 done; }
765 install-info: install-info-am
766
767 install-info-am: $(INFO_DEPS)
768 @$(NORMAL_INSTALL)
769 @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
770 list='$(INFO_DEPS)'; test -n "$(infodir)" || list=; \
771 if test -n "$$list"; then \
772 echo " $(MKDIR_P) '$(DESTDIR)$(infodir)'"; \
773 $(MKDIR_P) "$(DESTDIR)$(infodir)" || exit 1; \
774 fi; \
775 for file in $$list; do \
776 case $$file in \
777 $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
778 esac; \
779 if test -f $$file; then d=.; else d=$(srcdir); fi; \
780 file_i=`echo "$$file" | sed 's|\.info$$||;s|$$|.i|'`; \
781 for ifile in $$d/$$file $$d/$$file-[0-9] $$d/$$file-[0-9][0-9] \
782 $$d/$$file_i[0-9] $$d/$$file_i[0-9][0-9] ; do \
783 if test -f $$ifile; then \
784 echo "$$ifile"; \
785 else : ; fi; \
786 done; \
787 done | $(am__base_list) | \
788 while read files; do \
789 echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(infodir)'"; \
790 $(INSTALL_DATA) $$files "$(DESTDIR)$(infodir)" || exit $$?; done
791 @$(POST_INSTALL)
792 @if $(am__can_run_installinfo); then \
793 list='$(INFO_DEPS)'; test -n "$(infodir)" || list=; \
794 for file in $$list; do \
795 relfile=`echo "$$file" | sed 's|^.*/||'`; \
796 echo " install-info --info-dir='$(DESTDIR)$(infodir)' '$(DESTDIR)$(infodir)/$$relfile'";\
797 install-info --info-dir="$(DESTDIR)$(infodir)" "$(DESTDIR)$(infodir)/$$relfile" || :;\
798 done; \
799 else : ; fi
800 install-man:
801
802 install-pdf: install-pdf-am
803
804 install-pdf-am: $(PDFS)
805 @$(NORMAL_INSTALL)
806 @list='$(PDFS)'; test -n "$(pdfdir)" || list=; \
807 if test -n "$$list"; then \
808 echo " $(MKDIR_P) '$(DESTDIR)$(pdfdir)'"; \
809 $(MKDIR_P) "$(DESTDIR)$(pdfdir)" || exit 1; \
810 fi; \
811 for p in $$list; do \
812 if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
813 echo "$$d$$p"; \
814 done | $(am__base_list) | \
815 while read files; do \
816 echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pdfdir)'"; \
817 $(INSTALL_DATA) $$files "$(DESTDIR)$(pdfdir)" || exit $$?; done
818 install-ps: install-ps-am
819
820 install-ps-am: $(PSS)
821 @$(NORMAL_INSTALL)
822 @list='$(PSS)'; test -n "$(psdir)" || list=; \
823 if test -n "$$list"; then \
824 echo " $(MKDIR_P) '$(DESTDIR)$(psdir)'"; \
825 $(MKDIR_P) "$(DESTDIR)$(psdir)" || exit 1; \
826 fi; \
827 for p in $$list; do \
828 if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
829 echo "$$d$$p"; \
830 done | $(am__base_list) | \
831 while read files; do \
832 echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(psdir)'"; \
833 $(INSTALL_DATA) $$files "$(DESTDIR)$(psdir)" || exit $$?; done
834 installcheck-am:
835
836 maintainer-clean: maintainer-clean-am
837 -rm -f Makefile
838 maintainer-clean-am: distclean-am maintainer-clean-aminfo \
839 maintainer-clean-generic
840
841 mostlyclean: mostlyclean-am
842
843 mostlyclean-am: mostlyclean-aminfo mostlyclean-generic \
844 mostlyclean-libtool
845
846 pdf: pdf-am
847
848 pdf-am: $(PDFS)
849
850 ps: ps-am
851
852 ps-am: $(PSS)
853
854 uninstall-am: uninstall-dvi-am uninstall-html-am uninstall-info-am \
855 uninstall-pdf-am uninstall-ps-am
856
857 .MAKE: all check install install-am install-exec install-strip
858
859 .PHONY: all all-am check check-am clean clean-aminfo clean-generic \
860 clean-libtool cscopelist-am ctags-am dist-hook dist-info \
861 distclean distclean-generic distclean-libtool distdir dvi \
862 dvi-am html html-am info info-am install install-am \
863 install-data install-data-am install-dvi install-dvi-am \
864 install-exec install-exec-am install-html install-html-am \
865 install-info install-info-am install-man install-pdf \
866 install-pdf-am install-ps install-ps-am install-strip \
867 installcheck installcheck-am installdirs maintainer-clean \
868 maintainer-clean-aminfo maintainer-clean-generic mostlyclean \
869 mostlyclean-aminfo mostlyclean-generic mostlyclean-libtool pdf \
870 pdf-am ps ps-am tags-am uninstall uninstall-am \
871 uninstall-dvi-am uninstall-html-am uninstall-info-am \
872 uninstall-pdf-am uninstall-ps-am
873
874 .PRECIOUS: Makefile
875
876
877 gpgme.texi : defs.inc
878
879 mkdefsinc: mkdefsinc.c Makefile $(top_builddir)/conf/config.h
880 $(CC_FOR_BUILD) -I. -I$(top_builddir)/conf -I$(srcdir) \
881 $(AM_CPPFLAGS) -o $@ $(srcdir)/mkdefsinc.c
882
883 dist-hook: defsincdate
884
885 defsincdate: $(gpgme_TEXINFOS)
886 : >defsincdate ; \
887 if test -e $(top_srcdir)/.git; then \
888 (cd $(srcdir) && git log -1 --format='%ct' -- \
889 $(info_TEXINFOS) $(gpgme_TEXINFOS) 2>/dev/null) >>defsincdate; \
890 fi
891
892 defs.inc: defsincdate Makefile mkdefsinc
893 incd="`test -f defsincdate || echo '$(srcdir)/'`defsincdate"; \
894 ./mkdefsinc -C $(srcdir) --date "`cat $$incd 2>/dev/null`" \
895 $(info_TEXINFOS) $(gpgme_TEXINFOS) >$@
896
897 online: gpgme.html gpgme.pdf
898 set -e; \
899 echo "Uploading current manuals to www.gnupg.org ..."; \
900 user=werner ; \
901 (cd gpgme.html && rsync -vr --exclude='.svn' . \
902 $${user}@ftp.gnupg.org:webspace/manuals/gpgme/ ); \
903 rsync -v gpgme.pdf $${user}@ftp.gnupg.org:webspace/manuals/
904
905 # Tell versions [3.59,3.63) of GNU make to not export all variables.
906 # Otherwise a system limit (for SysV at least) may be exceeded.
907 .NOEXPORT:
0 1624372503
0 This is gpgme.info, produced by makeinfo version 6.8 from gpgme.texi.
1
2 Copyright © 2002–2008, 2010, 2012–2018 g10 Code GmbH.
3
4 Permission is granted to copy, distribute and/or modify this
5 document under the terms of the GNU General Public License as
6 published by the Free Software Foundation; either version 3 of the
7 License, or (at your option) any later version. The text of the
8 license can be found in the section entitled “Copying”.
9
10 This document is distributed in the hope that it will be useful, but
11 WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
13 Public License for more details.
14 INFO-DIR-SECTION GNU Libraries
15 START-INFO-DIR-ENTRY
16 * GPGME: (gpgme). Adding support for cryptography to your program.
17 END-INFO-DIR-ENTRY
18
19 This file documents the GPGME library.
20
21 This is Edition 1.16.1-unknown, last updated 13 September 2021, of
22 ‘The ‘GnuPG Made Easy’ Reference Manual’, for Version 1.16.1-unknown.
23
24 Copyright © 2002–2008, 2010, 2012–2018 g10 Code GmbH.
25
26 Permission is granted to copy, distribute and/or modify this
27 document under the terms of the GNU General Public License as
28 published by the Free Software Foundation; either version 3 of the
29 License, or (at your option) any later version. The text of the
30 license can be found in the section entitled “Copying”.
31
32 This document is distributed in the hope that it will be useful, but
33 WITHOUT ANY WARRANTY; without even the implied warranty of
34 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
35 Public License for more details.
36
37 
38 Indirect:
39 gpgme.info-1: 1691
40 gpgme.info-2: 303552
41 
42 Tag Table:
43 (Indirect)
44 Node: Top1691
45 Node: Introduction9073
46 Node: Getting Started9863
47 Node: Features11324
48 Node: Overview12636
49 Node: Preparation13745
50 Node: Header14742
51 Node: Building the Source15489
52 Node: Largefile Support (LFS)17633
53 Node: Using Automake23049
54 Node: Using Libtool25602
55 Node: Library Version Check25964
56 Node: Signal Handling32024
57 Node: Multi-Threading33294
58 Ref: Multi-Threading-Footnote-134710
59 Node: Protocols and Engines35133
60 Node: Engine Version Check37884
61 Node: Engine Information40407
62 Node: Engine Configuration44267
63 Node: OpenPGP45571
64 Node: Cryptographic Message Syntax45911
65 Node: Assuan46224
66 Node: Algorithms46598
67 Ref: Algorithms-Footnote-147077
68 Node: Public Key Algorithms47205
69 Node: Hash Algorithms49807
70 Node: Error Handling51021
71 Node: Error Values52895
72 Node: Error Sources58098
73 Node: Error Codes60538
74 Node: Error Strings65331
75 Node: Exchanging Data67138
76 Node: Creating Data Buffers69023
77 Node: Memory Based Data Buffers69539
78 Node: File Based Data Buffers72972
79 Node: Callback Based Data Buffers76085
80 Node: Destroying Data Buffers80276
81 Node: Manipulating Data Buffers81783
82 Node: Data Buffer I/O Operations82275
83 Node: Data Buffer Meta-Data84648
84 Node: Data Buffer Convenience89967
85 Node: Contexts92187
86 Node: Creating Contexts93306
87 Node: Destroying Contexts94153
88 Node: Result Management94492
89 Node: Context Attributes96073
90 Node: Protocol Selection97240
91 Node: Crypto Engine98286
92 Node: Setting the Sender100175
93 Node: ASCII Armor101688
94 Node: Text Mode102317
95 Node: Offline Mode103251
96 Node: Pinentry Mode104749
97 Node: Included Certificates106643
98 Node: Key Listing Mode108089
99 Node: Passphrase Callback113213
100 Node: Progress Meter Callback116775
101 Node: Status Message Callback118760
102 Node: Context Flags120525
103 Node: Locale127452
104 Node: Additional Logs129044
105 Node: Key Management131242
106 Node: Key objects132466
107 Node: Listing Keys147470
108 Node: Information About Keys156123
109 Node: Manipulating Keys157431
110 Node: Generating Keys160329
111 Node: Signing Keys178649
112 Node: Exporting Keys184408
113 Node: Importing Keys191688
114 Ref: Importing Keys-Footnote-1199092
115 Node: Deleting Keys199220
116 Node: Changing Passphrases201500
117 Node: Changing TOFU Data202827
118 Node: Advanced Key Editing204935
119 Node: Crypto Operations207668
120 Node: Decrypt208925
121 Node: Verify216205
122 Node: Decrypt and Verify229298
123 Node: Sign232153
124 Node: Selecting Signers232717
125 Node: Creating a Signature234123
126 Node: Signature Notation Data238893
127 Node: Encrypt241178
128 Node: Encrypting a Plaintext241534
129 Node: Miscellaneous255946
130 Node: Running other Programs256358
131 Node: Using the Assuan protocol258521
132 Node: Checking for updates261319
133 Node: Run Control266136
134 Node: Waiting For Completion266880
135 Node: Using External Event Loops269005
136 Node: I/O Callback Interface270977
137 Node: Registering I/O Callbacks275905
138 Node: I/O Callback Example277944
139 Node: I/O Callback Example GTK+284569
140 Node: I/O Callback Example GDK286358
141 Node: I/O Callback Example Qt288000
142 Node: Cancellation290288
143 Node: UI Server Protocol292596
144 Ref: UI Server Protocol-Footnote-1294031
145 Node: UI Server Encrypt294150
146 Node: UI Server Sign299508
147 Node: UI Server Decrypt303552
148 Node: UI Server Verify305207
149 Node: UI Server Set Input Files308779
150 Node: UI Server Sign/Encrypt Files309849
151 Node: UI Server Verify/Decrypt Files311657
152 Node: UI Server Import/Export Keys313533
153 Node: UI Server Checksum Files314595
154 Node: Miscellaneous UI Server Commands316813
155 Ref: command SENDER318744
156 Node: Debugging320446
157 Node: Deprecated Functions322195
158 Node: Library Copying345204
159 Node: Copying373424
160 Node: Concept Index411174
161 Node: Function and Data Index425886
162 
163 End Tag Table
164
165 
166 Local Variables:
167 coding: utf-8
168 End:
0 This is gpgme.info, produced by makeinfo version 6.8 from gpgme.texi.
1
2 Copyright © 2002–2008, 2010, 2012–2018 g10 Code GmbH.
3
4 Permission is granted to copy, distribute and/or modify this
5 document under the terms of the GNU General Public License as
6 published by the Free Software Foundation; either version 3 of the
7 License, or (at your option) any later version. The text of the
8 license can be found in the section entitled “Copying”.
9
10 This document is distributed in the hope that it will be useful, but
11 WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
13 Public License for more details.
14 INFO-DIR-SECTION GNU Libraries
15 START-INFO-DIR-ENTRY
16 * GPGME: (gpgme). Adding support for cryptography to your program.
17 END-INFO-DIR-ENTRY
18
19 This file documents the GPGME library.
20
21 This is Edition 1.16.1-unknown, last updated 13 September 2021, of
22 ‘The ‘GnuPG Made Easy’ Reference Manual’, for Version 1.16.1-unknown.
23
24 Copyright © 2002–2008, 2010, 2012–2018 g10 Code GmbH.
25
26 Permission is granted to copy, distribute and/or modify this
27 document under the terms of the GNU General Public License as
28 published by the Free Software Foundation; either version 3 of the
29 License, or (at your option) any later version. The text of the
30 license can be found in the section entitled “Copying”.
31
32 This document is distributed in the hope that it will be useful, but
33 WITHOUT ANY WARRANTY; without even the implied warranty of
34 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
35 Public License for more details.
36
37 
38 File: gpgme.info, Node: Top, Next: Introduction, Up: (dir)
39
40 Main Menu
41 *********
42
43 This is Edition 1.16.1-unknown, last updated 13 September 2021, of ‘The
44 ‘GnuPG Made Easy’ Reference Manual’, for Version 1.16.1-unknown of the
45 GPGME library.
46
47 * Menu:
48
49 * Introduction:: How to use this manual.
50 * Preparation:: What you should do before using the library.
51 * Protocols and Engines:: Supported crypto protocols.
52 * Algorithms:: Supported algorithms.
53 * Error Handling:: Error numbers and their meanings.
54 * Exchanging Data:: Passing data to and from GPGME.
55 * Contexts:: Handling GPGME contexts.
56
57 Appendices
58
59 * UI Server Protocol:: The GnuPG UI Server Protocol.
60 * Debugging:: How to solve problems.
61 * Deprecated Functions:: Documentation of deprecated functions.
62
63 * Library Copying:: The GNU Lesser General Public License says
64 how you can copy and share ‘GnuPG Made Easy’.
65 * Copying:: The GNU General Public License says how you
66 can copy and share this manual.
67
68 Indices
69
70 * Concept Index:: Index of concepts and programs.
71 * Function and Data Index:: Index of functions, variables and data types.
72
73 — The Detailed Node Listing —
74
75 Introduction
76
77 * Getting Started:: Purpose of the manual, and how to use it.
78 * Features:: Reasons to install and use GPGME.
79 * Overview:: Basic architecture of the GPGME library.
80
81 Preparation
82
83 * Header:: What header file you need to include.
84 * Building the Source:: Compiler options to be used.
85 * Largefile Support (LFS):: How to use GPGME with LFS.
86 * Using Automake:: Compiler options to be used the easy way.
87 * Using Libtool:: Avoiding compiler options entirely.
88 * Library Version Check:: Getting and verifying the library version.
89 * Signal Handling:: How GPGME affects signal handling.
90 * Multi-Threading:: How GPGME can be used in an MT environment.
91
92 Protocols and Engines
93
94 * Engine Version Check:: Verifying the engine version.
95 * Engine Information:: Obtaining more information about the engines.
96 * Engine Configuration:: Changing the engine configuration.
97 * OpenPGP:: Support for the OpenPGP protocol.
98 * Cryptographic Message Syntax:: Support for the CMS.
99
100 Algorithms
101
102 * Public Key Algorithms:: A list of all public key algorithms.
103 * Hash Algorithms:: A list of all hash algorithms.
104
105 Error Handling
106
107 * Error Values:: The error value and what it means.
108 * Error Codes:: A list of important error codes.
109 * Error Sources:: A list of important error sources.
110 * Error Strings:: How to get a descriptive string from a value.
111
112 Exchanging Data
113
114 * Creating Data Buffers:: Creating new data buffers.
115 * Destroying Data Buffers:: Releasing data buffers.
116 * Manipulating Data Buffers:: Operations on data buffers.
117
118 Creating Data Buffers
119
120 * Memory Based Data Buffers:: Creating memory based data buffers.
121 * File Based Data Buffers:: Creating file based data buffers.
122 * Callback Based Data Buffers:: Creating callback based data buffers.
123
124 Manipulating Data Buffers
125
126 * Data Buffer I/O Operations:: I/O operations on data buffers.
127 * Data Buffer Meta-Data:: Meta-data manipulation of data buffers.
128 * Data Buffer Convenience:: Convenience function for data buffers.
129
130 Contexts
131
132 * Creating Contexts:: Creating new GPGME contexts.
133 * Destroying Contexts:: Releasing GPGME contexts.
134 * Result Management:: Managing the result of crypto operations.
135 * Context Attributes:: Setting properties of a context.
136 * Key Management:: Managing keys with GPGME.
137 * Crypto Operations:: Using a context for cryptography.
138 * Miscellaneous:: Miscellaneous operations.
139 * Run Control:: Controlling how operations are run.
140
141 Context Attributes
142
143 * Protocol Selection:: Selecting the protocol used by a context.
144 * Crypto Engine:: Configuring the crypto engine.
145 * Setting the Sender:: How to tell the engine the sender.
146 * ASCII Armor:: Requesting ASCII armored output.
147 * Text Mode:: Choosing canonical text mode.
148 * Offline Mode:: Choosing offline mode.
149 * Included Certificates:: Including a number of certificates.
150 * Key Listing Mode:: Selecting key listing mode.
151 * Passphrase Callback:: Getting the passphrase from the user.
152 * Progress Meter Callback:: Being informed about the progress.
153 * Status Message Callback:: Status messages received from gpg.
154 * Locale:: Setting the locale of a context.
155
156 Key Management
157
158 * Key objects:: Description of the key structures.
159 * Listing Keys:: Browsing the list of available keys.
160 * Information About Keys:: Requesting detailed information about keys.
161 * Manipulating Keys:: Operations on keys.
162 * Generating Keys:: Creating new key pairs.
163 * Signing Keys:: Adding key signatures to public keys.
164 * Exporting Keys:: Retrieving key data from the key ring.
165 * Importing Keys:: Adding keys to the key ring.
166 * Deleting Keys:: Removing keys from the key ring.
167 * Changing Passphrases:: Change the passphrase of a key.
168 * Changing TOFU Data:: Changing data pertaining to TOFU.
169 * Advanced Key Editing:: Advanced key edit operation.
170
171 Crypto Operations
172
173 * Decrypt:: Decrypting a ciphertext.
174 * Verify:: Verifying a signature.
175 * Decrypt and Verify:: Decrypting a signed ciphertext.
176 * Sign:: Creating a signature.
177 * Encrypt:: Encrypting a plaintext.
178
179 Sign
180
181 * Selecting Signers:: How to choose the keys to sign with.
182 * Creating a Signature:: How to create a signature.
183 * Signature Notation Data:: How to add notation data to a signature.
184
185 Encrypt
186
187 * Encrypting a Plaintext:: How to encrypt a plaintext.
188
189 Miscellaneous
190
191 * Running other Programs:: Running other Programs.
192 * Using the Assuan protocol:: Using the Assuan protocol.
193 * Checking for updates:: How to check for software updates.
194
195 Run Control
196
197 * Waiting For Completion:: Waiting until an operation is completed.
198 * Using External Event Loops:: Advanced control over what happens when.
199 * Cancellation:: How to end pending operations prematurely.
200
201 Using External Event Loops
202
203 * I/O Callback Interface:: How I/O callbacks are registered.
204 * Registering I/O Callbacks:: How to use I/O callbacks for a context.
205 * I/O Callback Example:: An example how to use I/O callbacks.
206 * I/O Callback Example GTK+:: How to integrate GPGME in GTK+.
207 * I/O Callback Example GDK:: How to integrate GPGME in GDK.
208 * I/O Callback Example Qt:: How to integrate GPGME in Qt.
209
210
211 
212 File: gpgme.info, Node: Introduction, Next: Preparation, Prev: Top, Up: Top
213
214 1 Introduction
215 **************
216
217 ‘GnuPG Made Easy’ (GPGME) is a C language library that allows to add
218 support for cryptography to a program. It is designed to make access to
219 public key crypto engines like GnuPG or GpgSM easier for applications.
220 GPGME provides a high-level crypto API for encryption, decryption,
221 signing, signature verification and key management.
222
223 GPGME uses GnuPG and GpgSM as its backends to support OpenPGP and the
224 Cryptographic Message Syntax (CMS).
225
226 * Menu:
227
228 * Getting Started:: Purpose of the manual, and how to use it.
229 * Features:: Reasons to install and use GPGME.
230 * Overview:: Basic architecture of the GPGME library.
231
232 
233 File: gpgme.info, Node: Getting Started, Next: Features, Up: Introduction
234
235 1.1 Getting Started
236 ===================
237
238 This manual documents the GPGME library programming interface. All
239 functions and data types provided by the library are explained.
240
241 The reader is assumed to possess basic knowledge about cryptography
242 in general, and public key cryptography in particular. The underlying
243 cryptographic engines that are used by the library are not explained,
244 but where necessary, special features or requirements by an engine are
245 mentioned as far as they are relevant to GPGME or its users.
246
247 This manual can be used in several ways. If read from the beginning
248 to the end, it gives a good introduction into the library and how it can
249 be used in an application. Forward references are included where
250 necessary. Later on, the manual can be used as a reference manual to
251 get just the information needed about any particular interface of the
252 library. Experienced programmers might want to start looking at the
253 examples at the end of the manual, and then only read up those parts of
254 the interface which are unclear.
255
256 The documentation for the language bindings is currently not included
257 in this manual. Those languages bindings follow the general programming
258 model of GPGME but may provide some extra high level abstraction on top
259 of the GPGME style API. For now please see the README files in the
260 ‘lang/’ directory of the source distribution.
261
262 
263 File: gpgme.info, Node: Features, Next: Overview, Prev: Getting Started, Up: Introduction
264
265 1.2 Features
266 ============
267
268 GPGME has a couple of advantages over other libraries doing a similar
269 job, and over implementing support for GnuPG or other crypto engines
270 into your application directly.
271
272 it’s free software
273 Anybody can use, modify, and redistribute it under the terms of the
274 GNU Lesser General Public License (*note Library Copying::).
275
276 it’s flexible
277 GPGME provides transparent support for several cryptographic
278 protocols by different engines. Currently, GPGME supports the
279 OpenPGP protocol using GnuPG as the backend, and the Cryptographic
280 Message Syntax using GpgSM as the backend.
281
282 it’s easy
283 GPGME hides the differences between the protocols and engines from
284 the programmer behind an easy-to-use interface. This way the
285 programmer can focus on the other parts of the program, and still
286 integrate strong cryptography in his application. Once support for
287 GPGME has been added to a program, it is easy to add support for
288 other crypto protocols once GPGME backends provide them.
289
290 it’s language friendly
291 GPGME comes with languages bindings for several common programming
292 languages: Common Lisp, C++, Python 2, and Python 3.
293
294 
295 File: gpgme.info, Node: Overview, Prev: Features, Up: Introduction
296
297 1.3 Overview
298 ============
299
300 GPGME provides a data abstraction that is used to pass data to the
301 crypto engine, and receive returned data from it. Data can be read from
302 memory or from files, but it can also be provided by a callback
303 function.
304
305 The actual cryptographic operations are always set within a context.
306 A context provides configuration parameters that define the behaviour of
307 all operations performed within it. Only one operation per context is
308 allowed at any time, but when one operation is finished, you can run the
309 next operation in the same context. There can be more than one context,
310 and all can run different operations at the same time.
311
312 Furthermore, GPGME has rich key management facilities including
313 listing keys, querying their attributes, generating, importing,
314 exporting and deleting keys, and acquiring information about the trust
315 path.
316
317 With some precautions, GPGME can be used in a multi-threaded
318 environment, although it is not completely thread safe and thus needs
319 the support of the application.
320
321 
322 File: gpgme.info, Node: Preparation, Next: Protocols and Engines, Prev: Introduction, Up: Top
323
324 2 Preparation
325 *************
326
327 To use GPGME, you have to perform some changes to your sources and the
328 build system. The necessary changes are small and explained in the
329 following sections. At the end of this chapter, it is described how the
330 library is initialized, and how the requirements of the library are
331 verified.
332
333 * Menu:
334
335 * Header:: What header file you need to include.
336 * Building the Source:: Compiler options to be used.
337 * Largefile Support (LFS):: How to use GPGME with LFS.
338 * Using Automake:: Compiler options to be used the easy way.
339 * Using Libtool:: Avoiding compiler options entirely.
340 * Library Version Check:: Getting and verifying the library version.
341 * Signal Handling:: How GPGME affects signal handling.
342 * Multi-Threading:: How GPGME can be used in an MT environment.
343
344 
345 File: gpgme.info, Node: Header, Next: Building the Source, Up: Preparation
346
347 2.1 Header
348 ==========
349
350 All interfaces (data types and functions) of the library are defined in
351 the header file ‘gpgme.h’. You must include this in all programs using
352 the library, either directly or through some other header file, like
353 this:
354
355 #include <gpgme.h>
356
357 The name space of GPGME is ‘gpgme_*’ for function names and data
358 types and ‘GPGME_*’ for other symbols. Symbols internal to GPGME take
359 the form ‘_gpgme_*’ and ‘_GPGME_*’.
360
361 Because GPGME makes use of the GPG Error library, using GPGME will
362 also use the ‘GPG_ERR_*’ name space directly, and the ‘gpg_err*’,
363 ‘gpg_str*’, and ‘gpgrt_*’ name space indirectly.
364
365 
366 File: gpgme.info, Node: Building the Source, Next: Largefile Support (LFS), Prev: Header, Up: Preparation
367
368 2.2 Building the Source
369 =======================
370
371 If you want to compile a source file including the ‘gpgme.h’ header
372 file, you must make sure that the compiler can find it in the directory
373 hierarchy. This is accomplished by adding the path to the directory in
374 which the header file is located to the compilers include file search
375 path (via the ‘-I’ option).
376
377 However, the path to the include file is determined at the time the
378 source is configured. To solve this problem, gpgme ships with a small
379 helper program ‘gpgme-config’ that knows about the path to the include
380 file and other configuration options. The options that need to be added
381 to the compiler invocation at compile time are output by the ‘--cflags’
382 option to ‘gpgme-config’. The following example shows how it can be
383 used at the command line:
384
385 gcc -c foo.c `gpgme-config --cflags`
386
387 Adding the output of ‘gpgme-config --cflags’ to the compiler command
388 line will ensure that the compiler can find the GPGME header file.
389
390 A similar problem occurs when linking the program with the library.
391 Again, the compiler has to find the library files. For this to work,
392 the path to the library files has to be added to the library search path
393 (via the ‘-L’ option). For this, the option ‘--libs’ to ‘gpgme-config’
394 can be used. For convenience, this option also outputs all other
395 options that are required to link the program with GPGME (in particular,
396 the ‘-lgpgme’ option). The example shows how to link ‘foo.o’ with the
397 GPGME library to a program ‘foo’.
398
399 gcc -o foo foo.o `gpgme-config --libs`
400
401 Of course you can also combine both examples to a single command by
402 specifying both options to ‘gpgme-config’:
403
404 gcc -o foo foo.c `gpgme-config --cflags --libs`
405
406 If you need to detect the installed language bindings you can use
407 list them using:
408
409 gpgme-config --print-lang
410
411 or test for the availability using
412
413 gpgme-config --have-lang=python && echo 'Bindings for Pythons available'
414
415 
416 File: gpgme.info, Node: Largefile Support (LFS), Next: Using Automake, Prev: Building the Source, Up: Preparation
417
418 2.3 Largefile Support (LFS)
419 ===========================
420
421 GPGME is compiled with largefile support by default, if it is available
422 on the system. This means that GPGME supports files larger than two
423 gigabyte in size, if the underlying operating system can. On some
424 systems, largefile support is already the default. On such systems,
425 nothing special is required. However, some systems provide only support
426 for files up to two gigabyte in size by default. Support for larger
427 file sizes has to be specifically enabled.
428
429 To make a difficult situation even more complex, such systems provide
430 two different types of largefile support. You can either get all
431 relevant functions replaced with alternatives that are largefile
432 capable, or you can get new functions and data types for largefile
433 support added. Those new functions have the same name as their
434 smallfile counterparts, but with a suffix of 64.
435
436 An example: The data type ‘off_t’ is 32 bit wide on GNU/Linux PC
437 systems. To address offsets in large files, you can either enable
438 largefile support add-on. Then a new data type ‘off64_t’ is provided,
439 which is 64 bit wide. Or you can replace the existing ‘off_t’ data type
440 with its 64 bit wide counterpart. All occurrences of ‘off_t’ are then
441 automagically replaced.
442
443 As if matters were not complex enough, there are also two different
444 types of file descriptors in such systems. This is important because if
445 file descriptors are exchanged between programs that use a different
446 maximum file size, certain errors must be produced on some file
447 descriptors to prevent subtle overflow bugs from occurring.
448
449 As you can see, supporting two different maximum file sizes at the
450 same time is not at all an easy task. However, the maximum file size
451 does matter for GPGME, because some data types it uses in its interfaces
452 are affected by that. For example, the ‘off_t’ data type is used in the
453 ‘gpgme_data_seek’ function, to match its POSIX counterpart. This
454 affects the call-frame of the function, and thus the ABI of the library.
455 Furthermore, file descriptors can be exchanged between GPGME and the
456 application.
457
458 For you as the user of the library, this means that your program must
459 be compiled in the same file size mode as the library. Luckily, there
460 is absolutely no valid reason for new programs to not enable largefile
461 support by default and just use that. The compatibility modes (small
462 file sizes or dual mode) can be considered an historic artefact, only
463 useful to allow for a transitional period.
464
465 On POSIX platforms GPGME is compiled using largefile support by
466 default. This means that your application must do the same, at least as
467 far as it is relevant for using the ‘gpgme.h’ header file. All types in
468 this header files refer to their largefile counterparts, if they are
469 different from any default types on the system.
470
471 On 32 and 64 bit Windows platforms ‘off_t’ is declared as 32 bit
472 signed integer. There is no specific support for LFS in the C library.
473 The recommendation from Microsoft is to use the native interface
474 (‘CreateFile’ et al.) for large files. Released binary versions of
475 GPGME (libgpgme-11.dll) have always been build with a 32 bit ‘off_t’.
476 To avoid an ABI break we stick to this convention for 32 bit Windows by
477 using ‘long’ there. GPGME versions for 64 bit Windows have never been
478 released and thus we are able to use ‘int64_t’ instead of ‘off_t’ there.
479 For easier migration the typedef ‘gpgme_off_t’ has been defined. The
480 reason we cannot use ‘off_t’ directly is that some toolchains (e.g.
481 mingw64) introduce a POSIX compatible hack for ‘off_t’. Some widely
482 used toolkits make use of this hack and in turn GPGME would need to use
483 it also. However, this would introduce an ABI break and existing
484 software making use of libgpgme might suffer from a severe break. Thus
485 with version 1.4.2 we redefined all functions using ‘off_t’ to use
486 ‘gpgme_off_t’ which is defined as explained above. This way we keep the
487 ABI well defined and independent of any toolchain hacks. The bottom
488 line is that LFS support in GPGME is only available on 64 bit versions
489 of Windows.
490
491 On POSIX platforms you can enable largefile support, if it is
492 different from the default on the system the application is compiled on,
493 by using the Autoconf macro ‘AC_SYS_LARGEFILE’. If you do this, then
494 you don’t need to worry about anything else: It will just work. In this
495 case you might also want to use ‘AC_FUNC_FSEEKO’ to take advantage of
496 some new interfaces, and ‘AC_TYPE_OFF_T’ (just in case).
497
498 If you do not use Autoconf, you can define the preprocessor symbol
499 ‘_FILE_OFFSET_BITS’ to 64 _before_ including any header files, for
500 example by specifying the option ‘-D_FILE_OFFSET_BITS=64’ on the
501 compiler command line. You will also want to define the preprocessor
502 symbol ‘LARGEFILE_SOURCE’ to 1 in this case, to take advantage of some
503 new interfaces.
504
505 If you do not want to do either of the above, you probably know
506 enough about the issue to invent your own solution. Just keep in mind
507 that the GPGME header file expects that largefile support is enabled, if
508 it is available. In particular, we do not support dual mode
509 (‘_LARGEFILE64_SOURCE’).
510
511 
512 File: gpgme.info, Node: Using Automake, Next: Using Libtool, Prev: Largefile Support (LFS), Up: Preparation
513
514 2.4 Using Automake
515 ==================
516
517 It is much easier if you use GNU Automake instead of writing your own
518 Makefiles. If you do that you do not have to worry about finding and
519 invoking the ‘gpgme-config’ script at all. GPGME provides an extension
520 to Automake that does all the work for you.
521
522 -- Macro: AM_PATH_GPGME ([MINIMUM-VERSION], [ACTION-IF-FOUND],
523 [ACTION-IF-NOT-FOUND])
524 -- Macro: AM_PATH_GPGME_PTH ([MINIMUM-VERSION], [ACTION-IF-FOUND],
525 [ACTION-IF-NOT-FOUND])
526 -- Macro: AM_PATH_GPGME_PTHREAD ([MINIMUM-VERSION], [ACTION-IF-FOUND],
527 [ACTION-IF-NOT-FOUND])
528 Check whether GPGME (at least version MINIMUM-VERSION, if given)
529 exists on the host system. If it is found, execute
530 ACTION-IF-FOUND, otherwise do ACTION-IF-NOT-FOUND, if given.
531
532 Additionally, the function defines ‘GPGME_CFLAGS’ to the flags
533 needed for compilation of the program to find the ‘gpgme.h’ header
534 file, and ‘GPGME_LIBS’ to the linker flags needed to link the
535 program to the GPGME library. If the used helper script does not
536 match the target type you are building for a warning is printed and
537 the string ‘libgcrypt’ is appended to the variable
538 ‘gpg_config_script_warn’.
539
540 ‘AM_PATH_GPGME_PTH’ checks for the version of GPGME that can be
541 used with GNU Pth, and defines ‘GPGME_PTH_CFLAGS’ and
542 ‘GPGME_PTH_LIBS’.
543
544 ‘AM_PATH_GPGME_PTHREAD’ checks for the version of GPGME that can be
545 used with the native pthread implementation, and defines
546 ‘GPGME_PTHREAD_CFLAGS’ and ‘GPGME_PTHREAD_LIBS’. Since version
547 1.8.0 this is no longer required to GPGME_PTHREAD as GPGME itself
548 is thread safe.
549
550 This macro searches for ‘gpgme-config’ along the PATH. If you are
551 cross-compiling, it is useful to set the environment variable
552 ‘SYSROOT’ to the top directory of your target. The macro will then
553 first look for the helper program in the ‘bin’ directory below that
554 top directory. An absolute directory name must be used for
555 ‘SYSROOT’. Finally, if the configure command line option
556 ‘--with-gpgme-prefix’ is used, only its value is used for the top
557 directory below which the helper script is expected.
558
559 You can use the defined Autoconf variables like this in your
560 ‘Makefile.am’:
561
562 AM_CPPFLAGS = $(GPGME_CFLAGS)
563 LDADD = $(GPGME_LIBS)
564
565 
566 File: gpgme.info, Node: Using Libtool, Next: Library Version Check, Prev: Using Automake, Up: Preparation
567
568 2.5 Using Libtool
569 =================
570
571 The easiest way is to just use GNU Libtool. If you use libtool, and
572 link to ‘libgpgme.la’, ‘libgpgme-pth.la’ or ‘libgpgme-pthread.la’
573 respectively, everything will be done automatically by Libtool.
574
575 
576 File: gpgme.info, Node: Library Version Check, Next: Signal Handling, Prev: Using Libtool, Up: Preparation
577
578 2.6 Library Version Check
579 =========================
580
581 -- Function: const char * gpgme_check_version
582 (const char *REQUIRED_VERSION)
583 The function ‘gpgme_check_version’ has four purposes. It can be
584 used to retrieve the version number of the library. In addition it
585 can verify that the version number is higher than a certain
586 required version number. In either case, the function initializes
587 some sub-systems, and for this reason alone it must be invoked
588 early in your program, before you make use of the other functions
589 in GPGME. The last purpose is to run selftests.
590
591 As a side effect for W32 based systems, the socket layer will get
592 initialized.
593
594 If REQUIRED_VERSION is ‘NULL’, the function returns a pointer to a
595 statically allocated string containing the version number of the
596 library.
597
598 If REQUIRED_VERSION is not ‘NULL’, it should point to a string
599 containing a version number, and the function checks that the
600 version of the library is at least as high as the version number
601 provided. In this case, the function returns a pointer to a
602 statically allocated string containing the version number of the
603 library. If REQUIRED_VERSION is not a valid version number, or if
604 the version requirement is not met, the function returns ‘NULL’.
605
606 If you use a version of a library that is backwards compatible with
607 older releases, but contains additional interfaces which your
608 program uses, this function provides a run-time check if the
609 necessary features are provided by the installed version of the
610 library.
611
612 If a selftest fails, the function may still succeed. Selftest
613 errors are returned later when invoking ‘gpgme_new’ or
614 ‘gpgme-data_new’, so that a detailed error code can be returned
615 (historically, ‘gpgme_check_version’ does not return a detailed
616 error code).
617
618 -- Function: int gpgme_set_global_flag (const char *NAME,
619 const char *VALUE)
620
621 SINCE: 1.4.0
622
623 On some systems it is not easy to set environment variables and
624 thus hard to use GPGME’s internal trace facility for debugging.
625 This function has been introduced as an alternative way to enable
626 debugging and for a couple of other rarely used tweaks. It is
627 important to assure that only one thread accesses GPGME functions
628 between a call to this function and after the return from the call
629 to ‘gpgme_check_version’.
630
631 All currently supported features require that this function is
632 called as early as possible — even before ‘gpgme_check_version’.
633 The features are identified by the following values for NAME:
634
635 ‘debug’
636 To enable debugging use the string “debug” for NAME and VALUE
637 identical to the value used with the environment variable
638 ‘GPGME_DEBUG’.
639
640 ‘disable-gpgconf’
641 Using this feature with any VALUE disables the detection of
642 the gpgconf program and thus forces GPGME to fallback into the
643 simple OpenPGP only mode. It may be used to force the use of
644 GnuPG-1 on systems which have both GPG versions installed.
645 Note that in general the use of ‘gpgme_set_engine_info’ is a
646 better way to select a specific engine version.
647
648 ‘gpgconf-name’
649 ‘gpg-name’
650 Set the name of the gpgconf respective gpg binary. The
651 defaults are ‘GNU/GnuPG/gpgconf’ and ‘GNU/GnuPG/gpg’. Under
652 Unix the leading directory part is ignored. Under Windows the
653 leading directory part is used as the default installation
654 directory; the ‘.exe’ suffix is added by GPGME. Use forward
655 slashed even under Windows.
656
657 ‘require-gnupg’
658 Set the minimum version of the required GnuPG engine. If that
659 version is not met, GPGME fails early instead of trying to use
660 the existent version. The given version must be a string with
661 major, minor, and micro number. Example: "2.1.0".
662
663 ‘w32-inst-dir’
664 On Windows GPGME needs to know its installation directory to
665 find its spawn helper. This is in general no problem because
666 a DLL has this information. Some applications however link
667 statically to GPGME and thus GPGME can only figure out the
668 installation directory of this application which may be wrong
669 in certain cases. By supplying an installation directory as
670 value to this flag, GPGME will assume that that directory is
671 the installation directory. This flag has no effect on
672 non-Windows platforms.
673
674 This function returns ‘0’ on success. In contrast to other
675 functions the non-zero return value on failure does not convey any
676 error code. For setting “debug” the only possible error cause is
677 an out of memory condition; which would exhibit itself later
678 anyway. Thus the return value may be ignored.
679
680 After initializing GPGME, you should set the locale information to
681 the locale required for your output terminal. This locale information
682 is needed for example for the curses and Gtk pinentry. Here is an
683 example of a complete initialization:
684
685 #include <locale.h>
686 #include <gpgme.h>
687
688 void
689 init_gpgme (void)
690 {
691 /* Initialize the locale environment. */
692 setlocale (LC_ALL, "");
693 gpgme_check_version (NULL);
694 gpgme_set_locale (NULL, LC_CTYPE, setlocale (LC_CTYPE, NULL));
695 #ifdef LC_MESSAGES
696 gpgme_set_locale (NULL, LC_MESSAGES, setlocale (LC_MESSAGES, NULL));
697 #endif
698 }
699
700 Note that you are highly recommended to initialize the locale
701 settings like this. GPGME can not do this for you because it would not
702 be thread safe. The conditional on LC_MESSAGES is only necessary for
703 portability to W32 systems.
704
705 
706 File: gpgme.info, Node: Signal Handling, Next: Multi-Threading, Prev: Library Version Check, Up: Preparation
707
708 2.7 Signal Handling
709 ===================
710
711 The GPGME library communicates with child processes (the crypto
712 engines). If a child process dies unexpectedly, for example due to a
713 bug, or system problem, a ‘SIGPIPE’ signal will be delivered to the
714 application. The default action is to abort the program. To protect
715 against this, ‘gpgme_check_version’ sets the ‘SIGPIPE’ signal action to
716 ‘SIG_IGN’, which means that the signal will be ignored.
717
718 GPGME will only do that if the signal action for ‘SIGPIPE’ is
719 ‘SIG_DEF’ at the time ‘gpgme_check_version’ is called. If it is
720 something different, ‘GPGME’ will take no action.
721
722 This means that if your application does not install any signal
723 handler for ‘SIGPIPE’, you don’t need to take any precautions. If you
724 do install a signal handler for ‘SIGPIPE’, you must be prepared to
725 handle any ‘SIGPIPE’ events that occur due to GPGME writing to a defunct
726 pipe. Furthermore, if your application is multi-threaded, and you
727 install a signal action for ‘SIGPIPE’, you must make sure you do this
728 either before ‘gpgme_check_version’ is called or afterwards.
729
730 
731 File: gpgme.info, Node: Multi-Threading, Prev: Signal Handling, Up: Preparation
732
733 2.8 Multi-Threading
734 ===================
735
736 The GPGME library is mostly thread-safe, and can be used in a
737 multi-threaded environment but there are some requirements for
738 multi-threaded use:
739
740 • The function ‘gpgme_check_version’ must be called before any other
741 function in the library, because it initializes the thread support
742 subsystem in GPGME. To achieve this in multi-threaded programs,
743 you must synchronize the memory with respect to other threads that
744 also want to use GPGME. For this, it is sufficient to call
745 ‘gpgme_check_version’ before creating the other threads using
746 GPGME(1).
747
748 • Any ‘gpgme_data_t’ and ‘gpgme_ctx_t’ object must only be accessed
749 by one thread at a time. If multiple threads want to deal with the
750 same object, the caller has to make sure that operations on that
751 object are fully synchronized.
752
753 • Only one thread at any time is allowed to call ‘gpgme_wait’. If
754 multiple threads call this function, the caller must make sure that
755 all invocations are fully synchronized. It is safe to start
756 asynchronous operations while a thread is running in gpgme_wait.
757
758 • The function ‘gpgme_strerror’ is not thread safe. You have to use
759 ‘gpgme_strerror_r’ instead.
760
761 ---------- Footnotes ----------
762
763 (1) At least this is true for POSIX threads, as ‘pthread_create’ is a
764 function that synchronizes memory with respects to other threads. There
765 are many functions which have this property, a complete list can be
766 found in POSIX, IEEE Std 1003.1-2003, Base Definitions, Issue 6, in the
767 definition of the term “Memory Synchronization”. For other thread
768 packages other, more relaxed or more strict rules may apply.
769
770 
771 File: gpgme.info, Node: Protocols and Engines, Next: Algorithms, Prev: Preparation, Up: Top
772
773 3 Protocols and Engines
774 ***********************
775
776 GPGME supports several cryptographic protocols, however, it does not
777 implement them. Rather it uses backends (also called engines) which
778 implement the protocol. GPGME uses inter-process communication to pass
779 data back and forth between the application and the backend, but the
780 details of the communication protocol and invocation of the backend is
781 completely hidden by the interface. All complexity is handled by GPGME.
782 Where an exchange of information between the application and the backend
783 is necessary, GPGME provides the necessary callback function hooks and
784 further interfaces.
785
786 -- Data type: enum gpgme_protocol_t
787 The ‘gpgme_protocol_t’ type specifies the set of possible protocol
788 values that are supported by GPGME. The following protocols are
789 supported:
790
791 ‘GPGME_PROTOCOL_OpenPGP’
792 ‘GPGME_PROTOCOL_OPENPGP’
793 This specifies the OpenPGP protocol.
794
795 ‘GPGME_PROTOCOL_CMS’
796 This specifies the Cryptographic Message Syntax.
797
798 ‘GPGME_PROTOCOL_GPGCONF’
799 Under development. Please ask on <gnupg-devel@gnupg.org> for
800 help.
801
802 ‘GPGME_PROTOCOL_ASSUAN’
803 SINCE: 1.2.0
804
805 This specifies the raw Assuan protocol.
806
807 ‘GPGME_PROTOCOL_G13’
808 SINCE: 1.3.0
809
810 Under development. Please ask on <gnupg-devel@gnupg.org> for
811 help.
812
813 ‘GPGME_PROTOCOL_UISERVER’
814 Under development. Please ask on <gnupg-devel@gnupg.org> for
815 help.
816
817 ‘GPGME_PROTOCOL_SPAWN’
818 SINCE: 1.5.0
819
820 Special protocol for use with ‘gpgme_op_spawn’.
821
822 ‘GPGME_PROTOCOL_UNKNOWN’
823 Reserved for future extension. You may use this to indicate
824 that the used protocol is not known to the application.
825 Currently, GPGME does not accept this value in any operation,
826 though, except for ‘gpgme_get_protocol_name’.
827
828 -- Function: const char * gpgme_get_protocol_name
829 (gpgme_protocol_t PROTOCOL)
830 The function ‘gpgme_get_protocol_name’ returns a statically
831 allocated string describing the protocol PROTOCOL, or ‘NULL’ if the
832 protocol number is not valid.
833
834 * Menu:
835
836 * Engine Version Check:: Verifying the engine version.
837 * Engine Information:: Obtaining more information about the engines.
838 * Engine Configuration:: Changing the engine configuration.
839 * OpenPGP:: Support for the OpenPGP protocol.
840 * Cryptographic Message Syntax:: Support for the CMS.
841 * Assuan:: Support for the raw Assuan protocol.
842
843 
844 File: gpgme.info, Node: Engine Version Check, Next: Engine Information, Up: Protocols and Engines
845
846 3.1 Engine Version Check
847 ========================
848
849 -- Function: const char * gpgme_get_dirinfo (cons char *WHAT)
850 SINCE: 1.5.0
851
852 The function ‘gpgme_get_dirinfo’ returns a statically allocated
853 string with the value associated to WHAT. The returned values are
854 the defaults and won’t change even after ‘gpgme_set_engine_info’
855 has been used to configure a different engine. ‘NULL’ is returned
856 if no value is available. Commonly supported values for WHAT are:
857
858 ‘homedir’
859 Return the default home directory.
860
861 ‘sysconfdir’
862 Return the name of the system configuration directory
863
864 ‘bindir’
865 Return the name of the directory with GnuPG program files.
866
867 ‘libdir’
868 Return the name of the directory with GnuPG related library
869 files.
870
871 ‘libexecdir’
872 Return the name of the directory with GnuPG helper program
873 files.
874
875 ‘datadir’
876 Return the name of the directory with GnuPG shared data.
877
878 ‘localedir’
879 Return the name of the directory with GnuPG locale data.
880
881 ‘agent-socket’
882 Return the name of the socket to connect to the gpg-agent.
883
884 ‘agent-ssh-socket’
885 Return the name of the socket to connect to the ssh-agent
886 component of gpg-agent.
887
888 ‘dirmngr-socket’
889 Return the name of the socket to connect to the dirmngr.
890
891 ‘uiserver-socket’
892 Return the name of the socket to connect to the user interface
893 server.
894
895 ‘gpgconf-name’
896 Return the file name of the engine configuration tool.
897
898 ‘gpg-name’
899 Return the file name of the OpenPGP engine.
900
901 ‘gpgsm-name’
902 Return the file name of the CMS engine.
903
904 ‘g13-name’
905 Return the name of the file container encryption engine.
906
907 ‘gpg-wks-client-name’
908 Return the name of the Web Key Service tool.
909
910 -- Function: gpgme_error_t gpgme_engine_check_version
911 (gpgme_protocol_t PROTOCOL)
912 The function ‘gpgme_engine_check_version’ verifies that the engine
913 implementing the protocol PROTOCOL is installed in the expected
914 path and meets the version requirement of GPGME.
915
916 This function returns the error code ‘GPG_ERR_NO_ERROR’ if the
917 engine is available and ‘GPG_ERR_INV_ENGINE’ if it is not.
918
919 
920 File: gpgme.info, Node: Engine Information, Next: Engine Configuration, Prev: Engine Version Check, Up: Protocols and Engines
921
922 3.2 Engine Information
923 ======================
924
925 -- Data type: gpgme_engine_info_t
926 The ‘gpgme_engine_info_t’ type specifies a pointer to a structure
927 describing a crypto engine. The structure contains the following
928 elements:
929
930 ‘gpgme_engine_info_t next’
931 This is a pointer to the next engine info structure in the
932 linked list, or ‘NULL’ if this is the last element.
933
934 ‘gpgme_protocol_t protocol’
935 This is the protocol for which the crypto engine is used. You
936 can convert this to a string with ‘gpgme_get_protocol_name’
937 for printing.
938
939 ‘const char *file_name’
940 This is a string holding the file name of the executable of
941 the crypto engine. Currently, it is never ‘NULL’, but using
942 ‘NULL’ is reserved for future use, so always check before you
943 use it.
944
945 ‘const char *home_dir’
946 This is a string holding the directory name of the crypto
947 engine’s configuration directory. If it is ‘NULL’, then the
948 default directory is used. See ‘gpgme_get_dirinfo’ on how to
949 get the default directory.
950
951 ‘const char *version’
952 This is a string containing the version number of the crypto
953 engine. It might be ‘NULL’ if the version number can not be
954 determined, for example because the executable doesn’t exist
955 or is invalid.
956
957 ‘const char *req_version’
958 This is a string containing the minimum required version
959 number of the crypto engine for GPGME to work correctly. This
960 is the version number that ‘gpgme_engine_check_version’
961 verifies against. Currently, it is never ‘NULL’, but using
962 ‘NULL’ is reserved for future use, so always check before you
963 use it.
964
965 -- Function: gpgme_error_t gpgme_get_engine_info
966 (gpgme_engine_info_t *INFO)
967 The function ‘gpgme_get_engine_info’ returns a linked list of
968 engine info structures in INFO. Each info structure describes the
969 defaults of one configured backend.
970
971 The memory for the info structures is allocated the first time this
972 function is invoked, and must not be freed by the caller.
973
974 This function returns the error code ‘GPG_ERR_NO_ERROR’ if
975 successful, and a system error if the memory could not be
976 allocated.
977
978 Here is an example how you can provide more diagnostics if you
979 receive an error message which indicates that the crypto engine is
980 invalid.
981
982 gpgme_ctx_t ctx;
983 gpgme_error_t err;
984
985 [...]
986
987 if (gpgme_err_code (err) == GPG_ERR_INV_ENGINE)
988 {
989 gpgme_engine_info_t info;
990 err = gpgme_get_engine_info (&info);
991 if (!err)
992 {
993 while (info && info->protocol != gpgme_get_protocol (ctx))
994 info = info->next;
995 if (!info)
996 fprintf (stderr, "GPGME compiled without support for protocol %s",
997 gpgme_get_protocol_name (info->protocol));
998 else if (info->file_name && !info->version)
999 fprintf (stderr, "Engine %s not installed properly",
1000 info->file_name);
1001 else if (info->file_name && info->version && info->req_version)
1002 fprintf (stderr, "Engine %s version %s installed, "
1003 "but at least version %s required", info->file_name,
1004 info->version, info->req_version);
1005 else
1006 fprintf (stderr, "Unknown problem with engine for protocol %s",
1007 gpgme_get_protocol_name (info->protocol));
1008 }
1009 }
1010
1011 
1012 File: gpgme.info, Node: Engine Configuration, Next: OpenPGP, Prev: Engine Information, Up: Protocols and Engines
1013
1014 3.3 Engine Configuration
1015 ========================
1016
1017 You can change the configuration of a backend engine, and thus change
1018 the executable program and configuration directory to be used. You can
1019 make these changes the default or set them for some contexts
1020 individually.
1021
1022 -- Function: gpgme_error_t gpgme_set_engine_info
1023 (gpgme_protocol_t PROTO, const char *FILE_NAME,
1024 const char *HOME_DIR)
1025 SINCE: 1.1.0
1026
1027 The function ‘gpgme_set_engine_info’ changes the default
1028 configuration of the crypto engine implementing the protocol PROTO.
1029
1030 FILE_NAME is the file name of the executable program implementing
1031 this protocol, and HOME_DIR is the directory name of the
1032 configuration directory for this crypto engine. If HOME_DIR is
1033 ‘NULL’, the engine’s default will be used.
1034
1035 The new defaults are not applied to already created GPGME contexts.
1036
1037 This function returns the error code ‘GPG_ERR_NO_ERROR’ if
1038 successful, or an error code on failure.
1039
1040 The functions ‘gpgme_ctx_get_engine_info’ and
1041 ‘gpgme_ctx_set_engine_info’ can be used to change the engine
1042 configuration per context. *Note Crypto Engine::.
1043
1044 
1045 File: gpgme.info, Node: OpenPGP, Next: Cryptographic Message Syntax, Prev: Engine Configuration, Up: Protocols and Engines
1046
1047 3.4 OpenPGP
1048 ===========
1049
1050 OpenPGP is implemented by GnuPG, the GNU Privacy Guard. This is the
1051 first protocol that was supported by GPGME.
1052
1053 The OpenPGP protocol is specified by ‘GPGME_PROTOCOL_OpenPGP’.
1054
1055 
1056 File: gpgme.info, Node: Cryptographic Message Syntax, Next: Assuan, Prev: OpenPGP, Up: Protocols and Engines
1057
1058 3.5 Cryptographic Message Syntax
1059 ================================
1060
1061 CMS is implemented by GpgSM, the S/MIME implementation for GnuPG.
1062
1063 The CMS protocol is specified by ‘GPGME_PROTOCOL_CMS’.
1064
1065 
1066 File: gpgme.info, Node: Assuan, Prev: Cryptographic Message Syntax, Up: Protocols and Engines
1067
1068 3.6 Assuan
1069 ==========
1070
1071 Assuan is the RPC library used by the various GnuPG components. The
1072 Assuan protocol allows one to talk to arbitrary Assuan servers using
1073 GPGME. *Note Using the Assuan protocol::.
1074
1075 The ASSUAN protocol is specified by ‘GPGME_PROTOCOL_ASSUAN’.
1076
1077 
1078 File: gpgme.info, Node: Algorithms, Next: Error Handling, Prev: Protocols and Engines, Up: Top
1079
1080 4 Algorithms
1081 ************
1082
1083 The crypto backends support a variety of algorithms used in public key
1084 cryptography.(1) The following sections list the identifiers used to
1085 denote such an algorithm.
1086
1087 * Menu:
1088
1089 * Public Key Algorithms:: A list of all public key algorithms.
1090 * Hash Algorithms:: A list of all hash algorithms.
1091
1092 ---------- Footnotes ----------
1093
1094 (1) Some engines also provide symmetric only encryption; see the
1095 description of the encryption function on how to use this.
1096
1097 
1098 File: gpgme.info, Node: Public Key Algorithms, Next: Hash Algorithms, Up: Algorithms
1099
1100 4.1 Public Key Algorithms
1101 =========================
1102
1103 Public key algorithms are used for encryption, decryption, signing and
1104 verification of signatures.
1105
1106 -- Data type: enum gpgme_pubkey_algo_t
1107 The ‘gpgme_pubkey_algo_t’ type specifies the set of all public key
1108 algorithms that are supported by GPGME. Possible values are:
1109
1110 ‘GPGME_PK_RSA’
1111 This value indicates the RSA (Rivest, Shamir, Adleman)
1112 algorithm.
1113
1114 ‘GPGME_PK_RSA_E’
1115 Deprecated. This value indicates the RSA (Rivest, Shamir,
1116 Adleman) algorithm for encryption and decryption only.
1117
1118 ‘GPGME_PK_RSA_S’
1119 Deprecated. This value indicates the RSA (Rivest, Shamir,
1120 Adleman) algorithm for signing and verification only.
1121
1122 ‘GPGME_PK_DSA’
1123 This value indicates DSA, the Digital Signature Algorithm.
1124
1125 ‘GPGME_PK_ELG’
1126 This value indicates ElGamal.
1127
1128 ‘GPGME_PK_ELG_E’
1129 This value also indicates ElGamal and is used specifically in
1130 GnuPG.
1131
1132 ‘GPGME_PK_ECC’
1133 SINCE: 1.5.0
1134
1135 This value is a generic indicator for ellipic curve
1136 algorithms.
1137
1138 ‘GPGME_PK_ECDSA’
1139 SINCE: 1.3.0
1140
1141 This value indicates ECDSA, the Elliptic Curve Digital
1142 Signature Algorithm as defined by FIPS 186-2 and RFC-6637.
1143
1144 ‘GPGME_PK_ECDH’
1145 SINCE: 1.3.0
1146
1147 This value indicates ECDH, the Eliptic Curve Diffie-Hellmann
1148 encryption algorithm as defined by RFC-6637.
1149
1150 ‘GPGME_PK_EDDSA’
1151 SINCE: 1.7.0
1152
1153 This value indicates the EdDSA algorithm.
1154
1155 -- Function: const char * gpgme_pubkey_algo_name
1156 (gpgme_pubkey_algo_t ALGO)
1157 The function ‘gpgme_pubkey_algo_name’ returns a pointer to a
1158 statically allocated string containing a description of the public
1159 key algorithm ALGO. This string can be used to output the name of
1160 the public key algorithm to the user.
1161
1162 If ALGO is not a valid public key algorithm, ‘NULL’ is returned.
1163
1164 -- Function: char * gpgme_pubkey_algo_string (gpgme_subkey_t KEY)
1165 SINCE: 1.7.0
1166
1167 The function ‘gpgme_pubkey_algo_string’ is a convenience function
1168 to build and return an algorithm string in the same way GnuPG does
1169 (e.g. “rsa2048” or “ed25519”). The caller must free the result
1170 using ‘gpgme_free’. On error (e.g. invalid argument or memory
1171 exhausted), the function returns NULL and sets ‘ERRNO’.
1172
1173 
1174 File: gpgme.info, Node: Hash Algorithms, Prev: Public Key Algorithms, Up: Algorithms
1175
1176 4.2 Hash Algorithms
1177 ===================
1178
1179 Hash (message digest) algorithms are used to compress a long message to
1180 make it suitable for public key cryptography.
1181
1182 -- Data type: enum gpgme_hash_algo_t
1183 The ‘gpgme_hash_algo_t’ type specifies the set of all hash
1184 algorithms that are supported by GPGME. Possible values are:
1185
1186 ‘GPGME_MD_MD5’
1187 ‘GPGME_MD_SHA1’
1188 ‘GPGME_MD_RMD160’
1189 ‘GPGME_MD_MD2’
1190 ‘GPGME_MD_TIGER’
1191 ‘GPGME_MD_HAVAL’
1192 ‘GPGME_MD_SHA256’
1193 ‘GPGME_MD_SHA384’
1194 ‘GPGME_MD_SHA512’
1195 ‘GPGME_MD_SHA224’
1196 SINCE: 1.5.0
1197
1198 ‘GPGME_MD_MD4’
1199 ‘GPGME_MD_CRC32’
1200 ‘GPGME_MD_CRC32_RFC1510’
1201 ‘GPGME_MD_CRC24_RFC2440’
1202
1203 -- Function: const char * gpgme_hash_algo_name (gpgme_hash_algo_t ALGO)
1204 The function ‘gpgme_hash_algo_name’ returns a pointer to a
1205 statically allocated string containing a description of the hash
1206 algorithm ALGO. This string can be used to output the name of the
1207 hash algorithm to the user.
1208
1209 If ALGO is not a valid hash algorithm, ‘NULL’ is returned.
1210
1211 
1212 File: gpgme.info, Node: Error Handling, Next: Exchanging Data, Prev: Algorithms, Up: Top
1213
1214 5 Error Handling
1215 ****************
1216
1217 Many functions in GPGME can return an error if they fail. For this
1218 reason, the application should always catch the error condition and take
1219 appropriate measures, for example by releasing the resources and passing
1220 the error up to the caller, or by displaying a descriptive message to
1221 the user and cancelling the operation.
1222
1223 Some error values do not indicate a system error or an error in the
1224 operation, but the result of an operation that failed properly. For
1225 example, if you try to decrypt a tempered message, the decryption will
1226 fail. Another error value actually means that the end of a data buffer
1227 or list has been reached. The following descriptions explain for many
1228 error codes what they mean usually. Some error values have specific
1229 meanings if returned by a certain functions. Such cases are described
1230 in the documentation of those functions.
1231
1232 GPGME uses the ‘libgpg-error’ library. This allows to share the
1233 error codes with other components of the GnuPG system, and thus pass
1234 error values transparently from the crypto engine, or some helper
1235 application of the crypto engine, to the user. This way no information
1236 is lost. As a consequence, GPGME does not use its own identifiers for
1237 error codes, but uses those provided by ‘libgpg-error’. They usually
1238 start with ‘GPG_ERR_’.
1239
1240 However, GPGME does provide aliases for the functions defined in
1241 libgpg-error, which might be preferred for name space consistency.
1242
1243 * Menu:
1244
1245 * Error Values:: The error value and what it means.
1246 * Error Sources:: A list of important error sources.
1247 * Error Codes:: A list of important error codes.
1248 * Error Strings:: How to get a descriptive string from a value.
1249
1250 
1251 File: gpgme.info, Node: Error Values, Next: Error Sources, Up: Error Handling
1252
1253 5.1 Error Values
1254 ================
1255
1256 -- Data type: gpgme_err_code_t
1257 The ‘gpgme_err_code_t’ type is an alias for the ‘libgpg-error’ type
1258 ‘gpg_err_code_t’. The error code indicates the type of an error,
1259 or the reason why an operation failed.
1260
1261 A list of important error codes can be found in the next section.
1262
1263 -- Data type: gpgme_err_source_t
1264 The ‘gpgme_err_source_t’ type is an alias for the ‘libgpg-error’
1265 type ‘gpg_err_source_t’. The error source has not a precisely
1266 defined meaning. Sometimes it is the place where the error
1267 happened, sometimes it is the place where an error was encoded into
1268 an error value. Usually the error source will give an indication
1269 to where to look for the problem. This is not always true, but it
1270 is attempted to achieve this goal.
1271
1272 A list of important error sources can be found in the next section.
1273
1274 -- Data type: gpgme_error_t
1275 The ‘gpgme_error_t’ type is an alias for the ‘libgpg-error’ type
1276 ‘gpg_error_t’. An error value like this has always two components,
1277 an error code and an error source. Both together form the error
1278 value.
1279
1280 Thus, the error value can not be directly compared against an error
1281 code, but the accessor functions described below must be used.
1282 However, it is guaranteed that only 0 is used to indicate success
1283 (‘GPG_ERR_NO_ERROR’), and that in this case all other parts of the
1284 error value are set to 0, too.
1285
1286 Note that in GPGME, the error source is used purely for
1287 diagnostical purposes. Only the error code should be checked to
1288 test for a certain outcome of a function. The manual only
1289 documents the error code part of an error value. The error source
1290 is left unspecified and might be anything.
1291
1292 -- Function: static inline gpgme_err_code_t gpgme_err_code
1293 (gpgme_error_t ERR)
1294 The static inline function ‘gpgme_err_code’ returns the
1295 ‘gpgme_err_code_t’ component of the error value ERR. This function
1296 must be used to extract the error code from an error value in order
1297 to compare it with the ‘GPG_ERR_*’ error code macros.
1298
1299 -- Function: static inline gpgme_err_source_t gpgme_err_source
1300 (gpgme_error_t ERR)
1301 The static inline function ‘gpgme_err_source’ returns the
1302 ‘gpgme_err_source_t’ component of the error value ERR. This
1303 function must be used to extract the error source from an error
1304 value in order to compare it with the ‘GPG_ERR_SOURCE_*’ error
1305 source macros.
1306
1307 -- Function: static inline gpgme_error_t gpgme_err_make
1308 (gpgme_err_source_t SOURCE, gpgme_err_code_t CODE)
1309 The static inline function ‘gpgme_err_make’ returns the error value
1310 consisting of the error source SOURCE and the error code CODE.
1311
1312 This function can be used in callback functions to construct an
1313 error value to return it to the library.
1314
1315 -- Function: static inline gpgme_error_t gpgme_error
1316 (gpgme_err_code_t CODE)
1317 The static inline function ‘gpgme_error’ returns the error value
1318 consisting of the default error source and the error code CODE.
1319
1320 For GPGME applications, the default error source is
1321 ‘GPG_ERR_SOURCE_USER_1’. You can define ‘GPGME_ERR_SOURCE_DEFAULT’
1322 before including ‘gpgme.h’ to change this default.
1323
1324 This function can be used in callback functions to construct an
1325 error value to return it to the library.
1326
1327 The ‘libgpg-error’ library provides error codes for all system error
1328 numbers it knows about. If ERR is an unknown error number, the error
1329 code ‘GPG_ERR_UNKNOWN_ERRNO’ is used. The following functions can be
1330 used to construct error values from system errnor numbers.
1331
1332 -- Function: gpgme_error_t gpgme_err_make_from_errno
1333 (gpgme_err_source_t SOURCE, int ERR)
1334 The function ‘gpgme_err_make_from_errno’ is like ‘gpgme_err_make’,
1335 but it takes a system error like ‘errno’ instead of a
1336 ‘gpgme_err_code_t’ error code.
1337
1338 -- Function: gpgme_error_t gpgme_error_from_errno (int ERR)
1339 The function ‘gpgme_error_from_errno’ is like ‘gpgme_error’, but it
1340 takes a system error like ‘errno’ instead of a ‘gpgme_err_code_t’
1341 error code.
1342
1343 Sometimes you might want to map system error numbers to error codes
1344 directly, or map an error code representing a system error back to the
1345 system error number. The following functions can be used to do that.
1346
1347 -- Function: gpgme_err_code_t gpgme_err_code_from_errno (int ERR)
1348 The function ‘gpgme_err_code_from_errno’ returns the error code for
1349 the system error ERR. If ERR is not a known system error, the
1350 function returns ‘GPG_ERR_UNKNOWN_ERRNO’.
1351
1352 -- Function: int gpgme_err_code_to_errno (gpgme_err_code_t ERR)
1353 The function ‘gpgme_err_code_to_errno’ returns the system error for
1354 the error code ERR. If ERR is not an error code representing a
1355 system error, or if this system error is not defined on this
1356 system, the function returns ‘0’.
1357
1358 
1359 File: gpgme.info, Node: Error Sources, Next: Error Codes, Prev: Error Values, Up: Error Handling
1360
1361 5.2 Error Sources
1362 =================
1363
1364 The library ‘libgpg-error’ defines an error source for every component
1365 of the GnuPG system. The error source part of an error value is not
1366 well defined. As such it is mainly useful to improve the diagnostic
1367 error message for the user.
1368
1369 If the error code part of an error value is ‘0’, the whole error
1370 value will be ‘0’. In this case the error source part is of course
1371 ‘GPG_ERR_SOURCE_UNKNOWN’.
1372
1373 The list of error sources that might occur in applications using
1374 GPGME is:
1375
1376 ‘GPG_ERR_SOURCE_UNKNOWN’
1377 The error source is not known. The value of this error source is
1378 ‘0’.
1379
1380 ‘GPG_ERR_SOURCE_GPGME’
1381 The error source is GPGME itself. This is the default for errors
1382 that occur in the GPGME library.
1383
1384 ‘GPG_ERR_SOURCE_GPG’
1385 The error source is GnuPG, which is the crypto engine used for the
1386 OpenPGP protocol.
1387
1388 ‘GPG_ERR_SOURCE_GPGSM’
1389 The error source is GPGSM, which is the crypto engine used for the
1390 CMS protocol.
1391
1392 ‘GPG_ERR_SOURCE_GCRYPT’
1393 The error source is ‘libgcrypt’, which is used by crypto engines to
1394 perform cryptographic operations.
1395
1396 ‘GPG_ERR_SOURCE_GPGAGENT’
1397 The error source is ‘gpg-agent’, which is used by crypto engines to
1398 perform operations with the secret key.
1399
1400 ‘GPG_ERR_SOURCE_PINENTRY’
1401 The error source is ‘pinentry’, which is used by ‘gpg-agent’ to
1402 query the passphrase to unlock a secret key.
1403
1404 ‘GPG_ERR_SOURCE_SCD’
1405 The error source is the SmartCard Daemon, which is used by
1406 ‘gpg-agent’ to delegate operations with the secret key to a
1407 SmartCard.
1408
1409 ‘GPG_ERR_SOURCE_KEYBOX’
1410 The error source is ‘libkbx’, a library used by the crypto engines
1411 to manage local keyrings.
1412
1413 ‘GPG_ERR_SOURCE_USER_1’
1414 ‘GPG_ERR_SOURCE_USER_2’
1415 ‘GPG_ERR_SOURCE_USER_3’
1416 ‘GPG_ERR_SOURCE_USER_4’
1417 These error sources are not used by any GnuPG component and can be
1418 used by other software. For example, applications using GPGME can
1419 use them to mark error values coming from callback handlers. Thus
1420 ‘GPG_ERR_SOURCE_USER_1’ is the default for errors created with
1421 ‘gpgme_error’ and ‘gpgme_error_from_errno’, unless you define
1422 ‘GPGME_ERR_SOURCE_DEFAULT’ before including ‘gpgme.h’.
1423
1424 
1425 File: gpgme.info, Node: Error Codes, Next: Error Strings, Prev: Error Sources, Up: Error Handling
1426
1427 5.3 Error Codes
1428 ===============
1429
1430 The library ‘libgpg-error’ defines many error values. Most of them are
1431 not used by ‘GPGME’ directly, but might be returned by GPGME because it
1432 received them from the crypto engine. The below list only includes such
1433 error codes that have a specific meaning in ‘GPGME’, or which are so
1434 common that you should know about them.
1435
1436 ‘GPG_ERR_EOF’
1437 This value indicates the end of a list, buffer or file.
1438
1439 ‘GPG_ERR_NO_ERROR’
1440 This value indicates success. The value of this error code is ‘0’.
1441 Also, it is guaranteed that an error value made from the error code
1442 ‘0’ will be ‘0’ itself (as a whole). This means that the error
1443 source information is lost for this error code, however, as this
1444 error code indicates that no error occurred, this is generally not
1445 a problem.
1446
1447 ‘GPG_ERR_GENERAL’
1448 This value means that something went wrong, but either there is not
1449 enough information about the problem to return a more useful error
1450 value, or there is no separate error value for this type of
1451 problem.
1452
1453 ‘GPG_ERR_ENOMEM’
1454 This value means that an out-of-memory condition occurred.
1455
1456 ‘GPG_ERR_E...’
1457 System errors are mapped to GPG_ERR_FOO where FOO is the symbol for
1458 the system error.
1459
1460 ‘GPG_ERR_INV_VALUE’
1461 This value means that some user provided data was out of range.
1462 This can also refer to objects. For example, if an empty
1463 ‘gpgme_data_t’ object was expected, but one containing data was
1464 provided, this error value is returned.
1465
1466 ‘GPG_ERR_UNUSABLE_PUBKEY’
1467 This value means that some recipients for a message were invalid.
1468
1469 ‘GPG_ERR_UNUSABLE_SECKEY’
1470 This value means that some signers were invalid.
1471
1472 ‘GPG_ERR_NO_DATA’
1473 This value means that a ‘gpgme_data_t’ object which was expected to
1474 have content was found empty.
1475
1476 ‘GPG_ERR_CONFLICT’
1477 This value means that a conflict of some sort occurred.
1478
1479 ‘GPG_ERR_NOT_IMPLEMENTED’
1480 This value indicates that the specific function (or operation) is
1481 not implemented. This error should never happen. It can only
1482 occur if you use certain values or configuration options which do
1483 not work, but for which we think that they should work at some
1484 later time.
1485
1486 ‘GPG_ERR_DECRYPT_FAILED’
1487 This value indicates that a decryption operation was unsuccessful.
1488
1489 ‘GPG_ERR_BAD_PASSPHRASE’
1490 This value means that the user did not provide a correct passphrase
1491 when requested.
1492
1493 ‘GPG_ERR_CANCELED’
1494 This value means that the operation was canceled.
1495
1496 ‘GPG_ERR_INV_ENGINE’
1497 This value means that the engine that implements the desired
1498 protocol is currently not available. This can either be because
1499 the sources were configured to exclude support for this engine, or
1500 because the engine is not installed properly.
1501
1502 ‘GPG_ERR_AMBIGUOUS_NAME’
1503 This value indicates that a user ID or other specifier did not
1504 specify a unique key.
1505
1506 ‘GPG_ERR_WRONG_KEY_USAGE’
1507 This value indicates that a key is not used appropriately.
1508
1509 ‘GPG_ERR_CERT_REVOKED’
1510 This value indicates that a key signature was revoced.
1511
1512 ‘GPG_ERR_CERT_EXPIRED’
1513 This value indicates that a key signature expired.
1514
1515 ‘GPG_ERR_NO_CRL_KNOWN’
1516 This value indicates that no certificate revocation list is known
1517 for the certificate.
1518
1519 ‘GPG_ERR_NO_POLICY_MATCH’
1520 This value indicates that a policy issue occurred.
1521
1522 ‘GPG_ERR_NO_SECKEY’
1523 This value indicates that no secret key for the user ID is
1524 available.
1525
1526 ‘GPG_ERR_MISSING_CERT’
1527 This value indicates that a key could not be imported because the
1528 issuer certificate is missing.
1529
1530 ‘GPG_ERR_BAD_CERT_CHAIN’
1531 This value indicates that a key could not be imported because its
1532 certificate chain is not good, for example it could be too long.
1533
1534 ‘GPG_ERR_UNSUPPORTED_ALGORITHM’
1535 This value means a verification failed because the cryptographic
1536 algorithm is not supported by the crypto backend.
1537
1538 ‘GPG_ERR_BAD_SIGNATURE’
1539 This value means a verification failed because the signature is
1540 bad.
1541
1542 ‘GPG_ERR_NO_PUBKEY’
1543 This value means a verification failed because the public key is
1544 not available.
1545
1546 ‘GPG_ERR_USER_1’
1547 ‘GPG_ERR_USER_2’
1548 ‘...’
1549 ‘GPG_ERR_USER_16’
1550 These error codes are not used by any GnuPG component and can be
1551 freely used by other software. Applications using GPGME might use
1552 them to mark specific errors returned by callback handlers if no
1553 suitable error codes (including the system errors) for these errors
1554 exist already.
1555
1556 
1557 File: gpgme.info, Node: Error Strings, Prev: Error Codes, Up: Error Handling
1558
1559 5.4 Error Strings
1560 =================
1561
1562 -- Function: const char * gpgme_strerror (gpgme_error_t ERR)
1563 The function ‘gpgme_strerror’ returns a pointer to a statically
1564 allocated string containing a description of the error code
1565 contained in the error value ERR. This string can be used to
1566 output a diagnostic message to the user.
1567
1568 This function is not thread safe. Use ‘gpgme_strerror_r’ in
1569 multi-threaded programs.
1570
1571 -- Function: int gpgme_strerror_r (gpgme_error_t ERR, char *BUF,
1572 size_t BUFLEN)
1573 The function ‘gpgme_strerror_r’ returns the error string for ERR in
1574 the user-supplied buffer BUF of size BUFLEN. This function is, in
1575 contrast to ‘gpgme_strerror’, thread-safe if a thread-safe
1576 ‘strerror_r’ function is provided by the system. If the function
1577 succeeds, 0 is returned and BUF contains the string describing the
1578 error. If the buffer was not large enough, ERANGE is returned and
1579 BUF contains as much of the beginning of the error string as fits
1580 into the buffer.
1581
1582 -- Function: const char * gpgme_strsource (gpgme_error_t ERR)
1583 The function ‘gpgme_strerror’ returns a pointer to a statically
1584 allocated string containing a description of the error source
1585 contained in the error value ERR. This string can be used to
1586 output a diagnostic message to the user.
1587
1588 The following example illustrates the use of ‘gpgme_strerror’:
1589
1590 gpgme_ctx_t ctx;
1591 gpgme_error_t err = gpgme_new (&ctx);
1592 if (err)
1593 {
1594 fprintf (stderr, "%s: creating GpgME context failed: %s: %s\n",
1595 argv[0], gpgme_strsource (err), gpgme_strerror (err));
1596 exit (1);
1597 }
1598
1599 
1600 File: gpgme.info, Node: Exchanging Data, Next: Contexts, Prev: Error Handling, Up: Top
1601
1602 6 Exchanging Data
1603 *****************
1604
1605 A lot of data has to be exchanged between the user and the crypto
1606 engine, like plaintext messages, ciphertext, signatures and information
1607 about the keys. The technical details about exchanging the data
1608 information are completely abstracted by GPGME. The user provides and
1609 receives the data via ‘gpgme_data_t’ objects, regardless of the
1610 communication protocol between GPGME and the crypto engine in use.
1611
1612 -- Data type: gpgme_data_t
1613 The ‘gpgme_data_t’ type is a handle for a container for generic
1614 data, which is used by GPGME to exchange data with the user.
1615
1616 ‘gpgme_data_t’ objects do not provide notifications on events. It is
1617 assumed that read and write operations are blocking until data is
1618 available. If this is undesirable, the application must ensure that all
1619 GPGME data operations always have data available, for example by using
1620 memory buffers or files rather than pipes or sockets. This might be
1621 relevant, for example, if the external event loop mechanism is used.
1622
1623 -- Data type: gpgme_off_t
1624 SINCE: 1.4.1
1625
1626 On POSIX platforms the ‘gpgme_off_t’ type is an alias for ‘off_t’;
1627 it may be used interchangeable. On Windows platforms ‘gpgme_off_t’
1628 is defined as a long (i.e. 32 bit) for 32 bit Windows and as a 64
1629 bit signed integer for 64 bit Windows.
1630
1631 -- Data type: gpgme_ssize_t
1632 The ‘gpgme_ssize_t’ type is an alias for ‘ssize_t’. It has only
1633 been introduced to overcome portability problems pertaining to the
1634 declaration of ‘ssize_t’ by different toolchains.
1635
1636 * Menu:
1637
1638 * Creating Data Buffers:: Creating new data buffers.
1639 * Destroying Data Buffers:: Releasing data buffers.
1640 * Manipulating Data Buffers:: Operations on data buffers.
1641
1642 
1643 File: gpgme.info, Node: Creating Data Buffers, Next: Destroying Data Buffers, Up: Exchanging Data
1644
1645 6.1 Creating Data Buffers
1646 =========================
1647
1648 Data objects can be based on memory, files, or callback functions
1649 provided by the user. Not all operations are supported by all objects.
1650
1651 * Menu:
1652
1653 * Memory Based Data Buffers:: Creating memory based data buffers.
1654 * File Based Data Buffers:: Creating file based data buffers.
1655 * Callback Based Data Buffers:: Creating callback based data buffers.
1656
1657 
1658 File: gpgme.info, Node: Memory Based Data Buffers, Next: File Based Data Buffers, Up: Creating Data Buffers
1659
1660 6.1.1 Memory Based Data Buffers
1661 -------------------------------
1662
1663 Memory based data objects store all data in allocated memory. This is
1664 convenient, but only practical for an amount of data that is a fraction
1665 of the available physical memory. The data has to be copied from its
1666 source and to its destination, which can often be avoided by using one
1667 of the other data object
1668
1669 -- Function: gpgme_error_t gpgme_data_new (gpgme_data_t *DH)
1670 The function ‘gpgme_data_new’ creates a new ‘gpgme_data_t’ object
1671 and returns a handle for it in DH. The data object is memory based
1672 and initially empty.
1673
1674 The function returns the error code ‘GPG_ERR_NO_ERROR’ if the data
1675 object was successfully created, ‘GPG_ERR_INV_VALUE’ if DH is not a
1676 valid pointer, and ‘GPG_ERR_ENOMEM’ if not enough memory is
1677 available.
1678
1679 -- Function: gpgme_error_t gpgme_data_new_from_mem (gpgme_data_t *DH,
1680 const char *BUFFER, size_t SIZE, int COPY)
1681 The function ‘gpgme_data_new_from_mem’ creates a new ‘gpgme_data_t’
1682 object and fills it with SIZE bytes starting from BUFFER.
1683
1684 If COPY is not zero, a private copy of the data is made. If COPY
1685 is zero, the data is taken from the specified buffer as needed, and
1686 the user has to ensure that the buffer remains valid for the whole
1687 life span of the data object.
1688
1689 The function returns the error code ‘GPG_ERR_NO_ERROR’ if the data
1690 object was successfully created, ‘GPG_ERR_INV_VALUE’ if DH or
1691 BUFFER is not a valid pointer, and ‘GPG_ERR_ENOMEM’ if not enough
1692 memory is available.
1693
1694 -- Function: gpgme_error_t gpgme_data_new_from_file (gpgme_data_t *DH,
1695 const char *FILENAME, int COPY)
1696 The function ‘gpgme_data_new_from_file’ creates a new
1697 ‘gpgme_data_t’ object and fills it with the content of the file
1698 FILENAME.
1699
1700 If COPY is not zero, the whole file is read in at initialization
1701 time and the file is not used anymore after that. This is the only
1702 mode supported currently. Later, a value of zero for COPY might
1703 cause all reads to be delayed until the data is needed, but this is
1704 not yet implemented.
1705
1706 The function returns the error code ‘GPG_ERR_NO_ERROR’ if the data
1707 object was successfully created, ‘GPG_ERR_INV_VALUE’ if DH or
1708 FILENAME is not a valid pointer, ‘GPG_ERR_NOT_IMPLEMENTED’ if CODE
1709 is zero, and ‘GPG_ERR_ENOMEM’ if not enough memory is available.
1710
1711 -- Function: gpgme_error_t gpgme_data_new_from_filepart
1712 (gpgme_data_t *DH, const char *FILENAME, FILE *FP,
1713 off_t OFFSET, size_t LENGTH)
1714 The function ‘gpgme_data_new_from_filepart’ creates a new
1715 ‘gpgme_data_t’ object and fills it with a part of the file
1716 specified by FILENAME or FP.
1717
1718 Exactly one of FILENAME and FP must be non-zero, the other must be
1719 zero. The argument that is not zero specifies the file from which
1720 LENGTH bytes are read into the data object, starting from OFFSET.
1721
1722 The function returns the error code ‘GPG_ERR_NO_ERROR’ if the data
1723 object was successfully created, ‘GPG_ERR_INV_VALUE’ if DH and
1724 exactly one of FILENAME and FP is not a valid pointer, and
1725 ‘GPG_ERR_ENOMEM’ if not enough memory is available.
1726
1727 
1728 File: gpgme.info, Node: File Based Data Buffers, Next: Callback Based Data Buffers, Prev: Memory Based Data Buffers, Up: Creating Data Buffers
1729
1730 6.1.2 File Based Data Buffers
1731 -----------------------------
1732
1733 File based data objects operate directly on file descriptors or streams.
1734 Only a small amount of data is stored in core at any time, so the size
1735 of the data objects is not limited by GPGME.
1736
1737 -- Function: gpgme_error_t gpgme_data_new_from_fd (gpgme_data_t *DH,
1738 int FD)
1739 The function ‘gpgme_data_new_from_fd’ creates a new ‘gpgme_data_t’
1740 object and uses the file descriptor FD to read from (if used as an
1741 input data object) and write to (if used as an output data object).
1742
1743 When using the data object as an input buffer, the function might
1744 read a bit more from the file descriptor than is actually needed by
1745 the crypto engine in the desired operation because of internal
1746 buffering.
1747
1748 Note that GPGME assumes that the file descriptor is set to blocking
1749 mode. Errors during I/O operations, except for EINTR, are usually
1750 fatal for crypto operations.
1751
1752 The function returns the error code ‘GPG_ERR_NO_ERROR’ if the data
1753 object was successfully created, and ‘GPG_ERR_ENOMEM’ if not enough
1754 memory is available.
1755
1756 -- Function: gpgme_error_t gpgme_data_new_from_stream
1757 (gpgme_data_t *DH, FILE *STREAM)
1758 The function ‘gpgme_data_new_from_stream’ creates a new
1759 ‘gpgme_data_t’ object and uses the I/O stream STREAM to read from
1760 (if used as an input data object) and write to (if used as an
1761 output data object).
1762
1763 When using the data object as an input buffer, the function might
1764 read a bit more from the stream than is actually needed by the
1765 crypto engine in the desired operation because of internal
1766 buffering.
1767
1768 Note that GPGME assumes that the stream is in blocking mode.
1769 Errors during I/O operations, except for EINTR, are usually fatal
1770 for crypto operations.
1771
1772 The function returns the error code ‘GPG_ERR_NO_ERROR’ if the data
1773 object was successfully created, and ‘GPG_ERR_ENOMEM’ if not enough
1774 memory is available.
1775
1776 -- Function: gpgme_error_t gpgme_data_new_from_estream
1777 (gpgme_data_t *DH, gpgrt_stream_t STREAM)
1778 The function ‘gpgme_data_new_from_estream’ creates a new
1779 ‘gpgme_data_t’ object and uses the gpgrt stream STREAM to read from
1780 (if used as an input data object) and write to (if used as an
1781 output data object).
1782
1783 When using the data object as an input buffer, the function might
1784 read a bit more from the stream than is actually needed by the
1785 crypto engine in the desired operation because of internal
1786 buffering.
1787
1788 Note that GPGME assumes that the stream is in blocking mode.
1789 Errors during I/O operations, except for EINTR, are usually fatal
1790 for crypto operations.
1791
1792 The function returns the error code ‘GPG_ERR_NO_ERROR’ if the data
1793 object was successfully created, and ‘GPG_ERR_ENOMEM’ if not enough
1794 memory is available.
1795
1796 
1797 File: gpgme.info, Node: Callback Based Data Buffers, Prev: File Based Data Buffers, Up: Creating Data Buffers
1798
1799 6.1.3 Callback Based Data Buffers
1800 ---------------------------------
1801
1802 If neither memory nor file based data objects are a good fit for your
1803 application, you can implement the functions a data object provides
1804 yourself and create a data object from these callback functions.
1805
1806 -- Data type: ssize_t (*gpgme_data_read_cb_t) (void *HANDLE,
1807 void *BUFFER, size_t SIZE)
1808 The ‘gpgme_data_read_cb_t’ type is the type of functions which
1809 GPGME calls if it wants to read data from a user-implemented data
1810 object. The function should read up to SIZE bytes from the current
1811 read position into the space starting at BUFFER. The HANDLE is
1812 provided by the user at data object creation time.
1813
1814 Note that GPGME assumes that the read blocks until data is
1815 available. Errors during I/O operations, except for EINTR, are
1816 usually fatal for crypto operations.
1817
1818 The function should return the number of bytes read, 0 on EOF, and
1819 -1 on error. If an error occurs, ERRNO should be set to describe
1820 the type of the error.
1821
1822 -- Data type: ssize_t (*gpgme_data_write_cb_t) (void *HANDLE,
1823 const void *BUFFER, size_t SIZE)
1824 The ‘gpgme_data_write_cb_t’ type is the type of functions which
1825 GPGME calls if it wants to write data to a user-implemented data
1826 object. The function should write up to SIZE bytes to the current
1827 write position from the space starting at BUFFER. The HANDLE is
1828 provided by the user at data object creation time.
1829
1830 Note that GPGME assumes that the write blocks until data is
1831 available. Errors during I/O operations, except for EINTR, are
1832 usually fatal for crypto operations.
1833
1834 The function should return the number of bytes written, and -1 on
1835 error. If an error occurs, ERRNO should be set to describe the
1836 type of the error.
1837
1838 -- Data type: off_t (*gpgme_data_seek_cb_t) (void *HANDLE,
1839 off_t OFFSET, int WHENCE)
1840 The ‘gpgme_data_seek_cb_t’ type is the type of functions which
1841 GPGME calls if it wants to change the current read/write position
1842 in a user-implemented data object, just like the ‘lseek’ function.
1843
1844 The function should return the new read/write position, and -1 on
1845 error. If an error occurs, ERRNO should be set to describe the
1846 type of the error.
1847
1848 -- Data type: void (*gpgme_data_release_cb_t) (void *HANDLE)
1849 The ‘gpgme_data_release_cb_t’ type is the type of functions which
1850 GPGME calls if it wants to destroy a user-implemented data object.
1851 The HANDLE is provided by the user at data object creation time.
1852
1853 -- Data type: struct gpgme_data_cbs
1854 This structure is used to store the data callback interface
1855 functions described above. It has the following members:
1856
1857 ‘gpgme_data_read_cb_t read’
1858 This is the function called by GPGME to read data from the
1859 data object. It is only required for input data object.
1860
1861 ‘gpgme_data_write_cb_t write’
1862 This is the function called by GPGME to write data to the data
1863 object. It is only required for output data object.
1864
1865 ‘gpgme_data_seek_cb_t seek’
1866 This is the function called by GPGME to change the current
1867 read/write pointer in the data object (if available). It is
1868 optional.
1869
1870 ‘gpgme_data_release_cb_t release’
1871 This is the function called by GPGME to release a data object.
1872 It is optional.
1873
1874 -- Function: gpgme_error_t gpgme_data_new_from_cbs (gpgme_data_t *DH,
1875 gpgme_data_cbs_t CBS, void *HANDLE)
1876 The function ‘gpgme_data_new_from_cbs’ creates a new ‘gpgme_data_t’
1877 object and uses the user-provided callback functions to operate on
1878 the data object.
1879
1880 The handle HANDLE is passed as first argument to the callback
1881 functions. This can be used to identify this data object.
1882
1883 The function returns the error code ‘GPG_ERR_NO_ERROR’ if the data
1884 object was successfully created, and ‘GPG_ERR_ENOMEM’ if not enough
1885 memory is available.
1886
1887 
1888 File: gpgme.info, Node: Destroying Data Buffers, Next: Manipulating Data Buffers, Prev: Creating Data Buffers, Up: Exchanging Data
1889
1890 6.2 Destroying Data Buffers
1891 ===========================
1892
1893 -- Function: void gpgme_data_release (gpgme_data_t DH)
1894 The function ‘gpgme_data_release’ destroys the data object with the
1895 handle DH. It releases all associated resources that were not
1896 provided by the user in the first place.
1897
1898 -- Function: char * gpgme_data_release_and_get_mem (gpgme_data_t DH,
1899 size_t *LENGTH)
1900 The function ‘gpgme_data_release_and_get_mem’ is like
1901 ‘gpgme_data_release’, except that it returns the data buffer and
1902 its length that was provided by the object.
1903
1904 The user has to release the buffer with ‘gpgme_free’. In case the
1905 user provided the data buffer in non-copy mode, a copy will be made
1906 for this purpose.
1907
1908 In case an error returns, or there is no suitable data buffer that
1909 can be returned to the user, the function will return ‘NULL’. In
1910 any case, the data object DH is destroyed.
1911
1912 -- Function: void gpgme_free (void *BUFFER)
1913 SINCE: 1.1.1
1914
1915 The function ‘gpgme_free’ releases the memory returned by
1916 ‘gpgme_data_release_and_get_mem’ and ‘gpgme_pubkey_algo_string’.
1917 It should be used instead of the system libraries ‘free’ function
1918 in case different allocators are used by a program. This is often
1919 the case if gpgme is used under Windows as a DLL.
1920
1921 
1922 File: gpgme.info, Node: Manipulating Data Buffers, Prev: Destroying Data Buffers, Up: Exchanging Data
1923
1924 6.3 Manipulating Data Buffers
1925 =============================
1926
1927 Data buffers contain data and meta-data. The following operations can
1928 be used to manipulate both.
1929
1930 * Menu:
1931
1932 * Data Buffer I/O Operations:: I/O operations on data buffers.
1933 * Data Buffer Meta-Data:: Meta-data manipulation of data buffers.
1934 * Data Buffer Convenience:: Convenience function for data buffers.
1935
1936 
1937 File: gpgme.info, Node: Data Buffer I/O Operations, Next: Data Buffer Meta-Data, Up: Manipulating Data Buffers
1938
1939 6.3.1 Data Buffer I/O Operations
1940 --------------------------------
1941
1942 -- Function: ssize_t gpgme_data_read (gpgme_data_t DH, void *BUFFER,
1943 size_t LENGTH)
1944 The function ‘gpgme_data_read’ reads up to LENGTH bytes from the
1945 data object with the handle DH into the space starting at BUFFER.
1946
1947 If no error occurs, the actual amount read is returned. If the end
1948 of the data object is reached, the function returns 0.
1949
1950 In all other cases, the function returns -1 and sets ERRNO.
1951
1952 -- Function: ssize_t gpgme_data_write (gpgme_data_t DH,
1953 const void *BUFFER, size_t SIZE)
1954 The function ‘gpgme_data_write’ writes up to SIZE bytes starting
1955 from BUFFER into the data object with the handle DH at the current
1956 write position.
1957
1958 The function returns the number of bytes actually written, or -1 if
1959 an error occurs. If an error occurs, ERRNO is set.
1960
1961 -- Function: off_t gpgme_data_seek (gpgme_data_t DH, off_t OFFSET,
1962 int WHENCE)
1963 The function ‘gpgme_data_seek’ changes the current read/write
1964 position.
1965
1966 The WHENCE argument specifies how the OFFSET should be interpreted.
1967 It must be one of the following symbolic constants:
1968
1969 ‘SEEK_SET’
1970 Specifies that OFFSET is a count of characters from the
1971 beginning of the data object.
1972
1973 ‘SEEK_CUR’
1974 Specifies that OFFSET is a count of characters from the
1975 current file position. This count may be positive or
1976 negative.
1977
1978 ‘SEEK_END’
1979 Specifies that OFFSET is a count of characters from the end of
1980 the data object. A negative count specifies a position within
1981 the current extent of the data object; a positive count
1982 specifies a position past the current end. If you set the
1983 position past the current end, and actually write data, you
1984 will extend the data object with zeros up to that position.
1985
1986 If successful, the function returns the resulting file position,
1987 measured in bytes from the beginning of the data object. You can
1988 use this feature together with ‘SEEK_CUR’ to read the current
1989 read/write position.
1990
1991 If the function fails, -1 is returned and ERRNO is set.
1992
1993 
1994 File: gpgme.info, Node: Data Buffer Meta-Data, Next: Data Buffer Convenience, Prev: Data Buffer I/O Operations, Up: Manipulating Data Buffers
1995
1996 6.3.2 Data Buffer Meta-Data
1997 ---------------------------
1998
1999 -- Function: char * gpgme_data_get_file_name (gpgme_data_t DH)
2000 SINCE: 1.1.0
2001
2002 The function ‘gpgme_data_get_file_name’ returns a pointer to a
2003 string containing the file name associated with the data object.
2004 The file name will be stored in the output when encrypting or
2005 signing the data and will be returned to the user when decrypting
2006 or verifying the output data.
2007
2008 If no error occurs, the string containing the file name is
2009 returned. Otherwise, ‘NULL’ will be returned.
2010
2011 -- Function: gpgme_error_t gpgme_data_set_file_name (gpgme_data_t DH,
2012 const char *FILE_NAME)
2013 SINCE: 1.1.0
2014
2015 The function ‘gpgme_data_set_file_name’ sets the file name
2016 associated with the data object. The file name will be stored in
2017 the output when encrypting or signing the data and will be returned
2018 to the user when decrypting or verifying the output data.
2019
2020 The function returns the error code ‘GPG_ERR_INV_VALUE’ if DH is
2021 not a valid pointer and ‘GPG_ERR_ENOMEM’ if not enough memory is
2022 available.
2023
2024 -- Data type: enum gpgme_data_encoding_t
2025 The ‘gpgme_data_encoding_t’ type specifies the encoding of a
2026 ‘gpgme_data_t’ object. For input data objects, the encoding is
2027 useful to give the backend a hint on the type of data. For output
2028 data objects, the encoding can specify the output data format on
2029 certain operations. Please note that not all backends support all
2030 encodings on all operations. The following data types are
2031 available:
2032
2033 ‘GPGME_DATA_ENCODING_NONE’
2034 This specifies that the encoding is not known. This is the
2035 default for a new data object. The backend will try its best
2036 to detect the encoding automatically.
2037
2038 ‘GPGME_DATA_ENCODING_BINARY’
2039 This specifies that the data is encoding in binary form; i.e.
2040 there is no special encoding.
2041
2042 ‘GPGME_DATA_ENCODING_BASE64’
2043 This specifies that the data is encoded using the Base-64
2044 encoding scheme as used by MIME and other protocols.
2045
2046 ‘GPGME_DATA_ENCODING_ARMOR’
2047 This specifies that the data is encoded in an armored form as
2048 used by OpenPGP and PEM.
2049
2050 ‘GPGME_DATA_ENCODING_MIME’
2051 SINCE: 1.7.0
2052
2053 This specifies that the data is encoded as a MIME part.
2054
2055 ‘GPGME_DATA_ENCODING_URL’
2056 SINCE: 1.2.0
2057
2058 The data is a list of linefeed delimited URLs. This is only
2059 useful with ‘gpgme_op_import’.
2060
2061 ‘GPGME_DATA_ENCODING_URL0’
2062 SINCE: 1.2.0
2063
2064 The data is a list of binary zero delimited URLs. This is
2065 only useful with ‘gpgme_op_import’.
2066
2067 ‘GPGME_DATA_ENCODING_URLESC’
2068 SINCE: 1.2.0
2069
2070 The data is a list of linefeed delimited URLs with all control
2071 and space characters percent escaped. This mode is is not yet
2072 implemented.
2073
2074 -- Function: gpgme_data_encoding_t gpgme_data_get_encoding
2075 (gpgme_data_t DH)
2076 The function ‘gpgme_data_get_encoding’ returns the encoding of the
2077 data object with the handle DH. If DH is not a valid pointer (e.g.
2078 ‘NULL’) ‘GPGME_DATA_ENCODING_NONE’ is returned.
2079
2080 -- Function: gpgme_error_t gpgme_data_set_encoding
2081 (gpgme_data_t DH, gpgme_data_encoding_t ENC)
2082 The function ‘gpgme_data_set_encoding’ changes the encoding of the
2083 data object with the handle DH to ENC.
2084
2085 -- Function: gpgme_error_t gpgme_data_set_flag (gpgme_data_t DH,
2086 const char *NAME, const char *VALUE)
2087
2088 SINCE: 1.7.0
2089
2090 Some minor properties of the data object can be controlled with
2091 flags set by this function. The properties are identified by the
2092 following values for NAME:
2093
2094 ‘size-hint’
2095 The value is a decimal number with the length gpgme shall
2096 assume for this data object. This is useful if the data is
2097 provided by callbacks or via file descriptors but the
2098 applications knows the total size of the data. If this is set
2099 the OpenPGP engine may use this to decide on buffer allocation
2100 strategies and to provide a total value for its progress
2101 information.
2102
2103 ‘io-buffer-size’
2104 The value is a decimal number with the length of internal
2105 buffers to used for internal I/O operations. The value is
2106 capped at 1048576 (1 MiB). In certain environments large
2107 buffers can yield a performance boost for callback bases data
2108 object, but the details depend a lot on the circumstances and
2109 the operating system. This flag may only be set once and must
2110 be set before any actual I/O happens ion the data objects.
2111
2112 ‘sensitive’
2113 If the numeric value is not 0 the data object is considered to
2114 contain sensitive information like passwords or key material.
2115 If this is set the internal buffers are securely overwritten
2116 with zeroes by gpgme_data_release.
2117
2118 This function returns ‘0’ on success.
2119
2120 
2121 File: gpgme.info, Node: Data Buffer Convenience, Prev: Data Buffer Meta-Data, Up: Manipulating Data Buffers
2122
2123 6.3.3 Data Buffer Convenience Functions
2124 ---------------------------------------
2125
2126 -- Data type: enum gpgme_data_type_t
2127 SINCE: 1.4.3
2128
2129 The ‘gpgme_data_type_t’ type is used to return the detected type of
2130 the content of a data buffer.
2131
2132 ‘GPGME_DATA_TYPE_INVALID’
2133 This is returned by ‘gpgme_data_identify’ if it was not possible to
2134 identify the data. Reasons for this might be a non-seekable stream
2135 or a memory problem. The value is 0.
2136 ‘GPGME_DATA_TYPE_UNKNOWN’
2137 The type of the data is not known.
2138 ‘GPGME_DATA_TYPE_PGP_SIGNED’
2139 The data is an OpenPGP signed message. This may be a binary
2140 signature, a detached one or a cleartext signature.
2141 ‘GPGME_DATA_TYPE_PGP_ENCRYPTED’
2142 SINCE: 1.7.0
2143
2144 The data is an OpenPGP encrypted message.
2145 ‘GPGME_DATA_TYPE_PGP_SIGNATURE’
2146 SINCE: 1.7.0
2147
2148 The data is an OpenPGP detached signature.
2149 ‘GPGME_DATA_TYPE_PGP_OTHER’
2150 This is a generic OpenPGP message. In most cases this will be
2151 encrypted data.
2152 ‘GPGME_DATA_TYPE_PGP_KEY’
2153 This is an OpenPGP key (private or public).
2154 ‘GPGME_DATA_TYPE_CMS_SIGNED’
2155 This is a CMS signed message.
2156 ‘GPGME_DATA_TYPE_CMS_ENCRYPTED’
2157 This is a CMS encrypted (enveloped data) message.
2158 ‘GPGME_DATA_TYPE_CMS_OTHER’
2159 This is used for other CMS message types.
2160 ‘GPGME_DATA_TYPE_X509_CERT’
2161 The data is a X.509 certificate
2162 ‘GPGME_DATA_TYPE_PKCS12’
2163 The data is a PKCS#12 message. This is commonly used to exchange
2164 private keys for X.509.
2165
2166 -- Function: gpgme_data_type_t gpgme_data_identify (gpgme_data_t DH)
2167 SINCE: 1.4.3
2168
2169 The function ‘gpgme_data_identify’ returns the type of the data
2170 with the handle DH. If it is not possible to perform the
2171 identification, the function returns zero
2172 (‘GPGME_DATA_TYPE_INVALID’). Note that depending on how the data
2173 object has been created the identification may not be possible or
2174 the data object may change its internal state (file pointer moved).
2175 For file or memory based data object, the state should not change.
2176
2177 
2178 File: gpgme.info, Node: Contexts, Next: UI Server Protocol, Prev: Exchanging Data, Up: Top
2179
2180 7 Contexts
2181 **********
2182
2183 All cryptographic operations in GPGME are performed within a context,
2184 which contains the internal state of the operation as well as
2185 configuration parameters. By using several contexts you can run several
2186 cryptographic operations in parallel, with different configuration.
2187
2188 -- Data type: gpgme_ctx_t
2189 The ‘gpgme_ctx_t’ type is a handle for a GPGME context, which is
2190 used to hold the configuration, status and result of cryptographic
2191 operations.
2192
2193 * Menu:
2194
2195 * Creating Contexts:: Creating new GPGME contexts.
2196 * Destroying Contexts:: Releasing GPGME contexts.
2197 * Result Management:: Managing the result of crypto operations.
2198 * Context Attributes:: Setting properties of a context.
2199 * Key Management:: Managing keys with GPGME.
2200 * Crypto Operations:: Using a context for cryptography.
2201 * Miscellaneous:: Miscellaneous operations
2202 * Run Control:: Controlling how operations are run.
2203
2204 
2205 File: gpgme.info, Node: Creating Contexts, Next: Destroying Contexts, Up: Contexts
2206
2207 7.1 Creating Contexts
2208 =====================
2209
2210 -- Function: gpgme_error_t gpgme_new (gpgme_ctx_t *CTX)
2211 The function ‘gpgme_new’ creates a new ‘gpgme_ctx_t’ object and
2212 returns a handle for it in CTX.
2213
2214 The function returns the error code ‘GPG_ERR_NO_ERROR’ if the
2215 context was successfully created, ‘GPG_ERR_INV_VALUE’ if CTX is not
2216 a valid pointer, and ‘GPG_ERR_ENOMEM’ if not enough memory is
2217 available. Also, it returns ‘GPG_ERR_NOT_OPERATIONAL’ if
2218 ‘gpgme_check_version’ was not called to initialize GPGME, and
2219 ‘GPG_ERR_SELFTEST_FAILED’ if a selftest failed. Currently, the
2220 only selftest is for Windows MingW32 targets to see if
2221 ‘-mms-bitfields’ was used (as required).
2222
2223 
2224 File: gpgme.info, Node: Destroying Contexts, Next: Result Management, Prev: Creating Contexts, Up: Contexts
2225
2226 7.2 Destroying Contexts
2227 =======================
2228
2229 -- Function: void gpgme_release (gpgme_ctx_t CTX)
2230 The function ‘gpgme_release’ destroys the context with the handle
2231 CTX and releases all associated resources.
2232
2233 
2234 File: gpgme.info, Node: Result Management, Next: Context Attributes, Prev: Destroying Contexts, Up: Contexts
2235
2236 7.3 Result Management
2237 =====================
2238
2239 The detailed result of an operation is returned in operation-specific
2240 structures such as ‘gpgme_decrypt_result_t’. The corresponding
2241 retrieval functions such as ‘gpgme_op_decrypt_result’ provide static
2242 access to the results after an operation completes. Those structures
2243 shall be considered read-only and an application must not allocate such
2244 a structure on its own. The following interfaces make it possible to
2245 detach a result structure from its associated context and give it a
2246 lifetime beyond that of the current operation or context.
2247
2248 -- Function: void gpgme_result_ref (void *RESULT)
2249 SINCE: 1.2.0
2250
2251 The function ‘gpgme_result_ref’ acquires an additional reference
2252 for the result RESULT, which may be of any type ‘gpgme_*_result_t’.
2253 As long as the user holds a reference, the result structure is
2254 guaranteed to be valid and unmodified.
2255
2256 -- Function: void gpgme_result_unref (void *RESULT)
2257 SINCE: 1.2.0
2258
2259 The function ‘gpgme_result_unref’ releases a reference for the
2260 result RESULT. If this was the last reference, the result
2261 structure will be destroyed and all resources associated to it will
2262 be released.
2263
2264 Note that a context may hold its own references to result structures,
2265 typically until the context is destroyed or the next operation is
2266 started. In fact, these references are accessed through the
2267 ‘gpgme_op_*_result’ functions.
2268
2269 
2270 File: gpgme.info, Node: Context Attributes, Next: Key Management, Prev: Result Management, Up: Contexts
2271
2272 7.4 Context Attributes
2273 ======================
2274
2275 * Menu:
2276
2277 * Protocol Selection:: Selecting the protocol used by a context.
2278 * Crypto Engine:: Configuring the crypto engine.
2279 * Setting the Sender:: How to tell the engine the sender.
2280 * ASCII Armor:: Requesting ASCII armored output.
2281 * Text Mode:: Choosing canonical text mode.
2282 * Offline Mode:: Choosing offline mode.
2283 * Pinentry Mode:: Choosing the pinentry mode.
2284 * Included Certificates:: Including a number of certificates.
2285 * Key Listing Mode:: Selecting key listing mode.
2286 * Passphrase Callback:: Getting the passphrase from the user.
2287 * Progress Meter Callback:: Being informed about the progress.
2288 * Status Message Callback:: Status messages received from gpg.
2289 * Context Flags:: Additional flags for a context.
2290 * Locale:: Setting the locale of a context.
2291 * Additional Logs:: Additional logs of a context.
2292
2293 
2294 File: gpgme.info, Node: Protocol Selection, Next: Crypto Engine, Up: Context Attributes
2295
2296 7.4.1 Protocol Selection
2297 ------------------------
2298
2299 -- Function: gpgme_error_t gpgme_set_protocol (gpgme_ctx_t CTX,
2300 gpgme_protocol_t PROTO)
2301 The function ‘gpgme_set_protocol’ sets the protocol used within the
2302 context CTX to PROTO. All crypto operations will be performed by
2303 the crypto engine configured for that protocol. *Note Protocols
2304 and Engines::.
2305
2306 Setting the protocol with ‘gpgme_set_protocol’ does intentionally
2307 not check if the crypto engine for that protocol is available and
2308 installed correctly. *Note Engine Version Check::.
2309
2310 The function returns the error code ‘GPG_ERR_NO_ERROR’ if the
2311 protocol could be set successfully, and ‘GPG_ERR_INV_VALUE’ if
2312 PROTOCOL is not a valid protocol.
2313
2314 -- Function: gpgme_protocol_t gpgme_get_protocol (gpgme_ctx_t CTX)
2315 The function ‘gpgme_get_protocol’ retrieves the protocol currently
2316 use with the context CTX.
2317
2318 
2319 File: gpgme.info, Node: Crypto Engine, Next: Setting the Sender, Prev: Protocol Selection, Up: Context Attributes
2320
2321 7.4.2 Crypto Engine
2322 -------------------
2323
2324 The following functions can be used to set and retrieve the
2325 configuration of the crypto engines of a specific context. The default
2326 can also be retrieved without any particular context. *Note Engine
2327 Information::. The default can also be changed globally. *Note Engine
2328 Configuration::.
2329
2330 -- Function: gpgme_engine_info_t gpgme_ctx_get_engine_info
2331 (gpgme_ctx_t CTX)
2332 SINCE: 1.1.0
2333
2334 The function ‘gpgme_ctx_get_engine_info’ returns a linked list of
2335 engine info structures. Each info structure describes the
2336 configuration of one configured backend, as used by the context
2337 CTX.
2338
2339 The result is valid until the next invocation of
2340 ‘gpgme_ctx_set_engine_info’ for this particular context.
2341
2342 This function can not fail.
2343
2344 -- Function: gpgme_error_t gpgme_ctx_set_engine_info (gpgme_ctx_t CTX,
2345 gpgme_protocol_t PROTO, const char *FILE_NAME,
2346 const char *HOME_DIR)
2347 SINCE: 1.1.0
2348
2349 The function ‘gpgme_ctx_set_engine_info’ changes the configuration
2350 of the crypto engine implementing the protocol PROTO for the
2351 context CTX.
2352
2353 FILE_NAME is the file name of the executable program implementing
2354 this protocol, and HOME_DIR is the directory name of the
2355 configuration directory for this crypto engine. If HOME_DIR is
2356 ‘NULL’, the engine’s default will be used.
2357
2358 Currently this function must be used before starting the first
2359 crypto operation. It is unspecified if and when the changes will
2360 take effect if the function is called after starting the first
2361 operation on the context CTX.
2362
2363 This function returns the error code ‘GPG_ERR_NO_ERROR’ if
2364 successful, or an error code on failure.
2365
2366 
2367 File: gpgme.info, Node: Setting the Sender, Next: ASCII Armor, Prev: Crypto Engine, Up: Context Attributes
2368
2369 7.4.3 How to tell the engine the sender.
2370 ----------------------------------------
2371
2372 Some engines can make use of the sender’s address, for example to figure
2373 out the best user id in certain trust models. For verification and
2374 signing of mails, it is thus suggested to let the engine know the sender
2375 ("From:") address. GPGME provides two functions to accomplish that.
2376 Note that the esoteric use of multiple "From:" addresses is not
2377 supported.
2378
2379 -- Function: gpgme_error_t gpgme_set_sender (gpgme_ctx_t CTX,
2380 int ADDRESS)
2381
2382 SINCE: 1.8.0
2383
2384 The function ‘gpgme_set_sender’ specifies the sender address for
2385 use in sign and verify operations. ADDRESS is expected to be the
2386 “addr-spec” part of an address but my also be a complete mailbox
2387 address, in which case this function extracts the “addr-spec” from
2388 it. Using ‘NULL’ for ADDRESS clears the sender address.
2389
2390 The function returns 0 on success or an error code on failure. The
2391 most likely failure is that no valid “addr-spec” was found in
2392 ADDRESS.
2393
2394 -- Function: const char * gpgme_get_sender (gpgme_ctx_t CTX)
2395
2396 SINCE: 1.8.0
2397
2398 The function ‘gpgme_get_sender’ returns the current sender address
2399 from the context, or NULL if none was set. The returned value is
2400 valid as long as the CTX is valid and ‘gpgme_set_sender’ has not
2401 been called again.
2402
2403 
2404 File: gpgme.info, Node: ASCII Armor, Next: Text Mode, Prev: Setting the Sender, Up: Context Attributes
2405
2406 7.4.4 ASCII Armor
2407 -----------------
2408
2409 -- Function: void gpgme_set_armor (gpgme_ctx_t CTX, int YES)
2410 The function ‘gpgme_set_armor’ specifies if the output should be
2411 ASCII armored. By default, output is not ASCII armored.
2412
2413 ASCII armored output is disabled if YES is zero, and enabled
2414 otherwise.
2415
2416 -- Function: int gpgme_get_armor (gpgme_ctx_t CTX)
2417 The function ‘gpgme_get_armor’ returns 1 if the output is ASCII
2418 armored, and ‘0’ if it is not, or if CTX is not a valid pointer.
2419
2420 
2421 File: gpgme.info, Node: Text Mode, Next: Offline Mode, Prev: ASCII Armor, Up: Context Attributes
2422
2423 7.4.5 Text Mode
2424 ---------------
2425
2426 -- Function: void gpgme_set_textmode (gpgme_ctx_t CTX, int YES)
2427 The function ‘gpgme_set_textmode’ specifies if canonical text mode
2428 should be used. By default, text mode is not used.
2429
2430 Text mode is for example used for the RFC2015 signatures; note that
2431 the updated RFC 3156 mandates that the mail user agent does some
2432 preparations so that text mode is not needed anymore.
2433
2434 This option is only relevant to the OpenPGP crypto engine, and
2435 ignored by all other engines.
2436
2437 Canonical text mode is disabled if YES is zero, and enabled
2438 otherwise.
2439
2440 -- Function: int gpgme_get_textmode (gpgme_ctx_t CTX)
2441 The function ‘gpgme_get_textmode’ returns 1 if canonical text mode
2442 is enabled, and ‘0’ if it is not, or if CTX is not a valid pointer.
2443
2444 
2445 File: gpgme.info, Node: Offline Mode, Next: Pinentry Mode, Prev: Text Mode, Up: Context Attributes
2446
2447 7.4.6 Offline Mode
2448 ------------------
2449
2450 -- Function: void gpgme_set_offline (gpgme_ctx_t CTX, int YES)
2451 SINCE: 1.6.0
2452
2453 The function ‘gpgme_set_offline’ specifies if offline mode should
2454 be used. Offline mode is disabled if YES is zero, and enabled
2455 otherwise. By default, offline mode is disabled.
2456
2457 The details of the offline mode depend on the used protocol and its
2458 backend engine. It may eventually be extended to be more stricter
2459 and for example completely disable the use of Dirmngr for any
2460 engine.
2461
2462 For the CMS protocol the offline mode specifies whether Dirmngr
2463 shall be used to do additional validation that might require
2464 connecting external services (e.g. CRL / OCSP checks). Here the
2465 offline mode only affects the keylist mode
2466 ‘GPGME_KEYLIST_MODE_VALIDATE’.
2467
2468 For the OpenPGP protocol offline mode entirely disables the use of
2469 the Dirmngr and will thus guarantee that no network connections are
2470 done as part of an operation on this context. It has only an
2471 effect with GnuPG versions 2.1.23 or later.
2472
2473 For all other protocols the offline mode is currently ignored.
2474
2475 -- Function: int gpgme_get_offline (gpgme_ctx_t CTX)
2476 SINCE: 1.6.0
2477
2478 The function ‘gpgme_get_offline’ returns 1 if offline mode is
2479 enabled, and ‘0’ if it is not, or if CTX is not a valid pointer.
2480
2481 
2482 File: gpgme.info, Node: Pinentry Mode, Next: Included Certificates, Prev: Offline Mode, Up: Context Attributes
2483
2484 7.4.7 Pinentry Mode
2485 -------------------
2486
2487 -- Function: gpgme_error_t gpgme_set_pinentry_mode (gpgme_ctx_t CTX,
2488 gpgme_pinentry_mode_t MODE)
2489
2490 SINCE: 1.4.0
2491
2492 The function ‘gpgme_set_pinentry_mode’ specifies the pinentry mode
2493 to be used.
2494
2495 For GnuPG >= 2.1 this option is required to be set to
2496 ‘GPGME_PINENTRY_MODE_LOOPBACK’ to enable the passphrase callback
2497 mechanism in GPGME through ‘gpgme_set_passphrase_cb’.
2498
2499 -- Function: gpgme_pinentry_mode_t gpgme_get_pinentry_mode
2500 (gpgme_ctx_t CTX)
2501 SINCE: 1.4.0
2502
2503 The function ‘gpgme_get_pinenty_mode’ returns the mode set for the
2504 context.
2505
2506 -- Data type: enum gpgme_pinentry_mode_t
2507 SINCE: 1.4.0
2508
2509 The ‘gpgme_minentry_mode_t’ type specifies the set of possible
2510 pinentry modes that are supported by GPGME if GnuPG >= 2.1 is used.
2511 The following modes are supported:
2512
2513 ‘GPGME_PINENTRY_MODE_DEFAULT’
2514 SINCE: 1.4.0
2515
2516 Use the default of the agent, which is ask.
2517
2518 ‘GPGME_PINENTRY_MODE_ASK’
2519 SINCE: 1.4.0
2520
2521 Force the use of the Pinentry.
2522
2523 ‘GPGME_PINENTRY_MODE_CANCEL’
2524 SINCE: 1.4.0
2525
2526 Emulate use of Pinentry’s cancel button.
2527
2528 ‘GPGME_PINENTRY_MODE_ERROR’
2529 SINCE: 1.4.0
2530
2531 Return a Pinentry error ‘No Pinentry’.
2532
2533 ‘GPGME_PINENTRY_MODE_LOOPBACK’
2534 SINCE: 1.4.0
2535
2536 Redirect Pinentry queries to the caller. This enables the use
2537 of ‘gpgme_set_passphrase_cb’ because pinentry queries are
2538 redirected to gpgme.
2539
2540 Note: For 2.1.0 - 2.1.12 this mode requires
2541 ‘allow-loopback-pinentry’ to be enabled in the
2542 ‘gpg-agent.conf’ or an agent started with that option.
2543
2544 
2545 File: gpgme.info, Node: Included Certificates, Next: Key Listing Mode, Prev: Pinentry Mode, Up: Context Attributes
2546
2547 7.4.8 Included Certificates
2548 ---------------------------
2549
2550 -- Function: void gpgme_set_include_certs (gpgme_ctx_t CTX,
2551 int NR_OF_CERTS)
2552 The function ‘gpgme_set_include_certs’ specifies how many
2553 certificates should be included in an S/MIME signed message. By
2554 default, only the sender’s certificate is included. The possible
2555 values of NR_OF_CERTS are:
2556
2557 ‘GPGME_INCLUDE_CERTS_DEFAULT’
2558 SINCE: 1.0.3
2559
2560 Fall back to the default of the crypto backend. This is the
2561 default for GPGME.
2562 ‘-2’
2563 Include all certificates except the root certificate.
2564 ‘-1’
2565 Include all certificates.
2566 ‘0’
2567 Include no certificates.
2568 ‘1’
2569 Include the sender’s certificate only.
2570 ‘n’
2571 Include the first n certificates of the certificates path,
2572 starting from the sender’s certificate. The number ‘n’ must
2573 be positive.
2574
2575 Values of NR_OF_CERTS smaller than -2 are undefined.
2576
2577 This option is only relevant to the CMS crypto engine, and ignored
2578 by all other engines.
2579
2580 -- Function: int gpgme_get_include_certs (gpgme_ctx_t CTX)
2581 The function ‘gpgme_get_include_certs’ returns the number of
2582 certificates to include into an S/MIME signed message.
2583
2584 
2585 File: gpgme.info, Node: Key Listing Mode, Next: Passphrase Callback, Prev: Included Certificates, Up: Context Attributes
2586
2587 7.4.9 Key Listing Mode
2588 ----------------------
2589
2590 -- Function: gpgme_error_t gpgme_set_keylist_mode (gpgme_ctx_t CTX,
2591 gpgme_keylist_mode_t MODE)
2592 The function ‘gpgme_set_keylist_mode’ changes the default behaviour
2593 of the key listing functions. The value in MODE is a bitwise-or
2594 combination of one or multiple of the following bit values:
2595
2596 ‘GPGME_KEYLIST_MODE_LOCAL’
2597 The ‘GPGME_KEYLIST_MODE_LOCAL’ symbol specifies that the local
2598 keyring should be searched for keys in the keylisting
2599 operation. This is the default.
2600
2601 Using only this option results in a ‘--list-keys’.
2602
2603 ‘GPGME_KEYLIST_MODE_EXTERN’
2604 The ‘GPGME_KEYLIST_MODE_EXTERN’ symbol specifies that an
2605 external source should be searched for keys in the keylisting
2606 operation. The type of external source is dependent on the
2607 crypto engine used and whether it is combined with
2608 ‘GPGME_KEYLIST_MODE_LOCAL’. For example, it can be a remote
2609 keyserver or LDAP certificate server.
2610
2611 Using only this option results in a ‘--search-keys’ for
2612 ‘GPGME_PROTOCOL_OpenPGP’ and something similar to
2613 ‘--list-external-keys’ for ‘GPGME_PROTOCOL_CMS’.
2614
2615 ‘GPGME_KEYLIST_MODE_LOCATE’
2616 This is a shortcut for the combination of
2617 ‘GPGME_KEYLIST_MODE_LOCAL’ and ‘GPGME_KEYLIST_MODE_EXTERN’,
2618 which results in a ‘--locate-keys’ for
2619 ‘GPGME_PROTOCOL_OpenPGP’.
2620
2621 ‘GPGME_KEYLIST_MODE_SIGS’
2622 The ‘GPGME_KEYLIST_MODE_SIGS’ symbol specifies that the key
2623 signatures should be included in the listed keys.
2624
2625 ‘GPGME_KEYLIST_MODE_SIG_NOTATIONS’
2626 SINCE: 1.1.1
2627
2628 The ‘GPGME_KEYLIST_MODE_SIG_NOTATIONS’ symbol specifies that
2629 the signature notations on key signatures should be included
2630 in the listed keys. This only works if
2631 ‘GPGME_KEYLIST_MODE_SIGS’ is also enabled.
2632
2633 ‘GPGME_KEYLIST_MODE_WITH_TOFU’
2634 SINCE: 1.7.0
2635
2636 The ‘GPGME_KEYLIST_MODE_WITH_TOFU’ symbol specifies that
2637 information pertaining to the TOFU trust model should be
2638 included in the listed keys.
2639
2640 ‘GPGME_KEYLIST_MODE_WITH_KEYGRIP’
2641 SINCE: 1.14.0
2642
2643 The ‘GPGME_KEYLIST_MODE_WITH_KEYRIP’ symbol specifies that the
2644 keygrip is always included in the listing. The default
2645 depends on the version of the backend and the used protocol.
2646
2647 ‘GPGME_KEYLIST_MODE_WITH_SECRET’
2648 SINCE: 1.5.1
2649
2650 The ‘GPGME_KEYLIST_MODE_WITH_SECRET’ returns information about
2651 the presence of a corresponding secret key in a public key
2652 listing. A public key listing with this mode is slower than a
2653 standard listing but can be used instead of a second run to
2654 list the secret keys. This is only supported for GnuPG
2655 versions >= 2.1. Note that using this option also makes sure
2656 that the keygrip is available in the output.
2657
2658 ‘GPGME_KEYLIST_MODE_EPHEMERAL’
2659 SINCE: 1.2.0
2660
2661 The ‘GPGME_KEYLIST_MODE_EPHEMERAL’ symbol specifies that keys
2662 flagged as ephemeral are included in the listing.
2663
2664 ‘GPGME_KEYLIST_MODE_VALIDATE’
2665 SINCE: 0.4.5
2666
2667 The ‘GPGME_KEYLIST_MODE_VALIDATE’ symbol specifies that the
2668 backend should do key or certificate validation and not just
2669 get the validity information from an internal cache. This
2670 might be an expensive operation and is in general not useful.
2671 Currently only implemented for the S/MIME backend and ignored
2672 for other backends.
2673
2674 At least one of ‘GPGME_KEYLIST_MODE_LOCAL’ and
2675 ‘GPGME_KEYLIST_MODE_EXTERN’ must be specified. For future binary
2676 compatibility, you should get the current mode with
2677 ‘gpgme_get_keylist_mode’ and modify it by setting or clearing the
2678 appropriate bits, and then using that calculated value in the
2679 ‘gpgme_set_keylisting_mode’ operation. This will leave all other
2680 bits in the mode value intact (in particular those that are not
2681 used in the current version of the library).
2682
2683 The function returns the error code ‘GPG_ERR_NO_ERROR’ if the mode
2684 could be set correctly, and ‘GPG_ERR_INV_VALUE’ if CTX is not a
2685 valid pointer or MODE is not a valid mode.
2686
2687 -- Function: gpgme_keylist_mode_t gpgme_get_keylist_mode
2688 (gpgme_ctx_t CTX)
2689 The function ‘gpgme_get_keylist_mode’ returns the current key
2690 listing mode of the context CTX. This value can then be modified
2691 and used in a subsequent ‘gpgme_set_keylist_mode’ operation to only
2692 affect the desired bits (and leave all others intact).
2693
2694 The function returns 0 if CTX is not a valid pointer, and the
2695 current mode otherwise. Note that 0 is not a valid mode value.
2696
2697 
2698 File: gpgme.info, Node: Passphrase Callback, Next: Progress Meter Callback, Prev: Key Listing Mode, Up: Context Attributes
2699
2700 7.4.10 Passphrase Callback
2701 --------------------------
2702
2703 -- Data type: gpgme_error_t (*gpgme_passphrase_cb_t)(void *HOOK, const
2704 char *UID_HINT, const char *PASSPHRASE_INFO, int PREV_WAS_BAD,
2705 int FD)
2706 The ‘gpgme_passphrase_cb_t’ type is the type of functions usable as
2707 passphrase callback function.
2708
2709 The argument UID_HINT might contain a string that gives an
2710 indication for which user ID the passphrase is required. If this
2711 is not available, or not applicable (in the case of symmetric
2712 encryption, for example), UID_HINT will be ‘NULL’.
2713
2714 The argument PASSPHRASE_INFO, if not ‘NULL’, will give further
2715 information about the context in which the passphrase is required.
2716 This information is engine and operation specific.
2717
2718 If this is the repeated attempt to get the passphrase, because
2719 previous attempts failed, then PREV_WAS_BAD is 1, otherwise it will
2720 be 0.
2721
2722 The user must write the passphrase, followed by a newline
2723 character, to the file descriptor FD. The function
2724 ‘gpgme_io_writen’ should be used for the write operation. Note
2725 that if the user returns 0 to indicate success, the user must at
2726 least write a newline character before returning from the callback.
2727
2728 If an error occurs, return the corresponding ‘gpgme_error_t’ value.
2729 You can use the error code ‘GPG_ERR_CANCELED’ to abort the
2730 operation. Otherwise, return ‘0’.
2731
2732 Note: The passphrase_cb only works with GnuPG 1.x and 2.1.x and not
2733 with the 2.0.x series. See ‘gpgme_set_pinentry_mode’ for more
2734 details on 2.1.x usage.
2735
2736 -- Function: void gpgme_set_passphrase_cb (gpgme_ctx_t CTX,
2737 gpgme_passphrase_cb_t PASSFUNC, void *HOOK_VALUE)
2738 The function ‘gpgme_set_passphrase_cb’ sets the function that is
2739 used when a passphrase needs to be provided by the user to
2740 PASSFUNC. The function PASSFUNC needs to implemented by the user,
2741 and whenever it is called, it is called with its first argument
2742 being HOOK_VALUE. By default, no passphrase callback function is
2743 set.
2744
2745 Not all crypto engines require this callback to retrieve the
2746 passphrase. It is better if the engine retrieves the passphrase
2747 from a trusted agent (a daemon process), rather than having each
2748 user to implement their own passphrase query. Some engines do not
2749 even support an external passphrase callback at all, in this case
2750 the error code ‘GPG_ERR_NOT_SUPPORTED’ is returned.
2751
2752 For GnuPG >= 2.1 the pinentry mode has to be set to
2753 ‘GPGME_PINENTRY_MODE_LOOPBACK’ to enable the passphrase callback.
2754 See ‘gpgme_set_pinentry_mode’.
2755
2756 The user can disable the use of a passphrase callback function by
2757 calling ‘gpgme_set_passphrase_cb’ with PASSFUNC being ‘NULL’.
2758
2759 -- Function: void gpgme_get_passphrase_cb (gpgme_ctx_t CTX,
2760 gpgme_passphrase_cb_t *PASSFUNC, void **HOOK_VALUE)
2761 The function ‘gpgme_get_passphrase_cb’ returns the function that is
2762 used when a passphrase needs to be provided by the user in
2763 *PASSFUNC, and the first argument for this function in *HOOK_VALUE.
2764 If no passphrase callback is set, or CTX is not a valid pointer,
2765 ‘NULL’ is returned in both variables.
2766
2767 PASSFUNC or HOOK_VALUE can be ‘NULL’. In this case, the
2768 corresponding value will not be returned.
2769
2770 
2771 File: gpgme.info, Node: Progress Meter Callback, Next: Status Message Callback, Prev: Passphrase Callback, Up: Context Attributes
2772
2773 7.4.11 Progress Meter Callback
2774 ------------------------------
2775
2776 -- Data type: void (*gpgme_progress_cb_t)(void *HOOK, const char *WHAT,
2777 int TYPE, int CURRENT, int TOTAL)
2778 The ‘gpgme_progress_cb_t’ type is the type of functions usable as
2779 progress callback function.
2780
2781 The arguments are specific to the crypto engine. More information
2782 about the progress information returned from the GnuPG engine can
2783 be found in the GnuPG source code in the file ‘doc/DETAILS’ in the
2784 section PROGRESS.
2785
2786 -- Function: void gpgme_set_progress_cb (gpgme_ctx_t CTX,
2787 gpgme_progress_cb_t PROGFUNC, void *HOOK_VALUE)
2788 The function ‘gpgme_set_progress_cb’ sets the function that is used
2789 when progress information about a cryptographic operation is
2790 available. The function PROGFUNC needs to implemented by the user,
2791 and whenever it is called, it is called with its first argument
2792 being HOOK_VALUE. By default, no progress callback function is
2793 set.
2794
2795 Setting a callback function allows an interactive program to
2796 display progress information about a long operation to the user.
2797
2798 The user can disable the use of a progress callback function by
2799 calling ‘gpgme_set_progress_cb’ with PROGFUNC being ‘NULL’.
2800
2801 -- Function: void gpgme_get_progress_cb (gpgme_ctx_t CTX,
2802 gpgme_progress_cb_t *PROGFUNC, void **HOOK_VALUE)
2803 The function ‘gpgme_get_progress_cb’ returns the function that is
2804 used to inform the user about the progress made in *PROGFUNC, and
2805 the first argument for this function in *HOOK_VALUE. If no
2806 progress callback is set, or CTX is not a valid pointer, ‘NULL’ is
2807 returned in both variables.
2808
2809 PROGFUNC or HOOK_VALUE can be ‘NULL’. In this case, the
2810 corresponding value will not be returned.
2811
2812 
2813 File: gpgme.info, Node: Status Message Callback, Next: Context Flags, Prev: Progress Meter Callback, Up: Context Attributes
2814
2815 7.4.12 Status Message Callback
2816 ------------------------------
2817
2818 -- Data type: gpgme_error_t (*gpgme_status_cb_t)(void *HOOK, const char
2819 *KEYWORD, const char *ARGS)
2820 The ‘gpgme_status_cb_t’ type is the type of function usable as a
2821 status message callback function.
2822
2823 The argument KEYWORD is the name of the status message while the
2824 ARGS argument contains any arguments for the status message.
2825
2826 If an error occurs, return the corresponding ‘gpgme_error_t’ value.
2827 Otherwise, return ‘0’.
2828
2829 -- Function: void gpgme_set_status_cb (gpgme_ctx_t CTX,
2830 gpgme_status_cb_t STATUSFUNC, void *HOOK_VALUE)
2831 SINCE: 1.6.0
2832
2833 The function ‘gpgme_set_status_cb’ sets the function that is used
2834 when a status message is received from gpg to STATUSFUNC. The
2835 function STATUSFUNC needs to be implemented by the user, and
2836 whenever it is called, it is called with its first argument being
2837 HOOK_VALUE. By default, no status message callback function is
2838 set.
2839
2840 The user can disable the use of a status message callback function
2841 by calling ‘gpgme_set_status_cb’ with STATUSFUNC being ‘NULL’.
2842
2843 -- Function: void gpgme_get_status_cb (gpgme_ctx_t CTX,
2844 gpgme_status_cb_t *STATUSFUNC, void **HOOK_VALUE)
2845 SINCE: 1.6.0
2846
2847 The function ‘gpgme_get_status_cb’ returns the function that is
2848 used to process status messages from gpg in *STATUSFUNC, and the
2849 first argument for this function in *HOOK_VALUE. If no status
2850 message callback is set, or CTX is not a valid pointer, ‘NULL’ is
2851 returned in both variables.
2852
2853 
2854 File: gpgme.info, Node: Context Flags, Next: Locale, Prev: Status Message Callback, Up: Context Attributes
2855
2856 7.4.13 Context Flags
2857 --------------------
2858
2859 -- Function: gpgme_error_t gpgme_set_ctx_flag (gpgme_ctx_t CTX,
2860 const char *NAME, const char *VALUE)
2861
2862 SINCE: 1.7.0
2863
2864 Some minor properties of the context can be controlled with flags
2865 set by this function. The properties are identified by the
2866 following values for NAME:
2867
2868 ‘"redraw"’
2869 This flag is normally not changed by the caller because GPGME
2870 sets and clears it automatically: The flag is cleared before
2871 an operation and set if an operation noticed that the engine
2872 has launched a Pinentry. A Curses based application may use
2873 this information to redraw the screen; for example:
2874
2875 err = gpgme_op_keylist_start (ctx, "foo@example.org", 0);
2876 while (!err)
2877 {
2878 err = gpgme_op_keylist_next (ctx, &key);
2879 if (err)
2880 break;
2881 show_key (key);
2882 gpgme_key_release (key);
2883 }
2884 if ((s = gpgme_get_ctx_flag (ctx, "redraw")) && *s)
2885 redraw_screen ();
2886 gpgme_release (ctx);
2887
2888 ‘"full-status"’
2889 Using a VALUE of "1" the status callback set by
2890 gpgme_set_status_cb returns all status lines with the
2891 exception of PROGRESS lines. With the default of "0" the
2892 status callback is only called in certain situations.
2893
2894 ‘"raw-description"’
2895 Setting the VALUE to "1" returns human readable strings in a
2896 raw format. For example the non breaking space characters
2897 ("~") will not be removed from the ‘description’ field of the
2898 ‘gpgme_tofu_info_t’ object.
2899
2900 ‘"export-session-key"’
2901 Using a VALUE of "1" specifies that the context should try to
2902 export the symmetric session key when decrypting data. By
2903 default, or when using an empty string or "0" for VALUE,
2904 session keys are not exported.
2905
2906 ‘"override-session-key"’
2907 The string given in VALUE is passed to the GnuPG engine to
2908 override the session key for decryption. The format of that
2909 session key is specific to GnuPG and can be retrieved during a
2910 decrypt operation when the context flag "export-session-key"
2911 is enabled. Please be aware that using this feature with
2912 GnuPG < 2.1.16 will leak the session key on many platforms via
2913 ps(1).
2914
2915 ‘"auto-key-retrieve"’
2916 Setting the VALUE to "1" asks the backend to automatically
2917 retrieve a key for signature verification if possible. Note
2918 that this option makes a "web bug" like behavior possible.
2919 Keyserver or Web Key Directory operators can see which keys
2920 you request, so by sending you a message signed by a brand new
2921 key (which you naturally will not have on your local keyring),
2922 the operator can tell both your IP address and the time when
2923 you verified the signature.
2924
2925 ‘"auto-key-import"’
2926 Setting the VALUE to "1" forces the GPG backend to
2927 automatically import a missing key for signature verification
2928 from the signature.
2929
2930 ‘"include-key-block"’
2931 Setting the VALUE to "1" forces the GPG backend to embed the
2932 signing key as well as an encryption subkey into the the
2933 signature.
2934
2935 ‘"request-origin"’
2936 The string given in VALUE is passed to the GnuPG engines to
2937 request restrictions based on the origin of the request.
2938 Valid values are documented in the GnuPG manual and the gpg
2939 man page under the option ‘--request-origin’. Requires at
2940 least GnuPG 2.2.6 to have an effect.
2941
2942 ‘"no-symkey-cache"’
2943 For OpenPGP disable the passphrase cache used for symmetrical
2944 en- and decryption. This cache is based on the message
2945 specific salt value. Requires at least GnuPG 2.2.7 to have an
2946 effect.
2947
2948 ‘"ignore-mdc-error"’
2949 This flag passes the option ‘--ignore-mdc-error’ to gpg. This
2950 can be used to force decryption of a message which failed due
2951 to a missing integrity check. This flag must be used with
2952 great caution and only if it is a known non-corrupted old
2953 message and the decryption result of the former try had the
2954 decryption result flag ‘legacy_cipher_nomdc’ set. For
2955 failsafe reasons this flag is reset after each operation.
2956
2957 ‘"auto-key-locate"’
2958 The string given in VALUE is passed to gpg. This can be used
2959 to change the behavior of a ‘GPGME_KEYLIST_MODE_LOCATE’
2960 keylisting. Valid values are documented in the GnuPG manual
2961 and the gpg man page under the option ‘--auto-key-locate’.
2962 Requires at least GnuPG 2.1.18.
2963
2964 Note: Keys retrieved through ‘auto-key-locate’ are
2965 automatically imported in the keyring.
2966
2967 ‘trust-model’
2968 SINCE: 1.11.2
2969
2970 Change the trust-model for all GnuPG engine operations. An
2971 empty string sets the trust-model back to the users default.
2972 If the trust-model is not supported by GnuPG the behavior is
2973 undefined and will likely cause all operations to fail.
2974 Example: "tofu+pgp".
2975
2976 This options should be used carefully with a strict version
2977 requirement. In some versions of GnuPG setting the
2978 trust-model changes the default trust-model for future
2979 operations. A change in the trust-model also can have
2980 unintended side effects, like rebuilding the trust-db.
2981
2982 ‘"extended-edit"’
2983 This flag passes the option ‘--expert’ to gpg key edit. This
2984 can be used to get additional callbacks in ‘gpgme_op_edit’.
2985
2986 ‘"cert-expire"’
2987 SINCE: 1.15.2 The string given in VALUE is passed to the GnuPG
2988 engine to set the expiration time to use for key signature
2989 expiration. Valid values are documented in the GnuPG manual
2990 and the gpg man page under the option ‘--default-cert-expire’.
2991
2992 This function returns ‘0’ on success.
2993
2994 -- Function: const char * gpgme_get_ctx_flag (gpgme_ctx_t CTX,
2995 const char *NAME)
2996
2997 SINCE: 1.8.0
2998
2999 The value of flags settable by ‘gpgme_set_ctx_flag’ can be
3000 retrieved by this function. If NAME is unknown the function
3001 returns ‘NULL’. For boolean flags an empty string is returned for
3002 False and the string "1" is returned for True; either atoi(3) or a
3003 test for an empty string can be used to get the boolean value.
3004
3005 
3006 File: gpgme.info, Node: Locale, Next: Additional Logs, Prev: Context Flags, Up: Context Attributes
3007
3008 7.4.14 Locale
3009 -------------
3010
3011 A locale setting can be associated with a context. This locale is
3012 passed to the crypto engine, and used for applications like the PIN
3013 entry, which is displayed to the user when entering a passphrase is
3014 required.
3015
3016 The default locale is used to initialize the locale setting of all
3017 contexts created afterwards.
3018
3019 -- Function: gpgme_error_t gpgme_set_locale (gpgme_ctx_t CTX,
3020 int CATEGORY, const char *VALUE)
3021 SINCE: 0.4.3
3022
3023 The function ‘gpgme_set_locale’ sets the locale of the context CTX,
3024 or the default locale if CTX is a null pointer.
3025
3026 The locale settings that should be changed are specified by
3027 CATEGORY. Supported categories are ‘LC_CTYPE’, ‘LC_MESSAGES’, and
3028 ‘LC_ALL’, which is a wildcard you can use if you want to change all
3029 the categories at once.
3030
3031 The value to be used for the locale setting is VALUE, which will be
3032 copied to GPGME’s internal data structures. VALUE can be a null
3033 pointer, which disables setting the locale, and will make PIN entry
3034 and other applications use their default setting, which is usually
3035 not what you want.
3036
3037 Note that the settings are only used if the application runs on a
3038 text terminal, and that the settings should fit the configuration
3039 of the output terminal. Normally, it is sufficient to initialize
3040 the default value at startup.
3041
3042 The function returns an error if not enough memory is available.
3043
3044 
3045 File: gpgme.info, Node: Additional Logs, Prev: Locale, Up: Context Attributes
3046
3047 7.4.15 Additional Logs
3048 ----------------------
3049
3050 Additional logs can be associated with a context. These logs are engine
3051 specific and can be be obtained with ‘gpgme_op_getauditlog’.
3052
3053 -- Function: gpgme_error_t gpgme_op_getauditlog (gpgme_ctx_t CTX,
3054 gpgme_data_t OUTPUT, unsigned int FLAGS)
3055 SINCE: 1.1.1
3056
3057 The function ‘gpgme_op_getauditlog’ is used to obtain additional
3058 logs as specified by FLAGS into the OUTPUT data. If
3059
3060 The function returns the error code ‘GPG_ERR_NO_ERROR’ if a log
3061 could be queried from the engine, and ‘GPG_ERR_NOT_IMPLEMENTED’ if
3062 the log specified in FLAGS is not available for this engine. If no
3063 log is available ‘GPG_ERR_NO_DATA’ is returned.
3064
3065 The value in FLAGS is a bitwise-or combination of one or multiple
3066 of the following bit values:
3067
3068 ‘GPGME_AUDITLOG_DIAG’
3069 SINCE: 1.11.2
3070
3071 Obtain diagnostic output which would be written to ‘stderr’ in
3072 interactive use of the engine. This can be used to provide
3073 additional diagnostic information in case of errors in other
3074 operations.
3075
3076 Note: If log-file has been set in the configuration the log
3077 will be empty and ‘GPG_ERR_NO_DATA’ will be returned.
3078
3079 Implemented for: ‘GPGME_PROTOCOL_OpenPGP’
3080
3081 ‘GPGME_AUDITLOG_DEFAULT’
3082 SINCE: 1.11.2
3083
3084 This flag has the value 0 for compatibility reasons. Obtains
3085 additional information from the engine by issuing the
3086 ‘GETAUDITLOG’ command. For ‘GPGME_PROTOCOL_CMS’ this provides
3087 additional information about the X509 certificate chain.
3088
3089 Implemented for: ‘GPGME_PROTOCOL_CMS’
3090
3091 ‘GPGME_AUDITLOG_HTML’
3092 SINCE: 1.1.1
3093
3094 Same as ‘GPGME_AUDITLOG_DEFAULT’ but in HTML.
3095
3096 Implemented for: ‘GPGME_PROTOCOL_CMS’
3097
3098 -- Function: gpgme_error_t gpgme_op_getauditlog_start (gpgme_ctx_t CTX,
3099 gpgme_data_t OUTPUT, unsigned int FLAGS)
3100 SINCE: 1.1.1
3101
3102 This is the asynchronous variant of ‘gpgme_op_getauditlog’.
3103
3104 
3105 File: gpgme.info, Node: Key Management, Next: Crypto Operations, Prev: Context Attributes, Up: Contexts
3106
3107 7.5 Key Management
3108 ==================
3109
3110 Some of the cryptographic operations require that recipients or signers
3111 are specified. This is always done by specifying the respective keys
3112 that should be used for the operation. The following section describes
3113 how such keys can be selected and manipulated.
3114
3115 * Menu:
3116
3117 * Key objects:: Description of the key structures.
3118 * Listing Keys:: Browsing the list of available keys.
3119 * Information About Keys:: Requesting detailed information about keys.
3120 * Manipulating Keys:: Operations on keys.
3121 * Generating Keys:: Creating new key pairs.
3122 * Signing Keys:: Adding key signatures to public keys.
3123 * Exporting Keys:: Retrieving key data from the key ring.
3124 * Importing Keys:: Adding keys to the key ring.
3125 * Deleting Keys:: Removing keys from the key ring.
3126 * Changing Passphrases:: Change the passphrase of a key.
3127 * Changing TOFU Data:: Changing data pertaining to TOFU.
3128 * Advanced Key Editing:: Advanced key edit operation.
3129
3130 
3131 File: gpgme.info, Node: Key objects, Next: Listing Keys, Up: Key Management
3132
3133 7.5.1 Key objects
3134 -----------------
3135
3136 The keys are represented in GPGME by structures which may only be read
3137 by the application but never be allocated or changed. They are valid as
3138 long as the key object itself is valid.
3139
3140 -- Data type: gpgme_key_t
3141
3142 The ‘gpgme_key_t’ type is a pointer to a key object. It has the
3143 following members:
3144
3145 ‘gpgme_keylist_mode_t keylist_mode’
3146 SINCE: 0.9.0
3147
3148 The keylist mode that was active when the key was retrieved.
3149
3150 ‘unsigned int revoked : 1’
3151 This is true if the key is revoked.
3152
3153 ‘unsigned int expired : 1’
3154 This is true if the key is expired.
3155
3156 ‘unsigned int disabled : 1’
3157 This is true if the key is disabled.
3158
3159 ‘unsigned int invalid : 1’
3160 This is true if the key is invalid. This might have several
3161 reasons, for a example for the S/MIME backend, it will be set
3162 during key listings if the key could not be validated due to
3163 missing certificates or unmatched policies.
3164
3165 ‘unsigned int can_encrypt : 1’
3166 This is true if the key (ie one of its subkeys) can be used
3167 for encryption.
3168
3169 ‘unsigned int can_sign : 1’
3170 This is true if the key (ie one of its subkeys) can be used to
3171 create data signatures.
3172
3173 ‘unsigned int can_certify : 1’
3174 This is true if the key (ie one of its subkeys) can be used to
3175 create key certificates.
3176
3177 ‘unsigned int can_authenticate : 1’
3178 SINCE: 0.4.5
3179
3180 This is true if the key (ie one of its subkeys) can be used
3181 for authentication.
3182
3183 ‘unsigned int is_qualified : 1’
3184 SINCE: 1.1.0
3185
3186 This is true if the key can be used for qualified signatures
3187 according to local government regulations.
3188
3189 ‘unsigned int secret : 1’
3190 This is true if the key is a secret key. Note, that this will
3191 always be true even if the corresponding subkey flag may be
3192 false (offline/stub keys). This is only set if a listing of
3193 secret keys has been requested or if
3194 ‘GPGME_KEYLIST_MODE_WITH_SECRET’ is active.
3195
3196 ‘unsigned int origin : 5’
3197 SINCE: 1.8.0
3198
3199 Reserved for the origin of this key.
3200
3201 ‘gpgme_protocol_t protocol’
3202 This is the protocol supported by this key.
3203
3204 ‘char *issuer_serial’
3205 If ‘protocol’ is ‘GPGME_PROTOCOL_CMS’, then this is the issuer
3206 serial.
3207
3208 ‘char *issuer_name’
3209 If ‘protocol’ is ‘GPGME_PROTOCOL_CMS’, then this is the issuer
3210 name.
3211
3212 ‘char *chain_id’
3213 If ‘protocol’ is ‘GPGME_PROTOCOL_CMS’, then this is the chain
3214 ID, which can be used to built the certificate chain.
3215
3216 ‘gpgme_validity_t owner_trust’
3217 If ‘protocol’ is ‘GPGME_PROTOCOL_OpenPGP’, then this is the
3218 owner trust.
3219
3220 ‘gpgme_subkey_t subkeys’
3221 This is a linked list with the subkeys of the key. The first
3222 subkey in the list is the primary key and usually available.
3223
3224 ‘gpgme_user_id_t uids’
3225 This is a linked list with the user IDs of the key. The first
3226 user ID in the list is the main (or primary) user ID.
3227
3228 ‘char *fpr’
3229 SINCE: 1.7.0
3230
3231 This field gives the fingerprint of the primary key. Note
3232 that this is a copy of the fingerprint of the first subkey.
3233 For an incomplete key (for example from a verification result)
3234 a subkey may be missing but this field may be set
3235 nevertheless.
3236
3237 ‘unsigned long last_update’
3238 SINCE: 1.8.0
3239
3240 Reserved for the time of the last update of this key.
3241
3242 -- Data type: gpgme_subkey_t
3243 SINCE: 1.5.0
3244
3245 The ‘gpgme_subkey_t’ type is a pointer to a subkey structure.
3246 Subkeys are one component of a ‘gpgme_key_t’ object. In fact,
3247 subkeys are those parts that contains the real information about
3248 the individual cryptographic keys that belong to the same key
3249 object. One ‘gpgme_key_t’ can contain several subkeys. The first
3250 subkey in the linked list is also called the primary key.
3251
3252 The subkey structure has the following members:
3253
3254 ‘gpgme_subkey_t next’
3255 This is a pointer to the next subkey structure in the linked
3256 list, or ‘NULL’ if this is the last element.
3257
3258 ‘unsigned int revoked : 1’
3259 This is true if the subkey is revoked.
3260
3261 ‘unsigned int expired : 1’
3262 This is true if the subkey is expired.
3263
3264 ‘unsigned int disabled : 1’
3265 This is true if the subkey is disabled.
3266
3267 ‘unsigned int invalid : 1’
3268 This is true if the subkey is invalid.
3269
3270 ‘unsigned int can_encrypt : 1’
3271 This is true if the subkey can be used for encryption.
3272
3273 ‘unsigned int can_sign : 1’
3274 This is true if the subkey can be used to create data
3275 signatures.
3276
3277 ‘unsigned int can_certify : 1’
3278 This is true if the subkey can be used to create key
3279 certificates.
3280
3281 ‘unsigned int can_authenticate : 1’
3282 SINCE: 0.4.5
3283
3284 This is true if the subkey can be used for authentication.
3285
3286 ‘unsigned int is_qualified : 1’
3287 SINCE: 1.1.0
3288
3289 This is true if the subkey can be used for qualified
3290 signatures according to local government regulations.
3291
3292 ‘unsigned int is_de_vs : 1’
3293 SINCE: 1.8.0
3294
3295 This is true if the subkey complies with the rules for
3296 classified information in Germany at the restricted level
3297 (VS-NfD). This are currently RSA keys of at least 2048 bits or
3298 ECDH/ECDSA keys using a Brainpool curve.
3299
3300 ‘unsigned int secret : 1’
3301 This is true if the subkey is a secret key. Note that it will
3302 be false if the key is actually a stub key; i.e. a secret key
3303 operation is currently not possible (offline-key). This is
3304 only set if a listing of secret keys has been requested or if
3305 ‘GPGME_KEYLIST_MODE_WITH_SECRET’ is active.
3306
3307 ‘gpgme_pubkey_algo_t pubkey_algo’
3308 This is the public key algorithm supported by this subkey.
3309
3310 ‘unsigned int length’
3311 This is the length of the subkey (in bits).
3312
3313 ‘char *keyid’
3314 This is the key ID of the subkey in hexadecimal digits.
3315
3316 ‘char *fpr’
3317 This is the fingerprint of the subkey in hexadecimal digits,
3318 if available.
3319
3320 ‘char *keygrip’
3321 SINCE: 1.7.0
3322
3323 The keygrip of the subkey in hex digit form or ‘NULL’ if not
3324 available.
3325
3326 ‘long int timestamp’
3327 This is the creation timestamp of the subkey. This is -1 if
3328 the timestamp is invalid, and 0 if it is not available.
3329
3330 ‘long int expires’
3331 This is the expiration timestamp of the subkey, or 0 if the
3332 subkey does not expire.
3333
3334 ‘unsigned int is_cardkey : 1’
3335 SINCE: 1.2.0
3336
3337 True if the secret key is stored on a smart card.
3338
3339 ‘char *card_number’
3340 SINCE: 1.2.0
3341
3342 The serial number of a smart card holding this key or ‘NULL’.
3343
3344 ‘char *curve’
3345 For ECC algorithms the name of the curve.
3346
3347 -- Data type: gpgme_user_id_t
3348
3349 A user ID is a component of a ‘gpgme_key_t’ object. One key can
3350 have many user IDs. The first one in the list is the main (or
3351 primary) user ID.
3352
3353 The user ID structure has the following members.
3354
3355 ‘gpgme_user_id_t next’
3356 This is a pointer to the next user ID structure in the linked
3357 list, or ‘NULL’ if this is the last element.
3358
3359 ‘unsigned int revoked : 1’
3360 This is true if the user ID is revoked.
3361
3362 ‘unsigned int invalid : 1’
3363 This is true if the user ID is invalid.
3364
3365 ‘gpgme_validity_t validity’
3366 This specifies the validity of the user ID.
3367
3368 ‘char *uid’
3369 This is the user ID string.
3370
3371 ‘char *name’
3372 This is the name component of ‘uid’, if available.
3373
3374 ‘char *comment’
3375 This is the comment component of ‘uid’, if available.
3376
3377 ‘char *email’
3378 This is the email component of ‘uid’, if available.
3379
3380 ‘char *address;’
3381 The mail address (addr-spec from RFC-5322) of the user ID
3382 string. This is general the same as the ‘email’ part of this
3383 structure but might be slightly different. If no mail address
3384 is available ‘NULL’ is stored.
3385
3386 ‘gpgme_tofu_info_t tofu’
3387 SINCE: 1.7.0
3388
3389 If not ‘NULL’ information from the TOFU database pertaining to
3390 this user id.
3391
3392 ‘gpgme_key_sig_t signatures’
3393 This is a linked list with the signatures on this user ID.
3394
3395 ‘unsigned int origin : 5’
3396 SINCE: 1.8.0
3397
3398 Reserved for the origin of this user ID.
3399
3400 ‘unsigned long last_update’
3401 SINCE: 1.8.0
3402
3403 Reserved for the time of the last update of this user ID.
3404
3405 ‘char *uidhash;’
3406 A string used by gpg to identify a user ID. This string can be
3407 used at certain prompts of ‘gpgme_op_edit’ to select a user
3408 ID. Users must be prepared to see a ‘NULL’ value here. The
3409 format of the value is not specified and may depend on the
3410 GPGME or GnuPG version.
3411
3412 -- Data type: gpgme_tofu_info_t
3413
3414 SINCE: 1.7.0
3415
3416 The ‘gpgme_tofu_info_t’ type is a pointer to a tofu info structure.
3417 Tofu info structures are one component of a ‘gpgme_user_id_t’
3418 object, and provide information from the TOFU database pertaining
3419 to the user ID.
3420
3421 The tofu info structure has the following members:
3422
3423 ‘gpgme_key_sig_t next’
3424 This is a pointer to the next tofu info structure in the
3425 linked list, or ‘NULL’ if this is the last element.
3426
3427 ‘unsigned int validity : 3’
3428 This is the TOFU validity. It can have the following values:
3429
3430 ‘0’
3431 The value ‘0’ indicates a conflict.
3432
3433 ‘1’
3434 The value ‘1’ indicates a key without history.
3435
3436 ‘2’
3437 The value ‘2’ indicates a key with too little history.
3438
3439 ‘3’
3440 The value ‘3’ indicates a key with enough history for
3441 basic trust.
3442
3443 ‘4’
3444 The value ‘4’ indicates a key with a lot of history.
3445
3446 ‘unsigned int policy : 4’
3447 This is the TOFU policy, see ‘gpgme_tofu_policy_t’.
3448
3449 ‘unsigned short signcount’
3450 This is the number of signatures seen for this binding (or
3451 ‘USHRT_MAX’ if there are more than that).
3452
3453 ‘unsigned short encrcount’
3454 This is the number of encryptions done with this binding (or
3455 ‘USHRT_MAX’ if there are more than that).
3456
3457 ‘unsigned long signfirst’
3458 Number of seconds since Epoch when the first signature was
3459 seen with this binding.
3460
3461 ‘unsigned long signlast’
3462 Number of seconds since Epoch when the last signature was seen
3463 with this binding.
3464
3465 ‘unsigned long encrfirst’
3466 Number of seconds since Epoch when the first encryption was
3467 done with this binding.
3468
3469 ‘unsigned long encrlast’
3470 Number of seconds since Epoch when the last encryption was
3471 done with this binding.
3472
3473 ‘char *description’
3474 A human-readable string summarizing the TOFU data (or NULL).
3475
3476 -- Data type: gpgme_key_sig_t
3477
3478 The ‘gpgme_key_sig_t’ type is a pointer to a key signature
3479 structure. Key signatures are one component of a ‘gpgme_key_t’
3480 object, and validate user IDs on the key in the OpenPGP protocol.
3481
3482 The signatures on a key are only available if the key was retrieved
3483 via a listing operation with the ‘GPGME_KEYLIST_MODE_SIGS’ mode
3484 enabled, because it can be expensive to retrieve all signatures of
3485 a key.
3486
3487 The signature notations on a key signature are only available if
3488 the key was retrieved via a listing operation with the
3489 ‘GPGME_KEYLIST_MODE_SIG_NOTATIONS’ mode enabled, because it can be
3490 expensive to retrieve all signature notations.
3491
3492 The key signature structure has the following members:
3493
3494 ‘gpgme_key_sig_t next’
3495 This is a pointer to the next key signature structure in the
3496 linked list, or ‘NULL’ if this is the last element.
3497
3498 ‘unsigned int revoked : 1’
3499 This is true if the key signature is a revocation signature.
3500
3501 ‘unsigned int expired : 1’
3502 This is true if the key signature is expired.
3503
3504 ‘unsigned int invalid : 1’
3505 This is true if the key signature is invalid.
3506
3507 ‘unsigned int exportable : 1’
3508 This is true if the key signature is exportable.
3509
3510 ‘unsigned int trust_depth : 8’
3511 This is the depth of a trust signature, or 0 if the key
3512 signature is not a trust signature.
3513
3514 ‘unsigned int trust_value : 8’
3515 This is the trust amount of a trust signature.
3516
3517 ‘gpgme_pubkey_algo_t pubkey_algo’
3518 This is the public key algorithm used to create the signature.
3519
3520 ‘char *keyid’
3521 This is the key ID of the key (in hexadecimal digits) used to
3522 create the signature.
3523
3524 ‘long int timestamp’
3525 This is the creation timestamp of the key signature. This is
3526 -1 if the timestamp is invalid, and 0 if it is not available.
3527
3528 ‘long int expires’
3529 This is the expiration timestamp of the key signature, or 0 if
3530 the key signature does not expire.
3531
3532 ‘char *trust_scope’
3533 This is a regular expression that limits the scope of a trust
3534 signature. Users must be prepared to see a ‘NULL’ value here.
3535
3536 ‘gpgme_error_t status’
3537 This is the status of the signature and has the same meaning
3538 as the member of the same name in a ‘gpgme_signature_t’
3539 object.
3540
3541 ‘unsigned int sig_class’
3542 This specifies the signature class of the key signature. The
3543 meaning is specific to the crypto engine.
3544
3545 ‘char *uid’
3546 This is the main user ID of the key used to create the
3547 signature.
3548
3549 ‘char *name’
3550 This is the name component of ‘uid’, if available.
3551
3552 ‘char *comment’
3553 This is the comment component of ‘uid’, if available.
3554
3555 ‘char *email’
3556 This is the email component of ‘uid’, if available.
3557
3558 ‘gpgme_sig_notation_t notations’
3559 This is a linked list with the notation data and policy URLs.
3560
3561 
3562 File: gpgme.info, Node: Listing Keys, Next: Information About Keys, Prev: Key objects, Up: Key Management
3563
3564 7.5.2 Listing Keys
3565 ------------------
3566
3567 -- Function: gpgme_error_t gpgme_op_keylist_start (gpgme_ctx_t CTX,
3568 const char *PATTERN, int SECRET_ONLY)
3569
3570 The function ‘gpgme_op_keylist_start’ initiates a key listing
3571 operation inside the context CTX. It sets everything up so that
3572 subsequent invocations of ‘gpgme_op_keylist_next’ return the keys
3573 in the list.
3574
3575 If PATTERN is ‘NULL’, all available keys are returned. Otherwise,
3576 PATTERN contains an engine specific expression that is used to
3577 limit the list to all keys matching the pattern. Note that the
3578 total length of the pattern is restricted to an engine-specific
3579 maximum (a couple of hundred characters are usually accepted). The
3580 pattern should be used to restrict the search to a certain common
3581 name or user, not to list many specific keys at once by listing
3582 their fingerprints or key IDs.
3583
3584 If SECRET_ONLY is not ‘0’, the list is restricted to secret keys
3585 only.
3586
3587 The context will be busy until either all keys are received (and
3588 ‘gpgme_op_keylist_next’ returns ‘GPG_ERR_EOF’), or
3589 ‘gpgme_op_keylist_end’ is called to finish the operation.
3590
3591 The function returns the error code ‘GPG_ERR_INV_VALUE’ if CTX is
3592 not a valid pointer, and passes through any errors that are
3593 reported by the crypto engine support routines.
3594
3595 -- Function: gpgme_error_t gpgme_op_keylist_ext_start (gpgme_ctx_t CTX,
3596 const char *PATTERN[], int SECRET_ONLY, int RESERVED)
3597
3598 The function ‘gpgme_op_keylist_ext_start’ initiates an extended key
3599 listing operation inside the context CTX. It sets everything up so
3600 that subsequent invocations of ‘gpgme_op_keylist_next’ return the
3601 keys in the list.
3602
3603 If PATTERN or *PATTERN is ‘NULL’, all available keys are returned.
3604 Otherwise, PATTERN is a ‘NULL’ terminated array of strings that are
3605 used to limit the list to all keys matching at least one of the
3606 patterns verbatim. Note that the total length of all patterns is
3607 restricted to an engine-specific maximum (the exact limit also
3608 depends on the number of patterns and amount of quoting required,
3609 but a couple of hundred characters are usually accepted). Patterns
3610 should be used to restrict the search to a certain common name or
3611 user, not to list many specific keys at once by listing their
3612 fingerprints or key IDs.
3613
3614 If SECRET_ONLY is not ‘0’, the list is restricted to secret keys
3615 only.
3616
3617 The value of RESERVED must be ‘0’.
3618
3619 The context will be busy until either all keys are received (and
3620 ‘gpgme_op_keylist_next’ returns ‘GPG_ERR_EOF’), or
3621 ‘gpgme_op_keylist_end’ is called to finish the operation.
3622
3623 The function returns the error code ‘GPG_ERR_INV_VALUE’ if CTX is
3624 not a valid pointer, and passes through any errors that are
3625 reported by the crypto engine support routines.
3626
3627 -- Function: gpgme_error_t gpgme_op_keylist_from_data_start
3628 (gpgme_ctx_t CTX, gpgme_data_t DATA, int RESERVED)
3629
3630 SINCE: 1.8.0
3631
3632 The function ‘gpgme_op_keylist_from_data_start’ initiates a key
3633 listing operation inside the context CTX. In contrast to the other
3634 key listing operation the keys are read from the supplied DATA and
3635 not from the local key database. The keys are also not imported
3636 into the local key database. The function sets everything up so
3637 that subsequent invocations of ‘gpgme_op_keylist_next’ return the
3638 keys from DATA.
3639
3640 The value of RESERVED must be ‘0’.
3641
3642 This function requires at least GnuPG version 2.1.14 and currently
3643 works only with OpenPGP keys.
3644
3645 The context will be busy until either all keys are received (and
3646 ‘gpgme_op_keylist_next’ returns ‘GPG_ERR_EOF’), or
3647 ‘gpgme_op_keylist_end’ is called to finish the operation. While
3648 the context is busy DATA may not be released.
3649
3650 The function returns the error code ‘GPG_ERR_INV_VALUE’ if CTX is
3651 not a valid pointer, and passes through any errors that are
3652 reported by the crypto engine support routines.
3653
3654 -- Function: gpgme_error_t gpgme_op_keylist_next (gpgme_ctx_t CTX,
3655 gpgme_key_t *R_KEY)
3656
3657 The function ‘gpgme_op_keylist_next’ returns the next key in the
3658 list created by a previous ‘gpgme_op_keylist_start’ operation in
3659 the context CTX. The key will have one reference for the user.
3660 *Note Manipulating Keys::.
3661
3662 This is the only way to get at ‘gpgme_key_t’ objects in GPGME.
3663
3664 If the last key in the list has already been returned,
3665 ‘gpgme_op_keylist_next’ returns ‘GPG_ERR_EOF’.
3666
3667 The function returns the error code ‘GPG_ERR_INV_VALUE’ if CTX or
3668 R_KEY is not a valid pointer, and ‘GPG_ERR_ENOMEM’ if there is not
3669 enough memory for the operation.
3670
3671 -- Function: gpgme_error_t gpgme_op_keylist_end (gpgme_ctx_t CTX)
3672
3673 The function ‘gpgme_op_keylist_end’ ends a pending key list
3674 operation in the context CTX.
3675
3676 After the operation completed successfully, the result of the key
3677 listing operation can be retrieved with ‘gpgme_op_keylist_result’.
3678
3679 The function returns the error code ‘GPG_ERR_INV_VALUE’ if CTX is
3680 not a valid pointer, and ‘GPG_ERR_ENOMEM’ if at some time during
3681 the operation there was not enough memory available.
3682
3683 The following example illustrates how all keys containing a certain
3684 string (‘g10code’) can be listed with their key ID and the name and
3685 email address of the main user ID:
3686
3687 gpgme_ctx_t ctx;
3688 gpgme_key_t key;
3689 gpgme_error_t err = gpgme_new (&ctx);
3690
3691 if (!err)
3692 {
3693 err = gpgme_op_keylist_start (ctx, "g10code", 0);
3694 while (!err)
3695 {
3696 err = gpgme_op_keylist_next (ctx, &key);
3697 if (err)
3698 break;
3699 printf ("%s:", key->subkeys->keyid);
3700 if (key->uids && key->uids->name)
3701 printf (" %s", key->uids->name);
3702 if (key->uids && key->uids->email)
3703 printf (" <%s>", key->uids->email);
3704 putchar ('\n');
3705 gpgme_key_release (key);
3706 }
3707 gpgme_release (ctx);
3708 }
3709 if (gpg_err_code (err) != GPG_ERR_EOF)
3710 {
3711 fprintf (stderr, "can not list keys: %s\n", gpgme_strerror (err));
3712 exit (1);
3713 }
3714
3715 -- Data type: gpgme_keylist_result_t
3716 This is a pointer to a structure used to store the result of a
3717 ‘gpgme_op_keylist_*’ operation. After successfully ending a key
3718 listing operation, you can retrieve the pointer to the result with
3719 ‘gpgme_op_keylist_result’. The structure contains the following
3720 member:
3721
3722 ‘unsigned int truncated : 1’
3723 This is true if the crypto backend had to truncate the result,
3724 and less than the desired keys could be listed.
3725
3726 -- Function: gpgme_keylist_result_t gpgme_op_keylist_result
3727 (gpgme_ctx_t CTX)
3728 The function ‘gpgme_op_keylist_result’ returns a
3729 ‘gpgme_keylist_result_t’ pointer to a structure holding the result
3730 of a ‘gpgme_op_keylist_*’ operation. The pointer is only valid if
3731 the last operation on the context was a key listing operation, and
3732 if this operation finished successfully. The returned pointer is
3733 only valid until the next operation is started on the context.
3734
3735 In a simple program, for which a blocking operation is acceptable,
3736 the following function can be used to retrieve a single key.
3737
3738 -- Function: gpgme_error_t gpgme_get_key (gpgme_ctx_t CTX,
3739 const char *FPR, gpgme_key_t *R_KEY, int SECRET)
3740 The function ‘gpgme_get_key’ gets the key with the fingerprint (or
3741 key ID) FPR from the crypto backend and return it in R_KEY. If
3742 SECRET is true, get the secret key. The currently active keylist
3743 mode is used to retrieve the key. The key will have one reference
3744 for the user.
3745
3746 If the key is not found in the keyring, ‘gpgme_get_key’ returns the
3747 error code ‘GPG_ERR_EOF’ and *R_KEY will be set to ‘NULL’.
3748
3749 The function returns the error code ‘GPG_ERR_INV_VALUE’ if CTX or
3750 R_KEY is not a valid pointer or FPR is not a fingerprint or key ID,
3751 ‘GPG_ERR_AMBIGUOUS_NAME’ if the key ID was not a unique specifier
3752 for a key, and ‘GPG_ERR_ENOMEM’ if at some time during the
3753 operation there was not enough memory available.
3754
3755 
3756 File: gpgme.info, Node: Information About Keys, Next: Manipulating Keys, Prev: Listing Keys, Up: Key Management
3757
3758 7.5.3 Information About Keys
3759 ----------------------------
3760
3761 Please see the beginning of this section for more information about
3762 ‘gpgme_key_t’ objects.
3763
3764 -- Data type: gpgme_validity_t
3765 The ‘gpgme_validity_t’ type is used to specify the validity of a
3766 user ID in a key. The following validities are defined:
3767
3768 ‘GPGME_VALIDITY_UNKNOWN’
3769 The user ID is of unknown validity. The string representation
3770 of this validity is “?”.
3771
3772 ‘GPGME_VALIDITY_UNDEFINED’
3773 The validity of the user ID is undefined. The string
3774 representation of this validity is “q”.
3775
3776 ‘GPGME_VALIDITY_NEVER’
3777 The user ID is never valid. The string representation of this
3778 validity is “n”.
3779
3780 ‘GPGME_VALIDITY_MARGINAL’
3781 The user ID is marginally valid. The string representation of
3782 this validity is “m”.
3783
3784 ‘GPGME_VALIDITY_FULL’
3785 The user ID is fully valid. The string representation of this
3786 validity is “f”.
3787
3788 ‘GPGME_VALIDITY_ULTIMATE’
3789 The user ID is ultimately valid. The string representation of
3790 this validity is “u”.
3791
3792 
3793 File: gpgme.info, Node: Manipulating Keys, Next: Generating Keys, Prev: Information About Keys, Up: Key Management
3794
3795 7.5.4 Manipulating Keys
3796 -----------------------
3797
3798 -- Function: void gpgme_key_ref (gpgme_key_t KEY)
3799 The function ‘gpgme_key_ref’ acquires an additional reference for
3800 the key KEY.
3801
3802 -- Function: void gpgme_key_unref (gpgme_key_t KEY)
3803 The function ‘gpgme_key_unref’ releases a reference for the key
3804 KEY. If this was the last reference, the key will be destroyed and
3805 all resources associated to it will be released.
3806
3807 -- Function: gpgme_error_t gpgme_op_setexpire (gpgme_ctx_t CTX,
3808 gpgme_key_t KEY, unsigned long EXPIRES, const char *SUBFPRS,
3809 unsigned int RESERVED);
3810
3811 SINCE: 1.14.1
3812
3813 The function ‘gpgme_op_setexpire’ sets the expiration time of the
3814 key KEY or of the specified subkeys. This function requires at
3815 least version 2.1.22 of GnuPG.
3816
3817 KEY specifies the key to operate on.
3818
3819 EXPIRES specifies the expiration time in seconds from now. To be
3820 similar to other usages where expiration times are provided in
3821 unsigned long this is similar to the key creation date and so it is
3822 in seconds from NOW.
3823
3824 The common case is to use 0 to not set an expiration time. Note
3825 that this parameter takes an unsigned long value and not a ‘time_t’
3826 to avoid problems on systems which use a signed 32 bit ‘time_t’.
3827 Note further that the OpenPGP protocol uses 32 bit values for
3828 timestamps and thus can only encode dates up to the year 2106.
3829
3830 SUBFPRS selects the subkey(s) for which the expiration time should
3831 be set. If SUBFPRS is set to ‘NULL’, then the expiration time of
3832 the primary key is set. If SUBFPRS is an asterisk (‘*’), then the
3833 expiration times of all non-revoked and not yet expired subkeys are
3834 set. To select more than one subkey put all subkey fingerprints
3835 into one string separated by linefeeds characters (‘\n’).
3836
3837 RESERVED is reserved for later use and must be ‘0’.
3838
3839 -- Function: gpgme_error_t gpgme_op_setexpire_start (gpgme_ctx_t CTX,
3840 gpgme_key_t KEY, unsigned long EXPIRES, const char *SUBFPRS,
3841 unsigned int FLAGS);
3842
3843 SINCE: 1.14.1
3844
3845 The function ‘gpgme_op_setexpire_start’ initiates a
3846 ‘gpgme_op_setexpire’ operation; see there for details. It must be
3847 completed by calling ‘gpgme_wait’ on the context. *Note Waiting
3848 For Completion::.
3849
3850 -- Function: gpgme_error_t gpgme_op_revuid_start (gpgme_ctx_t CTX,
3851 gpgme_key_t KEY, const char *USERID, unsigned int FLAGS);
3852
3853 SINCE: 1.14.1
3854
3855 The function ‘gpgme_op_setexpire_start’ initiates a
3856 ‘gpgme_op_setexpire’ operation; see there for details. It must be
3857 completed by calling ‘gpgme_wait’ on the context. *Note Waiting
3858 For Completion::.
3859
3860 
3861 File: gpgme.info, Node: Generating Keys, Next: Signing Keys, Prev: Manipulating Keys, Up: Key Management
3862
3863 7.5.5 Generating Keys
3864 ---------------------
3865
3866 GPGME provides a set of functions to create public key pairs. Most of
3867 these functions require the use of GnuPG 2.1 and later; for older GnuPG
3868 versions the ‘gpgme_op_genkey’ function can be used. Existing code
3869 which wants to update to the new functions or new code which shall
3870 supports older GnuPG versions may try the new functions first and
3871 provide a fallback to the old function if the error code
3872 ‘GPG_ERR_NOT_SUPPORTED’ is received.
3873
3874 -- Function: gpgme_error_t gpgme_op_createkey (gpgme_ctx_t CTX,
3875 const char *USERID, const char *ALGO, unsigned long RESERVED,
3876 unsigned long EXPIRES, gpgme_key_t EXTRAKEY,
3877 unsigned int FLAGS);
3878
3879 SINCE: 1.7.0
3880
3881 The function ‘gpgme_op_createkey’ generates a new key for the
3882 procotol active in the context CTX. As of now this function does
3883 only work for OpenPGP and requires at least version 2.1.13 of
3884 GnuPG.
3885
3886 USERID is commonly the mail address associated with the key. GPGME
3887 does not require a specific syntax but if more than a mail address
3888 is given, RFC-822 style format is suggested. The value is expected
3889 to be in UTF-8 encoding (i.e. no IDN encoding for mail addresses).
3890 This is a required parameter.
3891
3892 ALGO specifies the algorithm for the new key (actually a keypair of
3893 public and private key). For a list of supported algorithms, see
3894 the GnuPG manual. If ALGO is ‘NULL’ or the string "default", the
3895 key is generated using the default algorithm of the engine. If the
3896 string "future-default" is used the engine may use an algorithm
3897 which is planned to be the default in a future release of the
3898 engine; however existing implementation of the protocol may not be
3899 able to already handle such future algorithms. For the OpenPGP
3900 protocol, the specification of a default algorithm, without
3901 requesting a non-default usage via FLAGS, triggers the creation of
3902 a primary key plus a secondary key (subkey).
3903
3904 RESERVED must be set to zero.
3905
3906 EXPIRES specifies the expiration time in seconds. If you supply 0,
3907 a reasonable expiration time is chosen. Use the flag
3908 ‘GPGME_CREATE_NOEXPIRE’ to create keys that do not expire. Note
3909 that this parameter takes an unsigned long value and not a ‘time_t’
3910 to avoid problems on systems which use a signed 32 bit ‘time_t’.
3911 Note further that the OpenPGP protocol uses 32 bit values for
3912 timestamps and thus can only encode dates up to the year 2106.
3913
3914 EXTRAKEY is currently not used and must be set to ‘NULL’. A future
3915 version of GPGME may use this parameter to create X.509 keys.
3916
3917 FLAGS can be set to the bit-wise OR of the following flags:
3918
3919 ‘GPGME_CREATE_SIGN’
3920 ‘GPGME_CREATE_ENCR’
3921 ‘GPGME_CREATE_CERT’
3922 ‘GPGME_CREATE_AUTH’
3923 SINCE: 1.7.0
3924
3925 Do not create the key with the default capabilities (key
3926 usage) of the requested algorithm but use those explicitly
3927 given by these flags: “signing”, “encryption”,
3928 “certification”, or “authentication”. The allowed
3929 combinations depend on the algorithm.
3930
3931 If any of these flags are set and a default algorithm has been
3932 selected only one key is created in the case of the OpenPGP
3933 protocol.
3934
3935 ‘GPGME_CREATE_NOPASSWD’
3936 SINCE: 1.7.0
3937
3938 Request generation of the key without password protection.
3939
3940 ‘GPGME_CREATE_SELFSIGNED’
3941 SINCE: 1.7.0
3942
3943 For an X.509 key do not create a CSR but a self-signed
3944 certificate. This has not yet been implemented.
3945
3946 ‘GPGME_CREATE_NOSTORE’
3947 SINCE: 1.7.0
3948
3949 Do not store the created key in the local key database. This
3950 has not yet been implemented.
3951
3952 ‘GPGME_CREATE_WANTPUB’
3953 ‘GPGME_CREATE_WANTSEC’
3954 SINCE: 1.7.0
3955
3956 Return the public or secret key as part of the result
3957 structure. This has not yet been implemented.
3958
3959 ‘GPGME_CREATE_FORCE’
3960 SINCE: 1.7.0
3961
3962 The engine does not allow the creation of a key with a user ID
3963 already existing in the local key database. This flag can be
3964 used to override this check.
3965
3966 ‘GPGME_CREATE_NOEXPIRE’
3967 SINCE: 1.9.0
3968
3969 Request generation of keys that do not expire.
3970
3971 After the operation completed successfully, information about the
3972 created key can be retrieved with ‘gpgme_op_genkey_result’.
3973
3974 The function returns zero on success, ‘GPG_ERR_NOT_SUPPORTED’ if
3975 the engine does not support the command, or a bunch of other error
3976 codes.
3977
3978 -- Function: gpgme_error_t gpgme_op_createkey_start (gpgme_ctx_t CTX,
3979 const char *USERID, const char *ALGO, unsigned long RESERVED,
3980 unsigned long EXPIRES, gpgme_key_t EXTRAKEY,
3981 unsigned int FLAGS);
3982
3983 SINCE: 1.7.0
3984
3985 The function ‘gpgme_op_createkey_start’ initiates a
3986 ‘gpgme_op_createkey’ operation; see there for details. It must be
3987 completed by calling ‘gpgme_wait’ on the context. *Note Waiting
3988 For Completion::.
3989
3990 -- Function: gpgme_error_t gpgme_op_createsubkey (gpgme_ctx_t CTX,
3991 gpgme_key_t KEY, const char *ALGO, unsigned long RESERVED,
3992 unsigned long EXPIRES, unsigned int FLAGS);
3993
3994 SINCE: 1.7.0
3995
3996 The function ‘gpgme_op_createsubkey’ creates and adds a new subkey
3997 to the primary OpenPGP key given by KEY. The only allowed protocol
3998 in CTX is ‘GPGME_PROTOCOL_OPENPGP’. Subkeys (aka secondary keys)
3999 are a concept in the OpenPGP protocol to bind several keys to a
4000 primary key. As of now this function requires at least version
4001 2.1.13 of GnuPG.
4002
4003 KEY specifies the key to operate on.
4004
4005 ALGO specifies the algorithm for the new subkey. For a list of
4006 supported algorithms, see the GnuPG manual. If ALGO is ‘NULL’ or
4007 the string "default", the subkey is generated using the default
4008 algorithm for an encryption subkey of the engine. If the string
4009 "future-default" is used the engine may use an encryption algorithm
4010 which is planned to be the default in a future release of the
4011 engine; however existing implementation of the protocol may not be
4012 able to already handle such future algorithms.
4013
4014 RESERVED must be set to zero.
4015
4016 EXPIRES specifies the expiration time in seconds. If you supply 0,
4017 a reasonable expiration time is chosen. Use the flag
4018 ‘GPGME_CREATE_NOEXPIRE’ to create keys that do not expire. Note
4019 that this parameter takes an unsigned long value and not a ‘time_t’
4020 to avoid problems on systems which use a signed 32 bit ‘time_t’.
4021 Note further that the OpenPGP protocol uses 32 bit values for
4022 timestamps and thus can only encode dates up to the year 2106.
4023
4024 FLAGS takes the same values as described above for
4025 ‘gpgme_op_createkey’.
4026
4027 After the operation completed successfully, information about the
4028 created key can be retrieved with ‘gpgme_op_genkey_result’.
4029
4030 The function returns zero on success, ‘GPG_ERR_NOT_SUPPORTED’ if
4031 the engine does not support the command, or a bunch of other error
4032 codes.
4033
4034 -- Function: gpgme_error_t gpgme_op_createsubkey_start
4035 (gpgme_ctx_t CTX, gpgme_key_t KEY, const char *ALGO,
4036 unsigned long RESERVED, unsigned long EXPIRES,
4037 unsigned int FLAGS);
4038
4039 SINCE: 1.7.0
4040
4041 The function ‘gpgme_op_createsubkey_start’ initiates a
4042 ‘gpgme_op_createsubkey’ operation; see there for details. It must
4043 be completed by calling ‘gpgme_wait’ on the context. *Note Waiting
4044 For Completion::.
4045
4046 -- Function: gpgme_error_t gpgme_op_adduid (gpgme_ctx_t CTX,
4047 gpgme_key_t KEY, const char *USERID, unsigned int FLAGS);
4048
4049 SINCE: 1.7.0
4050
4051 The function ‘gpgme_op_adduid’ adds a new user ID to the OpenPGP
4052 key given by KEY. Adding additional user IDs after key creation is
4053 a feature of the OpenPGP protocol and thus the protocol for the
4054 context CTX must be set to OpenPGP. As of now this function
4055 requires at least version 2.1.13 of GnuPG.
4056
4057 KEY specifies the key to operate on.
4058
4059 USERID is the user ID to add to the key. A user ID is commonly the
4060 mail address to be associated with the key. GPGME does not require
4061 a specific syntax but if more than a mail address is given, RFC-822
4062 style format is suggested. The value is expected to be in UTF-8
4063 encoding (i.e. no IDN encoding for mail addresses). This is a
4064 required parameter.
4065
4066 FLAGS are currently not used and must be set to zero.
4067
4068 The function returns zero on success, ‘GPG_ERR_NOT_SUPPORTED’ if
4069 the engine does not support the command, or a bunch of other error
4070 codes.
4071
4072 -- Function: gpgme_error_t gpgme_op_adduid_start (gpgme_ctx_t CTX,
4073 gpgme_key_t KEY, const char *USERID, unsigned int FLAGS);
4074
4075 SINCE: 1.7.0
4076
4077 The function ‘gpgme_op_adduid_start’ initiates a ‘gpgme_op_adduid’
4078 operation; see there for details. It must be completed by calling
4079 ‘gpgme_wait’ on the context. *Note Waiting For Completion::.
4080
4081 -- Function: gpgme_error_t gpgme_op_revuid (gpgme_ctx_t CTX,
4082 gpgme_key_t KEY, const char *USERID, unsigned int FLAGS);
4083
4084 SINCE: 1.7.0
4085
4086 The function ‘gpgme_op_revuid’ revokes a user ID from the OpenPGP
4087 key given by KEY. Revoking user IDs after key creation is a
4088 feature of the OpenPGP protocol and thus the protocol for the
4089 context CTX must be set to OpenPGP. As of now this function
4090 requires at least version 2.1.13 of GnuPG.
4091
4092 KEY specifies the key to operate on.
4093
4094 USERID is the user ID to be revoked from the key. The user ID must
4095 be given verbatim because the engine does an exact and case
4096 sensitive match. Thus the ‘uid’ field from the user ID object
4097 (‘gpgme_user_id_t’) is to be used. This is a required parameter.
4098
4099 FLAGS are currently not used and must be set to zero.
4100
4101 Note that the engine won’t allow to revoke the last valid user ID.
4102 To change a user ID is better to first add the new user ID, then
4103 revoke the old one, and finally publish the key.
4104
4105 The function returns zero on success, ‘GPG_ERR_NOT_SUPPORTED’ if
4106 the engine does not support the command, or a bunch of other error
4107 codes.
4108
4109 -- Function: gpgme_error_t gpgme_op_revuid_start (gpgme_ctx_t CTX,
4110 gpgme_key_t KEY, const char *USERID, unsigned int FLAGS);
4111
4112 SINCE: 1.7.0
4113
4114 The function ‘gpgme_op_revuid_start’ initiates a ‘gpgme_op_revuid’
4115 operation; see there for details. It must be completed by calling
4116 ‘gpgme_wait’ on the context. *Note Waiting For Completion::.
4117
4118 -- Function: gpgme_error_t gpgme_op_set_ui_flag (gpgme_ctx_t CTX,
4119 gpgme_key_t KEY, const char *USERID, cons char * NAME,
4120 cons char * VALUE);
4121
4122 SINCE: 1.8.0
4123
4124 The function ‘gpgme_op_set_uid_flag’ is used to set flags on a user
4125 ID from the OpenPGP key given by KEY. Setting flags on user IDs
4126 after key creation is a feature of the OpenPGP protocol and thus
4127 the protocol for the context CTX must be set to OpenPGP.
4128
4129 KEY specifies the key to operate on. This parameters is required.
4130
4131 USERID is the user ID of the key to be manipulated. This user ID
4132 must be given verbatim because the engine does an exact and case
4133 sensitive match. Thus the ‘uid’ field from the user ID object
4134 (‘gpgme_user_id_t’) is to be used. This is a required parameter.
4135
4136 NAME names the flag which is to be changed. The only currently
4137 supported flag is:
4138
4139 ‘primary’
4140 This sets the primary key flag on the given user ID. All other
4141 primary key flag on other user IDs are removed. VALUE must be
4142 given as NULL. For technical reasons this functions bumps the
4143 creation timestamp of all affected self-signatures up by one
4144 second. At least GnuPG version 2.1.20 is required.
4145
4146 The function returns zero on success, ‘GPG_ERR_NOT_SUPPORTED’ if
4147 the engine does not support the command, or a bunch of other error
4148 codes.
4149
4150 -- Function: gpgme_error_t gpgme_op_set_uid_flag_start
4151 (gpgme_ctx_t CTX, gpgme_key_t KEY, const char *USERID,
4152 cons char * NAME, cons char * VALUE);
4153
4154 SINCE: 1.8.0
4155
4156 The function ‘gpgme_op_set_uid_flag_start’ initiates a
4157 ‘gpgme_op_set_uid_flag’ operation; see there for details. It must
4158 be completed by calling ‘gpgme_wait’ on the context. *Note Waiting
4159 For Completion::.
4160
4161 -- Function: gpgme_error_t gpgme_op_genkey (gpgme_ctx_t CTX,
4162 const char *PARMS, gpgme_data_t PUBLIC, gpgme_data_t SECRET)
4163
4164 The function ‘gpgme_op_genkey’ generates a new key pair in the
4165 context CTX. The meaning of PUBLIC and SECRET depends on the
4166 crypto backend.
4167
4168 GPG does not support PUBLIC and SECRET, they should be ‘NULL’.
4169 GnuPG will generate a key pair and add it to the standard key ring.
4170 The fingerprint of the generated key is available with
4171 ‘gpgme_op_genkey_result’.
4172
4173 GpgSM requires PUBLIC to be a writable data object. GpgSM will
4174 generate a secret key (which will be stored by ‘gpg-agent’, and
4175 return a certificate request in PUBLIC, which then needs to be
4176 signed by the certification authority and imported before it can be
4177 used. GpgSM does not make the fingerprint available.
4178
4179 The argument PARMS specifies parameters for the key in an string
4180 that looks something like XML. The details about the format of
4181 PARMS are specific to the crypto engine used by CTX. The first
4182 line of the parameters must be ‘<GnupgKeyParams format="internal">’
4183 and the last line must be ‘</GnupgKeyParams>’. Every line in
4184 between the first and last lines is treated as a Header: Value
4185 pair. In particular, no XML escaping is necessary if you need to
4186 include the characters ‘<’, ‘>’, or ‘&’.
4187
4188 Here is an example for GnuPG as the crypto engine (all parameters
4189 of OpenPGP key generation are documented in the GPG manual):
4190
4191 <GnupgKeyParms format="internal">
4192 Key-Type: default
4193 Subkey-Type: default
4194 Name-Real: Joe Tester
4195 Name-Comment: with stupid passphrase
4196 Name-Email: joe@foo.bar
4197 Expire-Date: 0
4198 Passphrase: abc
4199 </GnupgKeyParms>
4200
4201 Here is an example for GpgSM as the crypto engine (all parameters
4202 of OpenPGP key generation are documented in the GPGSM manual):
4203
4204 <GnupgKeyParms format="internal">
4205 Key-Type: RSA
4206 Key-Length: 1024
4207 Name-DN: C=de,O=g10 code,OU=Testlab,CN=Joe 2 Tester
4208 Name-Email: joe@foo.bar
4209 </GnupgKeyParms>
4210
4211 Strings should be given in UTF-8 encoding. The only format
4212 supported for now is “internal”. The content of the
4213 ‘GnupgKeyParms’ container is passed verbatim to the crypto backend.
4214 Control statements are not allowed.
4215
4216 After the operation completed successfully, the result can be
4217 retrieved with ‘gpgme_op_genkey_result’.
4218
4219 The function returns the error code ‘GPG_ERR_NO_ERROR’ if the
4220 operation could be started successfully, ‘GPG_ERR_INV_VALUE’ if
4221 PARMS is not a well-formed string (e.g. does not have the expected
4222 tag-like headers and footers), ‘GPG_ERR_NOT_SUPPORTED’ if PUBLIC or
4223 SECRET is not valid, and ‘GPG_ERR_GENERAL’ if no key was created by
4224 the backend.
4225
4226 -- Function: gpgme_error_t gpgme_op_genkey_start (gpgme_ctx_t CTX,
4227 const char *PARMS, gpgme_data_t PUBLIC, gpgme_data_t SECRET)
4228
4229 The function ‘gpgme_op_genkey_start’ initiates a ‘gpgme_op_genkey’
4230 operation. It can be completed by calling ‘gpgme_wait’ on the
4231 context. *Note Waiting For Completion::.
4232
4233 The function returns the error code ‘GPG_ERR_NO_ERROR’ if the
4234 operation could be started successfully, ‘GPG_ERR_INV_VALUE’ if
4235 PARMS is not a valid XML string, and ‘GPG_ERR_NOT_SUPPORTED’ if
4236 PUBLIC or SECRET is not ‘NULL’.
4237
4238 -- Data type: gpgme_genkey_result_t
4239
4240 This is a pointer to a structure used to store the result of a
4241 ‘gpgme_op_genkey’ operation. After successfully generating a key,
4242 you can retrieve the pointer to the result with
4243 ‘gpgme_op_genkey_result’. The structure contains the following
4244 members:
4245
4246 ‘unsigned int primary : 1’
4247 This flag is set to 1 if a primary key was created and to 0 if
4248 not.
4249
4250 ‘unsigned int sub : 1’
4251 This flag is set to 1 if a subkey was created and to 0 if not.
4252
4253 ‘unsigned int uid : 1’
4254 This flag is set to 1 if a user ID was created and to 0 if
4255 not.
4256
4257 ‘char *fpr’
4258 This is the fingerprint of the key that was created. If both
4259 a primary and a subkey were generated, the fingerprint of the
4260 primary key will be returned. If the crypto engine does not
4261 provide the fingerprint, ‘fpr’ will be a null pointer.
4262
4263 ‘gpgme_data_t pubkey’
4264 SINCE: 1.7.0
4265
4266 This will eventually be used to return the public key. It is
4267 currently not used.
4268
4269 ‘gpgme_data_t seckey’
4270 SINCE: 1.7.0
4271
4272 This will eventually be used to return the secret key. It is
4273 currently not used.
4274
4275 -- Function: gpgme_genkey_result_t gpgme_op_genkey_result
4276 (gpgme_ctx_t CTX)
4277
4278 The function ‘gpgme_op_genkey_result’ returns a
4279 ‘gpgme_genkey_result_t’ pointer to a structure holding the result
4280 of a ‘gpgme_op_genkey’ operation. The pointer is only valid if the
4281 last operation on the context was a ‘gpgme_op_genkey’ or
4282 ‘gpgme_op_genkey_start’ operation, and if this operation finished
4283 successfully. The returned pointer is only valid until the next
4284 operation is started on the context.
4285
4286 
4287 File: gpgme.info, Node: Signing Keys, Next: Exporting Keys, Prev: Generating Keys, Up: Key Management
4288
4289 7.5.6 Signing Keys
4290 ------------------
4291
4292 Key signatures are a unique concept of the OpenPGP protocol. They can
4293 be used to certify the validity of a key and are used to create the
4294 Web-of-Trust (WoT). Instead of using the ‘gpgme_op_interact’ function
4295 along with a finite state machine, GPGME provides a convenient function
4296 to create key signatures when using modern GnuPG versions.
4297
4298 -- Function: gpgme_error_t gpgme_op_keysign (gpgme_ctx_t CTX,
4299 gpgme_key_t KEY, const char *USERID, unsigned long EXPIRES,
4300 unsigned int FLAGS);
4301
4302 SINCE: 1.7.0
4303
4304 The function ‘gpgme_op_keysign’ adds a new key signature to the
4305 public key KEY. This function requires at least version 2.1.12 of
4306 GnuPG.
4307
4308 CTX is the usual context which describes the protocol to use (which
4309 must be OpenPGP) and has also the list of signer keys to be used
4310 for the signature. The common case is to use the default key for
4311 signing other keys. If another key or more than one key shall be
4312 used for a key signature, ‘gpgme_signers_add’ can be used. *Note
4313 Selecting Signers::.
4314
4315 KEY specifies the key to operate on.
4316
4317 USERID selects the user ID or user IDs to be signed. If USERID is
4318 set to ‘NULL’ all valid user IDs are signed. The user ID must be
4319 given verbatim because the engine does an exact and case sensitive
4320 match. Thus the ‘uid’ field from the user ID object
4321 (‘gpgme_user_id_t’) is to be used. To select more than one user ID
4322 put them all into one string separated by linefeeds characters
4323 (‘\n’) and set the flag ‘GPGME_KEYSIGN_LFSEP’.
4324
4325 EXPIRES specifies the expiration time of the new signature in
4326 seconds. The common case is to use 0 to not set an expiration
4327 date. However, if the configuration of the engine defines a
4328 default expiration for key signatures, that is still used unless
4329 the flag ‘GPGME_KEYSIGN_NOEXPIRE’ is used. Note that this
4330 parameter takes an unsigned long value and not a ‘time_t’ to avoid
4331 problems on systems which use a signed 32 bit ‘time_t’. Note
4332 further that the OpenPGP protocol uses 32 bit values for timestamps
4333 and thus can only encode dates up to the year 2106.
4334
4335 FLAGS can be set to the bit-wise OR of the following flags:
4336
4337 ‘GPGME_KEYSIGN_LOCAL’
4338 SINCE: 1.7.0
4339
4340 Instead of creating an exportable key signature, create a key
4341 signature which is is marked as non-exportable.
4342
4343 ‘GPGME_KEYSIGN_LFSEP’
4344 SINCE: 1.7.0
4345
4346 Although linefeeds are uncommon in user IDs this flag is
4347 required to explicitly declare that USERID may contain several
4348 linefeed separated user IDs.
4349
4350 ‘GPGME_KEYSIGN_NOEXPIRE’
4351 Force the creation of a key signature without an expiration
4352 date. This overrides EXPIRE and any local configuration of
4353 the engine.
4354
4355 ‘GPGME_KEYSIGN_FORCE’
4356 Force the creation of a new signature even if one already
4357 exists. This flag has an effect only if the gpg version is at
4358 least 2.2.28 but won’t return an error with older versions.
4359
4360 The function returns zero on success, ‘GPG_ERR_NOT_SUPPORTED’ if
4361 the engine does not support the command, or a bunch of other error
4362 codes.
4363
4364 -- Function: gpgme_error_t gpgme_op_keysign_start (gpgme_ctx_t CTX,
4365 gpgme_key_t KEY, const char *USERID, unsigned long EXPIRES,
4366 unsigned int FLAGS);
4367
4368 SINCE: 1.7.0
4369
4370 The function ‘gpgme_op_keysign_start’ initiates a
4371 ‘gpgme_op_keysign’ operation; see there for details. It must be
4372 completed by calling ‘gpgme_wait’ on the context. *Note Waiting
4373 For Completion::.
4374
4375 -- Function: gpgme_error_t gpgme_op_revsig (gpgme_ctx_t CTX,
4376 gpgme_key_t KEY, gpgme_key_t SIGNING_KEY, const char *USERID,
4377 unsigned int FLAGS);
4378
4379 SINCE: 1.14.1
4380
4381 The function ‘gpgme_op_revsig’ revokes key signatures of the public
4382 key KEY made with the key SIGNING_KEY. This function requires at
4383 least version 2.2.24 of GnuPG.
4384
4385 KEY specifies the key to operate on.
4386
4387 SIGNING_KEY specifies the key whose signatures shall be revoked.
4388
4389 USERID selects the user ID or user IDs whose signatures shall be
4390 revoked. If USERID is set to ‘NULL’ the signatures on all user IDs
4391 are revoked. The user ID must be given verbatim because the engine
4392 does an exact and case sensitive match. Thus the ‘uid’ field from
4393 the user ID object (‘gpgme_user_id_t’) is to be used. To select
4394 more than one user ID put them all into one string separated by
4395 linefeeds characters (‘\n’) and set the flag ‘GPGME_REVSIG_LFSEP’.
4396
4397 FLAGS can be set to the bit-wise OR of the following flags:
4398
4399 ‘GPGME_REVSIG_LFSEP’
4400 SINCE: 1.14.1
4401
4402 Although linefeeds are uncommon in user IDs this flag is
4403 required to explicitly declare that USERID may contain several
4404 linefeed separated user IDs.
4405
4406 The function returns zero on success, ‘GPG_ERR_NOT_SUPPORTED’ if
4407 the engine does not support the command, or a bunch of other error
4408 codes.
4409
4410 -- Function: gpgme_error_t gpgme_op_revsig_start (gpgme_ctx_t CTX,
4411 gpgme_key_t KEY, gpgme_key_t SIGNING_KEY, const char *USERID,
4412 unsigned int FLAGS);
4413
4414 SINCE: 1.14.1
4415
4416 The function ‘gpgme_op_revsig_start’ initiates a ‘gpgme_op_revsig’
4417 operation; see there for details. It must be completed by calling
4418 ‘gpgme_wait’ on the context. *Note Waiting For Completion::.
4419
4420 
4421 File: gpgme.info, Node: Exporting Keys, Next: Importing Keys, Prev: Signing Keys, Up: Key Management
4422
4423 7.5.7 Exporting Keys
4424 --------------------
4425
4426 Exporting keys means the same as running ‘gpg’ with the command
4427 ‘--export’. However, a mode flag can be used to change the way the
4428 export works. The available mode flags are described below, they may be
4429 or-ed together.
4430
4431 ‘GPGME_EXPORT_MODE_EXTERN’
4432 If this bit is set, the output is send directly to the default
4433 keyserver. This is currently only allowed for OpenPGP keys. It is
4434 good practise to not send more than a few dozens key to a keyserver
4435 at one time. Using this flag requires that the KEYDATA argument of
4436 the export function is set to ‘NULL’.
4437
4438 ‘GPGME_EXPORT_MODE_MINIMAL’
4439 SINCE: 1.3.1
4440
4441 If this bit is set, the smallest possible key is exported. For
4442 OpenPGP keys it removes all signatures except for the latest
4443 self-signatures. For X.509 keys it has no effect.
4444
4445 ‘GPGME_EXPORT_MODE_SSH’
4446 SINCE: 1.4.0
4447
4448 If this bit is set, the latest authentication key of the requested
4449 OpenPGP key is exported in the OpenSSH public key format. This
4450 accepts just a single key; to force the export of a specific subkey
4451 a fingerprint pattern with an appended exclamation mark may be
4452 used.
4453
4454 ‘GPGME_EXPORT_MODE_SECRET’
4455 SINCE: 1.6.0
4456
4457 Instead of exporting the public key, the secret key is exported.
4458 This may not be combined with ‘GPGME_EXPORT_MODE_EXTERN’. For
4459 X.509 the export format is PKCS#8.
4460
4461 ‘GPGME_EXPORT_MODE_RAW’
4462 SINCE: 1.6.0
4463
4464 If this flag is used with ‘GPGME_EXPORT_MODE_SECRET’ for an X.509
4465 key the export format will be changed to PKCS#1. This flag may not
4466 be used with OpenPGP.
4467
4468 ‘GPGME_EXPORT_MODE_PKCS12’
4469 SINCE: 1.6.0
4470
4471 If this flag is used with ‘GPGME_EXPORT_MODE_SECRET’ for an X.509
4472 key the export format will be changed to PKCS#12 which also
4473 includes the certificate. This flag may not be used with OpenPGP.
4474
4475 ‘GPGME_EXPORT_MODE_NOUID’
4476 SINCE: 1.12.0 - experimental Do not export user ids. Works only
4477 with certain gpg version.
4478
4479 -- Function: gpgme_error_t gpgme_op_export (gpgme_ctx_t CTX,
4480 const char *PATTERN, gpgme_export_mode_t MODE,
4481 gpgme_data_t KEYDATA)
4482 The function ‘gpgme_op_export’ extracts public keys and returns
4483 them in the data buffer KEYDATA. The output format of the key data
4484 returned is determined by the ASCII armor attribute set for the
4485 context CTX, or, if that is not set, by the encoding specified for
4486 KEYDATA.
4487
4488 If PATTERN is ‘NULL’, all available keys are returned. Otherwise,
4489 PATTERN contains an engine specific expression that is used to
4490 limit the list to all keys matching the pattern.
4491
4492 MODE is usually 0; other values are described above.
4493
4494 The function returns the error code ‘GPG_ERR_NO_ERROR’ if the
4495 operation completed successfully, ‘GPG_ERR_INV_VALUE’ if KEYDATA is
4496 not a valid empty data buffer, and passes through any errors that
4497 are reported by the crypto engine support routines.
4498
4499 -- Function: gpgme_error_t gpgme_op_export_start (gpgme_ctx_t CTX,
4500 const char *PATTERN, gpgme_export_mode_t MODE,
4501 gpgme_data_t KEYDATA)
4502 The function ‘gpgme_op_export_start’ initiates a ‘gpgme_op_export’
4503 operation. It can be completed by calling ‘gpgme_wait’ on the
4504 context. *Note Waiting For Completion::.
4505
4506 The function returns the error code ‘GPG_ERR_NO_ERROR’ if the
4507 operation could be started successfully, and ‘GPG_ERR_INV_VALUE’ if
4508 KEYDATA is not a valid empty data buffer.
4509
4510 -- Function: gpgme_error_t gpgme_op_export_ext (gpgme_ctx_t CTX,
4511 const char *PATTERN[], gpgme_export_mode_t MODE,
4512 gpgme_data_t KEYDATA)
4513 The function ‘gpgme_op_export’ extracts public keys and returns
4514 them in the data buffer KEYDATA. The output format of the key data
4515 returned is determined by the ASCII armor attribute set for the
4516 context CTX, or, if that is not set, by the encoding specified for
4517 KEYDATA.
4518
4519 If PATTERN or *PATTERN is ‘NULL’, all available keys are returned.
4520 Otherwise, PATTERN is a ‘NULL’ terminated array of strings that are
4521 used to limit the list to all keys matching at least one of the
4522 patterns verbatim.
4523
4524 MODE is usually 0; other values are described above.
4525
4526 The function returns the error code ‘GPG_ERR_NO_ERROR’ if the
4527 operation completed successfully, ‘GPG_ERR_INV_VALUE’ if KEYDATA is
4528 not a valid empty data buffer, and passes through any errors that
4529 are reported by the crypto engine support routines.
4530
4531 -- Function: gpgme_error_t gpgme_op_export_ext_start (gpgme_ctx_t CTX,
4532 const char *PATTERN[], gpgme_export_mode_t MODE,
4533 gpgme_data_t KEYDATA)
4534 The function ‘gpgme_op_export_ext_start’ initiates a
4535 ‘gpgme_op_export_ext’ operation. It can be completed by calling
4536 ‘gpgme_wait’ on the context. *Note Waiting For Completion::.
4537
4538 The function returns the error code ‘GPG_ERR_NO_ERROR’ if the
4539 operation could be started successfully, and ‘GPG_ERR_INV_VALUE’ if
4540 KEYDATA is not a valid empty data buffer.
4541
4542 -- Function: gpgme_error_t gpgme_op_export_keys (gpgme_ctx_t CTX,
4543 gpgme_key_t keys[], gpgme_export_mode_t MODE,
4544 gpgme_data_t KEYDATA)
4545 SINCE: 1.2.0
4546
4547 The function ‘gpgme_op_export_keys’ extracts public keys and
4548 returns them in the data buffer KEYDATA. The output format of the
4549 key data returned is determined by the ASCII armor attribute set
4550 for the context CTX, or, if that is not set, by the encoding
4551 specified for KEYDATA.
4552
4553 The keys to export are taken form the ‘NULL’ terminated array KEYS.
4554 Only keys of the currently selected protocol of CTX which do have a
4555 fingerprint set are considered for export. Other keys specified by
4556 the KEYS are ignored. In particular OpenPGP keys retrieved via an
4557 external key listing are not included.
4558
4559 MODE is usually 0; other values are described above.
4560
4561 The function returns the error code ‘GPG_ERR_NO_ERROR’ if the
4562 operation completed successfully, ‘GPG_ERR_INV_VALUE’ if KEYDATA is
4563 not a valid empty data buffer, ‘GPG_ERR_NO_DATA’ if no useful keys
4564 are in KEYS and passes through any errors that are reported by the
4565 crypto engine support routines.
4566
4567 -- Function: gpgme_error_t gpgme_op_export_keys_start (gpgme_ctx_t CTX,
4568 gpgme_key_t KEYS[], gpgme_export_mode_t MODE,
4569 gpgme_data_t KEYDATA)
4570 SINCE: 1.2.0
4571
4572 The function ‘gpgme_op_export_keys_start’ initiates a
4573 ‘gpgme_op_export_ext’ operation. It can be completed by calling
4574 ‘gpgme_wait’ on the context. *Note Waiting For Completion::.
4575
4576 The function returns the error code ‘GPG_ERR_NO_ERROR’ if the
4577 operation could be started successfully, and ‘GPG_ERR_INV_VALUE’ if
4578 KEYDATA is not a valid empty data buffer, ‘GPG_ERR_NO_DATA’ if no
4579 useful keys are in KEYS and passes through any errors that are
4580 reported by the crypto engine support routines.
4581
4582 
4583 File: gpgme.info, Node: Importing Keys, Next: Deleting Keys, Prev: Exporting Keys, Up: Key Management
4584
4585 7.5.8 Importing Keys
4586 --------------------
4587
4588 Importing keys means the same as running ‘gpg’ with the command
4589 ‘--import’.
4590
4591 -- Function: gpgme_error_t gpgme_op_import (gpgme_ctx_t CTX,
4592 gpgme_data_t KEYDATA)
4593 The function ‘gpgme_op_import’ adds the keys in the data buffer
4594 KEYDATA to the key ring of the crypto engine used by CTX. The
4595 format of KEYDATA can be ASCII armored, for example, but the
4596 details are specific to the crypto engine.
4597
4598 After the operation completed successfully, the result can be
4599 retrieved with ‘gpgme_op_import_result’.
4600
4601 The function returns the error code ‘GPG_ERR_NO_ERROR’ if the
4602 import was completed successfully, ‘GPG_ERR_INV_VALUE’ if KEYDATA
4603 if CTX or KEYDATA is not a valid pointer, and ‘GPG_ERR_NO_DATA’ if
4604 KEYDATA is an empty data buffer.
4605
4606 -- Function: gpgme_error_t gpgme_op_import_start (gpgme_ctx_t CTX,
4607 gpgme_data_t KEYDATA)
4608 The function ‘gpgme_op_import_start’ initiates a ‘gpgme_op_import’
4609 operation. It can be completed by calling ‘gpgme_wait’ on the
4610 context. *Note Waiting For Completion::.
4611
4612 The function returns the error code ‘GPG_ERR_NO_ERROR’ if the
4613 import could be started successfully, ‘GPG_ERR_INV_VALUE’ if CTX or
4614 KEYDATA is not a valid pointer, and ‘GPG_ERR_NO_DATA’ if KEYDATA is
4615 an empty data buffer.
4616
4617 -- Function: gpgme_error_t gpgme_op_import_keys (gpgme_ctx_t CTX,
4618 gpgme_key_t *KEYS)
4619 SINCE: 1.2.0
4620
4621 The function ‘gpgme_op_import_keys’ adds the keys described by the
4622 ‘NULL’ terminated array KEYS to the key ring of the crypto engine
4623 used by CTX. It is used to actually import and make keys permanent
4624 which have been retrieved from an external source (i.e. using
4625 ‘GPGME_KEYLIST_MODE_EXTERN’) earlier. The external keylisting must
4626 have been made with the same context configuration (in particular
4627 the same home directory). (1) Note that for OpenPGP this may
4628 require another access to the keyserver over the network.
4629
4630 Only keys of the currently selected protocol of CTX are considered
4631 for import. Other keys specified by the KEYS are ignored. As of
4632 now all considered keys must have been retrieved using the same
4633 method, i.e. the used key listing mode must be identical.
4634
4635 After the operation completed successfully, the result can be
4636 retrieved with ‘gpgme_op_import_result’.
4637
4638 To move keys from one home directory to another, export and import
4639 the keydata using ‘gpgme_op_export’ and ‘gpgme_op_import’.
4640
4641 The function returns the error code ‘GPG_ERR_NO_ERROR’ if the
4642 import was completed successfully, ‘GPG_ERR_INV_VALUE’ if CTX is
4643 not a valid pointer, ‘GPG_ERR_CONFLICT’ if the key listing mode
4644 does not match, and ‘GPG_ERR_NO_DATA’ if no keys are considered for
4645 export.
4646
4647 -- Function: gpgme_error_t gpgme_op_import_keys_start (gpgme_ctx_t CTX,
4648 gpgme_key_t *KEYS)
4649 SINCE: 1.2.0
4650
4651 The function ‘gpgme_op_import_keys_start’ initiates a
4652 ‘gpgme_op_import_keys’ operation. It can be completed by calling
4653 ‘gpgme_wait’ on the context. *Note Waiting For Completion::.
4654
4655 The function returns the error code ‘GPG_ERR_NO_ERROR’ if the
4656 import was completed successfully, ‘GPG_ERR_INV_VALUE’ if KEYDATA
4657 if CTX or KEYDATA is not a valid pointer, ‘GPG_ERR_CONFLICT’ if the
4658 key listing mode does not match, and ‘GPG_ERR_NO_DATA’ if no keys
4659 are considered for export.
4660
4661 -- Data type: gpgme_import_status_t
4662 This is a pointer to a structure used to store a part of the result
4663 of a ‘gpgme_op_import’ operation. For each considered key one
4664 status is added that contains information about the result of the
4665 import. The structure contains the following members:
4666
4667 ‘gpgme_import_status_t next’
4668 This is a pointer to the next status structure in the linked
4669 list, or ‘NULL’ if this is the last element.
4670
4671 ‘char *fpr’
4672 This is the fingerprint of the key that was considered.
4673
4674 ‘gpgme_error_t result’
4675 If the import was not successful, this is the error value that
4676 caused the import to fail. Otherwise the error code is
4677 ‘GPG_ERR_NO_ERROR’.
4678
4679 ‘unsigned int status’
4680 This is a bit-wise OR of the following flags that give more
4681 information about what part of the key was imported. If the
4682 key was already known, this might be 0.
4683
4684 ‘GPGME_IMPORT_NEW’
4685 The key was new.
4686
4687 ‘GPGME_IMPORT_UID’
4688 The key contained new user IDs.
4689
4690 ‘GPGME_IMPORT_SIG’
4691 The key contained new signatures.
4692
4693 ‘GPGME_IMPORT_SUBKEY’
4694 The key contained new sub keys.
4695
4696 ‘GPGME_IMPORT_SECRET’
4697 The key contained a secret key.
4698
4699 -- Data type: gpgme_import_result_t
4700 This is a pointer to a structure used to store the result of a
4701 ‘gpgme_op_import’ operation. After a successful import operation,
4702 you can retrieve the pointer to the result with
4703 ‘gpgme_op_import_result’. The structure contains the following
4704 members:
4705
4706 ‘int considered’
4707 The total number of considered keys.
4708
4709 ‘int no_user_id’
4710 The number of keys without user ID.
4711
4712 ‘int imported’
4713 The total number of imported keys.
4714
4715 ‘int imported_rsa’
4716 The number of imported RSA keys.
4717
4718 ‘int unchanged’
4719 The number of unchanged keys.
4720
4721 ‘int new_user_ids’
4722 The number of new user IDs.
4723
4724 ‘int new_sub_keys’
4725 The number of new sub keys.
4726
4727 ‘int new_signatures’
4728 The number of new signatures.
4729
4730 ‘int new_revocations’
4731 The number of new revocations.
4732
4733 ‘int secret_read’
4734 The total number of secret keys read.
4735
4736 ‘int secret_imported’
4737 The number of imported secret keys.
4738
4739 ‘int secret_unchanged’
4740 The number of unchanged secret keys.
4741
4742 ‘int not_imported’
4743 The number of keys not imported.
4744
4745 ‘gpgme_import_status_t imports’
4746 A list of gpgme_import_status_t objects which contain more
4747 information about the keys for which an import was attempted.
4748
4749 ‘int skipped_v3_keys’
4750 For security reasons modern versions of GnuPG do not anymore
4751 support v3 keys (created with PGP 2.x) and ignores them on
4752 import. This counter provides the number of such skipped v3
4753 keys.
4754
4755 -- Function: gpgme_import_result_t gpgme_op_import_result
4756 (gpgme_ctx_t CTX)
4757 The function ‘gpgme_op_import_result’ returns a
4758 ‘gpgme_import_result_t’ pointer to a structure holding the result
4759 of a ‘gpgme_op_import’ operation. The pointer is only valid if the
4760 last operation on the context was a ‘gpgme_op_import’ or
4761 ‘gpgme_op_import_start’ operation, and if this operation finished
4762 successfully. The returned pointer is only valid until the next
4763 operation is started on the context.
4764
4765 ---------- Footnotes ----------
4766
4767 (1) Thus it is a replacement for the usual workaround of exporting
4768 and then importing a key to make an X.509 key permanent.
4769
4770 
4771 File: gpgme.info, Node: Deleting Keys, Next: Changing Passphrases, Prev: Importing Keys, Up: Key Management
4772
4773 7.5.9 Deleting Keys
4774 -------------------
4775
4776 -- Function: gpgme_error_t gpgme_op_delete_ext (gpgme_ctx_t CTX,
4777 const gpgme_key_t KEY, unsigned int FLAGS)
4778 SINCE: 1.9.1
4779
4780 The function ‘gpgme_op_delete_ext’ deletes the key KEY from the key
4781 ring of the crypto engine used by CTX.
4782
4783 FLAGS can be set to the bit-wise OR of the following flags:
4784
4785 ‘GPGME_DELETE_ALLOW_SECRET’
4786 SINCE: 1.9.1
4787
4788 If not set, only public keys are deleted. If set, secret keys
4789 are deleted as well, if that is supported.
4790
4791 ‘GPGME_DELETE_FORCE’
4792 SINCE: 1.9.1
4793
4794 If set, the user is not asked to confirm the deletion.
4795
4796 The function returns the error code ‘GPG_ERR_NO_ERROR’ if the key
4797 was deleted successfully, ‘GPG_ERR_INV_VALUE’ if CTX or KEY is not
4798 a valid pointer, ‘GPG_ERR_NO_PUBKEY’ if KEY could not be found in
4799 the keyring, ‘GPG_ERR_AMBIGUOUS_NAME’ if the key was not specified
4800 unambiguously, and ‘GPG_ERR_CONFLICT’ if the secret key for KEY is
4801 available, but ALLOW_SECRET is zero.
4802
4803 -- Function: gpgme_error_t gpgme_op_delete_ext_start (gpgme_ctx_t CTX,
4804 const gpgme_key_t KEY, unsigned int FLAGS)
4805 SINCE: 1.9.1
4806
4807 The function ‘gpgme_op_delete_ext_start’ initiates a
4808 ‘gpgme_op_delete’ operation. It can be completed by calling
4809 ‘gpgme_wait’ on the context. *Note Waiting For Completion::.
4810
4811 The function returns the error code ‘GPG_ERR_NO_ERROR’ if the
4812 operation was started successfully, and ‘GPG_ERR_INV_VALUE’ if CTX
4813 or KEY is not a valid pointer.
4814
4815 The following functions allow only to use one particular flag.
4816
4817 -- Function: gpgme_error_t gpgme_op_delete (gpgme_ctx_t CTX,
4818 const gpgme_key_t KEY, int ALLOW_SECRET)
4819 Similar to ‘gpgme_op_delete_ext’, but only the flag
4820 ‘GPGME_DELETE_ALLOW_SECRET’ can be provided.
4821
4822 -- Function: gpgme_error_t gpgme_op_delete_start (gpgme_ctx_t CTX,
4823 const gpgme_key_t KEY, int ALLOW_SECRET)
4824 Similar to ‘gpgme_op_delete_ext_start’, but only the flag
4825 ‘GPGME_DELETE_ALLOW_SECRET’ can be provided.
4826
4827 
4828 File: gpgme.info, Node: Changing Passphrases, Next: Changing TOFU Data, Prev: Deleting Keys, Up: Key Management
4829
4830 7.5.10 Changing Passphrases
4831 ---------------------------
4832
4833 -- Function: gpgme_error_t gpgme_op_passwd (gpgme_ctx_t CTX,
4834 const gpgme_key_t KEY, unsigned int FLAGS)
4835
4836 SINCE: 1.3.0
4837
4838 The function ‘gpgme_op_passwd’ changes the passphrase of the
4839 private key associated with KEY. The only allowed value for FLAGS
4840 is ‘0’. The backend engine will usually popup a window to ask for
4841 the old and the new passphrase. Thus this function is not useful
4842 in a server application (where passphrases are not required
4843 anyway).
4844
4845 Note that old ‘gpg’ engines (before version 2.0.15) do not support
4846 this command and will silently ignore it.
4847
4848 -- Function: gpgme_error_t gpgme_op_passwd_start (gpgme_ctx_t CTX,
4849 const gpgme_key_t KEY, unsigned int FLAGS)
4850
4851 SINCE: 1.3.0
4852
4853 The function ‘gpgme_op_passwd_start’ initiates a ‘gpgme_op_passwd’
4854 operation. It can be completed by calling ‘gpgme_wait’ on the
4855 context. *Note Waiting For Completion::.
4856
4857 The function returns ‘0’ if the operation was started successfully,
4858 and an error code if one of the arguments is not valid or the
4859 oepration could not be started.
4860
4861 
4862 File: gpgme.info, Node: Changing TOFU Data, Next: Advanced Key Editing, Prev: Changing Passphrases, Up: Key Management
4863
4864 7.5.11 Changing TOFU Data
4865 -------------------------
4866
4867 The OpenPGP engine features a Trust-On-First-Use (TOFU) key validation
4868 model. For resolving conflicts it is necessary to declare the policy
4869 for a key. See the GnuPG manual for details on the TOFU implementation.
4870
4871 -- Data type: enum gpgme_tofu_policy_t
4872 SINCE: 1.7.0
4873
4874 The ‘gpgme_tofu_policy_t’ type specifies the set of possible policy
4875 values that are supported by GPGME:
4876
4877 ‘GPGME_TOFU_POLICY_AUTO’
4878 Set the policy to “auto”.
4879 ‘GPGME_TOFU_POLICY_GOOD’
4880 Set the policy to “good”.
4881 ‘GPGME_TOFU_POLICY_BAD’
4882 Set the policy to “bad”.
4883 ‘GPGME_TOFU_POLICY_ASK’
4884 Set the policy to “ask”.
4885 ‘GPGME_TOFU_POLICY_UNKNOWN’
4886 Set the policy to “unknown”.
4887
4888 To change the policy for a key the following functions can be used:
4889
4890 -- Function: gpgme_error_t gpgme_op_tofu_policy (gpgme_ctx_t CTX,
4891 const gpgme_key_t KEY, gpgme_tofu_policy_t POLICY)
4892
4893 SINCE: 1.7.0
4894
4895 The function ‘gpgme_op_tofu_policy’ changes the TOFU policy of KEY.
4896 The valid values for POLICY are listed above. As of now this
4897 function does only work for OpenPGP and requires at least version
4898 2.1.10 of GnuPG.
4899
4900 The function returns zero on success, ‘GPG_ERR_NOT_SUPPORTED’ if
4901 the engine does not support the command, or a bunch of other error
4902 codes.
4903
4904 -- Function: gpgme_error_t gpgme_op_tofu_policy_start (gpgme_ctx_t CTX,
4905 const gpgme_key_t KEY, gpgme_tofu_policy_t POLICY)
4906
4907 SINCE: 1.7.0
4908
4909 The function ‘gpgme_op_tofu_policy_start’ initiates a
4910 ‘gpgme_op_tofu_policy’ operation. It can be completed by calling
4911 ‘gpgme_wait’ on the context. *Note Waiting For Completion::.
4912
4913 The function returns ‘0’ if the operation was started successfully,
4914 and an error code if one of the arguments is not valid or the
4915 oepration could not be started.
4916
4917 
4918 File: gpgme.info, Node: Advanced Key Editing, Prev: Changing TOFU Data, Up: Key Management
4919
4920 7.5.12 Advanced Key Editing
4921 ---------------------------
4922
4923 -- Data type: gpgme_error_t (*gpgme_interact_cb_t) (void *HANDLE,
4924 const char *STATUS, const char *ARGS, int FD)
4925
4926 SINCE: 1.7.0
4927
4928 The ‘gpgme_interact_cb_t’ type is the type of functions which GPGME
4929 calls if it a key interact operation is on-going. The status
4930 keyword STATUS and the argument line ARGS are passed through by
4931 GPGME from the crypto engine. An empty string represents EOF. The
4932 file descriptor FD is -1 for normal status messages. If STATUS
4933 indicates a command rather than a status message, the response to
4934 the command should be written to FD. The HANDLE is provided by the
4935 user at start of operation.
4936
4937 The function should return ‘GPG_ERR_FALSE’ if it did not handle the
4938 status code, ‘0’ for success, or any other error value.
4939
4940 -- Function: gpgme_error_t gpgme_op_interact (gpgme_ctx_t CTX,
4941 gpgme_key_t KEY, unsigned int FLAGS, gpgme_interact_cb_t FNC,
4942 void *HANDLE, gpgme_data_t OUT)
4943
4944 SINCE: 1.7.0
4945
4946 The function ‘gpgme_op_interact’ processes the key KEY
4947 interactively, using the interact callback function FNC with the
4948 handle HANDLE. The callback is invoked for every status and
4949 command request from the crypto engine. The output of the crypto
4950 engine is written to the data object OUT.
4951
4952 Note that the protocol between the callback function and the crypto
4953 engine is specific to the crypto engine and no further support in
4954 implementing this protocol correctly is provided by GPGME.
4955
4956 FLAGS modifies the behaviour of the function; the only defined bit
4957 value is:
4958
4959 ‘GPGME_INTERACT_CARD’
4960 SINCE: 1.7.0
4961
4962 This is used for smartcard based keys and uses gpg’s
4963 ‘--card-edit’ command.
4964
4965 The function returns ‘0’ if the edit operation completes
4966 successfully, ‘GPG_ERR_INV_VALUE’ if CTX or KEY is not a valid
4967 pointer, and any error returned by the crypto engine or the edit
4968 callback handler.
4969
4970 -- Function: gpgme_error_t gpgme_op_interact_start (gpgme_ctx_t CTX,
4971 gpgme_key_t KEY, unsigned int FLAGS, gpgme_interact_cb_t FNC,
4972 void *HANDLE, gpgme_data_t OUT)
4973
4974 SINCE: 1.7.0
4975
4976 The function ‘gpgme_op_interact_start’ initiates a
4977 ‘gpgme_op_interact’ operation. It can be completed by calling
4978 ‘gpgme_wait’ on the context. *Note Waiting For Completion::.
4979
4980 The function returns ‘0’ if the operation was started successfully,
4981 and ‘GPG_ERR_INV_VALUE’ if CTX or KEY is not a valid pointer.
4982
4983 
4984 File: gpgme.info, Node: Crypto Operations, Next: Miscellaneous, Prev: Key Management, Up: Contexts
4985
4986 7.6 Crypto Operations
4987 =====================
4988
4989 Sometimes, the result of a crypto operation returns a list of invalid
4990 keys encountered in processing the request. The following structure is
4991 used to hold information about such a key.
4992
4993 -- Data type: gpgme_invalid_key_t
4994 This is a pointer to a structure used to store a part of the result
4995 of a crypto operation which takes user IDs as one input parameter.
4996 The structure contains the following members:
4997
4998 ‘gpgme_invalid_key_t next’
4999 This is a pointer to the next invalid key structure in the
5000 linked list, or ‘NULL’ if this is the last element.
5001
5002 ‘char *fpr’
5003 The fingerprint or key ID of the invalid key encountered.
5004
5005 ‘gpgme_error_t reason’
5006 An error code describing the reason why the key was found
5007 invalid.
5008
5009 * Menu:
5010
5011 * Decrypt:: Decrypting a ciphertext.
5012 * Verify:: Verifying a signature.
5013 * Decrypt and Verify:: Decrypting a signed ciphertext.
5014 * Sign:: Creating a signature.
5015 * Encrypt:: Encrypting a plaintext.
5016
5017 
5018 File: gpgme.info, Node: Decrypt, Next: Verify, Up: Crypto Operations
5019
5020 7.6.1 Decrypt
5021 -------------
5022
5023 -- Function: gpgme_error_t gpgme_op_decrypt (gpgme_ctx_t CTX,
5024 gpgme_data_t CIPHER, gpgme_data_t PLAIN)
5025 The function ‘gpgme_op_decrypt’ decrypts the ciphertext in the data
5026 object CIPHER and stores it into the data object PLAIN.
5027
5028 The function returns the error code ‘GPG_ERR_NO_ERROR’ if the
5029 ciphertext could be decrypted successfully, ‘GPG_ERR_INV_VALUE’ if
5030 CTX, CIPHER or PLAIN is not a valid pointer, ‘GPG_ERR_NO_DATA’ if
5031 CIPHER does not contain any data to decrypt,
5032 ‘GPG_ERR_DECRYPT_FAILED’ if CIPHER is not a valid cipher text,
5033 ‘GPG_ERR_BAD_PASSPHRASE’ if the passphrase for the secret key could
5034 not be retrieved, and passes through some errors that are reported
5035 by the crypto engine support routines.
5036
5037 -- Function: gpgme_error_t gpgme_op_decrypt_start (gpgme_ctx_t CTX,
5038 gpgme_data_t CIPHER, gpgme_data_t PLAIN)
5039 The function ‘gpgme_op_decrypt_start’ initiates a
5040 ‘gpgme_op_decrypt’ operation. It can be completed by calling
5041 ‘gpgme_wait’ on the context. *Note Waiting For Completion::.
5042
5043 The function returns the error code ‘GPG_ERR_NO_ERROR’ if the
5044 operation could be started successfully, and ‘GPG_ERR_INV_VALUE’ if
5045 CIPHER or PLAIN is not a valid pointer.
5046
5047 -- Function: gpgme_error_t gpgme_op_decrypt_ext ( gpgme_ctx_t CTX,
5048 gpgme_decrypt_flags_t FLAGS, gpgme_data_t CIPHER,
5049 gpgme_data_t PLAIN)
5050
5051 SINCE: 1.8.0
5052
5053 The function ‘gpgme_op_decrypt_ext’ is the same as
5054 ‘gpgme_op_decrypt’ but has an additional argument FLAGS. If FLAGS
5055 is 0 both function behave identically.
5056
5057 The value in FLAGS is a bitwise-or combination of one or multiple
5058 of the following bit values:
5059
5060 ‘GPGME_DECRYPT_VERIFY’
5061 SINCE: 1.8.0
5062
5063 The ‘GPGME_DECRYPT_VERIFY’ symbol specifies that this function
5064 shall exactly act as ‘gpgme_op_decrypt_verify’.
5065
5066 ‘GPGME_DECRYPT_UNWRAP’
5067 SINCE: 1.8.0
5068
5069 The ‘GPGME_DECRYPT_UNWRAP’ symbol specifies that the output
5070 shall be an OpenPGP message with only the encryption layer
5071 removed. This requires GnuPG 2.1.12 and works only for
5072 OpenPGP. This is the counterpart to ‘GPGME_ENCRYPT_WRAP’.
5073
5074 The function returns the error codes as described for
5075 ‘gpgme_op_decrypt’.
5076
5077 -- Function: gpgme_error_t gpgme_op_decrypt_ext_start (
5078 gpgme_ctx_t CTX, gpgme_decrypt_flags_t FLAGS,
5079 gpgme_data_t CIPHER, gpgme_data_t PLAIN)
5080
5081 SINCE: 1.8.0
5082
5083 The function ‘gpgme_op_decrypt_ext_start’ initiates a
5084 ‘gpgme_op_decrypt_ext’ operation. It can be completed by calling
5085 ‘gpgme_wait’ on the context. *Note Waiting For Completion::.
5086
5087 The function returns the error code ‘GPG_ERR_NO_ERROR’ if the
5088 operation could be started successfully, and ‘GPG_ERR_INV_VALUE’ if
5089 CIPHER or PLAIN is not a valid pointer.
5090
5091 -- Data type: gpgme_recipient_t
5092 SINCE: 1.1.0
5093
5094 This is a pointer to a structure used to store information about
5095 the recipient of an encrypted text which is decrypted in a
5096 ‘gpgme_op_decrypt’ operation. This information (except for the
5097 status field) is even available before the operation finished
5098 successfully, for example in a passphrase callback. The structure
5099 contains the following members:
5100
5101 ‘gpgme_recipient_t next’
5102 This is a pointer to the next recipient structure in the
5103 linked list, or ‘NULL’ if this is the last element.
5104
5105 ‘gpgme_pubkey_algo_t’
5106 The public key algorithm used in the encryption.
5107
5108 ‘char *keyid’
5109 This is the key ID of the key (in hexadecimal digits) used as
5110 recipient.
5111
5112 ‘gpgme_error_t status’
5113 This is an error number with the error code GPG_ERR_NO_SECKEY
5114 if the secret key for this recipient is not available, and 0
5115 otherwise.
5116
5117 -- Data type: gpgme_decrypt_result_t
5118 This is a pointer to a structure used to store the result of a
5119 ‘gpgme_op_decrypt’ operation. After successfully decrypting data,
5120 you can retrieve the pointer to the result with
5121 ‘gpgme_op_decrypt_result’. As with all result structures, it this
5122 structure shall be considered read-only and an application must not
5123 allocate such a strucure on its own. The structure contains the
5124 following members:
5125
5126 ‘char *unsupported_algorithm’
5127 If an unsupported algorithm was encountered, this string
5128 describes the algorithm that is not supported.
5129
5130 ‘unsigned int wrong_key_usage : 1’
5131 SINCE: 0.9.0 This is true if the key was not used according to
5132 its policy.
5133
5134 ‘unsigned int legacy_cipher_nomdc : 1’
5135 SINCE: 1.11.2 The message was made by a legacy algorithm
5136 without any integrity protection. This might be an old but
5137 legitimate message.
5138
5139 ‘unsigned int is_mime : 1;’
5140 SINCE: 1.11.0 The message claims that the content is a MIME
5141 object.
5142
5143 ‘unsigned int is_de_vs : 1;’
5144 SINCE: 1.10.0 The message was encrypted in a VS-NfD compliant
5145 way. This is a specification in Germany for a restricted
5146 communication level.
5147
5148 ‘gpgme_recipient_t recipients’
5149 SINCE: 1.1.0
5150
5151 This is a linked list of recipients to which this message was
5152 encrypted.
5153
5154 ‘char *file_name’
5155 This is the filename of the original plaintext message file if
5156 it is known, otherwise this is a null pointer.
5157
5158 ‘char *session_key’
5159 SINCE: 1.8.0
5160
5161 A textual representation (nul-terminated string) of the
5162 session key used in symmetric encryption of the message, if
5163 the context has been set to export session keys (see
5164 ‘gpgme_set_ctx_flag, "export-session-key"’), and a session key
5165 was available for the most recent decryption operation.
5166 Otherwise, this is a null pointer.
5167
5168 You must not try to access this member of the struct unless
5169 ‘gpgme_set_ctx_flag (ctx, "export-session-key")’ returns
5170 success or ‘gpgme_get_ctx_flag (ctx, "export-session-key")’
5171 returns true (non-empty string).
5172
5173 ‘char *symkey_algo’
5174 SINCE: 1.11.0
5175
5176 A string with the symmetric encryption algorithm and mode
5177 using the format "<algo>.<mode>". Note that the deprecated
5178 non-MDC encryption mode of OpenPGP is given as "PGPCFB".
5179
5180 -- Function: gpgme_decrypt_result_t gpgme_op_decrypt_result
5181 (gpgme_ctx_t CTX)
5182 The function ‘gpgme_op_decrypt_result’ returns a
5183 ‘gpgme_decrypt_result_t’ pointer to a structure holding the result
5184 of a ‘gpgme_op_decrypt’ operation. The pointer is only valid if
5185 the last operation on the context was a ‘gpgme_op_decrypt’ or
5186 ‘gpgme_op_decrypt_start’ operation. If the operation failed this
5187 might be a ‘NULL’ pointer. The returned pointer is only valid
5188 until the next operation is started on the context.
5189
5190 
5191 File: gpgme.info, Node: Verify, Next: Decrypt and Verify, Prev: Decrypt, Up: Crypto Operations
5192
5193 7.6.2 Verify
5194 ------------
5195
5196 -- Function: gpgme_error_t gpgme_op_verify (gpgme_ctx_t CTX,
5197 gpgme_data_t SIG, gpgme_data_t SIGNED_TEXT,
5198 gpgme_data_t PLAIN)
5199 The function ‘gpgme_op_verify’ verifies that the signature in the
5200 data object SIG is a valid signature. If SIG is a detached
5201 signature, then the signed text should be provided in SIGNED_TEXT
5202 and PLAIN should be a null pointer. Otherwise, if SIG is a normal
5203 (or cleartext) signature, SIGNED_TEXT should be a null pointer and
5204 PLAIN should be a writable data object that will contain the
5205 plaintext after successful verification.
5206
5207 The results of the individual signature verifications can be
5208 retrieved with ‘gpgme_op_verify_result’.
5209
5210 The function returns the error code ‘GPG_ERR_NO_ERROR’ if the
5211 operation could be completed successfully, ‘GPG_ERR_INV_VALUE’ if
5212 CTX, SIG or PLAIN is not a valid pointer, ‘GPG_ERR_NO_DATA’ if SIG
5213 does not contain any data to verify, and passes through any errors
5214 that are reported by the crypto engine support routines.
5215
5216 -- Function: gpgme_error_t gpgme_op_verify_start (gpgme_ctx_t CTX,
5217 gpgme_data_t SIG, gpgme_data_t SIGNED_TEXT,
5218 gpgme_data_t PLAIN)
5219 The function ‘gpgme_op_verify_start’ initiates a ‘gpgme_op_verify’
5220 operation. It can be completed by calling ‘gpgme_wait’ on the
5221 context. *Note Waiting For Completion::.
5222
5223 The function returns the error code ‘GPG_ERR_NO_ERROR’ if the
5224 operation could be started successfully, ‘GPG_ERR_INV_VALUE’ if
5225 CTX, SIG or PLAIN is not a valid pointer, and ‘GPG_ERR_NO_DATA’ if
5226 SIG or PLAIN does not contain any data to verify.
5227
5228 -- Data type: gpgme_sig_notation_t
5229 This is a pointer to a structure used to store a part of the result
5230 of a ‘gpgme_op_verify’ operation. The structure contains the
5231 following members:
5232
5233 ‘gpgme_sig_notation_t next’
5234 This is a pointer to the next new signature notation structure
5235 in the linked list, or ‘NULL’ if this is the last element.
5236
5237 ‘char *name’
5238 The name of the notation field. If this is ‘NULL’, then the
5239 member ‘value’ will contain a policy URL.
5240
5241 ‘int name_len’
5242 The length of the ‘name’ field. For strings the length is
5243 counted without the trailing binary zero.
5244
5245 ‘char *value’
5246 The value of the notation field. If ‘name’ is ‘NULL’, then
5247 this is a policy URL.
5248
5249 ‘int value_len’
5250 The length of the ‘value’ field. For strings the length is
5251 counted without the trailing binary zero.
5252
5253 ‘gpgme_sig_notation_flags_t flags’
5254 The accumulated flags field. This field contains the flags
5255 associated with the notation data in an accumulated form which
5256 can be used as an argument to the function
5257 ‘gpgme_sig_notation_add’. The value ‘flags’ is a bitwise-or
5258 combination of one or multiple of the following bit values:
5259
5260 ‘GPGME_SIG_NOTATION_HUMAN_READABLE’
5261 SINCE: 1.1.0
5262
5263 The ‘GPGME_SIG_NOTATION_HUMAN_READABLE’ symbol specifies
5264 that the notation data is in human readable form
5265
5266 ‘GPGME_SIG_NOTATION_CRITICAL’
5267 SINCE: 1.1.0
5268
5269 The ‘GPGME_SIG_NOTATION_CRITICAL’ symbol specifies that
5270 the notation data is critical.
5271
5272 ‘unsigned int human_readable : 1’
5273 This is true if the ‘GPGME_SIG_NOTATION_HUMAN_READABLE’ flag
5274 is set and false otherwise. This flag is only valid for
5275 notation data, not for policy URLs.
5276
5277 ‘unsigned int critical : 1’
5278 This is true if the ‘GPGME_SIG_NOTATION_CRITICAL’ flag is set
5279 and false otherwise. This flag is valid for notation data and
5280 policy URLs.
5281
5282 -- Data type: gpgme_signature_t
5283 This is a pointer to a structure used to store a part of the result
5284 of a ‘gpgme_op_verify’ operation. The structure contains the
5285 following members:
5286
5287 ‘gpgme_signature_t next’
5288 This is a pointer to the next new signature structure in the
5289 linked list, or ‘NULL’ if this is the last element.
5290
5291 ‘gpgme_sigsum_t summary’
5292 This is a bit vector giving a summary of the signature status.
5293 It provides an easy interface to a defined semantic of the
5294 signature status. Checking just one bit is sufficient to see
5295 whether a signature is valid without any restrictions. This
5296 means that you can check for GPGME_SIGSUM_VALID like this:
5297
5298 if ((sig.summary & GPGME_SIGSUM_VALID))
5299 {
5300 ..do stuff if valid..
5301 }
5302 else
5303 {
5304 ..do stuff if not fully valid..
5305 }
5306
5307 The defined bits are:
5308 ‘GPGME_SIGSUM_VALID’
5309 The signature is fully valid.
5310
5311 ‘GPGME_SIGSUM_GREEN’
5312 The signature is good but one might want to display some
5313 extra information. Check the other bits.
5314
5315 ‘GPGME_SIGSUM_RED’
5316 The signature is bad. It might be useful to check other
5317 bits and display more information, i.e. a revoked
5318 certificate might not render a signature invalid when the
5319 message was received prior to the cause for the
5320 revocation.
5321
5322 ‘GPGME_SIGSUM_KEY_REVOKED’
5323 The key or at least one certificate has been revoked.
5324
5325 ‘GPGME_SIGSUM_KEY_EXPIRED’
5326 The key or one of the certificates has expired. It is
5327 probably a good idea to display the date of the
5328 expiration.
5329
5330 ‘GPGME_SIGSUM_SIG_EXPIRED’
5331 The signature has expired.
5332
5333 ‘GPGME_SIGSUM_KEY_MISSING’
5334 Can’t verify due to a missing key or certificate.
5335
5336 ‘GPGME_SIGSUM_CRL_MISSING’
5337 The CRL (or an equivalent mechanism) is not available.
5338
5339 ‘GPGME_SIGSUM_CRL_TOO_OLD’
5340 Available CRL is too old.
5341
5342 ‘GPGME_SIGSUM_BAD_POLICY’
5343 A policy requirement was not met.
5344
5345 ‘GPGME_SIGSUM_SYS_ERROR’
5346 A system error occurred.
5347
5348 ‘GPGME_SIGSUM_TOFU_CONFLICT’
5349 A TOFU conflict was detected.
5350
5351 ‘char *fpr’
5352 This is the fingerprint or key ID of the signature.
5353
5354 ‘gpgme_error_t status’
5355 This is the status of the signature. In particular, the
5356 following status codes are of interest:
5357
5358 ‘GPG_ERR_NO_ERROR’
5359 This status indicates that the signature could be
5360 verified or that there is no signature. For the combined
5361 result this status means that all signatures could be
5362 verified.
5363
5364 Note: This does not mean that a valid signature could be
5365 found. Check the ‘summary’ field for that.
5366
5367 For example a ‘gpgme_op_decrypt_verify’ returns a
5368 verification result with GPG_ERR_NO_ERROR for encrypted
5369 but unsigned data.
5370
5371 ‘GPG_ERR_SIG_EXPIRED’
5372 This status indicates that the signature is valid but
5373 expired. For the combined result this status means that
5374 all signatures are valid and expired.
5375
5376 ‘GPG_ERR_KEY_EXPIRED’
5377 This status indicates that the signature is valid but the
5378 key used to verify the signature has expired. For the
5379 combined result this status means that all signatures are
5380 valid and all keys are expired.
5381
5382 ‘GPG_ERR_CERT_REVOKED’
5383 This status indicates that the signature is valid but the
5384 key used to verify the signature has been revoked. For
5385 the combined result this status means that all signatures
5386 are valid and all keys are revoked.
5387
5388 ‘GPG_ERR_BAD_SIGNATURE’
5389 This status indicates that the signature is invalid. For
5390 the combined result this status means that all signatures
5391 are invalid.
5392
5393 ‘GPG_ERR_NO_PUBKEY’
5394 This status indicates that the signature could not be
5395 verified due to a missing key. For the combined result
5396 this status means that all signatures could not be
5397 checked due to missing keys.
5398
5399 ‘GPG_ERR_GENERAL’
5400 This status indicates that there was some other error
5401 which prevented the signature verification.
5402
5403 ‘gpgme_sig_notation_t notations’
5404 This is a linked list with the notation data and policy URLs.
5405
5406 ‘unsigned long timestamp’
5407 The creation timestamp of this signature.
5408
5409 ‘unsigned long exp_timestamp’
5410 The expiration timestamp of this signature, or 0 if the
5411 signature does not expire.
5412
5413 ‘unsigned int wrong_key_usage : 1’
5414 This is true if the key was not used according to its policy.
5415
5416 ‘unsigned int pka_trust : 2’
5417 This is set to the trust information gained by means of the
5418 PKA system. Values are:
5419 ‘0’
5420 No PKA information available or verification not
5421 possible.
5422 ‘1’
5423 PKA verification failed.
5424 ‘2’
5425 PKA verification succeeded.
5426 ‘3’
5427 Reserved for future use.
5428 Depending on the configuration of the engine, this metric may
5429 also be reflected by the validity of the signature.
5430
5431 ‘unsigned int chain_model : 1’
5432 SINCE: 1.1.6
5433
5434 This is true if the validity of the signature has been checked
5435 using the chain model. In the chain model the time the
5436 signature has been created must be within the validity period
5437 of the certificate and the time the certificate itself has
5438 been created must be within the validity period of the issuing
5439 certificate. In contrast the default validation model checks
5440 the validity of signature as well at the entire certificate
5441 chain at the current time.
5442
5443 ‘gpgme_validity_t validity’
5444 The validity of the signature.
5445
5446 ‘gpgme_error_t validity_reason’
5447 If a signature is not valid, this provides a reason why.
5448
5449 ‘gpgme_pubkey_algo_t’
5450 The public key algorithm used to create this signature.
5451
5452 ‘gpgme_hash_algo_t’
5453 The hash algorithm used to create this signature.
5454
5455 ‘char *pka_address’
5456 The mailbox from the PKA information or ‘NULL’.
5457
5458 ‘gpgme_key_t key’
5459 SINCE: 1.7.0
5460
5461 An object describing the key used to create the signature.
5462 This key object may be incomplete in that it only conveys
5463 information availabale directly with a signature. It may also
5464 be ‘NULL’ if such information is not readily available.
5465
5466 -- Data type: gpgme_verify_result_t
5467 This is a pointer to a structure used to store the result of a
5468 ‘gpgme_op_verify’ operation. After verifying a signature, you can
5469 retrieve the pointer to the result with ‘gpgme_op_verify_result’.
5470 If the operation failed this might be a ‘NULL’ pointer. The
5471 structure contains the following member:
5472
5473 ‘gpgme_signature_t signatures’
5474 A linked list with information about all signatures for which
5475 a verification was attempted.
5476
5477 ‘char *file_name’
5478 This is the filename of the original plaintext message file if
5479 it is known, otherwise this is a null pointer. Warning: The
5480 filename is not covered by the signature.
5481
5482 ‘unsigned int is_mime : 1;’
5483 SINCE: 1.11.0
5484
5485 The message claims that the content is a MIME object.
5486 Warning: This flag is not covered by the signature.
5487
5488 -- Function: gpgme_verify_result_t gpgme_op_verify_result
5489 (gpgme_ctx_t CTX)
5490 The function ‘gpgme_op_verify_result’ returns a
5491 ‘gpgme_verify_result_t’ pointer to a structure holding the result
5492 of a ‘gpgme_op_verify’ operation. The pointer is only valid if the
5493 last operation on the context was a ‘gpgme_op_verify’,
5494 ‘gpgme_op_verify_start’, ‘gpgme_op_decrypt_verify’ or
5495 ‘gpgme_op_decrypt_verify_start’ operation, and if this operation
5496 finished successfully (for ‘gpgme_op_decrypt_verify’ and
5497 ‘gpgme_op_decrypt_verify_start’, the error code ‘GPG_ERR_NO_DATA’
5498 counts as successful in this context). The returned pointer is
5499 only valid until the next operation is started on the context.
5500
5501 
5502 File: gpgme.info, Node: Decrypt and Verify, Next: Sign, Prev: Verify, Up: Crypto Operations
5503
5504 7.6.3 Decrypt and Verify
5505 ------------------------
5506
5507 -- Function: gpgme_error_t gpgme_op_decrypt_verify (gpgme_ctx_t CTX,
5508 gpgme_data_t CIPHER, gpgme_data_t PLAIN)
5509 The function ‘gpgme_op_decrypt_verify’ decrypts the ciphertext in
5510 the data object CIPHER and stores it into the data object PLAIN.
5511 If CIPHER contains signatures, they will be verified.
5512
5513 After the operation completed, ‘gpgme_op_decrypt_result’ and
5514 ‘gpgme_op_verify_result’ can be used to retrieve more information
5515 about the signatures.
5516
5517 If the error code ‘GPG_ERR_NO_DATA’ is returned, CIPHER does not
5518 contain any data to decrypt. However, it might still be signed.
5519 The information about detected signatures is available with
5520 ‘gpgme_op_verify_result’ in this case.
5521
5522 The function returns the error code ‘GPG_ERR_NO_ERROR’ if the
5523 ciphertext could be decrypted successfully, ‘GPG_ERR_INV_VALUE’ if
5524 CTX, CIPHER or PLAIN is not a valid pointer, ‘GPG_ERR_NO_DATA’ if
5525 CIPHER does not contain any data to decrypt,
5526 ‘GPG_ERR_DECRYPT_FAILED’ if CIPHER is not a valid cipher text,
5527 ‘GPG_ERR_BAD_PASSPHRASE’ if the passphrase for the secret key could
5528 not be retrieved, and passes through any errors that are reported
5529 by the crypto engine support routines.
5530
5531 -- Function: gpgme_error_t gpgme_op_decrypt_verify_start
5532 (gpgme_ctx_t CTX, gpgme_data_t CIPHER, gpgme_data_t PLAIN)
5533 The function ‘gpgme_op_decrypt_verify_start’ initiates a
5534 ‘gpgme_op_decrypt_verify’ operation. It can be completed by
5535 calling ‘gpgme_wait’ on the context. *Note Waiting For
5536 Completion::.
5537
5538 The function returns the error code ‘GPG_ERR_NO_ERROR’ if the
5539 operation could be started successfully, ‘GPG_ERR_INV_VALUE’ if
5540 CTX, CIPHER, PLAIN or R_STAT is not a valid pointer, and
5541 ‘GPG_ERR_NO_DATA’ if CIPHER does not contain any data to decrypt.
5542
5543 When processing mails it is sometimes useful to extract the actual
5544 mail address (the “addr-spec”) from a string. GPGME provides this
5545 helper function which uses the same semantics as the internal functions
5546 in GPGME and GnuPG:
5547
5548 -- Function: char * gpgme_addrspec_from_uid (const char *UID)
5549
5550 SINCE: 1.7.1
5551
5552 Return the mail address (called “addr-spec” in RFC-5322) from the
5553 string UID which is assumed to be a user id (called “address” in
5554 RFC-5322). All plain ASCII characters (i.e. those with bit 7
5555 cleared) in the result are converted to lowercase. Caller must
5556 free the result using ‘gpgme_free’. Returns ‘NULL’ if no valid
5557 address was found (in which case ‘ERRNO’ is set to ‘EINVAL’) or for
5558 other errors.
5559
5560 
5561 File: gpgme.info, Node: Sign, Next: Encrypt, Prev: Decrypt and Verify, Up: Crypto Operations
5562
5563 7.6.4 Sign
5564 ----------
5565
5566 A signature can contain signatures by one or more keys. The set of keys
5567 used to create a signatures is contained in a context, and is applied to
5568 all following signing operations in this context (until the set is
5569 changed).
5570
5571 * Menu:
5572
5573 * Selecting Signers:: How to choose the keys to sign with.
5574 * Creating a Signature:: How to create a signature.
5575 * Signature Notation Data:: How to add notation data to a signature.
5576
5577 
5578 File: gpgme.info, Node: Selecting Signers, Next: Creating a Signature, Up: Sign
5579
5580 7.6.4.1 Selecting Signers
5581 .........................
5582
5583 The key or the keys used to create a signature are stored in the
5584 context. The following functions can be used to manipulate this list.
5585 If no signer has been set into the context a default key is used for
5586 signing.
5587
5588 -- Function: void gpgme_signers_clear (gpgme_ctx_t CTX)
5589 The function ‘gpgme_signers_clear’ releases a reference for each
5590 key on the signers list and removes the list of signers from the
5591 context CTX.
5592
5593 Every context starts with an empty list.
5594
5595 -- Function: gpgme_error_t gpgme_signers_add (gpgme_ctx_t CTX,
5596 const gpgme_key_t KEY)
5597 The function ‘gpgme_signers_add’ adds the key KEY to the list of
5598 signers in the context CTX.
5599
5600 Calling this function acquires an additional reference for the key.
5601
5602 -- Function: unsigned int gpgme_signers_count (const gpgme_ctx_t CTX)
5603 SINCE: 1.4.3
5604
5605 The function ‘gpgme_signers_count’ returns the number of signer
5606 keys in the context CTX.
5607
5608 -- Function: gpgme_key_t gpgme_signers_enum (const gpgme_ctx_t CTX,
5609 int SEQ)
5610 The function ‘gpgme_signers_enum’ returns the SEQth key in the list
5611 of signers in the context CTX. An additional reference is acquired
5612 for the user.
5613
5614 If SEQ is out of range, ‘NULL’ is returned.
5615
5616 
5617 File: gpgme.info, Node: Creating a Signature, Next: Signature Notation Data, Prev: Selecting Signers, Up: Sign
5618
5619 7.6.4.2 Creating a Signature
5620 ............................
5621
5622 -- Data type: enum gpgme_sig_mode_t
5623 The ‘gpgme_sig_mode_t’ type is used to specify the desired type of
5624 a signature. The following modes are available:
5625
5626 ‘GPGME_SIG_MODE_NORMAL’
5627 A normal signature is made, the output includes the plaintext
5628 and the signature.
5629
5630 ‘GPGME_SIG_MODE_DETACH’
5631 A detached signature is made.
5632
5633 ‘GPGME_SIG_MODE_CLEAR’
5634 A clear text signature is made. The ASCII armor and text mode
5635 settings of the context are ignored.
5636
5637 -- Function: gpgme_error_t gpgme_op_sign (gpgme_ctx_t CTX,
5638 gpgme_data_t PLAIN, gpgme_data_t SIG, gpgme_sig_mode_t MODE)
5639 The function ‘gpgme_op_sign’ creates a signature for the text in
5640 the data object PLAIN and returns it in the data object SIG. The
5641 type of the signature created is determined by the ASCII armor (or,
5642 if that is not set, by the encoding specified for SIG), the text
5643 mode attributes set for the context CTX and the requested signature
5644 mode MODE.
5645
5646 After the operation completed successfully, the result can be
5647 retrieved with ‘gpgme_op_sign_result’.
5648
5649 If an S/MIME signed message is created using the CMS crypto engine,
5650 the number of certificates to include in the message can be
5651 specified with ‘gpgme_set_include_certs’. *Note Included
5652 Certificates::.
5653
5654 The function returns the error code ‘GPG_ERR_NO_ERROR’ if the
5655 signature could be created successfully, ‘GPG_ERR_INV_VALUE’ if
5656 CTX, PLAIN or SIG is not a valid pointer, ‘GPG_ERR_NO_DATA’ if the
5657 signature could not be created, ‘GPG_ERR_BAD_PASSPHRASE’ if the
5658 passphrase for the secret key could not be retrieved,
5659 ‘GPG_ERR_UNUSABLE_SECKEY’ if there are invalid signers, and passes
5660 through any errors that are reported by the crypto engine support
5661 routines.
5662
5663 -- Function: gpgme_error_t gpgme_op_sign_start (gpgme_ctx_t CTX,
5664 gpgme_data_t PLAIN, gpgme_data_t SIG, gpgme_sig_mode_t MODE)
5665 The function ‘gpgme_op_sign_start’ initiates a ‘gpgme_op_sign’
5666 operation. It can be completed by calling ‘gpgme_wait’ on the
5667 context. *Note Waiting For Completion::.
5668
5669 The function returns the error code ‘GPG_ERR_NO_ERROR’ if the
5670 operation could be started successfully, and ‘GPG_ERR_INV_VALUE’ if
5671 CTX, PLAIN or SIG is not a valid pointer.
5672
5673 -- Data type: gpgme_new_signature_t
5674 This is a pointer to a structure used to store a part of the result
5675 of a ‘gpgme_op_sign’ operation. The structure contains the
5676 following members:
5677
5678 ‘gpgme_new_signature_t next’
5679 This is a pointer to the next new signature structure in the
5680 linked list, or ‘NULL’ if this is the last element.
5681
5682 ‘gpgme_sig_mode_t type’
5683 The type of this signature.
5684
5685 ‘gpgme_pubkey_algo_t pubkey_algo’
5686 The public key algorithm used to create this signature.
5687
5688 ‘gpgme_hash_algo_t hash_algo’
5689 The hash algorithm used to create this signature.
5690
5691 ‘unsigned int sig_class’
5692 The signature class of this signature.
5693
5694 ‘long int timestamp’
5695 The creation timestamp of this signature.
5696
5697 ‘char *fpr’
5698 The fingerprint of the key which was used to create this
5699 signature.
5700
5701 -- Data type: gpgme_sign_result_t
5702 This is a pointer to a structure used to store the result of a
5703 ‘gpgme_op_sign’ operation. After successfully generating a
5704 signature, you can retrieve the pointer to the result with
5705 ‘gpgme_op_sign_result’. The structure contains the following
5706 members:
5707
5708 ‘gpgme_invalid_key_t invalid_signers’
5709 A linked list with information about all invalid keys for
5710 which a signature could not be created.
5711
5712 ‘gpgme_new_signature_t signatures’
5713 A linked list with information about all signatures created.
5714
5715 -- Function: gpgme_sign_result_t gpgme_op_sign_result (gpgme_ctx_t CTX)
5716 The function ‘gpgme_op_sign_result’ returns a ‘gpgme_sign_result_t’
5717 pointer to a structure holding the result of a ‘gpgme_op_sign’
5718 operation. The pointer is only valid if the last operation on the
5719 context was a ‘gpgme_op_sign’, ‘gpgme_op_sign_start’,
5720 ‘gpgme_op_encrypt_sign’ or ‘gpgme_op_encrypt_sign_start’ operation.
5721 If that operation failed, the function might return a ‘NULL’
5722 pointer. The returned pointer is only valid until the next
5723 operation is started on the context.
5724
5725 
5726 File: gpgme.info, Node: Signature Notation Data, Prev: Creating a Signature, Up: Sign
5727
5728 7.6.4.3 Signature Notation Data
5729 ...............................
5730
5731 Using the following functions, you can attach arbitrary notation data to
5732 a signature. This information is then available to the user when the
5733 signature is verified.
5734
5735 -- Function: void gpgme_sig_notation_clear (gpgme_ctx_t CTX)
5736 SINCE: 1.1.0
5737
5738 The function ‘gpgme_sig_notation_clear’ removes the notation data
5739 from the context CTX. Subsequent signing operations from this
5740 context will not include any notation data.
5741
5742 Every context starts with an empty notation data list.
5743
5744 -- Function: gpgme_error_t gpgme_sig_notation_add (gpgme_ctx_t CTX,
5745 const char *NAME, const char *VALUE,
5746 gpgme_sig_notation_flags_t FLAGS)
5747 SINCE: 1.1.0
5748
5749 The function ‘gpgme_sig_notation_add’ adds the notation data with
5750 the name NAME and the value VALUE to the context CTX.
5751
5752 Subsequent signing operations will include this notation data, as
5753 well as any other notation data that was added since the creation
5754 of the context or the last ‘gpgme_sig_notation_clear’ operation.
5755
5756 The arguments NAME and VALUE must be ‘NUL’-terminated strings in
5757 human-readable form. The flag ‘GPGME_SIG_NOTATION_HUMAN_READABLE’
5758 is implied (non-human-readable notation data is currently not
5759 supported). The strings must be in UTF-8 encoding.
5760
5761 If NAME is ‘NULL’, then VALUE should be a policy URL.
5762
5763 The function ‘gpgme_sig_notation_add’ returns the error code
5764 ‘GPG_ERR_NO_ERROR’ if the notation data could be added
5765 successfully, ‘GPG_ERR_INV_VALUE’ if CTX is not a valid pointer, or
5766 if NAME, VALUE and FLAGS are an invalid combination. The function
5767 also passes through any errors that are reported by the crypto
5768 engine support routines.
5769
5770 -- Function: gpgme_sig_notation_t gpgme_sig_notation_get
5771 (const gpgme_ctx_t CTX)
5772 SINCE: 1.1.0
5773
5774 The function ‘gpgme_sig_notation_get’ returns the linked list of
5775 notation data structures that are contained in the context CTX.
5776
5777 If CTX is not a valid pointer, or there is no notation data added
5778 for this context, ‘NULL’ is returned.
5779
5780 
5781 File: gpgme.info, Node: Encrypt, Prev: Sign, Up: Crypto Operations
5782
5783 7.6.5 Encrypt
5784 -------------
5785
5786 One plaintext can be encrypted for several recipients at the same time.
5787 The list of recipients is created independently of any context, and then
5788 passed to the encryption operation.
5789
5790 * Menu:
5791
5792 * Encrypting a Plaintext:: How to encrypt a plaintext.
5793
5794 
5795 File: gpgme.info, Node: Encrypting a Plaintext, Up: Encrypt
5796
5797 7.6.5.1 Encrypting a Plaintext
5798 ..............................
5799
5800 -- Function: gpgme_error_t gpgme_op_encrypt (gpgme_ctx_t CTX,
5801 gpgme_key_t RECP[], gpgme_encrypt_flags_t FLAGS,
5802 gpgme_data_t PLAIN, gpgme_data_t CIPHER)
5803 The function ‘gpgme_op_encrypt’ encrypts the plaintext in the data
5804 object PLAIN for the recipients RECP and stores the ciphertext in
5805 the data object CIPHER. The type of the ciphertext created is
5806 determined by the ASCII armor (or, if that is not set, by the
5807 encoding specified for CIPHER) and the text mode attributes set for
5808 the context CTX.
5809
5810 RECP must be a ‘NULL’-terminated array of keys. The user must keep
5811 references for all keys during the whole duration of the call (but
5812 see ‘gpgme_op_encrypt_start’ for the requirements with the
5813 asynchronous variant).
5814
5815 The value in FLAGS is a bitwise-or combination of one or multiple
5816 of the following bit values:
5817
5818 ‘GPGME_ENCRYPT_ALWAYS_TRUST’
5819 The ‘GPGME_ENCRYPT_ALWAYS_TRUST’ symbol specifies that all the
5820 recipients in RECP should be trusted, even if the keys do not
5821 have a high enough validity in the keyring. This flag should
5822 be used with care; in general it is not a good idea to use any
5823 untrusted keys.
5824
5825 ‘GPGME_ENCRYPT_NO_ENCRYPT_TO’
5826 SINCE: 1.2.0
5827
5828 The ‘GPGME_ENCRYPT_NO_ENCRYPT_TO’ symbol specifies that no
5829 default or hidden default recipients as configured in the
5830 crypto backend should be included. This can be useful for
5831 managing different user profiles.
5832
5833 ‘GPGME_ENCRYPT_NO_COMPRESS’
5834 SINCE: 1.5.0
5835
5836 The ‘GPGME_ENCRYPT_NO_COMPRESS’ symbol specifies that the
5837 plaintext shall not be compressed before it is encrypted.
5838 This is in some cases useful if the length of the encrypted
5839 message may reveal information about the plaintext.
5840
5841 ‘GPGME_ENCRYPT_PREPARE’
5842 ‘GPGME_ENCRYPT_EXPECT_SIGN’
5843 The ‘GPGME_ENCRYPT_PREPARE’ symbol is used with the UI Server
5844 protocol to prepare an encryption (i.e. sending the
5845 ‘PREP_ENCRYPT’ command). With the ‘GPGME_ENCRYPT_EXPECT_SIGN’
5846 symbol the UI Server is advised to also expect a sign command.
5847
5848 ‘GPGME_ENCRYPT_SYMMETRIC’
5849 SINCE: 1.7.0
5850
5851 The ‘GPGME_ENCRYPT_SYMMETRIC’ symbol specifies that the output
5852 should be additionally encrypted symmetrically even if
5853 recipients are provided. This feature is only supported for
5854 the OpenPGP crypto engine.
5855
5856 ‘GPGME_ENCRYPT_THROW_KEYIDS’
5857 SINCE: 1.8.0
5858
5859 The ‘GPGME_ENCRYPT_THROW_KEYIDS’ symbols requests that the
5860 identifiers for the decrption keys are not included in the
5861 ciphertext. On the receiving side, the use of this flag may
5862 slow down the decryption process because all available secret
5863 keys must be tried. This flag is only honored for OpenPGP
5864 encryption.
5865
5866 ‘GPGME_ENCRYPT_WRAP’
5867 SINCE: 1.8.0
5868
5869 The ‘GPGME_ENCRYPT_WRAP’ symbol specifies that the input is an
5870 OpenPGP message and not a plain data. This is the counterpart
5871 to ‘GPGME_DECRYPT_UNWRAP’.
5872
5873 ‘GPGME_ENCRYPT_WANT_ADDRESS’
5874 SINCE: 1.11.0
5875
5876 The ‘GPGME_ENCRYPT_WANT_ADDRESS’ symbol requests that all
5877 supplied keys or key specifications include a syntactically
5878 valid mail address. If this is not the case the operation is
5879 not even tried and the error code ‘GPG_ERR_INV_USER_ID’ is
5880 returned. Only the address part of the key specification is
5881 conveyed to the backend. As of now the key must be specified
5882 using the RECPSTRING argument of the extended encrypt
5883 functions. This feature is currently only supported for the
5884 OpenPGP crypto engine.
5885
5886 If ‘GPG_ERR_UNUSABLE_PUBKEY’ is returned, some recipients in RECP
5887 are invalid, but not all. In this case the plaintext might be
5888 encrypted for all valid recipients and returned in CIPHER (if this
5889 happens depends on the crypto engine). More information about the
5890 invalid recipients is available with ‘gpgme_op_encrypt_result’.
5891
5892 If RECP is ‘NULL’, symmetric rather than public key encryption is
5893 performed. Symmetrically encrypted cipher text can be deciphered
5894 with ‘gpgme_op_decrypt’. Note that in this case the crypto backend
5895 needs to retrieve a passphrase from the user. Symmetric encryption
5896 is currently only supported for the OpenPGP crypto backend.
5897
5898 The function returns the error code ‘GPG_ERR_NO_ERROR’ if the
5899 ciphertext could be created successfully, ‘GPG_ERR_INV_VALUE’ if
5900 CTX, RECP, PLAIN or CIPHER is not a valid pointer,
5901 ‘GPG_ERR_UNUSABLE_PUBKEY’ if RECP contains some invalid recipients,
5902 ‘GPG_ERR_BAD_PASSPHRASE’ if the passphrase for the symmetric key
5903 could not be retrieved, and passes through any errors that are
5904 reported by the crypto engine support routines.
5905
5906 -- Function: gpgme_error_t gpgme_op_encrypt_start (gpgme_ctx_t CTX,
5907 gpgme_key_t RECP[], gpgme_encrypt_flags_t FLAGS,
5908 gpgme_data_t PLAIN, gpgme_data_t CIPHER)
5909 The function ‘gpgme_op_encrypt_start’ initiates a
5910 ‘gpgme_op_encrypt’ operation. It can be completed by calling
5911 ‘gpgme_wait’ on the context. *Note Waiting For Completion::.
5912
5913 References to the keys only need to be held for the duration of
5914 this call. The user can release its references to the keys after
5915 this function returns, even if the operation is not yet finished.
5916
5917 The function returns the error code ‘GPG_ERR_NO_ERROR’ if the
5918 operation could be started successfully, ‘GPG_ERR_INV_VALUE’ if
5919 CTX, RSET, PLAIN or CIPHER is not a valid pointer, and
5920 ‘GPG_ERR_UNUSABLE_PUBKEY’ if RSET does not contain any valid
5921 recipients.
5922
5923 -- Function: gpgme_error_t gpgme_op_encrypt_ext (gpgme_ctx_t CTX,
5924 gpgme_key_t RECP[], const char *RECPSTRING,
5925 gpgme_encrypt_flags_t FLAGS, gpgme_data_t PLAIN,
5926 gpgme_data_t CIPHER)
5927
5928 SINCE: 1.11.0
5929
5930 This is an extended version of ‘gpgme_op_encrypt’ with RECPSTRING
5931 as additional parameter. If RECP is NULL and RECPSTRING is not
5932 NULL, the latter is expected to be a linefeed delimited string with
5933 the set of key specifications. In contrast to RECP the keys are
5934 given directly as strings and there is no need to first create key
5935 objects. Leading and trailing white space is remove from each line
5936 in RECPSTRING. The keys are then passed verbatim to the backend
5937 engine.
5938
5939 For the OpenPGP backend several special keywords are supported to
5940 modify the operation. These keywords are given instead of a key
5941 specification. The currently supported keywords are:
5942
5943 ‘--hidden’
5944 ‘--no-hidden’
5945 These keywords toggle between normal and hidden recipients for
5946 all following key specifications. When a hidden recipient is
5947 requested the gpg option ‘-R’ (or ‘-F’ in file mode) is used
5948 instead of ‘-r’ (‘-f’ in file mode).
5949
5950 ‘--file’
5951 ‘--no-file’
5952 These keywords toggle between regular and file mode for all
5953 following key specification. In file mode the option ‘-f’ or
5954 ‘-F’ is passed to gpg. At least GnuPG version 2.1.14 is
5955 required to handle these options. The
5956 ‘GPGME_ENCRYPT_WANT_ADDRESS’ flag is ignored in file mode.
5957
5958 ‘--’
5959 This keyword disables all keyword detection up to the end of
5960 the string. All keywords are treated as verbatim arguments.
5961
5962 To create a RECPSTRING it is often useful to employ a strconcat
5963 style function. For example this function creates a string to
5964 encrypt to two keys:
5965
5966 char *
5967 xbuild_recpstring (const char *key1, const char *key2)
5968 {
5969 char *result = gpgrt_strconcat ("--\n", key1, "\n", key2, NULL);
5970 if (!result)
5971 { perror ("strconcat failed"); exit (2); }
5972 return result;
5973 }
5974
5975 Note the use of the double dash here; unless you want to specify a
5976 keyword, it is a good idea to avoid any possible trouble with key
5977 specifications starting with a double dash. The used strconcat
5978 function is available in Libgpg-error 1.28 and later; Libgpg-error
5979 (aka Gpgrt) is a dependency of GPGME. The number of arguments to
5980 ‘gpgrt_strconcat’ is limited to 47 but that should always be
5981 sufficient. In case a larger and non-fixed number of keys are to
5982 be supplied the following code can be used:
5983
5984 char *
5985 xbuild_long_recpstring (void)
5986 {
5987 gpgrt_stream_t memfp;
5988 const char *s;
5989 void *result;
5990
5991 memfp = gpgrt_fopenmem (0, "w+b");
5992 if (!memfp)
5993 { perror ("fopenmem failed"); exit (2); }
5994 gpgrt_fputs ("--", memfp);
5995 while ((s = get_next_keyspec ()))
5996 {
5997 gpgrt_fputc ('\n', memfp);
5998 gpgrt_fputs (s, memfp);
5999 }
6000 gpgrt_fputc (0, memfp);
6001 if (gpgrt_ferror (memfp))
6002 { perror ("writing to memstream failed"); exit (2); }
6003 if (gpgrt_fclose_snatch (memfp, &result, NULL))
6004 { perror ("fclose_snatch failed"); exit (2); }
6005 return result;
6006 }
6007
6008 In this example ‘get_next_keyspec’ is expected to return the next
6009 key to be added to the string. Please take care: Encrypting to a
6010 large number of recipients is often questionable due to security
6011 reasons and also for the technicality that all keys are currently
6012 passed on the command line to ‘gpg’ which has as a platform
6013 specific length limitation.
6014
6015 -- Function: gpgme_error_t gpgme_op_encrypt_ext_start (gpgme_ctx_t CTX,
6016 gpgme_key_t RECP[], const char *RECPSTRING,
6017 gpgme_encrypt_flags_t FLAGS, gpgme_data_t PLAIN,
6018 gpgme_data_t CIPHER)
6019
6020 SINCE: 1.11.0
6021
6022 This is an extended version of ‘gpgme_op_encrypt_start’ with
6023 RECPSTRING as additional parameter. If RECP is NULL and RECPSTRING
6024 is not NULL, the latter is expected to be a linefeed delimited
6025 string with the set of key specifications. In contrast to RECP the
6026 keys are given directly as strings and there is no need to first
6027 create key objects. The keys are passed verbatim to the backend
6028 engine.
6029
6030 -- Data type: gpgme_encrypt_result_t
6031 This is a pointer to a structure used to store the result of a
6032 ‘gpgme_op_encrypt’ operation. After successfully encrypting data,
6033 you can retrieve the pointer to the result with
6034 ‘gpgme_op_encrypt_result’. The structure contains the following
6035 members:
6036
6037 ‘gpgme_invalid_key_t invalid_recipients’
6038 A linked list with information about all invalid keys for
6039 which the data could not be encrypted.
6040
6041 -- Function: gpgme_encrypt_result_t gpgme_op_encrypt_result
6042 (gpgme_ctx_t CTX)
6043 The function ‘gpgme_op_encrypt_result’ returns a
6044 ‘gpgme_encrypt_result_t’ pointer to a structure holding the result
6045 of a ‘gpgme_op_encrypt’ operation. The pointer is only valid if
6046 the last operation on the context was a ‘gpgme_op_encrypt’,
6047 ‘gpgme_op_encrypt_start’, ‘gpgme_op_sign’ or ‘gpgme_op_sign_start’
6048 operation. If this operation failed, this might be a ‘NULL’
6049 pointer. The returned pointer is only valid until the next
6050 operation is started on the context.
6051
6052 -- Function: gpgme_error_t gpgme_op_encrypt_sign (gpgme_ctx_t CTX,
6053 gpgme_key_t RECP[], gpgme_encrypt_flags_t FLAGS,
6054 gpgme_data_t PLAIN, gpgme_data_t CIPHER)
6055 The function ‘gpgme_op_encrypt_sign’ does a combined encrypt and
6056 sign operation. It is used like ‘gpgme_op_encrypt’, but the
6057 ciphertext also contains signatures for the signers listed in CTX.
6058
6059 The combined encrypt and sign operation is currently only available
6060 for the OpenPGP crypto engine.
6061
6062 -- Function: gpgme_error_t gpgme_op_encrypt_sign_start
6063 (gpgme_ctx_t CTX, gpgme_key_t RECP[],
6064 gpgme_encrypt_flags_t FLAGS, gpgme_data_t PLAIN,
6065 gpgme_data_t CIPHER)
6066 The function ‘gpgme_op_encrypt_sign_start’ initiates a
6067 ‘gpgme_op_encrypt_sign’ operation. It can be completed by calling
6068 ‘gpgme_wait’ on the context. *Note Waiting For Completion::.
6069
6070 The function returns the error code ‘GPG_ERR_NO_ERROR’ if the
6071 operation could be started successfully, and ‘GPG_ERR_INV_VALUE’ if
6072 CTX, RSET, PLAIN or CIPHER is not a valid pointer.
6073
6074 -- Function: gpgme_error_t gpgme_op_encrypt_sign_ext (gpgme_ctx_t CTX,
6075 gpgme_key_t RECP[], const char *RECPSTRING,
6076 gpgme_encrypt_flags_t FLAGS, gpgme_data_t PLAIN,
6077 gpgme_data_t CIPHER)
6078
6079 SINCE: 1.11.0
6080
6081 This is an extended version of ‘gpgme_op_encrypt_sign’ with
6082 RECPSTRING as additional parameter. If RECP is NULL and RECPSTRING
6083 is not NULL, the latter is expected to be a linefeed delimited
6084 string with the set of key specifications. In contrast to RECP the
6085 keys are given directly as strings and there is no need to first
6086 create the key objects. The keys are passed verbatim to the
6087 backend engine.
6088
6089 -- Function: gpgme_error_t gpgme_op_encrypt_sign_ext_start
6090 (gpgme_ctx_t CTX, gpgme_key_t RECP[], const char *RECPSTRING,
6091 gpgme_encrypt_flags_t FLAGS, gpgme_data_t PLAIN,
6092 gpgme_data_t CIPHER)
6093
6094 SINCE: 1.11.0
6095
6096 This is an extended version of ‘gpgme_op_encrypt_sign_start’ with
6097 RECPSTRING as additional parameter. If RECP is NULL and RECPSTRING
6098 is not NULL, the latter is expected to be a linefeed delimited
6099 string with the set of key specifications. In contrast to RECP the
6100 keys are given directly as strings and there is no need to first
6101 create the key objects. The keys are passed verbatim to the
6102 backend engine.
6103
6104 
6105 File: gpgme.info, Node: Miscellaneous, Next: Run Control, Prev: Crypto Operations, Up: Contexts
6106
6107 7.7 Miscellaneous operations
6108 ============================
6109
6110 Here are some support functions which are sometimes useful.
6111
6112 * Menu:
6113
6114 * Running other Programs:: Running other Programs
6115 * Using the Assuan protocol:: Using the Assuan protocol
6116 * Checking for updates:: How to check for software updates
6117
6118 
6119 File: gpgme.info, Node: Running other Programs, Next: Using the Assuan protocol, Up: Miscellaneous
6120
6121 7.7.1 Running other Programs
6122 ----------------------------
6123
6124 GPGME features an internal subsystem to run the actual backend engines.
6125 Along with data abstraction object this subsystem can be used to run
6126 arbitrary simple programs which even need not be related to
6127 cryptographic features. It may for example be used to run tools which
6128 are part of the GnuPG system but are not directly accessible with the
6129 GPGME API.
6130
6131 -- Function: gpgme_error_t gpgme_op_spawn (gpgme_ctx_t CTX,
6132 const char *FILE, const char *ARGV[], gpgme_data_t DATAIN,
6133 gpgme_data_t DATAOUT, gpgme_data_t DATAERR,
6134 unsigned int FLAGS)
6135
6136 SINCE: 1.5.0
6137
6138 The function ‘gpgme_op_spawn’ runs the program FILE with the
6139 arguments taken from the NULL terminated array ARGV. If no
6140 arguments are required ARGV may be given as ‘NULL’. In the latter
6141 case or if ‘argv[0]’ is the empty string, GPGME uses the basename
6142 of FILE for ‘argv[0]’. The file descriptors ‘stdin’, ‘stdout’, and
6143 ‘stderr’ are connected to the data objects DATAIN, DATAOUT, and
6144 DATAERR. If NULL is passed for one of these data objects the
6145 corresponding file descriptor is connected to ‘/dev/null’.
6146
6147 The value in FLAGS is a bitwise-or combination of one or multiple
6148 of the following bit values:
6149
6150 ‘GPGME_SPAWN_DETACHED’
6151 SINCE: 1.5.0
6152
6153 Under Windows this flag inhibits the allocation of a new
6154 console for the program. This is useful for a GUI application
6155 which needs to call a command line helper tool.
6156
6157 ‘GPGME_SPAWN_ALLOW_SET_FG’
6158 SINCE: 1.5.0
6159
6160 Under Windows this flag allows the called program to put
6161 itself into the foreground.
6162
6163 -- Function: gpgme_error_t gpgme_op_spawn_start (gpgme_ctx_t CTX,
6164 const char *FILE, const char *ARGV[], gpgme_data_t DATAIN,
6165 gpgme_data_t DATAOUT, gpgme_data_t DATAERR,
6166 unsigned int FLAGS)
6167
6168 SINCE: 1.5.0
6169
6170 This is the asynchronous variant of ‘gpgme_op_spawn’.
6171
6172 
6173 File: gpgme.info, Node: Using the Assuan protocol, Next: Checking for updates, Prev: Running other Programs, Up: Miscellaneous
6174
6175 7.7.2 Using the Assuan protocol
6176 -------------------------------
6177
6178 The Assuan protocol can be used to talk to arbitrary Assuan servers. By
6179 default it is connected to the GnuPG agent, but it may be connected to
6180 arbitrary servers by using ‘gpgme_ctx_set_engine_info’, passing the
6181 location of the servers socket as FILE_NAME argument, and an empty
6182 string as HOME_DIR argument.
6183
6184 The Assuan protocol functions use three kinds of callbacks to
6185 transfer data:
6186
6187 -- Data type: gpgme_error_t (*gpgme_assuan_data_cb_t) (void *OPAQUE,
6188 const void *DATA, size_t DATALEN)
6189
6190 SINCE: 1.2.0
6191
6192 This callback receives any data sent by the server. OPAQUE is the
6193 pointer passed to ‘gpgme_op_assuan_transact_start’, DATA of length
6194 DATALEN refers to the data sent.
6195
6196 -- Data type: gpgme_error_t (*gpgme_assuan_inquire_cb_t) (void *OPAQUE,
6197 const char *NAME, const char *ARGS, gpgme_data_t *R_DATA)
6198
6199 SINCE: 1.2.0
6200
6201 This callback is used to provide additional data to the Assuan
6202 server. OPAQUE is the pointer passed to
6203 ‘gpgme_op_assuan_transact_start’, NAME and ARGS specify what kind
6204 of data the server requested, and R_DATA is used to return the
6205 actual data.
6206
6207 Note: Returning data is currently not implemented in GPGME.
6208
6209 -- Data type: gpgme_error_t (*gpgme_assuan_status_cb_t) (void *OPAQUE,
6210 const char *STATUS, const char *ARGS)
6211
6212 SINCE: 1.2.0
6213
6214 This callback receives any status lines sent by the server. OPAQUE
6215 is the pointer passed to ‘gpgme_op_assuan_transact_start’, STATUS
6216 and ARGS denote the status update sent.
6217
6218 -- Function: gpgme_error_t gpgme_op_assuan_transact_start
6219 (gpgme_ctx_t CTX, const char *COMMAND,
6220 gpgme_assuan_data_cb_t DATA_CB, void * DATA_CB_VALUE,
6221 gpgme_assuan_inquire_cb_t INQUIRE_CB, void * INQUIRE_CB_VALUE,
6222 gpgme_assuan_status_cb_t STATUS_CB, void * STATUS_CB_VALUE)
6223
6224 SINCE: 1.2.0
6225
6226 Send the Assuan COMMAND and return results via the callbacks. Any
6227 callback may be ‘NULL’. The result of the operation may be
6228 retrieved using ‘gpgme_wait_ext’.
6229
6230 Asynchronous variant.
6231
6232 -- Function: gpgme_error_t gpgme_op_assuan_transact_ext
6233 (gpgme_ctx_t CTX, const char *COMMAND,
6234 gpgme_assuan_data_cb_t DATA_CB, void * DATA_CB_VALUE,
6235 gpgme_assuan_inquire_cb_t INQUIRE_CB, void * INQUIRE_CB_VALUE,
6236 gpgme_assuan_status_cb_t STATUS_CB, void * STATUS_CB_VALUE,
6237 gpgme_error_t *OP_ERR)
6238
6239 Send the Assuan COMMAND and return results via the callbacks. The
6240 result of the operation is returned in OP_ERR.
6241
6242 Synchronous variant.
6243
6244 
6245 File: gpgme.info, Node: Checking for updates, Prev: Using the Assuan protocol, Up: Miscellaneous
6246
6247 7.7.3 How to check for software updates
6248 ---------------------------------------
6249
6250 The GnuPG Project operates a server to query the current versions of
6251 software packages related to GnuPG. GPGME can be used to access this
6252 online database and check whether a new version of a software package is
6253 available.
6254
6255 -- Data type: gpgme_query_swdb_result_t
6256 SINCE: 1.8.0
6257
6258 This is a pointer to a structure used to store the result of a
6259 ‘gpgme_op_query_swdb’ operation. After success full call to that
6260 function, you can retrieve the pointer to the result with
6261 ‘gpgme_op_query_swdb_result’. The structure contains the following
6262 member:
6263
6264 ‘name’
6265 This is the name of the package.
6266
6267 ‘iversion’
6268 The currently installed version or an empty string. This
6269 value is either a copy of the argument given to
6270 ‘gpgme_op_query_swdb’ or the version of the installed software
6271 as figured out by GPGME or GnuPG.
6272
6273 ‘created’
6274 This gives the date the file with the list of version numbers
6275 has originally be created by the GnuPG project.
6276
6277 ‘retrieved’
6278 This gives the date the file was downloaded.
6279
6280 ‘warning’
6281 If this flag is set either an error has occurred or some of
6282 the information in this structure are not properly set. For
6283 example if the version number of the installed software could
6284 not be figured out, the ‘update’ flag may not reflect a
6285 required update status.
6286
6287 ‘update’
6288 If this flag is set an update of the software is available.
6289
6290 ‘urgent’
6291 If this flag is set an available update is important.
6292
6293 ‘noinfo’
6294 If this flag is set, no valid information could be retrieved.
6295
6296 ‘unknown’
6297 If this flag is set the given ‘name’ is not known.
6298
6299 ‘tooold’
6300 If this flag is set the available information is not fresh
6301 enough.
6302
6303 ‘error’
6304 If this flag is set some other error has occurred.
6305
6306 ‘version’
6307 The version string of the latest released version.
6308
6309 ‘reldate’
6310 The release date of the latest released version.
6311
6312 -- Function: gpgme_error_t gpgme_op_query_swdb (gpgme_ctx_t CTX,
6313 const char *NAME, const char *IVERSION, gpgme_data_t RESERVED)
6314
6315 SINCE: 1.8.0
6316
6317 Query the software version database for software package NAME and
6318 check against the installed version given by IVERSION. If IVERSION
6319 is given as ‘NULL’ a check is only done if GPGME can figure out the
6320 version by itself (for example when using "gpgme" or "gnupg"). If
6321 ‘NULL’ is used for NAME the current gpgme version is checked.
6322 RESERVED must be set to 0.
6323
6324 -- Function: gpgme_query_swdb_result_t gpgme_op_query_swdb_result
6325 (gpgme_ctx_t CTX)
6326
6327 SINCE: 1.8.0
6328
6329 The function ‘gpgme_op_query_swdb_result’ returns a
6330 ‘gpgme_query_swdb_result_t’ pointer to a structure holding the
6331 result of a ‘gpgme_op_query_swdb’ operation. The pointer is only
6332 valid if the last operation on the context was a successful call to
6333 ‘gpgme_op_query_swdb’. If that call failed, the result might be a
6334 ‘NULL’ pointer. The returned pointer is only valid until the next
6335 operation is started on the context CTX.
6336
6337 Here is an example on how to check whether GnuPG is current:
6338
6339 #include <gpgme.h>
6340
6341 int
6342 main (void)
6343 {
6344 gpg_error_t err;
6345 gpgme_ctx_t ctx;
6346 gpgme_query_swdb_result_t result;
6347
6348 gpgme_check_version (NULL);
6349 err = gpgme_new (&ctx);
6350 if (err)
6351 fprintf (stderr, "error creating context: %s\n", gpg_strerror (err));
6352 else
6353 {
6354 gpgme_set_protocol (ctx, GPGME_PROTOCOL_GPGCONF);
6355
6356 err = gpgme_op_query_swdb (ctx, "gnupg", NULL, 0);
6357 if (err)
6358 fprintf (stderr, "error querying swdb: %s\n", gpg_strerror (err));
6359 else
6360 {
6361 result = gpgme_op_query_swdb_result (ctx);
6362 if (!result)
6363 fprintf (stderr, "error querying swdb\n");
6364 if (!result->warning && !result->update)
6365 printf ("GnuPG version %s is current\n",
6366 result->iversion);
6367 else if (!result->warning && result->update)
6368 printf ("GnuPG version %s can be updated to %s\n",
6369 result->iversion, result->version);
6370 else
6371 fprintf (stderr, "error finding the update status\n");
6372 }
6373 gpgme_release (ctx);
6374 }
6375 return 0;
6376 }
6377
6378 
6379 File: gpgme.info, Node: Run Control, Prev: Miscellaneous, Up: Contexts
6380
6381 7.8 Run Control
6382 ===============
6383
6384 GPGME supports running operations synchronously and asynchronously. You
6385 can use asynchronous operation to set up a context up to initiating the
6386 desired operation, but delay performing it to a later point.
6387
6388 Furthermore, you can use an external event loop to control exactly
6389 when GPGME runs. This ensures that GPGME only runs when necessary and
6390 also prevents it from blocking for a long time.
6391
6392 * Menu:
6393
6394 * Waiting For Completion:: Waiting until an operation is completed.
6395 * Using External Event Loops:: Advanced control over what happens when.
6396 * Cancellation:: How to end pending operations prematurely.
6397
6398 
6399 File: gpgme.info, Node: Waiting For Completion, Next: Using External Event Loops, Up: Run Control
6400
6401 7.8.1 Waiting For Completion
6402 ----------------------------
6403
6404 -- Function: gpgme_ctx_t gpgme_wait (gpgme_ctx_t CTX,
6405 gpgme_error_t *STATUS, int HANG)
6406 The function ‘gpgme_wait’ continues the pending operation within
6407 the context CTX. In particular, it ensures the data exchange
6408 between GPGME and the crypto backend and watches over the run time
6409 status of the backend process.
6410
6411 If HANG is true, the function does not return until the operation
6412 is completed or cancelled. Otherwise the function will not block
6413 for a long time.
6414
6415 The error status of the finished operation is returned in STATUS if
6416 ‘gpgme_wait’ does not return ‘NULL’.
6417
6418 The CTX argument can be ‘NULL’. In that case, ‘gpgme_wait’ waits
6419 for any context to complete its operation.
6420
6421 ‘gpgme_wait’ can be used only in conjunction with any context that
6422 has a pending operation initiated with one of the
6423 ‘gpgme_op_*_start’ functions except ‘gpgme_op_keylist_start’ and
6424 ‘gpgme_op_trustlist_start’ (for which you should use the
6425 corresponding ‘gpgme_op_*_next’ functions). If CTX is ‘NULL’, all
6426 of such contexts are waited upon and possibly returned.
6427 Synchronous operations running in parallel, as well as key and
6428 trust item list operations, do not affect ‘gpgme_wait’.
6429
6430 In a multi-threaded environment, only one thread should ever call
6431 ‘gpgme_wait’ at any time, regardless of whether CTX is specified or
6432 not. This means that all calls to this function should be fully
6433 synchronized by locking primitives. It is safe to start
6434 asynchronous operations while a thread is running in ‘gpgme_wait’.
6435
6436 The function returns the CTX of the context which has finished the
6437 operation. If HANG is false, and the timeout expires, ‘NULL’ is
6438 returned and ‘*status’ will be set to 0. If an error occurs,
6439 ‘NULL’ is returned and the error is returned in ‘*status’.
6440
6441 
6442 File: gpgme.info, Node: Using External Event Loops, Next: Cancellation, Prev: Waiting For Completion, Up: Run Control
6443
6444 7.8.2 Using External Event Loops
6445 --------------------------------
6446
6447 GPGME hides the complexity of the communication between the library and
6448 the crypto engine. The price of this convenience is that the calling
6449 thread can block arbitrary long waiting for the data returned by the
6450 crypto engine. In single-threaded programs, in particular if they are
6451 interactive, this is an unwanted side-effect. OTOH, if ‘gpgme_wait’ is
6452 used without the HANG option being enabled, it might be called
6453 unnecessarily often, wasting CPU time that could be used otherwise.
6454
6455 The I/O callback interface described in this section lets the user
6456 take control over what happens when. GPGME will provide the user with
6457 the file descriptors that should be monitored, and the callback
6458 functions that should be invoked when a file descriptor is ready for
6459 reading or writing. It is then the user’s responsibility to decide when
6460 to check the file descriptors and when to invoke the callback functions.
6461 Usually this is done in an event loop, that also checks for events in
6462 other parts of the program. If the callback functions are only called
6463 when the file descriptors are ready, GPGME will never block. This gives
6464 the user more control over the program flow, and allows to perform other
6465 tasks when GPGME would block otherwise.
6466
6467 By using this advanced mechanism, GPGME can be integrated smoothly
6468 into GUI toolkits like GTK+ even for single-threaded programs.
6469
6470 * Menu:
6471
6472 * I/O Callback Interface:: How I/O callbacks are registered.
6473 * Registering I/O Callbacks:: How to use I/O callbacks for a context.
6474 * I/O Callback Example:: An example how to use I/O callbacks.
6475 * I/O Callback Example GTK+:: How to use GPGME with GTK+.
6476 * I/O Callback Example GDK:: How to use GPGME with GDK.
6477 * I/O Callback Example Qt:: How to use GPGME with Qt.
6478
6479 
6480 File: gpgme.info, Node: I/O Callback Interface, Next: Registering I/O Callbacks, Up: Using External Event Loops
6481
6482 7.8.2.1 I/O Callback Interface
6483 ..............................
6484
6485 -- Data type: gpgme_error_t (*gpgme_io_cb_t) (void *DATA, int FD)
6486 The ‘gpgme_io_cb_t’ type is the type of functions which GPGME wants
6487 to register as I/O callback handlers using the
6488 ‘gpgme_register_io_cb_t’ functions provided by the user.
6489
6490 DATA and FD are provided by GPGME when the I/O callback handler is
6491 registered, and should be passed through to the handler when it is
6492 invoked by the user because it noticed activity on the file
6493 descriptor FD.
6494
6495 The callback handler always returns ‘0’, but you should consider
6496 the return value to be reserved for later use.
6497
6498 -- Data type: gpgme_error_t (*gpgme_register_io_cb_t) (void *DATA,
6499 int FD, int DIR, gpgme_io_cb_t FNC, void *FNC_DATA,
6500 void **TAG)
6501 The ‘gpgme_register_io_cb_t’ type is the type of functions which
6502 can be called by GPGME to register an I/O callback function FNC for
6503 the file descriptor FD with the user. FNC_DATA should be passed as
6504 the first argument to FNC when the handler is invoked (the second
6505 argument should be FD). If DIR is 0, FNC should be called by the
6506 user when FD is ready for writing. If DIR is 1, FNC should be
6507 called when FD is ready for reading.
6508
6509 DATA was provided by the user when registering the
6510 ‘gpgme_register_io_cb_t’ function with GPGME and will always be
6511 passed as the first argument when registering a callback function.
6512 For example, the user can use this to determine the event loop to
6513 which the file descriptor should be added.
6514
6515 GPGME will call this function when a crypto operation is initiated
6516 in a context for which the user has registered I/O callback handler
6517 functions with ‘gpgme_set_io_cbs’. It can also call this function
6518 when it is in an I/O callback handler for a file descriptor
6519 associated to this context.
6520
6521 The user should return a unique handle in TAG identifying this I/O
6522 callback registration, which will be passed to the
6523 ‘gpgme_register_io_cb_t’ function without interpretation when the
6524 file descriptor should not be monitored anymore.
6525
6526 -- Data type: void (*gpgme_remove_io_cb_t) (void *TAG)
6527 The ‘gpgme_remove_io_cb_t’ type is the type of functions which can
6528 be called by GPGME to remove an I/O callback handler that was
6529 registered before. TAG is the handle that was returned by the
6530 ‘gpgme_register_io_cb_t’ for this I/O callback.
6531
6532 GPGME can call this function when a crypto operation is in an I/O
6533 callback. It will also call this function when the context is
6534 destroyed while an operation is pending.
6535
6536 -- Data type: enum gpgme_event_io_t
6537 The ‘gpgme_event_io_t’ type specifies the type of an event that is
6538 reported to the user by GPGME as a consequence of an I/O operation.
6539 The following events are defined:
6540
6541 ‘GPGME_EVENT_START’
6542 The operation is fully initialized now, and you can start to
6543 run the registered I/O callback handlers now. Note that
6544 registered I/O callback handlers must not be run before this
6545 event is signalled. TYPE_DATA is ‘NULL’ and reserved for
6546 later use.
6547
6548 ‘GPGME_EVENT_DONE’
6549 The operation is finished, the last I/O callback for this
6550 operation was removed. The accompanying TYPE_DATA points to a
6551 ‘struct gpgme_io_event_done_data’ variable that contains the
6552 status of the operation that finished. This event is
6553 signalled after the last I/O callback has been removed.
6554
6555 ‘GPGME_EVENT_NEXT_KEY’
6556 In a ‘gpgme_op_keylist_start’ operation, the next key was
6557 received from the crypto engine. The accompanying TYPE_DATA
6558 is a ‘gpgme_key_t’ variable that contains the key with one
6559 reference for the user.
6560
6561 -- Data type: void (*gpgme_event_io_cb_t) (void *DATA,
6562 gpgme_event_io_t TYPE, void *TYPE_DATA)
6563 The ‘gpgme_event_io_cb_t’ type is the type of functions which can
6564 be called by GPGME to signal an event for an operation running in a
6565 context which has I/O callback functions registered by the user.
6566
6567 DATA was provided by the user when registering the
6568 ‘gpgme_event_io_cb_t’ function with GPGME and will always be passed
6569 as the first argument when registering a callback function. For
6570 example, the user can use this to determine the context in which
6571 this event has occurred.
6572
6573 TYPE will specify the type of event that has occurred. TYPE_DATA
6574 specifies the event further, as described in the above list of
6575 possible ‘gpgme_event_io_t’ types.
6576
6577 GPGME can call this function in an I/O callback handler.
6578
6579 
6580 File: gpgme.info, Node: Registering I/O Callbacks, Next: I/O Callback Example, Prev: I/O Callback Interface, Up: Using External Event Loops
6581
6582 7.8.2.2 Registering I/O Callbacks
6583 .................................
6584
6585 -- Data type: struct gpgme_io_cbs
6586 This structure is used to store the I/O callback interface
6587 functions described in the previous section. It has the following
6588 members:
6589
6590 ‘gpgme_register_io_cb_t add’
6591 This is the function called by GPGME to register an I/O
6592 callback handler. It must be specified.
6593
6594 ‘void *add_priv’
6595 This is passed as the first argument to the ‘add’ function
6596 when it is called by GPGME. For example, it can be used to
6597 determine the event loop to which the file descriptor should
6598 be added.
6599
6600 ‘gpgme_remove_io_cb_t remove’
6601 This is the function called by GPGME to remove an I/O callback
6602 handler. It must be specified.
6603
6604 ‘gpgme_event_io_cb_t event’
6605 This is the function called by GPGME to signal an event for an
6606 operation. It must be specified, because at least the start
6607 event must be processed.
6608
6609 ‘void *event_priv’
6610 This is passed as the first argument to the ‘event’ function
6611 when it is called by GPGME. For example, it can be used to
6612 determine the context in which the event has occurred.
6613
6614 -- Function: void gpgme_set_io_cbs (gpgme_ctx_t CTX,
6615 struct gpgme_io_cbs *IO_CBS)
6616 The function ‘gpgme_set_io_cbs’ enables the I/O callback interface
6617 for the context CTX. The I/O callback functions are specified by
6618 IO_CBS.
6619
6620 If IO_CBS->‘add’ is ‘NULL’, the I/O callback interface is disabled
6621 for the context, and normal operation is restored.
6622
6623 -- Function: void gpgme_get_io_cbs (gpgme_ctx_t CTX,
6624 struct gpgme_io_cbs *IO_CBS)
6625 The function ‘gpgme_get_io_cbs’ returns the I/O callback functions
6626 set with ‘gpgme_set_io_cbs’ in IO_CBS.
6627
6628 
6629 File: gpgme.info, Node: I/O Callback Example, Next: I/O Callback Example GTK+, Prev: Registering I/O Callbacks, Up: Using External Event Loops
6630
6631 7.8.2.3 I/O Callback Example
6632 ............................
6633
6634 To actually use an external event loop, you have to implement the I/O
6635 callback functions that are used by GPGME to register and unregister
6636 file descriptors. Furthermore, you have to actually monitor these file
6637 descriptors for activity and call the appropriate I/O callbacks.
6638
6639 The following example illustrates how to do that. The example uses
6640 locking to show in which way the callbacks and the event loop can run
6641 concurrently. For the event loop, we use a fixed array. For a
6642 real-world implementation, you should use a dynamically sized structure
6643 because the number of file descriptors needed for a crypto operation in
6644 GPGME is not predictable.
6645
6646 #include <assert.h>
6647 #include <errno.h>
6648 #include <stdlib.h>
6649 #include <pthread.h>
6650 #include <sys/types.h>
6651 #include <gpgme.h>
6652
6653 /* The following structure holds the result of a crypto operation. */
6654 struct op_result
6655 {
6656 int done;
6657 gpgme_error_t err;
6658 };
6659
6660 /* The following structure holds the data associated with one I/O
6661 callback. */
6662 struct one_fd
6663 {
6664 int fd;
6665 int dir;
6666 gpgme_io_cb_t fnc;
6667 void *fnc_data;
6668 void *loop;
6669 };
6670
6671 struct event_loop
6672 {
6673 pthread_mutex_t lock;
6674 #define MAX_FDS 32
6675 /* Unused slots are marked with FD being -1. */
6676 struct one_fd fds[MAX_FDS];
6677 };
6678
6679 The following functions implement the I/O callback interface.
6680
6681 gpgme_error_t
6682 add_io_cb (void *data, int fd, int dir, gpgme_io_cb_t fnc, void *fnc_data,
6683 void **r_tag)
6684 {
6685 struct event_loop *loop = data;
6686 struct one_fd *fds = loop->fds;
6687 int i;
6688
6689 pthread_mutex_lock (&loop->lock);
6690 for (i = 0; i < MAX_FDS; i++)
6691 {
6692 if (fds[i].fd == -1)
6693 {
6694 fds[i].fd = fd;
6695 fds[i].dir = dir;
6696 fds[i].fnc = fnc;
6697 fds[i].fnc_data = fnc_data;
6698 fds[i].loop = loop;
6699 break;
6700 }
6701 }
6702 pthread_mutex_unlock (&loop->lock);
6703 if (i == MAX_FDS)
6704 return gpg_error (GPG_ERR_GENERAL);
6705 *r_tag = &fds[i];
6706 return 0;
6707 }
6708
6709 void
6710 remove_io_cb (void *tag)
6711 {
6712 struct one_fd *fd = tag;
6713 struct event_loop *loop = fd->loop;
6714
6715 pthread_mutex_lock (&loop->lock);
6716 fd->fd = -1;
6717 pthread_mutex_unlock (&loop->lock);
6718 }
6719
6720 void
6721 event_io_cb (void *data, gpgme_event_io_t type, void *type_data)
6722 {
6723 struct op_result *result = data;
6724
6725 /* We don't support list operations here. */
6726 if (type == GPGME_EVENT_DONE)
6727 {
6728 result->done = 1;
6729 result->err = *type_data;
6730 }
6731 }
6732
6733 The final missing piece is the event loop, which will be presented
6734 next. We only support waiting for the success of a single operation.
6735
6736 int
6737 do_select (struct event_loop *loop)
6738 {
6739 fd_set rfds;
6740 fd_set wfds;
6741 int i, n;
6742 int any = 0;
6743 struct timeval tv;
6744 struct one_fd *fdlist = loop->fds;
6745
6746 pthread_mutex_lock (&loop->lock);
6747 FD_ZERO (&rfds);
6748 FD_ZERO (&wfds);
6749 for (i = 0; i < MAX_FDS; i++)
6750 if (fdlist[i].fd != -1)
6751 FD_SET (fdlist[i].fd, fdlist[i].dir ? &rfds : &wfds);
6752 pthread_mutex_unlock (&loop->lock);
6753
6754 tv.tv_sec = 0;
6755 tv.tv_usec = 1000;
6756
6757 do
6758 {
6759 n = select (FD_SETSIZE, &rfds, &wfds, NULL, &tv);
6760 }
6761 while (n < 0 && errno == EINTR);
6762
6763 if (n < 0)
6764 return n; /* Error or timeout. */
6765
6766 pthread_mutex_lock (&loop->lock);
6767 for (i = 0; i < MAX_FDS && n; i++)
6768 {
6769 if (fdlist[i].fd != -1)
6770 {
6771 if (FD_ISSET (fdlist[i].fd, fdlist[i].dir ? &rfds : &wfds))
6772 {
6773 assert (n);
6774 n--;
6775 any = 1;
6776 /* The I/O callback handler can register/remove callbacks,
6777 so we have to unlock the file descriptor list. */
6778 pthread_mutex_unlock (&loop->lock);
6779 (*fdlist[i].fnc) (fdlist[i].fnc_data, fdlist[i].fd);
6780 pthread_mutex_lock (&loop->lock);
6781 }
6782 }
6783 }
6784 pthread_mutex_unlock (&loop->lock);
6785 return any;
6786 }
6787
6788 void
6789 wait_for_op (struct event_loop *loop, struct op_result *result)
6790 {
6791 int ret;
6792
6793 do
6794 {
6795 ret = do_select (loop);
6796 }
6797 while (ret >= 0 && !result->done);
6798 }
6799
6800 The main function shows how to put it all together.
6801
6802 int
6803 main (int argc, char *argv[])
6804 {
6805 struct event_loop loop;
6806 struct op_result result;
6807 gpgme_ctx_t ctx;
6808 gpgme_error_t err;
6809 gpgme_data_t sig, text;
6810 int i;
6811 pthread_mutexattr_t attr;
6812 struct gpgme_io_cbs io_cbs =
6813 {
6814 add_io_cb,
6815 &loop,
6816 remove_io_cb,
6817 event_io_cb,
6818 &result
6819 };
6820
6821 init_gpgme ();
6822
6823 /* Initialize the loop structure. */
6824
6825 /* The mutex must be recursive, since remove_io_cb (which acquires a
6826 lock) can be called while holding a lock acquired in do_select. */
6827 pthread_mutexattr_init (&attr);
6828 pthread_mutexattr_settype (&attr, PTHREAD_MUTEX_RECURSIVE);
6829 pthread_mutex_init (&loop.lock, &attr);
6830 pthread_mutexattr_destroy (&attr);
6831
6832 for (i = 0; i < MAX_FDS; i++)
6833 loop.fds[i].fd = -1;
6834
6835 /* Initialize the result structure. */
6836 result.done = 0;
6837
6838 err = gpgme_data_new_from_file (&sig, "signature", 1);
6839 if (!err)
6840 err = gpgme_data_new_from_file (&text, "text", 1);
6841 if (!err)
6842 err = gpgme_new (&ctx);
6843 if (!err)
6844 {
6845 gpgme_set_io_cbs (ctx, &io_cbs);
6846 err = gpgme_op_verify_start (ctx, sig, text, NULL);
6847 }
6848 if (err)
6849 {
6850 fprintf (stderr, "gpgme error: %s: %s\n",
6851 gpgme_strsource (err), gpgme_strerror (err));
6852 exit (1);
6853 }
6854
6855 wait_for_op (&loop, &result);
6856 if (!result.done)
6857 {
6858 fprintf (stderr, "select error\n");
6859 exit (1);
6860 }
6861 if (!result.err)
6862 {
6863 fprintf (stderr, "verification failed: %s: %s\n",
6864 gpgme_strsource (result.err), gpgme_strerror (result.err));
6865 exit (1);
6866 }
6867 /* Evaluate verify result. */
6868 ...
6869 return 0;
6870 }
6871
6872 
6873 File: gpgme.info, Node: I/O Callback Example GTK+, Next: I/O Callback Example GDK, Prev: I/O Callback Example, Up: Using External Event Loops
6874
6875 7.8.2.4 I/O Callback Example GTK+
6876 .................................
6877
6878 The I/O callback interface can be used to integrate GPGME with the GTK+
6879 event loop. The following code snippets shows how this can be done
6880 using the appropriate register and remove I/O callback functions. In
6881 this example, the private data of the register I/O callback function is
6882 unused. The event notifications is missing because it does not require
6883 any GTK+ specific setup.
6884
6885 #include <gtk/gtk.h>
6886
6887 struct my_gpgme_io_cb
6888 {
6889 gpgme_io_cb_t fnc;
6890 void *fnc_data;
6891 guint input_handler_id
6892 };
6893
6894 void
6895 my_gpgme_io_cb (gpointer data, gint source, GdkInputCondition condition)
6896 {
6897 struct my_gpgme_io_cb *iocb = data;
6898 (*(iocb->fnc)) (iocb->data, source);
6899 }
6900
6901 void
6902 my_gpgme_remove_io_cb (void *data)
6903 {
6904 struct my_gpgme_io_cb *iocb = data;
6905 gtk_input_remove (data->input_handler_id);
6906 }
6907
6908 void
6909 my_gpgme_register_io_callback (void *data, int fd, int dir, gpgme_io_cb_t fnc,
6910 void *fnc_data, void **tag)
6911 {
6912 struct my_gpgme_io_cb *iocb = g_malloc (sizeof (struct my_gpgme_io_cb));
6913 iocb->fnc = fnc;
6914 iocb->data = fnc_data;
6915 iocb->input_handler_id = gtk_input_add_full (fd, dir
6916 ? GDK_INPUT_READ
6917 : GDK_INPUT_WRITE,
6918 my_gpgme_io_callback,
6919 0, iocb, NULL);
6920 *tag = iocb;
6921 return 0;
6922 }
6923
6924 
6925 File: gpgme.info, Node: I/O Callback Example GDK, Next: I/O Callback Example Qt, Prev: I/O Callback Example GTK+, Up: Using External Event Loops
6926
6927 7.8.2.5 I/O Callback Example GDK
6928 ................................
6929
6930 The I/O callback interface can also be used to integrate GPGME with the
6931 GDK event loop. The following code snippets shows how this can be done
6932 using the appropriate register and remove I/O callback functions. In
6933 this example, the private data of the register I/O callback function is
6934 unused. The event notifications is missing because it does not require
6935 any GDK specific setup.
6936
6937 It is very similar to the GTK+ example in the previous section.
6938
6939 #include <gdk/gdk.h>
6940
6941 struct my_gpgme_io_cb
6942 {
6943 gpgme_io_cb_t fnc;
6944 void *fnc_data;
6945 gint tag;
6946 };
6947
6948 void
6949 my_gpgme_io_cb (gpointer data, gint source, GdkInputCondition condition)
6950 {
6951 struct my_gpgme_io_cb *iocb = data;
6952 (*(iocb->fnc)) (iocb->data, source);
6953 }
6954
6955 void
6956 my_gpgme_remove_io_cb (void *data)
6957 {
6958 struct my_gpgme_io_cb *iocb = data;
6959 gdk_input_remove (data->tag);
6960 }
6961
6962 void
6963 my_gpgme_register_io_callback (void *data, int fd, int dir, gpgme_io_cb_t fnc,
6964 void *fnc_data, void **tag)
6965 {
6966 struct my_gpgme_io_cb *iocb = g_malloc (sizeof (struct my_gpgme_io_cb));
6967 iocb->fnc = fnc;
6968 iocb->data = fnc_data;
6969 iocb->tag = gtk_input_add_full (fd, dir ? GDK_INPUT_READ : GDK_INPUT_WRITE,
6970 my_gpgme_io_callback, iocb, NULL);
6971 *tag = iocb;
6972 return 0;
6973 }
6974
6975 
6976 File: gpgme.info, Node: I/O Callback Example Qt, Prev: I/O Callback Example GDK, Up: Using External Event Loops
6977
6978 7.8.2.6 I/O Callback Example Qt
6979 ...............................
6980
6981 The I/O callback interface can also be used to integrate GPGME with the
6982 Qt event loop. The following code snippets show how this can be done
6983 using the appropriate register and remove I/O callback functions. In
6984 this example, the private data of the register I/O callback function is
6985 unused. The event notifications is missing because it does not require
6986 any Qt specific setup.
6987
6988 #include <qsocketnotifier.h>
6989 #include <qapplication.h>
6990
6991 struct IOCB {
6992 IOCB( GpgmeIOCb f, void * d, QSocketNotifier * n )
6993 : func( f ), data( d ), notifier( n ) {}
6994 GpgmeIOCb func;
6995 void * data;
6996 QSocketNotifier * notifier;
6997 }
6998
6999 class MyApp : public QApplication {
7000
7001 // ...
7002
7003 static void registerGpgmeIOCallback( void * data, int fd, int dir,
7004 GpgmeIOCb func, void * func_data,
7005 void ** tag ) {
7006 QSocketNotifier * n =
7007 new QSocketNotifier( fd, dir ? QSocketNotifier::Read
7008 : QSocketNotifier::Write );
7009 connect( n, SIGNAL(activated(int)),
7010 qApp, SLOT(slotGpgmeIOCallback(int)) );
7011 qApp->mIOCBs.push_back( IOCB( func, func_data, n ) );
7012 *tag = (void*)n;
7013 }
7014
7015 static void removeGpgmeIOCallback( void * tag ) {
7016 if ( !tag ) return;
7017 QSocketNotifier * n = static_cast<QSocketNotifier*>( tag );
7018 for ( QValueList<IOCB>::iterator it = qApp->mIOCBs.begin() ;
7019 it != qApp->mIOCBs.end() ; ++it )
7020 if ( it->notifier == n ) {
7021 delete it->notifier;
7022 qApp->mIOCBs.erase( it );
7023 return;
7024 }
7025 }
7026
7027 public slots:
7028 void slotGpgmeIOCallback( int fd ) {
7029 for ( QValueList<IOCB>::const_iterator it = mIOCBs.begin() ;
7030 it != mIOCBs.end() ; ++it )
7031 if ( it->notifier && it->notifier->socket() == fd )
7032 (*(it->func)) ( it->func_data, fd );
7033 }
7034
7035 // ...
7036
7037 private:
7038 QValueList<IOCB> mIOCBs;
7039 // ...
7040 };
7041
7042 
7043 File: gpgme.info, Node: Cancellation, Prev: Using External Event Loops, Up: Run Control
7044
7045 7.8.3 Cancellation
7046 ------------------
7047
7048 Sometimes you do not want to wait for an operation to finish. GPGME
7049 provides two different functions to achieve that. The function
7050 ‘gpgme_cancel’ takes effect immediately. When it returns, the operation
7051 is effectively canceled. However, it has some limitations and can not
7052 be used with synchronous operations. In contrast, the function
7053 ‘gpgme_cancel_async’ can be used with any context and from any thread,
7054 but it is not guaranteed to take effect immediately. Instead,
7055 cancellation occurs at the next possible time (typically the next time
7056 I/O occurs in the target context).
7057
7058 -- Function: gpgme_ctx_t gpgme_cancel (gpgme_ctx_t CTX)
7059 SINCE: 0.4.5
7060
7061 The function ‘gpgme_cancel’ attempts to cancel a pending operation
7062 in the context CTX. This only works if you use the global event
7063 loop or your own event loop.
7064
7065 If you use the global event loop, you must not call ‘gpgme_wait’
7066 during cancellation. After successful cancellation, you can call
7067 ‘gpgme_wait’ (optionally waiting on CTX), and the context CTX will
7068 appear as if it had finished with the error code ‘GPG_ERR_CANCEL’.
7069
7070 If you use an external event loop, you must ensure that no I/O
7071 callbacks are invoked for this context (for example by halting the
7072 event loop). On successful cancellation, all registered I/O
7073 callbacks for this context will be unregistered, and a
7074 ‘GPGME_EVENT_DONE’ event with the error code ‘GPG_ERR_CANCEL’ will
7075 be signalled.
7076
7077 The function returns an error code if the cancellation failed (in
7078 this case the state of CTX is not modified).
7079
7080 -- Function: gpgme_ctx_t gpgme_cancel_async (gpgme_ctx_t CTX)
7081 SINCE: 1.1.7
7082
7083 The function ‘gpgme_cancel_async’ attempts to cancel a pending
7084 operation in the context CTX. This can be called by any thread at
7085 any time after starting an operation on the context, but will not
7086 take effect immediately. The actual cancellation happens at the
7087 next time GPGME processes I/O in that context.
7088
7089 The function returns an error code if the cancellation failed (in
7090 this case the state of CTX is not modified).
7091
7092 
7093 File: gpgme.info, Node: UI Server Protocol, Next: Debugging, Prev: Contexts, Up: Top
7094
7095 Appendix A The GnuPG UI Server Protocol
7096 ***************************************
7097
7098 This section specifies the protocol used between clients and a User
7099 Interface Server (UI server). This protocol helps to build a system
7100 where all cryptographic operations are done by a server and the server
7101 is responsible for all dialogs. Although GPGME has no direct support
7102 for this protocol it is believed that servers will utilize the GPGME
7103 library; thus having the specification included in this manual is an
7104 appropriate choice. This protocol should be referenced as ‘The GnuPG UI
7105 Server Protocol’.
7106
7107 A server needs to implement these commands:(1)
7108
7109 * Menu:
7110
7111 * UI Server Encrypt:: Encrypt a message.
7112 * UI Server Sign:: Sign a message.
7113 * UI Server Decrypt:: Decrypt a message.
7114 * UI Server Verify:: Verify a message.
7115 * UI Server Set Input Files:: Specifying the input files to operate on.
7116 * UI Server Sign/Encrypt Files:: Encrypting and signing files.
7117 * UI Server Verify/Decrypt Files:: Decrypting and verifying files.
7118 * UI Server Import/Export Keys:: Managing certificates.
7119 * UI Server Checksum Files:: Create and verify checksums for files.
7120 * Miscellaneous UI Server Commands:: Commands not related to a specific operation.
7121
7122 ---------- Footnotes ----------
7123
7124 (1) In all examples we assume that the connection has already been
7125 established; see the Assuan manual for details.
7126
7127 
7128 File: gpgme.info, Node: UI Server Encrypt, Next: UI Server Sign, Up: UI Server Protocol
7129
7130 A.1 UI Server: Encrypt a Message
7131 ================================
7132
7133 Before encryption can be done the recipients must be set using the
7134 command:
7135
7136 -- Command: RECIPIENT STRING
7137
7138 Set the recipient for the encryption. STRING is an RFC-2822
7139 recipient name ("mailbox" as per section 3.4). This command may or
7140 may not check the recipient for validity right away; if it does not
7141 all recipients are expected to be checked at the time of the
7142 ‘ENCRYPT’ command. All ‘RECIPIENT’ commands are cumulative until a
7143 successful ‘ENCRYPT’ command or until a ‘RESET’ command. Linefeeds
7144 are obviously not allowed in STRING and should be folded into
7145 spaces (which are equivalent).
7146
7147 To tell the server the source and destination of the data, the next two
7148 commands are to be used:
7149
7150 -- Command: INPUT FD=N
7151 Set the file descriptor for the message to be encrypted to N. The
7152 message send to the server is binary encoded.
7153
7154 GpgOL is a Windows only program, thus N is not a libc file
7155 descriptor but a regular system handle. Given that the Assuan
7156 connection works over a socket, it is not possible to use regular
7157 inheritance to make the file descriptor available to the server.
7158 Thus ‘DuplicateHandle’ needs to be used to duplicate a handle to
7159 the server process. This is the reason that the server needs to
7160 implement the ‘GETINFO pid’ command. Sending this command a second
7161 time replaces the file descriptor set by the last one.
7162
7163 -- Command: OUTPUT FD=N [--binary]
7164 Set the file descriptor to be used for the output (i.e. the
7165 encrypted message) to N. If the option ‘--binary’ is given the
7166 output shall be in binary format; if not given, the output for
7167 OpenPGP needs to be ASCII armored and for CMS Base-64 encoded. For
7168 details on the file descriptor, see the ‘INPUT’ command.
7169
7170 The setting of the recipients, the data source and destination may
7171 happen in any order, even intermixed. If this has been done the actual
7172 encryption operation is called using:
7173
7174 -- Command: ENCRYPT --protocol=NAME
7175
7176 This command reads the plaintext from the file descriptor set by
7177 the ‘INPUT’ command, encrypts it and writes the ciphertext to the
7178 file descriptor set by the ‘OUTPUT’ command. The server may (and
7179 should) overlap reading and writing. The recipients used for the
7180 encryption are all the recipients set so far. If any recipient is
7181 not usable the server should take appropriate measures to notify
7182 the user about the problem and may cancel the operation by
7183 returning an error code. The used file descriptors are void after
7184 this command; the recipient list is only cleared if the server
7185 returns success.
7186
7187 Because GpgOL uses a streaming mode of operation the server is not
7188 allowed to auto select the protocol and must obey to the mandatory
7189 PROTOCOL parameter:
7190
7191 ‘OpenPGP’
7192 Use the OpenPGP protocol (RFC-2440).
7193 ‘CMS’
7194 Use the CMS (PKCS#7) protocol (RFC-3852).
7195
7196 To support automagically selection of the protocol depending on the
7197 selected keys, the server MAY implement the command:
7198
7199 -- Command: PREP_ENCRYPT [--protocol=NAME] [--expect-sign]
7200
7201 This commands considers all recipients set so far and decides
7202 whether it is able to take input and start the actual encryption.
7203 This is kind of a dry-run ‘ENCRYPT’ without requiring or using the
7204 input and output file descriptors. The server shall cache the
7205 result of any user selection to avoid asking this again when the
7206 actual ‘ENCRYPT’ command is send. The ‘--protocol’ option is
7207 optional; if it is not given, the server should allow the user to
7208 select the protocol to be used based on the recipients given or by
7209 any other means.
7210
7211 If ‘--expect-sign’ is given the server should expect that the
7212 message will also be signed and use this hint to present a unified
7213 recipient and signer selection dialog if possible and desired. A
7214 selected signer should then be cached for the expected SIGN command
7215 (which is expected in the same session but possible on another
7216 connection).
7217
7218 If this command is given again before a successful ‘ENCRYPT’
7219 command, the second one takes effect.
7220
7221 Before sending the OK response the server shall tell the client the
7222 protocol to be used (either the one given by the argument or the
7223 one selected by the user) by means of a status line:
7224
7225 -- Status line: PROTOCOL NAME
7226 Advise the client to use the protocol NAME for the ‘ENCRYPT’
7227 command. The valid protocol names are listed under the description
7228 of the ‘ENCRYPT’ command. The server shall emit exactly one
7229 PROTOCOL status line.
7230
7231 Here is an example of a complete encryption sequence; client lines are
7232 indicated by a C:, server responses by C::
7233
7234 C: RESET
7235 S: OK
7236 C: RECIPIENT foo@example.net
7237 S: OK
7238 C: RECIPIENT bar@example.com
7239 S: OK
7240 C: PREP_ENCRYPT
7241 S: S PROTOCOL OpenPGP
7242 S: OK
7243 C: INPUT FD=17
7244 S: OK
7245 C: OUTPUT FD=18
7246 S: OK
7247 C: ENCRYPT
7248 S: OK
7249
7250 
7251 File: gpgme.info, Node: UI Server Sign, Next: UI Server Decrypt, Prev: UI Server Encrypt, Up: UI Server Protocol
7252
7253 A.2 UI Server: Sign a Message
7254 =============================
7255
7256 The server needs to implement opaque signing as well as detached
7257 signing. Due to the nature of OpenPGP messages it is always required to
7258 send the entire message to the server; sending just the hash is not
7259 possible. The following two commands are required to set the input and
7260 output file descriptors:
7261
7262 -- Command: INPUT FD=N
7263 Set the file descriptor for the message to be signed to N. The
7264 message send to the server is binary encoded. For details on the
7265 file descriptor, see the description of ‘INPUT’ in the ‘ENCRYPT’
7266 section.
7267
7268 -- Command: OUTPUT FD=N [--binary]
7269 Set the file descriptor to be used for the output. The output is
7270 either the complete signed message or in case of a detached
7271 signature just that detached signature. If the option ‘--binary’
7272 is given the output shall be in binary format; if not given, the
7273 output for OpenPGP needs to be ASCII armored and for CMS Base-64
7274 encoded. For details on the file descriptor, see the ‘INPUT’
7275 command.
7276
7277 To allow the server the selection of a non-default signing key the
7278 client may optionally use the ‘SENDER’ command, see *note command
7279 SENDER::.
7280
7281 The signing operation is then initiated by:
7282
7283 -- Command: SIGN --protocol=NAME [--detached]
7284 Sign the data set with the ‘INPUT’ command and write it to the sink
7285 set by OUTPUT. NAME is the signing protocol used for the message.
7286 For a description of the allowed protocols see the ‘ENCRYPT’
7287 command. With option ‘--detached’ given, a detached signature is
7288 created; this is actually the usual way the command is used.
7289
7290 The client expects the server to send at least this status information
7291 before the final OK response:
7292
7293 -- Status line: MICALG STRING
7294 The STRING represents the hash algorithm used to create the
7295 signature. It is used with RFC-1847 style signature messages and
7296 defined by PGP/MIME (RFC-3156) and S/MIME (RFC-3851). The GPGME
7297 library has a supporting function ‘gpgme_hash_algo_name’ to return
7298 the algorithm name as a string. This string needs to be lowercased
7299 and for OpenPGP prefixed with "‘pgp-’".
7300
Binary diff not shown
00 # This is a template. The dist target uses it to create the real file.
11 Summary: GPGME - GnuPG Made Easy
22 Name: gpgme
3 Version: 1.16.0
3 Version: 1.16.1-unknown
44 Release: 1
55 URL: https://gnupg.org/gpgme.html
66 Source: https://www.gnupg.org/ftp/gcrypt/gpgme/%{name}-%{version}.tar.gz
0 # Makefile.in generated by automake 1.16.4 from Makefile.am.
1 # @configure_input@
2
3 # Copyright (C) 1994-2021 Free Software Foundation, Inc.
4
5 # This Makefile.in is free software; the Free Software Foundation
6 # gives unlimited permission to copy and/or distribute it,
7 # with or without modifications, as long as this notice is preserved.
8
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
11 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
12 # PARTICULAR PURPOSE.
13
14 @SET_MAKE@
15
16 # Makefile.am for gpgme/lang.
17 # Copyright (C) 2003, 2006 g10 Code GmbH
18 #
19 # This file is part of GPGME.
20 #
21 # GPGME is free software; you can redistribute it and/or modify it
22 # under the terms of the GNU Lesser General Public License as
23 # published by the Free Software Foundation; either version 2.1 of the
24 # License, or (at your option) any later version.
25 #
26 # GPGME is distributed in the hope that it will be useful, but WITHOUT
27 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
28 # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General
29 # Public License for more details.
30 #
31 # You should have received a copy of the GNU Lesser General Public
32 # License along with this program; if not, see <https://gnu.org/licenses/>.
33 # SPDX-License-Identifier: LGPL-2.1-or-later
34 VPATH = @srcdir@
35 am__is_gnu_make = { \
36 if test -z '$(MAKELEVEL)'; then \
37 false; \
38 elif test -n '$(MAKE_HOST)'; then \
39 true; \
40 elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
41 true; \
42 else \
43 false; \
44 fi; \
45 }
46 am__make_running_with_option = \
47 case $${target_option-} in \
48 ?) ;; \
49 *) echo "am__make_running_with_option: internal error: invalid" \
50 "target option '$${target_option-}' specified" >&2; \
51 exit 1;; \
52 esac; \
53 has_opt=no; \
54 sane_makeflags=$$MAKEFLAGS; \
55 if $(am__is_gnu_make); then \
56 sane_makeflags=$$MFLAGS; \
57 else \
58 case $$MAKEFLAGS in \
59 *\\[\ \ ]*) \
60 bs=\\; \
61 sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
62 | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
63 esac; \
64 fi; \
65 skip_next=no; \
66 strip_trailopt () \
67 { \
68 flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
69 }; \
70 for flg in $$sane_makeflags; do \
71 test $$skip_next = yes && { skip_next=no; continue; }; \
72 case $$flg in \
73 *=*|--*) continue;; \
74 -*I) strip_trailopt 'I'; skip_next=yes;; \
75 -*I?*) strip_trailopt 'I';; \
76 -*O) strip_trailopt 'O'; skip_next=yes;; \
77 -*O?*) strip_trailopt 'O';; \
78 -*l) strip_trailopt 'l'; skip_next=yes;; \
79 -*l?*) strip_trailopt 'l';; \
80 -[dEDm]) skip_next=yes;; \
81 -[JT]) skip_next=yes;; \
82 esac; \
83 case $$flg in \
84 *$$target_option*) has_opt=yes; break;; \
85 esac; \
86 done; \
87 test $$has_opt = yes
88 am__make_dryrun = (target_option=n; $(am__make_running_with_option))
89 am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
90 pkgdatadir = $(datadir)/@PACKAGE@
91 pkgincludedir = $(includedir)/@PACKAGE@
92 pkglibdir = $(libdir)/@PACKAGE@
93 pkglibexecdir = $(libexecdir)/@PACKAGE@
94 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
95 install_sh_DATA = $(install_sh) -c -m 644
96 install_sh_PROGRAM = $(install_sh) -c
97 install_sh_SCRIPT = $(install_sh) -c
98 INSTALL_HEADER = $(INSTALL_DATA)
99 transform = $(program_transform_name)
100 NORMAL_INSTALL = :
101 PRE_INSTALL = :
102 POST_INSTALL = :
103 NORMAL_UNINSTALL = :
104 PRE_UNINSTALL = :
105 POST_UNINSTALL = :
106 build_triplet = @build@
107 host_triplet = @host@
108 subdir = lang
109 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
110 am__aclocal_m4_deps = $(top_srcdir)/m4/ax_cxx_compile_stdcxx.m4 \
111 $(top_srcdir)/m4/ax_pkg_swig.m4 \
112 $(top_srcdir)/m4/ax_python_devel.m4 \
113 $(top_srcdir)/m4/glib-2.0.m4 $(top_srcdir)/m4/glibc21.m4 \
114 $(top_srcdir)/m4/gnupg-ttyname.m4 \
115 $(top_srcdir)/m4/gpg-error.m4 $(top_srcdir)/m4/libassuan.m4 \
116 $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
117 $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
118 $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/pkg.m4 \
119 $(top_srcdir)/m4/python.m4 $(top_srcdir)/m4/qt.m4 \
120 $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
121 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
122 $(ACLOCAL_M4)
123 DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
124 mkinstalldirs = $(SHELL) $(top_srcdir)/build-aux/mkinstalldirs
125 CONFIG_HEADER = $(top_builddir)/conf/config.h
126 CONFIG_CLEAN_FILES =
127 CONFIG_CLEAN_VPATH_FILES =
128 AM_V_P = $(am__v_P_@AM_V@)
129 am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
130 am__v_P_0 = false
131 am__v_P_1 = :
132 AM_V_GEN = $(am__v_GEN_@AM_V@)
133 am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
134 am__v_GEN_0 = @echo " GEN " $@;
135 am__v_GEN_1 =
136 AM_V_at = $(am__v_at_@AM_V@)
137 am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
138 am__v_at_0 = @
139 am__v_at_1 =
140 SOURCES =
141 DIST_SOURCES =
142 RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
143 ctags-recursive dvi-recursive html-recursive info-recursive \
144 install-data-recursive install-dvi-recursive \
145 install-exec-recursive install-html-recursive \
146 install-info-recursive install-pdf-recursive \
147 install-ps-recursive install-recursive installcheck-recursive \
148 installdirs-recursive pdf-recursive ps-recursive \
149 tags-recursive uninstall-recursive
150 am__can_run_installinfo = \
151 case $$AM_UPDATE_INFO_DIR in \
152 n|no|NO) false;; \
153 *) (install-info --version) >/dev/null 2>&1;; \
154 esac
155 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
156 distclean-recursive maintainer-clean-recursive
157 am__recursive_targets = \
158 $(RECURSIVE_TARGETS) \
159 $(RECURSIVE_CLEAN_TARGETS) \
160 $(am__extra_recursive_targets)
161 AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
162 distdir distdir-am
163 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
164 # Read a list of newline-separated strings from the standard input,
165 # and print each of them once, without duplicates. Input order is
166 # *not* preserved.
167 am__uniquify_input = $(AWK) '\
168 BEGIN { nonempty = 0; } \
169 { items[$$0] = 1; nonempty = 1; } \
170 END { if (nonempty) { for (i in items) print i; }; } \
171 '
172 # Make sure the list of sources is unique. This is necessary because,
173 # e.g., the same source file might be shared among _SOURCES variables
174 # for different programs/libraries.
175 am__define_uniq_tagged_files = \
176 list='$(am__tagged_files)'; \
177 unique=`for i in $$list; do \
178 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
179 done | $(am__uniquify_input)`
180 am__DIST_COMMON = $(srcdir)/Makefile.in \
181 $(top_srcdir)/build-aux/mkinstalldirs README
182 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
183 am__relativize = \
184 dir0=`pwd`; \
185 sed_first='s,^\([^/]*\)/.*$$,\1,'; \
186 sed_rest='s,^[^/]*/*,,'; \
187 sed_last='s,^.*/\([^/]*\)$$,\1,'; \
188 sed_butlast='s,/*[^/]*$$,,'; \
189 while test -n "$$dir1"; do \
190 first=`echo "$$dir1" | sed -e "$$sed_first"`; \
191 if test "$$first" != "."; then \
192 if test "$$first" = ".."; then \
193 dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
194 dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
195 else \
196 first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
197 if test "$$first2" = "$$first"; then \
198 dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
199 else \
200 dir2="../$$dir2"; \
201 fi; \
202 dir0="$$dir0"/"$$first"; \
203 fi; \
204 fi; \
205 dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
206 done; \
207 reldir="$$dir2"
208 ACLOCAL = @ACLOCAL@
209 AMTAR = @AMTAR@
210 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
211 AR = @AR@
212 AS = @AS@
213 AUTOCONF = @AUTOCONF@
214 AUTOHEADER = @AUTOHEADER@
215 AUTOMAKE = @AUTOMAKE@
216 AWK = @AWK@
217 BUILD_FILEVERSION = @BUILD_FILEVERSION@
218 BUILD_REVISION = @BUILD_REVISION@
219 BUILD_TIMESTAMP = @BUILD_TIMESTAMP@
220 BUILD_VERSION = @BUILD_VERSION@
221 CC = @CC@
222 CCDEPMODE = @CCDEPMODE@
223 CC_FOR_BUILD = @CC_FOR_BUILD@
224 CFLAGS = @CFLAGS@
225 CPP = @CPP@
226 CPPFLAGS = @CPPFLAGS@
227 CSCOPE = @CSCOPE@
228 CTAGS = @CTAGS@
229 CXX = @CXX@
230 CXXCPP = @CXXCPP@
231 CXXDEPMODE = @CXXDEPMODE@
232 CXXFLAGS = @CXXFLAGS@
233 CYGPATH_W = @CYGPATH_W@
234 DEFS = @DEFS@
235 DEPDIR = @DEPDIR@
236 DLLTOOL = @DLLTOOL@
237 DOXYGEN = @DOXYGEN@
238 DSYMUTIL = @DSYMUTIL@
239 DUMPBIN = @DUMPBIN@
240 ECHO_C = @ECHO_C@
241 ECHO_N = @ECHO_N@
242 ECHO_T = @ECHO_T@
243 EGREP = @EGREP@
244 ENABLED_LANGUAGES = @ENABLED_LANGUAGES@
245 ETAGS = @ETAGS@
246 EXEEXT = @EXEEXT@
247 FGREP = @FGREP@
248 GITLOG_TO_CHANGELOG = @GITLOG_TO_CHANGELOG@
249 GLIBC21 = @GLIBC21@
250 GLIB_CFLAGS = @GLIB_CFLAGS@
251 GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
252 GLIB_LIBS = @GLIB_LIBS@
253 GLIB_MKENUMS = @GLIB_MKENUMS@
254 GOBJECT_QUERY = @GOBJECT_QUERY@
255 GPGME_CONFIG_API_VERSION = @GPGME_CONFIG_API_VERSION@
256 GPGME_CONFIG_AVAIL_LANG = @GPGME_CONFIG_AVAIL_LANG@
257 GPGME_CONFIG_CFLAGS = @GPGME_CONFIG_CFLAGS@
258 GPGME_CONFIG_HOST = @GPGME_CONFIG_HOST@
259 GPGME_CONFIG_LIBS = @GPGME_CONFIG_LIBS@
260 GPGME_QTTEST_CFLAGS = @GPGME_QTTEST_CFLAGS@
261 GPGME_QTTEST_LIBS = @GPGME_QTTEST_LIBS@
262 GPGME_QT_CFLAGS = @GPGME_QT_CFLAGS@
263 GPGME_QT_LIBS = @GPGME_QT_LIBS@
264 GPGRT_CONFIG = @GPGRT_CONFIG@
265 GPG_ERROR_CFLAGS = @GPG_ERROR_CFLAGS@
266 GPG_ERROR_CONFIG = @GPG_ERROR_CONFIG@
267 GPG_ERROR_LIBS = @GPG_ERROR_LIBS@
268 GPG_ERROR_MT_CFLAGS = @GPG_ERROR_MT_CFLAGS@
269 GPG_ERROR_MT_LIBS = @GPG_ERROR_MT_LIBS@
270 GRAPHVIZ = @GRAPHVIZ@
271 GREP = @GREP@
272 HAVE_CXX11 = @HAVE_CXX11@
273 HAVE_DOT = @HAVE_DOT@
274 INSTALL = @INSTALL@
275 INSTALL_DATA = @INSTALL_DATA@
276 INSTALL_PROGRAM = @INSTALL_PROGRAM@
277 INSTALL_SCRIPT = @INSTALL_SCRIPT@
278 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
279 LD = @LD@
280 LDADD_FOR_TESTS_KLUDGE = @LDADD_FOR_TESTS_KLUDGE@
281 LDFLAGS = @LDFLAGS@
282 LIBASSUAN_CFLAGS = @LIBASSUAN_CFLAGS@
283 LIBASSUAN_CONFIG = @LIBASSUAN_CONFIG@
284 LIBASSUAN_LIBS = @LIBASSUAN_LIBS@
285 LIBGPGMEPP_LT_AGE = @LIBGPGMEPP_LT_AGE@
286 LIBGPGMEPP_LT_CURRENT = @LIBGPGMEPP_LT_CURRENT@
287 LIBGPGMEPP_LT_REVISION = @LIBGPGMEPP_LT_REVISION@
288 LIBGPGME_LT_AGE = @LIBGPGME_LT_AGE@
289 LIBGPGME_LT_CURRENT = @LIBGPGME_LT_CURRENT@
290 LIBGPGME_LT_REVISION = @LIBGPGME_LT_REVISION@
291 LIBOBJS = @LIBOBJS@
292 LIBQGPGME_LT_AGE = @LIBQGPGME_LT_AGE@
293 LIBQGPGME_LT_CURRENT = @LIBQGPGME_LT_CURRENT@
294 LIBQGPGME_LT_REVISION = @LIBQGPGME_LT_REVISION@
295 LIBS = @LIBS@
296 LIBTOOL = @LIBTOOL@
297 LIPO = @LIPO@
298 LN_S = @LN_S@
299 LTLIBOBJS = @LTLIBOBJS@
300 MAINT = @MAINT@
301 MAKEINFO = @MAKEINFO@
302 MANIFEST_TOOL = @MANIFEST_TOOL@
303 MKDIR_P = @MKDIR_P@
304 MOC = @MOC@
305 MOC2 = @MOC2@
306 NEED__FILE_OFFSET_BITS = @NEED__FILE_OFFSET_BITS@
307 NM = @NM@
308 NMEDIT = @NMEDIT@
309 OBJDUMP = @OBJDUMP@
310 OBJEXT = @OBJEXT@
311 OTOOL = @OTOOL@
312 OTOOL64 = @OTOOL64@
313 PACKAGE = @PACKAGE@
314 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
315 PACKAGE_NAME = @PACKAGE_NAME@
316 PACKAGE_STRING = @PACKAGE_STRING@
317 PACKAGE_TARNAME = @PACKAGE_TARNAME@
318 PACKAGE_URL = @PACKAGE_URL@
319 PACKAGE_VERSION = @PACKAGE_VERSION@
320 PATH_SEPARATOR = @PATH_SEPARATOR@
321 PKG_CONFIG = @PKG_CONFIG@
322 PYTHON = @PYTHON@
323 PYTHONS = @PYTHONS@
324 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
325 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
326 PYTHON_EXTRA_LDFLAGS = @PYTHON_EXTRA_LDFLAGS@
327 PYTHON_EXTRA_LIBS = @PYTHON_EXTRA_LIBS@
328 PYTHON_LDFLAGS = @PYTHON_LDFLAGS@
329 PYTHON_PLATFORM = @PYTHON_PLATFORM@
330 PYTHON_PREFIX = @PYTHON_PREFIX@
331 PYTHON_SITE_PKG = @PYTHON_SITE_PKG@
332 PYTHON_VERSION = @PYTHON_VERSION@
333 QTCHOOSER = @QTCHOOSER@
334 RANLIB = @RANLIB@
335 RC = @RC@
336 SED = @SED@
337 SET_MAKE = @SET_MAKE@
338 SHELL = @SHELL@
339 STRIP = @STRIP@
340 SWIG = @SWIG@
341 SWIG_LIB = @SWIG_LIB@
342 SYSROOT = @SYSROOT@
343 VERSION = @VERSION@
344 VERSION_MAJOR = @VERSION_MAJOR@
345 VERSION_MICRO = @VERSION_MICRO@
346 VERSION_MINOR = @VERSION_MINOR@
347 VERSION_NUMBER = @VERSION_NUMBER@
348 abs_builddir = @abs_builddir@
349 abs_srcdir = @abs_srcdir@
350 abs_top_builddir = @abs_top_builddir@
351 abs_top_srcdir = @abs_top_srcdir@
352 ac_ct_AR = @ac_ct_AR@
353 ac_ct_CC = @ac_ct_CC@
354 ac_ct_CXX = @ac_ct_CXX@
355 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
356 am__include = @am__include@
357 am__leading_dot = @am__leading_dot@
358 am__quote = @am__quote@
359 am__tar = @am__tar@
360 am__untar = @am__untar@
361 bindir = @bindir@
362 build = @build@
363 build_alias = @build_alias@
364 build_cpu = @build_cpu@
365 build_os = @build_os@
366 build_vendor = @build_vendor@
367 builddir = @builddir@
368 datadir = @datadir@
369 datarootdir = @datarootdir@
370 docdir = @docdir@
371 dvidir = @dvidir@
372 emacs_local_vars_begin = @emacs_local_vars_begin@
373 emacs_local_vars_end = @emacs_local_vars_end@
374 emacs_local_vars_read_only = @emacs_local_vars_read_only@
375 exec_prefix = @exec_prefix@
376 host = @host@
377 host_alias = @host_alias@
378 host_cpu = @host_cpu@
379 host_os = @host_os@
380 host_vendor = @host_vendor@
381 htmldir = @htmldir@
382 includedir = @includedir@
383 infodir = @infodir@
384 install_sh = @install_sh@
385 libdir = @libdir@
386 libexecdir = @libexecdir@
387 localedir = @localedir@
388 localstatedir = @localstatedir@
389 mandir = @mandir@
390 mkdir_p = @mkdir_p@
391 oldincludedir = @oldincludedir@
392 pdfdir = @pdfdir@
393 pkgpyexecdir = @pkgpyexecdir@
394 pkgpythondir = @pkgpythondir@
395 prefix = @prefix@
396 program_transform_name = @program_transform_name@
397 psdir = @psdir@
398 pyexecdir = @pyexecdir@
399 pythondir = @pythondir@
400 runstatedir = @runstatedir@
401 sbindir = @sbindir@
402 sharedstatedir = @sharedstatedir@
403 srcdir = @srcdir@
404 sysconfdir = @sysconfdir@
405 target_alias = @target_alias@
406 top_build_prefix = @top_build_prefix@
407 top_builddir = @top_builddir@
408 top_srcdir = @top_srcdir@
409 SUBDIRS = $(ENABLED_LANGUAGES)
410 DIST_SUBDIRS = cl cpp qt python js
411 EXTRA_DIST = README
412 all: all-recursive
413
414 .SUFFIXES:
415 $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
416 @for dep in $?; do \
417 case '$(am__configure_deps)' in \
418 *$$dep*) \
419 ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
420 && { if test -f $@; then exit 0; else break; fi; }; \
421 exit 1;; \
422 esac; \
423 done; \
424 echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu lang/Makefile'; \
425 $(am__cd) $(top_srcdir) && \
426 $(AUTOMAKE) --gnu lang/Makefile
427 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
428 @case '$?' in \
429 *config.status*) \
430 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
431 *) \
432 echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
433 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
434 esac;
435
436 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
437 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
438
439 $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
440 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
441 $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
442 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
443 $(am__aclocal_m4_deps):
444
445 mostlyclean-libtool:
446 -rm -f *.lo
447
448 clean-libtool:
449 -rm -rf .libs _libs
450
451 # This directory's subdirectories are mostly independent; you can cd
452 # into them and run 'make' without going through this Makefile.
453 # To change the values of 'make' variables: instead of editing Makefiles,
454 # (1) if the variable is set in 'config.status', edit 'config.status'
455 # (which will cause the Makefiles to be regenerated when you run 'make');
456 # (2) otherwise, pass the desired values on the 'make' command line.
457 $(am__recursive_targets):
458 @fail=; \
459 if $(am__make_keepgoing); then \
460 failcom='fail=yes'; \
461 else \
462 failcom='exit 1'; \
463 fi; \
464 dot_seen=no; \
465 target=`echo $@ | sed s/-recursive//`; \
466 case "$@" in \
467 distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
468 *) list='$(SUBDIRS)' ;; \
469 esac; \
470 for subdir in $$list; do \
471 echo "Making $$target in $$subdir"; \
472 if test "$$subdir" = "."; then \
473 dot_seen=yes; \
474 local_target="$$target-am"; \
475 else \
476 local_target="$$target"; \
477 fi; \
478 ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
479 || eval $$failcom; \
480 done; \
481 if test "$$dot_seen" = "no"; then \
482 $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
483 fi; test -z "$$fail"
484
485 ID: $(am__tagged_files)
486 $(am__define_uniq_tagged_files); mkid -fID $$unique
487 tags: tags-recursive
488 TAGS: tags
489
490 tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
491 set x; \
492 here=`pwd`; \
493 if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
494 include_option=--etags-include; \
495 empty_fix=.; \
496 else \
497 include_option=--include; \
498 empty_fix=; \
499 fi; \
500 list='$(SUBDIRS)'; for subdir in $$list; do \
501 if test "$$subdir" = .; then :; else \
502 test ! -f $$subdir/TAGS || \
503 set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
504 fi; \
505 done; \
506 $(am__define_uniq_tagged_files); \
507 shift; \
508 if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
509 test -n "$$unique" || unique=$$empty_fix; \
510 if test $$# -gt 0; then \
511 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
512 "$$@" $$unique; \
513 else \
514 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
515 $$unique; \
516 fi; \
517 fi
518 ctags: ctags-recursive
519
520 CTAGS: ctags
521 ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
522 $(am__define_uniq_tagged_files); \
523 test -z "$(CTAGS_ARGS)$$unique" \
524 || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
525 $$unique
526
527 GTAGS:
528 here=`$(am__cd) $(top_builddir) && pwd` \
529 && $(am__cd) $(top_srcdir) \
530 && gtags -i $(GTAGS_ARGS) "$$here"
531 cscopelist: cscopelist-recursive
532
533 cscopelist-am: $(am__tagged_files)
534 list='$(am__tagged_files)'; \
535 case "$(srcdir)" in \
536 [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
537 *) sdir=$(subdir)/$(srcdir) ;; \
538 esac; \
539 for i in $$list; do \
540 if test -f "$$i"; then \
541 echo "$(subdir)/$$i"; \
542 else \
543 echo "$$sdir/$$i"; \
544 fi; \
545 done >> $(top_builddir)/cscope.files
546
547 distclean-tags:
548 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
549 distdir: $(BUILT_SOURCES)
550 $(MAKE) $(AM_MAKEFLAGS) distdir-am
551
552 distdir-am: $(DISTFILES)
553 @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
554 topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
555 list='$(DISTFILES)'; \
556 dist_files=`for file in $$list; do echo $$file; done | \
557 sed -e "s|^$$srcdirstrip/||;t" \
558 -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
559 case $$dist_files in \
560 */*) $(MKDIR_P) `echo "$$dist_files" | \
561 sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
562 sort -u` ;; \
563 esac; \
564 for file in $$dist_files; do \
565 if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
566 if test -d $$d/$$file; then \
567 dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
568 if test -d "$(distdir)/$$file"; then \
569 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
570 fi; \
571 if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
572 cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
573 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
574 fi; \
575 cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
576 else \
577 test -f "$(distdir)/$$file" \
578 || cp -p $$d/$$file "$(distdir)/$$file" \
579 || exit 1; \
580 fi; \
581 done
582 @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
583 if test "$$subdir" = .; then :; else \
584 $(am__make_dryrun) \
585 || test -d "$(distdir)/$$subdir" \
586 || $(MKDIR_P) "$(distdir)/$$subdir" \
587 || exit 1; \
588 dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
589 $(am__relativize); \
590 new_distdir=$$reldir; \
591 dir1=$$subdir; dir2="$(top_distdir)"; \
592 $(am__relativize); \
593 new_top_distdir=$$reldir; \
594 echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
595 echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
596 ($(am__cd) $$subdir && \
597 $(MAKE) $(AM_MAKEFLAGS) \
598 top_distdir="$$new_top_distdir" \
599 distdir="$$new_distdir" \
600 am__remove_distdir=: \
601 am__skip_length_check=: \
602 am__skip_mode_fix=: \
603 distdir) \
604 || exit 1; \
605 fi; \
606 done
607 check-am: all-am
608 check: check-recursive
609 all-am: Makefile
610 installdirs: installdirs-recursive
611 installdirs-am:
612 install: install-recursive
613 install-exec: install-exec-recursive
614 install-data: install-data-recursive
615 uninstall: uninstall-recursive
616
617 install-am: all-am
618 @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
619
620 installcheck: installcheck-recursive
621 install-strip:
622 if test -z '$(STRIP)'; then \
623 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
624 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
625 install; \
626 else \
627 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
628 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
629 "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
630 fi
631 mostlyclean-generic:
632
633 clean-generic:
634
635 distclean-generic:
636 -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
637 -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
638
639 maintainer-clean-generic:
640 @echo "This command is intended for maintainers to use"
641 @echo "it deletes files that may require special tools to rebuild."
642 clean: clean-recursive
643
644 clean-am: clean-generic clean-libtool mostlyclean-am
645
646 distclean: distclean-recursive
647 -rm -f Makefile
648 distclean-am: clean-am distclean-generic distclean-tags
649
650 dvi: dvi-recursive
651
652 dvi-am:
653
654 html: html-recursive
655
656 html-am:
657
658 info: info-recursive
659
660 info-am:
661
662 install-data-am:
663
664 install-dvi: install-dvi-recursive
665
666 install-dvi-am:
667
668 install-exec-am:
669
670 install-html: install-html-recursive
671
672 install-html-am:
673
674 install-info: install-info-recursive
675
676 install-info-am:
677
678 install-man:
679
680 install-pdf: install-pdf-recursive
681
682 install-pdf-am:
683
684 install-ps: install-ps-recursive
685
686 install-ps-am:
687
688 installcheck-am:
689
690 maintainer-clean: maintainer-clean-recursive
691 -rm -f Makefile
692 maintainer-clean-am: distclean-am maintainer-clean-generic
693
694 mostlyclean: mostlyclean-recursive
695
696 mostlyclean-am: mostlyclean-generic mostlyclean-libtool
697
698 pdf: pdf-recursive
699
700 pdf-am:
701
702 ps: ps-recursive
703
704 ps-am:
705
706 uninstall-am:
707
708 .MAKE: $(am__recursive_targets) install-am install-strip
709
710 .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
711 check-am clean clean-generic clean-libtool cscopelist-am ctags \
712 ctags-am distclean distclean-generic distclean-libtool \
713 distclean-tags distdir dvi dvi-am html html-am info info-am \
714 install install-am install-data install-data-am install-dvi \
715 install-dvi-am install-exec install-exec-am install-html \
716 install-html-am install-info install-info-am install-man \
717 install-pdf install-pdf-am install-ps install-ps-am \
718 install-strip installcheck installcheck-am installdirs \
719 installdirs-am maintainer-clean maintainer-clean-generic \
720 mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
721 ps ps-am tags tags-am uninstall uninstall-am
722
723 .PRECIOUS: Makefile
724
725
726 # Tell versions [3.59,3.63) of GNU make to not export all variables.
727 # Otherwise a system limit (for SysV at least) may be exceeded.
728 .NOEXPORT:
0 # Makefile.in generated by automake 1.16.4 from Makefile.am.
1 # @configure_input@
2
3 # Copyright (C) 1994-2021 Free Software Foundation, Inc.
4
5 # This Makefile.in is free software; the Free Software Foundation
6 # gives unlimited permission to copy and/or distribute it,
7 # with or without modifications, as long as this notice is preserved.
8
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
11 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
12 # PARTICULAR PURPOSE.
13
14 @SET_MAKE@
15
16 # Makefile.am for GPGME-CL.
17 # Copyright (C) 2003, 2006 g10 Code GmbH
18 #
19 # This file is part of GPGME-CL.
20 #
21 # GPGME-CL is free software; you can redistribute it and/or modify it
22 # under the terms of the GNU General Public License as published by
23 # the Free Software Foundation; either version 2 of the License, or
24 # (at your option) any later version.
25 #
26 # GPGME-CL is distributed in the hope that it will be useful,
27 # but WITHOUT ANY WARRANTY; without even the implied warranty of
28 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
29 # GNU Lesser General Public License for more details.
30 #
31 # You should have received a copy of the GNU Lesser General Public
32 # License along with this program; if not, see <https://gnu.org/licenses/>.
33 # SPDX-License-Identifier: LGPL-2.1-or-later
34
35 VPATH = @srcdir@
36 am__is_gnu_make = { \
37 if test -z '$(MAKELEVEL)'; then \
38 false; \
39 elif test -n '$(MAKE_HOST)'; then \
40 true; \
41 elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
42 true; \
43 else \
44 false; \
45 fi; \
46 }
47 am__make_running_with_option = \
48 case $${target_option-} in \
49 ?) ;; \
50 *) echo "am__make_running_with_option: internal error: invalid" \
51 "target option '$${target_option-}' specified" >&2; \
52 exit 1;; \
53 esac; \
54 has_opt=no; \
55 sane_makeflags=$$MAKEFLAGS; \
56 if $(am__is_gnu_make); then \
57 sane_makeflags=$$MFLAGS; \
58 else \
59 case $$MAKEFLAGS in \
60 *\\[\ \ ]*) \
61 bs=\\; \
62 sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
63 | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
64 esac; \
65 fi; \
66 skip_next=no; \
67 strip_trailopt () \
68 { \
69 flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
70 }; \
71 for flg in $$sane_makeflags; do \
72 test $$skip_next = yes && { skip_next=no; continue; }; \
73 case $$flg in \
74 *=*|--*) continue;; \
75 -*I) strip_trailopt 'I'; skip_next=yes;; \
76 -*I?*) strip_trailopt 'I';; \
77 -*O) strip_trailopt 'O'; skip_next=yes;; \
78 -*O?*) strip_trailopt 'O';; \
79 -*l) strip_trailopt 'l'; skip_next=yes;; \
80 -*l?*) strip_trailopt 'l';; \
81 -[dEDm]) skip_next=yes;; \
82 -[JT]) skip_next=yes;; \
83 esac; \
84 case $$flg in \
85 *$$target_option*) has_opt=yes; break;; \
86 esac; \
87 done; \
88 test $$has_opt = yes
89 am__make_dryrun = (target_option=n; $(am__make_running_with_option))
90 am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
91 pkgdatadir = $(datadir)/@PACKAGE@
92 pkgincludedir = $(includedir)/@PACKAGE@
93 pkglibdir = $(libdir)/@PACKAGE@
94 pkglibexecdir = $(libexecdir)/@PACKAGE@
95 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
96 install_sh_DATA = $(install_sh) -c -m 644
97 install_sh_PROGRAM = $(install_sh) -c
98 install_sh_SCRIPT = $(install_sh) -c
99 INSTALL_HEADER = $(INSTALL_DATA)
100 transform = $(program_transform_name)
101 NORMAL_INSTALL = :
102 PRE_INSTALL = :
103 POST_INSTALL = :
104 NORMAL_UNINSTALL = :
105 PRE_UNINSTALL = :
106 POST_UNINSTALL = :
107 build_triplet = @build@
108 host_triplet = @host@
109 subdir = lang/cl
110 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
111 am__aclocal_m4_deps = $(top_srcdir)/m4/ax_cxx_compile_stdcxx.m4 \
112 $(top_srcdir)/m4/ax_pkg_swig.m4 \
113 $(top_srcdir)/m4/ax_python_devel.m4 \
114 $(top_srcdir)/m4/glib-2.0.m4 $(top_srcdir)/m4/glibc21.m4 \
115 $(top_srcdir)/m4/gnupg-ttyname.m4 \
116 $(top_srcdir)/m4/gpg-error.m4 $(top_srcdir)/m4/libassuan.m4 \
117 $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
118 $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
119 $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/pkg.m4 \
120 $(top_srcdir)/m4/python.m4 $(top_srcdir)/m4/qt.m4 \
121 $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
122 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
123 $(ACLOCAL_M4)
124 DIST_COMMON = $(srcdir)/Makefile.am $(dist_clfiles_DATA) \
125 $(am__DIST_COMMON)
126 mkinstalldirs = $(SHELL) $(top_srcdir)/build-aux/mkinstalldirs
127 CONFIG_HEADER = $(top_builddir)/conf/config.h
128 CONFIG_CLEAN_FILES = gpgme.asd
129 CONFIG_CLEAN_VPATH_FILES =
130 AM_V_P = $(am__v_P_@AM_V@)
131 am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
132 am__v_P_0 = false
133 am__v_P_1 = :
134 AM_V_GEN = $(am__v_GEN_@AM_V@)
135 am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
136 am__v_GEN_0 = @echo " GEN " $@;
137 am__v_GEN_1 =
138 AM_V_at = $(am__v_at_@AM_V@)
139 am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
140 am__v_at_0 = @
141 am__v_at_1 =
142 SOURCES =
143 DIST_SOURCES =
144 am__can_run_installinfo = \
145 case $$AM_UPDATE_INFO_DIR in \
146 n|no|NO) false;; \
147 *) (install-info --version) >/dev/null 2>&1;; \
148 esac
149 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
150 am__vpath_adj = case $$p in \
151 $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
152 *) f=$$p;; \
153 esac;
154 am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
155 am__install_max = 40
156 am__nobase_strip_setup = \
157 srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
158 am__nobase_strip = \
159 for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
160 am__nobase_list = $(am__nobase_strip_setup); \
161 for p in $$list; do echo "$$p $$p"; done | \
162 sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
163 $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
164 if (++n[$$2] == $(am__install_max)) \
165 { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
166 END { for (dir in files) print dir, files[dir] }'
167 am__base_list = \
168 sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
169 sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
170 am__uninstall_files_from_dir = { \
171 test -z "$$files" \
172 || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
173 || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
174 $(am__cd) "$$dir" && rm -f $$files; }; \
175 }
176 am__installdirs = "$(DESTDIR)$(clfilesdir)"
177 DATA = $(dist_clfiles_DATA)
178 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
179 am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/gpgme.asd.in \
180 $(top_srcdir)/build-aux/mkinstalldirs README
181 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
182 ACLOCAL = @ACLOCAL@
183 AMTAR = @AMTAR@
184 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
185 AR = @AR@
186 AS = @AS@
187 AUTOCONF = @AUTOCONF@
188 AUTOHEADER = @AUTOHEADER@
189 AUTOMAKE = @AUTOMAKE@
190 AWK = @AWK@
191 BUILD_FILEVERSION = @BUILD_FILEVERSION@
192 BUILD_REVISION = @BUILD_REVISION@
193 BUILD_TIMESTAMP = @BUILD_TIMESTAMP@
194 BUILD_VERSION = @BUILD_VERSION@
195 CC = @CC@
196 CCDEPMODE = @CCDEPMODE@
197 CC_FOR_BUILD = @CC_FOR_BUILD@
198 CFLAGS = @CFLAGS@
199 CPP = @CPP@
200 CPPFLAGS = @CPPFLAGS@
201 CSCOPE = @CSCOPE@
202 CTAGS = @CTAGS@
203 CXX = @CXX@
204 CXXCPP = @CXXCPP@
205 CXXDEPMODE = @CXXDEPMODE@
206 CXXFLAGS = @CXXFLAGS@
207 CYGPATH_W = @CYGPATH_W@
208 DEFS = @DEFS@
209 DEPDIR = @DEPDIR@
210 DLLTOOL = @DLLTOOL@
211 DOXYGEN = @DOXYGEN@
212 DSYMUTIL = @DSYMUTIL@
213 DUMPBIN = @DUMPBIN@
214 ECHO_C = @ECHO_C@
215 ECHO_N = @ECHO_N@
216 ECHO_T = @ECHO_T@
217 EGREP = @EGREP@
218 ENABLED_LANGUAGES = @ENABLED_LANGUAGES@
219 ETAGS = @ETAGS@
220 EXEEXT = @EXEEXT@
221 FGREP = @FGREP@
222 GITLOG_TO_CHANGELOG = @GITLOG_TO_CHANGELOG@
223 GLIBC21 = @GLIBC21@
224 GLIB_CFLAGS = @GLIB_CFLAGS@
225 GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
226 GLIB_LIBS = @GLIB_LIBS@
227 GLIB_MKENUMS = @GLIB_MKENUMS@
228 GOBJECT_QUERY = @GOBJECT_QUERY@
229 GPGME_CONFIG_API_VERSION = @GPGME_CONFIG_API_VERSION@
230 GPGME_CONFIG_AVAIL_LANG = @GPGME_CONFIG_AVAIL_LANG@
231 GPGME_CONFIG_CFLAGS = @GPGME_CONFIG_CFLAGS@
232 GPGME_CONFIG_HOST = @GPGME_CONFIG_HOST@
233 GPGME_CONFIG_LIBS = @GPGME_CONFIG_LIBS@
234 GPGME_QTTEST_CFLAGS = @GPGME_QTTEST_CFLAGS@
235 GPGME_QTTEST_LIBS = @GPGME_QTTEST_LIBS@
236 GPGME_QT_CFLAGS = @GPGME_QT_CFLAGS@
237 GPGME_QT_LIBS = @GPGME_QT_LIBS@
238 GPGRT_CONFIG = @GPGRT_CONFIG@
239 GPG_ERROR_CFLAGS = @GPG_ERROR_CFLAGS@
240 GPG_ERROR_CONFIG = @GPG_ERROR_CONFIG@
241 GPG_ERROR_LIBS = @GPG_ERROR_LIBS@
242 GPG_ERROR_MT_CFLAGS = @GPG_ERROR_MT_CFLAGS@
243 GPG_ERROR_MT_LIBS = @GPG_ERROR_MT_LIBS@
244 GRAPHVIZ = @GRAPHVIZ@
245 GREP = @GREP@
246 HAVE_CXX11 = @HAVE_CXX11@
247 HAVE_DOT = @HAVE_DOT@
248 INSTALL = @INSTALL@
249 INSTALL_DATA = @INSTALL_DATA@
250 INSTALL_PROGRAM = @INSTALL_PROGRAM@
251 INSTALL_SCRIPT = @INSTALL_SCRIPT@
252 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
253 LD = @LD@
254 LDADD_FOR_TESTS_KLUDGE = @LDADD_FOR_TESTS_KLUDGE@
255 LDFLAGS = @LDFLAGS@
256 LIBASSUAN_CFLAGS = @LIBASSUAN_CFLAGS@
257 LIBASSUAN_CONFIG = @LIBASSUAN_CONFIG@
258 LIBASSUAN_LIBS = @LIBASSUAN_LIBS@
259 LIBGPGMEPP_LT_AGE = @LIBGPGMEPP_LT_AGE@
260 LIBGPGMEPP_LT_CURRENT = @LIBGPGMEPP_LT_CURRENT@
261 LIBGPGMEPP_LT_REVISION = @LIBGPGMEPP_LT_REVISION@
262 LIBGPGME_LT_AGE = @LIBGPGME_LT_AGE@
263 LIBGPGME_LT_CURRENT = @LIBGPGME_LT_CURRENT@
264 LIBGPGME_LT_REVISION = @LIBGPGME_LT_REVISION@
265 LIBOBJS = @LIBOBJS@
266 LIBQGPGME_LT_AGE = @LIBQGPGME_LT_AGE@
267 LIBQGPGME_LT_CURRENT = @LIBQGPGME_LT_CURRENT@
268 LIBQGPGME_LT_REVISION = @LIBQGPGME_LT_REVISION@
269 LIBS = @LIBS@
270 LIBTOOL = @LIBTOOL@
271 LIPO = @LIPO@
272 LN_S = @LN_S@
273 LTLIBOBJS = @LTLIBOBJS@
274 MAINT = @MAINT@
275 MAKEINFO = @MAKEINFO@
276 MANIFEST_TOOL = @MANIFEST_TOOL@
277 MKDIR_P = @MKDIR_P@
278 MOC = @MOC@
279 MOC2 = @MOC2@
280 NEED__FILE_OFFSET_BITS = @NEED__FILE_OFFSET_BITS@
281 NM = @NM@
282 NMEDIT = @NMEDIT@
283 OBJDUMP = @OBJDUMP@
284 OBJEXT = @OBJEXT@
285 OTOOL = @OTOOL@
286 OTOOL64 = @OTOOL64@
287 PACKAGE = @PACKAGE@
288 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
289 PACKAGE_NAME = @PACKAGE_NAME@
290 PACKAGE_STRING = @PACKAGE_STRING@
291 PACKAGE_TARNAME = @PACKAGE_TARNAME@
292 PACKAGE_URL = @PACKAGE_URL@
293 PACKAGE_VERSION = @PACKAGE_VERSION@
294 PATH_SEPARATOR = @PATH_SEPARATOR@
295 PKG_CONFIG = @PKG_CONFIG@
296 PYTHON = @PYTHON@
297 PYTHONS = @PYTHONS@
298 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
299 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
300 PYTHON_EXTRA_LDFLAGS = @PYTHON_EXTRA_LDFLAGS@
301 PYTHON_EXTRA_LIBS = @PYTHON_EXTRA_LIBS@
302 PYTHON_LDFLAGS = @PYTHON_LDFLAGS@
303 PYTHON_PLATFORM = @PYTHON_PLATFORM@
304 PYTHON_PREFIX = @PYTHON_PREFIX@
305 PYTHON_SITE_PKG = @PYTHON_SITE_PKG@
306 PYTHON_VERSION = @PYTHON_VERSION@
307 QTCHOOSER = @QTCHOOSER@
308 RANLIB = @RANLIB@
309 RC = @RC@
310 SED = @SED@
311 SET_MAKE = @SET_MAKE@
312 SHELL = @SHELL@
313 STRIP = @STRIP@
314 SWIG = @SWIG@
315 SWIG_LIB = @SWIG_LIB@
316 SYSROOT = @SYSROOT@
317 VERSION = @VERSION@
318 VERSION_MAJOR = @VERSION_MAJOR@
319 VERSION_MICRO = @VERSION_MICRO@
320 VERSION_MINOR = @VERSION_MINOR@
321 VERSION_NUMBER = @VERSION_NUMBER@
322 abs_builddir = @abs_builddir@
323 abs_srcdir = @abs_srcdir@
324 abs_top_builddir = @abs_top_builddir@
325 abs_top_srcdir = @abs_top_srcdir@
326 ac_ct_AR = @ac_ct_AR@
327 ac_ct_CC = @ac_ct_CC@
328 ac_ct_CXX = @ac_ct_CXX@
329 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
330 am__include = @am__include@
331 am__leading_dot = @am__leading_dot@
332 am__quote = @am__quote@
333 am__tar = @am__tar@
334 am__untar = @am__untar@
335 bindir = @bindir@
336 build = @build@
337 build_alias = @build_alias@
338 build_cpu = @build_cpu@
339 build_os = @build_os@
340 build_vendor = @build_vendor@
341 builddir = @builddir@
342 datadir = @datadir@
343 datarootdir = @datarootdir@
344 docdir = @docdir@
345 dvidir = @dvidir@
346 emacs_local_vars_begin = @emacs_local_vars_begin@
347 emacs_local_vars_end = @emacs_local_vars_end@
348 emacs_local_vars_read_only = @emacs_local_vars_read_only@
349 exec_prefix = @exec_prefix@
350 host = @host@
351 host_alias = @host_alias@
352 host_cpu = @host_cpu@
353 host_os = @host_os@
354 host_vendor = @host_vendor@
355 htmldir = @htmldir@
356 includedir = @includedir@
357 infodir = @infodir@
358 install_sh = @install_sh@
359 libdir = @libdir@
360 libexecdir = @libexecdir@
361 localedir = @localedir@
362 localstatedir = @localstatedir@
363 mandir = @mandir@
364 mkdir_p = @mkdir_p@
365 oldincludedir = @oldincludedir@
366 pdfdir = @pdfdir@
367 pkgpyexecdir = @pkgpyexecdir@
368 pkgpythondir = @pkgpythondir@
369 prefix = @prefix@
370 program_transform_name = @program_transform_name@
371 psdir = @psdir@
372 pyexecdir = @pyexecdir@
373 pythondir = @pythondir@
374 runstatedir = @runstatedir@
375 sbindir = @sbindir@
376 sharedstatedir = @sharedstatedir@
377 srcdir = @srcdir@
378 sysconfdir = @sysconfdir@
379 target_alias = @target_alias@
380 top_build_prefix = @top_build_prefix@
381 top_builddir = @top_builddir@
382 top_srcdir = @top_srcdir@
383 clfiles = gpgme.asd gpgme-package.lisp gpgme-grovel.lisp gpgme.lisp
384
385 # FIXME: Should be configurable.
386 clfilesdir = $(datadir)/common-lisp/source/gpgme
387 dist_clfiles_DATA = $(clfiles)
388 EXTRA_DIST = README ChangeLog-2011
389 all: all-am
390
391 .SUFFIXES:
392 $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
393 @for dep in $?; do \
394 case '$(am__configure_deps)' in \
395 *$$dep*) \
396 ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
397 && { if test -f $@; then exit 0; else break; fi; }; \
398 exit 1;; \
399 esac; \
400 done; \
401 echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu lang/cl/Makefile'; \
402 $(am__cd) $(top_srcdir) && \
403 $(AUTOMAKE) --gnu lang/cl/Makefile
404 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
405 @case '$?' in \
406 *config.status*) \
407 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
408 *) \
409 echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
410 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
411 esac;
412
413 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
414 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
415
416 $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
417 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
418 $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
419 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
420 $(am__aclocal_m4_deps):
421 gpgme.asd: $(top_builddir)/config.status $(srcdir)/gpgme.asd.in
422 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
423
424 mostlyclean-libtool:
425 -rm -f *.lo
426
427 clean-libtool:
428 -rm -rf .libs _libs
429 install-dist_clfilesDATA: $(dist_clfiles_DATA)
430 @$(NORMAL_INSTALL)
431 @list='$(dist_clfiles_DATA)'; test -n "$(clfilesdir)" || list=; \
432 if test -n "$$list"; then \
433 echo " $(MKDIR_P) '$(DESTDIR)$(clfilesdir)'"; \
434 $(MKDIR_P) "$(DESTDIR)$(clfilesdir)" || exit 1; \
435 fi; \
436 for p in $$list; do \
437 if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
438 echo "$$d$$p"; \
439 done | $(am__base_list) | \
440 while read files; do \
441 echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(clfilesdir)'"; \
442 $(INSTALL_DATA) $$files "$(DESTDIR)$(clfilesdir)" || exit $$?; \
443 done
444
445 uninstall-dist_clfilesDATA:
446 @$(NORMAL_UNINSTALL)
447 @list='$(dist_clfiles_DATA)'; test -n "$(clfilesdir)" || list=; \
448 files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
449 dir='$(DESTDIR)$(clfilesdir)'; $(am__uninstall_files_from_dir)
450 tags TAGS:
451
452 ctags CTAGS:
453
454 cscope cscopelist:
455
456 distdir: $(BUILT_SOURCES)
457 $(MAKE) $(AM_MAKEFLAGS) distdir-am
458
459 distdir-am: $(DISTFILES)
460 @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
461 topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
462 list='$(DISTFILES)'; \
463 dist_files=`for file in $$list; do echo $$file; done | \
464 sed -e "s|^$$srcdirstrip/||;t" \
465 -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
466 case $$dist_files in \
467 */*) $(MKDIR_P) `echo "$$dist_files" | \
468 sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
469 sort -u` ;; \
470 esac; \
471 for file in $$dist_files; do \
472 if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
473 if test -d $$d/$$file; then \
474 dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
475 if test -d "$(distdir)/$$file"; then \
476 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
477 fi; \
478 if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
479 cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
480 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
481 fi; \
482 cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
483 else \
484 test -f "$(distdir)/$$file" \
485 || cp -p $$d/$$file "$(distdir)/$$file" \
486 || exit 1; \
487 fi; \
488 done
489 check-am: all-am
490 check: check-am
491 all-am: Makefile $(DATA)
492 installdirs:
493 for dir in "$(DESTDIR)$(clfilesdir)"; do \
494 test -z "$$dir" || $(MKDIR_P) "$$dir"; \
495 done
496 install: install-am
497 install-exec: install-exec-am
498 install-data: install-data-am
499 uninstall: uninstall-am
500
501 install-am: all-am
502 @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
503
504 installcheck: installcheck-am
505 install-strip:
506 if test -z '$(STRIP)'; then \
507 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
508 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
509 install; \
510 else \
511 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
512 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
513 "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
514 fi
515 mostlyclean-generic:
516
517 clean-generic:
518
519 distclean-generic:
520 -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
521 -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
522
523 maintainer-clean-generic:
524 @echo "This command is intended for maintainers to use"
525 @echo "it deletes files that may require special tools to rebuild."
526 clean: clean-am
527
528 clean-am: clean-generic clean-libtool mostlyclean-am
529
530 distclean: distclean-am
531 -rm -f Makefile
532 distclean-am: clean-am distclean-generic
533
534 dvi: dvi-am
535
536 dvi-am:
537
538 html: html-am
539
540 html-am:
541
542 info: info-am
543
544 info-am:
545
546 install-data-am: install-dist_clfilesDATA
547
548 install-dvi: install-dvi-am
549
550 install-dvi-am:
551
552 install-exec-am:
553
554 install-html: install-html-am
555
556 install-html-am:
557
558 install-info: install-info-am
559
560 install-info-am:
561
562 install-man:
563
564 install-pdf: install-pdf-am
565
566 install-pdf-am:
567
568 install-ps: install-ps-am
569
570 install-ps-am:
571
572 installcheck-am:
573
574 maintainer-clean: maintainer-clean-am
575 -rm -f Makefile
576 maintainer-clean-am: distclean-am maintainer-clean-generic
577
578 mostlyclean: mostlyclean-am
579
580 mostlyclean-am: mostlyclean-generic mostlyclean-libtool
581
582 pdf: pdf-am
583
584 pdf-am:
585
586 ps: ps-am
587
588 ps-am:
589
590 uninstall-am: uninstall-dist_clfilesDATA
591
592 .MAKE: install-am install-strip
593
594 .PHONY: all all-am check check-am clean clean-generic clean-libtool \
595 cscopelist-am ctags-am distclean distclean-generic \
596 distclean-libtool distdir dvi dvi-am html html-am info info-am \
597 install install-am install-data install-data-am \
598 install-dist_clfilesDATA install-dvi install-dvi-am \
599 install-exec install-exec-am install-html install-html-am \
600 install-info install-info-am install-man install-pdf \
601 install-pdf-am install-ps install-ps-am install-strip \
602 installcheck installcheck-am installdirs maintainer-clean \
603 maintainer-clean-generic mostlyclean mostlyclean-generic \
604 mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \
605 uninstall-am uninstall-dist_clfilesDATA
606
607 .PRECIOUS: Makefile
608
609
610 # Tell versions [3.59,3.63) of GNU make to not export all variables.
611 # Otherwise a system limit (for SysV at least) may be exceeded.
612 .NOEXPORT:
0 ;;; -*- Mode: lisp -*-
1
2 ;;; Copyright (C) 2006 g10 Code GmbH
3 ;;;
4 ;;; This file is part of GPGME.
5 ;;;
6 ;;; GPGME is free software; you can redistribute it and/or
7 ;;; modify it under the terms of the GNU Lesser General Public License
8 ;;; as published by the Free Software Foundation; either version 2.1 of
9 ;;; the License, or (at your option) any later version.
10 ;;;
11 ;;; GPGME is distributed in the hope that it will be useful, but
12 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
13 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 ;;; Lesser General Public License for more details.
15 ;;;
16 ;;; You should have received a copy of the GNU Lesser General Public
17 ;;; License along with GPGME; if not, write to the Free
18 ;;; Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
19 ;;; 02111-1307, USA.
20
21 (defpackage #:gpgme-system
22 (:use #:common-lisp #:asdf))
23
24 (in-package #:gpgme-system)
25
26 (defsystem gpgme
27 :description "GnuPG Made Easy."
28 :author "g10 Code GmbH"
29 :version "1.16.1-unknown"
30 :licence "GPL"
31 :defsystem-depends-on ("cffi-grovel")
32 :depends-on ("cffi" "gpg-error" "trivial-garbage")
33 :components ((:file "gpgme-package")
34 (:cffi-grovel-file "gpgme-grovel"
35 :depends-on ("gpgme-package"))
36 (:file "gpgme"
37 :depends-on ("gpgme-package" "gpgme-grovel"))))
0 # Makefile.in generated by automake 1.16.4 from Makefile.am.
1 # @configure_input@
2
3 # Copyright (C) 1994-2021 Free Software Foundation, Inc.
4
5 # This Makefile.in is free software; the Free Software Foundation
6 # gives unlimited permission to copy and/or distribute it,
7 # with or without modifications, as long as this notice is preserved.
8
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
11 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
12 # PARTICULAR PURPOSE.
13
14 @SET_MAKE@
15
16 # Makefile.am for GPGMEPP.
17 # Copyright (C) 2016 Bundesamt für Sicherheit in der Informationstechnik
18 # Software engineering by Intevation GmbH
19 #
20 # This file is part of GPGMEPP.
21 #
22 # GPGME-CL is free software; you can redistribute it and/or modify it
23 # under the terms of the GNU General Public License as published by
24 # the Free Software Foundation; either version 2 of the License, or
25 # (at your option) any later version.
26 #
27 # GPGME-CL is distributed in the hope that it will be useful,
28 # but WITHOUT ANY WARRANTY; without even the implied warranty of
29 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
30 # GNU Lesser General Public License for more details.
31 #
32 # You should have received a copy of the GNU Lesser General Public
33 # License along with this program; if not, see <https://gnu.org/licenses/>.
34 # SPDX-License-Identifier: LGPL-2.1-or-later
35 VPATH = @srcdir@
36 am__is_gnu_make = { \
37 if test -z '$(MAKELEVEL)'; then \
38 false; \
39 elif test -n '$(MAKE_HOST)'; then \
40 true; \
41 elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
42 true; \
43 else \
44 false; \
45 fi; \
46 }
47 am__make_running_with_option = \
48 case $${target_option-} in \
49 ?) ;; \
50 *) echo "am__make_running_with_option: internal error: invalid" \
51 "target option '$${target_option-}' specified" >&2; \
52 exit 1;; \
53 esac; \
54 has_opt=no; \
55 sane_makeflags=$$MAKEFLAGS; \
56 if $(am__is_gnu_make); then \
57 sane_makeflags=$$MFLAGS; \
58 else \
59 case $$MAKEFLAGS in \
60 *\\[\ \ ]*) \
61 bs=\\; \
62 sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
63 | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
64 esac; \
65 fi; \
66 skip_next=no; \
67 strip_trailopt () \
68 { \
69 flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
70 }; \
71 for flg in $$sane_makeflags; do \
72 test $$skip_next = yes && { skip_next=no; continue; }; \
73 case $$flg in \
74 *=*|--*) continue;; \
75 -*I) strip_trailopt 'I'; skip_next=yes;; \
76 -*I?*) strip_trailopt 'I';; \
77 -*O) strip_trailopt 'O'; skip_next=yes;; \
78 -*O?*) strip_trailopt 'O';; \
79 -*l) strip_trailopt 'l'; skip_next=yes;; \
80 -*l?*) strip_trailopt 'l';; \
81 -[dEDm]) skip_next=yes;; \
82 -[JT]) skip_next=yes;; \
83 esac; \
84 case $$flg in \
85 *$$target_option*) has_opt=yes; break;; \
86 esac; \
87 done; \
88 test $$has_opt = yes
89 am__make_dryrun = (target_option=n; $(am__make_running_with_option))
90 am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
91 pkgdatadir = $(datadir)/@PACKAGE@
92 pkgincludedir = $(includedir)/@PACKAGE@
93 pkglibdir = $(libdir)/@PACKAGE@
94 pkglibexecdir = $(libexecdir)/@PACKAGE@
95 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
96 install_sh_DATA = $(install_sh) -c -m 644
97 install_sh_PROGRAM = $(install_sh) -c
98 install_sh_SCRIPT = $(install_sh) -c
99 INSTALL_HEADER = $(INSTALL_DATA)
100 transform = $(program_transform_name)
101 NORMAL_INSTALL = :
102 PRE_INSTALL = :
103 POST_INSTALL = :
104 NORMAL_UNINSTALL = :
105 PRE_UNINSTALL = :
106 POST_UNINSTALL = :
107 build_triplet = @build@
108 host_triplet = @host@
109 subdir = lang/cpp
110 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
111 am__aclocal_m4_deps = $(top_srcdir)/m4/ax_cxx_compile_stdcxx.m4 \
112 $(top_srcdir)/m4/ax_pkg_swig.m4 \
113 $(top_srcdir)/m4/ax_python_devel.m4 \
114 $(top_srcdir)/m4/glib-2.0.m4 $(top_srcdir)/m4/glibc21.m4 \
115 $(top_srcdir)/m4/gnupg-ttyname.m4 \
116 $(top_srcdir)/m4/gpg-error.m4 $(top_srcdir)/m4/libassuan.m4 \
117 $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
118 $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
119 $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/pkg.m4 \
120 $(top_srcdir)/m4/python.m4 $(top_srcdir)/m4/qt.m4 \
121 $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
122 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
123 $(ACLOCAL_M4)
124 DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
125 mkinstalldirs = $(SHELL) $(top_srcdir)/build-aux/mkinstalldirs
126 CONFIG_HEADER = $(top_builddir)/conf/config.h
127 CONFIG_CLEAN_FILES =
128 CONFIG_CLEAN_VPATH_FILES =
129 AM_V_P = $(am__v_P_@AM_V@)
130 am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
131 am__v_P_0 = false
132 am__v_P_1 = :
133 AM_V_GEN = $(am__v_GEN_@AM_V@)
134 am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
135 am__v_GEN_0 = @echo " GEN " $@;
136 am__v_GEN_1 =
137 AM_V_at = $(am__v_at_@AM_V@)
138 am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
139 am__v_at_0 = @
140 am__v_at_1 =
141 SOURCES =
142 DIST_SOURCES =
143 RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
144 ctags-recursive dvi-recursive html-recursive info-recursive \
145 install-data-recursive install-dvi-recursive \
146 install-exec-recursive install-html-recursive \
147 install-info-recursive install-pdf-recursive \
148 install-ps-recursive install-recursive installcheck-recursive \
149 installdirs-recursive pdf-recursive ps-recursive \
150 tags-recursive uninstall-recursive
151 am__can_run_installinfo = \
152 case $$AM_UPDATE_INFO_DIR in \
153 n|no|NO) false;; \
154 *) (install-info --version) >/dev/null 2>&1;; \
155 esac
156 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
157 distclean-recursive maintainer-clean-recursive
158 am__recursive_targets = \
159 $(RECURSIVE_TARGETS) \
160 $(RECURSIVE_CLEAN_TARGETS) \
161 $(am__extra_recursive_targets)
162 AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
163 distdir distdir-am
164 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
165 # Read a list of newline-separated strings from the standard input,
166 # and print each of them once, without duplicates. Input order is
167 # *not* preserved.
168 am__uniquify_input = $(AWK) '\
169 BEGIN { nonempty = 0; } \
170 { items[$$0] = 1; nonempty = 1; } \
171 END { if (nonempty) { for (i in items) print i; }; } \
172 '
173 # Make sure the list of sources is unique. This is necessary because,
174 # e.g., the same source file might be shared among _SOURCES variables
175 # for different programs/libraries.
176 am__define_uniq_tagged_files = \
177 list='$(am__tagged_files)'; \
178 unique=`for i in $$list; do \
179 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
180 done | $(am__uniquify_input)`
181 DIST_SUBDIRS = $(SUBDIRS)
182 am__DIST_COMMON = $(srcdir)/Makefile.in \
183 $(top_srcdir)/build-aux/mkinstalldirs README
184 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
185 am__relativize = \
186 dir0=`pwd`; \
187 sed_first='s,^\([^/]*\)/.*$$,\1,'; \
188 sed_rest='s,^[^/]*/*,,'; \
189 sed_last='s,^.*/\([^/]*\)$$,\1,'; \
190 sed_butlast='s,/*[^/]*$$,,'; \
191 while test -n "$$dir1"; do \
192 first=`echo "$$dir1" | sed -e "$$sed_first"`; \
193 if test "$$first" != "."; then \
194 if test "$$first" = ".."; then \
195 dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
196 dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
197 else \
198 first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
199 if test "$$first2" = "$$first"; then \
200 dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
201 else \
202 dir2="../$$dir2"; \
203 fi; \
204 dir0="$$dir0"/"$$first"; \
205 fi; \
206 fi; \
207 dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
208 done; \
209 reldir="$$dir2"
210 ACLOCAL = @ACLOCAL@
211 AMTAR = @AMTAR@
212 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
213 AR = @AR@
214 AS = @AS@
215 AUTOCONF = @AUTOCONF@
216 AUTOHEADER = @AUTOHEADER@
217 AUTOMAKE = @AUTOMAKE@
218 AWK = @AWK@
219 BUILD_FILEVERSION = @BUILD_FILEVERSION@
220 BUILD_REVISION = @BUILD_REVISION@
221 BUILD_TIMESTAMP = @BUILD_TIMESTAMP@
222 BUILD_VERSION = @BUILD_VERSION@
223 CC = @CC@
224 CCDEPMODE = @CCDEPMODE@
225 CC_FOR_BUILD = @CC_FOR_BUILD@
226 CFLAGS = @CFLAGS@
227 CPP = @CPP@
228 CPPFLAGS = @CPPFLAGS@
229 CSCOPE = @CSCOPE@
230 CTAGS = @CTAGS@
231 CXX = @CXX@
232 CXXCPP = @CXXCPP@
233 CXXDEPMODE = @CXXDEPMODE@
234 CXXFLAGS = @CXXFLAGS@
235 CYGPATH_W = @CYGPATH_W@
236 DEFS = @DEFS@
237 DEPDIR = @DEPDIR@
238 DLLTOOL = @DLLTOOL@
239 DOXYGEN = @DOXYGEN@
240 DSYMUTIL = @DSYMUTIL@
241 DUMPBIN = @DUMPBIN@
242 ECHO_C = @ECHO_C@
243 ECHO_N = @ECHO_N@
244 ECHO_T = @ECHO_T@
245 EGREP = @EGREP@
246 ENABLED_LANGUAGES = @ENABLED_LANGUAGES@
247 ETAGS = @ETAGS@
248 EXEEXT = @EXEEXT@
249 FGREP = @FGREP@
250 GITLOG_TO_CHANGELOG = @GITLOG_TO_CHANGELOG@
251 GLIBC21 = @GLIBC21@
252 GLIB_CFLAGS = @GLIB_CFLAGS@
253 GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
254 GLIB_LIBS = @GLIB_LIBS@
255 GLIB_MKENUMS = @GLIB_MKENUMS@
256 GOBJECT_QUERY = @GOBJECT_QUERY@
257 GPGME_CONFIG_API_VERSION = @GPGME_CONFIG_API_VERSION@
258 GPGME_CONFIG_AVAIL_LANG = @GPGME_CONFIG_AVAIL_LANG@
259 GPGME_CONFIG_CFLAGS = @GPGME_CONFIG_CFLAGS@
260 GPGME_CONFIG_HOST = @GPGME_CONFIG_HOST@
261 GPGME_CONFIG_LIBS = @GPGME_CONFIG_LIBS@
262 GPGME_QTTEST_CFLAGS = @GPGME_QTTEST_CFLAGS@
263 GPGME_QTTEST_LIBS = @GPGME_QTTEST_LIBS@
264 GPGME_QT_CFLAGS = @GPGME_QT_CFLAGS@
265 GPGME_QT_LIBS = @GPGME_QT_LIBS@
266 GPGRT_CONFIG = @GPGRT_CONFIG@
267 GPG_ERROR_CFLAGS = @GPG_ERROR_CFLAGS@
268 GPG_ERROR_CONFIG = @GPG_ERROR_CONFIG@
269 GPG_ERROR_LIBS = @GPG_ERROR_LIBS@
270 GPG_ERROR_MT_CFLAGS = @GPG_ERROR_MT_CFLAGS@
271 GPG_ERROR_MT_LIBS = @GPG_ERROR_MT_LIBS@
272 GRAPHVIZ = @GRAPHVIZ@
273 GREP = @GREP@
274 HAVE_CXX11 = @HAVE_CXX11@
275 HAVE_DOT = @HAVE_DOT@
276 INSTALL = @INSTALL@
277 INSTALL_DATA = @INSTALL_DATA@
278 INSTALL_PROGRAM = @INSTALL_PROGRAM@
279 INSTALL_SCRIPT = @INSTALL_SCRIPT@
280 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
281 LD = @LD@
282 LDADD_FOR_TESTS_KLUDGE = @LDADD_FOR_TESTS_KLUDGE@
283 LDFLAGS = @LDFLAGS@
284 LIBASSUAN_CFLAGS = @LIBASSUAN_CFLAGS@
285 LIBASSUAN_CONFIG = @LIBASSUAN_CONFIG@
286 LIBASSUAN_LIBS = @LIBASSUAN_LIBS@
287 LIBGPGMEPP_LT_AGE = @LIBGPGMEPP_LT_AGE@
288 LIBGPGMEPP_LT_CURRENT = @LIBGPGMEPP_LT_CURRENT@
289 LIBGPGMEPP_LT_REVISION = @LIBGPGMEPP_LT_REVISION@
290 LIBGPGME_LT_AGE = @LIBGPGME_LT_AGE@
291 LIBGPGME_LT_CURRENT = @LIBGPGME_LT_CURRENT@
292 LIBGPGME_LT_REVISION = @LIBGPGME_LT_REVISION@
293 LIBOBJS = @LIBOBJS@
294 LIBQGPGME_LT_AGE = @LIBQGPGME_LT_AGE@
295 LIBQGPGME_LT_CURRENT = @LIBQGPGME_LT_CURRENT@
296 LIBQGPGME_LT_REVISION = @LIBQGPGME_LT_REVISION@
297 LIBS = @LIBS@
298 LIBTOOL = @LIBTOOL@
299 LIPO = @LIPO@
300 LN_S = @LN_S@
301 LTLIBOBJS = @LTLIBOBJS@
302 MAINT = @MAINT@
303 MAKEINFO = @MAKEINFO@
304 MANIFEST_TOOL = @MANIFEST_TOOL@
305 MKDIR_P = @MKDIR_P@
306 MOC = @MOC@
307 MOC2 = @MOC2@
308 NEED__FILE_OFFSET_BITS = @NEED__FILE_OFFSET_BITS@
309 NM = @NM@
310 NMEDIT = @NMEDIT@
311 OBJDUMP = @OBJDUMP@
312 OBJEXT = @OBJEXT@
313 OTOOL = @OTOOL@
314 OTOOL64 = @OTOOL64@
315 PACKAGE = @PACKAGE@
316 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
317 PACKAGE_NAME = @PACKAGE_NAME@
318 PACKAGE_STRING = @PACKAGE_STRING@
319 PACKAGE_TARNAME = @PACKAGE_TARNAME@
320 PACKAGE_URL = @PACKAGE_URL@
321 PACKAGE_VERSION = @PACKAGE_VERSION@
322 PATH_SEPARATOR = @PATH_SEPARATOR@
323 PKG_CONFIG = @PKG_CONFIG@
324 PYTHON = @PYTHON@
325 PYTHONS = @PYTHONS@
326 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
327 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
328 PYTHON_EXTRA_LDFLAGS = @PYTHON_EXTRA_LDFLAGS@
329 PYTHON_EXTRA_LIBS = @PYTHON_EXTRA_LIBS@
330 PYTHON_LDFLAGS = @PYTHON_LDFLAGS@
331 PYTHON_PLATFORM = @PYTHON_PLATFORM@
332 PYTHON_PREFIX = @PYTHON_PREFIX@
333 PYTHON_SITE_PKG = @PYTHON_SITE_PKG@
334 PYTHON_VERSION = @PYTHON_VERSION@
335 QTCHOOSER = @QTCHOOSER@
336 RANLIB = @RANLIB@
337 RC = @RC@
338 SED = @SED@
339 SET_MAKE = @SET_MAKE@
340 SHELL = @SHELL@
341 STRIP = @STRIP@
342 SWIG = @SWIG@
343 SWIG_LIB = @SWIG_LIB@
344 SYSROOT = @SYSROOT@
345 VERSION = @VERSION@
346 VERSION_MAJOR = @VERSION_MAJOR@
347 VERSION_MICRO = @VERSION_MICRO@
348 VERSION_MINOR = @VERSION_MINOR@
349 VERSION_NUMBER = @VERSION_NUMBER@
350 abs_builddir = @abs_builddir@
351 abs_srcdir = @abs_srcdir@
352 abs_top_builddir = @abs_top_builddir@
353 abs_top_srcdir = @abs_top_srcdir@
354 ac_ct_AR = @ac_ct_AR@
355 ac_ct_CC = @ac_ct_CC@
356 ac_ct_CXX = @ac_ct_CXX@
357 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
358 am__include = @am__include@
359 am__leading_dot = @am__leading_dot@
360 am__quote = @am__quote@
361 am__tar = @am__tar@
362 am__untar = @am__untar@
363 bindir = @bindir@
364 build = @build@
365 build_alias = @build_alias@
366 build_cpu = @build_cpu@
367 build_os = @build_os@
368 build_vendor = @build_vendor@
369 builddir = @builddir@
370 datadir = @datadir@
371 datarootdir = @datarootdir@
372 docdir = @docdir@
373 dvidir = @dvidir@
374 emacs_local_vars_begin = @emacs_local_vars_begin@
375 emacs_local_vars_end = @emacs_local_vars_end@
376 emacs_local_vars_read_only = @emacs_local_vars_read_only@
377 exec_prefix = @exec_prefix@
378 host = @host@
379 host_alias = @host_alias@
380 host_cpu = @host_cpu@
381 host_os = @host_os@
382 host_vendor = @host_vendor@
383 htmldir = @htmldir@
384 includedir = @includedir@
385 infodir = @infodir@
386 install_sh = @install_sh@
387 libdir = @libdir@
388 libexecdir = @libexecdir@
389 localedir = @localedir@
390 localstatedir = @localstatedir@
391 mandir = @mandir@
392 mkdir_p = @mkdir_p@
393 oldincludedir = @oldincludedir@
394 pdfdir = @pdfdir@
395 pkgpyexecdir = @pkgpyexecdir@
396 pkgpythondir = @pkgpythondir@
397 prefix = @prefix@
398 program_transform_name = @program_transform_name@
399 psdir = @psdir@
400 pyexecdir = @pyexecdir@
401 pythondir = @pythondir@
402 runstatedir = @runstatedir@
403 sbindir = @sbindir@
404 sharedstatedir = @sharedstatedir@
405 srcdir = @srcdir@
406 sysconfdir = @sysconfdir@
407 target_alias = @target_alias@
408 top_build_prefix = @top_build_prefix@
409 top_builddir = @top_builddir@
410 top_srcdir = @top_srcdir@
411 SUBDIRS = src tests
412 EXTRA_DIST = README
413 all: all-recursive
414
415 .SUFFIXES:
416 $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
417 @for dep in $?; do \
418 case '$(am__configure_deps)' in \
419 *$$dep*) \
420 ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
421 && { if test -f $@; then exit 0; else break; fi; }; \
422 exit 1;; \
423 esac; \
424 done; \
425 echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu lang/cpp/Makefile'; \
426 $(am__cd) $(top_srcdir) && \
427 $(AUTOMAKE) --gnu lang/cpp/Makefile
428 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
429 @case '$?' in \
430 *config.status*) \
431 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
432 *) \
433 echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
434 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
435 esac;
436
437 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
438 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
439
440 $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
441 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
442 $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
443 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
444 $(am__aclocal_m4_deps):
445
446 mostlyclean-libtool:
447 -rm -f *.lo
448
449 clean-libtool:
450 -rm -rf .libs _libs
451
452 # This directory's subdirectories are mostly independent; you can cd
453 # into them and run 'make' without going through this Makefile.
454 # To change the values of 'make' variables: instead of editing Makefiles,
455 # (1) if the variable is set in 'config.status', edit 'config.status'
456 # (which will cause the Makefiles to be regenerated when you run 'make');
457 # (2) otherwise, pass the desired values on the 'make' command line.
458 $(am__recursive_targets):
459 @fail=; \
460 if $(am__make_keepgoing); then \
461 failcom='fail=yes'; \
462 else \
463 failcom='exit 1'; \
464 fi; \
465 dot_seen=no; \
466 target=`echo $@ | sed s/-recursive//`; \
467 case "$@" in \
468 distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
469 *) list='$(SUBDIRS)' ;; \
470 esac; \
471 for subdir in $$list; do \
472 echo "Making $$target in $$subdir"; \
473 if test "$$subdir" = "."; then \
474 dot_seen=yes; \
475 local_target="$$target-am"; \
476 else \
477 local_target="$$target"; \
478 fi; \
479 ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
480 || eval $$failcom; \
481 done; \
482 if test "$$dot_seen" = "no"; then \
483 $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
484 fi; test -z "$$fail"
485
486 ID: $(am__tagged_files)
487 $(am__define_uniq_tagged_files); mkid -fID $$unique
488 tags: tags-recursive
489 TAGS: tags
490
491 tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
492 set x; \
493 here=`pwd`; \
494 if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
495 include_option=--etags-include; \
496 empty_fix=.; \
497 else \
498 include_option=--include; \
499 empty_fix=; \
500 fi; \
501 list='$(SUBDIRS)'; for subdir in $$list; do \
502 if test "$$subdir" = .; then :; else \
503 test ! -f $$subdir/TAGS || \
504 set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
505 fi; \
506 done; \
507 $(am__define_uniq_tagged_files); \
508 shift; \
509 if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
510 test -n "$$unique" || unique=$$empty_fix; \
511 if test $$# -gt 0; then \
512 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
513 "$$@" $$unique; \
514 else \
515 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
516 $$unique; \
517 fi; \
518 fi
519 ctags: ctags-recursive
520
521 CTAGS: ctags
522 ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
523 $(am__define_uniq_tagged_files); \
524 test -z "$(CTAGS_ARGS)$$unique" \
525 || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
526 $$unique
527
528 GTAGS:
529 here=`$(am__cd) $(top_builddir) && pwd` \
530 && $(am__cd) $(top_srcdir) \
531 && gtags -i $(GTAGS_ARGS) "$$here"
532 cscopelist: cscopelist-recursive
533
534 cscopelist-am: $(am__tagged_files)
535 list='$(am__tagged_files)'; \
536 case "$(srcdir)" in \
537 [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
538 *) sdir=$(subdir)/$(srcdir) ;; \
539 esac; \
540 for i in $$list; do \
541 if test -f "$$i"; then \
542 echo "$(subdir)/$$i"; \
543 else \
544 echo "$$sdir/$$i"; \
545 fi; \
546 done >> $(top_builddir)/cscope.files
547
548 distclean-tags:
549 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
550 distdir: $(BUILT_SOURCES)
551 $(MAKE) $(AM_MAKEFLAGS) distdir-am
552
553 distdir-am: $(DISTFILES)
554 @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
555 topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
556 list='$(DISTFILES)'; \
557 dist_files=`for file in $$list; do echo $$file; done | \
558 sed -e "s|^$$srcdirstrip/||;t" \
559 -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
560 case $$dist_files in \
561 */*) $(MKDIR_P) `echo "$$dist_files" | \
562 sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
563 sort -u` ;; \
564 esac; \
565 for file in $$dist_files; do \
566 if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
567 if test -d $$d/$$file; then \
568 dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
569 if test -d "$(distdir)/$$file"; then \
570 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
571 fi; \
572 if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
573 cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
574 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
575 fi; \
576 cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
577 else \
578 test -f "$(distdir)/$$file" \
579 || cp -p $$d/$$file "$(distdir)/$$file" \
580 || exit 1; \
581 fi; \
582 done
583 @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
584 if test "$$subdir" = .; then :; else \
585 $(am__make_dryrun) \
586 || test -d "$(distdir)/$$subdir" \
587 || $(MKDIR_P) "$(distdir)/$$subdir" \
588 || exit 1; \
589 dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
590 $(am__relativize); \
591 new_distdir=$$reldir; \
592 dir1=$$subdir; dir2="$(top_distdir)"; \
593 $(am__relativize); \
594 new_top_distdir=$$reldir; \
595 echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
596 echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
597 ($(am__cd) $$subdir && \
598 $(MAKE) $(AM_MAKEFLAGS) \
599 top_distdir="$$new_top_distdir" \
600 distdir="$$new_distdir" \
601 am__remove_distdir=: \
602 am__skip_length_check=: \
603 am__skip_mode_fix=: \
604 distdir) \
605 || exit 1; \
606 fi; \
607 done
608 check-am: all-am
609 check: check-recursive
610 all-am: Makefile
611 installdirs: installdirs-recursive
612 installdirs-am:
613 install: install-recursive
614 install-exec: install-exec-recursive
615 install-data: install-data-recursive
616 uninstall: uninstall-recursive
617
618 install-am: all-am
619 @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
620
621 installcheck: installcheck-recursive
622 install-strip:
623 if test -z '$(STRIP)'; then \
624 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
625 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
626 install; \
627 else \
628 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
629 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
630 "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
631 fi
632 mostlyclean-generic:
633
634 clean-generic:
635
636 distclean-generic:
637 -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
638 -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
639
640 maintainer-clean-generic:
641 @echo "This command is intended for maintainers to use"
642 @echo "it deletes files that may require special tools to rebuild."
643 clean: clean-recursive
644
645 clean-am: clean-generic clean-libtool mostlyclean-am
646
647 distclean: distclean-recursive
648 -rm -f Makefile
649 distclean-am: clean-am distclean-generic distclean-tags
650
651 dvi: dvi-recursive
652
653 dvi-am:
654
655 html: html-recursive
656
657 html-am:
658
659 info: info-recursive
660
661 info-am:
662
663 install-data-am:
664
665 install-dvi: install-dvi-recursive
666
667 install-dvi-am:
668
669 install-exec-am:
670
671 install-html: install-html-recursive
672
673 install-html-am:
674
675 install-info: install-info-recursive
676
677 install-info-am:
678
679 install-man:
680
681 install-pdf: install-pdf-recursive
682
683 install-pdf-am:
684
685 install-ps: install-ps-recursive
686
687 install-ps-am:
688
689 installcheck-am:
690
691 maintainer-clean: maintainer-clean-recursive
692 -rm -f Makefile
693 maintainer-clean-am: distclean-am maintainer-clean-generic
694
695 mostlyclean: mostlyclean-recursive
696
697 mostlyclean-am: mostlyclean-generic mostlyclean-libtool
698
699 pdf: pdf-recursive
700
701 pdf-am:
702
703 ps: ps-recursive
704
705 ps-am:
706
707 uninstall-am:
708
709 .MAKE: $(am__recursive_targets) install-am install-strip
710
711 .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
712 check-am clean clean-generic clean-libtool cscopelist-am ctags \
713 ctags-am distclean distclean-generic distclean-libtool \
714 distclean-tags distdir dvi dvi-am html html-am info info-am \
715 install install-am install-data install-data-am install-dvi \
716 install-dvi-am install-exec install-exec-am install-html \
717 install-html-am install-info install-info-am install-man \
718 install-pdf install-pdf-am install-ps install-ps-am \
719 install-strip installcheck installcheck-am installdirs \
720 installdirs-am maintainer-clean maintainer-clean-generic \
721 mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
722 ps ps-am tags tags-am uninstall uninstall-am
723
724 .PRECIOUS: Makefile
725
726
727 # Tell versions [3.59,3.63) of GNU make to not export all variables.
728 # Otherwise a system limit (for SysV at least) may be exceeded.
729 .NOEXPORT:
0 # Makefile.in generated by automake 1.16.4 from Makefile.am.
1 # @configure_input@
2
3 # Copyright (C) 1994-2021 Free Software Foundation, Inc.
4
5 # This Makefile.in is free software; the Free Software Foundation
6 # gives unlimited permission to copy and/or distribute it,
7 # with or without modifications, as long as this notice is preserved.
8
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
11 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
12 # PARTICULAR PURPOSE.
13
14 @SET_MAKE@
15
16 # Makefile.am for GPGMEPP.
17 # Copyright (C) 2016 Bundesamt für Sicherheit in der Informationstechnik
18 # Software engineering by Intevation GmbH
19 #
20 # This file is part of GPGMEPP.
21 #
22 # GPGME-CL is free software; you can redistribute it and/or modify it
23 # under the terms of the GNU General Public License as published by
24 # the Free Software Foundation; either version 2 of the License, or
25 # (at your option) any later version.
26 #
27 # GPGME-CL is distributed in the hope that it will be useful,
28 # but WITHOUT ANY WARRANTY; without even the implied warranty of
29 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
30 # GNU Lesser General Public License for more details.
31 #
32 # You should have received a copy of the GNU General Public License
33 # along with this program; if not, write to the Free Software
34 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
35 # 02111-1307, USA
36
37
38 VPATH = @srcdir@
39 am__is_gnu_make = { \
40 if test -z '$(MAKELEVEL)'; then \
41 false; \
42 elif test -n '$(MAKE_HOST)'; then \
43 true; \
44 elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
45 true; \
46 else \
47 false; \
48 fi; \
49 }
50 am__make_running_with_option = \
51 case $${target_option-} in \
52 ?) ;; \
53 *) echo "am__make_running_with_option: internal error: invalid" \
54 "target option '$${target_option-}' specified" >&2; \
55 exit 1;; \
56 esac; \
57 has_opt=no; \
58 sane_makeflags=$$MAKEFLAGS; \
59 if $(am__is_gnu_make); then \
60 sane_makeflags=$$MFLAGS; \
61 else \
62 case $$MAKEFLAGS in \
63 *\\[\ \ ]*) \
64 bs=\\; \
65 sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
66 | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
67 esac; \
68 fi; \
69 skip_next=no; \
70 strip_trailopt () \
71 { \
72 flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
73 }; \
74 for flg in $$sane_makeflags; do \
75 test $$skip_next = yes && { skip_next=no; continue; }; \
76 case $$flg in \
77 *=*|--*) continue;; \
78 -*I) strip_trailopt 'I'; skip_next=yes;; \
79 -*I?*) strip_trailopt 'I';; \
80 -*O) strip_trailopt 'O'; skip_next=yes;; \
81 -*O?*) strip_trailopt 'O';; \
82 -*l) strip_trailopt 'l'; skip_next=yes;; \
83 -*l?*) strip_trailopt 'l';; \
84 -[dEDm]) skip_next=yes;; \
85 -[JT]) skip_next=yes;; \
86 esac; \
87 case $$flg in \
88 *$$target_option*) has_opt=yes; break;; \
89 esac; \
90 done; \
91 test $$has_opt = yes
92 am__make_dryrun = (target_option=n; $(am__make_running_with_option))
93 am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
94 pkgdatadir = $(datadir)/@PACKAGE@
95 pkgincludedir = $(includedir)/@PACKAGE@
96 pkglibdir = $(libdir)/@PACKAGE@
97 pkglibexecdir = $(libexecdir)/@PACKAGE@
98 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
99 install_sh_DATA = $(install_sh) -c -m 644
100 install_sh_PROGRAM = $(install_sh) -c
101 install_sh_SCRIPT = $(install_sh) -c
102 INSTALL_HEADER = $(INSTALL_DATA)
103 transform = $(program_transform_name)
104 NORMAL_INSTALL = :
105 PRE_INSTALL = :
106 POST_INSTALL = :
107 NORMAL_UNINSTALL = :
108 PRE_UNINSTALL = :
109 POST_UNINSTALL = :
110 build_triplet = @build@
111 host_triplet = @host@
112 subdir = lang/cpp/src
113 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
114 am__aclocal_m4_deps = $(top_srcdir)/m4/ax_cxx_compile_stdcxx.m4 \
115 $(top_srcdir)/m4/ax_pkg_swig.m4 \
116 $(top_srcdir)/m4/ax_python_devel.m4 \
117 $(top_srcdir)/m4/glib-2.0.m4 $(top_srcdir)/m4/glibc21.m4 \
118 $(top_srcdir)/m4/gnupg-ttyname.m4 \
119 $(top_srcdir)/m4/gpg-error.m4 $(top_srcdir)/m4/libassuan.m4 \
120 $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
121 $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
122 $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/pkg.m4 \
123 $(top_srcdir)/m4/python.m4 $(top_srcdir)/m4/qt.m4 \
124 $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
125 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
126 $(ACLOCAL_M4)
127 DIST_COMMON = $(srcdir)/Makefile.am $(gpgmeppinclude_HEADERS) \
128 $(nobase_gpgmeppinclude_HEADERS) $(am__DIST_COMMON)
129 mkinstalldirs = $(SHELL) $(top_srcdir)/build-aux/mkinstalldirs
130 CONFIG_HEADER = $(top_builddir)/conf/config.h
131 CONFIG_CLEAN_FILES = GpgmeppConfig-w32.cmake.in GpgmeppConfig.cmake.in \
132 GpgmeppConfigVersion.cmake gpgmepp_version.h
133 CONFIG_CLEAN_VPATH_FILES =
134 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
135 am__vpath_adj = case $$p in \
136 $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
137 *) f=$$p;; \
138 esac;
139 am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
140 am__install_max = 40
141 am__nobase_strip_setup = \
142 srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
143 am__nobase_strip = \
144 for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
145 am__nobase_list = $(am__nobase_strip_setup); \
146 for p in $$list; do echo "$$p $$p"; done | \
147 sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
148 $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
149 if (++n[$$2] == $(am__install_max)) \
150 { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
151 END { for (dir in files) print dir, files[dir] }'
152 am__base_list = \
153 sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
154 sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
155 am__uninstall_files_from_dir = { \
156 test -z "$$files" \
157 || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
158 || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
159 $(am__cd) "$$dir" && rm -f $$files; }; \
160 }
161 am__installdirs = "$(DESTDIR)$(libdir)" \
162 "$(DESTDIR)$(gpgmeppincludedir)" \
163 "$(DESTDIR)$(gpgmeppincludedir)" \
164 "$(DESTDIR)$(gpgmeppincludedir)"
165 LTLIBRARIES = $(lib_LTLIBRARIES)
166 libgpgmepp_la_DEPENDENCIES = ../../../src/libgpgme.la
167 am__objects_1 = exception.lo context.lo key.lo trustitem.lo data.lo \
168 callbacks.lo eventloopinteractor.lo editinteractor.lo \
169 keylistresult.lo keygenerationresult.lo importresult.lo \
170 decryptionresult.lo verificationresult.lo signingresult.lo \
171 encryptionresult.lo engineinfo.lo \
172 gpgsetexpirytimeeditinteractor.lo \
173 gpgsetownertrusteditinteractor.lo gpgsignkeyeditinteractor.lo \
174 gpgadduserideditinteractor.lo gpggencardkeyinteractor.lo \
175 defaultassuantransaction.lo scdgetinfoassuantransaction.lo \
176 gpgagentgetinfoassuantransaction.lo \
177 statusconsumerassuantransaction.lo vfsmountresult.lo \
178 configuration.lo tofuinfo.lo swdbresult.lo
179 am__objects_2 =
180 am_libgpgmepp_la_OBJECTS = $(am__objects_1) $(am__objects_2) \
181 context_vanilla.lo $(am__objects_2) $(am__objects_2)
182 libgpgmepp_la_OBJECTS = $(am_libgpgmepp_la_OBJECTS)
183 AM_V_lt = $(am__v_lt_@AM_V@)
184 am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
185 am__v_lt_0 = --silent
186 am__v_lt_1 =
187 libgpgmepp_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
188 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
189 $(AM_CXXFLAGS) $(CXXFLAGS) $(libgpgmepp_la_LDFLAGS) $(LDFLAGS) \
190 -o $@
191 AM_V_P = $(am__v_P_@AM_V@)
192 am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
193 am__v_P_0 = false
194 am__v_P_1 = :
195 AM_V_GEN = $(am__v_GEN_@AM_V@)
196 am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
197 am__v_GEN_0 = @echo " GEN " $@;
198 am__v_GEN_1 =
199 AM_V_at = $(am__v_at_@AM_V@)
200 am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
201 am__v_at_0 = @
202 am__v_at_1 =
203 DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/conf
204 depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp
205 am__maybe_remake_depfiles = depfiles
206 am__depfiles_remade = ./$(DEPDIR)/callbacks.Plo \
207 ./$(DEPDIR)/configuration.Plo ./$(DEPDIR)/context.Plo \
208 ./$(DEPDIR)/context_vanilla.Plo ./$(DEPDIR)/data.Plo \
209 ./$(DEPDIR)/decryptionresult.Plo \
210 ./$(DEPDIR)/defaultassuantransaction.Plo \
211 ./$(DEPDIR)/editinteractor.Plo \
212 ./$(DEPDIR)/encryptionresult.Plo ./$(DEPDIR)/engineinfo.Plo \
213 ./$(DEPDIR)/eventloopinteractor.Plo ./$(DEPDIR)/exception.Plo \
214 ./$(DEPDIR)/gpgadduserideditinteractor.Plo \
215 ./$(DEPDIR)/gpgagentgetinfoassuantransaction.Plo \
216 ./$(DEPDIR)/gpggencardkeyinteractor.Plo \
217 ./$(DEPDIR)/gpgsetexpirytimeeditinteractor.Plo \
218 ./$(DEPDIR)/gpgsetownertrusteditinteractor.Plo \
219 ./$(DEPDIR)/gpgsignkeyeditinteractor.Plo \
220 ./$(DEPDIR)/importresult.Plo ./$(DEPDIR)/key.Plo \
221 ./$(DEPDIR)/keygenerationresult.Plo \
222 ./$(DEPDIR)/keylistresult.Plo \
223 ./$(DEPDIR)/scdgetinfoassuantransaction.Plo \
224 ./$(DEPDIR)/signingresult.Plo \
225 ./$(DEPDIR)/statusconsumerassuantransaction.Plo \
226 ./$(DEPDIR)/swdbresult.Plo ./$(DEPDIR)/tofuinfo.Plo \
227 ./$(DEPDIR)/trustitem.Plo ./$(DEPDIR)/verificationresult.Plo \
228 ./$(DEPDIR)/vfsmountresult.Plo
229 am__mv = mv -f
230 CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
231 $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
232 LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
233 $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
234 $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
235 $(AM_CXXFLAGS) $(CXXFLAGS)
236 AM_V_CXX = $(am__v_CXX_@AM_V@)
237 am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@)
238 am__v_CXX_0 = @echo " CXX " $@;
239 am__v_CXX_1 =
240 CXXLD = $(CXX)
241 CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
242 $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
243 $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
244 AM_V_CXXLD = $(am__v_CXXLD_@AM_V@)
245 am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@)
246 am__v_CXXLD_0 = @echo " CXXLD " $@;
247 am__v_CXXLD_1 =
248 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
249 $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
250 LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
251 $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
252 $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
253 $(AM_CFLAGS) $(CFLAGS)
254 AM_V_CC = $(am__v_CC_@AM_V@)
255 am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
256 am__v_CC_0 = @echo " CC " $@;
257 am__v_CC_1 =
258 CCLD = $(CC)
259 LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
260 $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
261 $(AM_LDFLAGS) $(LDFLAGS) -o $@
262 AM_V_CCLD = $(am__v_CCLD_@AM_V@)
263 am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
264 am__v_CCLD_0 = @echo " CCLD " $@;
265 am__v_CCLD_1 =
266 SOURCES = $(libgpgmepp_la_SOURCES)
267 DIST_SOURCES = $(libgpgmepp_la_SOURCES)
268 am__can_run_installinfo = \
269 case $$AM_UPDATE_INFO_DIR in \
270 n|no|NO) false;; \
271 *) (install-info --version) >/dev/null 2>&1;; \
272 esac
273 HEADERS = $(gpgmeppinclude_HEADERS) $(nobase_gpgmeppinclude_HEADERS) \
274 $(nodist_gpgmeppinclude_HEADERS)
275 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
276 # Read a list of newline-separated strings from the standard input,
277 # and print each of them once, without duplicates. Input order is
278 # *not* preserved.
279 am__uniquify_input = $(AWK) '\
280 BEGIN { nonempty = 0; } \
281 { items[$$0] = 1; nonempty = 1; } \
282 END { if (nonempty) { for (i in items) print i; }; } \
283 '
284 # Make sure the list of sources is unique. This is necessary because,
285 # e.g., the same source file might be shared among _SOURCES variables
286 # for different programs/libraries.
287 am__define_uniq_tagged_files = \
288 list='$(am__tagged_files)'; \
289 unique=`for i in $$list; do \
290 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
291 done | $(am__uniquify_input)`
292 am__DIST_COMMON = $(srcdir)/GpgmeppConfig-w32.cmake.in.in \
293 $(srcdir)/GpgmeppConfig.cmake.in.in \
294 $(srcdir)/GpgmeppConfigVersion.cmake.in $(srcdir)/Makefile.in \
295 $(srcdir)/gpgmepp_version.h.in $(top_srcdir)/build-aux/depcomp \
296 $(top_srcdir)/build-aux/mkinstalldirs
297 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
298 ACLOCAL = @ACLOCAL@
299 AMTAR = @AMTAR@
300 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
301 AR = @AR@
302 AS = @AS@
303 AUTOCONF = @AUTOCONF@
304 AUTOHEADER = @AUTOHEADER@
305 AUTOMAKE = @AUTOMAKE@
306 AWK = @AWK@
307 BUILD_FILEVERSION = @BUILD_FILEVERSION@
308 BUILD_REVISION = @BUILD_REVISION@
309 BUILD_TIMESTAMP = @BUILD_TIMESTAMP@
310 BUILD_VERSION = @BUILD_VERSION@
311 CC = @CC@
312 CCDEPMODE = @CCDEPMODE@
313 CC_FOR_BUILD = @CC_FOR_BUILD@
314 CFLAGS = @CFLAGS@
315 CPP = @CPP@
316 CPPFLAGS = @CPPFLAGS@
317 CSCOPE = @CSCOPE@
318 CTAGS = @CTAGS@
319 CXX = @CXX@
320 CXXCPP = @CXXCPP@
321 CXXDEPMODE = @CXXDEPMODE@
322 CXXFLAGS = @CXXFLAGS@
323 CYGPATH_W = @CYGPATH_W@
324 DEFS = @DEFS@
325 DEPDIR = @DEPDIR@
326 DLLTOOL = @DLLTOOL@
327 DOXYGEN = @DOXYGEN@
328 DSYMUTIL = @DSYMUTIL@
329 DUMPBIN = @DUMPBIN@
330 ECHO_C = @ECHO_C@
331 ECHO_N = @ECHO_N@
332 ECHO_T = @ECHO_T@
333 EGREP = @EGREP@
334 ENABLED_LANGUAGES = @ENABLED_LANGUAGES@
335 ETAGS = @ETAGS@
336 EXEEXT = @EXEEXT@
337 FGREP = @FGREP@
338 GITLOG_TO_CHANGELOG = @GITLOG_TO_CHANGELOG@
339 GLIBC21 = @GLIBC21@
340 GLIB_CFLAGS = @GLIB_CFLAGS@
341 GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
342 GLIB_LIBS = @GLIB_LIBS@
343 GLIB_MKENUMS = @GLIB_MKENUMS@
344 GOBJECT_QUERY = @GOBJECT_QUERY@
345 GPGME_CONFIG_API_VERSION = @GPGME_CONFIG_API_VERSION@
346 GPGME_CONFIG_AVAIL_LANG = @GPGME_CONFIG_AVAIL_LANG@
347 GPGME_CONFIG_CFLAGS = @GPGME_CONFIG_CFLAGS@
348 GPGME_CONFIG_HOST = @GPGME_CONFIG_HOST@
349 GPGME_CONFIG_LIBS = @GPGME_CONFIG_LIBS@
350 GPGME_QTTEST_CFLAGS = @GPGME_QTTEST_CFLAGS@
351 GPGME_QTTEST_LIBS = @GPGME_QTTEST_LIBS@
352 GPGME_QT_CFLAGS = @GPGME_QT_CFLAGS@
353 GPGME_QT_LIBS = @GPGME_QT_LIBS@
354 GPGRT_CONFIG = @GPGRT_CONFIG@
355 GPG_ERROR_CFLAGS = @GPG_ERROR_CFLAGS@
356 GPG_ERROR_CONFIG = @GPG_ERROR_CONFIG@
357 GPG_ERROR_LIBS = @GPG_ERROR_LIBS@
358 GPG_ERROR_MT_CFLAGS = @GPG_ERROR_MT_CFLAGS@
359 GPG_ERROR_MT_LIBS = @GPG_ERROR_MT_LIBS@
360 GRAPHVIZ = @GRAPHVIZ@
361 GREP = @GREP@
362 HAVE_CXX11 = @HAVE_CXX11@
363 HAVE_DOT = @HAVE_DOT@
364 INSTALL = @INSTALL@
365 INSTALL_DATA = @INSTALL_DATA@
366 INSTALL_PROGRAM = @INSTALL_PROGRAM@
367 INSTALL_SCRIPT = @INSTALL_SCRIPT@
368 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
369 LD = @LD@
370 LDADD_FOR_TESTS_KLUDGE = @LDADD_FOR_TESTS_KLUDGE@
371 LDFLAGS = @LDFLAGS@
372 LIBASSUAN_CFLAGS = @LIBASSUAN_CFLAGS@
373 LIBASSUAN_CONFIG = @LIBASSUAN_CONFIG@
374 LIBASSUAN_LIBS = @LIBASSUAN_LIBS@
375 LIBGPGMEPP_LT_AGE = @LIBGPGMEPP_LT_AGE@
376 LIBGPGMEPP_LT_CURRENT = @LIBGPGMEPP_LT_CURRENT@
377 LIBGPGMEPP_LT_REVISION = @LIBGPGMEPP_LT_REVISION@
378 LIBGPGME_LT_AGE = @LIBGPGME_LT_AGE@
379 LIBGPGME_LT_CURRENT = @LIBGPGME_LT_CURRENT@
380 LIBGPGME_LT_REVISION = @LIBGPGME_LT_REVISION@
381 LIBOBJS = @LIBOBJS@
382 LIBQGPGME_LT_AGE = @LIBQGPGME_LT_AGE@
383 LIBQGPGME_LT_CURRENT = @LIBQGPGME_LT_CURRENT@
384 LIBQGPGME_LT_REVISION = @LIBQGPGME_LT_REVISION@
385 LIBS = @LIBS@
386 LIBTOOL = @LIBTOOL@
387 LIPO = @LIPO@
388 LN_S = @LN_S@
389 LTLIBOBJS = @LTLIBOBJS@
390 MAINT = @MAINT@
391 MAKEINFO = @MAKEINFO@
392 MANIFEST_TOOL = @MANIFEST_TOOL@
393 MKDIR_P = @MKDIR_P@
394 MOC = @MOC@
395 MOC2 = @MOC2@
396 NEED__FILE_OFFSET_BITS = @NEED__FILE_OFFSET_BITS@
397 NM = @NM@
398 NMEDIT = @NMEDIT@
399 OBJDUMP = @OBJDUMP@
400 OBJEXT = @OBJEXT@
401 OTOOL = @OTOOL@
402 OTOOL64 = @OTOOL64@
403 PACKAGE = @PACKAGE@
404 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
405 PACKAGE_NAME = @PACKAGE_NAME@
406 PACKAGE_STRING = @PACKAGE_STRING@
407 PACKAGE_TARNAME = @PACKAGE_TARNAME@
408 PACKAGE_URL = @PACKAGE_URL@
409 PACKAGE_VERSION = @PACKAGE_VERSION@
410 PATH_SEPARATOR = @PATH_SEPARATOR@
411 PKG_CONFIG = @PKG_CONFIG@
412 PYTHON = @PYTHON@
413 PYTHONS = @PYTHONS@
414 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
415 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
416 PYTHON_EXTRA_LDFLAGS = @PYTHON_EXTRA_LDFLAGS@
417 PYTHON_EXTRA_LIBS = @PYTHON_EXTRA_LIBS@
418 PYTHON_LDFLAGS = @PYTHON_LDFLAGS@
419 PYTHON_PLATFORM = @PYTHON_PLATFORM@
420 PYTHON_PREFIX = @PYTHON_PREFIX@
421 PYTHON_SITE_PKG = @PYTHON_SITE_PKG@
422 PYTHON_VERSION = @PYTHON_VERSION@
423 QTCHOOSER = @QTCHOOSER@
424 RANLIB = @RANLIB@
425 RC = @RC@
426 SED = @SED@
427 SET_MAKE = @SET_MAKE@
428 SHELL = @SHELL@
429 STRIP = @STRIP@
430 SWIG = @SWIG@
431 SWIG_LIB = @SWIG_LIB@
432 SYSROOT = @SYSROOT@
433 VERSION = @VERSION@
434 VERSION_MAJOR = @VERSION_MAJOR@
435 VERSION_MICRO = @VERSION_MICRO@
436 VERSION_MINOR = @VERSION_MINOR@
437 VERSION_NUMBER = @VERSION_NUMBER@
438 abs_builddir = @abs_builddir@
439 abs_srcdir = @abs_srcdir@
440 abs_top_builddir = @abs_top_builddir@
441 abs_top_srcdir = @abs_top_srcdir@
442 ac_ct_AR = @ac_ct_AR@
443 ac_ct_CC = @ac_ct_CC@
444 ac_ct_CXX = @ac_ct_CXX@
445 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
446 am__include = @am__include@
447 am__leading_dot = @am__leading_dot@
448 am__quote = @am__quote@
449 am__tar = @am__tar@
450 am__untar = @am__untar@
451 bindir = @bindir@
452 build = @build@
453 build_alias = @build_alias@
454 build_cpu = @build_cpu@
455 build_os = @build_os@
456 build_vendor = @build_vendor@
457 builddir = @builddir@
458 datadir = @datadir@
459 datarootdir = @datarootdir@
460 docdir = @docdir@
461 dvidir = @dvidir@
462 emacs_local_vars_begin = @emacs_local_vars_begin@
463 emacs_local_vars_end = @emacs_local_vars_end@
464 emacs_local_vars_read_only = @emacs_local_vars_read_only@
465 exec_prefix = @exec_prefix@
466 host = @host@
467 host_alias = @host_alias@
468 host_cpu = @host_cpu@
469 host_os = @host_os@
470 host_vendor = @host_vendor@
471 htmldir = @htmldir@
472 includedir = @includedir@
473 infodir = @infodir@
474 install_sh = @install_sh@
475 libdir = @libdir@
476 libexecdir = @libexecdir@
477 localedir = @localedir@
478 localstatedir = @localstatedir@
479 mandir = @mandir@
480 mkdir_p = @mkdir_p@
481 oldincludedir = @oldincludedir@
482 pdfdir = @pdfdir@
483 pkgpyexecdir = @pkgpyexecdir@
484 pkgpythondir = @pkgpythondir@
485 prefix = @prefix@
486 program_transform_name = @program_transform_name@
487 psdir = @psdir@
488 pyexecdir = @pyexecdir@
489 pythondir = @pythondir@
490 runstatedir = @runstatedir@
491 sbindir = @sbindir@
492 sharedstatedir = @sharedstatedir@
493 srcdir = @srcdir@
494 sysconfdir = @sysconfdir@
495 target_alias = @target_alias@
496 top_build_prefix = @top_build_prefix@
497 top_builddir = @top_builddir@
498 top_srcdir = @top_srcdir@
499 EXTRA_DIST = GpgmeppConfig.cmake.in.in GpgmeppConfigVersion.cmake.in \
500 gpgmepp_version.h.in GpgmeppConfig-w32.cmake.in.in
501
502 lib_LTLIBRARIES = libgpgmepp.la
503 main_sources = \
504 exception.cpp context.cpp key.cpp trustitem.cpp data.cpp callbacks.cpp \
505 eventloopinteractor.cpp editinteractor.cpp \
506 keylistresult.cpp keygenerationresult.cpp importresult.cpp \
507 decryptionresult.cpp verificationresult.cpp \
508 signingresult.cpp encryptionresult.cpp \
509 engineinfo.cpp gpgsetexpirytimeeditinteractor.cpp \
510 gpgsetownertrusteditinteractor.cpp gpgsignkeyeditinteractor.cpp \
511 gpgadduserideditinteractor.cpp gpggencardkeyinteractor.cpp \
512 defaultassuantransaction.cpp \
513 scdgetinfoassuantransaction.cpp gpgagentgetinfoassuantransaction.cpp \
514 statusconsumerassuantransaction.cpp \
515 vfsmountresult.cpp configuration.cpp tofuinfo.cpp swdbresult.cpp
516
517 gpgmepp_headers = \
518 configuration.h context.h data.h decryptionresult.h \
519 defaultassuantransaction.h editinteractor.h encryptionresult.h \
520 engineinfo.h error.h eventloopinteractor.h exception.h global.h \
521 gpgadduserideditinteractor.h gpgagentgetinfoassuantransaction.h \
522 gpgmefw.h gpgsetexpirytimeeditinteractor.h \
523 gpgsetownertrusteditinteractor.h gpgsignkeyeditinteractor.h \
524 gpggencardkeyinteractor.h \
525 importresult.h keygenerationresult.h key.h keylistresult.h \
526 notation.h result.h scdgetinfoassuantransaction.h signingresult.h \
527 statusconsumerassuantransaction.h \
528 trustitem.h verificationresult.h vfsmountresult.h gpgmepp_export.h \
529 tofuinfo.h swdbresult.h
530
531 private_gpgmepp_headers = \
532 result_p.h context_p.h util.h callbacks.h data_p.h
533
534 interface_headers = \
535 interfaces/assuantransaction.h interfaces/dataprovider.h \
536 interfaces/passphraseprovider.h interfaces/progressprovider.h \
537 interfaces/statusconsumer.h
538
539 gpgmeppincludedir = $(includedir)/gpgme++
540 gpgmeppinclude_HEADERS = $(gpgmepp_headers)
541 nobase_gpgmeppinclude_HEADERS = $(interface_headers)
542 nodist_gpgmeppinclude_HEADERS = gpgmepp_version.h
543 libgpgmepp_la_SOURCES = $(main_sources) $(gpgmepp_headers) context_vanilla.cpp \
544 $(interface_headers) $(private_gpgmepp_headers)
545
546 AM_CPPFLAGS = -I$(top_builddir)/src @GPG_ERROR_CFLAGS@ @LIBASSUAN_CFLAGS@ \
547 -DBUILDING_GPGMEPP -Wsuggest-override \
548 -Wzero-as-null-pointer-constant
549
550 libgpgmepp_la_LIBADD = ../../../src/libgpgme.la @LIBASSUAN_LIBS@
551 libgpgmepp_la_LDFLAGS = -no-undefined -version-info \
552 @LIBGPGMEPP_LT_CURRENT@:@LIBGPGMEPP_LT_REVISION@:@LIBGPGMEPP_LT_AGE@
553
554 @HAVE_MACOS_SYSTEM_FALSE@libsuffix = .so
555 @HAVE_MACOS_SYSTEM_TRUE@libsuffix = .dylib
556 CLEANFILES = GpgmeppConfig.cmake GpgmeppConfigVersion.cmake \
557 gpgmepp_version.h GpgmeppConfig.cmake.in
558
559 all: all-am
560
561 .SUFFIXES:
562 .SUFFIXES: .cpp .lo .o .obj
563 $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
564 @for dep in $?; do \
565 case '$(am__configure_deps)' in \
566 *$$dep*) \
567 ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
568 && { if test -f $@; then exit 0; else break; fi; }; \
569 exit 1;; \
570 esac; \
571 done; \
572 echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu lang/cpp/src/Makefile'; \
573 $(am__cd) $(top_srcdir) && \
574 $(AUTOMAKE) --gnu lang/cpp/src/Makefile
575 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
576 @case '$?' in \
577 *config.status*) \
578 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
579 *) \
580 echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
581 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
582 esac;
583
584 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
585 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
586
587 $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
588 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
589 $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
590 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
591 $(am__aclocal_m4_deps):
592 GpgmeppConfig-w32.cmake.in: $(top_builddir)/config.status $(srcdir)/GpgmeppConfig-w32.cmake.in.in
593 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
594 GpgmeppConfig.cmake.in: $(top_builddir)/config.status $(srcdir)/GpgmeppConfig.cmake.in.in
595 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
596 GpgmeppConfigVersion.cmake: $(top_builddir)/config.status $(srcdir)/GpgmeppConfigVersion.cmake.in
597 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
598 gpgmepp_version.h: $(top_builddir)/config.status $(srcdir)/gpgmepp_version.h.in
599 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
600
601 install-libLTLIBRARIES: $(lib_LTLIBRARIES)
602 @$(NORMAL_INSTALL)
603 @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
604 list2=; for p in $$list; do \
605 if test -f $$p; then \
606 list2="$$list2 $$p"; \
607 else :; fi; \
608 done; \
609 test -z "$$list2" || { \
610 echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \
611 $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \
612 echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
613 $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
614 }
615
616 uninstall-libLTLIBRARIES:
617 @$(NORMAL_UNINSTALL)
618 @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
619 for p in $$list; do \
620 $(am__strip_dir) \
621 echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \
622 $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \
623 done
624
625 clean-libLTLIBRARIES:
626 -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
627 @list='$(lib_LTLIBRARIES)'; \
628 locs=`for p in $$list; do echo $$p; done | \
629 sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
630 sort -u`; \
631 test -z "$$locs" || { \
632 echo rm -f $${locs}; \
633 rm -f $${locs}; \
634 }
635
636 libgpgmepp.la: $(libgpgmepp_la_OBJECTS) $(libgpgmepp_la_DEPENDENCIES) $(EXTRA_libgpgmepp_la_DEPENDENCIES)
637 $(AM_V_CXXLD)$(libgpgmepp_la_LINK) -rpath $(libdir) $(libgpgmepp_la_OBJECTS) $(libgpgmepp_la_LIBADD) $(LIBS)
638
639 mostlyclean-compile:
640 -rm -f *.$(OBJEXT)
641
642 distclean-compile:
643 -rm -f *.tab.c
644
645 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/callbacks.Plo@am__quote@ # am--include-marker
646 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/configuration.Plo@am__quote@ # am--include-marker
647 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/context.Plo@am__quote@ # am--include-marker
648 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/context_vanilla.Plo@am__quote@ # am--include-marker
649 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/data.Plo@am__quote@ # am--include-marker
650 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/decryptionresult.Plo@am__quote@ # am--include-marker
651 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/defaultassuantransaction.Plo@am__quote@ # am--include-marker
652 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/editinteractor.Plo@am__quote@ # am--include-marker
653 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/encryptionresult.Plo@am__quote@ # am--include-marker
654 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/engineinfo.Plo@am__quote@ # am--include-marker
655 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eventloopinteractor.Plo@am__quote@ # am--include-marker
656 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/exception.Plo@am__quote@ # am--include-marker
657 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gpgadduserideditinteractor.Plo@am__quote@ # am--include-marker
658 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gpgagentgetinfoassuantransaction.Plo@am__quote@ # am--include-marker
659 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gpggencardkeyinteractor.Plo@am__quote@ # am--include-marker
660 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gpgsetexpirytimeeditinteractor.Plo@am__quote@ # am--include-marker
661 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gpgsetownertrusteditinteractor.Plo@am__quote@ # am--include-marker
662 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gpgsignkeyeditinteractor.Plo@am__quote@ # am--include-marker
663 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/importresult.Plo@am__quote@ # am--include-marker
664 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/key.Plo@am__quote@ # am--include-marker
665 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/keygenerationresult.Plo@am__quote@ # am--include-marker
666 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/keylistresult.Plo@am__quote@ # am--include-marker
667 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scdgetinfoassuantransaction.Plo@am__quote@ # am--include-marker
668 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/signingresult.Plo@am__quote@ # am--include-marker
669 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/statusconsumerassuantransaction.Plo@am__quote@ # am--include-marker
670 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/swdbresult.Plo@am__quote@ # am--include-marker
671 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tofuinfo.Plo@am__quote@ # am--include-marker
672 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/trustitem.Plo@am__quote@ # am--include-marker
673 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/verificationresult.Plo@am__quote@ # am--include-marker
674 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vfsmountresult.Plo@am__quote@ # am--include-marker
675
676 $(am__depfiles_remade):
677 @$(MKDIR_P) $(@D)
678 @echo '# dummy' >$@-t && $(am__mv) $@-t $@
679
680 am--depfiles: $(am__depfiles_remade)
681
682 .cpp.o:
683 @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
684 @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
685 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
686 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
687 @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $<
688
689 .cpp.obj:
690 @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
691 @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
692 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
693 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
694 @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
695
696 .cpp.lo:
697 @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
698 @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
699 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
700 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
701 @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
702
703 mostlyclean-libtool:
704 -rm -f *.lo
705
706 clean-libtool:
707 -rm -rf .libs _libs
708 install-gpgmeppincludeHEADERS: $(gpgmeppinclude_HEADERS)
709 @$(NORMAL_INSTALL)
710 @list='$(gpgmeppinclude_HEADERS)'; test -n "$(gpgmeppincludedir)" || list=; \
711 if test -n "$$list"; then \
712 echo " $(MKDIR_P) '$(DESTDIR)$(gpgmeppincludedir)'"; \
713 $(MKDIR_P) "$(DESTDIR)$(gpgmeppincludedir)" || exit 1; \
714 fi; \
715 for p in $$list; do \
716 if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
717 echo "$$d$$p"; \
718 done | $(am__base_list) | \
719 while read files; do \
720 echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(gpgmeppincludedir)'"; \
721 $(INSTALL_HEADER) $$files "$(DESTDIR)$(gpgmeppincludedir)" || exit $$?; \
722 done
723
724 uninstall-gpgmeppincludeHEADERS:
725 @$(NORMAL_UNINSTALL)
726 @list='$(gpgmeppinclude_HEADERS)'; test -n "$(gpgmeppincludedir)" || list=; \
727 files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
728 dir='$(DESTDIR)$(gpgmeppincludedir)'; $(am__uninstall_files_from_dir)
729 install-nobase_gpgmeppincludeHEADERS: $(nobase_gpgmeppinclude_HEADERS)
730 @$(NORMAL_INSTALL)
731 @list='$(nobase_gpgmeppinclude_HEADERS)'; test -n "$(gpgmeppincludedir)" || list=; \
732 if test -n "$$list"; then \
733 echo " $(MKDIR_P) '$(DESTDIR)$(gpgmeppincludedir)'"; \
734 $(MKDIR_P) "$(DESTDIR)$(gpgmeppincludedir)" || exit 1; \
735 fi; \
736 $(am__nobase_list) | while read dir files; do \
737 xfiles=; for file in $$files; do \
738 if test -f "$$file"; then xfiles="$$xfiles $$file"; \
739 else xfiles="$$xfiles $(srcdir)/$$file"; fi; done; \
740 test -z "$$xfiles" || { \
741 test "x$$dir" = x. || { \
742 echo " $(MKDIR_P) '$(DESTDIR)$(gpgmeppincludedir)/$$dir'"; \
743 $(MKDIR_P) "$(DESTDIR)$(gpgmeppincludedir)/$$dir"; }; \
744 echo " $(INSTALL_HEADER) $$xfiles '$(DESTDIR)$(gpgmeppincludedir)/$$dir'"; \
745 $(INSTALL_HEADER) $$xfiles "$(DESTDIR)$(gpgmeppincludedir)/$$dir" || exit $$?; }; \
746 done
747
748 uninstall-nobase_gpgmeppincludeHEADERS:
749 @$(NORMAL_UNINSTALL)
750 @list='$(nobase_gpgmeppinclude_HEADERS)'; test -n "$(gpgmeppincludedir)" || list=; \
751 $(am__nobase_strip_setup); files=`$(am__nobase_strip)`; \
752 dir='$(DESTDIR)$(gpgmeppincludedir)'; $(am__uninstall_files_from_dir)
753 install-nodist_gpgmeppincludeHEADERS: $(nodist_gpgmeppinclude_HEADERS)
754 @$(NORMAL_INSTALL)
755 @list='$(nodist_gpgmeppinclude_HEADERS)'; test -n "$(gpgmeppincludedir)" || list=; \
756 if test -n "$$list"; then \
757 echo " $(MKDIR_P) '$(DESTDIR)$(gpgmeppincludedir)'"; \
758 $(MKDIR_P) "$(DESTDIR)$(gpgmeppincludedir)" || exit 1; \
759 fi; \
760 for p in $$list; do \
761 if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
762 echo "$$d$$p"; \
763 done | $(am__base_list) | \
764 while read files; do \
765 echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(gpgmeppincludedir)'"; \
766 $(INSTALL_HEADER) $$files "$(DESTDIR)$(gpgmeppincludedir)" || exit $$?; \
767 done
768
769 uninstall-nodist_gpgmeppincludeHEADERS:
770 @$(NORMAL_UNINSTALL)
771 @list='$(nodist_gpgmeppinclude_HEADERS)'; test -n "$(gpgmeppincludedir)" || list=; \
772 files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
773 dir='$(DESTDIR)$(gpgmeppincludedir)'; $(am__uninstall_files_from_dir)
774
775 ID: $(am__tagged_files)
776 $(am__define_uniq_tagged_files); mkid -fID $$unique
777 tags: tags-am
778 TAGS: tags
779
780 tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
781 set x; \
782 here=`pwd`; \
783 $(am__define_uniq_tagged_files); \
784 shift; \
785 if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
786 test -n "$$unique" || unique=$$empty_fix; \
787 if test $$# -gt 0; then \
788 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
789 "$$@" $$unique; \
790 else \
791 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
792 $$unique; \
793 fi; \
794 fi
795 ctags: ctags-am
796
797 CTAGS: ctags
798 ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
799 $(am__define_uniq_tagged_files); \
800 test -z "$(CTAGS_ARGS)$$unique" \
801 || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
802 $$unique
803
804 GTAGS:
805 here=`$(am__cd) $(top_builddir) && pwd` \
806 && $(am__cd) $(top_srcdir) \
807 && gtags -i $(GTAGS_ARGS) "$$here"
808 cscopelist: cscopelist-am
809
810 cscopelist-am: $(am__tagged_files)
811 list='$(am__tagged_files)'; \
812 case "$(srcdir)" in \
813 [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
814 *) sdir=$(subdir)/$(srcdir) ;; \
815 esac; \
816 for i in $$list; do \
817 if test -f "$$i"; then \
818 echo "$(subdir)/$$i"; \
819 else \
820 echo "$$sdir/$$i"; \
821 fi; \
822 done >> $(top_builddir)/cscope.files
823
824 distclean-tags:
825 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
826 distdir: $(BUILT_SOURCES)
827 $(MAKE) $(AM_MAKEFLAGS) distdir-am
828
829 distdir-am: $(DISTFILES)
830 @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
831 topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
832 list='$(DISTFILES)'; \
833 dist_files=`for file in $$list; do echo $$file; done | \
834 sed -e "s|^$$srcdirstrip/||;t" \
835 -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
836 case $$dist_files in \
837 */*) $(MKDIR_P) `echo "$$dist_files" | \
838 sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
839 sort -u` ;; \
840 esac; \
841 for file in $$dist_files; do \
842 if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
843 if test -d $$d/$$file; then \
844 dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
845 if test -d "$(distdir)/$$file"; then \
846 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
847 fi; \
848 if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
849 cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
850 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
851 fi; \
852 cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
853 else \
854 test -f "$(distdir)/$$file" \
855 || cp -p $$d/$$file "$(distdir)/$$file" \
856 || exit 1; \
857 fi; \
858 done
859 check-am: all-am
860 check: check-am
861 all-am: Makefile $(LTLIBRARIES) $(HEADERS)
862 installdirs:
863 for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(gpgmeppincludedir)" "$(DESTDIR)$(gpgmeppincludedir)" "$(DESTDIR)$(gpgmeppincludedir)"; do \
864 test -z "$$dir" || $(MKDIR_P) "$$dir"; \
865 done
866 install: install-am
867 install-exec: install-exec-am
868 install-data: install-data-am
869 uninstall: uninstall-am
870
871 install-am: all-am
872 @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
873
874 installcheck: installcheck-am
875 install-strip:
876 if test -z '$(STRIP)'; then \
877 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
878 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
879 install; \
880 else \
881 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
882 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
883 "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
884 fi
885 mostlyclean-generic:
886
887 clean-generic:
888 -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
889
890 distclean-generic:
891 -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
892 -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
893
894 maintainer-clean-generic:
895 @echo "This command is intended for maintainers to use"
896 @echo "it deletes files that may require special tools to rebuild."
897 clean: clean-am
898
899 clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \
900 mostlyclean-am
901
902 distclean: distclean-am
903 -rm -f ./$(DEPDIR)/callbacks.Plo
904 -rm -f ./$(DEPDIR)/configuration.Plo
905 -rm -f ./$(DEPDIR)/context.Plo
906 -rm -f ./$(DEPDIR)/context_vanilla.Plo
907 -rm -f ./$(DEPDIR)/data.Plo
908 -rm -f ./$(DEPDIR)/decryptionresult.Plo
909 -rm -f ./$(DEPDIR)/defaultassuantransaction.Plo
910 -rm -f ./$(DEPDIR)/editinteractor.Plo
911 -rm -f ./$(DEPDIR)/encryptionresult.Plo
912 -rm -f ./$(DEPDIR)/engineinfo.Plo
913 -rm -f ./$(DEPDIR)/eventloopinteractor.Plo
914 -rm -f ./$(DEPDIR)/exception.Plo
915 -rm -f ./$(DEPDIR)/gpgadduserideditinteractor.Plo
916 -rm -f ./$(DEPDIR)/gpgagentgetinfoassuantransaction.Plo
917 -rm -f ./$(DEPDIR)/gpggencardkeyinteractor.Plo
918 -rm -f ./$(DEPDIR)/gpgsetexpirytimeeditinteractor.Plo
919 -rm -f ./$(DEPDIR)/gpgsetownertrusteditinteractor.Plo
920 -rm -f ./$(DEPDIR)/gpgsignkeyeditinteractor.Plo
921 -rm -f ./$(DEPDIR)/importresult.Plo
922 -rm -f ./$(DEPDIR)/key.Plo
923 -rm -f ./$(DEPDIR)/keygenerationresult.Plo
924 -rm -f ./$(DEPDIR)/keylistresult.Plo
925 -rm -f ./$(DEPDIR)/scdgetinfoassuantransaction.Plo
926 -rm -f ./$(DEPDIR)/signingresult.Plo
927 -rm -f ./$(DEPDIR)/statusconsumerassuantransaction.Plo
928 -rm -f ./$(DEPDIR)/swdbresult.Plo
929 -rm -f ./$(DEPDIR)/tofuinfo.Plo
930 -rm -f ./$(DEPDIR)/trustitem.Plo
931 -rm -f ./$(DEPDIR)/verificationresult.Plo
932 -rm -f ./$(DEPDIR)/vfsmountresult.Plo
933 -rm -f Makefile
934 distclean-am: clean-am distclean-compile distclean-generic \
935 distclean-tags
936
937 dvi: dvi-am
938
939 dvi-am:
940
941 html: html-am
942
943 html-am:
944
945 info: info-am
946
947 info-am:
948
949 install-data-am: install-data-local install-gpgmeppincludeHEADERS \
950 install-nobase_gpgmeppincludeHEADERS \
951 install-nodist_gpgmeppincludeHEADERS
952
953 install-dvi: install-dvi-am
954
955 install-dvi-am:
956
957 install-exec-am: install-libLTLIBRARIES
958
959 install-html: install-html-am
960
961 install-html-am:
962
963 install-info: install-info-am
964
965 install-info-am:
966
967 install-man:
968
969 install-pdf: install-pdf-am
970
971 install-pdf-am:
972
973 install-ps: install-ps-am
974
975 install-ps-am:
976
977 installcheck-am:
978
979 maintainer-clean: maintainer-clean-am
980 -rm -f ./$(DEPDIR)/callbacks.Plo
981 -rm -f ./$(DEPDIR)/configuration.Plo
982 -rm -f ./$(DEPDIR)/context.Plo
983 -rm -f ./$(DEPDIR)/context_vanilla.Plo
984 -rm -f ./$(DEPDIR)/data.Plo
985 -rm -f ./$(DEPDIR)/decryptionresult.Plo
986 -rm -f ./$(DEPDIR)/defaultassuantransaction.Plo
987 -rm -f ./$(DEPDIR)/editinteractor.Plo
988 -rm -f ./$(DEPDIR)/encryptionresult.Plo
989 -rm -f ./$(DEPDIR)/engineinfo.Plo
990 -rm -f ./$(DEPDIR)/eventloopinteractor.Plo
991 -rm -f ./$(DEPDIR)/exception.Plo
992 -rm -f ./$(DEPDIR)/gpgadduserideditinteractor.Plo
993 -rm -f ./$(DEPDIR)/gpgagentgetinfoassuantransaction.Plo
994 -rm -f ./$(DEPDIR)/gpggencardkeyinteractor.Plo
995 -rm -f ./$(DEPDIR)/gpgsetexpirytimeeditinteractor.Plo
996 -rm -f ./$(DEPDIR)/gpgsetownertrusteditinteractor.Plo
997 -rm -f ./$(DEPDIR)/gpgsignkeyeditinteractor.Plo
998 -rm -f ./$(DEPDIR)/importresult.Plo
999 -rm -f ./$(DEPDIR)/key.Plo
1000 -rm -f ./$(DEPDIR)/keygenerationresult.Plo
1001 -rm -f ./$(DEPDIR)/keylistresult.Plo
1002 -rm -f ./$(DEPDIR)/scdgetinfoassuantransaction.Plo
1003 -rm -f ./$(DEPDIR)/signingresult.Plo
1004 -rm -f ./$(DEPDIR)/statusconsumerassuantransaction.Plo
1005 -rm -f ./$(DEPDIR)/swdbresult.Plo
1006 -rm -f ./$(DEPDIR)/tofuinfo.Plo
1007 -rm -f ./$(DEPDIR)/trustitem.Plo
1008 -rm -f ./$(DEPDIR)/verificationresult.Plo
1009 -rm -f ./$(DEPDIR)/vfsmountresult.Plo
1010 -rm -f Makefile
1011 maintainer-clean-am: distclean-am maintainer-clean-generic
1012
1013 mostlyclean: mostlyclean-am
1014
1015 mostlyclean-am: mostlyclean-compile mostlyclean-generic \
1016 mostlyclean-libtool
1017
1018 pdf: pdf-am
1019
1020 pdf-am:
1021
1022 ps: ps-am
1023
1024 ps-am:
1025
1026 uninstall-am: uninstall-gpgmeppincludeHEADERS uninstall-libLTLIBRARIES \
1027 uninstall-local uninstall-nobase_gpgmeppincludeHEADERS \
1028 uninstall-nodist_gpgmeppincludeHEADERS
1029
1030 .MAKE: install-am install-strip
1031
1032 .PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \
1033 clean-generic clean-libLTLIBRARIES clean-libtool cscopelist-am \
1034 ctags ctags-am distclean distclean-compile distclean-generic \
1035 distclean-libtool distclean-tags distdir dvi dvi-am html \
1036 html-am info info-am install install-am install-data \
1037 install-data-am install-data-local install-dvi install-dvi-am \
1038 install-exec install-exec-am install-gpgmeppincludeHEADERS \
1039 install-html install-html-am install-info install-info-am \
1040 install-libLTLIBRARIES install-man \
1041 install-nobase_gpgmeppincludeHEADERS \
1042 install-nodist_gpgmeppincludeHEADERS install-pdf \
1043 install-pdf-am install-ps install-ps-am install-strip \
1044 installcheck installcheck-am installdirs maintainer-clean \
1045 maintainer-clean-generic mostlyclean mostlyclean-compile \
1046 mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
1047 tags tags-am uninstall uninstall-am \
1048 uninstall-gpgmeppincludeHEADERS uninstall-libLTLIBRARIES \
1049 uninstall-local uninstall-nobase_gpgmeppincludeHEADERS \
1050 uninstall-nodist_gpgmeppincludeHEADERS
1051
1052 .PRECIOUS: Makefile
1053
1054
1055 @HAVE_W32_SYSTEM_TRUE@GpgmeppConfig.cmake: GpgmeppConfig-w32.cmake.in
1056 @HAVE_W32_SYSTEM_TRUE@ sed -e 's|[@]resolved_bindir@|$(bindir)|g' < "$<" | \
1057 @HAVE_W32_SYSTEM_TRUE@ sed -e 's|[@]resolved_libdir@|$(libdir)|g' | \
1058 @HAVE_W32_SYSTEM_TRUE@ sed -e 's|[@]resolved_includedir@|$(includedir)|g' > $@
1059 @HAVE_W32_SYSTEM_FALSE@GpgmeppConfig.cmake: GpgmeppConfig.cmake.in
1060 @HAVE_W32_SYSTEM_FALSE@ sed -e 's|[@]resolved_libdir@|$(libdir)|g' < "$<" | \
1061 @HAVE_W32_SYSTEM_FALSE@ sed -e 's|[@]libsuffix@|$(libsuffix)|g' | \
1062 @HAVE_W32_SYSTEM_FALSE@ sed -e 's|[@]resolved_includedir@|$(includedir)|g' > $@
1063 install-cmake-files: GpgmeppConfig.cmake GpgmeppConfigVersion.cmake
1064 -$(INSTALL) -d $(DESTDIR)$(libdir)/cmake/Gpgmepp
1065 $(INSTALL) -m 644 GpgmeppConfig.cmake \
1066 $(DESTDIR)$(libdir)/cmake/Gpgmepp/GpgmeppConfig.cmake
1067 $(INSTALL) -m 644 GpgmeppConfigVersion.cmake \
1068 $(DESTDIR)$(libdir)/cmake/Gpgmepp/GpgmeppConfigVersion.cmake
1069
1070 uninstall-cmake-files:
1071 -rm $(DESTDIR)$(libdir)/cmake/Gpgmepp/GpgmeppConfigVersion.cmake
1072 -rm $(DESTDIR)$(libdir)/cmake/Gpgmepp/GpgmeppConfig.cmake
1073 -rmdir $(DESTDIR)$(libdir)/cmake/Gpgmepp/
1074
1075 install-data-local: install-cmake-files
1076
1077 uninstall-local: uninstall-cmake-files
1078
1079 # Tell versions [3.59,3.63) of GNU make to not export all variables.
1080 # Otherwise a system limit (for SysV at least) may be exceeded.
1081 .NOEXPORT:
0 # Makefile.in generated by automake 1.16.4 from Makefile.am.
1 # @configure_input@
2
3 # Copyright (C) 1994-2021 Free Software Foundation, Inc.
4
5 # This Makefile.in is free software; the Free Software Foundation
6 # gives unlimited permission to copy and/or distribute it,
7 # with or without modifications, as long as this notice is preserved.
8
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
11 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
12 # PARTICULAR PURPOSE.
13
14 @SET_MAKE@
15
16 # Makefile.am - Makefile for GPGME Cpp tests.
17 # Copyright (C) 2018 Intevation GmbH
18 #
19 # This file is part of GPGME.
20 #
21 # GPGME is free software; you can redistribute it and/or modify it
22 # under the terms of the GNU Lesser General Public License as
23 # published by the Free Software Foundation; either version 2.1 of the
24 # License, or (at your option) any later version.
25 #
26 # GPGME is distributed in the hope that it will be useful, but WITHOUT
27 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
28 # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General
29 # Public License for more details.
30 #
31 # You should have received a copy of the GNU Lesser General Public
32 # License along with this program; if not, see <https://www.gnu.org/licenses/>.
33
34 VPATH = @srcdir@
35 am__is_gnu_make = { \
36 if test -z '$(MAKELEVEL)'; then \
37 false; \
38 elif test -n '$(MAKE_HOST)'; then \
39 true; \
40 elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
41 true; \
42 else \
43 false; \
44 fi; \
45 }
46 am__make_running_with_option = \
47 case $${target_option-} in \
48 ?) ;; \
49 *) echo "am__make_running_with_option: internal error: invalid" \
50 "target option '$${target_option-}' specified" >&2; \
51 exit 1;; \
52 esac; \
53 has_opt=no; \
54 sane_makeflags=$$MAKEFLAGS; \
55 if $(am__is_gnu_make); then \
56 sane_makeflags=$$MFLAGS; \
57 else \
58 case $$MAKEFLAGS in \
59 *\\[\ \ ]*) \
60 bs=\\; \
61 sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
62 | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
63 esac; \
64 fi; \
65 skip_next=no; \
66 strip_trailopt () \
67 { \
68 flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
69 }; \
70 for flg in $$sane_makeflags; do \
71 test $$skip_next = yes && { skip_next=no; continue; }; \
72 case $$flg in \
73 *=*|--*) continue;; \
74 -*I) strip_trailopt 'I'; skip_next=yes;; \
75 -*I?*) strip_trailopt 'I';; \
76 -*O) strip_trailopt 'O'; skip_next=yes;; \
77 -*O?*) strip_trailopt 'O';; \
78 -*l) strip_trailopt 'l'; skip_next=yes;; \
79 -*l?*) strip_trailopt 'l';; \
80 -[dEDm]) skip_next=yes;; \
81 -[JT]) skip_next=yes;; \
82 esac; \
83 case $$flg in \
84 *$$target_option*) has_opt=yes; break;; \
85 esac; \
86 done; \
87 test $$has_opt = yes
88 am__make_dryrun = (target_option=n; $(am__make_running_with_option))
89 am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
90 pkgdatadir = $(datadir)/@PACKAGE@
91 pkgincludedir = $(includedir)/@PACKAGE@
92 pkglibdir = $(libdir)/@PACKAGE@
93 pkglibexecdir = $(libexecdir)/@PACKAGE@
94 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
95 install_sh_DATA = $(install_sh) -c -m 644
96 install_sh_PROGRAM = $(install_sh) -c
97 install_sh_SCRIPT = $(install_sh) -c
98 INSTALL_HEADER = $(INSTALL_DATA)
99 transform = $(program_transform_name)
100 NORMAL_INSTALL = :
101 PRE_INSTALL = :
102 POST_INSTALL = :
103 NORMAL_UNINSTALL = :
104 PRE_UNINSTALL = :
105 POST_UNINSTALL = :
106 build_triplet = @build@
107 host_triplet = @host@
108 noinst_PROGRAMS = run-getkey$(EXEEXT) run-keylist$(EXEEXT) \
109 run-verify$(EXEEXT)
110 subdir = lang/cpp/tests
111 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
112 am__aclocal_m4_deps = $(top_srcdir)/m4/ax_cxx_compile_stdcxx.m4 \
113 $(top_srcdir)/m4/ax_pkg_swig.m4 \
114 $(top_srcdir)/m4/ax_python_devel.m4 \
115 $(top_srcdir)/m4/glib-2.0.m4 $(top_srcdir)/m4/glibc21.m4 \
116 $(top_srcdir)/m4/gnupg-ttyname.m4 \
117 $(top_srcdir)/m4/gpg-error.m4 $(top_srcdir)/m4/libassuan.m4 \
118 $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
119 $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
120 $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/pkg.m4 \
121 $(top_srcdir)/m4/python.m4 $(top_srcdir)/m4/qt.m4 \
122 $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
123 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
124 $(ACLOCAL_M4)
125 DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
126 mkinstalldirs = $(SHELL) $(top_srcdir)/build-aux/mkinstalldirs
127 CONFIG_HEADER = $(top_builddir)/conf/config.h
128 CONFIG_CLEAN_FILES =
129 CONFIG_CLEAN_VPATH_FILES =
130 PROGRAMS = $(noinst_PROGRAMS)
131 am_run_getkey_OBJECTS = run-getkey.$(OBJEXT)
132 run_getkey_OBJECTS = $(am_run_getkey_OBJECTS)
133 run_getkey_LDADD = $(LDADD)
134 run_getkey_DEPENDENCIES = ../../cpp/src/libgpgmepp.la \
135 ../../../src/libgpgme.la
136 AM_V_lt = $(am__v_lt_@AM_V@)
137 am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
138 am__v_lt_0 = --silent
139 am__v_lt_1 =
140 am_run_keylist_OBJECTS = run-keylist.$(OBJEXT)
141 run_keylist_OBJECTS = $(am_run_keylist_OBJECTS)
142 run_keylist_LDADD = $(LDADD)
143 run_keylist_DEPENDENCIES = ../../cpp/src/libgpgmepp.la \
144 ../../../src/libgpgme.la
145 am_run_verify_OBJECTS = run-verify.$(OBJEXT)
146 run_verify_OBJECTS = $(am_run_verify_OBJECTS)
147 run_verify_LDADD = $(LDADD)
148 run_verify_DEPENDENCIES = ../../cpp/src/libgpgmepp.la \
149 ../../../src/libgpgme.la
150 AM_V_P = $(am__v_P_@AM_V@)
151 am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
152 am__v_P_0 = false
153 am__v_P_1 = :
154 AM_V_GEN = $(am__v_GEN_@AM_V@)
155 am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
156 am__v_GEN_0 = @echo " GEN " $@;
157 am__v_GEN_1 =
158 AM_V_at = $(am__v_at_@AM_V@)
159 am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
160 am__v_at_0 = @
161 am__v_at_1 =
162 DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/conf
163 depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp
164 am__maybe_remake_depfiles = depfiles
165 am__depfiles_remade = ./$(DEPDIR)/run-getkey.Po \
166 ./$(DEPDIR)/run-keylist.Po ./$(DEPDIR)/run-verify.Po
167 am__mv = mv -f
168 CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
169 $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
170 LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
171 $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
172 $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
173 $(AM_CXXFLAGS) $(CXXFLAGS)
174 AM_V_CXX = $(am__v_CXX_@AM_V@)
175 am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@)
176 am__v_CXX_0 = @echo " CXX " $@;
177 am__v_CXX_1 =
178 CXXLD = $(CXX)
179 CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
180 $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
181 $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
182 AM_V_CXXLD = $(am__v_CXXLD_@AM_V@)
183 am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@)
184 am__v_CXXLD_0 = @echo " CXXLD " $@;
185 am__v_CXXLD_1 =
186 SOURCES = $(run_getkey_SOURCES) $(run_keylist_SOURCES) \
187 $(run_verify_SOURCES)
188 DIST_SOURCES = $(run_getkey_SOURCES) $(run_keylist_SOURCES) \
189 $(run_verify_SOURCES)
190 am__can_run_installinfo = \
191 case $$AM_UPDATE_INFO_DIR in \
192 n|no|NO) false;; \
193 *) (install-info --version) >/dev/null 2>&1;; \
194 esac
195 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
196 # Read a list of newline-separated strings from the standard input,
197 # and print each of them once, without duplicates. Input order is
198 # *not* preserved.
199 am__uniquify_input = $(AWK) '\
200 BEGIN { nonempty = 0; } \
201 { items[$$0] = 1; nonempty = 1; } \
202 END { if (nonempty) { for (i in items) print i; }; } \
203 '
204 # Make sure the list of sources is unique. This is necessary because,
205 # e.g., the same source file might be shared among _SOURCES variables
206 # for different programs/libraries.
207 am__define_uniq_tagged_files = \
208 list='$(am__tagged_files)'; \
209 unique=`for i in $$list; do \
210 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
211 done | $(am__uniquify_input)`
212 am__DIST_COMMON = $(srcdir)/Makefile.in \
213 $(top_srcdir)/build-aux/depcomp \
214 $(top_srcdir)/build-aux/mkinstalldirs README
215 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
216 ACLOCAL = @ACLOCAL@
217 AMTAR = @AMTAR@
218 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
219 AR = @AR@
220 AS = @AS@
221 AUTOCONF = @AUTOCONF@
222 AUTOHEADER = @AUTOHEADER@
223 AUTOMAKE = @AUTOMAKE@
224 AWK = @AWK@
225 BUILD_FILEVERSION = @BUILD_FILEVERSION@
226 BUILD_REVISION = @BUILD_REVISION@
227 BUILD_TIMESTAMP = @BUILD_TIMESTAMP@
228 BUILD_VERSION = @BUILD_VERSION@
229 CC = @CC@
230 CCDEPMODE = @CCDEPMODE@
231 CC_FOR_BUILD = @CC_FOR_BUILD@
232 CFLAGS = @CFLAGS@
233 CPP = @CPP@
234 CPPFLAGS = @CPPFLAGS@
235 CSCOPE = @CSCOPE@
236 CTAGS = @CTAGS@
237 CXX = @CXX@
238 CXXCPP = @CXXCPP@
239 CXXDEPMODE = @CXXDEPMODE@
240 CXXFLAGS = @CXXFLAGS@
241 CYGPATH_W = @CYGPATH_W@
242 DEFS = @DEFS@
243 DEPDIR = @DEPDIR@
244 DLLTOOL = @DLLTOOL@
245 DOXYGEN = @DOXYGEN@
246 DSYMUTIL = @DSYMUTIL@
247 DUMPBIN = @DUMPBIN@
248 ECHO_C = @ECHO_C@
249 ECHO_N = @ECHO_N@
250 ECHO_T = @ECHO_T@
251 EGREP = @EGREP@
252 ENABLED_LANGUAGES = @ENABLED_LANGUAGES@
253 ETAGS = @ETAGS@
254 EXEEXT = @EXEEXT@
255 FGREP = @FGREP@
256 GITLOG_TO_CHANGELOG = @GITLOG_TO_CHANGELOG@
257 GLIBC21 = @GLIBC21@
258 GLIB_CFLAGS = @GLIB_CFLAGS@
259 GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
260 GLIB_LIBS = @GLIB_LIBS@
261 GLIB_MKENUMS = @GLIB_MKENUMS@
262 GOBJECT_QUERY = @GOBJECT_QUERY@
263 GPGME_CONFIG_API_VERSION = @GPGME_CONFIG_API_VERSION@
264 GPGME_CONFIG_AVAIL_LANG = @GPGME_CONFIG_AVAIL_LANG@
265 GPGME_CONFIG_CFLAGS = @GPGME_CONFIG_CFLAGS@
266 GPGME_CONFIG_HOST = @GPGME_CONFIG_HOST@
267 GPGME_CONFIG_LIBS = @GPGME_CONFIG_LIBS@
268 GPGME_QTTEST_CFLAGS = @GPGME_QTTEST_CFLAGS@
269 GPGME_QTTEST_LIBS = @GPGME_QTTEST_LIBS@
270 GPGME_QT_CFLAGS = @GPGME_QT_CFLAGS@
271 GPGME_QT_LIBS = @GPGME_QT_LIBS@
272 GPGRT_CONFIG = @GPGRT_CONFIG@
273 GPG_ERROR_CFLAGS = @GPG_ERROR_CFLAGS@
274 GPG_ERROR_CONFIG = @GPG_ERROR_CONFIG@
275 GPG_ERROR_LIBS = @GPG_ERROR_LIBS@
276 GPG_ERROR_MT_CFLAGS = @GPG_ERROR_MT_CFLAGS@
277 GPG_ERROR_MT_LIBS = @GPG_ERROR_MT_LIBS@
278 GRAPHVIZ = @GRAPHVIZ@
279 GREP = @GREP@
280 HAVE_CXX11 = @HAVE_CXX11@
281 HAVE_DOT = @HAVE_DOT@
282 INSTALL = @INSTALL@
283 INSTALL_DATA = @INSTALL_DATA@
284 INSTALL_PROGRAM = @INSTALL_PROGRAM@
285 INSTALL_SCRIPT = @INSTALL_SCRIPT@
286 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
287 LD = @LD@
288 LDADD_FOR_TESTS_KLUDGE = @LDADD_FOR_TESTS_KLUDGE@
289 LDFLAGS = @LDFLAGS@
290 LIBASSUAN_CFLAGS = @LIBASSUAN_CFLAGS@
291 LIBASSUAN_CONFIG = @LIBASSUAN_CONFIG@
292 LIBASSUAN_LIBS = @LIBASSUAN_LIBS@
293 LIBGPGMEPP_LT_AGE = @LIBGPGMEPP_LT_AGE@
294 LIBGPGMEPP_LT_CURRENT = @LIBGPGMEPP_LT_CURRENT@
295 LIBGPGMEPP_LT_REVISION = @LIBGPGMEPP_LT_REVISION@
296 LIBGPGME_LT_AGE = @LIBGPGME_LT_AGE@
297 LIBGPGME_LT_CURRENT = @LIBGPGME_LT_CURRENT@
298 LIBGPGME_LT_REVISION = @LIBGPGME_LT_REVISION@
299 LIBOBJS = @LIBOBJS@
300 LIBQGPGME_LT_AGE = @LIBQGPGME_LT_AGE@
301 LIBQGPGME_LT_CURRENT = @LIBQGPGME_LT_CURRENT@
302 LIBQGPGME_LT_REVISION = @LIBQGPGME_LT_REVISION@
303 LIBS = @LIBS@
304 LIBTOOL = @LIBTOOL@
305 LIPO = @LIPO@
306 LN_S = @LN_S@
307 LTLIBOBJS = @LTLIBOBJS@
308 MAINT = @MAINT@
309 MAKEINFO = @MAKEINFO@
310 MANIFEST_TOOL = @MANIFEST_TOOL@
311 MKDIR_P = @MKDIR_P@
312 MOC = @MOC@
313 MOC2 = @MOC2@
314 NEED__FILE_OFFSET_BITS = @NEED__FILE_OFFSET_BITS@
315 NM = @NM@
316 NMEDIT = @NMEDIT@
317 OBJDUMP = @OBJDUMP@
318 OBJEXT = @OBJEXT@
319 OTOOL = @OTOOL@
320 OTOOL64 = @OTOOL64@
321 PACKAGE = @PACKAGE@
322 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
323 PACKAGE_NAME = @PACKAGE_NAME@
324 PACKAGE_STRING = @PACKAGE_STRING@
325 PACKAGE_TARNAME = @PACKAGE_TARNAME@
326 PACKAGE_URL = @PACKAGE_URL@
327 PACKAGE_VERSION = @PACKAGE_VERSION@
328 PATH_SEPARATOR = @PATH_SEPARATOR@
329 PKG_CONFIG = @PKG_CONFIG@
330 PYTHON = @PYTHON@
331 PYTHONS = @PYTHONS@
332 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
333 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
334 PYTHON_EXTRA_LDFLAGS = @PYTHON_EXTRA_LDFLAGS@
335 PYTHON_EXTRA_LIBS = @PYTHON_EXTRA_LIBS@
336 PYTHON_LDFLAGS = @PYTHON_LDFLAGS@
337 PYTHON_PLATFORM = @PYTHON_PLATFORM@
338 PYTHON_PREFIX = @PYTHON_PREFIX@
339 PYTHON_SITE_PKG = @PYTHON_SITE_PKG@
340 PYTHON_VERSION = @PYTHON_VERSION@
341 QTCHOOSER = @QTCHOOSER@
342 RANLIB = @RANLIB@
343 RC = @RC@
344 SED = @SED@
345 SET_MAKE = @SET_MAKE@
346 SHELL = @SHELL@
347 STRIP = @STRIP@
348 SWIG = @SWIG@
349 SWIG_LIB = @SWIG_LIB@
350 SYSROOT = @SYSROOT@
351 VERSION = @VERSION@
352 VERSION_MAJOR = @VERSION_MAJOR@
353 VERSION_MICRO = @VERSION_MICRO@
354 VERSION_MINOR = @VERSION_MINOR@
355 VERSION_NUMBER = @VERSION_NUMBER@
356 abs_builddir = @abs_builddir@
357 abs_srcdir = @abs_srcdir@
358 abs_top_builddir = @abs_top_builddir@
359 abs_top_srcdir = @abs_top_srcdir@
360 ac_ct_AR = @ac_ct_AR@
361 ac_ct_CC = @ac_ct_CC@
362 ac_ct_CXX = @ac_ct_CXX@
363 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
364 am__include = @am__include@
365 am__leading_dot = @am__leading_dot@
366 am__quote = @am__quote@
367 am__tar = @am__tar@
368 am__untar = @am__untar@
369 bindir = @bindir@
370 build = @build@
371 build_alias = @build_alias@
372 build_cpu = @build_cpu@
373 build_os = @build_os@
374 build_vendor = @build_vendor@
375 builddir = @builddir@
376 datadir = @datadir@
377 datarootdir = @datarootdir@
378 docdir = @docdir@
379 dvidir = @dvidir@
380 emacs_local_vars_begin = @emacs_local_vars_begin@
381 emacs_local_vars_end = @emacs_local_vars_end@
382 emacs_local_vars_read_only = @emacs_local_vars_read_only@
383 exec_prefix = @exec_prefix@
384 host = @host@
385 host_alias = @host_alias@
386 host_cpu = @host_cpu@
387 host_os = @host_os@
388 host_vendor = @host_vendor@
389 htmldir = @htmldir@
390 includedir = @includedir@
391 infodir = @infodir@
392 install_sh = @install_sh@
393 libdir = @libdir@
394 libexecdir = @libexecdir@
395 localedir = @localedir@
396 localstatedir = @localstatedir@
397 mandir = @mandir@
398 mkdir_p = @mkdir_p@
399 oldincludedir = @oldincludedir@
400 pdfdir = @pdfdir@
401 pkgpyexecdir = @pkgpyexecdir@
402 pkgpythondir = @pkgpythondir@
403 prefix = @prefix@
404 program_transform_name = @program_transform_name@
405 psdir = @psdir@
406 pyexecdir = @pyexecdir@
407 pythondir = @pythondir@
408 runstatedir = @runstatedir@
409 sbindir = @sbindir@
410 sharedstatedir = @sharedstatedir@
411 srcdir = @srcdir@
412 sysconfdir = @sysconfdir@
413 target_alias = @target_alias@
414 top_build_prefix = @top_build_prefix@
415 top_builddir = @top_builddir@
416 top_srcdir = @top_srcdir@
417 AM_LDFLAGS = -no-install
418 LDADD = ../../cpp/src/libgpgmepp.la \
419 ../../../src/libgpgme.la @GPG_ERROR_LIBS@ \
420 @LDADD_FOR_TESTS_KLUDGE@ -lstdc++
421
422 AM_CPPFLAGS = -I$(top_srcdir)/lang/cpp/src -I$(top_builddir)/src \
423 @GPG_ERROR_CFLAGS@ @GPG_ERROR_CFLAGS@ \
424 @LIBASSUAN_CFLAGS@ -DBUILDING_GPGMEPP \
425 -DTOP_SRCDIR="$(top_srcdir)"
426
427 run_getkey_SOURCES = run-getkey.cpp
428 run_keylist_SOURCES = run-keylist.cpp
429 run_verify_SOURCES = run-verify.cpp
430 all: all-am
431
432 .SUFFIXES:
433 .SUFFIXES: .cpp .lo .o .obj
434 $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
435 @for dep in $?; do \
436 case '$(am__configure_deps)' in \
437 *$$dep*) \
438 ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
439 && { if test -f $@; then exit 0; else break; fi; }; \
440 exit 1;; \
441 esac; \
442 done; \
443 echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu lang/cpp/tests/Makefile'; \
444 $(am__cd) $(top_srcdir) && \
445 $(AUTOMAKE) --gnu lang/cpp/tests/Makefile
446 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
447 @case '$?' in \
448 *config.status*) \
449 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
450 *) \
451 echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
452 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
453 esac;
454
455 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
456 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
457
458 $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
459 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
460 $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
461 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
462 $(am__aclocal_m4_deps):
463
464 clean-noinstPROGRAMS:
465 @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \
466 echo " rm -f" $$list; \
467 rm -f $$list || exit $$?; \
468 test -n "$(EXEEXT)" || exit 0; \
469 list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
470 echo " rm -f" $$list; \
471 rm -f $$list
472
473 run-getkey$(EXEEXT): $(run_getkey_OBJECTS) $(run_getkey_DEPENDENCIES) $(EXTRA_run_getkey_DEPENDENCIES)
474 @rm -f run-getkey$(EXEEXT)
475 $(AM_V_CXXLD)$(CXXLINK) $(run_getkey_OBJECTS) $(run_getkey_LDADD) $(LIBS)
476
477 run-keylist$(EXEEXT): $(run_keylist_OBJECTS) $(run_keylist_DEPENDENCIES) $(EXTRA_run_keylist_DEPENDENCIES)
478 @rm -f run-keylist$(EXEEXT)
479 $(AM_V_CXXLD)$(CXXLINK) $(run_keylist_OBJECTS) $(run_keylist_LDADD) $(LIBS)
480
481 run-verify$(EXEEXT): $(run_verify_OBJECTS) $(run_verify_DEPENDENCIES) $(EXTRA_run_verify_DEPENDENCIES)
482 @rm -f run-verify$(EXEEXT)
483 $(AM_V_CXXLD)$(CXXLINK) $(run_verify_OBJECTS) $(run_verify_LDADD) $(LIBS)
484
485 mostlyclean-compile:
486 -rm -f *.$(OBJEXT)
487
488 distclean-compile:
489 -rm -f *.tab.c
490
491 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/run-getkey.Po@am__quote@ # am--include-marker
492 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/run-keylist.Po@am__quote@ # am--include-marker
493 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/run-verify.Po@am__quote@ # am--include-marker
494
495 $(am__depfiles_remade):
496 @$(MKDIR_P) $(@D)
497 @echo '# dummy' >$@-t && $(am__mv) $@-t $@
498
499 am--depfiles: $(am__depfiles_remade)
500
501 .cpp.o:
502 @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
503 @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
504 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
505 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
506 @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $<
507
508 .cpp.obj:
509 @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
510 @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
511 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
512 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
513 @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
514
515 .cpp.lo:
516 @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
517 @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
518 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
519 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
520 @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
521
522 mostlyclean-libtool:
523 -rm -f *.lo
524
525 clean-libtool:
526 -rm -rf .libs _libs
527
528 ID: $(am__tagged_files)
529 $(am__define_uniq_tagged_files); mkid -fID $$unique
530 tags: tags-am
531 TAGS: tags
532
533 tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
534 set x; \
535 here=`pwd`; \
536 $(am__define_uniq_tagged_files); \
537 shift; \
538 if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
539 test -n "$$unique" || unique=$$empty_fix; \
540 if test $$# -gt 0; then \
541 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
542 "$$@" $$unique; \
543 else \
544 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
545 $$unique; \
546 fi; \
547 fi
548 ctags: ctags-am
549
550 CTAGS: ctags
551 ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
552 $(am__define_uniq_tagged_files); \
553 test -z "$(CTAGS_ARGS)$$unique" \
554 || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
555 $$unique
556
557 GTAGS:
558 here=`$(am__cd) $(top_builddir) && pwd` \
559 && $(am__cd) $(top_srcdir) \
560 && gtags -i $(GTAGS_ARGS) "$$here"
561 cscopelist: cscopelist-am
562
563 cscopelist-am: $(am__tagged_files)
564 list='$(am__tagged_files)'; \
565 case "$(srcdir)" in \
566 [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
567 *) sdir=$(subdir)/$(srcdir) ;; \
568 esac; \
569 for i in $$list; do \
570 if test -f "$$i"; then \
571 echo "$(subdir)/$$i"; \
572 else \
573 echo "$$sdir/$$i"; \
574 fi; \
575 done >> $(top_builddir)/cscope.files
576
577 distclean-tags:
578 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
579 distdir: $(BUILT_SOURCES)
580 $(MAKE) $(AM_MAKEFLAGS) distdir-am
581
582 distdir-am: $(DISTFILES)
583 @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
584 topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
585 list='$(DISTFILES)'; \
586 dist_files=`for file in $$list; do echo $$file; done | \
587 sed -e "s|^$$srcdirstrip/||;t" \
588 -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
589 case $$dist_files in \
590 */*) $(MKDIR_P) `echo "$$dist_files" | \
591 sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
592 sort -u` ;; \
593 esac; \
594 for file in $$dist_files; do \
595 if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
596 if test -d $$d/$$file; then \
597 dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
598 if test -d "$(distdir)/$$file"; then \
599 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
600 fi; \
601 if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
602 cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
603 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
604 fi; \
605 cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
606 else \
607 test -f "$(distdir)/$$file" \
608 || cp -p $$d/$$file "$(distdir)/$$file" \
609 || exit 1; \
610 fi; \
611 done
612 check-am: all-am
613 check: check-am
614 all-am: Makefile $(PROGRAMS)
615 installdirs:
616 install: install-am
617 install-exec: install-exec-am
618 install-data: install-data-am
619 uninstall: uninstall-am
620
621 install-am: all-am
622 @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
623
624 installcheck: installcheck-am
625 install-strip:
626 if test -z '$(STRIP)'; then \
627 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
628 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
629 install; \
630 else \
631 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
632 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
633 "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
634 fi
635 mostlyclean-generic:
636
637 clean-generic:
638
639 distclean-generic:
640 -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
641 -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
642
643 maintainer-clean-generic:
644 @echo "This command is intended for maintainers to use"
645 @echo "it deletes files that may require special tools to rebuild."
646 clean: clean-am
647
648 clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \
649 mostlyclean-am
650
651 distclean: distclean-am
652 -rm -f ./$(DEPDIR)/run-getkey.Po
653 -rm -f ./$(DEPDIR)/run-keylist.Po
654 -rm -f ./$(DEPDIR)/run-verify.Po
655 -rm -f Makefile
656 distclean-am: clean-am distclean-compile distclean-generic \
657 distclean-tags
658
659 dvi: dvi-am
660
661 dvi-am:
662
663 html: html-am
664
665 html-am:
666
667 info: info-am
668
669 info-am:
670
671 install-data-am:
672
673 install-dvi: install-dvi-am
674
675 install-dvi-am:
676
677 install-exec-am:
678
679 install-html: install-html-am
680
681 install-html-am:
682
683 install-info: install-info-am
684
685 install-info-am:
686
687 install-man:
688
689 install-pdf: install-pdf-am
690
691 install-pdf-am:
692
693 install-ps: install-ps-am
694
695 install-ps-am:
696
697 installcheck-am:
698
699 maintainer-clean: maintainer-clean-am
700 -rm -f ./$(DEPDIR)/run-getkey.Po
701 -rm -f ./$(DEPDIR)/run-keylist.Po
702 -rm -f ./$(DEPDIR)/run-verify.Po
703 -rm -f Makefile
704 maintainer-clean-am: distclean-am maintainer-clean-generic
705
706 mostlyclean: mostlyclean-am
707
708 mostlyclean-am: mostlyclean-compile mostlyclean-generic \
709 mostlyclean-libtool
710
711 pdf: pdf-am
712
713 pdf-am:
714
715 ps: ps-am
716
717 ps-am:
718
719 uninstall-am:
720
721 .MAKE: install-am install-strip
722
723 .PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \
724 clean-generic clean-libtool clean-noinstPROGRAMS cscopelist-am \
725 ctags ctags-am distclean distclean-compile distclean-generic \
726 distclean-libtool distclean-tags distdir dvi dvi-am html \
727 html-am info info-am install install-am install-data \
728 install-data-am install-dvi install-dvi-am install-exec \
729 install-exec-am install-html install-html-am install-info \
730 install-info-am install-man install-pdf install-pdf-am \
731 install-ps install-ps-am install-strip installcheck \
732 installcheck-am installdirs maintainer-clean \
733 maintainer-clean-generic mostlyclean mostlyclean-compile \
734 mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
735 tags tags-am uninstall uninstall-am
736
737 .PRECIOUS: Makefile
738
739
740 # Tell versions [3.59,3.63) of GNU make to not export all variables.
741 # Otherwise a system limit (for SysV at least) may be exceeded.
742 .NOEXPORT:
0 # Makefile.in generated by automake 1.16.4 from Makefile.am.
1 # @configure_input@
2
3 # Copyright (C) 1994-2021 Free Software Foundation, Inc.
4
5 # This Makefile.in is free software; the Free Software Foundation
6 # gives unlimited permission to copy and/or distribute it,
7 # with or without modifications, as long as this notice is preserved.
8
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
11 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
12 # PARTICULAR PURPOSE.
13
14 @SET_MAKE@
15
16 # Makefile.am for gpgme.js.
17 # Copyright (C) 2018 Intevation GmbH
18 #
19 # This file is part of GPGME.
20 #
21 # gpgme.js is free software; you can redistribute it and/or modify it
22 # under the terms of the GNU General Public License as published by
23 # the Free Software Foundation; either version 2 of the License, or
24 # (at your option) any later version.
25 #
26 # gpgme.js is distributed in the hope that it will be useful,
27 # but WITHOUT ANY WARRANTY; without even the implied warranty of
28 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
29 # GNU Lesser General Public License for more details.
30 #
31 # You should have received a copy of the GNU General Public License
32 # along with this program; if not, write to the Free Software
33 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
34 # 02111-1307, USA
35 VPATH = @srcdir@
36 am__is_gnu_make = { \
37 if test -z '$(MAKELEVEL)'; then \
38 false; \
39 elif test -n '$(MAKE_HOST)'; then \
40 true; \
41 elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
42 true; \
43 else \
44 false; \
45 fi; \
46 }
47 am__make_running_with_option = \
48 case $${target_option-} in \
49 ?) ;; \
50 *) echo "am__make_running_with_option: internal error: invalid" \
51 "target option '$${target_option-}' specified" >&2; \
52 exit 1;; \
53 esac; \
54 has_opt=no; \
55 sane_makeflags=$$MAKEFLAGS; \
56 if $(am__is_gnu_make); then \
57 sane_makeflags=$$MFLAGS; \
58 else \
59 case $$MAKEFLAGS in \
60 *\\[\ \ ]*) \
61 bs=\\; \
62 sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
63 | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
64 esac; \
65 fi; \
66 skip_next=no; \
67 strip_trailopt () \
68 { \
69 flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
70 }; \
71 for flg in $$sane_makeflags; do \
72 test $$skip_next = yes && { skip_next=no; continue; }; \
73 case $$flg in \
74 *=*|--*) continue;; \
75 -*I) strip_trailopt 'I'; skip_next=yes;; \
76 -*I?*) strip_trailopt 'I';; \
77 -*O) strip_trailopt 'O'; skip_next=yes;; \
78 -*O?*) strip_trailopt 'O';; \
79 -*l) strip_trailopt 'l'; skip_next=yes;; \
80 -*l?*) strip_trailopt 'l';; \
81 -[dEDm]) skip_next=yes;; \
82 -[JT]) skip_next=yes;; \
83 esac; \
84 case $$flg in \
85 *$$target_option*) has_opt=yes; break;; \
86 esac; \
87 done; \
88 test $$has_opt = yes
89 am__make_dryrun = (target_option=n; $(am__make_running_with_option))
90 am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
91 pkgdatadir = $(datadir)/@PACKAGE@
92 pkgincludedir = $(includedir)/@PACKAGE@
93 pkglibdir = $(libdir)/@PACKAGE@
94 pkglibexecdir = $(libexecdir)/@PACKAGE@
95 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
96 install_sh_DATA = $(install_sh) -c -m 644
97 install_sh_PROGRAM = $(install_sh) -c
98 install_sh_SCRIPT = $(install_sh) -c
99 INSTALL_HEADER = $(INSTALL_DATA)
100 transform = $(program_transform_name)
101 NORMAL_INSTALL = :
102 PRE_INSTALL = :
103 POST_INSTALL = :
104 NORMAL_UNINSTALL = :
105 PRE_UNINSTALL = :
106 POST_UNINSTALL = :
107 build_triplet = @build@
108 host_triplet = @host@
109 subdir = lang/js/BrowserTestExtension
110 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
111 am__aclocal_m4_deps = $(top_srcdir)/m4/ax_cxx_compile_stdcxx.m4 \
112 $(top_srcdir)/m4/ax_pkg_swig.m4 \
113 $(top_srcdir)/m4/ax_python_devel.m4 \
114 $(top_srcdir)/m4/glib-2.0.m4 $(top_srcdir)/m4/glibc21.m4 \
115 $(top_srcdir)/m4/gnupg-ttyname.m4 \
116 $(top_srcdir)/m4/gpg-error.m4 $(top_srcdir)/m4/libassuan.m4 \
117 $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
118 $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
119 $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/pkg.m4 \
120 $(top_srcdir)/m4/python.m4 $(top_srcdir)/m4/qt.m4 \
121 $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
122 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
123 $(ACLOCAL_M4)
124 DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
125 mkinstalldirs = $(SHELL) $(top_srcdir)/build-aux/mkinstalldirs
126 CONFIG_HEADER = $(top_builddir)/conf/config.h
127 CONFIG_CLEAN_FILES =
128 CONFIG_CLEAN_VPATH_FILES =
129 AM_V_P = $(am__v_P_@AM_V@)
130 am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
131 am__v_P_0 = false
132 am__v_P_1 = :
133 AM_V_GEN = $(am__v_GEN_@AM_V@)
134 am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
135 am__v_GEN_0 = @echo " GEN " $@;
136 am__v_GEN_1 =
137 AM_V_at = $(am__v_at_@AM_V@)
138 am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
139 am__v_at_0 = @
140 am__v_at_1 =
141 SOURCES =
142 DIST_SOURCES =
143 am__can_run_installinfo = \
144 case $$AM_UPDATE_INFO_DIR in \
145 n|no|NO) false;; \
146 *) (install-info --version) >/dev/null 2>&1;; \
147 esac
148 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
149 am__DIST_COMMON = $(srcdir)/Makefile.in \
150 $(top_srcdir)/build-aux/mkinstalldirs
151 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
152 ACLOCAL = @ACLOCAL@
153 AMTAR = @AMTAR@
154 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
155 AR = @AR@
156 AS = @AS@
157 AUTOCONF = @AUTOCONF@
158 AUTOHEADER = @AUTOHEADER@
159 AUTOMAKE = @AUTOMAKE@
160 AWK = @AWK@
161 BUILD_FILEVERSION = @BUILD_FILEVERSION@
162 BUILD_REVISION = @BUILD_REVISION@
163 BUILD_TIMESTAMP = @BUILD_TIMESTAMP@
164 BUILD_VERSION = @BUILD_VERSION@
165 CC = @CC@
166 CCDEPMODE = @CCDEPMODE@
167 CC_FOR_BUILD = @CC_FOR_BUILD@
168 CFLAGS = @CFLAGS@
169 CPP = @CPP@
170 CPPFLAGS = @CPPFLAGS@
171 CSCOPE = @CSCOPE@
172 CTAGS = @CTAGS@
173 CXX = @CXX@
174 CXXCPP = @CXXCPP@
175 CXXDEPMODE = @CXXDEPMODE@
176 CXXFLAGS = @CXXFLAGS@
177 CYGPATH_W = @CYGPATH_W@
178 DEFS = @DEFS@
179 DEPDIR = @DEPDIR@
180 DLLTOOL = @DLLTOOL@
181 DOXYGEN = @DOXYGEN@
182 DSYMUTIL = @DSYMUTIL@
183 DUMPBIN = @DUMPBIN@
184 ECHO_C = @ECHO_C@
185 ECHO_N = @ECHO_N@
186 ECHO_T = @ECHO_T@
187 EGREP = @EGREP@
188 ENABLED_LANGUAGES = @ENABLED_LANGUAGES@
189 ETAGS = @ETAGS@
190 EXEEXT = @EXEEXT@
191 FGREP = @FGREP@
192 GITLOG_TO_CHANGELOG = @GITLOG_TO_CHANGELOG@
193 GLIBC21 = @GLIBC21@
194 GLIB_CFLAGS = @GLIB_CFLAGS@
195 GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
196 GLIB_LIBS = @GLIB_LIBS@
197 GLIB_MKENUMS = @GLIB_MKENUMS@
198 GOBJECT_QUERY = @GOBJECT_QUERY@
199 GPGME_CONFIG_API_VERSION = @GPGME_CONFIG_API_VERSION@
200 GPGME_CONFIG_AVAIL_LANG = @GPGME_CONFIG_AVAIL_LANG@
201 GPGME_CONFIG_CFLAGS = @GPGME_CONFIG_CFLAGS@
202 GPGME_CONFIG_HOST = @GPGME_CONFIG_HOST@
203 GPGME_CONFIG_LIBS = @GPGME_CONFIG_LIBS@
204 GPGME_QTTEST_CFLAGS = @GPGME_QTTEST_CFLAGS@
205 GPGME_QTTEST_LIBS = @GPGME_QTTEST_LIBS@
206 GPGME_QT_CFLAGS = @GPGME_QT_CFLAGS@
207 GPGME_QT_LIBS = @GPGME_QT_LIBS@
208 GPGRT_CONFIG = @GPGRT_CONFIG@
209 GPG_ERROR_CFLAGS = @GPG_ERROR_CFLAGS@
210 GPG_ERROR_CONFIG = @GPG_ERROR_CONFIG@
211 GPG_ERROR_LIBS = @GPG_ERROR_LIBS@
212 GPG_ERROR_MT_CFLAGS = @GPG_ERROR_MT_CFLAGS@
213 GPG_ERROR_MT_LIBS = @GPG_ERROR_MT_LIBS@
214 GRAPHVIZ = @GRAPHVIZ@
215 GREP = @GREP@
216 HAVE_CXX11 = @HAVE_CXX11@
217 HAVE_DOT = @HAVE_DOT@
218 INSTALL = @INSTALL@
219 INSTALL_DATA = @INSTALL_DATA@
220 INSTALL_PROGRAM = @INSTALL_PROGRAM@
221 INSTALL_SCRIPT = @INSTALL_SCRIPT@
222 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
223 LD = @LD@
224 LDADD_FOR_TESTS_KLUDGE = @LDADD_FOR_TESTS_KLUDGE@
225 LDFLAGS = @LDFLAGS@
226 LIBASSUAN_CFLAGS = @LIBASSUAN_CFLAGS@
227 LIBASSUAN_CONFIG = @LIBASSUAN_CONFIG@
228 LIBASSUAN_LIBS = @LIBASSUAN_LIBS@
229 LIBGPGMEPP_LT_AGE = @LIBGPGMEPP_LT_AGE@
230 LIBGPGMEPP_LT_CURRENT = @LIBGPGMEPP_LT_CURRENT@
231 LIBGPGMEPP_LT_REVISION = @LIBGPGMEPP_LT_REVISION@
232 LIBGPGME_LT_AGE = @LIBGPGME_LT_AGE@
233 LIBGPGME_LT_CURRENT = @LIBGPGME_LT_CURRENT@
234 LIBGPGME_LT_REVISION = @LIBGPGME_LT_REVISION@
235 LIBOBJS = @LIBOBJS@
236 LIBQGPGME_LT_AGE = @LIBQGPGME_LT_AGE@
237 LIBQGPGME_LT_CURRENT = @LIBQGPGME_LT_CURRENT@
238 LIBQGPGME_LT_REVISION = @LIBQGPGME_LT_REVISION@
239 LIBS = @LIBS@
240 LIBTOOL = @LIBTOOL@
241 LIPO = @LIPO@
242 LN_S = @LN_S@
243 LTLIBOBJS = @LTLIBOBJS@
244 MAINT = @MAINT@
245 MAKEINFO = @MAKEINFO@
246 MANIFEST_TOOL = @MANIFEST_TOOL@
247 MKDIR_P = @MKDIR_P@
248 MOC = @MOC@
249 MOC2 = @MOC2@
250 NEED__FILE_OFFSET_BITS = @NEED__FILE_OFFSET_BITS@
251 NM = @NM@
252 NMEDIT = @NMEDIT@
253 OBJDUMP = @OBJDUMP@
254 OBJEXT = @OBJEXT@
255 OTOOL = @OTOOL@
256 OTOOL64 = @OTOOL64@
257 PACKAGE = @PACKAGE@
258 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
259 PACKAGE_NAME = @PACKAGE_NAME@
260 PACKAGE_STRING = @PACKAGE_STRING@
261 PACKAGE_TARNAME = @PACKAGE_TARNAME@
262 PACKAGE_URL = @PACKAGE_URL@
263 PACKAGE_VERSION = @PACKAGE_VERSION@
264 PATH_SEPARATOR = @PATH_SEPARATOR@
265 PKG_CONFIG = @PKG_CONFIG@
266 PYTHON = @PYTHON@
267 PYTHONS = @PYTHONS@
268 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
269 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
270 PYTHON_EXTRA_LDFLAGS = @PYTHON_EXTRA_LDFLAGS@
271 PYTHON_EXTRA_LIBS = @PYTHON_EXTRA_LIBS@
272 PYTHON_LDFLAGS = @PYTHON_LDFLAGS@
273 PYTHON_PLATFORM = @PYTHON_PLATFORM@
274 PYTHON_PREFIX = @PYTHON_PREFIX@
275 PYTHON_SITE_PKG = @PYTHON_SITE_PKG@
276 PYTHON_VERSION = @PYTHON_VERSION@
277 QTCHOOSER = @QTCHOOSER@
278 RANLIB = @RANLIB@
279 RC = @RC@
280 SED = @SED@
281 SET_MAKE = @SET_MAKE@
282 SHELL = @SHELL@
283 STRIP = @STRIP@
284 SWIG = @SWIG@
285 SWIG_LIB = @SWIG_LIB@
286 SYSROOT = @SYSROOT@
287 VERSION = @VERSION@
288 VERSION_MAJOR = @VERSION_MAJOR@
289 VERSION_MICRO = @VERSION_MICRO@
290 VERSION_MINOR = @VERSION_MINOR@
291 VERSION_NUMBER = @VERSION_NUMBER@
292 abs_builddir = @abs_builddir@
293 abs_srcdir = @abs_srcdir@
294 abs_top_builddir = @abs_top_builddir@
295 abs_top_srcdir = @abs_top_srcdir@
296 ac_ct_AR = @ac_ct_AR@
297 ac_ct_CC = @ac_ct_CC@
298 ac_ct_CXX = @ac_ct_CXX@
299 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
300 am__include = @am__include@
301 am__leading_dot = @am__leading_dot@
302 am__quote = @am__quote@
303 am__tar = @am__tar@
304 am__untar = @am__untar@
305 bindir = @bindir@
306 build = @build@
307 build_alias = @build_alias@
308 build_cpu = @build_cpu@
309 build_os = @build_os@
310 build_vendor = @build_vendor@
311 builddir = @builddir@
312 datadir = @datadir@
313 datarootdir = @datarootdir@
314 docdir = @docdir@
315 dvidir = @dvidir@
316 emacs_local_vars_begin = @emacs_local_vars_begin@
317 emacs_local_vars_end = @emacs_local_vars_end@
318 emacs_local_vars_read_only = @emacs_local_vars_read_only@
319 exec_prefix = @exec_prefix@
320 host = @host@
321 host_alias = @host_alias@
322 host_cpu = @host_cpu@
323 host_os = @host_os@
324 host_vendor = @host_vendor@
325 htmldir = @htmldir@
326 includedir = @includedir@
327 infodir = @infodir@
328 install_sh = @install_sh@
329 libdir = @libdir@
330 libexecdir = @libexecdir@
331 localedir = @localedir@
332 localstatedir = @localstatedir@
333 mandir = @mandir@
334 mkdir_p = @mkdir_p@
335 oldincludedir = @oldincludedir@
336 pdfdir = @pdfdir@
337 pkgpyexecdir = @pkgpyexecdir@
338 pkgpythondir = @pkgpythondir@
339 prefix = @prefix@
340 program_transform_name = @program_transform_name@
341 psdir = @psdir@
342 pyexecdir = @pyexecdir@
343 pythondir = @pythondir@
344 runstatedir = @runstatedir@
345 sbindir = @sbindir@
346 sharedstatedir = @sharedstatedir@
347 srcdir = @srcdir@
348 sysconfdir = @sysconfdir@
349 target_alias = @target_alias@
350 top_build_prefix = @top_build_prefix@
351 top_builddir = @top_builddir@
352 top_srcdir = @top_srcdir@
353 EXTRA_DIST = browsertest.html \
354 index.html \
355 longTests.html \
356 Makefile.am \
357 manifest.json \
358 popup.html \
359 popup.js \
360 runbrowsertest.js \
361 rununittests.js \
362 setup_testing.js \
363 testicon.png \
364 testkey2.pub \
365 testkey.pub \
366 testkey.sec \
367 tests/decryptTest.js \
368 tests/encryptDecryptTest.js \
369 tests/encryptTest.js \
370 tests/inputvalues.js \
371 tests/KeyImportExport.js \
372 tests/KeyInfos.js \
373 tests/longRunningTests.js \
374 tests/signTest.js \
375 tests/startup.js \
376 tests/verifyTest.js \
377 unittests.html
378
379 all: all-am
380
381 .SUFFIXES:
382 $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
383 @for dep in $?; do \
384 case '$(am__configure_deps)' in \
385 *$$dep*) \
386 ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
387 && { if test -f $@; then exit 0; else break; fi; }; \
388 exit 1;; \
389 esac; \
390 done; \
391 echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu lang/js/BrowserTestExtension/Makefile'; \
392 $(am__cd) $(top_srcdir) && \
393 $(AUTOMAKE) --gnu lang/js/BrowserTestExtension/Makefile
394 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
395 @case '$?' in \
396 *config.status*) \
397 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
398 *) \
399 echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
400 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
401 esac;
402
403 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
404 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
405
406 $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
407 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
408 $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
409 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
410 $(am__aclocal_m4_deps):
411
412 mostlyclean-libtool:
413 -rm -f *.lo
414
415 clean-libtool:
416 -rm -rf .libs _libs
417 tags TAGS:
418
419 ctags CTAGS:
420
421 cscope cscopelist:
422
423 distdir: $(BUILT_SOURCES)
424 $(MAKE) $(AM_MAKEFLAGS) distdir-am
425
426 distdir-am: $(DISTFILES)
427 @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
428 topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
429 list='$(DISTFILES)'; \
430 dist_files=`for file in $$list; do echo $$file; done | \
431 sed -e "s|^$$srcdirstrip/||;t" \
432 -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
433 case $$dist_files in \
434 */*) $(MKDIR_P) `echo "$$dist_files" | \
435 sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
436 sort -u` ;; \
437 esac; \
438 for file in $$dist_files; do \
439 if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
440 if test -d $$d/$$file; then \
441 dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
442 if test -d "$(distdir)/$$file"; then \
443 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
444 fi; \
445 if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
446 cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
447 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
448 fi; \
449 cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
450 else \
451 test -f "$(distdir)/$$file" \
452 || cp -p $$d/$$file "$(distdir)/$$file" \
453 || exit 1; \
454 fi; \
455 done
456 check-am: all-am
457 check: check-am
458 all-am: Makefile
459 installdirs:
460 install: install-am
461 install-exec: install-exec-am
462 install-data: install-data-am
463 uninstall: uninstall-am
464
465 install-am: all-am
466 @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
467
468 installcheck: installcheck-am
469 install-strip:
470 if test -z '$(STRIP)'; then \
471 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
472 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
473 install; \
474 else \
475 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
476 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
477 "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
478 fi
479 mostlyclean-generic:
480
481 clean-generic:
482
483 distclean-generic:
484 -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
485 -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
486
487 maintainer-clean-generic:
488 @echo "This command is intended for maintainers to use"
489 @echo "it deletes files that may require special tools to rebuild."
490 clean: clean-am
491
492 clean-am: clean-generic clean-libtool mostlyclean-am
493
494 distclean: distclean-am
495 -rm -f Makefile
496 distclean-am: clean-am distclean-generic
497
498 dvi: dvi-am
499
500 dvi-am:
501
502 html: html-am
503
504 html-am:
505
506 info: info-am
507
508 info-am:
509
510 install-data-am:
511
512 install-dvi: install-dvi-am
513
514 install-dvi-am:
515
516 install-exec-am:
517
518 install-html: install-html-am
519
520 install-html-am:
521
522 install-info: install-info-am
523
524 install-info-am:
525
526 install-man:
527
528 install-pdf: install-pdf-am
529
530 install-pdf-am:
531
532 install-ps: install-ps-am
533
534 install-ps-am:
535
536 installcheck-am:
537
538 maintainer-clean: maintainer-clean-am
539 -rm -f Makefile
540 maintainer-clean-am: distclean-am maintainer-clean-generic
541
542 mostlyclean: mostlyclean-am
543
544 mostlyclean-am: mostlyclean-generic mostlyclean-libtool
545
546 pdf: pdf-am
547
548 pdf-am:
549
550 ps: ps-am
551
552 ps-am:
553
554 uninstall-am:
555
556 .MAKE: install-am install-strip
557
558 .PHONY: all all-am check check-am clean clean-generic clean-libtool \
559 cscopelist-am ctags-am distclean distclean-generic \
560 distclean-libtool distdir dvi dvi-am html html-am info info-am \
561 install install-am install-data install-data-am install-dvi \
562 install-dvi-am install-exec install-exec-am install-html \
563 install-html-am install-info install-info-am install-man \
564 install-pdf install-pdf-am install-ps install-ps-am \
565 install-strip installcheck installcheck-am installdirs \
566 maintainer-clean maintainer-clean-generic mostlyclean \
567 mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
568 tags-am uninstall uninstall-am
569
570 .PRECIOUS: Makefile
571
572
573 # Tell versions [3.59,3.63) of GNU make to not export all variables.
574 # Otherwise a system limit (for SysV at least) may be exceeded.
575 .NOEXPORT:
0 # Makefile.in generated by automake 1.16.4 from Makefile.am.
1 # @configure_input@
2
3 # Copyright (C) 1994-2021 Free Software Foundation, Inc.
4
5 # This Makefile.in is free software; the Free Software Foundation
6 # gives unlimited permission to copy and/or distribute it,
7 # with or without modifications, as long as this notice is preserved.
8
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
11 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
12 # PARTICULAR PURPOSE.
13
14 @SET_MAKE@
15
16 # Makefile.am for gpgme.js.
17 # Copyright (C) 2018 Intevation GmbH
18 #
19 # This file is part of gpgme.js.
20 #
21 # gpgme.js is free software; you can redistribute it and/or modify it
22 # under the terms of the GNU General Public License as published by
23 # the Free Software Foundation; either version 2 of the License, or
24 # (at your option) any later version.
25 #
26 # gpgme.js is distributed in the hope that it will be useful,
27 # but WITHOUT ANY WARRANTY; without even the implied warranty of
28 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
29 # GNU Lesser General Public License for more details.
30 #
31 # You should have received a copy of the GNU General Public License
32 # along with this program; if not, write to the Free Software
33 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
34 # 02111-1307, USA
35 VPATH = @srcdir@
36 am__is_gnu_make = { \
37 if test -z '$(MAKELEVEL)'; then \
38 false; \
39 elif test -n '$(MAKE_HOST)'; then \
40 true; \
41 elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
42 true; \
43 else \
44 false; \
45 fi; \
46 }
47 am__make_running_with_option = \
48 case $${target_option-} in \
49 ?) ;; \
50 *) echo "am__make_running_with_option: internal error: invalid" \
51 "target option '$${target_option-}' specified" >&2; \
52 exit 1;; \
53 esac; \
54 has_opt=no; \
55 sane_makeflags=$$MAKEFLAGS; \
56 if $(am__is_gnu_make); then \
57 sane_makeflags=$$MFLAGS; \
58 else \
59 case $$MAKEFLAGS in \
60 *\\[\ \ ]*) \
61 bs=\\; \
62 sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
63 | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
64 esac; \
65 fi; \
66 skip_next=no; \
67 strip_trailopt () \
68 { \
69 flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
70 }; \
71 for flg in $$sane_makeflags; do \
72 test $$skip_next = yes && { skip_next=no; continue; }; \
73 case $$flg in \
74 *=*|--*) continue;; \
75 -*I) strip_trailopt 'I'; skip_next=yes;; \
76 -*I?*) strip_trailopt 'I';; \
77 -*O) strip_trailopt 'O'; skip_next=yes;; \
78 -*O?*) strip_trailopt 'O';; \
79 -*l) strip_trailopt 'l'; skip_next=yes;; \
80 -*l?*) strip_trailopt 'l';; \
81 -[dEDm]) skip_next=yes;; \
82 -[JT]) skip_next=yes;; \
83 esac; \
84 case $$flg in \
85 *$$target_option*) has_opt=yes; break;; \
86 esac; \
87 done; \
88 test $$has_opt = yes
89 am__make_dryrun = (target_option=n; $(am__make_running_with_option))
90 am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
91 pkgdatadir = $(datadir)/@PACKAGE@
92 pkgincludedir = $(includedir)/@PACKAGE@
93 pkglibdir = $(libdir)/@PACKAGE@
94 pkglibexecdir = $(libexecdir)/@PACKAGE@
95 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
96 install_sh_DATA = $(install_sh) -c -m 644
97 install_sh_PROGRAM = $(install_sh) -c
98 install_sh_SCRIPT = $(install_sh) -c
99 INSTALL_HEADER = $(INSTALL_DATA)
100 transform = $(program_transform_name)
101 NORMAL_INSTALL = :
102 PRE_INSTALL = :
103 POST_INSTALL = :
104 NORMAL_UNINSTALL = :
105 PRE_UNINSTALL = :
106 POST_UNINSTALL = :
107 build_triplet = @build@
108 host_triplet = @host@
109 subdir = lang/js/DemoExtension
110 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
111 am__aclocal_m4_deps = $(top_srcdir)/m4/ax_cxx_compile_stdcxx.m4 \
112 $(top_srcdir)/m4/ax_pkg_swig.m4 \
113 $(top_srcdir)/m4/ax_python_devel.m4 \
114 $(top_srcdir)/m4/glib-2.0.m4 $(top_srcdir)/m4/glibc21.m4 \
115 $(top_srcdir)/m4/gnupg-ttyname.m4 \
116 $(top_srcdir)/m4/gpg-error.m4 $(top_srcdir)/m4/libassuan.m4 \
117 $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
118 $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
119 $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/pkg.m4 \
120 $(top_srcdir)/m4/python.m4 $(top_srcdir)/m4/qt.m4 \
121 $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
122 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
123 $(ACLOCAL_M4)
124 DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
125 mkinstalldirs = $(SHELL) $(top_srcdir)/build-aux/mkinstalldirs
126 CONFIG_HEADER = $(top_builddir)/conf/config.h
127 CONFIG_CLEAN_FILES =
128 CONFIG_CLEAN_VPATH_FILES =
129 AM_V_P = $(am__v_P_@AM_V@)
130 am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
131 am__v_P_0 = false
132 am__v_P_1 = :
133 AM_V_GEN = $(am__v_GEN_@AM_V@)
134 am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
135 am__v_GEN_0 = @echo " GEN " $@;
136 am__v_GEN_1 =
137 AM_V_at = $(am__v_at_@AM_V@)
138 am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
139 am__v_at_0 = @
140 am__v_at_1 =
141 SOURCES =
142 DIST_SOURCES =
143 am__can_run_installinfo = \
144 case $$AM_UPDATE_INFO_DIR in \
145 n|no|NO) false;; \
146 *) (install-info --version) >/dev/null 2>&1;; \
147 esac
148 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
149 am__DIST_COMMON = $(srcdir)/Makefile.in \
150 $(top_srcdir)/build-aux/mkinstalldirs
151 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
152 ACLOCAL = @ACLOCAL@
153 AMTAR = @AMTAR@
154 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
155 AR = @AR@
156 AS = @AS@
157 AUTOCONF = @AUTOCONF@
158 AUTOHEADER = @AUTOHEADER@
159 AUTOMAKE = @AUTOMAKE@
160 AWK = @AWK@
161 BUILD_FILEVERSION = @BUILD_FILEVERSION@
162 BUILD_REVISION = @BUILD_REVISION@
163 BUILD_TIMESTAMP = @BUILD_TIMESTAMP@
164 BUILD_VERSION = @BUILD_VERSION@
165 CC = @CC@
166 CCDEPMODE = @CCDEPMODE@
167 CC_FOR_BUILD = @CC_FOR_BUILD@
168 CFLAGS = @CFLAGS@
169 CPP = @CPP@
170 CPPFLAGS = @CPPFLAGS@
171 CSCOPE = @CSCOPE@
172 CTAGS = @CTAGS@
173 CXX = @CXX@
174 CXXCPP = @CXXCPP@
175 CXXDEPMODE = @CXXDEPMODE@
176 CXXFLAGS = @CXXFLAGS@
177 CYGPATH_W = @CYGPATH_W@
178 DEFS = @DEFS@
179 DEPDIR = @DEPDIR@
180 DLLTOOL = @DLLTOOL@
181 DOXYGEN = @DOXYGEN@
182 DSYMUTIL = @DSYMUTIL@
183 DUMPBIN = @DUMPBIN@
184 ECHO_C = @ECHO_C@
185 ECHO_N = @ECHO_N@
186 ECHO_T = @ECHO_T@
187 EGREP = @EGREP@
188 ENABLED_LANGUAGES = @ENABLED_LANGUAGES@
189 ETAGS = @ETAGS@
190 EXEEXT = @EXEEXT@
191 FGREP = @FGREP@
192 GITLOG_TO_CHANGELOG = @GITLOG_TO_CHANGELOG@
193 GLIBC21 = @GLIBC21@
194 GLIB_CFLAGS = @GLIB_CFLAGS@
195 GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
196 GLIB_LIBS = @GLIB_LIBS@
197 GLIB_MKENUMS = @GLIB_MKENUMS@
198 GOBJECT_QUERY = @GOBJECT_QUERY@
199 GPGME_CONFIG_API_VERSION = @GPGME_CONFIG_API_VERSION@
200 GPGME_CONFIG_AVAIL_LANG = @GPGME_CONFIG_AVAIL_LANG@
201 GPGME_CONFIG_CFLAGS = @GPGME_CONFIG_CFLAGS@
202 GPGME_CONFIG_HOST = @GPGME_CONFIG_HOST@
203 GPGME_CONFIG_LIBS = @GPGME_CONFIG_LIBS@
204 GPGME_QTTEST_CFLAGS = @GPGME_QTTEST_CFLAGS@
205 GPGME_QTTEST_LIBS = @GPGME_QTTEST_LIBS@
206 GPGME_QT_CFLAGS = @GPGME_QT_CFLAGS@
207 GPGME_QT_LIBS = @GPGME_QT_LIBS@
208 GPGRT_CONFIG = @GPGRT_CONFIG@
209 GPG_ERROR_CFLAGS = @GPG_ERROR_CFLAGS@
210 GPG_ERROR_CONFIG = @GPG_ERROR_CONFIG@
211 GPG_ERROR_LIBS = @GPG_ERROR_LIBS@
212 GPG_ERROR_MT_CFLAGS = @GPG_ERROR_MT_CFLAGS@
213 GPG_ERROR_MT_LIBS = @GPG_ERROR_MT_LIBS@
214 GRAPHVIZ = @GRAPHVIZ@
215 GREP = @GREP@
216 HAVE_CXX11 = @HAVE_CXX11@
217 HAVE_DOT = @HAVE_DOT@
218 INSTALL = @INSTALL@
219 INSTALL_DATA = @INSTALL_DATA@
220 INSTALL_PROGRAM = @INSTALL_PROGRAM@
221 INSTALL_SCRIPT = @INSTALL_SCRIPT@
222 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
223 LD = @LD@
224 LDADD_FOR_TESTS_KLUDGE = @LDADD_FOR_TESTS_KLUDGE@
225 LDFLAGS = @LDFLAGS@
226 LIBASSUAN_CFLAGS = @LIBASSUAN_CFLAGS@
227 LIBASSUAN_CONFIG = @LIBASSUAN_CONFIG@
228 LIBASSUAN_LIBS = @LIBASSUAN_LIBS@
229 LIBGPGMEPP_LT_AGE = @LIBGPGMEPP_LT_AGE@
230 LIBGPGMEPP_LT_CURRENT = @LIBGPGMEPP_LT_CURRENT@
231 LIBGPGMEPP_LT_REVISION = @LIBGPGMEPP_LT_REVISION@
232 LIBGPGME_LT_AGE = @LIBGPGME_LT_AGE@
233 LIBGPGME_LT_CURRENT = @LIBGPGME_LT_CURRENT@
234 LIBGPGME_LT_REVISION = @LIBGPGME_LT_REVISION@
235 LIBOBJS = @LIBOBJS@
236 LIBQGPGME_LT_AGE = @LIBQGPGME_LT_AGE@
237 LIBQGPGME_LT_CURRENT = @LIBQGPGME_LT_CURRENT@
238 LIBQGPGME_LT_REVISION = @LIBQGPGME_LT_REVISION@
239 LIBS = @LIBS@
240 LIBTOOL = @LIBTOOL@
241 LIPO = @LIPO@
242 LN_S = @LN_S@
243 LTLIBOBJS = @LTLIBOBJS@
244 MAINT = @MAINT@
245 MAKEINFO = @MAKEINFO@
246 MANIFEST_TOOL = @MANIFEST_TOOL@
247 MKDIR_P = @MKDIR_P@
248 MOC = @MOC@
249 MOC2 = @MOC2@
250 NEED__FILE_OFFSET_BITS = @NEED__FILE_OFFSET_BITS@
251 NM = @NM@
252 NMEDIT = @NMEDIT@
253 OBJDUMP = @OBJDUMP@
254 OBJEXT = @OBJEXT@
255 OTOOL = @OTOOL@
256 OTOOL64 = @OTOOL64@
257 PACKAGE = @PACKAGE@
258 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
259 PACKAGE_NAME = @PACKAGE_NAME@
260 PACKAGE_STRING = @PACKAGE_STRING@
261 PACKAGE_TARNAME = @PACKAGE_TARNAME@
262 PACKAGE_URL = @PACKAGE_URL@
263 PACKAGE_VERSION = @PACKAGE_VERSION@
264 PATH_SEPARATOR = @PATH_SEPARATOR@
265 PKG_CONFIG = @PKG_CONFIG@
266 PYTHON = @PYTHON@
267 PYTHONS = @PYTHONS@
268 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
269 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
270 PYTHON_EXTRA_LDFLAGS = @PYTHON_EXTRA_LDFLAGS@
271 PYTHON_EXTRA_LIBS = @PYTHON_EXTRA_LIBS@
272 PYTHON_LDFLAGS = @PYTHON_LDFLAGS@
273 PYTHON_PLATFORM = @PYTHON_PLATFORM@
274 PYTHON_PREFIX = @PYTHON_PREFIX@
275 PYTHON_SITE_PKG = @PYTHON_SITE_PKG@
276 PYTHON_VERSION = @PYTHON_VERSION@
277 QTCHOOSER = @QTCHOOSER@
278 RANLIB = @RANLIB@
279 RC = @RC@
280 SED = @SED@
281 SET_MAKE = @SET_MAKE@
282 SHELL = @SHELL@
283 STRIP = @STRIP@
284 SWIG = @SWIG@
285 SWIG_LIB = @SWIG_LIB@
286 SYSROOT = @SYSROOT@
287 VERSION = @VERSION@
288 VERSION_MAJOR = @VERSION_MAJOR@
289 VERSION_MICRO = @VERSION_MICRO@
290 VERSION_MINOR = @VERSION_MINOR@
291 VERSION_NUMBER = @VERSION_NUMBER@
292 abs_builddir = @abs_builddir@
293 abs_srcdir = @abs_srcdir@
294 abs_top_builddir = @abs_top_builddir@
295 abs_top_srcdir = @abs_top_srcdir@
296 ac_ct_AR = @ac_ct_AR@
297 ac_ct_CC = @ac_ct_CC@
298 ac_ct_CXX = @ac_ct_CXX@
299 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
300 am__include = @am__include@
301 am__leading_dot = @am__leading_dot@
302 am__quote = @am__quote@
303 am__tar = @am__tar@
304 am__untar = @am__untar@
305 bindir = @bindir@
306 build = @build@
307 build_alias = @build_alias@
308 build_cpu = @build_cpu@
309 build_os = @build_os@
310 build_vendor = @build_vendor@
311 builddir = @builddir@
312 datadir = @datadir@
313 datarootdir = @datarootdir@
314 docdir = @docdir@
315 dvidir = @dvidir@
316 emacs_local_vars_begin = @emacs_local_vars_begin@
317 emacs_local_vars_end = @emacs_local_vars_end@
318 emacs_local_vars_read_only = @emacs_local_vars_read_only@
319 exec_prefix = @exec_prefix@
320 host = @host@
321 host_alias = @host_alias@
322 host_cpu = @host_cpu@
323 host_os = @host_os@
324 host_vendor = @host_vendor@
325 htmldir = @htmldir@
326 includedir = @includedir@
327 infodir = @infodir@
328 install_sh = @install_sh@
329 libdir = @libdir@
330 libexecdir = @libexecdir@
331 localedir = @localedir@
332 localstatedir = @localstatedir@
333 mandir = @mandir@
334 mkdir_p = @mkdir_p@
335 oldincludedir = @oldincludedir@
336 pdfdir = @pdfdir@
337 pkgpyexecdir = @pkgpyexecdir@
338 pkgpythondir = @pkgpythondir@
339 prefix = @prefix@
340 program_transform_name = @program_transform_name@
341 psdir = @psdir@
342 pyexecdir = @pyexecdir@
343 pythondir = @pythondir@
344 runstatedir = @runstatedir@
345 sbindir = @sbindir@
346 sharedstatedir = @sharedstatedir@
347 srcdir = @srcdir@
348 sysconfdir = @sysconfdir@
349 target_alias = @target_alias@
350 top_build_prefix = @top_build_prefix@
351 top_builddir = @top_builddir@
352 top_srcdir = @top_srcdir@
353 EXTRA_DIST = manifest.json \
354 popup.html \
355 entry.js \
356 maindemo.js \
357 mainui.html \
358 testicon.png \
359 ui.css
360
361 all: all-am
362
363 .SUFFIXES:
364 $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
365 @for dep in $?; do \
366 case '$(am__configure_deps)' in \
367 *$$dep*) \
368 ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
369 && { if test -f $@; then exit 0; else break; fi; }; \
370 exit 1;; \
371 esac; \
372 done; \
373 echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu lang/js/DemoExtension/Makefile'; \
374 $(am__cd) $(top_srcdir) && \
375 $(AUTOMAKE) --gnu lang/js/DemoExtension/Makefile
376 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
377 @case '$?' in \
378 *config.status*) \
379 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
380 *) \
381 echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
382 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
383 esac;
384
385 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
386 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
387
388 $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
389 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
390 $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
391 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
392 $(am__aclocal_m4_deps):
393
394 mostlyclean-libtool:
395 -rm -f *.lo
396
397 clean-libtool:
398 -rm -rf .libs _libs
399 tags TAGS:
400
401 ctags CTAGS:
402
403 cscope cscopelist:
404
405 distdir: $(BUILT_SOURCES)
406 $(MAKE) $(AM_MAKEFLAGS) distdir-am
407
408 distdir-am: $(DISTFILES)
409 @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
410 topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
411 list='$(DISTFILES)'; \
412 dist_files=`for file in $$list; do echo $$file; done | \
413 sed -e "s|^$$srcdirstrip/||;t" \
414 -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
415 case $$dist_files in \
416 */*) $(MKDIR_P) `echo "$$dist_files" | \
417 sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
418 sort -u` ;; \
419 esac; \
420 for file in $$dist_files; do \
421 if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
422 if test -d $$d/$$file; then \
423 dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
424 if test -d "$(distdir)/$$file"; then \
425 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
426 fi; \
427 if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
428 cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
429 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
430 fi; \
431 cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
432 else \
433 test -f "$(distdir)/$$file" \
434 || cp -p $$d/$$file "$(distdir)/$$file" \
435 || exit 1; \
436 fi; \
437 done
438 check-am: all-am
439 check: check-am
440 all-am: Makefile
441 installdirs:
442 install: install-am
443 install-exec: install-exec-am
444 install-data: install-data-am
445 uninstall: uninstall-am
446
447 install-am: all-am
448 @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
449
450 installcheck: installcheck-am
451 install-strip:
452 if test -z '$(STRIP)'; then \
453 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
454 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
455 install; \
456 else \
457 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
458 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
459 "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
460 fi
461 mostlyclean-generic:
462
463 clean-generic:
464
465 distclean-generic:
466 -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
467 -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
468
469 maintainer-clean-generic:
470 @echo "This command is intended for maintainers to use"
471 @echo "it deletes files that may require special tools to rebuild."
472 clean: clean-am
473
474 clean-am: clean-generic clean-libtool mostlyclean-am
475
476 distclean: distclean-am
477 -rm -f Makefile
478 distclean-am: clean-am distclean-generic
479
480 dvi: dvi-am
481
482 dvi-am:
483
484 html: html-am
485
486 html-am:
487
488 info: info-am
489
490 info-am:
491
492 install-data-am:
493
494 install-dvi: install-dvi-am
495
496 install-dvi-am:
497
498 install-exec-am:
499
500 install-html: install-html-am
501
502 install-html-am:
503
504 install-info: install-info-am
505
506 install-info-am:
507
508 install-man:
509
510 install-pdf: install-pdf-am
511
512 install-pdf-am:
513
514 install-ps: install-ps-am
515
516 install-ps-am:
517
518 installcheck-am:
519
520 maintainer-clean: maintainer-clean-am
521 -rm -f Makefile
522 maintainer-clean-am: distclean-am maintainer-clean-generic
523
524 mostlyclean: mostlyclean-am
525
526 mostlyclean-am: mostlyclean-generic mostlyclean-libtool
527
528 pdf: pdf-am
529
530 pdf-am:
531
532 ps: ps-am
533
534 ps-am:
535
536 uninstall-am:
537
538 .MAKE: install-am install-strip
539
540 .PHONY: all all-am check check-am clean clean-generic clean-libtool \
541 cscopelist-am ctags-am distclean distclean-generic \
542 distclean-libtool distdir dvi dvi-am html html-am info info-am \
543 install install-am install-data install-data-am install-dvi \
544 install-dvi-am install-exec install-exec-am install-html \
545 install-html-am install-info install-info-am install-man \
546 install-pdf install-pdf-am install-ps install-ps-am \
547 install-strip installcheck installcheck-am installdirs \
548 maintainer-clean maintainer-clean-generic mostlyclean \
549 mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
550 tags-am uninstall uninstall-am
551
552 .PRECIOUS: Makefile
553
554
555 # Tell versions [3.59,3.63) of GNU make to not export all variables.
556 # Otherwise a system limit (for SysV at least) may be exceeded.
557 .NOEXPORT:
0 # Makefile.in generated by automake 1.16.4 from Makefile.am.
1 # @configure_input@
2
3 # Copyright (C) 1994-2021 Free Software Foundation, Inc.
4
5 # This Makefile.in is free software; the Free Software Foundation
6 # gives unlimited permission to copy and/or distribute it,
7 # with or without modifications, as long as this notice is preserved.
8
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
11 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
12 # PARTICULAR PURPOSE.
13
14 @SET_MAKE@
15
16 # Makefile.am for gpgme.js.
17 # Copyright (C) 2018 Bundesamt für Sicherheit in der Informationstechnik
18 #
19 # This file is part of gpgme.js.
20 #
21 # gpgme.js is free software; you can redistribute it and/or modify it
22 # under the terms of the GNU General Public License as published by
23 # the Free Software Foundation; either version 2 of the License, or
24 # (at your option) any later version.
25 #
26 # gpgme.js is distributed in the hope that it will be useful,
27 # but WITHOUT ANY WARRANTY; without even the implied warranty of
28 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
29 # GNU Lesser General Public License for more details.
30 #
31 # You should have received a copy of the GNU Lesser General Public
32 # License along with this program; if not, see <https://gnu.org/licenses/>.
33 # SPDX-License-Identifier: LGPL-2.1-or-later
34 VPATH = @srcdir@
35 am__is_gnu_make = { \
36 if test -z '$(MAKELEVEL)'; then \
37 false; \
38 elif test -n '$(MAKE_HOST)'; then \
39 true; \
40 elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
41 true; \
42 else \
43 false; \
44 fi; \
45 }
46 am__make_running_with_option = \
47 case $${target_option-} in \
48 ?) ;; \
49 *) echo "am__make_running_with_option: internal error: invalid" \
50 "target option '$${target_option-}' specified" >&2; \
51 exit 1;; \
52 esac; \
53 has_opt=no; \
54 sane_makeflags=$$MAKEFLAGS; \
55 if $(am__is_gnu_make); then \
56 sane_makeflags=$$MFLAGS; \
57 else \
58 case $$MAKEFLAGS in \
59 *\\[\ \ ]*) \
60 bs=\\; \
61 sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
62 | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
63 esac; \
64 fi; \
65 skip_next=no; \
66 strip_trailopt () \
67 { \
68 flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
69 }; \
70 for flg in $$sane_makeflags; do \
71 test $$skip_next = yes && { skip_next=no; continue; }; \
72 case $$flg in \
73 *=*|--*) continue;; \
74 -*I) strip_trailopt 'I'; skip_next=yes;; \
75 -*I?*) strip_trailopt 'I';; \
76 -*O) strip_trailopt 'O'; skip_next=yes;; \
77 -*O?*) strip_trailopt 'O';; \
78 -*l) strip_trailopt 'l'; skip_next=yes;; \
79 -*l?*) strip_trailopt 'l';; \
80 -[dEDm]) skip_next=yes;; \
81 -[JT]) skip_next=yes;; \
82 esac; \
83 case $$flg in \
84 *$$target_option*) has_opt=yes; break;; \
85 esac; \
86 done; \
87 test $$has_opt = yes
88 am__make_dryrun = (target_option=n; $(am__make_running_with_option))
89 am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
90 pkgdatadir = $(datadir)/@PACKAGE@
91 pkgincludedir = $(includedir)/@PACKAGE@
92 pkglibdir = $(libdir)/@PACKAGE@
93 pkglibexecdir = $(libexecdir)/@PACKAGE@
94 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
95 install_sh_DATA = $(install_sh) -c -m 644
96 install_sh_PROGRAM = $(install_sh) -c
97 install_sh_SCRIPT = $(install_sh) -c
98 INSTALL_HEADER = $(INSTALL_DATA)
99 transform = $(program_transform_name)
100 NORMAL_INSTALL = :
101 PRE_INSTALL = :
102 POST_INSTALL = :
103 NORMAL_UNINSTALL = :
104 PRE_UNINSTALL = :
105 POST_UNINSTALL = :
106 build_triplet = @build@
107 host_triplet = @host@
108 subdir = lang/js
109 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
110 am__aclocal_m4_deps = $(top_srcdir)/m4/ax_cxx_compile_stdcxx.m4 \
111 $(top_srcdir)/m4/ax_pkg_swig.m4 \
112 $(top_srcdir)/m4/ax_python_devel.m4 \
113 $(top_srcdir)/m4/glib-2.0.m4 $(top_srcdir)/m4/glibc21.m4 \
114 $(top_srcdir)/m4/gnupg-ttyname.m4 \
115 $(top_srcdir)/m4/gpg-error.m4 $(top_srcdir)/m4/libassuan.m4 \
116 $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
117 $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
118 $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/pkg.m4 \
119 $(top_srcdir)/m4/python.m4 $(top_srcdir)/m4/qt.m4 \
120 $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
121 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
122 $(ACLOCAL_M4)
123 DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
124 mkinstalldirs = $(SHELL) $(top_srcdir)/build-aux/mkinstalldirs
125 CONFIG_HEADER = $(top_builddir)/conf/config.h
126 CONFIG_CLEAN_FILES =
127 CONFIG_CLEAN_VPATH_FILES =
128 AM_V_P = $(am__v_P_@AM_V@)
129 am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
130 am__v_P_0 = false
131 am__v_P_1 = :
132 AM_V_GEN = $(am__v_GEN_@AM_V@)
133 am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
134 am__v_GEN_0 = @echo " GEN " $@;
135 am__v_GEN_1 =
136 AM_V_at = $(am__v_at_@AM_V@)
137 am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
138 am__v_at_0 = @
139 am__v_at_1 =
140 SOURCES =
141 DIST_SOURCES =
142 RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
143 ctags-recursive dvi-recursive html-recursive info-recursive \
144 install-data-recursive install-dvi-recursive \
145 install-exec-recursive install-html-recursive \
146 install-info-recursive install-pdf-recursive \
147 install-ps-recursive install-recursive installcheck-recursive \
148 installdirs-recursive pdf-recursive ps-recursive \
149 tags-recursive uninstall-recursive
150 am__can_run_installinfo = \
151 case $$AM_UPDATE_INFO_DIR in \
152 n|no|NO) false;; \
153 *) (install-info --version) >/dev/null 2>&1;; \
154 esac
155 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
156 distclean-recursive maintainer-clean-recursive
157 am__recursive_targets = \
158 $(RECURSIVE_TARGETS) \
159 $(RECURSIVE_CLEAN_TARGETS) \
160 $(am__extra_recursive_targets)
161 AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
162 distdir distdir-am
163 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
164 # Read a list of newline-separated strings from the standard input,
165 # and print each of them once, without duplicates. Input order is
166 # *not* preserved.
167 am__uniquify_input = $(AWK) '\
168 BEGIN { nonempty = 0; } \
169 { items[$$0] = 1; nonempty = 1; } \
170 END { if (nonempty) { for (i in items) print i; }; } \
171 '
172 # Make sure the list of sources is unique. This is necessary because,
173 # e.g., the same source file might be shared among _SOURCES variables
174 # for different programs/libraries.
175 am__define_uniq_tagged_files = \
176 list='$(am__tagged_files)'; \
177 unique=`for i in $$list; do \
178 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
179 done | $(am__uniquify_input)`
180 DIST_SUBDIRS = $(SUBDIRS)
181 am__DIST_COMMON = $(srcdir)/Makefile.in \
182 $(top_srcdir)/build-aux/mkinstalldirs README
183 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
184 am__relativize = \
185 dir0=`pwd`; \
186 sed_first='s,^\([^/]*\)/.*$$,\1,'; \
187 sed_rest='s,^[^/]*/*,,'; \
188 sed_last='s,^.*/\([^/]*\)$$,\1,'; \
189 sed_butlast='s,/*[^/]*$$,,'; \
190 while test -n "$$dir1"; do \
191 first=`echo "$$dir1" | sed -e "$$sed_first"`; \
192 if test "$$first" != "."; then \
193 if test "$$first" = ".."; then \
194 dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
195 dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
196 else \
197 first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
198 if test "$$first2" = "$$first"; then \
199 dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
200 else \
201 dir2="../$$dir2"; \
202 fi; \
203 dir0="$$dir0"/"$$first"; \
204 fi; \
205 fi; \
206 dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
207 done; \
208 reldir="$$dir2"
209 ACLOCAL = @ACLOCAL@
210 AMTAR = @AMTAR@
211 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
212 AR = @AR@
213 AS = @AS@
214 AUTOCONF = @AUTOCONF@
215 AUTOHEADER = @AUTOHEADER@
216 AUTOMAKE = @AUTOMAKE@
217 AWK = @AWK@
218 BUILD_FILEVERSION = @BUILD_FILEVERSION@
219 BUILD_REVISION = @BUILD_REVISION@
220 BUILD_TIMESTAMP = @BUILD_TIMESTAMP@
221 BUILD_VERSION = @BUILD_VERSION@
222 CC = @CC@
223 CCDEPMODE = @CCDEPMODE@
224 CC_FOR_BUILD = @CC_FOR_BUILD@
225 CFLAGS = @CFLAGS@
226 CPP = @CPP@
227 CPPFLAGS = @CPPFLAGS@
228 CSCOPE = @CSCOPE@
229 CTAGS = @CTAGS@
230 CXX = @CXX@
231 CXXCPP = @CXXCPP@
232 CXXDEPMODE = @CXXDEPMODE@
233 CXXFLAGS = @CXXFLAGS@
234 CYGPATH_W = @CYGPATH_W@
235 DEFS = @DEFS@
236 DEPDIR = @DEPDIR@
237 DLLTOOL = @DLLTOOL@
238 DOXYGEN = @DOXYGEN@
239 DSYMUTIL = @DSYMUTIL@
240 DUMPBIN = @DUMPBIN@
241 ECHO_C = @ECHO_C@
242 ECHO_N = @ECHO_N@
243 ECHO_T = @ECHO_T@
244 EGREP = @EGREP@
245 ENABLED_LANGUAGES = @ENABLED_LANGUAGES@
246 ETAGS = @ETAGS@
247 EXEEXT = @EXEEXT@
248 FGREP = @FGREP@
249 GITLOG_TO_CHANGELOG = @GITLOG_TO_CHANGELOG@
250 GLIBC21 = @GLIBC21@
251 GLIB_CFLAGS = @GLIB_CFLAGS@
252 GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
253 GLIB_LIBS = @GLIB_LIBS@
254 GLIB_MKENUMS = @GLIB_MKENUMS@
255 GOBJECT_QUERY = @GOBJECT_QUERY@
256 GPGME_CONFIG_API_VERSION = @GPGME_CONFIG_API_VERSION@
257 GPGME_CONFIG_AVAIL_LANG = @GPGME_CONFIG_AVAIL_LANG@
258 GPGME_CONFIG_CFLAGS = @GPGME_CONFIG_CFLAGS@
259 GPGME_CONFIG_HOST = @GPGME_CONFIG_HOST@
260 GPGME_CONFIG_LIBS = @GPGME_CONFIG_LIBS@
261 GPGME_QTTEST_CFLAGS = @GPGME_QTTEST_CFLAGS@
262 GPGME_QTTEST_LIBS = @GPGME_QTTEST_LIBS@
263 GPGME_QT_CFLAGS = @GPGME_QT_CFLAGS@
264 GPGME_QT_LIBS = @GPGME_QT_LIBS@
265 GPGRT_CONFIG = @GPGRT_CONFIG@
266 GPG_ERROR_CFLAGS = @GPG_ERROR_CFLAGS@
267 GPG_ERROR_CONFIG = @GPG_ERROR_CONFIG@
268 GPG_ERROR_LIBS = @GPG_ERROR_LIBS@
269 GPG_ERROR_MT_CFLAGS = @GPG_ERROR_MT_CFLAGS@
270 GPG_ERROR_MT_LIBS = @GPG_ERROR_MT_LIBS@
271 GRAPHVIZ = @GRAPHVIZ@
272 GREP = @GREP@
273 HAVE_CXX11 = @HAVE_CXX11@
274 HAVE_DOT = @HAVE_DOT@
275 INSTALL = @INSTALL@
276 INSTALL_DATA = @INSTALL_DATA@
277 INSTALL_PROGRAM = @INSTALL_PROGRAM@
278 INSTALL_SCRIPT = @INSTALL_SCRIPT@
279 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
280 LD = @LD@
281 LDADD_FOR_TESTS_KLUDGE = @LDADD_FOR_TESTS_KLUDGE@
282 LDFLAGS = @LDFLAGS@
283 LIBASSUAN_CFLAGS = @LIBASSUAN_CFLAGS@
284 LIBASSUAN_CONFIG = @LIBASSUAN_CONFIG@
285 LIBASSUAN_LIBS = @LIBASSUAN_LIBS@
286 LIBGPGMEPP_LT_AGE = @LIBGPGMEPP_LT_AGE@
287 LIBGPGMEPP_LT_CURRENT = @LIBGPGMEPP_LT_CURRENT@
288 LIBGPGMEPP_LT_REVISION = @LIBGPGMEPP_LT_REVISION@
289 LIBGPGME_LT_AGE = @LIBGPGME_LT_AGE@
290 LIBGPGME_LT_CURRENT = @LIBGPGME_LT_CURRENT@
291 LIBGPGME_LT_REVISION = @LIBGPGME_LT_REVISION@
292 LIBOBJS = @LIBOBJS@
293 LIBQGPGME_LT_AGE = @LIBQGPGME_LT_AGE@
294 LIBQGPGME_LT_CURRENT = @LIBQGPGME_LT_CURRENT@
295 LIBQGPGME_LT_REVISION = @LIBQGPGME_LT_REVISION@
296 LIBS = @LIBS@
297 LIBTOOL = @LIBTOOL@
298 LIPO = @LIPO@
299 LN_S = @LN_S@
300 LTLIBOBJS = @LTLIBOBJS@
301 MAINT = @MAINT@
302 MAKEINFO = @MAKEINFO@
303 MANIFEST_TOOL = @MANIFEST_TOOL@
304 MKDIR_P = @MKDIR_P@
305 MOC = @MOC@
306 MOC2 = @MOC2@
307 NEED__FILE_OFFSET_BITS = @NEED__FILE_OFFSET_BITS@
308 NM = @NM@
309 NMEDIT = @NMEDIT@
310 OBJDUMP = @OBJDUMP@
311 OBJEXT = @OBJEXT@
312 OTOOL = @OTOOL@
313 OTOOL64 = @OTOOL64@
314 PACKAGE = @PACKAGE@
315 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
316 PACKAGE_NAME = @PACKAGE_NAME@
317 PACKAGE_STRING = @PACKAGE_STRING@
318 PACKAGE_TARNAME = @PACKAGE_TARNAME@
319 PACKAGE_URL = @PACKAGE_URL@
320 PACKAGE_VERSION = @PACKAGE_VERSION@
321 PATH_SEPARATOR = @PATH_SEPARATOR@
322 PKG_CONFIG = @PKG_CONFIG@
323 PYTHON = @PYTHON@
324 PYTHONS = @PYTHONS@
325 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
326 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
327 PYTHON_EXTRA_LDFLAGS = @PYTHON_EXTRA_LDFLAGS@
328 PYTHON_EXTRA_LIBS = @PYTHON_EXTRA_LIBS@
329 PYTHON_LDFLAGS = @PYTHON_LDFLAGS@
330 PYTHON_PLATFORM = @PYTHON_PLATFORM@
331 PYTHON_PREFIX = @PYTHON_PREFIX@
332 PYTHON_SITE_PKG = @PYTHON_SITE_PKG@
333 PYTHON_VERSION = @PYTHON_VERSION@
334 QTCHOOSER = @QTCHOOSER@
335 RANLIB = @RANLIB@
336 RC = @RC@
337 SED = @SED@
338 SET_MAKE = @SET_MAKE@
339 SHELL = @SHELL@
340 STRIP = @STRIP@
341 SWIG = @SWIG@
342 SWIG_LIB = @SWIG_LIB@
343 SYSROOT = @SYSROOT@
344 VERSION = @VERSION@
345 VERSION_MAJOR = @VERSION_MAJOR@
346 VERSION_MICRO = @VERSION_MICRO@
347 VERSION_MINOR = @VERSION_MINOR@
348 VERSION_NUMBER = @VERSION_NUMBER@
349 abs_builddir = @abs_builddir@
350 abs_srcdir = @abs_srcdir@
351 abs_top_builddir = @abs_top_builddir@
352 abs_top_srcdir = @abs_top_srcdir@
353 ac_ct_AR = @ac_ct_AR@
354 ac_ct_CC = @ac_ct_CC@
355 ac_ct_CXX = @ac_ct_CXX@
356 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
357 am__include = @am__include@
358 am__leading_dot = @am__leading_dot@
359 am__quote = @am__quote@
360 am__tar = @am__tar@
361 am__untar = @am__untar@
362 bindir = @bindir@
363 build = @build@
364 build_alias = @build_alias@
365 build_cpu = @build_cpu@
366 build_os = @build_os@
367 build_vendor = @build_vendor@
368 builddir = @builddir@
369 datadir = @datadir@
370 datarootdir = @datarootdir@
371 docdir = @docdir@
372 dvidir = @dvidir@
373 emacs_local_vars_begin = @emacs_local_vars_begin@
374 emacs_local_vars_end = @emacs_local_vars_end@
375 emacs_local_vars_read_only = @emacs_local_vars_read_only@
376 exec_prefix = @exec_prefix@
377 host = @host@
378 host_alias = @host_alias@
379 host_cpu = @host_cpu@
380 host_os = @host_os@
381 host_vendor = @host_vendor@
382 htmldir = @htmldir@
383 includedir = @includedir@
384 infodir = @infodir@
385 install_sh = @install_sh@
386 libdir = @libdir@
387 libexecdir = @libexecdir@
388 localedir = @localedir@
389 localstatedir = @localstatedir@
390 mandir = @mandir@
391 mkdir_p = @mkdir_p@
392 oldincludedir = @oldincludedir@
393 pdfdir = @pdfdir@
394 pkgpyexecdir = @pkgpyexecdir@
395 pkgpythondir = @pkgpythondir@
396 prefix = @prefix@
397 program_transform_name = @program_transform_name@
398 psdir = @psdir@
399 pyexecdir = @pyexecdir@
400 pythondir = @pythondir@
401 runstatedir = @runstatedir@
402 sbindir = @sbindir@
403 sharedstatedir = @sharedstatedir@
404 srcdir = @srcdir@
405 sysconfdir = @sysconfdir@
406 target_alias = @target_alias@
407 top_build_prefix = @top_build_prefix@
408 top_builddir = @top_builddir@
409 top_srcdir = @top_srcdir@
410 SUBDIRS = src BrowserTestExtension DemoExtension
411 EXTRA_DIST = build_extensions.sh \
412 jsdoc.conf \
413 jsdoc_index.md \
414 .eslintrc.json \
415 package.json \
416 README \
417 unittest_inputvalues.js \
418 unittests.js \
419 webpack.conf.js \
420 webpack.conf_unittests.js
421
422 all: all-recursive
423
424 .SUFFIXES:
425 $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
426 @for dep in $?; do \
427 case '$(am__configure_deps)' in \
428 *$$dep*) \
429 ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
430 && { if test -f $@; then exit 0; else break; fi; }; \
431 exit 1;; \
432 esac; \
433 done; \
434 echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu lang/js/Makefile'; \
435 $(am__cd) $(top_srcdir) && \
436 $(AUTOMAKE) --gnu lang/js/Makefile
437 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
438 @case '$?' in \
439 *config.status*) \
440 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
441 *) \
442 echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
443 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
444 esac;
445
446 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
447 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
448
449 $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
450 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
451 $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
452 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
453 $(am__aclocal_m4_deps):
454
455 mostlyclean-libtool:
456 -rm -f *.lo
457
458 clean-libtool:
459 -rm -rf .libs _libs
460
461 # This directory's subdirectories are mostly independent; you can cd
462 # into them and run 'make' without going through this Makefile.
463 # To change the values of 'make' variables: instead of editing Makefiles,
464 # (1) if the variable is set in 'config.status', edit 'config.status'
465 # (which will cause the Makefiles to be regenerated when you run 'make');
466 # (2) otherwise, pass the desired values on the 'make' command line.
467 $(am__recursive_targets):
468 @fail=; \
469 if $(am__make_keepgoing); then \
470 failcom='fail=yes'; \
471 else \
472 failcom='exit 1'; \
473 fi; \
474 dot_seen=no; \
475 target=`echo $@ | sed s/-recursive//`; \
476 case "$@" in \
477 distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
478 *) list='$(SUBDIRS)' ;; \
479 esac; \
480 for subdir in $$list; do \
481 echo "Making $$target in $$subdir"; \
482 if test "$$subdir" = "."; then \
483 dot_seen=yes; \
484 local_target="$$target-am"; \
485 else \
486 local_target="$$target"; \
487 fi; \
488 ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
489 || eval $$failcom; \
490 done; \
491 if test "$$dot_seen" = "no"; then \
492 $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
493 fi; test -z "$$fail"
494
495 ID: $(am__tagged_files)
496 $(am__define_uniq_tagged_files); mkid -fID $$unique
497 tags: tags-recursive
498 TAGS: tags
499
500 tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
501 set x; \
502 here=`pwd`; \
503 if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
504 include_option=--etags-include; \
505 empty_fix=.; \
506 else \
507 include_option=--include; \
508 empty_fix=; \
509 fi; \
510 list='$(SUBDIRS)'; for subdir in $$list; do \
511 if test "$$subdir" = .; then :; else \
512 test ! -f $$subdir/TAGS || \
513 set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
514 fi; \
515 done; \
516 $(am__define_uniq_tagged_files); \
517 shift; \
518 if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
519 test -n "$$unique" || unique=$$empty_fix; \
520 if test $$# -gt 0; then \
521 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
522 "$$@" $$unique; \
523 else \
524 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
525 $$unique; \
526 fi; \
527 fi
528 ctags: ctags-recursive
529
530 CTAGS: ctags
531 ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
532 $(am__define_uniq_tagged_files); \
533 test -z "$(CTAGS_ARGS)$$unique" \
534 || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
535 $$unique
536
537 GTAGS:
538 here=`$(am__cd) $(top_builddir) && pwd` \
539 && $(am__cd) $(top_srcdir) \
540 && gtags -i $(GTAGS_ARGS) "$$here"
541 cscopelist: cscopelist-recursive
542
543 cscopelist-am: $(am__tagged_files)
544 list='$(am__tagged_files)'; \
545 case "$(srcdir)" in \
546 [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
547 *) sdir=$(subdir)/$(srcdir) ;; \
548 esac; \
549 for i in $$list; do \
550 if test -f "$$i"; then \
551 echo "$(subdir)/$$i"; \
552 else \
553 echo "$$sdir/$$i"; \
554 fi; \
555 done >> $(top_builddir)/cscope.files
556
557 distclean-tags:
558 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
559 distdir: $(BUILT_SOURCES)
560 $(MAKE) $(AM_MAKEFLAGS) distdir-am
561
562 distdir-am: $(DISTFILES)
563 @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
564 topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
565 list='$(DISTFILES)'; \
566 dist_files=`for file in $$list; do echo $$file; done | \
567 sed -e "s|^$$srcdirstrip/||;t" \
568 -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
569 case $$dist_files in \
570 */*) $(MKDIR_P) `echo "$$dist_files" | \
571 sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
572 sort -u` ;; \
573 esac; \
574 for file in $$dist_files; do \
575 if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
576 if test -d $$d/$$file; then \
577 dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
578 if test -d "$(distdir)/$$file"; then \
579 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
580 fi; \
581 if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
582 cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
583 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
584 fi; \
585 cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
586 else \
587 test -f "$(distdir)/$$file" \
588 || cp -p $$d/$$file "$(distdir)/$$file" \
589 || exit 1; \
590 fi; \
591 done
592 @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
593 if test "$$subdir" = .; then :; else \
594 $(am__make_dryrun) \
595 || test -d "$(distdir)/$$subdir" \
596 || $(MKDIR_P) "$(distdir)/$$subdir" \
597 || exit 1; \
598 dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
599 $(am__relativize); \
600 new_distdir=$$reldir; \
601 dir1=$$subdir; dir2="$(top_distdir)"; \
602 $(am__relativize); \
603 new_top_distdir=$$reldir; \
604 echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
605 echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
606 ($(am__cd) $$subdir && \
607 $(MAKE) $(AM_MAKEFLAGS) \
608 top_distdir="$$new_top_distdir" \
609 distdir="$$new_distdir" \
610 am__remove_distdir=: \
611 am__skip_length_check=: \
612 am__skip_mode_fix=: \
613 distdir) \
614 || exit 1; \
615 fi; \
616 done
617 check-am: all-am
618 check: check-recursive
619 all-am: Makefile
620 installdirs: installdirs-recursive
621 installdirs-am:
622 install: install-recursive
623 install-exec: install-exec-recursive
624 install-data: install-data-recursive
625 uninstall: uninstall-recursive
626
627 install-am: all-am
628 @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
629
630 installcheck: installcheck-recursive
631 install-strip:
632 if test -z '$(STRIP)'; then \
633 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
634 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
635 install; \
636 else \
637 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
638 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
639 "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
640 fi
641 mostlyclean-generic:
642
643 clean-generic:
644
645 distclean-generic:
646 -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
647 -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
648
649 maintainer-clean-generic:
650 @echo "This command is intended for maintainers to use"
651 @echo "it deletes files that may require special tools to rebuild."
652 clean: clean-recursive
653
654 clean-am: clean-generic clean-libtool mostlyclean-am
655
656 distclean: distclean-recursive
657 -rm -f Makefile
658 distclean-am: clean-am distclean-generic distclean-tags
659
660 dvi: dvi-recursive
661
662 dvi-am:
663
664 html: html-recursive
665
666 html-am:
667
668 info: info-recursive
669
670 info-am:
671
672 install-data-am:
673
674 install-dvi: install-dvi-recursive
675
676 install-dvi-am:
677
678 install-exec-am:
679
680 install-html: install-html-recursive
681
682 install-html-am:
683
684 install-info: install-info-recursive
685
686 install-info-am:
687
688 install-man:
689
690 install-pdf: install-pdf-recursive
691
692 install-pdf-am:
693
694 install-ps: install-ps-recursive
695
696 install-ps-am:
697
698 installcheck-am:
699
700 maintainer-clean: maintainer-clean-recursive
701 -rm -f Makefile
702 maintainer-clean-am: distclean-am maintainer-clean-generic
703
704 mostlyclean: mostlyclean-recursive
705
706 mostlyclean-am: mostlyclean-generic mostlyclean-libtool
707
708 pdf: pdf-recursive
709
710 pdf-am:
711
712 ps: ps-recursive
713
714 ps-am:
715
716 uninstall-am:
717
718 .MAKE: $(am__recursive_targets) install-am install-strip
719
720 .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
721 check-am clean clean-generic clean-libtool cscopelist-am ctags \
722 ctags-am distclean distclean-generic distclean-libtool \
723 distclean-tags distdir dvi dvi-am html html-am info info-am \
724 install install-am install-data install-data-am install-dvi \
725 install-dvi-am install-exec install-exec-am install-html \
726 install-html-am install-info install-info-am install-man \
727 install-pdf install-pdf-am install-ps install-ps-am \
728 install-strip installcheck installcheck-am installdirs \
729 installdirs-am maintainer-clean maintainer-clean-generic \
730 mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
731 ps ps-am tags tags-am uninstall uninstall-am
732
733 .PRECIOUS: Makefile
734
735
736 # Tell versions [3.59,3.63) of GNU make to not export all variables.
737 # Otherwise a system limit (for SysV at least) may be exceeded.
738 .NOEXPORT:
0 # Makefile.in generated by automake 1.16.4 from Makefile.am.
1 # @configure_input@
2
3 # Copyright (C) 1994-2021 Free Software Foundation, Inc.
4
5 # This Makefile.in is free software; the Free Software Foundation
6 # gives unlimited permission to copy and/or distribute it,
7 # with or without modifications, as long as this notice is preserved.
8
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
11 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
12 # PARTICULAR PURPOSE.
13
14 @SET_MAKE@
15
16 # Makefile.am for gpgme.js.
17 # Copyright (C) 2018 Intevation GmbH
18 #
19 # This file is part of GPGME.
20 #
21 # gpgme.js is free software; you can redistribute it and/or modify it
22 # under the terms of the GNU General Public License as published by
23 # the Free Software Foundation; either version 2 of the License, or
24 # (at your option) any later version.
25 #
26 # gpgme.js is distributed in the hope that it will be useful,
27 # but WITHOUT ANY WARRANTY; without even the implied warranty of
28 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
29 # GNU Lesser General Public License for more details.
30 #
31 # You should have received a copy of the GNU General Public License
32 # along with this program; if not, write to the Free Software
33 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
34 # 02111-1307, USA
35 VPATH = @srcdir@
36 am__is_gnu_make = { \
37 if test -z '$(MAKELEVEL)'; then \
38 false; \
39 elif test -n '$(MAKE_HOST)'; then \
40 true; \
41 elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
42 true; \
43 else \
44 false; \
45 fi; \
46 }
47 am__make_running_with_option = \
48 case $${target_option-} in \
49 ?) ;; \
50 *) echo "am__make_running_with_option: internal error: invalid" \
51 "target option '$${target_option-}' specified" >&2; \
52 exit 1;; \
53 esac; \
54 has_opt=no; \
55 sane_makeflags=$$MAKEFLAGS; \
56 if $(am__is_gnu_make); then \
57 sane_makeflags=$$MFLAGS; \
58 else \
59 case $$MAKEFLAGS in \
60 *\\[\ \ ]*) \
61 bs=\\; \
62 sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
63 | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
64 esac; \
65 fi; \
66 skip_next=no; \
67 strip_trailopt () \
68 { \
69 flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
70 }; \
71 for flg in $$sane_makeflags; do \
72 test $$skip_next = yes && { skip_next=no; continue; }; \
73 case $$flg in \
74 *=*|--*) continue;; \
75 -*I) strip_trailopt 'I'; skip_next=yes;; \
76 -*I?*) strip_trailopt 'I';; \
77 -*O) strip_trailopt 'O'; skip_next=yes;; \
78 -*O?*) strip_trailopt 'O';; \
79 -*l) strip_trailopt 'l'; skip_next=yes;; \
80 -*l?*) strip_trailopt 'l';; \
81 -[dEDm]) skip_next=yes;; \
82 -[JT]) skip_next=yes;; \
83 esac; \
84 case $$flg in \
85 *$$target_option*) has_opt=yes; break;; \
86 esac; \
87 done; \
88 test $$has_opt = yes
89 am__make_dryrun = (target_option=n; $(am__make_running_with_option))
90 am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
91 pkgdatadir = $(datadir)/@PACKAGE@
92 pkgincludedir = $(includedir)/@PACKAGE@
93 pkglibdir = $(libdir)/@PACKAGE@
94 pkglibexecdir = $(libexecdir)/@PACKAGE@
95 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
96 install_sh_DATA = $(install_sh) -c -m 644
97 install_sh_PROGRAM = $(install_sh) -c
98 install_sh_SCRIPT = $(install_sh) -c
99 INSTALL_HEADER = $(INSTALL_DATA)
100 transform = $(program_transform_name)
101 NORMAL_INSTALL = :
102 PRE_INSTALL = :
103 POST_INSTALL = :
104 NORMAL_UNINSTALL = :
105 PRE_UNINSTALL = :
106 POST_UNINSTALL = :
107 build_triplet = @build@
108 host_triplet = @host@
109 subdir = lang/js/src
110 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
111 am__aclocal_m4_deps = $(top_srcdir)/m4/ax_cxx_compile_stdcxx.m4 \
112 $(top_srcdir)/m4/ax_pkg_swig.m4 \
113 $(top_srcdir)/m4/ax_python_devel.m4 \
114 $(top_srcdir)/m4/glib-2.0.m4 $(top_srcdir)/m4/glibc21.m4 \
115 $(top_srcdir)/m4/gnupg-ttyname.m4 \
116 $(top_srcdir)/m4/gpg-error.m4 $(top_srcdir)/m4/libassuan.m4 \
117 $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
118 $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
119 $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/pkg.m4 \
120 $(top_srcdir)/m4/python.m4 $(top_srcdir)/m4/qt.m4 \
121 $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
122 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
123 $(ACLOCAL_M4)
124 DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
125 mkinstalldirs = $(SHELL) $(top_srcdir)/build-aux/mkinstalldirs
126 CONFIG_HEADER = $(top_builddir)/conf/config.h
127 CONFIG_CLEAN_FILES =
128 CONFIG_CLEAN_VPATH_FILES =
129 AM_V_P = $(am__v_P_@AM_V@)
130 am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
131 am__v_P_0 = false
132 am__v_P_1 = :
133 AM_V_GEN = $(am__v_GEN_@AM_V@)
134 am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
135 am__v_GEN_0 = @echo " GEN " $@;
136 am__v_GEN_1 =
137 AM_V_at = $(am__v_at_@AM_V@)
138 am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
139 am__v_at_0 = @
140 am__v_at_1 =
141 SOURCES =
142 DIST_SOURCES =
143 am__can_run_installinfo = \
144 case $$AM_UPDATE_INFO_DIR in \
145 n|no|NO) false;; \
146 *) (install-info --version) >/dev/null 2>&1;; \
147 esac
148 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
149 am__DIST_COMMON = $(srcdir)/Makefile.in \
150 $(top_srcdir)/build-aux/mkinstalldirs
151 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
152 ACLOCAL = @ACLOCAL@
153 AMTAR = @AMTAR@
154 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
155 AR = @AR@
156 AS = @AS@
157 AUTOCONF = @AUTOCONF@
158 AUTOHEADER = @AUTOHEADER@
159 AUTOMAKE = @AUTOMAKE@
160 AWK = @AWK@
161 BUILD_FILEVERSION = @BUILD_FILEVERSION@
162 BUILD_REVISION = @BUILD_REVISION@
163 BUILD_TIMESTAMP = @BUILD_TIMESTAMP@
164 BUILD_VERSION = @BUILD_VERSION@
165 CC = @CC@
166 CCDEPMODE = @CCDEPMODE@
167 CC_FOR_BUILD = @CC_FOR_BUILD@
168 CFLAGS = @CFLAGS@
169 CPP = @CPP@
170 CPPFLAGS = @CPPFLAGS@
171 CSCOPE = @CSCOPE@
172 CTAGS = @CTAGS@
173 CXX = @CXX@
174 CXXCPP = @CXXCPP@
175 CXXDEPMODE = @CXXDEPMODE@
176 CXXFLAGS = @CXXFLAGS@
177 CYGPATH_W = @CYGPATH_W@
178 DEFS = @DEFS@
179 DEPDIR = @DEPDIR@
180 DLLTOOL = @DLLTOOL@
181 DOXYGEN = @DOXYGEN@
182 DSYMUTIL = @DSYMUTIL@
183 DUMPBIN = @DUMPBIN@
184 ECHO_C = @ECHO_C@
185 ECHO_N = @ECHO_N@
186 ECHO_T = @ECHO_T@
187 EGREP = @EGREP@
188 ENABLED_LANGUAGES = @ENABLED_LANGUAGES@
189 ETAGS = @ETAGS@
190 EXEEXT = @EXEEXT@
191 FGREP = @FGREP@
192 GITLOG_TO_CHANGELOG = @GITLOG_TO_CHANGELOG@
193 GLIBC21 = @GLIBC21@
194 GLIB_CFLAGS = @GLIB_CFLAGS@
195 GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
196 GLIB_LIBS = @GLIB_LIBS@
197 GLIB_MKENUMS = @GLIB_MKENUMS@
198 GOBJECT_QUERY = @GOBJECT_QUERY@
199 GPGME_CONFIG_API_VERSION = @GPGME_CONFIG_API_VERSION@
200 GPGME_CONFIG_AVAIL_LANG = @GPGME_CONFIG_AVAIL_LANG@
201 GPGME_CONFIG_CFLAGS = @GPGME_CONFIG_CFLAGS@
202 GPGME_CONFIG_HOST = @GPGME_CONFIG_HOST@
203 GPGME_CONFIG_LIBS = @GPGME_CONFIG_LIBS@
204 GPGME_QTTEST_CFLAGS = @GPGME_QTTEST_CFLAGS@
205 GPGME_QTTEST_LIBS = @GPGME_QTTEST_LIBS@
206 GPGME_QT_CFLAGS = @GPGME_QT_CFLAGS@
207 GPGME_QT_LIBS = @GPGME_QT_LIBS@
208 GPGRT_CONFIG = @GPGRT_CONFIG@
209 GPG_ERROR_CFLAGS = @GPG_ERROR_CFLAGS@
210 GPG_ERROR_CONFIG = @GPG_ERROR_CONFIG@
211 GPG_ERROR_LIBS = @GPG_ERROR_LIBS@
212 GPG_ERROR_MT_CFLAGS = @GPG_ERROR_MT_CFLAGS@
213 GPG_ERROR_MT_LIBS = @GPG_ERROR_MT_LIBS@
214 GRAPHVIZ = @GRAPHVIZ@
215 GREP = @GREP@
216 HAVE_CXX11 = @HAVE_CXX11@
217 HAVE_DOT = @HAVE_DOT@
218 INSTALL = @INSTALL@
219 INSTALL_DATA = @INSTALL_DATA@
220 INSTALL_PROGRAM = @INSTALL_PROGRAM@
221 INSTALL_SCRIPT = @INSTALL_SCRIPT@
222 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
223 LD = @LD@
224 LDADD_FOR_TESTS_KLUDGE = @LDADD_FOR_TESTS_KLUDGE@
225 LDFLAGS = @LDFLAGS@
226 LIBASSUAN_CFLAGS = @LIBASSUAN_CFLAGS@
227 LIBASSUAN_CONFIG = @LIBASSUAN_CONFIG@
228 LIBASSUAN_LIBS = @LIBASSUAN_LIBS@
229 LIBGPGMEPP_LT_AGE = @LIBGPGMEPP_LT_AGE@
230 LIBGPGMEPP_LT_CURRENT = @LIBGPGMEPP_LT_CURRENT@
231 LIBGPGMEPP_LT_REVISION = @LIBGPGMEPP_LT_REVISION@
232 LIBGPGME_LT_AGE = @LIBGPGME_LT_AGE@
233 LIBGPGME_LT_CURRENT = @LIBGPGME_LT_CURRENT@
234 LIBGPGME_LT_REVISION = @LIBGPGME_LT_REVISION@
235 LIBOBJS = @LIBOBJS@
236 LIBQGPGME_LT_AGE = @LIBQGPGME_LT_AGE@
237 LIBQGPGME_LT_CURRENT = @LIBQGPGME_LT_CURRENT@
238 LIBQGPGME_LT_REVISION = @LIBQGPGME_LT_REVISION@
239 LIBS = @LIBS@
240 LIBTOOL = @LIBTOOL@
241 LIPO = @LIPO@
242 LN_S = @LN_S@
243 LTLIBOBJS = @LTLIBOBJS@
244 MAINT = @MAINT@
245 MAKEINFO = @MAKEINFO@
246 MANIFEST_TOOL = @MANIFEST_TOOL@
247 MKDIR_P = @MKDIR_P@
248 MOC = @MOC@
249 MOC2 = @MOC2@
250 NEED__FILE_OFFSET_BITS = @NEED__FILE_OFFSET_BITS@
251 NM = @NM@
252 NMEDIT = @NMEDIT@
253 OBJDUMP = @OBJDUMP@
254 OBJEXT = @OBJEXT@
255 OTOOL = @OTOOL@
256 OTOOL64 = @OTOOL64@
257 PACKAGE = @PACKAGE@
258 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
259 PACKAGE_NAME = @PACKAGE_NAME@
260 PACKAGE_STRING = @PACKAGE_STRING@
261 PACKAGE_TARNAME = @PACKAGE_TARNAME@
262 PACKAGE_URL = @PACKAGE_URL@
263 PACKAGE_VERSION = @PACKAGE_VERSION@
264 PATH_SEPARATOR = @PATH_SEPARATOR@
265 PKG_CONFIG = @PKG_CONFIG@
266 PYTHON = @PYTHON@
267 PYTHONS = @PYTHONS@
268 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
269 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
270 PYTHON_EXTRA_LDFLAGS = @PYTHON_EXTRA_LDFLAGS@
271 PYTHON_EXTRA_LIBS = @PYTHON_EXTRA_LIBS@
272 PYTHON_LDFLAGS = @PYTHON_LDFLAGS@
273 PYTHON_PLATFORM = @PYTHON_PLATFORM@
274 PYTHON_PREFIX = @PYTHON_PREFIX@
275 PYTHON_SITE_PKG = @PYTHON_SITE_PKG@
276 PYTHON_VERSION = @PYTHON_VERSION@
277 QTCHOOSER = @QTCHOOSER@
278 RANLIB = @RANLIB@
279 RC = @RC@
280 SED = @SED@
281 SET_MAKE = @SET_MAKE@
282 SHELL = @SHELL@
283 STRIP = @STRIP@
284 SWIG = @SWIG@
285 SWIG_LIB = @SWIG_LIB@
286 SYSROOT = @SYSROOT@
287 VERSION = @VERSION@
288 VERSION_MAJOR = @VERSION_MAJOR@
289 VERSION_MICRO = @VERSION_MICRO@
290 VERSION_MINOR = @VERSION_MINOR@
291 VERSION_NUMBER = @VERSION_NUMBER@
292 abs_builddir = @abs_builddir@
293 abs_srcdir = @abs_srcdir@
294 abs_top_builddir = @abs_top_builddir@
295 abs_top_srcdir = @abs_top_srcdir@
296 ac_ct_AR = @ac_ct_AR@
297 ac_ct_CC = @ac_ct_CC@
298 ac_ct_CXX = @ac_ct_CXX@
299 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
300 am__include = @am__include@
301 am__leading_dot = @am__leading_dot@
302 am__quote = @am__quote@
303 am__tar = @am__tar@
304 am__untar = @am__untar@
305 bindir = @bindir@
306 build = @build@
307 build_alias = @build_alias@
308 build_cpu = @build_cpu@
309 build_os = @build_os@
310 build_vendor = @build_vendor@
311 builddir = @builddir@
312 datadir = @datadir@
313 datarootdir = @datarootdir@
314 docdir = @docdir@
315 dvidir = @dvidir@
316 emacs_local_vars_begin = @emacs_local_vars_begin@
317 emacs_local_vars_end = @emacs_local_vars_end@
318 emacs_local_vars_read_only = @emacs_local_vars_read_only@
319 exec_prefix = @exec_prefix@
320 host = @host@
321 host_alias = @host_alias@
322 host_cpu = @host_cpu@
323 host_os = @host_os@
324 host_vendor = @host_vendor@
325 htmldir = @htmldir@
326 includedir = @includedir@
327 infodir = @infodir@
328 install_sh = @install_sh@
329 libdir = @libdir@
330 libexecdir = @libexecdir@
331 localedir = @localedir@
332 localstatedir = @localstatedir@
333 mandir = @mandir@
334 mkdir_p = @mkdir_p@
335 oldincludedir = @oldincludedir@
336 pdfdir = @pdfdir@
337 pkgpyexecdir = @pkgpyexecdir@
338 pkgpythondir = @pkgpythondir@
339 prefix = @prefix@
340 program_transform_name = @program_transform_name@
341 psdir = @psdir@
342 pyexecdir = @pyexecdir@
343 pythondir = @pythondir@
344 runstatedir = @runstatedir@
345 sbindir = @sbindir@
346 sharedstatedir = @sharedstatedir@
347 srcdir = @srcdir@
348 sysconfdir = @sysconfdir@
349 target_alias = @target_alias@
350 top_build_prefix = @top_build_prefix@
351 top_builddir = @top_builddir@
352 top_srcdir = @top_srcdir@
353 EXTRA_DIST = Connection.js \
354 Errors.js \
355 gpgmejs.js \
356 Helpers.js \
357 index.js \
358 Key.js \
359 Keyring.js \
360 Message.js \
361 permittedOperations.js \
362 Signature.js
363
364 all: all-am
365
366 .SUFFIXES:
367 $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
368 @for dep in $?; do \
369 case '$(am__configure_deps)' in \
370 *$$dep*) \
371 ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
372 && { if test -f $@; then exit 0; else break; fi; }; \
373 exit 1;; \
374 esac; \
375 done; \
376 echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu lang/js/src/Makefile'; \
377 $(am__cd) $(top_srcdir) && \
378 $(AUTOMAKE) --gnu lang/js/src/Makefile
379 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
380 @case '$?' in \
381 *config.status*) \
382 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
383 *) \
384 echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
385 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
386 esac;
387
388 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
389 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
390
391 $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
392 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
393 $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
394 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
395 $(am__aclocal_m4_deps):
396
397 mostlyclean-libtool:
398 -rm -f *.lo
399
400 clean-libtool:
401 -rm -rf .libs _libs
402 tags TAGS:
403
404 ctags CTAGS:
405
406 cscope cscopelist:
407
408 distdir: $(BUILT_SOURCES)
409 $(MAKE) $(AM_MAKEFLAGS) distdir-am
410
411 distdir-am: $(DISTFILES)
412 @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
413 topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
414 list='$(DISTFILES)'; \
415 dist_files=`for file in $$list; do echo $$file; done | \
416 sed -e "s|^$$srcdirstrip/||;t" \
417 -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
418 case $$dist_files in \
419 */*) $(MKDIR_P) `echo "$$dist_files" | \
420 sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
421 sort -u` ;; \
422 esac; \
423 for file in $$dist_files; do \
424 if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
425 if test -d $$d/$$file; then \
426 dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
427 if test -d "$(distdir)/$$file"; then \
428 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
429 fi; \
430 if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
431 cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
432 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
433 fi; \
434 cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
435 else \
436 test -f "$(distdir)/$$file" \
437 || cp -p $$d/$$file "$(distdir)/$$file" \
438 || exit 1; \
439 fi; \
440 done
441 check-am: all-am
442 check: check-am
443 all-am: Makefile
444 installdirs:
445 install: install-am
446 install-exec: install-exec-am
447 install-data: install-data-am
448 uninstall: uninstall-am
449
450 install-am: all-am
451 @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
452
453 installcheck: installcheck-am
454 install-strip:
455 if test -z '$(STRIP)'; then \
456 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
457 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
458 install; \
459 else \
460 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
461 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
462 "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
463 fi
464 mostlyclean-generic:
465
466 clean-generic:
467
468 distclean-generic:
469 -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
470 -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
471
472 maintainer-clean-generic:
473 @echo "This command is intended for maintainers to use"
474 @echo "it deletes files that may require special tools to rebuild."
475 clean: clean-am
476
477 clean-am: clean-generic clean-libtool mostlyclean-am
478
479 distclean: distclean-am
480 -rm -f Makefile
481 distclean-am: clean-am distclean-generic
482
483 dvi: dvi-am
484
485 dvi-am:
486
487 html: html-am
488
489 html-am:
490
491 info: info-am
492
493 info-am:
494
495 install-data-am:
496
497 install-dvi: install-dvi-am
498
499 install-dvi-am:
500
501 install-exec-am:
502
503 install-html: install-html-am
504
505 install-html-am:
506
507 install-info: install-info-am
508
509 install-info-am:
510
511 install-man:
512
513 install-pdf: install-pdf-am
514
515 install-pdf-am:
516
517 install-ps: install-ps-am
518
519 install-ps-am:
520
521 installcheck-am:
522
523 maintainer-clean: maintainer-clean-am
524 -rm -f Makefile
525 maintainer-clean-am: distclean-am maintainer-clean-generic
526
527 mostlyclean: mostlyclean-am
528
529 mostlyclean-am: mostlyclean-generic mostlyclean-libtool
530
531 pdf: pdf-am
532
533 pdf-am:
534
535 ps: ps-am
536
537 ps-am:
538
539 uninstall-am:
540
541 .MAKE: install-am install-strip
542
543 .PHONY: all all-am check check-am clean clean-generic clean-libtool \
544 cscopelist-am ctags-am distclean distclean-generic \
545 distclean-libtool distdir dvi dvi-am html html-am info info-am \
546 install install-am install-data install-data-am install-dvi \
547 install-dvi-am install-exec install-exec-am install-html \
548 install-html-am install-info install-info-am install-man \
549 install-pdf install-pdf-am install-ps install-ps-am \
550 install-strip installcheck installcheck-am installdirs \
551 maintainer-clean maintainer-clean-generic mostlyclean \
552 mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
553 tags-am uninstall uninstall-am
554
555 .PRECIOUS: Makefile
556
557
558 # Tell versions [3.59,3.63) of GNU make to not export all variables.
559 # Otherwise a system limit (for SysV at least) may be exceeded.
560 .NOEXPORT:
0 # Makefile.in generated by automake 1.16.4 from Makefile.am.
1 # @configure_input@
2
3 # Copyright (C) 1994-2021 Free Software Foundation, Inc.
4
5 # This Makefile.in is free software; the Free Software Foundation
6 # gives unlimited permission to copy and/or distribute it,
7 # with or without modifications, as long as this notice is preserved.
8
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
11 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
12 # PARTICULAR PURPOSE.
13
14 @SET_MAKE@
15
16 # Makefile.am for the Python bindings.
17 # Copyright (C) 2016 g10 Code GmbH
18 #
19 # This file is part of GPGME.
20 #
21 # GPGME is free software; you can redistribute it and/or modify it
22 # under the terms of the GNU Lesser General Public License as
23 # published by the Free Software Foundation; either version 2.1 of the
24 # License, or (at your option) any later version.
25 #
26 # GPGME is distributed in the hope that it will be useful, but WITHOUT
27 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
28 # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General
29 # Public License for more details.
30 #
31 # You should have received a copy of the GNU Lesser General Public
32 # License along with this program; if not, see <https://gnu.org/licenses/>.
33 # SPDX-License-Identifier: LGPL-2.1-or-later
34 VPATH = @srcdir@
35 am__is_gnu_make = { \
36 if test -z '$(MAKELEVEL)'; then \
37 false; \
38 elif test -n '$(MAKE_HOST)'; then \
39 true; \
40 elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
41 true; \
42 else \
43 false; \
44 fi; \
45 }
46 am__make_running_with_option = \
47 case $${target_option-} in \
48 ?) ;; \
49 *) echo "am__make_running_with_option: internal error: invalid" \
50 "target option '$${target_option-}' specified" >&2; \
51 exit 1;; \
52 esac; \
53 has_opt=no; \
54 sane_makeflags=$$MAKEFLAGS; \
55 if $(am__is_gnu_make); then \
56 sane_makeflags=$$MFLAGS; \
57 else \
58 case $$MAKEFLAGS in \
59 *\\[\ \ ]*) \
60 bs=\\; \
61 sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
62 | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
63 esac; \
64 fi; \
65 skip_next=no; \
66 strip_trailopt () \
67 { \
68 flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
69 }; \
70 for flg in $$sane_makeflags; do \
71 test $$skip_next = yes && { skip_next=no; continue; }; \
72 case $$flg in \
73 *=*|--*) continue;; \
74 -*I) strip_trailopt 'I'; skip_next=yes;; \
75 -*I?*) strip_trailopt 'I';; \
76 -*O) strip_trailopt 'O'; skip_next=yes;; \
77 -*O?*) strip_trailopt 'O';; \
78 -*l) strip_trailopt 'l'; skip_next=yes;; \
79 -*l?*) strip_trailopt 'l';; \
80 -[dEDm]) skip_next=yes;; \
81 -[JT]) skip_next=yes;; \
82 esac; \
83 case $$flg in \
84 *$$target_option*) has_opt=yes; break;; \
85 esac; \
86 done; \
87 test $$has_opt = yes
88 am__make_dryrun = (target_option=n; $(am__make_running_with_option))
89 am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
90 pkgdatadir = $(datadir)/@PACKAGE@
91 pkgincludedir = $(includedir)/@PACKAGE@
92 pkglibdir = $(libdir)/@PACKAGE@
93 pkglibexecdir = $(libexecdir)/@PACKAGE@
94 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
95 install_sh_DATA = $(install_sh) -c -m 644
96 install_sh_PROGRAM = $(install_sh) -c
97 install_sh_SCRIPT = $(install_sh) -c
98 INSTALL_HEADER = $(INSTALL_DATA)
99 transform = $(program_transform_name)
100 NORMAL_INSTALL = :
101 PRE_INSTALL = :
102 POST_INSTALL = :
103 NORMAL_UNINSTALL = :
104 PRE_UNINSTALL = :
105 POST_UNINSTALL = :
106 build_triplet = @build@
107 host_triplet = @host@
108 subdir = lang/python
109 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
110 am__aclocal_m4_deps = $(top_srcdir)/m4/ax_cxx_compile_stdcxx.m4 \
111 $(top_srcdir)/m4/ax_pkg_swig.m4 \
112 $(top_srcdir)/m4/ax_python_devel.m4 \
113 $(top_srcdir)/m4/glib-2.0.m4 $(top_srcdir)/m4/glibc21.m4 \
114 $(top_srcdir)/m4/gnupg-ttyname.m4 \
115 $(top_srcdir)/m4/gpg-error.m4 $(top_srcdir)/m4/libassuan.m4 \
116 $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
117 $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
118 $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/pkg.m4 \
119 $(top_srcdir)/m4/python.m4 $(top_srcdir)/m4/qt.m4 \
120 $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
121 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
122 $(ACLOCAL_M4)
123 DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
124 mkinstalldirs = $(SHELL) $(top_srcdir)/build-aux/mkinstalldirs
125 CONFIG_HEADER = $(top_builddir)/conf/config.h
126 CONFIG_CLEAN_FILES = version.py setup.py
127 CONFIG_CLEAN_VPATH_FILES =
128 AM_V_P = $(am__v_P_@AM_V@)
129 am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
130 am__v_P_0 = false
131 am__v_P_1 = :
132 AM_V_GEN = $(am__v_GEN_@AM_V@)
133 am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
134 am__v_GEN_0 = @echo " GEN " $@;
135 am__v_GEN_1 =
136 AM_V_at = $(am__v_at_@AM_V@)
137 am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
138 am__v_at_0 = @
139 am__v_at_1 =
140 SOURCES =
141 DIST_SOURCES =
142 RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
143 ctags-recursive dvi-recursive html-recursive info-recursive \
144 install-data-recursive install-dvi-recursive \
145 install-exec-recursive install-html-recursive \
146 install-info-recursive install-pdf-recursive \
147 install-ps-recursive install-recursive installcheck-recursive \
148 installdirs-recursive pdf-recursive ps-recursive \
149 tags-recursive uninstall-recursive
150 am__can_run_installinfo = \
151 case $$AM_UPDATE_INFO_DIR in \
152 n|no|NO) false;; \
153 *) (install-info --version) >/dev/null 2>&1;; \
154 esac
155 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
156 distclean-recursive maintainer-clean-recursive
157 am__recursive_targets = \
158 $(RECURSIVE_TARGETS) \
159 $(RECURSIVE_CLEAN_TARGETS) \
160 $(am__extra_recursive_targets)
161 AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
162 distdir distdir-am
163 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
164 # Read a list of newline-separated strings from the standard input,
165 # and print each of them once, without duplicates. Input order is
166 # *not* preserved.
167 am__uniquify_input = $(AWK) '\
168 BEGIN { nonempty = 0; } \
169 { items[$$0] = 1; nonempty = 1; } \
170 END { if (nonempty) { for (i in items) print i; }; } \
171 '
172 # Make sure the list of sources is unique. This is necessary because,
173 # e.g., the same source file might be shared among _SOURCES variables
174 # for different programs/libraries.
175 am__define_uniq_tagged_files = \
176 list='$(am__tagged_files)'; \
177 unique=`for i in $$list; do \
178 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
179 done | $(am__uniquify_input)`
180 DIST_SUBDIRS = $(SUBDIRS)
181 am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/setup.py.in \
182 $(srcdir)/version.py.in $(top_srcdir)/build-aux/mkinstalldirs \
183 README
184 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
185 am__relativize = \
186 dir0=`pwd`; \
187 sed_first='s,^\([^/]*\)/.*$$,\1,'; \
188 sed_rest='s,^[^/]*/*,,'; \
189 sed_last='s,^.*/\([^/]*\)$$,\1,'; \
190 sed_butlast='s,/*[^/]*$$,,'; \
191 while test -n "$$dir1"; do \
192 first=`echo "$$dir1" | sed -e "$$sed_first"`; \
193 if test "$$first" != "."; then \
194 if test "$$first" = ".."; then \
195 dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
196 dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
197 else \
198 first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
199 if test "$$first2" = "$$first"; then \
200 dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
201 else \
202 dir2="../$$dir2"; \
203 fi; \
204 dir0="$$dir0"/"$$first"; \
205 fi; \
206 fi; \
207 dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
208 done; \
209 reldir="$$dir2"
210 ACLOCAL = @ACLOCAL@
211 AMTAR = @AMTAR@
212 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
213 AR = @AR@
214 AS = @AS@
215 AUTOCONF = @AUTOCONF@
216 AUTOHEADER = @AUTOHEADER@
217 AUTOMAKE = @AUTOMAKE@
218 AWK = @AWK@
219 BUILD_FILEVERSION = @BUILD_FILEVERSION@
220 BUILD_REVISION = @BUILD_REVISION@
221 BUILD_TIMESTAMP = @BUILD_TIMESTAMP@
222 BUILD_VERSION = @BUILD_VERSION@
223 CC = @CC@
224 CCDEPMODE = @CCDEPMODE@
225 CC_FOR_BUILD = @CC_FOR_BUILD@
226 CFLAGS = @CFLAGS@
227 CPP = @CPP@
228 CPPFLAGS = @CPPFLAGS@
229 CSCOPE = @CSCOPE@
230 CTAGS = @CTAGS@
231 CXX = @CXX@
232 CXXCPP = @CXXCPP@
233 CXXDEPMODE = @CXXDEPMODE@
234 CXXFLAGS = @CXXFLAGS@
235 CYGPATH_W = @CYGPATH_W@
236 DEFS = @DEFS@
237 DEPDIR = @DEPDIR@
238 DLLTOOL = @DLLTOOL@
239 DOXYGEN = @DOXYGEN@
240 DSYMUTIL = @DSYMUTIL@
241 DUMPBIN = @DUMPBIN@
242 ECHO_C = @ECHO_C@
243 ECHO_N = @ECHO_N@
244 ECHO_T = @ECHO_T@
245 EGREP = @EGREP@
246 ENABLED_LANGUAGES = @ENABLED_LANGUAGES@
247 ETAGS = @ETAGS@
248 EXEEXT = @EXEEXT@
249 FGREP = @FGREP@
250 GITLOG_TO_CHANGELOG = @GITLOG_TO_CHANGELOG@
251 GLIBC21 = @GLIBC21@
252 GLIB_CFLAGS = @GLIB_CFLAGS@
253 GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
254 GLIB_LIBS = @GLIB_LIBS@
255 GLIB_MKENUMS = @GLIB_MKENUMS@
256 GOBJECT_QUERY = @GOBJECT_QUERY@
257 GPGME_CONFIG_API_VERSION = @GPGME_CONFIG_API_VERSION@
258 GPGME_CONFIG_AVAIL_LANG = @GPGME_CONFIG_AVAIL_LANG@
259 GPGME_CONFIG_CFLAGS = @GPGME_CONFIG_CFLAGS@
260 GPGME_CONFIG_HOST = @GPGME_CONFIG_HOST@
261 GPGME_CONFIG_LIBS = @GPGME_CONFIG_LIBS@
262 GPGME_QTTEST_CFLAGS = @GPGME_QTTEST_CFLAGS@
263 GPGME_QTTEST_LIBS = @GPGME_QTTEST_LIBS@
264 GPGME_QT_CFLAGS = @GPGME_QT_CFLAGS@
265 GPGME_QT_LIBS = @GPGME_QT_LIBS@
266 GPGRT_CONFIG = @GPGRT_CONFIG@
267 GPG_ERROR_CFLAGS = @GPG_ERROR_CFLAGS@
268 GPG_ERROR_CONFIG = @GPG_ERROR_CONFIG@
269 GPG_ERROR_LIBS = @GPG_ERROR_LIBS@
270 GPG_ERROR_MT_CFLAGS = @GPG_ERROR_MT_CFLAGS@
271 GPG_ERROR_MT_LIBS = @GPG_ERROR_MT_LIBS@
272 GRAPHVIZ = @GRAPHVIZ@
273 GREP = @GREP@
274 HAVE_CXX11 = @HAVE_CXX11@
275 HAVE_DOT = @HAVE_DOT@
276 INSTALL = @INSTALL@
277 INSTALL_DATA = @INSTALL_DATA@
278 INSTALL_PROGRAM = @INSTALL_PROGRAM@
279 INSTALL_SCRIPT = @INSTALL_SCRIPT@
280 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
281 LD = @LD@
282 LDADD_FOR_TESTS_KLUDGE = @LDADD_FOR_TESTS_KLUDGE@
283 LDFLAGS = @LDFLAGS@
284 LIBASSUAN_CFLAGS = @LIBASSUAN_CFLAGS@
285 LIBASSUAN_CONFIG = @LIBASSUAN_CONFIG@
286 LIBASSUAN_LIBS = @LIBASSUAN_LIBS@
287 LIBGPGMEPP_LT_AGE = @LIBGPGMEPP_LT_AGE@
288 LIBGPGMEPP_LT_CURRENT = @LIBGPGMEPP_LT_CURRENT@
289 LIBGPGMEPP_LT_REVISION = @LIBGPGMEPP_LT_REVISION@
290 LIBGPGME_LT_AGE = @LIBGPGME_LT_AGE@
291 LIBGPGME_LT_CURRENT = @LIBGPGME_LT_CURRENT@
292 LIBGPGME_LT_REVISION = @LIBGPGME_LT_REVISION@
293 LIBOBJS = @LIBOBJS@
294 LIBQGPGME_LT_AGE = @LIBQGPGME_LT_AGE@
295 LIBQGPGME_LT_CURRENT = @LIBQGPGME_LT_CURRENT@
296 LIBQGPGME_LT_REVISION = @LIBQGPGME_LT_REVISION@
297 LIBS = @LIBS@
298 LIBTOOL = @LIBTOOL@
299 LIPO = @LIPO@
300 LN_S = @LN_S@
301 LTLIBOBJS = @LTLIBOBJS@
302 MAINT = @MAINT@
303 MAKEINFO = @MAKEINFO@
304 MANIFEST_TOOL = @MANIFEST_TOOL@
305 MKDIR_P = @MKDIR_P@
306 MOC = @MOC@
307 MOC2 = @MOC2@
308 NEED__FILE_OFFSET_BITS = @NEED__FILE_OFFSET_BITS@
309 NM = @NM@
310 NMEDIT = @NMEDIT@
311 OBJDUMP = @OBJDUMP@
312 OBJEXT = @OBJEXT@
313 OTOOL = @OTOOL@
314 OTOOL64 = @OTOOL64@
315 PACKAGE = @PACKAGE@
316 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
317 PACKAGE_NAME = @PACKAGE_NAME@
318 PACKAGE_STRING = @PACKAGE_STRING@
319 PACKAGE_TARNAME = @PACKAGE_TARNAME@
320 PACKAGE_URL = @PACKAGE_URL@
321 PACKAGE_VERSION = @PACKAGE_VERSION@
322 PATH_SEPARATOR = @PATH_SEPARATOR@
323 PKG_CONFIG = @PKG_CONFIG@
324 PYTHON = @PYTHON@
325 PYTHONS = @PYTHONS@
326 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
327 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
328 PYTHON_EXTRA_LDFLAGS = @PYTHON_EXTRA_LDFLAGS@
329 PYTHON_EXTRA_LIBS = @PYTHON_EXTRA_LIBS@
330 PYTHON_LDFLAGS = @PYTHON_LDFLAGS@
331 PYTHON_PLATFORM = @PYTHON_PLATFORM@
332 PYTHON_PREFIX = @PYTHON_PREFIX@
333 PYTHON_SITE_PKG = @PYTHON_SITE_PKG@
334 PYTHON_VERSION = @PYTHON_VERSION@
335 QTCHOOSER = @QTCHOOSER@
336 RANLIB = @RANLIB@
337 RC = @RC@
338 SED = @SED@
339 SET_MAKE = @SET_MAKE@
340 SHELL = @SHELL@
341 STRIP = @STRIP@
342 SWIG = @SWIG@
343 SWIG_LIB = @SWIG_LIB@
344 SYSROOT = @SYSROOT@
345 VERSION = @VERSION@
346 VERSION_MAJOR = @VERSION_MAJOR@
347 VERSION_MICRO = @VERSION_MICRO@
348 VERSION_MINOR = @VERSION_MINOR@
349 VERSION_NUMBER = @VERSION_NUMBER@
350 abs_builddir = @abs_builddir@
351 abs_srcdir = @abs_srcdir@
352 abs_top_builddir = @abs_top_builddir@
353 abs_top_srcdir = @abs_top_srcdir@
354 ac_ct_AR = @ac_ct_AR@
355 ac_ct_CC = @ac_ct_CC@
356 ac_ct_CXX = @ac_ct_CXX@
357 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
358 am__include = @am__include@
359 am__leading_dot = @am__leading_dot@
360 am__quote = @am__quote@
361 am__tar = @am__tar@
362 am__untar = @am__untar@
363 bindir = @bindir@
364 build = @build@
365 build_alias = @build_alias@
366 build_cpu = @build_cpu@
367 build_os = @build_os@
368 build_vendor = @build_vendor@
369 builddir = @builddir@
370 datadir = @datadir@
371 datarootdir = @datarootdir@
372 docdir = @docdir@
373 dvidir = @dvidir@
374 emacs_local_vars_begin = @emacs_local_vars_begin@
375 emacs_local_vars_end = @emacs_local_vars_end@
376 emacs_local_vars_read_only = @emacs_local_vars_read_only@
377 exec_prefix = @exec_prefix@
378 host = @host@
379 host_alias = @host_alias@
380 host_cpu = @host_cpu@
381 host_os = @host_os@
382 host_vendor = @host_vendor@
383 htmldir = @htmldir@
384 includedir = @includedir@
385 infodir = @infodir@
386 install_sh = @install_sh@
387 libdir = @libdir@
388 libexecdir = @libexecdir@
389 localedir = @localedir@
390 localstatedir = @localstatedir@
391 mandir = @mandir@
392 mkdir_p = @mkdir_p@
393 oldincludedir = @oldincludedir@
394 pdfdir = @pdfdir@
395 pkgpyexecdir = @pkgpyexecdir@
396 pkgpythondir = @pkgpythondir@
397 prefix = @prefix@
398 program_transform_name = @program_transform_name@
399 psdir = @psdir@
400 pyexecdir = @pyexecdir@
401 pythondir = @pythondir@
402 runstatedir = @runstatedir@
403 sbindir = @sbindir@
404 sharedstatedir = @sharedstatedir@
405 srcdir = @srcdir@
406 sysconfdir = @sysconfdir@
407 target_alias = @target_alias@
408 top_build_prefix = @top_build_prefix@
409 top_builddir = @top_builddir@
410 top_srcdir = @top_srcdir@
411 EXTRA_DIST = \
412 README \
413 MANIFEST.in \
414 gpgme.i \
415 helpers.c helpers.h private.h
416
417 SUBDIRS = . tests examples doc src
418 CLEANFILES = copystamp \
419 config.h \
420 data.h \
421 gpg
422
423 all: all-recursive
424
425 .SUFFIXES:
426 $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
427 @for dep in $?; do \
428 case '$(am__configure_deps)' in \
429 *$$dep*) \
430 ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
431 && { if test -f $@; then exit 0; else break; fi; }; \
432 exit 1;; \
433 esac; \
434 done; \
435 echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu lang/python/Makefile'; \
436 $(am__cd) $(top_srcdir) && \
437 $(AUTOMAKE) --gnu lang/python/Makefile
438 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
439 @case '$?' in \
440 *config.status*) \
441 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
442 *) \
443 echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
444 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
445 esac;
446
447 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
448 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
449
450 $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
451 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
452 $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
453 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
454 $(am__aclocal_m4_deps):
455 version.py: $(top_builddir)/config.status $(srcdir)/version.py.in
456 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
457 setup.py: $(top_builddir)/config.status $(srcdir)/setup.py.in
458 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
459
460 mostlyclean-libtool:
461 -rm -f *.lo
462
463 clean-libtool:
464 -rm -rf .libs _libs
465
466 # This directory's subdirectories are mostly independent; you can cd
467 # into them and run 'make' without going through this Makefile.
468 # To change the values of 'make' variables: instead of editing Makefiles,
469 # (1) if the variable is set in 'config.status', edit 'config.status'
470 # (which will cause the Makefiles to be regenerated when you run 'make');
471 # (2) otherwise, pass the desired values on the 'make' command line.
472 $(am__recursive_targets):
473 @fail=; \
474 if $(am__make_keepgoing); then \
475 failcom='fail=yes'; \
476 else \
477 failcom='exit 1'; \
478 fi; \
479 dot_seen=no; \
480 target=`echo $@ | sed s/-recursive//`; \
481 case "$@" in \
482 distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
483 *) list='$(SUBDIRS)' ;; \
484 esac; \
485 for subdir in $$list; do \
486 echo "Making $$target in $$subdir"; \
487 if test "$$subdir" = "."; then \
488 dot_seen=yes; \
489 local_target="$$target-am"; \
490 else \
491 local_target="$$target"; \
492 fi; \
493 ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
494 || eval $$failcom; \
495 done; \
496 if test "$$dot_seen" = "no"; then \
497 $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
498 fi; test -z "$$fail"
499
500 ID: $(am__tagged_files)
501 $(am__define_uniq_tagged_files); mkid -fID $$unique
502 tags: tags-recursive
503 TAGS: tags
504
505 tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
506 set x; \
507 here=`pwd`; \
508 if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
509 include_option=--etags-include; \
510 empty_fix=.; \
511 else \
512 include_option=--include; \
513 empty_fix=; \
514 fi; \
515 list='$(SUBDIRS)'; for subdir in $$list; do \
516 if test "$$subdir" = .; then :; else \
517 test ! -f $$subdir/TAGS || \
518 set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
519 fi; \
520 done; \
521 $(am__define_uniq_tagged_files); \
522 shift; \
523 if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
524 test -n "$$unique" || unique=$$empty_fix; \
525 if test $$# -gt 0; then \
526 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
527 "$$@" $$unique; \
528 else \
529 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
530 $$unique; \
531 fi; \
532 fi
533 ctags: ctags-recursive
534
535 CTAGS: ctags
536 ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
537 $(am__define_uniq_tagged_files); \
538 test -z "$(CTAGS_ARGS)$$unique" \
539 || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
540 $$unique
541
542 GTAGS:
543 here=`$(am__cd) $(top_builddir) && pwd` \
544 && $(am__cd) $(top_srcdir) \
545 && gtags -i $(GTAGS_ARGS) "$$here"
546 cscopelist: cscopelist-recursive
547
548 cscopelist-am: $(am__tagged_files)
549 list='$(am__tagged_files)'; \
550 case "$(srcdir)" in \
551 [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
552 *) sdir=$(subdir)/$(srcdir) ;; \
553 esac; \
554 for i in $$list; do \
555 if test -f "$$i"; then \
556 echo "$(subdir)/$$i"; \
557 else \
558 echo "$$sdir/$$i"; \
559 fi; \
560 done >> $(top_builddir)/cscope.files
561
562 distclean-tags:
563 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
564 distdir: $(BUILT_SOURCES)
565 $(MAKE) $(AM_MAKEFLAGS) distdir-am
566
567 distdir-am: $(DISTFILES)
568 @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
569 topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
570 list='$(DISTFILES)'; \
571 dist_files=`for file in $$list; do echo $$file; done | \
572 sed -e "s|^$$srcdirstrip/||;t" \
573 -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
574 case $$dist_files in \
575 */*) $(MKDIR_P) `echo "$$dist_files" | \
576 sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
577 sort -u` ;; \
578 esac; \
579 for file in $$dist_files; do \
580 if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
581 if test -d $$d/$$file; then \
582 dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
583 if test -d "$(distdir)/$$file"; then \
584 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
585 fi; \
586 if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
587 cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
588 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
589 fi; \
590 cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
591 else \
592 test -f "$(distdir)/$$file" \
593 || cp -p $$d/$$file "$(distdir)/$$file" \
594 || exit 1; \
595 fi; \
596 done
597 @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
598 if test "$$subdir" = .; then :; else \
599 $(am__make_dryrun) \
600 || test -d "$(distdir)/$$subdir" \
601 || $(MKDIR_P) "$(distdir)/$$subdir" \
602 || exit 1; \
603 dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
604 $(am__relativize); \
605 new_distdir=$$reldir; \
606 dir1=$$subdir; dir2="$(top_distdir)"; \
607 $(am__relativize); \
608 new_top_distdir=$$reldir; \
609 echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
610 echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
611 ($(am__cd) $$subdir && \
612 $(MAKE) $(AM_MAKEFLAGS) \
613 top_distdir="$$new_top_distdir" \
614 distdir="$$new_distdir" \
615 am__remove_distdir=: \
616 am__skip_length_check=: \
617 am__skip_mode_fix=: \
618 distdir) \
619 || exit 1; \
620 fi; \
621 done
622 check-am: all-am
623 check: check-recursive
624 all-am: Makefile all-local
625 installdirs: installdirs-recursive
626 installdirs-am:
627 install: install-recursive
628 install-exec: install-exec-recursive
629 install-data: install-data-recursive
630 uninstall: uninstall-recursive
631
632 install-am: all-am
633 @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
634
635 installcheck: installcheck-recursive
636 install-strip:
637 if test -z '$(STRIP)'; then \
638 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
639 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
640 install; \
641 else \
642 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
643 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
644 "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
645 fi
646 mostlyclean-generic:
647
648 clean-generic:
649 -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
650
651 distclean-generic:
652 -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
653 -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
654
655 maintainer-clean-generic:
656 @echo "This command is intended for maintainers to use"
657 @echo "it deletes files that may require special tools to rebuild."
658 clean: clean-recursive
659
660 clean-am: clean-generic clean-libtool clean-local mostlyclean-am
661
662 distclean: distclean-recursive
663 -rm -f Makefile
664 distclean-am: clean-am distclean-generic distclean-tags
665
666 dvi: dvi-recursive
667
668 dvi-am:
669
670 html: html-recursive
671
672 html-am:
673
674 info: info-recursive
675
676 info-am:
677
678 install-data-am:
679
680 install-dvi: install-dvi-recursive
681
682 install-dvi-am:
683
684 install-exec-am: install-exec-local
685
686 install-html: install-html-recursive
687
688 install-html-am:
689
690 install-info: install-info-recursive
691
692 install-info-am:
693
694 install-man:
695
696 install-pdf: install-pdf-recursive
697
698 install-pdf-am:
699
700 install-ps: install-ps-recursive
701
702 install-ps-am:
703
704 installcheck-am:
705
706 maintainer-clean: maintainer-clean-recursive
707 -rm -f Makefile
708 maintainer-clean-am: distclean-am maintainer-clean-generic
709
710 mostlyclean: mostlyclean-recursive
711
712 mostlyclean-am: mostlyclean-generic mostlyclean-libtool
713
714 pdf: pdf-recursive
715
716 pdf-am:
717
718 ps: ps-recursive
719
720 ps-am:
721
722 uninstall-am: uninstall-local
723
724 .MAKE: $(am__recursive_targets) install-am install-strip
725
726 .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am all-local \
727 check check-am clean clean-generic clean-libtool clean-local \
728 cscopelist-am ctags ctags-am distclean distclean-generic \
729 distclean-libtool distclean-tags distdir dvi dvi-am html \
730 html-am info info-am install install-am install-data \
731 install-data-am install-dvi install-dvi-am install-exec \
732 install-exec-am install-exec-local install-html \
733 install-html-am install-info install-info-am install-man \
734 install-pdf install-pdf-am install-ps install-ps-am \
735 install-strip installcheck installcheck-am installdirs \
736 installdirs-am maintainer-clean maintainer-clean-generic \
737 mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
738 ps ps-am tags tags-am uninstall uninstall-am uninstall-local
739
740 .PRECIOUS: Makefile
741
742
743 .PHONY: prepare
744 prepare: copystamp
745
746 # For VPATH builds we need to copy some files because Python's
747 # distutils are not VPATH-aware.
748 copystamp:
749 ln -sf "$(top_srcdir)/src/data.h" .
750 ln -sf "$(top_builddir)/conf/config.h" .
751 ln -sf "$(srcdir)/src" gpg
752 touch $@
753
754 all-local: copystamp
755 set -e ; for PYTHON in $(PYTHONS); do \
756 CPP="$(CPP)" \
757 CFLAGS="$(CFLAGS)" \
758 srcdir="$(srcdir)" \
759 top_builddir="$(top_builddir)" \
760 $$PYTHON setup.py build --verbose --build-base="$$(basename "$${PYTHON}")-gpg" ; \
761 done
762
763 python$(PYTHON_VERSION)-gpg/dist/gpg-$(VERSION).tar.gz.asc: copystamp
764 $(MKDIR_P) python$(PYTHON_VERSION)-gpg-dist
765 CPP="$(CPP)" \
766 CFLAGS="$(CFLAGS)" \
767 srcdir="$(srcdir)" \
768 top_builddir="$(top_builddir)" \
769 $(PYTHON) setup.py sdist --verbose --dist-dir=python$(PYTHON_VERSION)-gpg-dist \
770 --manifest=python$(PYTHON_VERSION)-gpg-dist/MANIFEST
771 gpgbin=gpgconf --list-components | grep OpenPGP | sed -e 's/gpg:OpenPGP://g'
772 $(gpgbin) --detach-sign --armor python$(PYTHON_VERSION)-gpg-dist/gpg-$(VERSION).tar.gz
773
774 .PHONY: sdist
775 sdist: python$(PYTHON_VERSION)-gpg/dist/gpg-$(VERSION).tar.gz.asc
776
777 .PHONY: upload
778 upload: python$(PYTHON_VERSION)-gpg-dist/gpg-$(VERSION).tar.gz \
779 python$(PYTHON_VERSION)-gpg-dist/gpg-$(VERSION).tar.gz.asc
780 twine upload $^
781
782 # Remove the rest.
783 #
784 # 'make distclean' clears the write bit, breaking rm -rf. Fix the
785 # permissions.
786 clean-local:
787 rm -rf -- build
788 for PYTHON in $(PYTHONS); do \
789 find "$$(basename "$${PYTHON}")-gpg" -type d ! -perm -200 -exec chmod u+w {} ';' ; \
790 rm -rf -- "$$(basename "$${PYTHON}")-gpg" ; \
791 done
792
793 install-exec-local:
794 set -e ; for PYTHON in $(PYTHONS); do \
795 CPP="$(CPP)" \
796 CFLAGS="$(CFLAGS)" \
797 srcdir="$(srcdir)" \
798 top_builddir="$(top_builddir)" \
799 $$PYTHON setup.py \
800 build \
801 --build-base="$$(basename "$${PYTHON}")-gpg" \
802 install \
803 --prefix "$(DESTDIR)$(prefix)" \
804 --verbose ; \
805 done
806
807 uninstall-local:
808 set -x; GV=$$(echo $(VERSION) | tr - _); for PYTHON in $(PYTHONS); do \
809 PLATLIB="$(prefix)/$$("$${PYTHON}" -c 'import sysconfig, os; print(os.path.relpath(sysconfig.get_path("platlib", scheme="posix_prefix"), sysconfig.get_config_var("prefix")))')" ; \
810 rm -rf -- "$(DESTDIR)$${PLATLIB}/gpg" \
811 "$(DESTDIR)$${PLATLIB}"/gpg-$$GV-py*.egg-info ; \
812 done
813
814 # Tell versions [3.59,3.63) of GNU make to not export all variables.
815 # Otherwise a system limit (for SysV at least) may be exceeded.
816 .NOEXPORT:
0 # Makefile.in generated by automake 1.16.4 from Makefile.am.
1 # @configure_input@
2
3 # Copyright (C) 1994-2021 Free Software Foundation, Inc.
4
5 # This Makefile.in is free software; the Free Software Foundation
6 # gives unlimited permission to copy and/or distribute it,
7 # with or without modifications, as long as this notice is preserved.
8
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
11 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
12 # PARTICULAR PURPOSE.
13
14 @SET_MAKE@
15
16 # Makefile.am for the Python bindings.
17 # Copyright (C) 2019 g10 Code GmbH
18 #
19 # This file is part of GPGME.
20 #
21 # GPGME is free software; you can redistribute it and/or modify it
22 # under the terms of the GNU Lesser General Public License as
23 # published by the Free Software Foundation; either version 2.1 of the
24 # License, or (at your option) any later version.
25 #
26 # GPGME is distributed in the hope that it will be useful, but WITHOUT
27 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
28 # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General
29 # Public License for more details.
30 #
31 # You should have received a copy of the GNU Lesser General Public
32 # License along with this program; if not, see <https://gnu.org/licenses/>.
33 # SPDX-License-Identifier: LGPL-2.1-or-later
34 VPATH = @srcdir@
35 am__is_gnu_make = { \
36 if test -z '$(MAKELEVEL)'; then \
37 false; \
38 elif test -n '$(MAKE_HOST)'; then \
39 true; \
40 elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
41 true; \
42 else \
43 false; \
44 fi; \
45 }
46 am__make_running_with_option = \
47 case $${target_option-} in \
48 ?) ;; \
49 *) echo "am__make_running_with_option: internal error: invalid" \
50 "target option '$${target_option-}' specified" >&2; \
51 exit 1;; \
52 esac; \
53 has_opt=no; \
54 sane_makeflags=$$MAKEFLAGS; \
55 if $(am__is_gnu_make); then \
56 sane_makeflags=$$MFLAGS; \
57 else \
58 case $$MAKEFLAGS in \
59 *\\[\ \ ]*) \
60 bs=\\; \
61 sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
62 | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
63 esac; \
64 fi; \
65 skip_next=no; \
66 strip_trailopt () \
67 { \
68 flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
69 }; \
70 for flg in $$sane_makeflags; do \
71 test $$skip_next = yes && { skip_next=no; continue; }; \
72 case $$flg in \
73 *=*|--*) continue;; \
74 -*I) strip_trailopt 'I'; skip_next=yes;; \
75 -*I?*) strip_trailopt 'I';; \
76 -*O) strip_trailopt 'O'; skip_next=yes;; \
77 -*O?*) strip_trailopt 'O';; \
78 -*l) strip_trailopt 'l'; skip_next=yes;; \
79 -*l?*) strip_trailopt 'l';; \
80 -[dEDm]) skip_next=yes;; \
81 -[JT]) skip_next=yes;; \
82 esac; \
83 case $$flg in \
84 *$$target_option*) has_opt=yes; break;; \
85 esac; \
86 done; \
87 test $$has_opt = yes
88 am__make_dryrun = (target_option=n; $(am__make_running_with_option))
89 am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
90 pkgdatadir = $(datadir)/@PACKAGE@
91 pkgincludedir = $(includedir)/@PACKAGE@
92 pkglibdir = $(libdir)/@PACKAGE@
93 pkglibexecdir = $(libexecdir)/@PACKAGE@
94 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
95 install_sh_DATA = $(install_sh) -c -m 644
96 install_sh_PROGRAM = $(install_sh) -c
97 install_sh_SCRIPT = $(install_sh) -c
98 INSTALL_HEADER = $(INSTALL_DATA)
99 transform = $(program_transform_name)
100 NORMAL_INSTALL = :
101 PRE_INSTALL = :
102 POST_INSTALL = :
103 NORMAL_UNINSTALL = :
104 PRE_UNINSTALL = :
105 POST_UNINSTALL = :
106 build_triplet = @build@
107 host_triplet = @host@
108 subdir = lang/python/doc
109 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
110 am__aclocal_m4_deps = $(top_srcdir)/m4/ax_cxx_compile_stdcxx.m4 \
111 $(top_srcdir)/m4/ax_pkg_swig.m4 \
112 $(top_srcdir)/m4/ax_python_devel.m4 \
113 $(top_srcdir)/m4/glib-2.0.m4 $(top_srcdir)/m4/glibc21.m4 \
114 $(top_srcdir)/m4/gnupg-ttyname.m4 \
115 $(top_srcdir)/m4/gpg-error.m4 $(top_srcdir)/m4/libassuan.m4 \
116 $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
117 $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
118 $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/pkg.m4 \
119 $(top_srcdir)/m4/python.m4 $(top_srcdir)/m4/qt.m4 \
120 $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
121 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
122 $(ACLOCAL_M4)
123 DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
124 mkinstalldirs = $(SHELL) $(top_srcdir)/build-aux/mkinstalldirs
125 CONFIG_HEADER = $(top_builddir)/conf/config.h
126 CONFIG_CLEAN_FILES =
127 CONFIG_CLEAN_VPATH_FILES =
128 AM_V_P = $(am__v_P_@AM_V@)
129 am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
130 am__v_P_0 = false
131 am__v_P_1 = :
132 AM_V_GEN = $(am__v_GEN_@AM_V@)
133 am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
134 am__v_GEN_0 = @echo " GEN " $@;
135 am__v_GEN_1 =
136 AM_V_at = $(am__v_at_@AM_V@)
137 am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
138 am__v_at_0 = @
139 am__v_at_1 =
140 SOURCES =
141 DIST_SOURCES =
142 am__can_run_installinfo = \
143 case $$AM_UPDATE_INFO_DIR in \
144 n|no|NO) false;; \
145 *) (install-info --version) >/dev/null 2>&1;; \
146 esac
147 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
148 am__DIST_COMMON = $(srcdir)/Makefile.in \
149 $(top_srcdir)/build-aux/mkinstalldirs README
150 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
151 ACLOCAL = @ACLOCAL@
152 AMTAR = @AMTAR@
153 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
154 AR = @AR@
155 AS = @AS@
156 AUTOCONF = @AUTOCONF@
157 AUTOHEADER = @AUTOHEADER@
158 AUTOMAKE = @AUTOMAKE@
159 AWK = @AWK@
160 BUILD_FILEVERSION = @BUILD_FILEVERSION@
161 BUILD_REVISION = @BUILD_REVISION@
162 BUILD_TIMESTAMP = @BUILD_TIMESTAMP@
163 BUILD_VERSION = @BUILD_VERSION@
164 CC = @CC@
165 CCDEPMODE = @CCDEPMODE@
166 CC_FOR_BUILD = @CC_FOR_BUILD@
167 CFLAGS = @CFLAGS@
168 CPP = @CPP@
169 CPPFLAGS = @CPPFLAGS@
170 CSCOPE = @CSCOPE@
171 CTAGS = @CTAGS@
172 CXX = @CXX@
173 CXXCPP = @CXXCPP@
174 CXXDEPMODE = @CXXDEPMODE@
175 CXXFLAGS = @CXXFLAGS@
176 CYGPATH_W = @CYGPATH_W@
177 DEFS = @DEFS@
178 DEPDIR = @DEPDIR@
179 DLLTOOL = @DLLTOOL@
180 DOXYGEN = @DOXYGEN@
181 DSYMUTIL = @DSYMUTIL@
182 DUMPBIN = @DUMPBIN@
183 ECHO_C = @ECHO_C@
184 ECHO_N = @ECHO_N@
185 ECHO_T = @ECHO_T@
186 EGREP = @EGREP@
187 ENABLED_LANGUAGES = @ENABLED_LANGUAGES@
188 ETAGS = @ETAGS@
189 EXEEXT = @EXEEXT@
190 FGREP = @FGREP@
191 GITLOG_TO_CHANGELOG = @GITLOG_TO_CHANGELOG@
192 GLIBC21 = @GLIBC21@
193 GLIB_CFLAGS = @GLIB_CFLAGS@
194 GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
195 GLIB_LIBS = @GLIB_LIBS@
196 GLIB_MKENUMS = @GLIB_MKENUMS@
197 GOBJECT_QUERY = @GOBJECT_QUERY@
198 GPGME_CONFIG_API_VERSION = @GPGME_CONFIG_API_VERSION@
199 GPGME_CONFIG_AVAIL_LANG = @GPGME_CONFIG_AVAIL_LANG@
200 GPGME_CONFIG_CFLAGS = @GPGME_CONFIG_CFLAGS@
201 GPGME_CONFIG_HOST = @GPGME_CONFIG_HOST@
202 GPGME_CONFIG_LIBS = @GPGME_CONFIG_LIBS@
203 GPGME_QTTEST_CFLAGS = @GPGME_QTTEST_CFLAGS@
204 GPGME_QTTEST_LIBS = @GPGME_QTTEST_LIBS@
205 GPGME_QT_CFLAGS = @GPGME_QT_CFLAGS@
206 GPGME_QT_LIBS = @GPGME_QT_LIBS@
207 GPGRT_CONFIG = @GPGRT_CONFIG@
208 GPG_ERROR_CFLAGS = @GPG_ERROR_CFLAGS@
209 GPG_ERROR_CONFIG = @GPG_ERROR_CONFIG@
210 GPG_ERROR_LIBS = @GPG_ERROR_LIBS@
211 GPG_ERROR_MT_CFLAGS = @GPG_ERROR_MT_CFLAGS@
212 GPG_ERROR_MT_LIBS = @GPG_ERROR_MT_LIBS@
213 GRAPHVIZ = @GRAPHVIZ@
214 GREP = @GREP@
215 HAVE_CXX11 = @HAVE_CXX11@
216 HAVE_DOT = @HAVE_DOT@
217 INSTALL = @INSTALL@
218 INSTALL_DATA = @INSTALL_DATA@
219 INSTALL_PROGRAM = @INSTALL_PROGRAM@
220 INSTALL_SCRIPT = @INSTALL_SCRIPT@
221 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
222 LD = @LD@
223 LDADD_FOR_TESTS_KLUDGE = @LDADD_FOR_TESTS_KLUDGE@
224 LDFLAGS = @LDFLAGS@
225 LIBASSUAN_CFLAGS = @LIBASSUAN_CFLAGS@
226 LIBASSUAN_CONFIG = @LIBASSUAN_CONFIG@
227 LIBASSUAN_LIBS = @LIBASSUAN_LIBS@
228 LIBGPGMEPP_LT_AGE = @LIBGPGMEPP_LT_AGE@
229 LIBGPGMEPP_LT_CURRENT = @LIBGPGMEPP_LT_CURRENT@
230 LIBGPGMEPP_LT_REVISION = @LIBGPGMEPP_LT_REVISION@
231 LIBGPGME_LT_AGE = @LIBGPGME_LT_AGE@
232 LIBGPGME_LT_CURRENT = @LIBGPGME_LT_CURRENT@
233 LIBGPGME_LT_REVISION = @LIBGPGME_LT_REVISION@
234 LIBOBJS = @LIBOBJS@
235 LIBQGPGME_LT_AGE = @LIBQGPGME_LT_AGE@
236 LIBQGPGME_LT_CURRENT = @LIBQGPGME_LT_CURRENT@
237 LIBQGPGME_LT_REVISION = @LIBQGPGME_LT_REVISION@
238 LIBS = @LIBS@
239 LIBTOOL = @LIBTOOL@
240 LIPO = @LIPO@
241 LN_S = @LN_S@
242 LTLIBOBJS = @LTLIBOBJS@
243 MAINT = @MAINT@
244 MAKEINFO = @MAKEINFO@
245 MANIFEST_TOOL = @MANIFEST_TOOL@
246 MKDIR_P = @MKDIR_P@
247 MOC = @MOC@
248 MOC2 = @MOC2@
249 NEED__FILE_OFFSET_BITS = @NEED__FILE_OFFSET_BITS@
250 NM = @NM@
251 NMEDIT = @NMEDIT@
252 OBJDUMP = @OBJDUMP@
253 OBJEXT = @OBJEXT@
254 OTOOL = @OTOOL@
255 OTOOL64 = @OTOOL64@
256 PACKAGE = @PACKAGE@
257 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
258 PACKAGE_NAME = @PACKAGE_NAME@
259 PACKAGE_STRING = @PACKAGE_STRING@
260 PACKAGE_TARNAME = @PACKAGE_TARNAME@
261 PACKAGE_URL = @PACKAGE_URL@
262 PACKAGE_VERSION = @PACKAGE_VERSION@
263 PATH_SEPARATOR = @PATH_SEPARATOR@
264 PKG_CONFIG = @PKG_CONFIG@
265 PYTHON = @PYTHON@
266 PYTHONS = @PYTHONS@
267 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
268 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
269 PYTHON_EXTRA_LDFLAGS = @PYTHON_EXTRA_LDFLAGS@
270 PYTHON_EXTRA_LIBS = @PYTHON_EXTRA_LIBS@
271 PYTHON_LDFLAGS = @PYTHON_LDFLAGS@
272 PYTHON_PLATFORM = @PYTHON_PLATFORM@
273 PYTHON_PREFIX = @PYTHON_PREFIX@
274 PYTHON_SITE_PKG = @PYTHON_SITE_PKG@
275 PYTHON_VERSION = @PYTHON_VERSION@
276 QTCHOOSER = @QTCHOOSER@
277 RANLIB = @RANLIB@
278 RC = @RC@
279 SED = @SED@
280 SET_MAKE = @SET_MAKE@
281 SHELL = @SHELL@
282 STRIP = @STRIP@
283 SWIG = @SWIG@
284 SWIG_LIB = @SWIG_LIB@
285 SYSROOT = @SYSROOT@
286 VERSION = @VERSION@
287 VERSION_MAJOR = @VERSION_MAJOR@
288 VERSION_MICRO = @VERSION_MICRO@
289 VERSION_MINOR = @VERSION_MINOR@
290 VERSION_NUMBER = @VERSION_NUMBER@
291 abs_builddir = @abs_builddir@
292 abs_srcdir = @abs_srcdir@
293 abs_top_builddir = @abs_top_builddir@
294 abs_top_srcdir = @abs_top_srcdir@
295 ac_ct_AR = @ac_ct_AR@
296 ac_ct_CC = @ac_ct_CC@
297 ac_ct_CXX = @ac_ct_CXX@
298 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
299 am__include = @am__include@
300 am__leading_dot = @am__leading_dot@
301 am__quote = @am__quote@
302 am__tar = @am__tar@
303 am__untar = @am__untar@
304 bindir = @bindir@
305 build = @build@
306 build_alias = @build_alias@
307 build_cpu = @build_cpu@
308 build_os = @build_os@
309 build_vendor = @build_vendor@
310 builddir = @builddir@
311 datadir = @datadir@
312 datarootdir = @datarootdir@
313 docdir = @docdir@
314 dvidir = @dvidir@
315 emacs_local_vars_begin = @emacs_local_vars_begin@
316 emacs_local_vars_end = @emacs_local_vars_end@
317 emacs_local_vars_read_only = @emacs_local_vars_read_only@
318 exec_prefix = @exec_prefix@
319 host = @host@
320 host_alias = @host_alias@
321 host_cpu = @host_cpu@
322 host_os = @host_os@
323 host_vendor = @host_vendor@
324 htmldir = @htmldir@
325 includedir = @includedir@
326 infodir = @infodir@
327 install_sh = @install_sh@
328 libdir = @libdir@
329 libexecdir = @libexecdir@
330 localedir = @localedir@
331 localstatedir = @localstatedir@
332 mandir = @mandir@
333 mkdir_p = @mkdir_p@
334 oldincludedir = @oldincludedir@
335 pdfdir = @pdfdir@
336 pkgpyexecdir = @pkgpyexecdir@
337 pkgpythondir = @pkgpythondir@
338 prefix = @prefix@
339 program_transform_name = @program_transform_name@
340 psdir = @psdir@
341 pyexecdir = @pyexecdir@
342 pythondir = @pythondir@
343 runstatedir = @runstatedir@
344 sbindir = @sbindir@
345 sharedstatedir = @sharedstatedir@
346 srcdir = @srcdir@
347 sysconfdir = @sysconfdir@
348 target_alias = @target_alias@
349 top_build_prefix = @top_build_prefix@
350 top_builddir = @top_builddir@
351 top_srcdir = @top_srcdir@
352 EXTRA_DIST = README rst src texinfo
353 @MAINTAINER_MODE_TRUE@ORGSRCS = index.org gpgme-python-howto.org maintenance-mode.org \
354 @MAINTAINER_MODE_TRUE@ short-history.org what-is-new.org what-was-new.org
355
356 all: all-am
357
358 .SUFFIXES:
359 $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
360 @for dep in $?; do \
361 case '$(am__configure_deps)' in \
362 *$$dep*) \
363 ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
364 && { if test -f $@; then exit 0; else break; fi; }; \
365 exit 1;; \
366 esac; \
367 done; \
368 echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu lang/python/doc/Makefile'; \
369 $(am__cd) $(top_srcdir) && \
370 $(AUTOMAKE) --gnu lang/python/doc/Makefile
371 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
372 @case '$?' in \
373 *config.status*) \
374 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
375 *) \
376 echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
377 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
378 esac;
379
380 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
381 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
382
383 $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
384 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
385 $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
386 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
387 $(am__aclocal_m4_deps):
388
389 mostlyclean-libtool:
390 -rm -f *.lo
391
392 clean-libtool:
393 -rm -rf .libs _libs
394 tags TAGS:
395
396 ctags CTAGS:
397
398 cscope cscopelist:
399
400 distdir: $(BUILT_SOURCES)
401 $(MAKE) $(AM_MAKEFLAGS) distdir-am
402
403 distdir-am: $(DISTFILES)
404 @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
405 topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
406 list='$(DISTFILES)'; \
407 dist_files=`for file in $$list; do echo $$file; done | \
408 sed -e "s|^$$srcdirstrip/||;t" \
409 -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
410 case $$dist_files in \
411 */*) $(MKDIR_P) `echo "$$dist_files" | \
412 sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
413 sort -u` ;; \
414 esac; \
415 for file in $$dist_files; do \
416 if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
417 if test -d $$d/$$file; then \
418 dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
419 if test -d "$(distdir)/$$file"; then \
420 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
421 fi; \
422 if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
423 cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
424 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
425 fi; \
426 cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
427 else \
428 test -f "$(distdir)/$$file" \
429 || cp -p $$d/$$file "$(distdir)/$$file" \
430 || exit 1; \
431 fi; \
432 done
433 check-am: all-am
434 check: check-am
435 @MAINTAINER_MODE_FALSE@all-local:
436 all-am: Makefile all-local
437 installdirs:
438 install: install-am
439 install-exec: install-exec-am
440 install-data: install-data-am
441 uninstall: uninstall-am
442
443 install-am: all-am
444 @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
445
446 installcheck: installcheck-am
447 install-strip:
448 if test -z '$(STRIP)'; then \
449 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
450 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
451 install; \
452 else \
453 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
454 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
455 "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
456 fi
457 mostlyclean-generic:
458
459 clean-generic:
460
461 distclean-generic:
462 -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
463 -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
464
465 maintainer-clean-generic:
466 @echo "This command is intended for maintainers to use"
467 @echo "it deletes files that may require special tools to rebuild."
468 @MAINTAINER_MODE_FALSE@maintainer-clean-local:
469 clean: clean-am
470
471 clean-am: clean-generic clean-libtool mostlyclean-am
472
473 distclean: distclean-am
474 -rm -f Makefile
475 distclean-am: clean-am distclean-generic
476
477 dvi: dvi-am
478
479 dvi-am:
480
481 html: html-am
482
483 html-am:
484
485 info: info-am
486
487 info-am:
488
489 install-data-am:
490
491 install-dvi: install-dvi-am
492
493 install-dvi-am:
494
495 install-exec-am:
496
497 install-html: install-html-am
498
499 install-html-am:
500
501 install-info: install-info-am
502
503 install-info-am:
504
505 install-man:
506
507 install-pdf: install-pdf-am
508
509 install-pdf-am:
510
511 install-ps: install-ps-am
512
513 install-ps-am:
514
515 installcheck-am:
516
517 maintainer-clean: maintainer-clean-am
518 -rm -f Makefile
519 maintainer-clean-am: distclean-am maintainer-clean-generic \
520 maintainer-clean-local
521
522 mostlyclean: mostlyclean-am
523
524 mostlyclean-am: mostlyclean-generic mostlyclean-libtool
525
526 pdf: pdf-am
527
528 pdf-am:
529
530 ps: ps-am
531
532 ps-am:
533
534 uninstall-am:
535
536 .MAKE: install-am install-strip
537
538 .PHONY: all all-am all-local check check-am clean clean-generic \
539 clean-libtool cscopelist-am ctags-am distclean \
540 distclean-generic distclean-libtool distdir dvi dvi-am html \
541 html-am info info-am install install-am install-data \
542 install-data-am install-dvi install-dvi-am install-exec \
543 install-exec-am install-html install-html-am install-info \
544 install-info-am install-man install-pdf install-pdf-am \
545 install-ps install-ps-am install-strip installcheck \
546 installcheck-am installdirs maintainer-clean \
547 maintainer-clean-generic maintainer-clean-local mostlyclean \
548 mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
549 tags-am uninstall uninstall-am
550
551 .PRECIOUS: Makefile
552
553
554 # Make sure we have 'rst' and 'texinfo' dirs in build directory
555 @MAINTAINER_MODE_TRUE@.PHONY: the_doc_dirs gen_rst gen_texi
556
557 @MAINTAINER_MODE_TRUE@the_doc_dirs:
558 @MAINTAINER_MODE_TRUE@ @if test ! -d rst; then echo $(MKDIR_P) rst; $(MKDIR_P) rst; fi
559 @MAINTAINER_MODE_TRUE@ @if test ! -d texinfo; then echo $(MKDIR_P) texinfo; $(MKDIR_P) texinfo; fi
560
561 # Generate RST files from ORG
562 @MAINTAINER_MODE_TRUE@gen_rst:
563 @MAINTAINER_MODE_TRUE@ @for f in $(ORGSRCS); do if test ! -e rst/$${f%.org}.rst \
564 @MAINTAINER_MODE_TRUE@ -o rst/$${f%.org}.rst -ot $(srcdir)/src/$$f; then \
565 @MAINTAINER_MODE_TRUE@ echo pandoc -f org -t rst $(srcdir)/src/$$f -o rst/$${f%.org}.rst; \
566 @MAINTAINER_MODE_TRUE@ pandoc -f org -t rst $(srcdir)/src/$$f -o rst/$${f%.org}.rst; \
567 @MAINTAINER_MODE_TRUE@ fi; \
568 @MAINTAINER_MODE_TRUE@ done
569
570 # Generate Texinfo files from ORG
571 @MAINTAINER_MODE_TRUE@gen_texi:
572 @MAINTAINER_MODE_TRUE@ @for f in $(ORGSRCS); do if test ! -e texinfo/$${f%.org}.texi \
573 @MAINTAINER_MODE_TRUE@ -o texinfo/$${f%.org}.texi -ot $(srcdir)/src/$$f; then \
574 @MAINTAINER_MODE_TRUE@ echo pandoc -f org -t texinfo $(srcdir)/src/$$f -o texinfo/$${f%.org}.texi; \
575 @MAINTAINER_MODE_TRUE@ pandoc -f org -t texinfo $(srcdir)/src/$$f -o texinfo/$${f%.org}.texi; \
576 @MAINTAINER_MODE_TRUE@ fi; \
577 @MAINTAINER_MODE_TRUE@ done
578
579 @MAINTAINER_MODE_TRUE@all-local: gen_rst gen_texi
580
581 @MAINTAINER_MODE_TRUE@gen_rst gen_texi: the_doc_dirs
582
583 @MAINTAINER_MODE_TRUE@maintainer-clean-local:
584 @MAINTAINER_MODE_TRUE@ @for f in $(ORGSRCS); do \
585 @MAINTAINER_MODE_TRUE@ echo rm -f rst/$${f%.org}.rst texinfo/$${f%.org}.texi; \
586 @MAINTAINER_MODE_TRUE@ rm -f rst/$${f%.org}.rst texinfo/$${f%.org}.texi; \
587 @MAINTAINER_MODE_TRUE@ done
588
589 # Tell versions [3.59,3.63) of GNU make to not export all variables.
590 # Otherwise a system limit (for SysV at least) may be exceeded.
591 .NOEXPORT:
0 # Makefile.in generated by automake 1.16.4 from Makefile.am.
1 # @configure_input@
2
3 # Copyright (C) 1994-2021 Free Software Foundation, Inc.
4
5 # This Makefile.in is free software; the Free Software Foundation
6 # gives unlimited permission to copy and/or distribute it,
7 # with or without modifications, as long as this notice is preserved.
8
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
11 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
12 # PARTICULAR PURPOSE.
13
14 @SET_MAKE@
15
16 # Makefile.am for the Python bindings.
17 # Copyright (C) 2019 g10 Code GmbH
18 #
19 # This file is part of GPGME.
20 #
21 # GPGME is free software; you can redistribute it and/or modify it
22 # under the terms of the GNU Lesser General Public License as
23 # published by the Free Software Foundation; either version 2.1 of the
24 # License, or (at your option) any later version.
25 #
26 # GPGME is distributed in the hope that it will be useful, but WITHOUT
27 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
28 # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General
29 # Public License for more details.
30 #
31 # You should have received a copy of the GNU Lesser General Public
32 # License along with this program; if not, see <https://gnu.org/licenses/>.
33 # SPDX-License-Identifier: LGPL-2.1-or-later
34 VPATH = @srcdir@
35 am__is_gnu_make = { \
36 if test -z '$(MAKELEVEL)'; then \
37 false; \
38 elif test -n '$(MAKE_HOST)'; then \
39 true; \
40 elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
41 true; \
42 else \
43 false; \
44 fi; \
45 }
46 am__make_running_with_option = \
47 case $${target_option-} in \
48 ?) ;; \
49 *) echo "am__make_running_with_option: internal error: invalid" \
50 "target option '$${target_option-}' specified" >&2; \
51 exit 1;; \
52 esac; \
53 has_opt=no; \
54 sane_makeflags=$$MAKEFLAGS; \
55 if $(am__is_gnu_make); then \
56 sane_makeflags=$$MFLAGS; \
57 else \
58 case $$MAKEFLAGS in \
59 *\\[\ \ ]*) \
60 bs=\\; \
61 sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
62 | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
63 esac; \
64 fi; \
65 skip_next=no; \
66 strip_trailopt () \
67 { \
68 flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
69 }; \
70 for flg in $$sane_makeflags; do \
71 test $$skip_next = yes && { skip_next=no; continue; }; \
72 case $$flg in \
73 *=*|--*) continue;; \
74 -*I) strip_trailopt 'I'; skip_next=yes;; \
75 -*I?*) strip_trailopt 'I';; \
76 -*O) strip_trailopt 'O'; skip_next=yes;; \
77 -*O?*) strip_trailopt 'O';; \
78 -*l) strip_trailopt 'l'; skip_next=yes;; \
79 -*l?*) strip_trailopt 'l';; \
80 -[dEDm]) skip_next=yes;; \
81 -[JT]) skip_next=yes;; \
82 esac; \
83 case $$flg in \
84 *$$target_option*) has_opt=yes; break;; \
85 esac; \
86 done; \
87 test $$has_opt = yes
88 am__make_dryrun = (target_option=n; $(am__make_running_with_option))
89 am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
90 pkgdatadir = $(datadir)/@PACKAGE@
91 pkgincludedir = $(includedir)/@PACKAGE@
92 pkglibdir = $(libdir)/@PACKAGE@
93 pkglibexecdir = $(libexecdir)/@PACKAGE@
94 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
95 install_sh_DATA = $(install_sh) -c -m 644
96 install_sh_PROGRAM = $(install_sh) -c
97 install_sh_SCRIPT = $(install_sh) -c
98 INSTALL_HEADER = $(INSTALL_DATA)
99 transform = $(program_transform_name)
100 NORMAL_INSTALL = :
101 PRE_INSTALL = :
102 POST_INSTALL = :
103 NORMAL_UNINSTALL = :
104 PRE_UNINSTALL = :
105 POST_UNINSTALL = :
106 build_triplet = @build@
107 host_triplet = @host@
108 subdir = lang/python/examples
109 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
110 am__aclocal_m4_deps = $(top_srcdir)/m4/ax_cxx_compile_stdcxx.m4 \
111 $(top_srcdir)/m4/ax_pkg_swig.m4 \
112 $(top_srcdir)/m4/ax_python_devel.m4 \
113 $(top_srcdir)/m4/glib-2.0.m4 $(top_srcdir)/m4/glibc21.m4 \
114 $(top_srcdir)/m4/gnupg-ttyname.m4 \
115 $(top_srcdir)/m4/gpg-error.m4 $(top_srcdir)/m4/libassuan.m4 \
116 $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
117 $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
118 $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/pkg.m4 \
119 $(top_srcdir)/m4/python.m4 $(top_srcdir)/m4/qt.m4 \
120 $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
121 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
122 $(ACLOCAL_M4)
123 DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
124 mkinstalldirs = $(SHELL) $(top_srcdir)/build-aux/mkinstalldirs
125 CONFIG_HEADER = $(top_builddir)/conf/config.h
126 CONFIG_CLEAN_FILES =
127 CONFIG_CLEAN_VPATH_FILES =
128 AM_V_P = $(am__v_P_@AM_V@)
129 am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
130 am__v_P_0 = false
131 am__v_P_1 = :
132 AM_V_GEN = $(am__v_GEN_@AM_V@)
133 am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
134 am__v_GEN_0 = @echo " GEN " $@;
135 am__v_GEN_1 =
136 AM_V_at = $(am__v_at_@AM_V@)
137 am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
138 am__v_at_0 = @
139 am__v_at_1 =
140 SOURCES =
141 DIST_SOURCES =
142 am__can_run_installinfo = \
143 case $$AM_UPDATE_INFO_DIR in \
144 n|no|NO) false;; \
145 *) (install-info --version) >/dev/null 2>&1;; \
146 esac
147 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
148 am__DIST_COMMON = $(srcdir)/Makefile.in \
149 $(top_srcdir)/build-aux/mkinstalldirs
150 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
151 ACLOCAL = @ACLOCAL@
152 AMTAR = @AMTAR@
153 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
154 AR = @AR@
155 AS = @AS@
156 AUTOCONF = @AUTOCONF@
157 AUTOHEADER = @AUTOHEADER@
158 AUTOMAKE = @AUTOMAKE@
159 AWK = @AWK@
160 BUILD_FILEVERSION = @BUILD_FILEVERSION@
161 BUILD_REVISION = @BUILD_REVISION@
162 BUILD_TIMESTAMP = @BUILD_TIMESTAMP@
163 BUILD_VERSION = @BUILD_VERSION@
164 CC = @CC@
165 CCDEPMODE = @CCDEPMODE@
166 CC_FOR_BUILD = @CC_FOR_BUILD@
167 CFLAGS = @CFLAGS@
168 CPP = @CPP@
169 CPPFLAGS = @CPPFLAGS@
170 CSCOPE = @CSCOPE@
171 CTAGS = @CTAGS@
172 CXX = @CXX@
173 CXXCPP = @CXXCPP@
174 CXXDEPMODE = @CXXDEPMODE@
175 CXXFLAGS = @CXXFLAGS@
176 CYGPATH_W = @CYGPATH_W@
177 DEFS = @DEFS@
178 DEPDIR = @DEPDIR@
179 DLLTOOL = @DLLTOOL@
180 DOXYGEN = @DOXYGEN@
181 DSYMUTIL = @DSYMUTIL@
182 DUMPBIN = @DUMPBIN@
183 ECHO_C = @ECHO_C@
184 ECHO_N = @ECHO_N@
185 ECHO_T = @ECHO_T@
186 EGREP = @EGREP@
187 ENABLED_LANGUAGES = @ENABLED_LANGUAGES@
188 ETAGS = @ETAGS@
189 EXEEXT = @EXEEXT@
190 FGREP = @FGREP@
191 GITLOG_TO_CHANGELOG = @GITLOG_TO_CHANGELOG@
192 GLIBC21 = @GLIBC21@
193 GLIB_CFLAGS = @GLIB_CFLAGS@
194 GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
195 GLIB_LIBS = @GLIB_LIBS@
196 GLIB_MKENUMS = @GLIB_MKENUMS@
197 GOBJECT_QUERY = @GOBJECT_QUERY@
198 GPGME_CONFIG_API_VERSION = @GPGME_CONFIG_API_VERSION@
199 GPGME_CONFIG_AVAIL_LANG = @GPGME_CONFIG_AVAIL_LANG@
200 GPGME_CONFIG_CFLAGS = @GPGME_CONFIG_CFLAGS@
201 GPGME_CONFIG_HOST = @GPGME_CONFIG_HOST@
202 GPGME_CONFIG_LIBS = @GPGME_CONFIG_LIBS@
203 GPGME_QTTEST_CFLAGS = @GPGME_QTTEST_CFLAGS@
204 GPGME_QTTEST_LIBS = @GPGME_QTTEST_LIBS@
205 GPGME_QT_CFLAGS = @GPGME_QT_CFLAGS@
206 GPGME_QT_LIBS = @GPGME_QT_LIBS@
207 GPGRT_CONFIG = @GPGRT_CONFIG@
208 GPG_ERROR_CFLAGS = @GPG_ERROR_CFLAGS@
209 GPG_ERROR_CONFIG = @GPG_ERROR_CONFIG@
210 GPG_ERROR_LIBS = @GPG_ERROR_LIBS@
211 GPG_ERROR_MT_CFLAGS = @GPG_ERROR_MT_CFLAGS@
212 GPG_ERROR_MT_LIBS = @GPG_ERROR_MT_LIBS@
213 GRAPHVIZ = @GRAPHVIZ@
214 GREP = @GREP@
215 HAVE_CXX11 = @HAVE_CXX11@
216 HAVE_DOT = @HAVE_DOT@
217 INSTALL = @INSTALL@
218 INSTALL_DATA = @INSTALL_DATA@
219 INSTALL_PROGRAM = @INSTALL_PROGRAM@
220 INSTALL_SCRIPT = @INSTALL_SCRIPT@
221 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
222 LD = @LD@
223 LDADD_FOR_TESTS_KLUDGE = @LDADD_FOR_TESTS_KLUDGE@
224 LDFLAGS = @LDFLAGS@
225 LIBASSUAN_CFLAGS = @LIBASSUAN_CFLAGS@
226 LIBASSUAN_CONFIG = @LIBASSUAN_CONFIG@
227 LIBASSUAN_LIBS = @LIBASSUAN_LIBS@
228 LIBGPGMEPP_LT_AGE = @LIBGPGMEPP_LT_AGE@
229 LIBGPGMEPP_LT_CURRENT = @LIBGPGMEPP_LT_CURRENT@
230 LIBGPGMEPP_LT_REVISION = @LIBGPGMEPP_LT_REVISION@
231 LIBGPGME_LT_AGE = @LIBGPGME_LT_AGE@
232 LIBGPGME_LT_CURRENT = @LIBGPGME_LT_CURRENT@
233 LIBGPGME_LT_REVISION = @LIBGPGME_LT_REVISION@
234 LIBOBJS = @LIBOBJS@
235 LIBQGPGME_LT_AGE = @LIBQGPGME_LT_AGE@
236 LIBQGPGME_LT_CURRENT = @LIBQGPGME_LT_CURRENT@
237 LIBQGPGME_LT_REVISION = @LIBQGPGME_LT_REVISION@
238 LIBS = @LIBS@
239 LIBTOOL = @LIBTOOL@
240 LIPO = @LIPO@
241 LN_S = @LN_S@
242 LTLIBOBJS = @LTLIBOBJS@
243 MAINT = @MAINT@
244 MAKEINFO = @MAKEINFO@
245 MANIFEST_TOOL = @MANIFEST_TOOL@
246 MKDIR_P = @MKDIR_P@
247 MOC = @MOC@
248 MOC2 = @MOC2@
249 NEED__FILE_OFFSET_BITS = @NEED__FILE_OFFSET_BITS@
250 NM = @NM@
251 NMEDIT = @NMEDIT@
252 OBJDUMP = @OBJDUMP@
253 OBJEXT = @OBJEXT@
254 OTOOL = @OTOOL@
255 OTOOL64 = @OTOOL64@
256 PACKAGE = @PACKAGE@
257 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
258 PACKAGE_NAME = @PACKAGE_NAME@
259 PACKAGE_STRING = @PACKAGE_STRING@
260 PACKAGE_TARNAME = @PACKAGE_TARNAME@
261 PACKAGE_URL = @PACKAGE_URL@
262 PACKAGE_VERSION = @PACKAGE_VERSION@
263 PATH_SEPARATOR = @PATH_SEPARATOR@
264 PKG_CONFIG = @PKG_CONFIG@
265 PYTHON = @PYTHON@
266 PYTHONS = @PYTHONS@
267 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
268 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
269 PYTHON_EXTRA_LDFLAGS = @PYTHON_EXTRA_LDFLAGS@
270 PYTHON_EXTRA_LIBS = @PYTHON_EXTRA_LIBS@
271 PYTHON_LDFLAGS = @PYTHON_LDFLAGS@
272 PYTHON_PLATFORM = @PYTHON_PLATFORM@
273 PYTHON_PREFIX = @PYTHON_PREFIX@
274 PYTHON_SITE_PKG = @PYTHON_SITE_PKG@
275 PYTHON_VERSION = @PYTHON_VERSION@
276 QTCHOOSER = @QTCHOOSER@
277 RANLIB = @RANLIB@
278 RC = @RC@
279 SED = @SED@
280 SET_MAKE = @SET_MAKE@
281 SHELL = @SHELL@
282 STRIP = @STRIP@
283 SWIG = @SWIG@
284 SWIG_LIB = @SWIG_LIB@
285 SYSROOT = @SYSROOT@
286 VERSION = @VERSION@
287 VERSION_MAJOR = @VERSION_MAJOR@
288 VERSION_MICRO = @VERSION_MICRO@
289 VERSION_MINOR = @VERSION_MINOR@
290 VERSION_NUMBER = @VERSION_NUMBER@
291 abs_builddir = @abs_builddir@
292 abs_srcdir = @abs_srcdir@
293 abs_top_builddir = @abs_top_builddir@
294 abs_top_srcdir = @abs_top_srcdir@
295 ac_ct_AR = @ac_ct_AR@
296 ac_ct_CC = @ac_ct_CC@
297 ac_ct_CXX = @ac_ct_CXX@
298 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
299 am__include = @am__include@
300 am__leading_dot = @am__leading_dot@
301 am__quote = @am__quote@
302 am__tar = @am__tar@
303 am__untar = @am__untar@
304 bindir = @bindir@
305 build = @build@
306 build_alias = @build_alias@
307 build_cpu = @build_cpu@
308 build_os = @build_os@
309 build_vendor = @build_vendor@
310 builddir = @builddir@
311 datadir = @datadir@
312 datarootdir = @datarootdir@
313 docdir = @docdir@
314 dvidir = @dvidir@
315 emacs_local_vars_begin = @emacs_local_vars_begin@
316 emacs_local_vars_end = @emacs_local_vars_end@
317 emacs_local_vars_read_only = @emacs_local_vars_read_only@
318 exec_prefix = @exec_prefix@
319 host = @host@
320 host_alias = @host_alias@
321 host_cpu = @host_cpu@
322 host_os = @host_os@
323 host_vendor = @host_vendor@
324 htmldir = @htmldir@
325 includedir = @includedir@
326 infodir = @infodir@
327 install_sh = @install_sh@
328 libdir = @libdir@
329 libexecdir = @libexecdir@
330 localedir = @localedir@
331 localstatedir = @localstatedir@
332 mandir = @mandir@
333 mkdir_p = @mkdir_p@
334 oldincludedir = @oldincludedir@
335 pdfdir = @pdfdir@
336 pkgpyexecdir = @pkgpyexecdir@
337 pkgpythondir = @pkgpythondir@
338 prefix = @prefix@
339 program_transform_name = @program_transform_name@
340 psdir = @psdir@
341 pyexecdir = @pyexecdir@
342 pythondir = @pythondir@
343 runstatedir = @runstatedir@
344 sbindir = @sbindir@
345 sharedstatedir = @sharedstatedir@
346 srcdir = @srcdir@
347 sysconfdir = @sysconfdir@
348 target_alias = @target_alias@
349 top_build_prefix = @top_build_prefix@
350 top_builddir = @top_builddir@
351 top_srcdir = @top_srcdir@
352
353 # Created by:
354 # find . -type f -print | sed 's/^.\// /;$q;s/$/ \\/' | sort
355 EXTRA_DIST = assuan.py \
356 decryption-filter.py \
357 delkey.py \
358 exportimport.py \
359 genkey.py \
360 howto/add-userid.py \
361 howto/advanced/cython/keycount.pyx \
362 howto/advanced/cython/requirements.txt \
363 howto/advanced/cython/setup.py \
364 howto/clear-sign-file.py \
365 howto/create-key.py \
366 howto/decrypt-file.py \
367 howto/detach-sign-file.py \
368 howto/encrypt-file.py \
369 howto/encrypt-sign-file.py \
370 howto/encrypt-to-group-gullible.py \
371 howto/encrypt-to-group.py \
372 howto/encrypt-to-group-trustno1.py \
373 howto/export-key.py \
374 howto/export-minimised-key.py \
375 howto/export-secret-key.py \
376 howto/export-secret-keys.py \
377 howto/groups.py \
378 howto/import-keybasekey.py \
379 howto/import-key.py \
380 howto/import-keys-hkp.py \
381 howto/import-keys.py \
382 howto/import-mailvelope-keys.py \
383 howto/keycount.py \
384 howto/local-sign-group.py \
385 howto/mutt-groups.py \
386 howto/pmkey-import-alt.py \
387 howto/pmkey-import-hkp-alt.py \
388 howto/pmkey-import-hkp.py \
389 howto/pmkey-import.py \
390 howto/post_installer.py \
391 howto/README.org \
392 howto/requirements.txt \
393 howto/revoke-userid.py \
394 howto/send-key-to-keyserver.py \
395 howto/sign-file.py \
396 howto/sign-key.py \
397 howto/symcrypt-file.py \
398 howto/temp-homedir-config.py \
399 howto/verify-signatures.py \
400 howto/verify-signed-file.py \
401 inter-edit.py \
402 low_level-encrypt_to_all.py \
403 sign.py \
404 signverify.py \
405 simple.py \
406 testCMSgetkey.py \
407 verifydetails.py
408
409 all: all-am
410
411 .SUFFIXES:
412 $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
413 @for dep in $?; do \
414 case '$(am__configure_deps)' in \
415 *$$dep*) \
416 ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
417 && { if test -f $@; then exit 0; else break; fi; }; \
418 exit 1;; \
419 esac; \
420 done; \
421 echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu lang/python/examples/Makefile'; \
422 $(am__cd) $(top_srcdir) && \
423 $(AUTOMAKE) --gnu lang/python/examples/Makefile
424 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
425 @case '$?' in \
426 *config.status*) \
427 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
428 *) \
429 echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
430 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
431 esac;
432
433 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
434 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
435
436 $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
437 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
438 $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
439 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
440 $(am__aclocal_m4_deps):
441
442 mostlyclean-libtool:
443 -rm -f *.lo
444
445 clean-libtool:
446 -rm -rf .libs _libs
447 tags TAGS:
448
449 ctags CTAGS:
450
451 cscope cscopelist:
452
453 distdir: $(BUILT_SOURCES)
454 $(MAKE) $(AM_MAKEFLAGS) distdir-am
455
456 distdir-am: $(DISTFILES)
457 @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
458 topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
459 list='$(DISTFILES)'; \
460 dist_files=`for file in $$list; do echo $$file; done | \
461 sed -e "s|^$$srcdirstrip/||;t" \
462 -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
463 case $$dist_files in \
464 */*) $(MKDIR_P) `echo "$$dist_files" | \
465 sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
466 sort -u` ;; \
467 esac; \
468 for file in $$dist_files; do \
469 if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
470 if test -d $$d/$$file; then \
471 dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
472 if test -d "$(distdir)/$$file"; then \
473 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
474 fi; \
475 if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
476 cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
477 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
478 fi; \
479 cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
480 else \
481 test -f "$(distdir)/$$file" \
482 || cp -p $$d/$$file "$(distdir)/$$file" \
483 || exit 1; \
484 fi; \
485 done
486 check-am: all-am
487 check: check-am
488 all-am: Makefile
489 installdirs:
490 install: install-am
491 install-exec: install-exec-am
492 install-data: install-data-am
493 uninstall: uninstall-am
494
495 install-am: all-am
496 @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
497
498 installcheck: installcheck-am
499 install-strip:
500 if test -z '$(STRIP)'; then \
501 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
502 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
503 install; \
504 else \
505 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
506 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
507 "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
508 fi
509 mostlyclean-generic:
510
511 clean-generic:
512
513 distclean-generic:
514 -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
515 -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
516
517 maintainer-clean-generic:
518 @echo "This command is intended for maintainers to use"
519 @echo "it deletes files that may require special tools to rebuild."
520 clean: clean-am
521
522 clean-am: clean-generic clean-libtool mostlyclean-am
523
524 distclean: distclean-am
525 -rm -f Makefile
526 distclean-am: clean-am distclean-generic
527
528 dvi: dvi-am
529
530 dvi-am:
531
532 html: html-am
533
534 html-am:
535
536 info: info-am
537
538 info-am:
539
540 install-data-am:
541
542 install-dvi: install-dvi-am
543
544 install-dvi-am:
545
546 install-exec-am:
547
548 install-html: install-html-am
549
550 install-html-am:
551
552 install-info: install-info-am
553
554 install-info-am:
555
556 install-man:
557
558 install-pdf: install-pdf-am
559
560 install-pdf-am:
561
562 install-ps: install-ps-am
563
564 install-ps-am:
565
566 installcheck-am:
567
568 maintainer-clean: maintainer-clean-am
569 -rm -f Makefile
570 maintainer-clean-am: distclean-am maintainer-clean-generic
571
572 mostlyclean: mostlyclean-am
573
574 mostlyclean-am: mostlyclean-generic mostlyclean-libtool
575
576 pdf: pdf-am
577
578 pdf-am:
579
580 ps: ps-am
581
582 ps-am:
583
584 uninstall-am:
585
586 .MAKE: install-am install-strip
587
588 .PHONY: all all-am check check-am clean clean-generic clean-libtool \
589 cscopelist-am ctags-am distclean distclean-generic \
590 distclean-libtool distdir dvi dvi-am html html-am info info-am \
591 install install-am install-data install-data-am install-dvi \
592 install-dvi-am install-exec install-exec-am install-html \
593 install-html-am install-info install-info-am install-man \
594 install-pdf install-pdf-am install-ps install-ps-am \
595 install-strip installcheck installcheck-am installdirs \
596 maintainer-clean maintainer-clean-generic mostlyclean \
597 mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
598 tags-am uninstall uninstall-am
599
600 .PRECIOUS: Makefile
601
602
603 # Tell versions [3.59,3.63) of GNU make to not export all variables.
604 # Otherwise a system limit (for SysV at least) may be exceeded.
605 .NOEXPORT:
0 # Makefile.in generated by automake 1.16.4 from Makefile.am.
1 # @configure_input@
2
3 # Copyright (C) 1994-2021 Free Software Foundation, Inc.
4
5 # This Makefile.in is free software; the Free Software Foundation
6 # gives unlimited permission to copy and/or distribute it,
7 # with or without modifications, as long as this notice is preserved.
8
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
11 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
12 # PARTICULAR PURPOSE.
13
14 @SET_MAKE@
15
16 # Makefile.am for the Python bindings.
17 # Copyright (C) 2019 g10 Code GmbH
18 #
19 # This file is part of GPGME.
20 #
21 # GPGME is free software; you can redistribute it and/or modify it
22 # under the terms of the GNU Lesser General Public License as
23 # published by the Free Software Foundation; either version 2.1 of the
24 # License, or (at your option) any later version.
25 #
26 # GPGME is distributed in the hope that it will be useful, but WITHOUT
27 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
28 # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General
29 # Public License for more details.
30 #
31 # You should have received a copy of the GNU Lesser General Public
32 # License along with this program; if not, see <https://gnu.org/licenses/>.
33 # SPDX-License-Identifier: LGPL-2.1-or-later
34 VPATH = @srcdir@
35 am__is_gnu_make = { \
36 if test -z '$(MAKELEVEL)'; then \
37 false; \
38 elif test -n '$(MAKE_HOST)'; then \
39 true; \
40 elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
41 true; \
42 else \
43 false; \
44 fi; \
45 }
46 am__make_running_with_option = \
47 case $${target_option-} in \
48 ?) ;; \
49 *) echo "am__make_running_with_option: internal error: invalid" \
50 "target option '$${target_option-}' specified" >&2; \
51 exit 1;; \
52 esac; \
53 has_opt=no; \
54 sane_makeflags=$$MAKEFLAGS; \
55 if $(am__is_gnu_make); then \
56 sane_makeflags=$$MFLAGS; \
57 else \
58 case $$MAKEFLAGS in \
59 *\\[\ \ ]*) \
60 bs=\\; \
61 sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
62 | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
63 esac; \
64 fi; \
65 skip_next=no; \
66 strip_trailopt () \
67 { \
68 flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
69 }; \
70 for flg in $$sane_makeflags; do \
71 test $$skip_next = yes && { skip_next=no; continue; }; \
72 case $$flg in \
73 *=*|--*) continue;; \
74 -*I) strip_trailopt 'I'; skip_next=yes;; \
75 -*I?*) strip_trailopt 'I';; \
76 -*O) strip_trailopt 'O'; skip_next=yes;; \
77 -*O?*) strip_trailopt 'O';; \
78 -*l) strip_trailopt 'l'; skip_next=yes;; \
79 -*l?*) strip_trailopt 'l';; \
80 -[dEDm]) skip_next=yes;; \
81 -[JT]) skip_next=yes;; \
82 esac; \
83 case $$flg in \
84 *$$target_option*) has_opt=yes; break;; \
85 esac; \
86 done; \
87 test $$has_opt = yes
88 am__make_dryrun = (target_option=n; $(am__make_running_with_option))
89 am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
90 pkgdatadir = $(datadir)/@PACKAGE@
91 pkgincludedir = $(includedir)/@PACKAGE@
92 pkglibdir = $(libdir)/@PACKAGE@
93 pkglibexecdir = $(libexecdir)/@PACKAGE@
94 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
95 install_sh_DATA = $(install_sh) -c -m 644
96 install_sh_PROGRAM = $(install_sh) -c
97 install_sh_SCRIPT = $(install_sh) -c
98 INSTALL_HEADER = $(INSTALL_DATA)
99 transform = $(program_transform_name)
100 NORMAL_INSTALL = :
101 PRE_INSTALL = :
102 POST_INSTALL = :
103 NORMAL_UNINSTALL = :
104 PRE_UNINSTALL = :
105 POST_UNINSTALL = :
106 build_triplet = @build@
107 host_triplet = @host@
108 subdir = lang/python/src
109 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
110 am__aclocal_m4_deps = $(top_srcdir)/m4/ax_cxx_compile_stdcxx.m4 \
111 $(top_srcdir)/m4/ax_pkg_swig.m4 \
112 $(top_srcdir)/m4/ax_python_devel.m4 \
113 $(top_srcdir)/m4/glib-2.0.m4 $(top_srcdir)/m4/glibc21.m4 \
114 $(top_srcdir)/m4/gnupg-ttyname.m4 \
115 $(top_srcdir)/m4/gpg-error.m4 $(top_srcdir)/m4/libassuan.m4 \
116 $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
117 $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
118 $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/pkg.m4 \
119 $(top_srcdir)/m4/python.m4 $(top_srcdir)/m4/qt.m4 \
120 $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
121 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
122 $(ACLOCAL_M4)
123 DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
124 mkinstalldirs = $(SHELL) $(top_srcdir)/build-aux/mkinstalldirs
125 CONFIG_HEADER = $(top_builddir)/conf/config.h
126 CONFIG_CLEAN_FILES =
127 CONFIG_CLEAN_VPATH_FILES =
128 AM_V_P = $(am__v_P_@AM_V@)
129 am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
130 am__v_P_0 = false
131 am__v_P_1 = :
132 AM_V_GEN = $(am__v_GEN_@AM_V@)
133 am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
134 am__v_GEN_0 = @echo " GEN " $@;
135 am__v_GEN_1 =
136 AM_V_at = $(am__v_at_@AM_V@)
137 am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
138 am__v_at_0 = @
139 am__v_at_1 =
140 SOURCES =
141 DIST_SOURCES =
142 am__can_run_installinfo = \
143 case $$AM_UPDATE_INFO_DIR in \
144 n|no|NO) false;; \
145 *) (install-info --version) >/dev/null 2>&1;; \
146 esac
147 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
148 am__DIST_COMMON = $(srcdir)/Makefile.in \
149 $(top_srcdir)/build-aux/mkinstalldirs
150 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
151 ACLOCAL = @ACLOCAL@
152 AMTAR = @AMTAR@
153 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
154 AR = @AR@
155 AS = @AS@
156 AUTOCONF = @AUTOCONF@
157 AUTOHEADER = @AUTOHEADER@
158 AUTOMAKE = @AUTOMAKE@
159 AWK = @AWK@
160 BUILD_FILEVERSION = @BUILD_FILEVERSION@
161 BUILD_REVISION = @BUILD_REVISION@
162 BUILD_TIMESTAMP = @BUILD_TIMESTAMP@
163 BUILD_VERSION = @BUILD_VERSION@
164 CC = @CC@
165 CCDEPMODE = @CCDEPMODE@
166 CC_FOR_BUILD = @CC_FOR_BUILD@
167 CFLAGS = @CFLAGS@
168 CPP = @CPP@
169 CPPFLAGS = @CPPFLAGS@
170 CSCOPE = @CSCOPE@
171 CTAGS = @CTAGS@
172 CXX = @CXX@
173 CXXCPP = @CXXCPP@
174 CXXDEPMODE = @CXXDEPMODE@
175 CXXFLAGS = @CXXFLAGS@
176 CYGPATH_W = @CYGPATH_W@
177 DEFS = @DEFS@
178 DEPDIR = @DEPDIR@
179 DLLTOOL = @DLLTOOL@
180 DOXYGEN = @DOXYGEN@
181 DSYMUTIL = @DSYMUTIL@
182 DUMPBIN = @DUMPBIN@
183 ECHO_C = @ECHO_C@
184 ECHO_N = @ECHO_N@
185 ECHO_T = @ECHO_T@
186 EGREP = @EGREP@
187 ENABLED_LANGUAGES = @ENABLED_LANGUAGES@
188 ETAGS = @ETAGS@
189 EXEEXT = @EXEEXT@
190 FGREP = @FGREP@
191 GITLOG_TO_CHANGELOG = @GITLOG_TO_CHANGELOG@
192 GLIBC21 = @GLIBC21@
193 GLIB_CFLAGS = @GLIB_CFLAGS@
194 GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
195 GLIB_LIBS = @GLIB_LIBS@
196 GLIB_MKENUMS = @GLIB_MKENUMS@
197 GOBJECT_QUERY = @GOBJECT_QUERY@
198 GPGME_CONFIG_API_VERSION = @GPGME_CONFIG_API_VERSION@
199 GPGME_CONFIG_AVAIL_LANG = @GPGME_CONFIG_AVAIL_LANG@
200 GPGME_CONFIG_CFLAGS = @GPGME_CONFIG_CFLAGS@
201 GPGME_CONFIG_HOST = @GPGME_CONFIG_HOST@
202 GPGME_CONFIG_LIBS = @GPGME_CONFIG_LIBS@
203 GPGME_QTTEST_CFLAGS = @GPGME_QTTEST_CFLAGS@
204 GPGME_QTTEST_LIBS = @GPGME_QTTEST_LIBS@
205 GPGME_QT_CFLAGS = @GPGME_QT_CFLAGS@
206 GPGME_QT_LIBS = @GPGME_QT_LIBS@
207 GPGRT_CONFIG = @GPGRT_CONFIG@
208 GPG_ERROR_CFLAGS = @GPG_ERROR_CFLAGS@
209 GPG_ERROR_CONFIG = @GPG_ERROR_CONFIG@
210 GPG_ERROR_LIBS = @GPG_ERROR_LIBS@
211 GPG_ERROR_MT_CFLAGS = @GPG_ERROR_MT_CFLAGS@
212 GPG_ERROR_MT_LIBS = @GPG_ERROR_MT_LIBS@
213 GRAPHVIZ = @GRAPHVIZ@
214 GREP = @GREP@
215 HAVE_CXX11 = @HAVE_CXX11@
216 HAVE_DOT = @HAVE_DOT@
217 INSTALL = @INSTALL@
218 INSTALL_DATA = @INSTALL_DATA@
219 INSTALL_PROGRAM = @INSTALL_PROGRAM@
220 INSTALL_SCRIPT = @INSTALL_SCRIPT@
221 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
222 LD = @LD@
223 LDADD_FOR_TESTS_KLUDGE = @LDADD_FOR_TESTS_KLUDGE@
224 LDFLAGS = @LDFLAGS@
225 LIBASSUAN_CFLAGS = @LIBASSUAN_CFLAGS@
226 LIBASSUAN_CONFIG = @LIBASSUAN_CONFIG@
227 LIBASSUAN_LIBS = @LIBASSUAN_LIBS@
228 LIBGPGMEPP_LT_AGE = @LIBGPGMEPP_LT_AGE@
229 LIBGPGMEPP_LT_CURRENT = @LIBGPGMEPP_LT_CURRENT@
230 LIBGPGMEPP_LT_REVISION = @LIBGPGMEPP_LT_REVISION@
231 LIBGPGME_LT_AGE = @LIBGPGME_LT_AGE@
232 LIBGPGME_LT_CURRENT = @LIBGPGME_LT_CURRENT@
233 LIBGPGME_LT_REVISION = @LIBGPGME_LT_REVISION@
234 LIBOBJS = @LIBOBJS@
235 LIBQGPGME_LT_AGE = @LIBQGPGME_LT_AGE@
236 LIBQGPGME_LT_CURRENT = @LIBQGPGME_LT_CURRENT@
237 LIBQGPGME_LT_REVISION = @LIBQGPGME_LT_REVISION@
238 LIBS = @LIBS@
239 LIBTOOL = @LIBTOOL@
240 LIPO = @LIPO@
241 LN_S = @LN_S@
242 LTLIBOBJS = @LTLIBOBJS@
243 MAINT = @MAINT@
244 MAKEINFO = @MAKEINFO@
245 MANIFEST_TOOL = @MANIFEST_TOOL@
246 MKDIR_P = @MKDIR_P@
247 MOC = @MOC@
248 MOC2 = @MOC2@
249 NEED__FILE_OFFSET_BITS = @NEED__FILE_OFFSET_BITS@
250 NM = @NM@
251 NMEDIT = @NMEDIT@
252 OBJDUMP = @OBJDUMP@
253 OBJEXT = @OBJEXT@
254 OTOOL = @OTOOL@
255 OTOOL64 = @OTOOL64@
256 PACKAGE = @PACKAGE@
257 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
258 PACKAGE_NAME = @PACKAGE_NAME@
259 PACKAGE_STRING = @PACKAGE_STRING@
260 PACKAGE_TARNAME = @PACKAGE_TARNAME@
261 PACKAGE_URL = @PACKAGE_URL@
262 PACKAGE_VERSION = @PACKAGE_VERSION@
263 PATH_SEPARATOR = @PATH_SEPARATOR@
264 PKG_CONFIG = @PKG_CONFIG@
265 PYTHON = @PYTHON@
266 PYTHONS = @PYTHONS@
267 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
268 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
269 PYTHON_EXTRA_LDFLAGS = @PYTHON_EXTRA_LDFLAGS@
270 PYTHON_EXTRA_LIBS = @PYTHON_EXTRA_LIBS@
271 PYTHON_LDFLAGS = @PYTHON_LDFLAGS@
272 PYTHON_PLATFORM = @PYTHON_PLATFORM@
273 PYTHON_PREFIX = @PYTHON_PREFIX@
274 PYTHON_SITE_PKG = @PYTHON_SITE_PKG@
275 PYTHON_VERSION = @PYTHON_VERSION@
276 QTCHOOSER = @QTCHOOSER@
277 RANLIB = @RANLIB@
278 RC = @RC@
279 SED = @SED@
280 SET_MAKE = @SET_MAKE@
281 SHELL = @SHELL@
282 STRIP = @STRIP@
283 SWIG = @SWIG@
284 SWIG_LIB = @SWIG_LIB@
285 SYSROOT = @SYSROOT@
286 VERSION = @VERSION@
287 VERSION_MAJOR = @VERSION_MAJOR@
288 VERSION_MICRO = @VERSION_MICRO@
289 VERSION_MINOR = @VERSION_MINOR@
290 VERSION_NUMBER = @VERSION_NUMBER@
291 abs_builddir = @abs_builddir@
292 abs_srcdir = @abs_srcdir@
293 abs_top_builddir = @abs_top_builddir@
294 abs_top_srcdir = @abs_top_srcdir@
295 ac_ct_AR = @ac_ct_AR@
296 ac_ct_CC = @ac_ct_CC@
297 ac_ct_CXX = @ac_ct_CXX@
298 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
299 am__include = @am__include@
300 am__leading_dot = @am__leading_dot@
301 am__quote = @am__quote@
302 am__tar = @am__tar@
303 am__untar = @am__untar@
304 bindir = @bindir@
305 build = @build@
306 build_alias = @build_alias@
307 build_cpu = @build_cpu@
308 build_os = @build_os@
309 build_vendor = @build_vendor@
310 builddir = @builddir@
311 datadir = @datadir@
312 datarootdir = @datarootdir@
313 docdir = @docdir@
314 dvidir = @dvidir@
315 emacs_local_vars_begin = @emacs_local_vars_begin@
316 emacs_local_vars_end = @emacs_local_vars_end@
317 emacs_local_vars_read_only = @emacs_local_vars_read_only@
318 exec_prefix = @exec_prefix@
319 host = @host@
320 host_alias = @host_alias@
321 host_cpu = @host_cpu@
322 host_os = @host_os@
323 host_vendor = @host_vendor@
324 htmldir = @htmldir@
325 includedir = @includedir@
326 infodir = @infodir@
327 install_sh = @install_sh@
328 libdir = @libdir@
329 libexecdir = @libexecdir@
330 localedir = @localedir@
331 localstatedir = @localstatedir@
332 mandir = @mandir@
333 mkdir_p = @mkdir_p@
334 oldincludedir = @oldincludedir@
335 pdfdir = @pdfdir@
336 pkgpyexecdir = @pkgpyexecdir@
337 pkgpythondir = @pkgpythondir@
338 prefix = @prefix@
339 program_transform_name = @program_transform_name@
340 psdir = @psdir@
341 pyexecdir = @pyexecdir@
342 pythondir = @pythondir@
343 runstatedir = @runstatedir@
344 sbindir = @sbindir@
345 sharedstatedir = @sharedstatedir@
346 srcdir = @srcdir@
347 sysconfdir = @sysconfdir@
348 target_alias = @target_alias@
349 top_build_prefix = @top_build_prefix@
350 top_builddir = @top_builddir@
351 top_srcdir = @top_srcdir@
352
353 # Created by:
354 # find . -type f -print | sed 's/^.\// /;$q;s/$/ \\/' | sort
355 EXTRA_DIST = callbacks.py \
356 constants/create.py \
357 constants/data/encoding.py \
358 constants/data/__init__.py \
359 constants/event.py \
360 constants/import_type.py \
361 constants/__init__.py \
362 constants/keylist/__init__.py \
363 constants/keylist/mode.py \
364 constants/keysign.py \
365 constants/md.py \
366 constants/pk.py \
367 constants/protocol.py \
368 constants/sig/__init__.py \
369 constants/sig/mode.py \
370 constants/sig/notation.py \
371 constants/sigsum.py \
372 constants/status.py \
373 constants/tofu/__init__.py \
374 constants/tofu/policy.py \
375 constants/validity.py \
376 core.py \
377 errors.py \
378 __init__.py \
379 results.py \
380 util.py
381
382 all: all-am
383
384 .SUFFIXES:
385 $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
386 @for dep in $?; do \
387 case '$(am__configure_deps)' in \
388 *$$dep*) \
389 ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
390 && { if test -f $@; then exit 0; else break; fi; }; \
391 exit 1;; \
392 esac; \
393 done; \
394 echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu lang/python/src/Makefile'; \
395 $(am__cd) $(top_srcdir) && \
396 $(AUTOMAKE) --gnu lang/python/src/Makefile
397 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
398 @case '$?' in \
399 *config.status*) \
400 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
401 *) \
402 echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
403 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
404 esac;
405
406 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
407 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
408
409 $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
410 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
411 $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
412 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
413 $(am__aclocal_m4_deps):
414
415 mostlyclean-libtool:
416 -rm -f *.lo
417
418 clean-libtool:
419 -rm -rf .libs _libs
420 tags TAGS:
421
422 ctags CTAGS:
423
424 cscope cscopelist:
425
426 distdir: $(BUILT_SOURCES)
427 $(MAKE) $(AM_MAKEFLAGS) distdir-am
428
429 distdir-am: $(DISTFILES)
430 @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
431 topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
432 list='$(DISTFILES)'; \
433 dist_files=`for file in $$list; do echo $$file; done | \
434 sed -e "s|^$$srcdirstrip/||;t" \
435 -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
436 case $$dist_files in \
437 */*) $(MKDIR_P) `echo "$$dist_files" | \
438 sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
439 sort -u` ;; \
440 esac; \
441 for file in $$dist_files; do \
442 if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
443 if test -d $$d/$$file; then \
444 dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
445 if test -d "$(distdir)/$$file"; then \
446 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
447 fi; \
448 if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
449 cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
450 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
451 fi; \
452 cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
453 else \
454 test -f "$(distdir)/$$file" \
455 || cp -p $$d/$$file "$(distdir)/$$file" \
456 || exit 1; \
457 fi; \
458 done
459 check-am: all-am
460 check: check-am
461 all-am: Makefile
462 installdirs:
463 install: install-am
464 install-exec: install-exec-am
465 install-data: install-data-am
466 uninstall: uninstall-am
467
468 install-am: all-am
469 @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
470
471 installcheck: installcheck-am
472 install-strip:
473 if test -z '$(STRIP)'; then \
474 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
475 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
476 install; \
477 else \
478 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
479 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
480 "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
481 fi
482 mostlyclean-generic:
483
484 clean-generic:
485
486 distclean-generic:
487 -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
488 -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
489
490 maintainer-clean-generic:
491 @echo "This command is intended for maintainers to use"
492 @echo "it deletes files that may require special tools to rebuild."
493 clean: clean-am
494
495 clean-am: clean-generic clean-libtool mostlyclean-am
496
497 distclean: distclean-am
498 -rm -f Makefile
499 distclean-am: clean-am distclean-generic
500
501 dvi: dvi-am
502
503 dvi-am:
504
505 html: html-am
506
507 html-am:
508
509 info: info-am
510
511 info-am:
512
513 install-data-am:
514
515 install-dvi: install-dvi-am
516
517 install-dvi-am:
518
519 install-exec-am:
520
521 install-html: install-html-am
522
523 install-html-am:
524
525 install-info: install-info-am
526
527 install-info-am:
528
529 install-man:
530
531 install-pdf: install-pdf-am
532
533 install-pdf-am:
534
535 install-ps: install-ps-am
536
537 install-ps-am:
538
539 installcheck-am:
540
541 maintainer-clean: maintainer-clean-am
542 -rm -f Makefile
543 maintainer-clean-am: distclean-am maintainer-clean-generic
544
545 mostlyclean: mostlyclean-am
546
547 mostlyclean-am: mostlyclean-generic mostlyclean-libtool
548
549 pdf: pdf-am
550
551 pdf-am:
552
553 ps: ps-am
554
555 ps-am:
556
557 uninstall-am:
558
559 .MAKE: install-am install-strip
560
561 .PHONY: all all-am check check-am clean clean-generic clean-libtool \
562 cscopelist-am ctags-am distclean distclean-generic \
563 distclean-libtool distdir dvi dvi-am html html-am info info-am \
564 install install-am install-data install-data-am install-dvi \
565 install-dvi-am install-exec install-exec-am install-html \
566 install-html-am install-info install-info-am install-man \
567 install-pdf install-pdf-am install-ps install-ps-am \
568 install-strip installcheck installcheck-am installdirs \
569 maintainer-clean maintainer-clean-generic mostlyclean \
570 mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
571 tags-am uninstall uninstall-am
572
573 .PRECIOUS: Makefile
574
575
576 # Tell versions [3.59,3.63) of GNU make to not export all variables.
577 # Otherwise a system limit (for SysV at least) may be exceeded.
578 .NOEXPORT:
0 # Makefile.in generated by automake 1.16.4 from Makefile.am.
1 # @configure_input@
2
3 # Copyright (C) 1994-2021 Free Software Foundation, Inc.
4
5 # This Makefile.in is free software; the Free Software Foundation
6 # gives unlimited permission to copy and/or distribute it,
7 # with or without modifications, as long as this notice is preserved.
8
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
11 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
12 # PARTICULAR PURPOSE.
13
14 @SET_MAKE@
15
16 # Makefile.am for the tests of the Python bindings.
17 # Copyright (C) 2016 g10 Code GmbH
18 #
19 # This file is part of GPGME.
20 #
21 # GPGME is free software; you can redistribute it and/or modify it
22 # under the terms of the GNU General Public License as published by
23 # the Free Software Foundation; either version 2 of the License, or
24 # (at your option) any later version.
25 #
26 # GPGME is distributed in the hope that it will be useful, but WITHOUT
27 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
28 # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General
29 # Public License for more details.
30 #
31 # You should have received a copy of the GNU Lesser General Public
32 # License along with this program; if not, see <https://www.gnu.org/licenses/>.
33 VPATH = @srcdir@
34 am__is_gnu_make = { \
35 if test -z '$(MAKELEVEL)'; then \
36 false; \
37 elif test -n '$(MAKE_HOST)'; then \
38 true; \
39 elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
40 true; \
41 else \
42 false; \
43 fi; \
44 }
45 am__make_running_with_option = \
46 case $${target_option-} in \
47 ?) ;; \
48 *) echo "am__make_running_with_option: internal error: invalid" \
49 "target option '$${target_option-}' specified" >&2; \
50 exit 1;; \
51 esac; \
52 has_opt=no; \
53 sane_makeflags=$$MAKEFLAGS; \
54 if $(am__is_gnu_make); then \
55 sane_makeflags=$$MFLAGS; \
56 else \
57 case $$MAKEFLAGS in \
58 *\\[\ \ ]*) \
59 bs=\\; \
60 sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
61 | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
62 esac; \
63 fi; \
64 skip_next=no; \
65 strip_trailopt () \
66 { \
67 flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
68 }; \
69 for flg in $$sane_makeflags; do \
70 test $$skip_next = yes && { skip_next=no; continue; }; \
71 case $$flg in \
72 *=*|--*) continue;; \
73 -*I) strip_trailopt 'I'; skip_next=yes;; \
74 -*I?*) strip_trailopt 'I';; \
75 -*O) strip_trailopt 'O'; skip_next=yes;; \
76 -*O?*) strip_trailopt 'O';; \
77 -*l) strip_trailopt 'l'; skip_next=yes;; \
78 -*l?*) strip_trailopt 'l';; \
79 -[dEDm]) skip_next=yes;; \
80 -[JT]) skip_next=yes;; \
81 esac; \
82 case $$flg in \
83 *$$target_option*) has_opt=yes; break;; \
84 esac; \
85 done; \
86 test $$has_opt = yes
87 am__make_dryrun = (target_option=n; $(am__make_running_with_option))
88 am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
89 pkgdatadir = $(datadir)/@PACKAGE@
90 pkgincludedir = $(includedir)/@PACKAGE@
91 pkglibdir = $(libdir)/@PACKAGE@
92 pkglibexecdir = $(libexecdir)/@PACKAGE@
93 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
94 install_sh_DATA = $(install_sh) -c -m 644
95 install_sh_PROGRAM = $(install_sh) -c
96 install_sh_SCRIPT = $(install_sh) -c
97 INSTALL_HEADER = $(INSTALL_DATA)
98 transform = $(program_transform_name)
99 NORMAL_INSTALL = :
100 PRE_INSTALL = :
101 POST_INSTALL = :
102 NORMAL_UNINSTALL = :
103 PRE_UNINSTALL = :
104 POST_UNINSTALL = :
105 build_triplet = @build@
106 host_triplet = @host@
107 subdir = lang/python/tests
108 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
109 am__aclocal_m4_deps = $(top_srcdir)/m4/ax_cxx_compile_stdcxx.m4 \
110 $(top_srcdir)/m4/ax_pkg_swig.m4 \
111 $(top_srcdir)/m4/ax_python_devel.m4 \
112 $(top_srcdir)/m4/glib-2.0.m4 $(top_srcdir)/m4/glibc21.m4 \
113 $(top_srcdir)/m4/gnupg-ttyname.m4 \
114 $(top_srcdir)/m4/gpg-error.m4 $(top_srcdir)/m4/libassuan.m4 \
115 $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
116 $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
117 $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/pkg.m4 \
118 $(top_srcdir)/m4/python.m4 $(top_srcdir)/m4/qt.m4 \
119 $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
120 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
121 $(ACLOCAL_M4)
122 DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
123 mkinstalldirs = $(SHELL) $(top_srcdir)/build-aux/mkinstalldirs
124 CONFIG_HEADER = $(top_builddir)/conf/config.h
125 CONFIG_CLEAN_FILES =
126 CONFIG_CLEAN_VPATH_FILES =
127 AM_V_P = $(am__v_P_@AM_V@)
128 am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
129 am__v_P_0 = false
130 am__v_P_1 = :
131 AM_V_GEN = $(am__v_GEN_@AM_V@)
132 am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
133 am__v_GEN_0 = @echo " GEN " $@;
134 am__v_GEN_1 =
135 AM_V_at = $(am__v_at_@AM_V@)
136 am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
137 am__v_at_0 = @
138 am__v_at_1 =
139 SOURCES =
140 DIST_SOURCES =
141 am__can_run_installinfo = \
142 case $$AM_UPDATE_INFO_DIR in \
143 n|no|NO) false;; \
144 *) (install-info --version) >/dev/null 2>&1;; \
145 esac
146 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
147 am__DIST_COMMON = $(srcdir)/Makefile.in \
148 $(top_srcdir)/build-aux/mkinstalldirs
149 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
150 ACLOCAL = @ACLOCAL@
151 AMTAR = @AMTAR@
152 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
153 AR = @AR@
154 AS = @AS@
155 AUTOCONF = @AUTOCONF@
156 AUTOHEADER = @AUTOHEADER@
157 AUTOMAKE = @AUTOMAKE@
158 AWK = @AWK@
159 BUILD_FILEVERSION = @BUILD_FILEVERSION@
160 BUILD_REVISION = @BUILD_REVISION@
161 BUILD_TIMESTAMP = @BUILD_TIMESTAMP@
162 BUILD_VERSION = @BUILD_VERSION@
163 CC = @CC@
164 CCDEPMODE = @CCDEPMODE@
165 CC_FOR_BUILD = @CC_FOR_BUILD@
166 CFLAGS = @CFLAGS@
167 CPP = @CPP@
168 CPPFLAGS = @CPPFLAGS@
169 CSCOPE = @CSCOPE@
170 CTAGS = @CTAGS@
171 CXX = @CXX@
172 CXXCPP = @CXXCPP@
173 CXXDEPMODE = @CXXDEPMODE@
174 CXXFLAGS = @CXXFLAGS@
175 CYGPATH_W = @CYGPATH_W@
176 DEFS = @DEFS@
177 DEPDIR = @DEPDIR@
178 DLLTOOL = @DLLTOOL@
179 DOXYGEN = @DOXYGEN@
180 DSYMUTIL = @DSYMUTIL@
181 DUMPBIN = @DUMPBIN@
182 ECHO_C = @ECHO_C@
183 ECHO_N = @ECHO_N@
184 ECHO_T = @ECHO_T@
185 EGREP = @EGREP@
186 ENABLED_LANGUAGES = @ENABLED_LANGUAGES@
187 ETAGS = @ETAGS@
188 EXEEXT = @EXEEXT@
189 FGREP = @FGREP@
190 GITLOG_TO_CHANGELOG = @GITLOG_TO_CHANGELOG@
191 GLIBC21 = @GLIBC21@
192 GLIB_CFLAGS = @GLIB_CFLAGS@
193 GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
194 GLIB_LIBS = @GLIB_LIBS@
195 GLIB_MKENUMS = @GLIB_MKENUMS@
196 GOBJECT_QUERY = @GOBJECT_QUERY@
197 GPGME_CONFIG_API_VERSION = @GPGME_CONFIG_API_VERSION@
198 GPGME_CONFIG_AVAIL_LANG = @GPGME_CONFIG_AVAIL_LANG@
199 GPGME_CONFIG_CFLAGS = @GPGME_CONFIG_CFLAGS@
200 GPGME_CONFIG_HOST = @GPGME_CONFIG_HOST@
201 GPGME_CONFIG_LIBS = @GPGME_CONFIG_LIBS@
202 GPGME_QTTEST_CFLAGS = @GPGME_QTTEST_CFLAGS@
203 GPGME_QTTEST_LIBS = @GPGME_QTTEST_LIBS@
204 GPGME_QT_CFLAGS = @GPGME_QT_CFLAGS@
205 GPGME_QT_LIBS = @GPGME_QT_LIBS@
206 GPGRT_CONFIG = @GPGRT_CONFIG@
207 GPG_ERROR_CFLAGS = @GPG_ERROR_CFLAGS@
208 GPG_ERROR_CONFIG = @GPG_ERROR_CONFIG@
209 GPG_ERROR_LIBS = @GPG_ERROR_LIBS@
210 GPG_ERROR_MT_CFLAGS = @GPG_ERROR_MT_CFLAGS@
211 GPG_ERROR_MT_LIBS = @GPG_ERROR_MT_LIBS@
212 GRAPHVIZ = @GRAPHVIZ@
213 GREP = @GREP@
214 HAVE_CXX11 = @HAVE_CXX11@
215 HAVE_DOT = @HAVE_DOT@
216 INSTALL = @INSTALL@
217 INSTALL_DATA = @INSTALL_DATA@
218 INSTALL_PROGRAM = @INSTALL_PROGRAM@
219 INSTALL_SCRIPT = @INSTALL_SCRIPT@
220 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
221 LD = @LD@
222 LDADD_FOR_TESTS_KLUDGE = @LDADD_FOR_TESTS_KLUDGE@
223 LDFLAGS = @LDFLAGS@
224 LIBASSUAN_CFLAGS = @LIBASSUAN_CFLAGS@
225 LIBASSUAN_CONFIG = @LIBASSUAN_CONFIG@
226 LIBASSUAN_LIBS = @LIBASSUAN_LIBS@
227 LIBGPGMEPP_LT_AGE = @LIBGPGMEPP_LT_AGE@
228 LIBGPGMEPP_LT_CURRENT = @LIBGPGMEPP_LT_CURRENT@
229 LIBGPGMEPP_LT_REVISION = @LIBGPGMEPP_LT_REVISION@
230 LIBGPGME_LT_AGE = @LIBGPGME_LT_AGE@
231 LIBGPGME_LT_CURRENT = @LIBGPGME_LT_CURRENT@
232 LIBGPGME_LT_REVISION = @LIBGPGME_LT_REVISION@
233 LIBOBJS = @LIBOBJS@
234 LIBQGPGME_LT_AGE = @LIBQGPGME_LT_AGE@
235 LIBQGPGME_LT_CURRENT = @LIBQGPGME_LT_CURRENT@
236 LIBQGPGME_LT_REVISION = @LIBQGPGME_LT_REVISION@
237 LIBS = @LIBS@
238 LIBTOOL = @LIBTOOL@
239 LIPO = @LIPO@
240 LN_S = @LN_S@
241 LTLIBOBJS = @LTLIBOBJS@
242 MAINT = @MAINT@
243 MAKEINFO = @MAKEINFO@
244 MANIFEST_TOOL = @MANIFEST_TOOL@
245 MKDIR_P = @MKDIR_P@
246 MOC = @MOC@
247 MOC2 = @MOC2@
248 NEED__FILE_OFFSET_BITS = @NEED__FILE_OFFSET_BITS@
249 NM = @NM@
250 NMEDIT = @NMEDIT@
251 OBJDUMP = @OBJDUMP@
252 OBJEXT = @OBJEXT@
253 OTOOL = @OTOOL@
254 OTOOL64 = @OTOOL64@
255 PACKAGE = @PACKAGE@
256 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
257 PACKAGE_NAME = @PACKAGE_NAME@
258 PACKAGE_STRING = @PACKAGE_STRING@
259 PACKAGE_TARNAME = @PACKAGE_TARNAME@
260 PACKAGE_URL = @PACKAGE_URL@
261 PACKAGE_VERSION = @PACKAGE_VERSION@
262 PATH_SEPARATOR = @PATH_SEPARATOR@
263 PKG_CONFIG = @PKG_CONFIG@
264 PYTHON = @PYTHON@
265 PYTHONS = @PYTHONS@
266 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
267 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
268 PYTHON_EXTRA_LDFLAGS = @PYTHON_EXTRA_LDFLAGS@
269 PYTHON_EXTRA_LIBS = @PYTHON_EXTRA_LIBS@
270 PYTHON_LDFLAGS = @PYTHON_LDFLAGS@
271 PYTHON_PLATFORM = @PYTHON_PLATFORM@
272 PYTHON_PREFIX = @PYTHON_PREFIX@
273 PYTHON_SITE_PKG = @PYTHON_SITE_PKG@
274 PYTHON_VERSION = @PYTHON_VERSION@
275 QTCHOOSER = @QTCHOOSER@
276 RANLIB = @RANLIB@
277 RC = @RC@
278 SED = @SED@
279 SET_MAKE = @SET_MAKE@
280 SHELL = @SHELL@
281 STRIP = @STRIP@
282 SWIG = @SWIG@
283 SWIG_LIB = @SWIG_LIB@
284 SYSROOT = @SYSROOT@
285 VERSION = @VERSION@
286 VERSION_MAJOR = @VERSION_MAJOR@
287 VERSION_MICRO = @VERSION_MICRO@
288 VERSION_MINOR = @VERSION_MINOR@
289 VERSION_NUMBER = @VERSION_NUMBER@
290 abs_builddir = @abs_builddir@
291 abs_srcdir = @abs_srcdir@
292 abs_top_builddir = @abs_top_builddir@
293 abs_top_srcdir = @abs_top_srcdir@
294 ac_ct_AR = @ac_ct_AR@
295 ac_ct_CC = @ac_ct_CC@
296 ac_ct_CXX = @ac_ct_CXX@
297 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
298 am__include = @am__include@
299 am__leading_dot = @am__leading_dot@
300 am__quote = @am__quote@
301 am__tar = @am__tar@
302 am__untar = @am__untar@
303 bindir = @bindir@
304 build = @build@
305 build_alias = @build_alias@
306 build_cpu = @build_cpu@
307 build_os = @build_os@
308 build_vendor = @build_vendor@
309 builddir = @builddir@
310 datadir = @datadir@
311 datarootdir = @datarootdir@
312 docdir = @docdir@
313 dvidir = @dvidir@
314 emacs_local_vars_begin = @emacs_local_vars_begin@
315 emacs_local_vars_end = @emacs_local_vars_end@
316 emacs_local_vars_read_only = @emacs_local_vars_read_only@
317 exec_prefix = @exec_prefix@
318 host = @host@
319 host_alias = @host_alias@
320 host_cpu = @host_cpu@
321 host_os = @host_os@
322 host_vendor = @host_vendor@
323 htmldir = @htmldir@
324 includedir = @includedir@
325 infodir = @infodir@
326 install_sh = @install_sh@
327 libdir = @libdir@
328 libexecdir = @libexecdir@
329 localedir = @localedir@
330 localstatedir = @localstatedir@
331 mandir = @mandir@
332 mkdir_p = @mkdir_p@
333 oldincludedir = @oldincludedir@
334 pdfdir = @pdfdir@
335 pkgpyexecdir = @pkgpyexecdir@
336 pkgpythondir = @pkgpythondir@
337 prefix = @prefix@
338 program_transform_name = @program_transform_name@
339 psdir = @psdir@
340 pyexecdir = @pyexecdir@
341 pythondir = @pythondir@
342 runstatedir = @runstatedir@
343 sbindir = @sbindir@
344 sharedstatedir = @sharedstatedir@
345 srcdir = @srcdir@
346 sysconfdir = @sysconfdir@
347 target_alias = @target_alias@
348 top_build_prefix = @top_build_prefix@
349 top_builddir = @top_builddir@
350 top_srcdir = @top_srcdir@
351 GPG = gpg
352 GPG_AGENT = gpg-agent
353 test_srcdir = $(top_srcdir)/tests/gpg
354 GNUPGHOME = $(abs_builddir)
355 TESTS_ENVIRONMENT = GNUPGHOME=$(GNUPGHOME) \
356 LC_ALL=C GPG_AGENT_INFO= \
357 top_srcdir=$(top_srcdir) \
358 srcdir=$(srcdir) \
359 LD_LIBRARY_PATH="../../../src/.libs:$(LD_LIBRARY_PATH)"
360
361 XTESTS = initial.py $(py_tests) final.py
362 EXTRA_DIST = support.py $(XTESTS) encrypt-only.asc sign-only.asc \
363 run-tests.py
364
365 CLEANFILES = secring.gpg pubring.gpg pubring.kbx trustdb.gpg dirmngr.conf \
366 gpg-agent.conf pubring.kbx~ gpg.conf pubring.gpg~ \
367 random_seed .gpg-v21-migrated tofu.db \
368 pubring-stamp gpg-sample.stamp
369
370 private_keys = \
371 $(test_srcdir)/13CD0F3BDF24BE53FE192D62F18737256FF6E4FD \
372 $(test_srcdir)/76F7E2B35832976B50A27A282D9B87E44577EB66 \
373 $(test_srcdir)/A0747D5F9425E6664F4FFBEED20FBCA79FDED2BD \
374 $(test_srcdir)/13CBE3758AFE42B5E5E2AE4CED27AFA455E3F87F \
375 $(test_srcdir)/7A030357C0F253A5BBCD282FFC4E521B37558F5C
376
377 BUILT_SOURCES = gpg.conf gpg-agent.conf pubring-stamp \
378 gpg-sample.stamp
379
380 all: $(BUILT_SOURCES)
381 $(MAKE) $(AM_MAKEFLAGS) all-am
382
383 .SUFFIXES:
384 $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
385 @for dep in $?; do \
386 case '$(am__configure_deps)' in \
387 *$$dep*) \
388 ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
389 && { if test -f $@; then exit 0; else break; fi; }; \
390 exit 1;; \
391 esac; \
392 done; \
393 echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu lang/python/tests/Makefile'; \
394 $(am__cd) $(top_srcdir) && \
395 $(AUTOMAKE) --gnu lang/python/tests/Makefile
396 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
397 @case '$?' in \
398 *config.status*) \
399 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
400 *) \
401 echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
402 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
403 esac;
404
405 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
406 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
407
408 $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
409 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
410 $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
411 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
412 $(am__aclocal_m4_deps):
413
414 mostlyclean-libtool:
415 -rm -f *.lo
416
417 clean-libtool:
418 -rm -rf .libs _libs
419 tags TAGS:
420
421 ctags CTAGS:
422
423 cscope cscopelist:
424
425 distdir: $(BUILT_SOURCES)
426 $(MAKE) $(AM_MAKEFLAGS) distdir-am
427
428 distdir-am: $(DISTFILES)
429 @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
430 topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
431 list='$(DISTFILES)'; \
432 dist_files=`for file in $$list; do echo $$file; done | \
433 sed -e "s|^$$srcdirstrip/||;t" \
434 -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
435 case $$dist_files in \
436 */*) $(MKDIR_P) `echo "$$dist_files" | \
437 sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
438 sort -u` ;; \
439 esac; \
440 for file in $$dist_files; do \
441 if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
442 if test -d $$d/$$file; then \
443 dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
444 if test -d "$(distdir)/$$file"; then \
445 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
446 fi; \
447 if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
448 cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
449 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
450 fi; \
451 cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
452 else \
453 test -f "$(distdir)/$$file" \
454 || cp -p $$d/$$file "$(distdir)/$$file" \
455 || exit 1; \
456 fi; \
457 done
458 check-am: all-am
459 check: $(BUILT_SOURCES)
460 $(MAKE) $(AM_MAKEFLAGS) check-am
461 all-am: Makefile
462 installdirs:
463 install: $(BUILT_SOURCES)
464 $(MAKE) $(AM_MAKEFLAGS) install-am
465 install-exec: $(BUILT_SOURCES)
466 $(MAKE) $(AM_MAKEFLAGS) install-exec-am
467 install-data: install-data-am
468 uninstall: uninstall-am
469
470 install-am: all-am
471 @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
472
473 installcheck: installcheck-am
474 install-strip:
475 if test -z '$(STRIP)'; then \
476 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
477 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
478 install; \
479 else \
480 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
481 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
482 "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
483 fi
484 mostlyclean-generic:
485
486 clean-generic:
487 -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
488
489 distclean-generic:
490 -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
491 -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
492
493 maintainer-clean-generic:
494 @echo "This command is intended for maintainers to use"
495 @echo "it deletes files that may require special tools to rebuild."
496 -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
497 clean: clean-am
498
499 clean-am: clean-generic clean-libtool clean-local mostlyclean-am
500
501 distclean: distclean-am
502 -rm -f Makefile
503 distclean-am: clean-am distclean-generic
504
505 dvi: dvi-am
506
507 dvi-am:
508
509 html: html-am
510
511 html-am:
512
513 info: info-am
514
515 info-am:
516
517 install-data-am:
518
519 install-dvi: install-dvi-am
520
521 install-dvi-am:
522
523 install-exec-am:
524
525 install-html: install-html-am
526
527 install-html-am:
528
529 install-info: install-info-am
530
531 install-info-am:
532
533 install-man:
534
535 install-pdf: install-pdf-am
536
537 install-pdf-am:
538
539 install-ps: install-ps-am
540
541 install-ps-am:
542
543 installcheck-am:
544
545 maintainer-clean: maintainer-clean-am
546 -rm -f Makefile
547 maintainer-clean-am: distclean-am maintainer-clean-generic
548
549 mostlyclean: mostlyclean-am
550
551 mostlyclean-am: mostlyclean-generic mostlyclean-libtool
552
553 pdf: pdf-am
554
555 pdf-am:
556
557 ps: ps-am
558
559 ps-am:
560
561 uninstall-am:
562
563 .MAKE: all check install install-am install-exec install-strip
564
565 .PHONY: all all-am check check-am clean clean-generic clean-libtool \
566 clean-local cscopelist-am ctags-am distclean distclean-generic \
567 distclean-libtool distdir dvi dvi-am html html-am info info-am \
568 install install-am install-data install-data-am install-dvi \
569 install-dvi-am install-exec install-exec-am install-html \
570 install-html-am install-info install-info-am install-man \
571 install-pdf install-pdf-am install-ps install-ps-am \
572 install-strip installcheck installcheck-am installdirs \
573 maintainer-clean maintainer-clean-generic mostlyclean \
574 mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
575 tags-am uninstall uninstall-am
576
577 .PRECIOUS: Makefile
578
579
580 py_tests ?= t-wrapper.py \
581 t-callbacks.py \
582 t-data.py \
583 t-encrypt.py \
584 t-encrypt-sym.py \
585 t-encrypt-sign.py \
586 t-sign.py \
587 t-signers.py \
588 t-decrypt.py \
589 t-verify.py \
590 t-decrypt-verify.py \
591 t-sig-notation.py \
592 t-export.py \
593 t-import.py \
594 t-edit.py \
595 t-keylist.py \
596 t-keylist-from-data.py \
597 t-wait.py \
598 t-encrypt-large.py \
599 t-file-name.py \
600 t-idiomatic.py \
601 t-protocol-assuan.py \
602 t-quick-key-creation.py \
603 t-quick-subkey-creation.py \
604 t-quick-key-manipulation.py \
605 t-quick-key-signing.py
606
607 # XXX: Currently, one cannot override automake's 'check' target. As a
608 # workaround, we avoid defining 'TESTS', thus automake will not emit
609 # the 'check' target. For extra robustness, we merely define a
610 # dependency on 'xcheck', so this hack should also work even if
611 # automake would emit the 'check' target, as adding dependencies to
612 # targets is okay.
613 check: xcheck
614
615 .PHONY: xcheck
616
617 xcheck: all
618 $(TESTS_ENVIRONMENT) $(PYTHON) $(srcdir)/run-tests.py \
619 --interpreters="$(PYTHONS)" --srcdir=$(srcdir) $(TESTFLAGS) \
620 $(XTESTS)
621
622 clean-local:
623 -$(TESTS_ENVIRONMENT) $(top_srcdir)/tests/start-stop-agent --stop
624 -rm -fR -- private-keys-v1.d openpgp-revocs.d S.gpg-agent sshcontrol
625
626 gpg-sample.stamp: $(private_keys)
627 -$(TESTS_ENVIRONMENT) gpgconf --kill all
628 $(MKDIR_P) ./private-keys-v1.d
629 for k in $(private_keys); do \
630 cp $$k private-keys-v1.d/$${k#$(test_srcdir)/}.key; \
631 done
632 echo x > ./gpg-sample.stamp
633
634 pubring-stamp: $(test_srcdir)/pubdemo.asc gpg-sample.stamp
635 $(TESTS_ENVIRONMENT) $(GPG) --batch --no-permission-warning \
636 --import $(test_srcdir)/pubdemo.asc
637 -$(TESTS_ENVIRONMENT) $(GPG) --batch --no-permission-warning \
638 --import $(test_srcdir)/secdemo.asc
639 echo x > ./pubring-stamp
640
641 gpg.conf:
642 # This is required for t-sig-notations.
643 echo no-force-v3-sigs > ./gpg.conf
644 echo default-key A0FF4590BB6122EDEF6E3C542D727CC768697734 >> ./gpg.conf
645
646 gpg-agent.conf:
647 # This is required for gpg2, which does not support command fd.
648 echo pinentry-program $(abs_top_srcdir)/tests/gpg/pinentry >$@
649 echo disable-scdaemon >> $@
650
651 # end-of-file
652
653 # Tell versions [3.59,3.63) of GNU make to not export all variables.
654 # Otherwise a system limit (for SysV at least) may be exceeded.
655 .NOEXPORT:
0 # Makefile.in generated by automake 1.16.4 from Makefile.am.
1 # @configure_input@
2
3 # Copyright (C) 1994-2021 Free Software Foundation, Inc.
4
5 # This Makefile.in is free software; the Free Software Foundation
6 # gives unlimited permission to copy and/or distribute it,
7 # with or without modifications, as long as this notice is preserved.
8
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
11 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
12 # PARTICULAR PURPOSE.
13
14 @SET_MAKE@
15
16 # Makefile.am for GPGMEPP.
17 # Copyright (C) 2016 Bundesamt für Sicherheit in der Informationstechnik
18 # Software engineering by Intevation GmbH
19 #
20 # This file is part of GPGMEPP.
21 #
22 # GPGME-CL is free software; you can redistribute it and/or modify it
23 # under the terms of the GNU General Public License as published by
24 # the Free Software Foundation; either version 2 of the License, or
25 # (at your option) any later version.
26 #
27 # GPGME-CL is distributed in the hope that it will be useful,
28 # but WITHOUT ANY WARRANTY; without even the implied warranty of
29 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
30 # GNU Lesser General Public License for more details.
31 #
32 # You should have received a copy of the GNU Lesser General Public
33 # License along with this program; if not, see <https://gnu.org/licenses/>.
34 # SPDX-License-Identifier: LGPL-2.1-or-later
35 VPATH = @srcdir@
36 am__is_gnu_make = { \
37 if test -z '$(MAKELEVEL)'; then \
38 false; \
39 elif test -n '$(MAKE_HOST)'; then \
40 true; \
41 elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
42 true; \
43 else \
44 false; \
45 fi; \
46 }
47 am__make_running_with_option = \
48 case $${target_option-} in \
49 ?) ;; \
50 *) echo "am__make_running_with_option: internal error: invalid" \
51 "target option '$${target_option-}' specified" >&2; \
52 exit 1;; \
53 esac; \
54 has_opt=no; \
55 sane_makeflags=$$MAKEFLAGS; \
56 if $(am__is_gnu_make); then \
57 sane_makeflags=$$MFLAGS; \
58 else \
59 case $$MAKEFLAGS in \
60 *\\[\ \ ]*) \
61 bs=\\; \
62 sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
63 | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
64 esac; \
65 fi; \
66 skip_next=no; \
67 strip_trailopt () \
68 { \
69 flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
70 }; \
71 for flg in $$sane_makeflags; do \
72 test $$skip_next = yes && { skip_next=no; continue; }; \
73 case $$flg in \
74 *=*|--*) continue;; \
75 -*I) strip_trailopt 'I'; skip_next=yes;; \
76 -*I?*) strip_trailopt 'I';; \
77 -*O) strip_trailopt 'O'; skip_next=yes;; \
78 -*O?*) strip_trailopt 'O';; \
79 -*l) strip_trailopt 'l'; skip_next=yes;; \
80 -*l?*) strip_trailopt 'l';; \
81 -[dEDm]) skip_next=yes;; \
82 -[JT]) skip_next=yes;; \
83 esac; \
84 case $$flg in \
85 *$$target_option*) has_opt=yes; break;; \
86 esac; \
87 done; \
88 test $$has_opt = yes
89 am__make_dryrun = (target_option=n; $(am__make_running_with_option))
90 am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
91 pkgdatadir = $(datadir)/@PACKAGE@
92 pkgincludedir = $(includedir)/@PACKAGE@
93 pkglibdir = $(libdir)/@PACKAGE@
94 pkglibexecdir = $(libexecdir)/@PACKAGE@
95 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
96 install_sh_DATA = $(install_sh) -c -m 644
97 install_sh_PROGRAM = $(install_sh) -c
98 install_sh_SCRIPT = $(install_sh) -c
99 INSTALL_HEADER = $(INSTALL_DATA)
100 transform = $(program_transform_name)
101 NORMAL_INSTALL = :
102 PRE_INSTALL = :
103 POST_INSTALL = :
104 NORMAL_UNINSTALL = :
105 PRE_UNINSTALL = :
106 POST_UNINSTALL = :
107 build_triplet = @build@
108 host_triplet = @host@
109 subdir = lang/qt
110 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
111 am__aclocal_m4_deps = $(top_srcdir)/m4/ax_cxx_compile_stdcxx.m4 \
112 $(top_srcdir)/m4/ax_pkg_swig.m4 \
113 $(top_srcdir)/m4/ax_python_devel.m4 \
114 $(top_srcdir)/m4/glib-2.0.m4 $(top_srcdir)/m4/glibc21.m4 \
115 $(top_srcdir)/m4/gnupg-ttyname.m4 \
116 $(top_srcdir)/m4/gpg-error.m4 $(top_srcdir)/m4/libassuan.m4 \
117 $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
118 $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
119 $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/pkg.m4 \
120 $(top_srcdir)/m4/python.m4 $(top_srcdir)/m4/qt.m4 \
121 $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
122 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
123 $(ACLOCAL_M4)
124 DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
125 mkinstalldirs = $(SHELL) $(top_srcdir)/build-aux/mkinstalldirs
126 CONFIG_HEADER = $(top_builddir)/conf/config.h
127 CONFIG_CLEAN_FILES =
128 CONFIG_CLEAN_VPATH_FILES =
129 AM_V_P = $(am__v_P_@AM_V@)
130 am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
131 am__v_P_0 = false
132 am__v_P_1 = :
133 AM_V_GEN = $(am__v_GEN_@AM_V@)
134 am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
135 am__v_GEN_0 = @echo " GEN " $@;
136 am__v_GEN_1 =
137 AM_V_at = $(am__v_at_@AM_V@)
138 am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
139 am__v_at_0 = @
140 am__v_at_1 =
141 SOURCES =
142 DIST_SOURCES =
143 RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
144 ctags-recursive dvi-recursive html-recursive info-recursive \
145 install-data-recursive install-dvi-recursive \
146 install-exec-recursive install-html-recursive \
147 install-info-recursive install-pdf-recursive \
148 install-ps-recursive install-recursive installcheck-recursive \
149 installdirs-recursive pdf-recursive ps-recursive \
150 tags-recursive uninstall-recursive
151 am__can_run_installinfo = \
152 case $$AM_UPDATE_INFO_DIR in \
153 n|no|NO) false;; \
154 *) (install-info --version) >/dev/null 2>&1;; \
155 esac
156 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
157 distclean-recursive maintainer-clean-recursive
158 am__recursive_targets = \
159 $(RECURSIVE_TARGETS) \
160 $(RECURSIVE_CLEAN_TARGETS) \
161 $(am__extra_recursive_targets)
162 AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
163 distdir distdir-am
164 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
165 # Read a list of newline-separated strings from the standard input,
166 # and print each of them once, without duplicates. Input order is
167 # *not* preserved.
168 am__uniquify_input = $(AWK) '\
169 BEGIN { nonempty = 0; } \
170 { items[$$0] = 1; nonempty = 1; } \
171 END { if (nonempty) { for (i in items) print i; }; } \
172 '
173 # Make sure the list of sources is unique. This is necessary because,
174 # e.g., the same source file might be shared among _SOURCES variables
175 # for different programs/libraries.
176 am__define_uniq_tagged_files = \
177 list='$(am__tagged_files)'; \
178 unique=`for i in $$list; do \
179 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
180 done | $(am__uniquify_input)`
181 DIST_SUBDIRS = src tests doc
182 am__DIST_COMMON = $(srcdir)/Makefile.in \
183 $(top_srcdir)/build-aux/mkinstalldirs README
184 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
185 am__relativize = \
186 dir0=`pwd`; \
187 sed_first='s,^\([^/]*\)/.*$$,\1,'; \
188 sed_rest='s,^[^/]*/*,,'; \
189 sed_last='s,^.*/\([^/]*\)$$,\1,'; \
190 sed_butlast='s,/*[^/]*$$,,'; \
191 while test -n "$$dir1"; do \
192 first=`echo "$$dir1" | sed -e "$$sed_first"`; \
193 if test "$$first" != "."; then \
194 if test "$$first" = ".."; then \
195 dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
196 dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
197 else \
198 first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
199 if test "$$first2" = "$$first"; then \
200 dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
201 else \
202 dir2="../$$dir2"; \
203 fi; \
204 dir0="$$dir0"/"$$first"; \
205 fi; \
206 fi; \
207 dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
208 done; \
209 reldir="$$dir2"
210 ACLOCAL = @ACLOCAL@
211 AMTAR = @AMTAR@
212 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
213 AR = @AR@
214 AS = @AS@
215 AUTOCONF = @AUTOCONF@
216 AUTOHEADER = @AUTOHEADER@
217 AUTOMAKE = @AUTOMAKE@
218 AWK = @AWK@
219 BUILD_FILEVERSION = @BUILD_FILEVERSION@
220 BUILD_REVISION = @BUILD_REVISION@
221 BUILD_TIMESTAMP = @BUILD_TIMESTAMP@
222 BUILD_VERSION = @BUILD_VERSION@
223 CC = @CC@
224 CCDEPMODE = @CCDEPMODE@
225 CC_FOR_BUILD = @CC_FOR_BUILD@
226 CFLAGS = @CFLAGS@
227 CPP = @CPP@
228 CPPFLAGS = @CPPFLAGS@
229 CSCOPE = @CSCOPE@
230 CTAGS = @CTAGS@
231 CXX = @CXX@
232 CXXCPP = @CXXCPP@
233 CXXDEPMODE = @CXXDEPMODE@
234 CXXFLAGS = @CXXFLAGS@
235 CYGPATH_W = @CYGPATH_W@
236 DEFS = @DEFS@
237 DEPDIR = @DEPDIR@
238 DLLTOOL = @DLLTOOL@
239 DOXYGEN = @DOXYGEN@
240 DSYMUTIL = @DSYMUTIL@
241 DUMPBIN = @DUMPBIN@
242 ECHO_C = @ECHO_C@
243 ECHO_N = @ECHO_N@
244 ECHO_T = @ECHO_T@
245 EGREP = @EGREP@
246 ENABLED_LANGUAGES = @ENABLED_LANGUAGES@
247 ETAGS = @ETAGS@
248 EXEEXT = @EXEEXT@
249 FGREP = @FGREP@
250 GITLOG_TO_CHANGELOG = @GITLOG_TO_CHANGELOG@
251 GLIBC21 = @GLIBC21@
252 GLIB_CFLAGS = @GLIB_CFLAGS@
253 GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
254 GLIB_LIBS = @GLIB_LIBS@
255 GLIB_MKENUMS = @GLIB_MKENUMS@
256 GOBJECT_QUERY = @GOBJECT_QUERY@
257 GPGME_CONFIG_API_VERSION = @GPGME_CONFIG_API_VERSION@
258 GPGME_CONFIG_AVAIL_LANG = @GPGME_CONFIG_AVAIL_LANG@
259 GPGME_CONFIG_CFLAGS = @GPGME_CONFIG_CFLAGS@
260 GPGME_CONFIG_HOST = @GPGME_CONFIG_HOST@
261 GPGME_CONFIG_LIBS = @GPGME_CONFIG_LIBS@
262 GPGME_QTTEST_CFLAGS = @GPGME_QTTEST_CFLAGS@
263 GPGME_QTTEST_LIBS = @GPGME_QTTEST_LIBS@
264 GPGME_QT_CFLAGS = @GPGME_QT_CFLAGS@
265 GPGME_QT_LIBS = @GPGME_QT_LIBS@
266 GPGRT_CONFIG = @GPGRT_CONFIG@
267 GPG_ERROR_CFLAGS = @GPG_ERROR_CFLAGS@
268 GPG_ERROR_CONFIG = @GPG_ERROR_CONFIG@
269 GPG_ERROR_LIBS = @GPG_ERROR_LIBS@
270 GPG_ERROR_MT_CFLAGS = @GPG_ERROR_MT_CFLAGS@
271 GPG_ERROR_MT_LIBS = @GPG_ERROR_MT_LIBS@
272 GRAPHVIZ = @GRAPHVIZ@
273 GREP = @GREP@
274 HAVE_CXX11 = @HAVE_CXX11@
275 HAVE_DOT = @HAVE_DOT@
276 INSTALL = @INSTALL@
277 INSTALL_DATA = @INSTALL_DATA@
278 INSTALL_PROGRAM = @INSTALL_PROGRAM@
279 INSTALL_SCRIPT = @INSTALL_SCRIPT@
280 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
281 LD = @LD@
282 LDADD_FOR_TESTS_KLUDGE = @LDADD_FOR_TESTS_KLUDGE@
283 LDFLAGS = @LDFLAGS@
284 LIBASSUAN_CFLAGS = @LIBASSUAN_CFLAGS@
285 LIBASSUAN_CONFIG = @LIBASSUAN_CONFIG@
286 LIBASSUAN_LIBS = @LIBASSUAN_LIBS@
287 LIBGPGMEPP_LT_AGE = @LIBGPGMEPP_LT_AGE@
288 LIBGPGMEPP_LT_CURRENT = @LIBGPGMEPP_LT_CURRENT@
289 LIBGPGMEPP_LT_REVISION = @LIBGPGMEPP_LT_REVISION@
290 LIBGPGME_LT_AGE = @LIBGPGME_LT_AGE@
291 LIBGPGME_LT_CURRENT = @LIBGPGME_LT_CURRENT@
292 LIBGPGME_LT_REVISION = @LIBGPGME_LT_REVISION@
293 LIBOBJS = @LIBOBJS@
294 LIBQGPGME_LT_AGE = @LIBQGPGME_LT_AGE@
295 LIBQGPGME_LT_CURRENT = @LIBQGPGME_LT_CURRENT@
296 LIBQGPGME_LT_REVISION = @LIBQGPGME_LT_REVISION@
297 LIBS = @LIBS@
298 LIBTOOL = @LIBTOOL@
299 LIPO = @LIPO@
300 LN_S = @LN_S@
301 LTLIBOBJS = @LTLIBOBJS@
302 MAINT = @MAINT@
303 MAKEINFO = @MAKEINFO@
304 MANIFEST_TOOL = @MANIFEST_TOOL@
305 MKDIR_P = @MKDIR_P@
306 MOC = @MOC@
307 MOC2 = @MOC2@
308 NEED__FILE_OFFSET_BITS = @NEED__FILE_OFFSET_BITS@
309 NM = @NM@
310 NMEDIT = @NMEDIT@
311 OBJDUMP = @OBJDUMP@
312 OBJEXT = @OBJEXT@
313 OTOOL = @OTOOL@
314 OTOOL64 = @OTOOL64@
315 PACKAGE = @PACKAGE@
316 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
317 PACKAGE_NAME = @PACKAGE_NAME@
318 PACKAGE_STRING = @PACKAGE_STRING@
319 PACKAGE_TARNAME = @PACKAGE_TARNAME@
320 PACKAGE_URL = @PACKAGE_URL@
321 PACKAGE_VERSION = @PACKAGE_VERSION@
322 PATH_SEPARATOR = @PATH_SEPARATOR@
323 PKG_CONFIG = @PKG_CONFIG@
324 PYTHON = @PYTHON@
325 PYTHONS = @PYTHONS@
326 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
327 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
328 PYTHON_EXTRA_LDFLAGS = @PYTHON_EXTRA_LDFLAGS@
329 PYTHON_EXTRA_LIBS = @PYTHON_EXTRA_LIBS@
330 PYTHON_LDFLAGS = @PYTHON_LDFLAGS@
331 PYTHON_PLATFORM = @PYTHON_PLATFORM@
332 PYTHON_PREFIX = @PYTHON_PREFIX@
333 PYTHON_SITE_PKG = @PYTHON_SITE_PKG@
334 PYTHON_VERSION = @PYTHON_VERSION@
335 QTCHOOSER = @QTCHOOSER@
336 RANLIB = @RANLIB@
337 RC = @RC@
338 SED = @SED@
339 SET_MAKE = @SET_MAKE@
340 SHELL = @SHELL@
341 STRIP = @STRIP@
342 SWIG = @SWIG@
343 SWIG_LIB = @SWIG_LIB@
344 SYSROOT = @SYSROOT@
345 VERSION = @VERSION@
346 VERSION_MAJOR = @VERSION_MAJOR@
347 VERSION_MICRO = @VERSION_MICRO@
348 VERSION_MINOR = @VERSION_MINOR@
349 VERSION_NUMBER = @VERSION_NUMBER@
350 abs_builddir = @abs_builddir@
351 abs_srcdir = @abs_srcdir@
352 abs_top_builddir = @abs_top_builddir@
353 abs_top_srcdir = @abs_top_srcdir@
354 ac_ct_AR = @ac_ct_AR@
355 ac_ct_CC = @ac_ct_CC@
356 ac_ct_CXX = @ac_ct_CXX@
357 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
358 am__include = @am__include@
359 am__leading_dot = @am__leading_dot@
360 am__quote = @am__quote@
361 am__tar = @am__tar@
362 am__untar = @am__untar@
363 bindir = @bindir@
364 build = @build@
365 build_alias = @build_alias@
366 build_cpu = @build_cpu@
367 build_os = @build_os@
368 build_vendor = @build_vendor@
369 builddir = @builddir@
370 datadir = @datadir@
371 datarootdir = @datarootdir@
372 docdir = @docdir@
373 dvidir = @dvidir@
374 emacs_local_vars_begin = @emacs_local_vars_begin@
375 emacs_local_vars_end = @emacs_local_vars_end@
376 emacs_local_vars_read_only = @emacs_local_vars_read_only@
377 exec_prefix = @exec_prefix@
378 host = @host@
379 host_alias = @host_alias@
380 host_cpu = @host_cpu@
381 host_os = @host_os@
382 host_vendor = @host_vendor@
383 htmldir = @htmldir@
384 includedir = @includedir@
385 infodir = @infodir@
386 install_sh = @install_sh@
387 libdir = @libdir@
388 libexecdir = @libexecdir@
389 localedir = @localedir@
390 localstatedir = @localstatedir@
391 mandir = @mandir@
392 mkdir_p = @mkdir_p@
393 oldincludedir = @oldincludedir@
394 pdfdir = @pdfdir@
395 pkgpyexecdir = @pkgpyexecdir@
396 pkgpythondir = @pkgpythondir@
397 prefix = @prefix@
398 program_transform_name = @program_transform_name@
399 psdir = @psdir@
400 pyexecdir = @pyexecdir@
401 pythondir = @pythondir@
402 runstatedir = @runstatedir@
403 sbindir = @sbindir@
404 sharedstatedir = @sharedstatedir@
405 srcdir = @srcdir@
406 sysconfdir = @sysconfdir@
407 target_alias = @target_alias@
408 top_build_prefix = @top_build_prefix@
409 top_builddir = @top_builddir@
410 top_srcdir = @top_srcdir@
411 @RUN_GPG_TESTS_FALSE@tests =
412 @RUN_GPG_TESTS_TRUE@tests = tests
413 SUBDIRS = src ${tests} doc
414 EXTRA_DIST = README
415 all: all-recursive
416
417 .SUFFIXES:
418 $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
419 @for dep in $?; do \
420 case '$(am__configure_deps)' in \
421 *$$dep*) \
422 ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
423 && { if test -f $@; then exit 0; else break; fi; }; \
424 exit 1;; \
425 esac; \
426 done; \
427 echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu lang/qt/Makefile'; \
428 $(am__cd) $(top_srcdir) && \
429 $(AUTOMAKE) --gnu lang/qt/Makefile
430 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
431 @case '$?' in \
432 *config.status*) \
433 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
434 *) \
435 echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
436 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
437 esac;
438
439 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
440 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
441
442 $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
443 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
444 $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
445 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
446 $(am__aclocal_m4_deps):
447
448 mostlyclean-libtool:
449 -rm -f *.lo
450
451 clean-libtool:
452 -rm -rf .libs _libs
453
454 # This directory's subdirectories are mostly independent; you can cd
455 # into them and run 'make' without going through this Makefile.
456 # To change the values of 'make' variables: instead of editing Makefiles,
457 # (1) if the variable is set in 'config.status', edit 'config.status'
458 # (which will cause the Makefiles to be regenerated when you run 'make');
459 # (2) otherwise, pass the desired values on the 'make' command line.
460 $(am__recursive_targets):
461 @fail=; \
462 if $(am__make_keepgoing); then \
463 failcom='fail=yes'; \
464 else \
465 failcom='exit 1'; \
466 fi; \
467 dot_seen=no; \
468 target=`echo $@ | sed s/-recursive//`; \
469 case "$@" in \
470 distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
471 *) list='$(SUBDIRS)' ;; \
472 esac; \
473 for subdir in $$list; do \
474 echo "Making $$target in $$subdir"; \
475 if test "$$subdir" = "."; then \
476 dot_seen=yes; \
477 local_target="$$target-am"; \
478 else \
479 local_target="$$target"; \
480 fi; \
481 ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
482 || eval $$failcom; \
483 done; \
484 if test "$$dot_seen" = "no"; then \
485 $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
486 fi; test -z "$$fail"
487
488 ID: $(am__tagged_files)
489 $(am__define_uniq_tagged_files); mkid -fID $$unique
490 tags: tags-recursive
491 TAGS: tags
492
493 tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
494 set x; \
495 here=`pwd`; \
496 if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
497 include_option=--etags-include; \
498 empty_fix=.; \
499 else \
500 include_option=--include; \
501 empty_fix=; \
502 fi; \
503 list='$(SUBDIRS)'; for subdir in $$list; do \
504 if test "$$subdir" = .; then :; else \
505 test ! -f $$subdir/TAGS || \
506 set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
507 fi; \
508 done; \
509 $(am__define_uniq_tagged_files); \
510 shift; \
511 if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
512 test -n "$$unique" || unique=$$empty_fix; \
513 if test $$# -gt 0; then \
514 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
515 "$$@" $$unique; \
516 else \
517 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
518 $$unique; \
519 fi; \
520 fi
521 ctags: ctags-recursive
522
523 CTAGS: ctags
524 ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
525 $(am__define_uniq_tagged_files); \
526 test -z "$(CTAGS_ARGS)$$unique" \
527 || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
528 $$unique
529
530 GTAGS:
531 here=`$(am__cd) $(top_builddir) && pwd` \
532 && $(am__cd) $(top_srcdir) \
533 && gtags -i $(GTAGS_ARGS) "$$here"
534 cscopelist: cscopelist-recursive
535
536 cscopelist-am: $(am__tagged_files)
537 list='$(am__tagged_files)'; \
538 case "$(srcdir)" in \
539 [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
540 *) sdir=$(subdir)/$(srcdir) ;; \
541 esac; \
542 for i in $$list; do \
543 if test -f "$$i"; then \
544 echo "$(subdir)/$$i"; \
545 else \
546 echo "$$sdir/$$i"; \
547 fi; \
548 done >> $(top_builddir)/cscope.files
549
550 distclean-tags:
551 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
552 distdir: $(BUILT_SOURCES)
553 $(MAKE) $(AM_MAKEFLAGS) distdir-am
554
555 distdir-am: $(DISTFILES)
556 @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
557 topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
558 list='$(DISTFILES)'; \
559 dist_files=`for file in $$list; do echo $$file; done | \
560 sed -e "s|^$$srcdirstrip/||;t" \
561 -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
562 case $$dist_files in \
563 */*) $(MKDIR_P) `echo "$$dist_files" | \
564 sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
565 sort -u` ;; \
566 esac; \
567 for file in $$dist_files; do \
568 if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
569 if test -d $$d/$$file; then \
570 dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
571 if test -d "$(distdir)/$$file"; then \
572 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
573 fi; \
574 if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
575 cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
576 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
577 fi; \
578 cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
579 else \
580 test -f "$(distdir)/$$file" \
581 || cp -p $$d/$$file "$(distdir)/$$file" \
582 || exit 1; \
583 fi; \
584 done
585 @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
586 if test "$$subdir" = .; then :; else \
587 $(am__make_dryrun) \
588 || test -d "$(distdir)/$$subdir" \
589 || $(MKDIR_P) "$(distdir)/$$subdir" \
590 || exit 1; \
591 dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
592 $(am__relativize); \
593 new_distdir=$$reldir; \
594 dir1=$$subdir; dir2="$(top_distdir)"; \
595 $(am__relativize); \
596 new_top_distdir=$$reldir; \
597 echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
598 echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
599 ($(am__cd) $$subdir && \
600 $(MAKE) $(AM_MAKEFLAGS) \
601 top_distdir="$$new_top_distdir" \
602 distdir="$$new_distdir" \
603 am__remove_distdir=: \
604 am__skip_length_check=: \
605 am__skip_mode_fix=: \
606 distdir) \
607 || exit 1; \
608 fi; \
609 done
610 check-am: all-am
611 check: check-recursive
612 all-am: Makefile
613 installdirs: installdirs-recursive
614 installdirs-am:
615 install: install-recursive
616 install-exec: install-exec-recursive
617 install-data: install-data-recursive
618 uninstall: uninstall-recursive
619
620 install-am: all-am
621 @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
622
623 installcheck: installcheck-recursive
624 install-strip:
625 if test -z '$(STRIP)'; then \
626 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
627 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
628 install; \
629 else \
630 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
631 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
632 "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
633 fi
634 mostlyclean-generic:
635
636 clean-generic:
637
638 distclean-generic:
639 -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
640 -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
641
642 maintainer-clean-generic:
643 @echo "This command is intended for maintainers to use"
644 @echo "it deletes files that may require special tools to rebuild."
645 clean: clean-recursive
646
647 clean-am: clean-generic clean-libtool mostlyclean-am
648
649 distclean: distclean-recursive
650 -rm -f Makefile
651 distclean-am: clean-am distclean-generic distclean-tags
652
653 dvi: dvi-recursive
654
655 dvi-am:
656
657 html: html-recursive
658
659 html-am:
660
661 info: info-recursive
662
663 info-am:
664
665 install-data-am:
666
667 install-dvi: install-dvi-recursive
668
669 install-dvi-am:
670
671 install-exec-am:
672
673 install-html: install-html-recursive
674
675 install-html-am:
676
677 install-info: install-info-recursive
678
679 install-info-am:
680
681 install-man:
682
683 install-pdf: install-pdf-recursive
684
685 install-pdf-am:
686
687 install-ps: install-ps-recursive
688
689 install-ps-am:
690
691 installcheck-am:
692
693 maintainer-clean: maintainer-clean-recursive
694 -rm -f Makefile
695 maintainer-clean-am: distclean-am maintainer-clean-generic
696
697 mostlyclean: mostlyclean-recursive
698
699 mostlyclean-am: mostlyclean-generic mostlyclean-libtool
700
701 pdf: pdf-recursive
702
703 pdf-am:
704
705 ps: ps-recursive
706
707 ps-am:
708
709 uninstall-am:
710
711 .MAKE: $(am__recursive_targets) install-am install-strip
712
713 .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
714 check-am clean clean-generic clean-libtool cscopelist-am ctags \
715 ctags-am distclean distclean-generic distclean-libtool \
716 distclean-tags distdir dvi dvi-am html html-am info info-am \
717 install install-am install-data install-data-am install-dvi \
718 install-dvi-am install-exec install-exec-am install-html \
719 install-html-am install-info install-info-am install-man \
720 install-pdf install-pdf-am install-ps install-ps-am \
721 install-strip installcheck installcheck-am installdirs \
722 installdirs-am maintainer-clean maintainer-clean-generic \
723 mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
724 ps ps-am tags tags-am uninstall uninstall-am
725
726 .PRECIOUS: Makefile
727
728
729 # Tell versions [3.59,3.63) of GNU make to not export all variables.
730 # Otherwise a system limit (for SysV at least) may be exceeded.
731 .NOEXPORT:
0 # Makefile.in generated by automake 1.16.4 from Makefile.am.
1 # @configure_input@
2
3 # Copyright (C) 1994-2021 Free Software Foundation, Inc.
4
5 # This Makefile.in is free software; the Free Software Foundation
6 # gives unlimited permission to copy and/or distribute it,
7 # with or without modifications, as long as this notice is preserved.
8
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
11 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
12 # PARTICULAR PURPOSE.
13
14 @SET_MAKE@
15
16 # Makefile.am - Makefile for GPGME Qt docs.
17 # Copyright (C) 2016 Bundesamt für Sicherheit in der Informationstechnik
18 # Software engineering by Intevation GmbH
19 #
20 # This file is part of GPGME.
21 #
22 # GPGME is free software; you can redistribute it and/or modify it
23 # under the terms of the GNU Lesser General Public License as
24 # published by the Free Software Foundation; either version 2.1 of the
25 # License, or (at your option) any later version.
26 #
27 # GPGME is distributed in the hope that it will be useful, but WITHOUT
28 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
29 # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General
30 # Public License for more details.
31 #
32 # You should have received a copy of the GNU Lesser General Public
33 # License along with this program; if not, see <https://www.gnu.org/licenses/>.
34 VPATH = @srcdir@
35 am__is_gnu_make = { \
36 if test -z '$(MAKELEVEL)'; then \
37 false; \
38 elif test -n '$(MAKE_HOST)'; then \
39 true; \
40 elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
41 true; \
42 else \
43 false; \
44 fi; \
45 }
46 am__make_running_with_option = \
47 case $${target_option-} in \
48 ?) ;; \
49 *) echo "am__make_running_with_option: internal error: invalid" \
50 "target option '$${target_option-}' specified" >&2; \
51 exit 1;; \
52 esac; \
53 has_opt=no; \
54 sane_makeflags=$$MAKEFLAGS; \
55 if $(am__is_gnu_make); then \
56 sane_makeflags=$$MFLAGS; \
57 else \
58 case $$MAKEFLAGS in \
59 *\\[\ \ ]*) \
60 bs=\\; \
61 sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
62 | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
63 esac; \
64 fi; \
65 skip_next=no; \
66 strip_trailopt () \
67 { \
68 flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
69 }; \
70 for flg in $$sane_makeflags; do \
71 test $$skip_next = yes && { skip_next=no; continue; }; \
72 case $$flg in \
73 *=*|--*) continue;; \
74 -*I) strip_trailopt 'I'; skip_next=yes;; \
75 -*I?*) strip_trailopt 'I';; \
76 -*O) strip_trailopt 'O'; skip_next=yes;; \
77 -*O?*) strip_trailopt 'O';; \
78 -*l) strip_trailopt 'l'; skip_next=yes;; \
79 -*l?*) strip_trailopt 'l';; \
80 -[dEDm]) skip_next=yes;; \
81 -[JT]) skip_next=yes;; \
82 esac; \
83 case $$flg in \
84 *$$target_option*) has_opt=yes; break;; \
85 esac; \
86 done; \
87 test $$has_opt = yes
88 am__make_dryrun = (target_option=n; $(am__make_running_with_option))
89 am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
90 pkgdatadir = $(datadir)/@PACKAGE@
91 pkgincludedir = $(includedir)/@PACKAGE@
92 pkglibdir = $(libdir)/@PACKAGE@
93 pkglibexecdir = $(libexecdir)/@PACKAGE@
94 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
95 install_sh_DATA = $(install_sh) -c -m 644
96 install_sh_PROGRAM = $(install_sh) -c
97 install_sh_SCRIPT = $(install_sh) -c
98 INSTALL_HEADER = $(INSTALL_DATA)
99 transform = $(program_transform_name)
100 NORMAL_INSTALL = :
101 PRE_INSTALL = :
102 POST_INSTALL = :
103 NORMAL_UNINSTALL = :
104 PRE_UNINSTALL = :
105 POST_UNINSTALL = :
106 build_triplet = @build@
107 host_triplet = @host@
108 subdir = lang/qt/doc
109 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
110 am__aclocal_m4_deps = $(top_srcdir)/m4/ax_cxx_compile_stdcxx.m4 \
111 $(top_srcdir)/m4/ax_pkg_swig.m4 \
112 $(top_srcdir)/m4/ax_python_devel.m4 \
113 $(top_srcdir)/m4/glib-2.0.m4 $(top_srcdir)/m4/glibc21.m4 \
114 $(top_srcdir)/m4/gnupg-ttyname.m4 \
115 $(top_srcdir)/m4/gpg-error.m4 $(top_srcdir)/m4/libassuan.m4 \
116 $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
117 $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
118 $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/pkg.m4 \
119 $(top_srcdir)/m4/python.m4 $(top_srcdir)/m4/qt.m4 \
120 $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
121 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
122 $(ACLOCAL_M4)
123 DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
124 mkinstalldirs = $(SHELL) $(top_srcdir)/build-aux/mkinstalldirs
125 CONFIG_HEADER = $(top_builddir)/conf/config.h
126 CONFIG_CLEAN_FILES = Doxyfile
127 CONFIG_CLEAN_VPATH_FILES =
128 AM_V_P = $(am__v_P_@AM_V@)
129 am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
130 am__v_P_0 = false
131 am__v_P_1 = :
132 AM_V_GEN = $(am__v_GEN_@AM_V@)
133 am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
134 am__v_GEN_0 = @echo " GEN " $@;
135 am__v_GEN_1 =
136 AM_V_at = $(am__v_at_@AM_V@)
137 am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
138 am__v_at_0 = @
139 am__v_at_1 =
140 SOURCES =
141 DIST_SOURCES =
142 am__can_run_installinfo = \
143 case $$AM_UPDATE_INFO_DIR in \
144 n|no|NO) false;; \
145 *) (install-info --version) >/dev/null 2>&1;; \
146 esac
147 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
148 am__DIST_COMMON = $(srcdir)/Doxyfile.in $(srcdir)/Makefile.in \
149 $(top_srcdir)/build-aux/mkinstalldirs
150 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
151 ACLOCAL = @ACLOCAL@
152 AMTAR = @AMTAR@
153 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
154 AR = @AR@
155 AS = @AS@
156 AUTOCONF = @AUTOCONF@
157 AUTOHEADER = @AUTOHEADER@
158 AUTOMAKE = @AUTOMAKE@
159 AWK = @AWK@
160 BUILD_FILEVERSION = @BUILD_FILEVERSION@
161 BUILD_REVISION = @BUILD_REVISION@
162 BUILD_TIMESTAMP = @BUILD_TIMESTAMP@
163 BUILD_VERSION = @BUILD_VERSION@
164 CC = @CC@
165 CCDEPMODE = @CCDEPMODE@
166 CC_FOR_BUILD = @CC_FOR_BUILD@
167 CFLAGS = @CFLAGS@
168 CPP = @CPP@
169 CPPFLAGS = @CPPFLAGS@
170 CSCOPE = @CSCOPE@
171 CTAGS = @CTAGS@
172 CXX = @CXX@
173 CXXCPP = @CXXCPP@
174 CXXDEPMODE = @CXXDEPMODE@
175 CXXFLAGS = @CXXFLAGS@
176 CYGPATH_W = @CYGPATH_W@
177 DEFS = @DEFS@
178 DEPDIR = @DEPDIR@
179 DLLTOOL = @DLLTOOL@
180 DOXYGEN = @DOXYGEN@
181 DSYMUTIL = @DSYMUTIL@
182 DUMPBIN = @DUMPBIN@
183 ECHO_C = @ECHO_C@
184 ECHO_N = @ECHO_N@
185 ECHO_T = @ECHO_T@
186 EGREP = @EGREP@
187 ENABLED_LANGUAGES = @ENABLED_LANGUAGES@
188 ETAGS = @ETAGS@
189 EXEEXT = @EXEEXT@
190 FGREP = @FGREP@
191 GITLOG_TO_CHANGELOG = @GITLOG_TO_CHANGELOG@
192 GLIBC21 = @GLIBC21@
193 GLIB_CFLAGS = @GLIB_CFLAGS@
194 GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
195 GLIB_LIBS = @GLIB_LIBS@
196 GLIB_MKENUMS = @GLIB_MKENUMS@
197 GOBJECT_QUERY = @GOBJECT_QUERY@
198 GPGME_CONFIG_API_VERSION = @GPGME_CONFIG_API_VERSION@
199 GPGME_CONFIG_AVAIL_LANG = @GPGME_CONFIG_AVAIL_LANG@
200 GPGME_CONFIG_CFLAGS = @GPGME_CONFIG_CFLAGS@
201 GPGME_CONFIG_HOST = @GPGME_CONFIG_HOST@
202 GPGME_CONFIG_LIBS = @GPGME_CONFIG_LIBS@
203 GPGME_QTTEST_CFLAGS = @GPGME_QTTEST_CFLAGS@
204 GPGME_QTTEST_LIBS = @GPGME_QTTEST_LIBS@
205 GPGME_QT_CFLAGS = @GPGME_QT_CFLAGS@
206 GPGME_QT_LIBS = @GPGME_QT_LIBS@
207 GPGRT_CONFIG = @GPGRT_CONFIG@
208 GPG_ERROR_CFLAGS = @GPG_ERROR_CFLAGS@
209 GPG_ERROR_CONFIG = @GPG_ERROR_CONFIG@
210 GPG_ERROR_LIBS = @GPG_ERROR_LIBS@
211 GPG_ERROR_MT_CFLAGS = @GPG_ERROR_MT_CFLAGS@
212 GPG_ERROR_MT_LIBS = @GPG_ERROR_MT_LIBS@
213 GRAPHVIZ = @GRAPHVIZ@
214 GREP = @GREP@
215 HAVE_CXX11 = @HAVE_CXX11@
216 HAVE_DOT = @HAVE_DOT@
217 INSTALL = @INSTALL@
218 INSTALL_DATA = @INSTALL_DATA@
219 INSTALL_PROGRAM = @INSTALL_PROGRAM@
220 INSTALL_SCRIPT = @INSTALL_SCRIPT@
221 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
222 LD = @LD@
223 LDADD_FOR_TESTS_KLUDGE = @LDADD_FOR_TESTS_KLUDGE@
224 LDFLAGS = @LDFLAGS@
225 LIBASSUAN_CFLAGS = @LIBASSUAN_CFLAGS@
226 LIBASSUAN_CONFIG = @LIBASSUAN_CONFIG@
227 LIBASSUAN_LIBS = @LIBASSUAN_LIBS@
228 LIBGPGMEPP_LT_AGE = @LIBGPGMEPP_LT_AGE@
229 LIBGPGMEPP_LT_CURRENT = @LIBGPGMEPP_LT_CURRENT@
230 LIBGPGMEPP_LT_REVISION = @LIBGPGMEPP_LT_REVISION@
231 LIBGPGME_LT_AGE = @LIBGPGME_LT_AGE@
232 LIBGPGME_LT_CURRENT = @LIBGPGME_LT_CURRENT@
233 LIBGPGME_LT_REVISION = @LIBGPGME_LT_REVISION@
234 LIBOBJS = @LIBOBJS@
235 LIBQGPGME_LT_AGE = @LIBQGPGME_LT_AGE@
236 LIBQGPGME_LT_CURRENT = @LIBQGPGME_LT_CURRENT@
237 LIBQGPGME_LT_REVISION = @LIBQGPGME_LT_REVISION@
238 LIBS = @LIBS@
239 LIBTOOL = @LIBTOOL@
240 LIPO = @LIPO@
241 LN_S = @LN_S@
242 LTLIBOBJS = @LTLIBOBJS@
243 MAINT = @MAINT@
244 MAKEINFO = @MAKEINFO@
245 MANIFEST_TOOL = @MANIFEST_TOOL@
246 MKDIR_P = @MKDIR_P@
247 MOC = @MOC@
248 MOC2 = @MOC2@
249 NEED__FILE_OFFSET_BITS = @NEED__FILE_OFFSET_BITS@
250 NM = @NM@
251 NMEDIT = @NMEDIT@
252 OBJDUMP = @OBJDUMP@
253 OBJEXT = @OBJEXT@
254 OTOOL = @OTOOL@
255 OTOOL64 = @OTOOL64@
256 PACKAGE = @PACKAGE@
257 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
258 PACKAGE_NAME = @PACKAGE_NAME@
259 PACKAGE_STRING = @PACKAGE_STRING@
260 PACKAGE_TARNAME = @PACKAGE_TARNAME@
261 PACKAGE_URL = @PACKAGE_URL@
262 PACKAGE_VERSION = @PACKAGE_VERSION@
263 PATH_SEPARATOR = @PATH_SEPARATOR@
264 PKG_CONFIG = @PKG_CONFIG@
265 PYTHON = @PYTHON@
266 PYTHONS = @PYTHONS@
267 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
268 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
269 PYTHON_EXTRA_LDFLAGS = @PYTHON_EXTRA_LDFLAGS@
270 PYTHON_EXTRA_LIBS = @PYTHON_EXTRA_LIBS@
271 PYTHON_LDFLAGS = @PYTHON_LDFLAGS@
272 PYTHON_PLATFORM = @PYTHON_PLATFORM@
273 PYTHON_PREFIX = @PYTHON_PREFIX@
274 PYTHON_SITE_PKG = @PYTHON_SITE_PKG@
275 PYTHON_VERSION = @PYTHON_VERSION@
276 QTCHOOSER = @QTCHOOSER@
277 RANLIB = @RANLIB@
278 RC = @RC@
279 SED = @SED@
280 SET_MAKE = @SET_MAKE@
281 SHELL = @SHELL@
282 STRIP = @STRIP@
283 SWIG = @SWIG@
284 SWIG_LIB = @SWIG_LIB@
285 SYSROOT = @SYSROOT@
286 VERSION = @VERSION@
287 VERSION_MAJOR = @VERSION_MAJOR@
288 VERSION_MICRO = @VERSION_MICRO@
289 VERSION_MINOR = @VERSION_MINOR@
290 VERSION_NUMBER = @VERSION_NUMBER@
291 abs_builddir = @abs_builddir@
292 abs_srcdir = @abs_srcdir@
293 abs_top_builddir = @abs_top_builddir@
294 abs_top_srcdir = @abs_top_srcdir@
295 ac_ct_AR = @ac_ct_AR@
296 ac_ct_CC = @ac_ct_CC@
297 ac_ct_CXX = @ac_ct_CXX@
298 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
299 am__include = @am__include@
300 am__leading_dot = @am__leading_dot@
301 am__quote = @am__quote@
302 am__tar = @am__tar@
303 am__untar = @am__untar@
304 bindir = @bindir@
305 build = @build@
306 build_alias = @build_alias@
307 build_cpu = @build_cpu@
308 build_os = @build_os@
309 build_vendor = @build_vendor@
310 builddir = @builddir@
311 datadir = @datadir@
312 datarootdir = @datarootdir@
313 docdir = @docdir@
314 dvidir = @dvidir@
315 emacs_local_vars_begin = @emacs_local_vars_begin@
316 emacs_local_vars_end = @emacs_local_vars_end@
317 emacs_local_vars_read_only = @emacs_local_vars_read_only@
318 exec_prefix = @exec_prefix@
319 host = @host@
320 host_alias = @host_alias@
321 host_cpu = @host_cpu@
322 host_os = @host_os@
323 host_vendor = @host_vendor@
324 htmldir = @htmldir@
325 includedir = @includedir@
326 infodir = @infodir@
327 install_sh = @install_sh@
328 libdir = @libdir@
329 libexecdir = @libexecdir@
330 localedir = @localedir@
331 localstatedir = @localstatedir@
332 mandir = @mandir@
333 mkdir_p = @mkdir_p@
334 oldincludedir = @oldincludedir@
335 pdfdir = @pdfdir@
336 pkgpyexecdir = @pkgpyexecdir@
337 pkgpythondir = @pkgpythondir@
338 prefix = @prefix@
339 program_transform_name = @program_transform_name@
340 psdir = @psdir@
341 pyexecdir = @pyexecdir@
342 pythondir = @pythondir@
343 runstatedir = @runstatedir@
344 sbindir = @sbindir@
345 sharedstatedir = @sharedstatedir@
346 srcdir = @srcdir@
347 sysconfdir = @sysconfdir@
348 target_alias = @target_alias@
349 top_build_prefix = @top_build_prefix@
350 top_builddir = @top_builddir@
351 top_srcdir = @top_srcdir@
352 @HAVE_DOXYGEN_TRUE@CLEANFILES = doxyfile.stamp
353 all: all-am
354
355 .SUFFIXES:
356 $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
357 @for dep in $?; do \
358 case '$(am__configure_deps)' in \
359 *$$dep*) \
360 ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
361 && { if test -f $@; then exit 0; else break; fi; }; \
362 exit 1;; \
363 esac; \
364 done; \
365 echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu lang/qt/doc/Makefile'; \
366 $(am__cd) $(top_srcdir) && \
367 $(AUTOMAKE) --gnu lang/qt/doc/Makefile
368 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
369 @case '$?' in \
370 *config.status*) \
371 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
372 *) \
373 echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
374 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
375 esac;
376
377 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
378 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
379
380 $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
381 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
382 $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
383 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
384 $(am__aclocal_m4_deps):
385 @HAVE_DOXYGEN_TRUE@Doxyfile: $(top_builddir)/config.status $(srcdir)/Doxyfile.in
386 @HAVE_DOXYGEN_TRUE@ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
387
388 mostlyclean-libtool:
389 -rm -f *.lo
390
391 clean-libtool:
392 -rm -rf .libs _libs
393 tags TAGS:
394
395 ctags CTAGS:
396
397 cscope cscopelist:
398
399 distdir: $(BUILT_SOURCES)
400 $(MAKE) $(AM_MAKEFLAGS) distdir-am
401
402 distdir-am: $(DISTFILES)
403 @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
404 topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
405 list='$(DISTFILES)'; \
406 dist_files=`for file in $$list; do echo $$file; done | \
407 sed -e "s|^$$srcdirstrip/||;t" \
408 -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
409 case $$dist_files in \
410 */*) $(MKDIR_P) `echo "$$dist_files" | \
411 sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
412 sort -u` ;; \
413 esac; \
414 for file in $$dist_files; do \
415 if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
416 if test -d $$d/$$file; then \
417 dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
418 if test -d "$(distdir)/$$file"; then \
419 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
420 fi; \
421 if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
422 cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
423 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
424 fi; \
425 cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
426 else \
427 test -f "$(distdir)/$$file" \
428 || cp -p $$d/$$file "$(distdir)/$$file" \
429 || exit 1; \
430 fi; \
431 done
432 check-am: all-am
433 check: check-am
434 @HAVE_DOXYGEN_FALSE@all-local:
435 all-am: Makefile all-local
436 installdirs:
437 install: install-am
438 install-exec: install-exec-am
439 install-data: install-data-am
440 uninstall: uninstall-am
441
442 install-am: all-am
443 @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
444
445 installcheck: installcheck-am
446 install-strip:
447 if test -z '$(STRIP)'; then \
448 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
449 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
450 install; \
451 else \
452 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
453 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
454 "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
455 fi
456 mostlyclean-generic:
457
458 clean-generic:
459 -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
460
461 distclean-generic:
462 -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
463 -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
464
465 maintainer-clean-generic:
466 @echo "This command is intended for maintainers to use"
467 @echo "it deletes files that may require special tools to rebuild."
468 @HAVE_DOXYGEN_FALSE@clean-local:
469 clean: clean-am
470
471 clean-am: clean-generic clean-libtool clean-local mostlyclean-am
472
473 distclean: distclean-am
474 -rm -f Makefile
475 distclean-am: clean-am distclean-generic
476
477 dvi: dvi-am
478
479 dvi-am:
480
481 html: html-am
482
483 html-am:
484
485 info: info-am
486
487 info-am:
488
489 install-data-am:
490
491 install-dvi: install-dvi-am
492
493 install-dvi-am:
494
495 install-exec-am:
496
497 install-html: install-html-am
498
499 install-html-am:
500
501 install-info: install-info-am
502
503 install-info-am:
504
505 install-man:
506
507 install-pdf: install-pdf-am
508
509 install-pdf-am:
510
511 install-ps: install-ps-am
512
513 install-ps-am:
514
515 installcheck-am:
516
517 maintainer-clean: maintainer-clean-am
518 -rm -f Makefile
519 maintainer-clean-am: distclean-am maintainer-clean-generic
520
521 mostlyclean: mostlyclean-am
522
523 mostlyclean-am: mostlyclean-generic mostlyclean-libtool
524
525 pdf: pdf-am
526
527 pdf-am:
528
529 ps: ps-am
530
531 ps-am:
532
533 uninstall-am:
534
535 .MAKE: install-am install-strip
536
537 .PHONY: all all-am all-local check check-am clean clean-generic \
538 clean-libtool clean-local cscopelist-am ctags-am distclean \
539 distclean-generic distclean-libtool distdir dvi dvi-am html \
540 html-am info info-am install install-am install-data \
541 install-data-am install-dvi install-dvi-am install-exec \
542 install-exec-am install-html install-html-am install-info \
543 install-info-am install-man install-pdf install-pdf-am \
544 install-ps install-ps-am install-strip installcheck \
545 installcheck-am installdirs maintainer-clean \
546 maintainer-clean-generic mostlyclean mostlyclean-generic \
547 mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \
548 uninstall-am
549
550 .PRECIOUS: Makefile
551
552
553 @HAVE_DOXYGEN_TRUE@doxyfile.stamp:
554 @HAVE_DOXYGEN_TRUE@ $(DOXYGEN) Doxyfile
555 @HAVE_DOXYGEN_TRUE@ touch doxyfile.stamp
556
557 @HAVE_DOXYGEN_TRUE@all-local: doxyfile.stamp
558 @HAVE_DOXYGEN_TRUE@clean-local:
559 @HAVE_DOXYGEN_TRUE@ rm -rf $(abs_builddir)/generated
560
561 # Tell versions [3.59,3.63) of GNU make to not export all variables.
562 # Otherwise a system limit (for SysV at least) may be exceeded.
563 .NOEXPORT:
0 #include "qgpgme/abstractimportjob.h"
0 #include "qgpgme/adduseridjob.h"
0 #include "qgpgme/changeexpiryjob.h"
0 #include "qgpgme/changeownertrustjob.h"
0 #include "qgpgme/changepasswdjob.h"
0 #include "qgpgme/cryptoconfig.h"
0 #include "qgpgme/dn.h"
0 #include "qgpgme/dataprovider.h"
0 #include "qgpgme/decryptjob.h"
0 #include "qgpgme/decryptverifyjob.h"
0 #include "qgpgme/defaultkeygenerationjob.h"
0 #include "qgpgme/deletejob.h"
0 #include "qgpgme/downloadjob.h"
0 #include "qgpgme/encryptjob.h"
0 #include "qgpgme/exportjob.h"
0 #include "qgpgme/gpgcardjob.h"
0 #include "qgpgme/hierarchicalkeykistjob.h"
0 #include "qgpgme/importfromkeyserverjob.h"
0 #include "qgpgme/importjob.h"
0 #include "qgpgme/job.h"
0 #include "qgpgme/keyformailboxjob.h"
0 #include "qgpgme/keygenerationjob.h"
0 #include "qgpgme/keylistjob.h"
0 #include "qgpgme/listallkeysjob.h"
3939 qgpgmekeyformailboxjob.cpp qgpgme_debug.cpp \
4040 qgpgmetofupolicyjob.cpp qgpgmequickjob.cpp \
4141 defaultkeygenerationjob.cpp qgpgmewkspublishjob.cpp \
42 qgpgmegpgcardjob.cpp \
42 qgpgmegpgcardjob.cpp changeexpiryjob.cpp \
4343 dn.cpp cryptoconfig.cpp
4444
4545 # If you add one here make sure that you also add one in camelcase
127127 private_qgpgme_headers = \
128128 qgpgme_export.h \
129129 protocol_p.h \
130 job_p.h \
130131 qgpgmeadduseridjob.h \
131132 qgpgmebackend.h \
132133 qgpgmechangeexpiryjob.h \
0 # Makefile.in generated by automake 1.16.4 from Makefile.am.
1 # @configure_input@
2
3 # Copyright (C) 1994-2021 Free Software Foundation, Inc.
4
5 # This Makefile.in is free software; the Free Software Foundation
6 # gives unlimited permission to copy and/or distribute it,
7 # with or without modifications, as long as this notice is preserved.
8
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
11 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
12 # PARTICULAR PURPOSE.
13
14 @SET_MAKE@
15
16
17 VPATH = @srcdir@
18 am__is_gnu_make = { \
19 if test -z '$(MAKELEVEL)'; then \
20 false; \
21 elif test -n '$(MAKE_HOST)'; then \
22 true; \
23 elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
24 true; \
25 else \
26 false; \
27 fi; \
28 }
29 am__make_running_with_option = \
30 case $${target_option-} in \
31 ?) ;; \
32 *) echo "am__make_running_with_option: internal error: invalid" \
33 "target option '$${target_option-}' specified" >&2; \
34 exit 1;; \
35 esac; \
36 has_opt=no; \
37 sane_makeflags=$$MAKEFLAGS; \
38 if $(am__is_gnu_make); then \
39 sane_makeflags=$$MFLAGS; \
40 else \
41 case $$MAKEFLAGS in \
42 *\\[\ \ ]*) \
43 bs=\\; \
44 sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
45 | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
46 esac; \
47 fi; \
48 skip_next=no; \
49 strip_trailopt () \
50 { \
51 flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
52 }; \
53 for flg in $$sane_makeflags; do \
54 test $$skip_next = yes && { skip_next=no; continue; }; \
55 case $$flg in \
56 *=*|--*) continue;; \
57 -*I) strip_trailopt 'I'; skip_next=yes;; \
58 -*I?*) strip_trailopt 'I';; \
59 -*O) strip_trailopt 'O'; skip_next=yes;; \
60 -*O?*) strip_trailopt 'O';; \
61 -*l) strip_trailopt 'l'; skip_next=yes;; \
62 -*l?*) strip_trailopt 'l';; \
63 -[dEDm]) skip_next=yes;; \
64 -[JT]) skip_next=yes;; \
65 esac; \
66 case $$flg in \
67 *$$target_option*) has_opt=yes; break;; \
68 esac; \
69 done; \
70 test $$has_opt = yes
71 am__make_dryrun = (target_option=n; $(am__make_running_with_option))
72 am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
73 pkgdatadir = $(datadir)/@PACKAGE@
74 pkgincludedir = $(includedir)/@PACKAGE@
75 pkglibdir = $(libdir)/@PACKAGE@
76 pkglibexecdir = $(libexecdir)/@PACKAGE@
77 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
78 install_sh_DATA = $(install_sh) -c -m 644
79 install_sh_PROGRAM = $(install_sh) -c
80 install_sh_SCRIPT = $(install_sh) -c
81 INSTALL_HEADER = $(INSTALL_DATA)
82 transform = $(program_transform_name)
83 NORMAL_INSTALL = :
84 PRE_INSTALL = :
85 POST_INSTALL = :
86 NORMAL_UNINSTALL = :
87 PRE_UNINSTALL = :
88 POST_UNINSTALL = :
89 build_triplet = @build@
90 host_triplet = @host@
91 subdir = lang/qt/src
92 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
93 am__aclocal_m4_deps = $(top_srcdir)/m4/ax_cxx_compile_stdcxx.m4 \
94 $(top_srcdir)/m4/ax_pkg_swig.m4 \
95 $(top_srcdir)/m4/ax_python_devel.m4 \
96 $(top_srcdir)/m4/glib-2.0.m4 $(top_srcdir)/m4/glibc21.m4 \
97 $(top_srcdir)/m4/gnupg-ttyname.m4 \
98 $(top_srcdir)/m4/gpg-error.m4 $(top_srcdir)/m4/libassuan.m4 \
99 $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
100 $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
101 $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/pkg.m4 \
102 $(top_srcdir)/m4/python.m4 $(top_srcdir)/m4/qt.m4 \
103 $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
104 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
105 $(ACLOCAL_M4)
106 DIST_COMMON = $(srcdir)/Makefile.am $(camelcaseinclude_HEADERS) \
107 $(qgpgmeinclude_HEADERS) $(am__DIST_COMMON)
108 mkinstalldirs = $(SHELL) $(top_srcdir)/build-aux/mkinstalldirs
109 CONFIG_HEADER = $(top_builddir)/conf/config.h
110 CONFIG_CLEAN_FILES = QGpgmeConfig-w32.cmake.in QGpgmeConfig.cmake.in \
111 QGpgmeConfigVersion.cmake qgpgme_version.h
112 CONFIG_CLEAN_VPATH_FILES =
113 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
114 am__vpath_adj = case $$p in \
115 $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
116 *) f=$$p;; \
117 esac;
118 am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
119 am__install_max = 40
120 am__nobase_strip_setup = \
121 srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
122 am__nobase_strip = \
123 for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
124 am__nobase_list = $(am__nobase_strip_setup); \
125 for p in $$list; do echo "$$p $$p"; done | \
126 sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
127 $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
128 if (++n[$$2] == $(am__install_max)) \
129 { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
130 END { for (dir in files) print dir, files[dir] }'
131 am__base_list = \
132 sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
133 sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
134 am__uninstall_files_from_dir = { \
135 test -z "$$files" \
136 || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
137 || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
138 $(am__cd) "$$dir" && rm -f $$files; }; \
139 }
140 am__installdirs = "$(DESTDIR)$(libdir)" \
141 "$(DESTDIR)$(camelcaseincludedir)" \
142 "$(DESTDIR)$(qgpgmeincludedir)" \
143 "$(DESTDIR)$(qgpgmeincludedir)"
144 LTLIBRARIES = $(lib_LTLIBRARIES)
145 libqgpgme_la_DEPENDENCIES = ../../cpp/src/libgpgmepp.la \
146 ../../../src/libgpgme.la
147 am__objects_1 = dataprovider.lo debug.lo job.lo multideletejob.lo \
148 qgpgmeadduseridjob.lo qgpgmebackend.lo \
149 qgpgmechangeexpiryjob.lo qgpgmechangeownertrustjob.lo \
150 qgpgmechangepasswdjob.lo qgpgmedecryptjob.lo \
151 qgpgmedecryptverifyjob.lo qgpgmedeletejob.lo \
152 qgpgmedownloadjob.lo qgpgmeencryptjob.lo qgpgmeexportjob.lo \
153 qgpgmeimportfromkeyserverjob.lo qgpgmeimportjob.lo \
154 qgpgmekeygenerationjob.lo qgpgmekeylistjob.lo \
155 qgpgmelistallkeysjob.lo qgpgmenewcryptoconfig.lo \
156 qgpgmerefreshkeysjob.lo qgpgmesecretkeyexportjob.lo \
157 qgpgmesignencryptjob.lo qgpgmesignjob.lo qgpgmesignkeyjob.lo \
158 qgpgmeverifydetachedjob.lo qgpgmeverifyopaquejob.lo \
159 threadedjobmixin.lo qgpgmekeyformailboxjob.lo qgpgme_debug.lo \
160 qgpgmetofupolicyjob.lo qgpgmequickjob.lo \
161 defaultkeygenerationjob.lo qgpgmewkspublishjob.lo \
162 qgpgmegpgcardjob.lo changeexpiryjob.lo dn.lo cryptoconfig.lo
163 am__objects_2 =
164 am_libqgpgme_la_OBJECTS = $(am__objects_1) $(am__objects_2) \
165 $(am__objects_2)
166 nodist_libqgpgme_la_OBJECTS = $(am__objects_2)
167 libqgpgme_la_OBJECTS = $(am_libqgpgme_la_OBJECTS) \
168 $(nodist_libqgpgme_la_OBJECTS)
169 AM_V_lt = $(am__v_lt_@AM_V@)
170 am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
171 am__v_lt_0 = --silent
172 am__v_lt_1 =
173 libqgpgme_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
174 $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
175 $(CXXFLAGS) $(libqgpgme_la_LDFLAGS) $(LDFLAGS) -o $@
176 AM_V_P = $(am__v_P_@AM_V@)
177 am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
178 am__v_P_0 = false
179 am__v_P_1 = :
180 AM_V_GEN = $(am__v_GEN_@AM_V@)
181 am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
182 am__v_GEN_0 = @echo " GEN " $@;
183 am__v_GEN_1 =
184 AM_V_at = $(am__v_at_@AM_V@)
185 am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
186 am__v_at_0 = @
187 am__v_at_1 =
188 DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/conf
189 depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp
190 am__maybe_remake_depfiles = depfiles
191 am__depfiles_remade = ./$(DEPDIR)/changeexpiryjob.Plo \
192 ./$(DEPDIR)/cryptoconfig.Plo ./$(DEPDIR)/dataprovider.Plo \
193 ./$(DEPDIR)/debug.Plo ./$(DEPDIR)/defaultkeygenerationjob.Plo \
194 ./$(DEPDIR)/dn.Plo ./$(DEPDIR)/job.Plo \
195 ./$(DEPDIR)/multideletejob.Plo ./$(DEPDIR)/qgpgme_debug.Plo \
196 ./$(DEPDIR)/qgpgmeadduseridjob.Plo \
197 ./$(DEPDIR)/qgpgmebackend.Plo \
198 ./$(DEPDIR)/qgpgmechangeexpiryjob.Plo \
199 ./$(DEPDIR)/qgpgmechangeownertrustjob.Plo \
200 ./$(DEPDIR)/qgpgmechangepasswdjob.Plo \
201 ./$(DEPDIR)/qgpgmedecryptjob.Plo \
202 ./$(DEPDIR)/qgpgmedecryptverifyjob.Plo \
203 ./$(DEPDIR)/qgpgmedeletejob.Plo \
204 ./$(DEPDIR)/qgpgmedownloadjob.Plo \
205 ./$(DEPDIR)/qgpgmeencryptjob.Plo \
206 ./$(DEPDIR)/qgpgmeexportjob.Plo \
207 ./$(DEPDIR)/qgpgmegpgcardjob.Plo \
208 ./$(DEPDIR)/qgpgmeimportfromkeyserverjob.Plo \
209 ./$(DEPDIR)/qgpgmeimportjob.Plo \
210 ./$(DEPDIR)/qgpgmekeyformailboxjob.Plo \
211 ./$(DEPDIR)/qgpgmekeygenerationjob.Plo \
212 ./$(DEPDIR)/qgpgmekeylistjob.Plo \
213 ./$(DEPDIR)/qgpgmelistallkeysjob.Plo \
214 ./$(DEPDIR)/qgpgmenewcryptoconfig.Plo \
215 ./$(DEPDIR)/qgpgmequickjob.Plo \
216 ./$(DEPDIR)/qgpgmerefreshkeysjob.Plo \
217 ./$(DEPDIR)/qgpgmesecretkeyexportjob.Plo \
218 ./$(DEPDIR)/qgpgmesignencryptjob.Plo \
219 ./$(DEPDIR)/qgpgmesignjob.Plo ./$(DEPDIR)/qgpgmesignkeyjob.Plo \
220 ./$(DEPDIR)/qgpgmetofupolicyjob.Plo \
221 ./$(DEPDIR)/qgpgmeverifydetachedjob.Plo \
222 ./$(DEPDIR)/qgpgmeverifyopaquejob.Plo \
223 ./$(DEPDIR)/qgpgmewkspublishjob.Plo \
224 ./$(DEPDIR)/threadedjobmixin.Plo
225 am__mv = mv -f
226 CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
227 $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
228 LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
229 $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
230 $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
231 $(AM_CXXFLAGS) $(CXXFLAGS)
232 AM_V_CXX = $(am__v_CXX_@AM_V@)
233 am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@)
234 am__v_CXX_0 = @echo " CXX " $@;
235 am__v_CXX_1 =
236 CXXLD = $(CXX)
237 CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
238 $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
239 $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
240 AM_V_CXXLD = $(am__v_CXXLD_@AM_V@)
241 am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@)
242 am__v_CXXLD_0 = @echo " CXXLD " $@;
243 am__v_CXXLD_1 =
244 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
245 $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
246 LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
247 $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
248 $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
249 $(AM_CFLAGS) $(CFLAGS)
250 AM_V_CC = $(am__v_CC_@AM_V@)
251 am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
252 am__v_CC_0 = @echo " CC " $@;
253 am__v_CC_1 =
254 CCLD = $(CC)
255 LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
256 $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
257 $(AM_LDFLAGS) $(LDFLAGS) -o $@
258 AM_V_CCLD = $(am__v_CCLD_@AM_V@)
259 am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
260 am__v_CCLD_0 = @echo " CCLD " $@;
261 am__v_CCLD_1 =
262 SOURCES = $(libqgpgme_la_SOURCES) $(nodist_libqgpgme_la_SOURCES)
263 DIST_SOURCES = $(libqgpgme_la_SOURCES)
264 am__can_run_installinfo = \
265 case $$AM_UPDATE_INFO_DIR in \
266 n|no|NO) false;; \
267 *) (install-info --version) >/dev/null 2>&1;; \
268 esac
269 HEADERS = $(camelcaseinclude_HEADERS) $(nodist_qgpgmeinclude_HEADERS) \
270 $(qgpgmeinclude_HEADERS)
271 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
272 # Read a list of newline-separated strings from the standard input,
273 # and print each of them once, without duplicates. Input order is
274 # *not* preserved.
275 am__uniquify_input = $(AWK) '\
276 BEGIN { nonempty = 0; } \
277 { items[$$0] = 1; nonempty = 1; } \
278 END { if (nonempty) { for (i in items) print i; }; } \
279 '
280 # Make sure the list of sources is unique. This is necessary because,
281 # e.g., the same source file might be shared among _SOURCES variables
282 # for different programs/libraries.
283 am__define_uniq_tagged_files = \
284 list='$(am__tagged_files)'; \
285 unique=`for i in $$list; do \
286 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
287 done | $(am__uniquify_input)`
288 am__DIST_COMMON = $(srcdir)/Makefile.in \
289 $(srcdir)/QGpgmeConfig-w32.cmake.in.in \
290 $(srcdir)/QGpgmeConfig.cmake.in.in \
291 $(srcdir)/QGpgmeConfigVersion.cmake.in \
292 $(srcdir)/qgpgme_version.h.in $(top_srcdir)/build-aux/depcomp \
293 $(top_srcdir)/build-aux/mkinstalldirs
294 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
295 ACLOCAL = @ACLOCAL@
296 AMTAR = @AMTAR@
297 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
298 AR = @AR@
299 AS = @AS@
300 AUTOCONF = @AUTOCONF@
301 AUTOHEADER = @AUTOHEADER@
302 AUTOMAKE = @AUTOMAKE@
303 AWK = @AWK@
304 BUILD_FILEVERSION = @BUILD_FILEVERSION@
305 BUILD_REVISION = @BUILD_REVISION@
306 BUILD_TIMESTAMP = @BUILD_TIMESTAMP@
307 BUILD_VERSION = @BUILD_VERSION@
308 CC = @CC@
309 CCDEPMODE = @CCDEPMODE@
310 CC_FOR_BUILD = @CC_FOR_BUILD@
311 CFLAGS = @CFLAGS@
312 CPP = @CPP@
313 CPPFLAGS = @CPPFLAGS@
314 CSCOPE = @CSCOPE@
315 CTAGS = @CTAGS@
316 CXX = @CXX@
317 CXXCPP = @CXXCPP@
318 CXXDEPMODE = @CXXDEPMODE@
319 CXXFLAGS = @CXXFLAGS@
320 CYGPATH_W = @CYGPATH_W@
321 DEFS = @DEFS@
322 DEPDIR = @DEPDIR@
323 DLLTOOL = @DLLTOOL@
324 DOXYGEN = @DOXYGEN@
325 DSYMUTIL = @DSYMUTIL@
326 DUMPBIN = @DUMPBIN@
327 ECHO_C = @ECHO_C@
328 ECHO_N = @ECHO_N@
329 ECHO_T = @ECHO_T@
330 EGREP = @EGREP@
331 ENABLED_LANGUAGES = @ENABLED_LANGUAGES@
332 ETAGS = @ETAGS@
333 EXEEXT = @EXEEXT@
334 FGREP = @FGREP@
335 GITLOG_TO_CHANGELOG = @GITLOG_TO_CHANGELOG@
336 GLIBC21 = @GLIBC21@
337 GLIB_CFLAGS = @GLIB_CFLAGS@
338 GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
339 GLIB_LIBS = @GLIB_LIBS@
340 GLIB_MKENUMS = @GLIB_MKENUMS@
341 GOBJECT_QUERY = @GOBJECT_QUERY@
342 GPGME_CONFIG_API_VERSION = @GPGME_CONFIG_API_VERSION@
343 GPGME_CONFIG_AVAIL_LANG = @GPGME_CONFIG_AVAIL_LANG@
344 GPGME_CONFIG_CFLAGS = @GPGME_CONFIG_CFLAGS@
345 GPGME_CONFIG_HOST = @GPGME_CONFIG_HOST@
346 GPGME_CONFIG_LIBS = @GPGME_CONFIG_LIBS@
347 GPGME_QTTEST_CFLAGS = @GPGME_QTTEST_CFLAGS@
348 GPGME_QTTEST_LIBS = @GPGME_QTTEST_LIBS@
349 GPGME_QT_CFLAGS = @GPGME_QT_CFLAGS@
350 GPGME_QT_LIBS = @GPGME_QT_LIBS@
351 GPGRT_CONFIG = @GPGRT_CONFIG@
352 GPG_ERROR_CFLAGS = @GPG_ERROR_CFLAGS@
353 GPG_ERROR_CONFIG = @GPG_ERROR_CONFIG@
354 GPG_ERROR_LIBS = @GPG_ERROR_LIBS@
355 GPG_ERROR_MT_CFLAGS = @GPG_ERROR_MT_CFLAGS@
356 GPG_ERROR_MT_LIBS = @GPG_ERROR_MT_LIBS@
357 GRAPHVIZ = @GRAPHVIZ@
358 GREP = @GREP@
359 HAVE_CXX11 = @HAVE_CXX11@
360 HAVE_DOT = @HAVE_DOT@
361 INSTALL = @INSTALL@
362 INSTALL_DATA = @INSTALL_DATA@
363 INSTALL_PROGRAM = @INSTALL_PROGRAM@
364 INSTALL_SCRIPT = @INSTALL_SCRIPT@
365 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
366 LD = @LD@
367 LDADD_FOR_TESTS_KLUDGE = @LDADD_FOR_TESTS_KLUDGE@
368 LDFLAGS = @LDFLAGS@
369 LIBASSUAN_CFLAGS = @LIBASSUAN_CFLAGS@
370 LIBASSUAN_CONFIG = @LIBASSUAN_CONFIG@
371 LIBASSUAN_LIBS = @LIBASSUAN_LIBS@
372 LIBGPGMEPP_LT_AGE = @LIBGPGMEPP_LT_AGE@
373 LIBGPGMEPP_LT_CURRENT = @LIBGPGMEPP_LT_CURRENT@
374 LIBGPGMEPP_LT_REVISION = @LIBGPGMEPP_LT_REVISION@
375 LIBGPGME_LT_AGE = @LIBGPGME_LT_AGE@
376 LIBGPGME_LT_CURRENT = @LIBGPGME_LT_CURRENT@
377 LIBGPGME_LT_REVISION = @LIBGPGME_LT_REVISION@
378 LIBOBJS = @LIBOBJS@
379 LIBQGPGME_LT_AGE = @LIBQGPGME_LT_AGE@
380 LIBQGPGME_LT_CURRENT = @LIBQGPGME_LT_CURRENT@
381 LIBQGPGME_LT_REVISION = @LIBQGPGME_LT_REVISION@
382 LIBS = @LIBS@
383 LIBTOOL = @LIBTOOL@
384 LIPO = @LIPO@
385 LN_S = @LN_S@
386 LTLIBOBJS = @LTLIBOBJS@
387 MAINT = @MAINT@
388 MAKEINFO = @MAKEINFO@
389 MANIFEST_TOOL = @MANIFEST_TOOL@
390 MKDIR_P = @MKDIR_P@
391 MOC = @MOC@
392 MOC2 = @MOC2@
393 NEED__FILE_OFFSET_BITS = @NEED__FILE_OFFSET_BITS@
394 NM = @NM@
395 NMEDIT = @NMEDIT@
396 OBJDUMP = @OBJDUMP@
397 OBJEXT = @OBJEXT@
398 OTOOL = @OTOOL@
399 OTOOL64 = @OTOOL64@
400 PACKAGE = @PACKAGE@
401 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
402 PACKAGE_NAME = @PACKAGE_NAME@
403 PACKAGE_STRING = @PACKAGE_STRING@
404 PACKAGE_TARNAME = @PACKAGE_TARNAME@
405 PACKAGE_URL = @PACKAGE_URL@
406 PACKAGE_VERSION = @PACKAGE_VERSION@
407 PATH_SEPARATOR = @PATH_SEPARATOR@
408 PKG_CONFIG = @PKG_CONFIG@
409 PYTHON = @PYTHON@
410 PYTHONS = @PYTHONS@
411 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
412 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
413 PYTHON_EXTRA_LDFLAGS = @PYTHON_EXTRA_LDFLAGS@
414 PYTHON_EXTRA_LIBS = @PYTHON_EXTRA_LIBS@
415 PYTHON_LDFLAGS = @PYTHON_LDFLAGS@
416 PYTHON_PLATFORM = @PYTHON_PLATFORM@
417 PYTHON_PREFIX = @PYTHON_PREFIX@
418 PYTHON_SITE_PKG = @PYTHON_SITE_PKG@
419 PYTHON_VERSION = @PYTHON_VERSION@
420 QTCHOOSER = @QTCHOOSER@
421 RANLIB = @RANLIB@
422 RC = @RC@
423 SED = @SED@
424 SET_MAKE = @SET_MAKE@
425 SHELL = @SHELL@
426 STRIP = @STRIP@
427 SWIG = @SWIG@
428 SWIG_LIB = @SWIG_LIB@
429 SYSROOT = @SYSROOT@
430 VERSION = @VERSION@
431 VERSION_MAJOR = @VERSION_MAJOR@
432 VERSION_MICRO = @VERSION_MICRO@
433 VERSION_MINOR = @VERSION_MINOR@
434 VERSION_NUMBER = @VERSION_NUMBER@
435 abs_builddir = @abs_builddir@
436 abs_srcdir = @abs_srcdir@
437 abs_top_builddir = @abs_top_builddir@
438 abs_top_srcdir = @abs_top_srcdir@
439 ac_ct_AR = @ac_ct_AR@
440 ac_ct_CC = @ac_ct_CC@
441 ac_ct_CXX = @ac_ct_CXX@
442 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
443 am__include = @am__include@
444 am__leading_dot = @am__leading_dot@
445 am__quote = @am__quote@
446 am__tar = @am__tar@
447 am__untar = @am__untar@
448 bindir = @bindir@
449 build = @build@
450 build_alias = @build_alias@
451 build_cpu = @build_cpu@
452 build_os = @build_os@
453 build_vendor = @build_vendor@
454 builddir = @builddir@
455 datadir = @datadir@
456 datarootdir = @datarootdir@
457 docdir = @docdir@
458 dvidir = @dvidir@
459 emacs_local_vars_begin = @emacs_local_vars_begin@
460 emacs_local_vars_end = @emacs_local_vars_end@
461 emacs_local_vars_read_only = @emacs_local_vars_read_only@
462 exec_prefix = @exec_prefix@
463 host = @host@
464 host_alias = @host_alias@
465 host_cpu = @host_cpu@
466 host_os = @host_os@
467 host_vendor = @host_vendor@
468 htmldir = @htmldir@
469 includedir = @includedir@
470 infodir = @infodir@
471 install_sh = @install_sh@
472 libdir = @libdir@
473 libexecdir = @libexecdir@
474 localedir = @localedir@
475 localstatedir = @localstatedir@
476 mandir = @mandir@
477 mkdir_p = @mkdir_p@
478 oldincludedir = @oldincludedir@
479 pdfdir = @pdfdir@
480 pkgpyexecdir = @pkgpyexecdir@
481 pkgpythondir = @pkgpythondir@
482 prefix = @prefix@
483 program_transform_name = @program_transform_name@
484 psdir = @psdir@
485 pyexecdir = @pyexecdir@
486 pythondir = @pythondir@
487 runstatedir = @runstatedir@
488 sbindir = @sbindir@
489 sharedstatedir = @sharedstatedir@
490 srcdir = @srcdir@
491 sysconfdir = @sysconfdir@
492 target_alias = @target_alias@
493 top_build_prefix = @top_build_prefix@
494 top_builddir = @top_builddir@
495 top_srcdir = @top_srcdir@
496
497 # Makefile.am for GPGMEPP.
498 # Copyright (C) 2016 Bundesamt für Sicherheit in der Informationstechnik
499 # Software engineering by Intevation GmbH
500 #
501 # This file is part of GPGMEPP.
502 #
503 # GPGME-CL is free software; you can redistribute it and/or modify it
504 # under the terms of the GNU General Public License as published by
505 # the Free Software Foundation; either version 2 of the License, or
506 # (at your option) any later version.
507 #
508 # GPGME-CL is distributed in the hope that it will be useful,
509 # but WITHOUT ANY WARRANTY; without even the implied warranty of
510 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
511 # GNU Lesser General Public License for more details.
512 #
513 # You should have received a copy of the GNU General Public License
514 # along with this program; if not, write to the Free Software
515 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
516 # 02111-1307, USA
517 lib_LTLIBRARIES = libqgpgme.la
518 EXTRA_DIST = QGpgmeConfig.cmake.in.in QGpgmeConfigVersion.cmake.in \
519 qgpgme_debug.h qgpgme_version.h.in \
520 QGpgmeConfig.cmake.in.in
521
522 qgpgme_sources = \
523 dataprovider.cpp \
524 debug.cpp \
525 job.cpp multideletejob.cpp qgpgmeadduseridjob.cpp \
526 qgpgmebackend.cpp qgpgmechangeexpiryjob.cpp qgpgmechangeownertrustjob.cpp \
527 qgpgmechangepasswdjob.cpp qgpgmedecryptjob.cpp \
528 qgpgmedecryptverifyjob.cpp qgpgmedeletejob.cpp qgpgmedownloadjob.cpp \
529 qgpgmeencryptjob.cpp qgpgmeexportjob.cpp qgpgmeimportfromkeyserverjob.cpp \
530 qgpgmeimportjob.cpp qgpgmekeygenerationjob.cpp qgpgmekeylistjob.cpp \
531 qgpgmelistallkeysjob.cpp qgpgmenewcryptoconfig.cpp \
532 qgpgmerefreshkeysjob.cpp \
533 qgpgmesecretkeyexportjob.cpp qgpgmesignencryptjob.cpp \
534 qgpgmesignjob.cpp qgpgmesignkeyjob.cpp qgpgmeverifydetachedjob.cpp \
535 qgpgmeverifyopaquejob.cpp threadedjobmixin.cpp \
536 qgpgmekeyformailboxjob.cpp qgpgme_debug.cpp \
537 qgpgmetofupolicyjob.cpp qgpgmequickjob.cpp \
538 defaultkeygenerationjob.cpp qgpgmewkspublishjob.cpp \
539 qgpgmegpgcardjob.cpp changeexpiryjob.cpp \
540 dn.cpp cryptoconfig.cpp
541
542
543 # If you add one here make sure that you also add one in camelcase
544 qgpgme_headers = \
545 abstractimportjob.h \
546 adduseridjob.h \
547 changeexpiryjob.h \
548 changeownertrustjob.h \
549 changepasswdjob.h \
550 dataprovider.h \
551 debug.h \
552 decryptjob.h \
553 decryptverifyjob.h \
554 downloadjob.h \
555 encryptjob.h \
556 exportjob.h \
557 hierarchicalkeylistjob.h \
558 job.h \
559 keyformailboxjob.h \
560 multideletejob.h \
561 protocol.h \
562 qgpgme_export.h \
563 qgpgmenewcryptoconfig.h \
564 quickjob.h \
565 specialjob.h \
566 signjob.h \
567 signkeyjob.h \
568 signencryptjob.h \
569 verifyopaquejob.h \
570 refreshkeysjob.h \
571 cryptoconfig.h \
572 deletejob.h \
573 importfromkeyserverjob.h \
574 importjob.h \
575 keygenerationjob.h \
576 keylistjob.h \
577 listallkeysjob.h \
578 verifydetachedjob.h \
579 defaultkeygenerationjob.h \
580 tofupolicyjob.h \
581 wkspublishjob.h \
582 gpgcardjob.h \
583 dn.h
584
585 camelcase_headers = \
586 AddUserIDJob \
587 AbstractImportJob \
588 ChangeExpiryJob \
589 ChangeOwnerTrustJob \
590 ChangePasswdJob \
591 DataProvider \
592 Debug \
593 DecryptJob \
594 DecryptVerifyJob \
595 DN \
596 DownloadJob \
597 EncryptJob \
598 ExportJob \
599 HierarchicalKeyKistJob \
600 Job \
601 MultiDeleteJob \
602 Protocol \
603 QGpgMENewCryptoConfig \
604 QuickJob \
605 SpecialJob \
606 SignJob \
607 SignKeyJob \
608 SignEncryptJob \
609 VerifyOpaqueJob \
610 RefreshKeysJob \
611 CryptoConfig \
612 DeleteJob \
613 ImportFromKeyserverJob \
614 ImportJob \
615 KeyGenerationJob \
616 KeyListJob \
617 ListAllKeysJob \
618 VerifyDetachedJob \
619 KeyForMailboxJob \
620 DefaultKeyGenerationJob \
621 WKSPublishJob \
622 TofuPolicyJob \
623 GpgCardJob
624
625 private_qgpgme_headers = \
626 qgpgme_export.h \
627 protocol_p.h \
628 job_p.h \
629 qgpgmeadduseridjob.h \
630 qgpgmebackend.h \
631 qgpgmechangeexpiryjob.h \
632 qgpgmechangeownertrustjob.h \
633 qgpgmechangepasswdjob.h \
634 qgpgmedecryptjob.h \
635 qgpgmedecryptverifyjob.h \
636 qgpgmedeletejob.h \
637 qgpgmedownloadjob.h \
638 qgpgmeencryptjob.h \
639 qgpgmeexportjob.h \
640 qgpgmeimportfromkeyserverjob.h \
641 qgpgmeimportjob.h \
642 qgpgmekeygenerationjob.h \
643 qgpgmekeylistjob.h \
644 qgpgmelistallkeysjob.h \
645 qgpgmerefreshkeysjob.h \
646 qgpgmesecretkeyexportjob.h \
647 qgpgmesignencryptjob.h \
648 qgpgmesignjob.h \
649 qgpgmesignkeyjob.h \
650 qgpgmeverifydetachedjob.h \
651 qgpgmeverifyopaquejob.h \
652 qgpgmekeyformailboxjob.h \
653 qgpgmewkspublishjob.h \
654 qgpgmetofupolicyjob.h \
655 qgpgmegpgcardjob.h \
656 qgpgmequickjob.h \
657 threadedjobmixin.h
658
659 qgpgme_moc_sources = \
660 abstractimportjob.moc \
661 adduseridjob.moc \
662 changeexpiryjob.moc \
663 changeownertrustjob.moc \
664 changepasswdjob.moc \
665 decryptjob.moc \
666 decryptverifyjob.moc \
667 deletejob.moc \
668 downloadjob.moc \
669 encryptjob.moc \
670 exportjob.moc \
671 hierarchicalkeylistjob.moc \
672 importfromkeyserverjob.moc \
673 importjob.moc \
674 job.moc \
675 keygenerationjob.moc \
676 keylistjob.moc \
677 listallkeysjob.moc \
678 multideletejob.moc \
679 qgpgmeadduseridjob.moc \
680 qgpgmechangeexpiryjob.moc \
681 qgpgmechangeownertrustjob.moc \
682 qgpgmechangepasswdjob.moc \
683 qgpgmedecryptjob.moc \
684 qgpgmedecryptverifyjob.moc \
685 qgpgmedeletejob.moc \
686 qgpgmedownloadjob.moc \
687 qgpgmeencryptjob.moc \
688 qgpgmeexportjob.moc \
689 qgpgmeimportfromkeyserverjob.moc \
690 qgpgmeimportjob.moc \
691 qgpgmekeygenerationjob.moc \
692 qgpgmekeylistjob.moc \
693 qgpgmelistallkeysjob.moc \
694 qgpgmerefreshkeysjob.moc \
695 qgpgmesecretkeyexportjob.moc \
696 qgpgmesignencryptjob.moc \
697 qgpgmesignjob.moc \
698 qgpgmesignkeyjob.moc \
699 qgpgmeverifydetachedjob.moc \
700 qgpgmeverifyopaquejob.moc \
701 qgpgmewkspublishjob.moc \
702 tofupolicyjob.moc \
703 qgpgmetofupolicyjob.moc \
704 refreshkeysjob.moc \
705 signencryptjob.moc \
706 signjob.moc \
707 signkeyjob.moc \
708 specialjob.moc \
709 verifydetachedjob.moc \
710 verifyopaquejob.moc \
711 keyformailboxjob.moc \
712 wkspublishjob.moc \
713 qgpgmekeyformailboxjob.moc \
714 defaultkeygenerationjob.moc \
715 quickjob.moc \
716 qgpgmequickjob.moc \
717 gpgcardjob.moc \
718 qgpgmegpgcardjob.moc
719
720 qgpgmeincludedir = $(includedir)/qgpgme
721 qgpgmeinclude_HEADERS = $(qgpgme_headers)
722 camelcaseincludedir = $(includedir)/QGpgME
723 camelcaseinclude_HEADERS = $(camelcase_headers)
724 nodist_qgpgmeinclude_HEADERS = qgpgme_version.h
725 libqgpgme_la_SOURCES = $(qgpgme_sources) $(qgpgme_headers) $(private_qgpgme_headers)
726 AM_CPPFLAGS = -I$(top_srcdir)/lang/cpp/src -I$(top_builddir)/src \
727 @GPGME_QT_CFLAGS@ @GPG_ERROR_CFLAGS@ @LIBASSUAN_CFLAGS@ \
728 -DBUILDING_QGPGME -Wsuggest-override \
729 -Wzero-as-null-pointer-constant
730
731 libqgpgme_la_LIBADD = ../../cpp/src/libgpgmepp.la ../../../src/libgpgme.la \
732 @LIBASSUAN_LIBS@ @GPG_ERROR_LIBS@ @GPGME_QT_LIBS@
733
734 libqgpgme_la_LDFLAGS = -no-undefined -version-info \
735 @LIBQGPGME_LT_CURRENT@:@LIBQGPGME_LT_REVISION@:@LIBQGPGME_LT_AGE@
736
737 @HAVE_MACOS_SYSTEM_FALSE@libsuffix = .so
738 @HAVE_MACOS_SYSTEM_TRUE@libsuffix = .dylib
739 BUILT_SOURCES = $(qgpgme_moc_sources) $(camelcase_headers)
740 CLEANFILES = $(qgpgme_moc_sources) $(camelcase_headers) QGpgmeConfig.cmake \
741 qgpgme_version.h QGpgmeConfig.cmake.in \
742 QGpgmeConfigVersion.cmake
743
744 nodist_libqgpgme_la_SOURCES = $(qgpgme_moc_sources)
745 all: $(BUILT_SOURCES)
746 $(MAKE) $(AM_MAKEFLAGS) all-am
747
748 .SUFFIXES:
749 .SUFFIXES: .cpp .h .lo .moc .o .obj
750 $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
751 @for dep in $?; do \
752 case '$(am__configure_deps)' in \
753 *$$dep*) \
754 ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
755 && { if test -f $@; then exit 0; else break; fi; }; \
756 exit 1;; \
757 esac; \
758 done; \
759 echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu lang/qt/src/Makefile'; \
760 $(am__cd) $(top_srcdir) && \
761 $(AUTOMAKE) --gnu lang/qt/src/Makefile
762 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
763 @case '$?' in \
764 *config.status*) \
765 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
766 *) \
767 echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
768 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
769 esac;
770
771 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
772 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
773
774 $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
775 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
776 $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
777 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
778 $(am__aclocal_m4_deps):
779 QGpgmeConfig-w32.cmake.in: $(top_builddir)/config.status $(srcdir)/QGpgmeConfig-w32.cmake.in.in
780 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
781 QGpgmeConfig.cmake.in: $(top_builddir)/config.status $(srcdir)/QGpgmeConfig.cmake.in.in
782 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
783 QGpgmeConfigVersion.cmake: $(top_builddir)/config.status $(srcdir)/QGpgmeConfigVersion.cmake.in
784 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
785 qgpgme_version.h: $(top_builddir)/config.status $(srcdir)/qgpgme_version.h.in
786 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
787
788 install-libLTLIBRARIES: $(lib_LTLIBRARIES)
789 @$(NORMAL_INSTALL)
790 @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
791 list2=; for p in $$list; do \
792 if test -f $$p; then \
793 list2="$$list2 $$p"; \
794 else :; fi; \
795 done; \
796 test -z "$$list2" || { \
797 echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \
798 $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \
799 echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
800 $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
801 }
802
803 uninstall-libLTLIBRARIES:
804 @$(NORMAL_UNINSTALL)
805 @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
806 for p in $$list; do \
807 $(am__strip_dir) \
808 echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \
809 $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \
810 done
811
812 clean-libLTLIBRARIES:
813 -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
814 @list='$(lib_LTLIBRARIES)'; \
815 locs=`for p in $$list; do echo $$p; done | \
816 sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
817 sort -u`; \
818 test -z "$$locs" || { \
819 echo rm -f $${locs}; \
820 rm -f $${locs}; \
821 }
822
823 libqgpgme.la: $(libqgpgme_la_OBJECTS) $(libqgpgme_la_DEPENDENCIES) $(EXTRA_libqgpgme_la_DEPENDENCIES)
824 $(AM_V_CXXLD)$(libqgpgme_la_LINK) -rpath $(libdir) $(libqgpgme_la_OBJECTS) $(libqgpgme_la_LIBADD) $(LIBS)
825
826 mostlyclean-compile:
827 -rm -f *.$(OBJEXT)
828
829 distclean-compile:
830 -rm -f *.tab.c
831
832 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/changeexpiryjob.Plo@am__quote@ # am--include-marker
833 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cryptoconfig.Plo@am__quote@ # am--include-marker
834 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dataprovider.Plo@am__quote@ # am--include-marker
835 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/debug.Plo@am__quote@ # am--include-marker
836 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/defaultkeygenerationjob.Plo@am__quote@ # am--include-marker
837 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dn.Plo@am__quote@ # am--include-marker
838 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/job.Plo@am__quote@ # am--include-marker
839 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/multideletejob.Plo@am__quote@ # am--include-marker
840 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/qgpgme_debug.Plo@am__quote@ # am--include-marker
841 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/qgpgmeadduseridjob.Plo@am__quote@ # am--include-marker
842 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/qgpgmebackend.Plo@am__quote@ # am--include-marker
843 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/qgpgmechangeexpiryjob.Plo@am__quote@ # am--include-marker
844 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/qgpgmechangeownertrustjob.Plo@am__quote@ # am--include-marker
845 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/qgpgmechangepasswdjob.Plo@am__quote@ # am--include-marker
846 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/qgpgmedecryptjob.Plo@am__quote@ # am--include-marker
847 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/qgpgmedecryptverifyjob.Plo@am__quote@ # am--include-marker
848 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/qgpgmedeletejob.Plo@am__quote@ # am--include-marker
849 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/qgpgmedownloadjob.Plo@am__quote@ # am--include-marker
850 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/qgpgmeencryptjob.Plo@am__quote@ # am--include-marker
851 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/qgpgmeexportjob.Plo@am__quote@ # am--include-marker
852 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/qgpgmegpgcardjob.Plo@am__quote@ # am--include-marker
853 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/qgpgmeimportfromkeyserverjob.Plo@am__quote@ # am--include-marker
854 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/qgpgmeimportjob.Plo@am__quote@ # am--include-marker
855 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/qgpgmekeyformailboxjob.Plo@am__quote@ # am--include-marker
856 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/qgpgmekeygenerationjob.Plo@am__quote@ # am--include-marker
857 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/qgpgmekeylistjob.Plo@am__quote@ # am--include-marker
858 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/qgpgmelistallkeysjob.Plo@am__quote@ # am--include-marker
859 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/qgpgmenewcryptoconfig.Plo@am__quote@ # am--include-marker
860 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/qgpgmequickjob.Plo@am__quote@ # am--include-marker
861 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/qgpgmerefreshkeysjob.Plo@am__quote@ # am--include-marker
862 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/qgpgmesecretkeyexportjob.Plo@am__quote@ # am--include-marker
863 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/qgpgmesignencryptjob.Plo@am__quote@ # am--include-marker
864 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/qgpgmesignjob.Plo@am__quote@ # am--include-marker
865 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/qgpgmesignkeyjob.Plo@am__quote@ # am--include-marker
866 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/qgpgmetofupolicyjob.Plo@am__quote@ # am--include-marker
867 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/qgpgmeverifydetachedjob.Plo@am__quote@ # am--include-marker
868 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/qgpgmeverifyopaquejob.Plo@am__quote@ # am--include-marker
869 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/qgpgmewkspublishjob.Plo@am__quote@ # am--include-marker
870 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/threadedjobmixin.Plo@am__quote@ # am--include-marker
871
872 $(am__depfiles_remade):
873 @$(MKDIR_P) $(@D)
874 @echo '# dummy' >$@-t && $(am__mv) $@-t $@
875
876 am--depfiles: $(am__depfiles_remade)
877
878 .cpp.o:
879 @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
880 @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
881 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
882 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
883 @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $<
884
885 .cpp.obj:
886 @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
887 @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
888 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
889 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
890 @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
891
892 .cpp.lo:
893 @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
894 @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
895 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
896 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
897 @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
898
899 mostlyclean-libtool:
900 -rm -f *.lo
901
902 clean-libtool:
903 -rm -rf .libs _libs
904 install-camelcaseincludeHEADERS: $(camelcaseinclude_HEADERS)
905 @$(NORMAL_INSTALL)
906 @list='$(camelcaseinclude_HEADERS)'; test -n "$(camelcaseincludedir)" || list=; \
907 if test -n "$$list"; then \
908 echo " $(MKDIR_P) '$(DESTDIR)$(camelcaseincludedir)'"; \
909 $(MKDIR_P) "$(DESTDIR)$(camelcaseincludedir)" || exit 1; \
910 fi; \
911 for p in $$list; do \
912 if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
913 echo "$$d$$p"; \
914 done | $(am__base_list) | \
915 while read files; do \
916 echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(camelcaseincludedir)'"; \
917 $(INSTALL_HEADER) $$files "$(DESTDIR)$(camelcaseincludedir)" || exit $$?; \
918 done
919
920 uninstall-camelcaseincludeHEADERS:
921 @$(NORMAL_UNINSTALL)
922 @list='$(camelcaseinclude_HEADERS)'; test -n "$(camelcaseincludedir)" || list=; \
923 files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
924 dir='$(DESTDIR)$(camelcaseincludedir)'; $(am__uninstall_files_from_dir)
925 install-nodist_qgpgmeincludeHEADERS: $(nodist_qgpgmeinclude_HEADERS)
926 @$(NORMAL_INSTALL)
927 @list='$(nodist_qgpgmeinclude_HEADERS)'; test -n "$(qgpgmeincludedir)" || list=; \
928 if test -n "$$list"; then \
929 echo " $(MKDIR_P) '$(DESTDIR)$(qgpgmeincludedir)'"; \
930 $(MKDIR_P) "$(DESTDIR)$(qgpgmeincludedir)" || exit 1; \
931 fi; \
932 for p in $$list; do \
933 if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
934 echo "$$d$$p"; \
935 done | $(am__base_list) | \
936 while read files; do \
937 echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(qgpgmeincludedir)'"; \
938 $(INSTALL_HEADER) $$files "$(DESTDIR)$(qgpgmeincludedir)" || exit $$?; \
939 done
940
941 uninstall-nodist_qgpgmeincludeHEADERS:
942 @$(NORMAL_UNINSTALL)
943 @list='$(nodist_qgpgmeinclude_HEADERS)'; test -n "$(qgpgmeincludedir)" || list=; \
944 files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
945 dir='$(DESTDIR)$(qgpgmeincludedir)'; $(am__uninstall_files_from_dir)
946 install-qgpgmeincludeHEADERS: $(qgpgmeinclude_HEADERS)
947 @$(NORMAL_INSTALL)
948 @list='$(qgpgmeinclude_HEADERS)'; test -n "$(qgpgmeincludedir)" || list=; \
949 if test -n "$$list"; then \
950 echo " $(MKDIR_P) '$(DESTDIR)$(qgpgmeincludedir)'"; \
951 $(MKDIR_P) "$(DESTDIR)$(qgpgmeincludedir)" || exit 1; \
952 fi; \
953 for p in $$list; do \
954 if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
955 echo "$$d$$p"; \
956 done | $(am__base_list) | \
957 while read files; do \
958 echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(qgpgmeincludedir)'"; \
959 $(INSTALL_HEADER) $$files "$(DESTDIR)$(qgpgmeincludedir)" || exit $$?; \
960 done
961
962 uninstall-qgpgmeincludeHEADERS:
963 @$(NORMAL_UNINSTALL)
964 @list='$(qgpgmeinclude_HEADERS)'; test -n "$(qgpgmeincludedir)" || list=; \
965 files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
966 dir='$(DESTDIR)$(qgpgmeincludedir)'; $(am__uninstall_files_from_dir)
967
968 ID: $(am__tagged_files)
969 $(am__define_uniq_tagged_files); mkid -fID $$unique
970 tags: tags-am
971 TAGS: tags
972
973 tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
974 set x; \
975 here=`pwd`; \
976 $(am__define_uniq_tagged_files); \
977 shift; \
978 if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
979 test -n "$$unique" || unique=$$empty_fix; \
980 if test $$# -gt 0; then \
981 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
982 "$$@" $$unique; \
983 else \
984 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
985 $$unique; \
986 fi; \
987 fi
988 ctags: ctags-am
989
990 CTAGS: ctags
991 ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
992 $(am__define_uniq_tagged_files); \
993 test -z "$(CTAGS_ARGS)$$unique" \
994 || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
995 $$unique
996
997 GTAGS:
998 here=`$(am__cd) $(top_builddir) && pwd` \
999 && $(am__cd) $(top_srcdir) \
1000 && gtags -i $(GTAGS_ARGS) "$$here"
1001 cscopelist: cscopelist-am
1002
1003 cscopelist-am: $(am__tagged_files)
1004 list='$(am__tagged_files)'; \
1005 case "$(srcdir)" in \
1006 [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
1007 *) sdir=$(subdir)/$(srcdir) ;; \
1008 esac; \
1009 for i in $$list; do \
1010 if test -f "$$i"; then \
1011 echo "$(subdir)/$$i"; \
1012 else \
1013 echo "$$sdir/$$i"; \
1014 fi; \
1015 done >> $(top_builddir)/cscope.files
1016
1017 distclean-tags:
1018 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
1019 distdir: $(BUILT_SOURCES)
1020 $(MAKE) $(AM_MAKEFLAGS) distdir-am
1021
1022 distdir-am: $(DISTFILES)
1023 @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
1024 topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
1025 list='$(DISTFILES)'; \
1026 dist_files=`for file in $$list; do echo $$file; done | \
1027 sed -e "s|^$$srcdirstrip/||;t" \
1028 -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
1029 case $$dist_files in \
1030 */*) $(MKDIR_P) `echo "$$dist_files" | \
1031 sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
1032 sort -u` ;; \
1033 esac; \
1034 for file in $$dist_files; do \
1035 if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
1036 if test -d $$d/$$file; then \
1037 dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
1038 if test -d "$(distdir)/$$file"; then \
1039 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
1040 fi; \
1041 if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
1042 cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
1043 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
1044 fi; \
1045 cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
1046 else \
1047 test -f "$(distdir)/$$file" \
1048 || cp -p $$d/$$file "$(distdir)/$$file" \
1049 || exit 1; \
1050 fi; \
1051 done
1052 check-am: all-am
1053 check: $(BUILT_SOURCES)
1054 $(MAKE) $(AM_MAKEFLAGS) check-am
1055 all-am: Makefile $(LTLIBRARIES) $(HEADERS)
1056 installdirs:
1057 for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(camelcaseincludedir)" "$(DESTDIR)$(qgpgmeincludedir)" "$(DESTDIR)$(qgpgmeincludedir)"; do \
1058 test -z "$$dir" || $(MKDIR_P) "$$dir"; \
1059 done
1060 install: $(BUILT_SOURCES)
1061 $(MAKE) $(AM_MAKEFLAGS) install-am
1062 install-exec: $(BUILT_SOURCES)
1063 $(MAKE) $(AM_MAKEFLAGS) install-exec-am
1064 install-data: install-data-am
1065 uninstall: uninstall-am
1066
1067 install-am: all-am
1068 @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
1069
1070 installcheck: installcheck-am
1071 install-strip:
1072 if test -z '$(STRIP)'; then \
1073 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
1074 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
1075 install; \
1076 else \
1077 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
1078 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
1079 "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
1080 fi
1081 mostlyclean-generic:
1082
1083 clean-generic:
1084 -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
1085
1086 distclean-generic:
1087 -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
1088 -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
1089
1090 maintainer-clean-generic:
1091 @echo "This command is intended for maintainers to use"
1092 @echo "it deletes files that may require special tools to rebuild."
1093 -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
1094 clean: clean-am
1095
1096 clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \
1097 mostlyclean-am
1098
1099 distclean: distclean-am
1100 -rm -f ./$(DEPDIR)/changeexpiryjob.Plo
1101 -rm -f ./$(DEPDIR)/cryptoconfig.Plo
1102 -rm -f ./$(DEPDIR)/dataprovider.Plo
1103 -rm -f ./$(DEPDIR)/debug.Plo
1104 -rm -f ./$(DEPDIR)/defaultkeygenerationjob.Plo
1105 -rm -f ./$(DEPDIR)/dn.Plo
1106 -rm -f ./$(DEPDIR)/job.Plo
1107 -rm -f ./$(DEPDIR)/multideletejob.Plo
1108 -rm -f ./$(DEPDIR)/qgpgme_debug.Plo
1109 -rm -f ./$(DEPDIR)/qgpgmeadduseridjob.Plo
1110 -rm -f ./$(DEPDIR)/qgpgmebackend.Plo
1111 -rm -f ./$(DEPDIR)/qgpgmechangeexpiryjob.Plo
1112 -rm -f ./$(DEPDIR)/qgpgmechangeownertrustjob.Plo
1113 -rm -f ./$(DEPDIR)/qgpgmechangepasswdjob.Plo
1114 -rm -f ./$(DEPDIR)/qgpgmedecryptjob.Plo
1115 -rm -f ./$(DEPDIR)/qgpgmedecryptverifyjob.Plo
1116 -rm -f ./$(DEPDIR)/qgpgmedeletejob.Plo
1117 -rm -f ./$(DEPDIR)/qgpgmedownloadjob.Plo
1118 -rm -f ./$(DEPDIR)/qgpgmeencryptjob.Plo
1119 -rm -f ./$(DEPDIR)/qgpgmeexportjob.Plo
1120 -rm -f ./$(DEPDIR)/qgpgmegpgcardjob.Plo
1121 -rm -f ./$(DEPDIR)/qgpgmeimportfromkeyserverjob.Plo
1122 -rm -f ./$(DEPDIR)/qgpgmeimportjob.Plo
1123 -rm -f ./$(DEPDIR)/qgpgmekeyformailboxjob.Plo
1124 -rm -f ./$(DEPDIR)/qgpgmekeygenerationjob.Plo
1125 -rm -f ./$(DEPDIR)/qgpgmekeylistjob.Plo
1126 -rm -f ./$(DEPDIR)/qgpgmelistallkeysjob.Plo
1127 -rm -f ./$(DEPDIR)/qgpgmenewcryptoconfig.Plo
1128 -rm -f ./$(DEPDIR)/qgpgmequickjob.Plo
1129 -rm -f ./$(DEPDIR)/qgpgmerefreshkeysjob.Plo
1130 -rm -f ./$(DEPDIR)/qgpgmesecretkeyexportjob.Plo
1131 -rm -f ./$(DEPDIR)/qgpgmesignencryptjob.Plo
1132 -rm -f ./$(DEPDIR)/qgpgmesignjob.Plo
1133 -rm -f ./$(DEPDIR)/qgpgmesignkeyjob.Plo
1134 -rm -f ./$(DEPDIR)/qgpgmetofupolicyjob.Plo
1135 -rm -f ./$(DEPDIR)/qgpgmeverifydetachedjob.Plo
1136 -rm -f ./$(DEPDIR)/qgpgmeverifyopaquejob.Plo
1137 -rm -f ./$(DEPDIR)/qgpgmewkspublishjob.Plo
1138 -rm -f ./$(DEPDIR)/threadedjobmixin.Plo
1139 -rm -f Makefile
1140 distclean-am: clean-am distclean-compile distclean-generic \
1141 distclean-tags
1142
1143 dvi: dvi-am
1144
1145 dvi-am:
1146
1147 html: html-am
1148
1149 html-am:
1150
1151 info: info-am
1152
1153 info-am:
1154
1155 install-data-am: install-camelcaseincludeHEADERS install-data-local \
1156 install-nodist_qgpgmeincludeHEADERS \
1157 install-qgpgmeincludeHEADERS
1158
1159 install-dvi: install-dvi-am
1160
1161 install-dvi-am:
1162
1163 install-exec-am: install-libLTLIBRARIES
1164
1165 install-html: install-html-am
1166
1167 install-html-am:
1168
1169 install-info: install-info-am
1170
1171 install-info-am:
1172
1173 install-man:
1174
1175 install-pdf: install-pdf-am
1176
1177 install-pdf-am:
1178
1179 install-ps: install-ps-am
1180
1181 install-ps-am:
1182
1183 installcheck-am:
1184
1185 maintainer-clean: maintainer-clean-am
1186 -rm -f ./$(DEPDIR)/changeexpiryjob.Plo
1187 -rm -f ./$(DEPDIR)/cryptoconfig.Plo
1188 -rm -f ./$(DEPDIR)/dataprovider.Plo
1189 -rm -f ./$(DEPDIR)/debug.Plo
1190 -rm -f ./$(DEPDIR)/defaultkeygenerationjob.Plo
1191 -rm -f ./$(DEPDIR)/dn.Plo
1192 -rm -f ./$(DEPDIR)/job.Plo
1193 -rm -f ./$(DEPDIR)/multideletejob.Plo
1194 -rm -f ./$(DEPDIR)/qgpgme_debug.Plo
1195 -rm -f ./$(DEPDIR)/qgpgmeadduseridjob.Plo
1196 -rm -f ./$(DEPDIR)/qgpgmebackend.Plo
1197 -rm -f ./$(DEPDIR)/qgpgmechangeexpiryjob.Plo
1198 -rm -f ./$(DEPDIR)/qgpgmechangeownertrustjob.Plo
1199 -rm -f ./$(DEPDIR)/qgpgmechangepasswdjob.Plo
1200 -rm -f ./$(DEPDIR)/qgpgmedecryptjob.Plo
1201 -rm -f ./$(DEPDIR)/qgpgmedecryptverifyjob.Plo
1202 -rm -f ./$(DEPDIR)/qgpgmedeletejob.Plo
1203 -rm -f ./$(DEPDIR)/qgpgmedownloadjob.Plo
1204 -rm -f ./$(DEPDIR)/qgpgmeencryptjob.Plo
1205 -rm -f ./$(DEPDIR)/qgpgmeexportjob.Plo
1206 -rm -f ./$(DEPDIR)/qgpgmegpgcardjob.Plo
1207 -rm -f ./$(DEPDIR)/qgpgmeimportfromkeyserverjob.Plo
1208 -rm -f ./$(DEPDIR)/qgpgmeimportjob.Plo
1209 -rm -f ./$(DEPDIR)/qgpgmekeyformailboxjob.Plo
1210 -rm -f ./$(DEPDIR)/qgpgmekeygenerationjob.Plo
1211 -rm -f ./$(DEPDIR)/qgpgmekeylistjob.Plo
1212 -rm -f ./$(DEPDIR)/qgpgmelistallkeysjob.Plo
1213 -rm -f ./$(DEPDIR)/qgpgmenewcryptoconfig.Plo
1214 -rm -f ./$(DEPDIR)/qgpgmequickjob.Plo
1215 -rm -f ./$(DEPDIR)/qgpgmerefreshkeysjob.Plo
1216 -rm -f ./$(DEPDIR)/qgpgmesecretkeyexportjob.Plo
1217 -rm -f ./$(DEPDIR)/qgpgmesignencryptjob.Plo
1218 -rm -f ./$(DEPDIR)/qgpgmesignjob.Plo
1219 -rm -f ./$(DEPDIR)/qgpgmesignkeyjob.Plo
1220 -rm -f ./$(DEPDIR)/qgpgmetofupolicyjob.Plo
1221 -rm -f ./$(DEPDIR)/qgpgmeverifydetachedjob.Plo
1222 -rm -f ./$(DEPDIR)/qgpgmeverifyopaquejob.Plo
1223 -rm -f ./$(DEPDIR)/qgpgmewkspublishjob.Plo
1224 -rm -f ./$(DEPDIR)/threadedjobmixin.Plo
1225 -rm -f Makefile
1226 maintainer-clean-am: distclean-am maintainer-clean-generic
1227
1228 mostlyclean: mostlyclean-am
1229
1230 mostlyclean-am: mostlyclean-compile mostlyclean-generic \
1231 mostlyclean-libtool
1232
1233 pdf: pdf-am
1234
1235 pdf-am:
1236
1237 ps: ps-am
1238
1239 ps-am:
1240
1241 uninstall-am: uninstall-camelcaseincludeHEADERS \
1242 uninstall-libLTLIBRARIES uninstall-local \
1243 uninstall-nodist_qgpgmeincludeHEADERS \
1244 uninstall-qgpgmeincludeHEADERS
1245
1246 .MAKE: all check install install-am install-exec install-strip
1247
1248 .PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \
1249 clean-generic clean-libLTLIBRARIES clean-libtool cscopelist-am \
1250 ctags ctags-am distclean distclean-compile distclean-generic \
1251 distclean-libtool distclean-tags distdir dvi dvi-am html \
1252 html-am info info-am install install-am \
1253 install-camelcaseincludeHEADERS install-data install-data-am \
1254 install-data-local install-dvi install-dvi-am install-exec \
1255 install-exec-am install-html install-html-am install-info \
1256 install-info-am install-libLTLIBRARIES install-man \
1257 install-nodist_qgpgmeincludeHEADERS install-pdf install-pdf-am \
1258 install-ps install-ps-am install-qgpgmeincludeHEADERS \
1259 install-strip installcheck installcheck-am installdirs \
1260 maintainer-clean maintainer-clean-generic mostlyclean \
1261 mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
1262 pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am \
1263 uninstall-camelcaseincludeHEADERS uninstall-libLTLIBRARIES \
1264 uninstall-local uninstall-nodist_qgpgmeincludeHEADERS \
1265 uninstall-qgpgmeincludeHEADERS
1266
1267 .PRECIOUS: Makefile
1268
1269
1270 @HAVE_W32_SYSTEM_TRUE@QGpgmeConfig.cmake: QGpgmeConfig-w32.cmake.in
1271 @HAVE_W32_SYSTEM_TRUE@ sed -e 's|[@]resolved_bindir@|$(bindir)|g' < "$<" | \
1272 @HAVE_W32_SYSTEM_TRUE@ sed -e 's|[@]resolved_libdir@|$(libdir)|g' | \
1273 @HAVE_W32_SYSTEM_TRUE@ sed -e 's|[@]resolved_includedir@|$(includedir)|g' > $@
1274 @HAVE_W32_SYSTEM_FALSE@QGpgmeConfig.cmake: QGpgmeConfig.cmake.in
1275 @HAVE_W32_SYSTEM_FALSE@ sed -e 's|[@]resolved_libdir@|$(libdir)|g' < "$<" | \
1276 @HAVE_W32_SYSTEM_FALSE@ sed -e 's|[@]libsuffix@|$(libsuffix)|g' | \
1277 @HAVE_W32_SYSTEM_FALSE@ sed -e 's|[@]resolved_includedir@|$(includedir)|g' > $@
1278
1279 $(camelcase_headers): Makefile.am
1280 echo -n "#include \"qgpgme/" > "$@"
1281 echo -n "$@" | tr '[:upper:]' '[:lower:]' >> "$@"
1282 echo ".h\"" >> "$@"
1283
1284 install-cmake-files: QGpgmeConfig.cmake QGpgmeConfigVersion.cmake
1285 -$(INSTALL) -d $(DESTDIR)$(libdir)/cmake/QGpgme
1286 $(INSTALL) -m 644 QGpgmeConfig.cmake \
1287 $(DESTDIR)$(libdir)/cmake/QGpgme/QGpgmeConfig.cmake
1288 $(INSTALL) -m 644 QGpgmeConfigVersion.cmake \
1289 $(DESTDIR)$(libdir)/cmake/QGpgme/QGpgmeConfigVersion.cmake
1290
1291 uninstall-cmake-files:
1292 -rm $(DESTDIR)$(libdir)/cmake/QGpgme/QGpgmeConfigVersion.cmake
1293 -rm $(DESTDIR)$(libdir)/cmake/QGpgme/QGpgmeConfig.cmake
1294 -rmdir $(DESTDIR)$(libdir)/cmake/QGpgme/
1295
1296 install-data-local: install-cmake-files
1297
1298 uninstall-local: uninstall-cmake-files
1299
1300 .h.moc:
1301 $(MOC) `test -f '$<' || echo '$(srcdir)/'`$< -o $@
1302
1303 # Tell versions [3.59,3.63) of GNU make to not export all variables.
1304 # Otherwise a system limit (for SysV at least) may be exceeded.
1305 .NOEXPORT:
0 #include "qgpgme/multideletejob.h"
0 #include "qgpgme/protocol.h"
0 #include "qgpgme/qgpgmenewcryptoconfig.h"
0 #include "qgpgme/quickjob.h"
0 #include "qgpgme/refreshkeysjob.h"
0 #include "qgpgme/signencryptjob.h"
0 #include "qgpgme/signjob.h"
0 #include "qgpgme/signkeyjob.h"
0 #include "qgpgme/specialjob.h"
0 #include "qgpgme/tofupolicyjob.h"
0 #include "qgpgme/verifydetachedjob.h"
0 #include "qgpgme/verifyopaquejob.h"
0 #include "qgpgme/wkspublishjob.h"
0 /*
1 changeexpiryjob.cpp
2
3 This file is part of qgpgme, the Qt API binding for gpgme
4 Copyright (c) 2021 g10 Code GmbH
5 Software engineering by Ingo Klöcker <dev@ingo-kloecker.de>
6
7 QGpgME is free software; you can redistribute it and/or
8 modify it under the terms of the GNU General Public License as
9 published by the Free Software Foundation; either version 2 of the
10 License, or (at your option) any later version.
11
12 QGpgME is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 General Public License for more details.
16
17 You should have received a copy of the GNU General Public License
18 along with this program; if not, write to the Free Software
19 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20
21 In addition, as a special exception, the copyright holders give
22 permission to link the code of this program with any edition of
23 the Qt library by Trolltech AS, Norway (or with modified versions
24 of Qt that use the same license as Qt), and distribute linked
25 combinations including the two. You must obey the GNU General
26 Public License in all respects for all of the code used other than
27 Qt. If you modify this file, you may extend this exception to
28 your version of the file, but you are not obligated to do so. If
29 you do not wish to do so, delete this exception statement from
30 your version.
31 */
32
33 #ifdef HAVE_CONFIG_H
34 #include "config.h"
35 #endif
36
37 #include "changeexpiryjob.h"
38 #include "job_p.h"
39
40 #include <context.h>
41
42 using namespace GpgME;
43 using namespace QGpgME;
44
45 namespace
46 {
47 struct ChangeExpiryJobPrivate : public JobPrivate
48 {
49 ChangeExpiryJobPrivate()
50 {
51 }
52
53 ~ChangeExpiryJobPrivate() override = default;
54
55 ChangeExpiryJob::Options m_options = ChangeExpiryJob::Default;
56 };
57 }
58
59 void ChangeExpiryJob::setOptions(ChangeExpiryJob::Options options)
60 {
61 auto d = jobPrivate<ChangeExpiryJobPrivate>(this);
62 d->m_options = options;
63 }
64
65 ChangeExpiryJob::Options ChangeExpiryJob::options() const
66 {
67 auto d = jobPrivate<ChangeExpiryJobPrivate>(this);
68 return d->m_options;
69 }
70
71 /* For ABI compat not pure virtual. */
72 Error ChangeExpiryJob::start(const Key &, const QDateTime &, const std::vector<Subkey> &)
73 {
74 return {};
75 }
7070 class QGPGME_EXPORT ChangeExpiryJob : public Job
7171 {
7272 Q_OBJECT
73 public:
74 enum Option {
75 Default = 0x00,
76 UpdatePrimaryKey = 0x01,
77 UpdateAllSubkeys = 0x02,
78 };
79 Q_DECLARE_FLAGS(Options, Option)
80
7381 protected:
7482 explicit ChangeExpiryJob(QObject *parent);
7583 public:
7684 ~ChangeExpiryJob();
85
86 void setOptions(Options options);
87 Options options() const;
7788
7889 /**
7990 Starts the change-expiry operation. \a key is the key to change
96107 void result(const GpgME::Error &result, const QString &auditLogAsHtml = QString(), const GpgME::Error &auditLogError = GpgME::Error());
97108 };
98109
110 Q_DECLARE_OPERATORS_FOR_FLAGS(ChangeExpiryJob::Options)
111
99112 }
100113
101114 #endif // __KLEO_CHANGEEXPIRYJOB_H__
4343 return entry->stringValueList();
4444 }
4545
46 QVariant CryptoConfigEntry::defaultValue() const
47 {
48 const QGpgMENewCryptoConfigEntry *entry = dynamic_cast <const QGpgMENewCryptoConfigEntry*>(this);
49 if (!entry) {
50 return {};
51 }
52 return entry->defaultValue();
53 }
54
4655 QGpgME::CryptoConfigEntry *CryptoConfig::entry(const QString &componentName, const QString &entryName) const
4756 {
4857 const CryptoConfigComponent *comp = component(componentName);
4242 #include <QUrl>
4343
4444 #include <vector>
45
46 class QVariant;
4547
4648 /* Start reading this file from the bottom up :) */
4749
257259 * @return a stringValueList.
258260 */
259261 QStringList stringValueList() const;
262
263 /**
264 * Return the default value as a variant (available for all argtypes).
265 */
266 QVariant defaultValue() const;
260267 };
261268
262269 /**
44 Copyright (c) 2004,2005 Klarälvdalens Datakonsult AB
55 Copyright (c) 2016 by Bundesamt für Sicherheit in der Informationstechnik
66 Software engineering by Intevation GmbH
7 Copyright (c) 2021 g10 Code GmbH
8 Software engineering by Ingo Klöcker <dev@ingo-kloecker.de>
79
810 QGpgME is free software; you can redistribute it and/or
911 modify it under the terms of the GNU General Public License as
3638 #endif
3739
3840 #include "job.h"
41 #include "job_p.h"
3942
4043 #include "keylistjob.h"
4144 #include "listallkeysjob.h"
7174
7275 #include <gpg-error.h>
7376
77 #include <unordered_map>
78
79 namespace
80 {
81 typedef std::unordered_map<const QGpgME::Job*, std::unique_ptr<QGpgME::JobPrivate>> JobPrivateHash;
82 Q_GLOBAL_STATIC(JobPrivateHash, d_func)
83 }
84
85 void QGpgME::setJobPrivate(const Job *job, std::unique_ptr<JobPrivate> d)
86 {
87 auto &ref = d_func()->operator[](job);
88 ref = std::move(d);
89 }
90
91 QGpgME::JobPrivate *QGpgME::getJobPrivate(const Job *job)
92 {
93 return d_func()->operator[](job).get();
94 }
95
7496 QGpgME::Job::Job(QObject *parent)
7597 : QObject(parent)
7698 {
0 /*
1 job_p.h
2
3 This file is part of qgpgme, the Qt API binding for gpgme
4 Copyright (c) 2021 g10 Code GmbH
5 Software engineering by Ingo Klöcker <dev@ingo-kloecker.de>
6
7 QGpgME is free software; you can redistribute it and/or
8 modify it under the terms of the GNU General Public License as
9 published by the Free Software Foundation; either version 2 of the
10 License, or (at your option) any later version.
11
12 QGpgME is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 General Public License for more details.
16
17 You should have received a copy of the GNU General Public License
18 along with this program; if not, write to the Free Software
19 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20
21 In addition, as a special exception, the copyright holders give
22 permission to link the code of this program with any edition of
23 the Qt library by Trolltech AS, Norway (or with modified versions
24 of Qt that use the same license as Qt), and distribute linked
25 combinations including the two. You must obey the GNU General
26 Public License in all respects for all of the code used other than
27 Qt. If you modify this file, you may extend this exception to
28 your version of the file, but you are not obligated to do so. If
29 you do not wish to do so, delete this exception statement from
30 your version.
31 */
32
33 #ifndef __QGPGME_JOB_P_H__
34 #define __QGPGME_JOB_P_H__
35
36 #include "job.h"
37
38 #include <memory>
39
40 namespace QGpgME
41 {
42
43 // Base class for pimpl classes for Job subclasses
44 class JobPrivate
45 {
46 public:
47 virtual ~JobPrivate() {}
48 };
49
50 // Setter and getters for the externally stored pimpl instances of jobs
51 // BCI: Add a real d-pointer to Job
52 void setJobPrivate(const Job *job, std::unique_ptr<JobPrivate> d);
53
54 JobPrivate *getJobPrivate(const Job *job);
55
56 template <typename T>
57 static T *jobPrivate(const Job *job) {
58 auto d = getJobPrivate(job);
59 if (!d) {
60 std::unique_ptr<T> ref{new T};
61 d = ref.get();
62 setJobPrivate(job, std::move(ref));
63 }
64 return dynamic_cast<T *>(d);
65 }
66
67 }
68
69 #endif // __QGPGME_JOB_P_H__
44 Copyright (c) 2008 Klarälvdalens Datakonsult AB
55 Copyright (c) 2016 by Bundesamt für Sicherheit in der Informationstechnik
66 Software engineering by Intevation GmbH
7 Copyright (c) 2021 g10 Code GmbH
8 Software engineering by Ingo Klöcker <dev@ingo-kloecker.de>
79
810 QGpgME is free software; you can redistribute it and/or
911 modify it under the terms of the GNU General Public License as
5456 QGpgMEChangeExpiryJob::~QGpgMEChangeExpiryJob() {}
5557
5658 static QGpgMEChangeExpiryJob::result_type change_expiry(Context *ctx, const Key &key, const QDateTime &expiry,
57 const std::vector<Subkey> &subkeys)
59 const std::vector<Subkey> &subkeys, ChangeExpiryJob::Options options)
5860 {
5961 // convert expiry to "seconds from now"; use 1 second from now if expiry is before the current datetime
6062 const unsigned long expires = expiry.isValid()
6163 ? std::max<qint64>(QDateTime::currentDateTime().secsTo(expiry), 1)
6264 : 0;
6365
64 auto err = ctx->setExpire(key, expires, subkeys);
66 // updating the expiration date of the primary key and the subkeys needs to be done in two steps
67 // because --quick-set-expire does not support updating the expiration date of both at the same time
68
69 if (subkeys.empty() || (options & ChangeExpiryJob::UpdatePrimaryKey)) {
70 // update the expiration date of the primary key
71 auto err = ctx->setExpire(key, expires);
72 if (err) {
73 return std::make_tuple(err, QString(), Error());
74 }
75 }
76
77 GpgME::Error err;
78 if (!subkeys.empty()) {
79 // update the expiration date of the specified subkeys
80 err = ctx->setExpire(key, expires, subkeys);
81 } else if (options & ChangeExpiryJob::UpdateAllSubkeys) {
82 // update the expiration date of all subkeys
83 err = ctx->setExpire(key, expires, {}, Context::SetExpireAllSubkeys);
84 }
6585 return std::make_tuple(err, QString(), Error());
6686 }
6787
7292
7393 Error QGpgMEChangeExpiryJob::start(const Key &key, const QDateTime &expiry, const std::vector<Subkey> &subkeys)
7494 {
75 run(std::bind(&change_expiry, std::placeholders::_1, key, expiry, subkeys));
76 return Error();
77 }
78
79 /* For ABI compat not pure virtual. */
80 Error ChangeExpiryJob::start(const Key &, const QDateTime &, const std::vector<Subkey> &)
81 {
95 run(std::bind(&change_expiry, std::placeholders::_1, key, expiry, subkeys, options()));
8296 return Error();
8397 }
8498
00 /*
1 qgpgmechangeexpiryjob.h
1 qgpgmechangeownertrustjob.h
22
33 This file is part of qgpgme, the Qt API binding for gpgme
44 Copyright (c) 2008 Klarälvdalens Datakonsult AB
4242
4343 #include <QFile>
4444 #include <QDir>
45 #include <QList>
4546
4647 #include "global.h"
4748 #include "error.h"
709710 return m_option.dirty();
710711 }
711712
713 QVariant QGpgMENewCryptoConfigEntry::defaultValue() const
714 {
715 const auto defaultValue = m_option.defaultValue();
716 if (defaultValue.isNull() || defaultValue.numElements() == 0) {
717 return {};
718 }
719 if (defaultValue.numElements() == 1) {
720 switch (m_option.alternateType()) {
721 case NoType:
722 return QVariant{defaultValue.boolValue()};
723 case StringType:
724 return QVariant{QString::fromUtf8(defaultValue.stringValue())};
725 case IntegerType:
726 return QVariant{defaultValue.intValue()};
727 case UnsignedIntegerType:
728 return QVariant{defaultValue.uintValue()};
729 default:
730 // alternateType should always be one of the above four types
731 qCWarning(QGPGME_LOG) << __func__ << ": unsupported alternateType" << m_option.alternateType();
732 }
733 } else {
734 QList<QVariant> list;
735 switch (m_option.alternateType()) {
736 case StringType: {
737 const auto values = defaultValue.stringValues();
738 std::transform(std::begin(values), std::end(values), std::back_inserter(list),
739 [] (const char *value) { return QVariant{QString::fromUtf8(value)}; });
740 break;
741 }
742 case IntegerType: {
743 const auto values = defaultValue.intValues();
744 std::transform(std::begin(values), std::end(values), std::back_inserter(list),
745 [] (int value) { return QVariant{value}; });
746 break;
747 }
748 case UnsignedIntegerType: {
749 const auto values = defaultValue.uintValues();
750 std::transform(std::begin(values), std::end(values), std::back_inserter(list),
751 [] (unsigned int value) { return QVariant{value}; });
752 break;
753 }
754 default:
755 // alternateType should always be one of the above four types
756 qCWarning(QGPGME_LOG) << __func__ << ": unsupported alternateType" << m_option.alternateType() << "for list";
757 }
758 return QVariant{list};
759 }
760
761 return {};
762 }
763
712764 #if 0
713765 QString QGpgMENewCryptoConfigEntry::toString(bool escape) const
714766 {
9494 bool isDirty() const Q_DECL_OVERRIDE;
9595
9696 QStringList stringValueList() const;
97 QVariant defaultValue() const;
9798
9899 #if 0
99100 void setDirty(bool b);
116116 *
117117 * Not pure virtual for ABI compatibility.
118118 **/
119 virtual void setDupeOk(bool) {};
119 virtual void setDupeOk(bool) {}
120120
121121 /**
122122 * Add a remark to the signature. This uses rem@gnupg.org as a notation.
123123 *
124124 * Not pure virtual for ABI compatibility.
125125 **/
126 virtual void setRemark(const QString &) {};
126 virtual void setRemark(const QString &) {}
127127
128128 /**
129129 * If set, then the created signature will be a trust signature. By default,
142142 *
143143 * Not pure virtual for ABI compatibility.
144144 **/
145 virtual void setTrustSignature(GpgME::TrustSignatureTrust trust, unsigned short depth, const QString &scope) { Q_UNUSED(trust); Q_UNUSED(depth); Q_UNUSED(scope); };
145 virtual void setTrustSignature(GpgME::TrustSignatureTrust trust, unsigned short depth, const QString &scope) { Q_UNUSED(trust); Q_UNUSED(depth); Q_UNUSED(scope); }
146146
147147 /**
148148 * Sets the expiration date of the key signature to @a expiration. By default,
5252 using namespace QGpgME;
5353 using namespace GpgME;
5454
55 #ifdef Q_OS_WIN
56 #include <windows.h>
57
58 static QString fromEncoding (unsigned int src_encoding, const char *data)
59 {
60 int n = MultiByteToWideChar(src_encoding, 0, data, -1, NULL, 0);
61 if (n < 0) {
62 return QString();
63 }
64
65 wchar_t *result = (wchar_t *) malloc ((n+1) * sizeof *result);
66
67 n = MultiByteToWideChar(src_encoding, 0, data, -1, result, n);
68 if (n < 0) {
69 free(result);
70 return QString();
71 }
72 const auto ret = QString::fromWCharArray(result, n);
73 free(result);
74 return ret;
75 }
76 #endif
77
7855 static QString stringFromGpgOutput(const QByteArray &ba)
7956 {
8057 #ifdef Q_OS_WIN
81 /* Qt on Windows uses GetACP while GnuPG prefers
82 * GetConsoleOutputCP.
83 *
84 * As we are not a console application GetConsoleOutputCP
85 * usually returns 0.
86 * From experience the closest thing that let's us guess
87 * what GetConsoleOutputCP returns for a console application
88 * it appears to be the OEMCP.
89 */
90 unsigned int cpno = GetConsoleOutputCP ();
91 if (!cpno) {
92 cpno = GetOEMCP();
93 }
94 if (!cpno) {
95 cpno = GetACP();
96 }
97 if (!cpno) {
98 return QString();
99 }
100
101 return fromEncoding(cpno, ba.constData());
58 return QString::fromUtf8(ba);
10259 #else
10360 return QString::fromLocal8Bit(ba);
10461 #endif
2626 EXTRA_DIST = initial.test
2727
2828 TESTS = initial.test t-keylist t-keylocate t-ownertrust t-tofuinfo \
29 t-encrypt t-verify t-various t-config t-remarks t-trustsignatures
29 t-encrypt t-verify t-various t-config t-remarks t-trustsignatures \
30 t-changeexpiryjob
3031
3132 moc_files = t-keylist.moc t-keylocate.moc t-ownertrust.moc t-tofuinfo.moc \
3233 t-encrypt.moc t-support.hmoc t-wkspublish.moc t-verify.moc \
33 t-various.moc t-config.moc t-remarks.moc t-trustsignatures.moc
34 t-various.moc t-config.moc t-remarks.moc t-trustsignatures.moc \
35 t-changeexpiryjob.moc
3436
3537 AM_LDFLAGS = -no-install
3638
5759 t_config_SOURCES = t-config.cpp $(support_src)
5860 t_remarks_SOURCES = t-remarks.cpp $(support_src)
5961 t_trustsignatures_SOURCES = t-trustsignatures.cpp $(support_src)
62 t_changeexpiryjob_SOURCES = t-changeexpiryjob.cpp $(support_src)
6063 run_keyformailboxjob_SOURCES = run-keyformailboxjob.cpp
6164
6265 nodist_t_keylist_SOURCES = $(moc_files)
6568
6669 noinst_PROGRAMS = t-keylist t-keylocate t-ownertrust t-tofuinfo t-encrypt \
6770 run-keyformailboxjob t-wkspublish t-verify t-various t-config t-remarks \
68 t-trustsignatures
71 t-trustsignatures t-changeexpiryjob
6972
7073 CLEANFILES = secring.gpg pubring.gpg pubring.kbx trustdb.gpg dirmngr.conf \
7174 gpg-agent.conf pubring.kbx~ S.gpg-agent gpg.conf pubring.gpg~ \
0 # Makefile.in generated by automake 1.16.4 from Makefile.am.
1 # @configure_input@
2
3 # Copyright (C) 1994-2021 Free Software Foundation, Inc.
4
5 # This Makefile.in is free software; the Free Software Foundation
6 # gives unlimited permission to copy and/or distribute it,
7 # with or without modifications, as long as this notice is preserved.
8
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
11 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
12 # PARTICULAR PURPOSE.
13
14 @SET_MAKE@
15
16 # Makefile.am - Makefile for GPGME Qt tests.
17 # Copyright (C) 2016 Bundesamt für Sicherheit in der Informationstechnik
18 # Software engineering by Intevation GmbH
19 #
20 # This file is part of GPGME.
21 #
22 # GPGME is free software; you can redistribute it and/or modify it
23 # under the terms of the GNU Lesser General Public License as
24 # published by the Free Software Foundation; either version 2.1 of the
25 # License, or (at your option) any later version.
26 #
27 # GPGME is distributed in the hope that it will be useful, but WITHOUT
28 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
29 # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General
30 # Public License for more details.
31 #
32 # You should have received a copy of the GNU Lesser General Public
33 # License along with this program; if not, see <https://www.gnu.org/licenses/>.
34
35 VPATH = @srcdir@
36 am__is_gnu_make = { \
37 if test -z '$(MAKELEVEL)'; then \
38 false; \
39 elif test -n '$(MAKE_HOST)'; then \
40 true; \
41 elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
42 true; \
43 else \
44 false; \
45 fi; \
46 }
47 am__make_running_with_option = \
48 case $${target_option-} in \
49 ?) ;; \
50 *) echo "am__make_running_with_option: internal error: invalid" \
51 "target option '$${target_option-}' specified" >&2; \
52 exit 1;; \
53 esac; \
54 has_opt=no; \
55 sane_makeflags=$$MAKEFLAGS; \
56 if $(am__is_gnu_make); then \
57 sane_makeflags=$$MFLAGS; \
58 else \
59 case $$MAKEFLAGS in \
60 *\\[\ \ ]*) \
61 bs=\\; \
62 sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
63 | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
64 esac; \
65 fi; \
66 skip_next=no; \
67 strip_trailopt () \
68 { \
69 flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
70 }; \
71 for flg in $$sane_makeflags; do \
72 test $$skip_next = yes && { skip_next=no; continue; }; \
73 case $$flg in \
74 *=*|--*) continue;; \
75 -*I) strip_trailopt 'I'; skip_next=yes;; \
76 -*I?*) strip_trailopt 'I';; \
77 -*O) strip_trailopt 'O'; skip_next=yes;; \
78 -*O?*) strip_trailopt 'O';; \
79 -*l) strip_trailopt 'l'; skip_next=yes;; \
80 -*l?*) strip_trailopt 'l';; \
81 -[dEDm]) skip_next=yes;; \
82 -[JT]) skip_next=yes;; \
83 esac; \
84 case $$flg in \
85 *$$target_option*) has_opt=yes; break;; \
86 esac; \
87 done; \
88 test $$has_opt = yes
89 am__make_dryrun = (target_option=n; $(am__make_running_with_option))
90 am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
91 pkgdatadir = $(datadir)/@PACKAGE@
92 pkgincludedir = $(includedir)/@PACKAGE@
93 pkglibdir = $(libdir)/@PACKAGE@
94 pkglibexecdir = $(libexecdir)/@PACKAGE@
95 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
96 install_sh_DATA = $(install_sh) -c -m 644
97 install_sh_PROGRAM = $(install_sh) -c
98 install_sh_SCRIPT = $(install_sh) -c
99 INSTALL_HEADER = $(INSTALL_DATA)
100 transform = $(program_transform_name)
101 NORMAL_INSTALL = :
102 PRE_INSTALL = :
103 POST_INSTALL = :
104 NORMAL_UNINSTALL = :
105 PRE_UNINSTALL = :
106 POST_UNINSTALL = :
107 build_triplet = @build@
108 host_triplet = @host@
109 TESTS = initial.test t-keylist$(EXEEXT) t-keylocate$(EXEEXT) \
110 t-ownertrust$(EXEEXT) t-tofuinfo$(EXEEXT) t-encrypt$(EXEEXT) \
111 t-verify$(EXEEXT) t-various$(EXEEXT) t-config$(EXEEXT) \
112 t-remarks$(EXEEXT) t-trustsignatures$(EXEEXT) \
113 t-changeexpiryjob$(EXEEXT)
114 noinst_PROGRAMS = t-keylist$(EXEEXT) t-keylocate$(EXEEXT) \
115 t-ownertrust$(EXEEXT) t-tofuinfo$(EXEEXT) t-encrypt$(EXEEXT) \
116 run-keyformailboxjob$(EXEEXT) t-wkspublish$(EXEEXT) \
117 t-verify$(EXEEXT) t-various$(EXEEXT) t-config$(EXEEXT) \
118 t-remarks$(EXEEXT) t-trustsignatures$(EXEEXT) \
119 t-changeexpiryjob$(EXEEXT)
120 subdir = lang/qt/tests
121 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
122 am__aclocal_m4_deps = $(top_srcdir)/m4/ax_cxx_compile_stdcxx.m4 \
123 $(top_srcdir)/m4/ax_pkg_swig.m4 \
124 $(top_srcdir)/m4/ax_python_devel.m4 \
125 $(top_srcdir)/m4/glib-2.0.m4 $(top_srcdir)/m4/glibc21.m4 \
126 $(top_srcdir)/m4/gnupg-ttyname.m4 \
127 $(top_srcdir)/m4/gpg-error.m4 $(top_srcdir)/m4/libassuan.m4 \
128 $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
129 $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
130 $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/pkg.m4 \
131 $(top_srcdir)/m4/python.m4 $(top_srcdir)/m4/qt.m4 \
132 $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
133 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
134 $(ACLOCAL_M4)
135 DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
136 mkinstalldirs = $(SHELL) $(top_srcdir)/build-aux/mkinstalldirs
137 CONFIG_HEADER = $(top_builddir)/conf/config.h
138 CONFIG_CLEAN_FILES =
139 CONFIG_CLEAN_VPATH_FILES =
140 PROGRAMS = $(noinst_PROGRAMS)
141 am_run_keyformailboxjob_OBJECTS = run-keyformailboxjob.$(OBJEXT)
142 run_keyformailboxjob_OBJECTS = $(am_run_keyformailboxjob_OBJECTS)
143 run_keyformailboxjob_LDADD = $(LDADD)
144 run_keyformailboxjob_DEPENDENCIES = ../../cpp/src/libgpgmepp.la \
145 ../src/libqgpgme.la ../../../src/libgpgme.la
146 AM_V_lt = $(am__v_lt_@AM_V@)
147 am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
148 am__v_lt_0 = --silent
149 am__v_lt_1 =
150 am__objects_1 = t-support.$(OBJEXT)
151 am_t_changeexpiryjob_OBJECTS = t-changeexpiryjob.$(OBJEXT) \
152 $(am__objects_1)
153 t_changeexpiryjob_OBJECTS = $(am_t_changeexpiryjob_OBJECTS)
154 t_changeexpiryjob_LDADD = $(LDADD)
155 t_changeexpiryjob_DEPENDENCIES = ../../cpp/src/libgpgmepp.la \
156 ../src/libqgpgme.la ../../../src/libgpgme.la
157 am_t_config_OBJECTS = t-config.$(OBJEXT) $(am__objects_1)
158 t_config_OBJECTS = $(am_t_config_OBJECTS)
159 t_config_LDADD = $(LDADD)
160 t_config_DEPENDENCIES = ../../cpp/src/libgpgmepp.la \
161 ../src/libqgpgme.la ../../../src/libgpgme.la
162 am_t_encrypt_OBJECTS = t-encrypt.$(OBJEXT) $(am__objects_1)
163 t_encrypt_OBJECTS = $(am_t_encrypt_OBJECTS)
164 t_encrypt_LDADD = $(LDADD)
165 t_encrypt_DEPENDENCIES = ../../cpp/src/libgpgmepp.la \
166 ../src/libqgpgme.la ../../../src/libgpgme.la
167 am_t_keylist_OBJECTS = t-keylist.$(OBJEXT) $(am__objects_1)
168 am__objects_2 =
169 nodist_t_keylist_OBJECTS = $(am__objects_2)
170 t_keylist_OBJECTS = $(am_t_keylist_OBJECTS) \
171 $(nodist_t_keylist_OBJECTS)
172 t_keylist_LDADD = $(LDADD)
173 t_keylist_DEPENDENCIES = ../../cpp/src/libgpgmepp.la \
174 ../src/libqgpgme.la ../../../src/libgpgme.la
175 am_t_keylocate_OBJECTS = t-keylocate.$(OBJEXT) $(am__objects_1)
176 t_keylocate_OBJECTS = $(am_t_keylocate_OBJECTS)
177 t_keylocate_LDADD = $(LDADD)
178 t_keylocate_DEPENDENCIES = ../../cpp/src/libgpgmepp.la \
179 ../src/libqgpgme.la ../../../src/libgpgme.la
180 am_t_ownertrust_OBJECTS = t-ownertrust.$(OBJEXT) $(am__objects_1)
181 t_ownertrust_OBJECTS = $(am_t_ownertrust_OBJECTS)
182 t_ownertrust_LDADD = $(LDADD)
183 t_ownertrust_DEPENDENCIES = ../../cpp/src/libgpgmepp.la \
184 ../src/libqgpgme.la ../../../src/libgpgme.la
185 am_t_remarks_OBJECTS = t-remarks.$(OBJEXT) $(am__objects_1)
186 t_remarks_OBJECTS = $(am_t_remarks_OBJECTS)
187 t_remarks_LDADD = $(LDADD)
188 t_remarks_DEPENDENCIES = ../../cpp/src/libgpgmepp.la \
189 ../src/libqgpgme.la ../../../src/libgpgme.la
190 am_t_tofuinfo_OBJECTS = t-tofuinfo.$(OBJEXT) $(am__objects_1)
191 t_tofuinfo_OBJECTS = $(am_t_tofuinfo_OBJECTS)
192 t_tofuinfo_LDADD = $(LDADD)
193 t_tofuinfo_DEPENDENCIES = ../../cpp/src/libgpgmepp.la \
194 ../src/libqgpgme.la ../../../src/libgpgme.la
195 am_t_trustsignatures_OBJECTS = t-trustsignatures.$(OBJEXT) \
196 $(am__objects_1)
197 t_trustsignatures_OBJECTS = $(am_t_trustsignatures_OBJECTS)
198 t_trustsignatures_LDADD = $(LDADD)
199 t_trustsignatures_DEPENDENCIES = ../../cpp/src/libgpgmepp.la \
200 ../src/libqgpgme.la ../../../src/libgpgme.la
201 am_t_various_OBJECTS = t-various.$(OBJEXT) $(am__objects_1)
202 t_various_OBJECTS = $(am_t_various_OBJECTS)
203 t_various_LDADD = $(LDADD)
204 t_various_DEPENDENCIES = ../../cpp/src/libgpgmepp.la \
205 ../src/libqgpgme.la ../../../src/libgpgme.la
206 am_t_verify_OBJECTS = t-verify.$(OBJEXT) $(am__objects_1)
207 t_verify_OBJECTS = $(am_t_verify_OBJECTS)
208 t_verify_LDADD = $(LDADD)
209 t_verify_DEPENDENCIES = ../../cpp/src/libgpgmepp.la \
210 ../src/libqgpgme.la ../../../src/libgpgme.la
211 am_t_wkspublish_OBJECTS = t-wkspublish.$(OBJEXT) $(am__objects_1)
212 t_wkspublish_OBJECTS = $(am_t_wkspublish_OBJECTS)
213 t_wkspublish_LDADD = $(LDADD)
214 t_wkspublish_DEPENDENCIES = ../../cpp/src/libgpgmepp.la \
215 ../src/libqgpgme.la ../../../src/libgpgme.la
216 AM_V_P = $(am__v_P_@AM_V@)
217 am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
218 am__v_P_0 = false
219 am__v_P_1 = :
220 AM_V_GEN = $(am__v_GEN_@AM_V@)
221 am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
222 am__v_GEN_0 = @echo " GEN " $@;
223 am__v_GEN_1 =
224 AM_V_at = $(am__v_at_@AM_V@)
225 am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
226 am__v_at_0 = @
227 am__v_at_1 =
228 DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/conf
229 depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp
230 am__maybe_remake_depfiles = depfiles
231 am__depfiles_remade = ./$(DEPDIR)/run-keyformailboxjob.Po \
232 ./$(DEPDIR)/t-changeexpiryjob.Po ./$(DEPDIR)/t-config.Po \
233 ./$(DEPDIR)/t-encrypt.Po ./$(DEPDIR)/t-keylist.Po \
234 ./$(DEPDIR)/t-keylocate.Po ./$(DEPDIR)/t-ownertrust.Po \
235 ./$(DEPDIR)/t-remarks.Po ./$(DEPDIR)/t-support.Po \
236 ./$(DEPDIR)/t-tofuinfo.Po ./$(DEPDIR)/t-trustsignatures.Po \
237 ./$(DEPDIR)/t-various.Po ./$(DEPDIR)/t-verify.Po \
238 ./$(DEPDIR)/t-wkspublish.Po
239 am__mv = mv -f
240 CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
241 $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
242 LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
243 $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
244 $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
245 $(AM_CXXFLAGS) $(CXXFLAGS)
246 AM_V_CXX = $(am__v_CXX_@AM_V@)
247 am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@)
248 am__v_CXX_0 = @echo " CXX " $@;
249 am__v_CXX_1 =
250 CXXLD = $(CXX)
251 CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
252 $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
253 $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
254 AM_V_CXXLD = $(am__v_CXXLD_@AM_V@)
255 am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@)
256 am__v_CXXLD_0 = @echo " CXXLD " $@;
257 am__v_CXXLD_1 =
258 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
259 $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
260 LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
261 $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
262 $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
263 $(AM_CFLAGS) $(CFLAGS)
264 AM_V_CC = $(am__v_CC_@AM_V@)
265 am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
266 am__v_CC_0 = @echo " CC " $@;
267 am__v_CC_1 =
268 CCLD = $(CC)
269 LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
270 $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
271 $(AM_LDFLAGS) $(LDFLAGS) -o $@
272 AM_V_CCLD = $(am__v_CCLD_@AM_V@)
273 am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
274 am__v_CCLD_0 = @echo " CCLD " $@;
275 am__v_CCLD_1 =
276 SOURCES = $(run_keyformailboxjob_SOURCES) $(t_changeexpiryjob_SOURCES) \
277 $(t_config_SOURCES) $(t_encrypt_SOURCES) $(t_keylist_SOURCES) \
278 $(nodist_t_keylist_SOURCES) $(t_keylocate_SOURCES) \
279 $(t_ownertrust_SOURCES) $(t_remarks_SOURCES) \
280 $(t_tofuinfo_SOURCES) $(t_trustsignatures_SOURCES) \
281 $(t_various_SOURCES) $(t_verify_SOURCES) \
282 $(t_wkspublish_SOURCES)
283 DIST_SOURCES = $(run_keyformailboxjob_SOURCES) \
284 $(t_changeexpiryjob_SOURCES) $(t_config_SOURCES) \
285 $(t_encrypt_SOURCES) $(t_keylist_SOURCES) \
286 $(t_keylocate_SOURCES) $(t_ownertrust_SOURCES) \
287 $(t_remarks_SOURCES) $(t_tofuinfo_SOURCES) \
288 $(t_trustsignatures_SOURCES) $(t_various_SOURCES) \
289 $(t_verify_SOURCES) $(t_wkspublish_SOURCES)
290 am__can_run_installinfo = \
291 case $$AM_UPDATE_INFO_DIR in \
292 n|no|NO) false;; \
293 *) (install-info --version) >/dev/null 2>&1;; \
294 esac
295 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
296 # Read a list of newline-separated strings from the standard input,
297 # and print each of them once, without duplicates. Input order is
298 # *not* preserved.
299 am__uniquify_input = $(AWK) '\
300 BEGIN { nonempty = 0; } \
301 { items[$$0] = 1; nonempty = 1; } \
302 END { if (nonempty) { for (i in items) print i; }; } \
303 '
304 # Make sure the list of sources is unique. This is necessary because,
305 # e.g., the same source file might be shared among _SOURCES variables
306 # for different programs/libraries.
307 am__define_uniq_tagged_files = \
308 list='$(am__tagged_files)'; \
309 unique=`for i in $$list; do \
310 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
311 done | $(am__uniquify_input)`
312 am__tty_colors_dummy = \
313 mgn= red= grn= lgn= blu= brg= std=; \
314 am__color_tests=no
315 am__tty_colors = { \
316 $(am__tty_colors_dummy); \
317 if test "X$(AM_COLOR_TESTS)" = Xno; then \
318 am__color_tests=no; \
319 elif test "X$(AM_COLOR_TESTS)" = Xalways; then \
320 am__color_tests=yes; \
321 elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \
322 am__color_tests=yes; \
323 fi; \
324 if test $$am__color_tests = yes; then \
325 red=''; \
326 grn=''; \
327 lgn=''; \
328 blu=''; \
329 mgn=''; \
330 brg=''; \
331 std=''; \
332 fi; \
333 }
334 am__DIST_COMMON = $(srcdir)/Makefile.in \
335 $(top_srcdir)/build-aux/depcomp \
336 $(top_srcdir)/build-aux/mkinstalldirs
337 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
338 ACLOCAL = @ACLOCAL@
339 AMTAR = @AMTAR@
340 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
341 AR = @AR@
342 AS = @AS@
343 AUTOCONF = @AUTOCONF@
344 AUTOHEADER = @AUTOHEADER@
345 AUTOMAKE = @AUTOMAKE@
346 AWK = @AWK@
347 BUILD_FILEVERSION = @BUILD_FILEVERSION@
348 BUILD_REVISION = @BUILD_REVISION@
349 BUILD_TIMESTAMP = @BUILD_TIMESTAMP@
350 BUILD_VERSION = @BUILD_VERSION@
351 CC = @CC@
352 CCDEPMODE = @CCDEPMODE@
353 CC_FOR_BUILD = @CC_FOR_BUILD@
354 CFLAGS = @CFLAGS@
355 CPP = @CPP@
356 CPPFLAGS = @CPPFLAGS@
357 CSCOPE = @CSCOPE@
358 CTAGS = @CTAGS@
359 CXX = @CXX@
360 CXXCPP = @CXXCPP@
361 CXXDEPMODE = @CXXDEPMODE@
362 CXXFLAGS = @CXXFLAGS@
363 CYGPATH_W = @CYGPATH_W@
364 DEFS = @DEFS@
365 DEPDIR = @DEPDIR@
366 DLLTOOL = @DLLTOOL@
367 DOXYGEN = @DOXYGEN@
368 DSYMUTIL = @DSYMUTIL@
369 DUMPBIN = @DUMPBIN@
370 ECHO_C = @ECHO_C@
371 ECHO_N = @ECHO_N@
372 ECHO_T = @ECHO_T@
373 EGREP = @EGREP@
374 ENABLED_LANGUAGES = @ENABLED_LANGUAGES@
375 ETAGS = @ETAGS@
376 EXEEXT = @EXEEXT@
377 FGREP = @FGREP@
378 GITLOG_TO_CHANGELOG = @GITLOG_TO_CHANGELOG@
379 GLIBC21 = @GLIBC21@
380 GLIB_CFLAGS = @GLIB_CFLAGS@
381 GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
382 GLIB_LIBS = @GLIB_LIBS@
383 GLIB_MKENUMS = @GLIB_MKENUMS@
384 GOBJECT_QUERY = @GOBJECT_QUERY@
385 GPGME_CONFIG_API_VERSION = @GPGME_CONFIG_API_VERSION@
386 GPGME_CONFIG_AVAIL_LANG = @GPGME_CONFIG_AVAIL_LANG@
387 GPGME_CONFIG_CFLAGS = @GPGME_CONFIG_CFLAGS@
388 GPGME_CONFIG_HOST = @GPGME_CONFIG_HOST@
389 GPGME_CONFIG_LIBS = @GPGME_CONFIG_LIBS@
390 GPGME_QTTEST_CFLAGS = @GPGME_QTTEST_CFLAGS@
391 GPGME_QTTEST_LIBS = @GPGME_QTTEST_LIBS@
392 GPGME_QT_CFLAGS = @GPGME_QT_CFLAGS@
393 GPGME_QT_LIBS = @GPGME_QT_LIBS@
394 GPGRT_CONFIG = @GPGRT_CONFIG@
395 GPG_ERROR_CFLAGS = @GPG_ERROR_CFLAGS@
396 GPG_ERROR_CONFIG = @GPG_ERROR_CONFIG@
397 GPG_ERROR_LIBS = @GPG_ERROR_LIBS@
398 GPG_ERROR_MT_CFLAGS = @GPG_ERROR_MT_CFLAGS@
399 GPG_ERROR_MT_LIBS = @GPG_ERROR_MT_LIBS@
400 GRAPHVIZ = @GRAPHVIZ@
401 GREP = @GREP@
402 HAVE_CXX11 = @HAVE_CXX11@
403 HAVE_DOT = @HAVE_DOT@
404 INSTALL = @INSTALL@
405 INSTALL_DATA = @INSTALL_DATA@
406 INSTALL_PROGRAM = @INSTALL_PROGRAM@
407 INSTALL_SCRIPT = @INSTALL_SCRIPT@
408 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
409 LD = @LD@
410 LDADD_FOR_TESTS_KLUDGE = @LDADD_FOR_TESTS_KLUDGE@
411 LDFLAGS = @LDFLAGS@
412 LIBASSUAN_CFLAGS = @LIBASSUAN_CFLAGS@
413 LIBASSUAN_CONFIG = @LIBASSUAN_CONFIG@
414 LIBASSUAN_LIBS = @LIBASSUAN_LIBS@
415 LIBGPGMEPP_LT_AGE = @LIBGPGMEPP_LT_AGE@
416 LIBGPGMEPP_LT_CURRENT = @LIBGPGMEPP_LT_CURRENT@
417 LIBGPGMEPP_LT_REVISION = @LIBGPGMEPP_LT_REVISION@
418 LIBGPGME_LT_AGE = @LIBGPGME_LT_AGE@
419 LIBGPGME_LT_CURRENT = @LIBGPGME_LT_CURRENT@
420 LIBGPGME_LT_REVISION = @LIBGPGME_LT_REVISION@
421 LIBOBJS = @LIBOBJS@
422 LIBQGPGME_LT_AGE = @LIBQGPGME_LT_AGE@
423 LIBQGPGME_LT_CURRENT = @LIBQGPGME_LT_CURRENT@
424 LIBQGPGME_LT_REVISION = @LIBQGPGME_LT_REVISION@
425 LIBS = @LIBS@
426 LIBTOOL = @LIBTOOL@
427 LIPO = @LIPO@
428 LN_S = @LN_S@
429 LTLIBOBJS = @LTLIBOBJS@
430 MAINT = @MAINT@
431 MAKEINFO = @MAKEINFO@
432 MANIFEST_TOOL = @MANIFEST_TOOL@
433 MKDIR_P = @MKDIR_P@
434 MOC = @MOC@
435 MOC2 = @MOC2@
436 NEED__FILE_OFFSET_BITS = @NEED__FILE_OFFSET_BITS@
437 NM = @NM@
438 NMEDIT = @NMEDIT@
439 OBJDUMP = @OBJDUMP@
440 OBJEXT = @OBJEXT@
441 OTOOL = @OTOOL@
442 OTOOL64 = @OTOOL64@
443 PACKAGE = @PACKAGE@
444 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
445 PACKAGE_NAME = @PACKAGE_NAME@
446 PACKAGE_STRING = @PACKAGE_STRING@
447 PACKAGE_TARNAME = @PACKAGE_TARNAME@
448 PACKAGE_URL = @PACKAGE_URL@
449 PACKAGE_VERSION = @PACKAGE_VERSION@
450 PATH_SEPARATOR = @PATH_SEPARATOR@
451 PKG_CONFIG = @PKG_CONFIG@
452 PYTHON = @PYTHON@
453 PYTHONS = @PYTHONS@
454 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
455 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
456 PYTHON_EXTRA_LDFLAGS = @PYTHON_EXTRA_LDFLAGS@
457 PYTHON_EXTRA_LIBS = @PYTHON_EXTRA_LIBS@
458 PYTHON_LDFLAGS = @PYTHON_LDFLAGS@
459 PYTHON_PLATFORM = @PYTHON_PLATFORM@
460 PYTHON_PREFIX = @PYTHON_PREFIX@
461 PYTHON_SITE_PKG = @PYTHON_SITE_PKG@
462 PYTHON_VERSION = @PYTHON_VERSION@
463 QTCHOOSER = @QTCHOOSER@
464 RANLIB = @RANLIB@
465 RC = @RC@
466 SED = @SED@
467 SET_MAKE = @SET_MAKE@
468 SHELL = @SHELL@
469 STRIP = @STRIP@
470 SWIG = @SWIG@
471 SWIG_LIB = @SWIG_LIB@
472 SYSROOT = @SYSROOT@
473 VERSION = @VERSION@
474 VERSION_MAJOR = @VERSION_MAJOR@
475 VERSION_MICRO = @VERSION_MICRO@
476 VERSION_MINOR = @VERSION_MINOR@
477 VERSION_NUMBER = @VERSION_NUMBER@
478 abs_builddir = @abs_builddir@
479 abs_srcdir = @abs_srcdir@
480 abs_top_builddir = @abs_top_builddir@
481 abs_top_srcdir = @abs_top_srcdir@
482 ac_ct_AR = @ac_ct_AR@
483 ac_ct_CC = @ac_ct_CC@
484 ac_ct_CXX = @ac_ct_CXX@
485 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
486 am__include = @am__include@
487 am__leading_dot = @am__leading_dot@
488 am__quote = @am__quote@
489 am__tar = @am__tar@
490 am__untar = @am__untar@
491 bindir = @bindir@
492 build = @build@
493 build_alias = @build_alias@
494 build_cpu = @build_cpu@
495 build_os = @build_os@
496 build_vendor = @build_vendor@
497 builddir = @builddir@
498 datadir = @datadir@
499 datarootdir = @datarootdir@
500 docdir = @docdir@
501 dvidir = @dvidir@
502 emacs_local_vars_begin = @emacs_local_vars_begin@
503 emacs_local_vars_end = @emacs_local_vars_end@
504 emacs_local_vars_read_only = @emacs_local_vars_read_only@
505 exec_prefix = @exec_prefix@
506 host = @host@
507 host_alias = @host_alias@
508 host_cpu = @host_cpu@
509 host_os = @host_os@
510 host_vendor = @host_vendor@
511 htmldir = @htmldir@
512 includedir = @includedir@
513 infodir = @infodir@
514 install_sh = @install_sh@
515 libdir = @libdir@
516 libexecdir = @libexecdir@
517 localedir = @localedir@
518 localstatedir = @localstatedir@
519 mandir = @mandir@
520 mkdir_p = @mkdir_p@
521 oldincludedir = @oldincludedir@
522 pdfdir = @pdfdir@
523 pkgpyexecdir = @pkgpyexecdir@
524 pkgpythondir = @pkgpythondir@
525 prefix = @prefix@
526 program_transform_name = @program_transform_name@
527 psdir = @psdir@
528 pyexecdir = @pyexecdir@
529 pythondir = @pythondir@
530 runstatedir = @runstatedir@
531 sbindir = @sbindir@
532 sharedstatedir = @sharedstatedir@
533 srcdir = @srcdir@
534 sysconfdir = @sysconfdir@
535 target_alias = @target_alias@
536 top_build_prefix = @top_build_prefix@
537 top_builddir = @top_builddir@
538 top_srcdir = @top_srcdir@
539 GPG = gpg
540 GNUPGHOME = $(abs_builddir)
541 TESTS_ENVIRONMENT = GNUPGHOME=$(GNUPGHOME)
542 EXTRA_DIST = initial.test
543 moc_files = t-keylist.moc t-keylocate.moc t-ownertrust.moc t-tofuinfo.moc \
544 t-encrypt.moc t-support.hmoc t-wkspublish.moc t-verify.moc \
545 t-various.moc t-config.moc t-remarks.moc t-trustsignatures.moc \
546 t-changeexpiryjob.moc
547
548 AM_LDFLAGS = -no-install
549 LDADD = ../../cpp/src/libgpgmepp.la ../src/libqgpgme.la \
550 ../../../src/libgpgme.la @GPGME_QT_LIBS@ @GPG_ERROR_LIBS@ \
551 @GPGME_QTTEST_LIBS@ @LDADD_FOR_TESTS_KLUDGE@ -lstdc++
552
553 AM_CPPFLAGS = -I$(top_srcdir)/lang/cpp/src -I$(top_builddir)/src \
554 @GPG_ERROR_CFLAGS@ @GPGME_QT_CFLAGS@ @GPG_ERROR_CFLAGS@ \
555 @LIBASSUAN_CFLAGS@ @GPGME_QTTEST_CFLAGS@ -DBUILDING_QGPGME \
556 -I$(top_srcdir)/lang/qt/src \
557 -DTOP_SRCDIR="$(top_srcdir)"
558
559 support_src = t-support.h t-support.cpp
560 t_keylist_SOURCES = t-keylist.cpp $(support_src)
561 t_keylocate_SOURCES = t-keylocate.cpp $(support_src)
562 t_ownertrust_SOURCES = t-ownertrust.cpp $(support_src)
563 t_tofuinfo_SOURCES = t-tofuinfo.cpp $(support_src)
564 t_encrypt_SOURCES = t-encrypt.cpp $(support_src)
565 t_wkspublish_SOURCES = t-wkspublish.cpp $(support_src)
566 t_verify_SOURCES = t-verify.cpp $(support_src)
567 t_various_SOURCES = t-various.cpp $(support_src)
568 t_config_SOURCES = t-config.cpp $(support_src)
569 t_remarks_SOURCES = t-remarks.cpp $(support_src)
570 t_trustsignatures_SOURCES = t-trustsignatures.cpp $(support_src)
571 t_changeexpiryjob_SOURCES = t-changeexpiryjob.cpp $(support_src)
572 run_keyformailboxjob_SOURCES = run-keyformailboxjob.cpp
573 nodist_t_keylist_SOURCES = $(moc_files)
574 BUILT_SOURCES = $(moc_files) pubring-stamp
575 CLEANFILES = secring.gpg pubring.gpg pubring.kbx trustdb.gpg dirmngr.conf \
576 gpg-agent.conf pubring.kbx~ S.gpg-agent gpg.conf pubring.gpg~ \
577 random_seed S.gpg-agent .gpg-v21-migrated pubring-stamp $(moc_files) \
578 gpg.conf tofu.db reader_0.status reader_1.status
579
580 all: $(BUILT_SOURCES)
581 $(MAKE) $(AM_MAKEFLAGS) all-am
582
583 .SUFFIXES:
584 .SUFFIXES: .cpp .h .hmoc .lo .moc .o .obj
585 $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
586 @for dep in $?; do \
587 case '$(am__configure_deps)' in \
588 *$$dep*) \
589 ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
590 && { if test -f $@; then exit 0; else break; fi; }; \
591 exit 1;; \
592 esac; \
593 done; \
594 echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu lang/qt/tests/Makefile'; \
595 $(am__cd) $(top_srcdir) && \
596 $(AUTOMAKE) --gnu lang/qt/tests/Makefile
597 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
598 @case '$?' in \
599 *config.status*) \
600 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
601 *) \
602 echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
603 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
604 esac;
605
606 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
607 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
608
609 $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
610 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
611 $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
612 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
613 $(am__aclocal_m4_deps):
614
615 clean-noinstPROGRAMS:
616 @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \
617 echo " rm -f" $$list; \
618 rm -f $$list || exit $$?; \
619 test -n "$(EXEEXT)" || exit 0; \
620 list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
621 echo " rm -f" $$list; \
622 rm -f $$list
623
624 run-keyformailboxjob$(EXEEXT): $(run_keyformailboxjob_OBJECTS) $(run_keyformailboxjob_DEPENDENCIES) $(EXTRA_run_keyformailboxjob_DEPENDENCIES)
625 @rm -f run-keyformailboxjob$(EXEEXT)
626 $(AM_V_CXXLD)$(CXXLINK) $(run_keyformailboxjob_OBJECTS) $(run_keyformailboxjob_LDADD) $(LIBS)
627
628 t-changeexpiryjob$(EXEEXT): $(t_changeexpiryjob_OBJECTS) $(t_changeexpiryjob_DEPENDENCIES) $(EXTRA_t_changeexpiryjob_DEPENDENCIES)
629 @rm -f t-changeexpiryjob$(EXEEXT)
630 $(AM_V_CXXLD)$(CXXLINK) $(t_changeexpiryjob_OBJECTS) $(t_changeexpiryjob_LDADD) $(LIBS)
631
632 t-config$(EXEEXT): $(t_config_OBJECTS) $(t_config_DEPENDENCIES) $(EXTRA_t_config_DEPENDENCIES)
633 @rm -f t-config$(EXEEXT)
634 $(AM_V_CXXLD)$(CXXLINK) $(t_config_OBJECTS) $(t_config_LDADD) $(LIBS)
635
636 t-encrypt$(EXEEXT): $(t_encrypt_OBJECTS) $(t_encrypt_DEPENDENCIES) $(EXTRA_t_encrypt_DEPENDENCIES)
637 @rm -f t-encrypt$(EXEEXT)
638 $(AM_V_CXXLD)$(CXXLINK) $(t_encrypt_OBJECTS) $(t_encrypt_LDADD) $(LIBS)
639
640 t-keylist$(EXEEXT): $(t_keylist_OBJECTS) $(t_keylist_DEPENDENCIES) $(EXTRA_t_keylist_DEPENDENCIES)
641 @rm -f t-keylist$(EXEEXT)
642 $(AM_V_CXXLD)$(CXXLINK) $(t_keylist_OBJECTS) $(t_keylist_LDADD) $(LIBS)
643
644 t-keylocate$(EXEEXT): $(t_keylocate_OBJECTS) $(t_keylocate_DEPENDENCIES) $(EXTRA_t_keylocate_DEPENDENCIES)
645 @rm -f t-keylocate$(EXEEXT)
646 $(AM_V_CXXLD)$(CXXLINK) $(t_keylocate_OBJECTS) $(t_keylocate_LDADD) $(LIBS)
647
648 t-ownertrust$(EXEEXT): $(t_ownertrust_OBJECTS) $(t_ownertrust_DEPENDENCIES) $(EXTRA_t_ownertrust_DEPENDENCIES)
649 @rm -f t-ownertrust$(EXEEXT)
650 $(AM_V_CXXLD)$(CXXLINK) $(t_ownertrust_OBJECTS) $(t_ownertrust_LDADD) $(LIBS)
651
652 t-remarks$(EXEEXT): $(t_remarks_OBJECTS) $(t_remarks_DEPENDENCIES) $(EXTRA_t_remarks_DEPENDENCIES)
653 @rm -f t-remarks$(EXEEXT)
654 $(AM_V_CXXLD)$(CXXLINK) $(t_remarks_OBJECTS) $(t_remarks_LDADD) $(LIBS)
655
656 t-tofuinfo$(EXEEXT): $(t_tofuinfo_OBJECTS) $(t_tofuinfo_DEPENDENCIES) $(EXTRA_t_tofuinfo_DEPENDENCIES)
657 @rm -f t-tofuinfo$(EXEEXT)
658 $(AM_V_CXXLD)$(CXXLINK) $(t_tofuinfo_OBJECTS) $(t_tofuinfo_LDADD) $(LIBS)
659
660 t-trustsignatures$(EXEEXT): $(t_trustsignatures_OBJECTS) $(t_trustsignatures_DEPENDENCIES) $(EXTRA_t_trustsignatures_DEPENDENCIES)
661 @rm -f t-trustsignatures$(EXEEXT)
662 $(AM_V_CXXLD)$(CXXLINK) $(t_trustsignatures_OBJECTS) $(t_trustsignatures_LDADD) $(LIBS)
663
664 t-various$(EXEEXT): $(t_various_OBJECTS) $(t_various_DEPENDENCIES) $(EXTRA_t_various_DEPENDENCIES)
665 @rm -f t-various$(EXEEXT)
666 $(AM_V_CXXLD)$(CXXLINK) $(t_various_OBJECTS) $(t_various_LDADD) $(LIBS)
667
668 t-verify$(EXEEXT): $(t_verify_OBJECTS) $(t_verify_DEPENDENCIES) $(EXTRA_t_verify_DEPENDENCIES)
669 @rm -f t-verify$(EXEEXT)
670 $(AM_V_CXXLD)$(CXXLINK) $(t_verify_OBJECTS) $(t_verify_LDADD) $(LIBS)
671
672 t-wkspublish$(EXEEXT): $(t_wkspublish_OBJECTS) $(t_wkspublish_DEPENDENCIES) $(EXTRA_t_wkspublish_DEPENDENCIES)
673 @rm -f t-wkspublish$(EXEEXT)
674 $(AM_V_CXXLD)$(CXXLINK) $(t_wkspublish_OBJECTS) $(t_wkspublish_LDADD) $(LIBS)
675
676 mostlyclean-compile:
677 -rm -f *.$(OBJEXT)
678
679 distclean-compile:
680 -rm -f *.tab.c
681
682 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/run-keyformailboxjob.Po@am__quote@ # am--include-marker
683 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t-changeexpiryjob.Po@am__quote@ # am--include-marker
684 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t-config.Po@am__quote@ # am--include-marker
685 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t-encrypt.Po@am__quote@ # am--include-marker
686 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t-keylist.Po@am__quote@ # am--include-marker
687 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t-keylocate.Po@am__quote@ # am--include-marker
688 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t-ownertrust.Po@am__quote@ # am--include-marker
689 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t-remarks.Po@am__quote@ # am--include-marker
690 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t-support.Po@am__quote@ # am--include-marker
691 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t-tofuinfo.Po@am__quote@ # am--include-marker
692 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t-trustsignatures.Po@am__quote@ # am--include-marker
693 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t-various.Po@am__quote@ # am--include-marker
694 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t-verify.Po@am__quote@ # am--include-marker
695 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t-wkspublish.Po@am__quote@ # am--include-marker
696
697 $(am__depfiles_remade):
698 @$(MKDIR_P) $(@D)
699 @echo '# dummy' >$@-t && $(am__mv) $@-t $@
700
701 am--depfiles: $(am__depfiles_remade)
702
703 .cpp.o:
704 @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
705 @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
706 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
707 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
708 @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $<
709
710 .cpp.obj:
711 @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
712 @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
713 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
714 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
715 @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
716
717 .cpp.lo:
718 @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
719 @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
720 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
721 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
722 @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
723
724 mostlyclean-libtool:
725 -rm -f *.lo
726
727 clean-libtool:
728 -rm -rf .libs _libs
729
730 ID: $(am__tagged_files)
731 $(am__define_uniq_tagged_files); mkid -fID $$unique
732 tags: tags-am
733 TAGS: tags
734
735 tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
736 set x; \
737 here=`pwd`; \
738 $(am__define_uniq_tagged_files); \
739 shift; \
740 if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
741 test -n "$$unique" || unique=$$empty_fix; \
742 if test $$# -gt 0; then \
743 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
744 "$$@" $$unique; \
745 else \
746 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
747 $$unique; \
748 fi; \
749 fi
750 ctags: ctags-am
751
752 CTAGS: ctags
753 ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
754 $(am__define_uniq_tagged_files); \
755 test -z "$(CTAGS_ARGS)$$unique" \
756 || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
757 $$unique
758
759 GTAGS:
760 here=`$(am__cd) $(top_builddir) && pwd` \
761 && $(am__cd) $(top_srcdir) \
762 && gtags -i $(GTAGS_ARGS) "$$here"
763 cscopelist: cscopelist-am
764
765 cscopelist-am: $(am__tagged_files)
766 list='$(am__tagged_files)'; \
767 case "$(srcdir)" in \
768 [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
769 *) sdir=$(subdir)/$(srcdir) ;; \
770 esac; \
771 for i in $$list; do \
772 if test -f "$$i"; then \
773 echo "$(subdir)/$$i"; \
774 else \
775 echo "$$sdir/$$i"; \
776 fi; \
777 done >> $(top_builddir)/cscope.files
778
779 distclean-tags:
780 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
781
782 check-TESTS: $(TESTS)
783 @failed=0; all=0; xfail=0; xpass=0; skip=0; \
784 srcdir=$(srcdir); export srcdir; \
785 list=' $(TESTS) '; \
786 $(am__tty_colors); \
787 if test -n "$$list"; then \
788 for tst in $$list; do \
789 if test -f ./$$tst; then dir=./; \
790 elif test -f $$tst; then dir=; \
791 else dir="$(srcdir)/"; fi; \
792 if $(TESTS_ENVIRONMENT) $${dir}$$tst $(AM_TESTS_FD_REDIRECT); then \
793 all=`expr $$all + 1`; \
794 case " $(XFAIL_TESTS) " in \
795 *[\ \ ]$$tst[\ \ ]*) \
796 xpass=`expr $$xpass + 1`; \
797 failed=`expr $$failed + 1`; \
798 col=$$red; res=XPASS; \
799 ;; \
800 *) \
801 col=$$grn; res=PASS; \
802 ;; \
803 esac; \
804 elif test $$? -ne 77; then \
805 all=`expr $$all + 1`; \
806 case " $(XFAIL_TESTS) " in \
807 *[\ \ ]$$tst[\ \ ]*) \
808 xfail=`expr $$xfail + 1`; \
809 col=$$lgn; res=XFAIL; \
810 ;; \
811 *) \
812 failed=`expr $$failed + 1`; \
813 col=$$red; res=FAIL; \
814 ;; \
815 esac; \
816 else \
817 skip=`expr $$skip + 1`; \
818 col=$$blu; res=SKIP; \
819 fi; \
820 echo "$${col}$$res$${std}: $$tst"; \
821 done; \
822 if test "$$all" -eq 1; then \
823 tests="test"; \
824 All=""; \
825 else \
826 tests="tests"; \
827 All="All "; \
828 fi; \
829 if test "$$failed" -eq 0; then \
830 if test "$$xfail" -eq 0; then \
831 banner="$$All$$all $$tests passed"; \
832 else \
833 if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \
834 banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \
835 fi; \
836 else \
837 if test "$$xpass" -eq 0; then \
838 banner="$$failed of $$all $$tests failed"; \
839 else \
840 if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \
841 banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \
842 fi; \
843 fi; \
844 dashes="$$banner"; \
845 skipped=""; \
846 if test "$$skip" -ne 0; then \
847 if test "$$skip" -eq 1; then \
848 skipped="($$skip test was not run)"; \
849 else \
850 skipped="($$skip tests were not run)"; \
851 fi; \
852 test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
853 dashes="$$skipped"; \
854 fi; \
855 report=""; \
856 if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \
857 report="Please report to $(PACKAGE_BUGREPORT)"; \
858 test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \
859 dashes="$$report"; \
860 fi; \
861 dashes=`echo "$$dashes" | sed s/./=/g`; \
862 if test "$$failed" -eq 0; then \
863 col="$$grn"; \
864 else \
865 col="$$red"; \
866 fi; \
867 echo "$${col}$$dashes$${std}"; \
868 echo "$${col}$$banner$${std}"; \
869 test -z "$$skipped" || echo "$${col}$$skipped$${std}"; \
870 test -z "$$report" || echo "$${col}$$report$${std}"; \
871 echo "$${col}$$dashes$${std}"; \
872 test "$$failed" -eq 0; \
873 else :; fi
874 distdir: $(BUILT_SOURCES)
875 $(MAKE) $(AM_MAKEFLAGS) distdir-am
876
877 distdir-am: $(DISTFILES)
878 @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
879 topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
880 list='$(DISTFILES)'; \
881 dist_files=`for file in $$list; do echo $$file; done | \
882 sed -e "s|^$$srcdirstrip/||;t" \
883 -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
884 case $$dist_files in \
885 */*) $(MKDIR_P) `echo "$$dist_files" | \
886 sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
887 sort -u` ;; \
888 esac; \
889 for file in $$dist_files; do \
890 if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
891 if test -d $$d/$$file; then \
892 dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
893 if test -d "$(distdir)/$$file"; then \
894 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
895 fi; \
896 if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
897 cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
898 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
899 fi; \
900 cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
901 else \
902 test -f "$(distdir)/$$file" \
903 || cp -p $$d/$$file "$(distdir)/$$file" \
904 || exit 1; \
905 fi; \
906 done
907 check-am: all-am
908 $(MAKE) $(AM_MAKEFLAGS) check-TESTS
909 check: $(BUILT_SOURCES)
910 $(MAKE) $(AM_MAKEFLAGS) check-am
911 all-am: Makefile $(PROGRAMS)
912 installdirs:
913 install: $(BUILT_SOURCES)
914 $(MAKE) $(AM_MAKEFLAGS) install-am
915 install-exec: $(BUILT_SOURCES)
916 $(MAKE) $(AM_MAKEFLAGS) install-exec-am
917 install-data: install-data-am
918 uninstall: uninstall-am
919
920 install-am: all-am
921 @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
922
923 installcheck: installcheck-am
924 install-strip:
925 if test -z '$(STRIP)'; then \
926 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
927 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
928 install; \
929 else \
930 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
931 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
932 "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
933 fi
934 mostlyclean-generic:
935
936 clean-generic:
937 -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
938
939 distclean-generic:
940 -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
941 -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
942
943 maintainer-clean-generic:
944 @echo "This command is intended for maintainers to use"
945 @echo "it deletes files that may require special tools to rebuild."
946 -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
947 clean: clean-am
948
949 clean-am: clean-generic clean-libtool clean-local clean-noinstPROGRAMS \
950 mostlyclean-am
951
952 distclean: distclean-am
953 -rm -f ./$(DEPDIR)/run-keyformailboxjob.Po
954 -rm -f ./$(DEPDIR)/t-changeexpiryjob.Po
955 -rm -f ./$(DEPDIR)/t-config.Po
956 -rm -f ./$(DEPDIR)/t-encrypt.Po
957 -rm -f ./$(DEPDIR)/t-keylist.Po
958 -rm -f ./$(DEPDIR)/t-keylocate.Po
959 -rm -f ./$(DEPDIR)/t-ownertrust.Po
960 -rm -f ./$(DEPDIR)/t-remarks.Po
961 -rm -f ./$(DEPDIR)/t-support.Po
962 -rm -f ./$(DEPDIR)/t-tofuinfo.Po
963 -rm -f ./$(DEPDIR)/t-trustsignatures.Po
964 -rm -f ./$(DEPDIR)/t-various.Po
965 -rm -f ./$(DEPDIR)/t-verify.Po
966 -rm -f ./$(DEPDIR)/t-wkspublish.Po
967 -rm -f Makefile
968 distclean-am: clean-am distclean-compile distclean-generic \
969 distclean-tags
970
971 dvi: dvi-am
972
973 dvi-am:
974
975 html: html-am
976
977 html-am:
978
979 info: info-am
980
981 info-am:
982
983 install-data-am:
984
985 install-dvi: install-dvi-am
986
987 install-dvi-am:
988
989 install-exec-am:
990
991 install-html: install-html-am
992
993 install-html-am:
994
995 install-info: install-info-am
996
997 install-info-am:
998
999 install-man:
1000
1001 install-pdf: install-pdf-am
1002
1003 install-pdf-am:
1004
1005 install-ps: install-ps-am
1006
1007 install-ps-am:
1008
1009 installcheck-am:
1010
1011 maintainer-clean: maintainer-clean-am
1012 -rm -f ./$(DEPDIR)/run-keyformailboxjob.Po
1013 -rm -f ./$(DEPDIR)/t-changeexpiryjob.Po
1014 -rm -f ./$(DEPDIR)/t-config.Po
1015 -rm -f ./$(DEPDIR)/t-encrypt.Po
1016 -rm -f ./$(DEPDIR)/t-keylist.Po
1017 -rm -f ./$(DEPDIR)/t-keylocate.Po
1018 -rm -f ./$(DEPDIR)/t-ownertrust.Po
1019 -rm -f ./$(DEPDIR)/t-remarks.Po
1020 -rm -f ./$(DEPDIR)/t-support.Po
1021 -rm -f ./$(DEPDIR)/t-tofuinfo.Po
1022 -rm -f ./$(DEPDIR)/t-trustsignatures.Po
1023 -rm -f ./$(DEPDIR)/t-various.Po
1024 -rm -f ./$(DEPDIR)/t-verify.Po
1025 -rm -f ./$(DEPDIR)/t-wkspublish.Po
1026 -rm -f Makefile
1027 maintainer-clean-am: distclean-am maintainer-clean-generic
1028
1029 mostlyclean: mostlyclean-am
1030
1031 mostlyclean-am: mostlyclean-compile mostlyclean-generic \
1032 mostlyclean-libtool
1033
1034 pdf: pdf-am
1035
1036 pdf-am:
1037
1038 ps: ps-am
1039
1040 ps-am:
1041
1042 uninstall-am:
1043
1044 .MAKE: all check check-am install install-am install-exec \
1045 install-strip
1046
1047 .PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-TESTS \
1048 check-am clean clean-generic clean-libtool clean-local \
1049 clean-noinstPROGRAMS cscopelist-am ctags ctags-am distclean \
1050 distclean-compile distclean-generic distclean-libtool \
1051 distclean-tags distdir dvi dvi-am html html-am info info-am \
1052 install install-am install-data install-data-am install-dvi \
1053 install-dvi-am install-exec install-exec-am install-html \
1054 install-html-am install-info install-info-am install-man \
1055 install-pdf install-pdf-am install-ps install-ps-am \
1056 install-strip installcheck installcheck-am installdirs \
1057 maintainer-clean maintainer-clean-generic mostlyclean \
1058 mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
1059 pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am
1060
1061 .PRECIOUS: Makefile
1062
1063
1064 clean-local:
1065 -$(TESTS_ENVIRONMENT) $(top_srcdir)/tests/start-stop-agent --stop
1066 -rm -fR private-keys-v1.d crls.d
1067
1068 pubring-stamp: $(top_srcdir)/tests/gpg/pubdemo.asc \
1069 $(top_srcdir)/tests/gpg/secdemo.asc
1070 -$(TESTS_ENVIRONMENT) gpgconf --kill all
1071 echo "ignore-invalid-option allow-loopback-pinentry" > $(abs_builddir)/gpg-agent.conf
1072 echo "allow-loopback-pinentry" >> gpg-agent.conf
1073 echo "ignore-invalid-option pinentry-mode" > gpg.conf
1074 echo "pinentry-mode loopback" >> gpg.conf
1075 $(TESTS_ENVIRONMENT) $(GPG) --no-permission-warning \
1076 --import $(top_srcdir)/tests/gpg/pubdemo.asc
1077 $(TESTS_ENVIRONMENT) $(GPG) --no-permission-warning \
1078 --passphrase "abc" \
1079 --import $(top_srcdir)/tests/gpg/secdemo.asc
1080 touch pubring-stamp
1081
1082 .cpp.moc:
1083 $(MOC) `test -f '$<' || echo '$(srcdir)/'`$< -o $@
1084
1085 .h.hmoc:
1086 $(MOC) `test -f '$<' || echo '$(srcdir)/'`$< -o $@
1087
1088 # Tell versions [3.59,3.63) of GNU make to not export all variables.
1089 # Otherwise a system limit (for SysV at least) may be exceeded.
1090 .NOEXPORT:
0 /* t-changeexpiryjob.cpp
1
2 This file is part of qgpgme, the Qt API binding for gpgme
3 Copyright (c) 2021 g10 Code GmbH
4 Software engineering by Ingo Klöcker <dev@ingo-kloecker.de>
5
6 QGpgME is free software; you can redistribute it and/or
7 modify it under the terms of the GNU General Public License as
8 published by the Free Software Foundation; either version 2 of the
9 License, or (at your option) any later version.
10
11 QGpgME is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 General Public License for more details.
15
16 You should have received a copy of the GNU General Public License
17 along with this program; if not, write to the Free Software
18 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19
20 In addition, as a special exception, the copyright holders give
21 permission to link the code of this program with any edition of
22 the Qt library by Trolltech AS, Norway (or with modified versions
23 of Qt that use the same license as Qt), and distribute linked
24 combinations including the two. You must obey the GNU General
25 Public License in all respects for all of the code used other than
26 Qt. If you modify this file, you may extend this exception to
27 your version of the file, but you are not obligated to do so. If
28 you do not wish to do so, delete this exception statement from
29 your version.
30 */
31
32 #ifdef HAVE_CONFIG_H
33 #include "config.h"
34 #endif
35
36 #include "t-support.h"
37
38 #include "changeexpiryjob.h"
39 #include "context.h"
40 #include "engineinfo.h"
41 #include "protocol.h"
42
43 #include <QSignalSpy>
44 #include <QTemporaryDir>
45 #include <QTest>
46
47 using namespace QGpgME;
48 using namespace GpgME;
49
50 class TestChangeExpiryJob: public QGpgMETest
51 {
52 Q_OBJECT
53
54 Q_SIGNALS:
55 void asyncDone();
56
57 private Q_SLOTS:
58 void test_change_expiration_default_without_subkeys()
59 {
60 Error err;
61
62 if (!loopbackSupported()) {
63 return;
64 }
65
66 auto ctx = Context::create(OpenPGP);
67 QVERIFY(ctx);
68
69 // Get the key (alfa@example.net)
70 auto key = ctx->key("A0FF4590BB6122EDEF6E3C542D727CC768697734", err, true);
71 QVERIFY(!err);
72 QVERIFY(!key.isNull());
73 QVERIFY(!key.subkey(0).isNull());
74 QVERIFY(!key.subkey(1).isNull());
75 const auto subkeyExpiration = key.subkey(1).expirationTime();
76
77 {
78 // Create the job
79 auto job = std::unique_ptr<ChangeExpiryJob>{openpgp()->changeExpiryJob()};
80 QVERIFY(job);
81
82 // Hack in the passphrase provider
83 auto jobCtx = Job::context(job.get());
84 TestPassphraseProvider provider;
85 jobCtx->setPassphraseProvider(&provider);
86 jobCtx->setPinentryMode(Context::PinentryLoopback);
87
88 // Use defaults of job
89
90 connect(job.get(), &ChangeExpiryJob::result,
91 this, [this] (const GpgME::Error &err2, const QString &, const GpgME::Error &) {
92 Q_EMIT asyncDone();
93 if (err2) {
94 QFAIL(qPrintable(QString("The ChangeExpiryJob failed with '%1'.").arg(err2.asString())));
95 }
96 });
97
98 const auto newExpirationDate = QDateTime::currentDateTime().addDays(1);
99 job->start(key, newExpirationDate);
100 QSignalSpy spy (this, SIGNAL(asyncDone()));
101 QVERIFY(spy.wait(QSIGNALSPY_TIMEOUT));
102
103 // At this point the expiration date should have been changed.
104 key.update();
105
106 // allow a few seconds earlier expiration because job calculates "seconds from now" passed to gpg after it was started
107 const auto expectedExpirationRange = std::make_pair(
108 newExpirationDate.toSecsSinceEpoch() - 10,
109 QDateTime::currentDateTime().addDays(1).toSecsSinceEpoch());
110 {
111 const auto actualExpiration = key.subkey(0).expirationTime();
112 QVERIFY2(actualExpiration >= expectedExpirationRange.first,
113 ("actual: " + std::to_string(actualExpiration) +
114 "; expected: " + std::to_string(expectedExpirationRange.first)).c_str());
115 QVERIFY2(actualExpiration <= expectedExpirationRange.second,
116 ("actual: " + std::to_string(actualExpiration) +
117 "; expected: " + std::to_string(expectedExpirationRange.second)).c_str());
118 }
119 {
120 const auto actualExpiration = key.subkey(1).expirationTime();
121 QCOMPARE(actualExpiration, subkeyExpiration); // unchanged
122 }
123 }
124 }
125
126 void test_change_expiration_default_with_subkeys()
127 {
128 Error err;
129
130 if (!loopbackSupported()) {
131 return;
132 }
133
134 auto ctx = Context::create(OpenPGP);
135 QVERIFY(ctx);
136
137 // Get the key (alfa@example.net)
138 auto key = ctx->key("A0FF4590BB6122EDEF6E3C542D727CC768697734", err, true);
139 QVERIFY(!err);
140 QVERIFY(!key.isNull());
141 QVERIFY(!key.subkey(0).isNull());
142 QVERIFY(!key.subkey(1).isNull());
143 const auto primaryKeyExpiration = key.subkey(0).expirationTime();
144
145 {
146 // Create the job
147 auto job = std::unique_ptr<ChangeExpiryJob>{openpgp()->changeExpiryJob()};
148 QVERIFY(job);
149
150 // Hack in the passphrase provider
151 auto jobCtx = Job::context(job.get());
152 TestPassphraseProvider provider;
153 jobCtx->setPassphraseProvider(&provider);
154 jobCtx->setPinentryMode(Context::PinentryLoopback);
155
156 // Use defaults of job
157
158 connect(job.get(), &ChangeExpiryJob::result,
159 this, [this] (const GpgME::Error &err2, const QString &, const GpgME::Error &) {
160 Q_EMIT asyncDone();
161 if (err2) {
162 QFAIL(qPrintable(QString("The ChangeExpiryJob failed with '%1'.").arg(err2.asString())));
163 }
164 });
165
166 const auto newExpirationDate = QDateTime::currentDateTime().addDays(2);
167 job->start(key, newExpirationDate, {key.subkey(1)});
168 QSignalSpy spy (this, SIGNAL(asyncDone()));
169 QVERIFY(spy.wait(QSIGNALSPY_TIMEOUT));
170
171 // At this point the expiration date should have been changed.
172 key.update();
173
174 // allow a few seconds earlier expiration because job calculates "seconds from now" passed to gpg after it was started
175 const auto expectedExpirationRange = std::make_pair(
176 newExpirationDate.toSecsSinceEpoch() - 10,
177 QDateTime::currentDateTime().addDays(2).toSecsSinceEpoch());
178 {
179 const auto actualExpiration = key.subkey(0).expirationTime();
180 QCOMPARE(actualExpiration, primaryKeyExpiration); // unchanged
181 }
182 {
183 const auto actualExpiration = key.subkey(1).expirationTime();
184 QVERIFY2(actualExpiration >= expectedExpirationRange.first,
185 ("actual: " + std::to_string(actualExpiration) +
186 "; expected: " + std::to_string(expectedExpirationRange.first)).c_str());
187 QVERIFY2(actualExpiration <= expectedExpirationRange.second,
188 ("actual: " + std::to_string(actualExpiration) +
189 "; expected: " + std::to_string(expectedExpirationRange.second)).c_str());
190 }
191 }
192 }
193
194 void test_change_expiration_update_primary_key_without_subkeys()
195 {
196 Error err;
197
198 if (!loopbackSupported()) {
199 return;
200 }
201
202 auto ctx = Context::create(OpenPGP);
203 QVERIFY(ctx);
204
205 // Get the key (alfa@example.net)
206 auto key = ctx->key("A0FF4590BB6122EDEF6E3C542D727CC768697734", err, true);
207 QVERIFY(!err);
208 QVERIFY(!key.isNull());
209 QVERIFY(!key.subkey(0).isNull());
210 QVERIFY(!key.subkey(1).isNull());
211 const auto subkeyExpiration = key.subkey(1).expirationTime();
212
213 {
214 // Create the job
215 auto job = std::unique_ptr<ChangeExpiryJob>{openpgp()->changeExpiryJob()};
216 QVERIFY(job);
217
218 // Hack in the passphrase provider
219 auto jobCtx = Job::context(job.get());
220 TestPassphraseProvider provider;
221 jobCtx->setPassphraseProvider(&provider);
222 jobCtx->setPinentryMode(Context::PinentryLoopback);
223
224 // Set up the job
225 job->setOptions(ChangeExpiryJob::UpdatePrimaryKey);
226
227 connect(job.get(), &ChangeExpiryJob::result,
228 this, [this] (const GpgME::Error &err2, const QString &, const GpgME::Error &) {
229 Q_EMIT asyncDone();
230 if (err2) {
231 QFAIL(qPrintable(QString("The ChangeExpiryJob failed with '%1'.").arg(err2.asString())));
232 }
233 });
234
235 const auto newExpirationDate = QDateTime::currentDateTime().addDays(3);
236 job->start(key, newExpirationDate, {});
237 QSignalSpy spy (this, SIGNAL(asyncDone()));
238 QVERIFY(spy.wait(QSIGNALSPY_TIMEOUT));
239
240 // At this point the expiration date should have been changed.
241 key.update();
242
243 // allow a few seconds earlier expiration because job calculates "seconds from now" passed to gpg after it was started
244 const auto expectedExpirationRange = std::make_pair(
245 newExpirationDate.toSecsSinceEpoch() - 10,
246 QDateTime::currentDateTime().addDays(3).toSecsSinceEpoch());
247 {
248 const auto actualExpiration = key.subkey(0).expirationTime();
249 QVERIFY2(actualExpiration >= expectedExpirationRange.first,
250 ("actual: " + std::to_string(actualExpiration) +
251 "; expected: " + std::to_string(expectedExpirationRange.first)).c_str());
252 QVERIFY2(actualExpiration <= expectedExpirationRange.second,
253 ("actual: " + std::to_string(actualExpiration) +
254 "; expected: " + std::to_string(expectedExpirationRange.second)).c_str());
255 }
256 {
257 const auto actualExpiration = key.subkey(1).expirationTime();
258 QCOMPARE(actualExpiration, subkeyExpiration); // unchanged
259 }
260 }
261 }
262
263 void test_change_expiration_update_primary_key_with_subkeys()
264 {
265 Error err;
266
267 if (!loopbackSupported()) {
268 return;
269 }
270
271 auto ctx = Context::create(OpenPGP);
272 QVERIFY(ctx);
273
274 // Get the key (alfa@example.net)
275 auto key = ctx->key("A0FF4590BB6122EDEF6E3C542D727CC768697734", err, true);
276 QVERIFY(!err);
277 QVERIFY(!key.isNull());
278 QVERIFY(!key.subkey(0).isNull());
279 QVERIFY(!key.subkey(1).isNull());
280
281 {
282 // Create the job
283 auto job = std::unique_ptr<ChangeExpiryJob>{openpgp()->changeExpiryJob()};
284 QVERIFY(job);
285
286 // Hack in the passphrase provider
287 auto jobCtx = Job::context(job.get());
288 TestPassphraseProvider provider;
289 jobCtx->setPassphraseProvider(&provider);
290 jobCtx->setPinentryMode(Context::PinentryLoopback);
291
292 // Set up the job
293 job->setOptions(ChangeExpiryJob::UpdatePrimaryKey);
294
295 connect(job.get(), &ChangeExpiryJob::result,
296 this, [this] (const GpgME::Error &err2, const QString &, const GpgME::Error &) {
297 Q_EMIT asyncDone();
298 if (err2) {
299 QFAIL(qPrintable(QString("The ChangeExpiryJob failed with '%1'.").arg(err2.asString())));
300 }
301 });
302
303 const auto newExpirationDate = QDateTime::currentDateTime().addDays(4);
304 job->start(key, newExpirationDate, {key.subkey(1)});
305 QSignalSpy spy (this, SIGNAL(asyncDone()));
306 QVERIFY(spy.wait(QSIGNALSPY_TIMEOUT));
307
308 // At this point the expiration date should have been changed.
309 key.update();
310
311 // allow a few seconds earlier expiration because job calculates "seconds from now" passed to gpg after it was started
312 const auto expectedExpirationRange = std::make_pair(
313 newExpirationDate.toSecsSinceEpoch() - 10,
314 QDateTime::currentDateTime().addDays(4).toSecsSinceEpoch());
315 {
316 const auto actualExpiration = key.subkey(0).expirationTime();
317 QVERIFY2(actualExpiration >= expectedExpirationRange.first,
318 ("actual: " + std::to_string(actualExpiration) +
319 "; expected: " + std::to_string(expectedExpirationRange.first)).c_str());
320 QVERIFY2(actualExpiration <= expectedExpirationRange.second,
321 ("actual: " + std::to_string(actualExpiration) +
322 "; expected: " + std::to_string(expectedExpirationRange.second)).c_str());
323 }
324 {
325 const auto actualExpiration = key.subkey(1).expirationTime();
326 QVERIFY2(actualExpiration >= expectedExpirationRange.first,
327 ("actual: " + std::to_string(actualExpiration) +
328 "; expected: " + std::to_string(expectedExpirationRange.first)).c_str());
329 QVERIFY2(actualExpiration <= expectedExpirationRange.second,
330 ("actual: " + std::to_string(actualExpiration) +
331 "; expected: " + std::to_string(expectedExpirationRange.second)).c_str());
332 }
333 }
334 }
335
336 void test_change_expiration_update_primary_key_and_all_subkeys()
337 {
338 Error err;
339
340 if (!loopbackSupported()) {
341 return;
342 }
343
344 auto ctx = Context::create(OpenPGP);
345 QVERIFY(ctx);
346
347 // Get the key (alfa@example.net)
348 auto key = ctx->key("A0FF4590BB6122EDEF6E3C542D727CC768697734", err, true);
349 QVERIFY(!err);
350 QVERIFY(!key.isNull());
351 QVERIFY(!key.subkey(0).isNull());
352 QVERIFY(!key.subkey(1).isNull());
353
354 {
355 // Create the job
356 auto job = std::unique_ptr<ChangeExpiryJob>{openpgp()->changeExpiryJob()};
357 QVERIFY(job);
358
359 // Hack in the passphrase provider
360 auto jobCtx = Job::context(job.get());
361 TestPassphraseProvider provider;
362 jobCtx->setPassphraseProvider(&provider);
363 jobCtx->setPinentryMode(Context::PinentryLoopback);
364
365 // Set up the job
366 job->setOptions(ChangeExpiryJob::UpdatePrimaryKey | ChangeExpiryJob::UpdateAllSubkeys);
367
368 connect(job.get(), &ChangeExpiryJob::result,
369 this, [this] (const GpgME::Error &err2, const QString &, const GpgME::Error &) {
370 Q_EMIT asyncDone();
371 if (err2) {
372 QFAIL(qPrintable(QString("The ChangeExpiryJob failed with '%1'.").arg(err2.asString())));
373 }
374 });
375
376 const auto newExpirationDate = QDateTime::currentDateTime().addDays(5);
377 job->start(key, newExpirationDate);
378 QSignalSpy spy (this, SIGNAL(asyncDone()));
379 QVERIFY(spy.wait(QSIGNALSPY_TIMEOUT));
380
381 // At this point the expiration date should have been changed.
382 key.update();
383
384 // allow a few seconds earlier expiration because job calculates "seconds from now" passed to gpg after it was started
385 const auto expectedExpirationRange = std::make_pair(
386 newExpirationDate.toSecsSinceEpoch() - 10,
387 QDateTime::currentDateTime().addDays(5).toSecsSinceEpoch());
388 {
389 const auto actualExpiration = key.subkey(0).expirationTime();
390 QVERIFY2(actualExpiration >= expectedExpirationRange.first,
391 ("actual: " + std::to_string(actualExpiration) +
392 "; expected: " + std::to_string(expectedExpirationRange.first)).c_str());
393 QVERIFY2(actualExpiration <= expectedExpirationRange.second,
394 ("actual: " + std::to_string(actualExpiration) +
395 "; expected: " + std::to_string(expectedExpirationRange.second)).c_str());
396 }
397 {
398 const auto actualExpiration = key.subkey(1).expirationTime();
399 QVERIFY2(actualExpiration >= expectedExpirationRange.first,
400 ("actual: " + std::to_string(actualExpiration) +
401 "; expected: " + std::to_string(expectedExpirationRange.first)).c_str());
402 QVERIFY2(actualExpiration <= expectedExpirationRange.second,
403 ("actual: " + std::to_string(actualExpiration) +
404 "; expected: " + std::to_string(expectedExpirationRange.second)).c_str());
405 }
406 }
407 }
408
409 void initTestCase()
410 {
411 QGpgMETest::initTestCase();
412 const QString gpgHome = qgetenv("GNUPGHOME");
413 QVERIFY(copyKeyrings(gpgHome, mDir.path()));
414 qputenv("GNUPGHOME", mDir.path().toUtf8());
415 }
416
417 private:
418 QTemporaryDir mDir;
419 };
420
421 QTEST_MAIN(TestChangeExpiryJob)
422
423 #include "t-changeexpiryjob.moc"
5656 // be unsupported in older versions.
5757 return;
5858 }
59 // First set compliance to de-vs
6059 auto conf = cryptoConfig();
6160 QVERIFY(conf);
62 auto entry = conf->entry(QStringLiteral("gpg"),
63 QStringLiteral("Configuration"),
64 QStringLiteral("compliance"));
61 auto entry = conf->entry(QStringLiteral("gpg"), QStringLiteral("compliance"));
6562 QVERIFY(entry);
63 const auto defaultValue = entry->defaultValue().toString();
64 QCOMPARE(defaultValue, QStringLiteral("gnupg"));
65
6666 entry->setStringValue("de-vs");
6767 conf->sync(true);
6868 conf->clear();
69 entry = conf->entry(QStringLiteral("gpg"),
70 QStringLiteral("Configuration"),
71 QStringLiteral("compliance"));
69 entry = conf->entry(QStringLiteral("gpg"), QStringLiteral("compliance"));
7270 QCOMPARE(entry->stringValue(), QStringLiteral("de-vs"));
71
7372 entry->resetToDefault();
7473 conf->sync(true);
7574 conf->clear();
76 entry = conf->entry(QStringLiteral("gpg"),
77 QStringLiteral("Configuration"),
78 QStringLiteral("compliance"));
79 QCOMPARE(entry->stringValue(), QStringLiteral("gnupg"));
75 entry = conf->entry(QStringLiteral("gpg"), QStringLiteral("compliance"));
76 QCOMPARE(entry->stringValue(), defaultValue);
8077 }
8178
8279 void initTestCase()
150150 delete job;
151151 QVERIFY(!result.error());
152152
153 QCOMPARE(secKeys.size(), 2u);
153 QCOMPARE(secKeys.size(), static_cast<decltype(secKeys.size())>(2));
154154 std::vector<std::string> secKeyFingerprints = std::accumulate(secKeys.begin(), secKeys.end(), std::vector<std::string>(), accumulateFingerprints);
155155 QCOMPARE(secKeyFingerprints, std::vector<std::string>({
156156 "23FD347A419429BACCD5E72D6BC4778054ACD246",
161161 QVERIFY(secKeys[0].subkeys()[0].keyGrip());
162162 }
163163
164 QCOMPARE(pubKeys.size(), 26u);
164 QCOMPARE(pubKeys.size(), static_cast<decltype(pubKeys.size())>(26));
165165 std::vector<std::string> pubKeyFingerprints = std::accumulate(pubKeys.begin(), pubKeys.end(), std::vector<std::string>(), accumulateFingerprints);
166166 QCOMPARE(pubKeyFingerprints, std::vector<std::string>({
167167 "045B2334ADD69FC221076841A5E67F7FA3AE3EA1",
0 /* t-remarks.cpp
0 /* t-trustsignatures.cpp
11
22 This file is part of qgpgme, the Qt API binding for gpgme
33 Copyright (c) 2021 g10 Code GmbH
229229 std::vector<Subkey> primaryKey;
230230 primaryKey.push_back(key.subkey(0));
231231 const auto err = ctx->setExpire(key, 3000, primaryKey);
232 QCOMPARE(err.code(), GPG_ERR_NOT_FOUND);
232 QCOMPARE(err.code(), static_cast<int>(GPG_ERR_NOT_FOUND));
233233 delete ctx;
234234 }
235235
354354 target.update();
355355 const auto keySignature = target.userID(0).signature(target.userID(0).numSignatures() - 1);
356356 QVERIFY(!keySignature.neverExpires());
357 const auto expirationDate = QDateTime::fromSecsSinceEpoch(keySignature.expirationTime()).date();
357 const auto expirationDate = QDateTime::fromSecsSinceEpoch(uint_least32_t(keySignature.expirationTime())).date();
358358 QCOMPARE(expirationDate, QDate(2106, 2, 6)); // expiration date is capped at 2106-02-06
359359 }
360360
0 # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
1 #
2 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
3 # 2006, 2007, 2008, 2009, 2010, 2011 Free Software
4 # Foundation, Inc.
5 # Written by Gordon Matzigkeit, 1996
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 m4_define([_LT_COPYING], [dnl
12 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
13 # 2006, 2007, 2008, 2009, 2010, 2011 Free Software
14 # Foundation, Inc.
15 # Written by Gordon Matzigkeit, 1996
16 #
17 # This file is part of GNU Libtool.
18 #
19 # GNU Libtool is free software; you can redistribute it and/or
20 # modify it under the terms of the GNU General Public License as
21 # published by the Free Software Foundation; either version 2 of
22 # the License, or (at your option) any later version.
23 #
24 # As a special exception to the GNU General Public License,
25 # if you distribute this file as part of a program or library that
26 # is built using GNU Libtool, you may include this file under the
27 # same distribution terms that you use for the rest of that program.
28 #
29 # GNU Libtool is distributed in the hope that it will be useful,
30 # but WITHOUT ANY WARRANTY; without even the implied warranty of
31 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
32 # GNU General Public License for more details.
33 #
34 # You should have received a copy of the GNU General Public License
35 # along with GNU Libtool; see the file COPYING. If not, a copy
36 # can be downloaded from https://www.gnu.org/licenses/gpl.html, or
37 # obtained by writing to the Free Software Foundation, Inc.,
38 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
39 ])
40
41 # serial 57 LT_INIT
42
43
44 # LT_PREREQ(VERSION)
45 # ------------------
46 # Complain and exit if this libtool version is less that VERSION.
47 m4_defun([LT_PREREQ],
48 [m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1,
49 [m4_default([$3],
50 [m4_fatal([Libtool version $1 or higher is required],
51 63)])],
52 [$2])])
53
54
55 # _LT_CHECK_BUILDDIR
56 # ------------------
57 # Complain if the absolute build directory name contains unusual characters
58 m4_defun([_LT_CHECK_BUILDDIR],
59 [case `pwd` in
60 *\ * | *\ *)
61 AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;;
62 esac
63 ])
64
65
66 # LT_INIT([OPTIONS])
67 # ------------------
68 AC_DEFUN([LT_INIT],
69 [AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT
70 AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
71 AC_BEFORE([$0], [LT_LANG])dnl
72 AC_BEFORE([$0], [LT_OUTPUT])dnl
73 AC_BEFORE([$0], [LTDL_INIT])dnl
74 m4_require([_LT_CHECK_BUILDDIR])dnl
75
76 dnl Autoconf doesn't catch unexpanded LT_ macros by default:
77 m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl
78 m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl
79 dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4
80 dnl unless we require an AC_DEFUNed macro:
81 AC_REQUIRE([LTOPTIONS_VERSION])dnl
82 AC_REQUIRE([LTSUGAR_VERSION])dnl
83 AC_REQUIRE([LTVERSION_VERSION])dnl
84 AC_REQUIRE([LTOBSOLETE_VERSION])dnl
85 m4_require([_LT_PROG_LTMAIN])dnl
86
87 _LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}])
88
89 dnl Parse OPTIONS
90 _LT_SET_OPTIONS([$0], [$1])
91
92 # This can be used to rebuild libtool when needed
93 LIBTOOL_DEPS="$ltmain"
94
95 # Always use our own libtool.
96 LIBTOOL='$(SHELL) $(top_builddir)/libtool'
97 AC_SUBST(LIBTOOL)dnl
98
99 _LT_SETUP
100
101 # Only expand once:
102 m4_define([LT_INIT])
103 ])# LT_INIT
104
105 # Old names:
106 AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT])
107 AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT])
108 dnl aclocal-1.4 backwards compatibility:
109 dnl AC_DEFUN([AC_PROG_LIBTOOL], [])
110 dnl AC_DEFUN([AM_PROG_LIBTOOL], [])
111
112
113 # _LT_CC_BASENAME(CC)
114 # -------------------
115 # Calculate cc_basename. Skip known compiler wrappers and cross-prefix.
116 m4_defun([_LT_CC_BASENAME],
117 [for cc_temp in $1""; do
118 case $cc_temp in
119 compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
120 distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
121 \-*) ;;
122 *) break;;
123 esac
124 done
125 cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
126 ])
127
128
129 # _LT_FILEUTILS_DEFAULTS
130 # ----------------------
131 # It is okay to use these file commands and assume they have been set
132 # sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'.
133 m4_defun([_LT_FILEUTILS_DEFAULTS],
134 [: ${CP="cp -f"}
135 : ${MV="mv -f"}
136 : ${RM="rm -f"}
137 ])# _LT_FILEUTILS_DEFAULTS
138
139
140 # _LT_SETUP
141 # ---------
142 m4_defun([_LT_SETUP],
143 [AC_REQUIRE([AC_CANONICAL_HOST])dnl
144 AC_REQUIRE([AC_CANONICAL_BUILD])dnl
145 AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl
146 AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
147
148 _LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl
149 dnl
150 _LT_DECL([], [host_alias], [0], [The host system])dnl
151 _LT_DECL([], [host], [0])dnl
152 _LT_DECL([], [host_os], [0])dnl
153 dnl
154 _LT_DECL([], [build_alias], [0], [The build system])dnl
155 _LT_DECL([], [build], [0])dnl
156 _LT_DECL([], [build_os], [0])dnl
157 dnl
158 AC_REQUIRE([AC_PROG_CC])dnl
159 AC_REQUIRE([LT_PATH_LD])dnl
160 AC_REQUIRE([LT_PATH_NM])dnl
161 dnl
162 AC_REQUIRE([AC_PROG_LN_S])dnl
163 test -z "$LN_S" && LN_S="ln -s"
164 _LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl
165 dnl
166 AC_REQUIRE([LT_CMD_MAX_LEN])dnl
167 _LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl
168 _LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl
169 dnl
170 m4_require([_LT_FILEUTILS_DEFAULTS])dnl
171 m4_require([_LT_CHECK_SHELL_FEATURES])dnl
172 m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl
173 m4_require([_LT_CMD_RELOAD])dnl
174 m4_require([_LT_CHECK_MAGIC_METHOD])dnl
175 m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl
176 m4_require([_LT_CMD_OLD_ARCHIVE])dnl
177 m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
178 m4_require([_LT_WITH_SYSROOT])dnl
179
180 _LT_CONFIG_LIBTOOL_INIT([
181 # See if we are running on zsh, and set the options which allow our
182 # commands through without removal of \ escapes INIT.
183 if test -n "\${ZSH_VERSION+set}" ; then
184 setopt NO_GLOB_SUBST
185 fi
186 ])
187 if test -n "${ZSH_VERSION+set}" ; then
188 setopt NO_GLOB_SUBST
189 fi
190
191 _LT_CHECK_OBJDIR
192
193 m4_require([_LT_TAG_COMPILER])dnl
194
195 case $host_os in
196 aix3*)
197 # AIX sometimes has problems with the GCC collect2 program. For some
198 # reason, if we set the COLLECT_NAMES environment variable, the problems
199 # vanish in a puff of smoke.
200 if test "X${COLLECT_NAMES+set}" != Xset; then
201 COLLECT_NAMES=
202 export COLLECT_NAMES
203 fi
204 ;;
205 esac
206
207 # Global variables:
208 ofile=libtool
209 can_build_shared=yes
210
211 # All known linkers require a `.a' archive for static linking (except MSVC,
212 # which needs '.lib').
213 libext=a
214
215 with_gnu_ld="$lt_cv_prog_gnu_ld"
216
217 old_CC="$CC"
218 old_CFLAGS="$CFLAGS"
219
220 # Set sane defaults for various variables
221 test -z "$CC" && CC=cc
222 test -z "$LTCC" && LTCC=$CC
223 test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
224 test -z "$LD" && LD=ld
225 test -z "$ac_objext" && ac_objext=o
226
227 _LT_CC_BASENAME([$compiler])
228
229 # Only perform the check for file, if the check method requires it
230 test -z "$MAGIC_CMD" && MAGIC_CMD=file
231 case $deplibs_check_method in
232 file_magic*)
233 if test "$file_magic_cmd" = '$MAGIC_CMD'; then
234 _LT_PATH_MAGIC
235 fi
236 ;;
237 esac
238
239 # Use C for the default configuration in the libtool script
240 LT_SUPPORTED_TAG([CC])
241 _LT_LANG_C_CONFIG
242 _LT_LANG_DEFAULT_CONFIG
243 _LT_CONFIG_COMMANDS
244 ])# _LT_SETUP
245
246
247 # _LT_PREPARE_SED_QUOTE_VARS
248 # --------------------------
249 # Define a few sed substitution that help us do robust quoting.
250 m4_defun([_LT_PREPARE_SED_QUOTE_VARS],
251 [# Backslashify metacharacters that are still active within
252 # double-quoted strings.
253 sed_quote_subst='s/\([["`$\\]]\)/\\\1/g'
254
255 # Same as above, but do not quote variable references.
256 double_quote_subst='s/\([["`\\]]\)/\\\1/g'
257
258 # Sed substitution to delay expansion of an escaped shell variable in a
259 # double_quote_subst'ed string.
260 delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
261
262 # Sed substitution to delay expansion of an escaped single quote.
263 delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
264
265 # Sed substitution to avoid accidental globbing in evaled expressions
266 no_glob_subst='s/\*/\\\*/g'
267 ])
268
269 # _LT_PROG_LTMAIN
270 # ---------------
271 # Note that this code is called both from `configure', and `config.status'
272 # now that we use AC_CONFIG_COMMANDS to generate libtool. Notably,
273 # `config.status' has no value for ac_aux_dir unless we are using Automake,
274 # so we pass a copy along to make sure it has a sensible value anyway.
275 m4_defun([_LT_PROG_LTMAIN],
276 [m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl
277 _LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir'])
278 ltmain="$ac_aux_dir/ltmain.sh"
279 ])# _LT_PROG_LTMAIN
280
281
282 ## ------------------------------------- ##
283 ## Accumulate code for creating libtool. ##
284 ## ------------------------------------- ##
285
286 # So that we can recreate a full libtool script including additional
287 # tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS
288 # in macros and then make a single call at the end using the `libtool'
289 # label.
290
291
292 # _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS])
293 # ----------------------------------------
294 # Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later.
295 m4_define([_LT_CONFIG_LIBTOOL_INIT],
296 [m4_ifval([$1],
297 [m4_append([_LT_OUTPUT_LIBTOOL_INIT],
298 [$1
299 ])])])
300
301 # Initialize.
302 m4_define([_LT_OUTPUT_LIBTOOL_INIT])
303
304
305 # _LT_CONFIG_LIBTOOL([COMMANDS])
306 # ------------------------------
307 # Register COMMANDS to be passed to AC_CONFIG_COMMANDS later.
308 m4_define([_LT_CONFIG_LIBTOOL],
309 [m4_ifval([$1],
310 [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS],
311 [$1
312 ])])])
313
314 # Initialize.
315 m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS])
316
317
318 # _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS])
319 # -----------------------------------------------------
320 m4_defun([_LT_CONFIG_SAVE_COMMANDS],
321 [_LT_CONFIG_LIBTOOL([$1])
322 _LT_CONFIG_LIBTOOL_INIT([$2])
323 ])
324
325
326 # _LT_FORMAT_COMMENT([COMMENT])
327 # -----------------------------
328 # Add leading comment marks to the start of each line, and a trailing
329 # full-stop to the whole comment if one is not present already.
330 m4_define([_LT_FORMAT_COMMENT],
331 [m4_ifval([$1], [
332 m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])],
333 [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.])
334 )])
335
336
337
338 ## ------------------------ ##
339 ## FIXME: Eliminate VARNAME ##
340 ## ------------------------ ##
341
342
343 # _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?])
344 # -------------------------------------------------------------------
345 # CONFIGNAME is the name given to the value in the libtool script.
346 # VARNAME is the (base) name used in the configure script.
347 # VALUE may be 0, 1 or 2 for a computed quote escaped value based on
348 # VARNAME. Any other value will be used directly.
349 m4_define([_LT_DECL],
350 [lt_if_append_uniq([lt_decl_varnames], [$2], [, ],
351 [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name],
352 [m4_ifval([$1], [$1], [$2])])
353 lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3])
354 m4_ifval([$4],
355 [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])])
356 lt_dict_add_subkey([lt_decl_dict], [$2],
357 [tagged?], [m4_ifval([$5], [yes], [no])])])
358 ])
359
360
361 # _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION])
362 # --------------------------------------------------------
363 m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])])
364
365
366 # lt_decl_tag_varnames([SEPARATOR], [VARNAME1...])
367 # ------------------------------------------------
368 m4_define([lt_decl_tag_varnames],
369 [_lt_decl_filter([tagged?], [yes], $@)])
370
371
372 # _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..])
373 # ---------------------------------------------------------
374 m4_define([_lt_decl_filter],
375 [m4_case([$#],
376 [0], [m4_fatal([$0: too few arguments: $#])],
377 [1], [m4_fatal([$0: too few arguments: $#: $1])],
378 [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)],
379 [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)],
380 [lt_dict_filter([lt_decl_dict], $@)])[]dnl
381 ])
382
383
384 # lt_decl_quote_varnames([SEPARATOR], [VARNAME1...])
385 # --------------------------------------------------
386 m4_define([lt_decl_quote_varnames],
387 [_lt_decl_filter([value], [1], $@)])
388
389
390 # lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...])
391 # ---------------------------------------------------
392 m4_define([lt_decl_dquote_varnames],
393 [_lt_decl_filter([value], [2], $@)])
394
395
396 # lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...])
397 # ---------------------------------------------------
398 m4_define([lt_decl_varnames_tagged],
399 [m4_assert([$# <= 2])dnl
400 _$0(m4_quote(m4_default([$1], [[, ]])),
401 m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]),
402 m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))])
403 m4_define([_lt_decl_varnames_tagged],
404 [m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])])
405
406
407 # lt_decl_all_varnames([SEPARATOR], [VARNAME1...])
408 # ------------------------------------------------
409 m4_define([lt_decl_all_varnames],
410 [_$0(m4_quote(m4_default([$1], [[, ]])),
411 m4_if([$2], [],
412 m4_quote(lt_decl_varnames),
413 m4_quote(m4_shift($@))))[]dnl
414 ])
415 m4_define([_lt_decl_all_varnames],
416 [lt_join($@, lt_decl_varnames_tagged([$1],
417 lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl
418 ])
419
420
421 # _LT_CONFIG_STATUS_DECLARE([VARNAME])
422 # ------------------------------------
423 # Quote a variable value, and forward it to `config.status' so that its
424 # declaration there will have the same value as in `configure'. VARNAME
425 # must have a single quote delimited value for this to work.
426 m4_define([_LT_CONFIG_STATUS_DECLARE],
427 [$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`'])
428
429
430 # _LT_CONFIG_STATUS_DECLARATIONS
431 # ------------------------------
432 # We delimit libtool config variables with single quotes, so when
433 # we write them to config.status, we have to be sure to quote all
434 # embedded single quotes properly. In configure, this macro expands
435 # each variable declared with _LT_DECL (and _LT_TAGDECL) into:
436 #
437 # <var>='`$ECHO "$<var>" | $SED "$delay_single_quote_subst"`'
438 m4_defun([_LT_CONFIG_STATUS_DECLARATIONS],
439 [m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames),
440 [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])])
441
442
443 # _LT_LIBTOOL_TAGS
444 # ----------------
445 # Output comment and list of tags supported by the script
446 m4_defun([_LT_LIBTOOL_TAGS],
447 [_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl
448 available_tags="_LT_TAGS"dnl
449 ])
450
451
452 # _LT_LIBTOOL_DECLARE(VARNAME, [TAG])
453 # -----------------------------------
454 # Extract the dictionary values for VARNAME (optionally with TAG) and
455 # expand to a commented shell variable setting:
456 #
457 # # Some comment about what VAR is for.
458 # visible_name=$lt_internal_name
459 m4_define([_LT_LIBTOOL_DECLARE],
460 [_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1],
461 [description])))[]dnl
462 m4_pushdef([_libtool_name],
463 m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl
464 m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])),
465 [0], [_libtool_name=[$]$1],
466 [1], [_libtool_name=$lt_[]$1],
467 [2], [_libtool_name=$lt_[]$1],
468 [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl
469 m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl
470 ])
471
472
473 # _LT_LIBTOOL_CONFIG_VARS
474 # -----------------------
475 # Produce commented declarations of non-tagged libtool config variables
476 # suitable for insertion in the LIBTOOL CONFIG section of the `libtool'
477 # script. Tagged libtool config variables (even for the LIBTOOL CONFIG
478 # section) are produced by _LT_LIBTOOL_TAG_VARS.
479 m4_defun([_LT_LIBTOOL_CONFIG_VARS],
480 [m4_foreach([_lt_var],
481 m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)),
482 [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])])
483
484
485 # _LT_LIBTOOL_TAG_VARS(TAG)
486 # -------------------------
487 m4_define([_LT_LIBTOOL_TAG_VARS],
488 [m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames),
489 [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])])
490
491
492 # _LT_TAGVAR(VARNAME, [TAGNAME])
493 # ------------------------------
494 m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])])
495
496
497 # _LT_CONFIG_COMMANDS
498 # -------------------
499 # Send accumulated output to $CONFIG_STATUS. Thanks to the lists of
500 # variables for single and double quote escaping we saved from calls
501 # to _LT_DECL, we can put quote escaped variables declarations
502 # into `config.status', and then the shell code to quote escape them in
503 # for loops in `config.status'. Finally, any additional code accumulated
504 # from calls to _LT_CONFIG_LIBTOOL_INIT is expanded.
505 m4_defun([_LT_CONFIG_COMMANDS],
506 [AC_PROVIDE_IFELSE([LT_OUTPUT],
507 dnl If the libtool generation code has been placed in $CONFIG_LT,
508 dnl instead of duplicating it all over again into config.status,
509 dnl then we will have config.status run $CONFIG_LT later, so it
510 dnl needs to know what name is stored there:
511 [AC_CONFIG_COMMANDS([libtool],
512 [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])],
513 dnl If the libtool generation code is destined for config.status,
514 dnl expand the accumulated commands and init code now:
515 [AC_CONFIG_COMMANDS([libtool],
516 [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])])
517 ])#_LT_CONFIG_COMMANDS
518
519
520 # Initialize.
521 m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT],
522 [
523
524 # The HP-UX ksh and POSIX shell print the target directory to stdout
525 # if CDPATH is set.
526 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
527
528 sed_quote_subst='$sed_quote_subst'
529 double_quote_subst='$double_quote_subst'
530 delay_variable_subst='$delay_variable_subst'
531 _LT_CONFIG_STATUS_DECLARATIONS
532 LTCC='$LTCC'
533 LTCFLAGS='$LTCFLAGS'
534 compiler='$compiler_DEFAULT'
535
536 # A function that is used when there is no print builtin or printf.
537 func_fallback_echo ()
538 {
539 eval 'cat <<_LTECHO_EOF
540 \$[]1
541 _LTECHO_EOF'
542 }
543
544 # Quote evaled strings.
545 for var in lt_decl_all_varnames([[ \
546 ]], lt_decl_quote_varnames); do
547 case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
548 *[[\\\\\\\`\\"\\\$]]*)
549 eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
550 ;;
551 *)
552 eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
553 ;;
554 esac
555 done
556
557 # Double-quote double-evaled strings.
558 for var in lt_decl_all_varnames([[ \
559 ]], lt_decl_dquote_varnames); do
560 case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
561 *[[\\\\\\\`\\"\\\$]]*)
562 eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
563 ;;
564 *)
565 eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
566 ;;
567 esac
568 done
569
570 _LT_OUTPUT_LIBTOOL_INIT
571 ])
572
573 # _LT_GENERATED_FILE_INIT(FILE, [COMMENT])
574 # ------------------------------------
575 # Generate a child script FILE with all initialization necessary to
576 # reuse the environment learned by the parent script, and make the
577 # file executable. If COMMENT is supplied, it is inserted after the
578 # `#!' sequence but before initialization text begins. After this
579 # macro, additional text can be appended to FILE to form the body of
580 # the child script. The macro ends with non-zero status if the
581 # file could not be fully written (such as if the disk is full).
582 m4_ifdef([AS_INIT_GENERATED],
583 [m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])],
584 [m4_defun([_LT_GENERATED_FILE_INIT],
585 [m4_require([AS_PREPARE])]dnl
586 [m4_pushdef([AS_MESSAGE_LOG_FD])]dnl
587 [lt_write_fail=0
588 cat >$1 <<_ASEOF || lt_write_fail=1
589 #! $SHELL
590 # Generated by $as_me.
591 $2
592 SHELL=\${CONFIG_SHELL-$SHELL}
593 export SHELL
594 _ASEOF
595 cat >>$1 <<\_ASEOF || lt_write_fail=1
596 AS_SHELL_SANITIZE
597 _AS_PREPARE
598 exec AS_MESSAGE_FD>&1
599 _ASEOF
600 test $lt_write_fail = 0 && chmod +x $1[]dnl
601 m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT
602
603 # LT_OUTPUT
604 # ---------
605 # This macro allows early generation of the libtool script (before
606 # AC_OUTPUT is called), incase it is used in configure for compilation
607 # tests.
608 AC_DEFUN([LT_OUTPUT],
609 [: ${CONFIG_LT=./config.lt}
610 AC_MSG_NOTICE([creating $CONFIG_LT])
611 _LT_GENERATED_FILE_INIT(["$CONFIG_LT"],
612 [# Run this file to recreate a libtool stub with the current configuration.])
613
614 cat >>"$CONFIG_LT" <<\_LTEOF
615 lt_cl_silent=false
616 exec AS_MESSAGE_LOG_FD>>config.log
617 {
618 echo
619 AS_BOX([Running $as_me.])
620 } >&AS_MESSAGE_LOG_FD
621
622 lt_cl_help="\
623 \`$as_me' creates a local libtool stub from the current configuration,
624 for use in further configure time tests before the real libtool is
625 generated.
626
627 Usage: $[0] [[OPTIONS]]
628
629 -h, --help print this help, then exit
630 -V, --version print version number, then exit
631 -q, --quiet do not print progress messages
632 -d, --debug don't remove temporary files
633
634 Report bugs to <bug-libtool@gnu.org>."
635
636 lt_cl_version="\
637 m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl
638 m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
639 configured by $[0], generated by m4_PACKAGE_STRING.
640
641 Copyright (C) 2011 Free Software Foundation, Inc.
642 This config.lt script is free software; the Free Software Foundation
643 gives unlimited permision to copy, distribute and modify it."
644
645 while test $[#] != 0
646 do
647 case $[1] in
648 --version | --v* | -V )
649 echo "$lt_cl_version"; exit 0 ;;
650 --help | --h* | -h )
651 echo "$lt_cl_help"; exit 0 ;;
652 --debug | --d* | -d )
653 debug=: ;;
654 --quiet | --q* | --silent | --s* | -q )
655 lt_cl_silent=: ;;
656
657 -*) AC_MSG_ERROR([unrecognized option: $[1]
658 Try \`$[0] --help' for more information.]) ;;
659
660 *) AC_MSG_ERROR([unrecognized argument: $[1]
661 Try \`$[0] --help' for more information.]) ;;
662 esac
663 shift
664 done
665
666 if $lt_cl_silent; then
667 exec AS_MESSAGE_FD>/dev/null
668 fi
669 _LTEOF
670
671 cat >>"$CONFIG_LT" <<_LTEOF
672 _LT_OUTPUT_LIBTOOL_COMMANDS_INIT
673 _LTEOF
674
675 cat >>"$CONFIG_LT" <<\_LTEOF
676 AC_MSG_NOTICE([creating $ofile])
677 _LT_OUTPUT_LIBTOOL_COMMANDS
678 AS_EXIT(0)
679 _LTEOF
680 chmod +x "$CONFIG_LT"
681
682 # configure is writing to config.log, but config.lt does its own redirection,
683 # appending to config.log, which fails on DOS, as config.log is still kept
684 # open by configure. Here we exec the FD to /dev/null, effectively closing
685 # config.log, so it can be properly (re)opened and appended to by config.lt.
686 lt_cl_success=:
687 test "$silent" = yes &&
688 lt_config_lt_args="$lt_config_lt_args --quiet"
689 exec AS_MESSAGE_LOG_FD>/dev/null
690 $SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
691 exec AS_MESSAGE_LOG_FD>>config.log
692 $lt_cl_success || AS_EXIT(1)
693 ])# LT_OUTPUT
694
695
696 # _LT_CONFIG(TAG)
697 # ---------------
698 # If TAG is the built-in tag, create an initial libtool script with a
699 # default configuration from the untagged config vars. Otherwise add code
700 # to config.status for appending the configuration named by TAG from the
701 # matching tagged config vars.
702 m4_defun([_LT_CONFIG],
703 [m4_require([_LT_FILEUTILS_DEFAULTS])dnl
704 _LT_CONFIG_SAVE_COMMANDS([
705 m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl
706 m4_if(_LT_TAG, [C], [
707 # See if we are running on zsh, and set the options which allow our
708 # commands through without removal of \ escapes.
709 if test -n "${ZSH_VERSION+set}" ; then
710 setopt NO_GLOB_SUBST
711 fi
712
713 cfgfile="${ofile}T"
714 trap "$RM \"$cfgfile\"; exit 1" 1 2 15
715 $RM "$cfgfile"
716
717 cat <<_LT_EOF >> "$cfgfile"
718 #! $SHELL
719
720 # `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
721 # Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
722 # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
723 # NOTE: Changes made to this file will be lost: look at ltmain.sh.
724 #
725 _LT_COPYING
726 _LT_LIBTOOL_TAGS
727
728 # ### BEGIN LIBTOOL CONFIG
729 _LT_LIBTOOL_CONFIG_VARS
730 _LT_LIBTOOL_TAG_VARS
731 # ### END LIBTOOL CONFIG
732
733 _LT_EOF
734
735 case $host_os in
736 aix3*)
737 cat <<\_LT_EOF >> "$cfgfile"
738 # AIX sometimes has problems with the GCC collect2 program. For some
739 # reason, if we set the COLLECT_NAMES environment variable, the problems
740 # vanish in a puff of smoke.
741 if test "X${COLLECT_NAMES+set}" != Xset; then
742 COLLECT_NAMES=
743 export COLLECT_NAMES
744 fi
745 _LT_EOF
746 ;;
747 esac
748
749 _LT_PROG_LTMAIN
750
751 # We use sed instead of cat because bash on DJGPP gets confused if
752 # if finds mixed CR/LF and LF-only lines. Since sed operates in
753 # text mode, it properly converts lines to CR/LF. This bash problem
754 # is reportedly fixed, but why not run on old versions too?
755 sed '$q' "$ltmain" >> "$cfgfile" \
756 || (rm -f "$cfgfile"; exit 1)
757
758 _LT_PROG_REPLACE_SHELLFNS
759
760 mv -f "$cfgfile" "$ofile" ||
761 (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
762 chmod +x "$ofile"
763 ],
764 [cat <<_LT_EOF >> "$ofile"
765
766 dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded
767 dnl in a comment (ie after a #).
768 # ### BEGIN LIBTOOL TAG CONFIG: $1
769 _LT_LIBTOOL_TAG_VARS(_LT_TAG)
770 # ### END LIBTOOL TAG CONFIG: $1
771 _LT_EOF
772 ])dnl /m4_if
773 ],
774 [m4_if([$1], [], [
775 PACKAGE='$PACKAGE'
776 VERSION='$VERSION'
777 TIMESTAMP='$TIMESTAMP'
778 RM='$RM'
779 ofile='$ofile'], [])
780 ])dnl /_LT_CONFIG_SAVE_COMMANDS
781 ])# _LT_CONFIG
782
783
784 # LT_SUPPORTED_TAG(TAG)
785 # ---------------------
786 # Trace this macro to discover what tags are supported by the libtool
787 # --tag option, using:
788 # autoconf --trace 'LT_SUPPORTED_TAG:$1'
789 AC_DEFUN([LT_SUPPORTED_TAG], [])
790
791
792 # C support is built-in for now
793 m4_define([_LT_LANG_C_enabled], [])
794 m4_define([_LT_TAGS], [])
795
796
797 # LT_LANG(LANG)
798 # -------------
799 # Enable libtool support for the given language if not already enabled.
800 AC_DEFUN([LT_LANG],
801 [AC_BEFORE([$0], [LT_OUTPUT])dnl
802 m4_case([$1],
803 [C], [_LT_LANG(C)],
804 [C++], [_LT_LANG(CXX)],
805 [Go], [_LT_LANG(GO)],
806 [Java], [_LT_LANG(GCJ)],
807 [Fortran 77], [_LT_LANG(F77)],
808 [Fortran], [_LT_LANG(FC)],
809 [Windows Resource], [_LT_LANG(RC)],
810 [m4_ifdef([_LT_LANG_]$1[_CONFIG],
811 [_LT_LANG($1)],
812 [m4_fatal([$0: unsupported language: "$1"])])])dnl
813 ])# LT_LANG
814
815
816 # _LT_LANG(LANGNAME)
817 # ------------------
818 m4_defun([_LT_LANG],
819 [m4_ifdef([_LT_LANG_]$1[_enabled], [],
820 [LT_SUPPORTED_TAG([$1])dnl
821 m4_append([_LT_TAGS], [$1 ])dnl
822 m4_define([_LT_LANG_]$1[_enabled], [])dnl
823 _LT_LANG_$1_CONFIG($1)])dnl
824 ])# _LT_LANG
825
826
827 m4_ifndef([AC_PROG_GO], [
828 ############################################################
829 # NOTE: This macro has been submitted for inclusion into #
830 # GNU Autoconf as AC_PROG_GO. When it is available in #
831 # a released version of Autoconf we should remove this #
832 # macro and use it instead. #
833 ############################################################
834 m4_defun([AC_PROG_GO],
835 [AC_LANG_PUSH(Go)dnl
836 AC_ARG_VAR([GOC], [Go compiler command])dnl
837 AC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl
838 _AC_ARG_VAR_LDFLAGS()dnl
839 AC_CHECK_TOOL(GOC, gccgo)
840 if test -z "$GOC"; then
841 if test -n "$ac_tool_prefix"; then
842 AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo])
843 fi
844 fi
845 if test -z "$GOC"; then
846 AC_CHECK_PROG(GOC, gccgo, gccgo, false)
847 fi
848 ])#m4_defun
849 ])#m4_ifndef
850
851
852 # _LT_LANG_DEFAULT_CONFIG
853 # -----------------------
854 m4_defun([_LT_LANG_DEFAULT_CONFIG],
855 [AC_PROVIDE_IFELSE([AC_PROG_CXX],
856 [LT_LANG(CXX)],
857 [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])])
858
859 AC_PROVIDE_IFELSE([AC_PROG_F77],
860 [LT_LANG(F77)],
861 [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])])
862
863 AC_PROVIDE_IFELSE([AC_PROG_FC],
864 [LT_LANG(FC)],
865 [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])])
866
867 dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal
868 dnl pulling things in needlessly.
869 AC_PROVIDE_IFELSE([AC_PROG_GCJ],
870 [LT_LANG(GCJ)],
871 [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
872 [LT_LANG(GCJ)],
873 [AC_PROVIDE_IFELSE([LT_PROG_GCJ],
874 [LT_LANG(GCJ)],
875 [m4_ifdef([AC_PROG_GCJ],
876 [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])])
877 m4_ifdef([A][M_PROG_GCJ],
878 [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])])
879 m4_ifdef([LT_PROG_GCJ],
880 [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])
881
882 AC_PROVIDE_IFELSE([AC_PROG_GO],
883 [LT_LANG(GO)],
884 [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])])
885
886 AC_PROVIDE_IFELSE([LT_PROG_RC],
887 [LT_LANG(RC)],
888 [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])])
889 ])# _LT_LANG_DEFAULT_CONFIG
890
891 # Obsolete macros:
892 AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)])
893 AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)])
894 AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)])
895 AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)])
896 AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)])
897 dnl aclocal-1.4 backwards compatibility:
898 dnl AC_DEFUN([AC_LIBTOOL_CXX], [])
899 dnl AC_DEFUN([AC_LIBTOOL_F77], [])
900 dnl AC_DEFUN([AC_LIBTOOL_FC], [])
901 dnl AC_DEFUN([AC_LIBTOOL_GCJ], [])
902 dnl AC_DEFUN([AC_LIBTOOL_RC], [])
903
904
905 # _LT_TAG_COMPILER
906 # ----------------
907 m4_defun([_LT_TAG_COMPILER],
908 [AC_REQUIRE([AC_PROG_CC])dnl
909
910 _LT_DECL([LTCC], [CC], [1], [A C compiler])dnl
911 _LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl
912 _LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl
913 _LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl
914
915 # If no C compiler was specified, use CC.
916 LTCC=${LTCC-"$CC"}
917
918 # If no C compiler flags were specified, use CFLAGS.
919 LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
920
921 # Allow CC to be a program name with arguments.
922 compiler=$CC
923 ])# _LT_TAG_COMPILER
924
925
926 # _LT_COMPILER_BOILERPLATE
927 # ------------------------
928 # Check for compiler boilerplate output or warnings with
929 # the simple compiler test code.
930 m4_defun([_LT_COMPILER_BOILERPLATE],
931 [m4_require([_LT_DECL_SED])dnl
932 ac_outfile=conftest.$ac_objext
933 echo "$lt_simple_compile_test_code" >conftest.$ac_ext
934 eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
935 _lt_compiler_boilerplate=`cat conftest.err`
936 $RM conftest*
937 ])# _LT_COMPILER_BOILERPLATE
938
939
940 # _LT_LINKER_BOILERPLATE
941 # ----------------------
942 # Check for linker boilerplate output or warnings with
943 # the simple link test code.
944 m4_defun([_LT_LINKER_BOILERPLATE],
945 [m4_require([_LT_DECL_SED])dnl
946 ac_outfile=conftest.$ac_objext
947 echo "$lt_simple_link_test_code" >conftest.$ac_ext
948 eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
949 _lt_linker_boilerplate=`cat conftest.err`
950 $RM -r conftest*
951 ])# _LT_LINKER_BOILERPLATE
952
953 # _LT_REQUIRED_DARWIN_CHECKS
954 # -------------------------
955 m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
956 case $host_os in
957 rhapsody* | darwin*)
958 AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
959 AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
960 AC_CHECK_TOOL([LIPO], [lipo], [:])
961 AC_CHECK_TOOL([OTOOL], [otool], [:])
962 AC_CHECK_TOOL([OTOOL64], [otool64], [:])
963 _LT_DECL([], [DSYMUTIL], [1],
964 [Tool to manipulate archived DWARF debug symbol files on Mac OS X])
965 _LT_DECL([], [NMEDIT], [1],
966 [Tool to change global to local symbols on Mac OS X])
967 _LT_DECL([], [LIPO], [1],
968 [Tool to manipulate fat objects and archives on Mac OS X])
969 _LT_DECL([], [OTOOL], [1],
970 [ldd/readelf like tool for Mach-O binaries on Mac OS X])
971 _LT_DECL([], [OTOOL64], [1],
972 [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4])
973
974 AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
975 [lt_cv_apple_cc_single_mod=no
976 if test -z "${LT_MULTI_MODULE}"; then
977 # By default we will add the -single_module flag. You can override
978 # by either setting the environment variable LT_MULTI_MODULE
979 # non-empty at configure time, or by adding -multi_module to the
980 # link flags.
981 rm -rf libconftest.dylib*
982 echo "int foo(void){return 1;}" > conftest.c
983 echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
984 -dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD
985 $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
986 -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
987 _lt_result=$?
988 # If there is a non-empty error log, and "single_module"
989 # appears in it, assume the flag caused a linker warning
990 if test -s conftest.err && $GREP single_module conftest.err; then
991 cat conftest.err >&AS_MESSAGE_LOG_FD
992 # Otherwise, if the output was created with a 0 exit code from
993 # the compiler, it worked.
994 elif test -f libconftest.dylib && test $_lt_result -eq 0; then
995 lt_cv_apple_cc_single_mod=yes
996 else
997 cat conftest.err >&AS_MESSAGE_LOG_FD
998 fi
999 rm -rf libconftest.dylib*
1000 rm -f conftest.*
1001 fi])
1002
1003 AC_CACHE_CHECK([for -exported_symbols_list linker flag],
1004 [lt_cv_ld_exported_symbols_list],
1005 [lt_cv_ld_exported_symbols_list=no
1006 save_LDFLAGS=$LDFLAGS
1007 echo "_main" > conftest.sym
1008 LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
1009 AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
1010 [lt_cv_ld_exported_symbols_list=yes],
1011 [lt_cv_ld_exported_symbols_list=no])
1012 LDFLAGS="$save_LDFLAGS"
1013 ])
1014
1015 AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load],
1016 [lt_cv_ld_force_load=no
1017 cat > conftest.c << _LT_EOF
1018 int forced_loaded() { return 2;}
1019 _LT_EOF
1020 echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD
1021 $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD
1022 echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD
1023 $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD
1024 echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD
1025 $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD
1026 cat > conftest.c << _LT_EOF
1027 int main() { return 0;}
1028 _LT_EOF
1029 echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD
1030 $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
1031 _lt_result=$?
1032 if test -s conftest.err && $GREP force_load conftest.err; then
1033 cat conftest.err >&AS_MESSAGE_LOG_FD
1034 elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then
1035 lt_cv_ld_force_load=yes
1036 else
1037 cat conftest.err >&AS_MESSAGE_LOG_FD
1038 fi
1039 rm -f conftest.err libconftest.a conftest conftest.c
1040 rm -rf conftest.dSYM
1041 ])
1042 case $host_os in
1043 rhapsody* | darwin1.[[012]])
1044 _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
1045 darwin1.*)
1046 _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
1047 darwin*) # darwin 5.x on
1048 # if running on 10.5 or later, the deployment target defaults
1049 # to the OS version, if on x86, and 10.4, the deployment
1050 # target defaults to 10.4. Don't you love it?
1051 case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
1052 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
1053 _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
1054 10.[[012]]*)
1055 _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
1056 10.*)
1057 _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
1058 esac
1059 ;;
1060 esac
1061 if test "$lt_cv_apple_cc_single_mod" = "yes"; then
1062 _lt_dar_single_mod='$single_module'
1063 fi
1064 if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
1065 _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
1066 else
1067 _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
1068 fi
1069 if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then
1070 _lt_dsymutil='~$DSYMUTIL $lib || :'
1071 else
1072 _lt_dsymutil=
1073 fi
1074 ;;
1075 esac
1076 ])
1077
1078
1079 # _LT_DARWIN_LINKER_FEATURES([TAG])
1080 # ---------------------------------
1081 # Checks for linker and compiler features on darwin
1082 m4_defun([_LT_DARWIN_LINKER_FEATURES],
1083 [
1084 m4_require([_LT_REQUIRED_DARWIN_CHECKS])
1085 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
1086 _LT_TAGVAR(hardcode_direct, $1)=no
1087 _LT_TAGVAR(hardcode_automatic, $1)=yes
1088 _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
1089 if test "$lt_cv_ld_force_load" = "yes"; then
1090 _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
1091 m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes],
1092 [FC], [_LT_TAGVAR(compiler_needs_object, $1)=yes])
1093 else
1094 _LT_TAGVAR(whole_archive_flag_spec, $1)=''
1095 fi
1096 _LT_TAGVAR(link_all_deplibs, $1)=yes
1097 _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined"
1098 case $cc_basename in
1099 ifort*) _lt_dar_can_shared=yes ;;
1100 *) _lt_dar_can_shared=$GCC ;;
1101 esac
1102 if test "$_lt_dar_can_shared" = "yes"; then
1103 output_verbose_link_cmd=func_echo_all
1104 _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
1105 _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
1106 _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
1107 _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
1108 m4_if([$1], [CXX],
1109 [ if test "$lt_cv_apple_cc_single_mod" != "yes"; then
1110 _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}"
1111 _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}"
1112 fi
1113 ],[])
1114 else
1115 _LT_TAGVAR(ld_shlibs, $1)=no
1116 fi
1117 ])
1118
1119 # _LT_SYS_MODULE_PATH_AIX([TAGNAME])
1120 # ----------------------------------
1121 # Links a minimal program and checks the executable
1122 # for the system default hardcoded library path. In most cases,
1123 # this is /usr/lib:/lib, but when the MPI compilers are used
1124 # the location of the communication and MPI libs are included too.
1125 # If we don't find anything, use the default library path according
1126 # to the aix ld manual.
1127 # Store the results from the different compilers for each TAGNAME.
1128 # Allow to override them for all tags through lt_cv_aix_libpath.
1129 m4_defun([_LT_SYS_MODULE_PATH_AIX],
1130 [m4_require([_LT_DECL_SED])dnl
1131 if test "${lt_cv_aix_libpath+set}" = set; then
1132 aix_libpath=$lt_cv_aix_libpath
1133 else
1134 AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])],
1135 [AC_LINK_IFELSE([AC_LANG_PROGRAM],[
1136 lt_aix_libpath_sed='[
1137 /Import File Strings/,/^$/ {
1138 /^0/ {
1139 s/^0 *\([^ ]*\) *$/\1/
1140 p
1141 }
1142 }]'
1143 _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
1144 # Check for a 64-bit object if we didn't find anything.
1145 if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
1146 _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
1147 fi],[])
1148 if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
1149 _LT_TAGVAR([lt_cv_aix_libpath_], [$1])="/usr/lib:/lib"
1150 fi
1151 ])
1152 aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])
1153 fi
1154 ])# _LT_SYS_MODULE_PATH_AIX
1155
1156
1157 # _LT_SHELL_INIT(ARG)
1158 # -------------------
1159 m4_define([_LT_SHELL_INIT],
1160 [m4_divert_text([M4SH-INIT], [$1
1161 ])])# _LT_SHELL_INIT
1162
1163
1164
1165 # _LT_PROG_ECHO_BACKSLASH
1166 # -----------------------
1167 # Find how we can fake an echo command that does not interpret backslash.
1168 # In particular, with Autoconf 2.60 or later we add some code to the start
1169 # of the generated configure script which will find a shell with a builtin
1170 # printf (which we can use as an echo command).
1171 m4_defun([_LT_PROG_ECHO_BACKSLASH],
1172 [ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
1173 ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
1174 ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
1175
1176 AC_MSG_CHECKING([how to print strings])
1177 # Test print first, because it will be a builtin if present.
1178 if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
1179 test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
1180 ECHO='print -r --'
1181 elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
1182 ECHO='printf %s\n'
1183 else
1184 # Use this function as a fallback that always works.
1185 func_fallback_echo ()
1186 {
1187 eval 'cat <<_LTECHO_EOF
1188 $[]1
1189 _LTECHO_EOF'
1190 }
1191 ECHO='func_fallback_echo'
1192 fi
1193
1194 # func_echo_all arg...
1195 # Invoke $ECHO with all args, space-separated.
1196 func_echo_all ()
1197 {
1198 $ECHO "$*"
1199 }
1200
1201 case "$ECHO" in
1202 printf*) AC_MSG_RESULT([printf]) ;;
1203 print*) AC_MSG_RESULT([print -r]) ;;
1204 *) AC_MSG_RESULT([cat]) ;;
1205 esac
1206
1207 m4_ifdef([_AS_DETECT_SUGGESTED],
1208 [_AS_DETECT_SUGGESTED([
1209 test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || (
1210 ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
1211 ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
1212 ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
1213 PATH=/empty FPATH=/empty; export PATH FPATH
1214 test "X`printf %s $ECHO`" = "X$ECHO" \
1215 || test "X`print -r -- $ECHO`" = "X$ECHO" )])])
1216
1217 _LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts])
1218 _LT_DECL([], [ECHO], [1], [An echo program that protects backslashes])
1219 ])# _LT_PROG_ECHO_BACKSLASH
1220
1221
1222 # _LT_WITH_SYSROOT
1223 # ----------------
1224 AC_DEFUN([_LT_WITH_SYSROOT],
1225 [AC_MSG_CHECKING([for sysroot])
1226 AC_ARG_WITH([sysroot],
1227 [ --with-sysroot[=DIR] Search for dependent libraries within DIR
1228 (or the compiler's sysroot if not specified).],
1229 [], [with_sysroot=no])
1230
1231 dnl lt_sysroot will always be passed unquoted. We quote it here
1232 dnl in case the user passed a directory name.
1233 lt_sysroot=
1234 case ${with_sysroot} in #(
1235 yes)
1236 if test "$GCC" = yes; then
1237 lt_sysroot=`$CC --print-sysroot 2>/dev/null`
1238 fi
1239 ;; #(
1240 /*)
1241 lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
1242 ;; #(
1243 no|'')
1244 ;; #(
1245 *)
1246 AC_MSG_RESULT([${with_sysroot}])
1247 AC_MSG_ERROR([The sysroot must be an absolute path.])
1248 ;;
1249 esac
1250
1251 AC_MSG_RESULT([${lt_sysroot:-no}])
1252 _LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl
1253 [dependent libraries, and in which our libraries should be installed.])])
1254
1255 # _LT_ENABLE_LOCK
1256 # ---------------
1257 m4_defun([_LT_ENABLE_LOCK],
1258 [AC_ARG_ENABLE([libtool-lock],
1259 [AS_HELP_STRING([--disable-libtool-lock],
1260 [avoid locking (might break parallel builds)])])
1261 test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
1262
1263 # Some flags need to be propagated to the compiler or linker for good
1264 # libtool support.
1265 case $host in
1266 ia64-*-hpux*)
1267 # Find out which ABI we are using.
1268 echo 'int i;' > conftest.$ac_ext
1269 if AC_TRY_EVAL(ac_compile); then
1270 case `/usr/bin/file conftest.$ac_objext` in
1271 *ELF-32*)
1272 HPUX_IA64_MODE="32"
1273 ;;
1274 *ELF-64*)
1275 HPUX_IA64_MODE="64"
1276 ;;
1277 esac
1278 fi
1279 rm -rf conftest*
1280 ;;
1281 *-*-irix6*)
1282 # Find out which ABI we are using.
1283 echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
1284 if AC_TRY_EVAL(ac_compile); then
1285 if test "$lt_cv_prog_gnu_ld" = yes; then
1286 case `/usr/bin/file conftest.$ac_objext` in
1287 *32-bit*)
1288 LD="${LD-ld} -melf32bsmip"
1289 ;;
1290 *N32*)
1291 LD="${LD-ld} -melf32bmipn32"
1292 ;;
1293 *64-bit*)
1294 LD="${LD-ld} -melf64bmip"
1295 ;;
1296 esac
1297 else
1298 case `/usr/bin/file conftest.$ac_objext` in
1299 *32-bit*)
1300 LD="${LD-ld} -32"
1301 ;;
1302 *N32*)
1303 LD="${LD-ld} -n32"
1304 ;;
1305 *64-bit*)
1306 LD="${LD-ld} -64"
1307 ;;
1308 esac
1309 fi
1310 fi
1311 rm -rf conftest*
1312 ;;
1313
1314 x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
1315 s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
1316 # Find out which ABI we are using.
1317 echo 'int i;' > conftest.$ac_ext
1318 if AC_TRY_EVAL(ac_compile); then
1319 case `/usr/bin/file conftest.o` in
1320 *32-bit*)
1321 case $host in
1322 x86_64-*kfreebsd*-gnu)
1323 LD="${LD-ld} -m elf_i386_fbsd"
1324 ;;
1325 x86_64-*linux*)
1326 LD="${LD-ld} -m elf_i386"
1327 ;;
1328 powerpc64le-*)
1329 LD="${LD-ld} -m elf32lppclinux"
1330 ;;
1331 powerpc64-*)
1332 LD="${LD-ld} -m elf32ppclinux"
1333 ;;
1334 s390x-*linux*)
1335 LD="${LD-ld} -m elf_s390"
1336 ;;
1337 sparc64-*linux*)
1338 LD="${LD-ld} -m elf32_sparc"
1339 ;;
1340 esac
1341 ;;
1342 *64-bit*)
1343 case $host in
1344 x86_64-*kfreebsd*-gnu)
1345 LD="${LD-ld} -m elf_x86_64_fbsd"
1346 ;;
1347 x86_64-*linux*)
1348 LD="${LD-ld} -m elf_x86_64"
1349 ;;
1350 powerpcle-*)
1351 LD="${LD-ld} -m elf64lppc"
1352 ;;
1353 powerpc-*)
1354 LD="${LD-ld} -m elf64ppc"
1355 ;;
1356 s390*-*linux*|s390*-*tpf*)
1357 LD="${LD-ld} -m elf64_s390"
1358 ;;
1359 sparc*-*linux*)
1360 LD="${LD-ld} -m elf64_sparc"
1361 ;;
1362 esac
1363 ;;
1364 esac
1365 fi
1366 rm -rf conftest*
1367 ;;
1368
1369 *-*-sco3.2v5*)
1370 # On SCO OpenServer 5, we need -belf to get full-featured binaries.
1371 SAVE_CFLAGS="$CFLAGS"
1372 CFLAGS="$CFLAGS -belf"
1373 AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
1374 [AC_LANG_PUSH(C)
1375 AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
1376 AC_LANG_POP])
1377 if test x"$lt_cv_cc_needs_belf" != x"yes"; then
1378 # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
1379 CFLAGS="$SAVE_CFLAGS"
1380 fi
1381 ;;
1382 *-*solaris*)
1383 # Find out which ABI we are using.
1384 echo 'int i;' > conftest.$ac_ext
1385 if AC_TRY_EVAL(ac_compile); then
1386 case `/usr/bin/file conftest.o` in
1387 *64-bit*)
1388 case $lt_cv_prog_gnu_ld in
1389 yes*)
1390 case $host in
1391 i?86-*-solaris*)
1392 LD="${LD-ld} -m elf_x86_64"
1393 ;;
1394 sparc*-*-solaris*)
1395 LD="${LD-ld} -m elf64_sparc"
1396 ;;
1397 esac
1398 # GNU ld 2.21 introduced _sol2 emulations. Use them if available.
1399 if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
1400 LD="${LD-ld}_sol2"
1401 fi
1402 ;;
1403 *)
1404 if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
1405 LD="${LD-ld} -64"
1406 fi
1407 ;;
1408 esac
1409 ;;
1410 esac
1411 fi
1412 rm -rf conftest*
1413 ;;
1414 esac
1415
1416 need_locks="$enable_libtool_lock"
1417 ])# _LT_ENABLE_LOCK
1418
1419
1420 # _LT_PROG_AR
1421 # -----------
1422 m4_defun([_LT_PROG_AR],
1423 [AC_CHECK_TOOLS(AR, [ar], false)
1424 : ${AR=ar}
1425 : ${AR_FLAGS=cru}
1426 _LT_DECL([], [AR], [1], [The archiver])
1427 _LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive])
1428
1429 AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file],
1430 [lt_cv_ar_at_file=no
1431 AC_COMPILE_IFELSE([AC_LANG_PROGRAM],
1432 [echo conftest.$ac_objext > conftest.lst
1433 lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD'
1434 AC_TRY_EVAL([lt_ar_try])
1435 if test "$ac_status" -eq 0; then
1436 # Ensure the archiver fails upon bogus file names.
1437 rm -f conftest.$ac_objext libconftest.a
1438 AC_TRY_EVAL([lt_ar_try])
1439 if test "$ac_status" -ne 0; then
1440 lt_cv_ar_at_file=@
1441 fi
1442 fi
1443 rm -f conftest.* libconftest.a
1444 ])
1445 ])
1446
1447 if test "x$lt_cv_ar_at_file" = xno; then
1448 archiver_list_spec=
1449 else
1450 archiver_list_spec=$lt_cv_ar_at_file
1451 fi
1452 _LT_DECL([], [archiver_list_spec], [1],
1453 [How to feed a file listing to the archiver])
1454 ])# _LT_PROG_AR
1455
1456
1457 # _LT_CMD_OLD_ARCHIVE
1458 # -------------------
1459 m4_defun([_LT_CMD_OLD_ARCHIVE],
1460 [_LT_PROG_AR
1461
1462 AC_CHECK_TOOL(STRIP, strip, :)
1463 test -z "$STRIP" && STRIP=:
1464 _LT_DECL([], [STRIP], [1], [A symbol stripping program])
1465
1466 AC_CHECK_TOOL(RANLIB, ranlib, :)
1467 test -z "$RANLIB" && RANLIB=:
1468 _LT_DECL([], [RANLIB], [1],
1469 [Commands used to install an old-style archive])
1470
1471 # Determine commands to create old-style static archives.
1472 old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
1473 old_postinstall_cmds='chmod 644 $oldlib'
1474 old_postuninstall_cmds=
1475
1476 if test -n "$RANLIB"; then
1477 case $host_os in
1478 openbsd*)
1479 old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
1480 ;;
1481 *)
1482 old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
1483 ;;
1484 esac
1485 old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
1486 fi
1487
1488 case $host_os in
1489 darwin*)
1490 lock_old_archive_extraction=yes ;;
1491 *)
1492 lock_old_archive_extraction=no ;;
1493 esac
1494 _LT_DECL([], [old_postinstall_cmds], [2])
1495 _LT_DECL([], [old_postuninstall_cmds], [2])
1496 _LT_TAGDECL([], [old_archive_cmds], [2],
1497 [Commands used to build an old-style archive])
1498 _LT_DECL([], [lock_old_archive_extraction], [0],
1499 [Whether to use a lock for old archive extraction])
1500 ])# _LT_CMD_OLD_ARCHIVE
1501
1502
1503 # _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
1504 # [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
1505 # ----------------------------------------------------------------
1506 # Check whether the given compiler option works
1507 AC_DEFUN([_LT_COMPILER_OPTION],
1508 [m4_require([_LT_FILEUTILS_DEFAULTS])dnl
1509 m4_require([_LT_DECL_SED])dnl
1510 AC_CACHE_CHECK([$1], [$2],
1511 [$2=no
1512 m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
1513 echo "$lt_simple_compile_test_code" > conftest.$ac_ext
1514 lt_compiler_flag="$3"
1515 # Insert the option either (1) after the last *FLAGS variable, or
1516 # (2) before a word containing "conftest.", or (3) at the end.
1517 # Note that $ac_compile itself does not contain backslashes and begins
1518 # with a dollar sign (not a hyphen), so the echo should work correctly.
1519 # The option is referenced via a variable to avoid confusing sed.
1520 lt_compile=`echo "$ac_compile" | $SED \
1521 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
1522 -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
1523 -e 's:$: $lt_compiler_flag:'`
1524 (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
1525 (eval "$lt_compile" 2>conftest.err)
1526 ac_status=$?
1527 cat conftest.err >&AS_MESSAGE_LOG_FD
1528 echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
1529 if (exit $ac_status) && test -s "$ac_outfile"; then
1530 # The compiler can only warn and ignore the option if not recognized
1531 # So say no if there are warnings other than the usual output.
1532 $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
1533 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
1534 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
1535 $2=yes
1536 fi
1537 fi
1538 $RM conftest*
1539 ])
1540
1541 if test x"[$]$2" = xyes; then
1542 m4_if([$5], , :, [$5])
1543 else
1544 m4_if([$6], , :, [$6])
1545 fi
1546 ])# _LT_COMPILER_OPTION
1547
1548 # Old name:
1549 AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION])
1550 dnl aclocal-1.4 backwards compatibility:
1551 dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [])
1552
1553
1554 # _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
1555 # [ACTION-SUCCESS], [ACTION-FAILURE])
1556 # ----------------------------------------------------
1557 # Check whether the given linker option works
1558 AC_DEFUN([_LT_LINKER_OPTION],
1559 [m4_require([_LT_FILEUTILS_DEFAULTS])dnl
1560 m4_require([_LT_DECL_SED])dnl
1561 AC_CACHE_CHECK([$1], [$2],
1562 [$2=no
1563 save_LDFLAGS="$LDFLAGS"
1564 LDFLAGS="$LDFLAGS $3"
1565 echo "$lt_simple_link_test_code" > conftest.$ac_ext
1566 if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
1567 # The linker can only warn and ignore the option if not recognized
1568 # So say no if there are warnings
1569 if test -s conftest.err; then
1570 # Append any errors to the config.log.
1571 cat conftest.err 1>&AS_MESSAGE_LOG_FD
1572 $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
1573 $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
1574 if diff conftest.exp conftest.er2 >/dev/null; then
1575 $2=yes
1576 fi
1577 else
1578 $2=yes
1579 fi
1580 fi
1581 $RM -r conftest*
1582 LDFLAGS="$save_LDFLAGS"
1583 ])
1584
1585 if test x"[$]$2" = xyes; then
1586 m4_if([$4], , :, [$4])
1587 else
1588 m4_if([$5], , :, [$5])
1589 fi
1590 ])# _LT_LINKER_OPTION
1591
1592 # Old name:
1593 AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION])
1594 dnl aclocal-1.4 backwards compatibility:
1595 dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [])
1596
1597
1598 # LT_CMD_MAX_LEN
1599 #---------------
1600 AC_DEFUN([LT_CMD_MAX_LEN],
1601 [AC_REQUIRE([AC_CANONICAL_HOST])dnl
1602 # find the maximum length of command line arguments
1603 AC_MSG_CHECKING([the maximum length of command line arguments])
1604 AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
1605 i=0
1606 teststring="ABCD"
1607
1608 case $build_os in
1609 msdosdjgpp*)
1610 # On DJGPP, this test can blow up pretty badly due to problems in libc
1611 # (any single argument exceeding 2000 bytes causes a buffer overrun
1612 # during glob expansion). Even if it were fixed, the result of this
1613 # check would be larger than it should be.
1614 lt_cv_sys_max_cmd_len=12288; # 12K is about right
1615 ;;
1616
1617 gnu*)
1618 # Under GNU Hurd, this test is not required because there is
1619 # no limit to the length of command line arguments.
1620 # Libtool will interpret -1 as no limit whatsoever
1621 lt_cv_sys_max_cmd_len=-1;
1622 ;;
1623
1624 cygwin* | mingw* | cegcc*)
1625 # On Win9x/ME, this test blows up -- it succeeds, but takes
1626 # about 5 minutes as the teststring grows exponentially.
1627 # Worse, since 9x/ME are not pre-emptively multitasking,
1628 # you end up with a "frozen" computer, even though with patience
1629 # the test eventually succeeds (with a max line length of 256k).
1630 # Instead, let's just punt: use the minimum linelength reported by
1631 # all of the supported platforms: 8192 (on NT/2K/XP).
1632 lt_cv_sys_max_cmd_len=8192;
1633 ;;
1634
1635 mint*)
1636 # On MiNT this can take a long time and run out of memory.
1637 lt_cv_sys_max_cmd_len=8192;
1638 ;;
1639
1640 amigaos*)
1641 # On AmigaOS with pdksh, this test takes hours, literally.
1642 # So we just punt and use a minimum line length of 8192.
1643 lt_cv_sys_max_cmd_len=8192;
1644 ;;
1645
1646 netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
1647 # This has been around since 386BSD, at least. Likely further.
1648 if test -x /sbin/sysctl; then
1649 lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
1650 elif test -x /usr/sbin/sysctl; then
1651 lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
1652 else
1653 lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
1654 fi
1655 # And add a safety zone
1656 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
1657 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
1658 ;;
1659
1660 interix*)
1661 # We know the value 262144 and hardcode it with a safety zone (like BSD)
1662 lt_cv_sys_max_cmd_len=196608
1663 ;;
1664
1665 os2*)
1666 # The test takes a long time on OS/2.
1667 lt_cv_sys_max_cmd_len=8192
1668 ;;
1669
1670 osf*)
1671 # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
1672 # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
1673 # nice to cause kernel panics so lets avoid the loop below.
1674 # First set a reasonable default.
1675 lt_cv_sys_max_cmd_len=16384
1676 #
1677 if test -x /sbin/sysconfig; then
1678 case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
1679 *1*) lt_cv_sys_max_cmd_len=-1 ;;
1680 esac
1681 fi
1682 ;;
1683 sco3.2v5*)
1684 lt_cv_sys_max_cmd_len=102400
1685 ;;
1686 sysv5* | sco5v6* | sysv4.2uw2*)
1687 kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
1688 if test -n "$kargmax"; then
1689 lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'`
1690 else
1691 lt_cv_sys_max_cmd_len=32768
1692 fi
1693 ;;
1694 *)
1695 lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
1696 if test -n "$lt_cv_sys_max_cmd_len"; then
1697 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
1698 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
1699 else
1700 # Make teststring a little bigger before we do anything with it.
1701 # a 1K string should be a reasonable start.
1702 for i in 1 2 3 4 5 6 7 8 ; do
1703 teststring=$teststring$teststring
1704 done
1705 SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
1706 # If test is not a shell built-in, we'll probably end up computing a
1707 # maximum length that is only half of the actual maximum length, but
1708 # we can't tell.
1709 while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \
1710 = "X$teststring$teststring"; } >/dev/null 2>&1 &&
1711 test $i != 17 # 1/2 MB should be enough
1712 do
1713 i=`expr $i + 1`
1714 teststring=$teststring$teststring
1715 done
1716 # Only check the string length outside the loop.
1717 lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
1718 teststring=
1719 # Add a significant safety factor because C++ compilers can tack on
1720 # massive amounts of additional arguments before passing them to the
1721 # linker. It appears as though 1/2 is a usable value.
1722 lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
1723 fi
1724 ;;
1725 esac
1726 ])
1727 if test -n $lt_cv_sys_max_cmd_len ; then
1728 AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
1729 else
1730 AC_MSG_RESULT(none)
1731 fi
1732 max_cmd_len=$lt_cv_sys_max_cmd_len
1733 _LT_DECL([], [max_cmd_len], [0],
1734 [What is the maximum length of a command?])
1735 ])# LT_CMD_MAX_LEN
1736
1737 # Old name:
1738 AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN])
1739 dnl aclocal-1.4 backwards compatibility:
1740 dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [])
1741
1742
1743 # _LT_HEADER_DLFCN
1744 # ----------------
1745 m4_defun([_LT_HEADER_DLFCN],
1746 [AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl
1747 ])# _LT_HEADER_DLFCN
1748
1749
1750 # _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
1751 # ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
1752 # ----------------------------------------------------------------
1753 m4_defun([_LT_TRY_DLOPEN_SELF],
1754 [m4_require([_LT_HEADER_DLFCN])dnl
1755 if test "$cross_compiling" = yes; then :
1756 [$4]
1757 else
1758 lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
1759 lt_status=$lt_dlunknown
1760 cat > conftest.$ac_ext <<_LT_EOF
1761 [#line $LINENO "configure"
1762 #include "confdefs.h"
1763
1764 #if HAVE_DLFCN_H
1765 #include <dlfcn.h>
1766 #endif
1767
1768 #include <stdio.h>
1769
1770 #ifdef RTLD_GLOBAL
1771 # define LT_DLGLOBAL RTLD_GLOBAL
1772 #else
1773 # ifdef DL_GLOBAL
1774 # define LT_DLGLOBAL DL_GLOBAL
1775 # else
1776 # define LT_DLGLOBAL 0
1777 # endif
1778 #endif
1779
1780 /* We may have to define LT_DLLAZY_OR_NOW in the command line if we
1781 find out it does not work in some platform. */
1782 #ifndef LT_DLLAZY_OR_NOW
1783 # ifdef RTLD_LAZY
1784 # define LT_DLLAZY_OR_NOW RTLD_LAZY
1785 # else
1786 # ifdef DL_LAZY
1787 # define LT_DLLAZY_OR_NOW DL_LAZY
1788 # else
1789 # ifdef RTLD_NOW
1790 # define LT_DLLAZY_OR_NOW RTLD_NOW
1791 # else
1792 # ifdef DL_NOW
1793 # define LT_DLLAZY_OR_NOW DL_NOW
1794 # else
1795 # define LT_DLLAZY_OR_NOW 0
1796 # endif
1797 # endif
1798 # endif
1799 # endif
1800 #endif
1801
1802 /* When -fvisbility=hidden is used, assume the code has been annotated
1803 correspondingly for the symbols needed. */
1804 #if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
1805 int fnord () __attribute__((visibility("default")));
1806 #endif
1807
1808 int fnord () { return 42; }
1809 int main ()
1810 {
1811 void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
1812 int status = $lt_dlunknown;
1813
1814 if (self)
1815 {
1816 if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
1817 else
1818 {
1819 if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
1820 else puts (dlerror ());
1821 }
1822 /* dlclose (self); */
1823 }
1824 else
1825 puts (dlerror ());
1826
1827 return status;
1828 }]
1829 _LT_EOF
1830 if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
1831 (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
1832 lt_status=$?
1833 case x$lt_status in
1834 x$lt_dlno_uscore) $1 ;;
1835 x$lt_dlneed_uscore) $2 ;;
1836 x$lt_dlunknown|x*) $3 ;;
1837 esac
1838 else :
1839 # compilation failed
1840 $3
1841 fi
1842 fi
1843 rm -fr conftest*
1844 ])# _LT_TRY_DLOPEN_SELF
1845
1846
1847 # LT_SYS_DLOPEN_SELF
1848 # ------------------
1849 AC_DEFUN([LT_SYS_DLOPEN_SELF],
1850 [m4_require([_LT_HEADER_DLFCN])dnl
1851 if test "x$enable_dlopen" != xyes; then
1852 enable_dlopen=unknown
1853 enable_dlopen_self=unknown
1854 enable_dlopen_self_static=unknown
1855 else
1856 lt_cv_dlopen=no
1857 lt_cv_dlopen_libs=
1858
1859 case $host_os in
1860 beos*)
1861 lt_cv_dlopen="load_add_on"
1862 lt_cv_dlopen_libs=
1863 lt_cv_dlopen_self=yes
1864 ;;
1865
1866 mingw* | pw32* | cegcc*)
1867 lt_cv_dlopen="LoadLibrary"
1868 lt_cv_dlopen_libs=
1869 ;;
1870
1871 cygwin*)
1872 lt_cv_dlopen="dlopen"
1873 lt_cv_dlopen_libs=
1874 ;;
1875
1876 darwin*)
1877 # if libdl is installed we need to link against it
1878 AC_CHECK_LIB([dl], [dlopen],
1879 [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[
1880 lt_cv_dlopen="dyld"
1881 lt_cv_dlopen_libs=
1882 lt_cv_dlopen_self=yes
1883 ])
1884 ;;
1885
1886 *)
1887 AC_CHECK_FUNC([shl_load],
1888 [lt_cv_dlopen="shl_load"],
1889 [AC_CHECK_LIB([dld], [shl_load],
1890 [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"],
1891 [AC_CHECK_FUNC([dlopen],
1892 [lt_cv_dlopen="dlopen"],
1893 [AC_CHECK_LIB([dl], [dlopen],
1894 [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
1895 [AC_CHECK_LIB([svld], [dlopen],
1896 [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
1897 [AC_CHECK_LIB([dld], [dld_link],
1898 [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"])
1899 ])
1900 ])
1901 ])
1902 ])
1903 ])
1904 ;;
1905 esac
1906
1907 if test "x$lt_cv_dlopen" != xno; then
1908 enable_dlopen=yes
1909 else
1910 enable_dlopen=no
1911 fi
1912
1913 case $lt_cv_dlopen in
1914 dlopen)
1915 save_CPPFLAGS="$CPPFLAGS"
1916 test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
1917
1918 save_LDFLAGS="$LDFLAGS"
1919 wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
1920
1921 save_LIBS="$LIBS"
1922 LIBS="$lt_cv_dlopen_libs $LIBS"
1923
1924 AC_CACHE_CHECK([whether a program can dlopen itself],
1925 lt_cv_dlopen_self, [dnl
1926 _LT_TRY_DLOPEN_SELF(
1927 lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
1928 lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
1929 ])
1930
1931 if test "x$lt_cv_dlopen_self" = xyes; then
1932 wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
1933 AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
1934 lt_cv_dlopen_self_static, [dnl
1935 _LT_TRY_DLOPEN_SELF(
1936 lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
1937 lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross)
1938 ])
1939 fi
1940
1941 CPPFLAGS="$save_CPPFLAGS"
1942 LDFLAGS="$save_LDFLAGS"
1943 LIBS="$save_LIBS"
1944 ;;
1945 esac
1946
1947 case $lt_cv_dlopen_self in
1948 yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
1949 *) enable_dlopen_self=unknown ;;
1950 esac
1951
1952 case $lt_cv_dlopen_self_static in
1953 yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
1954 *) enable_dlopen_self_static=unknown ;;
1955 esac
1956 fi
1957 _LT_DECL([dlopen_support], [enable_dlopen], [0],
1958 [Whether dlopen is supported])
1959 _LT_DECL([dlopen_self], [enable_dlopen_self], [0],
1960 [Whether dlopen of programs is supported])
1961 _LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0],
1962 [Whether dlopen of statically linked programs is supported])
1963 ])# LT_SYS_DLOPEN_SELF
1964
1965 # Old name:
1966 AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF])
1967 dnl aclocal-1.4 backwards compatibility:
1968 dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [])
1969
1970
1971 # _LT_COMPILER_C_O([TAGNAME])
1972 # ---------------------------
1973 # Check to see if options -c and -o are simultaneously supported by compiler.
1974 # This macro does not hard code the compiler like AC_PROG_CC_C_O.
1975 m4_defun([_LT_COMPILER_C_O],
1976 [m4_require([_LT_DECL_SED])dnl
1977 m4_require([_LT_FILEUTILS_DEFAULTS])dnl
1978 m4_require([_LT_TAG_COMPILER])dnl
1979 AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
1980 [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
1981 [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
1982 $RM -r conftest 2>/dev/null
1983 mkdir conftest
1984 cd conftest
1985 mkdir out
1986 echo "$lt_simple_compile_test_code" > conftest.$ac_ext
1987
1988 lt_compiler_flag="-o out/conftest2.$ac_objext"
1989 # Insert the option either (1) after the last *FLAGS variable, or
1990 # (2) before a word containing "conftest.", or (3) at the end.
1991 # Note that $ac_compile itself does not contain backslashes and begins
1992 # with a dollar sign (not a hyphen), so the echo should work correctly.
1993 lt_compile=`echo "$ac_compile" | $SED \
1994 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
1995 -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
1996 -e 's:$: $lt_compiler_flag:'`
1997 (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
1998 (eval "$lt_compile" 2>out/conftest.err)
1999 ac_status=$?
2000 cat out/conftest.err >&AS_MESSAGE_LOG_FD
2001 echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
2002 if (exit $ac_status) && test -s out/conftest2.$ac_objext
2003 then
2004 # The compiler can only warn and ignore the option if not recognized
2005 # So say no if there are warnings
2006 $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
2007 $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
2008 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
2009 _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
2010 fi
2011 fi
2012 chmod u+w . 2>&AS_MESSAGE_LOG_FD
2013 $RM conftest*
2014 # SGI C++ compiler will create directory out/ii_files/ for
2015 # template instantiation
2016 test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
2017 $RM out/* && rmdir out
2018 cd ..
2019 $RM -r conftest
2020 $RM conftest*
2021 ])
2022 _LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1],
2023 [Does compiler simultaneously support -c and -o options?])
2024 ])# _LT_COMPILER_C_O
2025
2026
2027 # _LT_COMPILER_FILE_LOCKS([TAGNAME])
2028 # ----------------------------------
2029 # Check to see if we can do hard links to lock some files if needed
2030 m4_defun([_LT_COMPILER_FILE_LOCKS],
2031 [m4_require([_LT_ENABLE_LOCK])dnl
2032 m4_require([_LT_FILEUTILS_DEFAULTS])dnl
2033 _LT_COMPILER_C_O([$1])
2034
2035 hard_links="nottested"
2036 if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then
2037 # do not overwrite the value of need_locks provided by the user
2038 AC_MSG_CHECKING([if we can lock with hard links])
2039 hard_links=yes
2040 $RM conftest*
2041 ln conftest.a conftest.b 2>/dev/null && hard_links=no
2042 touch conftest.a
2043 ln conftest.a conftest.b 2>&5 || hard_links=no
2044 ln conftest.a conftest.b 2>/dev/null && hard_links=no
2045 AC_MSG_RESULT([$hard_links])
2046 if test "$hard_links" = no; then
2047 AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe])
2048 need_locks=warn
2049 fi
2050 else
2051 need_locks=no
2052 fi
2053 _LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?])
2054 ])# _LT_COMPILER_FILE_LOCKS
2055
2056
2057 # _LT_CHECK_OBJDIR
2058 # ----------------
2059 m4_defun([_LT_CHECK_OBJDIR],
2060 [AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
2061 [rm -f .libs 2>/dev/null
2062 mkdir .libs 2>/dev/null
2063 if test -d .libs; then
2064 lt_cv_objdir=.libs
2065 else
2066 # MS-DOS does not allow filenames that begin with a dot.
2067 lt_cv_objdir=_libs
2068 fi
2069 rmdir .libs 2>/dev/null])
2070 objdir=$lt_cv_objdir
2071 _LT_DECL([], [objdir], [0],
2072 [The name of the directory that contains temporary libtool files])dnl
2073 m4_pattern_allow([LT_OBJDIR])dnl
2074 AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/",
2075 [Define to the sub-directory in which libtool stores uninstalled libraries.])
2076 ])# _LT_CHECK_OBJDIR
2077
2078
2079 # _LT_LINKER_HARDCODE_LIBPATH([TAGNAME])
2080 # --------------------------------------
2081 # Check hardcoding attributes.
2082 m4_defun([_LT_LINKER_HARDCODE_LIBPATH],
2083 [AC_MSG_CHECKING([how to hardcode library paths into programs])
2084 _LT_TAGVAR(hardcode_action, $1)=
2085 if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" ||
2086 test -n "$_LT_TAGVAR(runpath_var, $1)" ||
2087 test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then
2088
2089 # We can hardcode non-existent directories.
2090 if test "$_LT_TAGVAR(hardcode_direct, $1)" != no &&
2091 # If the only mechanism to avoid hardcoding is shlibpath_var, we
2092 # have to relink, otherwise we might link with an installed library
2093 # when we should be linking with a yet-to-be-installed one
2094 ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no &&
2095 test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then
2096 # Linking always hardcodes the temporary library directory.
2097 _LT_TAGVAR(hardcode_action, $1)=relink
2098 else
2099 # We can link without hardcoding, and we can hardcode nonexisting dirs.
2100 _LT_TAGVAR(hardcode_action, $1)=immediate
2101 fi
2102 else
2103 # We cannot hardcode anything, or else we can only hardcode existing
2104 # directories.
2105 _LT_TAGVAR(hardcode_action, $1)=unsupported
2106 fi
2107 AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)])
2108
2109 if test "$_LT_TAGVAR(hardcode_action, $1)" = relink ||
2110 test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then
2111 # Fast installation is not supported
2112 enable_fast_install=no
2113 elif test "$shlibpath_overrides_runpath" = yes ||
2114 test "$enable_shared" = no; then
2115 # Fast installation is not necessary
2116 enable_fast_install=needless
2117 fi
2118 _LT_TAGDECL([], [hardcode_action], [0],
2119 [How to hardcode a shared library path into an executable])
2120 ])# _LT_LINKER_HARDCODE_LIBPATH
2121
2122
2123 # _LT_CMD_STRIPLIB
2124 # ----------------
2125 m4_defun([_LT_CMD_STRIPLIB],
2126 [m4_require([_LT_DECL_EGREP])
2127 striplib=
2128 old_striplib=
2129 AC_MSG_CHECKING([whether stripping libraries is possible])
2130 if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
2131 test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
2132 test -z "$striplib" && striplib="$STRIP --strip-unneeded"
2133 AC_MSG_RESULT([yes])
2134 else
2135 # FIXME - insert some real tests, host_os isn't really good enough
2136 case $host_os in
2137 darwin*)
2138 if test -n "$STRIP" ; then
2139 striplib="$STRIP -x"
2140 old_striplib="$STRIP -S"
2141 AC_MSG_RESULT([yes])
2142 else
2143 AC_MSG_RESULT([no])
2144 fi
2145 ;;
2146 *)
2147 AC_MSG_RESULT([no])
2148 ;;
2149 esac
2150 fi
2151 _LT_DECL([], [old_striplib], [1], [Commands to strip libraries])
2152 _LT_DECL([], [striplib], [1])
2153 ])# _LT_CMD_STRIPLIB
2154
2155
2156 # _LT_SYS_DYNAMIC_LINKER([TAG])
2157 # -----------------------------
2158 # PORTME Fill in your ld.so characteristics
2159 m4_defun([_LT_SYS_DYNAMIC_LINKER],
2160 [AC_REQUIRE([AC_CANONICAL_HOST])dnl
2161 m4_require([_LT_DECL_EGREP])dnl
2162 m4_require([_LT_FILEUTILS_DEFAULTS])dnl
2163 m4_require([_LT_DECL_OBJDUMP])dnl
2164 m4_require([_LT_DECL_SED])dnl
2165 m4_require([_LT_CHECK_SHELL_FEATURES])dnl
2166 AC_MSG_CHECKING([dynamic linker characteristics])
2167 m4_if([$1],
2168 [], [
2169 if test "$GCC" = yes; then
2170 case $host_os in
2171 darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
2172 *) lt_awk_arg="/^libraries:/" ;;
2173 esac
2174 case $host_os in
2175 mingw* | cegcc*) lt_sed_strip_eq="s,=\([[A-Za-z]]:\),\1,g" ;;
2176 *) lt_sed_strip_eq="s,=/,/,g" ;;
2177 esac
2178 lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
2179 case $lt_search_path_spec in
2180 *\;*)
2181 # if the path contains ";" then we assume it to be the separator
2182 # otherwise default to the standard path separator (i.e. ":") - it is
2183 # assumed that no part of a normal pathname contains ";" but that should
2184 # okay in the real world where ";" in dirpaths is itself problematic.
2185 lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
2186 ;;
2187 *)
2188 lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
2189 ;;
2190 esac
2191 # Ok, now we have the path, separated by spaces, we can step through it
2192 # and add multilib dir if necessary.
2193 lt_tmp_lt_search_path_spec=
2194 lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
2195 for lt_sys_path in $lt_search_path_spec; do
2196 if test -d "$lt_sys_path/$lt_multi_os_dir"; then
2197 lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
2198 else
2199 test -d "$lt_sys_path" && \
2200 lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
2201 fi
2202 done
2203 lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
2204 BEGIN {RS=" "; FS="/|\n";} {
2205 lt_foo="";
2206 lt_count=0;
2207 for (lt_i = NF; lt_i > 0; lt_i--) {
2208 if ($lt_i != "" && $lt_i != ".") {
2209 if ($lt_i == "..") {
2210 lt_count++;
2211 } else {
2212 if (lt_count == 0) {
2213 lt_foo="/" $lt_i lt_foo;
2214 } else {
2215 lt_count--;
2216 }
2217 }
2218 }
2219 }
2220 if (lt_foo != "") { lt_freq[[lt_foo]]++; }
2221 if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
2222 }'`
2223 # AWK program above erroneously prepends '/' to C:/dos/paths
2224 # for these hosts.
2225 case $host_os in
2226 mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
2227 $SED 's,/\([[A-Za-z]]:\),\1,g'` ;;
2228 esac
2229 sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
2230 else
2231 sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
2232 fi])
2233 library_names_spec=
2234 libname_spec='lib$name'
2235 soname_spec=
2236 shrext_cmds=".so"
2237 postinstall_cmds=
2238 postuninstall_cmds=
2239 finish_cmds=
2240 finish_eval=
2241 shlibpath_var=
2242 shlibpath_overrides_runpath=unknown
2243 version_type=none
2244 dynamic_linker="$host_os ld.so"
2245 sys_lib_dlsearch_path_spec="/lib /usr/lib"
2246 need_lib_prefix=unknown
2247 hardcode_into_libs=no
2248
2249 # when you set need_version to no, make sure it does not cause -set_version
2250 # flags to be left without arguments
2251 need_version=unknown
2252
2253 case $host_os in
2254 aix3*)
2255 version_type=linux # correct to gnu/linux during the next big refactor
2256 library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
2257 shlibpath_var=LIBPATH
2258
2259 # AIX 3 has no versioning support, so we append a major version to the name.
2260 soname_spec='${libname}${release}${shared_ext}$major'
2261 ;;
2262
2263 aix[[4-9]]*)
2264 version_type=linux # correct to gnu/linux during the next big refactor
2265 need_lib_prefix=no
2266 need_version=no
2267 hardcode_into_libs=yes
2268 if test "$host_cpu" = ia64; then
2269 # AIX 5 supports IA64
2270 library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
2271 shlibpath_var=LD_LIBRARY_PATH
2272 else
2273 # With GCC up to 2.95.x, collect2 would create an import file
2274 # for dependence libraries. The import file would start with
2275 # the line `#! .'. This would cause the generated library to
2276 # depend on `.', always an invalid library. This was fixed in
2277 # development snapshots of GCC prior to 3.0.
2278 case $host_os in
2279 aix4 | aix4.[[01]] | aix4.[[01]].*)
2280 if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
2281 echo ' yes '
2282 echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
2283 :
2284 else
2285 can_build_shared=no
2286 fi
2287 ;;
2288 esac
2289 # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
2290 # soname into executable. Probably we can add versioning support to
2291 # collect2, so additional links can be useful in future.
2292 if test "$aix_use_runtimelinking" = yes; then
2293 # If using run time linking (on AIX 4.2 or later) use lib<name>.so
2294 # instead of lib<name>.a to let people know that these are not
2295 # typical AIX shared libraries.
2296 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2297 else
2298 # We preserve .a as extension for shared libraries through AIX4.2
2299 # and later when we are not doing run time linking.
2300 library_names_spec='${libname}${release}.a $libname.a'
2301 soname_spec='${libname}${release}${shared_ext}$major'
2302 fi
2303 shlibpath_var=LIBPATH
2304 fi
2305 ;;
2306
2307 amigaos*)
2308 case $host_cpu in
2309 powerpc)
2310 # Since July 2007 AmigaOS4 officially supports .so libraries.
2311 # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
2312 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2313 ;;
2314 m68k)
2315 library_names_spec='$libname.ixlibrary $libname.a'
2316 # Create ${libname}_ixlibrary.a entries in /sys/libs.
2317 finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
2318 ;;
2319 esac
2320 ;;
2321
2322 beos*)
2323 library_names_spec='${libname}${shared_ext}'
2324 dynamic_linker="$host_os ld.so"
2325 shlibpath_var=LIBRARY_PATH
2326 ;;
2327
2328 bsdi[[45]]*)
2329 version_type=linux # correct to gnu/linux during the next big refactor
2330 need_version=no
2331 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2332 soname_spec='${libname}${release}${shared_ext}$major'
2333 finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
2334 shlibpath_var=LD_LIBRARY_PATH
2335 sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
2336 sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
2337 # the default ld.so.conf also contains /usr/contrib/lib and
2338 # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
2339 # libtool to hard-code these into programs
2340 ;;
2341
2342 cygwin* | mingw* | pw32* | cegcc*)
2343 version_type=windows
2344 shrext_cmds=".dll"
2345 need_version=no
2346 need_lib_prefix=no
2347
2348 case $GCC,$cc_basename in
2349 yes,*)
2350 # gcc
2351 library_names_spec='$libname.dll.a'
2352 # DLL is installed to $(libdir)/../bin by postinstall_cmds
2353 postinstall_cmds='base_file=`basename \${file}`~
2354 dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
2355 dldir=$destdir/`dirname \$dlpath`~
2356 test -d \$dldir || mkdir -p \$dldir~
2357 $install_prog $dir/$dlname \$dldir/$dlname~
2358 chmod a+x \$dldir/$dlname~
2359 if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
2360 eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
2361 fi'
2362 postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
2363 dlpath=$dir/\$dldll~
2364 $RM \$dlpath'
2365 shlibpath_overrides_runpath=yes
2366
2367 case $host_os in
2368 cygwin*)
2369 # Cygwin DLLs use 'cyg' prefix rather than 'lib'
2370 soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
2371 m4_if([$1], [],[
2372 sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"])
2373 ;;
2374 mingw* | cegcc*)
2375 # MinGW DLLs use traditional 'lib' prefix
2376 soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
2377 ;;
2378 pw32*)
2379 # pw32 DLLs use 'pw' prefix rather than 'lib'
2380 library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
2381 ;;
2382 esac
2383 dynamic_linker='Win32 ld.exe'
2384 ;;
2385
2386 *,cl*)
2387 # Native MSVC
2388 libname_spec='$name'
2389 soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
2390 library_names_spec='${libname}.dll.lib'
2391
2392 case $build_os in
2393 mingw*)
2394 sys_lib_search_path_spec=
2395 lt_save_ifs=$IFS
2396 IFS=';'
2397 for lt_path in $LIB
2398 do
2399 IFS=$lt_save_ifs
2400 # Let DOS variable expansion print the short 8.3 style file name.
2401 lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
2402 sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
2403 done
2404 IFS=$lt_save_ifs
2405 # Convert to MSYS style.
2406 sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'`
2407 ;;
2408 cygwin*)
2409 # Convert to unix form, then to dos form, then back to unix form
2410 # but this time dos style (no spaces!) so that the unix form looks
2411 # like /cygdrive/c/PROGRA~1:/cygdr...
2412 sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
2413 sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
2414 sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
2415 ;;
2416 *)
2417 sys_lib_search_path_spec="$LIB"
2418 if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
2419 # It is most probably a Windows format PATH.
2420 sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
2421 else
2422 sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
2423 fi
2424 # FIXME: find the short name or the path components, as spaces are
2425 # common. (e.g. "Program Files" -> "PROGRA~1")
2426 ;;
2427 esac
2428
2429 # DLL is installed to $(libdir)/../bin by postinstall_cmds
2430 postinstall_cmds='base_file=`basename \${file}`~
2431 dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
2432 dldir=$destdir/`dirname \$dlpath`~
2433 test -d \$dldir || mkdir -p \$dldir~
2434 $install_prog $dir/$dlname \$dldir/$dlname'
2435 postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
2436 dlpath=$dir/\$dldll~
2437 $RM \$dlpath'
2438 shlibpath_overrides_runpath=yes
2439 dynamic_linker='Win32 link.exe'
2440 ;;
2441
2442 *)
2443 # Assume MSVC wrapper
2444 library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib'
2445 dynamic_linker='Win32 ld.exe'
2446 ;;
2447 esac
2448 # FIXME: first we should search . and the directory the executable is in
2449 shlibpath_var=PATH
2450 ;;
2451
2452 darwin* | rhapsody*)
2453 dynamic_linker="$host_os dyld"
2454 version_type=darwin
2455 need_lib_prefix=no
2456 need_version=no
2457 library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
2458 soname_spec='${libname}${release}${major}$shared_ext'
2459 shlibpath_overrides_runpath=yes
2460 shlibpath_var=DYLD_LIBRARY_PATH
2461 shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
2462 m4_if([$1], [],[
2463 sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"])
2464 sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
2465 ;;
2466
2467 dgux*)
2468 version_type=linux # correct to gnu/linux during the next big refactor
2469 need_lib_prefix=no
2470 need_version=no
2471 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
2472 soname_spec='${libname}${release}${shared_ext}$major'
2473 shlibpath_var=LD_LIBRARY_PATH
2474 ;;
2475
2476 freebsd* | dragonfly*)
2477 # DragonFly does not have aout. When/if they implement a new
2478 # versioning mechanism, adjust this.
2479 if test -x /usr/bin/objformat; then
2480 objformat=`/usr/bin/objformat`
2481 else
2482 case $host_os in
2483 freebsd[[23]].*) objformat=aout ;;
2484 *) objformat=elf ;;
2485 esac
2486 fi
2487 version_type=freebsd-$objformat
2488 case $version_type in
2489 freebsd-elf*)
2490 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
2491 need_version=no
2492 need_lib_prefix=no
2493 ;;
2494 freebsd-*)
2495 library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
2496 need_version=yes
2497 ;;
2498 esac
2499 shlibpath_var=LD_LIBRARY_PATH
2500 case $host_os in
2501 freebsd2.*)
2502 shlibpath_overrides_runpath=yes
2503 ;;
2504 freebsd3.[[01]]* | freebsdelf3.[[01]]*)
2505 shlibpath_overrides_runpath=yes
2506 hardcode_into_libs=yes
2507 ;;
2508 freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
2509 freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
2510 shlibpath_overrides_runpath=no
2511 hardcode_into_libs=yes
2512 ;;
2513 *) # from 4.6 on, and DragonFly
2514 shlibpath_overrides_runpath=yes
2515 hardcode_into_libs=yes
2516 ;;
2517 esac
2518 ;;
2519
2520 gnu*)
2521 version_type=linux # correct to gnu/linux during the next big refactor
2522 need_lib_prefix=no
2523 need_version=no
2524 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
2525 soname_spec='${libname}${release}${shared_ext}$major'
2526 shlibpath_var=LD_LIBRARY_PATH
2527 shlibpath_overrides_runpath=no
2528 hardcode_into_libs=yes
2529 ;;
2530
2531 haiku*)
2532 version_type=linux # correct to gnu/linux during the next big refactor
2533 need_lib_prefix=no
2534 need_version=no
2535 dynamic_linker="$host_os runtime_loader"
2536 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
2537 soname_spec='${libname}${release}${shared_ext}$major'
2538 shlibpath_var=LIBRARY_PATH
2539 shlibpath_overrides_runpath=yes
2540 sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
2541 hardcode_into_libs=yes
2542 ;;
2543
2544 hpux9* | hpux10* | hpux11*)
2545 # Give a soname corresponding to the major version so that dld.sl refuses to
2546 # link against other versions.
2547 version_type=sunos
2548 need_lib_prefix=no
2549 need_version=no
2550 case $host_cpu in
2551 ia64*)
2552 shrext_cmds='.so'
2553 hardcode_into_libs=yes
2554 dynamic_linker="$host_os dld.so"
2555 shlibpath_var=LD_LIBRARY_PATH
2556 shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
2557 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2558 soname_spec='${libname}${release}${shared_ext}$major'
2559 if test "X$HPUX_IA64_MODE" = X32; then
2560 sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
2561 else
2562 sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
2563 fi
2564 sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
2565 ;;
2566 hppa*64*)
2567 shrext_cmds='.sl'
2568 hardcode_into_libs=yes
2569 dynamic_linker="$host_os dld.sl"
2570 shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
2571 shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
2572 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2573 soname_spec='${libname}${release}${shared_ext}$major'
2574 sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
2575 sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
2576 ;;
2577 *)
2578 shrext_cmds='.sl'
2579 dynamic_linker="$host_os dld.sl"
2580 shlibpath_var=SHLIB_PATH
2581 shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
2582 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2583 soname_spec='${libname}${release}${shared_ext}$major'
2584 ;;
2585 esac
2586 # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
2587 postinstall_cmds='chmod 555 $lib'
2588 # or fails outright, so override atomically:
2589 install_override_mode=555
2590 ;;
2591
2592 interix[[3-9]]*)
2593 version_type=linux # correct to gnu/linux during the next big refactor
2594 need_lib_prefix=no
2595 need_version=no
2596 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
2597 soname_spec='${libname}${release}${shared_ext}$major'
2598 dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
2599 shlibpath_var=LD_LIBRARY_PATH
2600 shlibpath_overrides_runpath=no
2601 hardcode_into_libs=yes
2602 ;;
2603
2604 irix5* | irix6* | nonstopux*)
2605 case $host_os in
2606 nonstopux*) version_type=nonstopux ;;
2607 *)
2608 if test "$lt_cv_prog_gnu_ld" = yes; then
2609 version_type=linux # correct to gnu/linux during the next big refactor
2610 else
2611 version_type=irix
2612 fi ;;
2613 esac
2614 need_lib_prefix=no
2615 need_version=no
2616 soname_spec='${libname}${release}${shared_ext}$major'
2617 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
2618 case $host_os in
2619 irix5* | nonstopux*)
2620 libsuff= shlibsuff=
2621 ;;
2622 *)
2623 case $LD in # libtool.m4 will add one of these switches to LD
2624 *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
2625 libsuff= shlibsuff= libmagic=32-bit;;
2626 *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
2627 libsuff=32 shlibsuff=N32 libmagic=N32;;
2628 *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
2629 libsuff=64 shlibsuff=64 libmagic=64-bit;;
2630 *) libsuff= shlibsuff= libmagic=never-match;;
2631 esac
2632 ;;
2633 esac
2634 shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
2635 shlibpath_overrides_runpath=no
2636 sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
2637 sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
2638 hardcode_into_libs=yes
2639 ;;
2640
2641 # No shared lib support for Linux oldld, aout, or coff.
2642 linux*oldld* | linux*aout* | linux*coff*)
2643 dynamic_linker=no
2644 ;;
2645
2646 linux*android*)
2647 version_type=none # Android doesn't support versioned libraries.
2648 need_lib_prefix=no
2649 need_version=no
2650 library_names_spec='$libname$release$shared_ext'
2651 soname_spec='$libname$release$shared_ext'
2652 finish_cmds=
2653 shlibpath_var=LD_LIBRARY_PATH
2654 shlibpath_overrides_runpath=yes
2655
2656 # This implies no fast_install, which is unacceptable.
2657 # Some rework will be needed to allow for fast_install
2658 # before this can be enabled.
2659 hardcode_into_libs=yes
2660
2661 dynamic_linker='Android linker'
2662 # Don't embed -rpath directories since the linker doesn't support them.
2663 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
2664 ;;
2665
2666 # This must be glibc/ELF.
2667 linux* | k*bsd*-gnu | kopensolaris*-gnu)
2668 version_type=linux # correct to gnu/linux during the next big refactor
2669 need_lib_prefix=no
2670 need_version=no
2671 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2672 soname_spec='${libname}${release}${shared_ext}$major'
2673 finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
2674 shlibpath_var=LD_LIBRARY_PATH
2675 shlibpath_overrides_runpath=no
2676
2677 # Some binutils ld are patched to set DT_RUNPATH
2678 AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath],
2679 [lt_cv_shlibpath_overrides_runpath=no
2680 save_LDFLAGS=$LDFLAGS
2681 save_libdir=$libdir
2682 eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \
2683 LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\""
2684 AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
2685 [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null],
2686 [lt_cv_shlibpath_overrides_runpath=yes])])
2687 LDFLAGS=$save_LDFLAGS
2688 libdir=$save_libdir
2689 ])
2690 shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
2691
2692 # This implies no fast_install, which is unacceptable.
2693 # Some rework will be needed to allow for fast_install
2694 # before this can be enabled.
2695 hardcode_into_libs=yes
2696
2697 # Append ld.so.conf contents to the search path
2698 if test -f /etc/ld.so.conf; then
2699 lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
2700 sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
2701 fi
2702
2703 # We used to test for /lib/ld.so.1 and disable shared libraries on
2704 # powerpc, because MkLinux only supported shared libraries with the
2705 # GNU dynamic linker. Since this was broken with cross compilers,
2706 # most powerpc-linux boxes support dynamic linking these days and
2707 # people can always --disable-shared, the test was removed, and we
2708 # assume the GNU/Linux dynamic linker is in use.
2709 dynamic_linker='GNU/Linux ld.so'
2710 ;;
2711
2712 netbsdelf*-gnu)
2713 version_type=linux
2714 need_lib_prefix=no
2715 need_version=no
2716 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
2717 soname_spec='${libname}${release}${shared_ext}$major'
2718 shlibpath_var=LD_LIBRARY_PATH
2719 shlibpath_overrides_runpath=no
2720 hardcode_into_libs=yes
2721 dynamic_linker='NetBSD ld.elf_so'
2722 ;;
2723
2724 netbsd*)
2725 version_type=sunos
2726 need_lib_prefix=no
2727 need_version=no
2728 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
2729 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
2730 finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
2731 dynamic_linker='NetBSD (a.out) ld.so'
2732 else
2733 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
2734 soname_spec='${libname}${release}${shared_ext}$major'
2735 dynamic_linker='NetBSD ld.elf_so'
2736 fi
2737 shlibpath_var=LD_LIBRARY_PATH
2738 shlibpath_overrides_runpath=yes
2739 hardcode_into_libs=yes
2740 ;;
2741
2742 newsos6)
2743 version_type=linux # correct to gnu/linux during the next big refactor
2744 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2745 shlibpath_var=LD_LIBRARY_PATH
2746 shlibpath_overrides_runpath=yes
2747 ;;
2748
2749 *nto* | *qnx*)
2750 version_type=qnx
2751 need_lib_prefix=no
2752 need_version=no
2753 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2754 soname_spec='${libname}${release}${shared_ext}$major'
2755 shlibpath_var=LD_LIBRARY_PATH
2756 shlibpath_overrides_runpath=no
2757 hardcode_into_libs=yes
2758 dynamic_linker='ldqnx.so'
2759 ;;
2760
2761 openbsd*)
2762 version_type=sunos
2763 sys_lib_dlsearch_path_spec="/usr/lib"
2764 need_lib_prefix=no
2765 # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
2766 case $host_os in
2767 openbsd3.3 | openbsd3.3.*) need_version=yes ;;
2768 *) need_version=no ;;
2769 esac
2770 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
2771 finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
2772 shlibpath_var=LD_LIBRARY_PATH
2773 if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
2774 case $host_os in
2775 openbsd2.[[89]] | openbsd2.[[89]].*)
2776 shlibpath_overrides_runpath=no
2777 ;;
2778 *)
2779 shlibpath_overrides_runpath=yes
2780 ;;
2781 esac
2782 else
2783 shlibpath_overrides_runpath=yes
2784 fi
2785 ;;
2786
2787 os2*)
2788 libname_spec='$name'
2789 shrext_cmds=".dll"
2790 need_lib_prefix=no
2791 library_names_spec='$libname${shared_ext} $libname.a'
2792 dynamic_linker='OS/2 ld.exe'
2793 shlibpath_var=LIBPATH
2794 ;;
2795
2796 osf3* | osf4* | osf5*)
2797 version_type=osf
2798 need_lib_prefix=no
2799 need_version=no
2800 soname_spec='${libname}${release}${shared_ext}$major'
2801 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2802 shlibpath_var=LD_LIBRARY_PATH
2803 sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
2804 sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
2805 ;;
2806
2807 rdos*)
2808 dynamic_linker=no
2809 ;;
2810
2811 solaris*)
2812 version_type=linux # correct to gnu/linux during the next big refactor
2813 need_lib_prefix=no
2814 need_version=no
2815 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2816 soname_spec='${libname}${release}${shared_ext}$major'
2817 shlibpath_var=LD_LIBRARY_PATH
2818 shlibpath_overrides_runpath=yes
2819 hardcode_into_libs=yes
2820 # ldd complains unless libraries are executable
2821 postinstall_cmds='chmod +x $lib'
2822 ;;
2823
2824 sunos4*)
2825 version_type=sunos
2826 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
2827 finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
2828 shlibpath_var=LD_LIBRARY_PATH
2829 shlibpath_overrides_runpath=yes
2830 if test "$with_gnu_ld" = yes; then
2831 need_lib_prefix=no
2832 fi
2833 need_version=yes
2834 ;;
2835
2836 sysv4 | sysv4.3*)
2837 version_type=linux # correct to gnu/linux during the next big refactor
2838 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2839 soname_spec='${libname}${release}${shared_ext}$major'
2840 shlibpath_var=LD_LIBRARY_PATH
2841 case $host_vendor in
2842 sni)
2843 shlibpath_overrides_runpath=no
2844 need_lib_prefix=no
2845 runpath_var=LD_RUN_PATH
2846 ;;
2847 siemens)
2848 need_lib_prefix=no
2849 ;;
2850 motorola)
2851 need_lib_prefix=no
2852 need_version=no
2853 shlibpath_overrides_runpath=no
2854 sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
2855 ;;
2856 esac
2857 ;;
2858
2859 sysv4*MP*)
2860 if test -d /usr/nec ;then
2861 version_type=linux # correct to gnu/linux during the next big refactor
2862 library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
2863 soname_spec='$libname${shared_ext}.$major'
2864 shlibpath_var=LD_LIBRARY_PATH
2865 fi
2866 ;;
2867
2868 sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
2869 version_type=freebsd-elf
2870 need_lib_prefix=no
2871 need_version=no
2872 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
2873 soname_spec='${libname}${release}${shared_ext}$major'
2874 shlibpath_var=LD_LIBRARY_PATH
2875 shlibpath_overrides_runpath=yes
2876 hardcode_into_libs=yes
2877 if test "$with_gnu_ld" = yes; then
2878 sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
2879 else
2880 sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
2881 case $host_os in
2882 sco3.2v5*)
2883 sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
2884 ;;
2885 esac
2886 fi
2887 sys_lib_dlsearch_path_spec='/usr/lib'
2888 ;;
2889
2890 tpf*)
2891 # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
2892 version_type=linux # correct to gnu/linux during the next big refactor
2893 need_lib_prefix=no
2894 need_version=no
2895 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2896 shlibpath_var=LD_LIBRARY_PATH
2897 shlibpath_overrides_runpath=no
2898 hardcode_into_libs=yes
2899 ;;
2900
2901 uts4*)
2902 version_type=linux # correct to gnu/linux during the next big refactor
2903 library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2904 soname_spec='${libname}${release}${shared_ext}$major'
2905 shlibpath_var=LD_LIBRARY_PATH
2906 ;;
2907
2908 *)
2909 dynamic_linker=no
2910 ;;
2911 esac
2912 AC_MSG_RESULT([$dynamic_linker])
2913 test "$dynamic_linker" = no && can_build_shared=no
2914
2915 variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
2916 if test "$GCC" = yes; then
2917 variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
2918 fi
2919
2920 if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
2921 sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
2922 fi
2923 if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
2924 sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
2925 fi
2926
2927 _LT_DECL([], [variables_saved_for_relink], [1],
2928 [Variables whose values should be saved in libtool wrapper scripts and
2929 restored at link time])
2930 _LT_DECL([], [need_lib_prefix], [0],
2931 [Do we need the "lib" prefix for modules?])
2932 _LT_DECL([], [need_version], [0], [Do we need a version for libraries?])
2933 _LT_DECL([], [version_type], [0], [Library versioning type])
2934 _LT_DECL([], [runpath_var], [0], [Shared library runtime path variable])
2935 _LT_DECL([], [shlibpath_var], [0],[Shared library path variable])
2936 _LT_DECL([], [shlibpath_overrides_runpath], [0],
2937 [Is shlibpath searched before the hard-coded library search path?])
2938 _LT_DECL([], [libname_spec], [1], [Format of library name prefix])
2939 _LT_DECL([], [library_names_spec], [1],
2940 [[List of archive names. First name is the real one, the rest are links.
2941 The last name is the one that the linker finds with -lNAME]])
2942 _LT_DECL([], [soname_spec], [1],
2943 [[The coded name of the library, if different from the real name]])
2944 _LT_DECL([], [install_override_mode], [1],
2945 [Permission mode override for installation of shared libraries])
2946 _LT_DECL([], [postinstall_cmds], [2],
2947 [Command to use after installation of a shared archive])
2948 _LT_DECL([], [postuninstall_cmds], [2],
2949 [Command to use after uninstallation of a shared archive])
2950 _LT_DECL([], [finish_cmds], [2],
2951 [Commands used to finish a libtool library installation in a directory])
2952 _LT_DECL([], [finish_eval], [1],
2953 [[As "finish_cmds", except a single script fragment to be evaled but
2954 not shown]])
2955 _LT_DECL([], [hardcode_into_libs], [0],
2956 [Whether we should hardcode library paths into libraries])
2957 _LT_DECL([], [sys_lib_search_path_spec], [2],
2958 [Compile-time system search path for libraries])
2959 _LT_DECL([], [sys_lib_dlsearch_path_spec], [2],
2960 [Run-time system search path for libraries])
2961 ])# _LT_SYS_DYNAMIC_LINKER
2962
2963
2964 # _LT_PATH_TOOL_PREFIX(TOOL)
2965 # --------------------------
2966 # find a file program which can recognize shared library
2967 AC_DEFUN([_LT_PATH_TOOL_PREFIX],
2968 [m4_require([_LT_DECL_EGREP])dnl
2969 AC_MSG_CHECKING([for $1])
2970 AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
2971 [case $MAGIC_CMD in
2972 [[\\/*] | ?:[\\/]*])
2973 lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
2974 ;;
2975 *)
2976 lt_save_MAGIC_CMD="$MAGIC_CMD"
2977 lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
2978 dnl $ac_dummy forces splitting on constant user-supplied paths.
2979 dnl POSIX.2 word splitting is done only on the output of word expansions,
2980 dnl not every word. This closes a longstanding sh security hole.
2981 ac_dummy="m4_if([$2], , $PATH, [$2])"
2982 for ac_dir in $ac_dummy; do
2983 IFS="$lt_save_ifs"
2984 test -z "$ac_dir" && ac_dir=.
2985 if test -f $ac_dir/$1; then
2986 lt_cv_path_MAGIC_CMD="$ac_dir/$1"
2987 if test -n "$file_magic_test_file"; then
2988 case $deplibs_check_method in
2989 "file_magic "*)
2990 file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
2991 MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
2992 if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
2993 $EGREP "$file_magic_regex" > /dev/null; then
2994 :
2995 else
2996 cat <<_LT_EOF 1>&2
2997
2998 *** Warning: the command libtool uses to detect shared libraries,
2999 *** $file_magic_cmd, produces output that libtool cannot recognize.
3000 *** The result is that libtool may fail to recognize shared libraries
3001 *** as such. This will affect the creation of libtool libraries that
3002 *** depend on shared libraries, but programs linked with such libtool
3003 *** libraries will work regardless of this problem. Nevertheless, you
3004 *** may want to report the problem to your system manager and/or to
3005 *** bug-libtool@gnu.org
3006
3007 _LT_EOF
3008 fi ;;
3009 esac
3010 fi
3011 break
3012 fi
3013 done
3014 IFS="$lt_save_ifs"
3015 MAGIC_CMD="$lt_save_MAGIC_CMD"
3016 ;;
3017 esac])
3018 MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
3019 if test -n "$MAGIC_CMD"; then
3020 AC_MSG_RESULT($MAGIC_CMD)
3021 else
3022 AC_MSG_RESULT(no)
3023 fi
3024 _LT_DECL([], [MAGIC_CMD], [0],
3025 [Used to examine libraries when file_magic_cmd begins with "file"])dnl
3026 ])# _LT_PATH_TOOL_PREFIX
3027
3028 # Old name:
3029 AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX])
3030 dnl aclocal-1.4 backwards compatibility:
3031 dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], [])
3032
3033
3034 # _LT_PATH_MAGIC
3035 # --------------
3036 # find a file program which can recognize a shared library
3037 m4_defun([_LT_PATH_MAGIC],
3038 [_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
3039 if test -z "$lt_cv_path_MAGIC_CMD"; then
3040 if test -n "$ac_tool_prefix"; then
3041 _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
3042 else
3043 MAGIC_CMD=:
3044 fi
3045 fi
3046 ])# _LT_PATH_MAGIC
3047
3048
3049 # LT_PATH_LD
3050 # ----------
3051 # find the pathname to the GNU or non-GNU linker
3052 AC_DEFUN([LT_PATH_LD],
3053 [AC_REQUIRE([AC_PROG_CC])dnl
3054 AC_REQUIRE([AC_CANONICAL_HOST])dnl
3055 AC_REQUIRE([AC_CANONICAL_BUILD])dnl
3056 m4_require([_LT_DECL_SED])dnl
3057 m4_require([_LT_DECL_EGREP])dnl
3058 m4_require([_LT_PROG_ECHO_BACKSLASH])dnl
3059
3060 AC_ARG_WITH([gnu-ld],
3061 [AS_HELP_STRING([--with-gnu-ld],
3062 [assume the C compiler uses GNU ld @<:@default=no@:>@])],
3063 [test "$withval" = no || with_gnu_ld=yes],
3064 [with_gnu_ld=no])dnl
3065
3066 ac_prog=ld
3067 if test "$GCC" = yes; then
3068 # Check if gcc -print-prog-name=ld gives a path.
3069 AC_MSG_CHECKING([for ld used by $CC])
3070 case $host in
3071 *-*-mingw*)
3072 # gcc leaves a trailing carriage return which upsets mingw
3073 ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
3074 *)
3075 ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
3076 esac
3077 case $ac_prog in
3078 # Accept absolute paths.
3079 [[\\/]]* | ?:[[\\/]]*)
3080 re_direlt='/[[^/]][[^/]]*/\.\./'
3081 # Canonicalize the pathname of ld
3082 ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
3083 while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
3084 ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
3085 done
3086 test -z "$LD" && LD="$ac_prog"
3087 ;;
3088 "")
3089 # If it fails, then pretend we aren't using GCC.
3090 ac_prog=ld
3091 ;;
3092 *)
3093 # If it is relative, then search for the first ld in PATH.
3094 with_gnu_ld=unknown
3095 ;;
3096 esac
3097 elif test "$with_gnu_ld" = yes; then
3098 AC_MSG_CHECKING([for GNU ld])
3099 else
3100 AC_MSG_CHECKING([for non-GNU ld])
3101 fi
3102 AC_CACHE_VAL(lt_cv_path_LD,
3103 [if test -z "$LD"; then
3104 lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
3105 for ac_dir in $PATH; do
3106 IFS="$lt_save_ifs"
3107 test -z "$ac_dir" && ac_dir=.
3108 if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
3109 lt_cv_path_LD="$ac_dir/$ac_prog"
3110 # Check to see if the program is GNU ld. I'd rather use --version,
3111 # but apparently some variants of GNU ld only accept -v.
3112 # Break only if it was the GNU/non-GNU ld that we prefer.
3113 case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
3114 *GNU* | *'with BFD'*)
3115 test "$with_gnu_ld" != no && break
3116 ;;
3117 *)
3118 test "$with_gnu_ld" != yes && break
3119 ;;
3120 esac
3121 fi
3122 done
3123 IFS="$lt_save_ifs"
3124 else
3125 lt_cv_path_LD="$LD" # Let the user override the test with a path.
3126 fi])
3127 LD="$lt_cv_path_LD"
3128 if test -n "$LD"; then
3129 AC_MSG_RESULT($LD)
3130 else
3131 AC_MSG_RESULT(no)
3132 fi
3133 test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
3134 _LT_PATH_LD_GNU
3135 AC_SUBST([LD])
3136
3137 _LT_TAGDECL([], [LD], [1], [The linker used to build libraries])
3138 ])# LT_PATH_LD
3139
3140 # Old names:
3141 AU_ALIAS([AM_PROG_LD], [LT_PATH_LD])
3142 AU_ALIAS([AC_PROG_LD], [LT_PATH_LD])
3143 dnl aclocal-1.4 backwards compatibility:
3144 dnl AC_DEFUN([AM_PROG_LD], [])
3145 dnl AC_DEFUN([AC_PROG_LD], [])
3146
3147
3148 # _LT_PATH_LD_GNU
3149 #- --------------
3150 m4_defun([_LT_PATH_LD_GNU],
3151 [AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
3152 [# I'd rather use --version here, but apparently some GNU lds only accept -v.
3153 case `$LD -v 2>&1 </dev/null` in
3154 *GNU* | *'with BFD'*)
3155 lt_cv_prog_gnu_ld=yes
3156 ;;
3157 *)
3158 lt_cv_prog_gnu_ld=no
3159 ;;
3160 esac])
3161 with_gnu_ld=$lt_cv_prog_gnu_ld
3162 ])# _LT_PATH_LD_GNU
3163
3164
3165 # _LT_CMD_RELOAD
3166 # --------------
3167 # find reload flag for linker
3168 # -- PORTME Some linkers may need a different reload flag.
3169 m4_defun([_LT_CMD_RELOAD],
3170 [AC_CACHE_CHECK([for $LD option to reload object files],
3171 lt_cv_ld_reload_flag,
3172 [lt_cv_ld_reload_flag='-r'])
3173 reload_flag=$lt_cv_ld_reload_flag
3174 case $reload_flag in
3175 "" | " "*) ;;
3176 *) reload_flag=" $reload_flag" ;;
3177 esac
3178 reload_cmds='$LD$reload_flag -o $output$reload_objs'
3179 case $host_os in
3180 cygwin* | mingw* | pw32* | cegcc*)
3181 if test "$GCC" != yes; then
3182 reload_cmds=false
3183 fi
3184 ;;
3185 darwin*)
3186 if test "$GCC" = yes; then
3187 reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
3188 else
3189 reload_cmds='$LD$reload_flag -o $output$reload_objs'
3190 fi
3191 ;;
3192 esac
3193 _LT_TAGDECL([], [reload_flag], [1], [How to create reloadable object files])dnl
3194 _LT_TAGDECL([], [reload_cmds], [2])dnl
3195 ])# _LT_CMD_RELOAD
3196
3197
3198 # _LT_CHECK_MAGIC_METHOD
3199 # ----------------------
3200 # how to check for library dependencies
3201 # -- PORTME fill in with the dynamic library characteristics
3202 m4_defun([_LT_CHECK_MAGIC_METHOD],
3203 [m4_require([_LT_DECL_EGREP])
3204 m4_require([_LT_DECL_OBJDUMP])
3205 AC_CACHE_CHECK([how to recognize dependent libraries],
3206 lt_cv_deplibs_check_method,
3207 [lt_cv_file_magic_cmd='$MAGIC_CMD'
3208 lt_cv_file_magic_test_file=
3209 lt_cv_deplibs_check_method='unknown'
3210 # Need to set the preceding variable on all platforms that support
3211 # interlibrary dependencies.
3212 # 'none' -- dependencies not supported.
3213 # `unknown' -- same as none, but documents that we really don't know.
3214 # 'pass_all' -- all dependencies passed with no checks.
3215 # 'test_compile' -- check by making test program.
3216 # 'file_magic [[regex]]' -- check by looking for files in library path
3217 # which responds to the $file_magic_cmd with a given extended regex.
3218 # If you have `file' or equivalent on your system and you're not sure
3219 # whether `pass_all' will *always* work, you probably want this one.
3220
3221 case $host_os in
3222 aix[[4-9]]*)
3223 lt_cv_deplibs_check_method=pass_all
3224 ;;
3225
3226 beos*)
3227 lt_cv_deplibs_check_method=pass_all
3228 ;;
3229
3230 bsdi[[45]]*)
3231 lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
3232 lt_cv_file_magic_cmd='/usr/bin/file -L'
3233 lt_cv_file_magic_test_file=/shlib/libc.so
3234 ;;
3235
3236 cygwin*)
3237 # func_win32_libid is a shell function defined in ltmain.sh
3238 lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
3239 lt_cv_file_magic_cmd='func_win32_libid'
3240 ;;
3241
3242 mingw* | pw32*)
3243 # Base MSYS/MinGW do not provide the 'file' command needed by
3244 # func_win32_libid shell function, so use a weaker test based on 'objdump',
3245 # unless we find 'file', for example because we are cross-compiling.
3246 # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin.
3247 if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then
3248 lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
3249 lt_cv_file_magic_cmd='func_win32_libid'
3250 else
3251 # Keep this pattern in sync with the one in func_win32_libid.
3252 lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
3253 lt_cv_file_magic_cmd='$OBJDUMP -f'
3254 fi
3255 ;;
3256
3257 cegcc*)
3258 # use the weaker test based on 'objdump'. See mingw*.
3259 lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
3260 lt_cv_file_magic_cmd='$OBJDUMP -f'
3261 ;;
3262
3263 darwin* | rhapsody*)
3264 lt_cv_deplibs_check_method=pass_all
3265 ;;
3266
3267 freebsd* | dragonfly*)
3268 if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
3269 case $host_cpu in
3270 i*86 )
3271 # Not sure whether the presence of OpenBSD here was a mistake.
3272 # Let's accept both of them until this is cleared up.
3273 lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
3274 lt_cv_file_magic_cmd=/usr/bin/file
3275 lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
3276 ;;
3277 esac
3278 else
3279 lt_cv_deplibs_check_method=pass_all
3280 fi
3281 ;;
3282
3283 gnu*)
3284 lt_cv_deplibs_check_method=pass_all
3285 ;;
3286
3287 haiku*)
3288 lt_cv_deplibs_check_method=pass_all
3289 ;;
3290
3291 hpux10.20* | hpux11*)
3292 lt_cv_file_magic_cmd=/usr/bin/file
3293 case $host_cpu in
3294 ia64*)
3295 lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
3296 lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
3297 ;;
3298 hppa*64*)
3299 [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]']
3300 lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
3301 ;;
3302 *)
3303 lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]]\.[[0-9]]) shared library'
3304 lt_cv_file_magic_test_file=/usr/lib/libc.sl
3305 ;;
3306 esac
3307 ;;
3308
3309 interix[[3-9]]*)
3310 # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
3311 lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
3312 ;;
3313
3314 irix5* | irix6* | nonstopux*)
3315 case $LD in
3316 *-32|*"-32 ") libmagic=32-bit;;
3317 *-n32|*"-n32 ") libmagic=N32;;
3318 *-64|*"-64 ") libmagic=64-bit;;
3319 *) libmagic=never-match;;
3320 esac
3321 lt_cv_deplibs_check_method=pass_all
3322 ;;
3323
3324 # This must be glibc/ELF.
3325 linux* | k*bsd*-gnu | kopensolaris*-gnu)
3326 lt_cv_deplibs_check_method=pass_all
3327 ;;
3328
3329 netbsd* | netbsdelf*-gnu)
3330 if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
3331 lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
3332 else
3333 lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
3334 fi
3335 ;;
3336
3337 newos6*)
3338 lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
3339 lt_cv_file_magic_cmd=/usr/bin/file
3340 lt_cv_file_magic_test_file=/usr/lib/libnls.so
3341 ;;
3342
3343 *nto* | *qnx*)
3344 lt_cv_deplibs_check_method=pass_all
3345 ;;
3346
3347 openbsd*)
3348 if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
3349 lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
3350 else
3351 lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
3352 fi
3353 ;;
3354
3355 osf3* | osf4* | osf5*)
3356 lt_cv_deplibs_check_method=pass_all
3357 ;;
3358
3359 rdos*)
3360 lt_cv_deplibs_check_method=pass_all
3361 ;;
3362
3363 solaris*)
3364 lt_cv_deplibs_check_method=pass_all
3365 ;;
3366
3367 sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
3368 lt_cv_deplibs_check_method=pass_all
3369 ;;
3370
3371 sysv4 | sysv4.3*)
3372 case $host_vendor in
3373 motorola)
3374 lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]'
3375 lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
3376 ;;
3377 ncr)
3378 lt_cv_deplibs_check_method=pass_all
3379 ;;
3380 sequent)
3381 lt_cv_file_magic_cmd='/bin/file'
3382 lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
3383 ;;
3384 sni)
3385 lt_cv_file_magic_cmd='/bin/file'
3386 lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
3387 lt_cv_file_magic_test_file=/lib/libc.so
3388 ;;
3389 siemens)
3390 lt_cv_deplibs_check_method=pass_all
3391 ;;
3392 pc)
3393 lt_cv_deplibs_check_method=pass_all
3394 ;;
3395 esac
3396 ;;
3397
3398 tpf*)
3399 lt_cv_deplibs_check_method=pass_all
3400 ;;
3401 esac
3402 ])
3403
3404 file_magic_glob=
3405 want_nocaseglob=no
3406 if test "$build" = "$host"; then
3407 case $host_os in
3408 mingw* | pw32*)
3409 if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
3410 want_nocaseglob=yes
3411 else
3412 file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"`
3413 fi
3414 ;;
3415 esac
3416 fi
3417
3418 file_magic_cmd=$lt_cv_file_magic_cmd
3419 deplibs_check_method=$lt_cv_deplibs_check_method
3420 test -z "$deplibs_check_method" && deplibs_check_method=unknown
3421
3422 _LT_DECL([], [deplibs_check_method], [1],
3423 [Method to check whether dependent libraries are shared objects])
3424 _LT_DECL([], [file_magic_cmd], [1],
3425 [Command to use when deplibs_check_method = "file_magic"])
3426 _LT_DECL([], [file_magic_glob], [1],
3427 [How to find potential files when deplibs_check_method = "file_magic"])
3428 _LT_DECL([], [want_nocaseglob], [1],
3429 [Find potential files using nocaseglob when deplibs_check_method = "file_magic"])
3430 ])# _LT_CHECK_MAGIC_METHOD
3431
3432
3433 # LT_PATH_NM
3434 # ----------
3435 # find the pathname to a BSD- or MS-compatible name lister
3436 AC_DEFUN([LT_PATH_NM],
3437 [AC_REQUIRE([AC_PROG_CC])dnl
3438 AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM,
3439 [if test -n "$NM"; then
3440 # Let the user override the test.
3441 lt_cv_path_NM="$NM"
3442 else
3443 lt_nm_to_check="${ac_tool_prefix}nm"
3444 if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
3445 lt_nm_to_check="$lt_nm_to_check nm"
3446 fi
3447 for lt_tmp_nm in $lt_nm_to_check; do
3448 lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
3449 for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
3450 IFS="$lt_save_ifs"
3451 test -z "$ac_dir" && ac_dir=.
3452 tmp_nm="$ac_dir/$lt_tmp_nm"
3453 if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
3454 # Check to see if the nm accepts a BSD-compat flag.
3455 # Adding the `sed 1q' prevents false positives on HP-UX, which says:
3456 # nm: unknown option "B" ignored
3457 # Tru64's nm complains that /dev/null is an invalid object file
3458 case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
3459 */dev/null* | *'Invalid file or object type'*)
3460 lt_cv_path_NM="$tmp_nm -B"
3461 break
3462 ;;
3463 *)
3464 case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
3465 */dev/null*)
3466 lt_cv_path_NM="$tmp_nm -p"
3467 break
3468 ;;
3469 *)
3470 lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
3471 continue # so that we can try to find one that supports BSD flags
3472 ;;
3473 esac
3474 ;;
3475 esac
3476 fi
3477 done
3478 IFS="$lt_save_ifs"
3479 done
3480 : ${lt_cv_path_NM=no}
3481 fi])
3482 if test "$lt_cv_path_NM" != "no"; then
3483 NM="$lt_cv_path_NM"
3484 else
3485 # Didn't find any BSD compatible name lister, look for dumpbin.
3486 if test -n "$DUMPBIN"; then :
3487 # Let the user override the test.
3488 else
3489 AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :)
3490 case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in
3491 *COFF*)
3492 DUMPBIN="$DUMPBIN -symbols"
3493 ;;
3494 *)
3495 DUMPBIN=:
3496 ;;
3497 esac
3498 fi
3499 AC_SUBST([DUMPBIN])
3500 if test "$DUMPBIN" != ":"; then
3501 NM="$DUMPBIN"
3502 fi
3503 fi
3504 test -z "$NM" && NM=nm
3505 AC_SUBST([NM])
3506 _LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl
3507
3508 AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface],
3509 [lt_cv_nm_interface="BSD nm"
3510 echo "int some_variable = 0;" > conftest.$ac_ext
3511 (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD)
3512 (eval "$ac_compile" 2>conftest.err)
3513 cat conftest.err >&AS_MESSAGE_LOG_FD
3514 (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD)
3515 (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
3516 cat conftest.err >&AS_MESSAGE_LOG_FD
3517 (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD)
3518 cat conftest.out >&AS_MESSAGE_LOG_FD
3519 if $GREP 'External.*some_variable' conftest.out > /dev/null; then
3520 lt_cv_nm_interface="MS dumpbin"
3521 fi
3522 rm -f conftest*])
3523 ])# LT_PATH_NM
3524
3525 # Old names:
3526 AU_ALIAS([AM_PROG_NM], [LT_PATH_NM])
3527 AU_ALIAS([AC_PROG_NM], [LT_PATH_NM])
3528 dnl aclocal-1.4 backwards compatibility:
3529 dnl AC_DEFUN([AM_PROG_NM], [])
3530 dnl AC_DEFUN([AC_PROG_NM], [])
3531
3532 # _LT_CHECK_SHAREDLIB_FROM_LINKLIB
3533 # --------------------------------
3534 # how to determine the name of the shared library
3535 # associated with a specific link library.
3536 # -- PORTME fill in with the dynamic library characteristics
3537 m4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB],
3538 [m4_require([_LT_DECL_EGREP])
3539 m4_require([_LT_DECL_OBJDUMP])
3540 m4_require([_LT_DECL_DLLTOOL])
3541 AC_CACHE_CHECK([how to associate runtime and link libraries],
3542 lt_cv_sharedlib_from_linklib_cmd,
3543 [lt_cv_sharedlib_from_linklib_cmd='unknown'
3544
3545 case $host_os in
3546 cygwin* | mingw* | pw32* | cegcc*)
3547 # two different shell functions defined in ltmain.sh
3548 # decide which to use based on capabilities of $DLLTOOL
3549 case `$DLLTOOL --help 2>&1` in
3550 *--identify-strict*)
3551 lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
3552 ;;
3553 *)
3554 lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
3555 ;;
3556 esac
3557 ;;
3558 *)
3559 # fallback: assume linklib IS sharedlib
3560 lt_cv_sharedlib_from_linklib_cmd="$ECHO"
3561 ;;
3562 esac
3563 ])
3564 sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
3565 test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
3566
3567 _LT_DECL([], [sharedlib_from_linklib_cmd], [1],
3568 [Command to associate shared and link libraries])
3569 ])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
3570
3571
3572 # _LT_PATH_MANIFEST_TOOL
3573 # ----------------------
3574 # locate the manifest tool
3575 m4_defun([_LT_PATH_MANIFEST_TOOL],
3576 [AC_CHECK_TOOL(MANIFEST_TOOL, mt, :)
3577 test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
3578 AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool],
3579 [lt_cv_path_mainfest_tool=no
3580 echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD
3581 $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
3582 cat conftest.err >&AS_MESSAGE_LOG_FD
3583 if $GREP 'Manifest Tool' conftest.out > /dev/null; then
3584 lt_cv_path_mainfest_tool=yes
3585 fi
3586 rm -f conftest*])
3587 if test "x$lt_cv_path_mainfest_tool" != xyes; then
3588 MANIFEST_TOOL=:
3589 fi
3590 _LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl
3591 ])# _LT_PATH_MANIFEST_TOOL
3592
3593
3594 # LT_LIB_M
3595 # --------
3596 # check for math library
3597 AC_DEFUN([LT_LIB_M],
3598 [AC_REQUIRE([AC_CANONICAL_HOST])dnl
3599 LIBM=
3600 case $host in
3601 *-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*)
3602 # These system don't have libm, or don't need it
3603 ;;
3604 *-ncr-sysv4.3*)
3605 AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
3606 AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
3607 ;;
3608 *)
3609 AC_CHECK_LIB(m, cos, LIBM="-lm")
3610 ;;
3611 esac
3612 AC_SUBST([LIBM])
3613 ])# LT_LIB_M
3614
3615 # Old name:
3616 AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M])
3617 dnl aclocal-1.4 backwards compatibility:
3618 dnl AC_DEFUN([AC_CHECK_LIBM], [])
3619
3620
3621 # _LT_COMPILER_NO_RTTI([TAGNAME])
3622 # -------------------------------
3623 m4_defun([_LT_COMPILER_NO_RTTI],
3624 [m4_require([_LT_TAG_COMPILER])dnl
3625
3626 _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
3627
3628 if test "$GCC" = yes; then
3629 case $cc_basename in
3630 nvcc*)
3631 _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;;
3632 *)
3633 _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;;
3634 esac
3635
3636 _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
3637 lt_cv_prog_compiler_rtti_exceptions,
3638 [-fno-rtti -fno-exceptions], [],
3639 [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
3640 fi
3641 _LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1],
3642 [Compiler flag to turn off builtin functions])
3643 ])# _LT_COMPILER_NO_RTTI
3644
3645
3646 # _LT_CMD_GLOBAL_SYMBOLS
3647 # ----------------------
3648 m4_defun([_LT_CMD_GLOBAL_SYMBOLS],
3649 [AC_REQUIRE([AC_CANONICAL_HOST])dnl
3650 AC_REQUIRE([AC_PROG_CC])dnl
3651 AC_REQUIRE([AC_PROG_AWK])dnl
3652 AC_REQUIRE([LT_PATH_NM])dnl
3653 AC_REQUIRE([LT_PATH_LD])dnl
3654 m4_require([_LT_DECL_SED])dnl
3655 m4_require([_LT_DECL_EGREP])dnl
3656 m4_require([_LT_TAG_COMPILER])dnl
3657
3658 # Check for command to grab the raw symbol name followed by C symbol from nm.
3659 AC_MSG_CHECKING([command to parse $NM output from $compiler object])
3660 AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
3661 [
3662 # These are sane defaults that work on at least a few old systems.
3663 # [They come from Ultrix. What could be older than Ultrix?!! ;)]
3664
3665 # Character class describing NM global symbol codes.
3666 symcode='[[BCDEGRST]]'
3667
3668 # Regexp to match symbols that can be accessed directly from C.
3669 sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
3670
3671 # Define system-specific variables.
3672 case $host_os in
3673 aix*)
3674 symcode='[[BCDT]]'
3675 ;;
3676 cygwin* | mingw* | pw32* | cegcc*)
3677 symcode='[[ABCDGISTW]]'
3678 ;;
3679 hpux*)
3680 if test "$host_cpu" = ia64; then
3681 symcode='[[ABCDEGRST]]'
3682 fi
3683 ;;
3684 irix* | nonstopux*)
3685 symcode='[[BCDEGRST]]'
3686 ;;
3687 osf*)
3688 symcode='[[BCDEGQRST]]'
3689 ;;
3690 solaris*)
3691 symcode='[[BDRT]]'
3692 ;;
3693 sco3.2v5*)
3694 symcode='[[DT]]'
3695 ;;
3696 sysv4.2uw2*)
3697 symcode='[[DT]]'
3698 ;;
3699 sysv5* | sco5v6* | unixware* | OpenUNIX*)
3700 symcode='[[ABDT]]'
3701 ;;
3702 sysv4)
3703 symcode='[[DFNSTU]]'
3704 ;;
3705 esac
3706
3707 # If we're using GNU nm, then use its standard symbol codes.
3708 case `$NM -V 2>&1` in
3709 *GNU* | *'with BFD'*)
3710 symcode='[[ABCDGIRSTW]]' ;;
3711 esac
3712
3713 # Transform an extracted symbol line into a proper C declaration.
3714 # Some systems (esp. on ia64) link data and code symbols differently,
3715 # so use this general approach.
3716 lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
3717
3718 # Transform an extracted symbol line into symbol name and symbol address
3719 lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'"
3720 lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
3721
3722 # Handle CRLF in mingw tool chain
3723 opt_cr=
3724 case $build_os in
3725 mingw*)
3726 opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
3727 ;;
3728 esac
3729
3730 # Try without a prefix underscore, then with it.
3731 for ac_symprfx in "" "_"; do
3732
3733 # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
3734 symxfrm="\\1 $ac_symprfx\\2 \\2"
3735
3736 # Write the raw and C identifiers.
3737 if test "$lt_cv_nm_interface" = "MS dumpbin"; then
3738 # Fake it for dumpbin and say T for any non-static function
3739 # and D for any global variable.
3740 # Also find C++ and __fastcall symbols from MSVC++,
3741 # which start with @ or ?.
3742 lt_cv_sys_global_symbol_pipe="$AWK ['"\
3743 " {last_section=section; section=\$ 3};"\
3744 " /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
3745 " /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
3746 " \$ 0!~/External *\|/{next};"\
3747 " / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
3748 " {if(hide[section]) next};"\
3749 " {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
3750 " {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
3751 " s[1]~/^[@?]/{print s[1], s[1]; next};"\
3752 " s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
3753 " ' prfx=^$ac_symprfx]"
3754 else
3755 lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
3756 fi
3757 lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
3758
3759 # Check to see that the pipe works correctly.
3760 pipe_works=no
3761
3762 rm -f conftest*
3763 cat > conftest.$ac_ext <<_LT_EOF
3764 #ifdef __cplusplus
3765 extern "C" {
3766 #endif
3767 char nm_test_var;
3768 void nm_test_func(void);
3769 void nm_test_func(void){}
3770 #ifdef __cplusplus
3771 }
3772 #endif
3773 int main(){nm_test_var='a';nm_test_func();return(0);}
3774 _LT_EOF
3775
3776 if AC_TRY_EVAL(ac_compile); then
3777 # Now try to grab the symbols.
3778 nlist=conftest.nm
3779 if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then
3780 # Try sorting and uniquifying the output.
3781 if sort "$nlist" | uniq > "$nlist"T; then
3782 mv -f "$nlist"T "$nlist"
3783 else
3784 rm -f "$nlist"T
3785 fi
3786
3787 # Make sure that we snagged all the symbols we need.
3788 if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
3789 if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
3790 cat <<_LT_EOF > conftest.$ac_ext
3791 /* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
3792 #if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
3793 /* DATA imports from DLLs on WIN32 con't be const, because runtime
3794 relocations are performed -- see ld's documentation on pseudo-relocs. */
3795 # define LT@&t@_DLSYM_CONST
3796 #elif defined(__osf__)
3797 /* This system does not cope well with relocations in const data. */
3798 # define LT@&t@_DLSYM_CONST
3799 #else
3800 # define LT@&t@_DLSYM_CONST const
3801 #endif
3802
3803 #ifdef __cplusplus
3804 extern "C" {
3805 #endif
3806
3807 _LT_EOF
3808 # Now generate the symbol file.
3809 eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
3810
3811 cat <<_LT_EOF >> conftest.$ac_ext
3812
3813 /* The mapping between symbol names and symbols. */
3814 LT@&t@_DLSYM_CONST struct {
3815 const char *name;
3816 void *address;
3817 }
3818 lt__PROGRAM__LTX_preloaded_symbols[[]] =
3819 {
3820 { "@PROGRAM@", (void *) 0 },
3821 _LT_EOF
3822 $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
3823 cat <<\_LT_EOF >> conftest.$ac_ext
3824 {0, (void *) 0}
3825 };
3826
3827 /* This works around a problem in FreeBSD linker */
3828 #ifdef FREEBSD_WORKAROUND
3829 static const void *lt_preloaded_setup() {
3830 return lt__PROGRAM__LTX_preloaded_symbols;
3831 }
3832 #endif
3833
3834 #ifdef __cplusplus
3835 }
3836 #endif
3837 _LT_EOF
3838 # Now try linking the two files.
3839 mv conftest.$ac_objext conftstm.$ac_objext
3840 lt_globsym_save_LIBS=$LIBS
3841 lt_globsym_save_CFLAGS=$CFLAGS
3842 LIBS="conftstm.$ac_objext"
3843 CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
3844 if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
3845 pipe_works=yes
3846 fi
3847 LIBS=$lt_globsym_save_LIBS
3848 CFLAGS=$lt_globsym_save_CFLAGS
3849 else
3850 echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
3851 fi
3852 else
3853 echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
3854 fi
3855 else
3856 echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
3857 fi
3858 else
3859 echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
3860 cat conftest.$ac_ext >&5
3861 fi
3862 rm -rf conftest* conftst*
3863
3864 # Do not use the global_symbol_pipe unless it works.
3865 if test "$pipe_works" = yes; then
3866 break
3867 else
3868 lt_cv_sys_global_symbol_pipe=
3869 fi
3870 done
3871 ])
3872 if test -z "$lt_cv_sys_global_symbol_pipe"; then
3873 lt_cv_sys_global_symbol_to_cdecl=
3874 fi
3875 if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
3876 AC_MSG_RESULT(failed)
3877 else
3878 AC_MSG_RESULT(ok)
3879 fi
3880
3881 # Response file support.
3882 if test "$lt_cv_nm_interface" = "MS dumpbin"; then
3883 nm_file_list_spec='@'
3884 elif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then
3885 nm_file_list_spec='@'
3886 fi
3887
3888 _LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
3889 [Take the output of nm and produce a listing of raw symbols and C names])
3890 _LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
3891 [Transform the output of nm in a proper C declaration])
3892 _LT_DECL([global_symbol_to_c_name_address],
3893 [lt_cv_sys_global_symbol_to_c_name_address], [1],
3894 [Transform the output of nm in a C name address pair])
3895 _LT_DECL([global_symbol_to_c_name_address_lib_prefix],
3896 [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
3897 [Transform the output of nm in a C name address pair when lib prefix is needed])
3898 _LT_DECL([], [nm_file_list_spec], [1],
3899 [Specify filename containing input files for $NM])
3900 ]) # _LT_CMD_GLOBAL_SYMBOLS
3901
3902
3903 # _LT_COMPILER_PIC([TAGNAME])
3904 # ---------------------------
3905 m4_defun([_LT_COMPILER_PIC],
3906 [m4_require([_LT_TAG_COMPILER])dnl
3907 _LT_TAGVAR(lt_prog_compiler_wl, $1)=
3908 _LT_TAGVAR(lt_prog_compiler_pic, $1)=
3909 _LT_TAGVAR(lt_prog_compiler_static, $1)=
3910
3911 m4_if([$1], [CXX], [
3912 # C++ specific cases for pic, static, wl, etc.
3913 if test "$GXX" = yes; then
3914 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3915 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
3916
3917 case $host_os in
3918 aix*)
3919 # All AIX code is PIC.
3920 if test "$host_cpu" = ia64; then
3921 # AIX 5 now supports IA64 processor
3922 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
3923 fi
3924 ;;
3925
3926 amigaos*)
3927 case $host_cpu in
3928 powerpc)
3929 # see comment about AmigaOS4 .so support
3930 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
3931 ;;
3932 m68k)
3933 # FIXME: we need at least 68020 code to build shared libraries, but
3934 # adding the `-m68020' flag to GCC prevents building anything better,
3935 # like `-m68040'.
3936 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
3937 ;;
3938 esac
3939 ;;
3940
3941 beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
3942 # PIC is the default for these OSes.
3943 ;;
3944 mingw* | cygwin* | os2* | pw32* | cegcc*)
3945 # This hack is so that the source file can tell whether it is being
3946 # built for inclusion in a dll (and should export symbols for example).
3947 # Although the cygwin gcc ignores -fPIC, still need this for old-style
3948 # (--disable-auto-import) libraries
3949 m4_if([$1], [GCJ], [],
3950 [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
3951 ;;
3952 darwin* | rhapsody*)
3953 # PIC is the default on this platform
3954 # Common symbols not allowed in MH_DYLIB files
3955 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
3956 ;;
3957 *djgpp*)
3958 # DJGPP does not support shared libraries at all
3959 _LT_TAGVAR(lt_prog_compiler_pic, $1)=
3960 ;;
3961 haiku*)
3962 # PIC is the default for Haiku.
3963 # The "-static" flag exists, but is broken.
3964 _LT_TAGVAR(lt_prog_compiler_static, $1)=
3965 ;;
3966 interix[[3-9]]*)
3967 # Interix 3.x gcc -fpic/-fPIC options generate broken code.
3968 # Instead, we relocate shared libraries at runtime.
3969 ;;
3970 sysv4*MP*)
3971 if test -d /usr/nec; then
3972 _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
3973 fi
3974 ;;
3975 hpux*)
3976 # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
3977 # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
3978 # sets the default TLS model and affects inlining.
3979 case $host_cpu in
3980 hppa*64*)
3981 ;;
3982 *)
3983 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
3984 ;;
3985 esac
3986 ;;
3987 *qnx* | *nto*)
3988 # QNX uses GNU C++, but need to define -shared option too, otherwise
3989 # it will coredump.
3990 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
3991 ;;
3992 *)
3993 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
3994 ;;
3995 esac
3996 else
3997 case $host_os in
3998 aix[[4-9]]*)
3999 # All AIX code is PIC.
4000 if test "$host_cpu" = ia64; then
4001 # AIX 5 now supports IA64 processor
4002 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4003 else
4004 _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
4005 fi
4006 ;;
4007 chorus*)
4008 case $cc_basename in
4009 cxch68*)
4010 # Green Hills C++ Compiler
4011 # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
4012 ;;
4013 esac
4014 ;;
4015 mingw* | cygwin* | os2* | pw32* | cegcc*)
4016 # This hack is so that the source file can tell whether it is being
4017 # built for inclusion in a dll (and should export symbols for example).
4018 m4_if([$1], [GCJ], [],
4019 [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
4020 ;;
4021 dgux*)
4022 case $cc_basename in
4023 ec++*)
4024 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4025 ;;
4026 ghcx*)
4027 # Green Hills C++ Compiler
4028 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4029 ;;
4030 *)
4031 ;;
4032 esac
4033 ;;
4034 freebsd* | dragonfly*)
4035 # FreeBSD uses GNU C++
4036 ;;
4037 hpux9* | hpux10* | hpux11*)
4038 case $cc_basename in
4039 CC*)
4040 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4041 _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
4042 if test "$host_cpu" != ia64; then
4043 _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
4044 fi
4045 ;;
4046 aCC*)
4047 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4048 _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
4049 case $host_cpu in
4050 hppa*64*|ia64*)
4051 # +Z the default
4052 ;;
4053 *)
4054 _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
4055 ;;
4056 esac
4057 ;;
4058 *)
4059 ;;
4060 esac
4061 ;;
4062 interix*)
4063 # This is c89, which is MS Visual C++ (no shared libs)
4064 # Anyone wants to do a port?
4065 ;;
4066 irix5* | irix6* | nonstopux*)
4067 case $cc_basename in
4068 CC*)
4069 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4070 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4071 # CC pic flag -KPIC is the default.
4072 ;;
4073 *)
4074 ;;
4075 esac
4076 ;;
4077 linux* | k*bsd*-gnu | kopensolaris*-gnu)
4078 case $cc_basename in
4079 KCC*)
4080 # KAI C++ Compiler
4081 _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
4082 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4083 ;;
4084 ecpc* )
4085 # old Intel C++ for x86_64 which still supported -KPIC.
4086 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4087 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4088 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4089 ;;
4090 icpc* )
4091 # Intel C++, used to be incompatible with GCC.
4092 # ICC 10 doesn't accept -KPIC any more.
4093 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4094 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4095 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4096 ;;
4097 pgCC* | pgcpp*)
4098 # Portland Group C++ compiler
4099 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4100 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
4101 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4102 ;;
4103 cxx*)
4104 # Compaq C++
4105 # Make sure the PIC flag is empty. It appears that all Alpha
4106 # Linux and Compaq Tru64 Unix objects are PIC.
4107 _LT_TAGVAR(lt_prog_compiler_pic, $1)=
4108 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4109 ;;
4110 xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*)
4111 # IBM XL 8.0, 9.0 on PPC and BlueGene
4112 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4113 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
4114 _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
4115 ;;
4116 *)
4117 case `$CC -V 2>&1 | sed 5q` in
4118 *Sun\ C*)
4119 # Sun C++ 5.9
4120 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4121 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4122 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
4123 ;;
4124 esac
4125 ;;
4126 esac
4127 ;;
4128 lynxos*)
4129 ;;
4130 m88k*)
4131 ;;
4132 mvs*)
4133 case $cc_basename in
4134 cxx*)
4135 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
4136 ;;
4137 *)
4138 ;;
4139 esac
4140 ;;
4141 netbsd* | netbsdelf*-gnu)
4142 ;;
4143 *qnx* | *nto*)
4144 # QNX uses GNU C++, but need to define -shared option too, otherwise
4145 # it will coredump.
4146 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
4147 ;;
4148 osf3* | osf4* | osf5*)
4149 case $cc_basename in
4150 KCC*)
4151 _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
4152 ;;
4153 RCC*)
4154 # Rational C++ 2.4.1
4155 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4156 ;;
4157 cxx*)
4158 # Digital/Compaq C++
4159 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4160 # Make sure the PIC flag is empty. It appears that all Alpha
4161 # Linux and Compaq Tru64 Unix objects are PIC.
4162 _LT_TAGVAR(lt_prog_compiler_pic, $1)=
4163 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4164 ;;
4165 *)
4166 ;;
4167 esac
4168 ;;
4169 psos*)
4170 ;;
4171 solaris*)
4172 case $cc_basename in
4173 CC* | sunCC*)
4174 # Sun C++ 4.2, 5.x and Centerline C++
4175 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4176 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4177 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
4178 ;;
4179 gcx*)
4180 # Green Hills C++ Compiler
4181 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
4182 ;;
4183 *)
4184 ;;
4185 esac
4186 ;;
4187 sunos4*)
4188 case $cc_basename in
4189 CC*)
4190 # Sun C++ 4.x
4191 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4192 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4193 ;;
4194 lcc*)
4195 # Lucid
4196 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4197 ;;
4198 *)
4199 ;;
4200 esac
4201 ;;
4202 sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
4203 case $cc_basename in
4204 CC*)
4205 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4206 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4207 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4208 ;;
4209 esac
4210 ;;
4211 tandem*)
4212 case $cc_basename in
4213 NCC*)
4214 # NonStop-UX NCC 3.20
4215 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4216 ;;
4217 *)
4218 ;;
4219 esac
4220 ;;
4221 vxworks*)
4222 ;;
4223 *)
4224 _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
4225 ;;
4226 esac
4227 fi
4228 ],
4229 [
4230 if test "$GCC" = yes; then
4231 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4232 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4233
4234 case $host_os in
4235 aix*)
4236 # All AIX code is PIC.
4237 if test "$host_cpu" = ia64; then
4238 # AIX 5 now supports IA64 processor
4239 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4240 fi
4241 ;;
4242
4243 amigaos*)
4244 case $host_cpu in
4245 powerpc)
4246 # see comment about AmigaOS4 .so support
4247 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4248 ;;
4249 m68k)
4250 # FIXME: we need at least 68020 code to build shared libraries, but
4251 # adding the `-m68020' flag to GCC prevents building anything better,
4252 # like `-m68040'.
4253 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
4254 ;;
4255 esac
4256 ;;
4257
4258 beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
4259 # PIC is the default for these OSes.
4260 ;;
4261
4262 mingw* | cygwin* | pw32* | os2* | cegcc*)
4263 # This hack is so that the source file can tell whether it is being
4264 # built for inclusion in a dll (and should export symbols for example).
4265 # Although the cygwin gcc ignores -fPIC, still need this for old-style
4266 # (--disable-auto-import) libraries
4267 m4_if([$1], [GCJ], [],
4268 [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
4269 ;;
4270
4271 darwin* | rhapsody*)
4272 # PIC is the default on this platform
4273 # Common symbols not allowed in MH_DYLIB files
4274 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
4275 ;;
4276
4277 haiku*)
4278 # PIC is the default for Haiku.
4279 # The "-static" flag exists, but is broken.
4280 _LT_TAGVAR(lt_prog_compiler_static, $1)=
4281 ;;
4282
4283 hpux*)
4284 # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
4285 # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
4286 # sets the default TLS model and affects inlining.
4287 case $host_cpu in
4288 hppa*64*)
4289 # +Z the default
4290 ;;
4291 *)
4292 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4293 ;;
4294 esac
4295 ;;
4296
4297 interix[[3-9]]*)
4298 # Interix 3.x gcc -fpic/-fPIC options generate broken code.
4299 # Instead, we relocate shared libraries at runtime.
4300 ;;
4301
4302 msdosdjgpp*)
4303 # Just because we use GCC doesn't mean we suddenly get shared libraries
4304 # on systems that don't support them.
4305 _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
4306 enable_shared=no
4307 ;;
4308
4309 *nto* | *qnx*)
4310 # QNX uses GNU C++, but need to define -shared option too, otherwise
4311 # it will coredump.
4312 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
4313 ;;
4314
4315 sysv4*MP*)
4316 if test -d /usr/nec; then
4317 _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
4318 fi
4319 ;;
4320
4321 *)
4322 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4323 ;;
4324 esac
4325
4326 case $cc_basename in
4327 nvcc*) # Cuda Compiler Driver 2.2
4328 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker '
4329 if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
4330 _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)"
4331 fi
4332 ;;
4333 esac
4334 else
4335 # PORTME Check for flag to pass linker flags through the system compiler.
4336 case $host_os in
4337 aix*)
4338 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4339 if test "$host_cpu" = ia64; then
4340 # AIX 5 now supports IA64 processor
4341 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4342 else
4343 _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
4344 fi
4345 ;;
4346
4347 mingw* | cygwin* | pw32* | os2* | cegcc*)
4348 # This hack is so that the source file can tell whether it is being
4349 # built for inclusion in a dll (and should export symbols for example).
4350 m4_if([$1], [GCJ], [],
4351 [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
4352 ;;
4353
4354 hpux9* | hpux10* | hpux11*)
4355 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4356 # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
4357 # not for PA HP-UX.
4358 case $host_cpu in
4359 hppa*64*|ia64*)
4360 # +Z the default
4361 ;;
4362 *)
4363 _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
4364 ;;
4365 esac
4366 # Is there a better lt_prog_compiler_static that works with the bundled CC?
4367 _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
4368 ;;
4369
4370 irix5* | irix6* | nonstopux*)
4371 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4372 # PIC (with -KPIC) is the default.
4373 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4374 ;;
4375
4376 linux* | k*bsd*-gnu | kopensolaris*-gnu)
4377 case $cc_basename in
4378 # old Intel for x86_64 which still supported -KPIC.
4379 ecc*)
4380 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4381 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4382 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4383 ;;
4384 # icc used to be incompatible with GCC.
4385 # ICC 10 doesn't accept -KPIC any more.
4386 icc* | ifort*)
4387 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4388 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4389 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4390 ;;
4391 # Lahey Fortran 8.1.
4392 lf95*)
4393 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4394 _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared'
4395 _LT_TAGVAR(lt_prog_compiler_static, $1)='--static'
4396 ;;
4397 nagfor*)
4398 # NAG Fortran compiler
4399 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,'
4400 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
4401 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4402 ;;
4403 pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
4404 # Portland Group compilers (*not* the Pentium gcc compiler,
4405 # which looks to be a dead project)
4406 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4407 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
4408 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4409 ;;
4410 ccc*)
4411 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4412 # All Alpha code is PIC.
4413 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4414 ;;
4415 xl* | bgxl* | bgf* | mpixl*)
4416 # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
4417 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4418 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
4419 _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
4420 ;;
4421 *)
4422 case `$CC -V 2>&1 | sed 5q` in
4423 *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*)
4424 # Sun Fortran 8.3 passes all unrecognized flags to the linker
4425 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4426 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4427 _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
4428 ;;
4429 *Sun\ F* | *Sun*Fortran*)
4430 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4431 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4432 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
4433 ;;
4434 *Sun\ C*)
4435 # Sun C 5.9
4436 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4437 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4438 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4439 ;;
4440 *Intel*\ [[CF]]*Compiler*)
4441 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4442 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4443 _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4444 ;;
4445 *Portland\ Group*)
4446 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4447 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
4448 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4449 ;;
4450 esac
4451 ;;
4452 esac
4453 ;;
4454
4455 newsos6)
4456 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4457 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4458 ;;
4459
4460 *nto* | *qnx*)
4461 # QNX uses GNU C++, but need to define -shared option too, otherwise
4462 # it will coredump.
4463 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
4464 ;;
4465
4466 osf3* | osf4* | osf5*)
4467 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4468 # All OSF/1 code is PIC.
4469 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4470 ;;
4471
4472 rdos*)
4473 _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4474 ;;
4475
4476 solaris*)
4477 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4478 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4479 case $cc_basename in
4480 f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
4481 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
4482 *)
4483 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
4484 esac
4485 ;;
4486
4487 sunos4*)
4488 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
4489 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
4490 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4491 ;;
4492
4493 sysv4 | sysv4.2uw2* | sysv4.3*)
4494 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4495 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4496 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4497 ;;
4498
4499 sysv4*MP*)
4500 if test -d /usr/nec ;then
4501 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
4502 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4503 fi
4504 ;;
4505
4506 sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
4507 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4508 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4509 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4510 ;;
4511
4512 unicos*)
4513 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4514 _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
4515 ;;
4516
4517 uts4*)
4518 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4519 _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4520 ;;
4521
4522 *)
4523 _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
4524 ;;
4525 esac
4526 fi
4527 ])
4528 case $host_os in
4529 # For platforms which do not support PIC, -DPIC is meaningless:
4530 *djgpp*)
4531 _LT_TAGVAR(lt_prog_compiler_pic, $1)=
4532 ;;
4533 *)
4534 _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])"
4535 ;;
4536 esac
4537
4538 AC_CACHE_CHECK([for $compiler option to produce PIC],
4539 [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)],
4540 [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
4541 _LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)
4542
4543 #
4544 # Check to make sure the PIC flag actually works.
4545 #
4546 if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
4547 _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works],
4548 [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)],
4549 [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [],
4550 [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in
4551 "" | " "*) ;;
4552 *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;;
4553 esac],
4554 [_LT_TAGVAR(lt_prog_compiler_pic, $1)=
4555 _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
4556 fi
4557 _LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1],
4558 [Additional compiler flags for building library objects])
4559
4560 _LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
4561 [How to pass a linker flag through the compiler])
4562 #
4563 # Check to make sure the static flag actually works.
4564 #
4565 wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\"
4566 _LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
4567 _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1),
4568 $lt_tmp_static_flag,
4569 [],
4570 [_LT_TAGVAR(lt_prog_compiler_static, $1)=])
4571 _LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1],
4572 [Compiler flag to prevent dynamic linking])
4573 ])# _LT_COMPILER_PIC
4574
4575
4576 # _LT_LINKER_SHLIBS([TAGNAME])
4577 # ----------------------------
4578 # See if the linker supports building shared libraries.
4579 m4_defun([_LT_LINKER_SHLIBS],
4580 [AC_REQUIRE([LT_PATH_LD])dnl
4581 AC_REQUIRE([LT_PATH_NM])dnl
4582 m4_require([_LT_PATH_MANIFEST_TOOL])dnl
4583 m4_require([_LT_FILEUTILS_DEFAULTS])dnl
4584 m4_require([_LT_DECL_EGREP])dnl
4585 m4_require([_LT_DECL_SED])dnl
4586 m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
4587 m4_require([_LT_TAG_COMPILER])dnl
4588 AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
4589 m4_if([$1], [CXX], [
4590 _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
4591 _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
4592 case $host_os in
4593 aix[[4-9]]*)
4594 # If we're using GNU nm, then we don't want the "-C" option.
4595 # -C means demangle to AIX nm, but means don't demangle with GNU nm
4596 # Also, AIX nm treats weak defined symbols like other global defined
4597 # symbols, whereas GNU nm marks them as "W".
4598 if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
4599 _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
4600 else
4601 _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
4602 fi
4603 ;;
4604 pw32*)
4605 _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
4606 ;;
4607 cygwin* | mingw* | cegcc*)
4608 case $cc_basename in
4609 cl*)
4610 _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
4611 ;;
4612 *)
4613 _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
4614 _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
4615 ;;
4616 esac
4617 ;;
4618 linux* | k*bsd*-gnu | gnu*)
4619 _LT_TAGVAR(link_all_deplibs, $1)=no
4620 ;;
4621 *)
4622 _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
4623 ;;
4624 esac
4625 ], [
4626 runpath_var=
4627 _LT_TAGVAR(allow_undefined_flag, $1)=
4628 _LT_TAGVAR(always_export_symbols, $1)=no
4629 _LT_TAGVAR(archive_cmds, $1)=
4630 _LT_TAGVAR(archive_expsym_cmds, $1)=
4631 _LT_TAGVAR(compiler_needs_object, $1)=no
4632 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
4633 _LT_TAGVAR(export_dynamic_flag_spec, $1)=
4634 _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
4635 _LT_TAGVAR(hardcode_automatic, $1)=no
4636 _LT_TAGVAR(hardcode_direct, $1)=no
4637 _LT_TAGVAR(hardcode_direct_absolute, $1)=no
4638 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
4639 _LT_TAGVAR(hardcode_libdir_separator, $1)=
4640 _LT_TAGVAR(hardcode_minus_L, $1)=no
4641 _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
4642 _LT_TAGVAR(inherit_rpath, $1)=no
4643 _LT_TAGVAR(link_all_deplibs, $1)=unknown
4644 _LT_TAGVAR(module_cmds, $1)=
4645 _LT_TAGVAR(module_expsym_cmds, $1)=
4646 _LT_TAGVAR(old_archive_from_new_cmds, $1)=
4647 _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)=
4648 _LT_TAGVAR(thread_safe_flag_spec, $1)=
4649 _LT_TAGVAR(whole_archive_flag_spec, $1)=
4650 # include_expsyms should be a list of space-separated symbols to be *always*
4651 # included in the symbol list
4652 _LT_TAGVAR(include_expsyms, $1)=
4653 # exclude_expsyms can be an extended regexp of symbols to exclude
4654 # it will be wrapped by ` (' and `)$', so one must not match beginning or
4655 # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
4656 # as well as any symbol that contains `d'.
4657 _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
4658 # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
4659 # platforms (ab)use it in PIC code, but their linkers get confused if
4660 # the symbol is explicitly referenced. Since portable code cannot
4661 # rely on this symbol name, it's probably fine to never include it in
4662 # preloaded symbol tables.
4663 # Exclude shared library initialization/finalization symbols.
4664 dnl Note also adjust exclude_expsyms for C++ above.
4665 extract_expsyms_cmds=
4666
4667 case $host_os in
4668 cygwin* | mingw* | pw32* | cegcc*)
4669 # FIXME: the MSVC++ port hasn't been tested in a loooong time
4670 # When not using gcc, we currently assume that we are using
4671 # Microsoft Visual C++.
4672 if test "$GCC" != yes; then
4673 with_gnu_ld=no
4674 fi
4675 ;;
4676 interix*)
4677 # we just hope/assume this is gcc and not c89 (= MSVC++)
4678 with_gnu_ld=yes
4679 ;;
4680 openbsd*)
4681 with_gnu_ld=no
4682 ;;
4683 linux* | k*bsd*-gnu | gnu*)
4684 _LT_TAGVAR(link_all_deplibs, $1)=no
4685 ;;
4686 esac
4687
4688 _LT_TAGVAR(ld_shlibs, $1)=yes
4689
4690 # On some targets, GNU ld is compatible enough with the native linker
4691 # that we're better off using the native interface for both.
4692 lt_use_gnu_ld_interface=no
4693 if test "$with_gnu_ld" = yes; then
4694 case $host_os in
4695 aix*)
4696 # The AIX port of GNU ld has always aspired to compatibility
4697 # with the native linker. However, as the warning in the GNU ld
4698 # block says, versions before 2.19.5* couldn't really create working
4699 # shared libraries, regardless of the interface used.
4700 case `$LD -v 2>&1` in
4701 *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
4702 *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;;
4703 *\ \(GNU\ Binutils\)\ [[3-9]]*) ;;
4704 *)
4705 lt_use_gnu_ld_interface=yes
4706 ;;
4707 esac
4708 ;;
4709 *)
4710 lt_use_gnu_ld_interface=yes
4711 ;;
4712 esac
4713 fi
4714
4715 if test "$lt_use_gnu_ld_interface" = yes; then
4716 # If archive_cmds runs LD, not CC, wlarc should be empty
4717 wlarc='${wl}'
4718
4719 # Set some defaults for GNU ld with shared library support. These
4720 # are reset later if shared libraries are not supported. Putting them
4721 # here allows them to be overridden if necessary.
4722 runpath_var=LD_RUN_PATH
4723 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
4724 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
4725 # ancient GNU ld didn't support --whole-archive et. al.
4726 if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
4727 _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
4728 else
4729 _LT_TAGVAR(whole_archive_flag_spec, $1)=
4730 fi
4731 supports_anon_versioning=no
4732 case `$LD -v 2>&1` in
4733 *GNU\ gold*) supports_anon_versioning=yes ;;
4734 *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
4735 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
4736 *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
4737 *\ 2.11.*) ;; # other 2.11 versions
4738 *) supports_anon_versioning=yes ;;
4739 esac
4740
4741 # See if GNU ld supports shared libraries.
4742 case $host_os in
4743 aix[[3-9]]*)
4744 # On AIX/PPC, the GNU linker is very broken
4745 if test "$host_cpu" != ia64; then
4746 _LT_TAGVAR(ld_shlibs, $1)=no
4747 cat <<_LT_EOF 1>&2
4748
4749 *** Warning: the GNU linker, at least up to release 2.19, is reported
4750 *** to be unable to reliably create shared libraries on AIX.
4751 *** Therefore, libtool is disabling shared libraries support. If you
4752 *** really care for shared libraries, you may want to install binutils
4753 *** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
4754 *** You will then need to restart the configuration process.
4755
4756 _LT_EOF
4757 fi
4758 ;;
4759
4760 amigaos*)
4761 case $host_cpu in
4762 powerpc)
4763 # see comment about AmigaOS4 .so support
4764 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4765 _LT_TAGVAR(archive_expsym_cmds, $1)=''
4766 ;;
4767 m68k)
4768 _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
4769 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4770 _LT_TAGVAR(hardcode_minus_L, $1)=yes
4771 ;;
4772 esac
4773 ;;
4774
4775 beos*)
4776 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
4777 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
4778 # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
4779 # support --undefined. This deserves some investigation. FIXME
4780 _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4781 else
4782 _LT_TAGVAR(ld_shlibs, $1)=no
4783 fi
4784 ;;
4785
4786 cygwin* | mingw* | pw32* | cegcc*)
4787 # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
4788 # as there is no search path for DLLs.
4789 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4790 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols'
4791 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
4792 _LT_TAGVAR(always_export_symbols, $1)=no
4793 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
4794 _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
4795 _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
4796
4797 if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
4798 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
4799 # If the export-symbols file already is a .def file (1st line
4800 # is EXPORTS), use it as is; otherwise, prepend...
4801 _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED \"$sed_uncomment_deffile\" $export_symbols | $SED 1q`" = xEXPORTS; then
4802 cp $export_symbols $output_objdir/$soname.def;
4803 else
4804 echo EXPORTS > $output_objdir/$soname.def;
4805 cat $export_symbols >> $output_objdir/$soname.def;
4806 fi~
4807 $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
4808 else
4809 _LT_TAGVAR(ld_shlibs, $1)=no
4810 fi
4811 ;;
4812
4813 haiku*)
4814 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4815 _LT_TAGVAR(link_all_deplibs, $1)=yes
4816 ;;
4817
4818 interix[[3-9]]*)
4819 _LT_TAGVAR(hardcode_direct, $1)=no
4820 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
4821 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
4822 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
4823 # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
4824 # Instead, shared libraries are loaded at an image base (0x10000000 by
4825 # default) and relocated if they conflict, which is a slow very memory
4826 # consuming and fragmenting process. To avoid this, we pick a random,
4827 # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
4828 # time. Moving up from 0x10000000 also allows more sbrk(2) space.
4829 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
4830 _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
4831 ;;
4832
4833 gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
4834 tmp_diet=no
4835 if test "$host_os" = linux-dietlibc; then
4836 case $cc_basename in
4837 diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
4838 esac
4839 fi
4840 if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
4841 && test "$tmp_diet" = no
4842 then
4843 tmp_addflag=' $pic_flag'
4844 tmp_sharedflag='-shared'
4845 case $cc_basename,$host_cpu in
4846 pgcc*) # Portland Group C compiler
4847 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
4848 tmp_addflag=' $pic_flag'
4849 ;;
4850 pgf77* | pgf90* | pgf95* | pgfortran*)
4851 # Portland Group f77 and f90 compilers
4852 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
4853 tmp_addflag=' $pic_flag -Mnomain' ;;
4854 ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
4855 tmp_addflag=' -i_dynamic' ;;
4856 efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
4857 tmp_addflag=' -i_dynamic -nofor_main' ;;
4858 ifc* | ifort*) # Intel Fortran compiler
4859 tmp_addflag=' -nofor_main' ;;
4860 lf95*) # Lahey Fortran 8.1
4861 _LT_TAGVAR(whole_archive_flag_spec, $1)=
4862 tmp_sharedflag='--shared' ;;
4863 xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below)
4864 tmp_sharedflag='-qmkshrobj'
4865 tmp_addflag= ;;
4866 nvcc*) # Cuda Compiler Driver 2.2
4867 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
4868 _LT_TAGVAR(compiler_needs_object, $1)=yes
4869 ;;
4870 esac
4871 case `$CC -V 2>&1 | sed 5q` in
4872 *Sun\ C*) # Sun C 5.9
4873 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
4874 _LT_TAGVAR(compiler_needs_object, $1)=yes
4875 tmp_sharedflag='-G' ;;
4876 *Sun\ F*) # Sun Fortran 8.3
4877 tmp_sharedflag='-G' ;;
4878 esac
4879 _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4880
4881 if test "x$supports_anon_versioning" = xyes; then
4882 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
4883 cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
4884 echo "local: *; };" >> $output_objdir/$libname.ver~
4885 $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
4886 fi
4887
4888 case $cc_basename in
4889 xlf* | bgf* | bgxlf* | mpixlf*)
4890 # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
4891 _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
4892 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
4893 _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
4894 if test "x$supports_anon_versioning" = xyes; then
4895 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
4896 cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
4897 echo "local: *; };" >> $output_objdir/$libname.ver~
4898 $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
4899 fi
4900 ;;
4901 esac
4902 else
4903 _LT_TAGVAR(ld_shlibs, $1)=no
4904 fi
4905 ;;
4906
4907 netbsd* | netbsdelf*-gnu)
4908 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
4909 _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
4910 wlarc=
4911 else
4912 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4913 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
4914 fi
4915 ;;
4916
4917 solaris*)
4918 if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
4919 _LT_TAGVAR(ld_shlibs, $1)=no
4920 cat <<_LT_EOF 1>&2
4921
4922 *** Warning: The releases 2.8.* of the GNU linker cannot reliably
4923 *** create shared libraries on Solaris systems. Therefore, libtool
4924 *** is disabling shared libraries support. We urge you to upgrade GNU
4925 *** binutils to release 2.9.1 or newer. Another option is to modify
4926 *** your PATH or compiler configuration so that the native linker is
4927 *** used, and then restart.
4928
4929 _LT_EOF
4930 elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
4931 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4932 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
4933 else
4934 _LT_TAGVAR(ld_shlibs, $1)=no
4935 fi
4936 ;;
4937
4938 sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
4939 case `$LD -v 2>&1` in
4940 *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
4941 _LT_TAGVAR(ld_shlibs, $1)=no
4942 cat <<_LT_EOF 1>&2
4943
4944 *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
4945 *** reliably create shared libraries on SCO systems. Therefore, libtool
4946 *** is disabling shared libraries support. We urge you to upgrade GNU
4947 *** binutils to release 2.16.91.0.3 or newer. Another option is to modify
4948 *** your PATH or compiler configuration so that the native linker is
4949 *** used, and then restart.
4950
4951 _LT_EOF
4952 ;;
4953 *)
4954 # For security reasons, it is highly recommended that you always
4955 # use absolute paths for naming shared libraries, and exclude the
4956 # DT_RUNPATH tag from executables and libraries. But doing so
4957 # requires that you compile everything twice, which is a pain.
4958 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
4959 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
4960 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4961 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
4962 else
4963 _LT_TAGVAR(ld_shlibs, $1)=no
4964 fi
4965 ;;
4966 esac
4967 ;;
4968
4969 sunos4*)
4970 _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
4971 wlarc=
4972 _LT_TAGVAR(hardcode_direct, $1)=yes
4973 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
4974 ;;
4975
4976 *)
4977 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
4978 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4979 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
4980 else
4981 _LT_TAGVAR(ld_shlibs, $1)=no
4982 fi
4983 ;;
4984 esac
4985
4986 if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then
4987 runpath_var=
4988 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
4989 _LT_TAGVAR(export_dynamic_flag_spec, $1)=
4990 _LT_TAGVAR(whole_archive_flag_spec, $1)=
4991 fi
4992 else
4993 # PORTME fill in a description of your system's linker (not GNU ld)
4994 case $host_os in
4995 aix3*)
4996 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
4997 _LT_TAGVAR(always_export_symbols, $1)=yes
4998 _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
4999 # Note: this linker hardcodes the directories in LIBPATH if there
5000 # are no directories specified by -L.
5001 _LT_TAGVAR(hardcode_minus_L, $1)=yes
5002 if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
5003 # Neither direct hardcoding nor static linking is supported with a
5004 # broken collect2.
5005 _LT_TAGVAR(hardcode_direct, $1)=unsupported
5006 fi
5007 ;;
5008
5009 aix[[4-9]]*)
5010 if test "$host_cpu" = ia64; then
5011 # On IA64, the linker does run time linking by default, so we don't
5012 # have to do anything special.
5013 aix_use_runtimelinking=no
5014 exp_sym_flag='-Bexport'
5015 no_entry_flag=""
5016 else
5017 # If we're using GNU nm, then we don't want the "-C" option.
5018 # -C means demangle to AIX nm, but means don't demangle with GNU nm
5019 # Also, AIX nm treats weak defined symbols like other global
5020 # defined symbols, whereas GNU nm marks them as "W".
5021 if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
5022 _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
5023 else
5024 _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
5025 fi
5026 aix_use_runtimelinking=no
5027
5028 # Test if we are trying to use run time linking or normal
5029 # AIX style linking. If -brtl is somewhere in LDFLAGS, we
5030 # need to do runtime linking.
5031 case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
5032 for ld_flag in $LDFLAGS; do
5033 if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
5034 aix_use_runtimelinking=yes
5035 break
5036 fi
5037 done
5038 ;;
5039 esac
5040
5041 exp_sym_flag='-bexport'
5042 no_entry_flag='-bnoentry'
5043 fi
5044
5045 # When large executables or shared objects are built, AIX ld can
5046 # have problems creating the table of contents. If linking a library
5047 # or program results in "error TOC overflow" add -mminimal-toc to
5048 # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
5049 # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
5050
5051 _LT_TAGVAR(archive_cmds, $1)=''
5052 _LT_TAGVAR(hardcode_direct, $1)=yes
5053 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
5054 _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
5055 _LT_TAGVAR(link_all_deplibs, $1)=yes
5056 _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
5057
5058 if test "$GCC" = yes; then
5059 case $host_os in aix4.[[012]]|aix4.[[012]].*)
5060 # We only want to do this on AIX 4.2 and lower, the check
5061 # below for broken collect2 doesn't work under 4.3+
5062 collect2name=`${CC} -print-prog-name=collect2`
5063 if test -f "$collect2name" &&
5064 strings "$collect2name" | $GREP resolve_lib_name >/dev/null
5065 then
5066 # We have reworked collect2
5067 :
5068 else
5069 # We have old collect2
5070 _LT_TAGVAR(hardcode_direct, $1)=unsupported
5071 # It fails to find uninstalled libraries when the uninstalled
5072 # path is not listed in the libpath. Setting hardcode_minus_L
5073 # to unsupported forces relinking
5074 _LT_TAGVAR(hardcode_minus_L, $1)=yes
5075 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5076 _LT_TAGVAR(hardcode_libdir_separator, $1)=
5077 fi
5078 ;;
5079 esac
5080 shared_flag='-shared'
5081 if test "$aix_use_runtimelinking" = yes; then
5082 shared_flag="$shared_flag "'${wl}-G'
5083 fi
5084 _LT_TAGVAR(link_all_deplibs, $1)=no
5085 else
5086 # not using gcc
5087 if test "$host_cpu" = ia64; then
5088 # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
5089 # chokes on -Wl,-G. The following line is correct:
5090 shared_flag='-G'
5091 else
5092 if test "$aix_use_runtimelinking" = yes; then
5093 shared_flag='${wl}-G'
5094 else
5095 shared_flag='${wl}-bM:SRE'
5096 fi
5097 fi
5098 fi
5099
5100 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
5101 # It seems that -bexpall does not export symbols beginning with
5102 # underscore (_), so it is better to generate a list of symbols to export.
5103 _LT_TAGVAR(always_export_symbols, $1)=yes
5104 if test "$aix_use_runtimelinking" = yes; then
5105 # Warning - without using the other runtime loading flags (-brtl),
5106 # -berok will link without error, but may produce a broken library.
5107 _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
5108 # Determine the default libpath from the value encoded in an
5109 # empty executable.
5110 _LT_SYS_MODULE_PATH_AIX([$1])
5111 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
5112 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
5113 else
5114 if test "$host_cpu" = ia64; then
5115 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
5116 _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
5117 _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
5118 else
5119 # Determine the default libpath from the value encoded in an
5120 # empty executable.
5121 _LT_SYS_MODULE_PATH_AIX([$1])
5122 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
5123 # Warning - without using the other run time loading flags,
5124 # -berok will link without error, but may produce a broken library.
5125 _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
5126 _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
5127 if test "$with_gnu_ld" = yes; then
5128 # We only use this code for GNU lds that support --whole-archive.
5129 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
5130 else
5131 # Exported symbols can be pulled into shared objects from archives
5132 _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
5133 fi
5134 _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
5135 # This is similar to how AIX traditionally builds its shared libraries.
5136 _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
5137 fi
5138 fi
5139 ;;
5140
5141 amigaos*)
5142 case $host_cpu in
5143 powerpc)
5144 # see comment about AmigaOS4 .so support
5145 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
5146 _LT_TAGVAR(archive_expsym_cmds, $1)=''
5147 ;;
5148 m68k)
5149 _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
5150 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5151 _LT_TAGVAR(hardcode_minus_L, $1)=yes
5152 ;;
5153 esac
5154 ;;
5155
5156 bsdi[[45]]*)
5157 _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
5158 ;;
5159
5160 cygwin* | mingw* | pw32* | cegcc*)
5161 # When not using gcc, we currently assume that we are using
5162 # Microsoft Visual C++.
5163 # hardcode_libdir_flag_spec is actually meaningless, as there is
5164 # no search path for DLLs.
5165 case $cc_basename in
5166 cl*)
5167 # Native MSVC
5168 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
5169 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5170 _LT_TAGVAR(always_export_symbols, $1)=yes
5171 _LT_TAGVAR(file_list_spec, $1)='@'
5172 # Tell ltmain to make .lib files, not .a files.
5173 libext=lib
5174 # Tell ltmain to make .dll files, not .so files.
5175 shrext_cmds=".dll"
5176 # FIXME: Setting linknames here is a bad hack.
5177 _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
5178 _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED \"$sed_uncomment_deffile\" $export_symbols | $SED 1q`" = xEXPORTS; then
5179 sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
5180 else
5181 sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
5182 fi~
5183 $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
5184 linknames='
5185 # The linker will not automatically build a static lib if we build a DLL.
5186 # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
5187 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
5188 _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
5189 _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1,DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
5190 # Don't use ranlib
5191 _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
5192 _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
5193 lt_tool_outputfile="@TOOL_OUTPUT@"~
5194 case $lt_outputfile in
5195 *.exe|*.EXE) ;;
5196 *)
5197 lt_outputfile="$lt_outputfile.exe"
5198 lt_tool_outputfile="$lt_tool_outputfile.exe"
5199 ;;
5200 esac~
5201 if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
5202 $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
5203 $RM "$lt_outputfile.manifest";
5204 fi'
5205 ;;
5206 *)
5207 # Assume MSVC wrapper
5208 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
5209 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5210 # Tell ltmain to make .lib files, not .a files.
5211 libext=lib
5212 # Tell ltmain to make .dll files, not .so files.
5213 shrext_cmds=".dll"
5214 # FIXME: Setting linknames here is a bad hack.
5215 _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
5216 # The linker will automatically build a .lib file if we build a DLL.
5217 _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
5218 # FIXME: Should let the user specify the lib program.
5219 _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
5220 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
5221 ;;
5222 esac
5223 ;;
5224
5225 darwin* | rhapsody*)
5226 _LT_DARWIN_LINKER_FEATURES($1)
5227 ;;
5228
5229 dgux*)
5230 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5231 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5232 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5233 ;;
5234
5235 # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
5236 # support. Future versions do this automatically, but an explicit c++rt0.o
5237 # does not break anything, and helps significantly (at the cost of a little
5238 # extra space).
5239 freebsd2.2*)
5240 _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
5241 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
5242 _LT_TAGVAR(hardcode_direct, $1)=yes
5243 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5244 ;;
5245
5246 # Unfortunately, older versions of FreeBSD 2 do not have this feature.
5247 freebsd2.*)
5248 _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
5249 _LT_TAGVAR(hardcode_direct, $1)=yes
5250 _LT_TAGVAR(hardcode_minus_L, $1)=yes
5251 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5252 ;;
5253
5254 # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
5255 freebsd* | dragonfly*)
5256 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
5257 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
5258 _LT_TAGVAR(hardcode_direct, $1)=yes
5259 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5260 ;;
5261
5262 hpux9*)
5263 if test "$GCC" = yes; then
5264 _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
5265 else
5266 _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
5267 fi
5268 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
5269 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5270 _LT_TAGVAR(hardcode_direct, $1)=yes
5271
5272 # hardcode_minus_L: Not really in the search PATH,
5273 # but as the default location of the library.
5274 _LT_TAGVAR(hardcode_minus_L, $1)=yes
5275 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
5276 ;;
5277
5278 hpux10*)
5279 if test "$GCC" = yes && test "$with_gnu_ld" = no; then
5280 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
5281 else
5282 _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
5283 fi
5284 if test "$with_gnu_ld" = no; then
5285 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
5286 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5287 _LT_TAGVAR(hardcode_direct, $1)=yes
5288 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
5289 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
5290 # hardcode_minus_L: Not really in the search PATH,
5291 # but as the default location of the library.
5292 _LT_TAGVAR(hardcode_minus_L, $1)=yes
5293 fi
5294 ;;
5295
5296 hpux11*)
5297 if test "$GCC" = yes && test "$with_gnu_ld" = no; then
5298 case $host_cpu in
5299 hppa*64*)
5300 _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
5301 ;;
5302 ia64*)
5303 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
5304 ;;
5305 *)
5306 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
5307 ;;
5308 esac
5309 else
5310 case $host_cpu in
5311 hppa*64*)
5312 _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
5313 ;;
5314 ia64*)
5315 _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
5316 ;;
5317 *)
5318 m4_if($1, [], [
5319 # Older versions of the 11.00 compiler do not understand -b yet
5320 # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
5321 _LT_LINKER_OPTION([if $CC understands -b],
5322 _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b],
5323 [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'],
5324 [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])],
5325 [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'])
5326 ;;
5327 esac
5328 fi
5329 if test "$with_gnu_ld" = no; then
5330 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
5331 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5332
5333 case $host_cpu in
5334 hppa*64*|ia64*)
5335 _LT_TAGVAR(hardcode_direct, $1)=no
5336 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5337 ;;
5338 *)
5339 _LT_TAGVAR(hardcode_direct, $1)=yes
5340 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
5341 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
5342
5343 # hardcode_minus_L: Not really in the search PATH,
5344 # but as the default location of the library.
5345 _LT_TAGVAR(hardcode_minus_L, $1)=yes
5346 ;;
5347 esac
5348 fi
5349 ;;
5350
5351 irix5* | irix6* | nonstopux*)
5352 if test "$GCC" = yes; then
5353 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
5354 # Try to use the -exported_symbol ld option, if it does not
5355 # work, assume that -exports_file does not work either and
5356 # implicitly export all symbols.
5357 # This should be the same for all languages, so no per-tag cache variable.
5358 AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol],
5359 [lt_cv_irix_exported_symbol],
5360 [save_LDFLAGS="$LDFLAGS"
5361 LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
5362 AC_LINK_IFELSE(
5363 [AC_LANG_SOURCE(
5364 [AC_LANG_CASE([C], [[int foo (void) { return 0; }]],
5365 [C++], [[int foo (void) { return 0; }]],
5366 [Fortran 77], [[
5367 subroutine foo
5368 end]],
5369 [Fortran], [[
5370 subroutine foo
5371 end]])])],
5372 [lt_cv_irix_exported_symbol=yes],
5373 [lt_cv_irix_exported_symbol=no])
5374 LDFLAGS="$save_LDFLAGS"])
5375 if test "$lt_cv_irix_exported_symbol" = yes; then
5376 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
5377 fi
5378 else
5379 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
5380 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
5381 fi
5382 _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
5383 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
5384 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5385 _LT_TAGVAR(inherit_rpath, $1)=yes
5386 _LT_TAGVAR(link_all_deplibs, $1)=yes
5387 ;;
5388
5389 netbsd* | netbsdelf*-gnu)
5390 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
5391 _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
5392 else
5393 _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
5394 fi
5395 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
5396 _LT_TAGVAR(hardcode_direct, $1)=yes
5397 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5398 ;;
5399
5400 newsos6)
5401 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5402 _LT_TAGVAR(hardcode_direct, $1)=yes
5403 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
5404 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5405 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5406 ;;
5407
5408 *nto* | *qnx*)
5409 ;;
5410
5411 openbsd*)
5412 if test -f /usr/libexec/ld.so; then
5413 _LT_TAGVAR(hardcode_direct, $1)=yes
5414 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5415 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
5416 if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
5417 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
5418 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
5419 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
5420 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
5421 else
5422 case $host_os in
5423 openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
5424 _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
5425 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
5426 ;;
5427 *)
5428 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
5429 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
5430 ;;
5431 esac
5432 fi
5433 else
5434 _LT_TAGVAR(ld_shlibs, $1)=no
5435 fi
5436 ;;
5437
5438 os2*)
5439 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5440 _LT_TAGVAR(hardcode_minus_L, $1)=yes
5441 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5442 _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
5443 _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
5444 ;;
5445
5446 osf3*)
5447 if test "$GCC" = yes; then
5448 _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
5449 _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
5450 else
5451 _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
5452 _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
5453 fi
5454 _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
5455 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
5456 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5457 ;;
5458
5459 osf4* | osf5*) # as osf3* with the addition of -msym flag
5460 if test "$GCC" = yes; then
5461 _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
5462 _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
5463 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
5464 else
5465 _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
5466 _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
5467 _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
5468 $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
5469
5470 # Both c and cxx compiler support -rpath directly
5471 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
5472 fi
5473 _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
5474 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5475 ;;
5476
5477 solaris*)
5478 _LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
5479 if test "$GCC" = yes; then
5480 wlarc='${wl}'
5481 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
5482 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
5483 $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
5484 else
5485 case `$CC -V 2>&1` in
5486 *"Compilers 5.0"*)
5487 wlarc=''
5488 _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
5489 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
5490 $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
5491 ;;
5492 *)
5493 wlarc='${wl}'
5494 _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
5495 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
5496 $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
5497 ;;
5498 esac
5499 fi
5500 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
5501 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5502 case $host_os in
5503 solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
5504 *)
5505 # The compiler driver will combine and reorder linker options,
5506 # but understands `-z linker_flag'. GCC discards it without `$wl',
5507 # but is careful enough not to reorder.
5508 # Supported since Solaris 2.6 (maybe 2.5.1?)
5509 if test "$GCC" = yes; then
5510 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
5511 else
5512 _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
5513 fi
5514 ;;
5515 esac
5516 _LT_TAGVAR(link_all_deplibs, $1)=yes
5517 ;;
5518
5519 sunos4*)
5520 if test "x$host_vendor" = xsequent; then
5521 # Use $CC to link under sequent, because it throws in some extra .o
5522 # files that make .init and .fini sections work.
5523 _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
5524 else
5525 _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
5526 fi
5527 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5528 _LT_TAGVAR(hardcode_direct, $1)=yes
5529 _LT_TAGVAR(hardcode_minus_L, $1)=yes
5530 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5531 ;;
5532
5533 sysv4)
5534 case $host_vendor in
5535 sni)
5536 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5537 _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true???
5538 ;;
5539 siemens)
5540 ## LD is ld it makes a PLAMLIB
5541 ## CC just makes a GrossModule.
5542 _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
5543 _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
5544 _LT_TAGVAR(hardcode_direct, $1)=no
5545 ;;
5546 motorola)
5547 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5548 _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
5549 ;;
5550 esac
5551 runpath_var='LD_RUN_PATH'
5552 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5553 ;;
5554
5555 sysv4.3*)
5556 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5557 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5558 _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
5559 ;;
5560
5561 sysv4*MP*)
5562 if test -d /usr/nec; then
5563 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5564 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5565 runpath_var=LD_RUN_PATH
5566 hardcode_runpath_var=yes
5567 _LT_TAGVAR(ld_shlibs, $1)=yes
5568 fi
5569 ;;
5570
5571 sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
5572 _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
5573 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
5574 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5575 runpath_var='LD_RUN_PATH'
5576
5577 if test "$GCC" = yes; then
5578 _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5579 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5580 else
5581 _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5582 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5583 fi
5584 ;;
5585
5586 sysv5* | sco3.2v5* | sco5v6*)
5587 # Note: We can NOT use -z defs as we might desire, because we do not
5588 # link with -lc, and that would cause any symbols used from libc to
5589 # always be unresolved, which means just about no library would
5590 # ever link correctly. If we're not using GNU ld we use -z text
5591 # though, which does catch some bad symbols but isn't as heavy-handed
5592 # as -z defs.
5593 _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
5594 _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
5595 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
5596 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5597 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
5598 _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
5599 _LT_TAGVAR(link_all_deplibs, $1)=yes
5600 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
5601 runpath_var='LD_RUN_PATH'
5602
5603 if test "$GCC" = yes; then
5604 _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5605 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5606 else
5607 _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5608 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5609 fi
5610 ;;
5611
5612 uts4*)
5613 _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5614 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5615 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5616 ;;
5617
5618 *)
5619 _LT_TAGVAR(ld_shlibs, $1)=no
5620 ;;
5621 esac
5622
5623 if test x$host_vendor = xsni; then
5624 case $host in
5625 sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
5626 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym'
5627 ;;
5628 esac
5629 fi
5630 fi
5631 ])
5632 AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
5633 test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
5634
5635 _LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld
5636
5637 _LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl
5638 _LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl
5639 _LT_DECL([], [extract_expsyms_cmds], [2],
5640 [The commands to extract the exported symbol list from a shared archive])
5641
5642 #
5643 # Do we need to explicitly link libc?
5644 #
5645 case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in
5646 x|xyes)
5647 # Assume -lc should be added
5648 _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
5649
5650 if test "$enable_shared" = yes && test "$GCC" = yes; then
5651 case $_LT_TAGVAR(archive_cmds, $1) in
5652 *'~'*)
5653 # FIXME: we may have to deal with multi-command sequences.
5654 ;;
5655 '$CC '*)
5656 # Test whether the compiler implicitly links with -lc since on some
5657 # systems, -lgcc has to come before -lc. If gcc already passes -lc
5658 # to ld, don't add -lc before -lgcc.
5659 AC_CACHE_CHECK([whether -lc should be explicitly linked in],
5660 [lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1),
5661 [$RM conftest*
5662 echo "$lt_simple_compile_test_code" > conftest.$ac_ext
5663
5664 if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
5665 soname=conftest
5666 lib=conftest
5667 libobjs=conftest.$ac_objext
5668 deplibs=
5669 wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1)
5670 pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1)
5671 compiler_flags=-v
5672 linker_flags=-v
5673 verstring=
5674 output_objdir=.
5675 libname=conftest
5676 lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1)
5677 _LT_TAGVAR(allow_undefined_flag, $1)=
5678 if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1)
5679 then
5680 lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no
5681 else
5682 lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes
5683 fi
5684 _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
5685 else
5686 cat conftest.err 1>&5
5687 fi
5688 $RM conftest*
5689 ])
5690 _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)
5691 ;;
5692 esac
5693 fi
5694 ;;
5695 esac
5696
5697 _LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0],
5698 [Whether or not to add -lc for building shared libraries])
5699 _LT_TAGDECL([allow_libtool_libs_with_static_runtimes],
5700 [enable_shared_with_static_runtimes], [0],
5701 [Whether or not to disallow shared libs when runtime libs are static])
5702 _LT_TAGDECL([], [export_dynamic_flag_spec], [1],
5703 [Compiler flag to allow reflexive dlopens])
5704 _LT_TAGDECL([], [whole_archive_flag_spec], [1],
5705 [Compiler flag to generate shared objects directly from archives])
5706 _LT_TAGDECL([], [compiler_needs_object], [1],
5707 [Whether the compiler copes with passing no objects directly])
5708 _LT_TAGDECL([], [old_archive_from_new_cmds], [2],
5709 [Create an old-style archive from a shared archive])
5710 _LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2],
5711 [Create a temporary old-style archive to link instead of a shared archive])
5712 _LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive])
5713 _LT_TAGDECL([], [archive_expsym_cmds], [2])
5714 _LT_TAGDECL([], [module_cmds], [2],
5715 [Commands used to build a loadable module if different from building
5716 a shared archive.])
5717 _LT_TAGDECL([], [module_expsym_cmds], [2])
5718 _LT_TAGDECL([], [with_gnu_ld], [1],
5719 [Whether we are building with GNU ld or not])
5720 _LT_TAGDECL([], [allow_undefined_flag], [1],
5721 [Flag that allows shared libraries with undefined symbols to be built])
5722 _LT_TAGDECL([], [no_undefined_flag], [1],
5723 [Flag that enforces no undefined symbols])
5724 _LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
5725 [Flag to hardcode $libdir into a binary during linking.
5726 This must work even if $libdir does not exist])
5727 _LT_TAGDECL([], [hardcode_libdir_separator], [1],
5728 [Whether we need a single "-rpath" flag with a separated argument])
5729 _LT_TAGDECL([], [hardcode_direct], [0],
5730 [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
5731 DIR into the resulting binary])
5732 _LT_TAGDECL([], [hardcode_direct_absolute], [0],
5733 [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
5734 DIR into the resulting binary and the resulting library dependency is
5735 "absolute", i.e impossible to change by setting ${shlibpath_var} if the
5736 library is relocated])
5737 _LT_TAGDECL([], [hardcode_minus_L], [0],
5738 [Set to "yes" if using the -LDIR flag during linking hardcodes DIR
5739 into the resulting binary])
5740 _LT_TAGDECL([], [hardcode_shlibpath_var], [0],
5741 [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
5742 into the resulting binary])
5743 _LT_TAGDECL([], [hardcode_automatic], [0],
5744 [Set to "yes" if building a shared library automatically hardcodes DIR
5745 into the library and all subsequent libraries and executables linked
5746 against it])
5747 _LT_TAGDECL([], [inherit_rpath], [0],
5748 [Set to yes if linker adds runtime paths of dependent libraries
5749 to runtime path list])
5750 _LT_TAGDECL([], [link_all_deplibs], [0],
5751 [Whether libtool must link a program against all its dependency libraries])
5752 _LT_TAGDECL([], [always_export_symbols], [0],
5753 [Set to "yes" if exported symbols are required])
5754 _LT_TAGDECL([], [export_symbols_cmds], [2],
5755 [The commands to list exported symbols])
5756 _LT_TAGDECL([], [exclude_expsyms], [1],
5757 [Symbols that should not be listed in the preloaded symbols])
5758 _LT_TAGDECL([], [include_expsyms], [1],
5759 [Symbols that must always be exported])
5760 _LT_TAGDECL([], [prelink_cmds], [2],
5761 [Commands necessary for linking programs (against libraries) with templates])
5762 _LT_TAGDECL([], [postlink_cmds], [2],
5763 [Commands necessary for finishing linking programs])
5764 _LT_TAGDECL([], [file_list_spec], [1],
5765 [Specify filename containing input files])
5766 dnl FIXME: Not yet implemented
5767 dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1],
5768 dnl [Compiler flag to generate thread safe objects])
5769 ])# _LT_LINKER_SHLIBS
5770
5771
5772 # _LT_LANG_C_CONFIG([TAG])
5773 # ------------------------
5774 # Ensure that the configuration variables for a C compiler are suitably
5775 # defined. These variables are subsequently used by _LT_CONFIG to write
5776 # the compiler configuration to `libtool'.
5777 m4_defun([_LT_LANG_C_CONFIG],
5778 [m4_require([_LT_DECL_EGREP])dnl
5779 lt_save_CC="$CC"
5780 AC_LANG_PUSH(C)
5781
5782 # Source file extension for C test sources.
5783 ac_ext=c
5784
5785 # Object file extension for compiled C test sources.
5786 objext=o
5787 _LT_TAGVAR(objext, $1)=$objext
5788
5789 # Code to be used in simple compile tests
5790 lt_simple_compile_test_code="int some_variable = 0;"
5791
5792 # Code to be used in simple link tests
5793 lt_simple_link_test_code='int main(){return(0);}'
5794
5795 _LT_TAG_COMPILER
5796 # Save the default compiler, since it gets overwritten when the other
5797 # tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
5798 compiler_DEFAULT=$CC
5799
5800 # save warnings/boilerplate of simple test code
5801 _LT_COMPILER_BOILERPLATE
5802 _LT_LINKER_BOILERPLATE
5803
5804 ## CAVEAT EMPTOR:
5805 ## There is no encapsulation within the following macros, do not change
5806 ## the running order or otherwise move them around unless you know exactly
5807 ## what you are doing...
5808 if test -n "$compiler"; then
5809 _LT_COMPILER_NO_RTTI($1)
5810 _LT_COMPILER_PIC($1)
5811 _LT_COMPILER_C_O($1)
5812 _LT_COMPILER_FILE_LOCKS($1)
5813 _LT_LINKER_SHLIBS($1)
5814 _LT_SYS_DYNAMIC_LINKER($1)
5815 _LT_LINKER_HARDCODE_LIBPATH($1)
5816 LT_SYS_DLOPEN_SELF
5817 _LT_CMD_STRIPLIB
5818
5819 # Report which library types will actually be built
5820 AC_MSG_CHECKING([if libtool supports shared libraries])
5821 AC_MSG_RESULT([$can_build_shared])
5822
5823 AC_MSG_CHECKING([whether to build shared libraries])
5824 test "$can_build_shared" = "no" && enable_shared=no
5825
5826 # On AIX, shared libraries and static libraries use the same namespace, and
5827 # are all built from PIC.
5828 case $host_os in
5829 aix3*)
5830 test "$enable_shared" = yes && enable_static=no
5831 if test -n "$RANLIB"; then
5832 archive_cmds="$archive_cmds~\$RANLIB \$lib"
5833 postinstall_cmds='$RANLIB $lib'
5834 fi
5835 ;;
5836
5837 aix[[4-9]]*)
5838 if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
5839 test "$enable_shared" = yes && enable_static=no
5840 fi
5841 ;;
5842 esac
5843 AC_MSG_RESULT([$enable_shared])
5844
5845 AC_MSG_CHECKING([whether to build static libraries])
5846 # Make sure either enable_shared or enable_static is yes.
5847 test "$enable_shared" = yes || enable_static=yes
5848 AC_MSG_RESULT([$enable_static])
5849
5850 _LT_CONFIG($1)
5851 fi
5852 AC_LANG_POP
5853 CC="$lt_save_CC"
5854 ])# _LT_LANG_C_CONFIG
5855
5856
5857 # _LT_LANG_CXX_CONFIG([TAG])
5858 # --------------------------
5859 # Ensure that the configuration variables for a C++ compiler are suitably
5860 # defined. These variables are subsequently used by _LT_CONFIG to write
5861 # the compiler configuration to `libtool'.
5862 m4_defun([_LT_LANG_CXX_CONFIG],
5863 [m4_require([_LT_FILEUTILS_DEFAULTS])dnl
5864 m4_require([_LT_DECL_EGREP])dnl
5865 m4_require([_LT_PATH_MANIFEST_TOOL])dnl
5866 if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
5867 ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
5868 (test "X$CXX" != "Xg++"))) ; then
5869 AC_PROG_CXXCPP
5870 else
5871 _lt_caught_CXX_error=yes
5872 fi
5873
5874 AC_LANG_PUSH(C++)
5875 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
5876 _LT_TAGVAR(allow_undefined_flag, $1)=
5877 _LT_TAGVAR(always_export_symbols, $1)=no
5878 _LT_TAGVAR(archive_expsym_cmds, $1)=
5879 _LT_TAGVAR(compiler_needs_object, $1)=no
5880 _LT_TAGVAR(export_dynamic_flag_spec, $1)=
5881 _LT_TAGVAR(hardcode_direct, $1)=no
5882 _LT_TAGVAR(hardcode_direct_absolute, $1)=no
5883 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
5884 _LT_TAGVAR(hardcode_libdir_separator, $1)=
5885 _LT_TAGVAR(hardcode_minus_L, $1)=no
5886 _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
5887 _LT_TAGVAR(hardcode_automatic, $1)=no
5888 _LT_TAGVAR(inherit_rpath, $1)=no
5889 _LT_TAGVAR(module_cmds, $1)=
5890 _LT_TAGVAR(module_expsym_cmds, $1)=
5891 _LT_TAGVAR(link_all_deplibs, $1)=unknown
5892 _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
5893 _LT_TAGVAR(reload_flag, $1)=$reload_flag
5894 _LT_TAGVAR(reload_cmds, $1)=$reload_cmds
5895 _LT_TAGVAR(no_undefined_flag, $1)=
5896 _LT_TAGVAR(whole_archive_flag_spec, $1)=
5897 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
5898
5899 # Source file extension for C++ test sources.
5900 ac_ext=cpp
5901
5902 # Object file extension for compiled C++ test sources.
5903 objext=o
5904 _LT_TAGVAR(objext, $1)=$objext
5905
5906 # No sense in running all these tests if we already determined that
5907 # the CXX compiler isn't working. Some variables (like enable_shared)
5908 # are currently assumed to apply to all compilers on this platform,
5909 # and will be corrupted by setting them based on a non-working compiler.
5910 if test "$_lt_caught_CXX_error" != yes; then
5911 # Code to be used in simple compile tests
5912 lt_simple_compile_test_code="int some_variable = 0;"
5913
5914 # Code to be used in simple link tests
5915 lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
5916
5917 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
5918 _LT_TAG_COMPILER
5919
5920 # save warnings/boilerplate of simple test code
5921 _LT_COMPILER_BOILERPLATE
5922 _LT_LINKER_BOILERPLATE
5923
5924 # Allow CC to be a program name with arguments.
5925 lt_save_CC=$CC
5926 lt_save_CFLAGS=$CFLAGS
5927 lt_save_LD=$LD
5928 lt_save_GCC=$GCC
5929 GCC=$GXX
5930 lt_save_with_gnu_ld=$with_gnu_ld
5931 lt_save_path_LD=$lt_cv_path_LD
5932 if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
5933 lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
5934 else
5935 $as_unset lt_cv_prog_gnu_ld
5936 fi
5937 if test -n "${lt_cv_path_LDCXX+set}"; then
5938 lt_cv_path_LD=$lt_cv_path_LDCXX
5939 else
5940 $as_unset lt_cv_path_LD
5941 fi
5942 test -z "${LDCXX+set}" || LD=$LDCXX
5943 CC=${CXX-"c++"}
5944 CFLAGS=$CXXFLAGS
5945 compiler=$CC
5946 _LT_TAGVAR(compiler, $1)=$CC
5947 _LT_CC_BASENAME([$compiler])
5948
5949 if test -n "$compiler"; then
5950 # We don't want -fno-exception when compiling C++ code, so set the
5951 # no_builtin_flag separately
5952 if test "$GXX" = yes; then
5953 _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
5954 else
5955 _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
5956 fi
5957
5958 if test "$GXX" = yes; then
5959 # Set up default GNU C++ configuration
5960
5961 LT_PATH_LD
5962
5963 # Check if GNU C++ uses GNU ld as the underlying linker, since the
5964 # archiving commands below assume that GNU ld is being used.
5965 if test "$with_gnu_ld" = yes; then
5966 _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
5967 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
5968
5969 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
5970 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
5971
5972 # If archive_cmds runs LD, not CC, wlarc should be empty
5973 # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
5974 # investigate it a little bit more. (MM)
5975 wlarc='${wl}'
5976
5977 # ancient GNU ld didn't support --whole-archive et. al.
5978 if eval "`$CC -print-prog-name=ld` --help 2>&1" |
5979 $GREP 'no-whole-archive' > /dev/null; then
5980 _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
5981 else
5982 _LT_TAGVAR(whole_archive_flag_spec, $1)=
5983 fi
5984 else
5985 with_gnu_ld=no
5986 wlarc=
5987
5988 # A generic and very simple default shared library creation
5989 # command for GNU C++ for the case where it uses the native
5990 # linker, instead of GNU ld. If possible, this setting should
5991 # overridden to take advantage of the native linker features on
5992 # the platform it is being used on.
5993 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
5994 fi
5995
5996 # Commands to make compiler produce verbose output that lists
5997 # what "hidden" libraries, object files and flags are used when
5998 # linking a shared library.
5999 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
6000
6001 else
6002 GXX=no
6003 with_gnu_ld=no
6004 wlarc=
6005 fi
6006
6007 # PORTME: fill in a description of your system's C++ link characteristics
6008 AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
6009 _LT_TAGVAR(ld_shlibs, $1)=yes
6010 case $host_os in
6011 aix3*)
6012 # FIXME: insert proper C++ library support
6013 _LT_TAGVAR(ld_shlibs, $1)=no
6014 ;;
6015 aix[[4-9]]*)
6016 if test "$host_cpu" = ia64; then
6017 # On IA64, the linker does run time linking by default, so we don't
6018 # have to do anything special.
6019 aix_use_runtimelinking=no
6020 exp_sym_flag='-Bexport'
6021 no_entry_flag=""
6022 else
6023 aix_use_runtimelinking=no
6024
6025 # Test if we are trying to use run time linking or normal
6026 # AIX style linking. If -brtl is somewhere in LDFLAGS, we
6027 # need to do runtime linking.
6028 case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
6029 for ld_flag in $LDFLAGS; do
6030 case $ld_flag in
6031 *-brtl*)
6032 aix_use_runtimelinking=yes
6033 break
6034 ;;
6035 esac
6036 done
6037 ;;
6038 esac
6039
6040 exp_sym_flag='-bexport'
6041 no_entry_flag='-bnoentry'
6042 fi
6043
6044 # When large executables or shared objects are built, AIX ld can
6045 # have problems creating the table of contents. If linking a library
6046 # or program results in "error TOC overflow" add -mminimal-toc to
6047 # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
6048 # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
6049
6050 _LT_TAGVAR(archive_cmds, $1)=''
6051 _LT_TAGVAR(hardcode_direct, $1)=yes
6052 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
6053 _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
6054 _LT_TAGVAR(link_all_deplibs, $1)=yes
6055 _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
6056
6057 if test "$GXX" = yes; then
6058 case $host_os in aix4.[[012]]|aix4.[[012]].*)
6059 # We only want to do this on AIX 4.2 and lower, the check
6060 # below for broken collect2 doesn't work under 4.3+
6061 collect2name=`${CC} -print-prog-name=collect2`
6062 if test -f "$collect2name" &&
6063 strings "$collect2name" | $GREP resolve_lib_name >/dev/null
6064 then
6065 # We have reworked collect2
6066 :
6067 else
6068 # We have old collect2
6069 _LT_TAGVAR(hardcode_direct, $1)=unsupported
6070 # It fails to find uninstalled libraries when the uninstalled
6071 # path is not listed in the libpath. Setting hardcode_minus_L
6072 # to unsupported forces relinking
6073 _LT_TAGVAR(hardcode_minus_L, $1)=yes
6074 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
6075 _LT_TAGVAR(hardcode_libdir_separator, $1)=
6076 fi
6077 esac
6078 shared_flag='-shared'
6079 if test "$aix_use_runtimelinking" = yes; then
6080 shared_flag="$shared_flag "'${wl}-G'
6081 fi
6082 else
6083 # not using gcc
6084 if test "$host_cpu" = ia64; then
6085 # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
6086 # chokes on -Wl,-G. The following line is correct:
6087 shared_flag='-G'
6088 else
6089 if test "$aix_use_runtimelinking" = yes; then
6090 shared_flag='${wl}-G'
6091 else
6092 shared_flag='${wl}-bM:SRE'
6093 fi
6094 fi
6095 fi
6096
6097 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
6098 # It seems that -bexpall does not export symbols beginning with
6099 # underscore (_), so it is better to generate a list of symbols to
6100 # export.
6101 _LT_TAGVAR(always_export_symbols, $1)=yes
6102 if test "$aix_use_runtimelinking" = yes; then
6103 # Warning - without using the other runtime loading flags (-brtl),
6104 # -berok will link without error, but may produce a broken library.
6105 _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
6106 # Determine the default libpath from the value encoded in an empty
6107 # executable.
6108 _LT_SYS_MODULE_PATH_AIX([$1])
6109 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
6110
6111 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
6112 else
6113 if test "$host_cpu" = ia64; then
6114 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
6115 _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
6116 _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
6117 else
6118 # Determine the default libpath from the value encoded in an
6119 # empty executable.
6120 _LT_SYS_MODULE_PATH_AIX([$1])
6121 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
6122 # Warning - without using the other run time loading flags,
6123 # -berok will link without error, but may produce a broken library.
6124 _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
6125 _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
6126 if test "$with_gnu_ld" = yes; then
6127 # We only use this code for GNU lds that support --whole-archive.
6128 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
6129 else
6130 # Exported symbols can be pulled into shared objects from archives
6131 _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
6132 fi
6133 _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
6134 # This is similar to how AIX traditionally builds its shared
6135 # libraries.
6136 _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
6137 fi
6138 fi
6139 ;;
6140
6141 beos*)
6142 if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
6143 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
6144 # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
6145 # support --undefined. This deserves some investigation. FIXME
6146 _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
6147 else
6148 _LT_TAGVAR(ld_shlibs, $1)=no
6149 fi
6150 ;;
6151
6152 chorus*)
6153 case $cc_basename in
6154 *)
6155 # FIXME: insert proper C++ library support
6156 _LT_TAGVAR(ld_shlibs, $1)=no
6157 ;;
6158 esac
6159 ;;
6160
6161 cygwin* | mingw* | pw32* | cegcc*)
6162 case $GXX,$cc_basename in
6163 ,cl* | no,cl*)
6164 # Native MSVC
6165 # hardcode_libdir_flag_spec is actually meaningless, as there is
6166 # no search path for DLLs.
6167 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
6168 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
6169 _LT_TAGVAR(always_export_symbols, $1)=yes
6170 _LT_TAGVAR(file_list_spec, $1)='@'
6171 # Tell ltmain to make .lib files, not .a files.
6172 libext=lib
6173 # Tell ltmain to make .dll files, not .so files.
6174 shrext_cmds=".dll"
6175 # FIXME: Setting linknames here is a bad hack.
6176 _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
6177 _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED \"$sed_uncomment_deffile\" $export_symbols | $SED 1q`" = xEXPORTS; then
6178 $SED -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
6179 else
6180 $SED -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
6181 fi~
6182 $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
6183 linknames='
6184 # The linker will not automatically build a static lib if we build a DLL.
6185 # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
6186 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
6187 # Don't use ranlib
6188 _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
6189 _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
6190 lt_tool_outputfile="@TOOL_OUTPUT@"~
6191 case $lt_outputfile in
6192 *.exe|*.EXE) ;;
6193 *)
6194 lt_outputfile="$lt_outputfile.exe"
6195 lt_tool_outputfile="$lt_tool_outputfile.exe"
6196 ;;
6197 esac~
6198 func_to_tool_file "$lt_outputfile"~
6199 if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
6200 $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
6201 $RM "$lt_outputfile.manifest";
6202 fi'
6203 ;;
6204 *)
6205 # g++
6206 # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
6207 # as there is no search path for DLLs.
6208 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
6209 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols'
6210 _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
6211 _LT_TAGVAR(always_export_symbols, $1)=no
6212 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
6213
6214 if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
6215 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
6216 # If the export-symbols file already is a .def file (1st line
6217 # is EXPORTS), use it as is; otherwise, prepend...
6218 _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED \"$sed_uncomment_deffile\" $export_symbols | $SED 1q`" = xEXPORTS; then
6219 cp $export_symbols $output_objdir/$soname.def;
6220 else
6221 echo EXPORTS > $output_objdir/$soname.def;
6222 cat $export_symbols >> $output_objdir/$soname.def;
6223 fi~
6224 $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
6225 else
6226 _LT_TAGVAR(ld_shlibs, $1)=no
6227 fi
6228 ;;
6229 esac
6230 ;;
6231 darwin* | rhapsody*)
6232 _LT_DARWIN_LINKER_FEATURES($1)
6233 ;;
6234
6235 dgux*)
6236 case $cc_basename in
6237 ec++*)
6238 # FIXME: insert proper C++ library support
6239 _LT_TAGVAR(ld_shlibs, $1)=no
6240 ;;
6241 ghcx*)
6242 # Green Hills C++ Compiler
6243 # FIXME: insert proper C++ library support
6244 _LT_TAGVAR(ld_shlibs, $1)=no
6245 ;;
6246 *)
6247 # FIXME: insert proper C++ library support
6248 _LT_TAGVAR(ld_shlibs, $1)=no
6249 ;;
6250 esac
6251 ;;
6252
6253 freebsd2.*)
6254 # C++ shared libraries reported to be fairly broken before
6255 # switch to ELF
6256 _LT_TAGVAR(ld_shlibs, $1)=no
6257 ;;
6258
6259 freebsd-elf*)
6260 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
6261 ;;
6262
6263 freebsd* | dragonfly*)
6264 # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
6265 # conventions
6266 _LT_TAGVAR(ld_shlibs, $1)=yes
6267 ;;
6268
6269 gnu*)
6270 ;;
6271
6272 haiku*)
6273 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
6274 _LT_TAGVAR(link_all_deplibs, $1)=yes
6275 ;;
6276
6277 hpux9*)
6278 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
6279 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6280 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
6281 _LT_TAGVAR(hardcode_direct, $1)=yes
6282 _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
6283 # but as the default
6284 # location of the library.
6285
6286 case $cc_basename in
6287 CC*)
6288 # FIXME: insert proper C++ library support
6289 _LT_TAGVAR(ld_shlibs, $1)=no
6290 ;;
6291 aCC*)
6292 _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
6293 # Commands to make compiler produce verbose output that lists
6294 # what "hidden" libraries, object files and flags are used when
6295 # linking a shared library.
6296 #
6297 # There doesn't appear to be a way to prevent this compiler from
6298 # explicitly linking system object files so we need to strip them
6299 # from the output so that they don't get included in the library
6300 # dependencies.
6301 output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
6302 ;;
6303 *)
6304 if test "$GXX" = yes; then
6305 _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
6306 else
6307 # FIXME: insert proper C++ library support
6308 _LT_TAGVAR(ld_shlibs, $1)=no
6309 fi
6310 ;;
6311 esac
6312 ;;
6313
6314 hpux10*|hpux11*)
6315 if test $with_gnu_ld = no; then
6316 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
6317 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6318
6319 case $host_cpu in
6320 hppa*64*|ia64*)
6321 ;;
6322 *)
6323 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
6324 ;;
6325 esac
6326 fi
6327 case $host_cpu in
6328 hppa*64*|ia64*)
6329 _LT_TAGVAR(hardcode_direct, $1)=no
6330 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6331 ;;
6332 *)
6333 _LT_TAGVAR(hardcode_direct, $1)=yes
6334 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
6335 _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
6336 # but as the default
6337 # location of the library.
6338 ;;
6339 esac
6340
6341 case $cc_basename in
6342 CC*)
6343 # FIXME: insert proper C++ library support
6344 _LT_TAGVAR(ld_shlibs, $1)=no
6345 ;;
6346 aCC*)
6347 case $host_cpu in
6348 hppa*64*)
6349 _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
6350 ;;
6351 ia64*)
6352 _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
6353 ;;
6354 *)
6355 _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
6356 ;;
6357 esac
6358 # Commands to make compiler produce verbose output that lists
6359 # what "hidden" libraries, object files and flags are used when
6360 # linking a shared library.
6361 #
6362 # There doesn't appear to be a way to prevent this compiler from
6363 # explicitly linking system object files so we need to strip them
6364 # from the output so that they don't get included in the library
6365 # dependencies.
6366 output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
6367 ;;
6368 *)
6369 if test "$GXX" = yes; then
6370 if test $with_gnu_ld = no; then
6371 case $host_cpu in
6372 hppa*64*)
6373 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
6374 ;;
6375 ia64*)
6376 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
6377 ;;
6378 *)
6379 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
6380 ;;
6381 esac
6382 fi
6383 else
6384 # FIXME: insert proper C++ library support
6385 _LT_TAGVAR(ld_shlibs, $1)=no
6386 fi
6387 ;;
6388 esac
6389 ;;
6390
6391 interix[[3-9]]*)
6392 _LT_TAGVAR(hardcode_direct, $1)=no
6393 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6394 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
6395 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
6396 # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
6397 # Instead, shared libraries are loaded at an image base (0x10000000 by
6398 # default) and relocated if they conflict, which is a slow very memory
6399 # consuming and fragmenting process. To avoid this, we pick a random,
6400 # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
6401 # time. Moving up from 0x10000000 also allows more sbrk(2) space.
6402 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
6403 _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
6404 ;;
6405 irix5* | irix6*)
6406 case $cc_basename in
6407 CC*)
6408 # SGI C++
6409 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
6410
6411 # Archives containing C++ object files must be created using
6412 # "CC -ar", where "CC" is the IRIX C++ compiler. This is
6413 # necessary to make sure instantiated templates are included
6414 # in the archive.
6415 _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
6416 ;;
6417 *)
6418 if test "$GXX" = yes; then
6419 if test "$with_gnu_ld" = no; then
6420 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
6421 else
6422 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` -o $lib'
6423 fi
6424 fi
6425 _LT_TAGVAR(link_all_deplibs, $1)=yes
6426 ;;
6427 esac
6428 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
6429 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6430 _LT_TAGVAR(inherit_rpath, $1)=yes
6431 ;;
6432
6433 linux* | k*bsd*-gnu | kopensolaris*-gnu)
6434 case $cc_basename in
6435 KCC*)
6436 # Kuck and Associates, Inc. (KAI) C++ Compiler
6437
6438 # KCC will only create a shared library if the output file
6439 # ends with ".so" (or ".sl" for HP-UX), so rename the library
6440 # to its proper name (with version) after linking.
6441 _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
6442 _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
6443 # Commands to make compiler produce verbose output that lists
6444 # what "hidden" libraries, object files and flags are used when
6445 # linking a shared library.
6446 #
6447 # There doesn't appear to be a way to prevent this compiler from
6448 # explicitly linking system object files so we need to strip them
6449 # from the output so that they don't get included in the library
6450 # dependencies.
6451 output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
6452
6453 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
6454 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
6455
6456 # Archives containing C++ object files must be created using
6457 # "CC -Bstatic", where "CC" is the KAI C++ compiler.
6458 _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
6459 ;;
6460 icpc* | ecpc* )
6461 # Intel C++
6462 with_gnu_ld=yes
6463 # version 8.0 and above of icpc choke on multiply defined symbols
6464 # if we add $predep_objects and $postdep_objects, however 7.1 and
6465 # earlier do not add the objects themselves.
6466 case `$CC -V 2>&1` in
6467 *"Version 7."*)
6468 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
6469 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
6470 ;;
6471 *) # Version 8.0 or newer
6472 tmp_idyn=
6473 case $host_cpu in
6474 ia64*) tmp_idyn=' -i_dynamic';;
6475 esac
6476 _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
6477 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
6478 ;;
6479 esac
6480 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
6481 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
6482 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
6483 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
6484 ;;
6485 pgCC* | pgcpp*)
6486 # Portland Group C++ compiler
6487 case `$CC -V` in
6488 *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*)
6489 _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~
6490 rm -rf $tpldir~
6491 $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
6492 compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"'
6493 _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~
6494 rm -rf $tpldir~
6495 $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
6496 $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~
6497 $RANLIB $oldlib'
6498 _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~
6499 rm -rf $tpldir~
6500 $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
6501 $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
6502 _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~
6503 rm -rf $tpldir~
6504 $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
6505 $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
6506 ;;
6507 *) # Version 6 and above use weak symbols
6508 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
6509 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
6510 ;;
6511 esac
6512
6513 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
6514 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
6515 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
6516 ;;
6517 cxx*)
6518 # Compaq C++
6519 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
6520 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
6521
6522 runpath_var=LD_RUN_PATH
6523 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
6524 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6525
6526 # Commands to make compiler produce verbose output that lists
6527 # what "hidden" libraries, object files and flags are used when
6528 # linking a shared library.
6529 #
6530 # There doesn't appear to be a way to prevent this compiler from
6531 # explicitly linking system object files so we need to strip them
6532 # from the output so that they don't get included in the library
6533 # dependencies.
6534 output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed'
6535 ;;
6536 xl* | mpixl* | bgxl*)
6537 # IBM XL 8.0 on PPC, with GNU ld
6538 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
6539 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
6540 _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
6541 if test "x$supports_anon_versioning" = xyes; then
6542 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
6543 cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
6544 echo "local: *; };" >> $output_objdir/$libname.ver~
6545 $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
6546 fi
6547 ;;
6548 *)
6549 case `$CC -V 2>&1 | sed 5q` in
6550 *Sun\ C*)
6551 # Sun C++ 5.9
6552 _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
6553 _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
6554 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
6555 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
6556 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
6557 _LT_TAGVAR(compiler_needs_object, $1)=yes
6558
6559 # Not sure whether something based on
6560 # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
6561 # would be better.
6562 output_verbose_link_cmd='func_echo_all'
6563
6564 # Archives containing C++ object files must be created using
6565 # "CC -xar", where "CC" is the Sun C++ compiler. This is
6566 # necessary to make sure instantiated templates are included
6567 # in the archive.
6568 _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
6569 ;;
6570 esac
6571 ;;
6572 esac
6573 ;;
6574
6575 lynxos*)
6576 # FIXME: insert proper C++ library support
6577 _LT_TAGVAR(ld_shlibs, $1)=no
6578 ;;
6579
6580 m88k*)
6581 # FIXME: insert proper C++ library support
6582 _LT_TAGVAR(ld_shlibs, $1)=no
6583 ;;
6584
6585 mvs*)
6586 case $cc_basename in
6587 cxx*)
6588 # FIXME: insert proper C++ library support
6589 _LT_TAGVAR(ld_shlibs, $1)=no
6590 ;;
6591 *)
6592 # FIXME: insert proper C++ library support
6593 _LT_TAGVAR(ld_shlibs, $1)=no
6594 ;;
6595 esac
6596 ;;
6597
6598 netbsd*)
6599 if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
6600 _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
6601 wlarc=
6602 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
6603 _LT_TAGVAR(hardcode_direct, $1)=yes
6604 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6605 fi
6606 # Workaround some broken pre-1.5 toolchains
6607 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
6608 ;;
6609
6610 *nto* | *qnx*)
6611 _LT_TAGVAR(ld_shlibs, $1)=yes
6612 ;;
6613
6614 openbsd2*)
6615 # C++ shared libraries are fairly broken
6616 _LT_TAGVAR(ld_shlibs, $1)=no
6617 ;;
6618
6619 openbsd*)
6620 if test -f /usr/libexec/ld.so; then
6621 _LT_TAGVAR(hardcode_direct, $1)=yes
6622 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6623 _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
6624 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
6625 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
6626 if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
6627 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
6628 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
6629 _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
6630 fi
6631 output_verbose_link_cmd=func_echo_all
6632 else
6633 _LT_TAGVAR(ld_shlibs, $1)=no
6634 fi
6635 ;;
6636
6637 osf3* | osf4* | osf5*)
6638 case $cc_basename in
6639 KCC*)
6640 # Kuck and Associates, Inc. (KAI) C++ Compiler
6641
6642 # KCC will only create a shared library if the output file
6643 # ends with ".so" (or ".sl" for HP-UX), so rename the library
6644 # to its proper name (with version) after linking.
6645 _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
6646
6647 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
6648 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6649
6650 # Archives containing C++ object files must be created using
6651 # the KAI C++ compiler.
6652 case $host in
6653 osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;;
6654 *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;;
6655 esac
6656 ;;
6657 RCC*)
6658 # Rational C++ 2.4.1
6659 # FIXME: insert proper C++ library support
6660 _LT_TAGVAR(ld_shlibs, $1)=no
6661 ;;
6662 cxx*)
6663 case $host in
6664 osf3*)
6665 _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
6666 _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && func_echo_all "${wl}-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
6667 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
6668 ;;
6669 *)
6670 _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
6671 _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
6672 _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
6673 echo "-hidden">> $lib.exp~
6674 $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~
6675 $RM $lib.exp'
6676 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
6677 ;;
6678 esac
6679
6680 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6681
6682 # Commands to make compiler produce verbose output that lists
6683 # what "hidden" libraries, object files and flags are used when
6684 # linking a shared library.
6685 #
6686 # There doesn't appear to be a way to prevent this compiler from
6687 # explicitly linking system object files so we need to strip them
6688 # from the output so that they don't get included in the library
6689 # dependencies.
6690 output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
6691 ;;
6692 *)
6693 if test "$GXX" = yes && test "$with_gnu_ld" = no; then
6694 _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
6695 case $host in
6696 osf3*)
6697 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
6698 ;;
6699 *)
6700 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
6701 ;;
6702 esac
6703
6704 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
6705 _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6706
6707 # Commands to make compiler produce verbose output that lists
6708 # what "hidden" libraries, object files and flags are used when
6709 # linking a shared library.
6710 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
6711
6712 else
6713 # FIXME: insert proper C++ library support
6714 _LT_TAGVAR(ld_shlibs, $1)=no
6715 fi
6716 ;;
6717 esac
6718 ;;
6719
6720 psos*)
6721 # FIXME: insert proper C++ library support
6722 _LT_TAGVAR(ld_shlibs, $1)=no
6723 ;;
6724
6725 sunos4*)
6726 case $cc_basename in
6727 CC*)
6728 # Sun C++ 4.x
6729 # FIXME: insert proper C++ library support
6730 _LT_TAGVAR(ld_shlibs, $1)=no
6731 ;;
6732 lcc*)
6733 # Lucid
6734 # FIXME: insert proper C++ library support
6735 _LT_TAGVAR(ld_shlibs, $1)=no
6736 ;;
6737 *)
6738 # FIXME: insert proper C++ library support
6739 _LT_TAGVAR(ld_shlibs, $1)=no
6740 ;;
6741 esac
6742 ;;
6743
6744 solaris*)
6745 case $cc_basename in
6746 CC* | sunCC*)
6747 # Sun C++ 4.2, 5.x and Centerline C++
6748 _LT_TAGVAR(archive_cmds_need_lc,$1)=yes
6749 _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
6750 _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
6751 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
6752 $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
6753
6754 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
6755 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6756 case $host_os in
6757 solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
6758 *)
6759 # The compiler driver will combine and reorder linker options,
6760 # but understands `-z linker_flag'.
6761 # Supported since Solaris 2.6 (maybe 2.5.1?)
6762 _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
6763 ;;
6764 esac
6765 _LT_TAGVAR(link_all_deplibs, $1)=yes
6766
6767 output_verbose_link_cmd='func_echo_all'
6768
6769 # Archives containing C++ object files must be created using
6770 # "CC -xar", where "CC" is the Sun C++ compiler. This is
6771 # necessary to make sure instantiated templates are included
6772 # in the archive.
6773 _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
6774 ;;
6775 gcx*)
6776 # Green Hills C++ Compiler
6777 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
6778
6779 # The C++ compiler must be used to create the archive.
6780 _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
6781 ;;
6782 *)
6783 # GNU C++ compiler with Solaris linker
6784 if test "$GXX" = yes && test "$with_gnu_ld" = no; then
6785 _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
6786 if $CC --version | $GREP -v '^2\.7' > /dev/null; then
6787 _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
6788 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
6789 $CC -shared $pic_flag -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
6790
6791 # Commands to make compiler produce verbose output that lists
6792 # what "hidden" libraries, object files and flags are used when
6793 # linking a shared library.
6794 output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
6795 else
6796 # g++ 2.7 appears to require `-G' NOT `-shared' on this
6797 # platform.
6798 _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
6799 _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
6800 $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
6801
6802 # Commands to make compiler produce verbose output that lists
6803 # what "hidden" libraries, object files and flags are used when
6804 # linking a shared library.
6805 output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
6806 fi
6807
6808 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
6809 case $host_os in
6810 solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
6811 *)
6812 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
6813 ;;
6814 esac
6815 fi
6816 ;;
6817 esac
6818 ;;
6819
6820 sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
6821 _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
6822 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
6823 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6824 runpath_var='LD_RUN_PATH'
6825
6826 case $cc_basename in
6827 CC*)
6828 _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6829 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6830 ;;
6831 *)
6832 _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6833 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6834 ;;
6835 esac
6836 ;;
6837
6838 sysv5* | sco3.2v5* | sco5v6*)
6839 # Note: We can NOT use -z defs as we might desire, because we do not
6840 # link with -lc, and that would cause any symbols used from libc to
6841 # always be unresolved, which means just about no library would
6842 # ever link correctly. If we're not using GNU ld we use -z text
6843 # though, which does catch some bad symbols but isn't as heavy-handed
6844 # as -z defs.
6845 _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
6846 _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
6847 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
6848 _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6849 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
6850 _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
6851 _LT_TAGVAR(link_all_deplibs, $1)=yes
6852 _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
6853 runpath_var='LD_RUN_PATH'
6854
6855 case $cc_basename in
6856 CC*)
6857 _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6858 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6859 _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~
6860 '"$_LT_TAGVAR(old_archive_cmds, $1)"
6861 _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~
6862 '"$_LT_TAGVAR(reload_cmds, $1)"
6863 ;;
6864 *)
6865 _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6866 _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6867 ;;
6868 esac
6869 ;;
6870
6871 tandem*)
6872 case $cc_basename in
6873 NCC*)
6874 # NonStop-UX NCC 3.20
6875 # FIXME: insert proper C++ library support
6876 _LT_TAGVAR(ld_shlibs, $1)=no
6877 ;;
6878 *)
6879 # FIXME: insert proper C++ library support
6880 _LT_TAGVAR(ld_shlibs, $1)=no
6881 ;;
6882 esac
6883 ;;
6884
6885 vxworks*)
6886 # FIXME: insert proper C++ library support
6887 _LT_TAGVAR(ld_shlibs, $1)=no
6888 ;;
6889
6890 *)
6891 # FIXME: insert proper C++ library support
6892 _LT_TAGVAR(ld_shlibs, $1)=no
6893 ;;
6894 esac
6895
6896 AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
6897 test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
6898
6899 _LT_TAGVAR(GCC, $1)="$GXX"
6900 _LT_TAGVAR(LD, $1)="$LD"
6901
6902 ## CAVEAT EMPTOR:
6903 ## There is no encapsulation within the following macros, do not change
6904 ## the running order or otherwise move them around unless you know exactly
6905 ## what you are doing...
6906 _LT_SYS_HIDDEN_LIBDEPS($1)
6907 _LT_COMPILER_PIC($1)
6908 _LT_COMPILER_C_O($1)
6909 _LT_COMPILER_FILE_LOCKS($1)
6910 _LT_LINKER_SHLIBS($1)
6911 _LT_SYS_DYNAMIC_LINKER($1)
6912 _LT_LINKER_HARDCODE_LIBPATH($1)
6913
6914 _LT_CONFIG($1)
6915 fi # test -n "$compiler"
6916
6917 CC=$lt_save_CC
6918 CFLAGS=$lt_save_CFLAGS
6919 LDCXX=$LD
6920 LD=$lt_save_LD
6921 GCC=$lt_save_GCC
6922 with_gnu_ld=$lt_save_with_gnu_ld
6923 lt_cv_path_LDCXX=$lt_cv_path_LD
6924 lt_cv_path_LD=$lt_save_path_LD
6925 lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
6926 lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
6927 fi # test "$_lt_caught_CXX_error" != yes
6928
6929 AC_LANG_POP
6930 ])# _LT_LANG_CXX_CONFIG
6931
6932
6933 # _LT_FUNC_STRIPNAME_CNF
6934 # ----------------------
6935 # func_stripname_cnf prefix suffix name
6936 # strip PREFIX and SUFFIX off of NAME.
6937 # PREFIX and SUFFIX must not contain globbing or regex special
6938 # characters, hashes, percent signs, but SUFFIX may contain a leading
6939 # dot (in which case that matches only a dot).
6940 #
6941 # This function is identical to the (non-XSI) version of func_stripname,
6942 # except this one can be used by m4 code that may be executed by configure,
6943 # rather than the libtool script.
6944 m4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl
6945 AC_REQUIRE([_LT_DECL_SED])
6946 AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])
6947 func_stripname_cnf ()
6948 {
6949 case ${2} in
6950 .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
6951 *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
6952 esac
6953 } # func_stripname_cnf
6954 ])# _LT_FUNC_STRIPNAME_CNF
6955
6956 # _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
6957 # ---------------------------------
6958 # Figure out "hidden" library dependencies from verbose
6959 # compiler output when linking a shared library.
6960 # Parse the compiler output and extract the necessary
6961 # objects, libraries and library flags.
6962 m4_defun([_LT_SYS_HIDDEN_LIBDEPS],
6963 [m4_require([_LT_FILEUTILS_DEFAULTS])dnl
6964 AC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl
6965 # Dependencies to place before and after the object being linked:
6966 _LT_TAGVAR(predep_objects, $1)=
6967 _LT_TAGVAR(postdep_objects, $1)=
6968 _LT_TAGVAR(predeps, $1)=
6969 _LT_TAGVAR(postdeps, $1)=
6970 _LT_TAGVAR(compiler_lib_search_path, $1)=
6971
6972 dnl we can't use the lt_simple_compile_test_code here,
6973 dnl because it contains code intended for an executable,
6974 dnl not a library. It's possible we should let each
6975 dnl tag define a new lt_????_link_test_code variable,
6976 dnl but it's only used here...
6977 m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF
6978 int a;
6979 void foo (void) { a = 0; }
6980 _LT_EOF
6981 ], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF
6982 class Foo
6983 {
6984 public:
6985 Foo (void) { a = 0; }
6986 private:
6987 int a;
6988 };
6989 _LT_EOF
6990 ], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF
6991 subroutine foo
6992 implicit none
6993 integer*4 a
6994 a=0
6995 return
6996 end
6997 _LT_EOF
6998 ], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF
6999 subroutine foo
7000 implicit none
7001 integer a
7002 a=0
7003 return
7004 end
7005 _LT_EOF
7006 ], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF
7007 public class foo {
7008 private int a;
7009 public void bar (void) {
7010 a = 0;
7011 }
7012 };
7013 _LT_EOF
7014 ], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF
7015 package foo
7016 func foo() {
7017 }
7018 _LT_EOF
7019 ])
7020
7021 _lt_libdeps_save_CFLAGS=$CFLAGS
7022 case "$CC $CFLAGS " in #(
7023 *\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;;
7024 *\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;;
7025 *\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;;
7026 esac
7027
7028 dnl Parse the compiler output and extract the necessary
7029 dnl objects, libraries and library flags.
7030 if AC_TRY_EVAL(ac_compile); then
7031 # Parse the compiler output and extract the necessary
7032 # objects, libraries and library flags.
7033
7034 # Sentinel used to keep track of whether or not we are before
7035 # the conftest object file.
7036 pre_test_object_deps_done=no
7037
7038 for p in `eval "$output_verbose_link_cmd"`; do
7039 case ${prev}${p} in
7040
7041 -L* | -R* | -l*)
7042 # Some compilers place space between "-{L,R}" and the path.
7043 # Remove the space.
7044 if test $p = "-L" ||
7045 test $p = "-R"; then
7046 prev=$p
7047 continue
7048 fi
7049
7050 # Expand the sysroot to ease extracting the directories later.
7051 if test -z "$prev"; then
7052 case $p in
7053 -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;;
7054 -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;;
7055 -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;;
7056 esac
7057 fi
7058 case $p in
7059 =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;;
7060 esac
7061 if test "$pre_test_object_deps_done" = no; then
7062 case ${prev} in
7063 -L | -R)
7064 # Internal compiler library paths should come after those
7065 # provided the user. The postdeps already come after the
7066 # user supplied libs so there is no need to process them.
7067 if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then
7068 _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}"
7069 else
7070 _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}"
7071 fi
7072 ;;
7073 # The "-l" case would never come before the object being
7074 # linked, so don't bother handling this case.
7075 esac
7076 else
7077 if test -z "$_LT_TAGVAR(postdeps, $1)"; then
7078 _LT_TAGVAR(postdeps, $1)="${prev}${p}"
7079 else
7080 _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}"
7081 fi
7082 fi
7083 prev=
7084 ;;
7085
7086 *.lto.$objext) ;; # Ignore GCC LTO objects
7087 *.$objext)
7088 # This assumes that the test object file only shows up
7089 # once in the compiler output.
7090 if test "$p" = "conftest.$objext"; then
7091 pre_test_object_deps_done=yes
7092 continue
7093 fi
7094
7095 if test "$pre_test_object_deps_done" = no; then
7096 if test -z "$_LT_TAGVAR(predep_objects, $1)"; then
7097 _LT_TAGVAR(predep_objects, $1)="$p"
7098 else
7099 _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p"
7100 fi
7101 else
7102 if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then
7103 _LT_TAGVAR(postdep_objects, $1)="$p"
7104 else
7105 _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p"
7106 fi
7107 fi
7108 ;;
7109
7110 *) ;; # Ignore the rest.
7111
7112 esac
7113 done
7114
7115 # Clean up.
7116 rm -f a.out a.exe
7117 else
7118 echo "libtool.m4: error: problem compiling $1 test program"
7119 fi
7120
7121 $RM -f confest.$objext
7122 CFLAGS=$_lt_libdeps_save_CFLAGS
7123
7124 # PORTME: override above test on systems where it is broken
7125 m4_if([$1], [CXX],
7126 [case $host_os in
7127 interix[[3-9]]*)
7128 # Interix 3.5 installs completely hosed .la files for C++, so rather than
7129 # hack all around it, let's just trust "g++" to DTRT.
7130 _LT_TAGVAR(predep_objects,$1)=
7131 _LT_TAGVAR(postdep_objects,$1)=
7132 _LT_TAGVAR(postdeps,$1)=
7133 ;;
7134
7135 linux*)
7136 case `$CC -V 2>&1 | sed 5q` in
7137 *Sun\ C*)
7138 # Sun C++ 5.9
7139
7140 # The more standards-conforming stlport4 library is
7141 # incompatible with the Cstd library. Avoid specifying
7142 # it if it's in CXXFLAGS. Ignore libCrun as
7143 # -library=stlport4 depends on it.
7144 case " $CXX $CXXFLAGS " in
7145 *" -library=stlport4 "*)
7146 solaris_use_stlport4=yes
7147 ;;
7148 esac
7149
7150 if test "$solaris_use_stlport4" != yes; then
7151 _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
7152 fi
7153 ;;
7154 esac
7155 ;;
7156
7157 solaris*)
7158 case $cc_basename in
7159 CC* | sunCC*)
7160 # The more standards-conforming stlport4 library is
7161 # incompatible with the Cstd library. Avoid specifying
7162 # it if it's in CXXFLAGS. Ignore libCrun as
7163 # -library=stlport4 depends on it.
7164 case " $CXX $CXXFLAGS " in
7165 *" -library=stlport4 "*)
7166 solaris_use_stlport4=yes
7167 ;;
7168 esac
7169
7170 # Adding this requires a known-good setup of shared libraries for
7171 # Sun compiler versions before 5.6, else PIC objects from an old
7172 # archive will be linked into the output, leading to subtle bugs.
7173 if test "$solaris_use_stlport4" != yes; then
7174 _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
7175 fi
7176 ;;
7177 esac
7178 ;;
7179 esac
7180 ])
7181
7182 case " $_LT_TAGVAR(postdeps, $1) " in
7183 *" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;;
7184 esac
7185 _LT_TAGVAR(compiler_lib_search_dirs, $1)=
7186 if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then
7187 _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
7188 fi
7189 _LT_TAGDECL([], [compiler_lib_search_dirs], [1],
7190 [The directories searched by this compiler when creating a shared library])
7191 _LT_TAGDECL([], [predep_objects], [1],
7192 [Dependencies to place before and after the objects being linked to
7193 create a shared library])
7194 _LT_TAGDECL([], [postdep_objects], [1])
7195 _LT_TAGDECL([], [predeps], [1])
7196 _LT_TAGDECL([], [postdeps], [1])
7197 _LT_TAGDECL([], [compiler_lib_search_path], [1],
7198 [The library search path used internally by the compiler when linking
7199 a shared library])
7200 ])# _LT_SYS_HIDDEN_LIBDEPS
7201
7202
7203 # _LT_LANG_F77_CONFIG([TAG])
7204 # --------------------------
7205 # Ensure that the configuration variables for a Fortran 77 compiler are
7206 # suitably defined. These variables are subsequently used by _LT_CONFIG
7207 # to write the compiler configuration to `libtool'.
7208 m4_defun([_LT_LANG_F77_CONFIG],
7209 [AC_LANG_PUSH(Fortran 77)
7210 if test -z "$F77" || test "X$F77" = "Xno"; then
7211 _lt_disable_F77=yes
7212 fi
7213
7214 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
7215 _LT_TAGVAR(allow_undefined_flag, $1)=
7216 _LT_TAGVAR(always_export_symbols, $1)=no
7217 _LT_TAGVAR(archive_expsym_cmds, $1)=
7218 _LT_TAGVAR(export_dynamic_flag_spec, $1)=
7219 _LT_TAGVAR(hardcode_direct, $1)=no
7220 _LT_TAGVAR(hardcode_direct_absolute, $1)=no
7221 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
7222 _LT_TAGVAR(hardcode_libdir_separator, $1)=
7223 _LT_TAGVAR(hardcode_minus_L, $1)=no
7224 _LT_TAGVAR(hardcode_automatic, $1)=no
7225 _LT_TAGVAR(inherit_rpath, $1)=no
7226 _LT_TAGVAR(module_cmds, $1)=
7227 _LT_TAGVAR(module_expsym_cmds, $1)=
7228 _LT_TAGVAR(link_all_deplibs, $1)=unknown
7229 _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
7230 _LT_TAGVAR(reload_flag, $1)=$reload_flag
7231 _LT_TAGVAR(reload_cmds, $1)=$reload_cmds
7232 _LT_TAGVAR(no_undefined_flag, $1)=
7233 _LT_TAGVAR(whole_archive_flag_spec, $1)=
7234 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
7235
7236 # Source file extension for f77 test sources.
7237 ac_ext=f
7238
7239 # Object file extension for compiled f77 test sources.
7240 objext=o
7241 _LT_TAGVAR(objext, $1)=$objext
7242
7243 # No sense in running all these tests if we already determined that
7244 # the F77 compiler isn't working. Some variables (like enable_shared)
7245 # are currently assumed to apply to all compilers on this platform,
7246 # and will be corrupted by setting them based on a non-working compiler.
7247 if test "$_lt_disable_F77" != yes; then
7248 # Code to be used in simple compile tests
7249 lt_simple_compile_test_code="\
7250 subroutine t
7251 return
7252 end
7253 "
7254
7255 # Code to be used in simple link tests
7256 lt_simple_link_test_code="\
7257 program t
7258 end
7259 "
7260
7261 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
7262 _LT_TAG_COMPILER
7263
7264 # save warnings/boilerplate of simple test code
7265 _LT_COMPILER_BOILERPLATE
7266 _LT_LINKER_BOILERPLATE
7267
7268 # Allow CC to be a program name with arguments.
7269 lt_save_CC="$CC"
7270 lt_save_GCC=$GCC
7271 lt_save_CFLAGS=$CFLAGS
7272 CC=${F77-"f77"}
7273 CFLAGS=$FFLAGS
7274 compiler=$CC
7275 _LT_TAGVAR(compiler, $1)=$CC
7276 _LT_CC_BASENAME([$compiler])
7277 GCC=$G77
7278 if test -n "$compiler"; then
7279 AC_MSG_CHECKING([if libtool supports shared libraries])
7280 AC_MSG_RESULT([$can_build_shared])
7281
7282 AC_MSG_CHECKING([whether to build shared libraries])
7283 test "$can_build_shared" = "no" && enable_shared=no
7284
7285 # On AIX, shared libraries and static libraries use the same namespace, and
7286 # are all built from PIC.
7287 case $host_os in
7288 aix3*)
7289 test "$enable_shared" = yes && enable_static=no
7290 if test -n "$RANLIB"; then
7291 archive_cmds="$archive_cmds~\$RANLIB \$lib"
7292 postinstall_cmds='$RANLIB $lib'
7293 fi
7294 ;;
7295 aix[[4-9]]*)
7296 if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
7297 test "$enable_shared" = yes && enable_static=no
7298 fi
7299 ;;
7300 esac
7301 AC_MSG_RESULT([$enable_shared])
7302
7303 AC_MSG_CHECKING([whether to build static libraries])
7304 # Make sure either enable_shared or enable_static is yes.
7305 test "$enable_shared" = yes || enable_static=yes
7306 AC_MSG_RESULT([$enable_static])
7307
7308 _LT_TAGVAR(GCC, $1)="$G77"
7309 _LT_TAGVAR(LD, $1)="$LD"
7310
7311 ## CAVEAT EMPTOR:
7312 ## There is no encapsulation within the following macros, do not change
7313 ## the running order or otherwise move them around unless you know exactly
7314 ## what you are doing...
7315 _LT_COMPILER_PIC($1)
7316 _LT_COMPILER_C_O($1)
7317 _LT_COMPILER_FILE_LOCKS($1)
7318 _LT_LINKER_SHLIBS($1)
7319 _LT_SYS_DYNAMIC_LINKER($1)
7320 _LT_LINKER_HARDCODE_LIBPATH($1)
7321
7322 _LT_CONFIG($1)
7323 fi # test -n "$compiler"
7324
7325 GCC=$lt_save_GCC
7326 CC="$lt_save_CC"
7327 CFLAGS="$lt_save_CFLAGS"
7328 fi # test "$_lt_disable_F77" != yes
7329
7330 AC_LANG_POP
7331 ])# _LT_LANG_F77_CONFIG
7332
7333
7334 # _LT_LANG_FC_CONFIG([TAG])
7335 # -------------------------
7336 # Ensure that the configuration variables for a Fortran compiler are
7337 # suitably defined. These variables are subsequently used by _LT_CONFIG
7338 # to write the compiler configuration to `libtool'.
7339 m4_defun([_LT_LANG_FC_CONFIG],
7340 [AC_LANG_PUSH(Fortran)
7341
7342 if test -z "$FC" || test "X$FC" = "Xno"; then
7343 _lt_disable_FC=yes
7344 fi
7345
7346 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
7347 _LT_TAGVAR(allow_undefined_flag, $1)=
7348 _LT_TAGVAR(always_export_symbols, $1)=no
7349 _LT_TAGVAR(archive_expsym_cmds, $1)=
7350 _LT_TAGVAR(export_dynamic_flag_spec, $1)=
7351 _LT_TAGVAR(hardcode_direct, $1)=no
7352 _LT_TAGVAR(hardcode_direct_absolute, $1)=no
7353 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
7354 _LT_TAGVAR(hardcode_libdir_separator, $1)=
7355 _LT_TAGVAR(hardcode_minus_L, $1)=no
7356 _LT_TAGVAR(hardcode_automatic, $1)=no
7357 _LT_TAGVAR(inherit_rpath, $1)=no
7358 _LT_TAGVAR(module_cmds, $1)=
7359 _LT_TAGVAR(module_expsym_cmds, $1)=
7360 _LT_TAGVAR(link_all_deplibs, $1)=unknown
7361 _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
7362 _LT_TAGVAR(reload_flag, $1)=$reload_flag
7363 _LT_TAGVAR(reload_cmds, $1)=$reload_cmds
7364 _LT_TAGVAR(no_undefined_flag, $1)=
7365 _LT_TAGVAR(whole_archive_flag_spec, $1)=
7366 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
7367
7368 # Source file extension for fc test sources.
7369 ac_ext=${ac_fc_srcext-f}
7370
7371 # Object file extension for compiled fc test sources.
7372 objext=o
7373 _LT_TAGVAR(objext, $1)=$objext
7374
7375 # No sense in running all these tests if we already determined that
7376 # the FC compiler isn't working. Some variables (like enable_shared)
7377 # are currently assumed to apply to all compilers on this platform,
7378 # and will be corrupted by setting them based on a non-working compiler.
7379 if test "$_lt_disable_FC" != yes; then
7380 # Code to be used in simple compile tests
7381 lt_simple_compile_test_code="\
7382 subroutine t
7383 return
7384 end
7385 "
7386
7387 # Code to be used in simple link tests
7388 lt_simple_link_test_code="\
7389 program t
7390 end
7391 "
7392
7393 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
7394 _LT_TAG_COMPILER
7395
7396 # save warnings/boilerplate of simple test code
7397 _LT_COMPILER_BOILERPLATE
7398 _LT_LINKER_BOILERPLATE
7399
7400 # Allow CC to be a program name with arguments.
7401 lt_save_CC="$CC"
7402 lt_save_GCC=$GCC
7403 lt_save_CFLAGS=$CFLAGS
7404 CC=${FC-"f95"}
7405 CFLAGS=$FCFLAGS
7406 compiler=$CC
7407 GCC=$ac_cv_fc_compiler_gnu
7408
7409 _LT_TAGVAR(compiler, $1)=$CC
7410 _LT_CC_BASENAME([$compiler])
7411
7412 if test -n "$compiler"; then
7413 AC_MSG_CHECKING([if libtool supports shared libraries])
7414 AC_MSG_RESULT([$can_build_shared])
7415
7416 AC_MSG_CHECKING([whether to build shared libraries])
7417 test "$can_build_shared" = "no" && enable_shared=no
7418
7419 # On AIX, shared libraries and static libraries use the same namespace, and
7420 # are all built from PIC.
7421 case $host_os in
7422 aix3*)
7423 test "$enable_shared" = yes && enable_static=no
7424 if test -n "$RANLIB"; then
7425 archive_cmds="$archive_cmds~\$RANLIB \$lib"
7426 postinstall_cmds='$RANLIB $lib'
7427 fi
7428 ;;
7429 aix[[4-9]]*)
7430 if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
7431 test "$enable_shared" = yes && enable_static=no
7432 fi
7433 ;;
7434 esac
7435 AC_MSG_RESULT([$enable_shared])
7436
7437 AC_MSG_CHECKING([whether to build static libraries])
7438 # Make sure either enable_shared or enable_static is yes.
7439 test "$enable_shared" = yes || enable_static=yes
7440 AC_MSG_RESULT([$enable_static])
7441
7442 _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu"
7443 _LT_TAGVAR(LD, $1)="$LD"
7444
7445 ## CAVEAT EMPTOR:
7446 ## There is no encapsulation within the following macros, do not change
7447 ## the running order or otherwise move them around unless you know exactly
7448 ## what you are doing...
7449 _LT_SYS_HIDDEN_LIBDEPS($1)
7450 _LT_COMPILER_PIC($1)
7451 _LT_COMPILER_C_O($1)
7452 _LT_COMPILER_FILE_LOCKS($1)
7453 _LT_LINKER_SHLIBS($1)
7454 _LT_SYS_DYNAMIC_LINKER($1)
7455 _LT_LINKER_HARDCODE_LIBPATH($1)
7456
7457 _LT_CONFIG($1)
7458 fi # test -n "$compiler"
7459
7460 GCC=$lt_save_GCC
7461 CC=$lt_save_CC
7462 CFLAGS=$lt_save_CFLAGS
7463 fi # test "$_lt_disable_FC" != yes
7464
7465 AC_LANG_POP
7466 ])# _LT_LANG_FC_CONFIG
7467
7468
7469 # _LT_LANG_GCJ_CONFIG([TAG])
7470 # --------------------------
7471 # Ensure that the configuration variables for the GNU Java Compiler compiler
7472 # are suitably defined. These variables are subsequently used by _LT_CONFIG
7473 # to write the compiler configuration to `libtool'.
7474 m4_defun([_LT_LANG_GCJ_CONFIG],
7475 [AC_REQUIRE([LT_PROG_GCJ])dnl
7476 AC_LANG_PUSH([Java])
7477
7478 # Source file extension for Java test sources.
7479 ac_ext=java
7480
7481 # Object file extension for compiled Java test sources.
7482 objext=o
7483 _LT_TAGVAR(objext, $1)=$objext
7484
7485 # Code to be used in simple compile tests
7486 lt_simple_compile_test_code="class foo {}"
7487
7488 # Code to be used in simple link tests
7489 lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
7490
7491 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
7492 _LT_TAG_COMPILER
7493
7494 # save warnings/boilerplate of simple test code
7495 _LT_COMPILER_BOILERPLATE
7496 _LT_LINKER_BOILERPLATE
7497
7498 # Allow CC to be a program name with arguments.
7499 lt_save_CC=$CC
7500 lt_save_CFLAGS=$CFLAGS
7501 lt_save_GCC=$GCC
7502 GCC=yes
7503 CC=${GCJ-"gcj"}
7504 CFLAGS=$GCJFLAGS
7505 compiler=$CC
7506 _LT_TAGVAR(compiler, $1)=$CC
7507 _LT_TAGVAR(LD, $1)="$LD"
7508 _LT_CC_BASENAME([$compiler])
7509
7510 # GCJ did not exist at the time GCC didn't implicitly link libc in.
7511 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
7512
7513 _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
7514 _LT_TAGVAR(reload_flag, $1)=$reload_flag
7515 _LT_TAGVAR(reload_cmds, $1)=$reload_cmds
7516
7517 ## CAVEAT EMPTOR:
7518 ## There is no encapsulation within the following macros, do not change
7519 ## the running order or otherwise move them around unless you know exactly
7520 ## what you are doing...
7521 if test -n "$compiler"; then
7522 _LT_COMPILER_NO_RTTI($1)
7523 _LT_COMPILER_PIC($1)
7524 _LT_COMPILER_C_O($1)
7525 _LT_COMPILER_FILE_LOCKS($1)
7526 _LT_LINKER_SHLIBS($1)
7527 _LT_LINKER_HARDCODE_LIBPATH($1)
7528
7529 _LT_CONFIG($1)
7530 fi
7531
7532 AC_LANG_POP
7533
7534 GCC=$lt_save_GCC
7535 CC=$lt_save_CC
7536 CFLAGS=$lt_save_CFLAGS
7537 ])# _LT_LANG_GCJ_CONFIG
7538
7539
7540 # _LT_LANG_GO_CONFIG([TAG])
7541 # --------------------------
7542 # Ensure that the configuration variables for the GNU Go compiler
7543 # are suitably defined. These variables are subsequently used by _LT_CONFIG
7544 # to write the compiler configuration to `libtool'.
7545 m4_defun([_LT_LANG_GO_CONFIG],
7546 [AC_REQUIRE([LT_PROG_GO])dnl
7547 AC_LANG_PUSH([Go])
7548
7549 # Source file extension for Go test sources.
7550 ac_ext=go
7551
7552 # Object file extension for compiled Go test sources.
7553 objext=o
7554 _LT_TAGVAR(objext, $1)=$objext
7555
7556 # Code to be used in simple compile tests
7557 lt_simple_compile_test_code="package main; func main() { }"
7558
7559 # Code to be used in simple link tests
7560 lt_simple_link_test_code='package main; func main() { }'
7561
7562 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
7563 _LT_TAG_COMPILER
7564
7565 # save warnings/boilerplate of simple test code
7566 _LT_COMPILER_BOILERPLATE
7567 _LT_LINKER_BOILERPLATE
7568
7569 # Allow CC to be a program name with arguments.
7570 lt_save_CC=$CC
7571 lt_save_CFLAGS=$CFLAGS
7572 lt_save_GCC=$GCC
7573 GCC=yes
7574 CC=${GOC-"gccgo"}
7575 CFLAGS=$GOFLAGS
7576 compiler=$CC
7577 _LT_TAGVAR(compiler, $1)=$CC
7578 _LT_TAGVAR(LD, $1)="$LD"
7579 _LT_CC_BASENAME([$compiler])
7580
7581 # Go did not exist at the time GCC didn't implicitly link libc in.
7582 _LT_TAGVAR(archive_cmds_need_lc, $1)=no
7583
7584 _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
7585 _LT_TAGVAR(reload_flag, $1)=$reload_flag
7586 _LT_TAGVAR(reload_cmds, $1)=$reload_cmds
7587
7588 ## CAVEAT EMPTOR:
7589 ## There is no encapsulation within the following macros, do not change
7590 ## the running order or otherwise move them around unless you know exactly
7591 ## what you are doing...
7592 if test -n "$compiler"; then
7593 _LT_COMPILER_NO_RTTI($1)
7594 _LT_COMPILER_PIC($1)
7595 _LT_COMPILER_C_O($1)
7596 _LT_COMPILER_FILE_LOCKS($1)
7597 _LT_LINKER_SHLIBS($1)
7598 _LT_LINKER_HARDCODE_LIBPATH($1)
7599
7600 _LT_CONFIG($1)
7601 fi
7602
7603 AC_LANG_POP
7604
7605 GCC=$lt_save_GCC
7606 CC=$lt_save_CC
7607 CFLAGS=$lt_save_CFLAGS
7608 ])# _LT_LANG_GO_CONFIG
7609
7610
7611 # _LT_LANG_RC_CONFIG([TAG])
7612 # -------------------------
7613 # Ensure that the configuration variables for the Windows resource compiler
7614 # are suitably defined. These variables are subsequently used by _LT_CONFIG
7615 # to write the compiler configuration to `libtool'.
7616 m4_defun([_LT_LANG_RC_CONFIG],
7617 [AC_REQUIRE([LT_PROG_RC])dnl
7618
7619 dnl Here, something like AC_LANG_PUSH([RC]) is expected.
7620 dnl But Resource Compiler is not supported as a language by autoconf
7621
7622 # Source file extension for RC test sources.
7623 ac_ext=rc
7624
7625 # Object file extension for compiled RC test sources.
7626 objext=o
7627 _LT_TAGVAR(objext, $1)=$objext
7628
7629 # Code to be used in simple compile tests
7630 lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
7631
7632 # Code to be used in simple link tests
7633 lt_simple_link_test_code="$lt_simple_compile_test_code"
7634
7635 # ltmain only uses $CC for tagged configurations so make sure $CC is set.
7636 _LT_TAG_COMPILER
7637
7638 # save warnings/boilerplate of simple test code
7639 _LT_COMPILER_BOILERPLATE
7640 _LT_LINKER_BOILERPLATE
7641
7642 # Allow CC to be a program name with arguments.
7643 lt_save_CC="$CC"
7644 lt_save_CFLAGS=$CFLAGS
7645 lt_save_GCC=$GCC
7646 GCC=
7647 CC=${RC-"windres"}
7648 CFLAGS=
7649 compiler=$CC
7650 _LT_TAGVAR(compiler, $1)=$CC
7651 _LT_CC_BASENAME([$compiler])
7652 _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
7653
7654 if test -n "$compiler"; then
7655 :
7656 _LT_CONFIG($1)
7657 fi
7658
7659 dnl Here, AC_LANG_POP is expected.
7660 GCC=$lt_save_GCC
7661 dnl Back to C
7662 AC_LANG([C])
7663 CC=$lt_save_CC
7664 CFLAGS=$lt_save_CFLAGS
7665 ])# _LT_LANG_RC_CONFIG
7666
7667
7668 # LT_PROG_GCJ
7669 # -----------
7670 AC_DEFUN([LT_PROG_GCJ],
7671 [m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ],
7672 [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ],
7673 [AC_CHECK_TOOL(GCJ, gcj,)
7674 test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
7675 AC_SUBST(GCJFLAGS)])])[]dnl
7676 ])
7677
7678 # Old name:
7679 AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ])
7680 dnl aclocal-1.4 backwards compatibility:
7681 dnl AC_DEFUN([LT_AC_PROG_GCJ], [])
7682
7683
7684 # LT_PROG_GO
7685 # ----------
7686 AC_DEFUN([LT_PROG_GO],
7687 [AC_CHECK_TOOL(GOC, gccgo,)
7688 ])
7689
7690
7691 # LT_PROG_RC
7692 # ----------
7693 AC_DEFUN([LT_PROG_RC],
7694 [AC_CHECK_TOOL(RC, windres,)
7695 ])
7696
7697 # Old name:
7698 AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC])
7699 dnl aclocal-1.4 backwards compatibility:
7700 dnl AC_DEFUN([LT_AC_PROG_RC], [])
7701
7702
7703 # _LT_DECL_EGREP
7704 # --------------
7705 # If we don't have a new enough Autoconf to choose the best grep
7706 # available, choose the one first in the user's PATH.
7707 m4_defun([_LT_DECL_EGREP],
7708 [AC_REQUIRE([AC_PROG_EGREP])dnl
7709 AC_REQUIRE([AC_PROG_FGREP])dnl
7710 test -z "$GREP" && GREP=grep
7711 _LT_DECL([], [GREP], [1], [A grep program that handles long lines])
7712 _LT_DECL([], [EGREP], [1], [An ERE matcher])
7713 _LT_DECL([], [FGREP], [1], [A literal string matcher])
7714 dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too
7715 AC_SUBST([GREP])
7716 ])
7717
7718
7719 # _LT_DECL_OBJDUMP
7720 # --------------
7721 # If we don't have a new enough Autoconf to choose the best objdump
7722 # available, choose the one first in the user's PATH.
7723 m4_defun([_LT_DECL_OBJDUMP],
7724 [AC_CHECK_TOOL(OBJDUMP, objdump, false)
7725 test -z "$OBJDUMP" && OBJDUMP=objdump
7726 _LT_DECL([], [OBJDUMP], [1], [An object symbol dumper])
7727 AC_SUBST([OBJDUMP])
7728 ])
7729
7730 # _LT_DECL_DLLTOOL
7731 # ----------------
7732 # Ensure DLLTOOL variable is set.
7733 m4_defun([_LT_DECL_DLLTOOL],
7734 [AC_CHECK_TOOL(DLLTOOL, dlltool, false)
7735 test -z "$DLLTOOL" && DLLTOOL=dlltool
7736 _LT_DECL([], [DLLTOOL], [1], [DLL creation program])
7737 AC_SUBST([DLLTOOL])
7738 ])
7739
7740 # _LT_DECL_SED
7741 # ------------
7742 # Check for a fully-functional sed program, that truncates
7743 # as few characters as possible. Prefer GNU sed if found.
7744 m4_defun([_LT_DECL_SED],
7745 [AC_PROG_SED
7746 test -z "$SED" && SED=sed
7747 Xsed="$SED -e 1s/^X//"
7748 _LT_DECL([], [SED], [1], [A sed program that does not truncate output])
7749 _LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"],
7750 [Sed that helps us avoid accidentally triggering echo(1) options like -n])
7751 ])# _LT_DECL_SED
7752
7753 m4_ifndef([AC_PROG_SED], [
7754 ############################################################
7755 # NOTE: This macro has been submitted for inclusion into #
7756 # GNU Autoconf as AC_PROG_SED. When it is available in #
7757 # a released version of Autoconf we should remove this #
7758 # macro and use it instead. #
7759 ############################################################
7760
7761 m4_defun([AC_PROG_SED],
7762 [AC_MSG_CHECKING([for a sed that does not truncate output])
7763 AC_CACHE_VAL(lt_cv_path_SED,
7764 [# Loop through the user's path and test for sed and gsed.
7765 # Then use that list of sed's as ones to test for truncation.
7766 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
7767 for as_dir in $PATH
7768 do
7769 IFS=$as_save_IFS
7770 test -z "$as_dir" && as_dir=.
7771 for lt_ac_prog in sed gsed; do
7772 for ac_exec_ext in '' $ac_executable_extensions; do
7773 if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
7774 lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
7775 fi
7776 done
7777 done
7778 done
7779 IFS=$as_save_IFS
7780 lt_ac_max=0
7781 lt_ac_count=0
7782 # Add /usr/xpg4/bin/sed as it is typically found on Solaris
7783 # along with /bin/sed that truncates output.
7784 for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
7785 test ! -f $lt_ac_sed && continue
7786 cat /dev/null > conftest.in
7787 lt_ac_count=0
7788 echo $ECHO_N "0123456789$ECHO_C" >conftest.in
7789 # Check for GNU sed and select it if it is found.
7790 if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
7791 lt_cv_path_SED=$lt_ac_sed
7792 break
7793 fi
7794 while true; do
7795 cat conftest.in conftest.in >conftest.tmp
7796 mv conftest.tmp conftest.in
7797 cp conftest.in conftest.nl
7798 echo >>conftest.nl
7799 $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
7800 cmp -s conftest.out conftest.nl || break
7801 # 10000 chars as input seems more than enough
7802 test $lt_ac_count -gt 10 && break
7803 lt_ac_count=`expr $lt_ac_count + 1`
7804 if test $lt_ac_count -gt $lt_ac_max; then
7805 lt_ac_max=$lt_ac_count
7806 lt_cv_path_SED=$lt_ac_sed
7807 fi
7808 done
7809 done
7810 ])
7811 SED=$lt_cv_path_SED
7812 AC_SUBST([SED])
7813 AC_MSG_RESULT([$SED])
7814 ])#AC_PROG_SED
7815 ])#m4_ifndef
7816
7817 # Old name:
7818 AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED])
7819 dnl aclocal-1.4 backwards compatibility:
7820 dnl AC_DEFUN([LT_AC_PROG_SED], [])
7821
7822
7823 # _LT_CHECK_SHELL_FEATURES
7824 # ------------------------
7825 # Find out whether the shell is Bourne or XSI compatible,
7826 # or has some other useful features.
7827 m4_defun([_LT_CHECK_SHELL_FEATURES],
7828 [AC_MSG_CHECKING([whether the shell understands some XSI constructs])
7829 # Try some XSI features
7830 xsi_shell=no
7831 ( _lt_dummy="a/b/c"
7832 test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \
7833 = c,a/b,b/c, \
7834 && eval 'test $(( 1 + 1 )) -eq 2 \
7835 && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
7836 && xsi_shell=yes
7837 AC_MSG_RESULT([$xsi_shell])
7838 _LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell'])
7839
7840 AC_MSG_CHECKING([whether the shell understands "+="])
7841 lt_shell_append=no
7842 ( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \
7843 >/dev/null 2>&1 \
7844 && lt_shell_append=yes
7845 AC_MSG_RESULT([$lt_shell_append])
7846 _LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append'])
7847
7848 if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
7849 lt_unset=unset
7850 else
7851 lt_unset=false
7852 fi
7853 _LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl
7854
7855 # test EBCDIC or ASCII
7856 case `echo X|tr X '\101'` in
7857 A) # ASCII based system
7858 # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
7859 lt_SP2NL='tr \040 \012'
7860 lt_NL2SP='tr \015\012 \040\040'
7861 ;;
7862 *) # EBCDIC based system
7863 lt_SP2NL='tr \100 \n'
7864 lt_NL2SP='tr \r\n \100\100'
7865 ;;
7866 esac
7867 _LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl
7868 _LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl
7869 ])# _LT_CHECK_SHELL_FEATURES
7870
7871
7872 # _LT_PROG_FUNCTION_REPLACE (FUNCNAME, REPLACEMENT-BODY)
7873 # ------------------------------------------------------
7874 # In `$cfgfile', look for function FUNCNAME delimited by `^FUNCNAME ()$' and
7875 # '^} FUNCNAME ', and replace its body with REPLACEMENT-BODY.
7876 m4_defun([_LT_PROG_FUNCTION_REPLACE],
7877 [dnl {
7878 sed -e '/^$1 ()$/,/^} # $1 /c\
7879 $1 ()\
7880 {\
7881 m4_bpatsubsts([$2], [$], [\\], [^\([ ]\)], [\\\1])
7882 } # Extended-shell $1 implementation' "$cfgfile" > $cfgfile.tmp \
7883 && mv -f "$cfgfile.tmp" "$cfgfile" \
7884 || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
7885 test 0 -eq $? || _lt_function_replace_fail=:
7886 ])
7887
7888
7889 # _LT_PROG_REPLACE_SHELLFNS
7890 # -------------------------
7891 # Replace existing portable implementations of several shell functions with
7892 # equivalent extended shell implementations where those features are available..
7893 m4_defun([_LT_PROG_REPLACE_SHELLFNS],
7894 [if test x"$xsi_shell" = xyes; then
7895 _LT_PROG_FUNCTION_REPLACE([func_dirname], [dnl
7896 case ${1} in
7897 */*) func_dirname_result="${1%/*}${2}" ;;
7898 * ) func_dirname_result="${3}" ;;
7899 esac])
7900
7901 _LT_PROG_FUNCTION_REPLACE([func_basename], [dnl
7902 func_basename_result="${1##*/}"])
7903
7904 _LT_PROG_FUNCTION_REPLACE([func_dirname_and_basename], [dnl
7905 case ${1} in
7906 */*) func_dirname_result="${1%/*}${2}" ;;
7907 * ) func_dirname_result="${3}" ;;
7908 esac
7909 func_basename_result="${1##*/}"])
7910
7911 _LT_PROG_FUNCTION_REPLACE([func_stripname], [dnl
7912 # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
7913 # positional parameters, so assign one to ordinary parameter first.
7914 func_stripname_result=${3}
7915 func_stripname_result=${func_stripname_result#"${1}"}
7916 func_stripname_result=${func_stripname_result%"${2}"}])
7917
7918 _LT_PROG_FUNCTION_REPLACE([func_split_long_opt], [dnl
7919 func_split_long_opt_name=${1%%=*}
7920 func_split_long_opt_arg=${1#*=}])
7921
7922 _LT_PROG_FUNCTION_REPLACE([func_split_short_opt], [dnl
7923 func_split_short_opt_arg=${1#??}
7924 func_split_short_opt_name=${1%"$func_split_short_opt_arg"}])
7925
7926 _LT_PROG_FUNCTION_REPLACE([func_lo2o], [dnl
7927 case ${1} in
7928 *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
7929 *) func_lo2o_result=${1} ;;
7930 esac])
7931
7932 _LT_PROG_FUNCTION_REPLACE([func_xform], [ func_xform_result=${1%.*}.lo])
7933
7934 _LT_PROG_FUNCTION_REPLACE([func_arith], [ func_arith_result=$(( $[*] ))])
7935
7936 _LT_PROG_FUNCTION_REPLACE([func_len], [ func_len_result=${#1}])
7937 fi
7938
7939 if test x"$lt_shell_append" = xyes; then
7940 _LT_PROG_FUNCTION_REPLACE([func_append], [ eval "${1}+=\\${2}"])
7941
7942 _LT_PROG_FUNCTION_REPLACE([func_append_quoted], [dnl
7943 func_quote_for_eval "${2}"
7944 dnl m4 expansion turns \\\\ into \\, and then the shell eval turns that into \
7945 eval "${1}+=\\\\ \\$func_quote_for_eval_result"])
7946
7947 # Save a `func_append' function call where possible by direct use of '+='
7948 sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \
7949 && mv -f "$cfgfile.tmp" "$cfgfile" \
7950 || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
7951 test 0 -eq $? || _lt_function_replace_fail=:
7952 else
7953 # Save a `func_append' function call even when '+=' is not available
7954 sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \
7955 && mv -f "$cfgfile.tmp" "$cfgfile" \
7956 || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
7957 test 0 -eq $? || _lt_function_replace_fail=:
7958 fi
7959
7960 if test x"$_lt_function_replace_fail" = x":"; then
7961 AC_MSG_WARN([Unable to substitute extended shell functions in $ofile])
7962 fi
7963 ])
7964
7965 # _LT_PATH_CONVERSION_FUNCTIONS
7966 # -----------------------------
7967 # Determine which file name conversion functions should be used by
7968 # func_to_host_file (and, implicitly, by func_to_host_path). These are needed
7969 # for certain cross-compile configurations and native mingw.
7970 m4_defun([_LT_PATH_CONVERSION_FUNCTIONS],
7971 [AC_REQUIRE([AC_CANONICAL_HOST])dnl
7972 AC_REQUIRE([AC_CANONICAL_BUILD])dnl
7973 AC_MSG_CHECKING([how to convert $build file names to $host format])
7974 AC_CACHE_VAL(lt_cv_to_host_file_cmd,
7975 [case $host in
7976 *-*-mingw* )
7977 case $build in
7978 *-*-mingw* ) # actually msys
7979 lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
7980 ;;
7981 *-*-cygwin* )
7982 lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
7983 ;;
7984 * ) # otherwise, assume *nix
7985 lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
7986 ;;
7987 esac
7988 ;;
7989 *-*-cygwin* )
7990 case $build in
7991 *-*-mingw* ) # actually msys
7992 lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
7993 ;;
7994 *-*-cygwin* )
7995 lt_cv_to_host_file_cmd=func_convert_file_noop
7996 ;;
7997 * ) # otherwise, assume *nix
7998 lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
7999 ;;
8000 esac
8001 ;;
8002 * ) # unhandled hosts (and "normal" native builds)
8003 lt_cv_to_host_file_cmd=func_convert_file_noop
8004 ;;
8005 esac
8006 ])
8007 to_host_file_cmd=$lt_cv_to_host_file_cmd
8008 AC_MSG_RESULT([$lt_cv_to_host_file_cmd])
8009 _LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd],
8010 [0], [convert $build file names to $host format])dnl
8011
8012 AC_MSG_CHECKING([how to convert $build file names to toolchain format])
8013 AC_CACHE_VAL(lt_cv_to_tool_file_cmd,
8014 [#assume ordinary cross tools, or native build.
8015 lt_cv_to_tool_file_cmd=func_convert_file_noop
8016 case $host in
8017 *-*-mingw* )
8018 case $build in
8019 *-*-mingw* ) # actually msys
8020 lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
8021 ;;
8022 esac
8023 ;;
8024 esac
8025 ])
8026 to_tool_file_cmd=$lt_cv_to_tool_file_cmd
8027 AC_MSG_RESULT([$lt_cv_to_tool_file_cmd])
8028 _LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd],
8029 [0], [convert $build files to toolchain format])dnl
8030 ])# _LT_PATH_CONVERSION_FUNCTIONS
0 # Helper functions for option handling. -*- Autoconf -*-
1 #
2 # Copyright (C) 2004, 2005, 2007, 2008, 2009 Free Software Foundation,
3 # 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 7 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], [1], [Assembler program])dnl
137
138 test -z "$DLLTOOL" && DLLTOOL=dlltool
139 _LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl
140
141 test -z "$OBJDUMP" && OBJDUMP=objdump
142 _LT_DECL([], [OBJDUMP], [1], [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@<:@=PKGS@:>@],
329 [try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
330 [lt_p=${PACKAGE-default}
331 case $withval in
332 yes|no) pic_mode=$withval ;;
333 *)
334 pic_mode=default
335 # Look at the argument we got. We use all the common list separators.
336 lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
337 for lt_pkg in $withval; do
338 IFS="$lt_save_ifs"
339 if test "X$lt_pkg" = "X$lt_p"; then
340 pic_mode=yes
341 fi
342 done
343 IFS="$lt_save_ifs"
344 ;;
345 esac],
346 [pic_mode=default])
347
348 test -z "$pic_mode" && pic_mode=m4_default([$1], [default])
349
350 _LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
351 ])# _LT_WITH_PIC
352
353 LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])])
354 LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])])
355
356 # Old name:
357 AU_DEFUN([AC_LIBTOOL_PICMODE],
358 [_LT_SET_OPTION([LT_INIT], [pic-only])
359 AC_DIAGNOSE([obsolete],
360 [$0: Remove this warning and the call to _LT_SET_OPTION when you
361 put the `pic-only' option into LT_INIT's first parameter.])
362 ])
363
364 dnl aclocal-1.4 backwards compatibility:
365 dnl AC_DEFUN([AC_LIBTOOL_PICMODE], [])
366
367 ## ----------------- ##
368 ## LTDL_INIT Options ##
369 ## ----------------- ##
370
371 m4_define([_LTDL_MODE], [])
372 LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive],
373 [m4_define([_LTDL_MODE], [nonrecursive])])
374 LT_OPTION_DEFINE([LTDL_INIT], [recursive],
375 [m4_define([_LTDL_MODE], [recursive])])
376 LT_OPTION_DEFINE([LTDL_INIT], [subproject],
377 [m4_define([_LTDL_MODE], [subproject])])
378
379 m4_define([_LTDL_TYPE], [])
380 LT_OPTION_DEFINE([LTDL_INIT], [installable],
381 [m4_define([_LTDL_TYPE], [installable])])
382 LT_OPTION_DEFINE([LTDL_INIT], [convenience],
383 [m4_define([_LTDL_TYPE], [convenience])])
0 # ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*-
1 #
2 # Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
3 # Written by Gary V. Vaughan, 2004
4 #
5 # This file is free software; the Free Software Foundation gives
6 # unlimited permission to copy and/or distribute it, with or without
7 # modifications, as long as this notice is preserved.
8
9 # serial 6 ltsugar.m4
10
11 # This is to help aclocal find these macros, as it can't see m4_define.
12 AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])])
13
14
15 # lt_join(SEP, ARG1, [ARG2...])
16 # -----------------------------
17 # Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their
18 # associated separator.
19 # Needed until we can rely on m4_join from Autoconf 2.62, since all earlier
20 # versions in m4sugar had bugs.
21 m4_define([lt_join],
22 [m4_if([$#], [1], [],
23 [$#], [2], [[$2]],
24 [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])])
25 m4_define([_lt_join],
26 [m4_if([$#$2], [2], [],
27 [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])])
28
29
30 # lt_car(LIST)
31 # lt_cdr(LIST)
32 # ------------
33 # Manipulate m4 lists.
34 # These macros are necessary as long as will still need to support
35 # Autoconf-2.59 which quotes differently.
36 m4_define([lt_car], [[$1]])
37 m4_define([lt_cdr],
38 [m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])],
39 [$#], 1, [],
40 [m4_dquote(m4_shift($@))])])
41 m4_define([lt_unquote], $1)
42
43
44 # lt_append(MACRO-NAME, STRING, [SEPARATOR])
45 # ------------------------------------------
46 # Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'.
47 # Note that neither SEPARATOR nor STRING are expanded; they are appended
48 # to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked).
49 # No SEPARATOR is output if MACRO-NAME was previously undefined (different
50 # than defined and empty).
51 #
52 # This macro is needed until we can rely on Autoconf 2.62, since earlier
53 # versions of m4sugar mistakenly expanded SEPARATOR but not STRING.
54 m4_define([lt_append],
55 [m4_define([$1],
56 m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])])
57
58
59
60 # lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...])
61 # ----------------------------------------------------------
62 # Produce a SEP delimited list of all paired combinations of elements of
63 # PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list
64 # has the form PREFIXmINFIXSUFFIXn.
65 # Needed until we can rely on m4_combine added in Autoconf 2.62.
66 m4_define([lt_combine],
67 [m4_if(m4_eval([$# > 3]), [1],
68 [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl
69 [[m4_foreach([_Lt_prefix], [$2],
70 [m4_foreach([_Lt_suffix],
71 ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[,
72 [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])])
73
74
75 # lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ])
76 # -----------------------------------------------------------------------
77 # Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited
78 # by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ.
79 m4_define([lt_if_append_uniq],
80 [m4_ifdef([$1],
81 [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1],
82 [lt_append([$1], [$2], [$3])$4],
83 [$5])],
84 [lt_append([$1], [$2], [$3])$4])])
85
86
87 # lt_dict_add(DICT, KEY, VALUE)
88 # -----------------------------
89 m4_define([lt_dict_add],
90 [m4_define([$1($2)], [$3])])
91
92
93 # lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE)
94 # --------------------------------------------
95 m4_define([lt_dict_add_subkey],
96 [m4_define([$1($2:$3)], [$4])])
97
98
99 # lt_dict_fetch(DICT, KEY, [SUBKEY])
100 # ----------------------------------
101 m4_define([lt_dict_fetch],
102 [m4_ifval([$3],
103 m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]),
104 m4_ifdef([$1($2)], [m4_defn([$1($2)])]))])
105
106
107 # lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE])
108 # -----------------------------------------------------------------
109 m4_define([lt_if_dict_fetch],
110 [m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4],
111 [$5],
112 [$6])])
113
114
115 # lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...])
116 # --------------------------------------------------------------
117 m4_define([lt_dict_filter],
118 [m4_if([$5], [], [],
119 [lt_join(m4_quote(m4_default([$4], [[, ]])),
120 lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]),
121 [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl
122 ])
0 # ltversion.m4 -- version numbers -*- Autoconf -*-
1 #
2 # Copyright (C) 2004 Free Software Foundation, Inc.
3 # Written by Scott James Remnant, 2004
4 #
5 # This file is free software; the Free Software Foundation gives
6 # unlimited permission to copy and/or distribute it, with or without
7 # modifications, as long as this notice is preserved.
8
9 # @configure_input@
10
11 # serial 3337 ltversion.m4
12 # This file is part of GNU Libtool
13
14 m4_define([LT_PACKAGE_VERSION], [2.4.2])
15 m4_define([LT_PACKAGE_REVISION], [1.3337])
16
17 AC_DEFUN([LTVERSION_VERSION],
18 [macro_version='2.4.2'
19 macro_revision='1.3337'
20 _LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
21 _LT_DECL(, macro_revision, 0)
22 ])
0 # lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*-
1 #
2 # Copyright (C) 2004, 2005, 2007, 2009 Free Software Foundation, Inc.
3 # Written by Scott James Remnant, 2004.
4 #
5 # This file is free software; the Free Software Foundation gives
6 # unlimited permission to copy and/or distribute it, with or without
7 # modifications, as long as this notice is preserved.
8
9 # serial 5 lt~obsolete.m4
10
11 # These exist entirely to fool aclocal when bootstrapping libtool.
12 #
13 # In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN)
14 # which have later been changed to m4_define as they aren't part of the
15 # exported API, or moved to Autoconf or Automake where they belong.
16 #
17 # The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN
18 # in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us
19 # using a macro with the same name in our local m4/libtool.m4 it'll
20 # pull the old libtool.m4 in (it doesn't see our shiny new m4_define
21 # and doesn't know about Autoconf macros at all.)
22 #
23 # So we provide this file, which has a silly filename so it's always
24 # included after everything else. This provides aclocal with the
25 # AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything
26 # because those macros already exist, or will be overwritten later.
27 # We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6.
28 #
29 # Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here.
30 # Yes, that means every name once taken will need to remain here until
31 # we give up compatibility with versions before 1.7, at which point
32 # we need to keep only those names which we still refer to.
33
34 # This is to help aclocal find these macros, as it can't see m4_define.
35 AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])])
36
37 m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])])
38 m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])])
39 m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])])
40 m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])])
41 m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])])
42 m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])])
43 m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])])
44 m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])])
45 m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])])
46 m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])])
47 m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])])
48 m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])])
49 m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])])
50 m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])])
51 m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])])
52 m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])])
53 m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])])
54 m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])])
55 m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])])
56 m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])])
57 m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])])
58 m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])])
59 m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])])
60 m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])])
61 m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])])
62 m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])])
63 m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])])
64 m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])])
65 m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])])
66 m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])])
67 m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])])
68 m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])])
69 m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])])
70 m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])])
71 m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])])
72 m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])])
73 m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])])
74 m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])])
75 m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])])
76 m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])])
77 m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])])
78 m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])])
79 m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])])
80 m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])])
81 m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])])
82 m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])])
83 m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])])
84 m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])])
85 m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])])
86 m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])])
87 m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])])
88 m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])])
89 m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])])
90 m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])])
91 m4_ifndef([_LT_REQUIRED_DARWIN_CHECKS], [AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])])
92 m4_ifndef([_LT_AC_PROG_CXXCPP], [AC_DEFUN([_LT_AC_PROG_CXXCPP])])
93 m4_ifndef([_LT_PREPARE_SED_QUOTE_VARS], [AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])])
94 m4_ifndef([_LT_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])])
95 m4_ifndef([_LT_PROG_F77], [AC_DEFUN([_LT_PROG_F77])])
96 m4_ifndef([_LT_PROG_FC], [AC_DEFUN([_LT_PROG_FC])])
97 m4_ifndef([_LT_PROG_CXX], [AC_DEFUN([_LT_PROG_CXX])])
0 # Makefile.in generated by automake 1.16.4 from Makefile.am.
1 # @configure_input@
2
3 # Copyright (C) 1994-2021 Free Software Foundation, Inc.
4
5 # This Makefile.in is free software; the Free Software Foundation
6 # gives unlimited permission to copy and/or distribute it,
7 # with or without modifications, as long as this notice is preserved.
8
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
11 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
12 # PARTICULAR PURPOSE.
13
14 @SET_MAKE@
15
16 # Copyright (C) 2000 Werner Koch (dd9jn)
17 # Copyright (C) 2001, 2002, 2003, 2004, 2005, 2007 g10 Code GmbH
18 #
19 # This file is part of GPGME.
20 #
21 # GPGME is free software; you can redistribute it and/or modify it
22 # under the terms of the GNU Lesser General Public License as
23 # published by the Free Software Foundation; either version 2.1 of the
24 # License, or (at your option) any later version.
25 #
26 # GPGME is distributed in the hope that it will be useful, but WITHOUT
27 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
28 # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General
29 # Public License for more details.
30 #
31 # You should have received a copy of the GNU Lesser General Public
32 # License along with this program; if not, see <https://gnu.org/licenses/>.
33 # SPDX-License-Identifier: LGPL-2.1-or-later
34
35
36
37
38
39 VPATH = @srcdir@
40 am__is_gnu_make = { \
41 if test -z '$(MAKELEVEL)'; then \
42 false; \
43 elif test -n '$(MAKE_HOST)'; then \
44 true; \
45 elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
46 true; \
47 else \
48 false; \
49 fi; \
50 }
51 am__make_running_with_option = \
52 case $${target_option-} in \
53 ?) ;; \
54 *) echo "am__make_running_with_option: internal error: invalid" \
55 "target option '$${target_option-}' specified" >&2; \
56 exit 1;; \
57 esac; \
58 has_opt=no; \
59 sane_makeflags=$$MAKEFLAGS; \
60 if $(am__is_gnu_make); then \
61 sane_makeflags=$$MFLAGS; \
62 else \
63 case $$MAKEFLAGS in \
64 *\\[\ \ ]*) \
65 bs=\\; \
66 sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
67 | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
68 esac; \
69 fi; \
70 skip_next=no; \
71 strip_trailopt () \
72 { \
73 flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
74 }; \
75 for flg in $$sane_makeflags; do \
76 test $$skip_next = yes && { skip_next=no; continue; }; \
77 case $$flg in \
78 *=*|--*) continue;; \
79 -*I) strip_trailopt 'I'; skip_next=yes;; \
80 -*I?*) strip_trailopt 'I';; \
81 -*O) strip_trailopt 'O'; skip_next=yes;; \
82 -*O?*) strip_trailopt 'O';; \
83 -*l) strip_trailopt 'l'; skip_next=yes;; \
84 -*l?*) strip_trailopt 'l';; \
85 -[dEDm]) skip_next=yes;; \
86 -[JT]) skip_next=yes;; \
87 esac; \
88 case $$flg in \
89 *$$target_option*) has_opt=yes; break;; \
90 esac; \
91 done; \
92 test $$has_opt = yes
93 am__make_dryrun = (target_option=n; $(am__make_running_with_option))
94 am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
95 pkgdatadir = $(datadir)/@PACKAGE@
96 pkgincludedir = $(includedir)/@PACKAGE@
97 pkglibdir = $(libdir)/@PACKAGE@
98 pkglibexecdir = $(libexecdir)/@PACKAGE@
99 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
100 install_sh_DATA = $(install_sh) -c -m 644
101 install_sh_PROGRAM = $(install_sh) -c
102 install_sh_SCRIPT = $(install_sh) -c
103 INSTALL_HEADER = $(INSTALL_DATA)
104 transform = $(program_transform_name)
105 NORMAL_INSTALL = :
106 PRE_INSTALL = :
107 POST_INSTALL = :
108 NORMAL_UNINSTALL = :
109 PRE_UNINSTALL = :
110 POST_UNINSTALL = :
111 build_triplet = @build@
112 host_triplet = @host@
113 bin_PROGRAMS = gpgme-tool$(EXEEXT) gpgme-json$(EXEEXT)
114 @HAVE_W32_SYSTEM_TRUE@libexec_PROGRAMS = gpgme-w32spawn$(EXEEXT)
115 subdir = src
116 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
117 am__aclocal_m4_deps = $(top_srcdir)/m4/ax_cxx_compile_stdcxx.m4 \
118 $(top_srcdir)/m4/ax_pkg_swig.m4 \
119 $(top_srcdir)/m4/ax_python_devel.m4 \
120 $(top_srcdir)/m4/glib-2.0.m4 $(top_srcdir)/m4/glibc21.m4 \
121 $(top_srcdir)/m4/gnupg-ttyname.m4 \
122 $(top_srcdir)/m4/gpg-error.m4 $(top_srcdir)/m4/libassuan.m4 \
123 $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
124 $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
125 $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/pkg.m4 \
126 $(top_srcdir)/m4/python.m4 $(top_srcdir)/m4/qt.m4 \
127 $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
128 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
129 $(ACLOCAL_M4)
130 DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
131 mkinstalldirs = $(SHELL) $(top_srcdir)/build-aux/mkinstalldirs
132 CONFIG_HEADER = $(top_builddir)/conf/config.h
133 CONFIG_CLEAN_FILES = versioninfo.rc gpgme.pc gpgme-glib.pc gpgme.h \
134 gpgme-config
135 CONFIG_CLEAN_VPATH_FILES =
136 am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(libexecdir)" \
137 "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" \
138 "$(DESTDIR)$(m4datadir)" "$(DESTDIR)$(pkgconfigdir)" \
139 "$(DESTDIR)$(includedir)"
140 PROGRAMS = $(bin_PROGRAMS) $(libexec_PROGRAMS)
141 am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
142 am__vpath_adj = case $$p in \
143 $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
144 *) f=$$p;; \
145 esac;
146 am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
147 am__install_max = 40
148 am__nobase_strip_setup = \
149 srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
150 am__nobase_strip = \
151 for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
152 am__nobase_list = $(am__nobase_strip_setup); \
153 for p in $$list; do echo "$$p $$p"; done | \
154 sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
155 $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
156 if (++n[$$2] == $(am__install_max)) \
157 { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
158 END { for (dir in files) print dir, files[dir] }'
159 am__base_list = \
160 sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
161 sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
162 am__uninstall_files_from_dir = { \
163 test -z "$$files" \
164 || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
165 || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
166 $(am__cd) "$$dir" && rm -f $$files; }; \
167 }
168 LTLIBRARIES = $(lib_LTLIBRARIES)
169 @HAVE_W32_SYSTEM_TRUE@am__DEPENDENCIES_1 = versioninfo.lo
170 am__DEPENDENCIES_2 =
171 am__libgpgme_glib_la_SOURCES_DIST = util.h conversion.c b64dec.c \
172 get-env.c context.h ops.h parsetlv.c parsetlv.h mbox-util.c \
173 mbox-util.h data.h data.c data-fd.c data-stream.c data-mem.c \
174 data-user.c data-estream.c data-compat.c data-identify.c \
175 signers.c sig-notation.c wait.c wait-global.c wait-private.c \
176 wait-user.c wait.h op-support.c encrypt.c encrypt-sign.c \
177 decrypt.c decrypt-verify.c verify.c sign.c passphrase.c \
178 progress.c key.c keylist.c keysign.c trust-item.c trustlist.c \
179 tofupolicy.c revsig.c import.c export.c genkey.c delete.c \
180 edit.c getauditlog.c setexpire.c opassuan.c passwd.c spawn.c \
181 assuan-support.c engine.h engine-backend.h engine.c \
182 engine-gpg.c status-table.c engine-gpgsm.c engine-assuan.c \
183 engine-gpgconf.c engine-uiserver.c engine-g13.c vfs-mount.c \
184 vfs-create.c engine-spawn.c gpgconf.c queryswdb.c sema.h \
185 priv-io.h ath.h posix-util.c posix-io.c w32-util.c sys-util.h \
186 dirinfo.c debug.c debug.h gpgme.c version.c error.c ath.c \
187 w32-glib-io.c
188 @HAVE_UISERVER_TRUE@am__objects_1 = engine-uiserver.lo
189 @HAVE_DOSISH_SYSTEM_FALSE@am__objects_2 = posix-util.lo posix-io.lo
190 @HAVE_DOSISH_SYSTEM_TRUE@am__objects_2 = w32-util.lo
191 am__objects_3 = conversion.lo b64dec.lo get-env.lo parsetlv.lo \
192 mbox-util.lo data.lo data-fd.lo data-stream.lo data-mem.lo \
193 data-user.lo data-estream.lo data-compat.lo data-identify.lo \
194 signers.lo sig-notation.lo wait.lo wait-global.lo \
195 wait-private.lo wait-user.lo op-support.lo encrypt.lo \
196 encrypt-sign.lo decrypt.lo decrypt-verify.lo verify.lo sign.lo \
197 passphrase.lo progress.lo key.lo keylist.lo keysign.lo \
198 trust-item.lo trustlist.lo tofupolicy.lo revsig.lo import.lo \
199 export.lo genkey.lo delete.lo edit.lo getauditlog.lo \
200 setexpire.lo opassuan.lo passwd.lo spawn.lo assuan-support.lo \
201 engine.lo engine-gpg.lo status-table.lo engine-gpgsm.lo \
202 engine-assuan.lo engine-gpgconf.lo $(am__objects_1) \
203 engine-g13.lo vfs-mount.lo vfs-create.lo engine-spawn.lo \
204 gpgconf.lo queryswdb.lo $(am__objects_2) dirinfo.lo debug.lo \
205 gpgme.lo version.lo error.lo ath.lo
206 @BUILD_W32_GLIB_TRUE@am_libgpgme_glib_la_OBJECTS = $(am__objects_3) \
207 @BUILD_W32_GLIB_TRUE@ w32-glib-io.lo
208 libgpgme_glib_la_OBJECTS = $(am_libgpgme_glib_la_OBJECTS)
209 AM_V_lt = $(am__v_lt_@AM_V@)
210 am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
211 am__v_lt_0 = --silent
212 am__v_lt_1 =
213 libgpgme_glib_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
214 $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
215 $(AM_CFLAGS) $(CFLAGS) $(libgpgme_glib_la_LDFLAGS) $(LDFLAGS) \
216 -o $@
217 @BUILD_W32_GLIB_TRUE@am_libgpgme_glib_la_rpath = -rpath $(libdir)
218 am__libgpgme_la_SOURCES_DIST = util.h conversion.c b64dec.c get-env.c \
219 context.h ops.h parsetlv.c parsetlv.h mbox-util.c mbox-util.h \
220 data.h data.c data-fd.c data-stream.c data-mem.c data-user.c \
221 data-estream.c data-compat.c data-identify.c signers.c \
222 sig-notation.c wait.c wait-global.c wait-private.c wait-user.c \
223 wait.h op-support.c encrypt.c encrypt-sign.c decrypt.c \
224 decrypt-verify.c verify.c sign.c passphrase.c progress.c key.c \
225 keylist.c keysign.c trust-item.c trustlist.c tofupolicy.c \
226 revsig.c import.c export.c genkey.c delete.c edit.c \
227 getauditlog.c setexpire.c opassuan.c passwd.c spawn.c \
228 assuan-support.c engine.h engine-backend.h engine.c \
229 engine-gpg.c status-table.c engine-gpgsm.c engine-assuan.c \
230 engine-gpgconf.c engine-uiserver.c engine-g13.c vfs-mount.c \
231 vfs-create.c engine-spawn.c gpgconf.c queryswdb.c sema.h \
232 priv-io.h ath.h posix-util.c posix-io.c w32-util.c sys-util.h \
233 dirinfo.c debug.c debug.h gpgme.c version.c error.c ath.c \
234 w32-io.c
235 @HAVE_DOSISH_SYSTEM_TRUE@am__objects_4 = w32-io.lo
236 am_libgpgme_la_OBJECTS = $(am__objects_3) $(am__objects_4)
237 libgpgme_la_OBJECTS = $(am_libgpgme_la_OBJECTS)
238 libgpgme_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
239 $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
240 $(libgpgme_la_LDFLAGS) $(LDFLAGS) -o $@
241 am_gpgme_json_OBJECTS = gpgme-json.$(OBJEXT) cJSON.$(OBJEXT)
242 gpgme_json_OBJECTS = $(am_gpgme_json_OBJECTS)
243 gpgme_json_DEPENDENCIES = libgpgme.la $(am__DEPENDENCIES_2)
244 am_gpgme_tool_OBJECTS = gpgme-tool.$(OBJEXT) argparse.$(OBJEXT)
245 gpgme_tool_OBJECTS = $(am_gpgme_tool_OBJECTS)
246 gpgme_tool_DEPENDENCIES = libgpgme.la
247 gpgme_w32spawn_SOURCES = gpgme-w32spawn.c
248 gpgme_w32spawn_OBJECTS = gpgme-w32spawn.$(OBJEXT)
249 gpgme_w32spawn_LDADD = $(LDADD)
250 SCRIPTS = $(bin_SCRIPTS)
251 AM_V_P = $(am__v_P_@AM_V@)
252 am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
253 am__v_P_0 = false
254 am__v_P_1 = :
255 AM_V_GEN = $(am__v_GEN_@AM_V@)
256 am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
257 am__v_GEN_0 = @echo " GEN " $@;
258 am__v_GEN_1 =
259 AM_V_at = $(am__v_at_@AM_V@)
260 am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
261 am__v_at_0 = @
262 am__v_at_1 =
263 DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/conf
264 depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp
265 am__maybe_remake_depfiles = depfiles
266 am__depfiles_remade = $(DEPDIR)/setenv.Plo $(DEPDIR)/stpcpy.Plo \
267 $(DEPDIR)/ttyname_r.Plo ./$(DEPDIR)/argparse.Po \
268 ./$(DEPDIR)/assuan-support.Plo ./$(DEPDIR)/ath.Plo \
269 ./$(DEPDIR)/b64dec.Plo ./$(DEPDIR)/cJSON.Po \
270 ./$(DEPDIR)/conversion.Plo ./$(DEPDIR)/data-compat.Plo \
271 ./$(DEPDIR)/data-estream.Plo ./$(DEPDIR)/data-fd.Plo \
272 ./$(DEPDIR)/data-identify.Plo ./$(DEPDIR)/data-mem.Plo \
273 ./$(DEPDIR)/data-stream.Plo ./$(DEPDIR)/data-user.Plo \
274 ./$(DEPDIR)/data.Plo ./$(DEPDIR)/debug.Plo \
275 ./$(DEPDIR)/decrypt-verify.Plo ./$(DEPDIR)/decrypt.Plo \
276 ./$(DEPDIR)/delete.Plo ./$(DEPDIR)/dirinfo.Plo \
277 ./$(DEPDIR)/edit.Plo ./$(DEPDIR)/encrypt-sign.Plo \
278 ./$(DEPDIR)/encrypt.Plo ./$(DEPDIR)/engine-assuan.Plo \
279 ./$(DEPDIR)/engine-g13.Plo ./$(DEPDIR)/engine-gpg.Plo \
280 ./$(DEPDIR)/engine-gpgconf.Plo ./$(DEPDIR)/engine-gpgsm.Plo \
281 ./$(DEPDIR)/engine-spawn.Plo ./$(DEPDIR)/engine-uiserver.Plo \
282 ./$(DEPDIR)/engine.Plo ./$(DEPDIR)/error.Plo \
283 ./$(DEPDIR)/export.Plo ./$(DEPDIR)/genkey.Plo \
284 ./$(DEPDIR)/get-env.Plo ./$(DEPDIR)/getauditlog.Plo \
285 ./$(DEPDIR)/gpgconf.Plo ./$(DEPDIR)/gpgme-json.Po \
286 ./$(DEPDIR)/gpgme-tool.Po ./$(DEPDIR)/gpgme-w32spawn.Po \
287 ./$(DEPDIR)/gpgme.Plo ./$(DEPDIR)/import.Plo \
288 ./$(DEPDIR)/key.Plo ./$(DEPDIR)/keylist.Plo \
289 ./$(DEPDIR)/keysign.Plo ./$(DEPDIR)/mbox-util.Plo \
290 ./$(DEPDIR)/op-support.Plo ./$(DEPDIR)/opassuan.Plo \
291 ./$(DEPDIR)/parsetlv.Plo ./$(DEPDIR)/passphrase.Plo \
292 ./$(DEPDIR)/passwd.Plo ./$(DEPDIR)/posix-io.Plo \
293 ./$(DEPDIR)/posix-util.Plo ./$(DEPDIR)/progress.Plo \
294 ./$(DEPDIR)/queryswdb.Plo ./$(DEPDIR)/revsig.Plo \
295 ./$(DEPDIR)/setexpire.Plo ./$(DEPDIR)/sig-notation.Plo \
296 ./$(DEPDIR)/sign.Plo ./$(DEPDIR)/signers.Plo \
297 ./$(DEPDIR)/spawn.Plo ./$(DEPDIR)/status-table.Plo \
298 ./$(DEPDIR)/tofupolicy.Plo ./$(DEPDIR)/trust-item.Plo \
299 ./$(DEPDIR)/trustlist.Plo ./$(DEPDIR)/verify.Plo \
300 ./$(DEPDIR)/version.Plo ./$(DEPDIR)/vfs-create.Plo \
301 ./$(DEPDIR)/vfs-mount.Plo ./$(DEPDIR)/w32-glib-io.Plo \
302 ./$(DEPDIR)/w32-io.Plo ./$(DEPDIR)/w32-util.Plo \
303 ./$(DEPDIR)/wait-global.Plo ./$(DEPDIR)/wait-private.Plo \
304 ./$(DEPDIR)/wait-user.Plo ./$(DEPDIR)/wait.Plo
305 am__mv = mv -f
306 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
307 $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
308 LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
309 $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
310 $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
311 $(AM_CFLAGS) $(CFLAGS)
312 AM_V_CC = $(am__v_CC_@AM_V@)
313 am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
314 am__v_CC_0 = @echo " CC " $@;
315 am__v_CC_1 =
316 CCLD = $(CC)
317 LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
318 $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
319 $(AM_LDFLAGS) $(LDFLAGS) -o $@
320 AM_V_CCLD = $(am__v_CCLD_@AM_V@)
321 am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
322 am__v_CCLD_0 = @echo " CCLD " $@;
323 am__v_CCLD_1 =
324 SOURCES = $(libgpgme_glib_la_SOURCES) $(libgpgme_la_SOURCES) \
325 $(gpgme_json_SOURCES) $(gpgme_tool_SOURCES) gpgme-w32spawn.c
326 DIST_SOURCES = $(am__libgpgme_glib_la_SOURCES_DIST) \
327 $(am__libgpgme_la_SOURCES_DIST) $(gpgme_json_SOURCES) \
328 $(gpgme_tool_SOURCES) gpgme-w32spawn.c
329 am__can_run_installinfo = \
330 case $$AM_UPDATE_INFO_DIR in \
331 n|no|NO) false;; \
332 *) (install-info --version) >/dev/null 2>&1;; \
333 esac
334 DATA = $(m4data_DATA) $(pkgconfig_DATA)
335 HEADERS = $(nodist_include_HEADERS)
336 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
337 # Read a list of newline-separated strings from the standard input,
338 # and print each of them once, without duplicates. Input order is
339 # *not* preserved.
340 am__uniquify_input = $(AWK) '\
341 BEGIN { nonempty = 0; } \
342 { items[$$0] = 1; nonempty = 1; } \
343 END { if (nonempty) { for (i in items) print i; }; } \
344 '
345 # Make sure the list of sources is unique. This is necessary because,
346 # e.g., the same source file might be shared among _SOURCES variables
347 # for different programs/libraries.
348 am__define_uniq_tagged_files = \
349 list='$(am__tagged_files)'; \
350 unique=`for i in $$list; do \
351 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
352 done | $(am__uniquify_input)`
353 am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/gpgme-config.in \
354 $(srcdir)/gpgme-glib.pc.in $(srcdir)/gpgme.h.in \
355 $(srcdir)/gpgme.pc.in $(srcdir)/versioninfo.rc.in \
356 $(top_srcdir)/build-aux/depcomp \
357 $(top_srcdir)/build-aux/mkinstalldirs setenv.c stpcpy.c \
358 ttyname_r.c
359 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
360 ACLOCAL = @ACLOCAL@
361 AMTAR = @AMTAR@
362 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
363 AR = @AR@
364 AS = @AS@
365 AUTOCONF = @AUTOCONF@
366 AUTOHEADER = @AUTOHEADER@
367 AUTOMAKE = @AUTOMAKE@
368 AWK = @AWK@
369 BUILD_FILEVERSION = @BUILD_FILEVERSION@
370 BUILD_REVISION = @BUILD_REVISION@
371 BUILD_TIMESTAMP = @BUILD_TIMESTAMP@
372 BUILD_VERSION = @BUILD_VERSION@
373 CC = @CC@
374 CCDEPMODE = @CCDEPMODE@
375 CC_FOR_BUILD = @CC_FOR_BUILD@
376 CFLAGS = @CFLAGS@
377 CPP = @CPP@
378 CPPFLAGS = @CPPFLAGS@
379 CSCOPE = @CSCOPE@
380 CTAGS = @CTAGS@
381 CXX = @CXX@
382 CXXCPP = @CXXCPP@
383 CXXDEPMODE = @CXXDEPMODE@
384 CXXFLAGS = @CXXFLAGS@
385 CYGPATH_W = @CYGPATH_W@
386 DEFS = @DEFS@
387 DEPDIR = @DEPDIR@
388 DLLTOOL = @DLLTOOL@
389 DOXYGEN = @DOXYGEN@
390 DSYMUTIL = @DSYMUTIL@
391 DUMPBIN = @DUMPBIN@
392 ECHO_C = @ECHO_C@
393 ECHO_N = @ECHO_N@
394 ECHO_T = @ECHO_T@
395 EGREP = @EGREP@
396 ENABLED_LANGUAGES = @ENABLED_LANGUAGES@
397 ETAGS = @ETAGS@
398 EXEEXT = @EXEEXT@
399 FGREP = @FGREP@
400 GITLOG_TO_CHANGELOG = @GITLOG_TO_CHANGELOG@
401 GLIBC21 = @GLIBC21@
402 GLIB_CFLAGS = @GLIB_CFLAGS@
403 GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
404 GLIB_LIBS = @GLIB_LIBS@
405 GLIB_MKENUMS = @GLIB_MKENUMS@
406 GOBJECT_QUERY = @GOBJECT_QUERY@
407 GPGME_CONFIG_API_VERSION = @GPGME_CONFIG_API_VERSION@
408 GPGME_CONFIG_AVAIL_LANG = @GPGME_CONFIG_AVAIL_LANG@
409 GPGME_CONFIG_CFLAGS = @GPGME_CONFIG_CFLAGS@
410 GPGME_CONFIG_HOST = @GPGME_CONFIG_HOST@
411 GPGME_CONFIG_LIBS = @GPGME_CONFIG_LIBS@
412 GPGME_QTTEST_CFLAGS = @GPGME_QTTEST_CFLAGS@
413 GPGME_QTTEST_LIBS = @GPGME_QTTEST_LIBS@
414 GPGME_QT_CFLAGS = @GPGME_QT_CFLAGS@
415 GPGME_QT_LIBS = @GPGME_QT_LIBS@
416 GPGRT_CONFIG = @GPGRT_CONFIG@
417 GPG_ERROR_CFLAGS = @GPG_ERROR_CFLAGS@
418 GPG_ERROR_CONFIG = @GPG_ERROR_CONFIG@
419 GPG_ERROR_LIBS = @GPG_ERROR_LIBS@
420 GPG_ERROR_MT_CFLAGS = @GPG_ERROR_MT_CFLAGS@
421 GPG_ERROR_MT_LIBS = @GPG_ERROR_MT_LIBS@
422 GRAPHVIZ = @GRAPHVIZ@
423 GREP = @GREP@
424 HAVE_CXX11 = @HAVE_CXX11@
425 HAVE_DOT = @HAVE_DOT@
426 INSTALL = @INSTALL@
427 INSTALL_DATA = @INSTALL_DATA@
428 INSTALL_PROGRAM = @INSTALL_PROGRAM@
429 INSTALL_SCRIPT = @INSTALL_SCRIPT@
430 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
431 LD = @LD@
432 LDADD_FOR_TESTS_KLUDGE = @LDADD_FOR_TESTS_KLUDGE@
433 LDFLAGS = @LDFLAGS@
434 LIBASSUAN_CFLAGS = @LIBASSUAN_CFLAGS@
435 LIBASSUAN_CONFIG = @LIBASSUAN_CONFIG@
436 LIBASSUAN_LIBS = @LIBASSUAN_LIBS@
437 LIBGPGMEPP_LT_AGE = @LIBGPGMEPP_LT_AGE@
438 LIBGPGMEPP_LT_CURRENT = @LIBGPGMEPP_LT_CURRENT@
439 LIBGPGMEPP_LT_REVISION = @LIBGPGMEPP_LT_REVISION@
440 LIBGPGME_LT_AGE = @LIBGPGME_LT_AGE@
441 LIBGPGME_LT_CURRENT = @LIBGPGME_LT_CURRENT@
442 LIBGPGME_LT_REVISION = @LIBGPGME_LT_REVISION@
443 LIBOBJS = @LIBOBJS@
444 LIBQGPGME_LT_AGE = @LIBQGPGME_LT_AGE@
445 LIBQGPGME_LT_CURRENT = @LIBQGPGME_LT_CURRENT@
446 LIBQGPGME_LT_REVISION = @LIBQGPGME_LT_REVISION@
447 LIBS = @LIBS@
448 LIBTOOL = @LIBTOOL@
449 LIPO = @LIPO@
450 LN_S = @LN_S@
451 LTLIBOBJS = @LTLIBOBJS@
452 MAINT = @MAINT@
453 MAKEINFO = @MAKEINFO@
454 MANIFEST_TOOL = @MANIFEST_TOOL@
455 MKDIR_P = @MKDIR_P@
456 MOC = @MOC@
457 MOC2 = @MOC2@
458 NEED__FILE_OFFSET_BITS = @NEED__FILE_OFFSET_BITS@
459 NM = @NM@
460 NMEDIT = @NMEDIT@
461 OBJDUMP = @OBJDUMP@
462 OBJEXT = @OBJEXT@
463 OTOOL = @OTOOL@
464 OTOOL64 = @OTOOL64@
465 PACKAGE = @PACKAGE@
466 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
467 PACKAGE_NAME = @PACKAGE_NAME@
468 PACKAGE_STRING = @PACKAGE_STRING@
469 PACKAGE_TARNAME = @PACKAGE_TARNAME@
470 PACKAGE_URL = @PACKAGE_URL@
471 PACKAGE_VERSION = @PACKAGE_VERSION@
472 PATH_SEPARATOR = @PATH_SEPARATOR@
473 PKG_CONFIG = @PKG_CONFIG@
474 PYTHON = @PYTHON@
475 PYTHONS = @PYTHONS@
476 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
477 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
478 PYTHON_EXTRA_LDFLAGS = @PYTHON_EXTRA_LDFLAGS@
479 PYTHON_EXTRA_LIBS = @PYTHON_EXTRA_LIBS@
480 PYTHON_LDFLAGS = @PYTHON_LDFLAGS@
481 PYTHON_PLATFORM = @PYTHON_PLATFORM@
482 PYTHON_PREFIX = @PYTHON_PREFIX@
483 PYTHON_SITE_PKG = @PYTHON_SITE_PKG@
484 PYTHON_VERSION = @PYTHON_VERSION@
485 QTCHOOSER = @QTCHOOSER@
486 RANLIB = @RANLIB@
487 RC = @RC@
488 SED = @SED@
489 SET_MAKE = @SET_MAKE@
490 SHELL = @SHELL@
491 STRIP = @STRIP@
492 SWIG = @SWIG@
493 SWIG_LIB = @SWIG_LIB@
494 SYSROOT = @SYSROOT@
495 VERSION = @VERSION@
496 VERSION_MAJOR = @VERSION_MAJOR@
497 VERSION_MICRO = @VERSION_MICRO@
498 VERSION_MINOR = @VERSION_MINOR@
499 VERSION_NUMBER = @VERSION_NUMBER@
500 abs_builddir = @abs_builddir@
501 abs_srcdir = @abs_srcdir@
502 abs_top_builddir = @abs_top_builddir@
503 abs_top_srcdir = @abs_top_srcdir@
504 ac_ct_AR = @ac_ct_AR@
505 ac_ct_CC = @ac_ct_CC@
506 ac_ct_CXX = @ac_ct_CXX@
507 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
508 am__include = @am__include@
509 am__leading_dot = @am__leading_dot@
510 am__quote = @am__quote@
511 am__tar = @am__tar@
512 am__untar = @am__untar@
513 bindir = @bindir@
514 build = @build@
515 build_alias = @build_alias@
516 build_cpu = @build_cpu@
517 build_os = @build_os@
518 build_vendor = @build_vendor@
519 builddir = @builddir@
520 datadir = @datadir@
521 datarootdir = @datarootdir@
522 docdir = @docdir@
523 dvidir = @dvidir@
524 emacs_local_vars_begin = @emacs_local_vars_begin@
525 emacs_local_vars_end = @emacs_local_vars_end@
526 emacs_local_vars_read_only = @emacs_local_vars_read_only@
527 exec_prefix = @exec_prefix@
528 host = @host@
529 host_alias = @host_alias@
530 host_cpu = @host_cpu@
531 host_os = @host_os@
532 host_vendor = @host_vendor@
533 htmldir = @htmldir@
534 includedir = @includedir@
535 infodir = @infodir@
536 install_sh = @install_sh@
537 libdir = @libdir@
538 libexecdir = @libexecdir@
539 localedir = @localedir@
540 localstatedir = @localstatedir@
541 mandir = @mandir@
542 mkdir_p = @mkdir_p@
543 oldincludedir = @oldincludedir@
544 pdfdir = @pdfdir@
545 pkgpyexecdir = @pkgpyexecdir@
546 pkgpythondir = @pkgpythondir@
547 prefix = @prefix@
548 program_transform_name = @program_transform_name@
549 psdir = @psdir@
550 pyexecdir = @pyexecdir@
551 pythondir = @pythondir@
552 runstatedir = @runstatedir@
553 sbindir = @sbindir@
554 sharedstatedir = @sharedstatedir@
555 srcdir = @srcdir@
556 sysconfdir = @sysconfdir@
557 target_alias = @target_alias@
558 top_build_prefix = @top_build_prefix@
559 top_builddir = @top_builddir@
560 top_srcdir = @top_srcdir@
561 pkgconfigdir = $(libdir)/pkgconfig
562 pkgconfig_DATA = gpgme.pc gpgme-glib.pc
563 EXTRA_DIST = gpgme-config.in gpgme.m4 libgpgme.vers ChangeLog-2011 \
564 gpgme.h.in versioninfo.rc.in gpgme.def \
565 gpgme.pc.in gpgme-glib.pc.in
566
567 bin_SCRIPTS = gpgme-config
568 m4datadir = $(datadir)/aclocal
569 m4data_DATA = gpgme.m4
570 nodist_include_HEADERS = gpgme.h
571 @BUILD_W32_GLIB_FALSE@ltlib_gpgme_glib =
572 @BUILD_W32_GLIB_TRUE@ltlib_gpgme_glib = libgpgme-glib.la
573 lib_LTLIBRARIES = libgpgme.la $(ltlib_gpgme_glib)
574 @HAVE_LD_VERSION_SCRIPT_FALSE@libgpgme_version_script_cmd =
575 @HAVE_LD_VERSION_SCRIPT_TRUE@libgpgme_version_script_cmd = -Wl,--version-script=$(srcdir)/libgpgme.vers
576 @HAVE_DOSISH_SYSTEM_FALSE@system_components = ath.h posix-util.c posix-io.c
577 @HAVE_DOSISH_SYSTEM_TRUE@system_components = w32-util.c
578 @HAVE_DOSISH_SYSTEM_FALSE@system_components_not_extra =
579 @HAVE_DOSISH_SYSTEM_TRUE@system_components_not_extra = w32-io.c
580 @HAVE_UISERVER_FALSE@uiserver_components =
581 @HAVE_UISERVER_TRUE@uiserver_components = engine-uiserver.c
582
583 # These are the source files common to all library versions. We used
584 # to build a non-installed library for that, but that does not work
585 # correctly on all platforms (in particular, one can not specify the
586 # right linking order with libtool, as the non-installed version has
587 # unresolved symbols to the thread module.
588 main_sources = \
589 util.h conversion.c b64dec.c get-env.c context.h ops.h \
590 parsetlv.c parsetlv.h \
591 mbox-util.c mbox-util.h \
592 data.h data.c data-fd.c data-stream.c data-mem.c data-user.c \
593 data-estream.c \
594 data-compat.c data-identify.c \
595 signers.c sig-notation.c \
596 wait.c wait-global.c wait-private.c wait-user.c wait.h \
597 op-support.c \
598 encrypt.c encrypt-sign.c decrypt.c decrypt-verify.c verify.c \
599 sign.c passphrase.c progress.c \
600 key.c keylist.c keysign.c trust-item.c trustlist.c tofupolicy.c \
601 revsig.c \
602 import.c export.c genkey.c delete.c edit.c getauditlog.c \
603 setexpire.c \
604 opassuan.c passwd.c spawn.c assuan-support.c \
605 engine.h engine-backend.h engine.c engine-gpg.c status-table.c \
606 engine-gpgsm.c engine-assuan.c engine-gpgconf.c \
607 $(uiserver_components) \
608 engine-g13.c vfs-mount.c vfs-create.c \
609 engine-spawn.c \
610 gpgconf.c queryswdb.c \
611 sema.h priv-io.h $(system_components) sys-util.h dirinfo.c \
612 debug.c debug.h gpgme.c version.c error.c \
613 ath.h ath.c
614
615 libgpgme_la_SOURCES = $(main_sources) $(system_components_not_extra)
616 @BUILD_W32_GLIB_TRUE@libgpgme_glib_la_SOURCES = $(main_sources) w32-glib-io.c
617
618 # We use a global CFLAGS setting for all libraries
619 # versions, because then every object file is only compiled once.
620 AM_CFLAGS = @LIBASSUAN_CFLAGS@ @GPG_ERROR_CFLAGS@ @GLIB_CFLAGS@
621 gpgme_tool_SOURCES = gpgme-tool.c argparse.c argparse.h
622 gpgme_tool_LDADD = libgpgme.la @LIBASSUAN_LIBS@ @GPG_ERROR_LIBS@
623 gpgme_json_SOURCES = gpgme-json.c cJSON.c cJSON.h
624 gpgme_json_LDADD = -lm libgpgme.la $(GPG_ERROR_LIBS)
625 @HAVE_W32_SYSTEM_TRUE@RCCOMPILE = $(RC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES)
626 @HAVE_W32_SYSTEM_TRUE@LTRCCOMPILE = $(LIBTOOL) --mode=compile --tag=RC $(RCCOMPILE)
627 @HAVE_W32_SYSTEM_TRUE@SUFFIXES = .rc .lo
628 @HAVE_W32_SYSTEM_FALSE@gpgme_res =
629 @HAVE_W32_SYSTEM_TRUE@gpgme_res = versioninfo.lo
630 @HAVE_W32_SYSTEM_FALSE@no_undefined =
631 @HAVE_W32_SYSTEM_TRUE@no_undefined = -no-undefined
632 @HAVE_W32_SYSTEM_FALSE@export_symbols =
633 @HAVE_W32_SYSTEM_TRUE@export_symbols = -export-symbols $(srcdir)/gpgme.def
634 @HAVE_W32_SYSTEM_FALSE@extra_ltoptions =
635 @HAVE_W32_SYSTEM_TRUE@extra_ltoptions = -XCClinker -static-libgcc
636 @HAVE_W32_SYSTEM_TRUE@gpgme_w32_extra_libs = -lws2_32
637 @HAVE_W32_SYSTEM_FALSE@gpgme_deps =
638 @HAVE_W32_SYSTEM_TRUE@gpgme_deps = $(gpgme_res) gpgme.def
639 libgpgme_la_LDFLAGS = $(no_undefined) $(export_symbols) $(extra_ltoptions) \
640 $(libgpgme_version_script_cmd) -version-info \
641 @LIBGPGME_LT_CURRENT@:@LIBGPGME_LT_REVISION@:@LIBGPGME_LT_AGE@
642
643 libgpgme_la_DEPENDENCIES = @LTLIBOBJS@ $(srcdir)/libgpgme.vers $(gpgme_deps)
644 libgpgme_la_LIBADD = $(gpgme_res) @LIBASSUAN_LIBS@ @LTLIBOBJS@ \
645 @GPG_ERROR_LIBS@ $(gpgme_w32_extra_libs)
646
647 @BUILD_W32_GLIB_TRUE@libgpgme_glib_la_LDFLAGS = \
648 @BUILD_W32_GLIB_TRUE@ $(no_undefined) $(export_symbols) $(extra_ltoptions) \
649 @BUILD_W32_GLIB_TRUE@ $(libgpgme_version_script_cmd) -version-info \
650 @BUILD_W32_GLIB_TRUE@ @LIBGPGME_LT_CURRENT@:@LIBGPGME_LT_REVISION@:@LIBGPGME_LT_AGE@
651
652 @BUILD_W32_GLIB_TRUE@libgpgme_glib_la_DEPENDENCIES = @LTLIBOBJS@ \
653 @BUILD_W32_GLIB_TRUE@ $(srcdir)/libgpgme.vers $(gpgme_deps)
654
655 @BUILD_W32_GLIB_TRUE@libgpgme_glib_la_LIBADD = $(gpgme_res) @LIBASSUAN_LIBS@ @LTLIBOBJS@ \
656 @BUILD_W32_GLIB_TRUE@ @GPG_ERROR_LIBS@ @GLIB_LIBS@ $(gpgme_w32_extra_libs)
657
658 all: all-am
659
660 .SUFFIXES:
661 .SUFFIXES: .rc .lo .c .o .obj
662 $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
663 @for dep in $?; do \
664 case '$(am__configure_deps)' in \
665 *$$dep*) \
666 ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
667 && { if test -f $@; then exit 0; else break; fi; }; \
668 exit 1;; \
669 esac; \
670 done; \
671 echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/Makefile'; \
672 $(am__cd) $(top_srcdir) && \
673 $(AUTOMAKE) --gnu src/Makefile
674 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
675 @case '$?' in \
676 *config.status*) \
677 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
678 *) \
679 echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
680 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
681 esac;
682
683 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
684 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
685
686 $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
687 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
688 $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
689 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
690 $(am__aclocal_m4_deps):
691 versioninfo.rc: $(top_builddir)/config.status $(srcdir)/versioninfo.rc.in
692 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
693 gpgme.pc: $(top_builddir)/config.status $(srcdir)/gpgme.pc.in
694 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
695 gpgme-glib.pc: $(top_builddir)/config.status $(srcdir)/gpgme-glib.pc.in
696 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
697 gpgme.h: $(top_builddir)/config.status $(srcdir)/gpgme.h.in
698 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
699 gpgme-config: $(top_builddir)/config.status $(srcdir)/gpgme-config.in
700 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
701 install-binPROGRAMS: $(bin_PROGRAMS)
702 @$(NORMAL_INSTALL)
703 @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
704 if test -n "$$list"; then \
705 echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
706 $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
707 fi; \
708 for p in $$list; do echo "$$p $$p"; done | \
709 sed 's/$(EXEEXT)$$//' | \
710 while read p p1; do if test -f $$p \
711 || test -f $$p1 \
712 ; then echo "$$p"; echo "$$p"; else :; fi; \
713 done | \
714 sed -e 'p;s,.*/,,;n;h' \
715 -e 's|.*|.|' \
716 -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
717 sed 'N;N;N;s,\n, ,g' | \
718 $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
719 { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
720 if ($$2 == $$4) files[d] = files[d] " " $$1; \
721 else { print "f", $$3 "/" $$4, $$1; } } \
722 END { for (d in files) print "f", d, files[d] }' | \
723 while read type dir files; do \
724 if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
725 test -z "$$files" || { \
726 echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
727 $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
728 } \
729 ; done
730
731 uninstall-binPROGRAMS:
732 @$(NORMAL_UNINSTALL)
733 @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
734 files=`for p in $$list; do echo "$$p"; done | \
735 sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
736 -e 's/$$/$(EXEEXT)/' \
737 `; \
738 test -n "$$list" || exit 0; \
739 echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
740 cd "$(DESTDIR)$(bindir)" && rm -f $$files
741
742 clean-binPROGRAMS:
743 @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \
744 echo " rm -f" $$list; \
745 rm -f $$list || exit $$?; \
746 test -n "$(EXEEXT)" || exit 0; \
747 list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
748 echo " rm -f" $$list; \
749 rm -f $$list
750 install-libexecPROGRAMS: $(libexec_PROGRAMS)
751 @$(NORMAL_INSTALL)
752 @list='$(libexec_PROGRAMS)'; test -n "$(libexecdir)" || list=; \
753 if test -n "$$list"; then \
754 echo " $(MKDIR_P) '$(DESTDIR)$(libexecdir)'"; \
755 $(MKDIR_P) "$(DESTDIR)$(libexecdir)" || exit 1; \
756 fi; \
757 for p in $$list; do echo "$$p $$p"; done | \
758 sed 's/$(EXEEXT)$$//' | \
759 while read p p1; do if test -f $$p \
760 || test -f $$p1 \
761 ; then echo "$$p"; echo "$$p"; else :; fi; \
762 done | \
763 sed -e 'p;s,.*/,,;n;h' \
764 -e 's|.*|.|' \
765 -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
766 sed 'N;N;N;s,\n, ,g' | \
767 $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
768 { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
769 if ($$2 == $$4) files[d] = files[d] " " $$1; \
770 else { print "f", $$3 "/" $$4, $$1; } } \
771 END { for (d in files) print "f", d, files[d] }' | \
772 while read type dir files; do \
773 if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
774 test -z "$$files" || { \
775 echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(libexecdir)$$dir'"; \
776 $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(libexecdir)$$dir" || exit $$?; \
777 } \
778 ; done
779
780 uninstall-libexecPROGRAMS:
781 @$(NORMAL_UNINSTALL)
782 @list='$(libexec_PROGRAMS)'; test -n "$(libexecdir)" || list=; \
783 files=`for p in $$list; do echo "$$p"; done | \
784 sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
785 -e 's/$$/$(EXEEXT)/' \
786 `; \
787 test -n "$$list" || exit 0; \
788 echo " ( cd '$(DESTDIR)$(libexecdir)' && rm -f" $$files ")"; \
789 cd "$(DESTDIR)$(libexecdir)" && rm -f $$files
790
791 clean-libexecPROGRAMS:
792 @list='$(libexec_PROGRAMS)'; test -n "$$list" || exit 0; \
793 echo " rm -f" $$list; \
794 rm -f $$list || exit $$?; \
795 test -n "$(EXEEXT)" || exit 0; \
796 list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
797 echo " rm -f" $$list; \
798 rm -f $$list
799
800 install-libLTLIBRARIES: $(lib_LTLIBRARIES)
801 @$(NORMAL_INSTALL)
802 @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
803 list2=; for p in $$list; do \
804 if test -f $$p; then \
805 list2="$$list2 $$p"; \
806 else :; fi; \
807 done; \
808 test -z "$$list2" || { \
809 echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \
810 $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \
811 echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
812 $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
813 }
814
815 uninstall-libLTLIBRARIES:
816 @$(NORMAL_UNINSTALL)
817 @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
818 for p in $$list; do \
819 $(am__strip_dir) \
820 echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \
821 $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \
822 done
823
824 clean-libLTLIBRARIES:
825 -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
826 @list='$(lib_LTLIBRARIES)'; \
827 locs=`for p in $$list; do echo $$p; done | \
828 sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
829 sort -u`; \
830 test -z "$$locs" || { \
831 echo rm -f $${locs}; \
832 rm -f $${locs}; \
833 }
834
835 libgpgme-glib.la: $(libgpgme_glib_la_OBJECTS) $(libgpgme_glib_la_DEPENDENCIES) $(EXTRA_libgpgme_glib_la_DEPENDENCIES)
836 $(AM_V_CCLD)$(libgpgme_glib_la_LINK) $(am_libgpgme_glib_la_rpath) $(libgpgme_glib_la_OBJECTS) $(libgpgme_glib_la_LIBADD) $(LIBS)
837
838 libgpgme.la: $(libgpgme_la_OBJECTS) $(libgpgme_la_DEPENDENCIES) $(EXTRA_libgpgme_la_DEPENDENCIES)
839 $(AM_V_CCLD)$(libgpgme_la_LINK) -rpath $(libdir) $(libgpgme_la_OBJECTS) $(libgpgme_la_LIBADD) $(LIBS)
840
841 gpgme-json$(EXEEXT): $(gpgme_json_OBJECTS) $(gpgme_json_DEPENDENCIES) $(EXTRA_gpgme_json_DEPENDENCIES)
842 @rm -f gpgme-json$(EXEEXT)
843 $(AM_V_CCLD)$(LINK) $(gpgme_json_OBJECTS) $(gpgme_json_LDADD) $(LIBS)
844
845 gpgme-tool$(EXEEXT): $(gpgme_tool_OBJECTS) $(gpgme_tool_DEPENDENCIES) $(EXTRA_gpgme_tool_DEPENDENCIES)
846 @rm -f gpgme-tool$(EXEEXT)
847 $(AM_V_CCLD)$(LINK) $(gpgme_tool_OBJECTS) $(gpgme_tool_LDADD) $(LIBS)
848
849 gpgme-w32spawn$(EXEEXT): $(gpgme_w32spawn_OBJECTS) $(gpgme_w32spawn_DEPENDENCIES) $(EXTRA_gpgme_w32spawn_DEPENDENCIES)
850 @rm -f gpgme-w32spawn$(EXEEXT)
851 $(AM_V_CCLD)$(LINK) $(gpgme_w32spawn_OBJECTS) $(gpgme_w32spawn_LDADD) $(LIBS)
852 install-binSCRIPTS: $(bin_SCRIPTS)
853 @$(NORMAL_INSTALL)
854 @list='$(bin_SCRIPTS)'; test -n "$(bindir)" || list=; \
855 if test -n "$$list"; then \
856 echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
857 $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
858 fi; \
859 for p in $$list; do \
860 if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
861 if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \
862 done | \
863 sed -e 'p;s,.*/,,;n' \
864 -e 'h;s|.*|.|' \
865 -e 'p;x;s,.*/,,;$(transform)' | sed 'N;N;N;s,\n, ,g' | \
866 $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1; } \
867 { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
868 if ($$2 == $$4) { files[d] = files[d] " " $$1; \
869 if (++n[d] == $(am__install_max)) { \
870 print "f", d, files[d]; n[d] = 0; files[d] = "" } } \
871 else { print "f", d "/" $$4, $$1 } } \
872 END { for (d in files) print "f", d, files[d] }' | \
873 while read type dir files; do \
874 if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
875 test -z "$$files" || { \
876 echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(bindir)$$dir'"; \
877 $(INSTALL_SCRIPT) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
878 } \
879 ; done
880
881 uninstall-binSCRIPTS:
882 @$(NORMAL_UNINSTALL)
883 @list='$(bin_SCRIPTS)'; test -n "$(bindir)" || exit 0; \
884 files=`for p in $$list; do echo "$$p"; done | \
885 sed -e 's,.*/,,;$(transform)'`; \
886 dir='$(DESTDIR)$(bindir)'; $(am__uninstall_files_from_dir)
887
888 mostlyclean-compile:
889 -rm -f *.$(OBJEXT)
890
891 distclean-compile:
892 -rm -f *.tab.c
893
894 @AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/setenv.Plo@am__quote@ # am--include-marker
895 @AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/stpcpy.Plo@am__quote@ # am--include-marker
896 @AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/ttyname_r.Plo@am__quote@ # am--include-marker
897 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/argparse.Po@am__quote@ # am--include-marker
898 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/assuan-support.Plo@am__quote@ # am--include-marker
899 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ath.Plo@am__quote@ # am--include-marker
900 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/b64dec.Plo@am__quote@ # am--include-marker
901 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cJSON.Po@am__quote@ # am--include-marker
902 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/conversion.Plo@am__quote@ # am--include-marker
903 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/data-compat.Plo@am__quote@ # am--include-marker
904 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/data-estream.Plo@am__quote@ # am--include-marker
905 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/data-fd.Plo@am__quote@ # am--include-marker
906 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/data-identify.Plo@am__quote@ # am--include-marker
907 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/data-mem.Plo@am__quote@ # am--include-marker
908 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/data-stream.Plo@am__quote@ # am--include-marker
909 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/data-user.Plo@am__quote@ # am--include-marker
910 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/data.Plo@am__quote@ # am--include-marker
911 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/debug.Plo@am__quote@ # am--include-marker
912 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/decrypt-verify.Plo@am__quote@ # am--include-marker
913 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/decrypt.Plo@am__quote@ # am--include-marker
914 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/delete.Plo@am__quote@ # am--include-marker
915 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dirinfo.Plo@am__quote@ # am--include-marker
916 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/edit.Plo@am__quote@ # am--include-marker
917 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/encrypt-sign.Plo@am__quote@ # am--include-marker
918 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/encrypt.Plo@am__quote@ # am--include-marker
919 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/engine-assuan.Plo@am__quote@ # am--include-marker
920 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/engine-g13.Plo@am__quote@ # am--include-marker
921 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/engine-gpg.Plo@am__quote@ # am--include-marker
922 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/engine-gpgconf.Plo@am__quote@ # am--include-marker
923 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/engine-gpgsm.Plo@am__quote@ # am--include-marker
924 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/engine-spawn.Plo@am__quote@ # am--include-marker
925 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/engine-uiserver.Plo@am__quote@ # am--include-marker
926 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/engine.Plo@am__quote@ # am--include-marker
927 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/error.Plo@am__quote@ # am--include-marker
928 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/export.Plo@am__quote@ # am--include-marker
929 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/genkey.Plo@am__quote@ # am--include-marker
930 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/get-env.Plo@am__quote@ # am--include-marker
931 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getauditlog.Plo@am__quote@ # am--include-marker
932 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gpgconf.Plo@am__quote@ # am--include-marker
933 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gpgme-json.Po@am__quote@ # am--include-marker
934 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gpgme-tool.Po@am__quote@ # am--include-marker
935 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gpgme-w32spawn.Po@am__quote@ # am--include-marker
936 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gpgme.Plo@am__quote@ # am--include-marker
937 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/import.Plo@am__quote@ # am--include-marker
938 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/key.Plo@am__quote@ # am--include-marker
939 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/keylist.Plo@am__quote@ # am--include-marker
940 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/keysign.Plo@am__quote@ # am--include-marker
941 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mbox-util.Plo@am__quote@ # am--include-marker
942 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/op-support.Plo@am__quote@ # am--include-marker
943 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/opassuan.Plo@am__quote@ # am--include-marker
944 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parsetlv.Plo@am__quote@ # am--include-marker
945 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/passphrase.Plo@am__quote@ # am--include-marker
946 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/passwd.Plo@am__quote@ # am--include-marker
947 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/posix-io.Plo@am__quote@ # am--include-marker
948 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/posix-util.Plo@am__quote@ # am--include-marker
949 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/progress.Plo@am__quote@ # am--include-marker
950 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/queryswdb.Plo@am__quote@ # am--include-marker
951 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/revsig.Plo@am__quote@ # am--include-marker
952 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/setexpire.Plo@am__quote@ # am--include-marker
953 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sig-notation.Plo@am__quote@ # am--include-marker
954 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sign.Plo@am__quote@ # am--include-marker
955 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/signers.Plo@am__quote@ # am--include-marker
956 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/spawn.Plo@am__quote@ # am--include-marker
957 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/status-table.Plo@am__quote@ # am--include-marker
958 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tofupolicy.Plo@am__quote@ # am--include-marker
959 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/trust-item.Plo@am__quote@ # am--include-marker
960 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/trustlist.Plo@am__quote@ # am--include-marker
961 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/verify.Plo@am__quote@ # am--include-marker
962 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/version.Plo@am__quote@ # am--include-marker
963 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vfs-create.Plo@am__quote@ # am--include-marker
964 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vfs-mount.Plo@am__quote@ # am--include-marker
965 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/w32-glib-io.Plo@am__quote@ # am--include-marker
966 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/w32-io.Plo@am__quote@ # am--include-marker
967 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/w32-util.Plo@am__quote@ # am--include-marker
968 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wait-global.Plo@am__quote@ # am--include-marker
969 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wait-private.Plo@am__quote@ # am--include-marker
970 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wait-user.Plo@am__quote@ # am--include-marker
971 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wait.Plo@am__quote@ # am--include-marker
972
973 $(am__depfiles_remade):
974 @$(MKDIR_P) $(@D)
975 @echo '# dummy' >$@-t && $(am__mv) $@-t $@
976
977 am--depfiles: $(am__depfiles_remade)
978
979 .c.o:
980 @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
981 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
982 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
983 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
984 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
985
986 .c.obj:
987 @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
988 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
989 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
990 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
991 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
992
993 .c.lo:
994 @am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
995 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
996 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
997 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
998 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
999
1000 mostlyclean-libtool:
1001 -rm -f *.lo
1002
1003 clean-libtool:
1004 -rm -rf .libs _libs
1005 install-m4dataDATA: $(m4data_DATA)
1006 @$(NORMAL_INSTALL)
1007 @list='$(m4data_DATA)'; test -n "$(m4datadir)" || list=; \
1008 if test -n "$$list"; then \
1009 echo " $(MKDIR_P) '$(DESTDIR)$(m4datadir)'"; \
1010 $(MKDIR_P) "$(DESTDIR)$(m4datadir)" || exit 1; \
1011 fi; \
1012 for p in $$list; do \
1013 if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
1014 echo "$$d$$p"; \
1015 done | $(am__base_list) | \
1016 while read files; do \
1017 echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(m4datadir)'"; \
1018 $(INSTALL_DATA) $$files "$(DESTDIR)$(m4datadir)" || exit $$?; \
1019 done
1020
1021 uninstall-m4dataDATA:
1022 @$(NORMAL_UNINSTALL)
1023 @list='$(m4data_DATA)'; test -n "$(m4datadir)" || list=; \
1024 files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
1025 dir='$(DESTDIR)$(m4datadir)'; $(am__uninstall_files_from_dir)
1026 install-pkgconfigDATA: $(pkgconfig_DATA)
1027 @$(NORMAL_INSTALL)
1028 @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
1029 if test -n "$$list"; then \
1030 echo " $(MKDIR_P) '$(DESTDIR)$(pkgconfigdir)'"; \
1031 $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)" || exit 1; \
1032 fi; \
1033 for p in $$list; do \
1034 if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
1035 echo "$$d$$p"; \
1036 done | $(am__base_list) | \
1037 while read files; do \
1038 echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfigdir)'"; \
1039 $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdir)" || exit $$?; \
1040 done
1041
1042 uninstall-pkgconfigDATA:
1043 @$(NORMAL_UNINSTALL)
1044 @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
1045 files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
1046 dir='$(DESTDIR)$(pkgconfigdir)'; $(am__uninstall_files_from_dir)
1047 install-nodist_includeHEADERS: $(nodist_include_HEADERS)
1048 @$(NORMAL_INSTALL)
1049 @list='$(nodist_include_HEADERS)'; test -n "$(includedir)" || list=; \
1050 if test -n "$$list"; then \
1051 echo " $(MKDIR_P) '$(DESTDIR)$(includedir)'"; \
1052 $(MKDIR_P) "$(DESTDIR)$(includedir)" || exit 1; \
1053 fi; \
1054 for p in $$list; do \
1055 if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
1056 echo "$$d$$p"; \
1057 done | $(am__base_list) | \
1058 while read files; do \
1059 echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(includedir)'"; \
1060 $(INSTALL_HEADER) $$files "$(DESTDIR)$(includedir)" || exit $$?; \
1061 done
1062
1063 uninstall-nodist_includeHEADERS:
1064 @$(NORMAL_UNINSTALL)
1065 @list='$(nodist_include_HEADERS)'; test -n "$(includedir)" || list=; \
1066 files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
1067 dir='$(DESTDIR)$(includedir)'; $(am__uninstall_files_from_dir)
1068
1069 ID: $(am__tagged_files)
1070 $(am__define_uniq_tagged_files); mkid -fID $$unique
1071 tags: tags-am
1072 TAGS: tags
1073
1074 tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
1075 set x; \
1076 here=`pwd`; \
1077 $(am__define_uniq_tagged_files); \
1078 shift; \
1079 if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
1080 test -n "$$unique" || unique=$$empty_fix; \
1081 if test $$# -gt 0; then \
1082 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
1083 "$$@" $$unique; \
1084 else \
1085 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
1086 $$unique; \
1087 fi; \
1088 fi
1089 ctags: ctags-am
1090
1091 CTAGS: ctags
1092 ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
1093 $(am__define_uniq_tagged_files); \
1094 test -z "$(CTAGS_ARGS)$$unique" \
1095 || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
1096 $$unique
1097
1098 GTAGS:
1099 here=`$(am__cd) $(top_builddir) && pwd` \
1100 && $(am__cd) $(top_srcdir) \
1101 && gtags -i $(GTAGS_ARGS) "$$here"
1102 cscopelist: cscopelist-am
1103
1104 cscopelist-am: $(am__tagged_files)
1105 list='$(am__tagged_files)'; \
1106 case "$(srcdir)" in \
1107 [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
1108 *) sdir=$(subdir)/$(srcdir) ;; \
1109 esac; \
1110 for i in $$list; do \
1111 if test -f "$$i"; then \
1112 echo "$(subdir)/$$i"; \
1113 else \
1114 echo "$$sdir/$$i"; \
1115 fi; \
1116 done >> $(top_builddir)/cscope.files
1117
1118 distclean-tags:
1119 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
1120 distdir: $(BUILT_SOURCES)
1121 $(MAKE) $(AM_MAKEFLAGS) distdir-am
1122
1123 distdir-am: $(DISTFILES)
1124 @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
1125 topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
1126 list='$(DISTFILES)'; \
1127 dist_files=`for file in $$list; do echo $$file; done | \
1128 sed -e "s|^$$srcdirstrip/||;t" \
1129 -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
1130 case $$dist_files in \
1131 */*) $(MKDIR_P) `echo "$$dist_files" | \
1132 sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
1133 sort -u` ;; \
1134 esac; \
1135 for file in $$dist_files; do \
1136 if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
1137 if test -d $$d/$$file; then \
1138 dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
1139 if test -d "$(distdir)/$$file"; then \
1140 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
1141 fi; \
1142 if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
1143 cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
1144 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
1145 fi; \
1146 cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
1147 else \
1148 test -f "$(distdir)/$$file" \
1149 || cp -p $$d/$$file "$(distdir)/$$file" \
1150 || exit 1; \
1151 fi; \
1152 done
1153 check-am: all-am
1154 check: check-am
1155 all-am: Makefile $(PROGRAMS) $(LTLIBRARIES) $(SCRIPTS) $(DATA) \
1156 $(HEADERS)
1157 install-binPROGRAMS: install-libLTLIBRARIES
1158
1159 installdirs:
1160 for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(libexecdir)" "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(m4datadir)" "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(includedir)"; do \
1161 test -z "$$dir" || $(MKDIR_P) "$$dir"; \
1162 done
1163 install: install-am
1164 install-exec: install-exec-am
1165 install-data: install-data-am
1166 uninstall: uninstall-am
1167
1168 install-am: all-am
1169 @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
1170
1171 installcheck: installcheck-am
1172 install-strip:
1173 if test -z '$(STRIP)'; then \
1174 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
1175 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
1176 install; \
1177 else \
1178 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
1179 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
1180 "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
1181 fi
1182 mostlyclean-generic:
1183
1184 clean-generic:
1185
1186 distclean-generic:
1187 -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
1188 -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
1189
1190 maintainer-clean-generic:
1191 @echo "This command is intended for maintainers to use"
1192 @echo "it deletes files that may require special tools to rebuild."
1193 clean: clean-am
1194
1195 clean-am: clean-binPROGRAMS clean-generic clean-libLTLIBRARIES \
1196 clean-libexecPROGRAMS clean-libtool mostlyclean-am
1197
1198 distclean: distclean-am
1199 -rm -f $(DEPDIR)/setenv.Plo
1200 -rm -f $(DEPDIR)/stpcpy.Plo
1201 -rm -f $(DEPDIR)/ttyname_r.Plo
1202 -rm -f ./$(DEPDIR)/argparse.Po
1203 -rm -f ./$(DEPDIR)/assuan-support.Plo
1204 -rm -f ./$(DEPDIR)/ath.Plo
1205 -rm -f ./$(DEPDIR)/b64dec.Plo
1206 -rm -f ./$(DEPDIR)/cJSON.Po
1207 -rm -f ./$(DEPDIR)/conversion.Plo
1208 -rm -f ./$(DEPDIR)/data-compat.Plo
1209 -rm -f ./$(DEPDIR)/data-estream.Plo
1210 -rm -f ./$(DEPDIR)/data-fd.Plo
1211 -rm -f ./$(DEPDIR)/data-identify.Plo
1212 -rm -f ./$(DEPDIR)/data-mem.Plo
1213 -rm -f ./$(DEPDIR)/data-stream.Plo
1214 -rm -f ./$(DEPDIR)/data-user.Plo
1215 -rm -f ./$(DEPDIR)/data.Plo
1216 -rm -f ./$(DEPDIR)/debug.Plo
1217 -rm -f ./$(DEPDIR)/decrypt-verify.Plo
1218 -rm -f ./$(DEPDIR)/decrypt.Plo
1219 -rm -f ./$(DEPDIR)/delete.Plo
1220 -rm -f ./$(DEPDIR)/dirinfo.Plo
1221 -rm -f ./$(DEPDIR)/edit.Plo
1222 -rm -f ./$(DEPDIR)/encrypt-sign.Plo
1223 -rm -f ./$(DEPDIR)/encrypt.Plo
1224 -rm -f ./$(DEPDIR)/engine-assuan.Plo
1225 -rm -f ./$(DEPDIR)/engine-g13.Plo
1226 -rm -f ./$(DEPDIR)/engine-gpg.Plo
1227 -rm -f ./$(DEPDIR)/engine-gpgconf.Plo
1228 -rm -f ./$(DEPDIR)/engine-gpgsm.Plo
1229 -rm -f ./$(DEPDIR)/engine-spawn.Plo
1230 -rm -f ./$(DEPDIR)/engine-uiserver.Plo
1231 -rm -f ./$(DEPDIR)/engine.Plo
1232 -rm -f ./$(DEPDIR)/error.Plo
1233 -rm -f ./$(DEPDIR)/export.Plo
1234 -rm -f ./$(DEPDIR)/genkey.Plo
1235 -rm -f ./$(DEPDIR)/get-env.Plo
1236 -rm -f ./$(DEPDIR)/getauditlog.Plo
1237 -rm -f ./$(DEPDIR)/gpgconf.Plo
1238 -rm -f ./$(DEPDIR)/gpgme-json.Po
1239 -rm -f ./$(DEPDIR)/gpgme-tool.Po
1240 -rm -f ./$(DEPDIR)/gpgme-w32spawn.Po
1241 -rm -f ./$(DEPDIR)/gpgme.Plo
1242 -rm -f ./$(DEPDIR)/import.Plo
1243 -rm -f ./$(DEPDIR)/key.Plo
1244 -rm -f ./$(DEPDIR)/keylist.Plo
1245 -rm -f ./$(DEPDIR)/keysign.Plo
1246 -rm -f ./$(DEPDIR)/mbox-util.Plo
1247 -rm -f ./$(DEPDIR)/op-support.Plo
1248 -rm -f ./$(DEPDIR)/opassuan.Plo
1249 -rm -f ./$(DEPDIR)/parsetlv.Plo
1250 -rm -f ./$(DEPDIR)/passphrase.Plo
1251 -rm -f ./$(DEPDIR)/passwd.Plo
1252 -rm -f ./$(DEPDIR)/posix-io.Plo
1253 -rm -f ./$(DEPDIR)/posix-util.Plo
1254 -rm -f ./$(DEPDIR)/progress.Plo
1255 -rm -f ./$(DEPDIR)/queryswdb.Plo
1256 -rm -f ./$(DEPDIR)/revsig.Plo
1257 -rm -f ./$(DEPDIR)/setexpire.Plo
1258 -rm -f ./$(DEPDIR)/sig-notation.Plo
1259 -rm -f ./$(DEPDIR)/sign.Plo
1260 -rm -f ./$(DEPDIR)/signers.Plo
1261 -rm -f ./$(DEPDIR)/spawn.Plo
1262 -rm -f ./$(DEPDIR)/status-table.Plo
1263 -rm -f ./$(DEPDIR)/tofupolicy.Plo
1264 -rm -f ./$(DEPDIR)/trust-item.Plo
1265 -rm -f ./$(DEPDIR)/trustlist.Plo
1266 -rm -f ./$(DEPDIR)/verify.Plo
1267 -rm -f ./$(DEPDIR)/version.Plo
1268 -rm -f ./$(DEPDIR)/vfs-create.Plo
1269 -rm -f ./$(DEPDIR)/vfs-mount.Plo
1270 -rm -f ./$(DEPDIR)/w32-glib-io.Plo
1271 -rm -f ./$(DEPDIR)/w32-io.Plo
1272 -rm -f ./$(DEPDIR)/w32-util.Plo
1273 -rm -f ./$(DEPDIR)/wait-global.Plo
1274 -rm -f ./$(DEPDIR)/wait-private.Plo
1275 -rm -f ./$(DEPDIR)/wait-user.Plo
1276 -rm -f ./$(DEPDIR)/wait.Plo
1277 -rm -f Makefile
1278 distclean-am: clean-am distclean-compile distclean-generic \
1279 distclean-tags
1280
1281 dvi: dvi-am
1282
1283 dvi-am:
1284
1285 html: html-am
1286
1287 html-am:
1288
1289 info: info-am
1290
1291 info-am:
1292
1293 install-data-am: install-data-local install-m4dataDATA \
1294 install-nodist_includeHEADERS install-pkgconfigDATA
1295
1296 install-dvi: install-dvi-am
1297
1298 install-dvi-am:
1299
1300 install-exec-am: install-binPROGRAMS install-binSCRIPTS \
1301 install-libLTLIBRARIES install-libexecPROGRAMS
1302
1303 install-html: install-html-am
1304
1305 install-html-am:
1306
1307 install-info: install-info-am
1308
1309 install-info-am:
1310
1311 install-man:
1312
1313 install-pdf: install-pdf-am
1314
1315 install-pdf-am:
1316
1317 install-ps: install-ps-am
1318
1319 install-ps-am:
1320
1321 installcheck-am:
1322
1323 maintainer-clean: maintainer-clean-am
1324 -rm -f $(DEPDIR)/setenv.Plo
1325 -rm -f $(DEPDIR)/stpcpy.Plo
1326 -rm -f $(DEPDIR)/ttyname_r.Plo
1327 -rm -f ./$(DEPDIR)/argparse.Po
1328 -rm -f ./$(DEPDIR)/assuan-support.Plo
1329 -rm -f ./$(DEPDIR)/ath.Plo
1330 -rm -f ./$(DEPDIR)/b64dec.Plo
1331 -rm -f ./$(DEPDIR)/cJSON.Po
1332 -rm -f ./$(DEPDIR)/conversion.Plo
1333 -rm -f ./$(DEPDIR)/data-compat.Plo
1334 -rm -f ./$(DEPDIR)/data-estream.Plo
1335 -rm -f ./$(DEPDIR)/data-fd.Plo
1336 -rm -f ./$(DEPDIR)/data-identify.Plo
1337 -rm -f ./$(DEPDIR)/data-mem.Plo
1338 -rm -f ./$(DEPDIR)/data-stream.Plo
1339 -rm -f ./$(DEPDIR)/data-user.Plo
1340 -rm -f ./$(DEPDIR)/data.Plo
1341 -rm -f ./$(DEPDIR)/debug.Plo
1342 -rm -f ./$(DEPDIR)/decrypt-verify.Plo
1343 -rm -f ./$(DEPDIR)/decrypt.Plo
1344 -rm -f ./$(DEPDIR)/delete.Plo
1345 -rm -f ./$(DEPDIR)/dirinfo.Plo
1346 -rm -f ./$(DEPDIR)/edit.Plo
1347 -rm -f ./$(DEPDIR)/encrypt-sign.Plo
1348 -rm -f ./$(DEPDIR)/encrypt.Plo
1349 -rm -f ./$(DEPDIR)/engine-assuan.Plo
1350 -rm -f ./$(DEPDIR)/engine-g13.Plo
1351 -rm -f ./$(DEPDIR)/engine-gpg.Plo
1352 -rm -f ./$(DEPDIR)/engine-gpgconf.Plo
1353 -rm -f ./$(DEPDIR)/engine-gpgsm.Plo
1354 -rm -f ./$(DEPDIR)/engine-spawn.Plo
1355 -rm -f ./$(DEPDIR)/engine-uiserver.Plo
1356 -rm -f ./$(DEPDIR)/engine.Plo
1357 -rm -f ./$(DEPDIR)/error.Plo
1358 -rm -f ./$(DEPDIR)/export.Plo
1359 -rm -f ./$(DEPDIR)/genkey.Plo
1360 -rm -f ./$(DEPDIR)/get-env.Plo
1361 -rm -f ./$(DEPDIR)/getauditlog.Plo
1362 -rm -f ./$(DEPDIR)/gpgconf.Plo
1363 -rm -f ./$(DEPDIR)/gpgme-json.Po
1364 -rm -f ./$(DEPDIR)/gpgme-tool.Po
1365 -rm -f ./$(DEPDIR)/gpgme-w32spawn.Po
1366 -rm -f ./$(DEPDIR)/gpgme.Plo
1367 -rm -f ./$(DEPDIR)/import.Plo
1368 -rm -f ./$(DEPDIR)/key.Plo
1369 -rm -f ./$(DEPDIR)/keylist.Plo
1370 -rm -f ./$(DEPDIR)/keysign.Plo
1371 -rm -f ./$(DEPDIR)/mbox-util.Plo
1372 -rm -f ./$(DEPDIR)/op-support.Plo
1373 -rm -f ./$(DEPDIR)/opassuan.Plo
1374 -rm -f ./$(DEPDIR)/parsetlv.Plo
1375 -rm -f ./$(DEPDIR)/passphrase.Plo
1376 -rm -f ./$(DEPDIR)/passwd.Plo
1377 -rm -f ./$(DEPDIR)/posix-io.Plo
1378 -rm -f ./$(DEPDIR)/posix-util.Plo
1379 -rm -f ./$(DEPDIR)/progress.Plo
1380 -rm -f ./$(DEPDIR)/queryswdb.Plo
1381 -rm -f ./$(DEPDIR)/revsig.Plo
1382 -rm -f ./$(DEPDIR)/setexpire.Plo
1383 -rm -f ./$(DEPDIR)/sig-notation.Plo
1384 -rm -f ./$(DEPDIR)/sign.Plo
1385 -rm -f ./$(DEPDIR)/signers.Plo
1386 -rm -f ./$(DEPDIR)/spawn.Plo
1387 -rm -f ./$(DEPDIR)/status-table.Plo
1388 -rm -f ./$(DEPDIR)/tofupolicy.Plo
1389 -rm -f ./$(DEPDIR)/trust-item.Plo
1390 -rm -f ./$(DEPDIR)/trustlist.Plo
1391 -rm -f ./$(DEPDIR)/verify.Plo
1392 -rm -f ./$(DEPDIR)/version.Plo
1393 -rm -f ./$(DEPDIR)/vfs-create.Plo
1394 -rm -f ./$(DEPDIR)/vfs-mount.Plo
1395 -rm -f ./$(DEPDIR)/w32-glib-io.Plo
1396 -rm -f ./$(DEPDIR)/w32-io.Plo
1397 -rm -f ./$(DEPDIR)/w32-util.Plo
1398 -rm -f ./$(DEPDIR)/wait-global.Plo
1399 -rm -f ./$(DEPDIR)/wait-private.Plo
1400 -rm -f ./$(DEPDIR)/wait-user.Plo
1401 -rm -f ./$(DEPDIR)/wait.Plo
1402 -rm -f Makefile
1403 maintainer-clean-am: distclean-am maintainer-clean-generic
1404
1405 mostlyclean: mostlyclean-am
1406
1407 mostlyclean-am: mostlyclean-compile mostlyclean-generic \
1408 mostlyclean-libtool
1409
1410 pdf: pdf-am
1411
1412 pdf-am:
1413
1414 ps: ps-am
1415
1416 ps-am:
1417
1418 uninstall-am: uninstall-binPROGRAMS uninstall-binSCRIPTS \
1419 uninstall-libLTLIBRARIES uninstall-libexecPROGRAMS \
1420 uninstall-local uninstall-m4dataDATA \
1421 uninstall-nodist_includeHEADERS uninstall-pkgconfigDATA
1422
1423 .MAKE: install-am install-strip
1424
1425 .PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \
1426 clean-binPROGRAMS clean-generic clean-libLTLIBRARIES \
1427 clean-libexecPROGRAMS clean-libtool cscopelist-am ctags \
1428 ctags-am distclean distclean-compile distclean-generic \
1429 distclean-libtool distclean-tags distdir dvi dvi-am html \
1430 html-am info info-am install install-am install-binPROGRAMS \
1431 install-binSCRIPTS install-data install-data-am \
1432 install-data-local install-dvi install-dvi-am install-exec \
1433 install-exec-am install-html install-html-am install-info \
1434 install-info-am install-libLTLIBRARIES install-libexecPROGRAMS \
1435 install-m4dataDATA install-man install-nodist_includeHEADERS \
1436 install-pdf install-pdf-am install-pkgconfigDATA install-ps \
1437 install-ps-am install-strip installcheck installcheck-am \
1438 installdirs maintainer-clean maintainer-clean-generic \
1439 mostlyclean mostlyclean-compile mostlyclean-generic \
1440 mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
1441 uninstall-am uninstall-binPROGRAMS uninstall-binSCRIPTS \
1442 uninstall-libLTLIBRARIES uninstall-libexecPROGRAMS \
1443 uninstall-local uninstall-m4dataDATA \
1444 uninstall-nodist_includeHEADERS uninstall-pkgconfigDATA
1445
1446 .PRECIOUS: Makefile
1447
1448
1449 @HAVE_W32_SYSTEM_TRUE@.rc.lo:
1450 @HAVE_W32_SYSTEM_TRUE@ $(LTRCCOMPILE) -i "$<" -o "$@"
1451
1452 @HAVE_W32_SYSTEM_TRUE@install-def-file:
1453 @HAVE_W32_SYSTEM_TRUE@ -$(INSTALL) -d $(DESTDIR)$(libdir)
1454 @HAVE_W32_SYSTEM_TRUE@ $(INSTALL) $(srcdir)/gpgme.def $(DESTDIR)$(libdir)/gpgme.def
1455
1456 @HAVE_W32_SYSTEM_TRUE@uninstall-def-file:
1457 @HAVE_W32_SYSTEM_TRUE@ -rm $(DESTDIR)$(libdir)/gpgme.def
1458 @HAVE_W32_SYSTEM_FALSE@install-def-file:
1459 @HAVE_W32_SYSTEM_FALSE@uninstall-def-file:
1460
1461 install-data-local: install-def-file
1462
1463 uninstall-local: uninstall-def-file
1464
1465 # Tell versions [3.59,3.63) of GNU make to not export all variables.
1466 # Otherwise a system limit (for SysV at least) may be exceeded.
1467 .NOEXPORT:
390390 while (res < 0 && errno == EINTR);
391391 }
392392
393 return TRACE_SYSRES ((int)res);
393 return TRACE_SYSRES_SSIZE_T (res);
394394 }
395395
396396
418418 res = (*dh->cbs->write) (dh, buffer, size);
419419 while (res < 0 && errno == EINTR);
420420
421 return TRACE_SYSRES ((int)res);
421 return TRACE_SYSRES_SSIZE_T (res);
422422 }
423423
424424
451451 if (offset >= 0)
452452 dh->outbound_pending = 0;
453453
454 return TRACE_SYSRES ((int)offset);
454 return TRACE_SYSRES_OFF_T (offset);
455455 }
456456
457457
140140 return err;
141141 }
142142
143 /* Trace a system call result and return it. */
143 /* Trace a system call result of type int and return it. */
144144 #define TRACE_SYSRES(res) \
145145 _trace_sysres ((res), _gpgme_trace_level, _gpgme_trace_func, __LINE__)
146146 static inline int
148148 {
149149 if (res >= 0)
150150 _gpgme_debug (NULL, lvl, 3, func, NULL, NULL, "result=%d", res);
151 else
152 _gpgme_debug (NULL, lvl, -1, NULL, NULL, NULL,
153 "%s:%d: error: %s (%d)\n",
154 func, line, strerror (errno), errno);
155 _gpgme_debug_frame_end ();
156 return res;
157 }
158
159 /* Trace a system call result of type gpgme_off_t and return it. */
160 #define TRACE_SYSRES_OFF_T(res) \
161 _trace_sysres_off_t ((res), _gpgme_trace_level, _gpgme_trace_func, __LINE__)
162 static inline gpgme_off_t
163 _trace_sysres_off_t (gpgme_off_t res, int lvl, const char *func, int line)
164 {
165 if (res >= 0)
166 _gpgme_debug (NULL, lvl, 3, func, NULL, NULL, "result=%ld", res);
167 else
168 _gpgme_debug (NULL, lvl, -1, NULL, NULL, NULL,
169 "%s:%d: error: %s (%d)\n",
170 func, line, strerror (errno), errno);
171 _gpgme_debug_frame_end ();
172 return res;
173 }
174
175 /* Trace a system call result of type gpgme_ssize_t and return it. */
176 #define TRACE_SYSRES_SSIZE_T(res) \
177 _trace_sysres_ssize_t ((res), _gpgme_trace_level, _gpgme_trace_func, __LINE__)
178 static inline gpgme_ssize_t
179 _trace_sysres_ssize_t (gpgme_ssize_t res, int lvl, const char *func, int line)
180 {
181 if (res >= 0)
182 _gpgme_debug (NULL, lvl, 3, func, NULL, NULL, "result=%zd", res);
151183 else
152184 _gpgme_debug (NULL, lvl, -1, NULL, NULL, NULL,
153185 "%s:%d: error: %s (%d)\n",
5858 int print_fd; /* Print the fd number and not the special form of it. */
5959 int *arg_locp; /* Write back the argv idx of this argument when
6060 building command line to this location. */
61 char arg[1]; /* Used if data above is not used. */
61 char arg[FLEXIBLE_ARRAY_MEMBER]; /* Used if data above is not used. */
6262 };
6363
6464
232232 assert (gpg);
233233 assert (arg);
234234
235 a = malloc (sizeof *a + prefixlen + arglen);
235 a = malloc (offsetof (struct arg_and_data_s, arg) + prefixlen + arglen + 1);
236236 if (!a)
237237 return gpg_error_from_syserror ();
238238
306306 assert (gpg);
307307 assert (data);
308308
309 a = malloc (sizeof *a - 1);
309 a = malloc (offsetof (struct arg_and_data_s, arg));
310310 if (!a)
311311 return gpg_error_from_syserror ();
312312 a->next = NULL;
569569 if (fd_list[i].fd > fd)
570570 fd = fd_list[i].fd;
571571 fd++;
572 #if defined(__sun) || defined(__FreeBSD__)
572 #if defined(__sun) || defined(__FreeBSD__) || defined(__GLIBC__)
573573 closefrom (fd);
574574 max_fds = fd;
575575 #else /*!__sun */
0 # Makefile.in generated by automake 1.16.4 from Makefile.am.
1 # @configure_input@
2
3 # Copyright (C) 1994-2021 Free Software Foundation, Inc.
4
5 # This Makefile.in is free software; the Free Software Foundation
6 # gives unlimited permission to copy and/or distribute it,
7 # with or without modifications, as long as this notice is preserved.
8
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
11 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
12 # PARTICULAR PURPOSE.
13
14 @SET_MAKE@
15
16 # Makefile.am - Makefile for GPGME tests.
17 # Copyright (C) 2000 Werner Koch (dd9jn)
18 # Copyright (C) 2001, 2004 g10 Code GmbH
19 #
20 # This file is part of GPGME.
21 #
22 # GPGME is free software; you can redistribute it and/or modify it
23 # under the terms of the GNU Lesser General Public License as
24 # published by the Free Software Foundation; either version 2.1 of the
25 # License, or (at your option) any later version.
26 #
27 # GPGME is distributed in the hope that it will be useful, but WITHOUT
28 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
29 # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General
30 # Public License for more details.
31 #
32 # You should have received a copy of the GNU Lesser General Public
33 # License along with this program; if not, see <https://gnu.org/licenses/>.
34 # SPDX-License-Identifier: LGPL-2.1-or-later
35
36
37 VPATH = @srcdir@
38 am__is_gnu_make = { \
39 if test -z '$(MAKELEVEL)'; then \
40 false; \
41 elif test -n '$(MAKE_HOST)'; then \
42 true; \
43 elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
44 true; \
45 else \
46 false; \
47 fi; \
48 }
49 am__make_running_with_option = \
50 case $${target_option-} in \
51 ?) ;; \
52 *) echo "am__make_running_with_option: internal error: invalid" \
53 "target option '$${target_option-}' specified" >&2; \
54 exit 1;; \
55 esac; \
56 has_opt=no; \
57 sane_makeflags=$$MAKEFLAGS; \
58 if $(am__is_gnu_make); then \
59 sane_makeflags=$$MFLAGS; \
60 else \
61 case $$MAKEFLAGS in \
62 *\\[\ \ ]*) \
63 bs=\\; \
64 sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
65 | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
66 esac; \
67 fi; \
68 skip_next=no; \
69 strip_trailopt () \
70 { \
71 flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
72 }; \
73 for flg in $$sane_makeflags; do \
74 test $$skip_next = yes && { skip_next=no; continue; }; \
75 case $$flg in \
76 *=*|--*) continue;; \
77 -*I) strip_trailopt 'I'; skip_next=yes;; \
78 -*I?*) strip_trailopt 'I';; \
79 -*O) strip_trailopt 'O'; skip_next=yes;; \
80 -*O?*) strip_trailopt 'O';; \
81 -*l) strip_trailopt 'l'; skip_next=yes;; \
82 -*l?*) strip_trailopt 'l';; \
83 -[dEDm]) skip_next=yes;; \
84 -[JT]) skip_next=yes;; \
85 esac; \
86 case $$flg in \
87 *$$target_option*) has_opt=yes; break;; \
88 esac; \
89 done; \
90 test $$has_opt = yes
91 am__make_dryrun = (target_option=n; $(am__make_running_with_option))
92 am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
93 pkgdatadir = $(datadir)/@PACKAGE@
94 pkgincludedir = $(includedir)/@PACKAGE@
95 pkglibdir = $(libdir)/@PACKAGE@
96 pkglibexecdir = $(libexecdir)/@PACKAGE@
97 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
98 install_sh_DATA = $(install_sh) -c -m 644
99 install_sh_PROGRAM = $(install_sh) -c
100 install_sh_SCRIPT = $(install_sh) -c
101 INSTALL_HEADER = $(INSTALL_DATA)
102 transform = $(program_transform_name)
103 NORMAL_INSTALL = :
104 PRE_INSTALL = :
105 POST_INSTALL = :
106 NORMAL_UNINSTALL = :
107 PRE_UNINSTALL = :
108 POST_UNINSTALL = :
109 build_triplet = @build@
110 host_triplet = @host@
111 TESTS = t-version$(EXEEXT) t-data$(EXEEXT) t-engine-info$(EXEEXT)
112 noinst_PROGRAMS = $(am__EXEEXT_1) run-keylist$(EXEEXT) \
113 run-export$(EXEEXT) run-import$(EXEEXT) run-sign$(EXEEXT) \
114 run-verify$(EXEEXT) run-encrypt$(EXEEXT) run-identify$(EXEEXT) \
115 run-decrypt$(EXEEXT) run-genkey$(EXEEXT) run-keysign$(EXEEXT) \
116 run-tofu$(EXEEXT) run-swdb$(EXEEXT) run-threaded$(EXEEXT)
117 subdir = tests
118 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
119 am__aclocal_m4_deps = $(top_srcdir)/m4/ax_cxx_compile_stdcxx.m4 \
120 $(top_srcdir)/m4/ax_pkg_swig.m4 \
121 $(top_srcdir)/m4/ax_python_devel.m4 \
122 $(top_srcdir)/m4/glib-2.0.m4 $(top_srcdir)/m4/glibc21.m4 \
123 $(top_srcdir)/m4/gnupg-ttyname.m4 \
124 $(top_srcdir)/m4/gpg-error.m4 $(top_srcdir)/m4/libassuan.m4 \
125 $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
126 $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
127 $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/pkg.m4 \
128 $(top_srcdir)/m4/python.m4 $(top_srcdir)/m4/qt.m4 \
129 $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
130 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
131 $(ACLOCAL_M4)
132 DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
133 $(am__DIST_COMMON)
134 mkinstalldirs = $(SHELL) $(top_srcdir)/build-aux/mkinstalldirs
135 CONFIG_HEADER = $(top_builddir)/conf/config.h
136 CONFIG_CLEAN_FILES =
137 CONFIG_CLEAN_VPATH_FILES =
138 am__EXEEXT_1 = t-version$(EXEEXT) t-data$(EXEEXT) \
139 t-engine-info$(EXEEXT)
140 PROGRAMS = $(noinst_PROGRAMS)
141 run_decrypt_SOURCES = run-decrypt.c
142 run_decrypt_OBJECTS = run-decrypt.$(OBJEXT)
143 run_decrypt_LDADD = $(LDADD)
144 run_decrypt_DEPENDENCIES = ../src/libgpgme.la
145 AM_V_lt = $(am__v_lt_@AM_V@)
146 am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
147 am__v_lt_0 = --silent
148 am__v_lt_1 =
149 run_encrypt_SOURCES = run-encrypt.c
150 run_encrypt_OBJECTS = run-encrypt.$(OBJEXT)
151 run_encrypt_LDADD = $(LDADD)
152 run_encrypt_DEPENDENCIES = ../src/libgpgme.la
153 run_export_SOURCES = run-export.c
154 run_export_OBJECTS = run-export.$(OBJEXT)
155 run_export_LDADD = $(LDADD)
156 run_export_DEPENDENCIES = ../src/libgpgme.la
157 run_genkey_SOURCES = run-genkey.c
158 run_genkey_OBJECTS = run-genkey.$(OBJEXT)
159 run_genkey_LDADD = $(LDADD)
160 run_genkey_DEPENDENCIES = ../src/libgpgme.la
161 run_identify_SOURCES = run-identify.c
162 run_identify_OBJECTS = run-identify.$(OBJEXT)
163 run_identify_LDADD = $(LDADD)
164 run_identify_DEPENDENCIES = ../src/libgpgme.la
165 run_import_SOURCES = run-import.c
166 run_import_OBJECTS = run-import.$(OBJEXT)
167 run_import_LDADD = $(LDADD)
168 run_import_DEPENDENCIES = ../src/libgpgme.la
169 run_keylist_SOURCES = run-keylist.c
170 run_keylist_OBJECTS = run-keylist.$(OBJEXT)
171 run_keylist_LDADD = $(LDADD)
172 run_keylist_DEPENDENCIES = ../src/libgpgme.la
173 run_keysign_SOURCES = run-keysign.c
174 run_keysign_OBJECTS = run-keysign.$(OBJEXT)
175 run_keysign_LDADD = $(LDADD)
176 run_keysign_DEPENDENCIES = ../src/libgpgme.la
177 run_sign_SOURCES = run-sign.c
178 run_sign_OBJECTS = run-sign.$(OBJEXT)
179 run_sign_LDADD = $(LDADD)
180 run_sign_DEPENDENCIES = ../src/libgpgme.la
181 run_swdb_SOURCES = run-swdb.c
182 run_swdb_OBJECTS = run-swdb.$(OBJEXT)
183 run_swdb_LDADD = $(LDADD)
184 run_swdb_DEPENDENCIES = ../src/libgpgme.la
185 run_threaded_SOURCES = run-threaded.c
186 run_threaded_OBJECTS = run-threaded.$(OBJEXT)
187 run_threaded_DEPENDENCIES = ../src/libgpgme.la
188 run_tofu_SOURCES = run-tofu.c
189 run_tofu_OBJECTS = run-tofu.$(OBJEXT)
190 run_tofu_LDADD = $(LDADD)
191 run_tofu_DEPENDENCIES = ../src/libgpgme.la
192 run_verify_SOURCES = run-verify.c
193 run_verify_OBJECTS = run-verify.$(OBJEXT)
194 run_verify_LDADD = $(LDADD)
195 run_verify_DEPENDENCIES = ../src/libgpgme.la
196 t_data_SOURCES = t-data.c
197 t_data_OBJECTS = t-data.$(OBJEXT)
198 t_data_LDADD = $(LDADD)
199 t_data_DEPENDENCIES = ../src/libgpgme.la
200 t_engine_info_SOURCES = t-engine-info.c
201 t_engine_info_OBJECTS = t-engine-info.$(OBJEXT)
202 t_engine_info_LDADD = $(LDADD)
203 t_engine_info_DEPENDENCIES = ../src/libgpgme.la
204 t_version_SOURCES = t-version.c
205 t_version_OBJECTS = t-version.$(OBJEXT)
206 t_version_LDADD = $(LDADD)
207 t_version_DEPENDENCIES = ../src/libgpgme.la
208 AM_V_P = $(am__v_P_@AM_V@)
209 am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
210 am__v_P_0 = false
211 am__v_P_1 = :
212 AM_V_GEN = $(am__v_GEN_@AM_V@)
213 am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
214 am__v_GEN_0 = @echo " GEN " $@;
215 am__v_GEN_1 =
216 AM_V_at = $(am__v_at_@AM_V@)
217 am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
218 am__v_at_0 = @
219 am__v_at_1 =
220 DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/conf
221 depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp
222 am__maybe_remake_depfiles = depfiles
223 am__depfiles_remade = ./$(DEPDIR)/run-decrypt.Po \
224 ./$(DEPDIR)/run-encrypt.Po ./$(DEPDIR)/run-export.Po \
225 ./$(DEPDIR)/run-genkey.Po ./$(DEPDIR)/run-identify.Po \
226 ./$(DEPDIR)/run-import.Po ./$(DEPDIR)/run-keylist.Po \
227 ./$(DEPDIR)/run-keysign.Po ./$(DEPDIR)/run-sign.Po \
228 ./$(DEPDIR)/run-swdb.Po ./$(DEPDIR)/run-threaded.Po \
229 ./$(DEPDIR)/run-tofu.Po ./$(DEPDIR)/run-verify.Po \
230 ./$(DEPDIR)/t-data.Po ./$(DEPDIR)/t-engine-info.Po \
231 ./$(DEPDIR)/t-version.Po
232 am__mv = mv -f
233 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
234 $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
235 LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
236 $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
237 $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
238 $(AM_CFLAGS) $(CFLAGS)
239 AM_V_CC = $(am__v_CC_@AM_V@)
240 am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
241 am__v_CC_0 = @echo " CC " $@;
242 am__v_CC_1 =
243 CCLD = $(CC)
244 LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
245 $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
246 $(AM_LDFLAGS) $(LDFLAGS) -o $@
247 AM_V_CCLD = $(am__v_CCLD_@AM_V@)
248 am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
249 am__v_CCLD_0 = @echo " CCLD " $@;
250 am__v_CCLD_1 =
251 SOURCES = run-decrypt.c run-encrypt.c run-export.c run-genkey.c \
252 run-identify.c run-import.c run-keylist.c run-keysign.c \
253 run-sign.c run-swdb.c run-threaded.c run-tofu.c run-verify.c \
254 t-data.c t-engine-info.c t-version.c
255 DIST_SOURCES = run-decrypt.c run-encrypt.c run-export.c run-genkey.c \
256 run-identify.c run-import.c run-keylist.c run-keysign.c \
257 run-sign.c run-swdb.c run-threaded.c run-tofu.c run-verify.c \
258 t-data.c t-engine-info.c t-version.c
259 RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
260 ctags-recursive dvi-recursive html-recursive info-recursive \
261 install-data-recursive install-dvi-recursive \
262 install-exec-recursive install-html-recursive \
263 install-info-recursive install-pdf-recursive \
264 install-ps-recursive install-recursive installcheck-recursive \
265 installdirs-recursive pdf-recursive ps-recursive \
266 tags-recursive uninstall-recursive
267 am__can_run_installinfo = \
268 case $$AM_UPDATE_INFO_DIR in \
269 n|no|NO) false;; \
270 *) (install-info --version) >/dev/null 2>&1;; \
271 esac
272 HEADERS = $(noinst_HEADERS)
273 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
274 distclean-recursive maintainer-clean-recursive
275 am__recursive_targets = \
276 $(RECURSIVE_TARGETS) \
277 $(RECURSIVE_CLEAN_TARGETS) \
278 $(am__extra_recursive_targets)
279 AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
280 distdir distdir-am
281 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
282 # Read a list of newline-separated strings from the standard input,
283 # and print each of them once, without duplicates. Input order is
284 # *not* preserved.
285 am__uniquify_input = $(AWK) '\
286 BEGIN { nonempty = 0; } \
287 { items[$$0] = 1; nonempty = 1; } \
288 END { if (nonempty) { for (i in items) print i; }; } \
289 '
290 # Make sure the list of sources is unique. This is necessary because,
291 # e.g., the same source file might be shared among _SOURCES variables
292 # for different programs/libraries.
293 am__define_uniq_tagged_files = \
294 list='$(am__tagged_files)'; \
295 unique=`for i in $$list; do \
296 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
297 done | $(am__uniquify_input)`
298 am__tty_colors_dummy = \
299 mgn= red= grn= lgn= blu= brg= std=; \
300 am__color_tests=no
301 am__tty_colors = { \
302 $(am__tty_colors_dummy); \
303 if test "X$(AM_COLOR_TESTS)" = Xno; then \
304 am__color_tests=no; \
305 elif test "X$(AM_COLOR_TESTS)" = Xalways; then \
306 am__color_tests=yes; \
307 elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \
308 am__color_tests=yes; \
309 fi; \
310 if test $$am__color_tests = yes; then \
311 red=''; \
312 grn=''; \
313 lgn=''; \
314 blu=''; \
315 mgn=''; \
316 brg=''; \
317 std=''; \
318 fi; \
319 }
320 DIST_SUBDIRS = gpg json gpgsm opassuan
321 am__DIST_COMMON = $(srcdir)/Makefile.in \
322 $(top_srcdir)/build-aux/depcomp \
323 $(top_srcdir)/build-aux/mkinstalldirs
324 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
325 am__relativize = \
326 dir0=`pwd`; \
327 sed_first='s,^\([^/]*\)/.*$$,\1,'; \
328 sed_rest='s,^[^/]*/*,,'; \
329 sed_last='s,^.*/\([^/]*\)$$,\1,'; \
330 sed_butlast='s,/*[^/]*$$,,'; \
331 while test -n "$$dir1"; do \
332 first=`echo "$$dir1" | sed -e "$$sed_first"`; \
333 if test "$$first" != "."; then \
334 if test "$$first" = ".."; then \
335 dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
336 dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
337 else \
338 first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
339 if test "$$first2" = "$$first"; then \
340 dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
341 else \
342 dir2="../$$dir2"; \
343 fi; \
344 dir0="$$dir0"/"$$first"; \
345 fi; \
346 fi; \
347 dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
348 done; \
349 reldir="$$dir2"
350 ACLOCAL = @ACLOCAL@
351 AMTAR = @AMTAR@
352 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
353 AR = @AR@
354 AS = @AS@
355 AUTOCONF = @AUTOCONF@
356 AUTOHEADER = @AUTOHEADER@
357 AUTOMAKE = @AUTOMAKE@
358 AWK = @AWK@
359 BUILD_FILEVERSION = @BUILD_FILEVERSION@
360 BUILD_REVISION = @BUILD_REVISION@
361 BUILD_TIMESTAMP = @BUILD_TIMESTAMP@
362 BUILD_VERSION = @BUILD_VERSION@
363 CC = @CC@
364 CCDEPMODE = @CCDEPMODE@
365 CC_FOR_BUILD = @CC_FOR_BUILD@
366 CFLAGS = @CFLAGS@
367 CPP = @CPP@
368 CPPFLAGS = @CPPFLAGS@
369 CSCOPE = @CSCOPE@
370 CTAGS = @CTAGS@
371 CXX = @CXX@
372 CXXCPP = @CXXCPP@
373 CXXDEPMODE = @CXXDEPMODE@
374 CXXFLAGS = @CXXFLAGS@
375 CYGPATH_W = @CYGPATH_W@
376 DEFS = @DEFS@
377 DEPDIR = @DEPDIR@
378 DLLTOOL = @DLLTOOL@
379 DOXYGEN = @DOXYGEN@
380 DSYMUTIL = @DSYMUTIL@
381 DUMPBIN = @DUMPBIN@
382 ECHO_C = @ECHO_C@
383 ECHO_N = @ECHO_N@
384 ECHO_T = @ECHO_T@
385 EGREP = @EGREP@
386 ENABLED_LANGUAGES = @ENABLED_LANGUAGES@
387 ETAGS = @ETAGS@
388 EXEEXT = @EXEEXT@
389 FGREP = @FGREP@
390 GITLOG_TO_CHANGELOG = @GITLOG_TO_CHANGELOG@
391 GLIBC21 = @GLIBC21@
392 GLIB_CFLAGS = @GLIB_CFLAGS@
393 GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
394 GLIB_LIBS = @GLIB_LIBS@
395 GLIB_MKENUMS = @GLIB_MKENUMS@
396 GOBJECT_QUERY = @GOBJECT_QUERY@
397 GPGME_CONFIG_API_VERSION = @GPGME_CONFIG_API_VERSION@
398 GPGME_CONFIG_AVAIL_LANG = @GPGME_CONFIG_AVAIL_LANG@
399 GPGME_CONFIG_CFLAGS = @GPGME_CONFIG_CFLAGS@
400 GPGME_CONFIG_HOST = @GPGME_CONFIG_HOST@
401 GPGME_CONFIG_LIBS = @GPGME_CONFIG_LIBS@
402 GPGME_QTTEST_CFLAGS = @GPGME_QTTEST_CFLAGS@
403 GPGME_QTTEST_LIBS = @GPGME_QTTEST_LIBS@
404 GPGME_QT_CFLAGS = @GPGME_QT_CFLAGS@
405 GPGME_QT_LIBS = @GPGME_QT_LIBS@
406 GPGRT_CONFIG = @GPGRT_CONFIG@
407 GPG_ERROR_CFLAGS = @GPG_ERROR_CFLAGS@
408 GPG_ERROR_CONFIG = @GPG_ERROR_CONFIG@
409 GPG_ERROR_LIBS = @GPG_ERROR_LIBS@
410 GPG_ERROR_MT_CFLAGS = @GPG_ERROR_MT_CFLAGS@
411 GPG_ERROR_MT_LIBS = @GPG_ERROR_MT_LIBS@
412 GRAPHVIZ = @GRAPHVIZ@
413 GREP = @GREP@
414 HAVE_CXX11 = @HAVE_CXX11@
415 HAVE_DOT = @HAVE_DOT@
416 INSTALL = @INSTALL@
417 INSTALL_DATA = @INSTALL_DATA@
418 INSTALL_PROGRAM = @INSTALL_PROGRAM@
419 INSTALL_SCRIPT = @INSTALL_SCRIPT@
420 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
421 LD = @LD@
422 LDADD_FOR_TESTS_KLUDGE = @LDADD_FOR_TESTS_KLUDGE@
423 LDFLAGS = @LDFLAGS@
424 LIBASSUAN_CFLAGS = @LIBASSUAN_CFLAGS@
425 LIBASSUAN_CONFIG = @LIBASSUAN_CONFIG@
426 LIBASSUAN_LIBS = @LIBASSUAN_LIBS@
427 LIBGPGMEPP_LT_AGE = @LIBGPGMEPP_LT_AGE@
428 LIBGPGMEPP_LT_CURRENT = @LIBGPGMEPP_LT_CURRENT@
429 LIBGPGMEPP_LT_REVISION = @LIBGPGMEPP_LT_REVISION@
430 LIBGPGME_LT_AGE = @LIBGPGME_LT_AGE@
431 LIBGPGME_LT_CURRENT = @LIBGPGME_LT_CURRENT@
432 LIBGPGME_LT_REVISION = @LIBGPGME_LT_REVISION@
433 LIBOBJS = @LIBOBJS@
434 LIBQGPGME_LT_AGE = @LIBQGPGME_LT_AGE@
435 LIBQGPGME_LT_CURRENT = @LIBQGPGME_LT_CURRENT@
436 LIBQGPGME_LT_REVISION = @LIBQGPGME_LT_REVISION@
437 LIBS = @LIBS@
438 LIBTOOL = @LIBTOOL@
439 LIPO = @LIPO@
440 LN_S = @LN_S@
441 LTLIBOBJS = @LTLIBOBJS@
442 MAINT = @MAINT@
443 MAKEINFO = @MAKEINFO@
444 MANIFEST_TOOL = @MANIFEST_TOOL@
445 MKDIR_P = @MKDIR_P@
446 MOC = @MOC@
447 MOC2 = @MOC2@
448 NEED__FILE_OFFSET_BITS = @NEED__FILE_OFFSET_BITS@
449 NM = @NM@
450 NMEDIT = @NMEDIT@
451 OBJDUMP = @OBJDUMP@
452 OBJEXT = @OBJEXT@
453 OTOOL = @OTOOL@
454 OTOOL64 = @OTOOL64@
455 PACKAGE = @PACKAGE@
456 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
457 PACKAGE_NAME = @PACKAGE_NAME@
458 PACKAGE_STRING = @PACKAGE_STRING@
459 PACKAGE_TARNAME = @PACKAGE_TARNAME@
460 PACKAGE_URL = @PACKAGE_URL@
461 PACKAGE_VERSION = @PACKAGE_VERSION@
462 PATH_SEPARATOR = @PATH_SEPARATOR@
463 PKG_CONFIG = @PKG_CONFIG@
464 PYTHON = @PYTHON@
465 PYTHONS = @PYTHONS@
466 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
467 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
468 PYTHON_EXTRA_LDFLAGS = @PYTHON_EXTRA_LDFLAGS@
469 PYTHON_EXTRA_LIBS = @PYTHON_EXTRA_LIBS@
470 PYTHON_LDFLAGS = @PYTHON_LDFLAGS@
471 PYTHON_PLATFORM = @PYTHON_PLATFORM@
472 PYTHON_PREFIX = @PYTHON_PREFIX@
473 PYTHON_SITE_PKG = @PYTHON_SITE_PKG@
474 PYTHON_VERSION = @PYTHON_VERSION@
475 QTCHOOSER = @QTCHOOSER@
476 RANLIB = @RANLIB@
477 RC = @RC@
478 SED = @SED@
479 SET_MAKE = @SET_MAKE@
480 SHELL = @SHELL@
481 STRIP = @STRIP@
482 SWIG = @SWIG@
483 SWIG_LIB = @SWIG_LIB@
484 SYSROOT = @SYSROOT@
485 VERSION = @VERSION@
486 VERSION_MAJOR = @VERSION_MAJOR@
487 VERSION_MICRO = @VERSION_MICRO@
488 VERSION_MINOR = @VERSION_MINOR@
489 VERSION_NUMBER = @VERSION_NUMBER@
490 abs_builddir = @abs_builddir@
491 abs_srcdir = @abs_srcdir@
492 abs_top_builddir = @abs_top_builddir@
493 abs_top_srcdir = @abs_top_srcdir@
494 ac_ct_AR = @ac_ct_AR@
495 ac_ct_CC = @ac_ct_CC@
496 ac_ct_CXX = @ac_ct_CXX@
497 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
498 am__include = @am__include@
499 am__leading_dot = @am__leading_dot@
500 am__quote = @am__quote@
501 am__tar = @am__tar@
502 am__untar = @am__untar@
503 bindir = @bindir@
504 build = @build@
505 build_alias = @build_alias@
506 build_cpu = @build_cpu@
507 build_os = @build_os@
508 build_vendor = @build_vendor@
509 builddir = @builddir@
510 datadir = @datadir@
511 datarootdir = @datarootdir@
512 docdir = @docdir@
513 dvidir = @dvidir@
514 emacs_local_vars_begin = @emacs_local_vars_begin@
515 emacs_local_vars_end = @emacs_local_vars_end@
516 emacs_local_vars_read_only = @emacs_local_vars_read_only@
517 exec_prefix = @exec_prefix@
518 host = @host@
519 host_alias = @host_alias@
520 host_cpu = @host_cpu@
521 host_os = @host_os@
522 host_vendor = @host_vendor@
523 htmldir = @htmldir@
524 includedir = @includedir@
525 infodir = @infodir@
526 install_sh = @install_sh@
527 libdir = @libdir@
528 libexecdir = @libexecdir@
529 localedir = @localedir@
530 localstatedir = @localstatedir@
531 mandir = @mandir@
532 mkdir_p = @mkdir_p@
533 oldincludedir = @oldincludedir@
534 pdfdir = @pdfdir@
535 pkgpyexecdir = @pkgpyexecdir@
536 pkgpythondir = @pkgpythondir@
537 prefix = @prefix@
538 program_transform_name = @program_transform_name@
539 psdir = @psdir@
540 pyexecdir = @pyexecdir@
541 pythondir = @pythondir@
542 runstatedir = @runstatedir@
543 sbindir = @sbindir@
544 sharedstatedir = @sharedstatedir@
545 srcdir = @srcdir@
546 sysconfdir = @sysconfdir@
547 target_alias = @target_alias@
548 top_build_prefix = @top_build_prefix@
549 top_builddir = @top_builddir@
550 top_srcdir = @top_srcdir@
551 GNUPGHOME = $(abs_builddir)
552 TESTS_ENVIRONMENT = GNUPGHOME=$(GNUPGHOME)
553 EXTRA_DIST = start-stop-agent t-data-1.txt t-data-2.txt ChangeLog-2011
554 AM_CPPFLAGS = -I$(top_builddir)/src @GPG_ERROR_CFLAGS@
555 AM_LDFLAGS = -no-install
556 LDADD = ../src/libgpgme.la @GPG_ERROR_LIBS@ @LDADD_FOR_TESTS_KLUDGE@
557 noinst_HEADERS = run-support.h
558 run_threaded_LDADD = ../src/libgpgme.la -lpthread @GPG_ERROR_LIBS@ \
559 @LDADD_FOR_TESTS_KLUDGE@
560
561 @RUN_GPG_TESTS_FALSE@gpgtests =
562 @RUN_GPG_TESTS_TRUE@gpgtests = gpg json
563 @RUN_GPGSM_TESTS_FALSE@gpgsmtests =
564 @RUN_GPGSM_TESTS_TRUE@gpgsmtests = gpgsm opassuan
565 SUBDIRS = ${gpgtests} ${gpgsmtests}
566 all: all-recursive
567
568 .SUFFIXES:
569 .SUFFIXES: .c .lo .o .obj
570 $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
571 @for dep in $?; do \
572 case '$(am__configure_deps)' in \
573 *$$dep*) \
574 ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
575 && { if test -f $@; then exit 0; else break; fi; }; \
576 exit 1;; \
577 esac; \
578 done; \
579 echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/Makefile'; \
580 $(am__cd) $(top_srcdir) && \
581 $(AUTOMAKE) --gnu tests/Makefile
582 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
583 @case '$?' in \
584 *config.status*) \
585 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
586 *) \
587 echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
588 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
589 esac;
590
591 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
592 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
593
594 $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
595 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
596 $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
597 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
598 $(am__aclocal_m4_deps):
599
600 clean-noinstPROGRAMS:
601 @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \
602 echo " rm -f" $$list; \
603 rm -f $$list || exit $$?; \
604 test -n "$(EXEEXT)" || exit 0; \
605 list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
606 echo " rm -f" $$list; \
607 rm -f $$list
608
609 run-decrypt$(EXEEXT): $(run_decrypt_OBJECTS) $(run_decrypt_DEPENDENCIES) $(EXTRA_run_decrypt_DEPENDENCIES)
610 @rm -f run-decrypt$(EXEEXT)
611 $(AM_V_CCLD)$(LINK) $(run_decrypt_OBJECTS) $(run_decrypt_LDADD) $(LIBS)
612
613 run-encrypt$(EXEEXT): $(run_encrypt_OBJECTS) $(run_encrypt_DEPENDENCIES) $(EXTRA_run_encrypt_DEPENDENCIES)
614 @rm -f run-encrypt$(EXEEXT)
615 $(AM_V_CCLD)$(LINK) $(run_encrypt_OBJECTS) $(run_encrypt_LDADD) $(LIBS)
616
617 run-export$(EXEEXT): $(run_export_OBJECTS) $(run_export_DEPENDENCIES) $(EXTRA_run_export_DEPENDENCIES)
618 @rm -f run-export$(EXEEXT)
619 $(AM_V_CCLD)$(LINK) $(run_export_OBJECTS) $(run_export_LDADD) $(LIBS)
620
621 run-genkey$(EXEEXT): $(run_genkey_OBJECTS) $(run_genkey_DEPENDENCIES) $(EXTRA_run_genkey_DEPENDENCIES)
622 @rm -f run-genkey$(EXEEXT)
623 $(AM_V_CCLD)$(LINK) $(run_genkey_OBJECTS) $(run_genkey_LDADD) $(LIBS)
624
625 run-identify$(EXEEXT): $(run_identify_OBJECTS) $(run_identify_DEPENDENCIES) $(EXTRA_run_identify_DEPENDENCIES)
626 @rm -f run-identify$(EXEEXT)
627 $(AM_V_CCLD)$(LINK) $(run_identify_OBJECTS) $(run_identify_LDADD) $(LIBS)
628
629 run-import$(EXEEXT): $(run_import_OBJECTS) $(run_import_DEPENDENCIES) $(EXTRA_run_import_DEPENDENCIES)
630 @rm -f run-import$(EXEEXT)
631 $(AM_V_CCLD)$(LINK) $(run_import_OBJECTS) $(run_import_LDADD) $(LIBS)
632
633 run-keylist$(EXEEXT): $(run_keylist_OBJECTS) $(run_keylist_DEPENDENCIES) $(EXTRA_run_keylist_DEPENDENCIES)
634 @rm -f run-keylist$(EXEEXT)
635 $(AM_V_CCLD)$(LINK) $(run_keylist_OBJECTS) $(run_keylist_LDADD) $(LIBS)
636
637 run-keysign$(EXEEXT): $(run_keysign_OBJECTS) $(run_keysign_DEPENDENCIES) $(EXTRA_run_keysign_DEPENDENCIES)
638 @rm -f run-keysign$(EXEEXT)
639 $(AM_V_CCLD)$(LINK) $(run_keysign_OBJECTS) $(run_keysign_LDADD) $(LIBS)
640
641 run-sign$(EXEEXT): $(run_sign_OBJECTS) $(run_sign_DEPENDENCIES) $(EXTRA_run_sign_DEPENDENCIES)
642 @rm -f run-sign$(EXEEXT)
643 $(AM_V_CCLD)$(LINK) $(run_sign_OBJECTS) $(run_sign_LDADD) $(LIBS)
644
645 run-swdb$(EXEEXT): $(run_swdb_OBJECTS) $(run_swdb_DEPENDENCIES) $(EXTRA_run_swdb_DEPENDENCIES)
646 @rm -f run-swdb$(EXEEXT)
647 $(AM_V_CCLD)$(LINK) $(run_swdb_OBJECTS) $(run_swdb_LDADD) $(LIBS)
648
649 run-threaded$(EXEEXT): $(run_threaded_OBJECTS) $(run_threaded_DEPENDENCIES) $(EXTRA_run_threaded_DEPENDENCIES)
650 @rm -f run-threaded$(EXEEXT)
651 $(AM_V_CCLD)$(LINK) $(run_threaded_OBJECTS) $(run_threaded_LDADD) $(LIBS)
652
653 run-tofu$(EXEEXT): $(run_tofu_OBJECTS) $(run_tofu_DEPENDENCIES) $(EXTRA_run_tofu_DEPENDENCIES)
654 @rm -f run-tofu$(EXEEXT)
655 $(AM_V_CCLD)$(LINK) $(run_tofu_OBJECTS) $(run_tofu_LDADD) $(LIBS)
656
657 run-verify$(EXEEXT): $(run_verify_OBJECTS) $(run_verify_DEPENDENCIES) $(EXTRA_run_verify_DEPENDENCIES)
658 @rm -f run-verify$(EXEEXT)
659 $(AM_V_CCLD)$(LINK) $(run_verify_OBJECTS) $(run_verify_LDADD) $(LIBS)
660
661 t-data$(EXEEXT): $(t_data_OBJECTS) $(t_data_DEPENDENCIES) $(EXTRA_t_data_DEPENDENCIES)
662 @rm -f t-data$(EXEEXT)
663 $(AM_V_CCLD)$(LINK) $(t_data_OBJECTS) $(t_data_LDADD) $(LIBS)
664
665 t-engine-info$(EXEEXT): $(t_engine_info_OBJECTS) $(t_engine_info_DEPENDENCIES) $(EXTRA_t_engine_info_DEPENDENCIES)
666 @rm -f t-engine-info$(EXEEXT)
667 $(AM_V_CCLD)$(LINK) $(t_engine_info_OBJECTS) $(t_engine_info_LDADD) $(LIBS)
668
669 t-version$(EXEEXT): $(t_version_OBJECTS) $(t_version_DEPENDENCIES) $(EXTRA_t_version_DEPENDENCIES)
670 @rm -f t-version$(EXEEXT)
671 $(AM_V_CCLD)$(LINK) $(t_version_OBJECTS) $(t_version_LDADD) $(LIBS)
672
673 mostlyclean-compile:
674 -rm -f *.$(OBJEXT)
675
676 distclean-compile:
677 -rm -f *.tab.c
678
679 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/run-decrypt.Po@am__quote@ # am--include-marker
680 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/run-encrypt.Po@am__quote@ # am--include-marker
681 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/run-export.Po@am__quote@ # am--include-marker
682 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/run-genkey.Po@am__quote@ # am--include-marker
683 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/run-identify.Po@am__quote@ # am--include-marker
684 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/run-import.Po@am__quote@ # am--include-marker
685 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/run-keylist.Po@am__quote@ # am--include-marker
686 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/run-keysign.Po@am__quote@ # am--include-marker
687 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/run-sign.Po@am__quote@ # am--include-marker
688 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/run-swdb.Po@am__quote@ # am--include-marker
689 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/run-threaded.Po@am__quote@ # am--include-marker
690 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/run-tofu.Po@am__quote@ # am--include-marker
691 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/run-verify.Po@am__quote@ # am--include-marker
692 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t-data.Po@am__quote@ # am--include-marker
693 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t-engine-info.Po@am__quote@ # am--include-marker
694 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t-version.Po@am__quote@ # am--include-marker
695
696 $(am__depfiles_remade):
697 @$(MKDIR_P) $(@D)
698 @echo '# dummy' >$@-t && $(am__mv) $@-t $@
699
700 am--depfiles: $(am__depfiles_remade)
701
702 .c.o:
703 @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
704 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
705 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
706 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
707 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
708
709 .c.obj:
710 @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
711 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
712 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
713 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
714 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
715
716 .c.lo:
717 @am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
718 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
719 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
720 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
721 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
722
723 mostlyclean-libtool:
724 -rm -f *.lo
725
726 clean-libtool:
727 -rm -rf .libs _libs
728
729 # This directory's subdirectories are mostly independent; you can cd
730 # into them and run 'make' without going through this Makefile.
731 # To change the values of 'make' variables: instead of editing Makefiles,
732 # (1) if the variable is set in 'config.status', edit 'config.status'
733 # (which will cause the Makefiles to be regenerated when you run 'make');
734 # (2) otherwise, pass the desired values on the 'make' command line.
735 $(am__recursive_targets):
736 @fail=; \
737 if $(am__make_keepgoing); then \
738 failcom='fail=yes'; \
739 else \
740 failcom='exit 1'; \
741 fi; \
742 dot_seen=no; \
743 target=`echo $@ | sed s/-recursive//`; \
744 case "$@" in \
745 distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
746 *) list='$(SUBDIRS)' ;; \
747 esac; \
748 for subdir in $$list; do \
749 echo "Making $$target in $$subdir"; \
750 if test "$$subdir" = "."; then \
751 dot_seen=yes; \
752 local_target="$$target-am"; \
753 else \
754 local_target="$$target"; \
755 fi; \
756 ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
757 || eval $$failcom; \
758 done; \
759 if test "$$dot_seen" = "no"; then \
760 $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
761 fi; test -z "$$fail"
762
763 ID: $(am__tagged_files)
764 $(am__define_uniq_tagged_files); mkid -fID $$unique
765 tags: tags-recursive
766 TAGS: tags
767
768 tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
769 set x; \
770 here=`pwd`; \
771 if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
772 include_option=--etags-include; \
773 empty_fix=.; \
774 else \
775 include_option=--include; \
776 empty_fix=; \
777 fi; \
778 list='$(SUBDIRS)'; for subdir in $$list; do \
779 if test "$$subdir" = .; then :; else \
780 test ! -f $$subdir/TAGS || \
781 set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
782 fi; \
783 done; \
784 $(am__define_uniq_tagged_files); \
785 shift; \
786 if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
787 test -n "$$unique" || unique=$$empty_fix; \
788 if test $$# -gt 0; then \
789 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
790 "$$@" $$unique; \
791 else \
792 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
793 $$unique; \
794 fi; \
795 fi
796 ctags: ctags-recursive
797
798 CTAGS: ctags
799 ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
800 $(am__define_uniq_tagged_files); \
801 test -z "$(CTAGS_ARGS)$$unique" \
802 || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
803 $$unique
804
805 GTAGS:
806 here=`$(am__cd) $(top_builddir) && pwd` \
807 && $(am__cd) $(top_srcdir) \
808 && gtags -i $(GTAGS_ARGS) "$$here"
809 cscopelist: cscopelist-recursive
810
811 cscopelist-am: $(am__tagged_files)
812 list='$(am__tagged_files)'; \
813 case "$(srcdir)" in \
814 [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
815 *) sdir=$(subdir)/$(srcdir) ;; \
816 esac; \
817 for i in $$list; do \
818 if test -f "$$i"; then \
819 echo "$(subdir)/$$i"; \
820 else \
821 echo "$$sdir/$$i"; \
822 fi; \
823 done >> $(top_builddir)/cscope.files
824
825 distclean-tags:
826 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
827
828 check-TESTS: $(TESTS)
829 @failed=0; all=0; xfail=0; xpass=0; skip=0; \
830 srcdir=$(srcdir); export srcdir; \
831 list=' $(TESTS) '; \
832 $(am__tty_colors); \
833 if test -n "$$list"; then \
834 for tst in $$list; do \
835 if test -f ./$$tst; then dir=./; \
836 elif test -f $$tst; then dir=; \
837 else dir="$(srcdir)/"; fi; \
838 if $(TESTS_ENVIRONMENT) $${dir}$$tst $(AM_TESTS_FD_REDIRECT); then \
839 all=`expr $$all + 1`; \
840 case " $(XFAIL_TESTS) " in \
841 *[\ \ ]$$tst[\ \ ]*) \
842 xpass=`expr $$xpass + 1`; \
843 failed=`expr $$failed + 1`; \
844 col=$$red; res=XPASS; \
845 ;; \
846 *) \
847 col=$$grn; res=PASS; \
848 ;; \
849 esac; \
850 elif test $$? -ne 77; then \
851 all=`expr $$all + 1`; \
852 case " $(XFAIL_TESTS) " in \
853 *[\ \ ]$$tst[\ \ ]*) \
854 xfail=`expr $$xfail + 1`; \
855 col=$$lgn; res=XFAIL; \
856 ;; \
857 *) \
858 failed=`expr $$failed + 1`; \
859 col=$$red; res=FAIL; \
860 ;; \
861 esac; \
862 else \
863 skip=`expr $$skip + 1`; \
864 col=$$blu; res=SKIP; \
865 fi; \
866 echo "$${col}$$res$${std}: $$tst"; \
867 done; \
868 if test "$$all" -eq 1; then \
869 tests="test"; \
870 All=""; \
871 else \
872 tests="tests"; \
873 All="All "; \
874 fi; \
875 if test "$$failed" -eq 0; then \
876 if test "$$xfail" -eq 0; then \
877 banner="$$All$$all $$tests passed"; \
878 else \
879 if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \
880 banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \
881 fi; \
882 else \
883 if test "$$xpass" -eq 0; then \
884 banner="$$failed of $$all $$tests failed"; \
885 else \
886 if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \
887 banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \
888 fi; \
889 fi; \
890 dashes="$$banner"; \
891 skipped=""; \
892 if test "$$skip" -ne 0; then \
893 if test "$$skip" -eq 1; then \
894 skipped="($$skip test was not run)"; \
895 else \
896 skipped="($$skip tests were not run)"; \
897 fi; \
898 test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
899 dashes="$$skipped"; \
900 fi; \
901 report=""; \
902 if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \
903 report="Please report to $(PACKAGE_BUGREPORT)"; \
904 test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \
905 dashes="$$report"; \
906 fi; \
907 dashes=`echo "$$dashes" | sed s/./=/g`; \
908 if test "$$failed" -eq 0; then \
909 col="$$grn"; \
910 else \
911 col="$$red"; \
912 fi; \
913 echo "$${col}$$dashes$${std}"; \
914 echo "$${col}$$banner$${std}"; \
915 test -z "$$skipped" || echo "$${col}$$skipped$${std}"; \
916 test -z "$$report" || echo "$${col}$$report$${std}"; \
917 echo "$${col}$$dashes$${std}"; \
918 test "$$failed" -eq 0; \
919 else :; fi
920 distdir: $(BUILT_SOURCES)
921 $(MAKE) $(AM_MAKEFLAGS) distdir-am
922
923 distdir-am: $(DISTFILES)
924 @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
925 topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
926 list='$(DISTFILES)'; \
927 dist_files=`for file in $$list; do echo $$file; done | \
928 sed -e "s|^$$srcdirstrip/||;t" \
929 -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
930 case $$dist_files in \
931 */*) $(MKDIR_P) `echo "$$dist_files" | \
932 sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
933 sort -u` ;; \
934 esac; \
935 for file in $$dist_files; do \
936 if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
937 if test -d $$d/$$file; then \
938 dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
939 if test -d "$(distdir)/$$file"; then \
940 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
941 fi; \
942 if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
943 cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
944 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
945 fi; \
946 cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
947 else \
948 test -f "$(distdir)/$$file" \
949 || cp -p $$d/$$file "$(distdir)/$$file" \
950 || exit 1; \
951 fi; \
952 done
953 @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
954 if test "$$subdir" = .; then :; else \
955 $(am__make_dryrun) \
956 || test -d "$(distdir)/$$subdir" \
957 || $(MKDIR_P) "$(distdir)/$$subdir" \
958 || exit 1; \
959 dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
960 $(am__relativize); \
961 new_distdir=$$reldir; \
962 dir1=$$subdir; dir2="$(top_distdir)"; \
963 $(am__relativize); \
964 new_top_distdir=$$reldir; \
965 echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
966 echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
967 ($(am__cd) $$subdir && \
968 $(MAKE) $(AM_MAKEFLAGS) \
969 top_distdir="$$new_top_distdir" \
970 distdir="$$new_distdir" \
971 am__remove_distdir=: \
972 am__skip_length_check=: \
973 am__skip_mode_fix=: \
974 distdir) \
975 || exit 1; \
976 fi; \
977 done
978 check-am: all-am
979 $(MAKE) $(AM_MAKEFLAGS) check-TESTS
980 check: check-recursive
981 all-am: Makefile $(PROGRAMS) $(HEADERS)
982 installdirs: installdirs-recursive
983 installdirs-am:
984 install: install-recursive
985 install-exec: install-exec-recursive
986 install-data: install-data-recursive
987 uninstall: uninstall-recursive
988
989 install-am: all-am
990 @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
991
992 installcheck: installcheck-recursive
993 install-strip:
994 if test -z '$(STRIP)'; then \
995 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
996 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
997 install; \
998 else \
999 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
1000 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
1001 "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
1002 fi
1003 mostlyclean-generic:
1004
1005 clean-generic:
1006
1007 distclean-generic:
1008 -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
1009 -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
1010
1011 maintainer-clean-generic:
1012 @echo "This command is intended for maintainers to use"
1013 @echo "it deletes files that may require special tools to rebuild."
1014 clean: clean-recursive
1015
1016 clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \
1017 mostlyclean-am
1018
1019 distclean: distclean-recursive
1020 -rm -f ./$(DEPDIR)/run-decrypt.Po
1021 -rm -f ./$(DEPDIR)/run-encrypt.Po
1022 -rm -f ./$(DEPDIR)/run-export.Po
1023 -rm -f ./$(DEPDIR)/run-genkey.Po
1024 -rm -f ./$(DEPDIR)/run-identify.Po
1025 -rm -f ./$(DEPDIR)/run-import.Po
1026 -rm -f ./$(DEPDIR)/run-keylist.Po
1027 -rm -f ./$(DEPDIR)/run-keysign.Po
1028 -rm -f ./$(DEPDIR)/run-sign.Po
1029 -rm -f ./$(DEPDIR)/run-swdb.Po
1030 -rm -f ./$(DEPDIR)/run-threaded.Po
1031 -rm -f ./$(DEPDIR)/run-tofu.Po
1032 -rm -f ./$(DEPDIR)/run-verify.Po
1033 -rm -f ./$(DEPDIR)/t-data.Po
1034 -rm -f ./$(DEPDIR)/t-engine-info.Po
1035 -rm -f ./$(DEPDIR)/t-version.Po
1036 -rm -f Makefile
1037 distclean-am: clean-am distclean-compile distclean-generic \
1038 distclean-tags
1039
1040 dvi: dvi-recursive
1041
1042 dvi-am:
1043
1044 html: html-recursive
1045
1046 html-am:
1047
1048 info: info-recursive
1049
1050 info-am:
1051
1052 install-data-am:
1053
1054 install-dvi: install-dvi-recursive
1055
1056 install-dvi-am:
1057
1058 install-exec-am:
1059
1060 install-html: install-html-recursive
1061
1062 install-html-am:
1063
1064 install-info: install-info-recursive
1065
1066 install-info-am:
1067
1068 install-man:
1069
1070 install-pdf: install-pdf-recursive
1071
1072 install-pdf-am:
1073
1074 install-ps: install-ps-recursive
1075
1076 install-ps-am:
1077
1078 installcheck-am:
1079
1080 maintainer-clean: maintainer-clean-recursive
1081 -rm -f ./$(DEPDIR)/run-decrypt.Po
1082 -rm -f ./$(DEPDIR)/run-encrypt.Po
1083 -rm -f ./$(DEPDIR)/run-export.Po
1084 -rm -f ./$(DEPDIR)/run-genkey.Po
1085 -rm -f ./$(DEPDIR)/run-identify.Po
1086 -rm -f ./$(DEPDIR)/run-import.Po
1087 -rm -f ./$(DEPDIR)/run-keylist.Po
1088 -rm -f ./$(DEPDIR)/run-keysign.Po
1089 -rm -f ./$(DEPDIR)/run-sign.Po
1090 -rm -f ./$(DEPDIR)/run-swdb.Po
1091 -rm -f ./$(DEPDIR)/run-threaded.Po
1092 -rm -f ./$(DEPDIR)/run-tofu.Po
1093 -rm -f ./$(DEPDIR)/run-verify.Po
1094 -rm -f ./$(DEPDIR)/t-data.Po
1095 -rm -f ./$(DEPDIR)/t-engine-info.Po
1096 -rm -f ./$(DEPDIR)/t-version.Po
1097 -rm -f Makefile
1098 maintainer-clean-am: distclean-am maintainer-clean-generic
1099
1100 mostlyclean: mostlyclean-recursive
1101
1102 mostlyclean-am: mostlyclean-compile mostlyclean-generic \
1103 mostlyclean-libtool
1104
1105 pdf: pdf-recursive
1106
1107 pdf-am:
1108
1109 ps: ps-recursive
1110
1111 ps-am:
1112
1113 uninstall-am:
1114
1115 .MAKE: $(am__recursive_targets) check-am install-am install-strip
1116
1117 .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \
1118 am--depfiles check check-TESTS check-am clean clean-generic \
1119 clean-libtool clean-noinstPROGRAMS cscopelist-am ctags \
1120 ctags-am distclean distclean-compile distclean-generic \
1121 distclean-libtool distclean-tags distdir dvi dvi-am html \
1122 html-am info info-am install install-am install-data \
1123 install-data-am install-dvi install-dvi-am install-exec \
1124 install-exec-am install-html install-html-am install-info \
1125 install-info-am install-man install-pdf install-pdf-am \
1126 install-ps install-ps-am install-strip installcheck \
1127 installcheck-am installdirs installdirs-am maintainer-clean \
1128 maintainer-clean-generic mostlyclean mostlyclean-compile \
1129 mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
1130 tags tags-am uninstall uninstall-am
1131
1132 .PRECIOUS: Makefile
1133
1134
1135 # Tell versions [3.59,3.63) of GNU make to not export all variables.
1136 # Otherwise a system limit (for SysV at least) may be exceeded.
1137 .NOEXPORT:
3737 c_tests = \
3838 t-encrypt t-encrypt-sym t-encrypt-sign t-sign t-signers \
3939 t-decrypt t-verify t-decrypt-verify t-sig-notation t-export \
40 t-import t-edit t-keylist t-keylist-sig t-keylist-secret-sig t-wait \
41 t-encrypt-large t-file-name t-gpgconf t-encrypt-mixed t-edit-sign \
40 t-import t-edit t-keylist t-keylist-sig t-keylist-secret-sig t-wait \
41 t-encrypt-large t-file-name t-gpgconf t-encrypt-mixed t-edit-sign \
4242 $(tests_unix)
4343
4444 TESTS = initial.test $(c_tests) final.test
5959 EXTRA_DIST = initial.test final.test \
6060 pubdemo.asc secdemo.asc cipher-1.asc cipher-2.asc \
6161 cipher-3.asc cipher-no-sig.asc \
62 geheim.txt pubkey-1.asc seckey-1.asc pinentry $(private_keys)
62 geheim.txt pubkey-1.asc seckey-1.asc pinentry $(private_keys) \
63 gpg.conf.in
6364
6465 BUILT_SOURCES = gpg.conf gpg-agent.conf pubring-stamp \
6566 gpg-sample.stamp
100101 --import $(srcdir)/secdemo.asc
101102 echo x > ./pubring-stamp
102103
103 gpg.conf:
104 # This is required for t-sig-notations.
105 echo no-force-v3-sigs > ./gpg.conf
106 # This is required for t-edit-sign.
107 echo allow-weak-key-signatures >> ./gpg.conf
104 gpg.conf: $(srcdir)/gpg.conf.in
105 cp $(srcdir)/gpg.conf.in gpg.conf
108106
109107 gpg-agent.conf:
110108 # This is required for gpg2, which does not support command fd for the
0 # Makefile.in generated by automake 1.16.4 from Makefile.am.
1 # @configure_input@
2
3 # Copyright (C) 1994-2021 Free Software Foundation, Inc.
4
5 # This Makefile.in is free software; the Free Software Foundation
6 # gives unlimited permission to copy and/or distribute it,
7 # with or without modifications, as long as this notice is preserved.
8
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
11 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
12 # PARTICULAR PURPOSE.
13
14 @SET_MAKE@
15
16 # Copyright (C) 2000 Werner Koch (dd9jn)
17 # Copyright (C) 2001, 2004, 2005, 2009 g10 Code GmbH
18 #
19 # This file is part of GPGME.
20 #
21 # GPGME is free software; you can redistribute it and/or modify it
22 # under the terms of the GNU Lesser General Public License as
23 # published by the Free Software Foundation; either version 2.1 of the
24 # License, or (at your option) any later version.
25 #
26 # GPGME is distributed in the hope that it will be useful, but WITHOUT
27 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
28 # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General
29 # Public License for more details.
30 #
31 # You should have received a copy of the GNU Lesser General Public
32 # License along with this program; if not, see <https://gnu.org/licenses/>.
33 # SPDX-License-Identifier: LGPL-2.1-or-later
34
35
36 VPATH = @srcdir@
37 am__is_gnu_make = { \
38 if test -z '$(MAKELEVEL)'; then \
39 false; \
40 elif test -n '$(MAKE_HOST)'; then \
41 true; \
42 elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
43 true; \
44 else \
45 false; \
46 fi; \
47 }
48 am__make_running_with_option = \
49 case $${target_option-} in \
50 ?) ;; \
51 *) echo "am__make_running_with_option: internal error: invalid" \
52 "target option '$${target_option-}' specified" >&2; \
53 exit 1;; \
54 esac; \
55 has_opt=no; \
56 sane_makeflags=$$MAKEFLAGS; \
57 if $(am__is_gnu_make); then \
58 sane_makeflags=$$MFLAGS; \
59 else \
60 case $$MAKEFLAGS in \
61 *\\[\ \ ]*) \
62 bs=\\; \
63 sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
64 | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
65 esac; \
66 fi; \
67 skip_next=no; \
68 strip_trailopt () \
69 { \
70 flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
71 }; \
72 for flg in $$sane_makeflags; do \
73 test $$skip_next = yes && { skip_next=no; continue; }; \
74 case $$flg in \
75 *=*|--*) continue;; \
76 -*I) strip_trailopt 'I'; skip_next=yes;; \
77 -*I?*) strip_trailopt 'I';; \
78 -*O) strip_trailopt 'O'; skip_next=yes;; \
79 -*O?*) strip_trailopt 'O';; \
80 -*l) strip_trailopt 'l'; skip_next=yes;; \
81 -*l?*) strip_trailopt 'l';; \
82 -[dEDm]) skip_next=yes;; \
83 -[JT]) skip_next=yes;; \
84 esac; \
85 case $$flg in \
86 *$$target_option*) has_opt=yes; break;; \
87 esac; \
88 done; \
89 test $$has_opt = yes
90 am__make_dryrun = (target_option=n; $(am__make_running_with_option))
91 am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
92 pkgdatadir = $(datadir)/@PACKAGE@
93 pkgincludedir = $(includedir)/@PACKAGE@
94 pkglibdir = $(libdir)/@PACKAGE@
95 pkglibexecdir = $(libexecdir)/@PACKAGE@
96 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
97 install_sh_DATA = $(install_sh) -c -m 644
98 install_sh_PROGRAM = $(install_sh) -c
99 install_sh_SCRIPT = $(install_sh) -c
100 INSTALL_HEADER = $(INSTALL_DATA)
101 transform = $(program_transform_name)
102 NORMAL_INSTALL = :
103 PRE_INSTALL = :
104 POST_INSTALL = :
105 NORMAL_UNINSTALL = :
106 PRE_UNINSTALL = :
107 POST_UNINSTALL = :
108 build_triplet = @build@
109 host_triplet = @host@
110 TESTS = initial.test $(am__EXEEXT_2) final.test
111 @HAVE_W32_SYSTEM_FALSE@am__append_1 = t-cancel
112 noinst_PROGRAMS = $(am__EXEEXT_2) $(am__EXEEXT_4)
113 subdir = tests/gpg
114 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
115 am__aclocal_m4_deps = $(top_srcdir)/m4/ax_cxx_compile_stdcxx.m4 \
116 $(top_srcdir)/m4/ax_pkg_swig.m4 \
117 $(top_srcdir)/m4/ax_python_devel.m4 \
118 $(top_srcdir)/m4/glib-2.0.m4 $(top_srcdir)/m4/glibc21.m4 \
119 $(top_srcdir)/m4/gnupg-ttyname.m4 \
120 $(top_srcdir)/m4/gpg-error.m4 $(top_srcdir)/m4/libassuan.m4 \
121 $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
122 $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
123 $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/pkg.m4 \
124 $(top_srcdir)/m4/python.m4 $(top_srcdir)/m4/qt.m4 \
125 $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
126 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
127 $(ACLOCAL_M4)
128 DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
129 $(am__DIST_COMMON)
130 mkinstalldirs = $(SHELL) $(top_srcdir)/build-aux/mkinstalldirs
131 CONFIG_HEADER = $(top_builddir)/conf/config.h
132 CONFIG_CLEAN_FILES =
133 CONFIG_CLEAN_VPATH_FILES =
134 @HAVE_W32_SYSTEM_FALSE@am__EXEEXT_1 = t-eventloop$(EXEEXT) \
135 @HAVE_W32_SYSTEM_FALSE@ t-thread1$(EXEEXT) \
136 @HAVE_W32_SYSTEM_FALSE@ t-thread-keylist$(EXEEXT) \
137 @HAVE_W32_SYSTEM_FALSE@ t-thread-keylist-verify$(EXEEXT)
138 am__EXEEXT_2 = t-encrypt$(EXEEXT) t-encrypt-sym$(EXEEXT) \
139 t-encrypt-sign$(EXEEXT) t-sign$(EXEEXT) t-signers$(EXEEXT) \
140 t-decrypt$(EXEEXT) t-verify$(EXEEXT) t-decrypt-verify$(EXEEXT) \
141 t-sig-notation$(EXEEXT) t-export$(EXEEXT) t-import$(EXEEXT) \
142 t-edit$(EXEEXT) t-keylist$(EXEEXT) t-keylist-sig$(EXEEXT) \
143 t-keylist-secret-sig$(EXEEXT) t-wait$(EXEEXT) \
144 t-encrypt-large$(EXEEXT) t-file-name$(EXEEXT) \
145 t-gpgconf$(EXEEXT) t-encrypt-mixed$(EXEEXT) \
146 t-edit-sign$(EXEEXT) $(am__EXEEXT_1)
147 @HAVE_W32_SYSTEM_FALSE@am__EXEEXT_3 = t-cancel$(EXEEXT)
148 am__EXEEXT_4 = t-genkey$(EXEEXT) $(am__EXEEXT_3)
149 PROGRAMS = $(noinst_PROGRAMS)
150 t_cancel_SOURCES = t-cancel.c
151 t_cancel_OBJECTS = t-cancel.$(OBJEXT)
152 t_cancel_DEPENDENCIES = ../../src/libgpgme.la
153 AM_V_lt = $(am__v_lt_@AM_V@)
154 am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
155 am__v_lt_0 = --silent
156 am__v_lt_1 =
157 t_decrypt_SOURCES = t-decrypt.c
158 t_decrypt_OBJECTS = t-decrypt.$(OBJEXT)
159 t_decrypt_LDADD = $(LDADD)
160 t_decrypt_DEPENDENCIES = ../../src/libgpgme.la
161 t_decrypt_verify_SOURCES = t-decrypt-verify.c
162 t_decrypt_verify_OBJECTS = t-decrypt-verify.$(OBJEXT)
163 t_decrypt_verify_LDADD = $(LDADD)
164 t_decrypt_verify_DEPENDENCIES = ../../src/libgpgme.la
165 t_edit_SOURCES = t-edit.c
166 t_edit_OBJECTS = t-edit.$(OBJEXT)
167 t_edit_LDADD = $(LDADD)
168 t_edit_DEPENDENCIES = ../../src/libgpgme.la
169 t_edit_sign_SOURCES = t-edit-sign.c
170 t_edit_sign_OBJECTS = t-edit-sign.$(OBJEXT)
171 t_edit_sign_LDADD = $(LDADD)
172 t_edit_sign_DEPENDENCIES = ../../src/libgpgme.la
173 t_encrypt_SOURCES = t-encrypt.c
174 t_encrypt_OBJECTS = t-encrypt.$(OBJEXT)
175 t_encrypt_LDADD = $(LDADD)
176 t_encrypt_DEPENDENCIES = ../../src/libgpgme.la
177 t_encrypt_large_SOURCES = t-encrypt-large.c
178 t_encrypt_large_OBJECTS = t-encrypt-large.$(OBJEXT)
179 t_encrypt_large_LDADD = $(LDADD)
180 t_encrypt_large_DEPENDENCIES = ../../src/libgpgme.la
181 t_encrypt_mixed_SOURCES = t-encrypt-mixed.c
182 t_encrypt_mixed_OBJECTS = t-encrypt-mixed.$(OBJEXT)
183 t_encrypt_mixed_LDADD = $(LDADD)
184 t_encrypt_mixed_DEPENDENCIES = ../../src/libgpgme.la
185 t_encrypt_sign_SOURCES = t-encrypt-sign.c
186 t_encrypt_sign_OBJECTS = t-encrypt-sign.$(OBJEXT)
187 t_encrypt_sign_LDADD = $(LDADD)
188 t_encrypt_sign_DEPENDENCIES = ../../src/libgpgme.la
189 t_encrypt_sym_SOURCES = t-encrypt-sym.c
190 t_encrypt_sym_OBJECTS = t-encrypt-sym.$(OBJEXT)
191 t_encrypt_sym_LDADD = $(LDADD)
192 t_encrypt_sym_DEPENDENCIES = ../../src/libgpgme.la
193 t_eventloop_SOURCES = t-eventloop.c
194 t_eventloop_OBJECTS = t-eventloop.$(OBJEXT)
195 t_eventloop_LDADD = $(LDADD)
196 t_eventloop_DEPENDENCIES = ../../src/libgpgme.la
197 t_export_SOURCES = t-export.c
198 t_export_OBJECTS = t-export.$(OBJEXT)
199 t_export_LDADD = $(LDADD)
200 t_export_DEPENDENCIES = ../../src/libgpgme.la
201 t_file_name_SOURCES = t-file-name.c
202 t_file_name_OBJECTS = t-file-name.$(OBJEXT)
203 t_file_name_LDADD = $(LDADD)
204 t_file_name_DEPENDENCIES = ../../src/libgpgme.la
205 t_genkey_SOURCES = t-genkey.c
206 t_genkey_OBJECTS = t-genkey.$(OBJEXT)
207 t_genkey_LDADD = $(LDADD)
208 t_genkey_DEPENDENCIES = ../../src/libgpgme.la
209 t_gpgconf_SOURCES = t-gpgconf.c
210 t_gpgconf_OBJECTS = t-gpgconf.$(OBJEXT)
211 t_gpgconf_LDADD = $(LDADD)
212 t_gpgconf_DEPENDENCIES = ../../src/libgpgme.la
213 t_import_SOURCES = t-import.c
214 t_import_OBJECTS = t-import.$(OBJEXT)
215 t_import_LDADD = $(LDADD)
216 t_import_DEPENDENCIES = ../../src/libgpgme.la
217 t_keylist_SOURCES = t-keylist.c
218 t_keylist_OBJECTS = t-keylist.$(OBJEXT)
219 t_keylist_LDADD = $(LDADD)
220 t_keylist_DEPENDENCIES = ../../src/libgpgme.la
221 t_keylist_secret_sig_SOURCES = t-keylist-secret-sig.c
222 t_keylist_secret_sig_OBJECTS = t-keylist-secret-sig.$(OBJEXT)
223 t_keylist_secret_sig_LDADD = $(LDADD)
224 t_keylist_secret_sig_DEPENDENCIES = ../../src/libgpgme.la
225 t_keylist_sig_SOURCES = t-keylist-sig.c
226 t_keylist_sig_OBJECTS = t-keylist-sig.$(OBJEXT)
227 t_keylist_sig_LDADD = $(LDADD)
228 t_keylist_sig_DEPENDENCIES = ../../src/libgpgme.la
229 t_sig_notation_SOURCES = t-sig-notation.c
230 t_sig_notation_OBJECTS = t-sig-notation.$(OBJEXT)
231 t_sig_notation_LDADD = $(LDADD)
232 t_sig_notation_DEPENDENCIES = ../../src/libgpgme.la
233 t_sign_SOURCES = t-sign.c
234 t_sign_OBJECTS = t-sign.$(OBJEXT)
235 t_sign_LDADD = $(LDADD)
236 t_sign_DEPENDENCIES = ../../src/libgpgme.la
237 t_signers_SOURCES = t-signers.c
238 t_signers_OBJECTS = t-signers.$(OBJEXT)
239 t_signers_LDADD = $(LDADD)
240 t_signers_DEPENDENCIES = ../../src/libgpgme.la
241 t_thread_keylist_SOURCES = t-thread-keylist.c
242 t_thread_keylist_OBJECTS = t-thread-keylist.$(OBJEXT)
243 t_thread_keylist_DEPENDENCIES = ../../src/libgpgme.la
244 t_thread_keylist_verify_SOURCES = t-thread-keylist-verify.c
245 t_thread_keylist_verify_OBJECTS = t-thread-keylist-verify.$(OBJEXT)
246 t_thread_keylist_verify_DEPENDENCIES = ../../src/libgpgme.la
247 t_thread1_SOURCES = t-thread1.c
248 t_thread1_OBJECTS = t-thread1.$(OBJEXT)
249 t_thread1_DEPENDENCIES = ../../src/libgpgme.la
250 t_verify_SOURCES = t-verify.c
251 t_verify_OBJECTS = t-verify.$(OBJEXT)
252 t_verify_LDADD = $(LDADD)
253 t_verify_DEPENDENCIES = ../../src/libgpgme.la
254 t_wait_SOURCES = t-wait.c
255 t_wait_OBJECTS = t-wait.$(OBJEXT)
256 t_wait_LDADD = $(LDADD)
257 t_wait_DEPENDENCIES = ../../src/libgpgme.la
258 AM_V_P = $(am__v_P_@AM_V@)
259 am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
260 am__v_P_0 = false
261 am__v_P_1 = :
262 AM_V_GEN = $(am__v_GEN_@AM_V@)
263 am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
264 am__v_GEN_0 = @echo " GEN " $@;
265 am__v_GEN_1 =
266 AM_V_at = $(am__v_at_@AM_V@)
267 am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
268 am__v_at_0 = @
269 am__v_at_1 =
270 DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/conf
271 depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp
272 am__maybe_remake_depfiles = depfiles
273 am__depfiles_remade = ./$(DEPDIR)/t-cancel.Po \
274 ./$(DEPDIR)/t-decrypt-verify.Po ./$(DEPDIR)/t-decrypt.Po \
275 ./$(DEPDIR)/t-edit-sign.Po ./$(DEPDIR)/t-edit.Po \
276 ./$(DEPDIR)/t-encrypt-large.Po ./$(DEPDIR)/t-encrypt-mixed.Po \
277 ./$(DEPDIR)/t-encrypt-sign.Po ./$(DEPDIR)/t-encrypt-sym.Po \
278 ./$(DEPDIR)/t-encrypt.Po ./$(DEPDIR)/t-eventloop.Po \
279 ./$(DEPDIR)/t-export.Po ./$(DEPDIR)/t-file-name.Po \
280 ./$(DEPDIR)/t-genkey.Po ./$(DEPDIR)/t-gpgconf.Po \
281 ./$(DEPDIR)/t-import.Po ./$(DEPDIR)/t-keylist-secret-sig.Po \
282 ./$(DEPDIR)/t-keylist-sig.Po ./$(DEPDIR)/t-keylist.Po \
283 ./$(DEPDIR)/t-sig-notation.Po ./$(DEPDIR)/t-sign.Po \
284 ./$(DEPDIR)/t-signers.Po \
285 ./$(DEPDIR)/t-thread-keylist-verify.Po \
286 ./$(DEPDIR)/t-thread-keylist.Po ./$(DEPDIR)/t-thread1.Po \
287 ./$(DEPDIR)/t-verify.Po ./$(DEPDIR)/t-wait.Po
288 am__mv = mv -f
289 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
290 $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
291 LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
292 $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
293 $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
294 $(AM_CFLAGS) $(CFLAGS)
295 AM_V_CC = $(am__v_CC_@AM_V@)
296 am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
297 am__v_CC_0 = @echo " CC " $@;
298 am__v_CC_1 =
299 CCLD = $(CC)
300 LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
301 $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
302 $(AM_LDFLAGS) $(LDFLAGS) -o $@
303 AM_V_CCLD = $(am__v_CCLD_@AM_V@)
304 am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
305 am__v_CCLD_0 = @echo " CCLD " $@;
306 am__v_CCLD_1 =
307 SOURCES = t-cancel.c t-decrypt.c t-decrypt-verify.c t-edit.c \
308 t-edit-sign.c t-encrypt.c t-encrypt-large.c t-encrypt-mixed.c \
309 t-encrypt-sign.c t-encrypt-sym.c t-eventloop.c t-export.c \
310 t-file-name.c t-genkey.c t-gpgconf.c t-import.c t-keylist.c \
311 t-keylist-secret-sig.c t-keylist-sig.c t-sig-notation.c \
312 t-sign.c t-signers.c t-thread-keylist.c \
313 t-thread-keylist-verify.c t-thread1.c t-verify.c t-wait.c
314 DIST_SOURCES = t-cancel.c t-decrypt.c t-decrypt-verify.c t-edit.c \
315 t-edit-sign.c t-encrypt.c t-encrypt-large.c t-encrypt-mixed.c \
316 t-encrypt-sign.c t-encrypt-sym.c t-eventloop.c t-export.c \
317 t-file-name.c t-genkey.c t-gpgconf.c t-import.c t-keylist.c \
318 t-keylist-secret-sig.c t-keylist-sig.c t-sig-notation.c \
319 t-sign.c t-signers.c t-thread-keylist.c \
320 t-thread-keylist-verify.c t-thread1.c t-verify.c t-wait.c
321 am__can_run_installinfo = \
322 case $$AM_UPDATE_INFO_DIR in \
323 n|no|NO) false;; \
324 *) (install-info --version) >/dev/null 2>&1;; \
325 esac
326 HEADERS = $(noinst_HEADERS)
327 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
328 # Read a list of newline-separated strings from the standard input,
329 # and print each of them once, without duplicates. Input order is
330 # *not* preserved.
331 am__uniquify_input = $(AWK) '\
332 BEGIN { nonempty = 0; } \
333 { items[$$0] = 1; nonempty = 1; } \
334 END { if (nonempty) { for (i in items) print i; }; } \
335 '
336 # Make sure the list of sources is unique. This is necessary because,
337 # e.g., the same source file might be shared among _SOURCES variables
338 # for different programs/libraries.
339 am__define_uniq_tagged_files = \
340 list='$(am__tagged_files)'; \
341 unique=`for i in $$list; do \
342 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
343 done | $(am__uniquify_input)`
344 am__tty_colors_dummy = \
345 mgn= red= grn= lgn= blu= brg= std=; \
346 am__color_tests=no
347 am__tty_colors = { \
348 $(am__tty_colors_dummy); \
349 if test "X$(AM_COLOR_TESTS)" = Xno; then \
350 am__color_tests=no; \
351 elif test "X$(AM_COLOR_TESTS)" = Xalways; then \
352 am__color_tests=yes; \
353 elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \
354 am__color_tests=yes; \
355 fi; \
356 if test $$am__color_tests = yes; then \
357 red=''; \
358 grn=''; \
359 lgn=''; \
360 blu=''; \
361 mgn=''; \
362 brg=''; \
363 std=''; \
364 fi; \
365 }
366 am__DIST_COMMON = $(srcdir)/Makefile.in \
367 $(top_srcdir)/build-aux/depcomp \
368 $(top_srcdir)/build-aux/mkinstalldirs
369 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
370 ACLOCAL = @ACLOCAL@
371 AMTAR = @AMTAR@
372 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
373 AR = @AR@
374 AS = @AS@
375 AUTOCONF = @AUTOCONF@
376 AUTOHEADER = @AUTOHEADER@
377 AUTOMAKE = @AUTOMAKE@
378 AWK = @AWK@
379 BUILD_FILEVERSION = @BUILD_FILEVERSION@
380 BUILD_REVISION = @BUILD_REVISION@
381 BUILD_TIMESTAMP = @BUILD_TIMESTAMP@
382 BUILD_VERSION = @BUILD_VERSION@
383 CC = @CC@
384 CCDEPMODE = @CCDEPMODE@
385 CC_FOR_BUILD = @CC_FOR_BUILD@
386 CFLAGS = @CFLAGS@
387 CPP = @CPP@
388 CPPFLAGS = @CPPFLAGS@
389 CSCOPE = @CSCOPE@
390 CTAGS = @CTAGS@
391 CXX = @CXX@
392 CXXCPP = @CXXCPP@
393 CXXDEPMODE = @CXXDEPMODE@
394 CXXFLAGS = @CXXFLAGS@
395 CYGPATH_W = @CYGPATH_W@
396 DEFS = @DEFS@
397 DEPDIR = @DEPDIR@
398 DLLTOOL = @DLLTOOL@
399 DOXYGEN = @DOXYGEN@
400 DSYMUTIL = @DSYMUTIL@
401 DUMPBIN = @DUMPBIN@
402 ECHO_C = @ECHO_C@
403 ECHO_N = @ECHO_N@
404 ECHO_T = @ECHO_T@
405 EGREP = @EGREP@
406 ENABLED_LANGUAGES = @ENABLED_LANGUAGES@
407 ETAGS = @ETAGS@
408 EXEEXT = @EXEEXT@
409 FGREP = @FGREP@
410 GITLOG_TO_CHANGELOG = @GITLOG_TO_CHANGELOG@
411 GLIBC21 = @GLIBC21@
412 GLIB_CFLAGS = @GLIB_CFLAGS@
413 GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
414 GLIB_LIBS = @GLIB_LIBS@
415 GLIB_MKENUMS = @GLIB_MKENUMS@
416 GOBJECT_QUERY = @GOBJECT_QUERY@
417 GPGME_CONFIG_API_VERSION = @GPGME_CONFIG_API_VERSION@
418 GPGME_CONFIG_AVAIL_LANG = @GPGME_CONFIG_AVAIL_LANG@
419 GPGME_CONFIG_CFLAGS = @GPGME_CONFIG_CFLAGS@
420 GPGME_CONFIG_HOST = @GPGME_CONFIG_HOST@
421 GPGME_CONFIG_LIBS = @GPGME_CONFIG_LIBS@
422 GPGME_QTTEST_CFLAGS = @GPGME_QTTEST_CFLAGS@
423 GPGME_QTTEST_LIBS = @GPGME_QTTEST_LIBS@
424 GPGME_QT_CFLAGS = @GPGME_QT_CFLAGS@
425 GPGME_QT_LIBS = @GPGME_QT_LIBS@
426 GPGRT_CONFIG = @GPGRT_CONFIG@
427 GPG_ERROR_CFLAGS = @GPG_ERROR_CFLAGS@
428 GPG_ERROR_CONFIG = @GPG_ERROR_CONFIG@
429 GPG_ERROR_LIBS = @GPG_ERROR_LIBS@
430 GPG_ERROR_MT_CFLAGS = @GPG_ERROR_MT_CFLAGS@
431 GPG_ERROR_MT_LIBS = @GPG_ERROR_MT_LIBS@
432 GRAPHVIZ = @GRAPHVIZ@
433 GREP = @GREP@
434 HAVE_CXX11 = @HAVE_CXX11@
435 HAVE_DOT = @HAVE_DOT@
436 INSTALL = @INSTALL@
437 INSTALL_DATA = @INSTALL_DATA@
438 INSTALL_PROGRAM = @INSTALL_PROGRAM@
439 INSTALL_SCRIPT = @INSTALL_SCRIPT@
440 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
441 LD = @LD@
442 LDADD_FOR_TESTS_KLUDGE = @LDADD_FOR_TESTS_KLUDGE@
443 LDFLAGS = @LDFLAGS@
444 LIBASSUAN_CFLAGS = @LIBASSUAN_CFLAGS@
445 LIBASSUAN_CONFIG = @LIBASSUAN_CONFIG@
446 LIBASSUAN_LIBS = @LIBASSUAN_LIBS@
447 LIBGPGMEPP_LT_AGE = @LIBGPGMEPP_LT_AGE@
448 LIBGPGMEPP_LT_CURRENT = @LIBGPGMEPP_LT_CURRENT@
449 LIBGPGMEPP_LT_REVISION = @LIBGPGMEPP_LT_REVISION@
450 LIBGPGME_LT_AGE = @LIBGPGME_LT_AGE@
451 LIBGPGME_LT_CURRENT = @LIBGPGME_LT_CURRENT@
452 LIBGPGME_LT_REVISION = @LIBGPGME_LT_REVISION@
453 LIBOBJS = @LIBOBJS@
454 LIBQGPGME_LT_AGE = @LIBQGPGME_LT_AGE@
455 LIBQGPGME_LT_CURRENT = @LIBQGPGME_LT_CURRENT@
456 LIBQGPGME_LT_REVISION = @LIBQGPGME_LT_REVISION@
457 LIBS = @LIBS@
458 LIBTOOL = @LIBTOOL@
459 LIPO = @LIPO@
460 LN_S = @LN_S@
461 LTLIBOBJS = @LTLIBOBJS@
462 MAINT = @MAINT@
463 MAKEINFO = @MAKEINFO@
464 MANIFEST_TOOL = @MANIFEST_TOOL@
465 MKDIR_P = @MKDIR_P@
466 MOC = @MOC@
467 MOC2 = @MOC2@
468 NEED__FILE_OFFSET_BITS = @NEED__FILE_OFFSET_BITS@
469 NM = @NM@
470 NMEDIT = @NMEDIT@
471 OBJDUMP = @OBJDUMP@
472 OBJEXT = @OBJEXT@
473 OTOOL = @OTOOL@
474 OTOOL64 = @OTOOL64@
475 PACKAGE = @PACKAGE@
476 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
477 PACKAGE_NAME = @PACKAGE_NAME@
478 PACKAGE_STRING = @PACKAGE_STRING@
479 PACKAGE_TARNAME = @PACKAGE_TARNAME@
480 PACKAGE_URL = @PACKAGE_URL@
481 PACKAGE_VERSION = @PACKAGE_VERSION@
482 PATH_SEPARATOR = @PATH_SEPARATOR@
483 PKG_CONFIG = @PKG_CONFIG@
484 PYTHON = @PYTHON@
485 PYTHONS = @PYTHONS@
486 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
487 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
488 PYTHON_EXTRA_LDFLAGS = @PYTHON_EXTRA_LDFLAGS@
489 PYTHON_EXTRA_LIBS = @PYTHON_EXTRA_LIBS@
490 PYTHON_LDFLAGS = @PYTHON_LDFLAGS@
491 PYTHON_PLATFORM = @PYTHON_PLATFORM@
492 PYTHON_PREFIX = @PYTHON_PREFIX@
493 PYTHON_SITE_PKG = @PYTHON_SITE_PKG@
494 PYTHON_VERSION = @PYTHON_VERSION@
495 QTCHOOSER = @QTCHOOSER@
496 RANLIB = @RANLIB@
497 RC = @RC@
498 SED = @SED@
499 SET_MAKE = @SET_MAKE@
500 SHELL = @SHELL@
501 STRIP = @STRIP@
502 SWIG = @SWIG@
503 SWIG_LIB = @SWIG_LIB@
504 SYSROOT = @SYSROOT@
505 VERSION = @VERSION@
506 VERSION_MAJOR = @VERSION_MAJOR@
507 VERSION_MICRO = @VERSION_MICRO@
508 VERSION_MINOR = @VERSION_MINOR@
509 VERSION_NUMBER = @VERSION_NUMBER@
510 abs_builddir = @abs_builddir@
511 abs_srcdir = @abs_srcdir@
512 abs_top_builddir = @abs_top_builddir@
513 abs_top_srcdir = @abs_top_srcdir@
514 ac_ct_AR = @ac_ct_AR@
515 ac_ct_CC = @ac_ct_CC@
516 ac_ct_CXX = @ac_ct_CXX@
517 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
518 am__include = @am__include@
519 am__leading_dot = @am__leading_dot@
520 am__quote = @am__quote@
521 am__tar = @am__tar@
522 am__untar = @am__untar@
523 bindir = @bindir@
524 build = @build@
525 build_alias = @build_alias@
526 build_cpu = @build_cpu@
527 build_os = @build_os@
528 build_vendor = @build_vendor@
529 builddir = @builddir@
530 datadir = @datadir@
531 datarootdir = @datarootdir@
532 docdir = @docdir@
533 dvidir = @dvidir@
534 emacs_local_vars_begin = @emacs_local_vars_begin@
535 emacs_local_vars_end = @emacs_local_vars_end@
536 emacs_local_vars_read_only = @emacs_local_vars_read_only@
537 exec_prefix = @exec_prefix@
538 host = @host@
539 host_alias = @host_alias@
540 host_cpu = @host_cpu@
541 host_os = @host_os@
542 host_vendor = @host_vendor@
543 htmldir = @htmldir@
544 includedir = @includedir@
545 infodir = @infodir@
546 install_sh = @install_sh@
547 libdir = @libdir@
548 libexecdir = @libexecdir@
549 localedir = @localedir@
550 localstatedir = @localstatedir@
551 mandir = @mandir@
552 mkdir_p = @mkdir_p@
553 oldincludedir = @oldincludedir@
554 pdfdir = @pdfdir@
555 pkgpyexecdir = @pkgpyexecdir@
556 pkgpythondir = @pkgpythondir@
557 prefix = @prefix@
558 program_transform_name = @program_transform_name@
559 psdir = @psdir@
560 pyexecdir = @pyexecdir@
561 pythondir = @pythondir@
562 runstatedir = @runstatedir@
563 sbindir = @sbindir@
564 sharedstatedir = @sharedstatedir@
565 srcdir = @srcdir@
566 sysconfdir = @sysconfdir@
567 target_alias = @target_alias@
568 top_build_prefix = @top_build_prefix@
569 top_builddir = @top_builddir@
570 top_srcdir = @top_srcdir@
571 GPG = gpg
572 GPG_AGENT = gpg-agent
573 GNUPGHOME = $(abs_builddir)
574 TESTS_ENVIRONMENT = GNUPGHOME=$(GNUPGHOME) LC_ALL=C GPG_AGENT_INFO= \
575 top_srcdir=$(top_srcdir)
576
577
578 # The keylist tests must come after the import and the edit test.
579 noinst_HEADERS = t-support.h
580 @HAVE_W32_SYSTEM_FALSE@tests_unix = t-eventloop t-thread1 t-thread-keylist t-thread-keylist-verify
581 @HAVE_W32_SYSTEM_TRUE@tests_unix =
582 c_tests = \
583 t-encrypt t-encrypt-sym t-encrypt-sign t-sign t-signers \
584 t-decrypt t-verify t-decrypt-verify t-sig-notation t-export \
585 t-import t-edit t-keylist t-keylist-sig t-keylist-secret-sig t-wait \
586 t-encrypt-large t-file-name t-gpgconf t-encrypt-mixed t-edit-sign \
587 $(tests_unix)
588
589 CLEANFILES = secring.gpg pubring.gpg pubring.kbx trustdb.gpg dirmngr.conf \
590 gpg-agent.conf pubring.kbx~ S.gpg-agent gpg.conf pubring.gpg~ \
591 random_seed S.gpg-agent .gpg-v21-migrated pubring-stamp \
592 gpg-sample.stamp tofu.db *.conf.gpgconf.bak
593
594 private_keys = \
595 13CD0F3BDF24BE53FE192D62F18737256FF6E4FD \
596 76F7E2B35832976B50A27A282D9B87E44577EB66 \
597 A0747D5F9425E6664F4FFBEED20FBCA79FDED2BD \
598 13CBE3758AFE42B5E5E2AE4CED27AFA455E3F87F \
599 7A030357C0F253A5BBCD282FFC4E521B37558F5C
600
601 EXTRA_DIST = initial.test final.test \
602 pubdemo.asc secdemo.asc cipher-1.asc cipher-2.asc \
603 cipher-3.asc cipher-no-sig.asc \
604 geheim.txt pubkey-1.asc seckey-1.asc pinentry $(private_keys) \
605 gpg.conf.in
606
607 BUILT_SOURCES = gpg.conf gpg-agent.conf pubring-stamp \
608 gpg-sample.stamp
609
610 AM_CPPFLAGS = -I$(top_builddir)/src @GPG_ERROR_CFLAGS@
611 AM_LDFLAGS = -no-install
612 LDADD = ../../src/libgpgme.la @LDADD_FOR_TESTS_KLUDGE@
613 t_thread1_LDADD = ../../src/libgpgme.la -lpthread @LDADD_FOR_TESTS_KLUDGE@
614 t_thread_keylist_LDADD = ../../src/libgpgme.la -lpthread @LDADD_FOR_TESTS_KLUDGE@
615 t_thread_keylist_verify_LDADD = ../../src/libgpgme.la -lpthread @LDADD_FOR_TESTS_KLUDGE@
616 t_cancel_LDADD = ../../src/libgpgme.la -lpthread @LDADD_FOR_TESTS_KLUDGE@
617
618 # We don't run t-genkey and t-cancel in the test suite, because it
619 # takes too long
620 tests_skipped = t-genkey $(am__append_1)
621 all: $(BUILT_SOURCES)
622 $(MAKE) $(AM_MAKEFLAGS) all-am
623
624 .SUFFIXES:
625 .SUFFIXES: .c .lo .o .obj
626 $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
627 @for dep in $?; do \
628 case '$(am__configure_deps)' in \
629 *$$dep*) \
630 ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
631 && { if test -f $@; then exit 0; else break; fi; }; \
632 exit 1;; \
633 esac; \
634 done; \
635 echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/gpg/Makefile'; \
636 $(am__cd) $(top_srcdir) && \
637 $(AUTOMAKE) --gnu tests/gpg/Makefile
638 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
639 @case '$?' in \
640 *config.status*) \
641 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
642 *) \
643 echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
644 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
645 esac;
646
647 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
648 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
649
650 $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
651 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
652 $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
653 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
654 $(am__aclocal_m4_deps):
655
656 clean-noinstPROGRAMS:
657 @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \
658 echo " rm -f" $$list; \
659 rm -f $$list || exit $$?; \
660 test -n "$(EXEEXT)" || exit 0; \
661 list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
662 echo " rm -f" $$list; \
663 rm -f $$list
664
665 t-cancel$(EXEEXT): $(t_cancel_OBJECTS) $(t_cancel_DEPENDENCIES) $(EXTRA_t_cancel_DEPENDENCIES)
666 @rm -f t-cancel$(EXEEXT)
667 $(AM_V_CCLD)$(LINK) $(t_cancel_OBJECTS) $(t_cancel_LDADD) $(LIBS)
668
669 t-decrypt$(EXEEXT): $(t_decrypt_OBJECTS) $(t_decrypt_DEPENDENCIES) $(EXTRA_t_decrypt_DEPENDENCIES)
670 @rm -f t-decrypt$(EXEEXT)
671 $(AM_V_CCLD)$(LINK) $(t_decrypt_OBJECTS) $(t_decrypt_LDADD) $(LIBS)
672
673 t-decrypt-verify$(EXEEXT): $(t_decrypt_verify_OBJECTS) $(t_decrypt_verify_DEPENDENCIES) $(EXTRA_t_decrypt_verify_DEPENDENCIES)
674 @rm -f t-decrypt-verify$(EXEEXT)
675 $(AM_V_CCLD)$(LINK) $(t_decrypt_verify_OBJECTS) $(t_decrypt_verify_LDADD) $(LIBS)
676
677 t-edit$(EXEEXT): $(t_edit_OBJECTS) $(t_edit_DEPENDENCIES) $(EXTRA_t_edit_DEPENDENCIES)
678 @rm -f t-edit$(EXEEXT)
679 $(AM_V_CCLD)$(LINK) $(t_edit_OBJECTS) $(t_edit_LDADD) $(LIBS)
680
681 t-edit-sign$(EXEEXT): $(t_edit_sign_OBJECTS) $(t_edit_sign_DEPENDENCIES) $(EXTRA_t_edit_sign_DEPENDENCIES)
682 @rm -f t-edit-sign$(EXEEXT)
683 $(AM_V_CCLD)$(LINK) $(t_edit_sign_OBJECTS) $(t_edit_sign_LDADD) $(LIBS)
684
685 t-encrypt$(EXEEXT): $(t_encrypt_OBJECTS) $(t_encrypt_DEPENDENCIES) $(EXTRA_t_encrypt_DEPENDENCIES)
686 @rm -f t-encrypt$(EXEEXT)
687 $(AM_V_CCLD)$(LINK) $(t_encrypt_OBJECTS) $(t_encrypt_LDADD) $(LIBS)
688
689 t-encrypt-large$(EXEEXT): $(t_encrypt_large_OBJECTS) $(t_encrypt_large_DEPENDENCIES) $(EXTRA_t_encrypt_large_DEPENDENCIES)
690 @rm -f t-encrypt-large$(EXEEXT)
691 $(AM_V_CCLD)$(LINK) $(t_encrypt_large_OBJECTS) $(t_encrypt_large_LDADD) $(LIBS)
692
693 t-encrypt-mixed$(EXEEXT): $(t_encrypt_mixed_OBJECTS) $(t_encrypt_mixed_DEPENDENCIES) $(EXTRA_t_encrypt_mixed_DEPENDENCIES)
694 @rm -f t-encrypt-mixed$(EXEEXT)
695 $(AM_V_CCLD)$(LINK) $(t_encrypt_mixed_OBJECTS) $(t_encrypt_mixed_LDADD) $(LIBS)
696
697 t-encrypt-sign$(EXEEXT): $(t_encrypt_sign_OBJECTS) $(t_encrypt_sign_DEPENDENCIES) $(EXTRA_t_encrypt_sign_DEPENDENCIES)
698 @rm -f t-encrypt-sign$(EXEEXT)
699 $(AM_V_CCLD)$(LINK) $(t_encrypt_sign_OBJECTS) $(t_encrypt_sign_LDADD) $(LIBS)
700
701 t-encrypt-sym$(EXEEXT): $(t_encrypt_sym_OBJECTS) $(t_encrypt_sym_DEPENDENCIES) $(EXTRA_t_encrypt_sym_DEPENDENCIES)
702 @rm -f t-encrypt-sym$(EXEEXT)
703 $(AM_V_CCLD)$(LINK) $(t_encrypt_sym_OBJECTS) $(t_encrypt_sym_LDADD) $(LIBS)
704
705 t-eventloop$(EXEEXT): $(t_eventloop_OBJECTS) $(t_eventloop_DEPENDENCIES) $(EXTRA_t_eventloop_DEPENDENCIES)
706 @rm -f t-eventloop$(EXEEXT)
707 $(AM_V_CCLD)$(LINK) $(t_eventloop_OBJECTS) $(t_eventloop_LDADD) $(LIBS)
708
709 t-export$(EXEEXT): $(t_export_OBJECTS) $(t_export_DEPENDENCIES) $(EXTRA_t_export_DEPENDENCIES)
710 @rm -f t-export$(EXEEXT)
711 $(AM_V_CCLD)$(LINK) $(t_export_OBJECTS) $(t_export_LDADD) $(LIBS)
712
713 t-file-name$(EXEEXT): $(t_file_name_OBJECTS) $(t_file_name_DEPENDENCIES) $(EXTRA_t_file_name_DEPENDENCIES)
714 @rm -f t-file-name$(EXEEXT)
715 $(AM_V_CCLD)$(LINK) $(t_file_name_OBJECTS) $(t_file_name_LDADD) $(LIBS)
716
717 t-genkey$(EXEEXT): $(t_genkey_OBJECTS) $(t_genkey_DEPENDENCIES) $(EXTRA_t_genkey_DEPENDENCIES)
718 @rm -f t-genkey$(EXEEXT)
719 $(AM_V_CCLD)$(LINK) $(t_genkey_OBJECTS) $(t_genkey_LDADD) $(LIBS)
720
721 t-gpgconf$(EXEEXT): $(t_gpgconf_OBJECTS) $(t_gpgconf_DEPENDENCIES) $(EXTRA_t_gpgconf_DEPENDENCIES)
722 @rm -f t-gpgconf$(EXEEXT)
723 $(AM_V_CCLD)$(LINK) $(t_gpgconf_OBJECTS) $(t_gpgconf_LDADD) $(LIBS)
724
725 t-import$(EXEEXT): $(t_import_OBJECTS) $(t_import_DEPENDENCIES) $(EXTRA_t_import_DEPENDENCIES)
726 @rm -f t-import$(EXEEXT)
727 $(AM_V_CCLD)$(LINK) $(t_import_OBJECTS) $(t_import_LDADD) $(LIBS)
728
729 t-keylist$(EXEEXT): $(t_keylist_OBJECTS) $(t_keylist_DEPENDENCIES) $(EXTRA_t_keylist_DEPENDENCIES)
730 @rm -f t-keylist$(EXEEXT)
731 $(AM_V_CCLD)$(LINK) $(t_keylist_OBJECTS) $(t_keylist_LDADD) $(LIBS)
732
733 t-keylist-secret-sig$(EXEEXT): $(t_keylist_secret_sig_OBJECTS) $(t_keylist_secret_sig_DEPENDENCIES) $(EXTRA_t_keylist_secret_sig_DEPENDENCIES)
734 @rm -f t-keylist-secret-sig$(EXEEXT)
735 $(AM_V_CCLD)$(LINK) $(t_keylist_secret_sig_OBJECTS) $(t_keylist_secret_sig_LDADD) $(LIBS)
736
737 t-keylist-sig$(EXEEXT): $(t_keylist_sig_OBJECTS) $(t_keylist_sig_DEPENDENCIES) $(EXTRA_t_keylist_sig_DEPENDENCIES)
738 @rm -f t-keylist-sig$(EXEEXT)
739 $(AM_V_CCLD)$(LINK) $(t_keylist_sig_OBJECTS) $(t_keylist_sig_LDADD) $(LIBS)
740
741 t-sig-notation$(EXEEXT): $(t_sig_notation_OBJECTS) $(t_sig_notation_DEPENDENCIES) $(EXTRA_t_sig_notation_DEPENDENCIES)
742 @rm -f t-sig-notation$(EXEEXT)
743 $(AM_V_CCLD)$(LINK) $(t_sig_notation_OBJECTS) $(t_sig_notation_LDADD) $(LIBS)
744
745 t-sign$(EXEEXT): $(t_sign_OBJECTS) $(t_sign_DEPENDENCIES) $(EXTRA_t_sign_DEPENDENCIES)
746 @rm -f t-sign$(EXEEXT)
747 $(AM_V_CCLD)$(LINK) $(t_sign_OBJECTS) $(t_sign_LDADD) $(LIBS)
748
749 t-signers$(EXEEXT): $(t_signers_OBJECTS) $(t_signers_DEPENDENCIES) $(EXTRA_t_signers_DEPENDENCIES)
750 @rm -f t-signers$(EXEEXT)
751 $(AM_V_CCLD)$(LINK) $(t_signers_OBJECTS) $(t_signers_LDADD) $(LIBS)
752
753 t-thread-keylist$(EXEEXT): $(t_thread_keylist_OBJECTS) $(t_thread_keylist_DEPENDENCIES) $(EXTRA_t_thread_keylist_DEPENDENCIES)
754 @rm -f t-thread-keylist$(EXEEXT)
755 $(AM_V_CCLD)$(LINK) $(t_thread_keylist_OBJECTS) $(t_thread_keylist_LDADD) $(LIBS)
756
757 t-thread-keylist-verify$(EXEEXT): $(t_thread_keylist_verify_OBJECTS) $(t_thread_keylist_verify_DEPENDENCIES) $(EXTRA_t_thread_keylist_verify_DEPENDENCIES)
758 @rm -f t-thread-keylist-verify$(EXEEXT)
759 $(AM_V_CCLD)$(LINK) $(t_thread_keylist_verify_OBJECTS) $(t_thread_keylist_verify_LDADD) $(LIBS)
760
761 t-thread1$(EXEEXT): $(t_thread1_OBJECTS) $(t_thread1_DEPENDENCIES) $(EXTRA_t_thread1_DEPENDENCIES)
762 @rm -f t-thread1$(EXEEXT)
763 $(AM_V_CCLD)$(LINK) $(t_thread1_OBJECTS) $(t_thread1_LDADD) $(LIBS)
764
765 t-verify$(EXEEXT): $(t_verify_OBJECTS) $(t_verify_DEPENDENCIES) $(EXTRA_t_verify_DEPENDENCIES)
766 @rm -f t-verify$(EXEEXT)
767 $(AM_V_CCLD)$(LINK) $(t_verify_OBJECTS) $(t_verify_LDADD) $(LIBS)
768
769 t-wait$(EXEEXT): $(t_wait_OBJECTS) $(t_wait_DEPENDENCIES) $(EXTRA_t_wait_DEPENDENCIES)
770 @rm -f t-wait$(EXEEXT)
771 $(AM_V_CCLD)$(LINK) $(t_wait_OBJECTS) $(t_wait_LDADD) $(LIBS)
772
773 mostlyclean-compile:
774 -rm -f *.$(OBJEXT)
775
776 distclean-compile:
777 -rm -f *.tab.c
778
779 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t-cancel.Po@am__quote@ # am--include-marker
780 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t-decrypt-verify.Po@am__quote@ # am--include-marker
781 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t-decrypt.Po@am__quote@ # am--include-marker
782 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t-edit-sign.Po@am__quote@ # am--include-marker
783 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t-edit.Po@am__quote@ # am--include-marker
784 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t-encrypt-large.Po@am__quote@ # am--include-marker
785 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t-encrypt-mixed.Po@am__quote@ # am--include-marker
786 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t-encrypt-sign.Po@am__quote@ # am--include-marker
787 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t-encrypt-sym.Po@am__quote@ # am--include-marker
788 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t-encrypt.Po@am__quote@ # am--include-marker
789 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t-eventloop.Po@am__quote@ # am--include-marker
790 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t-export.Po@am__quote@ # am--include-marker
791 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t-file-name.Po@am__quote@ # am--include-marker
792 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t-genkey.Po@am__quote@ # am--include-marker
793 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t-gpgconf.Po@am__quote@ # am--include-marker
794 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t-import.Po@am__quote@ # am--include-marker
795 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t-keylist-secret-sig.Po@am__quote@ # am--include-marker
796 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t-keylist-sig.Po@am__quote@ # am--include-marker
797 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t-keylist.Po@am__quote@ # am--include-marker
798 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t-sig-notation.Po@am__quote@ # am--include-marker
799 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t-sign.Po@am__quote@ # am--include-marker
800 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t-signers.Po@am__quote@ # am--include-marker
801 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t-thread-keylist-verify.Po@am__quote@ # am--include-marker
802 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t-thread-keylist.Po@am__quote@ # am--include-marker
803 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t-thread1.Po@am__quote@ # am--include-marker
804 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t-verify.Po@am__quote@ # am--include-marker
805 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t-wait.Po@am__quote@ # am--include-marker
806
807 $(am__depfiles_remade):
808 @$(MKDIR_P) $(@D)
809 @echo '# dummy' >$@-t && $(am__mv) $@-t $@
810
811 am--depfiles: $(am__depfiles_remade)
812
813 .c.o:
814 @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
815 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
816 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
817 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
818 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
819
820 .c.obj:
821 @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
822 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
823 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
824 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
825 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
826
827 .c.lo:
828 @am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
829 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
830 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
831 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
832 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
833
834 mostlyclean-libtool:
835 -rm -f *.lo
836
837 clean-libtool:
838 -rm -rf .libs _libs
839
840 ID: $(am__tagged_files)
841 $(am__define_uniq_tagged_files); mkid -fID $$unique
842 tags: tags-am
843 TAGS: tags
844
845 tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
846 set x; \
847 here=`pwd`; \
848 $(am__define_uniq_tagged_files); \
849 shift; \
850 if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
851 test -n "$$unique" || unique=$$empty_fix; \
852 if test $$# -gt 0; then \
853 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
854 "$$@" $$unique; \
855 else \
856 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
857 $$unique; \
858 fi; \
859 fi
860 ctags: ctags-am
861
862 CTAGS: ctags
863 ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
864 $(am__define_uniq_tagged_files); \
865 test -z "$(CTAGS_ARGS)$$unique" \
866 || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
867 $$unique
868
869 GTAGS:
870 here=`$(am__cd) $(top_builddir) && pwd` \
871 && $(am__cd) $(top_srcdir) \
872 && gtags -i $(GTAGS_ARGS) "$$here"
873 cscopelist: cscopelist-am
874
875 cscopelist-am: $(am__tagged_files)
876 list='$(am__tagged_files)'; \
877 case "$(srcdir)" in \
878 [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
879 *) sdir=$(subdir)/$(srcdir) ;; \
880 esac; \
881 for i in $$list; do \
882 if test -f "$$i"; then \
883 echo "$(subdir)/$$i"; \
884 else \
885 echo "$$sdir/$$i"; \
886 fi; \
887 done >> $(top_builddir)/cscope.files
888
889 distclean-tags:
890 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
891
892 check-TESTS: $(TESTS)
893 @failed=0; all=0; xfail=0; xpass=0; skip=0; \
894 srcdir=$(srcdir); export srcdir; \
895 list=' $(TESTS) '; \
896 $(am__tty_colors); \
897 if test -n "$$list"; then \
898 for tst in $$list; do \
899 if test -f ./$$tst; then dir=./; \
900 elif test -f $$tst; then dir=; \
901 else dir="$(srcdir)/"; fi; \
902 if $(TESTS_ENVIRONMENT) $${dir}$$tst $(AM_TESTS_FD_REDIRECT); then \
903 all=`expr $$all + 1`; \
904 case " $(XFAIL_TESTS) " in \
905 *[\ \ ]$$tst[\ \ ]*) \
906 xpass=`expr $$xpass + 1`; \
907 failed=`expr $$failed + 1`; \
908 col=$$red; res=XPASS; \
909 ;; \
910 *) \
911 col=$$grn; res=PASS; \
912 ;; \
913 esac; \
914 elif test $$? -ne 77; then \
915 all=`expr $$all + 1`; \
916 case " $(XFAIL_TESTS) " in \
917 *[\ \ ]$$tst[\ \ ]*) \
918 xfail=`expr $$xfail + 1`; \
919 col=$$lgn; res=XFAIL; \
920 ;; \
921 *) \
922 failed=`expr $$failed + 1`; \
923 col=$$red; res=FAIL; \
924 ;; \
925 esac; \
926 else \
927 skip=`expr $$skip + 1`; \
928 col=$$blu; res=SKIP; \
929 fi; \
930 echo "$${col}$$res$${std}: $$tst"; \
931 done; \
932 if test "$$all" -eq 1; then \
933 tests="test"; \
934 All=""; \
935 else \
936 tests="tests"; \
937 All="All "; \
938 fi; \
939 if test "$$failed" -eq 0; then \
940 if test "$$xfail" -eq 0; then \
941 banner="$$All$$all $$tests passed"; \
942 else \
943 if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \
944 banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \
945 fi; \
946 else \
947 if test "$$xpass" -eq 0; then \
948 banner="$$failed of $$all $$tests failed"; \
949 else \
950 if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \
951 banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \
952 fi; \
953 fi; \
954 dashes="$$banner"; \
955 skipped=""; \
956 if test "$$skip" -ne 0; then \
957 if test "$$skip" -eq 1; then \
958 skipped="($$skip test was not run)"; \
959 else \
960 skipped="($$skip tests were not run)"; \
961 fi; \
962 test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
963 dashes="$$skipped"; \
964 fi; \
965 report=""; \
966 if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \
967 report="Please report to $(PACKAGE_BUGREPORT)"; \
968 test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \
969 dashes="$$report"; \
970 fi; \
971 dashes=`echo "$$dashes" | sed s/./=/g`; \
972 if test "$$failed" -eq 0; then \
973 col="$$grn"; \
974 else \
975 col="$$red"; \
976 fi; \
977 echo "$${col}$$dashes$${std}"; \
978 echo "$${col}$$banner$${std}"; \
979 test -z "$$skipped" || echo "$${col}$$skipped$${std}"; \
980 test -z "$$report" || echo "$${col}$$report$${std}"; \
981 echo "$${col}$$dashes$${std}"; \
982 test "$$failed" -eq 0; \
983 else :; fi
984 distdir: $(BUILT_SOURCES)
985 $(MAKE) $(AM_MAKEFLAGS) distdir-am
986
987 distdir-am: $(DISTFILES)
988 @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
989 topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
990 list='$(DISTFILES)'; \
991 dist_files=`for file in $$list; do echo $$file; done | \
992 sed -e "s|^$$srcdirstrip/||;t" \
993 -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
994 case $$dist_files in \
995 */*) $(MKDIR_P) `echo "$$dist_files" | \
996 sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
997 sort -u` ;; \
998 esac; \
999 for file in $$dist_files; do \
1000 if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
1001 if test -d $$d/$$file; then \
1002 dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
1003 if test -d "$(distdir)/$$file"; then \
1004 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
1005 fi; \
1006 if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
1007 cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
1008 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
1009 fi; \
1010 cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
1011 else \
1012 test -f "$(distdir)/$$file" \
1013 || cp -p $$d/$$file "$(distdir)/$$file" \
1014 || exit 1; \
1015 fi; \
1016 done
1017 check-am: all-am
1018 $(MAKE) $(AM_MAKEFLAGS) check-TESTS
1019 check: $(BUILT_SOURCES)
1020 $(MAKE) $(AM_MAKEFLAGS) check-am
1021 all-am: Makefile $(PROGRAMS) $(HEADERS)
1022 installdirs:
1023 install: $(BUILT_SOURCES)
1024 $(MAKE) $(AM_MAKEFLAGS) install-am
1025 install-exec: $(BUILT_SOURCES)
1026 $(MAKE) $(AM_MAKEFLAGS) install-exec-am
1027 install-data: install-data-am
1028 uninstall: uninstall-am
1029
1030 install-am: all-am
1031 @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
1032
1033 installcheck: installcheck-am
1034 install-strip:
1035 if test -z '$(STRIP)'; then \
1036 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
1037 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
1038 install; \
1039 else \
1040 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
1041 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
1042 "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
1043 fi
1044 mostlyclean-generic:
1045
1046 clean-generic:
1047 -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
1048
1049 distclean-generic:
1050 -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
1051 -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
1052
1053 maintainer-clean-generic:
1054 @echo "This command is intended for maintainers to use"
1055 @echo "it deletes files that may require special tools to rebuild."
1056 -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
1057 clean: clean-am
1058
1059 clean-am: clean-generic clean-libtool clean-local clean-noinstPROGRAMS \
1060 mostlyclean-am
1061
1062 distclean: distclean-am
1063 -rm -f ./$(DEPDIR)/t-cancel.Po
1064 -rm -f ./$(DEPDIR)/t-decrypt-verify.Po
1065 -rm -f ./$(DEPDIR)/t-decrypt.Po
1066 -rm -f ./$(DEPDIR)/t-edit-sign.Po
1067 -rm -f ./$(DEPDIR)/t-edit.Po
1068 -rm -f ./$(DEPDIR)/t-encrypt-large.Po
1069 -rm -f ./$(DEPDIR)/t-encrypt-mixed.Po
1070 -rm -f ./$(DEPDIR)/t-encrypt-sign.Po
1071 -rm -f ./$(DEPDIR)/t-encrypt-sym.Po
1072 -rm -f ./$(DEPDIR)/t-encrypt.Po
1073 -rm -f ./$(DEPDIR)/t-eventloop.Po
1074 -rm -f ./$(DEPDIR)/t-export.Po
1075 -rm -f ./$(DEPDIR)/t-file-name.Po
1076 -rm -f ./$(DEPDIR)/t-genkey.Po
1077 -rm -f ./$(DEPDIR)/t-gpgconf.Po
1078 -rm -f ./$(DEPDIR)/t-import.Po
1079 -rm -f ./$(DEPDIR)/t-keylist-secret-sig.Po
1080 -rm -f ./$(DEPDIR)/t-keylist-sig.Po
1081 -rm -f ./$(DEPDIR)/t-keylist.Po
1082 -rm -f ./$(DEPDIR)/t-sig-notation.Po
1083 -rm -f ./$(DEPDIR)/t-sign.Po
1084 -rm -f ./$(DEPDIR)/t-signers.Po
1085 -rm -f ./$(DEPDIR)/t-thread-keylist-verify.Po
1086 -rm -f ./$(DEPDIR)/t-thread-keylist.Po
1087 -rm -f ./$(DEPDIR)/t-thread1.Po
1088 -rm -f ./$(DEPDIR)/t-verify.Po
1089 -rm -f ./$(DEPDIR)/t-wait.Po
1090 -rm -f Makefile
1091 distclean-am: clean-am distclean-compile distclean-generic \
1092 distclean-tags
1093
1094 dvi: dvi-am
1095
1096 dvi-am:
1097
1098 html: html-am
1099
1100 html-am:
1101
1102 info: info-am
1103
1104 info-am:
1105
1106 install-data-am:
1107
1108 install-dvi: install-dvi-am
1109
1110 install-dvi-am:
1111
1112 install-exec-am:
1113
1114 install-html: install-html-am
1115
1116 install-html-am:
1117
1118 install-info: install-info-am
1119
1120 install-info-am:
1121
1122 install-man:
1123
1124 install-pdf: install-pdf-am
1125
1126 install-pdf-am:
1127
1128 install-ps: install-ps-am
1129
1130 install-ps-am:
1131
1132 installcheck-am:
1133
1134 maintainer-clean: maintainer-clean-am
1135 -rm -f ./$(DEPDIR)/t-cancel.Po
1136 -rm -f ./$(DEPDIR)/t-decrypt-verify.Po
1137 -rm -f ./$(DEPDIR)/t-decrypt.Po
1138 -rm -f ./$(DEPDIR)/t-edit-sign.Po
1139 -rm -f ./$(DEPDIR)/t-edit.Po
1140 -rm -f ./$(DEPDIR)/t-encrypt-large.Po
1141 -rm -f ./$(DEPDIR)/t-encrypt-mixed.Po
1142 -rm -f ./$(DEPDIR)/t-encrypt-sign.Po
1143 -rm -f ./$(DEPDIR)/t-encrypt-sym.Po
1144 -rm -f ./$(DEPDIR)/t-encrypt.Po
1145 -rm -f ./$(DEPDIR)/t-eventloop.Po
1146 -rm -f ./$(DEPDIR)/t-export.Po
1147 -rm -f ./$(DEPDIR)/t-file-name.Po
1148 -rm -f ./$(DEPDIR)/t-genkey.Po
1149 -rm -f ./$(DEPDIR)/t-gpgconf.Po
1150 -rm -f ./$(DEPDIR)/t-import.Po
1151 -rm -f ./$(DEPDIR)/t-keylist-secret-sig.Po
1152 -rm -f ./$(DEPDIR)/t-keylist-sig.Po
1153 -rm -f ./$(DEPDIR)/t-keylist.Po
1154 -rm -f ./$(DEPDIR)/t-sig-notation.Po
1155 -rm -f ./$(DEPDIR)/t-sign.Po
1156 -rm -f ./$(DEPDIR)/t-signers.Po
1157 -rm -f ./$(DEPDIR)/t-thread-keylist-verify.Po
1158 -rm -f ./$(DEPDIR)/t-thread-keylist.Po
1159 -rm -f ./$(DEPDIR)/t-thread1.Po
1160 -rm -f ./$(DEPDIR)/t-verify.Po
1161 -rm -f ./$(DEPDIR)/t-wait.Po
1162 -rm -f Makefile
1163 maintainer-clean-am: distclean-am maintainer-clean-generic
1164
1165 mostlyclean: mostlyclean-am
1166
1167 mostlyclean-am: mostlyclean-compile mostlyclean-generic \
1168 mostlyclean-libtool
1169
1170 pdf: pdf-am
1171
1172 pdf-am:
1173
1174 ps: ps-am
1175
1176 ps-am:
1177
1178 uninstall-am:
1179
1180 .MAKE: all check check-am install install-am install-exec \
1181 install-strip
1182
1183 .PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-TESTS \
1184 check-am clean clean-generic clean-libtool clean-local \
1185 clean-noinstPROGRAMS cscopelist-am ctags ctags-am distclean \
1186 distclean-compile distclean-generic distclean-libtool \
1187 distclean-tags distdir dvi dvi-am html html-am info info-am \
1188 install install-am install-data install-data-am install-dvi \
1189 install-dvi-am install-exec install-exec-am install-html \
1190 install-html-am install-info install-info-am install-man \
1191 install-pdf install-pdf-am install-ps install-ps-am \
1192 install-strip installcheck installcheck-am installdirs \
1193 maintainer-clean maintainer-clean-generic mostlyclean \
1194 mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
1195 pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am
1196
1197 .PRECIOUS: Makefile
1198
1199
1200 clean-local:
1201 -$(TESTS_ENVIRONMENT) $(top_srcdir)/tests/start-stop-agent --stop
1202 -rm -fR private-keys-v1.d
1203
1204 gpg-sample.stamp: $(srcdir)/$(private_keys)
1205 -$(TESTS_ENVIRONMENT) gpgconf --kill all
1206 $(MKDIR_P) ./private-keys-v1.d
1207 for k in $(private_keys); do \
1208 cp $(srcdir)/$$k private-keys-v1.d/$$k.key; \
1209 done
1210 echo x > ./gpg-sample.stamp
1211
1212 pubring-stamp: $(srcdir)/pubdemo.asc gpg-sample.stamp
1213 $(TESTS_ENVIRONMENT) $(GPG) --batch --no-permission-warning \
1214 --import $(srcdir)/pubdemo.asc
1215 -$(TESTS_ENVIRONMENT) $(GPG) --batch --no-permission-warning \
1216 --import $(srcdir)/secdemo.asc
1217 echo x > ./pubring-stamp
1218
1219 gpg.conf: $(srcdir)/gpg.conf.in
1220 cp $(srcdir)/gpg.conf.in gpg.conf
1221
1222 gpg-agent.conf:
1223 # This is required for gpg2, which does not support command fd for the
1224 # passphrase. disable-scdaemon is required so that we don't try using
1225 # a key from a smartcard reader (error might be: Unusable secret key)
1226 echo pinentry-program $(abs_srcdir)/pinentry > ./gpg-agent.conf
1227 echo disable-scdaemon >> ./gpg-agent.conf
1228
1229 # end-of-file
1230
1231 # Tell versions [3.59,3.63) of GNU make to not export all variables.
1232 # Otherwise a system limit (for SysV at least) may be exceeded.
1233 .NOEXPORT:
0 # This is required for t-sig-notations.
1 no-force-v3-sigs
2
3 # This is required for t-edit-sign.
4 allow-weak-key-signatures
106106 }
107107
108108
109 int
110 main (int argc, char **argv)
109 void
110 sign_key (const char *key_fpr, const char *signer_fpr)
111111 {
112112 gpgme_ctx_t ctx;
113113 gpgme_error_t err;
114114 gpgme_data_t out = NULL;
115 const char *signer_fpr = "A0FF4590BB6122EDEF6E3C542D727CC768697734"; /* Alpha Test */
116115 gpgme_key_t signing_key = NULL;
117 const char *key_fpr = "D695676BDCEDCC2CDD6152BCFE180B1DA9E3B0B2"; /* Bravo Test */
118116 gpgme_key_t key = NULL;
117 char *agent_info;
118
119 err = gpgme_new (&ctx);
120 fail_if_err (err);
121
122 agent_info = getenv("GPG_AGENT_INFO");
123 if (!(agent_info && strchr (agent_info, ':')))
124 gpgme_set_passphrase_cb (ctx, passphrase_cb, 0);
125
126 err = gpgme_get_key (ctx, signer_fpr, &signing_key, 1);
127 fail_if_err (err);
128 err = gpgme_signers_add (ctx, signing_key);
129 fail_if_err (err);
130
131 err = gpgme_set_ctx_flag (ctx, "cert-expire", "42d");
132 fail_if_err (err);
133
134 err = gpgme_get_key (ctx, key_fpr, &key, 0);
135 fail_if_err (err);
136
137 err = gpgme_data_new (&out);
138 fail_if_err (err);
139
140 err = gpgme_op_interact (ctx, key, 0, interact_fnc, out, out);
141 fail_if_err (err);
142
143 fputs ("[-- Last response --]\n", stdout);
144 flush_data (out);
145
146 gpgme_data_release (out);
147 gpgme_key_unref (key);
148 gpgme_key_unref (signing_key);
149 gpgme_release (ctx);
150 }
151
152
153 void
154 verify_key_signature (const char *key_fpr, const char *signer_keyid)
155 {
156 gpgme_ctx_t ctx;
157 gpgme_error_t err;
119158 gpgme_key_t signed_key = NULL;
120159 gpgme_user_id_t signed_uid = NULL;
121160 gpgme_key_sig_t key_sig = NULL;
122 char *agent_info;
123161 int mode;
124162
125 (void)argc;
126 (void)argv;
127
128 init_gpgme (GPGME_PROTOCOL_OpenPGP);
129
130163 err = gpgme_new (&ctx);
131164 fail_if_err (err);
132165
133 /* Sign the key */
134 agent_info = getenv("GPG_AGENT_INFO");
135 if (!(agent_info && strchr (agent_info, ':')))
136 gpgme_set_passphrase_cb (ctx, passphrase_cb, 0);
137
138 err = gpgme_get_key (ctx, signer_fpr, &signing_key, 1);
139 fail_if_err (err);
140 err = gpgme_signers_add (ctx, signing_key);
141 fail_if_err (err);
142
143 err = gpgme_set_ctx_flag (ctx, "cert-expire", "42d");
144 fail_if_err (err);
145
146 err = gpgme_get_key (ctx, key_fpr, &key, 0);
147 fail_if_err (err);
148
149 err = gpgme_data_new (&out);
150 fail_if_err (err);
151
152 err = gpgme_op_interact (ctx, key, 0, interact_fnc, out, out);
153 fail_if_err (err);
154
155 fputs ("[-- Last response --]\n", stdout);
156 flush_data (out);
157
158 gpgme_data_release (out);
159 gpgme_key_unref (key);
160 gpgme_key_unref (signing_key);
161
162 /* Verify the key signature */
163166 mode = gpgme_get_keylist_mode (ctx);
164167 mode |= GPGME_KEYLIST_MODE_SIGS;
165168 err = gpgme_set_keylist_mode (ctx, mode);
167170 err = gpgme_get_key (ctx, key_fpr, &signed_key, 0);
168171 fail_if_err (err);
169172
170 signed_uid = key->uids;
173 signed_uid = signed_key->uids;
171174 if (!signed_uid)
172175 {
173176 fprintf (stderr, "Signed key has no user IDs\n");
179182 exit (1);
180183 }
181184 key_sig = signed_uid->signatures->next;
182 if (strcmp ("2D727CC768697734", key_sig->keyid))
185 if (strcmp (signer_keyid, key_sig->keyid))
183186 {
184187 fprintf (stderr, "Unexpected key ID in second user ID sig: %s\n",
185188 key_sig->keyid);
195198
196199 gpgme_key_unref (signed_key);
197200 gpgme_release (ctx);
201 }
202
203
204 int
205 main (int argc, char **argv)
206 {
207 const char *signer_fpr = "A0FF4590BB6122EDEF6E3C542D727CC768697734"; /* Alpha Test */
208 const char *signer_keyid = signer_fpr + strlen(signer_fpr) - 16;
209 const char *key_fpr = "D695676BDCEDCC2CDD6152BCFE180B1DA9E3B0B2"; /* Bravo Test */
210
211 (void)argc;
212 (void)argv;
213
214 init_gpgme (GPGME_PROTOCOL_OpenPGP);
215
216 sign_key (key_fpr, signer_fpr);
217 verify_key_signature (key_fpr, signer_keyid);
198218
199219 return 0;
200220 }
0 # Makefile.in generated by automake 1.16.4 from Makefile.am.
1 # @configure_input@
2
3 # Copyright (C) 1994-2021 Free Software Foundation, Inc.
4
5 # This Makefile.in is free software; the Free Software Foundation
6 # gives unlimited permission to copy and/or distribute it,
7 # with or without modifications, as long as this notice is preserved.
8
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
11 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
12 # PARTICULAR PURPOSE.
13
14 @SET_MAKE@
15
16 # Copyright (C) 2000 Werner Koch (dd9jn)
17 # Copyright (C) 2001 g10 Code GmbH
18 #
19 # This file is part of GPGME.
20 #
21 # GPGME is free software; you can redistribute it and/or modify it
22 # under the terms of the GNU Lesser General Public License as
23 # published by the Free Software Foundation; either version 2.1 of the
24 # License, or (at your option) any later version.
25 #
26 # GPGME is distributed in the hope that it will be useful, but WITHOUT
27 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
28 # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General
29 # Public License for more details.
30 #
31 # You should have received a copy of the GNU Lesser General Public
32 # License along with this program; if not, see <https://gnu.org/licenses/>.
33 # SPDX-License-Identifier: LGPL-2.1-or-later
34
35
36 VPATH = @srcdir@
37 am__is_gnu_make = { \
38 if test -z '$(MAKELEVEL)'; then \
39 false; \
40 elif test -n '$(MAKE_HOST)'; then \
41 true; \
42 elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
43 true; \
44 else \
45 false; \
46 fi; \
47 }
48 am__make_running_with_option = \
49 case $${target_option-} in \
50 ?) ;; \
51 *) echo "am__make_running_with_option: internal error: invalid" \
52 "target option '$${target_option-}' specified" >&2; \
53 exit 1;; \
54 esac; \
55 has_opt=no; \
56 sane_makeflags=$$MAKEFLAGS; \
57 if $(am__is_gnu_make); then \
58 sane_makeflags=$$MFLAGS; \
59 else \
60 case $$MAKEFLAGS in \
61 *\\[\ \ ]*) \
62 bs=\\; \
63 sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
64 | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
65 esac; \
66 fi; \
67 skip_next=no; \
68 strip_trailopt () \
69 { \
70 flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
71 }; \
72 for flg in $$sane_makeflags; do \
73 test $$skip_next = yes && { skip_next=no; continue; }; \
74 case $$flg in \
75 *=*|--*) continue;; \
76 -*I) strip_trailopt 'I'; skip_next=yes;; \
77 -*I?*) strip_trailopt 'I';; \
78 -*O) strip_trailopt 'O'; skip_next=yes;; \
79 -*O?*) strip_trailopt 'O';; \
80 -*l) strip_trailopt 'l'; skip_next=yes;; \
81 -*l?*) strip_trailopt 'l';; \
82 -[dEDm]) skip_next=yes;; \
83 -[JT]) skip_next=yes;; \
84 esac; \
85 case $$flg in \
86 *$$target_option*) has_opt=yes; break;; \
87 esac; \
88 done; \
89 test $$has_opt = yes
90 am__make_dryrun = (target_option=n; $(am__make_running_with_option))
91 am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
92 pkgdatadir = $(datadir)/@PACKAGE@
93 pkgincludedir = $(includedir)/@PACKAGE@
94 pkglibdir = $(libdir)/@PACKAGE@
95 pkglibexecdir = $(libexecdir)/@PACKAGE@
96 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
97 install_sh_DATA = $(install_sh) -c -m 644
98 install_sh_PROGRAM = $(install_sh) -c
99 install_sh_SCRIPT = $(install_sh) -c
100 INSTALL_HEADER = $(INSTALL_DATA)
101 transform = $(program_transform_name)
102 NORMAL_INSTALL = :
103 PRE_INSTALL = :
104 POST_INSTALL = :
105 NORMAL_UNINSTALL = :
106 PRE_UNINSTALL = :
107 POST_UNINSTALL = :
108 build_triplet = @build@
109 host_triplet = @host@
110 TESTS = initial.test $(am__EXEEXT_1) final.test
111 noinst_PROGRAMS = $(am__EXEEXT_1) t-genkey$(EXEEXT) \
112 cms-keylist$(EXEEXT) cms-decrypt$(EXEEXT)
113 subdir = tests/gpgsm
114 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
115 am__aclocal_m4_deps = $(top_srcdir)/m4/ax_cxx_compile_stdcxx.m4 \
116 $(top_srcdir)/m4/ax_pkg_swig.m4 \
117 $(top_srcdir)/m4/ax_python_devel.m4 \
118 $(top_srcdir)/m4/glib-2.0.m4 $(top_srcdir)/m4/glibc21.m4 \
119 $(top_srcdir)/m4/gnupg-ttyname.m4 \
120 $(top_srcdir)/m4/gpg-error.m4 $(top_srcdir)/m4/libassuan.m4 \
121 $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
122 $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
123 $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/pkg.m4 \
124 $(top_srcdir)/m4/python.m4 $(top_srcdir)/m4/qt.m4 \
125 $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
126 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
127 $(ACLOCAL_M4)
128 DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
129 $(am__DIST_COMMON)
130 mkinstalldirs = $(SHELL) $(top_srcdir)/build-aux/mkinstalldirs
131 CONFIG_HEADER = $(top_builddir)/conf/config.h
132 CONFIG_CLEAN_FILES =
133 CONFIG_CLEAN_VPATH_FILES =
134 am__EXEEXT_1 = t-import$(EXEEXT) t-keylist$(EXEEXT) t-encrypt$(EXEEXT) \
135 t-verify$(EXEEXT) t-decrypt$(EXEEXT) t-sign$(EXEEXT) \
136 t-export$(EXEEXT)
137 PROGRAMS = $(noinst_PROGRAMS)
138 cms_decrypt_SOURCES = cms-decrypt.c
139 cms_decrypt_OBJECTS = cms-decrypt.$(OBJEXT)
140 cms_decrypt_LDADD = $(LDADD)
141 cms_decrypt_DEPENDENCIES = ../../src/libgpgme.la
142 AM_V_lt = $(am__v_lt_@AM_V@)
143 am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
144 am__v_lt_0 = --silent
145 am__v_lt_1 =
146 cms_keylist_SOURCES = cms-keylist.c
147 cms_keylist_OBJECTS = cms-keylist.$(OBJEXT)
148 cms_keylist_LDADD = $(LDADD)
149 cms_keylist_DEPENDENCIES = ../../src/libgpgme.la
150 t_decrypt_SOURCES = t-decrypt.c
151 t_decrypt_OBJECTS = t-decrypt.$(OBJEXT)
152 t_decrypt_LDADD = $(LDADD)
153 t_decrypt_DEPENDENCIES = ../../src/libgpgme.la
154 t_encrypt_SOURCES = t-encrypt.c
155 t_encrypt_OBJECTS = t-encrypt.$(OBJEXT)
156 t_encrypt_LDADD = $(LDADD)
157 t_encrypt_DEPENDENCIES = ../../src/libgpgme.la
158 t_export_SOURCES = t-export.c
159 t_export_OBJECTS = t-export.$(OBJEXT)
160 t_export_LDADD = $(LDADD)
161 t_export_DEPENDENCIES = ../../src/libgpgme.la
162 t_genkey_SOURCES = t-genkey.c
163 t_genkey_OBJECTS = t-genkey.$(OBJEXT)
164 t_genkey_LDADD = $(LDADD)
165 t_genkey_DEPENDENCIES = ../../src/libgpgme.la
166 t_import_SOURCES = t-import.c
167 t_import_OBJECTS = t-import.$(OBJEXT)
168 t_import_LDADD = $(LDADD)
169 t_import_DEPENDENCIES = ../../src/libgpgme.la
170 t_keylist_SOURCES = t-keylist.c
171 t_keylist_OBJECTS = t-keylist.$(OBJEXT)
172 t_keylist_LDADD = $(LDADD)
173 t_keylist_DEPENDENCIES = ../../src/libgpgme.la
174 t_sign_SOURCES = t-sign.c
175 t_sign_OBJECTS = t-sign.$(OBJEXT)
176 t_sign_LDADD = $(LDADD)
177 t_sign_DEPENDENCIES = ../../src/libgpgme.la
178 t_verify_SOURCES = t-verify.c
179 t_verify_OBJECTS = t-verify.$(OBJEXT)
180 t_verify_LDADD = $(LDADD)
181 t_verify_DEPENDENCIES = ../../src/libgpgme.la
182 AM_V_P = $(am__v_P_@AM_V@)
183 am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
184 am__v_P_0 = false
185 am__v_P_1 = :
186 AM_V_GEN = $(am__v_GEN_@AM_V@)
187 am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
188 am__v_GEN_0 = @echo " GEN " $@;
189 am__v_GEN_1 =
190 AM_V_at = $(am__v_at_@AM_V@)
191 am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
192 am__v_at_0 = @
193 am__v_at_1 =
194 DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/conf
195 depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp
196 am__maybe_remake_depfiles = depfiles
197 am__depfiles_remade = ./$(DEPDIR)/cms-decrypt.Po \
198 ./$(DEPDIR)/cms-keylist.Po ./$(DEPDIR)/t-decrypt.Po \
199 ./$(DEPDIR)/t-encrypt.Po ./$(DEPDIR)/t-export.Po \
200 ./$(DEPDIR)/t-genkey.Po ./$(DEPDIR)/t-import.Po \
201 ./$(DEPDIR)/t-keylist.Po ./$(DEPDIR)/t-sign.Po \
202 ./$(DEPDIR)/t-verify.Po
203 am__mv = mv -f
204 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
205 $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
206 LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
207 $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
208 $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
209 $(AM_CFLAGS) $(CFLAGS)
210 AM_V_CC = $(am__v_CC_@AM_V@)
211 am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
212 am__v_CC_0 = @echo " CC " $@;
213 am__v_CC_1 =
214 CCLD = $(CC)
215 LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
216 $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
217 $(AM_LDFLAGS) $(LDFLAGS) -o $@
218 AM_V_CCLD = $(am__v_CCLD_@AM_V@)
219 am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
220 am__v_CCLD_0 = @echo " CCLD " $@;
221 am__v_CCLD_1 =
222 SOURCES = cms-decrypt.c cms-keylist.c t-decrypt.c t-encrypt.c \
223 t-export.c t-genkey.c t-import.c t-keylist.c t-sign.c \
224 t-verify.c
225 DIST_SOURCES = cms-decrypt.c cms-keylist.c t-decrypt.c t-encrypt.c \
226 t-export.c t-genkey.c t-import.c t-keylist.c t-sign.c \
227 t-verify.c
228 am__can_run_installinfo = \
229 case $$AM_UPDATE_INFO_DIR in \
230 n|no|NO) false;; \
231 *) (install-info --version) >/dev/null 2>&1;; \
232 esac
233 HEADERS = $(noinst_HEADERS)
234 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
235 # Read a list of newline-separated strings from the standard input,
236 # and print each of them once, without duplicates. Input order is
237 # *not* preserved.
238 am__uniquify_input = $(AWK) '\
239 BEGIN { nonempty = 0; } \
240 { items[$$0] = 1; nonempty = 1; } \
241 END { if (nonempty) { for (i in items) print i; }; } \
242 '
243 # Make sure the list of sources is unique. This is necessary because,
244 # e.g., the same source file might be shared among _SOURCES variables
245 # for different programs/libraries.
246 am__define_uniq_tagged_files = \
247 list='$(am__tagged_files)'; \
248 unique=`for i in $$list; do \
249 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
250 done | $(am__uniquify_input)`
251 am__tty_colors_dummy = \
252 mgn= red= grn= lgn= blu= brg= std=; \
253 am__color_tests=no
254 am__tty_colors = { \
255 $(am__tty_colors_dummy); \
256 if test "X$(AM_COLOR_TESTS)" = Xno; then \
257 am__color_tests=no; \
258 elif test "X$(AM_COLOR_TESTS)" = Xalways; then \
259 am__color_tests=yes; \
260 elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \
261 am__color_tests=yes; \
262 fi; \
263 if test $$am__color_tests = yes; then \
264 red=''; \
265 grn=''; \
266 lgn=''; \
267 blu=''; \
268 mgn=''; \
269 brg=''; \
270 std=''; \
271 fi; \
272 }
273 am__DIST_COMMON = $(srcdir)/Makefile.in \
274 $(top_srcdir)/build-aux/depcomp \
275 $(top_srcdir)/build-aux/mkinstalldirs
276 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
277 ACLOCAL = @ACLOCAL@
278 AMTAR = @AMTAR@
279 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
280 AR = @AR@
281 AS = @AS@
282 AUTOCONF = @AUTOCONF@
283 AUTOHEADER = @AUTOHEADER@
284 AUTOMAKE = @AUTOMAKE@
285 AWK = @AWK@
286 BUILD_FILEVERSION = @BUILD_FILEVERSION@
287 BUILD_REVISION = @BUILD_REVISION@
288 BUILD_TIMESTAMP = @BUILD_TIMESTAMP@
289 BUILD_VERSION = @BUILD_VERSION@
290 CC = @CC@
291 CCDEPMODE = @CCDEPMODE@
292 CC_FOR_BUILD = @CC_FOR_BUILD@
293 CFLAGS = @CFLAGS@
294 CPP = @CPP@
295 CPPFLAGS = @CPPFLAGS@
296 CSCOPE = @CSCOPE@
297 CTAGS = @CTAGS@
298 CXX = @CXX@
299 CXXCPP = @CXXCPP@
300 CXXDEPMODE = @CXXDEPMODE@
301 CXXFLAGS = @CXXFLAGS@
302 CYGPATH_W = @CYGPATH_W@
303 DEFS = @DEFS@
304 DEPDIR = @DEPDIR@
305 DLLTOOL = @DLLTOOL@
306 DOXYGEN = @DOXYGEN@
307 DSYMUTIL = @DSYMUTIL@
308 DUMPBIN = @DUMPBIN@
309 ECHO_C = @ECHO_C@
310 ECHO_N = @ECHO_N@
311 ECHO_T = @ECHO_T@
312 EGREP = @EGREP@
313 ENABLED_LANGUAGES = @ENABLED_LANGUAGES@
314 ETAGS = @ETAGS@
315 EXEEXT = @EXEEXT@
316 FGREP = @FGREP@
317 GITLOG_TO_CHANGELOG = @GITLOG_TO_CHANGELOG@
318 GLIBC21 = @GLIBC21@
319 GLIB_CFLAGS = @GLIB_CFLAGS@
320 GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
321 GLIB_LIBS = @GLIB_LIBS@
322 GLIB_MKENUMS = @GLIB_MKENUMS@
323 GOBJECT_QUERY = @GOBJECT_QUERY@
324 GPGME_CONFIG_API_VERSION = @GPGME_CONFIG_API_VERSION@
325 GPGME_CONFIG_AVAIL_LANG = @GPGME_CONFIG_AVAIL_LANG@
326 GPGME_CONFIG_CFLAGS = @GPGME_CONFIG_CFLAGS@
327 GPGME_CONFIG_HOST = @GPGME_CONFIG_HOST@
328 GPGME_CONFIG_LIBS = @GPGME_CONFIG_LIBS@
329 GPGME_QTTEST_CFLAGS = @GPGME_QTTEST_CFLAGS@
330 GPGME_QTTEST_LIBS = @GPGME_QTTEST_LIBS@
331 GPGME_QT_CFLAGS = @GPGME_QT_CFLAGS@
332 GPGME_QT_LIBS = @GPGME_QT_LIBS@
333 GPGRT_CONFIG = @GPGRT_CONFIG@
334 GPG_ERROR_CFLAGS = @GPG_ERROR_CFLAGS@
335 GPG_ERROR_CONFIG = @GPG_ERROR_CONFIG@
336 GPG_ERROR_LIBS = @GPG_ERROR_LIBS@
337 GPG_ERROR_MT_CFLAGS = @GPG_ERROR_MT_CFLAGS@
338 GPG_ERROR_MT_LIBS = @GPG_ERROR_MT_LIBS@
339 GRAPHVIZ = @GRAPHVIZ@
340 GREP = @GREP@
341 HAVE_CXX11 = @HAVE_CXX11@
342 HAVE_DOT = @HAVE_DOT@
343 INSTALL = @INSTALL@
344 INSTALL_DATA = @INSTALL_DATA@
345 INSTALL_PROGRAM = @INSTALL_PROGRAM@
346 INSTALL_SCRIPT = @INSTALL_SCRIPT@
347 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
348 LD = @LD@
349 LDADD_FOR_TESTS_KLUDGE = @LDADD_FOR_TESTS_KLUDGE@
350 LDFLAGS = @LDFLAGS@
351 LIBASSUAN_CFLAGS = @LIBASSUAN_CFLAGS@
352 LIBASSUAN_CONFIG = @LIBASSUAN_CONFIG@
353 LIBASSUAN_LIBS = @LIBASSUAN_LIBS@
354 LIBGPGMEPP_LT_AGE = @LIBGPGMEPP_LT_AGE@
355 LIBGPGMEPP_LT_CURRENT = @LIBGPGMEPP_LT_CURRENT@
356 LIBGPGMEPP_LT_REVISION = @LIBGPGMEPP_LT_REVISION@
357 LIBGPGME_LT_AGE = @LIBGPGME_LT_AGE@
358 LIBGPGME_LT_CURRENT = @LIBGPGME_LT_CURRENT@
359 LIBGPGME_LT_REVISION = @LIBGPGME_LT_REVISION@
360 LIBOBJS = @LIBOBJS@
361 LIBQGPGME_LT_AGE = @LIBQGPGME_LT_AGE@
362 LIBQGPGME_LT_CURRENT = @LIBQGPGME_LT_CURRENT@
363 LIBQGPGME_LT_REVISION = @LIBQGPGME_LT_REVISION@
364 LIBS = @LIBS@
365 LIBTOOL = @LIBTOOL@
366 LIPO = @LIPO@
367 LN_S = @LN_S@
368 LTLIBOBJS = @LTLIBOBJS@
369 MAINT = @MAINT@
370 MAKEINFO = @MAKEINFO@
371 MANIFEST_TOOL = @MANIFEST_TOOL@
372 MKDIR_P = @MKDIR_P@
373 MOC = @MOC@
374 MOC2 = @MOC2@
375 NEED__FILE_OFFSET_BITS = @NEED__FILE_OFFSET_BITS@
376 NM = @NM@
377 NMEDIT = @NMEDIT@
378 OBJDUMP = @OBJDUMP@
379 OBJEXT = @OBJEXT@
380 OTOOL = @OTOOL@
381 OTOOL64 = @OTOOL64@
382 PACKAGE = @PACKAGE@
383 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
384 PACKAGE_NAME = @PACKAGE_NAME@
385 PACKAGE_STRING = @PACKAGE_STRING@
386 PACKAGE_TARNAME = @PACKAGE_TARNAME@
387 PACKAGE_URL = @PACKAGE_URL@
388 PACKAGE_VERSION = @PACKAGE_VERSION@
389 PATH_SEPARATOR = @PATH_SEPARATOR@
390 PKG_CONFIG = @PKG_CONFIG@
391 PYTHON = @PYTHON@
392 PYTHONS = @PYTHONS@
393 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
394 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
395 PYTHON_EXTRA_LDFLAGS = @PYTHON_EXTRA_LDFLAGS@
396 PYTHON_EXTRA_LIBS = @PYTHON_EXTRA_LIBS@
397 PYTHON_LDFLAGS = @PYTHON_LDFLAGS@
398 PYTHON_PLATFORM = @PYTHON_PLATFORM@
399 PYTHON_PREFIX = @PYTHON_PREFIX@
400 PYTHON_SITE_PKG = @PYTHON_SITE_PKG@
401 PYTHON_VERSION = @PYTHON_VERSION@
402 QTCHOOSER = @QTCHOOSER@
403 RANLIB = @RANLIB@
404 RC = @RC@
405 SED = @SED@
406 SET_MAKE = @SET_MAKE@
407 SHELL = @SHELL@
408 STRIP = @STRIP@
409 SWIG = @SWIG@
410 SWIG_LIB = @SWIG_LIB@
411 SYSROOT = @SYSROOT@
412 VERSION = @VERSION@
413 VERSION_MAJOR = @VERSION_MAJOR@
414 VERSION_MICRO = @VERSION_MICRO@
415 VERSION_MINOR = @VERSION_MINOR@
416 VERSION_NUMBER = @VERSION_NUMBER@
417 abs_builddir = @abs_builddir@
418 abs_srcdir = @abs_srcdir@
419 abs_top_builddir = @abs_top_builddir@
420 abs_top_srcdir = @abs_top_srcdir@
421 ac_ct_AR = @ac_ct_AR@
422 ac_ct_CC = @ac_ct_CC@
423 ac_ct_CXX = @ac_ct_CXX@
424 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
425 am__include = @am__include@
426 am__leading_dot = @am__leading_dot@
427 am__quote = @am__quote@
428 am__tar = @am__tar@
429 am__untar = @am__untar@
430 bindir = @bindir@
431 build = @build@
432 build_alias = @build_alias@
433 build_cpu = @build_cpu@
434 build_os = @build_os@
435 build_vendor = @build_vendor@
436 builddir = @builddir@
437 datadir = @datadir@
438 datarootdir = @datarootdir@
439 docdir = @docdir@
440 dvidir = @dvidir@
441 emacs_local_vars_begin = @emacs_local_vars_begin@
442 emacs_local_vars_end = @emacs_local_vars_end@
443 emacs_local_vars_read_only = @emacs_local_vars_read_only@
444 exec_prefix = @exec_prefix@
445 host = @host@
446 host_alias = @host_alias@
447 host_cpu = @host_cpu@
448 host_os = @host_os@
449 host_vendor = @host_vendor@
450 htmldir = @htmldir@
451 includedir = @includedir@
452 infodir = @infodir@
453 install_sh = @install_sh@
454 libdir = @libdir@
455 libexecdir = @libexecdir@
456 localedir = @localedir@
457 localstatedir = @localstatedir@
458 mandir = @mandir@
459 mkdir_p = @mkdir_p@
460 oldincludedir = @oldincludedir@
461 pdfdir = @pdfdir@
462 pkgpyexecdir = @pkgpyexecdir@
463 pkgpythondir = @pkgpythondir@
464 prefix = @prefix@
465 program_transform_name = @program_transform_name@
466 psdir = @psdir@
467 pyexecdir = @pyexecdir@
468 pythondir = @pythondir@
469 runstatedir = @runstatedir@
470 sbindir = @sbindir@
471 sharedstatedir = @sharedstatedir@
472 srcdir = @srcdir@
473 sysconfdir = @sysconfdir@
474 target_alias = @target_alias@
475 top_build_prefix = @top_build_prefix@
476 top_builddir = @top_builddir@
477 top_srcdir = @top_srcdir@
478 GPGSM = gpgsm
479 GPG_AGENT = gpg-agent
480 GNUPGHOME = $(abs_builddir)
481 TESTS_ENVIRONMENT = GNUPGHOME=$(GNUPGHOME) LC_ALL=C GPG_AGENT_INFO= \
482 top_srcdir=$(top_srcdir)
483
484 noinst_HEADERS = t-support.h
485 c_tests = t-import t-keylist t-encrypt t-verify t-decrypt t-sign t-export
486 EXTRA_DIST = cert_dfn_pca01.der cert_dfn_pca15.der cert_g10code_test1.der \
487 $(key_id) initial.test final.test
488
489 AM_CPPFLAGS = -I$(top_builddir)/src @GPG_ERROR_CFLAGS@
490 AM_LDFLAGS = -no-install
491 LDADD = ../../src/libgpgme.la @LDADD_FOR_TESTS_KLUDGE@
492 key_id = 32100C27173EF6E9C4E9A25D3D69F86D37A4F939
493 CLEANFILES = pubring-stamp pubring.kbx pubring.kbx~ gpgsm.conf trustlist.txt \
494 random_seed S.gpg-agent gpg-sample.stamp
495
496 BUILT_SOURCES = gpgsm.conf trustlist.txt pubring-stamp \
497 gpg-sample.stamp
498
499 all: $(BUILT_SOURCES)
500 $(MAKE) $(AM_MAKEFLAGS) all-am
501
502 .SUFFIXES:
503 .SUFFIXES: .c .lo .o .obj
504 $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
505 @for dep in $?; do \
506 case '$(am__configure_deps)' in \
507 *$$dep*) \
508 ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
509 && { if test -f $@; then exit 0; else break; fi; }; \
510 exit 1;; \
511 esac; \
512 done; \
513 echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/gpgsm/Makefile'; \
514 $(am__cd) $(top_srcdir) && \
515 $(AUTOMAKE) --gnu tests/gpgsm/Makefile
516 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
517 @case '$?' in \
518 *config.status*) \
519 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
520 *) \
521 echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
522 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
523 esac;
524
525 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
526 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
527
528 $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
529 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
530 $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
531 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
532 $(am__aclocal_m4_deps):
533
534 clean-noinstPROGRAMS:
535 @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \
536 echo " rm -f" $$list; \
537 rm -f $$list || exit $$?; \
538 test -n "$(EXEEXT)" || exit 0; \
539 list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
540 echo " rm -f" $$list; \
541 rm -f $$list
542
543 cms-decrypt$(EXEEXT): $(cms_decrypt_OBJECTS) $(cms_decrypt_DEPENDENCIES) $(EXTRA_cms_decrypt_DEPENDENCIES)
544 @rm -f cms-decrypt$(EXEEXT)
545 $(AM_V_CCLD)$(LINK) $(cms_decrypt_OBJECTS) $(cms_decrypt_LDADD) $(LIBS)
546
547 cms-keylist$(EXEEXT): $(cms_keylist_OBJECTS) $(cms_keylist_DEPENDENCIES) $(EXTRA_cms_keylist_DEPENDENCIES)
548 @rm -f cms-keylist$(EXEEXT)
549 $(AM_V_CCLD)$(LINK) $(cms_keylist_OBJECTS) $(cms_keylist_LDADD) $(LIBS)
550
551 t-decrypt$(EXEEXT): $(t_decrypt_OBJECTS) $(t_decrypt_DEPENDENCIES) $(EXTRA_t_decrypt_DEPENDENCIES)
552 @rm -f t-decrypt$(EXEEXT)
553 $(AM_V_CCLD)$(LINK) $(t_decrypt_OBJECTS) $(t_decrypt_LDADD) $(LIBS)
554
555 t-encrypt$(EXEEXT): $(t_encrypt_OBJECTS) $(t_encrypt_DEPENDENCIES) $(EXTRA_t_encrypt_DEPENDENCIES)
556 @rm -f t-encrypt$(EXEEXT)
557 $(AM_V_CCLD)$(LINK) $(t_encrypt_OBJECTS) $(t_encrypt_LDADD) $(LIBS)
558
559 t-export$(EXEEXT): $(t_export_OBJECTS) $(t_export_DEPENDENCIES) $(EXTRA_t_export_DEPENDENCIES)
560 @rm -f t-export$(EXEEXT)
561 $(AM_V_CCLD)$(LINK) $(t_export_OBJECTS) $(t_export_LDADD) $(LIBS)
562
563 t-genkey$(EXEEXT): $(t_genkey_OBJECTS) $(t_genkey_DEPENDENCIES) $(EXTRA_t_genkey_DEPENDENCIES)
564 @rm -f t-genkey$(EXEEXT)
565 $(AM_V_CCLD)$(LINK) $(t_genkey_OBJECTS) $(t_genkey_LDADD) $(LIBS)
566
567 t-import$(EXEEXT): $(t_import_OBJECTS) $(t_import_DEPENDENCIES) $(EXTRA_t_import_DEPENDENCIES)
568 @rm -f t-import$(EXEEXT)
569 $(AM_V_CCLD)$(LINK) $(t_import_OBJECTS) $(t_import_LDADD) $(LIBS)
570
571 t-keylist$(EXEEXT): $(t_keylist_OBJECTS) $(t_keylist_DEPENDENCIES) $(EXTRA_t_keylist_DEPENDENCIES)
572 @rm -f t-keylist$(EXEEXT)
573 $(AM_V_CCLD)$(LINK) $(t_keylist_OBJECTS) $(t_keylist_LDADD) $(LIBS)
574
575 t-sign$(EXEEXT): $(t_sign_OBJECTS) $(t_sign_DEPENDENCIES) $(EXTRA_t_sign_DEPENDENCIES)
576 @rm -f t-sign$(EXEEXT)
577 $(AM_V_CCLD)$(LINK) $(t_sign_OBJECTS) $(t_sign_LDADD) $(LIBS)
578
579 t-verify$(EXEEXT): $(t_verify_OBJECTS) $(t_verify_DEPENDENCIES) $(EXTRA_t_verify_DEPENDENCIES)
580 @rm -f t-verify$(EXEEXT)
581 $(AM_V_CCLD)$(LINK) $(t_verify_OBJECTS) $(t_verify_LDADD) $(LIBS)
582
583 mostlyclean-compile:
584 -rm -f *.$(OBJEXT)
585
586 distclean-compile:
587 -rm -f *.tab.c
588
589 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cms-decrypt.Po@am__quote@ # am--include-marker
590 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cms-keylist.Po@am__quote@ # am--include-marker
591 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t-decrypt.Po@am__quote@ # am--include-marker
592 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t-encrypt.Po@am__quote@ # am--include-marker
593 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t-export.Po@am__quote@ # am--include-marker
594 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t-genkey.Po@am__quote@ # am--include-marker
595 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t-import.Po@am__quote@ # am--include-marker
596 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t-keylist.Po@am__quote@ # am--include-marker
597 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t-sign.Po@am__quote@ # am--include-marker
598 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t-verify.Po@am__quote@ # am--include-marker
599
600 $(am__depfiles_remade):
601 @$(MKDIR_P) $(@D)
602 @echo '# dummy' >$@-t && $(am__mv) $@-t $@
603
604 am--depfiles: $(am__depfiles_remade)
605
606 .c.o:
607 @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
608 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
609 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
610 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
611 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
612
613 .c.obj:
614 @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
615 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
616 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
617 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
618 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
619
620 .c.lo:
621 @am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
622 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
623 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
624 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
625 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
626
627 mostlyclean-libtool:
628 -rm -f *.lo
629
630 clean-libtool:
631 -rm -rf .libs _libs
632
633 ID: $(am__tagged_files)
634 $(am__define_uniq_tagged_files); mkid -fID $$unique
635 tags: tags-am
636 TAGS: tags
637
638 tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
639 set x; \
640 here=`pwd`; \
641 $(am__define_uniq_tagged_files); \
642 shift; \
643 if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
644 test -n "$$unique" || unique=$$empty_fix; \
645 if test $$# -gt 0; then \
646 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
647 "$$@" $$unique; \
648 else \
649 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
650 $$unique; \
651 fi; \
652 fi
653 ctags: ctags-am
654
655 CTAGS: ctags
656 ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
657 $(am__define_uniq_tagged_files); \
658 test -z "$(CTAGS_ARGS)$$unique" \
659 || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
660 $$unique
661
662 GTAGS:
663 here=`$(am__cd) $(top_builddir) && pwd` \
664 && $(am__cd) $(top_srcdir) \
665 && gtags -i $(GTAGS_ARGS) "$$here"
666 cscopelist: cscopelist-am
667
668 cscopelist-am: $(am__tagged_files)
669 list='$(am__tagged_files)'; \
670 case "$(srcdir)" in \
671 [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
672 *) sdir=$(subdir)/$(srcdir) ;; \
673 esac; \
674 for i in $$list; do \
675 if test -f "$$i"; then \
676 echo "$(subdir)/$$i"; \
677 else \
678 echo "$$sdir/$$i"; \
679 fi; \
680 done >> $(top_builddir)/cscope.files
681
682 distclean-tags:
683 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
684
685 check-TESTS: $(TESTS)
686 @failed=0; all=0; xfail=0; xpass=0; skip=0; \
687 srcdir=$(srcdir); export srcdir; \
688 list=' $(TESTS) '; \
689 $(am__tty_colors); \
690 if test -n "$$list"; then \
691 for tst in $$list; do \
692 if test -f ./$$tst; then dir=./; \
693 elif test -f $$tst; then dir=; \
694 else dir="$(srcdir)/"; fi; \
695 if $(TESTS_ENVIRONMENT) $${dir}$$tst $(AM_TESTS_FD_REDIRECT); then \
696 all=`expr $$all + 1`; \
697 case " $(XFAIL_TESTS) " in \
698 *[\ \ ]$$tst[\ \ ]*) \
699 xpass=`expr $$xpass + 1`; \
700 failed=`expr $$failed + 1`; \
701 col=$$red; res=XPASS; \
702 ;; \
703 *) \
704 col=$$grn; res=PASS; \
705 ;; \
706 esac; \
707 elif test $$? -ne 77; then \
708 all=`expr $$all + 1`; \
709 case " $(XFAIL_TESTS) " in \
710 *[\ \ ]$$tst[\ \ ]*) \
711 xfail=`expr $$xfail + 1`; \
712 col=$$lgn; res=XFAIL; \
713 ;; \
714 *) \
715 failed=`expr $$failed + 1`; \
716 col=$$red; res=FAIL; \
717 ;; \
718 esac; \
719 else \
720 skip=`expr $$skip + 1`; \
721 col=$$blu; res=SKIP; \
722 fi; \
723 echo "$${col}$$res$${std}: $$tst"; \
724 done; \
725 if test "$$all" -eq 1; then \
726 tests="test"; \
727 All=""; \
728 else \
729 tests="tests"; \
730 All="All "; \
731 fi; \
732 if test "$$failed" -eq 0; then \
733 if test "$$xfail" -eq 0; then \
734 banner="$$All$$all $$tests passed"; \
735 else \
736 if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \
737 banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \
738 fi; \
739 else \
740 if test "$$xpass" -eq 0; then \
741 banner="$$failed of $$all $$tests failed"; \
742 else \
743 if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \
744 banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \
745 fi; \
746 fi; \
747 dashes="$$banner"; \
748 skipped=""; \
749 if test "$$skip" -ne 0; then \
750 if test "$$skip" -eq 1; then \
751 skipped="($$skip test was not run)"; \
752 else \
753 skipped="($$skip tests were not run)"; \
754 fi; \
755 test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
756 dashes="$$skipped"; \
757 fi; \
758 report=""; \
759 if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \
760 report="Please report to $(PACKAGE_BUGREPORT)"; \
761 test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \
762 dashes="$$report"; \
763 fi; \
764 dashes=`echo "$$dashes" | sed s/./=/g`; \
765 if test "$$failed" -eq 0; then \
766 col="$$grn"; \
767 else \
768 col="$$red"; \
769 fi; \
770 echo "$${col}$$dashes$${std}"; \
771 echo "$${col}$$banner$${std}"; \
772 test -z "$$skipped" || echo "$${col}$$skipped$${std}"; \
773 test -z "$$report" || echo "$${col}$$report$${std}"; \
774 echo "$${col}$$dashes$${std}"; \
775 test "$$failed" -eq 0; \
776 else :; fi
777 distdir: $(BUILT_SOURCES)
778 $(MAKE) $(AM_MAKEFLAGS) distdir-am
779
780 distdir-am: $(DISTFILES)
781 @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
782 topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
783 list='$(DISTFILES)'; \
784 dist_files=`for file in $$list; do echo $$file; done | \
785 sed -e "s|^$$srcdirstrip/||;t" \
786 -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
787 case $$dist_files in \
788 */*) $(MKDIR_P) `echo "$$dist_files" | \
789 sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
790 sort -u` ;; \
791 esac; \
792 for file in $$dist_files; do \
793 if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
794 if test -d $$d/$$file; then \
795 dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
796 if test -d "$(distdir)/$$file"; then \
797 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
798 fi; \
799 if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
800 cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
801 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
802 fi; \
803 cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
804 else \
805 test -f "$(distdir)/$$file" \
806 || cp -p $$d/$$file "$(distdir)/$$file" \
807 || exit 1; \
808 fi; \
809 done
810 check-am: all-am
811 $(MAKE) $(AM_MAKEFLAGS) check-TESTS
812 check: $(BUILT_SOURCES)
813 $(MAKE) $(AM_MAKEFLAGS) check-am
814 all-am: Makefile $(PROGRAMS) $(HEADERS)
815 installdirs:
816 install: $(BUILT_SOURCES)
817 $(MAKE) $(AM_MAKEFLAGS) install-am
818 install-exec: $(BUILT_SOURCES)
819 $(MAKE) $(AM_MAKEFLAGS) install-exec-am
820 install-data: install-data-am
821 uninstall: uninstall-am
822
823 install-am: all-am
824 @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
825
826 installcheck: installcheck-am
827 install-strip:
828 if test -z '$(STRIP)'; then \
829 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
830 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
831 install; \
832 else \
833 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
834 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
835 "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
836 fi
837 mostlyclean-generic:
838
839 clean-generic:
840 -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
841
842 distclean-generic:
843 -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
844 -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
845
846 maintainer-clean-generic:
847 @echo "This command is intended for maintainers to use"
848 @echo "it deletes files that may require special tools to rebuild."
849 -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
850 clean: clean-am
851
852 clean-am: clean-generic clean-libtool clean-local clean-noinstPROGRAMS \
853 mostlyclean-am
854
855 distclean: distclean-am
856 -rm -f ./$(DEPDIR)/cms-decrypt.Po
857 -rm -f ./$(DEPDIR)/cms-keylist.Po
858 -rm -f ./$(DEPDIR)/t-decrypt.Po
859 -rm -f ./$(DEPDIR)/t-encrypt.Po
860 -rm -f ./$(DEPDIR)/t-export.Po
861 -rm -f ./$(DEPDIR)/t-genkey.Po
862 -rm -f ./$(DEPDIR)/t-import.Po
863 -rm -f ./$(DEPDIR)/t-keylist.Po
864 -rm -f ./$(DEPDIR)/t-sign.Po
865 -rm -f ./$(DEPDIR)/t-verify.Po
866 -rm -f Makefile
867 distclean-am: clean-am distclean-compile distclean-generic \
868 distclean-tags
869
870 dvi: dvi-am
871
872 dvi-am:
873
874 html: html-am
875
876 html-am:
877
878 info: info-am
879
880 info-am:
881
882 install-data-am:
883
884 install-dvi: install-dvi-am
885
886 install-dvi-am:
887
888 install-exec-am:
889
890 install-html: install-html-am
891
892 install-html-am:
893
894 install-info: install-info-am
895
896 install-info-am:
897
898 install-man:
899
900 install-pdf: install-pdf-am
901
902 install-pdf-am:
903
904 install-ps: install-ps-am
905
906 install-ps-am:
907
908 installcheck-am:
909
910 maintainer-clean: maintainer-clean-am
911 -rm -f ./$(DEPDIR)/cms-decrypt.Po
912 -rm -f ./$(DEPDIR)/cms-keylist.Po
913 -rm -f ./$(DEPDIR)/t-decrypt.Po
914 -rm -f ./$(DEPDIR)/t-encrypt.Po
915 -rm -f ./$(DEPDIR)/t-export.Po
916 -rm -f ./$(DEPDIR)/t-genkey.Po
917 -rm -f ./$(DEPDIR)/t-import.Po
918 -rm -f ./$(DEPDIR)/t-keylist.Po
919 -rm -f ./$(DEPDIR)/t-sign.Po
920 -rm -f ./$(DEPDIR)/t-verify.Po
921 -rm -f Makefile
922 maintainer-clean-am: distclean-am maintainer-clean-generic
923
924 mostlyclean: mostlyclean-am
925
926 mostlyclean-am: mostlyclean-compile mostlyclean-generic \
927 mostlyclean-libtool
928
929 pdf: pdf-am
930
931 pdf-am:
932
933 ps: ps-am
934
935 ps-am:
936
937 uninstall-am:
938
939 .MAKE: all check check-am install install-am install-exec \
940 install-strip
941
942 .PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-TESTS \
943 check-am clean clean-generic clean-libtool clean-local \
944 clean-noinstPROGRAMS cscopelist-am ctags ctags-am distclean \
945 distclean-compile distclean-generic distclean-libtool \
946 distclean-tags distdir dvi dvi-am html html-am info info-am \
947 install install-am install-data install-data-am install-dvi \
948 install-dvi-am install-exec install-exec-am install-html \
949 install-html-am install-info install-info-am install-man \
950 install-pdf install-pdf-am install-ps install-ps-am \
951 install-strip installcheck installcheck-am installdirs \
952 maintainer-clean maintainer-clean-generic mostlyclean \
953 mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
954 pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am
955
956 .PRECIOUS: Makefile
957
958
959 clean-local:
960 -$(TESTS_ENVIRONMENT) $(top_srcdir)/tests/start-stop-agent --stop
961 -rm -fR private-keys-v1.d
962
963 pubring-stamp: $(srcdir)/cert_g10code_test1.der gpg-sample.stamp
964 $(TESTS_ENVIRONMENT) $(GPGSM) --import $(srcdir)/cert_g10code_test1.der
965 touch pubring-stamp
966
967 gpgsm.conf:
968 echo disable-crl-checks > ./gpgsm.conf
969 echo faked-system-time 1008241200 >> ./gpgsm.conf
970 echo "agent-program `which $(GPG_AGENT)`|--debug-quick-random" >> ./gpgsm.conf
971
972 gpg-sample.stamp: $(srcdir)/$(key_id)
973 -$(TESTS_ENVIRONMENT) gpgconf --kill all
974 $(MKDIR_P) ./private-keys-v1.d
975 cp $(srcdir)/$(key_id) private-keys-v1.d/$(key_id).key
976 echo x > ./gpg-sample.stamp
977
978 trustlist.txt:
979 echo $(key_id) > ./trustlist.txt
980 echo >> ./trustlist.txt
981 echo "# CN=test cert 1,OU=Aegypten Project,O=g10 Code GmbH,L=Düsseldorf,C=DE" >> ./trustlist.txt
982 echo "3CF405464F66ED4A7DF45BBDD1E4282E33BDB76E S" >> ./trustlist.txt
983
984 # Tell versions [3.59,3.63) of GNU make to not export all variables.
985 # Otherwise a system limit (for SysV at least) may be exceeded.
986 .NOEXPORT:
0 # Makefile.in generated by automake 1.16.4 from Makefile.am.
1 # @configure_input@
2
3 # Copyright (C) 1994-2021 Free Software Foundation, Inc.
4
5 # This Makefile.in is free software; the Free Software Foundation
6 # gives unlimited permission to copy and/or distribute it,
7 # with or without modifications, as long as this notice is preserved.
8
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
11 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
12 # PARTICULAR PURPOSE.
13
14 @SET_MAKE@
15
16 # Copyright (C) 2018 Bundesamt für Sicherheit in der Informationstechnik
17 # Software engineering by Intevation GmbH
18 #
19 # This file is part of GPGME.
20 #
21 # GPGME is free software; you can redistribute it and/or modify it
22 # under the terms of the GNU Lesser General Public License as
23 # published by the Free Software Foundation; either version 2.1 of the
24 # License, or (at your option) any later version.
25 #
26 # GPGME is distributed in the hope that it will be useful, but WITHOUT
27 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
28 # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General
29 # Public License for more details.
30 #
31 # You should have received a copy of the GNU Lesser General Public
32 # License along with this program; if not, see <https://gnu.org/licenses/>.
33 # SPDX-License-Identifier: LGPL-2.1-or-later
34
35 VPATH = @srcdir@
36 am__is_gnu_make = { \
37 if test -z '$(MAKELEVEL)'; then \
38 false; \
39 elif test -n '$(MAKE_HOST)'; then \
40 true; \
41 elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
42 true; \
43 else \
44 false; \
45 fi; \
46 }
47 am__make_running_with_option = \
48 case $${target_option-} in \
49 ?) ;; \
50 *) echo "am__make_running_with_option: internal error: invalid" \
51 "target option '$${target_option-}' specified" >&2; \
52 exit 1;; \
53 esac; \
54 has_opt=no; \
55 sane_makeflags=$$MAKEFLAGS; \
56 if $(am__is_gnu_make); then \
57 sane_makeflags=$$MFLAGS; \
58 else \
59 case $$MAKEFLAGS in \
60 *\\[\ \ ]*) \
61 bs=\\; \
62 sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
63 | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
64 esac; \
65 fi; \
66 skip_next=no; \
67 strip_trailopt () \
68 { \
69 flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
70 }; \
71 for flg in $$sane_makeflags; do \
72 test $$skip_next = yes && { skip_next=no; continue; }; \
73 case $$flg in \
74 *=*|--*) continue;; \
75 -*I) strip_trailopt 'I'; skip_next=yes;; \
76 -*I?*) strip_trailopt 'I';; \
77 -*O) strip_trailopt 'O'; skip_next=yes;; \
78 -*O?*) strip_trailopt 'O';; \
79 -*l) strip_trailopt 'l'; skip_next=yes;; \
80 -*l?*) strip_trailopt 'l';; \
81 -[dEDm]) skip_next=yes;; \
82 -[JT]) skip_next=yes;; \
83 esac; \
84 case $$flg in \
85 *$$target_option*) has_opt=yes; break;; \
86 esac; \
87 done; \
88 test $$has_opt = yes
89 am__make_dryrun = (target_option=n; $(am__make_running_with_option))
90 am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
91 pkgdatadir = $(datadir)/@PACKAGE@
92 pkgincludedir = $(includedir)/@PACKAGE@
93 pkglibdir = $(libdir)/@PACKAGE@
94 pkglibexecdir = $(libexecdir)/@PACKAGE@
95 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
96 install_sh_DATA = $(install_sh) -c -m 644
97 install_sh_PROGRAM = $(install_sh) -c
98 install_sh_SCRIPT = $(install_sh) -c
99 INSTALL_HEADER = $(INSTALL_DATA)
100 transform = $(program_transform_name)
101 NORMAL_INSTALL = :
102 PRE_INSTALL = :
103 POST_INSTALL = :
104 NORMAL_UNINSTALL = :
105 PRE_UNINSTALL = :
106 POST_UNINSTALL = :
107 build_triplet = @build@
108 host_triplet = @host@
109 TESTS = initial.test $(am__EXEEXT_1) final.test
110 noinst_PROGRAMS = $(am__EXEEXT_1)
111 subdir = tests/json
112 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
113 am__aclocal_m4_deps = $(top_srcdir)/m4/ax_cxx_compile_stdcxx.m4 \
114 $(top_srcdir)/m4/ax_pkg_swig.m4 \
115 $(top_srcdir)/m4/ax_python_devel.m4 \
116 $(top_srcdir)/m4/glib-2.0.m4 $(top_srcdir)/m4/glibc21.m4 \
117 $(top_srcdir)/m4/gnupg-ttyname.m4 \
118 $(top_srcdir)/m4/gpg-error.m4 $(top_srcdir)/m4/libassuan.m4 \
119 $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
120 $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
121 $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/pkg.m4 \
122 $(top_srcdir)/m4/python.m4 $(top_srcdir)/m4/qt.m4 \
123 $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
124 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
125 $(ACLOCAL_M4)
126 DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
127 mkinstalldirs = $(SHELL) $(top_srcdir)/build-aux/mkinstalldirs
128 CONFIG_HEADER = $(top_builddir)/conf/config.h
129 CONFIG_CLEAN_FILES =
130 CONFIG_CLEAN_VPATH_FILES =
131 am__EXEEXT_1 = t-json$(EXEEXT)
132 PROGRAMS = $(noinst_PROGRAMS)
133 am_t_json_OBJECTS = t-json.$(OBJEXT)
134 t_json_OBJECTS = $(am_t_json_OBJECTS)
135 t_json_DEPENDENCIES = ../../src/cJSON.o ../../src/libgpgme.la
136 AM_V_lt = $(am__v_lt_@AM_V@)
137 am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
138 am__v_lt_0 = --silent
139 am__v_lt_1 =
140 AM_V_P = $(am__v_P_@AM_V@)
141 am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
142 am__v_P_0 = false
143 am__v_P_1 = :
144 AM_V_GEN = $(am__v_GEN_@AM_V@)
145 am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
146 am__v_GEN_0 = @echo " GEN " $@;
147 am__v_GEN_1 =
148 AM_V_at = $(am__v_at_@AM_V@)
149 am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
150 am__v_at_0 = @
151 am__v_at_1 =
152 DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/conf
153 depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp
154 am__maybe_remake_depfiles = depfiles
155 am__depfiles_remade = ./$(DEPDIR)/t-json.Po
156 am__mv = mv -f
157 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
158 $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
159 LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
160 $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
161 $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
162 $(AM_CFLAGS) $(CFLAGS)
163 AM_V_CC = $(am__v_CC_@AM_V@)
164 am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
165 am__v_CC_0 = @echo " CC " $@;
166 am__v_CC_1 =
167 CCLD = $(CC)
168 LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
169 $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
170 $(AM_LDFLAGS) $(LDFLAGS) -o $@
171 AM_V_CCLD = $(am__v_CCLD_@AM_V@)
172 am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
173 am__v_CCLD_0 = @echo " CCLD " $@;
174 am__v_CCLD_1 =
175 SOURCES = $(t_json_SOURCES)
176 DIST_SOURCES = $(t_json_SOURCES)
177 am__can_run_installinfo = \
178 case $$AM_UPDATE_INFO_DIR in \
179 n|no|NO) false;; \
180 *) (install-info --version) >/dev/null 2>&1;; \
181 esac
182 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
183 # Read a list of newline-separated strings from the standard input,
184 # and print each of them once, without duplicates. Input order is
185 # *not* preserved.
186 am__uniquify_input = $(AWK) '\
187 BEGIN { nonempty = 0; } \
188 { items[$$0] = 1; nonempty = 1; } \
189 END { if (nonempty) { for (i in items) print i; }; } \
190 '
191 # Make sure the list of sources is unique. This is necessary because,
192 # e.g., the same source file might be shared among _SOURCES variables
193 # for different programs/libraries.
194 am__define_uniq_tagged_files = \
195 list='$(am__tagged_files)'; \
196 unique=`for i in $$list; do \
197 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
198 done | $(am__uniquify_input)`
199 am__tty_colors_dummy = \
200 mgn= red= grn= lgn= blu= brg= std=; \
201 am__color_tests=no
202 am__tty_colors = { \
203 $(am__tty_colors_dummy); \
204 if test "X$(AM_COLOR_TESTS)" = Xno; then \
205 am__color_tests=no; \
206 elif test "X$(AM_COLOR_TESTS)" = Xalways; then \
207 am__color_tests=yes; \
208 elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \
209 am__color_tests=yes; \
210 fi; \
211 if test $$am__color_tests = yes; then \
212 red=''; \
213 grn=''; \
214 lgn=''; \
215 blu=''; \
216 mgn=''; \
217 brg=''; \
218 std=''; \
219 fi; \
220 }
221 am__DIST_COMMON = $(srcdir)/Makefile.in \
222 $(top_srcdir)/build-aux/depcomp \
223 $(top_srcdir)/build-aux/mkinstalldirs
224 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
225 ACLOCAL = @ACLOCAL@
226 AMTAR = @AMTAR@
227 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
228 AR = @AR@
229 AS = @AS@
230 AUTOCONF = @AUTOCONF@
231 AUTOHEADER = @AUTOHEADER@
232 AUTOMAKE = @AUTOMAKE@
233 AWK = @AWK@
234 BUILD_FILEVERSION = @BUILD_FILEVERSION@
235 BUILD_REVISION = @BUILD_REVISION@
236 BUILD_TIMESTAMP = @BUILD_TIMESTAMP@
237 BUILD_VERSION = @BUILD_VERSION@
238 CC = @CC@
239 CCDEPMODE = @CCDEPMODE@
240 CC_FOR_BUILD = @CC_FOR_BUILD@
241 CFLAGS = @CFLAGS@
242 CPP = @CPP@
243 CPPFLAGS = @CPPFLAGS@
244 CSCOPE = @CSCOPE@
245 CTAGS = @CTAGS@
246 CXX = @CXX@
247 CXXCPP = @CXXCPP@
248 CXXDEPMODE = @CXXDEPMODE@
249 CXXFLAGS = @CXXFLAGS@
250 CYGPATH_W = @CYGPATH_W@
251 DEFS = @DEFS@
252 DEPDIR = @DEPDIR@
253 DLLTOOL = @DLLTOOL@
254 DOXYGEN = @DOXYGEN@
255 DSYMUTIL = @DSYMUTIL@
256 DUMPBIN = @DUMPBIN@
257 ECHO_C = @ECHO_C@
258 ECHO_N = @ECHO_N@
259 ECHO_T = @ECHO_T@
260 EGREP = @EGREP@
261 ENABLED_LANGUAGES = @ENABLED_LANGUAGES@
262 ETAGS = @ETAGS@
263 EXEEXT = @EXEEXT@
264 FGREP = @FGREP@
265 GITLOG_TO_CHANGELOG = @GITLOG_TO_CHANGELOG@
266 GLIBC21 = @GLIBC21@
267 GLIB_CFLAGS = @GLIB_CFLAGS@
268 GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
269 GLIB_LIBS = @GLIB_LIBS@
270 GLIB_MKENUMS = @GLIB_MKENUMS@
271 GOBJECT_QUERY = @GOBJECT_QUERY@
272 GPGME_CONFIG_API_VERSION = @GPGME_CONFIG_API_VERSION@
273 GPGME_CONFIG_AVAIL_LANG = @GPGME_CONFIG_AVAIL_LANG@
274 GPGME_CONFIG_CFLAGS = @GPGME_CONFIG_CFLAGS@
275 GPGME_CONFIG_HOST = @GPGME_CONFIG_HOST@
276 GPGME_CONFIG_LIBS = @GPGME_CONFIG_LIBS@
277 GPGME_QTTEST_CFLAGS = @GPGME_QTTEST_CFLAGS@
278 GPGME_QTTEST_LIBS = @GPGME_QTTEST_LIBS@
279 GPGME_QT_CFLAGS = @GPGME_QT_CFLAGS@
280 GPGME_QT_LIBS = @GPGME_QT_LIBS@
281 GPGRT_CONFIG = @GPGRT_CONFIG@
282 GPG_ERROR_CFLAGS = @GPG_ERROR_CFLAGS@
283 GPG_ERROR_CONFIG = @GPG_ERROR_CONFIG@
284 GPG_ERROR_LIBS = @GPG_ERROR_LIBS@
285 GPG_ERROR_MT_CFLAGS = @GPG_ERROR_MT_CFLAGS@
286 GPG_ERROR_MT_LIBS = @GPG_ERROR_MT_LIBS@
287 GRAPHVIZ = @GRAPHVIZ@
288 GREP = @GREP@
289 HAVE_CXX11 = @HAVE_CXX11@
290 HAVE_DOT = @HAVE_DOT@
291 INSTALL = @INSTALL@
292 INSTALL_DATA = @INSTALL_DATA@
293 INSTALL_PROGRAM = @INSTALL_PROGRAM@
294 INSTALL_SCRIPT = @INSTALL_SCRIPT@
295 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
296 LD = @LD@
297 LDADD_FOR_TESTS_KLUDGE = @LDADD_FOR_TESTS_KLUDGE@
298 LDFLAGS = @LDFLAGS@
299 LIBASSUAN_CFLAGS = @LIBASSUAN_CFLAGS@
300 LIBASSUAN_CONFIG = @LIBASSUAN_CONFIG@
301 LIBASSUAN_LIBS = @LIBASSUAN_LIBS@
302 LIBGPGMEPP_LT_AGE = @LIBGPGMEPP_LT_AGE@
303 LIBGPGMEPP_LT_CURRENT = @LIBGPGMEPP_LT_CURRENT@
304 LIBGPGMEPP_LT_REVISION = @LIBGPGMEPP_LT_REVISION@
305 LIBGPGME_LT_AGE = @LIBGPGME_LT_AGE@
306 LIBGPGME_LT_CURRENT = @LIBGPGME_LT_CURRENT@
307 LIBGPGME_LT_REVISION = @LIBGPGME_LT_REVISION@
308 LIBOBJS = @LIBOBJS@
309 LIBQGPGME_LT_AGE = @LIBQGPGME_LT_AGE@
310 LIBQGPGME_LT_CURRENT = @LIBQGPGME_LT_CURRENT@
311 LIBQGPGME_LT_REVISION = @LIBQGPGME_LT_REVISION@
312 LIBS = @LIBS@
313 LIBTOOL = @LIBTOOL@
314 LIPO = @LIPO@
315 LN_S = @LN_S@
316 LTLIBOBJS = @LTLIBOBJS@
317 MAINT = @MAINT@
318 MAKEINFO = @MAKEINFO@
319 MANIFEST_TOOL = @MANIFEST_TOOL@
320 MKDIR_P = @MKDIR_P@
321 MOC = @MOC@
322 MOC2 = @MOC2@
323 NEED__FILE_OFFSET_BITS = @NEED__FILE_OFFSET_BITS@
324 NM = @NM@
325 NMEDIT = @NMEDIT@
326 OBJDUMP = @OBJDUMP@
327 OBJEXT = @OBJEXT@
328 OTOOL = @OTOOL@
329 OTOOL64 = @OTOOL64@
330 PACKAGE = @PACKAGE@
331 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
332 PACKAGE_NAME = @PACKAGE_NAME@
333 PACKAGE_STRING = @PACKAGE_STRING@
334 PACKAGE_TARNAME = @PACKAGE_TARNAME@
335 PACKAGE_URL = @PACKAGE_URL@
336 PACKAGE_VERSION = @PACKAGE_VERSION@
337 PATH_SEPARATOR = @PATH_SEPARATOR@
338 PKG_CONFIG = @PKG_CONFIG@
339 PYTHON = @PYTHON@
340 PYTHONS = @PYTHONS@
341 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
342 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
343 PYTHON_EXTRA_LDFLAGS = @PYTHON_EXTRA_LDFLAGS@
344 PYTHON_EXTRA_LIBS = @PYTHON_EXTRA_LIBS@
345 PYTHON_LDFLAGS = @PYTHON_LDFLAGS@
346 PYTHON_PLATFORM = @PYTHON_PLATFORM@
347 PYTHON_PREFIX = @PYTHON_PREFIX@
348 PYTHON_SITE_PKG = @PYTHON_SITE_PKG@
349 PYTHON_VERSION = @PYTHON_VERSION@
350 QTCHOOSER = @QTCHOOSER@
351 RANLIB = @RANLIB@
352 RC = @RC@
353 SED = @SED@
354 SET_MAKE = @SET_MAKE@
355 SHELL = @SHELL@
356 STRIP = @STRIP@
357 SWIG = @SWIG@
358 SWIG_LIB = @SWIG_LIB@
359 SYSROOT = @SYSROOT@
360 VERSION = @VERSION@
361 VERSION_MAJOR = @VERSION_MAJOR@
362 VERSION_MICRO = @VERSION_MICRO@
363 VERSION_MINOR = @VERSION_MINOR@
364 VERSION_NUMBER = @VERSION_NUMBER@
365 abs_builddir = @abs_builddir@
366 abs_srcdir = @abs_srcdir@
367 abs_top_builddir = @abs_top_builddir@
368 abs_top_srcdir = @abs_top_srcdir@
369 ac_ct_AR = @ac_ct_AR@
370 ac_ct_CC = @ac_ct_CC@
371 ac_ct_CXX = @ac_ct_CXX@
372 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
373 am__include = @am__include@
374 am__leading_dot = @am__leading_dot@
375 am__quote = @am__quote@
376 am__tar = @am__tar@
377 am__untar = @am__untar@
378 bindir = @bindir@
379 build = @build@
380 build_alias = @build_alias@
381 build_cpu = @build_cpu@
382 build_os = @build_os@
383 build_vendor = @build_vendor@
384 builddir = @builddir@
385 datadir = @datadir@
386 datarootdir = @datarootdir@
387 docdir = @docdir@
388 dvidir = @dvidir@
389 emacs_local_vars_begin = @emacs_local_vars_begin@
390 emacs_local_vars_end = @emacs_local_vars_end@
391 emacs_local_vars_read_only = @emacs_local_vars_read_only@
392 exec_prefix = @exec_prefix@
393 host = @host@
394 host_alias = @host_alias@
395 host_cpu = @host_cpu@
396 host_os = @host_os@
397 host_vendor = @host_vendor@
398 htmldir = @htmldir@
399 includedir = @includedir@
400 infodir = @infodir@
401 install_sh = @install_sh@
402 libdir = @libdir@
403 libexecdir = @libexecdir@
404 localedir = @localedir@
405 localstatedir = @localstatedir@
406 mandir = @mandir@
407 mkdir_p = @mkdir_p@
408 oldincludedir = @oldincludedir@
409 pdfdir = @pdfdir@
410 pkgpyexecdir = @pkgpyexecdir@
411 pkgpythondir = @pkgpythondir@
412 prefix = @prefix@
413 program_transform_name = @program_transform_name@
414 psdir = @psdir@
415 pyexecdir = @pyexecdir@
416 pythondir = @pythondir@
417 runstatedir = @runstatedir@
418 sbindir = @sbindir@
419 sharedstatedir = @sharedstatedir@
420 srcdir = @srcdir@
421 sysconfdir = @sysconfdir@
422 target_alias = @target_alias@
423 top_build_prefix = @top_build_prefix@
424 top_builddir = @top_builddir@
425 top_srcdir = @top_srcdir@
426 GPGME_JSON = $(abs_builddir)/../../src/gpgme-json
427 GPG = gpg
428 GNUPGHOME = $(abs_builddir)
429 TESTS_ENVIRONMENT = GNUPGHOME=$(GNUPGHOME) LC_ALL=C GPG_AGENT_INFO= \
430 top_srcdir=$(top_srcdir) gpgme_json=$(GPGME_JSON)
431
432 c_tests = t-json
433 CLEANFILES = secring.gpg pubring.gpg pubring.kbx trustdb.gpg dirmngr.conf \
434 gpg-agent.conf pubring.kbx~ S.gpg-agent gpg.conf pubring.gpg~ \
435 random_seed S.gpg-agent .gpg-v21-migrated pubring-stamp \
436 gpg-sample.stamp tofu.db *.conf.gpgconf.bak
437
438 private_keys = \
439 $(top_srcdir)/tests/gpg/13CD0F3BDF24BE53FE192D62F18737256FF6E4FD \
440 $(top_srcdir)/tests/gpg/76F7E2B35832976B50A27A282D9B87E44577EB66 \
441 $(top_srcdir)/tests/gpg/A0747D5F9425E6664F4FFBEED20FBCA79FDED2BD \
442 $(top_srcdir)/tests/gpg/13CBE3758AFE42B5E5E2AE4CED27AFA455E3F87F \
443 $(top_srcdir)/tests/gpg/7A030357C0F253A5BBCD282FFC4E521B37558F5C
444
445 EXTRA_DIST = initial.test final.test \
446 t-chunking.in.json t-chunking.out.json \
447 t-config.in.json t-config-opt.in.json \
448 t-config-opt.out.json t-config.out.json \
449 t-createkey.in.json t-createkey.out.json \
450 t-decrypt.in.json t-decrypt.out.json \
451 t-decrypt-verify.in.json t-decrypt-verify.out.json \
452 t-delete.in.json t-delete.out.json \
453 t-encrypt.in.json t-encrypt.out.json \
454 t-encrypt-sign.in.json t-encrypt-sign.out.json \
455 t-export.in.json t-export.out.json \
456 t-export-secret-info.in.json t-export-secret-info.out.json \
457 t-import.in.json t-import.out.json \
458 t-keylist.in.json t-keylist.out.json \
459 t-keylist-secret.in.json t-keylist-secret.out.json \
460 t-sign.in.json t-sign.out.json \
461 t-sig-notations.in.json t-sig-notations.out.json \
462 t-verify.in.json t-verify.out.json \
463 t-version.in.json t-version.out.json
464
465 BUILT_SOURCES = gpg.conf gpg-agent.conf pubring-stamp \
466 gpg-sample.stamp
467
468 t_json_SOURCES = t-json.c
469 AM_LDFLAGS = -no-install
470 LDADD = ../../src/libgpgme.la @LDADD_FOR_TESTS_KLUDGE@
471 t_json_LDADD = ../../src/cJSON.o -lm ../../src/libgpgme.la @GPG_ERROR_LIBS@ \
472 @LDADD_FOR_TESTS_KLUDGE@
473
474 AM_CPPFLAGS = -I$(top_builddir)/src @GPG_ERROR_CFLAGS@
475 all: $(BUILT_SOURCES)
476 $(MAKE) $(AM_MAKEFLAGS) all-am
477
478 .SUFFIXES:
479 .SUFFIXES: .c .lo .o .obj
480 $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
481 @for dep in $?; do \
482 case '$(am__configure_deps)' in \
483 *$$dep*) \
484 ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
485 && { if test -f $@; then exit 0; else break; fi; }; \
486 exit 1;; \
487 esac; \
488 done; \
489 echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/json/Makefile'; \
490 $(am__cd) $(top_srcdir) && \
491 $(AUTOMAKE) --gnu tests/json/Makefile
492 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
493 @case '$?' in \
494 *config.status*) \
495 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
496 *) \
497 echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
498 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
499 esac;
500
501 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
502 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
503
504 $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
505 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
506 $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
507 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
508 $(am__aclocal_m4_deps):
509
510 clean-noinstPROGRAMS:
511 @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \
512 echo " rm -f" $$list; \
513 rm -f $$list || exit $$?; \
514 test -n "$(EXEEXT)" || exit 0; \
515 list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
516 echo " rm -f" $$list; \
517 rm -f $$list
518
519 t-json$(EXEEXT): $(t_json_OBJECTS) $(t_json_DEPENDENCIES) $(EXTRA_t_json_DEPENDENCIES)
520 @rm -f t-json$(EXEEXT)
521 $(AM_V_CCLD)$(LINK) $(t_json_OBJECTS) $(t_json_LDADD) $(LIBS)
522
523 mostlyclean-compile:
524 -rm -f *.$(OBJEXT)
525
526 distclean-compile:
527 -rm -f *.tab.c
528
529 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t-json.Po@am__quote@ # am--include-marker
530
531 $(am__depfiles_remade):
532 @$(MKDIR_P) $(@D)
533 @echo '# dummy' >$@-t && $(am__mv) $@-t $@
534
535 am--depfiles: $(am__depfiles_remade)
536
537 .c.o:
538 @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
539 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
540 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
541 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
542 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
543
544 .c.obj:
545 @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
546 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
547 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
548 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
549 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
550
551 .c.lo:
552 @am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
553 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
554 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
555 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
556 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
557
558 mostlyclean-libtool:
559 -rm -f *.lo
560
561 clean-libtool:
562 -rm -rf .libs _libs
563
564 ID: $(am__tagged_files)
565 $(am__define_uniq_tagged_files); mkid -fID $$unique
566 tags: tags-am
567 TAGS: tags
568
569 tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
570 set x; \
571 here=`pwd`; \
572 $(am__define_uniq_tagged_files); \
573 shift; \
574 if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
575 test -n "$$unique" || unique=$$empty_fix; \
576 if test $$# -gt 0; then \
577 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
578 "$$@" $$unique; \
579 else \
580 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
581 $$unique; \
582 fi; \
583 fi
584 ctags: ctags-am
585
586 CTAGS: ctags
587 ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
588 $(am__define_uniq_tagged_files); \
589 test -z "$(CTAGS_ARGS)$$unique" \
590 || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
591 $$unique
592
593 GTAGS:
594 here=`$(am__cd) $(top_builddir) && pwd` \
595 && $(am__cd) $(top_srcdir) \
596 && gtags -i $(GTAGS_ARGS) "$$here"
597 cscopelist: cscopelist-am
598
599 cscopelist-am: $(am__tagged_files)
600 list='$(am__tagged_files)'; \
601 case "$(srcdir)" in \
602 [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
603 *) sdir=$(subdir)/$(srcdir) ;; \
604 esac; \
605 for i in $$list; do \
606 if test -f "$$i"; then \
607 echo "$(subdir)/$$i"; \
608 else \
609 echo "$$sdir/$$i"; \
610 fi; \
611 done >> $(top_builddir)/cscope.files
612
613 distclean-tags:
614 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
615
616 check-TESTS: $(TESTS)
617 @failed=0; all=0; xfail=0; xpass=0; skip=0; \
618 srcdir=$(srcdir); export srcdir; \
619 list=' $(TESTS) '; \
620 $(am__tty_colors); \
621 if test -n "$$list"; then \
622 for tst in $$list; do \
623 if test -f ./$$tst; then dir=./; \
624 elif test -f $$tst; then dir=; \
625 else dir="$(srcdir)/"; fi; \
626 if $(TESTS_ENVIRONMENT) $${dir}$$tst $(AM_TESTS_FD_REDIRECT); then \
627 all=`expr $$all + 1`; \
628 case " $(XFAIL_TESTS) " in \
629 *[\ \ ]$$tst[\ \ ]*) \
630 xpass=`expr $$xpass + 1`; \
631 failed=`expr $$failed + 1`; \
632 col=$$red; res=XPASS; \
633 ;; \
634 *) \
635 col=$$grn; res=PASS; \
636 ;; \
637 esac; \
638 elif test $$? -ne 77; then \
639 all=`expr $$all + 1`; \
640 case " $(XFAIL_TESTS) " in \
641 *[\ \ ]$$tst[\ \ ]*) \
642 xfail=`expr $$xfail + 1`; \
643 col=$$lgn; res=XFAIL; \
644 ;; \
645 *) \
646 failed=`expr $$failed + 1`; \
647 col=$$red; res=FAIL; \
648 ;; \
649 esac; \
650 else \
651 skip=`expr $$skip + 1`; \
652 col=$$blu; res=SKIP; \
653 fi; \
654 echo "$${col}$$res$${std}: $$tst"; \
655 done; \
656 if test "$$all" -eq 1; then \
657 tests="test"; \
658 All=""; \
659 else \
660 tests="tests"; \
661 All="All "; \
662 fi; \
663 if test "$$failed" -eq 0; then \
664 if test "$$xfail" -eq 0; then \
665 banner="$$All$$all $$tests passed"; \
666 else \
667 if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \
668 banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \
669 fi; \
670 else \
671 if test "$$xpass" -eq 0; then \
672 banner="$$failed of $$all $$tests failed"; \
673 else \
674 if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \
675 banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \
676 fi; \
677 fi; \
678 dashes="$$banner"; \
679 skipped=""; \
680 if test "$$skip" -ne 0; then \
681 if test "$$skip" -eq 1; then \
682 skipped="($$skip test was not run)"; \
683 else \
684 skipped="($$skip tests were not run)"; \
685 fi; \
686 test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
687 dashes="$$skipped"; \
688 fi; \
689 report=""; \
690 if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \
691 report="Please report to $(PACKAGE_BUGREPORT)"; \
692 test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \
693 dashes="$$report"; \
694 fi; \
695 dashes=`echo "$$dashes" | sed s/./=/g`; \
696 if test "$$failed" -eq 0; then \
697 col="$$grn"; \
698 else \
699 col="$$red"; \
700 fi; \
701 echo "$${col}$$dashes$${std}"; \
702 echo "$${col}$$banner$${std}"; \
703 test -z "$$skipped" || echo "$${col}$$skipped$${std}"; \
704 test -z "$$report" || echo "$${col}$$report$${std}"; \
705 echo "$${col}$$dashes$${std}"; \
706 test "$$failed" -eq 0; \
707 else :; fi
708 distdir: $(BUILT_SOURCES)
709 $(MAKE) $(AM_MAKEFLAGS) distdir-am
710
711 distdir-am: $(DISTFILES)
712 @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
713 topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
714 list='$(DISTFILES)'; \
715 dist_files=`for file in $$list; do echo $$file; done | \
716 sed -e "s|^$$srcdirstrip/||;t" \
717 -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
718 case $$dist_files in \
719 */*) $(MKDIR_P) `echo "$$dist_files" | \
720 sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
721 sort -u` ;; \
722 esac; \
723 for file in $$dist_files; do \
724 if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
725 if test -d $$d/$$file; then \
726 dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
727 if test -d "$(distdir)/$$file"; then \
728 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
729 fi; \
730 if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
731 cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
732 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
733 fi; \
734 cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
735 else \
736 test -f "$(distdir)/$$file" \
737 || cp -p $$d/$$file "$(distdir)/$$file" \
738 || exit 1; \
739 fi; \
740 done
741 check-am: all-am
742 $(MAKE) $(AM_MAKEFLAGS) check-TESTS
743 check: $(BUILT_SOURCES)
744 $(MAKE) $(AM_MAKEFLAGS) check-am
745 all-am: Makefile $(PROGRAMS)
746 installdirs:
747 install: $(BUILT_SOURCES)
748 $(MAKE) $(AM_MAKEFLAGS) install-am
749 install-exec: $(BUILT_SOURCES)
750 $(MAKE) $(AM_MAKEFLAGS) install-exec-am
751 install-data: install-data-am
752 uninstall: uninstall-am
753
754 install-am: all-am
755 @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
756
757 installcheck: installcheck-am
758 install-strip:
759 if test -z '$(STRIP)'; then \
760 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
761 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
762 install; \
763 else \
764 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
765 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
766 "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
767 fi
768 mostlyclean-generic:
769
770 clean-generic:
771 -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
772
773 distclean-generic:
774 -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
775 -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
776
777 maintainer-clean-generic:
778 @echo "This command is intended for maintainers to use"
779 @echo "it deletes files that may require special tools to rebuild."
780 -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
781 clean: clean-am
782
783 clean-am: clean-generic clean-libtool clean-local clean-noinstPROGRAMS \
784 mostlyclean-am
785
786 distclean: distclean-am
787 -rm -f ./$(DEPDIR)/t-json.Po
788 -rm -f Makefile
789 distclean-am: clean-am distclean-compile distclean-generic \
790 distclean-tags
791
792 dvi: dvi-am
793
794 dvi-am:
795
796 html: html-am
797
798 html-am:
799
800 info: info-am
801
802 info-am:
803
804 install-data-am:
805
806 install-dvi: install-dvi-am
807
808 install-dvi-am:
809
810 install-exec-am:
811
812 install-html: install-html-am
813
814 install-html-am:
815
816 install-info: install-info-am
817
818 install-info-am:
819
820 install-man:
821
822 install-pdf: install-pdf-am
823
824 install-pdf-am:
825
826 install-ps: install-ps-am
827
828 install-ps-am:
829
830 installcheck-am:
831
832 maintainer-clean: maintainer-clean-am
833 -rm -f ./$(DEPDIR)/t-json.Po
834 -rm -f Makefile
835 maintainer-clean-am: distclean-am maintainer-clean-generic
836
837 mostlyclean: mostlyclean-am
838
839 mostlyclean-am: mostlyclean-compile mostlyclean-generic \
840 mostlyclean-libtool
841
842 pdf: pdf-am
843
844 pdf-am:
845
846 ps: ps-am
847
848 ps-am:
849
850 uninstall-am:
851
852 .MAKE: all check check-am install install-am install-exec \
853 install-strip
854
855 .PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-TESTS \
856 check-am clean clean-generic clean-libtool clean-local \
857 clean-noinstPROGRAMS cscopelist-am ctags ctags-am distclean \
858 distclean-compile distclean-generic distclean-libtool \
859 distclean-tags distdir dvi dvi-am html html-am info info-am \
860 install install-am install-data install-data-am install-dvi \
861 install-dvi-am install-exec install-exec-am install-html \
862 install-html-am install-info install-info-am install-man \
863 install-pdf install-pdf-am install-ps install-ps-am \
864 install-strip installcheck installcheck-am installdirs \
865 maintainer-clean maintainer-clean-generic mostlyclean \
866 mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
867 pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am
868
869 .PRECIOUS: Makefile
870
871
872 clean-local:
873 -$(TESTS_ENVIRONMENT) $(top_srcdir)/tests/start-stop-agent --stop
874 -rm -fR private-keys-v1.d
875 -rm -fR openpgp-revocs.d
876
877 gpg-sample.stamp: $(private_keys)
878 -$(TESTS_ENVIRONMENT) gpgconf --kill all
879 $(MKDIR_P) ./private-keys-v1.d
880 for k in $(private_keys); do \
881 cp $$k private-keys-v1.d/$$(basename $$k).key; \
882 done
883 echo x > ./gpg-sample.stamp
884
885 pubring-stamp: $(top_srcdir)/tests/gpg/pubdemo.asc gpg-sample.stamp
886 $(TESTS_ENVIRONMENT) $(GPG) --batch --no-permission-warning \
887 --import $(top_srcdir)/tests/gpg/pubdemo.asc
888 -$(TESTS_ENVIRONMENT) $(GPG) --batch --no-permission-warning \
889 --import $(top_srcdir)/tests/gpg/secdemo.asc
890 echo x > ./pubring-stamp
891
892 gpg.conf:
893 # This is required for t-sig-notations.
894 echo no-force-v3-sigs > ./gpg.conf
895
896 gpg-agent.conf:
897 # This is required for gpg2, which does not support command fd for the
898 # passphrase. disable-scdaemon is required so that we don't try using
899 # a key from a smartcard reader (error might be: Unusable secret key)
900 echo pinentry-program $(abs_srcdir)/../gpg/pinentry > ./gpg-agent.conf
901 echo disable-scdaemon >> ./gpg-agent.conf
902
903 # end-of-file
904
905 # Tell versions [3.59,3.63) of GNU make to not export all variables.
906 # Otherwise a system limit (for SysV at least) may be exceeded.
907 .NOEXPORT:
0 # Makefile.in generated by automake 1.16.4 from Makefile.am.
1 # @configure_input@
2
3 # Copyright (C) 1994-2021 Free Software Foundation, Inc.
4
5 # This Makefile.in is free software; the Free Software Foundation
6 # gives unlimited permission to copy and/or distribute it,
7 # with or without modifications, as long as this notice is preserved.
8
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY, to the extent permitted by law; without
11 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
12 # PARTICULAR PURPOSE.
13
14 @SET_MAKE@
15
16 # Copyright (C) 2009 g10 Code GmbH
17 #
18 # This file is part of GPGME.
19 #
20 # GPGME is free software; you can redistribute it and/or modify it
21 # under the terms of the GNU Lesser General Public License as
22 # published by the Free Software Foundation; either version 2.1 of the
23 # License, or (at your option) any later version.
24 #
25 # GPGME is distributed in the hope that it will be useful, but WITHOUT
26 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
27 # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General
28 # Public License for more details.
29 #
30 # You should have received a copy of the GNU Lesser General Public
31 # License along with this program; if not, see <https://gnu.org/licenses/>.
32 # SPDX-License-Identifier: LGPL-2.1-or-later
33
34
35 VPATH = @srcdir@
36 am__is_gnu_make = { \
37 if test -z '$(MAKELEVEL)'; then \
38 false; \
39 elif test -n '$(MAKE_HOST)'; then \
40 true; \
41 elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
42 true; \
43 else \
44 false; \
45 fi; \
46 }
47 am__make_running_with_option = \
48 case $${target_option-} in \
49 ?) ;; \
50 *) echo "am__make_running_with_option: internal error: invalid" \
51 "target option '$${target_option-}' specified" >&2; \
52 exit 1;; \
53 esac; \
54 has_opt=no; \
55 sane_makeflags=$$MAKEFLAGS; \
56 if $(am__is_gnu_make); then \
57 sane_makeflags=$$MFLAGS; \
58 else \
59 case $$MAKEFLAGS in \
60 *\\[\ \ ]*) \
61 bs=\\; \
62 sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
63 | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
64 esac; \
65 fi; \
66 skip_next=no; \
67 strip_trailopt () \
68 { \
69 flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
70 }; \
71 for flg in $$sane_makeflags; do \
72 test $$skip_next = yes && { skip_next=no; continue; }; \
73 case $$flg in \
74 *=*|--*) continue;; \
75 -*I) strip_trailopt 'I'; skip_next=yes;; \
76 -*I?*) strip_trailopt 'I';; \
77 -*O) strip_trailopt 'O'; skip_next=yes;; \
78 -*O?*) strip_trailopt 'O';; \
79 -*l) strip_trailopt 'l'; skip_next=yes;; \
80 -*l?*) strip_trailopt 'l';; \
81 -[dEDm]) skip_next=yes;; \
82 -[JT]) skip_next=yes;; \
83 esac; \
84 case $$flg in \
85 *$$target_option*) has_opt=yes; break;; \
86 esac; \
87 done; \
88 test $$has_opt = yes
89 am__make_dryrun = (target_option=n; $(am__make_running_with_option))
90 am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
91 pkgdatadir = $(datadir)/@PACKAGE@
92 pkgincludedir = $(includedir)/@PACKAGE@
93 pkglibdir = $(libdir)/@PACKAGE@
94 pkglibexecdir = $(libexecdir)/@PACKAGE@
95 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
96 install_sh_DATA = $(install_sh) -c -m 644
97 install_sh_PROGRAM = $(install_sh) -c
98 install_sh_SCRIPT = $(install_sh) -c
99 INSTALL_HEADER = $(INSTALL_DATA)
100 transform = $(program_transform_name)
101 NORMAL_INSTALL = :
102 PRE_INSTALL = :
103 POST_INSTALL = :
104 NORMAL_UNINSTALL = :
105 PRE_UNINSTALL = :
106 POST_UNINSTALL = :
107 build_triplet = @build@
108 host_triplet = @host@
109 TESTS =
110 noinst_PROGRAMS = $(am__EXEEXT_1) t-command$(EXEEXT)
111 subdir = tests/opassuan
112 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
113 am__aclocal_m4_deps = $(top_srcdir)/m4/ax_cxx_compile_stdcxx.m4 \
114 $(top_srcdir)/m4/ax_pkg_swig.m4 \
115 $(top_srcdir)/m4/ax_python_devel.m4 \
116 $(top_srcdir)/m4/glib-2.0.m4 $(top_srcdir)/m4/glibc21.m4 \
117 $(top_srcdir)/m4/gnupg-ttyname.m4 \
118 $(top_srcdir)/m4/gpg-error.m4 $(top_srcdir)/m4/libassuan.m4 \
119 $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
120 $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
121 $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/pkg.m4 \
122 $(top_srcdir)/m4/python.m4 $(top_srcdir)/m4/qt.m4 \
123 $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
124 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
125 $(ACLOCAL_M4)
126 DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
127 $(am__DIST_COMMON)
128 mkinstalldirs = $(SHELL) $(top_srcdir)/build-aux/mkinstalldirs
129 CONFIG_HEADER = $(top_builddir)/conf/config.h
130 CONFIG_CLEAN_FILES =
131 CONFIG_CLEAN_VPATH_FILES =
132 am__EXEEXT_1 =
133 PROGRAMS = $(noinst_PROGRAMS)
134 t_command_SOURCES = t-command.c
135 t_command_OBJECTS = t-command.$(OBJEXT)
136 t_command_LDADD = $(LDADD)
137 t_command_DEPENDENCIES = ../../src/libgpgme.la
138 AM_V_lt = $(am__v_lt_@AM_V@)
139 am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
140 am__v_lt_0 = --silent
141 am__v_lt_1 =
142 AM_V_P = $(am__v_P_@AM_V@)
143 am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
144 am__v_P_0 = false
145 am__v_P_1 = :
146 AM_V_GEN = $(am__v_GEN_@AM_V@)
147 am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
148 am__v_GEN_0 = @echo " GEN " $@;
149 am__v_GEN_1 =
150 AM_V_at = $(am__v_at_@AM_V@)
151 am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
152 am__v_at_0 = @
153 am__v_at_1 =
154 DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/conf
155 depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp
156 am__maybe_remake_depfiles = depfiles
157 am__depfiles_remade = ./$(DEPDIR)/t-command.Po
158 am__mv = mv -f
159 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
160 $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
161 LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
162 $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
163 $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
164 $(AM_CFLAGS) $(CFLAGS)
165 AM_V_CC = $(am__v_CC_@AM_V@)
166 am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
167 am__v_CC_0 = @echo " CC " $@;
168 am__v_CC_1 =
169 CCLD = $(CC)
170 LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
171 $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
172 $(AM_LDFLAGS) $(LDFLAGS) -o $@
173 AM_V_CCLD = $(am__v_CCLD_@AM_V@)
174 am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
175 am__v_CCLD_0 = @echo " CCLD " $@;
176 am__v_CCLD_1 =
177 SOURCES = t-command.c
178 DIST_SOURCES = t-command.c
179 am__can_run_installinfo = \
180 case $$AM_UPDATE_INFO_DIR in \
181 n|no|NO) false;; \
182 *) (install-info --version) >/dev/null 2>&1;; \
183 esac
184 HEADERS = $(noinst_HEADERS)
185 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
186 # Read a list of newline-separated strings from the standard input,
187 # and print each of them once, without duplicates. Input order is
188 # *not* preserved.
189 am__uniquify_input = $(AWK) '\
190 BEGIN { nonempty = 0; } \
191 { items[$$0] = 1; nonempty = 1; } \
192 END { if (nonempty) { for (i in items) print i; }; } \
193 '
194 # Make sure the list of sources is unique. This is necessary because,
195 # e.g., the same source file might be shared among _SOURCES variables
196 # for different programs/libraries.
197 am__define_uniq_tagged_files = \
198 list='$(am__tagged_files)'; \
199 unique=`for i in $$list; do \
200 if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
201 done | $(am__uniquify_input)`
202 am__tty_colors_dummy = \
203 mgn= red= grn= lgn= blu= brg= std=; \
204 am__color_tests=no
205 am__tty_colors = { \
206 $(am__tty_colors_dummy); \
207 if test "X$(AM_COLOR_TESTS)" = Xno; then \
208 am__color_tests=no; \
209 elif test "X$(AM_COLOR_TESTS)" = Xalways; then \
210 am__color_tests=yes; \
211 elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \
212 am__color_tests=yes; \
213 fi; \
214 if test $$am__color_tests = yes; then \
215 red=''; \
216 grn=''; \
217 lgn=''; \
218 blu=''; \
219 mgn=''; \
220 brg=''; \
221 std=''; \
222 fi; \
223 }
224 am__DIST_COMMON = $(srcdir)/Makefile.in \
225 $(top_srcdir)/build-aux/depcomp \
226 $(top_srcdir)/build-aux/mkinstalldirs
227 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
228 ACLOCAL = @ACLOCAL@
229 AMTAR = @AMTAR@
230 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
231 AR = @AR@
232 AS = @AS@
233 AUTOCONF = @AUTOCONF@
234 AUTOHEADER = @AUTOHEADER@
235 AUTOMAKE = @AUTOMAKE@
236 AWK = @AWK@
237 BUILD_FILEVERSION = @BUILD_FILEVERSION@
238 BUILD_REVISION = @BUILD_REVISION@
239 BUILD_TIMESTAMP = @BUILD_TIMESTAMP@
240 BUILD_VERSION = @BUILD_VERSION@
241 CC = @CC@
242 CCDEPMODE = @CCDEPMODE@
243 CC_FOR_BUILD = @CC_FOR_BUILD@
244 CFLAGS = @CFLAGS@
245 CPP = @CPP@
246 CPPFLAGS = @CPPFLAGS@
247 CSCOPE = @CSCOPE@
248 CTAGS = @CTAGS@
249 CXX = @CXX@
250 CXXCPP = @CXXCPP@
251 CXXDEPMODE = @CXXDEPMODE@
252 CXXFLAGS = @CXXFLAGS@
253 CYGPATH_W = @CYGPATH_W@
254 DEFS = @DEFS@
255 DEPDIR = @DEPDIR@
256 DLLTOOL = @DLLTOOL@
257 DOXYGEN = @DOXYGEN@
258 DSYMUTIL = @DSYMUTIL@
259 DUMPBIN = @DUMPBIN@
260 ECHO_C = @ECHO_C@
261 ECHO_N = @ECHO_N@
262 ECHO_T = @ECHO_T@
263 EGREP = @EGREP@
264 ENABLED_LANGUAGES = @ENABLED_LANGUAGES@
265 ETAGS = @ETAGS@
266 EXEEXT = @EXEEXT@
267 FGREP = @FGREP@
268 GITLOG_TO_CHANGELOG = @GITLOG_TO_CHANGELOG@
269 GLIBC21 = @GLIBC21@
270 GLIB_CFLAGS = @GLIB_CFLAGS@
271 GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
272 GLIB_LIBS = @GLIB_LIBS@
273 GLIB_MKENUMS = @GLIB_MKENUMS@
274 GOBJECT_QUERY = @GOBJECT_QUERY@
275 GPGME_CONFIG_API_VERSION = @GPGME_CONFIG_API_VERSION@
276 GPGME_CONFIG_AVAIL_LANG = @GPGME_CONFIG_AVAIL_LANG@
277 GPGME_CONFIG_CFLAGS = @GPGME_CONFIG_CFLAGS@
278 GPGME_CONFIG_HOST = @GPGME_CONFIG_HOST@
279 GPGME_CONFIG_LIBS = @GPGME_CONFIG_LIBS@
280 GPGME_QTTEST_CFLAGS = @GPGME_QTTEST_CFLAGS@
281 GPGME_QTTEST_LIBS = @GPGME_QTTEST_LIBS@
282 GPGME_QT_CFLAGS = @GPGME_QT_CFLAGS@
283 GPGME_QT_LIBS = @GPGME_QT_LIBS@
284 GPGRT_CONFIG = @GPGRT_CONFIG@
285 GPG_ERROR_CFLAGS = @GPG_ERROR_CFLAGS@
286 GPG_ERROR_CONFIG = @GPG_ERROR_CONFIG@
287 GPG_ERROR_LIBS = @GPG_ERROR_LIBS@
288 GPG_ERROR_MT_CFLAGS = @GPG_ERROR_MT_CFLAGS@
289 GPG_ERROR_MT_LIBS = @GPG_ERROR_MT_LIBS@
290 GRAPHVIZ = @GRAPHVIZ@
291 GREP = @GREP@
292 HAVE_CXX11 = @HAVE_CXX11@
293 HAVE_DOT = @HAVE_DOT@
294 INSTALL = @INSTALL@
295 INSTALL_DATA = @INSTALL_DATA@
296 INSTALL_PROGRAM = @INSTALL_PROGRAM@
297 INSTALL_SCRIPT = @INSTALL_SCRIPT@
298 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
299 LD = @LD@
300 LDADD_FOR_TESTS_KLUDGE = @LDADD_FOR_TESTS_KLUDGE@
301 LDFLAGS = @LDFLAGS@
302 LIBASSUAN_CFLAGS = @LIBASSUAN_CFLAGS@
303 LIBASSUAN_CONFIG = @LIBASSUAN_CONFIG@
304 LIBASSUAN_LIBS = @LIBASSUAN_LIBS@
305 LIBGPGMEPP_LT_AGE = @LIBGPGMEPP_LT_AGE@
306 LIBGPGMEPP_LT_CURRENT = @LIBGPGMEPP_LT_CURRENT@
307 LIBGPGMEPP_LT_REVISION = @LIBGPGMEPP_LT_REVISION@
308 LIBGPGME_LT_AGE = @LIBGPGME_LT_AGE@
309 LIBGPGME_LT_CURRENT = @LIBGPGME_LT_CURRENT@
310 LIBGPGME_LT_REVISION = @LIBGPGME_LT_REVISION@
311 LIBOBJS = @LIBOBJS@
312 LIBQGPGME_LT_AGE = @LIBQGPGME_LT_AGE@
313 LIBQGPGME_LT_CURRENT = @LIBQGPGME_LT_CURRENT@
314 LIBQGPGME_LT_REVISION = @LIBQGPGME_LT_REVISION@
315 LIBS = @LIBS@
316 LIBTOOL = @LIBTOOL@
317 LIPO = @LIPO@
318 LN_S = @LN_S@
319 LTLIBOBJS = @LTLIBOBJS@
320 MAINT = @MAINT@
321 MAKEINFO = @MAKEINFO@
322 MANIFEST_TOOL = @MANIFEST_TOOL@
323 MKDIR_P = @MKDIR_P@
324 MOC = @MOC@
325 MOC2 = @MOC2@
326 NEED__FILE_OFFSET_BITS = @NEED__FILE_OFFSET_BITS@
327 NM = @NM@
328 NMEDIT = @NMEDIT@
329 OBJDUMP = @OBJDUMP@
330 OBJEXT = @OBJEXT@
331 OTOOL = @OTOOL@
332 OTOOL64 = @OTOOL64@
333 PACKAGE = @PACKAGE@
334 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
335 PACKAGE_NAME = @PACKAGE_NAME@
336 PACKAGE_STRING = @PACKAGE_STRING@
337 PACKAGE_TARNAME = @PACKAGE_TARNAME@
338 PACKAGE_URL = @PACKAGE_URL@
339 PACKAGE_VERSION = @PACKAGE_VERSION@
340 PATH_SEPARATOR = @PATH_SEPARATOR@
341 PKG_CONFIG = @PKG_CONFIG@
342 PYTHON = @PYTHON@
343 PYTHONS = @PYTHONS@
344 PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
345 PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
346 PYTHON_EXTRA_LDFLAGS = @PYTHON_EXTRA_LDFLAGS@
347 PYTHON_EXTRA_LIBS = @PYTHON_EXTRA_LIBS@
348 PYTHON_LDFLAGS = @PYTHON_LDFLAGS@
349 PYTHON_PLATFORM = @PYTHON_PLATFORM@
350 PYTHON_PREFIX = @PYTHON_PREFIX@
351 PYTHON_SITE_PKG = @PYTHON_SITE_PKG@
352 PYTHON_VERSION = @PYTHON_VERSION@
353 QTCHOOSER = @QTCHOOSER@
354 RANLIB = @RANLIB@
355 RC = @RC@
356 SED = @SED@
357 SET_MAKE = @SET_MAKE@
358 SHELL = @SHELL@
359 STRIP = @STRIP@
360 SWIG = @SWIG@
361 SWIG_LIB = @SWIG_LIB@
362 SYSROOT = @SYSROOT@
363 VERSION = @VERSION@
364 VERSION_MAJOR = @VERSION_MAJOR@
365 VERSION_MICRO = @VERSION_MICRO@
366 VERSION_MINOR = @VERSION_MINOR@
367 VERSION_NUMBER = @VERSION_NUMBER@
368 abs_builddir = @abs_builddir@
369 abs_srcdir = @abs_srcdir@
370 abs_top_builddir = @abs_top_builddir@
371 abs_top_srcdir = @abs_top_srcdir@
372 ac_ct_AR = @ac_ct_AR@
373 ac_ct_CC = @ac_ct_CC@
374 ac_ct_CXX = @ac_ct_CXX@
375 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
376 am__include = @am__include@
377 am__leading_dot = @am__leading_dot@
378 am__quote = @am__quote@
379 am__tar = @am__tar@
380 am__untar = @am__untar@
381 bindir = @bindir@
382 build = @build@
383 build_alias = @build_alias@
384 build_cpu = @build_cpu@
385 build_os = @build_os@
386 build_vendor = @build_vendor@
387 builddir = @builddir@
388 datadir = @datadir@
389 datarootdir = @datarootdir@
390 docdir = @docdir@
391 dvidir = @dvidir@
392 emacs_local_vars_begin = @emacs_local_vars_begin@
393 emacs_local_vars_end = @emacs_local_vars_end@
394 emacs_local_vars_read_only = @emacs_local_vars_read_only@
395 exec_prefix = @exec_prefix@
396 host = @host@
397 host_alias = @host_alias@
398 host_cpu = @host_cpu@
399 host_os = @host_os@
400 host_vendor = @host_vendor@
401 htmldir = @htmldir@
402 includedir = @includedir@
403 infodir = @infodir@
404 install_sh = @install_sh@
405 libdir = @libdir@
406 libexecdir = @libexecdir@
407 localedir = @localedir@
408 localstatedir = @localstatedir@
409 mandir = @mandir@
410 mkdir_p = @mkdir_p@
411 oldincludedir = @oldincludedir@
412 pdfdir = @pdfdir@
413 pkgpyexecdir = @pkgpyexecdir@
414 pkgpythondir = @pkgpythondir@
415 prefix = @prefix@
416 program_transform_name = @program_transform_name@
417 psdir = @psdir@
418 pyexecdir = @pyexecdir@
419 pythondir = @pythondir@
420 runstatedir = @runstatedir@
421 sbindir = @sbindir@
422 sharedstatedir = @sharedstatedir@
423 srcdir = @srcdir@
424 sysconfdir = @sysconfdir@
425 target_alias = @target_alias@
426 top_build_prefix = @top_build_prefix@
427 top_builddir = @top_builddir@
428 top_srcdir = @top_srcdir@
429 GNUPGHOME = $(abs_builddir)
430 TESTS_ENVIRONMENT = GNUPGHOME=$(GNUPGHOME) GPG_AGENT_INFO=
431 noinst_HEADERS =
432 EXTRA_DIST =
433 AM_CPPFLAGS = -I$(top_builddir)/src @GPG_ERROR_CFLAGS@
434 LDADD = ../../src/libgpgme.la @LDADD_FOR_TESTS_KLUDGE@
435 DISTCLEANFILES =
436 all: all-am
437
438 .SUFFIXES:
439 .SUFFIXES: .c .lo .o .obj
440 $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
441 @for dep in $?; do \
442 case '$(am__configure_deps)' in \
443 *$$dep*) \
444 ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
445 && { if test -f $@; then exit 0; else break; fi; }; \
446 exit 1;; \
447 esac; \
448 done; \
449 echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/opassuan/Makefile'; \
450 $(am__cd) $(top_srcdir) && \
451 $(AUTOMAKE) --gnu tests/opassuan/Makefile
452 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
453 @case '$?' in \
454 *config.status*) \
455 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
456 *) \
457 echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
458 cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
459 esac;
460
461 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
462 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
463
464 $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
465 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
466 $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
467 cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
468 $(am__aclocal_m4_deps):
469
470 clean-noinstPROGRAMS:
471 @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \
472 echo " rm -f" $$list; \
473 rm -f $$list || exit $$?; \
474 test -n "$(EXEEXT)" || exit 0; \
475 list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
476 echo " rm -f" $$list; \
477 rm -f $$list
478
479 t-command$(EXEEXT): $(t_command_OBJECTS) $(t_command_DEPENDENCIES) $(EXTRA_t_command_DEPENDENCIES)
480 @rm -f t-command$(EXEEXT)
481 $(AM_V_CCLD)$(LINK) $(t_command_OBJECTS) $(t_command_LDADD) $(LIBS)
482
483 mostlyclean-compile:
484 -rm -f *.$(OBJEXT)
485
486 distclean-compile:
487 -rm -f *.tab.c
488
489 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t-command.Po@am__quote@ # am--include-marker
490
491 $(am__depfiles_remade):
492 @$(MKDIR_P) $(@D)
493 @echo '# dummy' >$@-t && $(am__mv) $@-t $@
494
495 am--depfiles: $(am__depfiles_remade)
496
497 .c.o:
498 @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
499 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
500 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
501 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
502 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
503
504 .c.obj:
505 @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
506 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
507 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
508 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
509 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
510
511 .c.lo:
512 @am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
513 @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
514 @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
515 @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
516 @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
517
518 mostlyclean-libtool:
519 -rm -f *.lo
520
521 clean-libtool:
522 -rm -rf .libs _libs
523
524 ID: $(am__tagged_files)
525 $(am__define_uniq_tagged_files); mkid -fID $$unique
526 tags: tags-am
527 TAGS: tags
528
529 tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
530 set x; \
531 here=`pwd`; \
532 $(am__define_uniq_tagged_files); \
533 shift; \
534 if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
535 test -n "$$unique" || unique=$$empty_fix; \
536 if test $$# -gt 0; then \
537 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
538 "$$@" $$unique; \
539 else \
540 $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
541 $$unique; \
542 fi; \
543 fi
544 ctags: ctags-am
545
546 CTAGS: ctags
547 ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
548 $(am__define_uniq_tagged_files); \
549 test -z "$(CTAGS_ARGS)$$unique" \
550 || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
551 $$unique
552
553 GTAGS:
554 here=`$(am__cd) $(top_builddir) && pwd` \
555 && $(am__cd) $(top_srcdir) \
556 && gtags -i $(GTAGS_ARGS) "$$here"
557 cscopelist: cscopelist-am
558
559 cscopelist-am: $(am__tagged_files)
560 list='$(am__tagged_files)'; \
561 case "$(srcdir)" in \
562 [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
563 *) sdir=$(subdir)/$(srcdir) ;; \
564 esac; \
565 for i in $$list; do \
566 if test -f "$$i"; then \
567 echo "$(subdir)/$$i"; \
568 else \
569 echo "$$sdir/$$i"; \
570 fi; \
571 done >> $(top_builddir)/cscope.files
572
573 distclean-tags:
574 -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
575
576 check-TESTS: $(TESTS)
577 @failed=0; all=0; xfail=0; xpass=0; skip=0; \
578 srcdir=$(srcdir); export srcdir; \
579 list=' $(TESTS) '; \
580 $(am__tty_colors); \
581 if test -n "$$list"; then \
582 for tst in $$list; do \
583 if test -f ./$$tst; then dir=./; \
584 elif test -f $$tst; then dir=; \
585 else dir="$(srcdir)/"; fi; \
586 if $(TESTS_ENVIRONMENT) $${dir}$$tst $(AM_TESTS_FD_REDIRECT); then \
587 all=`expr $$all + 1`; \
588 case " $(XFAIL_TESTS) " in \
589 *[\ \ ]$$tst[\ \ ]*) \
590 xpass=`expr $$xpass + 1`; \
591 failed=`expr $$failed + 1`; \
592 col=$$red; res=XPASS; \
593 ;; \
594 *) \
595 col=$$grn; res=PASS; \
596 ;; \
597 esac; \
598 elif test $$? -ne 77; then \
599 all=`expr $$all + 1`; \
600 case " $(XFAIL_TESTS) " in \
601 *[\ \ ]$$tst[\ \ ]*) \
602 xfail=`expr $$xfail + 1`; \
603 col=$$lgn; res=XFAIL; \
604 ;; \
605 *) \
606 failed=`expr $$failed + 1`; \
607 col=$$red; res=FAIL; \
608 ;; \
609 esac; \
610 else \
611 skip=`expr $$skip + 1`; \
612 col=$$blu; res=SKIP; \
613 fi; \
614 echo "$${col}$$res$${std}: $$tst"; \
615 done; \
616 if test "$$all" -eq 1; then \
617 tests="test"; \
618 All=""; \
619 else \
620 tests="tests"; \
621 All="All "; \
622 fi; \
623 if test "$$failed" -eq 0; then \
624 if test "$$xfail" -eq 0; then \
625 banner="$$All$$all $$tests passed"; \
626 else \
627 if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \
628 banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \
629 fi; \
630 else \
631 if test "$$xpass" -eq 0; then \
632 banner="$$failed of $$all $$tests failed"; \
633 else \
634 if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \
635 banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \
636 fi; \
637 fi; \
638 dashes="$$banner"; \
639 skipped=""; \
640 if test "$$skip" -ne 0; then \
641 if test "$$skip" -eq 1; then \
642 skipped="($$skip test was not run)"; \
643 else \
644 skipped="($$skip tests were not run)"; \
645 fi; \
646 test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
647 dashes="$$skipped"; \
648 fi; \
649 report=""; \
650 if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \
651 report="Please report to $(PACKAGE_BUGREPORT)"; \
652 test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \
653 dashes="$$report"; \
654 fi; \
655 dashes=`echo "$$dashes" | sed s/./=/g`; \
656 if test "$$failed" -eq 0; then \
657 col="$$grn"; \
658 else \
659 col="$$red"; \
660 fi; \
661 echo "$${col}$$dashes$${std}"; \
662 echo "$${col}$$banner$${std}"; \
663 test -z "$$skipped" || echo "$${col}$$skipped$${std}"; \
664 test -z "$$report" || echo "$${col}$$report$${std}"; \
665 echo "$${col}$$dashes$${std}"; \
666 test "$$failed" -eq 0; \
667 else :; fi
668 distdir: $(BUILT_SOURCES)
669 $(MAKE) $(AM_MAKEFLAGS) distdir-am
670
671 distdir-am: $(DISTFILES)
672 @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
673 topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
674 list='$(DISTFILES)'; \
675 dist_files=`for file in $$list; do echo $$file; done | \
676 sed -e "s|^$$srcdirstrip/||;t" \
677 -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
678 case $$dist_files in \
679 */*) $(MKDIR_P) `echo "$$dist_files" | \
680 sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
681 sort -u` ;; \
682 esac; \
683 for file in $$dist_files; do \
684 if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
685 if test -d $$d/$$file; then \
686 dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
687 if test -d "$(distdir)/$$file"; then \
688 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
689 fi; \
690 if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
691 cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
692 find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
693 fi; \
694 cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
695 else \
696 test -f "$(distdir)/$$file" \
697 || cp -p $$d/$$file "$(distdir)/$$file" \
698 || exit 1; \
699 fi; \
700 done
701 check-am: all-am
702 $(MAKE) $(AM_MAKEFLAGS) check-TESTS
703 check: check-am
704 all-am: Makefile $(PROGRAMS) $(HEADERS)
705 installdirs:
706 install: install-am
707 install-exec: install-exec-am
708 install-data: install-data-am
709 uninstall: uninstall-am
710
711 install-am: all-am
712 @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
713
714 installcheck: installcheck-am
715 install-strip:
716 if test -z '$(STRIP)'; then \
717 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
718 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
719 install; \
720 else \
721 $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
722 install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
723 "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
724 fi
725 mostlyclean-generic:
726
727 clean-generic:
728
729 distclean-generic:
730 -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
731 -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
732 -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
733
734 maintainer-clean-generic:
735 @echo "This command is intended for maintainers to use"
736 @echo "it deletes files that may require special tools to rebuild."
737 clean: clean-am
738
739 clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \
740 mostlyclean-am
741
742 distclean: distclean-am
743 -rm -f ./$(DEPDIR)/t-command.Po
744 -rm -f Makefile
745 distclean-am: clean-am distclean-compile distclean-generic \
746 distclean-tags
747
748 dvi: dvi-am
749
750 dvi-am:
751
752 html: html-am
753
754 html-am:
755
756 info: info-am
757
758 info-am:
759
760 install-data-am:
761
762 install-dvi: install-dvi-am
763
764 install-dvi-am:
765
766 install-exec-am:
767
768 install-html: install-html-am
769
770 install-html-am:
771
772 install-info: install-info-am
773
774 install-info-am:
775
776 install-man:
777
778 install-pdf: install-pdf-am
779
780 install-pdf-am:
781
782 install-ps: install-ps-am
783
784 install-ps-am:
785
786 installcheck-am:
787
788 maintainer-clean: maintainer-clean-am
789 -rm -f ./$(DEPDIR)/t-command.Po
790 -rm -f Makefile
791 maintainer-clean-am: distclean-am maintainer-clean-generic
792
793 mostlyclean: mostlyclean-am
794
795 mostlyclean-am: mostlyclean-compile mostlyclean-generic \
796 mostlyclean-libtool
797
798 pdf: pdf-am
799
800 pdf-am:
801
802 ps: ps-am
803
804 ps-am:
805
806 uninstall-am:
807
808 .MAKE: check-am install-am install-strip
809
810 .PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-TESTS \
811 check-am clean clean-generic clean-libtool \
812 clean-noinstPROGRAMS cscopelist-am ctags ctags-am distclean \
813 distclean-compile distclean-generic distclean-libtool \
814 distclean-tags distdir dvi dvi-am html html-am info info-am \
815 install install-am install-data install-data-am install-dvi \
816 install-dvi-am install-exec install-exec-am install-html \
817 install-html-am install-info install-info-am install-man \
818 install-pdf install-pdf-am install-ps install-ps-am \
819 install-strip installcheck installcheck-am installdirs \
820 maintainer-clean maintainer-clean-generic mostlyclean \
821 mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
822 pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am
823
824 .PRECIOUS: Makefile
825
826
827 # Tell versions [3.59,3.63) of GNU make to not export all variables.
828 # Otherwise a system limit (for SysV at least) may be exceeded.
829 .NOEXPORT:
3535 do
3636 if test -f "$GNUPGHOME/$F"
3737 then
38 mv "$GNUPGHOME/$F" "$GNUPGHOME/$F~"
38 cat "$GNUPGHOME/$F" > "$GNUPGHOME/$F~"
3939 sed -e "s#^agent-program.*#agent-program ${GPG_AGENT}|--debug-quick-random#" \
4040 >"$GNUPGHOME/$F" <"$GNUPGHOME/$F~"
41 rm "$GNUPGHOME/$F~"
41 rm -f "$GNUPGHOME/$F~"
4242 fi
4343 done
4444