[2516] in Kerberos-V5-bugs
pending/240: Shared libs on FreeBSD
daemon@ATHENA.MIT.EDU (Gordon Matzigkeit)
Mon Nov 25 23:38:24 1996
Resent-From: gnats@rt-11.MIT.EDU (GNATS Management)
Resent-To: gnats-admin@rt-11.MIT.EDU
Resent-Reply-To: krb5-bugs@MIT.EDU, Gordon Matzigkeit <gord@engg.ucalgary.ca>
Date: Mon, 25 Nov 1996 21:37:06 -0700 (MST)
From: Gordon Matzigkeit <gord@engg.ucalgary.ca>
To: krb5-bugs@MIT.EDU
>Number: 240
>Category: pending
>Synopsis: Shared libs on FreeBSD
>Confidential: yes
>Severity: serious
>Priority: medium
>Responsible: gnats-admin
>State: open
>Class: sw-bug
>Submitter-Id: unknown
>Arrival-Date: Mon Nov 25 23:38:00 EST 1996
>Last-Modified:
>Originator:
>Organization:
>Release:
>Environment:
>Description:
>How-To-Repeat:
>Fix:
>Audit-Trail:
>Unformatted:
Hi!
These two patches allow building shared libraries on FreeBSD.
diff -u configure.in.orig configure.in
--- configure.in.orig Fri Sep 6 18:15:16 1996
+++ configure.in Tue Oct 29 21:53:55 1996
@@ -43,6 +43,28 @@
krb5_cv_shlibs_run_libpath=no
krb5_cv_shlibs_run_rldroot=no
;;
+*-*-freebsd*)
+ echo "Enabling shared libraries for FreeBSD...."
+ krb5_cv_shlibs_cflags=-fpic
+ krb5_cv_shlibs_ext=so
+ krb5_cv_noshlibs_ext=a
+krb5_cv_shlibs_versioned_filenames=yes # version in filename of library
+ krb5_cv_shlibs_need_nover=no
+ krb5_cv_shlibs_dir=shared
+ krb5_cv_shlibs_ldflag=
+ krb5_cv_noshlibs_ldflag="-static"
+ krb5_cv_shlibs_sym_ufo="-u "
+ krb5_cv_shlibs_dirhead="-Wl,-L"
+ krb5_cv_exe_need_dirs=yes
+ krb5_cv_shlibs_use_dirs=yes
+ krb5_cv_shlibs_use_colon_dirs=no
+ krb5_cv_shlibs_tail_comp=
+ krb5_cv_shlibs_enabled=yes
+ krb5_cv_staticlibs_enabled=yes
+ krb5_cv_shlibs_run_ldpath=default
+ krb5_cv_shlibs_run_libpath=no
+ krb5_cv_shlibs_run_rldroot=no
+ ;;
*-*-linux*)
echo "Enabling shared libraries for Linux...."
krb5_cv_shlibs_cflags=-fPIC
diff -u util/makeshlib.sh.orig util/makeshlib.sh
--- util/makeshlib.sh.orig Fri Sep 6 16:24:32 1996
+++ util/makeshlib.sh Tue Oct 29 21:51:56 1996
@@ -29,6 +29,18 @@
ld -Bshareable $ldflags -o $library $FILES $libdirfl $liblist
stat=$?
;;
+*-*-freebsd*)
+ FILES=`for i
+ do
+ sed -e "s;^;$i/shared/;" -e "s; ; $i/shared/;g" -e "s;^$i/shared/\$;;" $i/DONE
+ done`
+ # Hack to deal with the fact that with cc options are different
+ # from ld...
+ ldflags=`echo $ldflags |sed -e "s/-Wl,//g"`
+ echo ld -Bshareable $ldflags -o $library $FILES $libdirfl $liblist
+ ld -Bshareable $ldflags -o $library $FILES $libdirfl $liblist
+ stat=$?
+ ;;
*-*-hpux*)
FILES=`for i
do