opnsense-src/gnu/usr.bin/perl/library/Makefile.inc
Mark Murray fac189508a From the submitter:
$ PERL_DL_NONLAZY=1 perl -MPOSIX -e ''
Can't load '/usr/libdata/perl/5.6.0/mach/auto/POSIX/POSIX.so' for module
POSIX: /usr/libdata/perl/5.6.0/mach/auto/POSIX/POSIX.so: Undefined
symbol "sv_setptrobj" at /usr/libdata/perl/5.6.0/XSLoader.pm line 73.
 at /usr/libdata/perl/5.6.0/mach/POSIX.pm line 24
Compilation failed in require.
BEGIN failed--compilation aborted.

This problem only exists in -CURRENT.  Most often it is reproduced when
compiling some perl extension manually.  Make test uses PERL_DL_NONLAZY,
and if a tested module uses POSIX, boom!

Luckily, we don't see it very often, mostly because the vast majority of
p5 ports do not perform the `make test' step.

Submitted by:	Anton Berezin <tobez@tobez.org>
Needs to be a committer already:	Anton Berezin <tobez@tobez.org>
2001-05-26 17:40:09 +00:00

43 lines
1.2 KiB
Makefile

# $FreeBSD$
PERL5SRC?= ${.CURDIR}/../../../../../contrib/perl5
PERL5LIBSRC?= ${.CURDIR}/../../libperl
MINIPERL= miniperl
MODULEDIR?= ${MODULE}
MAKEMAKER_ARGS= INSTALLDIRS=perl PERL_SRC=${.OBJDIR} \
INSTALLMAN3DIR=${DESTDIR}/usr/share/perl/man3 \
PERL=${MINIPERL} FULLPERL=perl DEFINE=-I${DESTDIR}/usr/include
CFLAGS+= -L${.OBJDIR}/../../libperl
all: lib/auto/${MODULE}.so
.include "../Makefile.inc"
lib/auto/${MODULE}.so: ext/${MODULEDIR}/Makefile ${DYNALOADER}
@cd ext/${MODULEDIR}; \
make -B all PERL_SRC=${.OBJDIR}
ext/${MODULEDIR}/Makefile: scripts
@cd ext/${MODULEDIR}; \
${MINIPERL} -I${.OBJDIR}/lib Makefile.PL ${MAKEMAKER_ARGS} \
LINKTYPE=dynamic LIBS="-lperl -lm" \
INST_LIB=${.OBJDIR}/build/${MODULEDIR} \
INST_ARCHLIB=${.OBJDIR}/build/${MODULEDIR}; \
make -B config PERL_SRC=${.OBJDIR}
install:
@cd ${.OBJDIR}/ext/${MODULEDIR} ;\
make -B install \
INSTALLPRIVLIB=${DESTDIR}/usr/libdata/perl/${VERSION} \
INSTALLARCHLIB=${DESTDIR}/usr/libdata/perl/${VERSION}/mach
distribute:
@cd ${.OBJDIR}/ext/${MODULEDIR} ;\
make -B install DESTDIR=${DISTDIR}/${dist} SHARED=copies \
INSTALLPRIVLIB=${DESTDIR}/usr/libdata/perl/${VERSION} \
INSTALLARCHLIB=${DESTDIR}/usr/libdata/perl/${VERSION}/mach
.PATH: ${PERL5SRC}