source: scripts/native-scripts/native-perl.sh@ 8080e7a

clfs-1.2 clfs-2.1 clfs-3.0.0-systemd clfs-3.0.0-sysvinit systemd sysvinit
Last change on this file since 8080e7a was 8080e7a, checked in by Jim Gifford <clfs@…>, 19 years ago

r583@server (orig r581): ryan | 2005-08-05 21:44:17 -0700
Always use -fPIC when building perl



  • Property mode set to 100755
File size: 2.7 KB
Line 
1#!/bin/bash
2
3# cross-lfs native perl build
4# ---------------------------
5# $LastChangedBy$
6# $LastChangedDate$
7# $LastChangedRevision$
8# $HeadURL$
9#
10
11cd ${SRC}
12LOG=perl-native.log
13
14# Test if the 64 script has been called.
15# This should only really get called during bi-arch builds
16SELF=`basename ${0}`
17set_buildenv
18set_libdirname
19setup_multiarch
20
21test "${SELF}" = "native-perl-64.sh" && LIB64=Y
22
23unpack_tarball perl-${PERL_VER} &&
24cd ${PKGDIR}
25
26chmod u+w hints/linux.sh # For those not running as a root user
27
28if [ ! "${libdirname}" = "lib" ]; then
29 # We need to adjust Configure so that it understands
30 # installstyle=lib64/perl5 and sets up directory paths accordingly
31 # NOTE: may need to check how this affects vendor libs...
32 if [ ! -f Configure-ORIG ]; then cp Configure Configure-ORIG ;fi
33 sed "/\*lib\/perl5\*).*/{
34 h
35 s/\([^a-zA-Z]\)lib/\1${libdirname}/g
36 x
37 G }" Configure-ORIG > Configure
38
39 # edit linux.sh
40 if [ ! -f hints/linux.sh-ORIG ]; then
41 cp hints/linux.sh hints/linux.sh-ORIG
42 fi
43 sed -e "s@/lib/libc.so.6@/${libdirname}/libc.so.6@g" \
44 -e "s@libc=/lib/\$libc@libc=/${libdirname}/\$libc@g" \
45 hints/linux.sh-ORIG > hints/linux.sh
46
47 # Now that installstyle can handle lib64, specify our
48 # our installstyle in linux.sh
49 echo "installstyle=\"${libdirname}/perl5\"" >> hints/linux.sh
50 # override standard glibpth
51 echo "glibpth=\"/${libdirname} /usr/${libdirname}\"" >> hints/linux.sh
52fi
53
54# override loclibpth
55# NOTE: by rights during this stage of the build there shouldn't be
56# any libs in the local lib paths
57# (ie /usr/local/lib{,64} , /opt/local/lib{,64})
58# so we just clear this (as we do ch5).
59#
60# Other option is to set
61# loclibpth=\"/usr/local/${libdir} /opt/local/${libdir}\"
62# (and optionally /usr/gnu/${libdir})
63#
64echo "loclibpth=\"\"" >> hints/linux.sh
65cd ${SRC}/${PKGDIR}
66
67# if not creating a shared libperl (ie useshrplib not true), still use pic
68sed -i -e "s@pldlflags=''@pldlflags=\"\$cccdlflags\"@g" \
69 -e "s@static_target='static'@static_target='static_pic'@g" \
70 Makefile.SH
71
72max_log_init Perl ${PERL_VER} "native (shared)" ${CONFLOGS} ${LOG}
73CC="${CC-gcc} ${ARCH_CFLAGS}" \
74./configure.gnu --prefix=/usr \
75 -Doptimize="-O2 -pipe ${TGT_CFLAGS}" \
76 -Dman1dir='/usr/share/man/perl/man1' \
77 -Dman3dir='/usr/share/man/perl/man3' \
78 -Dcccdlflags='-fPIC' \
79 >> ${LOGFILE} 2>&1 &&
80echo " o Configure OK" || barf
81
82min_log_init ${BUILDLOGS} &&
83make LDFLAGS="-s" \
84 >> ${LOGFILE} 2>&1 &&
85echo " o Build OK" || barf
86
87min_log_init ${INSTLOGS} &&
88make install \
89 >> ${LOGFILE} 2>&1 &&
90echo " o Install OK" || barf
91
92if [ "Y" = "${MULTIARCH}" ]; then
93 use_wrapper /usr/bin/{perl,perl${PERL_VER}}
94fi
Note: See TracBrowser for help on using the repository browser.