From 74e63154f4ff05501bacd29e80129b73fd18b889 Mon Sep 17 00:00:00 2001 From: Mike Gorchak Date: Mon, 17 May 2004 16:41:23 +0000 Subject: [PATCH] * ltmain.in: Add new qnx version type support. * m4/libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER): Use it. Set ldqnx.so linker type. (AC_DEPLIBS_CHECK_METHOD): QNX6 uses GNU C++, with deplib checking, so use pass_all. (AC_LIBTOOL_PROG_COMPILER_PIC): Use -shared for QNX. (_LT_LANG_CXX_CONFIG): QNX can make shared libraries. * m4/ltdl.m4 (AC_LTDL_SYS_DLOPEN_DEPLIBS): QNX opens deplibs on dlopen. * NEWS: Updated. --- ChangeLog | 13 +++++++++ NEWS | 1 + ltmain.in | 9 ++++-- m4/libtool.m4 | 76 +++++++++++++++++++++++++++++++++++---------------- m4/ltdl.m4 | 3 ++ 5 files changed, 77 insertions(+), 25 deletions(-) diff --git a/ChangeLog b/ChangeLog index 65ca3485..1d5b56de 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,16 @@ +2004-05-14 Mike Gorchak + + * ltmain.in: Add new qnx version type support. + * m4/libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER): Use it. Set + ldqnx.so linker type. + (AC_DEPLIBS_CHECK_METHOD): QNX6 uses GNU C++, with deplib + checking, so use pass_all. + (AC_LIBTOOL_PROG_COMPILER_PIC): Use -shared for QNX. + (_LT_LANG_CXX_CONFIG): QNX can make shared libraries. + * m4/ltdl.m4 (AC_LTDL_SYS_DLOPEN_DEPLIBS): QNX opens deplibs on + dlopen. + * NEWS: Updated. + 2004-05-05 Peter O'Gorman * m4/libtool.m4 (AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH): Insert space diff --git a/NEWS b/NEWS index 1d14e3dd..73750f8e 100644 --- a/NEWS +++ b/NEWS @@ -54,6 +54,7 @@ New in 1.5b: 2004-??-??; CVS version 1.5a, Libtool team: * Initial support for amigaos-ppc. * Support for Intel C++ version 8.0. * New support for IBM's xlc and xlc++ on Mac OS X. +* Finished support for QNX RTOS. * Bug fixes. New in 1.5.2: 2004-01-25; CVS version 1.5.0a, Libtool team: diff --git a/ltmain.in b/ltmain.in index 526acce8..09d89af5 100644 --- a/ltmain.in +++ b/ltmain.in @@ -3100,7 +3100,7 @@ EOF freebsd-elf) major=".$current" - versuffix=".$current"; + versuffix=".$current" ;; irix | nonstopux) @@ -3147,6 +3147,11 @@ EOF verstring="$verstring:${current}.0" ;; + qnx) + major=".$current" + versuffix=".$current" + ;; + sunos) major=".$current" versuffix=".$current.$revision" @@ -4033,7 +4038,7 @@ EOF fi fi - exit $EXIT_SUCCESS + exit $EXIT_SUCCESS fi # Create links to the real library. diff --git a/m4/libtool.m4 b/m4/libtool.m4 index 0a0bcc8a..f165a61b 100644 --- a/m4/libtool.m4 +++ b/m4/libtool.m4 @@ -1967,14 +1967,16 @@ newsos6) shlibpath_overrides_runpath=yes ;; -nto-qnx*) - version_type=linux +*nto* | *qnx*) + version_type=qnx 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' shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='ldqnx.so' ;; openbsd*) @@ -2475,8 +2477,8 @@ newos6*) lt_cv_file_magic_test_file=/usr/lib/libnls.so ;; -nto-qnx*) - lt_cv_deplibs_check_method=unknown +*nto* | *qnx*) + lt_cv_deplibs_check_method=pass_all ;; openbsd*) @@ -2952,6 +2954,11 @@ m4_if([$1], [CXX], [ ;; esac ;; + *qnx* | *nto*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' + ;; *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; @@ -3076,6 +3083,11 @@ m4_if([$1], [CXX], [ ;; netbsd*) ;; + *qnx* | *nto*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' + ;; osf3* | osf4* | osf5*) case $cc_basename in KCC) @@ -3198,19 +3210,6 @@ m4_if([$1], [CXX], [ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' ;; - msdosdjgpp*) - # Just because we use GCC doesn't mean we suddenly get shared libraries - # on systems that don't support them. - _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - enable_shared=no - ;; - - sysv4*MP*) - if test -d /usr/nec; then - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic - fi - ;; - hpux*) # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but # not for PA HP-UX. @@ -3224,6 +3223,25 @@ m4_if([$1], [CXX], [ esac ;; + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + enable_shared=no + ;; + + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic + fi + ;; + *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; @@ -3279,11 +3297,6 @@ m4_if([$1], [CXX], [ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; - newsos6) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - linux*) case $CC in icc* | ecc*) @@ -3299,6 +3312,17 @@ m4_if([$1], [CXX], [ esac ;; + newsos6) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' + ;; + osf3* | osf4* | osf5*) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # All OSF/1 code is PIC. @@ -4002,6 +4026,9 @@ _LT_EOF _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no ;; + *nto* | *qnx*) + ;; + openbsd*) _LT_AC_TAGVAR(hardcode_direct, $1)=yes _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no @@ -5057,6 +5084,9 @@ if test -n "$compiler"; then # Workaround some broken pre-1.5 toolchains output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' ;; + *nto* | *qnx*) + _LT_AC_TAGVAR(ld_shlibs, $1)=yes + ;; osf3*) case $cc_basename in KCC) diff --git a/m4/ltdl.m4 b/m4/ltdl.m4 index e8e6f9cb..b0d807f8 100644 --- a/m4/ltdl.m4 +++ b/m4/ltdl.m4 @@ -194,6 +194,9 @@ AC_CACHE_CHECK([whether deplibs are loaded by dlopen], # is used to find them so we can finally say `yes'. libltdl_cv_sys_dlopen_deplibs=yes ;; + qnx*) + libltdl_cv_sys_dlopen_deplibs=yes + ;; solaris*) libltdl_cv_sys_dlopen_deplibs=yes ;;