SPARCでは32bit版と64bit版を両方コンパイルします。
次のようなスクリプトを実行します。
setup.sh
#!/bin/sh
if [ $# -eq 1 ]; then
. ../setup-pre.sh $1
else
. ../setup-pre.sh
fi
if [ "$ISA" = "sparcv9" ]; then
CFLAGS="-M /usr/lib/ld/sparcv9/map.default $CFLAGS"
export CFLAGS
fi
if [ "$ISA" = "amd64" ]; then
CFLAGS="-M /usr/lib/ld/amd64/map.default $CFLAGS"
export CFLAGS
fi
sdk="openldap"
#sdk="auto"
if [ "$sdk" = "auto" ];
then
sdkpath="/usr"
CPPFLAGS=
export CPPFLAGS
LDFLAGS=
export LDFLAGS
else
sdkpath="/usr/local"
fi
./configure --prefix=/usr/local \
--sysconfdir=/etc \
--with-ldap-lib=$sdk \
--with-ldap-dir=$sdkpath \
--with-ldap-conf-file=/etc/ldap.conf \
--with-ldap-secret-file=/etc/ldap.secret
% ./setup.sh [ sparcv8plus | sparcv9 | i386 | amd64 ] && gmake
sparcv9 or amd64ではMakefileを修正します。
- -L/usr/local/lib -R/usr/local/lib + -L/usr/local/lib/64 -R/usr/local/lib/64 ... - $(mkinstalldirs) $(DESTDIR)$(libdir)/security + $(mkinstalldirs) $(DESTDIR)$(libdir)/security/sparcv9 - $(INSTALL_PROGRAM) -o root -g root pam_ldap.so $(DESTDIR)$(libdir)/security/pam_ldap.so.1 + $(INSTALL_PROGRAM) -o root -g root pam_ldap.so $(DESTDIR)$(libdir)/security/sparcv9/pam_ldap.so.1 - (cd $(DESTDIR)$(libdir)/security; rm -f pam_ldap.so; ln -s pam_ldap.so.1 pam_ldap.so) + (cd $(DESTDIR)$(libdir)/security/sparcv9; rm -f pam_ldap.so; ln -s pam_ldap.so.1 pam_ldap.so)
setup.shを実行してmakeします。
% ./setup.sh % gmake # gmake install