Commit | Line | Data |
6e4ef777 |
1 | use strict; |
8ce86de8 |
2 | use ExtUtils::MakeMaker; |
8168e71f |
3 | eval 'use ExtUtils::MakeMaker::Coverage'; |
4 | require 5.006; |
8ce86de8 |
5 | |
6 | WriteMakefile( |
8168e71f |
7 | NAME => 'Sys::Syslog', |
6e4ef777 |
8 | LICENSE => 'perl', |
8168e71f |
9 | VERSION_FROM => 'Syslog.pm', |
10 | ABSTRACT_FROM => 'Syslog.pm', |
11 | INSTALLDIRS => 'perl', |
12 | MAN3PODS => {}, # Pods will be built by installman. |
13 | XSPROTOARG => '-noprototypes', |
14 | PREREQ_PM => { |
15 | 'Test::More' => 0, |
6e4ef777 |
16 | 'XSLoader' => 0, |
8168e71f |
17 | }, |
18 | dist => { COMPRESS => 'gzip -9f', SUFFIX => 'gz', }, |
19 | clean => { FILES => 'Sys-Syslog-*' }, |
3d6051c4 |
20 | realclean => { FILES => 'const-c.inc const-xs.inc macros.all' }, |
1307ca85 |
21 | ( |
22 | (grep { $_ eq 'PERL_CORE=1' } @ARGV) |
23 | ? () |
24 | : ('DEFINE' => '-DUSE_PPPORT_H') |
25 | ), |
8ce86de8 |
26 | ); |
cf2bd340 |
27 | |
f66a7beb |
28 | my $_PATH_LOG; |
29 | |
6e4ef777 |
30 | if (-S "/dev/log" and -w "/dev/log") { |
8168e71f |
31 | # Most unixes have a unix domain socket /dev/log. |
32 | $_PATH_LOG = "/dev/log"; |
6e4ef777 |
33 | } elsif (-c "/dev/conslog" and -w "/dev/conslog") { |
8168e71f |
34 | # SunOS 5.8 has a worldwritable /dev/conslog STREAMS log driver. |
35 | # The /dev/log STREAMS log driver on this platform has permissions |
36 | # and ownership `crw-r----- root sys'. /dev/conslog has more liberal |
37 | # permissions. |
38 | $_PATH_LOG = "/dev/conslog"; |
f66a7beb |
39 | } else { |
8168e71f |
40 | $_PATH_LOG = ""; |
f66a7beb |
41 | } |
cf2bd340 |
42 | |
8168e71f |
43 | if(eval {require ExtUtils::Constant; 1}) { |
74c4de31 |
44 | my @names = ( |
45 | # levels |
46 | qw( |
47 | LOG_ALERT LOG_CRIT LOG_DEBUG LOG_EMERG LOG_ERR |
48 | LOG_INFO LOG_NOTICE LOG_WARNING |
49 | ), |
50 | |
51 | # facilities |
52 | qw( |
53 | LOG_AUTH LOG_AUTHPRIV LOG_CRON LOG_DAEMON LOG_FTP |
54 | LOG_INSTALL LOG_KERN LOG_LAUNCHD LOG_LFMT LOG_LOCAL0 |
55 | LOG_LOCAL1 LOG_LOCAL2 LOG_LOCAL3 LOG_LOCAL4 LOG_LOCAL5 |
56 | LOG_LOCAL6 LOG_LOCAL7 LOG_LPR LOG_MAIL LOG_NETINFO |
57 | LOG_NEWS LOG_RAS LOG_REMOTEAUTH LOG_SYSLOG LOG_USER LOG_UUCP |
58 | ), |
59 | |
60 | # options |
61 | qw( |
62 | LOG_CONS LOG_PID LOG_NDELAY LOG_NOWAIT LOG_ODELAY LOG_PERROR |
63 | ), |
64 | |
65 | # others macros |
66 | qw( |
67 | LOG_FACMASK LOG_NFACILITIES LOG_PRIMASK |
68 | ), |
69 | |
8168e71f |
70 | { name => "_PATH_LOG", type => "PV", default => [ "PV", qq("$_PATH_LOG") ] }, |
71 | ); |
72 | |
73 | ExtUtils::Constant::WriteConstants( |
322a00dc |
74 | ($] > 5.009002 ? (PROXYSUBS => 1) : ()), |
8168e71f |
75 | NAME => 'Sys::Syslog', |
76 | NAMES => \@names, |
77 | ); |
78 | |
79 | open(MACROS, '>macros.all') or warn "can't write 'macros.all': $!\n"; |
80 | print MACROS join $/, grep {!ref} @names; |
81 | close(MACROS); |
82 | |
83 | } else { |
6e4ef777 |
84 | require File::Copy; |
85 | require File::Spec; |
8168e71f |
86 | foreach my $file ('const-c.inc', 'const-xs.inc') { |
87 | my $fallback = File::Spec->catfile('fallback', $file); |
6e4ef777 |
88 | File::Copy::copy($fallback, $file) or die "Can't copy $fallback to $ $!"; |
8168e71f |
89 | } |
90 | } |