~ubuntu-branches/ubuntu/maverick/evolution-data-server/maverick-proposed

« back to all changes in this revision

Viewing changes to libdb/perl/BerkeleyDB/mkconsts

  • Committer: Bazaar Package Importer
  • Author(s): Didier Roche
  • Date: 2010-05-17 17:02:06 UTC
  • mfrom: (1.1.79 upstream) (1.6.12 experimental)
  • Revision ID: james.westby@ubuntu.com-20100517170206-4ufr52vwrhh26yh0
Tags: 2.30.1-1ubuntu1
* Merge from debian experimental. Remaining change:
  (LP: #42199, #229669, #173703, #360344, #508494)
  + debian/control:
    - add Vcs-Bzr tag
    - don't use libgnome
    - Use Breaks instead of Conflicts against evolution 2.25 and earlier.
  + debian/evolution-data-server.install,
    debian/patches/45_libcamel_providers_version.patch:
    - use the upstream versioning, not a Debian-specific one 
  + debian/libedata-book1.2-dev.install, debian/libebackend-1.2-dev.install,
    debian/libcamel1.2-dev.install, debian/libedataserverui1.2-dev.install:
    - install html documentation
  + debian/rules:
    - don't build documentation it's shipped with the tarball

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#!/usr/bin/perl
2
 
 
3
 
use ExtUtils::Constant qw(WriteConstants); 
4
 
 
5
 
use constant DEFINE => 'define' ;
6
 
use constant STRING => 'string' ;
7
 
use constant IGNORE => 'ignore' ;
8
 
 
9
 
%constants = (
10
 
 
11
 
        #########
12
 
        # 2.0.0
13
 
        #########
14
 
 
15
 
        DBM_INSERT                 => IGNORE,
16
 
        DBM_REPLACE                => IGNORE,
17
 
        DBM_SUFFIX                 => IGNORE,
18
 
        DB_AFTER                   => DEFINE,
19
 
        DB_AM_DUP                  => IGNORE,
20
 
        DB_AM_INMEM                => IGNORE,
21
 
        DB_AM_LOCKING              => IGNORE,
22
 
        DB_AM_LOGGING              => IGNORE,
23
 
        DB_AM_MLOCAL               => IGNORE,
24
 
        DB_AM_PGDEF                => IGNORE,
25
 
        DB_AM_RDONLY               => IGNORE,
26
 
        DB_AM_RECOVER              => IGNORE,
27
 
        DB_AM_SWAP                 => IGNORE,
28
 
        DB_AM_TXN                  => IGNORE,
29
 
        DB_APP_INIT                => DEFINE,
30
 
        DB_BEFORE                  => DEFINE,
31
 
        DB_BTREEMAGIC              => DEFINE,
32
 
        DB_BTREEVERSION            => DEFINE,
33
 
        DB_BT_DELIMITER            => IGNORE,
34
 
        DB_BT_EOF                  => IGNORE,
35
 
        DB_BT_FIXEDLEN             => IGNORE,
36
 
        DB_BT_PAD                  => IGNORE,
37
 
        DB_BT_SNAPSHOT             => IGNORE,
38
 
        DB_CHECKPOINT              => DEFINE,
39
 
        DB_CREATE                  => DEFINE,
40
 
        DB_CURRENT                 => DEFINE,
41
 
        DB_DBT_INTERNAL            => IGNORE,
42
 
        DB_DBT_MALLOC              => IGNORE,
43
 
        DB_DBT_PARTIAL             => IGNORE,
44
 
        DB_DBT_USERMEM             => IGNORE,
45
 
        DB_DELETED                 => DEFINE,
46
 
        DB_DELIMITER               => DEFINE,
47
 
        DB_DUP                     => DEFINE,
48
 
        DB_EXCL                    => DEFINE,
49
 
        DB_FIRST                   => DEFINE,
50
 
        DB_FIXEDLEN                => DEFINE,
51
 
        DB_FLUSH                   => DEFINE,
52
 
        DB_HASHMAGIC               => DEFINE,
53
 
        DB_HASHVERSION             => DEFINE,
54
 
        DB_HS_DIRTYMETA            => IGNORE,
55
 
        DB_INCOMPLETE              => DEFINE,
56
 
        DB_INIT_LOCK               => DEFINE,
57
 
        DB_INIT_LOG                => DEFINE,
58
 
        DB_INIT_MPOOL              => DEFINE,
59
 
        DB_INIT_TXN                => DEFINE,
60
 
        DB_KEYEXIST                => DEFINE,
61
 
        DB_KEYFIRST                => DEFINE,
62
 
        DB_KEYLAST                 => DEFINE,
63
 
        DB_LAST                    => DEFINE,
64
 
        DB_LOCKMAGIC               => DEFINE,
65
 
        DB_LOCKVERSION             => DEFINE,
66
 
        DB_LOCK_DEADLOCK           => DEFINE,
67
 
        DB_LOCK_NOTGRANTED         => DEFINE,
68
 
        DB_LOCK_NOTHELD            => DEFINE,
69
 
        DB_LOCK_NOWAIT             => DEFINE,
70
 
        DB_LOCK_RIW_N              => DEFINE,
71
 
        DB_LOCK_RW_N               => DEFINE,
72
 
        DB_LOGMAGIC                => DEFINE,
73
 
        DB_LOGVERSION              => DEFINE,
74
 
        DB_MAX_PAGES               => DEFINE,
75
 
        DB_MAX_RECORDS             => DEFINE,
76
 
        DB_MPOOL_CLEAN             => DEFINE,
77
 
        DB_MPOOL_CREATE            => DEFINE,
78
 
        DB_MPOOL_DIRTY             => DEFINE,
79
 
        DB_MPOOL_DISCARD           => DEFINE,
80
 
        DB_MPOOL_LAST              => DEFINE,
81
 
        DB_MPOOL_NEW               => DEFINE,
82
 
        DB_MPOOL_PRIVATE           => DEFINE,
83
 
        DB_MUTEXDEBUG              => DEFINE,
84
 
        DB_NEEDSPLIT               => DEFINE,
85
 
        DB_NEXT                    => DEFINE,
86
 
        DB_NOOVERWRITE             => DEFINE,
87
 
        DB_NORECURSE               => DEFINE,
88
 
        DB_NOSYNC                  => DEFINE,
89
 
        DB_NOTFOUND                => DEFINE,
90
 
        DB_PAD                     => DEFINE,
91
 
        DB_PREV                    => DEFINE,
92
 
        DB_RDONLY                  => DEFINE,
93
 
        DB_REGISTERED              => DEFINE,
94
 
        DB_RE_MODIFIED             => IGNORE,
95
 
        DB_SET                     => DEFINE,
96
 
        DB_SET_RANGE               => DEFINE,
97
 
        DB_SNAPSHOT                => DEFINE,
98
 
        DB_SWAPBYTES               => DEFINE,
99
 
        DB_TRUNCATE                => DEFINE,
100
 
        DB_TXNMAGIC                => DEFINE,
101
 
        DB_TXNVERSION              => DEFINE,
102
 
        DB_TXN_BACKWARD_ROLL       => DEFINE,
103
 
        DB_TXN_FORWARD_ROLL        => DEFINE,
104
 
        DB_TXN_LOCK_2PL            => DEFINE,
105
 
        DB_TXN_LOCK_MASK           => DEFINE,
106
 
        DB_TXN_LOCK_OPTIMISTIC     => DEFINE,
107
 
        DB_TXN_LOG_MASK            => DEFINE,
108
 
        DB_TXN_LOG_REDO            => DEFINE,
109
 
        DB_TXN_LOG_UNDO            => DEFINE,
110
 
        DB_TXN_LOG_UNDOREDO        => DEFINE,
111
 
        DB_TXN_OPENFILES           => DEFINE,
112
 
        DB_TXN_REDO                => DEFINE,
113
 
        DB_TXN_UNDO                => DEFINE,
114
 
        DB_USE_ENVIRON             => DEFINE,
115
 
        DB_USE_ENVIRON_ROOT        => DEFINE,
116
 
        DB_VERSION_MAJOR           => DEFINE,
117
 
        DB_VERSION_MINOR           => DEFINE,
118
 
        DB_VERSION_PATCH           => DEFINE,
119
 
        DB_VERSION_STRING          => STRING,
120
 
        _DB_H_                     => IGNORE,
121
 
        __BIT_TYPES_DEFINED__      => IGNORE,
122
 
        const                      => IGNORE,
123
 
 
124
 
        # enum DBTYPE
125
 
        DB_BTREE                   => '2.0.0',
126
 
        DB_HASH                    => '2.0.0',
127
 
        DB_RECNO                   => '2.0.0',
128
 
        DB_UNKNOWN                 => '2.0.0',
129
 
 
130
 
        # enum db_lockop_t
131
 
        DB_LOCK_DUMP               => '2.0.0',
132
 
        DB_LOCK_GET                => '2.0.0',
133
 
        DB_LOCK_PUT                => '2.0.0',
134
 
        DB_LOCK_PUT_ALL            => '2.0.0',
135
 
        DB_LOCK_PUT_OBJ            => '2.0.0',
136
 
 
137
 
        # enum db_lockmode_t
138
 
        DB_LOCK_NG                 => IGNORE, # 2.0.0
139
 
        DB_LOCK_READ               => IGNORE, # 2.0.0
140
 
        DB_LOCK_WRITE              => IGNORE, # 2.0.0
141
 
        DB_LOCK_IREAD              => IGNORE, # 2.0.0
142
 
        DB_LOCK_IWRITE             => IGNORE, # 2.0.0
143
 
        DB_LOCK_IWR                => IGNORE, # 2.0.0
144
 
 
145
 
        # enum ACTION
146
 
        FIND                       => IGNORE, # 2.0.0
147
 
        ENTER                      => IGNORE, # 2.0.0
148
 
 
149
 
        #########
150
 
        # 2.0.3
151
 
        #########
152
 
 
153
 
        DB_SEQUENTIAL              => DEFINE,
154
 
        DB_TEMPORARY               => DEFINE,
155
 
 
156
 
        #########
157
 
        # 2.1.0
158
 
        #########
159
 
 
160
 
        DB_NOMMAP                  => DEFINE,
161
 
 
162
 
        #########
163
 
        # 2.2.6
164
 
        #########
165
 
 
166
 
        DB_AM_THREAD               => IGNORE,
167
 
        DB_ARCH_ABS                => DEFINE,
168
 
        DB_ARCH_DATA               => DEFINE,
169
 
        DB_ARCH_LOG                => DEFINE,
170
 
        DB_LOCK_CONFLICT           => DEFINE,
171
 
        DB_LOCK_DEFAULT            => DEFINE,
172
 
        DB_LOCK_NORUN              => DEFINE,
173
 
        DB_LOCK_OLDEST             => DEFINE,
174
 
        DB_LOCK_RANDOM             => DEFINE,
175
 
        DB_LOCK_YOUNGEST           => DEFINE,
176
 
        DB_RECOVER                 => DEFINE,
177
 
        DB_RECOVER_FATAL           => DEFINE,
178
 
        DB_THREAD                  => DEFINE,
179
 
        DB_TXN_NOSYNC              => DEFINE,
180
 
 
181
 
        #########
182
 
        # 2.3.0
183
 
        #########
184
 
 
185
 
        DB_BTREEOLDVER             => DEFINE,
186
 
        DB_BT_RECNUM               => IGNORE,
187
 
        DB_FILE_ID_LEN             => DEFINE,
188
 
        DB_GETREC                  => DEFINE,
189
 
        DB_HASHOLDVER              => DEFINE,
190
 
        DB_KEYEMPTY                => DEFINE,
191
 
        DB_LOGOLDVER               => DEFINE,
192
 
        DB_RECNUM                  => DEFINE,
193
 
        DB_RECORDCOUNT             => DEFINE,
194
 
        DB_RENUMBER                => DEFINE,
195
 
        DB_RE_DELIMITER            => IGNORE,
196
 
        DB_RE_FIXEDLEN             => IGNORE,
197
 
        DB_RE_PAD                  => IGNORE,
198
 
        DB_RE_RENUMBER             => IGNORE,
199
 
        DB_RE_SNAPSHOT             => IGNORE,
200
 
 
201
 
        #########
202
 
        # 2.3.1
203
 
        #########
204
 
 
205
 
        DB_GET_RECNO               => DEFINE,
206
 
        DB_SET_RECNO               => DEFINE,
207
 
 
208
 
        #########
209
 
        # 2.3.3
210
 
        #########
211
 
 
212
 
        DB_APPEND                  => DEFINE,
213
 
 
214
 
        #########
215
 
        # 2.3.6
216
 
        #########
217
 
 
218
 
        DB_TXN_CKP                 => DEFINE,
219
 
 
220
 
        #########
221
 
        # 2.3.11
222
 
        #########
223
 
 
224
 
        DB_ENV_APPINIT             => DEFINE,
225
 
        DB_ENV_STANDALONE          => DEFINE,
226
 
        DB_ENV_THREAD              => DEFINE,
227
 
 
228
 
        #########
229
 
        # 2.3.12
230
 
        #########
231
 
 
232
 
        DB_FUNC_CALLOC             => IGNORE,
233
 
        DB_FUNC_CLOSE              => IGNORE,
234
 
        DB_FUNC_DIRFREE            => IGNORE,
235
 
        DB_FUNC_DIRLIST            => IGNORE,
236
 
        DB_FUNC_EXISTS             => IGNORE,
237
 
        DB_FUNC_FREE               => IGNORE,
238
 
        DB_FUNC_FSYNC              => IGNORE,
239
 
        DB_FUNC_IOINFO             => IGNORE,
240
 
        DB_FUNC_MALLOC             => IGNORE,
241
 
        DB_FUNC_MAP                => IGNORE,
242
 
        DB_FUNC_OPEN               => IGNORE,
243
 
        DB_FUNC_READ               => IGNORE,
244
 
        DB_FUNC_REALLOC            => IGNORE,
245
 
        DB_FUNC_SEEK               => IGNORE,
246
 
        DB_FUNC_SLEEP              => IGNORE,
247
 
        DB_FUNC_STRDUP             => IGNORE,
248
 
        DB_FUNC_UNLINK             => IGNORE,
249
 
        DB_FUNC_UNMAP              => IGNORE,
250
 
        DB_FUNC_WRITE              => IGNORE,
251
 
        DB_FUNC_YIELD              => IGNORE,
252
 
 
253
 
        #########
254
 
        # 2.3.14
255
 
        #########
256
 
 
257
 
        DB_TSL_SPINS               => IGNORE,
258
 
 
259
 
        #########
260
 
        # 2.3.16
261
 
        #########
262
 
 
263
 
        DB_DBM_HSEARCH             => IGNORE,
264
 
        firstkey                   => IGNORE,
265
 
        hdestroy                   => IGNORE,
266
 
 
267
 
        #########
268
 
        # 2.4.10
269
 
        #########
270
 
 
271
 
        DB_CURLSN                  => DEFINE,
272
 
        DB_FUNC_RUNLINK            => IGNORE,
273
 
        DB_REGION_ANON             => DEFINE,
274
 
        DB_REGION_INIT             => DEFINE,
275
 
        DB_REGION_NAME             => DEFINE,
276
 
        DB_TXN_LOCK_OPTIMIST       => DEFINE,
277
 
        __CURRENTLY_UNUSED         => IGNORE,
278
 
 
279
 
        # enum db_status_t
280
 
        DB_LSTAT_ABORTED           => IGNORE, # 2.4.10
281
 
        DB_LSTAT_ERR               => IGNORE, # 2.4.10
282
 
        DB_LSTAT_FREE              => IGNORE, # 2.4.10
283
 
        DB_LSTAT_HELD              => IGNORE, # 2.4.10
284
 
        DB_LSTAT_NOGRANT           => IGNORE, # 2.4.10
285
 
        DB_LSTAT_PENDING           => IGNORE, # 2.4.10
286
 
        DB_LSTAT_WAITING           => IGNORE, # 2.4.10
287
 
 
288
 
        #########
289
 
        # 2.4.14
290
 
        #########
291
 
 
292
 
        DB_MUTEXLOCKS              => DEFINE,
293
 
        DB_PAGEYIELD               => DEFINE,
294
 
        __UNUSED_100               => IGNORE,
295
 
        __UNUSED_4000              => IGNORE,
296
 
 
297
 
        #########
298
 
        # 2.5.2
299
 
        #########
300
 
 
301
 
        DBC_CONTINUE               => IGNORE,
302
 
        DBC_KEYSET                 => IGNORE,
303
 
        DBC_RECOVER                => IGNORE,
304
 
        DBC_RMW                    => IGNORE,
305
 
        DB_DBM_ERROR               => IGNORE,
306
 
        DB_GET_BOTH                => DEFINE,
307
 
        DB_NEXT_DUP                => DEFINE,
308
 
        DB_OPFLAGS_MASK            => DEFINE,
309
 
        DB_RMW                     => DEFINE,
310
 
        DB_RUNRECOVERY             => DEFINE,
311
 
        dbmclose                   => IGNORE,
312
 
 
313
 
        #########
314
 
        # 2.5.9
315
 
        #########
316
 
 
317
 
        DB_DUPSORT                 => DEFINE,
318
 
        DB_JOIN_ITEM               => DEFINE,
319
 
 
320
 
        #########
321
 
        # 2.6.4
322
 
        #########
323
 
 
324
 
        DBC_WRITER                 => IGNORE,
325
 
        DB_AM_CDB                  => IGNORE,
326
 
        DB_ENV_CDB                 => DEFINE,
327
 
        DB_INIT_CDB                => DEFINE,
328
 
        DB_LOCK_UPGRADE            => DEFINE,
329
 
        DB_WRITELOCK               => DEFINE,
330
 
 
331
 
        #########
332
 
        # 2.7.1
333
 
        #########
334
 
 
335
 
 
336
 
        # enum db_lockop_t
337
 
        DB_LOCK_INHERIT            => '2.7.1',
338
 
 
339
 
        #########
340
 
        # 2.7.7
341
 
        #########
342
 
 
343
 
        DB_FCNTL_LOCKING           => DEFINE,
344
 
 
345
 
        #########
346
 
        # 3.0.55
347
 
        #########
348
 
 
349
 
        DBC_WRITECURSOR            => IGNORE,
350
 
        DB_AM_DISCARD              => IGNORE,
351
 
        DB_AM_SUBDB                => IGNORE,
352
 
        DB_BT_REVSPLIT             => IGNORE,
353
 
        DB_CONSUME                 => DEFINE,
354
 
        DB_CXX_NO_EXCEPTIONS       => DEFINE,
355
 
        DB_DBT_REALLOC             => IGNORE,
356
 
        DB_DUPCURSOR               => DEFINE,
357
 
        DB_ENV_CREATE              => DEFINE,
358
 
        DB_ENV_DBLOCAL             => DEFINE,
359
 
        DB_ENV_LOCKDOWN            => DEFINE,
360
 
        DB_ENV_LOCKING             => DEFINE,
361
 
        DB_ENV_LOGGING             => DEFINE,
362
 
        DB_ENV_NOMMAP              => DEFINE,
363
 
        DB_ENV_OPEN_CALLED         => DEFINE,
364
 
        DB_ENV_PRIVATE             => DEFINE,
365
 
        DB_ENV_SYSTEM_MEM          => DEFINE,
366
 
        DB_ENV_TXN                 => DEFINE,
367
 
        DB_ENV_TXN_NOSYNC          => DEFINE,
368
 
        DB_ENV_USER_ALLOC          => DEFINE,
369
 
        DB_FORCE                   => DEFINE,
370
 
        DB_LOCKDOWN                => DEFINE,
371
 
        DB_LOCK_RECORD             => DEFINE,
372
 
        DB_LOGFILEID_INVALID       => DEFINE,
373
 
        DB_MPOOL_NEW_GROUP         => DEFINE,
374
 
        DB_NEXT_NODUP              => DEFINE,
375
 
        DB_OK_BTREE                => DEFINE,
376
 
        DB_OK_HASH                 => DEFINE,
377
 
        DB_OK_QUEUE                => DEFINE,
378
 
        DB_OK_RECNO                => DEFINE,
379
 
        DB_OLD_VERSION             => DEFINE,
380
 
        DB_OPEN_CALLED             => DEFINE,
381
 
        DB_PAGE_LOCK               => DEFINE,
382
 
        DB_POSITION                => DEFINE,
383
 
        DB_POSITIONI               => DEFINE,
384
 
        DB_PRIVATE                 => DEFINE,
385
 
        DB_QAMMAGIC                => DEFINE,
386
 
        DB_QAMOLDVER               => DEFINE,
387
 
        DB_QAMVERSION              => DEFINE,
388
 
        DB_RECORD_LOCK             => DEFINE,
389
 
        DB_REVSPLITOFF             => DEFINE,
390
 
        DB_SYSTEM_MEM              => DEFINE,
391
 
        DB_TEST_POSTLOG            => DEFINE,
392
 
        DB_TEST_POSTLOGMETA        => DEFINE,
393
 
        DB_TEST_POSTOPEN           => DEFINE,
394
 
        DB_TEST_POSTRENAME         => DEFINE,
395
 
        DB_TEST_POSTSYNC           => DEFINE,
396
 
        DB_TEST_PREOPEN            => DEFINE,
397
 
        DB_TEST_PRERENAME          => DEFINE,
398
 
        DB_TXN_NOWAIT              => DEFINE,
399
 
        DB_TXN_SYNC                => DEFINE,
400
 
        DB_UPGRADE                 => DEFINE,
401
 
        DB_VERB_CHKPOINT           => DEFINE,
402
 
        DB_VERB_DEADLOCK           => DEFINE,
403
 
        DB_VERB_RECOVERY           => DEFINE,
404
 
        DB_VERB_WAITSFOR           => DEFINE,
405
 
        DB_WRITECURSOR             => DEFINE,
406
 
        DB_XA_CREATE               => DEFINE,
407
 
 
408
 
        # enum DBTYPE
409
 
        DB_QUEUE                   => '3.0.55',
410
 
 
411
 
        #########
412
 
        # 3.1.12
413
 
        #########
414
 
 
415
 
        DBC_ACTIVE                 => IGNORE,
416
 
        DBC_OPD                    => IGNORE,
417
 
        DBC_TRANSIENT              => IGNORE,
418
 
        DBC_WRITEDUP               => IGNORE,
419
 
        DB_AGGRESSIVE              => DEFINE,
420
 
        DB_AM_DUPSORT              => IGNORE,
421
 
        DB_CACHED_COUNTS           => DEFINE,
422
 
        DB_CLIENT                  => DEFINE,
423
 
        DB_DBT_DUPOK               => IGNORE,
424
 
        DB_DBT_ISSET               => IGNORE,
425
 
        DB_ENV_RPCCLIENT           => DEFINE,
426
 
        DB_GET_BOTHC               => DEFINE,
427
 
        DB_JOIN_NOSORT             => DEFINE,
428
 
        DB_NODUPDATA               => DEFINE,
429
 
        DB_NOORDERCHK              => DEFINE,
430
 
        DB_NOSERVER                => DEFINE,
431
 
        DB_NOSERVER_HOME           => DEFINE,
432
 
        DB_NOSERVER_ID             => DEFINE,
433
 
        DB_ODDFILESIZE             => DEFINE,
434
 
        DB_ORDERCHKONLY            => DEFINE,
435
 
        DB_PREV_NODUP              => DEFINE,
436
 
        DB_PR_HEADERS              => DEFINE,
437
 
        DB_PR_PAGE                 => DEFINE,
438
 
        DB_PR_RECOVERYTEST         => DEFINE,
439
 
        DB_RDWRMASTER              => DEFINE,
440
 
        DB_SALVAGE                 => DEFINE,
441
 
        DB_VERIFY_BAD              => DEFINE,
442
 
        DB_VERIFY_FATAL            => DEFINE,
443
 
        DB_VRFY_FLAGMASK           => DEFINE,
444
 
 
445
 
        # enum db_recops
446
 
        DB_TXN_ABORT               => '3.1.12',
447
 
        DB_TXN_BACKWARD_ROLL       => '3.1.12',
448
 
        DB_TXN_FORWARD_ROLL        => '3.1.12',
449
 
        DB_TXN_OPENFILES           => '3.1.12',
450
 
 
451
 
        #########
452
 
        # 3.2.3
453
 
        #########
454
 
 
455
 
        DBC_COMPENSATE             => IGNORE,
456
 
        DB_AM_VERIFYING            => IGNORE,
457
 
        DB_CDB_ALLDB               => DEFINE,
458
 
        DB_ENV_CDB_ALLDB           => DEFINE,
459
 
        DB_EXTENT                  => DEFINE,
460
 
        DB_JOINENV                 => DEFINE,
461
 
        DB_LOCK_SWITCH             => DEFINE,
462
 
        DB_MPOOL_EXTENT            => DEFINE,
463
 
        DB_REGION_MAGIC            => DEFINE,
464
 
        DB_UNRESOLVED_CHILD        => DEFINE,
465
 
        DB_VERIFY                  => DEFINE,
466
 
 
467
 
        # enum db_notices
468
 
        DB_NOTICE_LOGFILE_CHANGED  => IGNORE, # 3.2.3
469
 
 
470
 
        #########
471
 
        # 3.2.6
472
 
        #########
473
 
 
474
 
        DB_ALREADY_ABORTED         => DEFINE,
475
 
        DB_CONSUME_WAIT            => DEFINE,
476
 
        DB_JAVA_CALLBACK           => DEFINE,
477
 
        DB_TEST_POSTEXTDELETE      => DEFINE,
478
 
        DB_TEST_POSTEXTOPEN        => DEFINE,
479
 
        DB_TEST_POSTEXTUNLINK      => DEFINE,
480
 
        DB_TEST_PREEXTDELETE       => DEFINE,
481
 
        DB_TEST_PREEXTOPEN         => DEFINE,
482
 
        DB_TEST_PREEXTUNLINK       => DEFINE,
483
 
 
484
 
        # enum db_lockmode_t
485
 
        DB_LOCK_WAIT               => IGNORE, # 3.2.6
486
 
 
487
 
        #########
488
 
        # 3.3.4
489
 
        #########
490
 
 
491
 
        DBC_DIRTY_READ             => IGNORE,
492
 
        DBC_MULTIPLE               => IGNORE,
493
 
        DBC_MULTIPLE_KEY           => IGNORE,
494
 
        DB_AM_DIRTY                => IGNORE,
495
 
        DB_AM_SECONDARY            => IGNORE,
496
 
        DB_COMMIT                  => DEFINE,
497
 
        DB_DBT_APPMALLOC           => IGNORE,
498
 
        DB_DIRTY_READ              => DEFINE,
499
 
        DB_DONOTINDEX              => DEFINE,
500
 
        DB_ENV_PANIC_OK            => DEFINE,
501
 
        DB_ENV_RPCCLIENT_GIVEN     => DEFINE,
502
 
        DB_FAST_STAT               => DEFINE,
503
 
        DB_LOCK_MAXLOCKS           => DEFINE,
504
 
        DB_LOCK_MINLOCKS           => DEFINE,
505
 
        DB_LOCK_MINWRITE           => DEFINE,
506
 
        DB_MULTIPLE                => DEFINE,
507
 
        DB_MULTIPLE_KEY            => DEFINE,
508
 
        DB_PAGE_NOTFOUND           => DEFINE,
509
 
        DB_RPC_SERVERPROG          => DEFINE,
510
 
        DB_RPC_SERVERVERS          => DEFINE,
511
 
        DB_UPDATE_SECONDARY        => DEFINE,
512
 
        DB_XIDDATASIZE             => DEFINE,
513
 
 
514
 
        # enum db_recops
515
 
        DB_TXN_POPENFILES          => '3.3.4',
516
 
 
517
 
        # enum db_lockop_t
518
 
        DB_LOCK_UPGRADE_WRITE      => '3.3.4',
519
 
 
520
 
        # enum db_lockmode_t
521
 
        DB_LOCK_DIRTY              => IGNORE, # 3.3.4
522
 
        DB_LOCK_WWRITE             => IGNORE, # 3.3.4
523
 
 
524
 
        #########
525
 
        # 3.3.11
526
 
        #########
527
 
 
528
 
        DB_SECONDARY_BAD           => DEFINE,
529
 
        DB_SURPRISE_KID            => DEFINE,
530
 
        DB_TEST_POSTDESTROY        => DEFINE,
531
 
        DB_TEST_PREDESTROY         => DEFINE,
532
 
 
533
 
        #########
534
 
        # 4.0.7
535
 
        #########
536
 
 
537
 
        DB_APPLY_LOGREG            => DEFINE,
538
 
        DB_BROADCAST_EID           => DEFINE,
539
 
        DB_CL_WRITER               => DEFINE,
540
 
        DB_ENV_NOLOCKING           => DEFINE,
541
 
        DB_ENV_NOPANIC             => DEFINE,
542
 
        DB_ENV_REGION_INIT         => DEFINE,
543
 
        DB_ENV_REP_CLIENT          => DEFINE,
544
 
        DB_ENV_REP_LOGSONLY        => DEFINE,
545
 
        DB_ENV_REP_MASTER          => DEFINE,
546
 
        DB_ENV_YIELDCPU            => DEFINE,
547
 
        DB_GET_BOTH_RANGE          => DEFINE,
548
 
        DB_INVALID_EID             => DEFINE,
549
 
        DB_LOCK_EXPIRE             => DEFINE,
550
 
        DB_LOCK_FREE_LOCKER        => DEFINE,
551
 
        DB_LOCK_SET_TIMEOUT        => DEFINE,
552
 
        DB_LOGC_BUF_SIZE           => DEFINE,
553
 
        DB_LOG_DISK                => DEFINE,
554
 
        DB_LOG_LOCKED              => DEFINE,
555
 
        DB_LOG_SILENT_ERR          => DEFINE,
556
 
        DB_NOLOCKING               => DEFINE,
557
 
        DB_NOPANIC                 => DEFINE,
558
 
        DB_PANIC_ENVIRONMENT       => DEFINE,
559
 
        DB_REP_CLIENT              => DEFINE,
560
 
        DB_REP_DUPMASTER           => DEFINE,
561
 
        DB_REP_HOLDELECTION        => DEFINE,
562
 
        DB_REP_LOGSONLY            => DEFINE,
563
 
        DB_REP_MASTER              => DEFINE,
564
 
        DB_REP_NEWMASTER           => DEFINE,
565
 
        DB_REP_NEWSITE             => DEFINE,
566
 
        DB_REP_OUTDATED            => DEFINE,
567
 
        DB_REP_PERMANENT           => DEFINE,
568
 
        DB_REP_UNAVAIL             => DEFINE,
569
 
        DB_SET_LOCK_TIMEOUT        => DEFINE,
570
 
        DB_SET_TXN_NOW             => DEFINE,
571
 
        DB_SET_TXN_TIMEOUT         => DEFINE,
572
 
        DB_STAT_CLEAR              => DEFINE,
573
 
        DB_TIMEOUT                 => DEFINE,
574
 
        DB_YIELDCPU                => DEFINE,
575
 
        MP_FLUSH                   => IGNORE,
576
 
        MP_OPEN_CALLED             => IGNORE,
577
 
        MP_READONLY                => IGNORE,
578
 
        MP_UPGRADE                 => IGNORE,
579
 
        MP_UPGRADE_FAIL            => IGNORE,
580
 
        TXN_CHILDCOMMIT            => IGNORE,
581
 
        TXN_COMPENSATE             => IGNORE,
582
 
        TXN_DIRTY_READ             => IGNORE,
583
 
        TXN_LOCKTIMEOUT            => IGNORE,
584
 
        TXN_MALLOC                 => IGNORE,
585
 
        TXN_NOSYNC                 => IGNORE,
586
 
        TXN_NOWAIT                 => IGNORE,
587
 
        TXN_SYNC                   => IGNORE,
588
 
 
589
 
        # enum db_recops
590
 
        DB_TXN_APPLY               => '4.0.7',
591
 
 
592
 
        # enum db_lockop_t
593
 
        DB_LOCK_GET_TIMEOUT        => '4.0.7',
594
 
        DB_LOCK_PUT_READ           => '4.0.7',
595
 
        DB_LOCK_TIMEOUT            => '4.0.7',
596
 
 
597
 
        # enum db_status_t
598
 
        DB_LSTAT_EXPIRED           => IGNORE, # 4.0.7
599
 
 
600
 
        #########
601
 
        # 4.0.14
602
 
        #########
603
 
 
604
 
        DB_EID_BROADCAST           => DEFINE,
605
 
        DB_EID_INVALID             => DEFINE,
606
 
        DB_VERB_REPLICATION        => DEFINE,
607
 
 
608
 
        #########
609
 
        # 4.1.17
610
 
        #########
611
 
 
612
 
        DBC_OWN_LID                => IGNORE,
613
 
        DB_AM_CHKSUM               => IGNORE,
614
 
        DB_AM_CL_WRITER            => IGNORE,
615
 
        DB_AM_COMPENSATE           => IGNORE,
616
 
        DB_AM_CREATED              => IGNORE,
617
 
        DB_AM_CREATED_MSTR         => IGNORE,
618
 
        DB_AM_DBM_ERROR            => IGNORE,
619
 
        DB_AM_DELIMITER            => IGNORE,
620
 
        DB_AM_ENCRYPT              => IGNORE,
621
 
        DB_AM_FIXEDLEN             => IGNORE,
622
 
        DB_AM_IN_RENAME            => IGNORE,
623
 
        DB_AM_OPEN_CALLED          => IGNORE,
624
 
        DB_AM_PAD                  => IGNORE,
625
 
        DB_AM_RECNUM               => IGNORE,
626
 
        DB_AM_RENUMBER             => IGNORE,
627
 
        DB_AM_REVSPLITOFF          => IGNORE,
628
 
        DB_AM_SNAPSHOT             => IGNORE,
629
 
        DB_AUTO_COMMIT             => DEFINE,
630
 
        DB_CHKSUM_SHA1             => DEFINE,
631
 
        DB_DIRECT                  => DEFINE,
632
 
        DB_DIRECT_DB               => DEFINE,
633
 
        DB_DIRECT_LOG              => DEFINE,
634
 
        DB_ENCRYPT                 => DEFINE,
635
 
        DB_ENCRYPT_AES             => DEFINE,
636
 
        DB_ENV_AUTO_COMMIT         => DEFINE,
637
 
        DB_ENV_DIRECT_DB           => DEFINE,
638
 
        DB_ENV_DIRECT_LOG          => DEFINE,
639
 
        DB_ENV_FATAL               => DEFINE,
640
 
        DB_ENV_OVERWRITE           => DEFINE,
641
 
        DB_ENV_TXN_WRITE_NOSYNC    => DEFINE,
642
 
        DB_HANDLE_LOCK             => DEFINE,
643
 
        DB_LOCK_NOTEXIST           => DEFINE,
644
 
        DB_LOCK_REMOVE             => DEFINE,
645
 
        DB_NOCOPY                  => DEFINE,
646
 
        DB_OVERWRITE               => DEFINE,
647
 
        DB_PERMANENT               => DEFINE,
648
 
        DB_PRINTABLE               => DEFINE,
649
 
        DB_RENAMEMAGIC             => DEFINE,
650
 
        DB_TEST_ELECTINIT          => DEFINE,
651
 
        DB_TEST_ELECTSEND          => DEFINE,
652
 
        DB_TEST_ELECTVOTE1         => DEFINE,
653
 
        DB_TEST_ELECTVOTE2         => DEFINE,
654
 
        DB_TEST_ELECTWAIT1         => DEFINE,
655
 
        DB_TEST_ELECTWAIT2         => DEFINE,
656
 
        DB_TEST_SUBDB_LOCKS        => DEFINE,
657
 
        DB_TXN_LOCK                => DEFINE,
658
 
        DB_TXN_WRITE_NOSYNC        => DEFINE,
659
 
        DB_WRITEOPEN               => DEFINE,
660
 
        DB_WRNOSYNC                => DEFINE,
661
 
        _DB_EXT_PROT_IN_           => IGNORE,
662
 
 
663
 
        # enum db_lockop_t
664
 
        DB_LOCK_TRADE              => '4.1.17',
665
 
 
666
 
        # enum db_status_t
667
 
        DB_LSTAT_NOTEXIST          => IGNORE, # 4.1.17
668
 
 
669
 
        # enum DB_CACHE_PRIORITY
670
 
        DB_PRIORITY_VERY_LOW       => '4.1.17',
671
 
        DB_PRIORITY_LOW            => '4.1.17',
672
 
        DB_PRIORITY_DEFAULT        => '4.1.17',
673
 
        DB_PRIORITY_HIGH           => '4.1.17',
674
 
        DB_PRIORITY_VERY_HIGH      => '4.1.17',
675
 
 
676
 
        # enum db_recops
677
 
        DB_TXN_BACKWARD_ALLOC      => '4.1.17',
678
 
        DB_TXN_GETPGNOS            => '4.1.17',
679
 
        DB_TXN_PRINT               => '4.1.17',
680
 
 
681
 
        ) ;
682
 
 
683
 
sub enum_Macro
684
 
{
685
 
    my $str = shift ;
686
 
    my ($major, $minor, $patch) = split /\./, $str ;
687
 
 
688
 
    my $macro = 
689
 
    "#if (DB_VERSION_MAJOR > $major) || \\\n" .
690
 
    "    (DB_VERSION_MAJOR == $major && DB_VERSION_MINOR > $minor) || \\\n" .
691
 
    "    (DB_VERSION_MAJOR == $major && DB_VERSION_MINOR == $minor && \\\n" .
692
 
    "     DB_VERSION_PATCH >= $patch)\n" ;
693
 
 
694
 
    return $macro;
695
 
 
696
 
}
697
 
 
698
 
sub OutputXS
699
 
{
700
 
 
701
 
    my @names = () ;
702
 
 
703
 
    foreach my $key (sort keys %constants)
704
 
    {
705
 
        my $val = $constants{$key} ;
706
 
        next if $val eq IGNORE;
707
 
 
708
 
        if ($val eq STRING)
709
 
          { push @names, { name => $key, type => "PV" } }
710
 
        elsif ($val eq DEFINE)
711
 
          { push @names, $key }
712
 
        else
713
 
          { push @names, { name => $key, macro => [enum_Macro($val), "#endif\n"] } }
714
 
    }
715
 
 
716
 
    warn "Updating constants.xs & constants.h...\n";
717
 
    WriteConstants(
718
 
              NAME    => BerkeleyDB,
719
 
              NAMES   => \@names,
720
 
              C_FILE  => 'constants.h',
721
 
              XS_FILE => 'constants.xs',
722
 
          ) ;
723
 
}
724
 
 
725
 
sub OutputPM
726
 
{
727
 
    my $filename = 'BerkeleyDB.pm';
728
 
    warn "Updating $filename...\n";
729
 
    open IN, "<$filename" || die "Cannot open $filename: $!\n";
730
 
    open OUT, ">$filename.tmp" || die "Cannot open $filename.tmp: $!\n";
731
 
 
732
 
    my $START = '@EXPORT = qw(' ;
733
 
    my $START_re = quotemeta $START ;
734
 
    my $END = ');';
735
 
    my $END_re = quotemeta $END ;
736
 
 
737
 
    # skip to the @EXPORT declaration
738
 
    OUTER: while (<IN>)
739
 
    {
740
 
        if ( /^\s*$START_re/ )
741
 
        {
742
 
            # skip to the end marker.
743
 
            while (<IN>) 
744
 
                { last OUTER if /^\s*$END_re/ }
745
 
        }
746
 
        print OUT ;
747
 
    }
748
 
    
749
 
    print OUT "$START\n";
750
 
    foreach my $key (sort keys %constants)
751
 
    {
752
 
        next if $constants{$key} eq IGNORE;
753
 
        print OUT "\t$key\n";
754
 
    }
755
 
    print OUT "\t$END\n";
756
 
    
757
 
    while (<IN>)
758
 
    {
759
 
        print OUT ;
760
 
    }
761
 
 
762
 
    close IN;
763
 
    close OUT;
764
 
 
765
 
    rename $filename, "$filename.bak" || die "Cannot rename $filename: $!\n" ;
766
 
    rename "$filename.tmp", $filename || die "Cannot rename $filename.tmp: $!\n" ;
767
 
}
768
 
 
769
 
OutputXS() ;
770
 
OutputPM() ;