libtool: add support for Ironclad

This commit is contained in:
streaksu 2023-12-02 22:00:00 +01:00 committed by Ileana Dumitrescu
parent 4e5a12014b
commit bd15931e57
No known key found for this signature in database
GPG Key ID: 6570EA01146F7354
2 changed files with 42 additions and 3 deletions

42
m4/libtool.m4 vendored
View File

@ -1725,9 +1725,9 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
lt_cv_sys_max_cmd_len=12288; # 12K is about right lt_cv_sys_max_cmd_len=12288; # 12K is about right
;; ;;
gnu*) gnu* | ironclad*)
# Under GNU Hurd, this test is not required because there is # Under GNU Hurd and Ironclad, this test is not required because there
# no limit to the length of command line arguments. # is no limit to the length of command line arguments.
# Libtool will interpret -1 as no limit whatsoever # Libtool will interpret -1 as no limit whatsoever
lt_cv_sys_max_cmd_len=-1; lt_cv_sys_max_cmd_len=-1;
;; ;;
@ -2996,6 +2996,18 @@ netbsd*)
hardcode_into_libs=yes hardcode_into_libs=yes
;; ;;
ironclad*)
version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
need_version=no
library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
soname_spec='$libname$release$shared_ext$major'
dynamic_linker='mlibc ld.so'
shlibpath_var=LD_LIBRARY_PATH
shlibpath_overrides_runpath=no
hardcode_into_libs=yes
;;
newsos6) newsos6)
version_type=linux # correct to gnu/linux during the next big refactor version_type=linux # correct to gnu/linux during the next big refactor
library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
@ -3636,6 +3648,10 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
lt_cv_deplibs_check_method=pass_all lt_cv_deplibs_check_method=pass_all
;; ;;
ironclad*)
lt_cv_deplibs_check_method=pass_all
;;
netbsd* | netbsdelf*-gnu) netbsd* | netbsdelf*-gnu)
if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
@ -4517,6 +4533,8 @@ m4_if([$1], [CXX], [
;; ;;
netbsd* | netbsdelf*-gnu) netbsd* | netbsdelf*-gnu)
;; ;;
ironclad*)
;;
*qnx* | *nto*) *qnx* | *nto*)
# QNX uses GNU C++, but need to define -shared option too, otherwise # QNX uses GNU C++, but need to define -shared option too, otherwise
# it will coredump. # it will coredump.
@ -4871,6 +4889,12 @@ m4_if([$1], [CXX], [
_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
;; ;;
ironclad*)
_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
;;
*nto* | *qnx*) *nto* | *qnx*)
# QNX uses GNU C++, but need to define -shared option too, otherwise # QNX uses GNU C++, but need to define -shared option too, otherwise
# it will coredump. # it will coredump.
@ -5349,6 +5373,11 @@ _LT_EOF
fi fi
;; ;;
ironclad*)
_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
;;
netbsd* | netbsdelf*-gnu) netbsd* | netbsdelf*-gnu)
if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
@ -5892,6 +5921,9 @@ _LT_EOF
esac esac
;; ;;
ironclad*)
;;
netbsd* | netbsdelf*-gnu) netbsd* | netbsdelf*-gnu)
if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
@ -7192,6 +7224,10 @@ if test yes != "$_lt_caught_CXX_error"; then
esac esac
;; ;;
ironclad*)
_LT_TAGVAR(ld_shlibs, $1)=yes
;;
netbsd*) netbsd*)
if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'

View File

@ -495,6 +495,9 @@ AC_CACHE_CHECK([whether deplibs are loaded by dlopen],
# at 6.2 and later dlopen does load deplibs. # at 6.2 and later dlopen does load deplibs.
lt_cv_sys_dlopen_deplibs=yes lt_cv_sys_dlopen_deplibs=yes
;; ;;
ironclad*)
lt_cv_sys_dlopen_deplibs=yes
;;
netbsd* | netbsdelf*-gnu) netbsd* | netbsdelf*-gnu)
lt_cv_sys_dlopen_deplibs=yes lt_cv_sys_dlopen_deplibs=yes
;; ;;