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