openbsd-ports/lang/gcc/4.2/patches/patch-ltcf-cxx_sh
2007-03-20 10:48:52 +00:00

58 lines
2.8 KiB
Plaintext

$OpenBSD: patch-ltcf-cxx_sh,v 1.3 2007/03/20 10:48:52 espie Exp $
--- ltcf-cxx.sh.orig Sat Jul 16 04:30:53 2005
+++ ltcf-cxx.sh Sun Mar 18 23:58:46 2007
@@ -78,8 +78,8 @@ if { ac_try='${CC-c++} -E conftest.$ac_ext'; { (eval e
# to be the same.
if test "$with_gnu_ld" = yes; then
- archive_cmds='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
- archive_expsym_cmds='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ archive_cmds='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ archive_expsym_cmds='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir'
export_dynamic_flag_spec='${wl}--export-dynamic'
@@ -453,6 +453,19 @@ case $host_os in
netbsd* | knetbsd*-gnu)
# NetBSD uses g++ - do we need to do anything?
;;
+ openbsd*)
+ if test "$with_gcc" = yes && test "$with_gnu_ld" = no; then
+ # MM: OpenBSD 2.7 uses G++, but not GNU ld
+ archive_cmds='$CC $pic_flag -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+ archive_expsym_cmds='$CC $pic_flag -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+ old_archive_cmds="$old_archive_cmds~"'$RANLIB $oldlib'
+ hardcode_libdir_flag_spec='${wl}-R$libdir'
+ hardcode_direct=yes
+ hardcode_shlibpath_var=no
+ remove_lgcc=yes
+ output_verbose_link_cmds='$CC $ac_cv_prog_cc_pic -shared $CFLAGS -v conftest.$objext 2>&1 | egrep "\-L"'
+ fi
+ ;;
osf3*)
case $cc_basename in
KCC)
@@ -980,8 +993,9 @@ class Foo (private)
};
EOF
+echo $ac_compile_shared >&5
-if (eval $ac_compile) 2>&5; then
+if (eval $ac_compile_shared) 2>&5; then
# Parse the compiler output and extract the necessary
# objects, libraries and library flags.
@@ -1011,9 +1025,9 @@ if (eval $ac_compile) 2>&5; then
# provided the user. The postdeps already come after the
# user supplied libs so there is no need to process them.
if test -z "$compiler_lib_search_path"; then
- compiler_lib_search_path="${prev}${p}"
+ compiler_lib_search_path="${prev}${p}/fpic ${p}"
else
- compiler_lib_search_path="${compiler_lib_search_path} ${prev}${p}"
+ compiler_lib_search_path="${compiler_lib_search_path} ${prev}${p}/fpic ${prev}${p}"
fi
;;
# The "-l" case would never come before the object being