Keep my own specially optimized HP-UX shared library building up to date.
Submitted by: Reviewed by: PR:
This commit is contained in:
parent
c991c6e710
commit
f5e5277908
2 changed files with 12 additions and 29 deletions
|
@ -1,12 +1,12 @@
|
||||||
# Makefile.hpux-cc
|
# Makefile.hpux-cc
|
||||||
|
|
||||||
major=1
|
major=0.9.7
|
||||||
|
|
||||||
slib=libssl
|
slib=libssl
|
||||||
sh_slib=$(slib).so.$(major)
|
sh_slib=$(slib).sl.$(major)
|
||||||
|
|
||||||
clib=libcrypto
|
clib=libcrypto
|
||||||
sh_clib=$(clib).so.$(major)
|
sh_clib=$(clib).sl.$(major)
|
||||||
|
|
||||||
all : $(clib).sl $(slib).sl
|
all : $(clib).sl $(slib).sl
|
||||||
|
|
||||||
|
@ -20,31 +20,14 @@ $(slib)_pic.a : $(slib).a
|
||||||
cp -p $? $@
|
cp -p $? $@
|
||||||
|
|
||||||
$(sh_clib) : $(clib)_pic.a
|
$(sh_clib) : $(clib)_pic.a
|
||||||
echo "collecting all object files for $@"
|
ld -b -s -z +h $@ -o $@ -Fl $(clib)_pic.a -ldld -lc
|
||||||
find . -name \*.o -print > allobjs
|
|
||||||
for obj in `ar t $(clib)_pic.a`; \
|
|
||||||
do \
|
|
||||||
grep /$$obj allobjs; \
|
|
||||||
done >objlist
|
|
||||||
echo "linking $@"
|
|
||||||
ld -b -s -z +h $@ -o $@ `cat objlist` -lc
|
|
||||||
rm allobjs objlist
|
|
||||||
|
|
||||||
$(clib).sl : $(sh_clib)
|
$(clib).sl : $(sh_clib)
|
||||||
rm -f $@
|
rm -f $@
|
||||||
ln -s $? $@
|
ln -s $? $@
|
||||||
|
|
||||||
$(sh_slib) : $(slib)_pic.a $(clib).sl
|
$(sh_slib) : $(slib)_pic.a $(clib).sl
|
||||||
echo "collecting all object files for $@"
|
ld -b -s -z +h $@ -o $@ -Fl $(slib)_pic.a -ldld -lc
|
||||||
find . -name \*.o -print > allobjs
|
|
||||||
for obj in `ar t $(slib)_pic.a`; \
|
|
||||||
do \
|
|
||||||
grep /$$obj allobjs; \
|
|
||||||
done >objlist
|
|
||||||
echo "linking $@"
|
|
||||||
ld -b -s -z +h $@ +b /usr/local/ssl/lib:/usr/lib -o $@ `cat objlist` \
|
|
||||||
-L. -lcrypto -lc
|
|
||||||
rm -f allobjs objlist
|
|
||||||
|
|
||||||
$(slib).sl : $(sh_slib)
|
$(slib).sl : $(sh_slib)
|
||||||
rm -f $@
|
rm -f $@
|
||||||
|
|
|
@ -42,7 +42,7 @@ SITEFLAGS="+DAportable +w1"
|
||||||
MYFLAGS="-D_REENTRANT +Oall $SITEFLAGS"
|
MYFLAGS="-D_REENTRANT +Oall $SITEFLAGS"
|
||||||
|
|
||||||
# Configure for pic and build the static pic libraries
|
# Configure for pic and build the static pic libraries
|
||||||
perl5 Configure hpux-parisc-cc-o4 +z ${MYFLAGS}
|
perl5 Configure no-shared hpux-parisc-cc-o4 +Z ${MYFLAGS}
|
||||||
make clean
|
make clean
|
||||||
make DIRS="crypto ssl"
|
make DIRS="crypto ssl"
|
||||||
# Rename the static pic libs and build dynamic libraries from them
|
# Rename the static pic libs and build dynamic libraries from them
|
||||||
|
@ -60,21 +60,21 @@ mkdir /usr/local
|
||||||
mkdir /usr/local/ssl
|
mkdir /usr/local/ssl
|
||||||
mkdir /usr/local/ssl/lib
|
mkdir /usr/local/ssl/lib
|
||||||
chmod 444 lib*_pic.a
|
chmod 444 lib*_pic.a
|
||||||
chmod 555 lib*.so.1
|
chmod 555 lib*.sl.0.9.7
|
||||||
cp -p lib*_pic.a lib*.so.1 /usr/local/ssl/lib
|
cp -p lib*_pic.a lib*.sl.0.9.7 /usr/local/ssl/lib
|
||||||
(cd /usr/local/ssl/lib ; ln -sf libcrypto.so.1 libcrypto.sl ; ln -sf libssl.so.1 libssl.sl)
|
(cd /usr/local/ssl/lib ; ln -sf libcrypto.sl.0.9.7 libcrypto.sl ; ln -sf libssl.sl.0.9.7 libssl.sl)
|
||||||
|
|
||||||
# Reconfigure without pic to compile the executables. Unfortunately, while
|
# Reconfigure without pic to compile the executables. Unfortunately, while
|
||||||
# performing this task we have to recompile the library components, even
|
# performing this task we have to recompile the library components, even
|
||||||
# though we use the already installed shared libs anyway.
|
# though we use the already installed shared libs anyway.
|
||||||
#
|
#
|
||||||
perl5 Configure hpux-parisc-cc-o4 ${MYFLAGS}
|
perl5 Configure no-shared hpux-parisc-cc-o4 ${MYFLAGS}
|
||||||
|
|
||||||
make clean
|
make clean
|
||||||
|
|
||||||
# Hack the Makefiles to pick up the dynamic libraries during linking
|
# Hack the Makefiles to pick up the dynamic libraries during linking
|
||||||
#
|
#
|
||||||
sed 's/^PEX_LIBS=.*$/PEX_LIBS=-L\/usr\/local\/ssl\/lib -Wl,+b,\/usr\/local\/ssl\/lib:\/usr\/lib/' Makefile.ssl >xxx; mv xxx Makefile.ssl
|
sed 's/^PEX_LIBS=.*$/PEX_LIBS=-L\/usr\/local\/ssl\/lib/' Makefile.ssl >xxx; mv xxx Makefile.ssl
|
||||||
sed 's/-L\.\.//' apps/Makefile.ssl >xxx; mv xxx apps/Makefile.ssl
|
sed 's/-L\.\.//' apps/Makefile.ssl >xxx; mv xxx apps/Makefile.ssl
|
||||||
sed 's/-L\.\.//' test/Makefile.ssl >xxx; mv xxx test/Makefile.ssl
|
sed 's/-L\.\.//' test/Makefile.ssl >xxx; mv xxx test/Makefile.ssl
|
||||||
# Build the static libs and the executables in one make.
|
# Build the static libs and the executables in one make.
|
||||||
|
@ -85,7 +85,7 @@ make install
|
||||||
# Finally build the static libs with +O3. This time we only need the libraries,
|
# Finally build the static libs with +O3. This time we only need the libraries,
|
||||||
# once created, they are simply copied into place.
|
# once created, they are simply copied into place.
|
||||||
#
|
#
|
||||||
perl5 Configure hpux-parisc-cc ${MYFLAGS}
|
perl5 Configure no-shared hpux-parisc-cc ${MYFLAGS}
|
||||||
make clean
|
make clean
|
||||||
make DIRS="crypto ssl"
|
make DIRS="crypto ssl"
|
||||||
chmod 644 libcrypto.a libssl.a
|
chmod 644 libcrypto.a libssl.a
|
||||||
|
|
Loading…
Reference in a new issue