65 lines
1.8 KiB
Bash
65 lines
1.8 KiB
Bash
#
|
|
# This helper does the required steps to be able to build and install
|
|
# perl modules that use MakeMaker into the correct location.
|
|
#
|
|
# Required vars to be set by a template:
|
|
#
|
|
# build_style=perl-module
|
|
#
|
|
# Optionally if the module needs more directories to be configured other
|
|
# than $XBPS_BUILDDIR/$wrksrc, one can use (relative to $wrksrc):
|
|
#
|
|
# perl_configure_dirs="blob/bob foo/blah"
|
|
#
|
|
do_configure() {
|
|
local perlmkf
|
|
|
|
if [ -z "$perl_configure_dirs" ]; then
|
|
perlmkf="$wrksrc/Makefile.PL"
|
|
if [ ! -f $perlmkf ]; then
|
|
msg_error "*** ERROR couldn't find $perlmkf, aborting ***\n"
|
|
fi
|
|
|
|
cd $wrksrc
|
|
PERL_MM_USE_DEFAULT=1 GCC="$CC" CC="$CC" LD="$CC" \
|
|
OPTIMIZE="$CFLAGS" \
|
|
CFLAGS="$CFLAGS -I${XBPS_CROSS_BASE}/usr/include" \
|
|
LDFLAGS="$LDFLAGS -L${XBPS_CROSS_BASE}/usr/lib" \
|
|
LDDLFLAGS="-shared $CFLAGS -L${XBPS_CROSS_BASE}/usr/lib" \
|
|
perl Makefile.PL ${configure_args} INSTALLDIRS=vendor
|
|
fi
|
|
|
|
for i in "$perl_configure_dirs"; do
|
|
perlmkf="$wrksrc/$i/Makefile.PL"
|
|
if [ -f $perlmkf ]; then
|
|
cd $wrksrc/$i
|
|
PERL_MM_USE_DEFAULT=1 GCC="$CC" CC="$CC" LD="$CC" \
|
|
OPTIMIZE="$CFLAGS" \
|
|
CFLAGS="$CFLAGS -I${XBPS_CROSS_BASE}/usr/include" \
|
|
LDFLAGS="$LDFLAGS -L${XBPS_CROSS_BASE}/usr/lib" \
|
|
LDDLFLAGS="-shared $CFLAGS -L${XBPS_CROSS_BASE}/usr/lib" \
|
|
perl Makefile.PL ${make_build_args} INSTALLDIRS=vendor
|
|
else
|
|
msg_error "*** ERROR: couldn't find $perlmkf, aborting **\n"
|
|
fi
|
|
done
|
|
}
|
|
|
|
do_build() {
|
|
: ${make_cmd:=make}
|
|
|
|
${make_cmd} CC="$CC" LD="$CC" CFLAGS="$CFLAGS" OPTIMIZE="$CFLAGS" \
|
|
LDFLAGS="$LDFLAGS -L${XBPS_CROSS_BASE}/usr/lib" \
|
|
LDDLFLAGS="-shared $CFLAGS -L${XBPS_CROSS_BASE}/usr/lib" \
|
|
${makejobs} ${make_build_args} ${make_build_target}
|
|
}
|
|
|
|
do_install() {
|
|
: ${make_cmd:=make}
|
|
: ${make_install_target:=install}
|
|
|
|
make_install_args+=" DESTDIR=${DESTDIR}"
|
|
|
|
${make_cmd} ${make_install_args} ${make_install_target}
|
|
}
|