some libtool improvements including how to make C++ shared libraries

This commit is contained in:
brad 2003-02-24 04:06:30 +00:00
parent e5588c2182
commit b8b15a4201
5 changed files with 138 additions and 18 deletions

View File

@ -1,7 +1,18 @@
$OpenBSD: patch-ltcf-c_sh,v 1.2 2001/08/07 13:53:12 lebel Exp $
--- ltcf-c.sh.orig Tue Aug 7 09:46:42 2001
+++ ltcf-c.sh Tue Aug 7 09:50:02 2001
@@ -454,10 +454,22 @@ else
$OpenBSD: patch-ltcf-c_sh,v 1.3 2003/02/24 04:06:30 brad Exp $
--- ltcf-c.sh.orig Tue May 1 19:58:17 2001
+++ ltcf-c.sh Sun Feb 23 21:18:00 2003
@@ -47,7 +47,9 @@ cygwin* | mingw*)
with_gnu_ld=no
fi
;;
-
+openbsd*)
+ with_gnu_ld=no
+ ;;
esac
ld_shlibs=yes
@@ -454,10 +456,22 @@ else
;;
openbsd*)
@ -11,13 +22,13 @@ $OpenBSD: patch-ltcf-c_sh,v 1.2 2001/08/07 13:53:12 lebel Exp $
hardcode_shlibpath_var=no
+ case "$host_os" in
+ openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
+ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linkopts'
+ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+ hardcode_libdir_flag_spec='-R$libdir'
+ ;;
+ *)
+ archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $linkopts'
+ archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+ if test "`echo __ELF__ | $CC -E - | grep __ELF__`" = "" -o "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+ export_dynamic_flag_spec='${wl}-E'
+ fi
+ ;;

View File

@ -0,0 +1,34 @@
$OpenBSD: patch-ltcf-cxx_sh,v 1.1 2003/02/24 04:06:30 brad Exp $
--- ltcf-cxx.sh.orig Tue May 1 19:58:17 2001
+++ ltcf-cxx.sh Sun Feb 23 22:09:48 2003
@@ -385,6 +385,21 @@ case $host_os in
netbsd*)
# NetBSD uses g++ - do we need to do anything?
;;
+ openbsd*)
+ case $host_os in
+ openbsd[01].* | openbsd2.[0-8] | openbsd2.[0-8].*)
+ ld_shlibs=no
+ ;;
+ *)
+ archive_cmds='$CC -shared -nostdlib $pic_flag -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ archive_expsym_cmds=
+ hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+ if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`"; then
+ export_dynamic_flag_spec='${wl}-E'
+ fi
+ ;;
+ esac
+ ;;
osf3*)
if test "$with_gcc" = yes && test "$with_gnu_ld" = no; then
allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
@@ -799,6 +814,8 @@ else
esac
;;
netbsd*)
+ ;;
+ openbsd*)
;;
osf3* | osf4* | osf5*)
case $cc_basename in

View File

@ -1,12 +1,20 @@
$OpenBSD: patch-ltconfig,v 1.1 2001/07/16 14:48:46 lebel Exp $
--- ltconfig.orig Tue May 1 19:57:55 2001
+++ ltconfig Mon Jul 16 10:29:34 2001
@@ -1239,6 +1239,8 @@ newsos6)
library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=yes
+ deplib_check_method=pass_all
+ sys_lib_dlsearch_path_spec='/usr/lib /usr/local/lib /usr/X11R6/lib /usr/local/lib/qt2'
;;
$OpenBSD: patch-ltconfig,v 1.2 2003/02/24 04:06:30 brad Exp $
--- ltconfig.orig Tue May 1 19:58:17 2001
+++ ltconfig Sun Feb 23 15:57:06 2003
@@ -1243,13 +1243,12 @@ newsos6)
openbsd*)
version_type=sunos
- if test "$with_gnu_ld" = yes; then
- need_lib_prefix=no
- need_version=no
- fi
+ need_lib_prefix=no
+ need_version=no
library_names_spec='${libname}${release}.so$versuffix ${libname}.so$versuffix'
finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
shlibpath_var=LD_LIBRARY_PATH
+ deplibs_check_method=pass_all
;;
os2*)

View File

@ -0,0 +1,65 @@
$OpenBSD: patch-ltmain_sh,v 1.1 2003/02/24 04:06:30 brad Exp $
--- ltmain.sh.orig Sun Feb 23 21:35:19 2003
+++ ltmain.sh Sun Feb 23 21:38:24 2003
@@ -1217,6 +1217,10 @@ EOF
# These systems don't actually have a C library (as such)
test "X$arg" = "X-lc" && continue
;;
+ *-*-openbsd*)
+ # Do not include libc due to us having libc/libc_r.
+ test "X$arg" - "X-lc" && continue
+ ;;
esac
fi
deplibs="$deplibs $arg"
@@ -2749,6 +2753,9 @@ EOF
*-*-netbsd*)
# Don't link with libc until the a.out ld.so is fixed.
;;
+ *-*-openbsd*)
+ # Do not include libc due to us having libc/libc_r.
+ ;;
*)
# Add libc to deplibs on all other systems if necessary.
if test $build_libtool_need_lc = "yes"; then
@@ -4884,40 +4891,6 @@ relink_command=\"$relink_command\""
# Exit here if they wanted silent mode.
test "$show" = ":" && exit 0
- echo "----------------------------------------------------------------------"
- echo "Libraries have been installed in:"
- for libdir in $libdirs; do
- echo " $libdir"
- done
- echo
- echo "If you ever happen to want to link against installed libraries"
- echo "in a given directory, LIBDIR, you must either use libtool, and"
- echo "specify the full pathname of the library, or use the \`-LLIBDIR'"
- echo "flag during linking and do at least one of the following:"
- if test -n "$shlibpath_var"; then
- echo " - add LIBDIR to the \`$shlibpath_var' environment variable"
- echo " during execution"
- fi
- if test -n "$runpath_var"; then
- echo " - add LIBDIR to the \`$runpath_var' environment variable"
- echo " during linking"
- fi
- if test -n "$hardcode_libdir_flag_spec"; then
- libdir=LIBDIR
- eval flag=\"$hardcode_libdir_flag_spec\"
-
- echo " - use the \`$flag' linker flag"
- fi
- if test -n "$admincmds"; then
- echo " - have your system administrator run these commands:$admincmds"
- fi
- if test -f /etc/ld.so.conf; then
- echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
- fi
- echo
- echo "See any operating system documentation about shared libraries for"
- echo "more information, such as the ld(1) and ld.so(8) manual pages."
- echo "----------------------------------------------------------------------"
exit 0
;;

View File

@ -1,3 +1,5 @@
@comment $OpenBSD: PFRAG.shared,v 1.2 2001/06/07 15:16:25 lebel Exp $
@comment $OpenBSD: PFRAG.shared,v 1.3 2003/02/24 04:06:31 brad Exp $
lib/libpspell-impl.so.6.0
lib/libpspell-modules.so.1.1
lib/libpspell.so.4.3
DYNLIBDIR(%D/lib)