ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/staticperl/perl/ext/DB_File/Makefile.PL
Revision: 1.1
Committed: Thu Jun 30 14:26:44 2005 UTC (21 years, 3 months ago) by root
Content type: text/plain
Branch: MAIN
CVS Tags: PERL-5-8-7, HEAD
Branch point for: PERL
Log Message:
*** empty log message ***

File Contents

# User Rev Content
1 root 1.1 use strict;
2     use warnings;
3    
4     use ExtUtils::MakeMaker ;
5     use ExtUtils::Constant qw(WriteConstants);
6     use Config ;
7    
8     # OS2 is a special case, so check for it now.
9     my $OS2 = "-DOS2" if $Config{'osname'} eq 'os2' ;
10    
11     my $LIB = "-ldb" ;
12     # so is win32
13     $LIB = "-llibdb" if $^O eq 'MSWin32' ;
14    
15     WriteMakefile(
16     NAME => 'DB_File',
17     LIBS => ["-L/usr/local/lib $LIB"],
18     MAN3PODS => {}, # Pods will be built by installman.
19     #INC => '-I/usr/local/include',
20     VERSION_FROM => 'DB_File.pm',
21     OBJECT => 'version$(OBJ_EXT) DB_File$(OBJ_EXT)',
22     XSPROTOARG => '-noprototypes',
23     DEFINE => $OS2 || "",
24     INC => ($^O eq "MacOS" ? "-i ::::db:include" : ""),
25     'depend' => {'version$(OBJ_EXT)' => 'version.c'},
26     'clean' => {FILES => 'constants.h constants.xs'},
27     );
28    
29     my @names = qw(
30     BTREEMAGIC
31     BTREEVERSION
32     DB_LOCK
33     DB_SHMEM
34     DB_TXN
35     HASHMAGIC
36     HASHVERSION
37     MAX_PAGE_NUMBER
38     MAX_PAGE_OFFSET
39     MAX_REC_NUMBER
40     RET_ERROR
41     RET_SPECIAL
42     RET_SUCCESS
43     R_CURSOR
44     R_DUP
45     R_FIRST
46     R_FIXEDLEN
47     R_IAFTER
48     R_IBEFORE
49     R_LAST
50     R_NEXT
51     R_NOKEY
52     R_NOOVERWRITE
53     R_PREV
54     R_RECNOSYNC
55     R_SETCURSOR
56     R_SNAPSHOT
57     __R_UNUSED
58     );
59    
60     # Check the constants above all appear in @EXPORT in DB_File.pm
61     my %names = map { $_, 1} @names;
62     open F, "<DB_File.pm" or die "Cannot open DB_File.pm: $!\n";
63     while (<F>)
64     {
65     last if /^\s*\@EXPORT\s+=\s+qw\(/ ;
66     }
67    
68     while (<F>)
69     {
70     last if /^\s*\)/ ;
71     /(\S+)/ ;
72     delete $names{$1} if defined $1 ;
73     }
74     close F ;
75    
76     if ( keys %names )
77     {
78     my $missing = join ("\n\t", sort keys %names) ;
79     die "The following names are missing from \@EXPORT in DB_File.pm\n" .
80     "\t$missing\n" ;
81     }
82    
83    
84     WriteConstants( NAME => 'DB_File',
85     NAMES => \@names,
86     C_FILE => 'constants.h',
87     XS_FILE => 'constants.xs',
88     );