8797be2dce
Since we have changed from using Makefile instead of Makefile.ssl, we need to complete the work by changing all references. make update
92 lines
3.8 KiB
Bash
92 lines
3.8 KiB
Bash
#!/usr/bin/sh
|
|
#
|
|
# Run this script from the OpenSSL root directory:
|
|
# sh shlib/hpux10-cc.sh
|
|
#
|
|
# HP-UX (10.20) shared library installation:
|
|
# Compile and install OpenSSL with best possible optimization:
|
|
# - shared libraries are compiled and installed with +O4 optimization
|
|
# - executable(s) are compiled and installed with +O4 optimization
|
|
# - static libraries are compiled and installed with +O3 optimization,
|
|
# to avoid the time consuming +O4 link-time optimization when using
|
|
# these libraries. (The shared libs are already optimized during build
|
|
# at +O4.)
|
|
#
|
|
# This script must be run with appropriate privileges to install into
|
|
# /usr/local/ssl. HP-UX prevents used executables and shared libraries
|
|
# from being deleted or overwritten. Stop all processes using already
|
|
# installed items of OpenSSL.
|
|
#
|
|
# WARNING: At high optimization levels, HP's ANSI-C compiler can chew up
|
|
# large amounts of memory and CPU time. Make sure to have at least
|
|
# 128MB of RAM available and that your kernel is configured to allow
|
|
# at least 128MB data size (maxdsiz parameter which can be obtained
|
|
# by multiplying 'echo maxdsiz/D | adb -k /stand/vmunix /dev/kmem'
|
|
# by 'getconf PAGE_SIZE').
|
|
# The installation process can take several hours, even on fast
|
|
# machines. +O4 optimization of the libcrypto.sl shared library may
|
|
# take 1 hour on a C200 (200MHz PA8200 CPU), +O3 compilation of
|
|
# fcrypt_b.c can take 20 minutes on this machine. Stay patient.
|
|
#
|
|
# SITEFLAGS: site specific flags. I do use +DAportable, since I have to
|
|
# support older PA1.1-type CPUs. Your mileage may vary.
|
|
# +w1 enables enhanced warnings, useful when working with snaphots.
|
|
#
|
|
SITEFLAGS="+DAportable +w1"
|
|
#
|
|
# Set the default additions to build with HP-UX.
|
|
# -D_REENTRANT must/should be defined on HP-UX manually, since we do call
|
|
# Configure directly.
|
|
# +Oall increases the optimization done.
|
|
#
|
|
MYFLAGS="-D_REENTRANT +Oall $SITEFLAGS"
|
|
|
|
# Configure for pic and build the static pic libraries
|
|
perl5 Configure no-shared hpux-parisc-cc-o4 +Z ${MYFLAGS}
|
|
make clean
|
|
make DIRS="crypto ssl"
|
|
# Rename the static pic libs and build dynamic libraries from them
|
|
# Be prepared to see a lot of warnings about shared libraries being built
|
|
# with optimizations higher than +O2. When using these libraries, it is
|
|
# not possible to replace internal library functions with functions from
|
|
# the program to be linked.
|
|
#
|
|
make -f shlib/Makefile.hpux10-cc
|
|
|
|
# Copy the libraries to /usr/local/ssl/lib (they have to be in their
|
|
# final location when linking applications).
|
|
# If the directories are still there, no problem.
|
|
mkdir /usr/local
|
|
mkdir /usr/local/ssl
|
|
mkdir /usr/local/ssl/lib
|
|
chmod 444 lib*_pic.a
|
|
chmod 555 lib*.sl.0.9.7
|
|
cp -p lib*_pic.a lib*.sl.0.9.7 /usr/local/ssl/lib
|
|
(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
|
|
# performing this task we have to recompile the library components, even
|
|
# though we use the already installed shared libs anyway.
|
|
#
|
|
perl5 Configure no-shared hpux-parisc-cc-o4 ${MYFLAGS}
|
|
|
|
make clean
|
|
|
|
# Hack the Makefiles to pick up the dynamic libraries during linking
|
|
#
|
|
sed 's/^PEX_LIBS=.*$/PEX_LIBS=-L\/usr\/local\/ssl\/lib/' Makefile >xxx; mv xxx Makefile.ssl
|
|
sed 's/-L\.\.//' apps/Makefile >xxx; mv xxx apps/Makefile
|
|
sed 's/-L\.\.//' test/Makefile >xxx; mv xxx test/Makefile
|
|
# Build the static libs and the executables in one make.
|
|
make
|
|
# Install everything
|
|
make install
|
|
|
|
# Finally build the static libs with +O3. This time we only need the libraries,
|
|
# once created, they are simply copied into place.
|
|
#
|
|
perl5 Configure no-shared hpux-parisc-cc ${MYFLAGS}
|
|
make clean
|
|
make DIRS="crypto ssl"
|
|
chmod 644 libcrypto.a libssl.a
|
|
cp -p libcrypto.a libssl.a /usr/local/ssl/lib
|