1#!/bin/sh 2# Cheesy hacky location of additional link libraries. 3 4locate_library() { [ ! "$1*" = "`echo $1*`" ]; } 5find_func() { egrep $1 $2 >/dev/null; } 6 7if find_func hosts_access tcpwrap.o; then 8 echo "-lwrap"; 9 locate_library /lib/libnsl.so && echo "-lnsl"; 10fi 11 12# Look for PAM (done weirdly due to distribution bugs (e.g. Debian) or the 13# crypt library. 14if find_func pam_start sysdeputil.o; then 15 locate_library /lib/libpam.so.0 && echo "/lib/libpam.so.0"; 16 locate_library /usr/lib/libpam.so && echo "-lpam"; 17 # HP-UX ends shared libraries with .sl 18 locate_library /usr/lib/libpam.sl && echo "-lpam"; 19 # AIX ends shared libraries with .a 20 locate_library /usr/lib/libpam.a && echo "-lpam"; 21else 22 locate_library /lib/libcrypt.so && echo "-lcrypt"; 23 locate_library /usr/lib/libcrypt.so && echo "-lcrypt"; 24fi 25 26# Look for the dynamic linker library. Needed by older RedHat when 27# you link in PAM 28locate_library /lib/libdl.so && echo "-ldl"; 29 30# Look for libsocket. Solaris needs this. 31locate_library /lib/libsocket.so && echo "-lsocket"; 32 33# Look for libnsl. Solaris needs this. 34locate_library /lib/libnsl.so && echo "-lnsl"; 35 36# Look for libresolv. Solaris needs this. 37locate_library /lib/libresolv.so && echo "-lresolv"; 38 39# Look for libutil. Older FreeBSD need this for setproctitle(). 40locate_library /usr/lib/libutil.so && echo "-lutil"; 41 42# For older HP-UX... 43locate_library /usr/lib/libsec.sl && echo "-lsec"; 44 45# Look for libcap (capabilities) 46locate_library /lib/libcap.so.1 && echo "/lib/libcap.so.1"; 47locate_library /usr/lib/libcap.so && echo "-lcap"; 48 49# Solaris needs this for nanosleep().. 50locate_library /lib/libposix4.so && echo "-lposix4"; 51locate_library /usr/lib/libposix4.so && echo "-lposix4"; 52 53# Tru64 (nanosleep) 54locate_library /usr/shlib/librt.so && echo "-lrt"; 55 56# Solaris sendfile 57locate_library /usr/lib/libsendfile.so && echo "-lsendfile"; 58 59# OpenSSL 60if find_func SSL_library_init ssl.o; then 61 echo "-lssl -lcrypto"; 62fi 63 64exit 0; 65 66