Sys::Syslog doesn't need ppport.h in core
[p5sagit/p5-mst-13.2.git] / ext / Sys / Syslog / Makefile.PL
CommitLineData
6e4ef777 1use strict;
8ce86de8 2use ExtUtils::MakeMaker;
8168e71f 3eval 'use ExtUtils::MakeMaker::Coverage';
4require 5.006;
8ce86de8 5
6WriteMakefile(
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 28my $_PATH_LOG;
29
6e4ef777 30if (-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 43if(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}