home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 2006 November (DVD) / PCWELT_11_2006.ISO / casper / filesystem.squashfs / usr / share / gettext / config.rpath < prev    next >
Encoding:
Text File  |  2006-08-18  |  14.5 KB  |  572 lines

  1. #! /bin/sh
  2. # Output a system dependent set of variables, describing how to set the
  3. # run time search path of shared libraries in an executable.
  4. #
  5. #   Copyright 1996-2005 Free Software Foundation, Inc.
  6. #   Taken from GNU libtool, 2001
  7. #   Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
  8. #
  9. #   This file is free software; the Free Software Foundation gives
  10. #   unlimited permission to copy and/or distribute it, with or without
  11. #   modifications, as long as this notice is preserved.
  12. #
  13. # The first argument passed to this file is the canonical host specification,
  14. #    CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
  15. # or
  16. #    CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
  17. # The environment variables CC, GCC, LDFLAGS, LD, with_gnu_ld
  18. # should be set by the caller.
  19. #
  20. # The set of defined variables is at the end of this script.
  21.  
  22. # Known limitations:
  23. # - On IRIX 6.5 with CC="cc", the run time search patch must not be longer
  24. #   than 256 bytes, otherwise the compiler driver will dump core. The only
  25. #   known workaround is to choose shorter directory names for the build
  26. #   directory and/or the installation directory.
  27.  
  28. # All known linkers require a `.a' archive for static linking (except M$VC,
  29. # which needs '.lib').
  30. libext=a
  31. shrext=.so
  32.  
  33. host="$1"
  34. host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
  35. host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
  36. host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
  37.  
  38. cc_basename=`echo "$CC" | sed -e 's%^.*/%%'`
  39.  
  40. # Code taken from libtool.m4's AC_LIBTOOL_PROG_COMPILER_PIC.
  41.  
  42. wl=
  43. if test "$GCC" = yes; then
  44.   wl='-Wl,'
  45. else
  46.   case "$host_os" in
  47.     aix*)
  48.       wl='-Wl,'
  49.       ;;
  50.     darwin*)
  51.       case "$cc_basename" in
  52.         xlc*)
  53.           wl='-Wl,'
  54.           ;;
  55.       esac
  56.       ;;
  57.     mingw* | pw32* | os2*)
  58.       ;;
  59.     hpux9* | hpux10* | hpux11*)
  60.       wl='-Wl,'
  61.       ;;
  62.     irix5* | irix6* | nonstopux*)
  63.       wl='-Wl,'
  64.       ;;
  65.     newsos6)
  66.       ;;
  67.     linux*)
  68.       case $cc_basename in
  69.         icc* | ecc*)
  70.           wl='-Wl,'
  71.           ;;
  72.         pgcc | pgf77 | pgf90)
  73.           wl='-Wl,'
  74.           ;;
  75.         ccc*)
  76.           wl='-Wl,'
  77.           ;;
  78.         como)
  79.           wl='-lopt='
  80.           ;;
  81.       esac
  82.       ;;
  83.     osf3* | osf4* | osf5*)
  84.       wl='-Wl,'
  85.       ;;
  86.     sco3.2v5*)
  87.       ;;
  88.     solaris*)
  89.       wl='-Wl,'
  90.       ;;
  91.     sunos4*)
  92.       wl='-Qoption ld '
  93.       ;;
  94.     sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
  95.       wl='-Wl,'
  96.       ;;
  97.     sysv4*MP*)
  98.       ;;
  99.     unicos*)
  100.       wl='-Wl,'
  101.       ;;
  102.     uts4*)
  103.       ;;
  104.   esac
  105. fi
  106.  
  107. # Code taken from libtool.m4's AC_LIBTOOL_PROG_LD_SHLIBS.
  108.  
  109. hardcode_libdir_flag_spec=
  110. hardcode_libdir_separator=
  111. hardcode_direct=no
  112. hardcode_minus_L=no
  113.  
  114. case "$host_os" in
  115.   cygwin* | mingw* | pw32*)
  116.     # FIXME: the MSVC++ port hasn't been tested in a loooong time
  117.     # When not using gcc, we currently assume that we are using
  118.     # Microsoft Visual C++.
  119.     if test "$GCC" != yes; then
  120.       with_gnu_ld=no
  121.     fi
  122.     ;;
  123.   openbsd*)
  124.     with_gnu_ld=no
  125.     ;;
  126. esac
  127.  
  128. ld_shlibs=yes
  129. if test "$with_gnu_ld" = yes; then
  130.   case "$host_os" in
  131.     aix3* | aix4* | aix5*)
  132.       # On AIX/PPC, the GNU linker is very broken
  133.       if test "$host_cpu" != ia64; then
  134.         ld_shlibs=no
  135.       fi
  136.       ;;
  137.     amigaos*)
  138.       hardcode_libdir_flag_spec='-L$libdir'
  139.       hardcode_minus_L=yes
  140.       # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
  141.       # that the semantics of dynamic libraries on AmigaOS, at least up
  142.       # to version 4, is to share data among multiple programs linked
  143.       # with the same dynamic library.  Since this doesn't match the
  144.       # behavior of shared libraries on other platforms, we cannot use
  145.       # them.
  146.       ld_shlibs=no
  147.       ;;
  148.     beos*)
  149.       if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
  150.         :
  151.       else
  152.         ld_shlibs=no
  153.       fi
  154.       ;;
  155.     cygwin* | mingw* | pw32*)
  156.       # hardcode_libdir_flag_spec is actually meaningless, as there is
  157.       # no search path for DLLs.
  158.       hardcode_libdir_flag_spec='-L$libdir'
  159.       if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
  160.         :
  161.       else
  162.         ld_shlibs=no
  163.       fi
  164.       ;;
  165.     netbsd*)
  166.       ;;
  167.     solaris* | sysv5*)
  168.       if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
  169.         ld_shlibs=no
  170.       elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
  171.         :
  172.       else
  173.         ld_shlibs=no
  174.       fi
  175.       ;;
  176.     sunos4*)
  177.       hardcode_direct=yes
  178.       ;;
  179.     linux*)
  180.       if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
  181.         :
  182.       else
  183.         ld_shlibs=no
  184.       fi
  185.       ;;
  186.     *)
  187.       if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
  188.         :
  189.       else
  190.         ld_shlibs=no
  191.       fi
  192.       ;;
  193.   esac
  194.   if test "$ld_shlibs" = yes; then
  195.     # Unlike libtool, we use -rpath here, not --rpath, since the documented
  196.     # option of GNU ld is called -rpath, not --rpath.
  197.     hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
  198.   fi
  199. else
  200.   case "$host_os" in
  201.     aix3*)
  202.       # Note: this linker hardcodes the directories in LIBPATH if there
  203.       # are no directories specified by -L.
  204.       hardcode_minus_L=yes
  205.       if test "$GCC" = yes; then
  206.         # Neither direct hardcoding nor static linking is supported with a
  207.         # broken collect2.
  208.         hardcode_direct=unsupported
  209.       fi
  210.       ;;
  211.     aix4* | aix5*)
  212.       if test "$host_cpu" = ia64; then
  213.         # On IA64, the linker does run time linking by default, so we don't
  214.         # have to do anything special.
  215.         aix_use_runtimelinking=no
  216.       else
  217.         aix_use_runtimelinking=no
  218.         # Test if we are trying to use run time linking or normal
  219.         # AIX style linking. If -brtl is somewhere in LDFLAGS, we
  220.         # need to do runtime linking.
  221.         case $host_os in aix4.[23]|aix4.[23].*|aix5*)
  222.           for ld_flag in $LDFLAGS; do
  223.             if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
  224.               aix_use_runtimelinking=yes
  225.               break
  226.             fi
  227.           done
  228.         esac
  229.       fi
  230.       hardcode_direct=yes
  231.       hardcode_libdir_separator=':'
  232.       if test "$GCC" = yes; then
  233.         case $host_os in aix4.[012]|aix4.[012].*)
  234.           collect2name=`${CC} -print-prog-name=collect2`
  235.           if test -f "$collect2name" && \
  236.             strings "$collect2name" | grep resolve_lib_name >/dev/null
  237.           then
  238.             # We have reworked collect2
  239.             hardcode_direct=yes
  240.           else
  241.             # We have old collect2
  242.             hardcode_direct=unsupported
  243.             hardcode_minus_L=yes
  244.             hardcode_libdir_flag_spec='-L$libdir'
  245.             hardcode_libdir_separator=
  246.           fi
  247.         esac
  248.       fi
  249.       # Begin _LT_AC_SYS_LIBPATH_AIX.
  250.       echo 'int main () { return 0; }' > conftest.c
  251.       ${CC} ${LDFLAGS} conftest.c -o conftest
  252.       aix_libpath=`dump -H conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
  253. }'`
  254.       if test -z "$aix_libpath"; then
  255.         aix_libpath=`dump -HX64 conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
  256. }'`
  257.       fi
  258.       if test -z "$aix_libpath"; then
  259.         aix_libpath="/usr/lib:/lib"
  260.       fi
  261.       rm -f conftest.c conftest
  262.       # End _LT_AC_SYS_LIBPATH_AIX.
  263.       if test "$aix_use_runtimelinking" = yes; then
  264.         hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
  265.       else
  266.         if test "$host_cpu" = ia64; then
  267.           hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
  268.         else
  269.           hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
  270.         fi
  271.       fi
  272.       ;;
  273.     amigaos*)
  274.       hardcode_libdir_flag_spec='-L$libdir'
  275.       hardcode_minus_L=yes
  276.       # see comment about different semantics on the GNU ld section
  277.       ld_shlibs=no
  278.       ;;
  279.     bsdi[45]*)
  280.       ;;
  281.     cygwin* | mingw* | pw32*)
  282.       # When not using gcc, we currently assume that we are using
  283.       # Microsoft Visual C++.
  284.       # hardcode_libdir_flag_spec is actually meaningless, as there is
  285.       # no search path for DLLs.
  286.       hardcode_libdir_flag_spec=' '
  287.       libext=lib
  288.       ;;
  289.     darwin* | rhapsody*)
  290.       hardcode_direct=no
  291.       if test "$GCC" = yes ; then
  292.         :
  293.       else
  294.         case "$cc_basename" in
  295.           xlc*)
  296.             ;;
  297.           *)
  298.             ld_shlibs=no
  299.             ;;
  300.         esac
  301.       fi
  302.       ;;
  303.     dgux*)
  304.       hardcode_libdir_flag_spec='-L$libdir'
  305.       ;;
  306.     freebsd1*)
  307.       ld_shlibs=no
  308.       ;;
  309.     freebsd2.2*)
  310.       hardcode_libdir_flag_spec='-R$libdir'
  311.       hardcode_direct=yes
  312.       ;;
  313.     freebsd2*)
  314.       hardcode_direct=yes
  315.       hardcode_minus_L=yes
  316.       ;;
  317.     freebsd* | kfreebsd*-gnu | dragonfly*)
  318.       hardcode_libdir_flag_spec='-R$libdir'
  319.       hardcode_direct=yes
  320.       ;;
  321.     hpux9*)
  322.       hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
  323.       hardcode_libdir_separator=:
  324.       hardcode_direct=yes
  325.       # hardcode_minus_L: Not really in the search PATH,
  326.       # but as the default location of the library.
  327.       hardcode_minus_L=yes
  328.       ;;
  329.     hpux10* | hpux11*)
  330.       if test "$with_gnu_ld" = no; then
  331.         case "$host_cpu" in
  332.           hppa*64*)
  333.             hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
  334.             hardcode_libdir_separator=:
  335.             hardcode_direct=no
  336.             ;;
  337.           ia64*)
  338.             hardcode_libdir_flag_spec='-L$libdir'
  339.             hardcode_direct=no
  340.             # hardcode_minus_L: Not really in the search PATH,
  341.             # but as the default location of the library.
  342.             hardcode_minus_L=yes
  343.             ;;
  344.           *)
  345.             hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
  346.             hardcode_libdir_separator=:
  347.             hardcode_direct=yes
  348.             # hardcode_minus_L: Not really in the search PATH,
  349.             # but as the default location of the library.
  350.             hardcode_minus_L=yes
  351.             ;;
  352.         esac
  353.       fi
  354.       ;;
  355.     irix5* | irix6* | nonstopux*)
  356.       hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
  357.       hardcode_libdir_separator=:
  358.       ;;
  359.     netbsd*)
  360.       hardcode_libdir_flag_spec='-R$libdir'
  361.       hardcode_direct=yes
  362.       ;;
  363.     newsos6)
  364.       hardcode_direct=yes
  365.       hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
  366.       hardcode_libdir_separator=:
  367.       ;;
  368.     openbsd*)
  369.       hardcode_direct=yes
  370.       if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
  371.         hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
  372.       else
  373.         case "$host_os" in
  374.           openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
  375.             hardcode_libdir_flag_spec='-R$libdir'
  376.             ;;
  377.           *)
  378.             hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
  379.             ;;
  380.         esac
  381.       fi
  382.       ;;
  383.     os2*)
  384.       hardcode_libdir_flag_spec='-L$libdir'
  385.       hardcode_minus_L=yes
  386.       ;;
  387.     osf3*)
  388.       hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
  389.       hardcode_libdir_separator=:
  390.       ;;
  391.     osf4* | osf5*)
  392.       if test "$GCC" = yes; then
  393.         hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
  394.       else
  395.         # Both cc and cxx compiler support -rpath directly
  396.         hardcode_libdir_flag_spec='-rpath $libdir'
  397.       fi
  398.       hardcode_libdir_separator=:
  399.       ;;
  400.     sco3.2v5*)
  401.       ;;
  402.     solaris*)
  403.       hardcode_libdir_flag_spec='-R$libdir'
  404.       ;;
  405.     sunos4*)
  406.       hardcode_libdir_flag_spec='-L$libdir'
  407.       hardcode_direct=yes
  408.       hardcode_minus_L=yes
  409.       ;;
  410.     sysv4)
  411.       case $host_vendor in
  412.         sni)
  413.           hardcode_direct=yes # is this really true???
  414.           ;;
  415.         siemens)
  416.           hardcode_direct=no
  417.           ;;
  418.         motorola)
  419.           hardcode_direct=no #Motorola manual says yes, but my tests say they lie
  420.           ;;
  421.       esac
  422.       ;;
  423.     sysv4.3*)
  424.       ;;
  425.     sysv4*MP*)
  426.       if test -d /usr/nec; then
  427.         ld_shlibs=yes
  428.       fi
  429.       ;;
  430.     sysv4.2uw2*)
  431.       hardcode_direct=yes
  432.       hardcode_minus_L=no
  433.       ;;
  434.     sysv5OpenUNIX8* | sysv5UnixWare7* |  sysv5uw[78]* | unixware7*)
  435.       ;;
  436.     sysv5*)
  437.       hardcode_libdir_flag_spec=
  438.       ;;
  439.     uts4*)
  440.       hardcode_libdir_flag_spec='-L$libdir'
  441.       ;;
  442.     *)
  443.       ld_shlibs=no
  444.       ;;
  445.   esac
  446. fi
  447.  
  448. # Check dynamic linker characteristics
  449. # Code taken from libtool.m4's AC_LIBTOOL_SYS_DYNAMIC_LINKER.
  450. libname_spec='lib$name'
  451. case "$host_os" in
  452.   aix3*)
  453.     ;;
  454.   aix4* | aix5*)
  455.     ;;
  456.   amigaos*)
  457.     ;;
  458.   beos*)
  459.     ;;
  460.   bsdi[45]*)
  461.     ;;
  462.   cygwin* | mingw* | pw32*)
  463.     shrext=.dll
  464.     ;;
  465.   darwin* | rhapsody*)
  466.     shrext=.dylib
  467.     ;;
  468.   dgux*)
  469.     ;;
  470.   freebsd1*)
  471.     ;;
  472.   kfreebsd*-gnu)
  473.     ;;
  474.   freebsd*)
  475.     ;;
  476.   gnu*)
  477.     ;;
  478.   hpux9* | hpux10* | hpux11*)
  479.     case "$host_cpu" in
  480.       ia64*)
  481.         shrext=.so
  482.         ;;
  483.       hppa*64*)
  484.         shrext=.sl
  485.         ;;
  486.       *)
  487.         shrext=.sl
  488.         ;;
  489.     esac
  490.     ;;
  491.   irix5* | irix6* | nonstopux*)
  492.     case "$host_os" in
  493.       irix5* | nonstopux*)
  494.         libsuff= shlibsuff=
  495.         ;;
  496.       *)
  497.         case $LD in
  498.           *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= ;;
  499.           *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 ;;
  500.           *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 ;;
  501.           *) libsuff= shlibsuff= ;;
  502.         esac
  503.         ;;
  504.     esac
  505.     ;;
  506.   linux*oldld* | linux*aout* | linux*coff*)
  507.     ;;
  508.   linux*)
  509.     ;;
  510.   knetbsd*-gnu)
  511.     ;;
  512.   netbsd*)
  513.     ;;
  514.   newsos6)
  515.     ;;
  516.   nto-qnx*)
  517.     ;;
  518.   openbsd*)
  519.     ;;
  520.   os2*)
  521.     libname_spec='$name'
  522.     shrext=.dll
  523.     ;;
  524.   osf3* | osf4* | osf5*)
  525.     ;;
  526.   sco3.2v5*)
  527.     ;;
  528.   solaris*)
  529.     ;;
  530.   sunos4*)
  531.     ;;
  532.   sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
  533.     ;;
  534.   sysv4*MP*)
  535.     ;;
  536.   uts4*)
  537.     ;;
  538. esac
  539.  
  540. sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
  541. escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"`
  542. shlibext=`echo "$shrext" | sed -e 's,^\.,,'`
  543. escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
  544.  
  545. LC_ALL=C sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <<EOF
  546.  
  547. # How to pass a linker flag through the compiler.
  548. wl="$escaped_wl"
  549.  
  550. # Static library suffix (normally "a").
  551. libext="$libext"
  552.  
  553. # Shared library suffix (normally "so").
  554. shlibext="$shlibext"
  555.  
  556. # Flag to hardcode \$libdir into a binary during linking.
  557. # This must work even if \$libdir does not exist.
  558. hardcode_libdir_flag_spec="$escaped_hardcode_libdir_flag_spec"
  559.  
  560. # Whether we need a single -rpath flag with a separated argument.
  561. hardcode_libdir_separator="$hardcode_libdir_separator"
  562.  
  563. # Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the
  564. # resulting binary.
  565. hardcode_direct="$hardcode_direct"
  566.  
  567. # Set to yes if using the -LDIR flag during linking hardcodes DIR into the
  568. # resulting binary.
  569. hardcode_minus_L="$hardcode_minus_L"
  570.  
  571. EOF
  572.