[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Add hppa*64* support to libtool (HEAD branch)
From: |
ross . alexander |
Subject: |
Re: Add hppa*64* support to libtool (HEAD branch) |
Date: |
Thu, 19 Dec 2002 10:40:30 +0000 |
Albert, David, Robert et al,
My apologies for the lack of response from myself. I was waiting for the
copyright assignment stuff to get sorted out. I have got the latest
version
of libtool.m4 (HEAD) from CVSweb (1.281) and applied my patch to that
and then reformatted it. Hopefully this is correct. If not please notify
me
and I will mend my ways. I have included the patch both as text and as
an attachment.
Cheers,
Ross
2002-12-19 Ross Alexander <address@hidden>
* Add hppa*64* support to AC_LIBTOOL_SYS_DYNAMIC_LINKER.
The 64bit HPUX environment is ELF based so is very similar to
both Linux and IA64 HPUX. It is however, quite different from
the 32bit SOM environment.
* Add hppa*64* support to AC_DEPLIBS_CHECK_METHOD.
* Split hpux9* into seperate case in AC_LIBTOOL_LANG_CXX_CONFIG.
As hpux9 is no longer maintained by HP moving it to its own case
considerably simplifies maintaining hpux11.
* Add hppa*64* and GNU ld support to AC_LIBTOOL_LANG_CXX_CONFIG.
* Split hpux9* into seperate case in AC_LIBTOOL_PROG_LD_SHLIBS.
* Add hppa*64* and GNU ld support to AC_LIBTOOL_PROG_LD_SHLIBS.
The GNU ld supports PA64 and is recommended for use with GCC.
--- libtool.m4-head-1.281 2002-12-19 10:01:32.000000000 +0000
+++ libtool.m4 2002-12-19 10:25:26.000000000 +0000
@@ -1284,7 +1284,8 @@
version_type=sunos
need_lib_prefix=no
need_version=no
- if test "$host_cpu" = ia64; then
+ case "$host_cpu" in
+ ia64*)
hardcode_into_libs=yes
dynamic_linker="$host_os dld.so"
shlibpath_var=LD_LIBRARY_PATH
@@ -1297,13 +1298,27 @@
sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
fi
sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
- else
+ ;;
+ hppa*64*)
+ hardcode_into_libs=yes
+ dynamic_linker="$host_os dld.sl"
+ shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
+ shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+ library_names_spec='${libname}${release}.sl$versuffix ${libname}
${release}.sl$major $libname.sl'
+ soname_spec='${libname}${release}.sl$major'
+ sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ ;;
+ *)
dynamic_linker="$host_os dld.sl"
shlibpath_var=SHLIB_PATH
shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
library_names_spec='${libname}${release}.sl$versuffix ${libname}
${release}.sl$major $libname.sl'
soname_spec='${libname}${release}.sl$major'
- fi
+ sys_lib_search_path_spec="/lib /usr/lib /usr/ccs/lib"
+ sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+ ;;
+ esac
# HP-UX runs *really* slowly unless shared libraries are mode 555.
postinstall_cmds='chmod 555 $lib'
;;
@@ -2036,13 +2051,20 @@
hpux10.20* | hpux11*)
lt_cv_file_magic_cmd=/usr/bin/file
- if test "$host_cpu" = ia64; then
+ case "$host_cpu" in
+ ia64*)
lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]
|ELF-[[0-9]][[0-9]]) shared object file - IA64'
lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
- else
+ ;;
+ hppa*64*)
+ lt_cv_deplibs_check_method='file_magic ELF-64 shared object file -
PA-RISC [[0-9]].[[0-9]]'
+ lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
+ ;;
+ *)
lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC
[[0-9]].[[0-9]]) shared library'
lt_cv_file_magic_test_file=/usr/lib/libc.sl
- fi
+ ;;
+ esac
;;
irix5* | irix6* | nonstopux*)
@@ -2745,25 +2767,67 @@
;;
gnu*)
;;
- hpux*)
+ hpux9*)
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+ _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
+ # but as the default
+ # location of the library.
+
+ case $cc_basename in
+ CC)
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ ;;
+ aCC)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -b
${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects
$libobjs $deplibs $postdep_objects $compiler_flags~test
$output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ # Commands to make compiler produce verbose output that lists
+ # what "hidden" libraries, object files and flags are used when
+ # linking a shared library.
+ #
+ # There doesn't appear to be a way to prevent this compiler from
+ # explicitly linking system object files so we need to strip them
+ # from the output so that they don't get included in the library
+ # dependencies.
+ output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v
conftest.$objext 2>&1) | egrep "\-L"`; list=""; for z in $templist; do case
$z in
conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac;
done; echo $list'
+ ;;
+ *)
+ if test "$GXX" = yes; then
+ _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC
-shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o
$output_objdir/$soname
$predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test
$output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ else
+ # FIXME: insert proper C++ library support
+ _LT_AC_TAGVAR(ld_shlibs, $1)=no
+ fi
+ ;;
+ esac
+ ;;
+ hpux10*|hpux11*)
if test $with_gnu_ld = no; then
- if test "$host_cpu" = ia64; then
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- else
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
- fi
- fi
- if test "$host_cpu" = ia64; then
- _LT_AC_TAGVAR(hardcode_direct, $1)=no
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- else
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
- fi
+ case "$host_cpu" in
+ ia64*|hppa*64*)
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ ;;
+ *)
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ ;;
+ esac
+ case "$host_cpu" in
+ ia64*|hppa*64*)
+ _LT_AC_TAGVAR(hardcode_direct, $1)=no
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+ *)
+ _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+ ;;
+ esac
_LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
# but as the default
# location of the library.
+ fi
case $cc_basename in
CC)
@@ -4256,10 +4320,13 @@
fi
;;
hpux*)
- # PIC is the default for IA64 HP-UX, but not for PA HP-UX.
- if test "$host_cpu" != ia64; then
+ # PIC is the default for IA64 and PA64 HP-UX, but not for PA HP-UX
SOM.
+ case "$host_cpu" in
+ ia64*|hppa*64*)
+ ;;
+ *)
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
- fi
+ esac
;;
*)
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
@@ -4505,9 +4572,13 @@
hpux*)
# PIC is the default for IA64 HP-UX, but not for PA HP-UX.
- if test "$host_cpu" != ia64; then
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
- fi
+ case "$host_cpu" in
+ ia64*|hppa*64*)
+ ;;
+ *)
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ ;;
+ esac
;;
*)
@@ -4535,9 +4606,13 @@
hpux9* | hpux10* | hpux11*)
_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
- if test "$host_cpu" != ia64; then
- _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
- fi
+ case "$host_cpu" in
+ ia64*|hppa*64*)
+ ;;
+ *)
+ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+ ;;
+ esac
# Is there a better lt_prog_compiler_static that works with the
bundled CC?
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
;;
@@ -5055,47 +5130,60 @@
_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
;;
- hpux9* | hpux10* | hpux11*)
+ hpux9*)
if test "$GCC" = yes; then
- case $host_os in
- hpux9*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC
-shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname
$libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv
$output_objdir/$soname $lib'
+ _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC
-shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname
$libobjs
$deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv
$output_objdir/$soname $lib'
+ else
+ _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$LD -b +b
$install_libdir -o $output_objdir/$soname $libobjs $deplibs
$linker_flags~test $output_objdir/$soname = $lib || mv
$output_objdir/$soname $lib'
+ fi
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+ ;;
+
+ hpux10* | hpux11*)
+ if test "$GCC" = "yes" -a "$with_gnu_ld" = "no"; then
+ case "$host_cpu" in
+ ia64*|hppa*64*)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname
-o $lib $libobjs $deplibs $compiler_flags'
;;
*)
- if test "$host_cpu" = ia64; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h
${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
- else
- _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h
${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs
$compiler_flags'
- fi
+ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h
${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs
$compiler_flags'
;;
- esac
+ esac
else
- case $host_os in
- hpux9*)
- _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$LD
-b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs
$linker_flags~test $output_objdir/$soname = $lib || mv
$output_objdir/$soname $lib'
+ case "$host_cpu" in
+ ia64*|hppa*64*)
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib
$libobjs $deplibs $linker_flags'
;;
*)
- if test "$host_cpu" = ia64; then
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib
$libobjs $deplibs $linker_flags'
- else
- _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b
$install_libdir -o $lib $libobjs $deplibs $linker_flags'
- fi
+ _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b
$install_libdir -o $lib $libobjs $deplibs $linker_flags'
;;
esac
fi
- if test "$host_cpu" = ia64; then
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
- _LT_AC_TAGVAR(hardcode_direct, $1)=no
- _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
- else
- _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
- _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
- _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+ if test "$with_gnu_ld" = "no"; then
+ case "$host_cpu" in
+ ia64*|hppa*64*)
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ _LT_AC_TAGVAR(hardcode_direct, $1)=no
+ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+ ;;
+ *)
+ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b
${wl}$libdir'
+ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+ _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+ ;;
+ esac
+ # hardcode_minus_L: Not really in the search PATH,
+ # but as the default location of the library.
+ _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
fi
- # hardcode_minus_L: Not really in the search PATH,
- # but as the default location of the library.
- _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
- _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
;;
irix5* | irix6* | nonstopux*)
(See attached file: libtool.m4.diff)
---------------------------------------------------------------------------------
Ross Alexander "We demand clearly defined
MIS - NEC Europe Limited boundaries of uncertainty and
Work ph: +44 20 8752 3394 doubt."
(See attached file: libtool.m4.diff)
libtool.m4.diff
Description: Binary data
- Re: Add hppa*64* support to libtool (HEAD branch), John David Anglin, 2002/12/16
- RE: Add hppa*64* support to libtool (HEAD branch), Boehne, Robert, 2002/12/18
- Re: Add hppa*64* support to libtool (HEAD branch), John David Anglin, 2002/12/18
- Re: Add hppa*64* support to libtool (HEAD branch), Albert Chin, 2002/12/18
- Re: Add hppa*64* support to libtool (HEAD branch), John David Anglin, 2002/12/18
- Re: Add hppa*64* support to libtool (HEAD branch), Albert Chin, 2002/12/18
- Re: Add hppa*64* support to libtool (HEAD branch), John David Anglin, 2002/12/19
- Re: Add hppa*64* support to libtool (HEAD branch), Albert Chin, 2002/12/19
Re: Add hppa*64* support to libtool (HEAD branch),
ross . alexander <=
Re: Add hppa*64* support to libtool (HEAD branch), Albert Chin, 2002/12/19
Re: Add hppa*64* support to libtool (HEAD branch), ross . alexander, 2002/12/19