ltmain.sh
author Wolfgang Rosenauer <wr@rosenauer.org>
Thu, 08 Dec 2011 22:33:48 +0100
changeset 4 69b7ac3efaa2
parent 0 262e1fb001a8
permissions -rwxr-xr-x
use correct pointer and do not access destroyed memory
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     1
# Generated from ltmain.m4sh.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     2
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     3
# ltmain.sh (GNU libtool) 2.2.6
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     4
# Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     5
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     6
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2007 2008 Free Software Foundation, Inc.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     7
# This is free software; see the source for copying conditions.  There is NO
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     8
# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     9
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    10
# GNU Libtool is free software; you can redistribute it and/or modify
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    11
# it under the terms of the GNU General Public License as published by
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    12
# the Free Software Foundation; either version 2 of the License, or
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    13
# (at your option) any later version.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    14
#
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    15
# As a special exception to the GNU General Public License,
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    16
# if you distribute this file as part of a program or library that
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    17
# is built using GNU Libtool, you may include this file under the
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    18
# same distribution terms that you use for the rest of that program.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    19
#
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    20
# GNU Libtool is distributed in the hope that it will be useful, but
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    21
# WITHOUT ANY WARRANTY; without even the implied warranty of
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    22
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    23
# General Public License for more details.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    24
#
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    25
# You should have received a copy of the GNU General Public License
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    26
# along with GNU Libtool; see the file COPYING.  If not, a copy
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    27
# can be downloaded from http://www.gnu.org/licenses/gpl.html,
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    28
# or obtained by writing to the Free Software Foundation, Inc.,
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    29
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    30
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    31
# Usage: $progname [OPTION]... [MODE-ARG]...
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    32
#
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    33
# Provide generalized library-building support services.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    34
#
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    35
#     --config             show all configuration variables
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    36
#     --debug              enable verbose shell tracing
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    37
# -n, --dry-run            display commands without modifying any files
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    38
#     --features           display basic configuration information and exit
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    39
#     --mode=MODE          use operation mode MODE
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    40
#     --preserve-dup-deps  don't remove duplicate dependency libraries
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    41
#     --quiet, --silent    don't print informational messages
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    42
#     --tag=TAG            use configuration variables from tag TAG
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    43
# -v, --verbose            print informational messages (default)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    44
#     --version            print version information
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    45
# -h, --help               print short or long help message
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    46
#
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    47
# MODE must be one of the following:
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    48
#
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    49
#       clean              remove files from the build directory
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    50
#       compile            compile a source file into a libtool object
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    51
#       execute            automatically set library path, then run a program
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    52
#       finish             complete the installation of libtool libraries
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    53
#       install            install libraries or executables
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    54
#       link               create a library or an executable
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    55
#       uninstall          remove libraries from an installed directory
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    56
#
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    57
# MODE-ARGS vary depending on the MODE.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    58
# Try `$progname --help --mode=MODE' for a more detailed description of MODE.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    59
#
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    60
# When reporting a bug, please describe a test case to reproduce it and
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    61
# include the following information:
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    62
#
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    63
#       host-triplet:	$host
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    64
#       shell:		$SHELL
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    65
#       compiler:		$LTCC
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    66
#       compiler flags:		$LTCFLAGS
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    67
#       linker:		$LD (gnu? $with_gnu_ld)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    68
#       $progname:		(GNU libtool) 2.2.6
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    69
#       automake:		$automake_version
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    70
#       autoconf:		$autoconf_version
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    71
#
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    72
# Report bugs to <bug-libtool@gnu.org>.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    73
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    74
PROGRAM=ltmain.sh
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    75
PACKAGE=libtool
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    76
VERSION=2.2.6
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    77
TIMESTAMP=""
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    78
package_revision=1.3012
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    79
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    80
# Be Bourne compatible
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    81
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    82
  emulate sh
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    83
  NULLCMD=:
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    84
  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    85
  # is contrary to our usage.  Disable this feature.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    86
  alias -g '${1+"$@"}'='"$@"'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    87
  setopt NO_GLOB_SUBST
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    88
else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    89
  case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    90
fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    91
BIN_SH=xpg4; export BIN_SH # for Tru64
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    92
DUALCASE=1; export DUALCASE # for MKS sh
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    93
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    94
# NLS nuisances: We save the old values to restore during execute mode.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    95
# Only set LANG and LC_ALL to C if already set.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    96
# These must not be set unconditionally because not all systems understand
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    97
# e.g. LANG=C (notably SCO).
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    98
lt_user_locale=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    99
lt_safe_locale=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   100
for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   101
do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   102
  eval "if test \"\${$lt_var+set}\" = set; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   103
          save_$lt_var=\$$lt_var
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   104
          $lt_var=C
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   105
	  export $lt_var
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   106
	  lt_user_locale=\"$lt_var=\\\$save_\$lt_var; \$lt_user_locale\"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   107
	  lt_safe_locale=\"$lt_var=C; \$lt_safe_locale\"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   108
	fi"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   109
done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   110
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   111
$lt_unset CDPATH
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   112
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   113
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   114
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   115
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   116
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   117
: ${CP="cp -f"}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   118
: ${ECHO="echo"}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   119
: ${EGREP="/usr/bin/grep -E"}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   120
: ${FGREP="/usr/bin/grep -F"}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   121
: ${GREP="/usr/bin/grep"}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   122
: ${LN_S="ln -s"}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   123
: ${MAKE="make"}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   124
: ${MKDIR="mkdir"}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   125
: ${MV="mv -f"}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   126
: ${RM="rm -f"}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   127
: ${SED="/opt/local/bin/gsed"}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   128
: ${SHELL="${CONFIG_SHELL-/bin/sh}"}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   129
: ${Xsed="$SED -e 1s/^X//"}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   130
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   131
# Global variables:
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   132
EXIT_SUCCESS=0
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   133
EXIT_FAILURE=1
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   134
EXIT_MISMATCH=63  # $? = 63 is used to indicate version mismatch to missing.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   135
EXIT_SKIP=77	  # $? = 77 is used to indicate a skipped test to automake.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   136
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   137
exit_status=$EXIT_SUCCESS
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   138
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   139
# Make sure IFS has a sensible default
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   140
lt_nl='
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   141
'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   142
IFS=" 	$lt_nl"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   143
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   144
dirname="s,/[^/]*$,,"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   145
basename="s,^.*/,,"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   146
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   147
# func_dirname_and_basename file append nondir_replacement
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   148
# perform func_basename and func_dirname in a single function
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   149
# call:
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   150
#   dirname:  Compute the dirname of FILE.  If nonempty,
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   151
#             add APPEND to the result, otherwise set result
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   152
#             to NONDIR_REPLACEMENT.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   153
#             value returned in "$func_dirname_result"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   154
#   basename: Compute filename of FILE.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   155
#             value retuned in "$func_basename_result"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   156
# Implementation must be kept synchronized with func_dirname
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   157
# and func_basename. For efficiency, we do not delegate to
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   158
# those functions but instead duplicate the functionality here.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   159
func_dirname_and_basename ()
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   160
{
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   161
  # Extract subdirectory from the argument.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   162
  func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   163
  if test "X$func_dirname_result" = "X${1}"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   164
    func_dirname_result="${3}"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   165
  else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   166
    func_dirname_result="$func_dirname_result${2}"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   167
  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   168
  func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   169
}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   170
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   171
# Generated shell functions inserted here.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   172
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   173
# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   174
# is ksh but when the shell is invoked as "sh" and the current value of
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   175
# the _XPG environment variable is not equal to 1 (one), the special
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   176
# positional parameter $0, within a function call, is the name of the
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   177
# function.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   178
progpath="$0"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   179
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   180
# The name of this program:
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   181
# In the unlikely event $progname began with a '-', it would play havoc with
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   182
# func_echo (imagine progname=-n), so we prepend ./ in that case:
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   183
func_dirname_and_basename "$progpath"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   184
progname=$func_basename_result
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   185
case $progname in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   186
  -*) progname=./$progname ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   187
esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   188
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   189
# Make sure we have an absolute path for reexecution:
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   190
case $progpath in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   191
  [\\/]*|[A-Za-z]:\\*) ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   192
  *[\\/]*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   193
     progdir=$func_dirname_result
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   194
     progdir=`cd "$progdir" && pwd`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   195
     progpath="$progdir/$progname"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   196
     ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   197
  *)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   198
     save_IFS="$IFS"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   199
     IFS=:
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   200
     for progdir in $PATH; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   201
       IFS="$save_IFS"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   202
       test -x "$progdir/$progname" && break
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   203
     done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   204
     IFS="$save_IFS"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   205
     test -n "$progdir" || progdir=`pwd`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   206
     progpath="$progdir/$progname"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   207
     ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   208
esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   209
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   210
# Sed substitution that helps us do robust quoting.  It backslashifies
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   211
# metacharacters that are still active within double-quoted strings.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   212
Xsed="${SED}"' -e 1s/^X//'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   213
sed_quote_subst='s/\([`"$\\]\)/\\\1/g'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   214
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   215
# Same as above, but do not quote variable references.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   216
double_quote_subst='s/\(["`\\]\)/\\\1/g'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   217
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   218
# Re-`\' parameter expansions in output of double_quote_subst that were
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   219
# `\'-ed in input to the same.  If an odd number of `\' preceded a '$'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   220
# in input to double_quote_subst, that '$' was protected from expansion.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   221
# Since each input `\' is now two `\'s, look for any number of runs of
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   222
# four `\'s followed by two `\'s and then a '$'.  `\' that '$'.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   223
bs='\\'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   224
bs2='\\\\'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   225
bs4='\\\\\\\\'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   226
dollar='\$'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   227
sed_double_backslash="\
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   228
  s/$bs4/&\\
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   229
/g
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   230
  s/^$bs2$dollar/$bs&/
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   231
  s/\\([^$bs]\\)$bs2$dollar/\\1$bs2$bs$dollar/g
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   232
  s/\n//g"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   233
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   234
# Standard options:
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   235
opt_dry_run=false
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   236
opt_help=false
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   237
opt_quiet=false
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   238
opt_verbose=false
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   239
opt_warning=:
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   240
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   241
# func_echo arg...
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   242
# Echo program name prefixed message, along with the current mode
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   243
# name if it has been set yet.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   244
func_echo ()
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   245
{
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   246
    $ECHO "$progname${mode+: }$mode: $*"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   247
}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   248
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   249
# func_verbose arg...
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   250
# Echo program name prefixed message in verbose mode only.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   251
func_verbose ()
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   252
{
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   253
    $opt_verbose && func_echo ${1+"$@"}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   254
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   255
    # A bug in bash halts the script if the last line of a function
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   256
    # fails when set -e is in force, so we need another command to
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   257
    # work around that:
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   258
    :
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   259
}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   260
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   261
# func_error arg...
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   262
# Echo program name prefixed message to standard error.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   263
func_error ()
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   264
{
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   265
    $ECHO "$progname${mode+: }$mode: "${1+"$@"} 1>&2
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   266
}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   267
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   268
# func_warning arg...
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   269
# Echo program name prefixed warning message to standard error.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   270
func_warning ()
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   271
{
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   272
    $opt_warning && $ECHO "$progname${mode+: }$mode: warning: "${1+"$@"} 1>&2
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   273
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   274
    # bash bug again:
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   275
    :
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   276
}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   277
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   278
# func_fatal_error arg...
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   279
# Echo program name prefixed message to standard error, and exit.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   280
func_fatal_error ()
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   281
{
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   282
    func_error ${1+"$@"}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   283
    exit $EXIT_FAILURE
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   284
}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   285
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   286
# func_fatal_help arg...
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   287
# Echo program name prefixed message to standard error, followed by
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   288
# a help hint, and exit.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   289
func_fatal_help ()
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   290
{
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   291
    func_error ${1+"$@"}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   292
    func_fatal_error "$help"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   293
}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   294
help="Try \`$progname --help' for more information."  ## default
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   295
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   296
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   297
# func_grep expression filename
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   298
# Check whether EXPRESSION matches any line of FILENAME, without output.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   299
func_grep ()
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   300
{
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   301
    $GREP "$1" "$2" >/dev/null 2>&1
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   302
}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   303
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   304
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   305
# func_mkdir_p directory-path
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   306
# Make sure the entire path to DIRECTORY-PATH is available.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   307
func_mkdir_p ()
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   308
{
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   309
    my_directory_path="$1"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   310
    my_dir_list=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   311
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   312
    if test -n "$my_directory_path" && test "$opt_dry_run" != ":"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   313
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   314
      # Protect directory names starting with `-'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   315
      case $my_directory_path in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   316
        -*) my_directory_path="./$my_directory_path" ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   317
      esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   318
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   319
      # While some portion of DIR does not yet exist...
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   320
      while test ! -d "$my_directory_path"; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   321
        # ...make a list in topmost first order.  Use a colon delimited
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   322
	# list incase some portion of path contains whitespace.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   323
        my_dir_list="$my_directory_path:$my_dir_list"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   324
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   325
        # If the last portion added has no slash in it, the list is done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   326
        case $my_directory_path in */*) ;; *) break ;; esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   327
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   328
        # ...otherwise throw away the child directory and loop
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   329
        my_directory_path=`$ECHO "X$my_directory_path" | $Xsed -e "$dirname"`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   330
      done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   331
      my_dir_list=`$ECHO "X$my_dir_list" | $Xsed -e 's,:*$,,'`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   332
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   333
      save_mkdir_p_IFS="$IFS"; IFS=':'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   334
      for my_dir in $my_dir_list; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   335
	IFS="$save_mkdir_p_IFS"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   336
        # mkdir can fail with a `File exist' error if two processes
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   337
        # try to create one of the directories concurrently.  Don't
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   338
        # stop in that case!
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   339
        $MKDIR "$my_dir" 2>/dev/null || :
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   340
      done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   341
      IFS="$save_mkdir_p_IFS"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   342
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   343
      # Bail out if we (or some other process) failed to create a directory.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   344
      test -d "$my_directory_path" || \
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   345
        func_fatal_error "Failed to create \`$1'"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   346
    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   347
}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   348
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   349
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   350
# func_mktempdir [string]
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   351
# Make a temporary directory that won't clash with other running
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   352
# libtool processes, and avoids race conditions if possible.  If
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   353
# given, STRING is the basename for that directory.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   354
func_mktempdir ()
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   355
{
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   356
    my_template="${TMPDIR-/tmp}/${1-$progname}"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   357
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   358
    if test "$opt_dry_run" = ":"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   359
      # Return a directory name, but don't create it in dry-run mode
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   360
      my_tmpdir="${my_template}-$$"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   361
    else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   362
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   363
      # If mktemp works, use that first and foremost
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   364
      my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   365
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   366
      if test ! -d "$my_tmpdir"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   367
        # Failing that, at least try and use $RANDOM to avoid a race
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   368
        my_tmpdir="${my_template}-${RANDOM-0}$$"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   369
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   370
        save_mktempdir_umask=`umask`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   371
        umask 0077
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   372
        $MKDIR "$my_tmpdir"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   373
        umask $save_mktempdir_umask
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   374
      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   375
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   376
      # If we're not in dry-run mode, bomb out on failure
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   377
      test -d "$my_tmpdir" || \
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   378
        func_fatal_error "cannot create temporary directory \`$my_tmpdir'"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   379
    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   380
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   381
    $ECHO "X$my_tmpdir" | $Xsed
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   382
}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   383
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   384
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   385
# func_quote_for_eval arg
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   386
# Aesthetically quote ARG to be evaled later.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   387
# This function returns two values: FUNC_QUOTE_FOR_EVAL_RESULT
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   388
# is double-quoted, suitable for a subsequent eval, whereas
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   389
# FUNC_QUOTE_FOR_EVAL_UNQUOTED_RESULT has merely all characters
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   390
# which are still active within double quotes backslashified.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   391
func_quote_for_eval ()
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   392
{
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   393
    case $1 in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   394
      *[\\\`\"\$]*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   395
	func_quote_for_eval_unquoted_result=`$ECHO "X$1" | $Xsed -e "$sed_quote_subst"` ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   396
      *)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   397
        func_quote_for_eval_unquoted_result="$1" ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   398
    esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   399
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   400
    case $func_quote_for_eval_unquoted_result in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   401
      # Double-quote args containing shell metacharacters to delay
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   402
      # word splitting, command substitution and and variable
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   403
      # expansion for a subsequent eval.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   404
      # Many Bourne shells cannot handle close brackets correctly
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   405
      # in scan sets, so we specify it separately.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   406
      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   407
        func_quote_for_eval_result="\"$func_quote_for_eval_unquoted_result\""
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   408
        ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   409
      *)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   410
        func_quote_for_eval_result="$func_quote_for_eval_unquoted_result"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   411
    esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   412
}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   413
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   414
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   415
# func_quote_for_expand arg
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   416
# Aesthetically quote ARG to be evaled later; same as above,
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   417
# but do not quote variable references.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   418
func_quote_for_expand ()
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   419
{
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   420
    case $1 in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   421
      *[\\\`\"]*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   422
	my_arg=`$ECHO "X$1" | $Xsed \
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   423
	    -e "$double_quote_subst" -e "$sed_double_backslash"` ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   424
      *)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   425
        my_arg="$1" ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   426
    esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   427
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   428
    case $my_arg in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   429
      # Double-quote args containing shell metacharacters to delay
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   430
      # word splitting and command substitution for a subsequent eval.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   431
      # Many Bourne shells cannot handle close brackets correctly
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   432
      # in scan sets, so we specify it separately.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   433
      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   434
        my_arg="\"$my_arg\""
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   435
        ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   436
    esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   437
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   438
    func_quote_for_expand_result="$my_arg"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   439
}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   440
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   441
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   442
# func_show_eval cmd [fail_exp]
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   443
# Unless opt_silent is true, then output CMD.  Then, if opt_dryrun is
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   444
# not true, evaluate CMD.  If the evaluation of CMD fails, and FAIL_EXP
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   445
# is given, then evaluate it.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   446
func_show_eval ()
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   447
{
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   448
    my_cmd="$1"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   449
    my_fail_exp="${2-:}"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   450
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   451
    ${opt_silent-false} || {
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   452
      func_quote_for_expand "$my_cmd"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   453
      eval "func_echo $func_quote_for_expand_result"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   454
    }
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   455
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   456
    if ${opt_dry_run-false}; then :; else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   457
      eval "$my_cmd"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   458
      my_status=$?
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   459
      if test "$my_status" -eq 0; then :; else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   460
	eval "(exit $my_status); $my_fail_exp"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   461
      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   462
    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   463
}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   464
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   465
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   466
# func_show_eval_locale cmd [fail_exp]
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   467
# Unless opt_silent is true, then output CMD.  Then, if opt_dryrun is
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   468
# not true, evaluate CMD.  If the evaluation of CMD fails, and FAIL_EXP
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   469
# is given, then evaluate it.  Use the saved locale for evaluation.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   470
func_show_eval_locale ()
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   471
{
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   472
    my_cmd="$1"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   473
    my_fail_exp="${2-:}"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   474
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   475
    ${opt_silent-false} || {
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   476
      func_quote_for_expand "$my_cmd"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   477
      eval "func_echo $func_quote_for_expand_result"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   478
    }
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   479
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   480
    if ${opt_dry_run-false}; then :; else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   481
      eval "$lt_user_locale
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   482
	    $my_cmd"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   483
      my_status=$?
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   484
      eval "$lt_safe_locale"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   485
      if test "$my_status" -eq 0; then :; else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   486
	eval "(exit $my_status); $my_fail_exp"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   487
      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   488
    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   489
}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   490
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   491
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   492
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   493
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   494
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   495
# func_version
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   496
# Echo version message to standard output and exit.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   497
func_version ()
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   498
{
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   499
    $SED -n '/^# '$PROGRAM' (GNU /,/# warranty; / {
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   500
        s/^# //
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   501
	s/^# *$//
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   502
        s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   503
        p
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   504
     }' < "$progpath"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   505
     exit $?
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   506
}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   507
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   508
# func_usage
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   509
# Echo short help message to standard output and exit.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   510
func_usage ()
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   511
{
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   512
    $SED -n '/^# Usage:/,/# -h/ {
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   513
        s/^# //
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   514
	s/^# *$//
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   515
	s/\$progname/'$progname'/
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   516
	p
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   517
    }' < "$progpath"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   518
    $ECHO
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   519
    $ECHO "run \`$progname --help | more' for full usage"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   520
    exit $?
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   521
}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   522
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   523
# func_help
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   524
# Echo long help message to standard output and exit.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   525
func_help ()
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   526
{
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   527
    $SED -n '/^# Usage:/,/# Report bugs to/ {
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   528
        s/^# //
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   529
	s/^# *$//
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   530
	s*\$progname*'$progname'*
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   531
	s*\$host*'"$host"'*
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   532
	s*\$SHELL*'"$SHELL"'*
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   533
	s*\$LTCC*'"$LTCC"'*
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   534
	s*\$LTCFLAGS*'"$LTCFLAGS"'*
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   535
	s*\$LD*'"$LD"'*
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   536
	s/\$with_gnu_ld/'"$with_gnu_ld"'/
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   537
	s/\$automake_version/'"`(automake --version) 2>/dev/null |$SED 1q`"'/
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   538
	s/\$autoconf_version/'"`(autoconf --version) 2>/dev/null |$SED 1q`"'/
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   539
	p
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   540
     }' < "$progpath"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   541
    exit $?
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   542
}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   543
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   544
# func_missing_arg argname
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   545
# Echo program name prefixed message to standard error and set global
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   546
# exit_cmd.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   547
func_missing_arg ()
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   548
{
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   549
    func_error "missing argument for $1"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   550
    exit_cmd=exit
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   551
}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   552
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   553
exit_cmd=:
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   554
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   555
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   556
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   557
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   558
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   559
# Check that we have a working $ECHO.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   560
if test "X$1" = X--no-reexec; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   561
  # Discard the --no-reexec flag, and continue.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   562
  shift
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   563
elif test "X$1" = X--fallback-echo; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   564
  # Avoid inline document here, it may be left over
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   565
  :
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   566
elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t'; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   567
  # Yippee, $ECHO works!
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   568
  :
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   569
else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   570
  # Restart under the correct shell, and then maybe $ECHO will work.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   571
  exec $SHELL "$progpath" --no-reexec ${1+"$@"}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   572
fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   573
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   574
if test "X$1" = X--fallback-echo; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   575
  # used as fallback echo
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   576
  shift
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   577
  cat <<EOF
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   578
$*
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   579
EOF
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   580
  exit $EXIT_SUCCESS
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   581
fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   582
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   583
magic="%%%MAGIC variable%%%"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   584
magic_exe="%%%MAGIC EXE variable%%%"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   585
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   586
# Global variables.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   587
# $mode is unset
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   588
nonopt=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   589
execute_dlfiles=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   590
preserve_args=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   591
lo2o="s/\\.lo\$/.${objext}/"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   592
o2lo="s/\\.${objext}\$/.lo/"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   593
extracted_archives=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   594
extracted_serial=0
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   595
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   596
opt_dry_run=false
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   597
opt_duplicate_deps=false
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   598
opt_silent=false
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   599
opt_debug=:
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   600
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   601
# If this variable is set in any of the actions, the command in it
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   602
# will be execed at the end.  This prevents here-documents from being
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   603
# left over by shells.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   604
exec_cmd=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   605
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   606
# func_fatal_configuration arg...
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   607
# Echo program name prefixed message to standard error, followed by
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   608
# a configuration failure hint, and exit.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   609
func_fatal_configuration ()
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   610
{
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   611
    func_error ${1+"$@"}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   612
    func_error "See the $PACKAGE documentation for more information."
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   613
    func_fatal_error "Fatal configuration error."
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   614
}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   615
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   616
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   617
# func_config
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   618
# Display the configuration for all the tags in this script.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   619
func_config ()
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   620
{
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   621
    re_begincf='^# ### BEGIN LIBTOOL'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   622
    re_endcf='^# ### END LIBTOOL'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   623
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   624
    # Default configuration.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   625
    $SED "1,/$re_begincf CONFIG/d;/$re_endcf CONFIG/,\$d" < "$progpath"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   626
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   627
    # Now print the configurations for the tags.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   628
    for tagname in $taglist; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   629
      $SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagname\$/p" < "$progpath"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   630
    done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   631
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   632
    exit $?
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   633
}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   634
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   635
# func_features
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   636
# Display the features supported by this script.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   637
func_features ()
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   638
{
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   639
    $ECHO "host: $host"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   640
    if test "$build_libtool_libs" = yes; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   641
      $ECHO "enable shared libraries"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   642
    else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   643
      $ECHO "disable shared libraries"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   644
    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   645
    if test "$build_old_libs" = yes; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   646
      $ECHO "enable static libraries"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   647
    else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   648
      $ECHO "disable static libraries"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   649
    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   650
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   651
    exit $?
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   652
}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   653
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   654
# func_enable_tag tagname
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   655
# Verify that TAGNAME is valid, and either flag an error and exit, or
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   656
# enable the TAGNAME tag.  We also add TAGNAME to the global $taglist
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   657
# variable here.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   658
func_enable_tag ()
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   659
{
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   660
  # Global variable:
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   661
  tagname="$1"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   662
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   663
  re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   664
  re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   665
  sed_extractcf="/$re_begincf/,/$re_endcf/p"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   666
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   667
  # Validate tagname.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   668
  case $tagname in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   669
    *[!-_A-Za-z0-9,/]*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   670
      func_fatal_error "invalid tag name: $tagname"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   671
      ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   672
  esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   673
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   674
  # Don't test for the "default" C tag, as we know it's
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   675
  # there but not specially marked.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   676
  case $tagname in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   677
    CC) ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   678
    *)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   679
      if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   680
	taglist="$taglist $tagname"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   681
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   682
	# Evaluate the configuration.  Be careful to quote the path
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   683
	# and the sed script, to avoid splitting on whitespace, but
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   684
	# also don't use non-portable quotes within backquotes within
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   685
	# quotes we have to do it in 2 steps:
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   686
	extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   687
	eval "$extractedcf"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   688
      else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   689
	func_error "ignoring unknown tag $tagname"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   690
      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   691
      ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   692
  esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   693
}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   694
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   695
# Parse options once, thoroughly.  This comes as soon as possible in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   696
# the script to make things like `libtool --version' happen quickly.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   697
{
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   698
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   699
  # Shorthand for --mode=foo, only valid as the first argument
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   700
  case $1 in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   701
  clean|clea|cle|cl)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   702
    shift; set dummy --mode clean ${1+"$@"}; shift
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   703
    ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   704
  compile|compil|compi|comp|com|co|c)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   705
    shift; set dummy --mode compile ${1+"$@"}; shift
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   706
    ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   707
  execute|execut|execu|exec|exe|ex|e)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   708
    shift; set dummy --mode execute ${1+"$@"}; shift
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   709
    ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   710
  finish|finis|fini|fin|fi|f)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   711
    shift; set dummy --mode finish ${1+"$@"}; shift
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   712
    ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   713
  install|instal|insta|inst|ins|in|i)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   714
    shift; set dummy --mode install ${1+"$@"}; shift
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   715
    ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   716
  link|lin|li|l)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   717
    shift; set dummy --mode link ${1+"$@"}; shift
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   718
    ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   719
  uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   720
    shift; set dummy --mode uninstall ${1+"$@"}; shift
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   721
    ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   722
  esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   723
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   724
  # Parse non-mode specific arguments:
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   725
  while test "$#" -gt 0; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   726
    opt="$1"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   727
    shift
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   728
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   729
    case $opt in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   730
      --config)		func_config					;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   731
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   732
      --debug)		preserve_args="$preserve_args $opt"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   733
			func_echo "enabling shell trace mode"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   734
			opt_debug='set -x'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   735
			$opt_debug
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   736
			;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   737
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   738
      -dlopen)		test "$#" -eq 0 && func_missing_arg "$opt" && break
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   739
			execute_dlfiles="$execute_dlfiles $1"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   740
			shift
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   741
			;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   742
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   743
      --dry-run | -n)	opt_dry_run=:					;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   744
      --features)       func_features					;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   745
      --finish)		mode="finish"					;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   746
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   747
      --mode)		test "$#" -eq 0 && func_missing_arg "$opt" && break
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   748
			case $1 in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   749
			  # Valid mode arguments:
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   750
			  clean)	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   751
			  compile)	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   752
			  execute)	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   753
			  finish)	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   754
			  install)	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   755
			  link)		;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   756
			  relink)	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   757
			  uninstall)	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   758
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   759
			  # Catch anything else as an error
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   760
			  *) func_error "invalid argument for $opt"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   761
			     exit_cmd=exit
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   762
			     break
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   763
			     ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   764
		        esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   765
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   766
			mode="$1"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   767
			shift
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   768
			;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   769
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   770
      --preserve-dup-deps)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   771
			opt_duplicate_deps=:				;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   772
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   773
      --quiet|--silent)	preserve_args="$preserve_args $opt"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   774
			opt_silent=:
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   775
			;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   776
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   777
      --verbose| -v)	preserve_args="$preserve_args $opt"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   778
			opt_silent=false
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   779
			;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   780
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   781
      --tag)		test "$#" -eq 0 && func_missing_arg "$opt" && break
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   782
			preserve_args="$preserve_args $opt $1"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   783
			func_enable_tag "$1"	# tagname is set here
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   784
			shift
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   785
			;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   786
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   787
      # Separate optargs to long options:
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   788
      -dlopen=*|--mode=*|--tag=*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   789
			func_opt_split "$opt"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   790
			set dummy "$func_opt_split_opt" "$func_opt_split_arg" ${1+"$@"}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   791
			shift
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   792
			;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   793
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   794
      -\?|-h)		func_usage					;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   795
      --help)		opt_help=:					;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   796
      --version)	func_version					;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   797
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   798
      -*)		func_fatal_help "unrecognized option \`$opt'"	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   799
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   800
      *)		nonopt="$opt"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   801
			break
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   802
			;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   803
    esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   804
  done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   805
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   806
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   807
  case $host in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   808
    *cygwin* | *mingw* | *pw32* | *cegcc*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   809
      # don't eliminate duplications in $postdeps and $predeps
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   810
      opt_duplicate_compiler_generated_deps=:
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   811
      ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   812
    *)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   813
      opt_duplicate_compiler_generated_deps=$opt_duplicate_deps
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   814
      ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   815
  esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   816
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   817
  # Having warned about all mis-specified options, bail out if
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   818
  # anything was wrong.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   819
  $exit_cmd $EXIT_FAILURE
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   820
}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   821
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   822
# func_check_version_match
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   823
# Ensure that we are using m4 macros, and libtool script from the same
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   824
# release of libtool.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   825
func_check_version_match ()
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   826
{
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   827
  if test "$package_revision" != "$macro_revision"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   828
    if test "$VERSION" != "$macro_version"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   829
      if test -z "$macro_version"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   830
        cat >&2 <<_LT_EOF
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   831
$progname: Version mismatch error.  This is $PACKAGE $VERSION, but the
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   832
$progname: definition of this LT_INIT comes from an older release.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   833
$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   834
$progname: and run autoconf again.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   835
_LT_EOF
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   836
      else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   837
        cat >&2 <<_LT_EOF
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   838
$progname: Version mismatch error.  This is $PACKAGE $VERSION, but the
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   839
$progname: definition of this LT_INIT comes from $PACKAGE $macro_version.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   840
$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   841
$progname: and run autoconf again.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   842
_LT_EOF
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   843
      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   844
    else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   845
      cat >&2 <<_LT_EOF
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   846
$progname: Version mismatch error.  This is $PACKAGE $VERSION, revision $package_revision,
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   847
$progname: but the definition of this LT_INIT comes from revision $macro_revision.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   848
$progname: You should recreate aclocal.m4 with macros from revision $package_revision
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   849
$progname: of $PACKAGE $VERSION and run autoconf again.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   850
_LT_EOF
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   851
    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   852
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   853
    exit $EXIT_MISMATCH
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   854
  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   855
}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   856
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   857
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   858
## ----------- ##
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   859
##    Main.    ##
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   860
## ----------- ##
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   861
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   862
$opt_help || {
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   863
  # Sanity checks first:
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   864
  func_check_version_match
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   865
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   866
  if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   867
    func_fatal_configuration "not configured to build any kind of library"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   868
  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   869
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   870
  test -z "$mode" && func_fatal_error "error: you must specify a MODE."
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   871
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   872
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   873
  # Darwin sucks
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   874
  eval std_shrext=\"$shrext_cmds\"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   875
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   876
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   877
  # Only execute mode is allowed to have -dlopen flags.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   878
  if test -n "$execute_dlfiles" && test "$mode" != execute; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   879
    func_error "unrecognized option \`-dlopen'"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   880
    $ECHO "$help" 1>&2
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   881
    exit $EXIT_FAILURE
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   882
  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   883
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   884
  # Change the help message to a mode-specific one.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   885
  generic_help="$help"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   886
  help="Try \`$progname --help --mode=$mode' for more information."
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   887
}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   888
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   889
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   890
# func_lalib_p file
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   891
# True iff FILE is a libtool `.la' library or `.lo' object file.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   892
# This function is only a basic sanity check; it will hardly flush out
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   893
# determined imposters.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   894
func_lalib_p ()
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   895
{
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   896
    test -f "$1" &&
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   897
      $SED -e 4q "$1" 2>/dev/null \
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   898
        | $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   899
}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   900
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   901
# func_lalib_unsafe_p file
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   902
# True iff FILE is a libtool `.la' library or `.lo' object file.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   903
# This function implements the same check as func_lalib_p without
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   904
# resorting to external programs.  To this end, it redirects stdin and
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   905
# closes it afterwards, without saving the original file descriptor.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   906
# As a safety measure, use it only where a negative result would be
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   907
# fatal anyway.  Works if `file' does not exist.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   908
func_lalib_unsafe_p ()
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   909
{
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   910
    lalib_p=no
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   911
    if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   912
	for lalib_p_l in 1 2 3 4
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   913
	do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   914
	    read lalib_p_line
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   915
	    case "$lalib_p_line" in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   916
		\#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   917
	    esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   918
	done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   919
	exec 0<&5 5<&-
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   920
    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   921
    test "$lalib_p" = yes
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   922
}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   923
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   924
# func_ltwrapper_script_p file
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   925
# True iff FILE is a libtool wrapper script
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   926
# This function is only a basic sanity check; it will hardly flush out
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   927
# determined imposters.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   928
func_ltwrapper_script_p ()
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   929
{
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   930
    func_lalib_p "$1"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   931
}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   932
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   933
# func_ltwrapper_executable_p file
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   934
# True iff FILE is a libtool wrapper executable
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   935
# This function is only a basic sanity check; it will hardly flush out
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   936
# determined imposters.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   937
func_ltwrapper_executable_p ()
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   938
{
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   939
    func_ltwrapper_exec_suffix=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   940
    case $1 in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   941
    *.exe) ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   942
    *) func_ltwrapper_exec_suffix=.exe ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   943
    esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   944
    $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   945
}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   946
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   947
# func_ltwrapper_scriptname file
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   948
# Assumes file is an ltwrapper_executable
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   949
# uses $file to determine the appropriate filename for a
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   950
# temporary ltwrapper_script.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   951
func_ltwrapper_scriptname ()
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   952
{
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   953
    func_ltwrapper_scriptname_result=""
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   954
    if func_ltwrapper_executable_p "$1"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   955
	func_dirname_and_basename "$1" "" "."
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   956
	func_stripname '' '.exe' "$func_basename_result"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   957
	func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   958
    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   959
}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   960
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   961
# func_ltwrapper_p file
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   962
# True iff FILE is a libtool wrapper script or wrapper executable
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   963
# This function is only a basic sanity check; it will hardly flush out
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   964
# determined imposters.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   965
func_ltwrapper_p ()
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   966
{
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   967
    func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   968
}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   969
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   970
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   971
# func_execute_cmds commands fail_cmd
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   972
# Execute tilde-delimited COMMANDS.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   973
# If FAIL_CMD is given, eval that upon failure.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   974
# FAIL_CMD may read-access the current command in variable CMD!
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   975
func_execute_cmds ()
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   976
{
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   977
    $opt_debug
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   978
    save_ifs=$IFS; IFS='~'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   979
    for cmd in $1; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   980
      IFS=$save_ifs
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   981
      eval cmd=\"$cmd\"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   982
      func_show_eval "$cmd" "${2-:}"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   983
    done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   984
    IFS=$save_ifs
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   985
}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   986
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   987
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   988
# func_source file
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   989
# Source FILE, adding directory component if necessary.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   990
# Note that it is not necessary on cygwin/mingw to append a dot to
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   991
# FILE even if both FILE and FILE.exe exist: automatic-append-.exe
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   992
# behavior happens only for exec(3), not for open(2)!  Also, sourcing
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   993
# `FILE.' does not work on cygwin managed mounts.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   994
func_source ()
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   995
{
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   996
    $opt_debug
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   997
    case $1 in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   998
    */* | *\\*)	. "$1" ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   999
    *)		. "./$1" ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1000
    esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1001
}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1002
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1003
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1004
# func_infer_tag arg
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1005
# Infer tagged configuration to use if any are available and
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1006
# if one wasn't chosen via the "--tag" command line option.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1007
# Only attempt this if the compiler in the base compile
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1008
# command doesn't match the default compiler.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1009
# arg is usually of the form 'gcc ...'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1010
func_infer_tag ()
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1011
{
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1012
    $opt_debug
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1013
    if test -n "$available_tags" && test -z "$tagname"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1014
      CC_quoted=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1015
      for arg in $CC; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1016
        func_quote_for_eval "$arg"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1017
	CC_quoted="$CC_quoted $func_quote_for_eval_result"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1018
      done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1019
      case $@ in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1020
      # Blanks in the command may have been stripped by the calling shell,
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1021
      # but not from the CC environment variable when configure was run.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1022
      " $CC "* | "$CC "* | " `$ECHO $CC` "* | "`$ECHO $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$ECHO $CC_quoted` "* | "`$ECHO $CC_quoted` "*) ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1023
      # Blanks at the start of $base_compile will cause this to fail
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1024
      # if we don't check for them as well.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1025
      *)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1026
	for z in $available_tags; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1027
	  if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1028
	    # Evaluate the configuration.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1029
	    eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1030
	    CC_quoted=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1031
	    for arg in $CC; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1032
	      # Double-quote args containing other shell metacharacters.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1033
	      func_quote_for_eval "$arg"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1034
	      CC_quoted="$CC_quoted $func_quote_for_eval_result"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1035
	    done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1036
	    case "$@ " in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1037
	      " $CC "* | "$CC "* | " `$ECHO $CC` "* | "`$ECHO $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$ECHO $CC_quoted` "* | "`$ECHO $CC_quoted` "*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1038
	      # The compiler in the base compile command matches
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1039
	      # the one in the tagged configuration.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1040
	      # Assume this is the tagged configuration we want.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1041
	      tagname=$z
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1042
	      break
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1043
	      ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1044
	    esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1045
	  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1046
	done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1047
	# If $tagname still isn't set, then no tagged configuration
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1048
	# was found and let the user know that the "--tag" command
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1049
	# line option must be used.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1050
	if test -z "$tagname"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1051
	  func_echo "unable to infer tagged configuration"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1052
	  func_fatal_error "specify a tag with \`--tag'"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1053
#	else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1054
#	  func_verbose "using $tagname tagged configuration"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1055
	fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1056
	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1057
      esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1058
    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1059
}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1060
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1061
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1062
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1063
# func_write_libtool_object output_name pic_name nonpic_name
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1064
# Create a libtool object file (analogous to a ".la" file),
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1065
# but don't create it if we're doing a dry run.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1066
func_write_libtool_object ()
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1067
{
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1068
    write_libobj=${1}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1069
    if test "$build_libtool_libs" = yes; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1070
      write_lobj=\'${2}\'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1071
    else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1072
      write_lobj=none
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1073
    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1074
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1075
    if test "$build_old_libs" = yes; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1076
      write_oldobj=\'${3}\'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1077
    else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1078
      write_oldobj=none
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1079
    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1080
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1081
    $opt_dry_run || {
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1082
      cat >${write_libobj}T <<EOF
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1083
# $write_libobj - a libtool object file
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1084
# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1085
#
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1086
# Please DO NOT delete this file!
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1087
# It is necessary for linking the library.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1088
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1089
# Name of the PIC object.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1090
pic_object=$write_lobj
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1091
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1092
# Name of the non-PIC object
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1093
non_pic_object=$write_oldobj
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1094
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1095
EOF
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1096
      $MV "${write_libobj}T" "${write_libobj}"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1097
    }
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1098
}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1099
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1100
# func_mode_compile arg...
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1101
func_mode_compile ()
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1102
{
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1103
    $opt_debug
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1104
    # Get the compilation command and the source file.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1105
    base_compile=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1106
    srcfile="$nonopt"  #  always keep a non-empty value in "srcfile"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1107
    suppress_opt=yes
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1108
    suppress_output=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1109
    arg_mode=normal
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1110
    libobj=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1111
    later=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1112
    pie_flag=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1113
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1114
    for arg
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1115
    do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1116
      case $arg_mode in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1117
      arg  )
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1118
	# do not "continue".  Instead, add this to base_compile
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1119
	lastarg="$arg"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1120
	arg_mode=normal
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1121
	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1122
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1123
      target )
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1124
	libobj="$arg"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1125
	arg_mode=normal
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1126
	continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1127
	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1128
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1129
      normal )
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1130
	# Accept any command-line options.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1131
	case $arg in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1132
	-o)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1133
	  test -n "$libobj" && \
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1134
	    func_fatal_error "you cannot specify \`-o' more than once"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1135
	  arg_mode=target
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1136
	  continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1137
	  ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1138
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1139
	-pie | -fpie | -fPIE)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1140
          pie_flag="$pie_flag $arg"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1141
	  continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1142
	  ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1143
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1144
	-shared | -static | -prefer-pic | -prefer-non-pic)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1145
	  later="$later $arg"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1146
	  continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1147
	  ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1148
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1149
	-no-suppress)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1150
	  suppress_opt=no
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1151
	  continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1152
	  ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1153
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1154
	-Xcompiler)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1155
	  arg_mode=arg  #  the next one goes into the "base_compile" arg list
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1156
	  continue      #  The current "srcfile" will either be retained or
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1157
	  ;;            #  replaced later.  I would guess that would be a bug.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1158
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1159
	-Wc,*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1160
	  func_stripname '-Wc,' '' "$arg"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1161
	  args=$func_stripname_result
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1162
	  lastarg=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1163
	  save_ifs="$IFS"; IFS=','
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1164
	  for arg in $args; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1165
	    IFS="$save_ifs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1166
	    func_quote_for_eval "$arg"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1167
	    lastarg="$lastarg $func_quote_for_eval_result"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1168
	  done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1169
	  IFS="$save_ifs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1170
	  func_stripname ' ' '' "$lastarg"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1171
	  lastarg=$func_stripname_result
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1172
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1173
	  # Add the arguments to base_compile.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1174
	  base_compile="$base_compile $lastarg"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1175
	  continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1176
	  ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1177
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1178
	*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1179
	  # Accept the current argument as the source file.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1180
	  # The previous "srcfile" becomes the current argument.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1181
	  #
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1182
	  lastarg="$srcfile"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1183
	  srcfile="$arg"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1184
	  ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1185
	esac  #  case $arg
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1186
	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1187
      esac    #  case $arg_mode
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1188
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1189
      # Aesthetically quote the previous argument.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1190
      func_quote_for_eval "$lastarg"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1191
      base_compile="$base_compile $func_quote_for_eval_result"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1192
    done # for arg
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1193
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1194
    case $arg_mode in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1195
    arg)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1196
      func_fatal_error "you must specify an argument for -Xcompile"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1197
      ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1198
    target)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1199
      func_fatal_error "you must specify a target with \`-o'"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1200
      ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1201
    *)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1202
      # Get the name of the library object.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1203
      test -z "$libobj" && {
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1204
	func_basename "$srcfile"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1205
	libobj="$func_basename_result"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1206
      }
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1207
      ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1208
    esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1209
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1210
    # Recognize several different file suffixes.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1211
    # If the user specifies -o file.o, it is replaced with file.lo
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1212
    case $libobj in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1213
    *.[cCFSifmso] | \
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1214
    *.ada | *.adb | *.ads | *.asm | \
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1215
    *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1216
    *.[fF][09]? | *.for | *.java | *.obj | *.sx)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1217
      func_xform "$libobj"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1218
      libobj=$func_xform_result
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1219
      ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1220
    esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1221
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1222
    case $libobj in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1223
    *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1224
    *)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1225
      func_fatal_error "cannot determine name of library object from \`$libobj'"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1226
      ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1227
    esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1228
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1229
    func_infer_tag $base_compile
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1230
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1231
    for arg in $later; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1232
      case $arg in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1233
      -shared)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1234
	test "$build_libtool_libs" != yes && \
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1235
	  func_fatal_configuration "can not build a shared library"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1236
	build_old_libs=no
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1237
	continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1238
	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1239
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1240
      -static)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1241
	build_libtool_libs=no
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1242
	build_old_libs=yes
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1243
	continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1244
	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1245
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1246
      -prefer-pic)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1247
	pic_mode=yes
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1248
	continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1249
	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1250
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1251
      -prefer-non-pic)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1252
	pic_mode=no
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1253
	continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1254
	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1255
      esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1256
    done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1257
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1258
    func_quote_for_eval "$libobj"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1259
    test "X$libobj" != "X$func_quote_for_eval_result" \
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1260
      && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"'	 &()|`$[]' \
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1261
      && func_warning "libobj name \`$libobj' may not contain shell special characters."
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1262
    func_dirname_and_basename "$obj" "/" ""
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1263
    objname="$func_basename_result"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1264
    xdir="$func_dirname_result"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1265
    lobj=${xdir}$objdir/$objname
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1266
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1267
    test -z "$base_compile" && \
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1268
      func_fatal_help "you must specify a compilation command"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1269
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1270
    # Delete any leftover library objects.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1271
    if test "$build_old_libs" = yes; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1272
      removelist="$obj $lobj $libobj ${libobj}T"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1273
    else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1274
      removelist="$lobj $libobj ${libobj}T"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1275
    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1276
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1277
    # On Cygwin there's no "real" PIC flag so we must build both object types
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1278
    case $host_os in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1279
    cygwin* | mingw* | pw32* | os2* | cegcc*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1280
      pic_mode=default
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1281
      ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1282
    esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1283
    if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1284
      # non-PIC code in shared libraries is not supported
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1285
      pic_mode=default
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1286
    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1287
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1288
    # Calculate the filename of the output object if compiler does
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1289
    # not support -o with -c
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1290
    if test "$compiler_c_o" = no; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1291
      output_obj=`$ECHO "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1292
      lockfile="$output_obj.lock"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1293
    else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1294
      output_obj=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1295
      need_locks=no
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1296
      lockfile=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1297
    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1298
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1299
    # Lock this critical section if it is needed
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1300
    # We use this script file to make the link, it avoids creating a new file
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1301
    if test "$need_locks" = yes; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1302
      until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1303
	func_echo "Waiting for $lockfile to be removed"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1304
	sleep 2
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1305
      done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1306
    elif test "$need_locks" = warn; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1307
      if test -f "$lockfile"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1308
	$ECHO "\
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1309
*** ERROR, $lockfile exists and contains:
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1310
`cat $lockfile 2>/dev/null`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1311
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1312
This indicates that another process is trying to use the same
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1313
temporary object file, and libtool could not work around it because
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1314
your compiler does not support \`-c' and \`-o' together.  If you
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1315
repeat this compilation, it may succeed, by chance, but you had better
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1316
avoid parallel builds (make -j) in this platform, or get a better
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1317
compiler."
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1318
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1319
	$opt_dry_run || $RM $removelist
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1320
	exit $EXIT_FAILURE
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1321
      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1322
      removelist="$removelist $output_obj"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1323
      $ECHO "$srcfile" > "$lockfile"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1324
    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1325
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1326
    $opt_dry_run || $RM $removelist
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1327
    removelist="$removelist $lockfile"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1328
    trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1329
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1330
    if test -n "$fix_srcfile_path"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1331
      eval srcfile=\"$fix_srcfile_path\"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1332
    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1333
    func_quote_for_eval "$srcfile"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1334
    qsrcfile=$func_quote_for_eval_result
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1335
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1336
    # Only build a PIC object if we are building libtool libraries.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1337
    if test "$build_libtool_libs" = yes; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1338
      # Without this assignment, base_compile gets emptied.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1339
      fbsd_hideous_sh_bug=$base_compile
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1340
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1341
      if test "$pic_mode" != no; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1342
	command="$base_compile $qsrcfile $pic_flag"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1343
      else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1344
	# Don't build PIC code
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1345
	command="$base_compile $qsrcfile"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1346
      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1347
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1348
      func_mkdir_p "$xdir$objdir"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1349
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1350
      if test -z "$output_obj"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1351
	# Place PIC objects in $objdir
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1352
	command="$command -o $lobj"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1353
      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1354
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1355
      func_show_eval_locale "$command"	\
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1356
          'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1357
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1358
      if test "$need_locks" = warn &&
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1359
	 test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1360
	$ECHO "\
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1361
*** ERROR, $lockfile contains:
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1362
`cat $lockfile 2>/dev/null`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1363
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1364
but it should contain:
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1365
$srcfile
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1366
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1367
This indicates that another process is trying to use the same
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1368
temporary object file, and libtool could not work around it because
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1369
your compiler does not support \`-c' and \`-o' together.  If you
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1370
repeat this compilation, it may succeed, by chance, but you had better
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1371
avoid parallel builds (make -j) in this platform, or get a better
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1372
compiler."
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1373
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1374
	$opt_dry_run || $RM $removelist
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1375
	exit $EXIT_FAILURE
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1376
      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1377
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1378
      # Just move the object if needed, then go on to compile the next one
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1379
      if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1380
	func_show_eval '$MV "$output_obj" "$lobj"' \
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1381
	  'error=$?; $opt_dry_run || $RM $removelist; exit $error'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1382
      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1383
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1384
      # Allow error messages only from the first compilation.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1385
      if test "$suppress_opt" = yes; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1386
	suppress_output=' >/dev/null 2>&1'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1387
      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1388
    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1389
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1390
    # Only build a position-dependent object if we build old libraries.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1391
    if test "$build_old_libs" = yes; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1392
      if test "$pic_mode" != yes; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1393
	# Don't build PIC code
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1394
	command="$base_compile $qsrcfile$pie_flag"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1395
      else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1396
	command="$base_compile $qsrcfile $pic_flag"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1397
      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1398
      if test "$compiler_c_o" = yes; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1399
	command="$command -o $obj"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1400
      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1401
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1402
      # Suppress compiler output if we already did a PIC compilation.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1403
      command="$command$suppress_output"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1404
      func_show_eval_locale "$command" \
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1405
        '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1406
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1407
      if test "$need_locks" = warn &&
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1408
	 test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1409
	$ECHO "\
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1410
*** ERROR, $lockfile contains:
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1411
`cat $lockfile 2>/dev/null`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1412
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1413
but it should contain:
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1414
$srcfile
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1415
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1416
This indicates that another process is trying to use the same
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1417
temporary object file, and libtool could not work around it because
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1418
your compiler does not support \`-c' and \`-o' together.  If you
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1419
repeat this compilation, it may succeed, by chance, but you had better
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1420
avoid parallel builds (make -j) in this platform, or get a better
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1421
compiler."
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1422
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1423
	$opt_dry_run || $RM $removelist
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1424
	exit $EXIT_FAILURE
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1425
      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1426
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1427
      # Just move the object if needed
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1428
      if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1429
	func_show_eval '$MV "$output_obj" "$obj"' \
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1430
	  'error=$?; $opt_dry_run || $RM $removelist; exit $error'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1431
      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1432
    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1433
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1434
    $opt_dry_run || {
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1435
      func_write_libtool_object "$libobj" "$objdir/$objname" "$objname"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1436
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1437
      # Unlock the critical section if it was locked
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1438
      if test "$need_locks" != no; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1439
	removelist=$lockfile
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1440
        $RM "$lockfile"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1441
      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1442
    }
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1443
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1444
    exit $EXIT_SUCCESS
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1445
}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1446
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1447
$opt_help || {
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1448
test "$mode" = compile && func_mode_compile ${1+"$@"}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1449
}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1450
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1451
func_mode_help ()
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1452
{
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1453
    # We need to display help for each of the modes.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1454
    case $mode in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1455
      "")
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1456
        # Generic help is extracted from the usage comments
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1457
        # at the start of this file.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1458
        func_help
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1459
        ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1460
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1461
      clean)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1462
        $ECHO \
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1463
"Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE...
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1464
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1465
Remove files from the build directory.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1466
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1467
RM is the name of the program to use to delete files associated with each FILE
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1468
(typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1469
to RM.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1470
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1471
If FILE is a libtool library, object or program, all the files associated
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1472
with it are deleted. Otherwise, only FILE itself is deleted using RM."
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1473
        ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1474
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1475
      compile)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1476
      $ECHO \
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1477
"Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1478
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1479
Compile a source file into a libtool library object.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1480
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1481
This mode accepts the following additional options:
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1482
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1483
  -o OUTPUT-FILE    set the output file name to OUTPUT-FILE
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1484
  -no-suppress      do not suppress compiler output for multiple passes
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1485
  -prefer-pic       try to building PIC objects only
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1486
  -prefer-non-pic   try to building non-PIC objects only
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1487
  -shared           do not build a \`.o' file suitable for static linking
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1488
  -static           only build a \`.o' file suitable for static linking
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1489
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1490
COMPILE-COMMAND is a command to be used in creating a \`standard' object file
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1491
from the given SOURCEFILE.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1492
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1493
The output file name is determined by removing the directory component from
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1494
SOURCEFILE, then substituting the C source code suffix \`.c' with the
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1495
library object suffix, \`.lo'."
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1496
        ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1497
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1498
      execute)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1499
        $ECHO \
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1500
"Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]...
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1501
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1502
Automatically set library path, then run a program.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1503
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1504
This mode accepts the following additional options:
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1505
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1506
  -dlopen FILE      add the directory containing FILE to the library path
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1507
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1508
This mode sets the library path environment variable according to \`-dlopen'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1509
flags.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1510
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1511
If any of the ARGS are libtool executable wrappers, then they are translated
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1512
into their corresponding uninstalled binary, and any of their required library
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1513
directories are added to the library path.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1514
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1515
Then, COMMAND is executed, with ARGS as arguments."
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1516
        ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1517
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1518
      finish)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1519
        $ECHO \
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1520
"Usage: $progname [OPTION]... --mode=finish [LIBDIR]...
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1521
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1522
Complete the installation of libtool libraries.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1523
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1524
Each LIBDIR is a directory that contains libtool libraries.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1525
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1526
The commands that this mode executes may require superuser privileges.  Use
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1527
the \`--dry-run' option if you just want to see what would be executed."
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1528
        ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1529
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1530
      install)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1531
        $ECHO \
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1532
"Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND...
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1533
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1534
Install executables or libraries.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1535
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1536
INSTALL-COMMAND is the installation command.  The first component should be
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1537
either the \`install' or \`cp' program.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1538
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1539
The following components of INSTALL-COMMAND are treated specially:
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1540
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1541
  -inst-prefix PREFIX-DIR  Use PREFIX-DIR as a staging area for installation
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1542
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1543
The rest of the components are interpreted as arguments to that command (only
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1544
BSD-compatible install options are recognized)."
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1545
        ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1546
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1547
      link)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1548
        $ECHO \
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1549
"Usage: $progname [OPTION]... --mode=link LINK-COMMAND...
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1550
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1551
Link object files or libraries together to form another library, or to
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1552
create an executable program.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1553
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1554
LINK-COMMAND is a command using the C compiler that you would use to create
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1555
a program from several object files.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1556
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1557
The following components of LINK-COMMAND are treated specially:
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1558
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1559
  -all-static       do not do any dynamic linking at all
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1560
  -avoid-version    do not add a version suffix if possible
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1561
  -dlopen FILE      \`-dlpreopen' FILE if it cannot be dlopened at runtime
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1562
  -dlpreopen FILE   link in FILE and add its symbols to lt_preloaded_symbols
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1563
  -export-dynamic   allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1564
  -export-symbols SYMFILE
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1565
                    try to export only the symbols listed in SYMFILE
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1566
  -export-symbols-regex REGEX
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1567
                    try to export only the symbols matching REGEX
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1568
  -LLIBDIR          search LIBDIR for required installed libraries
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1569
  -lNAME            OUTPUT-FILE requires the installed library libNAME
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1570
  -module           build a library that can dlopened
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1571
  -no-fast-install  disable the fast-install mode
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1572
  -no-install       link a not-installable executable
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1573
  -no-undefined     declare that a library does not refer to external symbols
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1574
  -o OUTPUT-FILE    create OUTPUT-FILE from the specified objects
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1575
  -objectlist FILE  Use a list of object files found in FILE to specify objects
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1576
  -precious-files-regex REGEX
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1577
                    don't remove output files matching REGEX
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1578
  -release RELEASE  specify package release information
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1579
  -rpath LIBDIR     the created library will eventually be installed in LIBDIR
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1580
  -R[ ]LIBDIR       add LIBDIR to the runtime path of programs and libraries
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1581
  -shared           only do dynamic linking of libtool libraries
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1582
  -shrext SUFFIX    override the standard shared library file extension
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1583
  -static           do not do any dynamic linking of uninstalled libtool libraries
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1584
  -static-libtool-libs
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1585
                    do not do any dynamic linking of libtool libraries
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1586
  -version-info CURRENT[:REVISION[:AGE]]
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1587
                    specify library version info [each variable defaults to 0]
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1588
  -weak LIBNAME     declare that the target provides the LIBNAME interface
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1589
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1590
All other options (arguments beginning with \`-') are ignored.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1591
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1592
Every other argument is treated as a filename.  Files ending in \`.la' are
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1593
treated as uninstalled libtool libraries, other files are standard or library
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1594
object files.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1595
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1596
If the OUTPUT-FILE ends in \`.la', then a libtool library is created,
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1597
only library objects (\`.lo' files) may be specified, and \`-rpath' is
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1598
required, except when creating a convenience library.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1599
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1600
If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1601
using \`ar' and \`ranlib', or on Windows using \`lib'.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1602
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1603
If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1604
is created, otherwise an executable program is created."
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1605
        ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1606
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1607
      uninstall)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1608
        $ECHO \
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1609
"Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1610
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1611
Remove libraries from an installation directory.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1612
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1613
RM is the name of the program to use to delete files associated with each FILE
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1614
(typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1615
to RM.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1616
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1617
If FILE is a libtool library, all the files associated with it are deleted.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1618
Otherwise, only FILE itself is deleted using RM."
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1619
        ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1620
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1621
      *)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1622
        func_fatal_help "invalid operation mode \`$mode'"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1623
        ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1624
    esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1625
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1626
    $ECHO
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1627
    $ECHO "Try \`$progname --help' for more information about other modes."
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1628
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1629
    exit $?
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1630
}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1631
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1632
  # Now that we've collected a possible --mode arg, show help if necessary
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1633
  $opt_help && func_mode_help
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1634
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1635
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1636
# func_mode_execute arg...
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1637
func_mode_execute ()
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1638
{
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1639
    $opt_debug
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1640
    # The first argument is the command name.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1641
    cmd="$nonopt"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1642
    test -z "$cmd" && \
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1643
      func_fatal_help "you must specify a COMMAND"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1644
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1645
    # Handle -dlopen flags immediately.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1646
    for file in $execute_dlfiles; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1647
      test -f "$file" \
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1648
	|| func_fatal_help "\`$file' is not a file"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1649
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1650
      dir=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1651
      case $file in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1652
      *.la)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1653
	# Check to see that this really is a libtool archive.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1654
	func_lalib_unsafe_p "$file" \
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1655
	  || func_fatal_help "\`$lib' is not a valid libtool archive"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1656
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1657
	# Read the libtool library.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1658
	dlname=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1659
	library_names=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1660
	func_source "$file"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1661
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1662
	# Skip this library if it cannot be dlopened.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1663
	if test -z "$dlname"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1664
	  # Warn if it was a shared library.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1665
	  test -n "$library_names" && \
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1666
	    func_warning "\`$file' was not linked with \`-export-dynamic'"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1667
	  continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1668
	fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1669
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1670
	func_dirname "$file" "" "."
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1671
	dir="$func_dirname_result"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1672
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1673
	if test -f "$dir/$objdir/$dlname"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1674
	  dir="$dir/$objdir"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1675
	else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1676
	  if test ! -f "$dir/$dlname"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1677
	    func_fatal_error "cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1678
	  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1679
	fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1680
	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1681
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1682
      *.lo)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1683
	# Just add the directory containing the .lo file.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1684
	func_dirname "$file" "" "."
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1685
	dir="$func_dirname_result"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1686
	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1687
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1688
      *)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1689
	func_warning "\`-dlopen' is ignored for non-libtool libraries and objects"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1690
	continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1691
	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1692
      esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1693
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1694
      # Get the absolute pathname.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1695
      absdir=`cd "$dir" && pwd`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1696
      test -n "$absdir" && dir="$absdir"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1697
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1698
      # Now add the directory to shlibpath_var.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1699
      if eval "test -z \"\$$shlibpath_var\""; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1700
	eval "$shlibpath_var=\"\$dir\""
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1701
      else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1702
	eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1703
      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1704
    done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1705
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1706
    # This variable tells wrapper scripts just to set shlibpath_var
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1707
    # rather than running their programs.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1708
    libtool_execute_magic="$magic"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1709
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1710
    # Check if any of the arguments is a wrapper script.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1711
    args=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1712
    for file
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1713
    do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1714
      case $file in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1715
      -*) ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1716
      *)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1717
	# Do a test to see if this is really a libtool program.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1718
	if func_ltwrapper_script_p "$file"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1719
	  func_source "$file"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1720
	  # Transform arg to wrapped name.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1721
	  file="$progdir/$program"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1722
	elif func_ltwrapper_executable_p "$file"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1723
	  func_ltwrapper_scriptname "$file"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1724
	  func_source "$func_ltwrapper_scriptname_result"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1725
	  # Transform arg to wrapped name.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1726
	  file="$progdir/$program"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1727
	fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1728
	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1729
      esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1730
      # Quote arguments (to preserve shell metacharacters).
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1731
      func_quote_for_eval "$file"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1732
      args="$args $func_quote_for_eval_result"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1733
    done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1734
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1735
    if test "X$opt_dry_run" = Xfalse; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1736
      if test -n "$shlibpath_var"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1737
	# Export the shlibpath_var.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1738
	eval "export $shlibpath_var"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1739
      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1740
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1741
      # Restore saved environment variables
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1742
      for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1743
      do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1744
	eval "if test \"\${save_$lt_var+set}\" = set; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1745
                $lt_var=\$save_$lt_var; export $lt_var
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1746
	      else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1747
		$lt_unset $lt_var
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1748
	      fi"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1749
      done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1750
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1751
      # Now prepare to actually exec the command.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1752
      exec_cmd="\$cmd$args"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1753
    else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1754
      # Display what would be done.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1755
      if test -n "$shlibpath_var"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1756
	eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\""
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1757
	$ECHO "export $shlibpath_var"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1758
      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1759
      $ECHO "$cmd$args"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1760
      exit $EXIT_SUCCESS
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1761
    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1762
}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1763
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1764
test "$mode" = execute && func_mode_execute ${1+"$@"}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1765
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1766
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1767
# func_mode_finish arg...
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1768
func_mode_finish ()
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1769
{
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1770
    $opt_debug
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1771
    libdirs="$nonopt"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1772
    admincmds=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1773
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1774
    if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1775
      for dir
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1776
      do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1777
	libdirs="$libdirs $dir"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1778
      done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1779
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1780
      for libdir in $libdirs; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1781
	if test -n "$finish_cmds"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1782
	  # Do each command in the finish commands.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1783
	  func_execute_cmds "$finish_cmds" 'admincmds="$admincmds
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1784
'"$cmd"'"'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1785
	fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1786
	if test -n "$finish_eval"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1787
	  # Do the single finish_eval.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1788
	  eval cmds=\"$finish_eval\"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1789
	  $opt_dry_run || eval "$cmds" || admincmds="$admincmds
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1790
       $cmds"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1791
	fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1792
      done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1793
    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1794
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1795
    # Exit here if they wanted silent mode.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1796
    $opt_silent && exit $EXIT_SUCCESS
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1797
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1798
    $ECHO "X----------------------------------------------------------------------" | $Xsed
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1799
    $ECHO "Libraries have been installed in:"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1800
    for libdir in $libdirs; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1801
      $ECHO "   $libdir"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1802
    done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1803
    $ECHO
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1804
    $ECHO "If you ever happen to want to link against installed libraries"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1805
    $ECHO "in a given directory, LIBDIR, you must either use libtool, and"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1806
    $ECHO "specify the full pathname of the library, or use the \`-LLIBDIR'"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1807
    $ECHO "flag during linking and do at least one of the following:"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1808
    if test -n "$shlibpath_var"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1809
      $ECHO "   - add LIBDIR to the \`$shlibpath_var' environment variable"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1810
      $ECHO "     during execution"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1811
    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1812
    if test -n "$runpath_var"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1813
      $ECHO "   - add LIBDIR to the \`$runpath_var' environment variable"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1814
      $ECHO "     during linking"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1815
    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1816
    if test -n "$hardcode_libdir_flag_spec"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1817
      libdir=LIBDIR
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1818
      eval flag=\"$hardcode_libdir_flag_spec\"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1819
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1820
      $ECHO "   - use the \`$flag' linker flag"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1821
    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1822
    if test -n "$admincmds"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1823
      $ECHO "   - have your system administrator run these commands:$admincmds"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1824
    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1825
    if test -f /etc/ld.so.conf; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1826
      $ECHO "   - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1827
    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1828
    $ECHO
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1829
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1830
    $ECHO "See any operating system documentation about shared libraries for"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1831
    case $host in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1832
      solaris2.[6789]|solaris2.1[0-9])
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1833
        $ECHO "more information, such as the ld(1), crle(1) and ld.so(8) manual"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1834
	$ECHO "pages."
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1835
	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1836
      *)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1837
        $ECHO "more information, such as the ld(1) and ld.so(8) manual pages."
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1838
        ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1839
    esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1840
    $ECHO "X----------------------------------------------------------------------" | $Xsed
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1841
    exit $EXIT_SUCCESS
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1842
}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1843
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1844
test "$mode" = finish && func_mode_finish ${1+"$@"}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1845
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1846
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1847
# func_mode_install arg...
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1848
func_mode_install ()
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1849
{
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1850
    $opt_debug
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1851
    # There may be an optional sh(1) argument at the beginning of
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1852
    # install_prog (especially on Windows NT).
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1853
    if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh ||
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1854
       # Allow the use of GNU shtool's install command.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1855
       $ECHO "X$nonopt" | $GREP shtool >/dev/null; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1856
      # Aesthetically quote it.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1857
      func_quote_for_eval "$nonopt"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1858
      install_prog="$func_quote_for_eval_result "
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1859
      arg=$1
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1860
      shift
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1861
    else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1862
      install_prog=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1863
      arg=$nonopt
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1864
    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1865
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1866
    # The real first argument should be the name of the installation program.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1867
    # Aesthetically quote it.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1868
    func_quote_for_eval "$arg"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1869
    install_prog="$install_prog$func_quote_for_eval_result"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1870
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1871
    # We need to accept at least all the BSD install flags.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1872
    dest=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1873
    files=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1874
    opts=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1875
    prev=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1876
    install_type=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1877
    isdir=no
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1878
    stripme=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1879
    for arg
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1880
    do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1881
      if test -n "$dest"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1882
	files="$files $dest"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1883
	dest=$arg
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1884
	continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1885
      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1886
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1887
      case $arg in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1888
      -d) isdir=yes ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1889
      -f)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1890
	case " $install_prog " in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1891
	*[\\\ /]cp\ *) ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1892
	*) prev=$arg ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1893
	esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1894
	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1895
      -g | -m | -o)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1896
	prev=$arg
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1897
	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1898
      -s)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1899
	stripme=" -s"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1900
	continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1901
	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1902
      -*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1903
	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1904
      *)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1905
	# If the previous option needed an argument, then skip it.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1906
	if test -n "$prev"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1907
	  prev=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1908
	else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1909
	  dest=$arg
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1910
	  continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1911
	fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1912
	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1913
      esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1914
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1915
      # Aesthetically quote the argument.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1916
      func_quote_for_eval "$arg"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1917
      install_prog="$install_prog $func_quote_for_eval_result"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1918
    done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1919
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1920
    test -z "$install_prog" && \
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1921
      func_fatal_help "you must specify an install program"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1922
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1923
    test -n "$prev" && \
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1924
      func_fatal_help "the \`$prev' option requires an argument"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1925
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1926
    if test -z "$files"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1927
      if test -z "$dest"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1928
	func_fatal_help "no file or destination specified"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1929
      else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1930
	func_fatal_help "you must specify a destination"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1931
      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1932
    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1933
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1934
    # Strip any trailing slash from the destination.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1935
    func_stripname '' '/' "$dest"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1936
    dest=$func_stripname_result
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1937
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1938
    # Check to see that the destination is a directory.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1939
    test -d "$dest" && isdir=yes
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1940
    if test "$isdir" = yes; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1941
      destdir="$dest"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1942
      destname=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1943
    else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1944
      func_dirname_and_basename "$dest" "" "."
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1945
      destdir="$func_dirname_result"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1946
      destname="$func_basename_result"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1947
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1948
      # Not a directory, so check to see that there is only one file specified.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1949
      set dummy $files; shift
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1950
      test "$#" -gt 1 && \
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1951
	func_fatal_help "\`$dest' is not a directory"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1952
    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1953
    case $destdir in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1954
    [\\/]* | [A-Za-z]:[\\/]*) ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1955
    *)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1956
      for file in $files; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1957
	case $file in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1958
	*.lo) ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1959
	*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1960
	  func_fatal_help "\`$destdir' must be an absolute directory name"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1961
	  ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1962
	esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1963
      done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1964
      ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1965
    esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1966
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1967
    # This variable tells wrapper scripts just to set variables rather
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1968
    # than running their programs.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1969
    libtool_install_magic="$magic"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1970
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1971
    staticlibs=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1972
    future_libdirs=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1973
    current_libdirs=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1974
    for file in $files; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1975
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1976
      # Do each installation.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1977
      case $file in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1978
      *.$libext)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1979
	# Do the static libraries later.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1980
	staticlibs="$staticlibs $file"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1981
	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1982
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1983
      *.la)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1984
	# Check to see that this really is a libtool archive.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1985
	func_lalib_unsafe_p "$file" \
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1986
	  || func_fatal_help "\`$file' is not a valid libtool archive"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1987
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1988
	library_names=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1989
	old_library=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1990
	relink_command=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1991
	func_source "$file"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1992
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1993
	# Add the libdir to current_libdirs if it is the destination.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1994
	if test "X$destdir" = "X$libdir"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1995
	  case "$current_libdirs " in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1996
	  *" $libdir "*) ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1997
	  *) current_libdirs="$current_libdirs $libdir" ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1998
	  esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1999
	else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2000
	  # Note the libdir as a future libdir.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2001
	  case "$future_libdirs " in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2002
	  *" $libdir "*) ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2003
	  *) future_libdirs="$future_libdirs $libdir" ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2004
	  esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2005
	fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2006
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2007
	func_dirname "$file" "/" ""
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2008
	dir="$func_dirname_result"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2009
	dir="$dir$objdir"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2010
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2011
	if test -n "$relink_command"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2012
	  # Determine the prefix the user has applied to our future dir.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2013
	  inst_prefix_dir=`$ECHO "X$destdir" | $Xsed -e "s%$libdir\$%%"`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2014
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2015
	  # Don't allow the user to place us outside of our expected
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2016
	  # location b/c this prevents finding dependent libraries that
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2017
	  # are installed to the same prefix.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2018
	  # At present, this check doesn't affect windows .dll's that
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2019
	  # are installed into $libdir/../bin (currently, that works fine)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2020
	  # but it's something to keep an eye on.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2021
	  test "$inst_prefix_dir" = "$destdir" && \
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2022
	    func_fatal_error "error: cannot install \`$file' to a directory not ending in $libdir"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2023
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2024
	  if test -n "$inst_prefix_dir"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2025
	    # Stick the inst_prefix_dir data into the link command.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2026
	    relink_command=`$ECHO "X$relink_command" | $Xsed -e "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2027
	  else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2028
	    relink_command=`$ECHO "X$relink_command" | $Xsed -e "s%@inst_prefix_dir@%%"`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2029
	  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2030
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2031
	  func_warning "relinking \`$file'"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2032
	  func_show_eval "$relink_command" \
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2033
	    'func_fatal_error "error: relink \`$file'\'' with the above command before installing it"'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2034
	fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2035
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2036
	# See the names of the shared library.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2037
	set dummy $library_names; shift
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2038
	if test -n "$1"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2039
	  realname="$1"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2040
	  shift
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2041
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2042
	  srcname="$realname"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2043
	  test -n "$relink_command" && srcname="$realname"T
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2044
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2045
	  # Install the shared library and build the symlinks.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2046
	  func_show_eval "$install_prog $dir/$srcname $destdir/$realname" \
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2047
	      'exit $?'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2048
	  tstripme="$stripme"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2049
	  case $host_os in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2050
	  cygwin* | mingw* | pw32* | cegcc*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2051
	    case $realname in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2052
	    *.dll.a)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2053
	      tstripme=""
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2054
	      ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2055
	    esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2056
	    ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2057
	  esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2058
	  if test -n "$tstripme" && test -n "$striplib"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2059
	    func_show_eval "$striplib $destdir/$realname" 'exit $?'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2060
	  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2061
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2062
	  if test "$#" -gt 0; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2063
	    # Delete the old symlinks, and create new ones.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2064
	    # Try `ln -sf' first, because the `ln' binary might depend on
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2065
	    # the symlink we replace!  Solaris /bin/ln does not understand -f,
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2066
	    # so we also need to try rm && ln -s.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2067
	    for linkname
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2068
	    do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2069
	      test "$linkname" != "$realname" \
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2070
		&& func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2071
	    done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2072
	  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2073
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2074
	  # Do each command in the postinstall commands.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2075
	  lib="$destdir/$realname"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2076
	  func_execute_cmds "$postinstall_cmds" 'exit $?'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2077
	fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2078
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2079
	# Install the pseudo-library for information purposes.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2080
	func_basename "$file"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2081
	name="$func_basename_result"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2082
	instname="$dir/$name"i
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2083
	func_show_eval "$install_prog $instname $destdir/$name" 'exit $?'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2084
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2085
	# Maybe install the static library, too.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2086
	test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2087
	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2088
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2089
      *.lo)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2090
	# Install (i.e. copy) a libtool object.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2091
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2092
	# Figure out destination file name, if it wasn't already specified.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2093
	if test -n "$destname"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2094
	  destfile="$destdir/$destname"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2095
	else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2096
	  func_basename "$file"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2097
	  destfile="$func_basename_result"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2098
	  destfile="$destdir/$destfile"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2099
	fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2100
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2101
	# Deduce the name of the destination old-style object file.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2102
	case $destfile in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2103
	*.lo)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2104
	  func_lo2o "$destfile"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2105
	  staticdest=$func_lo2o_result
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2106
	  ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2107
	*.$objext)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2108
	  staticdest="$destfile"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2109
	  destfile=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2110
	  ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2111
	*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2112
	  func_fatal_help "cannot copy a libtool object to \`$destfile'"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2113
	  ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2114
	esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2115
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2116
	# Install the libtool object if requested.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2117
	test -n "$destfile" && \
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2118
	  func_show_eval "$install_prog $file $destfile" 'exit $?'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2119
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2120
	# Install the old object if enabled.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2121
	if test "$build_old_libs" = yes; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2122
	  # Deduce the name of the old-style object file.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2123
	  func_lo2o "$file"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2124
	  staticobj=$func_lo2o_result
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2125
	  func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2126
	fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2127
	exit $EXIT_SUCCESS
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2128
	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2129
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2130
      *)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2131
	# Figure out destination file name, if it wasn't already specified.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2132
	if test -n "$destname"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2133
	  destfile="$destdir/$destname"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2134
	else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2135
	  func_basename "$file"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2136
	  destfile="$func_basename_result"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2137
	  destfile="$destdir/$destfile"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2138
	fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2139
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2140
	# If the file is missing, and there is a .exe on the end, strip it
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2141
	# because it is most likely a libtool script we actually want to
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2142
	# install
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2143
	stripped_ext=""
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2144
	case $file in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2145
	  *.exe)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2146
	    if test ! -f "$file"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2147
	      func_stripname '' '.exe' "$file"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2148
	      file=$func_stripname_result
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2149
	      stripped_ext=".exe"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2150
	    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2151
	    ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2152
	esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2153
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2154
	# Do a test to see if this is really a libtool program.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2155
	case $host in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2156
	*cygwin* | *mingw*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2157
	    if func_ltwrapper_executable_p "$file"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2158
	      func_ltwrapper_scriptname "$file"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2159
	      wrapper=$func_ltwrapper_scriptname_result
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2160
	    else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2161
	      func_stripname '' '.exe' "$file"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2162
	      wrapper=$func_stripname_result
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2163
	    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2164
	    ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2165
	*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2166
	    wrapper=$file
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2167
	    ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2168
	esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2169
	if func_ltwrapper_script_p "$wrapper"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2170
	  notinst_deplibs=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2171
	  relink_command=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2172
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2173
	  func_source "$wrapper"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2174
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2175
	  # Check the variables that should have been set.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2176
	  test -z "$generated_by_libtool_version" && \
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2177
	    func_fatal_error "invalid libtool wrapper script \`$wrapper'"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2178
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2179
	  finalize=yes
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2180
	  for lib in $notinst_deplibs; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2181
	    # Check to see that each library is installed.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2182
	    libdir=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2183
	    if test -f "$lib"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2184
	      func_source "$lib"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2185
	    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2186
	    libfile="$libdir/"`$ECHO "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2187
	    if test -n "$libdir" && test ! -f "$libfile"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2188
	      func_warning "\`$lib' has not been installed in \`$libdir'"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2189
	      finalize=no
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2190
	    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2191
	  done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2192
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2193
	  relink_command=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2194
	  func_source "$wrapper"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2195
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2196
	  outputname=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2197
	  if test "$fast_install" = no && test -n "$relink_command"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2198
	    $opt_dry_run || {
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2199
	      if test "$finalize" = yes; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2200
	        tmpdir=`func_mktempdir`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2201
		func_basename "$file$stripped_ext"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2202
		file="$func_basename_result"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2203
	        outputname="$tmpdir/$file"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2204
	        # Replace the output file specification.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2205
	        relink_command=`$ECHO "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2206
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2207
	        $opt_silent || {
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2208
	          func_quote_for_expand "$relink_command"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2209
		  eval "func_echo $func_quote_for_expand_result"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2210
	        }
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2211
	        if eval "$relink_command"; then :
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2212
	          else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2213
		  func_error "error: relink \`$file' with the above command before installing it"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2214
		  $opt_dry_run || ${RM}r "$tmpdir"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2215
		  continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2216
	        fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2217
	        file="$outputname"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2218
	      else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2219
	        func_warning "cannot relink \`$file'"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2220
	      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2221
	    }
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2222
	  else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2223
	    # Install the binary that we compiled earlier.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2224
	    file=`$ECHO "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2225
	  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2226
	fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2227
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2228
	# remove .exe since cygwin /usr/bin/install will append another
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2229
	# one anyway
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2230
	case $install_prog,$host in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2231
	*/usr/bin/install*,*cygwin*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2232
	  case $file:$destfile in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2233
	  *.exe:*.exe)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2234
	    # this is ok
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2235
	    ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2236
	  *.exe:*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2237
	    destfile=$destfile.exe
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2238
	    ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2239
	  *:*.exe)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2240
	    func_stripname '' '.exe' "$destfile"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2241
	    destfile=$func_stripname_result
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2242
	    ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2243
	  esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2244
	  ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2245
	esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2246
	func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2247
	$opt_dry_run || if test -n "$outputname"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2248
	  ${RM}r "$tmpdir"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2249
	fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2250
	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2251
      esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2252
    done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2253
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2254
    for file in $staticlibs; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2255
      func_basename "$file"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2256
      name="$func_basename_result"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2257
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2258
      # Set up the ranlib parameters.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2259
      oldlib="$destdir/$name"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2260
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2261
      func_show_eval "$install_prog \$file \$oldlib" 'exit $?'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2262
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2263
      if test -n "$stripme" && test -n "$old_striplib"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2264
	func_show_eval "$old_striplib $oldlib" 'exit $?'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2265
      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2266
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2267
      # Do each command in the postinstall commands.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2268
      func_execute_cmds "$old_postinstall_cmds" 'exit $?'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2269
    done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2270
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2271
    test -n "$future_libdirs" && \
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2272
      func_warning "remember to run \`$progname --finish$future_libdirs'"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2273
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2274
    if test -n "$current_libdirs"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2275
      # Maybe just do a dry run.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2276
      $opt_dry_run && current_libdirs=" -n$current_libdirs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2277
      exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2278
    else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2279
      exit $EXIT_SUCCESS
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2280
    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2281
}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2282
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2283
test "$mode" = install && func_mode_install ${1+"$@"}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2284
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2285
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2286
# func_generate_dlsyms outputname originator pic_p
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2287
# Extract symbols from dlprefiles and create ${outputname}S.o with
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2288
# a dlpreopen symbol table.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2289
func_generate_dlsyms ()
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2290
{
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2291
    $opt_debug
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2292
    my_outputname="$1"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2293
    my_originator="$2"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2294
    my_pic_p="${3-no}"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2295
    my_prefix=`$ECHO "$my_originator" | sed 's%[^a-zA-Z0-9]%_%g'`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2296
    my_dlsyms=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2297
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2298
    if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2299
      if test -n "$NM" && test -n "$global_symbol_pipe"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2300
	my_dlsyms="${my_outputname}S.c"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2301
      else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2302
	func_error "not configured to extract global symbols from dlpreopened files"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2303
      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2304
    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2305
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2306
    if test -n "$my_dlsyms"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2307
      case $my_dlsyms in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2308
      "") ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2309
      *.c)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2310
	# Discover the nlist of each of the dlfiles.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2311
	nlist="$output_objdir/${my_outputname}.nm"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2312
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2313
	func_show_eval "$RM $nlist ${nlist}S ${nlist}T"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2314
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2315
	# Parse the name list into a source file.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2316
	func_verbose "creating $output_objdir/$my_dlsyms"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2317
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2318
	$opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2319
/* $my_dlsyms - symbol resolution table for \`$my_outputname' dlsym emulation. */
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2320
/* Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION */
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2321
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2322
#ifdef __cplusplus
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2323
extern \"C\" {
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2324
#endif
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2325
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2326
/* External symbol declarations for the compiler. */\
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2327
"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2328
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2329
	if test "$dlself" = yes; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2330
	  func_verbose "generating symbol list for \`$output'"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2331
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2332
	  $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2333
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2334
	  # Add our own program objects to the symbol list.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2335
	  progfiles=`$ECHO "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2336
	  for progfile in $progfiles; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2337
	    func_verbose "extracting global C symbols from \`$progfile'"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2338
	    $opt_dry_run || eval "$NM $progfile | $global_symbol_pipe >> '$nlist'"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2339
	  done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2340
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2341
	  if test -n "$exclude_expsyms"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2342
	    $opt_dry_run || {
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2343
	      eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2344
	      eval '$MV "$nlist"T "$nlist"'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2345
	    }
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2346
	  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2347
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2348
	  if test -n "$export_symbols_regex"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2349
	    $opt_dry_run || {
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2350
	      eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2351
	      eval '$MV "$nlist"T "$nlist"'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2352
	    }
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2353
	  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2354
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2355
	  # Prepare the list of exported symbols
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2356
	  if test -z "$export_symbols"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2357
	    export_symbols="$output_objdir/$outputname.exp"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2358
	    $opt_dry_run || {
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2359
	      $RM $export_symbols
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2360
	      eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2361
	      case $host in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2362
	      *cygwin* | *mingw* | *cegcc* )
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2363
                eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2364
                eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2365
	        ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2366
	      esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2367
	    }
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2368
	  else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2369
	    $opt_dry_run || {
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2370
	      eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2371
	      eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2372
	      eval '$MV "$nlist"T "$nlist"'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2373
	      case $host in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2374
	        *cygwin | *mingw* | *cegcc* )
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2375
	          eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2376
	          eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2377
	          ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2378
	      esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2379
	    }
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2380
	  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2381
	fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2382
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2383
	for dlprefile in $dlprefiles; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2384
	  func_verbose "extracting global C symbols from \`$dlprefile'"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2385
	  func_basename "$dlprefile"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2386
	  name="$func_basename_result"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2387
	  $opt_dry_run || {
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2388
	    eval '$ECHO ": $name " >> "$nlist"'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2389
	    eval "$NM $dlprefile 2>/dev/null | $global_symbol_pipe >> '$nlist'"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2390
	  }
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2391
	done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2392
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2393
	$opt_dry_run || {
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2394
	  # Make sure we have at least an empty file.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2395
	  test -f "$nlist" || : > "$nlist"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2396
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2397
	  if test -n "$exclude_expsyms"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2398
	    $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2399
	    $MV "$nlist"T "$nlist"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2400
	  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2401
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2402
	  # Try sorting and uniquifying the output.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2403
	  if $GREP -v "^: " < "$nlist" |
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2404
	      if sort -k 3 </dev/null >/dev/null 2>&1; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2405
		sort -k 3
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2406
	      else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2407
		sort +2
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2408
	      fi |
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2409
	      uniq > "$nlist"S; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2410
	    :
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2411
	  else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2412
	    $GREP -v "^: " < "$nlist" > "$nlist"S
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2413
	  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2414
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2415
	  if test -f "$nlist"S; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2416
	    eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2417
	  else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2418
	    $ECHO '/* NONE */' >> "$output_objdir/$my_dlsyms"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2419
	  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2420
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2421
	  $ECHO >> "$output_objdir/$my_dlsyms" "\
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2422
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2423
/* The mapping between symbol names and symbols.  */
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2424
typedef struct {
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2425
  const char *name;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2426
  void *address;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2427
} lt_dlsymlist;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2428
"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2429
	  case $host in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2430
	  *cygwin* | *mingw* | *cegcc* )
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2431
	    $ECHO >> "$output_objdir/$my_dlsyms" "\
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2432
/* DATA imports from DLLs on WIN32 con't be const, because
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2433
   runtime relocations are performed -- see ld's documentation
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2434
   on pseudo-relocs.  */"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2435
	    lt_dlsym_const= ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2436
	  *osf5*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2437
	    echo >> "$output_objdir/$my_dlsyms" "\
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2438
/* This system does not cope well with relocations in const data */"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2439
	    lt_dlsym_const= ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2440
	  *)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2441
	    lt_dlsym_const=const ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2442
	  esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2443
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2444
	  $ECHO >> "$output_objdir/$my_dlsyms" "\
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2445
extern $lt_dlsym_const lt_dlsymlist
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2446
lt_${my_prefix}_LTX_preloaded_symbols[];
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2447
$lt_dlsym_const lt_dlsymlist
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2448
lt_${my_prefix}_LTX_preloaded_symbols[] =
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2449
{\
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2450
  { \"$my_originator\", (void *) 0 },"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2451
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2452
	  case $need_lib_prefix in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2453
	  no)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2454
	    eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2455
	    ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2456
	  *)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2457
	    eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2458
	    ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2459
	  esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2460
	  $ECHO >> "$output_objdir/$my_dlsyms" "\
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2461
  {0, (void *) 0}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2462
};
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2463
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2464
/* This works around a problem in FreeBSD linker */
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2465
#ifdef FREEBSD_WORKAROUND
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2466
static const void *lt_preloaded_setup() {
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2467
  return lt_${my_prefix}_LTX_preloaded_symbols;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2468
}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2469
#endif
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2470
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2471
#ifdef __cplusplus
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2472
}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2473
#endif\
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2474
"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2475
	} # !$opt_dry_run
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2476
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2477
	pic_flag_for_symtable=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2478
	case "$compile_command " in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2479
	*" -static "*) ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2480
	*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2481
	  case $host in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2482
	  # compiling the symbol table file with pic_flag works around
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2483
	  # a FreeBSD bug that causes programs to crash when -lm is
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2484
	  # linked before any other PIC object.  But we must not use
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2485
	  # pic_flag when linking with -static.  The problem exists in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2486
	  # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2487
	  *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2488
	    pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2489
	  *-*-hpux*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2490
	    pic_flag_for_symtable=" $pic_flag"  ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2491
	  *)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2492
	    if test "X$my_pic_p" != Xno; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2493
	      pic_flag_for_symtable=" $pic_flag"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2494
	    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2495
	    ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2496
	  esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2497
	  ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2498
	esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2499
	symtab_cflags=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2500
	for arg in $LTCFLAGS; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2501
	  case $arg in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2502
	  -pie | -fpie | -fPIE) ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2503
	  *) symtab_cflags="$symtab_cflags $arg" ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2504
	  esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2505
	done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2506
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2507
	# Now compile the dynamic symbol file.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2508
	func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2509
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2510
	# Clean up the generated files.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2511
	func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T"'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2512
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2513
	# Transform the symbol file into the correct name.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2514
	symfileobj="$output_objdir/${my_outputname}S.$objext"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2515
	case $host in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2516
	*cygwin* | *mingw* | *cegcc* )
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2517
	  if test -f "$output_objdir/$my_outputname.def"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2518
	    compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2519
	    finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2520
	  else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2521
	    compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2522
	    finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2523
	  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2524
	  ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2525
	*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2526
	  compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2527
	  finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2528
	  ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2529
	esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2530
	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2531
      *)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2532
	func_fatal_error "unknown suffix for \`$my_dlsyms'"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2533
	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2534
      esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2535
    else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2536
      # We keep going just in case the user didn't refer to
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2537
      # lt_preloaded_symbols.  The linker will fail if global_symbol_pipe
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2538
      # really was required.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2539
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2540
      # Nullify the symbol file.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2541
      compile_command=`$ECHO "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2542
      finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2543
    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2544
}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2545
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2546
# func_win32_libid arg
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2547
# return the library type of file 'arg'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2548
#
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2549
# Need a lot of goo to handle *both* DLLs and import libs
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2550
# Has to be a shell function in order to 'eat' the argument
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2551
# that is supplied when $file_magic_command is called.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2552
func_win32_libid ()
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2553
{
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2554
  $opt_debug
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2555
  win32_libid_type="unknown"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2556
  win32_fileres=`file -L $1 2>/dev/null`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2557
  case $win32_fileres in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2558
  *ar\ archive\ import\ library*) # definitely import
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2559
    win32_libid_type="x86 archive import"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2560
    ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2561
  *ar\ archive*) # could be an import, or static
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2562
    if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null |
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2563
       $EGREP 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2564
      win32_nmres=`eval $NM -f posix -A $1 |
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2565
	$SED -n -e '
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2566
	    1,100{
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2567
		/ I /{
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2568
		    s,.*,import,
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2569
		    p
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2570
		    q
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2571
		}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2572
	    }'`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2573
      case $win32_nmres in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2574
      import*)  win32_libid_type="x86 archive import";;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2575
      *)        win32_libid_type="x86 archive static";;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2576
      esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2577
    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2578
    ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2579
  *DLL*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2580
    win32_libid_type="x86 DLL"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2581
    ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2582
  *executable*) # but shell scripts are "executable" too...
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2583
    case $win32_fileres in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2584
    *MS\ Windows\ PE\ Intel*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2585
      win32_libid_type="x86 DLL"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2586
      ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2587
    esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2588
    ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2589
  esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2590
  $ECHO "$win32_libid_type"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2591
}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2592
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2593
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2594
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2595
# func_extract_an_archive dir oldlib
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2596
func_extract_an_archive ()
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2597
{
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2598
    $opt_debug
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2599
    f_ex_an_ar_dir="$1"; shift
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2600
    f_ex_an_ar_oldlib="$1"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2601
    func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" 'exit $?'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2602
    if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2603
     :
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2604
    else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2605
      func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2606
    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2607
}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2608
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2609
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2610
# func_extract_archives gentop oldlib ...
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2611
func_extract_archives ()
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2612
{
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2613
    $opt_debug
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2614
    my_gentop="$1"; shift
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2615
    my_oldlibs=${1+"$@"}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2616
    my_oldobjs=""
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2617
    my_xlib=""
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2618
    my_xabs=""
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2619
    my_xdir=""
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2620
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2621
    for my_xlib in $my_oldlibs; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2622
      # Extract the objects.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2623
      case $my_xlib in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2624
	[\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2625
	*) my_xabs=`pwd`"/$my_xlib" ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2626
      esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2627
      func_basename "$my_xlib"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2628
      my_xlib="$func_basename_result"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2629
      my_xlib_u=$my_xlib
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2630
      while :; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2631
        case " $extracted_archives " in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2632
	*" $my_xlib_u "*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2633
	  func_arith $extracted_serial + 1
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2634
	  extracted_serial=$func_arith_result
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2635
	  my_xlib_u=lt$extracted_serial-$my_xlib ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2636
	*) break ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2637
	esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2638
      done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2639
      extracted_archives="$extracted_archives $my_xlib_u"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2640
      my_xdir="$my_gentop/$my_xlib_u"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2641
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2642
      func_mkdir_p "$my_xdir"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2643
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2644
      case $host in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2645
      *-darwin*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2646
	func_verbose "Extracting $my_xabs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2647
	# Do not bother doing anything if just a dry run
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2648
	$opt_dry_run || {
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2649
	  darwin_orig_dir=`pwd`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2650
	  cd $my_xdir || exit $?
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2651
	  darwin_archive=$my_xabs
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2652
	  darwin_curdir=`pwd`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2653
	  darwin_base_archive=`basename "$darwin_archive"`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2654
	  darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2655
	  if test -n "$darwin_arches"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2656
	    darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2657
	    darwin_arch=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2658
	    func_verbose "$darwin_base_archive has multiple architectures $darwin_arches"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2659
	    for darwin_arch in  $darwin_arches ; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2660
	      func_mkdir_p "unfat-$$/${darwin_base_archive}-${darwin_arch}"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2661
	      $LIPO -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2662
	      cd "unfat-$$/${darwin_base_archive}-${darwin_arch}"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2663
	      func_extract_an_archive "`pwd`" "${darwin_base_archive}"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2664
	      cd "$darwin_curdir"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2665
	      $RM "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2666
	    done # $darwin_arches
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2667
            ## Okay now we've a bunch of thin objects, gotta fatten them up :)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2668
	    darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$basename" | sort -u`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2669
	    darwin_file=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2670
	    darwin_files=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2671
	    for darwin_file in $darwin_filelist; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2672
	      darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2673
	      $LIPO -create -output "$darwin_file" $darwin_files
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2674
	    done # $darwin_filelist
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2675
	    $RM -rf unfat-$$
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2676
	    cd "$darwin_orig_dir"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2677
	  else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2678
	    cd $darwin_orig_dir
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2679
	    func_extract_an_archive "$my_xdir" "$my_xabs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2680
	  fi # $darwin_arches
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2681
	} # !$opt_dry_run
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2682
	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2683
      *)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2684
        func_extract_an_archive "$my_xdir" "$my_xabs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2685
	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2686
      esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2687
      my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2688
    done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2689
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2690
    func_extract_archives_result="$my_oldobjs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2691
}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2692
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2693
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2694
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2695
# func_emit_wrapper_part1 [arg=no]
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2696
#
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2697
# Emit the first part of a libtool wrapper script on stdout.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2698
# For more information, see the description associated with
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2699
# func_emit_wrapper(), below.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2700
func_emit_wrapper_part1 ()
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2701
{
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2702
	func_emit_wrapper_part1_arg1=no
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2703
	if test -n "$1" ; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2704
	  func_emit_wrapper_part1_arg1=$1
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2705
	fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2706
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2707
	$ECHO "\
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2708
#! $SHELL
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2709
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2710
# $output - temporary wrapper script for $objdir/$outputname
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2711
# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2712
#
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2713
# The $output program cannot be directly executed until all the libtool
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2714
# libraries that it depends on are installed.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2715
#
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2716
# This wrapper script should never be moved out of the build directory.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2717
# If it is, it will not operate correctly.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2718
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2719
# Sed substitution that helps us do robust quoting.  It backslashifies
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2720
# metacharacters that are still active within double-quoted strings.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2721
Xsed='${SED} -e 1s/^X//'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2722
sed_quote_subst='$sed_quote_subst'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2723
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2724
# Be Bourne compatible
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2725
if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2726
  emulate sh
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2727
  NULLCMD=:
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2728
  # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2729
  # is contrary to our usage.  Disable this feature.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2730
  alias -g '\${1+\"\$@\"}'='\"\$@\"'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2731
  setopt NO_GLOB_SUBST
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2732
else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2733
  case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2734
fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2735
BIN_SH=xpg4; export BIN_SH # for Tru64
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2736
DUALCASE=1; export DUALCASE # for MKS sh
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2737
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2738
# The HP-UX ksh and POSIX shell print the target directory to stdout
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2739
# if CDPATH is set.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2740
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2741
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2742
relink_command=\"$relink_command\"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2743
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2744
# This environment variable determines our operation mode.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2745
if test \"\$libtool_install_magic\" = \"$magic\"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2746
  # install mode needs the following variables:
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2747
  generated_by_libtool_version='$macro_version'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2748
  notinst_deplibs='$notinst_deplibs'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2749
else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2750
  # When we are sourced in execute mode, \$file and \$ECHO are already set.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2751
  if test \"\$libtool_execute_magic\" != \"$magic\"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2752
    ECHO=\"$qecho\"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2753
    file=\"\$0\"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2754
    # Make sure echo works.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2755
    if test \"X\$1\" = X--no-reexec; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2756
      # Discard the --no-reexec flag, and continue.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2757
      shift
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2758
    elif test \"X\`{ \$ECHO '\t'; } 2>/dev/null\`\" = 'X\t'; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2759
      # Yippee, \$ECHO works!
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2760
      :
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2761
    else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2762
      # Restart under the correct shell, and then maybe \$ECHO will work.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2763
      exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2764
    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2765
  fi\
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2766
"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2767
	$ECHO "\
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2768
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2769
  # Find the directory that this script lives in.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2770
  thisdir=\`\$ECHO \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2771
  test \"x\$thisdir\" = \"x\$file\" && thisdir=.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2772
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2773
  # Follow symbolic links until we get to the real thisdir.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2774
  file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2775
  while test -n \"\$file\"; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2776
    destdir=\`\$ECHO \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2777
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2778
    # If there was a directory component, then change thisdir.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2779
    if test \"x\$destdir\" != \"x\$file\"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2780
      case \"\$destdir\" in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2781
      [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2782
      *) thisdir=\"\$thisdir/\$destdir\" ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2783
      esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2784
    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2785
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2786
    file=\`\$ECHO \"X\$file\" | \$Xsed -e 's%^.*/%%'\`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2787
    file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2788
  done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2789
"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2790
}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2791
# end: func_emit_wrapper_part1
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2792
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2793
# func_emit_wrapper_part2 [arg=no]
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2794
#
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2795
# Emit the second part of a libtool wrapper script on stdout.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2796
# For more information, see the description associated with
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2797
# func_emit_wrapper(), below.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2798
func_emit_wrapper_part2 ()
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2799
{
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2800
	func_emit_wrapper_part2_arg1=no
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2801
	if test -n "$1" ; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2802
	  func_emit_wrapper_part2_arg1=$1
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2803
	fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2804
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2805
	$ECHO "\
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2806
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2807
  # Usually 'no', except on cygwin/mingw when embedded into
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2808
  # the cwrapper.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2809
  WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_part2_arg1
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2810
  if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2811
    # special case for '.'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2812
    if test \"\$thisdir\" = \".\"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2813
      thisdir=\`pwd\`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2814
    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2815
    # remove .libs from thisdir
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2816
    case \"\$thisdir\" in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2817
    *[\\\\/]$objdir ) thisdir=\`\$ECHO \"X\$thisdir\" | \$Xsed -e 's%[\\\\/][^\\\\/]*$%%'\` ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2818
    $objdir )   thisdir=. ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2819
    esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2820
  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2821
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2822
  # Try to get the absolute directory name.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2823
  absdir=\`cd \"\$thisdir\" && pwd\`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2824
  test -n \"\$absdir\" && thisdir=\"\$absdir\"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2825
"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2826
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2827
	if test "$fast_install" = yes; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2828
	  $ECHO "\
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2829
  program=lt-'$outputname'$exeext
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2830
  progdir=\"\$thisdir/$objdir\"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2831
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2832
  if test ! -f \"\$progdir/\$program\" ||
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2833
     { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2834
       test \"X\$file\" != \"X\$progdir/\$program\"; }; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2835
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2836
    file=\"\$\$-\$program\"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2837
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2838
    if test ! -d \"\$progdir\"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2839
      $MKDIR \"\$progdir\"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2840
    else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2841
      $RM \"\$progdir/\$file\"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2842
    fi"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2843
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2844
	  $ECHO "\
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2845
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2846
    # relink executable if necessary
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2847
    if test -n \"\$relink_command\"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2848
      if relink_command_output=\`eval \$relink_command 2>&1\`; then :
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2849
      else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2850
	$ECHO \"\$relink_command_output\" >&2
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2851
	$RM \"\$progdir/\$file\"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2852
	exit 1
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2853
      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2854
    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2855
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2856
    $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null ||
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2857
    { $RM \"\$progdir/\$program\";
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2858
      $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; }
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2859
    $RM \"\$progdir/\$file\"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2860
  fi"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2861
	else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2862
	  $ECHO "\
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2863
  program='$outputname'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2864
  progdir=\"\$thisdir/$objdir\"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2865
"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2866
	fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2867
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2868
	$ECHO "\
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2869
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2870
  if test -f \"\$progdir/\$program\"; then"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2871
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2872
	# Export our shlibpath_var if we have one.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2873
	if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2874
	  $ECHO "\
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2875
    # Add our own library path to $shlibpath_var
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2876
    $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2877
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2878
    # Some systems cannot cope with colon-terminated $shlibpath_var
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2879
    # The second colon is a workaround for a bug in BeOS R4 sed
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2880
    $shlibpath_var=\`\$ECHO \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2881
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2882
    export $shlibpath_var
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2883
"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2884
	fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2885
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2886
	# fixup the dll searchpath if we need to.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2887
	if test -n "$dllsearchpath"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2888
	  $ECHO "\
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2889
    # Add the dll search path components to the executable PATH
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2890
    PATH=$dllsearchpath:\$PATH
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2891
"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2892
	fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2893
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2894
	$ECHO "\
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2895
    if test \"\$libtool_execute_magic\" != \"$magic\"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2896
      # Run the actual program with our arguments.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2897
"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2898
	case $host in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2899
	# Backslashes separate directories on plain windows
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2900
	*-*-mingw | *-*-os2* | *-cegcc*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2901
	  $ECHO "\
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2902
      exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2903
"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2904
	  ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2905
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2906
	*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2907
	  $ECHO "\
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2908
      exec \"\$progdir/\$program\" \${1+\"\$@\"}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2909
"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2910
	  ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2911
	esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2912
	$ECHO "\
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2913
      \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2914
      exit 1
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2915
    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2916
  else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2917
    # The program doesn't exist.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2918
    \$ECHO \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2919
    \$ECHO \"This script is just a wrapper for \$program.\" 1>&2
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2920
    $ECHO \"See the $PACKAGE documentation for more information.\" 1>&2
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2921
    exit 1
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2922
  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2923
fi\
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2924
"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2925
}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2926
# end: func_emit_wrapper_part2
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2927
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2928
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2929
# func_emit_wrapper [arg=no]
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2930
#
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2931
# Emit a libtool wrapper script on stdout.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2932
# Don't directly open a file because we may want to
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2933
# incorporate the script contents within a cygwin/mingw
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2934
# wrapper executable.  Must ONLY be called from within
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2935
# func_mode_link because it depends on a number of variables
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2936
# set therein.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2937
#
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2938
# ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2939
# variable will take.  If 'yes', then the emitted script
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2940
# will assume that the directory in which it is stored is
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2941
# the $objdir directory.  This is a cygwin/mingw-specific
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2942
# behavior.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2943
func_emit_wrapper ()
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2944
{
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2945
	func_emit_wrapper_arg1=no
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2946
	if test -n "$1" ; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2947
	  func_emit_wrapper_arg1=$1
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2948
	fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2949
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2950
	# split this up so that func_emit_cwrapperexe_src
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2951
	# can call each part independently.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2952
	func_emit_wrapper_part1 "${func_emit_wrapper_arg1}"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2953
	func_emit_wrapper_part2 "${func_emit_wrapper_arg1}"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2954
}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2955
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2956
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2957
# func_to_host_path arg
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2958
#
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2959
# Convert paths to host format when used with build tools.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2960
# Intended for use with "native" mingw (where libtool itself
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2961
# is running under the msys shell), or in the following cross-
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2962
# build environments:
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2963
#    $build          $host
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2964
#    mingw (msys)    mingw  [e.g. native]
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2965
#    cygwin          mingw
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2966
#    *nix + wine     mingw
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2967
# where wine is equipped with the `winepath' executable.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2968
# In the native mingw case, the (msys) shell automatically
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2969
# converts paths for any non-msys applications it launches,
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2970
# but that facility isn't available from inside the cwrapper.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2971
# Similar accommodations are necessary for $host mingw and
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2972
# $build cygwin.  Calling this function does no harm for other
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2973
# $host/$build combinations not listed above.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2974
#
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2975
# ARG is the path (on $build) that should be converted to
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2976
# the proper representation for $host. The result is stored
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2977
# in $func_to_host_path_result.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2978
func_to_host_path ()
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2979
{
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2980
  func_to_host_path_result="$1"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2981
  if test -n "$1" ; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2982
    case $host in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2983
      *mingw* )
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2984
        lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2985
        case $build in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2986
          *mingw* ) # actually, msys
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2987
            # awkward: cmd appends spaces to result
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2988
            lt_sed_strip_trailing_spaces="s/[ ]*\$//"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2989
            func_to_host_path_tmp1=`( cmd //c echo "$1" |\
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2990
              $SED -e "$lt_sed_strip_trailing_spaces" ) 2>/dev/null || echo ""`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2991
            func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2992
              $SED -e "$lt_sed_naive_backslashify"`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2993
            ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2994
          *cygwin* )
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2995
            func_to_host_path_tmp1=`cygpath -w "$1"`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2996
            func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2997
              $SED -e "$lt_sed_naive_backslashify"`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2998
            ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2999
          * )
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3000
            # Unfortunately, winepath does not exit with a non-zero
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3001
            # error code, so we are forced to check the contents of
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3002
            # stdout. On the other hand, if the command is not
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3003
            # found, the shell will set an exit code of 127 and print
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3004
            # *an error message* to stdout. So we must check for both
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3005
            # error code of zero AND non-empty stdout, which explains
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3006
            # the odd construction:
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3007
            func_to_host_path_tmp1=`winepath -w "$1" 2>/dev/null`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3008
            if test "$?" -eq 0 && test -n "${func_to_host_path_tmp1}"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3009
              func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3010
                $SED -e "$lt_sed_naive_backslashify"`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3011
            else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3012
              # Allow warning below.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3013
              func_to_host_path_result=""
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3014
            fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3015
            ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3016
        esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3017
        if test -z "$func_to_host_path_result" ; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3018
          func_error "Could not determine host path corresponding to"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3019
          func_error "  '$1'"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3020
          func_error "Continuing, but uninstalled executables may not work."
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3021
          # Fallback:
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3022
          func_to_host_path_result="$1"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3023
        fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3024
        ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3025
    esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3026
  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3027
}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3028
# end: func_to_host_path
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3029
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3030
# func_to_host_pathlist arg
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3031
#
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3032
# Convert pathlists to host format when used with build tools.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3033
# See func_to_host_path(), above. This function supports the
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3034
# following $build/$host combinations (but does no harm for
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3035
# combinations not listed here):
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3036
#    $build          $host
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3037
#    mingw (msys)    mingw  [e.g. native]
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3038
#    cygwin          mingw
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3039
#    *nix + wine     mingw
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3040
#
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3041
# Path separators are also converted from $build format to
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3042
# $host format. If ARG begins or ends with a path separator
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3043
# character, it is preserved (but converted to $host format)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3044
# on output.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3045
#
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3046
# ARG is a pathlist (on $build) that should be converted to
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3047
# the proper representation on $host. The result is stored
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3048
# in $func_to_host_pathlist_result.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3049
func_to_host_pathlist ()
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3050
{
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3051
  func_to_host_pathlist_result="$1"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3052
  if test -n "$1" ; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3053
    case $host in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3054
      *mingw* )
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3055
        lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3056
        # Remove leading and trailing path separator characters from
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3057
        # ARG. msys behavior is inconsistent here, cygpath turns them
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3058
        # into '.;' and ';.', and winepath ignores them completely.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3059
        func_to_host_pathlist_tmp2="$1"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3060
        # Once set for this call, this variable should not be
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3061
        # reassigned. It is used in tha fallback case.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3062
        func_to_host_pathlist_tmp1=`echo "$func_to_host_pathlist_tmp2" |\
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3063
          $SED -e 's|^:*||' -e 's|:*$||'`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3064
        case $build in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3065
          *mingw* ) # Actually, msys.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3066
            # Awkward: cmd appends spaces to result.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3067
            lt_sed_strip_trailing_spaces="s/[ ]*\$//"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3068
            func_to_host_pathlist_tmp2=`( cmd //c echo "$func_to_host_pathlist_tmp1" |\
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3069
              $SED -e "$lt_sed_strip_trailing_spaces" ) 2>/dev/null || echo ""`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3070
            func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp2" |\
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3071
              $SED -e "$lt_sed_naive_backslashify"`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3072
            ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3073
          *cygwin* )
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3074
            func_to_host_pathlist_tmp2=`cygpath -w -p "$func_to_host_pathlist_tmp1"`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3075
            func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp2" |\
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3076
              $SED -e "$lt_sed_naive_backslashify"`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3077
            ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3078
          * )
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3079
            # unfortunately, winepath doesn't convert pathlists
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3080
            func_to_host_pathlist_result=""
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3081
            func_to_host_pathlist_oldIFS=$IFS
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3082
            IFS=:
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3083
            for func_to_host_pathlist_f in $func_to_host_pathlist_tmp1 ; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3084
              IFS=$func_to_host_pathlist_oldIFS
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3085
              if test -n "$func_to_host_pathlist_f" ; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3086
                func_to_host_path "$func_to_host_pathlist_f"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3087
                if test -n "$func_to_host_path_result" ; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3088
                  if test -z "$func_to_host_pathlist_result" ; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3089
                    func_to_host_pathlist_result="$func_to_host_path_result"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3090
                  else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3091
                    func_to_host_pathlist_result="$func_to_host_pathlist_result;$func_to_host_path_result"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3092
                  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3093
                fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3094
              fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3095
              IFS=:
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3096
            done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3097
            IFS=$func_to_host_pathlist_oldIFS
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3098
            ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3099
        esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3100
        if test -z "$func_to_host_pathlist_result" ; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3101
          func_error "Could not determine the host path(s) corresponding to"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3102
          func_error "  '$1'"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3103
          func_error "Continuing, but uninstalled executables may not work."
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3104
          # Fallback. This may break if $1 contains DOS-style drive
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3105
          # specifications. The fix is not to complicate the expression
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3106
          # below, but for the user to provide a working wine installation
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3107
          # with winepath so that path translation in the cross-to-mingw
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3108
          # case works properly.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3109
          lt_replace_pathsep_nix_to_dos="s|:|;|g"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3110
          func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp1" |\
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3111
            $SED -e "$lt_replace_pathsep_nix_to_dos"`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3112
        fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3113
        # Now, add the leading and trailing path separators back
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3114
        case "$1" in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3115
          :* ) func_to_host_pathlist_result=";$func_to_host_pathlist_result"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3116
            ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3117
        esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3118
        case "$1" in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3119
          *: ) func_to_host_pathlist_result="$func_to_host_pathlist_result;"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3120
            ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3121
        esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3122
        ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3123
    esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3124
  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3125
}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3126
# end: func_to_host_pathlist
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3127
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3128
# func_emit_cwrapperexe_src
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3129
# emit the source code for a wrapper executable on stdout
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3130
# Must ONLY be called from within func_mode_link because
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3131
# it depends on a number of variable set therein.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3132
func_emit_cwrapperexe_src ()
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3133
{
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3134
	cat <<EOF
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3135
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3136
/* $cwrappersource - temporary wrapper executable for $objdir/$outputname
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3137
   Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3138
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3139
   The $output program cannot be directly executed until all the libtool
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3140
   libraries that it depends on are installed.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3141
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3142
   This wrapper executable should never be moved out of the build directory.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3143
   If it is, it will not operate correctly.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3144
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3145
   Currently, it simply execs the wrapper *script* "$SHELL $output",
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3146
   but could eventually absorb all of the scripts functionality and
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3147
   exec $objdir/$outputname directly.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3148
*/
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3149
EOF
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3150
	    cat <<"EOF"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3151
#include <stdio.h>
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3152
#include <stdlib.h>
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3153
#ifdef _MSC_VER
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3154
# include <direct.h>
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3155
# include <process.h>
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3156
# include <io.h>
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3157
# define setmode _setmode
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3158
#else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3159
# include <unistd.h>
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3160
# include <stdint.h>
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3161
# ifdef __CYGWIN__
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3162
#  include <io.h>
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3163
#  define HAVE_SETENV
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3164
#  ifdef __STRICT_ANSI__
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3165
char *realpath (const char *, char *);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3166
int putenv (char *);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3167
int setenv (const char *, const char *, int);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3168
#  endif
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3169
# endif
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3170
#endif
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3171
#include <malloc.h>
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3172
#include <stdarg.h>
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3173
#include <assert.h>
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3174
#include <string.h>
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3175
#include <ctype.h>
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3176
#include <errno.h>
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3177
#include <fcntl.h>
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3178
#include <sys/stat.h>
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3179
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3180
#if defined(PATH_MAX)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3181
# define LT_PATHMAX PATH_MAX
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3182
#elif defined(MAXPATHLEN)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3183
# define LT_PATHMAX MAXPATHLEN
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3184
#else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3185
# define LT_PATHMAX 1024
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3186
#endif
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3187
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3188
#ifndef S_IXOTH
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3189
# define S_IXOTH 0
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3190
#endif
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3191
#ifndef S_IXGRP
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3192
# define S_IXGRP 0
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3193
#endif
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3194
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3195
#ifdef _MSC_VER
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3196
# define S_IXUSR _S_IEXEC
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3197
# define stat _stat
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3198
# ifndef _INTPTR_T_DEFINED
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3199
#  define intptr_t int
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3200
# endif
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3201
#endif
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3202
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3203
#ifndef DIR_SEPARATOR
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3204
# define DIR_SEPARATOR '/'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3205
# define PATH_SEPARATOR ':'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3206
#endif
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3207
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3208
#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3209
  defined (__OS2__)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3210
# define HAVE_DOS_BASED_FILE_SYSTEM
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3211
# define FOPEN_WB "wb"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3212
# ifndef DIR_SEPARATOR_2
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3213
#  define DIR_SEPARATOR_2 '\\'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3214
# endif
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3215
# ifndef PATH_SEPARATOR_2
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3216
#  define PATH_SEPARATOR_2 ';'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3217
# endif
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3218
#endif
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3219
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3220
#ifndef DIR_SEPARATOR_2
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3221
# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3222
#else /* DIR_SEPARATOR_2 */
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3223
# define IS_DIR_SEPARATOR(ch) \
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3224
	(((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3225
#endif /* DIR_SEPARATOR_2 */
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3226
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3227
#ifndef PATH_SEPARATOR_2
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3228
# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3229
#else /* PATH_SEPARATOR_2 */
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3230
# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3231
#endif /* PATH_SEPARATOR_2 */
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3232
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3233
#ifdef __CYGWIN__
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3234
# define FOPEN_WB "wb"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3235
#endif
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3236
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3237
#ifndef FOPEN_WB
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3238
# define FOPEN_WB "w"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3239
#endif
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3240
#ifndef _O_BINARY
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3241
# define _O_BINARY 0
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3242
#endif
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3243
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3244
#define XMALLOC(type, num)      ((type *) xmalloc ((num) * sizeof(type)))
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3245
#define XFREE(stale) do { \
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3246
  if (stale) { free ((void *) stale); stale = 0; } \
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3247
} while (0)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3248
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3249
#undef LTWRAPPER_DEBUGPRINTF
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3250
#if defined DEBUGWRAPPER
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3251
# define LTWRAPPER_DEBUGPRINTF(args) ltwrapper_debugprintf args
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3252
static void
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3253
ltwrapper_debugprintf (const char *fmt, ...)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3254
{
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3255
    va_list args;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3256
    va_start (args, fmt);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3257
    (void) vfprintf (stderr, fmt, args);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3258
    va_end (args);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3259
}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3260
#else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3261
# define LTWRAPPER_DEBUGPRINTF(args)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3262
#endif
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3263
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3264
const char *program_name = NULL;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3265
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3266
void *xmalloc (size_t num);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3267
char *xstrdup (const char *string);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3268
const char *base_name (const char *name);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3269
char *find_executable (const char *wrapper);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3270
char *chase_symlinks (const char *pathspec);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3271
int make_executable (const char *path);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3272
int check_executable (const char *path);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3273
char *strendzap (char *str, const char *pat);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3274
void lt_fatal (const char *message, ...);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3275
void lt_setenv (const char *name, const char *value);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3276
char *lt_extend_str (const char *orig_value, const char *add, int to_end);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3277
void lt_opt_process_env_set (const char *arg);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3278
void lt_opt_process_env_prepend (const char *arg);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3279
void lt_opt_process_env_append (const char *arg);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3280
int lt_split_name_value (const char *arg, char** name, char** value);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3281
void lt_update_exe_path (const char *name, const char *value);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3282
void lt_update_lib_path (const char *name, const char *value);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3283
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3284
static const char *script_text_part1 =
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3285
EOF
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3286
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3287
	    func_emit_wrapper_part1 yes |
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3288
	        $SED -e 's/\([\\"]\)/\\\1/g' \
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3289
	             -e 's/^/  "/' -e 's/$/\\n"/'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3290
	    echo ";"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3291
	    cat <<EOF
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3292
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3293
static const char *script_text_part2 =
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3294
EOF
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3295
	    func_emit_wrapper_part2 yes |
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3296
	        $SED -e 's/\([\\"]\)/\\\1/g' \
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3297
	             -e 's/^/  "/' -e 's/$/\\n"/'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3298
	    echo ";"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3299
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3300
	    cat <<EOF
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3301
const char * MAGIC_EXE = "$magic_exe";
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3302
const char * LIB_PATH_VARNAME = "$shlibpath_var";
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3303
EOF
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3304
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3305
	    if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3306
              func_to_host_pathlist "$temp_rpath"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3307
	      cat <<EOF
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3308
const char * LIB_PATH_VALUE   = "$func_to_host_pathlist_result";
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3309
EOF
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3310
	    else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3311
	      cat <<"EOF"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3312
const char * LIB_PATH_VALUE   = "";
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3313
EOF
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3314
	    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3315
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3316
	    if test -n "$dllsearchpath"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3317
              func_to_host_pathlist "$dllsearchpath:"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3318
	      cat <<EOF
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3319
const char * EXE_PATH_VARNAME = "PATH";
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3320
const char * EXE_PATH_VALUE   = "$func_to_host_pathlist_result";
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3321
EOF
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3322
	    else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3323
	      cat <<"EOF"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3324
const char * EXE_PATH_VARNAME = "";
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3325
const char * EXE_PATH_VALUE   = "";
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3326
EOF
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3327
	    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3328
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3329
	    if test "$fast_install" = yes; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3330
	      cat <<EOF
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3331
const char * TARGET_PROGRAM_NAME = "lt-$outputname"; /* hopefully, no .exe */
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3332
EOF
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3333
	    else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3334
	      cat <<EOF
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3335
const char * TARGET_PROGRAM_NAME = "$outputname"; /* hopefully, no .exe */
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3336
EOF
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3337
	    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3338
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3339
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3340
	    cat <<"EOF"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3341
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3342
#define LTWRAPPER_OPTION_PREFIX         "--lt-"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3343
#define LTWRAPPER_OPTION_PREFIX_LENGTH  5
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3344
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3345
static const size_t opt_prefix_len         = LTWRAPPER_OPTION_PREFIX_LENGTH;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3346
static const char *ltwrapper_option_prefix = LTWRAPPER_OPTION_PREFIX;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3347
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3348
static const char *dumpscript_opt       = LTWRAPPER_OPTION_PREFIX "dump-script";
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3349
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3350
static const size_t env_set_opt_len     = LTWRAPPER_OPTION_PREFIX_LENGTH + 7;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3351
static const char *env_set_opt          = LTWRAPPER_OPTION_PREFIX "env-set";
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3352
  /* argument is putenv-style "foo=bar", value of foo is set to bar */
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3353
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3354
static const size_t env_prepend_opt_len = LTWRAPPER_OPTION_PREFIX_LENGTH + 11;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3355
static const char *env_prepend_opt      = LTWRAPPER_OPTION_PREFIX "env-prepend";
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3356
  /* argument is putenv-style "foo=bar", new value of foo is bar${foo} */
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3357
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3358
static const size_t env_append_opt_len  = LTWRAPPER_OPTION_PREFIX_LENGTH + 10;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3359
static const char *env_append_opt       = LTWRAPPER_OPTION_PREFIX "env-append";
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3360
  /* argument is putenv-style "foo=bar", new value of foo is ${foo}bar */
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3361
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3362
int
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3363
main (int argc, char *argv[])
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3364
{
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3365
  char **newargz;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3366
  int  newargc;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3367
  char *tmp_pathspec;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3368
  char *actual_cwrapper_path;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3369
  char *actual_cwrapper_name;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3370
  char *target_name;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3371
  char *lt_argv_zero;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3372
  intptr_t rval = 127;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3373
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3374
  int i;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3375
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3376
  program_name = (char *) xstrdup (base_name (argv[0]));
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3377
  LTWRAPPER_DEBUGPRINTF (("(main) argv[0]      : %s\n", argv[0]));
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3378
  LTWRAPPER_DEBUGPRINTF (("(main) program_name : %s\n", program_name));
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3379
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3380
  /* very simple arg parsing; don't want to rely on getopt */
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3381
  for (i = 1; i < argc; i++)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3382
    {
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3383
      if (strcmp (argv[i], dumpscript_opt) == 0)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3384
	{
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3385
EOF
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3386
	    case "$host" in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3387
	      *mingw* | *cygwin* )
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3388
		# make stdout use "unix" line endings
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3389
		echo "          setmode(1,_O_BINARY);"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3390
		;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3391
	      esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3392
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3393
	    cat <<"EOF"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3394
	  printf ("%s", script_text_part1);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3395
	  printf ("%s", script_text_part2);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3396
	  return 0;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3397
	}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3398
    }
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3399
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3400
  newargz = XMALLOC (char *, argc + 1);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3401
  tmp_pathspec = find_executable (argv[0]);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3402
  if (tmp_pathspec == NULL)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3403
    lt_fatal ("Couldn't find %s", argv[0]);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3404
  LTWRAPPER_DEBUGPRINTF (("(main) found exe (before symlink chase) at : %s\n",
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3405
			  tmp_pathspec));
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3406
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3407
  actual_cwrapper_path = chase_symlinks (tmp_pathspec);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3408
  LTWRAPPER_DEBUGPRINTF (("(main) found exe (after symlink chase) at : %s\n",
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3409
			  actual_cwrapper_path));
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3410
  XFREE (tmp_pathspec);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3411
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3412
  actual_cwrapper_name = xstrdup( base_name (actual_cwrapper_path));
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3413
  strendzap (actual_cwrapper_path, actual_cwrapper_name);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3414
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3415
  /* wrapper name transforms */
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3416
  strendzap (actual_cwrapper_name, ".exe");
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3417
  tmp_pathspec = lt_extend_str (actual_cwrapper_name, ".exe", 1);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3418
  XFREE (actual_cwrapper_name);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3419
  actual_cwrapper_name = tmp_pathspec;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3420
  tmp_pathspec = 0;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3421
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3422
  /* target_name transforms -- use actual target program name; might have lt- prefix */
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3423
  target_name = xstrdup (base_name (TARGET_PROGRAM_NAME));
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3424
  strendzap (target_name, ".exe");
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3425
  tmp_pathspec = lt_extend_str (target_name, ".exe", 1);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3426
  XFREE (target_name);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3427
  target_name = tmp_pathspec;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3428
  tmp_pathspec = 0;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3429
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3430
  LTWRAPPER_DEBUGPRINTF (("(main) libtool target name: %s\n",
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3431
			  target_name));
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3432
EOF
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3433
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3434
	    cat <<EOF
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3435
  newargz[0] =
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3436
    XMALLOC (char, (strlen (actual_cwrapper_path) +
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3437
		    strlen ("$objdir") + 1 + strlen (actual_cwrapper_name) + 1));
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3438
  strcpy (newargz[0], actual_cwrapper_path);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3439
  strcat (newargz[0], "$objdir");
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3440
  strcat (newargz[0], "/");
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3441
EOF
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3442
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3443
	    cat <<"EOF"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3444
  /* stop here, and copy so we don't have to do this twice */
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3445
  tmp_pathspec = xstrdup (newargz[0]);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3446
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3447
  /* do NOT want the lt- prefix here, so use actual_cwrapper_name */
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3448
  strcat (newargz[0], actual_cwrapper_name);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3449
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3450
  /* DO want the lt- prefix here if it exists, so use target_name */
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3451
  lt_argv_zero = lt_extend_str (tmp_pathspec, target_name, 1);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3452
  XFREE (tmp_pathspec);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3453
  tmp_pathspec = NULL;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3454
EOF
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3455
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3456
	    case $host_os in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3457
	      mingw*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3458
	    cat <<"EOF"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3459
  {
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3460
    char* p;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3461
    while ((p = strchr (newargz[0], '\\')) != NULL)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3462
      {
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3463
	*p = '/';
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3464
      }
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3465
    while ((p = strchr (lt_argv_zero, '\\')) != NULL)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3466
      {
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3467
	*p = '/';
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3468
      }
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3469
  }
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3470
EOF
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3471
	    ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3472
	    esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3473
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3474
	    cat <<"EOF"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3475
  XFREE (target_name);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3476
  XFREE (actual_cwrapper_path);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3477
  XFREE (actual_cwrapper_name);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3478
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3479
  lt_setenv ("BIN_SH", "xpg4"); /* for Tru64 */
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3480
  lt_setenv ("DUALCASE", "1");  /* for MSK sh */
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3481
  lt_update_lib_path (LIB_PATH_VARNAME, LIB_PATH_VALUE);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3482
  lt_update_exe_path (EXE_PATH_VARNAME, EXE_PATH_VALUE);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3483
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3484
  newargc=0;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3485
  for (i = 1; i < argc; i++)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3486
    {
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3487
      if (strncmp (argv[i], env_set_opt, env_set_opt_len) == 0)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3488
        {
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3489
          if (argv[i][env_set_opt_len] == '=')
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3490
            {
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3491
              const char *p = argv[i] + env_set_opt_len + 1;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3492
              lt_opt_process_env_set (p);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3493
            }
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3494
          else if (argv[i][env_set_opt_len] == '\0' && i + 1 < argc)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3495
            {
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3496
              lt_opt_process_env_set (argv[++i]); /* don't copy */
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3497
            }
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3498
          else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3499
            lt_fatal ("%s missing required argument", env_set_opt);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3500
          continue;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3501
        }
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3502
      if (strncmp (argv[i], env_prepend_opt, env_prepend_opt_len) == 0)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3503
        {
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3504
          if (argv[i][env_prepend_opt_len] == '=')
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3505
            {
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3506
              const char *p = argv[i] + env_prepend_opt_len + 1;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3507
              lt_opt_process_env_prepend (p);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3508
            }
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3509
          else if (argv[i][env_prepend_opt_len] == '\0' && i + 1 < argc)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3510
            {
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3511
              lt_opt_process_env_prepend (argv[++i]); /* don't copy */
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3512
            }
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3513
          else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3514
            lt_fatal ("%s missing required argument", env_prepend_opt);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3515
          continue;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3516
        }
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3517
      if (strncmp (argv[i], env_append_opt, env_append_opt_len) == 0)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3518
        {
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3519
          if (argv[i][env_append_opt_len] == '=')
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3520
            {
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3521
              const char *p = argv[i] + env_append_opt_len + 1;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3522
              lt_opt_process_env_append (p);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3523
            }
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3524
          else if (argv[i][env_append_opt_len] == '\0' && i + 1 < argc)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3525
            {
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3526
              lt_opt_process_env_append (argv[++i]); /* don't copy */
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3527
            }
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3528
          else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3529
            lt_fatal ("%s missing required argument", env_append_opt);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3530
          continue;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3531
        }
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3532
      if (strncmp (argv[i], ltwrapper_option_prefix, opt_prefix_len) == 0)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3533
        {
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3534
          /* however, if there is an option in the LTWRAPPER_OPTION_PREFIX
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3535
             namespace, but it is not one of the ones we know about and
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3536
             have already dealt with, above (inluding dump-script), then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3537
             report an error. Otherwise, targets might begin to believe
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3538
             they are allowed to use options in the LTWRAPPER_OPTION_PREFIX
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3539
             namespace. The first time any user complains about this, we'll
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3540
             need to make LTWRAPPER_OPTION_PREFIX a configure-time option
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3541
             or a configure.ac-settable value.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3542
           */
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3543
          lt_fatal ("Unrecognized option in %s namespace: '%s'",
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3544
                    ltwrapper_option_prefix, argv[i]);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3545
        }
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3546
      /* otherwise ... */
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3547
      newargz[++newargc] = xstrdup (argv[i]);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3548
    }
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3549
  newargz[++newargc] = NULL;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3550
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3551
  LTWRAPPER_DEBUGPRINTF     (("(main) lt_argv_zero : %s\n", (lt_argv_zero ? lt_argv_zero : "<NULL>")));
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3552
  for (i = 0; i < newargc; i++)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3553
    {
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3554
      LTWRAPPER_DEBUGPRINTF (("(main) newargz[%d]   : %s\n", i, (newargz[i] ? newargz[i] : "<NULL>")));
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3555
    }
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3556
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3557
EOF
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3558
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3559
	    case $host_os in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3560
	      mingw*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3561
		cat <<"EOF"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3562
  /* execv doesn't actually work on mingw as expected on unix */
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3563
  rval = _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3564
  if (rval == -1)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3565
    {
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3566
      /* failed to start process */
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3567
      LTWRAPPER_DEBUGPRINTF (("(main) failed to launch target \"%s\": errno = %d\n", lt_argv_zero, errno));
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3568
      return 127;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3569
    }
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3570
  return rval;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3571
EOF
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3572
		;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3573
	      *)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3574
		cat <<"EOF"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3575
  execv (lt_argv_zero, newargz);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3576
  return rval; /* =127, but avoids unused variable warning */
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3577
EOF
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3578
		;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3579
	    esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3580
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3581
	    cat <<"EOF"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3582
}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3583
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3584
void *
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3585
xmalloc (size_t num)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3586
{
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3587
  void *p = (void *) malloc (num);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3588
  if (!p)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3589
    lt_fatal ("Memory exhausted");
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3590
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3591
  return p;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3592
}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3593
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3594
char *
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3595
xstrdup (const char *string)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3596
{
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3597
  return string ? strcpy ((char *) xmalloc (strlen (string) + 1),
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3598
			  string) : NULL;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3599
}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3600
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3601
const char *
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3602
base_name (const char *name)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3603
{
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3604
  const char *base;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3605
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3606
#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3607
  /* Skip over the disk name in MSDOS pathnames. */
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3608
  if (isalpha ((unsigned char) name[0]) && name[1] == ':')
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3609
    name += 2;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3610
#endif
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3611
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3612
  for (base = name; *name; name++)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3613
    if (IS_DIR_SEPARATOR (*name))
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3614
      base = name + 1;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3615
  return base;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3616
}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3617
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3618
int
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3619
check_executable (const char *path)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3620
{
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3621
  struct stat st;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3622
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3623
  LTWRAPPER_DEBUGPRINTF (("(check_executable)  : %s\n",
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3624
			  path ? (*path ? path : "EMPTY!") : "NULL!"));
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3625
  if ((!path) || (!*path))
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3626
    return 0;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3627
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3628
  if ((stat (path, &st) >= 0)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3629
      && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH)))
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3630
    return 1;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3631
  else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3632
    return 0;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3633
}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3634
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3635
int
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3636
make_executable (const char *path)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3637
{
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3638
  int rval = 0;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3639
  struct stat st;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3640
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3641
  LTWRAPPER_DEBUGPRINTF (("(make_executable)   : %s\n",
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3642
			  path ? (*path ? path : "EMPTY!") : "NULL!"));
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3643
  if ((!path) || (!*path))
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3644
    return 0;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3645
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3646
  if (stat (path, &st) >= 0)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3647
    {
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3648
      rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3649
    }
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3650
  return rval;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3651
}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3652
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3653
/* Searches for the full path of the wrapper.  Returns
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3654
   newly allocated full path name if found, NULL otherwise
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3655
   Does not chase symlinks, even on platforms that support them.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3656
*/
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3657
char *
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3658
find_executable (const char *wrapper)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3659
{
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3660
  int has_slash = 0;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3661
  const char *p;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3662
  const char *p_next;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3663
  /* static buffer for getcwd */
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3664
  char tmp[LT_PATHMAX + 1];
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3665
  int tmp_len;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3666
  char *concat_name;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3667
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3668
  LTWRAPPER_DEBUGPRINTF (("(find_executable)   : %s\n",
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3669
			  wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!"));
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3670
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3671
  if ((wrapper == NULL) || (*wrapper == '\0'))
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3672
    return NULL;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3673
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3674
  /* Absolute path? */
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3675
#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3676
  if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':')
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3677
    {
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3678
      concat_name = xstrdup (wrapper);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3679
      if (check_executable (concat_name))
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3680
	return concat_name;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3681
      XFREE (concat_name);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3682
    }
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3683
  else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3684
    {
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3685
#endif
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3686
      if (IS_DIR_SEPARATOR (wrapper[0]))
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3687
	{
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3688
	  concat_name = xstrdup (wrapper);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3689
	  if (check_executable (concat_name))
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3690
	    return concat_name;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3691
	  XFREE (concat_name);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3692
	}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3693
#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3694
    }
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3695
#endif
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3696
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3697
  for (p = wrapper; *p; p++)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3698
    if (*p == '/')
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3699
      {
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3700
	has_slash = 1;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3701
	break;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3702
      }
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3703
  if (!has_slash)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3704
    {
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3705
      /* no slashes; search PATH */
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3706
      const char *path = getenv ("PATH");
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3707
      if (path != NULL)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3708
	{
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3709
	  for (p = path; *p; p = p_next)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3710
	    {
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3711
	      const char *q;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3712
	      size_t p_len;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3713
	      for (q = p; *q; q++)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3714
		if (IS_PATH_SEPARATOR (*q))
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3715
		  break;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3716
	      p_len = q - p;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3717
	      p_next = (*q == '\0' ? q : q + 1);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3718
	      if (p_len == 0)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3719
		{
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3720
		  /* empty path: current directory */
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3721
		  if (getcwd (tmp, LT_PATHMAX) == NULL)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3722
		    lt_fatal ("getcwd failed");
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3723
		  tmp_len = strlen (tmp);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3724
		  concat_name =
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3725
		    XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3726
		  memcpy (concat_name, tmp, tmp_len);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3727
		  concat_name[tmp_len] = '/';
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3728
		  strcpy (concat_name + tmp_len + 1, wrapper);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3729
		}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3730
	      else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3731
		{
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3732
		  concat_name =
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3733
		    XMALLOC (char, p_len + 1 + strlen (wrapper) + 1);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3734
		  memcpy (concat_name, p, p_len);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3735
		  concat_name[p_len] = '/';
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3736
		  strcpy (concat_name + p_len + 1, wrapper);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3737
		}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3738
	      if (check_executable (concat_name))
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3739
		return concat_name;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3740
	      XFREE (concat_name);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3741
	    }
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3742
	}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3743
      /* not found in PATH; assume curdir */
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3744
    }
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3745
  /* Relative path | not found in path: prepend cwd */
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3746
  if (getcwd (tmp, LT_PATHMAX) == NULL)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3747
    lt_fatal ("getcwd failed");
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3748
  tmp_len = strlen (tmp);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3749
  concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3750
  memcpy (concat_name, tmp, tmp_len);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3751
  concat_name[tmp_len] = '/';
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3752
  strcpy (concat_name + tmp_len + 1, wrapper);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3753
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3754
  if (check_executable (concat_name))
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3755
    return concat_name;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3756
  XFREE (concat_name);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3757
  return NULL;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3758
}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3759
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3760
char *
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3761
chase_symlinks (const char *pathspec)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3762
{
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3763
#ifndef S_ISLNK
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3764
  return xstrdup (pathspec);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3765
#else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3766
  char buf[LT_PATHMAX];
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3767
  struct stat s;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3768
  char *tmp_pathspec = xstrdup (pathspec);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3769
  char *p;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3770
  int has_symlinks = 0;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3771
  while (strlen (tmp_pathspec) && !has_symlinks)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3772
    {
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3773
      LTWRAPPER_DEBUGPRINTF (("checking path component for symlinks: %s\n",
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3774
			      tmp_pathspec));
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3775
      if (lstat (tmp_pathspec, &s) == 0)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3776
	{
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3777
	  if (S_ISLNK (s.st_mode) != 0)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3778
	    {
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3779
	      has_symlinks = 1;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3780
	      break;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3781
	    }
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3782
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3783
	  /* search backwards for last DIR_SEPARATOR */
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3784
	  p = tmp_pathspec + strlen (tmp_pathspec) - 1;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3785
	  while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3786
	    p--;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3787
	  if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3788
	    {
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3789
	      /* no more DIR_SEPARATORS left */
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3790
	      break;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3791
	    }
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3792
	  *p = '\0';
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3793
	}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3794
      else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3795
	{
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3796
	  char *errstr = strerror (errno);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3797
	  lt_fatal ("Error accessing file %s (%s)", tmp_pathspec, errstr);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3798
	}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3799
    }
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3800
  XFREE (tmp_pathspec);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3801
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3802
  if (!has_symlinks)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3803
    {
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3804
      return xstrdup (pathspec);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3805
    }
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3806
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3807
  tmp_pathspec = realpath (pathspec, buf);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3808
  if (tmp_pathspec == 0)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3809
    {
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3810
      lt_fatal ("Could not follow symlinks for %s", pathspec);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3811
    }
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3812
  return xstrdup (tmp_pathspec);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3813
#endif
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3814
}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3815
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3816
char *
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3817
strendzap (char *str, const char *pat)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3818
{
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3819
  size_t len, patlen;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3820
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3821
  assert (str != NULL);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3822
  assert (pat != NULL);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3823
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3824
  len = strlen (str);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3825
  patlen = strlen (pat);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3826
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3827
  if (patlen <= len)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3828
    {
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3829
      str += len - patlen;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3830
      if (strcmp (str, pat) == 0)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3831
	*str = '\0';
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3832
    }
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3833
  return str;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3834
}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3835
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3836
static void
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3837
lt_error_core (int exit_status, const char *mode,
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3838
	       const char *message, va_list ap)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3839
{
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3840
  fprintf (stderr, "%s: %s: ", program_name, mode);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3841
  vfprintf (stderr, message, ap);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3842
  fprintf (stderr, ".\n");
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3843
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3844
  if (exit_status >= 0)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3845
    exit (exit_status);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3846
}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3847
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3848
void
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3849
lt_fatal (const char *message, ...)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3850
{
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3851
  va_list ap;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3852
  va_start (ap, message);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3853
  lt_error_core (EXIT_FAILURE, "FATAL", message, ap);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3854
  va_end (ap);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3855
}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3856
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3857
void
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3858
lt_setenv (const char *name, const char *value)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3859
{
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3860
  LTWRAPPER_DEBUGPRINTF (("(lt_setenv) setting '%s' to '%s'\n",
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3861
                          (name ? name : "<NULL>"),
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3862
                          (value ? value : "<NULL>")));
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3863
  {
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3864
#ifdef HAVE_SETENV
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3865
    /* always make a copy, for consistency with !HAVE_SETENV */
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3866
    char *str = xstrdup (value);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3867
    setenv (name, str, 1);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3868
#else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3869
    int len = strlen (name) + 1 + strlen (value) + 1;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3870
    char *str = XMALLOC (char, len);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3871
    sprintf (str, "%s=%s", name, value);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3872
    if (putenv (str) != EXIT_SUCCESS)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3873
      {
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3874
        XFREE (str);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3875
      }
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3876
#endif
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3877
  }
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3878
}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3879
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3880
char *
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3881
lt_extend_str (const char *orig_value, const char *add, int to_end)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3882
{
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3883
  char *new_value;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3884
  if (orig_value && *orig_value)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3885
    {
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3886
      int orig_value_len = strlen (orig_value);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3887
      int add_len = strlen (add);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3888
      new_value = XMALLOC (char, add_len + orig_value_len + 1);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3889
      if (to_end)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3890
        {
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3891
          strcpy (new_value, orig_value);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3892
          strcpy (new_value + orig_value_len, add);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3893
        }
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3894
      else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3895
        {
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3896
          strcpy (new_value, add);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3897
          strcpy (new_value + add_len, orig_value);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3898
        }
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3899
    }
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3900
  else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3901
    {
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3902
      new_value = xstrdup (add);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3903
    }
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3904
  return new_value;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3905
}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3906
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3907
int
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3908
lt_split_name_value (const char *arg, char** name, char** value)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3909
{
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3910
  const char *p;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3911
  int len;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3912
  if (!arg || !*arg)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3913
    return 1;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3914
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3915
  p = strchr (arg, (int)'=');
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3916
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3917
  if (!p)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3918
    return 1;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3919
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3920
  *value = xstrdup (++p);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3921
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3922
  len = strlen (arg) - strlen (*value);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3923
  *name = XMALLOC (char, len);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3924
  strncpy (*name, arg, len-1);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3925
  (*name)[len - 1] = '\0';
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3926
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3927
  return 0;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3928
}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3929
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3930
void
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3931
lt_opt_process_env_set (const char *arg)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3932
{
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3933
  char *name = NULL;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3934
  char *value = NULL;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3935
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3936
  if (lt_split_name_value (arg, &name, &value) != 0)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3937
    {
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3938
      XFREE (name);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3939
      XFREE (value);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3940
      lt_fatal ("bad argument for %s: '%s'", env_set_opt, arg);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3941
    }
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3942
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3943
  lt_setenv (name, value);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3944
  XFREE (name);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3945
  XFREE (value);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3946
}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3947
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3948
void
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3949
lt_opt_process_env_prepend (const char *arg)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3950
{
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3951
  char *name = NULL;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3952
  char *value = NULL;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3953
  char *new_value = NULL;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3954
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3955
  if (lt_split_name_value (arg, &name, &value) != 0)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3956
    {
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3957
      XFREE (name);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3958
      XFREE (value);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3959
      lt_fatal ("bad argument for %s: '%s'", env_prepend_opt, arg);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3960
    }
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3961
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3962
  new_value = lt_extend_str (getenv (name), value, 0);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3963
  lt_setenv (name, new_value);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3964
  XFREE (new_value);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3965
  XFREE (name);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3966
  XFREE (value);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3967
}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3968
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3969
void
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3970
lt_opt_process_env_append (const char *arg)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3971
{
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3972
  char *name = NULL;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3973
  char *value = NULL;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3974
  char *new_value = NULL;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3975
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3976
  if (lt_split_name_value (arg, &name, &value) != 0)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3977
    {
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3978
      XFREE (name);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3979
      XFREE (value);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3980
      lt_fatal ("bad argument for %s: '%s'", env_append_opt, arg);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3981
    }
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3982
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3983
  new_value = lt_extend_str (getenv (name), value, 1);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3984
  lt_setenv (name, new_value);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3985
  XFREE (new_value);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3986
  XFREE (name);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3987
  XFREE (value);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3988
}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3989
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3990
void
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3991
lt_update_exe_path (const char *name, const char *value)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3992
{
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3993
  LTWRAPPER_DEBUGPRINTF (("(lt_update_exe_path) modifying '%s' by prepending '%s'\n",
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3994
                          (name ? name : "<NULL>"),
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3995
                          (value ? value : "<NULL>")));
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3996
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3997
  if (name && *name && value && *value)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3998
    {
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  3999
      char *new_value = lt_extend_str (getenv (name), value, 0);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4000
      /* some systems can't cope with a ':'-terminated path #' */
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4001
      int len = strlen (new_value);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4002
      while (((len = strlen (new_value)) > 0) && IS_PATH_SEPARATOR (new_value[len-1]))
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4003
        {
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4004
          new_value[len-1] = '\0';
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4005
        }
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4006
      lt_setenv (name, new_value);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4007
      XFREE (new_value);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4008
    }
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4009
}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4010
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4011
void
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4012
lt_update_lib_path (const char *name, const char *value)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4013
{
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4014
  LTWRAPPER_DEBUGPRINTF (("(lt_update_lib_path) modifying '%s' by prepending '%s'\n",
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4015
                          (name ? name : "<NULL>"),
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4016
                          (value ? value : "<NULL>")));
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4017
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4018
  if (name && *name && value && *value)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4019
    {
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4020
      char *new_value = lt_extend_str (getenv (name), value, 0);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4021
      lt_setenv (name, new_value);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4022
      XFREE (new_value);
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4023
    }
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4024
}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4025
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4026
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4027
EOF
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4028
}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4029
# end: func_emit_cwrapperexe_src
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4030
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4031
# func_mode_link arg...
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4032
func_mode_link ()
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4033
{
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4034
    $opt_debug
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4035
    case $host in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4036
    *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4037
      # It is impossible to link a dll without this setting, and
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4038
      # we shouldn't force the makefile maintainer to figure out
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4039
      # which system we are compiling for in order to pass an extra
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4040
      # flag for every libtool invocation.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4041
      # allow_undefined=no
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4042
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4043
      # FIXME: Unfortunately, there are problems with the above when trying
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4044
      # to make a dll which has undefined symbols, in which case not
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4045
      # even a static library is built.  For now, we need to specify
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4046
      # -no-undefined on the libtool link line when we can be certain
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4047
      # that all symbols are satisfied, otherwise we get a static library.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4048
      allow_undefined=yes
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4049
      ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4050
    *)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4051
      allow_undefined=yes
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4052
      ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4053
    esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4054
    libtool_args=$nonopt
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4055
    base_compile="$nonopt $@"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4056
    compile_command=$nonopt
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4057
    finalize_command=$nonopt
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4058
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4059
    compile_rpath=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4060
    finalize_rpath=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4061
    compile_shlibpath=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4062
    finalize_shlibpath=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4063
    convenience=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4064
    old_convenience=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4065
    deplibs=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4066
    old_deplibs=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4067
    compiler_flags=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4068
    linker_flags=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4069
    dllsearchpath=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4070
    lib_search_path=`pwd`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4071
    inst_prefix_dir=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4072
    new_inherited_linker_flags=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4073
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4074
    avoid_version=no
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4075
    dlfiles=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4076
    dlprefiles=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4077
    dlself=no
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4078
    export_dynamic=no
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4079
    export_symbols=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4080
    export_symbols_regex=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4081
    generated=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4082
    libobjs=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4083
    ltlibs=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4084
    module=no
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4085
    no_install=no
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4086
    objs=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4087
    non_pic_objects=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4088
    precious_files_regex=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4089
    prefer_static_libs=no
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4090
    preload=no
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4091
    prev=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4092
    prevarg=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4093
    release=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4094
    rpath=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4095
    xrpath=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4096
    perm_rpath=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4097
    temp_rpath=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4098
    thread_safe=no
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4099
    vinfo=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4100
    vinfo_number=no
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4101
    weak_libs=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4102
    single_module="${wl}-single_module"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4103
    func_infer_tag $base_compile
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4104
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4105
    # We need to know -static, to get the right output filenames.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4106
    for arg
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4107
    do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4108
      case $arg in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4109
      -shared)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4110
	test "$build_libtool_libs" != yes && \
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4111
	  func_fatal_configuration "can not build a shared library"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4112
	build_old_libs=no
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4113
	break
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4114
	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4115
      -all-static | -static | -static-libtool-libs)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4116
	case $arg in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4117
	-all-static)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4118
	  if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4119
	    func_warning "complete static linking is impossible in this configuration"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4120
	  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4121
	  if test -n "$link_static_flag"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4122
	    dlopen_self=$dlopen_self_static
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4123
	  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4124
	  prefer_static_libs=yes
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4125
	  ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4126
	-static)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4127
	  if test -z "$pic_flag" && test -n "$link_static_flag"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4128
	    dlopen_self=$dlopen_self_static
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4129
	  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4130
	  prefer_static_libs=built
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4131
	  ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4132
	-static-libtool-libs)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4133
	  if test -z "$pic_flag" && test -n "$link_static_flag"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4134
	    dlopen_self=$dlopen_self_static
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4135
	  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4136
	  prefer_static_libs=yes
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4137
	  ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4138
	esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4139
	build_libtool_libs=no
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4140
	build_old_libs=yes
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4141
	break
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4142
	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4143
      esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4144
    done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4145
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4146
    # See if our shared archives depend on static archives.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4147
    test -n "$old_archive_from_new_cmds" && build_old_libs=yes
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4148
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4149
    # Go through the arguments, transforming them on the way.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4150
    while test "$#" -gt 0; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4151
      arg="$1"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4152
      shift
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4153
      func_quote_for_eval "$arg"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4154
      qarg=$func_quote_for_eval_unquoted_result
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4155
      func_append libtool_args " $func_quote_for_eval_result"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4156
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4157
      # If the previous option needs an argument, assign it.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4158
      if test -n "$prev"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4159
	case $prev in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4160
	output)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4161
	  func_append compile_command " @OUTPUT@"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4162
	  func_append finalize_command " @OUTPUT@"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4163
	  ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4164
	esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4165
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4166
	case $prev in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4167
	dlfiles|dlprefiles)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4168
	  if test "$preload" = no; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4169
	    # Add the symbol object into the linking commands.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4170
	    func_append compile_command " @SYMFILE@"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4171
	    func_append finalize_command " @SYMFILE@"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4172
	    preload=yes
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4173
	  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4174
	  case $arg in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4175
	  *.la | *.lo) ;;  # We handle these cases below.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4176
	  force)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4177
	    if test "$dlself" = no; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4178
	      dlself=needless
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4179
	      export_dynamic=yes
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4180
	    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4181
	    prev=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4182
	    continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4183
	    ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4184
	  self)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4185
	    if test "$prev" = dlprefiles; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4186
	      dlself=yes
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4187
	    elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4188
	      dlself=yes
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4189
	    else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4190
	      dlself=needless
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4191
	      export_dynamic=yes
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4192
	    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4193
	    prev=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4194
	    continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4195
	    ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4196
	  *)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4197
	    if test "$prev" = dlfiles; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4198
	      dlfiles="$dlfiles $arg"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4199
	    else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4200
	      dlprefiles="$dlprefiles $arg"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4201
	    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4202
	    prev=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4203
	    continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4204
	    ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4205
	  esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4206
	  ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4207
	expsyms)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4208
	  export_symbols="$arg"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4209
	  test -f "$arg" \
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4210
	    || func_fatal_error "symbol file \`$arg' does not exist"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4211
	  prev=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4212
	  continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4213
	  ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4214
	expsyms_regex)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4215
	  export_symbols_regex="$arg"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4216
	  prev=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4217
	  continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4218
	  ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4219
	framework)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4220
	  case $host in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4221
	    *-*-darwin*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4222
	      case "$deplibs " in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4223
		*" $qarg.ltframework "*) ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4224
		*) deplibs="$deplibs $qarg.ltframework" # this is fixed later
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4225
		   ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4226
	      esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4227
	      ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4228
	  esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4229
	  prev=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4230
	  continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4231
	  ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4232
	inst_prefix)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4233
	  inst_prefix_dir="$arg"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4234
	  prev=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4235
	  continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4236
	  ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4237
	objectlist)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4238
	  if test -f "$arg"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4239
	    save_arg=$arg
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4240
	    moreargs=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4241
	    for fil in `cat "$save_arg"`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4242
	    do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4243
#	      moreargs="$moreargs $fil"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4244
	      arg=$fil
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4245
	      # A libtool-controlled object.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4246
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4247
	      # Check to see that this really is a libtool object.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4248
	      if func_lalib_unsafe_p "$arg"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4249
		pic_object=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4250
		non_pic_object=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4251
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4252
		# Read the .lo file
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4253
		func_source "$arg"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4254
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4255
		if test -z "$pic_object" ||
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4256
		   test -z "$non_pic_object" ||
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4257
		   test "$pic_object" = none &&
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4258
		   test "$non_pic_object" = none; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4259
		  func_fatal_error "cannot find name of object for \`$arg'"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4260
		fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4261
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4262
		# Extract subdirectory from the argument.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4263
		func_dirname "$arg" "/" ""
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4264
		xdir="$func_dirname_result"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4265
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4266
		if test "$pic_object" != none; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4267
		  # Prepend the subdirectory the object is found in.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4268
		  pic_object="$xdir$pic_object"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4269
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4270
		  if test "$prev" = dlfiles; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4271
		    if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4272
		      dlfiles="$dlfiles $pic_object"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4273
		      prev=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4274
		      continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4275
		    else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4276
		      # If libtool objects are unsupported, then we need to preload.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4277
		      prev=dlprefiles
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4278
		    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4279
		  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4280
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4281
		  # CHECK ME:  I think I busted this.  -Ossama
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4282
		  if test "$prev" = dlprefiles; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4283
		    # Preload the old-style object.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4284
		    dlprefiles="$dlprefiles $pic_object"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4285
		    prev=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4286
		  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4287
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4288
		  # A PIC object.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4289
		  func_append libobjs " $pic_object"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4290
		  arg="$pic_object"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4291
		fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4292
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4293
		# Non-PIC object.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4294
		if test "$non_pic_object" != none; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4295
		  # Prepend the subdirectory the object is found in.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4296
		  non_pic_object="$xdir$non_pic_object"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4297
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4298
		  # A standard non-PIC object
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4299
		  func_append non_pic_objects " $non_pic_object"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4300
		  if test -z "$pic_object" || test "$pic_object" = none ; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4301
		    arg="$non_pic_object"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4302
		  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4303
		else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4304
		  # If the PIC object exists, use it instead.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4305
		  # $xdir was prepended to $pic_object above.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4306
		  non_pic_object="$pic_object"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4307
		  func_append non_pic_objects " $non_pic_object"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4308
		fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4309
	      else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4310
		# Only an error if not doing a dry-run.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4311
		if $opt_dry_run; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4312
		  # Extract subdirectory from the argument.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4313
		  func_dirname "$arg" "/" ""
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4314
		  xdir="$func_dirname_result"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4315
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4316
		  func_lo2o "$arg"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4317
		  pic_object=$xdir$objdir/$func_lo2o_result
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4318
		  non_pic_object=$xdir$func_lo2o_result
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4319
		  func_append libobjs " $pic_object"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4320
		  func_append non_pic_objects " $non_pic_object"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4321
	        else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4322
		  func_fatal_error "\`$arg' is not a valid libtool object"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4323
		fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4324
	      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4325
	    done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4326
	  else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4327
	    func_fatal_error "link input file \`$arg' does not exist"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4328
	  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4329
	  arg=$save_arg
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4330
	  prev=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4331
	  continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4332
	  ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4333
	precious_regex)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4334
	  precious_files_regex="$arg"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4335
	  prev=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4336
	  continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4337
	  ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4338
	release)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4339
	  release="-$arg"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4340
	  prev=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4341
	  continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4342
	  ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4343
	rpath | xrpath)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4344
	  # We need an absolute path.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4345
	  case $arg in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4346
	  [\\/]* | [A-Za-z]:[\\/]*) ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4347
	  *)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4348
	    func_fatal_error "only absolute run-paths are allowed"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4349
	    ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4350
	  esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4351
	  if test "$prev" = rpath; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4352
	    case "$rpath " in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4353
	    *" $arg "*) ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4354
	    *) rpath="$rpath $arg" ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4355
	    esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4356
	  else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4357
	    case "$xrpath " in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4358
	    *" $arg "*) ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4359
	    *) xrpath="$xrpath $arg" ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4360
	    esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4361
	  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4362
	  prev=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4363
	  continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4364
	  ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4365
	shrext)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4366
	  shrext_cmds="$arg"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4367
	  prev=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4368
	  continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4369
	  ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4370
	weak)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4371
	  weak_libs="$weak_libs $arg"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4372
	  prev=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4373
	  continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4374
	  ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4375
	xcclinker)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4376
	  linker_flags="$linker_flags $qarg"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4377
	  compiler_flags="$compiler_flags $qarg"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4378
	  prev=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4379
	  func_append compile_command " $qarg"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4380
	  func_append finalize_command " $qarg"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4381
	  continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4382
	  ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4383
	xcompiler)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4384
	  compiler_flags="$compiler_flags $qarg"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4385
	  prev=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4386
	  func_append compile_command " $qarg"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4387
	  func_append finalize_command " $qarg"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4388
	  continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4389
	  ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4390
	xlinker)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4391
	  linker_flags="$linker_flags $qarg"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4392
	  compiler_flags="$compiler_flags $wl$qarg"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4393
	  prev=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4394
	  func_append compile_command " $wl$qarg"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4395
	  func_append finalize_command " $wl$qarg"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4396
	  continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4397
	  ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4398
	*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4399
	  eval "$prev=\"\$arg\""
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4400
	  prev=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4401
	  continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4402
	  ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4403
	esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4404
      fi # test -n "$prev"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4405
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4406
      prevarg="$arg"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4407
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4408
      case $arg in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4409
      -all-static)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4410
	if test -n "$link_static_flag"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4411
	  # See comment for -static flag below, for more details.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4412
	  func_append compile_command " $link_static_flag"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4413
	  func_append finalize_command " $link_static_flag"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4414
	fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4415
	continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4416
	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4417
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4418
      -allow-undefined)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4419
	# FIXME: remove this flag sometime in the future.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4420
	func_fatal_error "\`-allow-undefined' must not be used because it is the default"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4421
	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4422
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4423
      -avoid-version)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4424
	avoid_version=yes
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4425
	continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4426
	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4427
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4428
      -dlopen)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4429
	prev=dlfiles
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4430
	continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4431
	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4432
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4433
      -dlpreopen)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4434
	prev=dlprefiles
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4435
	continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4436
	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4437
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4438
      -export-dynamic)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4439
	export_dynamic=yes
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4440
	continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4441
	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4442
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4443
      -export-symbols | -export-symbols-regex)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4444
	if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4445
	  func_fatal_error "more than one -exported-symbols argument is not allowed"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4446
	fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4447
	if test "X$arg" = "X-export-symbols"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4448
	  prev=expsyms
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4449
	else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4450
	  prev=expsyms_regex
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4451
	fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4452
	continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4453
	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4454
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4455
      -framework)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4456
	prev=framework
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4457
	continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4458
	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4459
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4460
      -inst-prefix-dir)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4461
	prev=inst_prefix
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4462
	continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4463
	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4464
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4465
      # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:*
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4466
      # so, if we see these flags be careful not to treat them like -L
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4467
      -L[A-Z][A-Z]*:*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4468
	case $with_gcc/$host in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4469
	no/*-*-irix* | /*-*-irix*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4470
	  func_append compile_command " $arg"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4471
	  func_append finalize_command " $arg"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4472
	  ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4473
	esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4474
	continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4475
	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4476
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4477
      -L*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4478
	func_stripname '-L' '' "$arg"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4479
	dir=$func_stripname_result
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4480
	if test -z "$dir"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4481
	  if test "$#" -gt 0; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4482
	    func_fatal_error "require no space between \`-L' and \`$1'"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4483
	  else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4484
	    func_fatal_error "need path for \`-L' option"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4485
	  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4486
	fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4487
	# We need an absolute path.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4488
	case $dir in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4489
	[\\/]* | [A-Za-z]:[\\/]*) ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4490
	*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4491
	  absdir=`cd "$dir" && pwd`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4492
	  test -z "$absdir" && \
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4493
	    func_fatal_error "cannot determine absolute directory name of \`$dir'"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4494
	  dir="$absdir"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4495
	  ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4496
	esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4497
	case "$deplibs " in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4498
	*" -L$dir "*) ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4499
	*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4500
	  deplibs="$deplibs -L$dir"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4501
	  lib_search_path="$lib_search_path $dir"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4502
	  ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4503
	esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4504
	case $host in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4505
	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4506
	  testbindir=`$ECHO "X$dir" | $Xsed -e 's*/lib$*/bin*'`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4507
	  case :$dllsearchpath: in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4508
	  *":$dir:"*) ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4509
	  ::) dllsearchpath=$dir;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4510
	  *) dllsearchpath="$dllsearchpath:$dir";;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4511
	  esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4512
	  case :$dllsearchpath: in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4513
	  *":$testbindir:"*) ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4514
	  ::) dllsearchpath=$testbindir;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4515
	  *) dllsearchpath="$dllsearchpath:$testbindir";;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4516
	  esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4517
	  ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4518
	esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4519
	continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4520
	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4521
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4522
      -l*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4523
	if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4524
	  case $host in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4525
	  *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4526
	    # These systems don't actually have a C or math library (as such)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4527
	    continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4528
	    ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4529
	  *-*-os2*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4530
	    # These systems don't actually have a C library (as such)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4531
	    test "X$arg" = "X-lc" && continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4532
	    ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4533
	  *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4534
	    # Do not include libc due to us having libc/libc_r.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4535
	    test "X$arg" = "X-lc" && continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4536
	    ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4537
	  *-*-rhapsody* | *-*-darwin1.[012])
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4538
	    # Rhapsody C and math libraries are in the System framework
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4539
	    deplibs="$deplibs System.ltframework"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4540
	    continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4541
	    ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4542
	  *-*-sco3.2v5* | *-*-sco5v6*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4543
	    # Causes problems with __ctype
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4544
	    test "X$arg" = "X-lc" && continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4545
	    ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4546
	  *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4547
	    # Compiler inserts libc in the correct place for threads to work
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4548
	    test "X$arg" = "X-lc" && continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4549
	    ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4550
	  esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4551
	elif test "X$arg" = "X-lc_r"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4552
	 case $host in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4553
	 *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4554
	   # Do not include libc_r directly, use -pthread flag.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4555
	   continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4556
	   ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4557
	 esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4558
	fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4559
	deplibs="$deplibs $arg"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4560
	continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4561
	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4562
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4563
      -module)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4564
	module=yes
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4565
	continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4566
	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4567
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4568
      # Tru64 UNIX uses -model [arg] to determine the layout of C++
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4569
      # classes, name mangling, and exception handling.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4570
      # Darwin uses the -arch flag to determine output architecture.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4571
      -model|-arch|-isysroot)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4572
	compiler_flags="$compiler_flags $arg"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4573
	func_append compile_command " $arg"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4574
	func_append finalize_command " $arg"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4575
	prev=xcompiler
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4576
	continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4577
	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4578
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4579
      -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4580
	compiler_flags="$compiler_flags $arg"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4581
	func_append compile_command " $arg"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4582
	func_append finalize_command " $arg"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4583
	case "$new_inherited_linker_flags " in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4584
	    *" $arg "*) ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4585
	    * ) new_inherited_linker_flags="$new_inherited_linker_flags $arg" ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4586
	esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4587
	continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4588
	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4589
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4590
      -multi_module)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4591
	single_module="${wl}-multi_module"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4592
	continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4593
	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4594
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4595
      -no-fast-install)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4596
	fast_install=no
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4597
	continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4598
	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4599
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4600
      -no-install)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4601
	case $host in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4602
	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4603
	  # The PATH hackery in wrapper scripts is required on Windows
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4604
	  # and Darwin in order for the loader to find any dlls it needs.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4605
	  func_warning "\`-no-install' is ignored for $host"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4606
	  func_warning "assuming \`-no-fast-install' instead"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4607
	  fast_install=no
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4608
	  ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4609
	*) no_install=yes ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4610
	esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4611
	continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4612
	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4613
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4614
      -no-undefined)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4615
	allow_undefined=no
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4616
	continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4617
	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4618
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4619
      -objectlist)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4620
	prev=objectlist
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4621
	continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4622
	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4623
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4624
      -o) prev=output ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4625
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4626
      -precious-files-regex)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4627
	prev=precious_regex
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4628
	continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4629
	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4630
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4631
      -release)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4632
	prev=release
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4633
	continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4634
	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4635
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4636
      -rpath)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4637
	prev=rpath
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4638
	continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4639
	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4640
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4641
      -R)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4642
	prev=xrpath
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4643
	continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4644
	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4645
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4646
      -R*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4647
	func_stripname '-R' '' "$arg"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4648
	dir=$func_stripname_result
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4649
	# We need an absolute path.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4650
	case $dir in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4651
	[\\/]* | [A-Za-z]:[\\/]*) ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4652
	*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4653
	  func_fatal_error "only absolute run-paths are allowed"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4654
	  ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4655
	esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4656
	case "$xrpath " in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4657
	*" $dir "*) ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4658
	*) xrpath="$xrpath $dir" ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4659
	esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4660
	continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4661
	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4662
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4663
      -shared)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4664
	# The effects of -shared are defined in a previous loop.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4665
	continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4666
	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4667
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4668
      -shrext)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4669
	prev=shrext
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4670
	continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4671
	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4672
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4673
      -static | -static-libtool-libs)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4674
	# The effects of -static are defined in a previous loop.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4675
	# We used to do the same as -all-static on platforms that
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4676
	# didn't have a PIC flag, but the assumption that the effects
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4677
	# would be equivalent was wrong.  It would break on at least
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4678
	# Digital Unix and AIX.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4679
	continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4680
	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4681
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4682
      -thread-safe)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4683
	thread_safe=yes
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4684
	continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4685
	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4686
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4687
      -version-info)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4688
	prev=vinfo
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4689
	continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4690
	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4691
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4692
      -version-number)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4693
	prev=vinfo
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4694
	vinfo_number=yes
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4695
	continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4696
	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4697
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4698
      -weak)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4699
        prev=weak
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4700
	continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4701
	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4702
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4703
      -Wc,*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4704
	func_stripname '-Wc,' '' "$arg"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4705
	args=$func_stripname_result
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4706
	arg=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4707
	save_ifs="$IFS"; IFS=','
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4708
	for flag in $args; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4709
	  IFS="$save_ifs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4710
          func_quote_for_eval "$flag"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4711
	  arg="$arg $wl$func_quote_for_eval_result"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4712
	  compiler_flags="$compiler_flags $func_quote_for_eval_result"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4713
	done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4714
	IFS="$save_ifs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4715
	func_stripname ' ' '' "$arg"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4716
	arg=$func_stripname_result
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4717
	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4718
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4719
      -Wl,*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4720
	func_stripname '-Wl,' '' "$arg"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4721
	args=$func_stripname_result
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4722
	arg=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4723
	save_ifs="$IFS"; IFS=','
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4724
	for flag in $args; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4725
	  IFS="$save_ifs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4726
          func_quote_for_eval "$flag"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4727
	  arg="$arg $wl$func_quote_for_eval_result"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4728
	  compiler_flags="$compiler_flags $wl$func_quote_for_eval_result"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4729
	  linker_flags="$linker_flags $func_quote_for_eval_result"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4730
	done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4731
	IFS="$save_ifs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4732
	func_stripname ' ' '' "$arg"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4733
	arg=$func_stripname_result
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4734
	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4735
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4736
      -Xcompiler)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4737
	prev=xcompiler
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4738
	continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4739
	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4740
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4741
      -Xlinker)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4742
	prev=xlinker
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4743
	continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4744
	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4745
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4746
      -XCClinker)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4747
	prev=xcclinker
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4748
	continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4749
	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4750
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4751
      # -msg_* for osf cc
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4752
      -msg_*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4753
	func_quote_for_eval "$arg"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4754
	arg="$func_quote_for_eval_result"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4755
	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4756
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4757
      # -64, -mips[0-9] enable 64-bit mode on the SGI compiler
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4758
      # -r[0-9][0-9]* specifies the processor on the SGI compiler
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4759
      # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4760
      # +DA*, +DD* enable 64-bit mode on the HP compiler
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4761
      # -q* pass through compiler args for the IBM compiler
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4762
      # -m*, -t[45]*, -txscale* pass through architecture-specific
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4763
      # compiler args for GCC
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4764
      # -F/path gives path to uninstalled frameworks, gcc on darwin
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4765
      # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4766
      # @file GCC response files
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4767
      -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4768
      -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4769
        func_quote_for_eval "$arg"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4770
	arg="$func_quote_for_eval_result"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4771
        func_append compile_command " $arg"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4772
        func_append finalize_command " $arg"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4773
        compiler_flags="$compiler_flags $arg"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4774
        continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4775
        ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4776
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4777
      # Some other compiler flag.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4778
      -* | +*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4779
        func_quote_for_eval "$arg"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4780
	arg="$func_quote_for_eval_result"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4781
	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4782
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4783
      *.$objext)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4784
	# A standard object.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4785
	objs="$objs $arg"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4786
	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4787
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4788
      *.lo)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4789
	# A libtool-controlled object.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4790
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4791
	# Check to see that this really is a libtool object.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4792
	if func_lalib_unsafe_p "$arg"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4793
	  pic_object=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4794
	  non_pic_object=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4795
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4796
	  # Read the .lo file
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4797
	  func_source "$arg"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4798
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4799
	  if test -z "$pic_object" ||
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4800
	     test -z "$non_pic_object" ||
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4801
	     test "$pic_object" = none &&
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4802
	     test "$non_pic_object" = none; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4803
	    func_fatal_error "cannot find name of object for \`$arg'"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4804
	  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4805
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4806
	  # Extract subdirectory from the argument.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4807
	  func_dirname "$arg" "/" ""
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4808
	  xdir="$func_dirname_result"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4809
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4810
	  if test "$pic_object" != none; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4811
	    # Prepend the subdirectory the object is found in.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4812
	    pic_object="$xdir$pic_object"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4813
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4814
	    if test "$prev" = dlfiles; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4815
	      if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4816
		dlfiles="$dlfiles $pic_object"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4817
		prev=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4818
		continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4819
	      else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4820
		# If libtool objects are unsupported, then we need to preload.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4821
		prev=dlprefiles
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4822
	      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4823
	    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4824
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4825
	    # CHECK ME:  I think I busted this.  -Ossama
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4826
	    if test "$prev" = dlprefiles; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4827
	      # Preload the old-style object.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4828
	      dlprefiles="$dlprefiles $pic_object"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4829
	      prev=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4830
	    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4831
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4832
	    # A PIC object.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4833
	    func_append libobjs " $pic_object"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4834
	    arg="$pic_object"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4835
	  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4836
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4837
	  # Non-PIC object.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4838
	  if test "$non_pic_object" != none; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4839
	    # Prepend the subdirectory the object is found in.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4840
	    non_pic_object="$xdir$non_pic_object"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4841
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4842
	    # A standard non-PIC object
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4843
	    func_append non_pic_objects " $non_pic_object"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4844
	    if test -z "$pic_object" || test "$pic_object" = none ; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4845
	      arg="$non_pic_object"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4846
	    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4847
	  else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4848
	    # If the PIC object exists, use it instead.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4849
	    # $xdir was prepended to $pic_object above.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4850
	    non_pic_object="$pic_object"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4851
	    func_append non_pic_objects " $non_pic_object"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4852
	  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4853
	else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4854
	  # Only an error if not doing a dry-run.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4855
	  if $opt_dry_run; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4856
	    # Extract subdirectory from the argument.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4857
	    func_dirname "$arg" "/" ""
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4858
	    xdir="$func_dirname_result"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4859
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4860
	    func_lo2o "$arg"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4861
	    pic_object=$xdir$objdir/$func_lo2o_result
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4862
	    non_pic_object=$xdir$func_lo2o_result
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4863
	    func_append libobjs " $pic_object"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4864
	    func_append non_pic_objects " $non_pic_object"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4865
	  else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4866
	    func_fatal_error "\`$arg' is not a valid libtool object"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4867
	  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4868
	fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4869
	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4870
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4871
      *.$libext)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4872
	# An archive.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4873
	deplibs="$deplibs $arg"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4874
	old_deplibs="$old_deplibs $arg"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4875
	continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4876
	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4877
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4878
      *.la)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4879
	# A libtool-controlled library.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4880
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4881
	if test "$prev" = dlfiles; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4882
	  # This library was specified with -dlopen.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4883
	  dlfiles="$dlfiles $arg"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4884
	  prev=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4885
	elif test "$prev" = dlprefiles; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4886
	  # The library was specified with -dlpreopen.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4887
	  dlprefiles="$dlprefiles $arg"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4888
	  prev=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4889
	else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4890
	  deplibs="$deplibs $arg"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4891
	fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4892
	continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4893
	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4894
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4895
      # Some other compiler argument.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4896
      *)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4897
	# Unknown arguments in both finalize_command and compile_command need
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4898
	# to be aesthetically quoted because they are evaled later.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4899
	func_quote_for_eval "$arg"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4900
	arg="$func_quote_for_eval_result"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4901
	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4902
      esac # arg
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4903
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4904
      # Now actually substitute the argument into the commands.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4905
      if test -n "$arg"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4906
	func_append compile_command " $arg"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4907
	func_append finalize_command " $arg"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4908
      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4909
    done # argument parsing loop
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4910
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4911
    test -n "$prev" && \
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4912
      func_fatal_help "the \`$prevarg' option requires an argument"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4913
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4914
    if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4915
      eval arg=\"$export_dynamic_flag_spec\"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4916
      func_append compile_command " $arg"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4917
      func_append finalize_command " $arg"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4918
    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4919
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4920
    oldlibs=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4921
    # calculate the name of the file, without its directory
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4922
    func_basename "$output"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4923
    outputname="$func_basename_result"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4924
    libobjs_save="$libobjs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4925
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4926
    if test -n "$shlibpath_var"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4927
      # get the directories listed in $shlibpath_var
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4928
      eval shlib_search_path=\`\$ECHO \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4929
    else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4930
      shlib_search_path=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4931
    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4932
    eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4933
    eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4934
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4935
    func_dirname "$output" "/" ""
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4936
    output_objdir="$func_dirname_result$objdir"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4937
    # Create the object directory.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4938
    func_mkdir_p "$output_objdir"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4939
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4940
    # Determine the type of output
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4941
    case $output in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4942
    "")
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4943
      func_fatal_help "you must specify an output file"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4944
      ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4945
    *.$libext) linkmode=oldlib ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4946
    *.lo | *.$objext) linkmode=obj ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4947
    *.la) linkmode=lib ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4948
    *) linkmode=prog ;; # Anything else should be a program.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4949
    esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4950
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4951
    specialdeplibs=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4952
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4953
    libs=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4954
    # Find all interdependent deplibs by searching for libraries
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4955
    # that are linked more than once (e.g. -la -lb -la)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4956
    for deplib in $deplibs; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4957
      if $opt_duplicate_deps ; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4958
	case "$libs " in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4959
	*" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4960
	esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4961
      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4962
      libs="$libs $deplib"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4963
    done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4964
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4965
    if test "$linkmode" = lib; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4966
      libs="$predeps $libs $compiler_lib_search_path $postdeps"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4967
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4968
      # Compute libraries that are listed more than once in $predeps
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4969
      # $postdeps and mark them as special (i.e., whose duplicates are
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4970
      # not to be eliminated).
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4971
      pre_post_deps=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4972
      if $opt_duplicate_compiler_generated_deps; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4973
	for pre_post_dep in $predeps $postdeps; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4974
	  case "$pre_post_deps " in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4975
	  *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4976
	  esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4977
	  pre_post_deps="$pre_post_deps $pre_post_dep"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4978
	done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4979
      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4980
      pre_post_deps=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4981
    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4982
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4983
    deplibs=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4984
    newdependency_libs=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4985
    newlib_search_path=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4986
    need_relink=no # whether we're linking any uninstalled libtool libraries
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4987
    notinst_deplibs= # not-installed libtool libraries
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4988
    notinst_path= # paths that contain not-installed libtool libraries
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4989
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4990
    case $linkmode in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4991
    lib)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4992
	passes="conv dlpreopen link"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4993
	for file in $dlfiles $dlprefiles; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4994
	  case $file in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4995
	  *.la) ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4996
	  *)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4997
	    func_fatal_help "libraries can \`-dlopen' only libtool libraries: $file"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4998
	    ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  4999
	  esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5000
	done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5001
	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5002
    prog)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5003
	compile_deplibs=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5004
	finalize_deplibs=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5005
	alldeplibs=no
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5006
	newdlfiles=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5007
	newdlprefiles=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5008
	passes="conv scan dlopen dlpreopen link"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5009
	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5010
    *)  passes="conv"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5011
	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5012
    esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5013
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5014
    for pass in $passes; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5015
      # The preopen pass in lib mode reverses $deplibs; put it back here
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5016
      # so that -L comes before libs that need it for instance...
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5017
      if test "$linkmode,$pass" = "lib,link"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5018
	## FIXME: Find the place where the list is rebuilt in the wrong
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5019
	##        order, and fix it there properly
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5020
        tmp_deplibs=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5021
	for deplib in $deplibs; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5022
	  tmp_deplibs="$deplib $tmp_deplibs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5023
	done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5024
	deplibs="$tmp_deplibs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5025
      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5026
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5027
      if test "$linkmode,$pass" = "lib,link" ||
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5028
	 test "$linkmode,$pass" = "prog,scan"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5029
	libs="$deplibs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5030
	deplibs=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5031
      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5032
      if test "$linkmode" = prog; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5033
	case $pass in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5034
	dlopen) libs="$dlfiles" ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5035
	dlpreopen) libs="$dlprefiles" ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5036
	link) libs="$deplibs %DEPLIBS% $dependency_libs" ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5037
	esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5038
      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5039
      if test "$linkmode,$pass" = "lib,dlpreopen"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5040
	# Collect and forward deplibs of preopened libtool libs
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5041
	for lib in $dlprefiles; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5042
	  # Ignore non-libtool-libs
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5043
	  dependency_libs=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5044
	  case $lib in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5045
	  *.la)	func_source "$lib" ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5046
	  esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5047
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5048
	  # Collect preopened libtool deplibs, except any this library
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5049
	  # has declared as weak libs
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5050
	  for deplib in $dependency_libs; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5051
            deplib_base=`$ECHO "X$deplib" | $Xsed -e "$basename"`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5052
	    case " $weak_libs " in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5053
	    *" $deplib_base "*) ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5054
	    *) deplibs="$deplibs $deplib" ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5055
	    esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5056
	  done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5057
	done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5058
	libs="$dlprefiles"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5059
      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5060
      if test "$pass" = dlopen; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5061
	# Collect dlpreopened libraries
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5062
	save_deplibs="$deplibs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5063
	deplibs=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5064
      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5065
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5066
      for deplib in $libs; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5067
	lib=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5068
	found=no
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5069
	case $deplib in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5070
	-mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5071
	  if test "$linkmode,$pass" = "prog,link"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5072
	    compile_deplibs="$deplib $compile_deplibs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5073
	    finalize_deplibs="$deplib $finalize_deplibs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5074
	  else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5075
	    compiler_flags="$compiler_flags $deplib"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5076
	    if test "$linkmode" = lib ; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5077
		case "$new_inherited_linker_flags " in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5078
		    *" $deplib "*) ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5079
		    * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5080
		esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5081
	    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5082
	  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5083
	  continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5084
	  ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5085
	-l*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5086
	  if test "$linkmode" != lib && test "$linkmode" != prog; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5087
	    func_warning "\`-l' is ignored for archives/objects"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5088
	    continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5089
	  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5090
	  func_stripname '-l' '' "$deplib"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5091
	  name=$func_stripname_result
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5092
	  if test "$linkmode" = lib; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5093
	    searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5094
	  else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5095
	    searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5096
	  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5097
	  for searchdir in $searchdirs; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5098
	    for search_ext in .la $std_shrext .so .a; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5099
	      # Search the libtool library
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5100
	      lib="$searchdir/lib${name}${search_ext}"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5101
	      if test -f "$lib"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5102
		if test "$search_ext" = ".la"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5103
		  found=yes
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5104
		else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5105
		  found=no
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5106
		fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5107
		break 2
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5108
	      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5109
	    done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5110
	  done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5111
	  if test "$found" != yes; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5112
	    # deplib doesn't seem to be a libtool library
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5113
	    if test "$linkmode,$pass" = "prog,link"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5114
	      compile_deplibs="$deplib $compile_deplibs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5115
	      finalize_deplibs="$deplib $finalize_deplibs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5116
	    else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5117
	      deplibs="$deplib $deplibs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5118
	      test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5119
	    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5120
	    continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5121
	  else # deplib is a libtool library
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5122
	    # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib,
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5123
	    # We need to do some special things here, and not later.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5124
	    if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5125
	      case " $predeps $postdeps " in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5126
	      *" $deplib "*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5127
		if func_lalib_p "$lib"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5128
		  library_names=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5129
		  old_library=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5130
		  func_source "$lib"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5131
		  for l in $old_library $library_names; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5132
		    ll="$l"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5133
		  done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5134
		  if test "X$ll" = "X$old_library" ; then # only static version available
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5135
		    found=no
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5136
		    func_dirname "$lib" "" "."
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5137
		    ladir="$func_dirname_result"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5138
		    lib=$ladir/$old_library
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5139
		    if test "$linkmode,$pass" = "prog,link"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5140
		      compile_deplibs="$deplib $compile_deplibs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5141
		      finalize_deplibs="$deplib $finalize_deplibs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5142
		    else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5143
		      deplibs="$deplib $deplibs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5144
		      test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5145
		    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5146
		    continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5147
		  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5148
		fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5149
		;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5150
	      *) ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5151
	      esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5152
	    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5153
	  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5154
	  ;; # -l
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5155
	*.ltframework)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5156
	  if test "$linkmode,$pass" = "prog,link"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5157
	    compile_deplibs="$deplib $compile_deplibs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5158
	    finalize_deplibs="$deplib $finalize_deplibs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5159
	  else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5160
	    deplibs="$deplib $deplibs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5161
	    if test "$linkmode" = lib ; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5162
		case "$new_inherited_linker_flags " in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5163
		    *" $deplib "*) ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5164
		    * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5165
		esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5166
	    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5167
	  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5168
	  continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5169
	  ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5170
	-L*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5171
	  case $linkmode in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5172
	  lib)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5173
	    deplibs="$deplib $deplibs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5174
	    test "$pass" = conv && continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5175
	    newdependency_libs="$deplib $newdependency_libs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5176
	    func_stripname '-L' '' "$deplib"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5177
	    newlib_search_path="$newlib_search_path $func_stripname_result"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5178
	    ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5179
	  prog)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5180
	    if test "$pass" = conv; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5181
	      deplibs="$deplib $deplibs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5182
	      continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5183
	    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5184
	    if test "$pass" = scan; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5185
	      deplibs="$deplib $deplibs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5186
	    else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5187
	      compile_deplibs="$deplib $compile_deplibs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5188
	      finalize_deplibs="$deplib $finalize_deplibs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5189
	    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5190
	    func_stripname '-L' '' "$deplib"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5191
	    newlib_search_path="$newlib_search_path $func_stripname_result"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5192
	    ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5193
	  *)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5194
	    func_warning "\`-L' is ignored for archives/objects"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5195
	    ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5196
	  esac # linkmode
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5197
	  continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5198
	  ;; # -L
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5199
	-R*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5200
	  if test "$pass" = link; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5201
	    func_stripname '-R' '' "$deplib"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5202
	    dir=$func_stripname_result
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5203
	    # Make sure the xrpath contains only unique directories.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5204
	    case "$xrpath " in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5205
	    *" $dir "*) ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5206
	    *) xrpath="$xrpath $dir" ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5207
	    esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5208
	  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5209
	  deplibs="$deplib $deplibs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5210
	  continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5211
	  ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5212
	*.la) lib="$deplib" ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5213
	*.$libext)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5214
	  if test "$pass" = conv; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5215
	    deplibs="$deplib $deplibs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5216
	    continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5217
	  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5218
	  case $linkmode in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5219
	  lib)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5220
	    # Linking convenience modules into shared libraries is allowed,
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5221
	    # but linking other static libraries is non-portable.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5222
	    case " $dlpreconveniencelibs " in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5223
	    *" $deplib "*) ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5224
	    *)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5225
	      valid_a_lib=no
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5226
	      case $deplibs_check_method in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5227
		match_pattern*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5228
		  set dummy $deplibs_check_method; shift
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5229
		  match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5230
		  if eval "\$ECHO \"X$deplib\"" 2>/dev/null | $Xsed -e 10q \
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5231
		    | $EGREP "$match_pattern_regex" > /dev/null; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5232
		    valid_a_lib=yes
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5233
		  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5234
		;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5235
		pass_all)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5236
		  valid_a_lib=yes
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5237
		;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5238
	      esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5239
	      if test "$valid_a_lib" != yes; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5240
		$ECHO
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5241
		$ECHO "*** Warning: Trying to link with static lib archive $deplib."
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5242
		$ECHO "*** I have the capability to make that library automatically link in when"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5243
		$ECHO "*** you link to this library.  But I can only do this if you have a"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5244
		$ECHO "*** shared version of the library, which you do not appear to have"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5245
		$ECHO "*** because the file extensions .$libext of this argument makes me believe"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5246
		$ECHO "*** that it is just a static archive that I should not use here."
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5247
	      else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5248
		$ECHO
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5249
		$ECHO "*** Warning: Linking the shared library $output against the"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5250
		$ECHO "*** static library $deplib is not portable!"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5251
		deplibs="$deplib $deplibs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5252
	      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5253
	      ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5254
	    esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5255
	    continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5256
	    ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5257
	  prog)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5258
	    if test "$pass" != link; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5259
	      deplibs="$deplib $deplibs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5260
	    else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5261
	      compile_deplibs="$deplib $compile_deplibs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5262
	      finalize_deplibs="$deplib $finalize_deplibs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5263
	    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5264
	    continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5265
	    ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5266
	  esac # linkmode
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5267
	  ;; # *.$libext
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5268
	*.lo | *.$objext)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5269
	  if test "$pass" = conv; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5270
	    deplibs="$deplib $deplibs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5271
	  elif test "$linkmode" = prog; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5272
	    if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5273
	      # If there is no dlopen support or we're linking statically,
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5274
	      # we need to preload.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5275
	      newdlprefiles="$newdlprefiles $deplib"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5276
	      compile_deplibs="$deplib $compile_deplibs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5277
	      finalize_deplibs="$deplib $finalize_deplibs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5278
	    else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5279
	      newdlfiles="$newdlfiles $deplib"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5280
	    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5281
	  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5282
	  continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5283
	  ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5284
	%DEPLIBS%)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5285
	  alldeplibs=yes
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5286
	  continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5287
	  ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5288
	esac # case $deplib
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5289
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5290
	if test "$found" = yes || test -f "$lib"; then :
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5291
	else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5292
	  func_fatal_error "cannot find the library \`$lib' or unhandled argument \`$deplib'"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5293
	fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5294
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5295
	# Check to see that this really is a libtool archive.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5296
	func_lalib_unsafe_p "$lib" \
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5297
	  || func_fatal_error "\`$lib' is not a valid libtool archive"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5298
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5299
	func_dirname "$lib" "" "."
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5300
	ladir="$func_dirname_result"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5301
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5302
	dlname=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5303
	dlopen=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5304
	dlpreopen=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5305
	libdir=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5306
	library_names=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5307
	old_library=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5308
	inherited_linker_flags=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5309
	# If the library was installed with an old release of libtool,
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5310
	# it will not redefine variables installed, or shouldnotlink
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5311
	installed=yes
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5312
	shouldnotlink=no
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5313
	avoidtemprpath=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5314
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5315
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5316
	# Read the .la file
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5317
	func_source "$lib"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5318
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5319
	# Convert "-framework foo" to "foo.ltframework"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5320
	if test -n "$inherited_linker_flags"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5321
	  tmp_inherited_linker_flags=`$ECHO "X$inherited_linker_flags" | $Xsed -e 's/-framework \([^ $]*\)/\1.ltframework/g'`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5322
	  for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5323
	    case " $new_inherited_linker_flags " in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5324
	      *" $tmp_inherited_linker_flag "*) ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5325
	      *) new_inherited_linker_flags="$new_inherited_linker_flags $tmp_inherited_linker_flag";;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5326
	    esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5327
	  done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5328
	fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5329
	dependency_libs=`$ECHO "X $dependency_libs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5330
	if test "$linkmode,$pass" = "lib,link" ||
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5331
	   test "$linkmode,$pass" = "prog,scan" ||
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5332
	   { test "$linkmode" != prog && test "$linkmode" != lib; }; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5333
	  test -n "$dlopen" && dlfiles="$dlfiles $dlopen"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5334
	  test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5335
	fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5336
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5337
	if test "$pass" = conv; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5338
	  # Only check for convenience libraries
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5339
	  deplibs="$lib $deplibs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5340
	  if test -z "$libdir"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5341
	    if test -z "$old_library"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5342
	      func_fatal_error "cannot find name of link library for \`$lib'"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5343
	    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5344
	    # It is a libtool convenience library, so add in its objects.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5345
	    convenience="$convenience $ladir/$objdir/$old_library"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5346
	    old_convenience="$old_convenience $ladir/$objdir/$old_library"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5347
	  elif test "$linkmode" != prog && test "$linkmode" != lib; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5348
	    func_fatal_error "\`$lib' is not a convenience library"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5349
	  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5350
	  tmp_libs=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5351
	  for deplib in $dependency_libs; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5352
	    deplibs="$deplib $deplibs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5353
	    if $opt_duplicate_deps ; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5354
	      case "$tmp_libs " in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5355
	      *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5356
	      esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5357
	    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5358
	    tmp_libs="$tmp_libs $deplib"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5359
	  done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5360
	  continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5361
	fi # $pass = conv
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5362
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5363
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5364
	# Get the name of the library we link against.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5365
	linklib=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5366
	for l in $old_library $library_names; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5367
	  linklib="$l"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5368
	done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5369
	if test -z "$linklib"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5370
	  func_fatal_error "cannot find name of link library for \`$lib'"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5371
	fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5372
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5373
	# This library was specified with -dlopen.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5374
	if test "$pass" = dlopen; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5375
	  if test -z "$libdir"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5376
	    func_fatal_error "cannot -dlopen a convenience library: \`$lib'"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5377
	  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5378
	  if test -z "$dlname" ||
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5379
	     test "$dlopen_support" != yes ||
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5380
	     test "$build_libtool_libs" = no; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5381
	    # If there is no dlname, no dlopen support or we're linking
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5382
	    # statically, we need to preload.  We also need to preload any
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5383
	    # dependent libraries so libltdl's deplib preloader doesn't
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5384
	    # bomb out in the load deplibs phase.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5385
	    dlprefiles="$dlprefiles $lib $dependency_libs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5386
	  else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5387
	    newdlfiles="$newdlfiles $lib"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5388
	  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5389
	  continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5390
	fi # $pass = dlopen
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5391
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5392
	# We need an absolute path.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5393
	case $ladir in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5394
	[\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5395
	*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5396
	  abs_ladir=`cd "$ladir" && pwd`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5397
	  if test -z "$abs_ladir"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5398
	    func_warning "cannot determine absolute directory name of \`$ladir'"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5399
	    func_warning "passing it literally to the linker, although it might fail"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5400
	    abs_ladir="$ladir"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5401
	  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5402
	  ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5403
	esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5404
	func_basename "$lib"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5405
	laname="$func_basename_result"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5406
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5407
	# Find the relevant object directory and library name.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5408
	if test "X$installed" = Xyes; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5409
	  if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5410
	    func_warning "library \`$lib' was moved."
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5411
	    dir="$ladir"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5412
	    absdir="$abs_ladir"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5413
	    libdir="$abs_ladir"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5414
	  else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5415
	    dir="$libdir"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5416
	    absdir="$libdir"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5417
	  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5418
	  test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5419
	else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5420
	  if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5421
	    dir="$ladir"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5422
	    absdir="$abs_ladir"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5423
	    # Remove this search path later
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5424
	    notinst_path="$notinst_path $abs_ladir"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5425
	  else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5426
	    dir="$ladir/$objdir"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5427
	    absdir="$abs_ladir/$objdir"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5428
	    # Remove this search path later
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5429
	    notinst_path="$notinst_path $abs_ladir"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5430
	  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5431
	fi # $installed = yes
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5432
	func_stripname 'lib' '.la' "$laname"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5433
	name=$func_stripname_result
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5434
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5435
	# This library was specified with -dlpreopen.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5436
	if test "$pass" = dlpreopen; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5437
	  if test -z "$libdir" && test "$linkmode" = prog; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5438
	    func_fatal_error "only libraries may -dlpreopen a convenience library: \`$lib'"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5439
	  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5440
	  # Prefer using a static library (so that no silly _DYNAMIC symbols
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5441
	  # are required to link).
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5442
	  if test -n "$old_library"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5443
	    newdlprefiles="$newdlprefiles $dir/$old_library"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5444
	    # Keep a list of preopened convenience libraries to check
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5445
	    # that they are being used correctly in the link pass.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5446
	    test -z "$libdir" && \
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5447
		dlpreconveniencelibs="$dlpreconveniencelibs $dir/$old_library"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5448
	  # Otherwise, use the dlname, so that lt_dlopen finds it.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5449
	  elif test -n "$dlname"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5450
	    newdlprefiles="$newdlprefiles $dir/$dlname"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5451
	  else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5452
	    newdlprefiles="$newdlprefiles $dir/$linklib"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5453
	  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5454
	fi # $pass = dlpreopen
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5455
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5456
	if test -z "$libdir"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5457
	  # Link the convenience library
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5458
	  if test "$linkmode" = lib; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5459
	    deplibs="$dir/$old_library $deplibs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5460
	  elif test "$linkmode,$pass" = "prog,link"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5461
	    compile_deplibs="$dir/$old_library $compile_deplibs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5462
	    finalize_deplibs="$dir/$old_library $finalize_deplibs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5463
	  else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5464
	    deplibs="$lib $deplibs" # used for prog,scan pass
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5465
	  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5466
	  continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5467
	fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5468
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5469
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5470
	if test "$linkmode" = prog && test "$pass" != link; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5471
	  newlib_search_path="$newlib_search_path $ladir"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5472
	  deplibs="$lib $deplibs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5473
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5474
	  linkalldeplibs=no
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5475
	  if test "$link_all_deplibs" != no || test -z "$library_names" ||
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5476
	     test "$build_libtool_libs" = no; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5477
	    linkalldeplibs=yes
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5478
	  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5479
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5480
	  tmp_libs=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5481
	  for deplib in $dependency_libs; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5482
	    case $deplib in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5483
	    -L*) func_stripname '-L' '' "$deplib"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5484
	         newlib_search_path="$newlib_search_path $func_stripname_result"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5485
		 ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5486
	    esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5487
	    # Need to link against all dependency_libs?
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5488
	    if test "$linkalldeplibs" = yes; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5489
	      deplibs="$deplib $deplibs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5490
	    else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5491
	      # Need to hardcode shared library paths
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5492
	      # or/and link against static libraries
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5493
	      newdependency_libs="$deplib $newdependency_libs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5494
	    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5495
	    if $opt_duplicate_deps ; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5496
	      case "$tmp_libs " in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5497
	      *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5498
	      esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5499
	    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5500
	    tmp_libs="$tmp_libs $deplib"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5501
	  done # for deplib
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5502
	  continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5503
	fi # $linkmode = prog...
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5504
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5505
	if test "$linkmode,$pass" = "prog,link"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5506
	  if test -n "$library_names" &&
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5507
	     { { test "$prefer_static_libs" = no ||
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5508
	         test "$prefer_static_libs,$installed" = "built,yes"; } ||
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5509
	       test -z "$old_library"; }; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5510
	    # We need to hardcode the library path
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5511
	    if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5512
	      # Make sure the rpath contains only unique directories.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5513
	      case "$temp_rpath:" in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5514
	      *"$absdir:"*) ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5515
	      *) temp_rpath="$temp_rpath$absdir:" ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5516
	      esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5517
	    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5518
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5519
	    # Hardcode the library path.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5520
	    # Skip directories that are in the system default run-time
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5521
	    # search path.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5522
	    case " $sys_lib_dlsearch_path " in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5523
	    *" $absdir "*) ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5524
	    *)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5525
	      case "$compile_rpath " in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5526
	      *" $absdir "*) ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5527
	      *) compile_rpath="$compile_rpath $absdir"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5528
	      esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5529
	      ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5530
	    esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5531
	    case " $sys_lib_dlsearch_path " in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5532
	    *" $libdir "*) ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5533
	    *)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5534
	      case "$finalize_rpath " in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5535
	      *" $libdir "*) ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5536
	      *) finalize_rpath="$finalize_rpath $libdir"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5537
	      esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5538
	      ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5539
	    esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5540
	  fi # $linkmode,$pass = prog,link...
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5541
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5542
	  if test "$alldeplibs" = yes &&
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5543
	     { test "$deplibs_check_method" = pass_all ||
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5544
	       { test "$build_libtool_libs" = yes &&
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5545
		 test -n "$library_names"; }; }; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5546
	    # We only need to search for static libraries
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5547
	    continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5548
	  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5549
	fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5550
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5551
	link_static=no # Whether the deplib will be linked statically
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5552
	use_static_libs=$prefer_static_libs
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5553
	if test "$use_static_libs" = built && test "$installed" = yes; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5554
	  use_static_libs=no
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5555
	fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5556
	if test -n "$library_names" &&
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5557
	   { test "$use_static_libs" = no || test -z "$old_library"; }; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5558
	  case $host in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5559
	  *cygwin* | *mingw* | *cegcc*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5560
	      # No point in relinking DLLs because paths are not encoded
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5561
	      notinst_deplibs="$notinst_deplibs $lib"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5562
	      need_relink=no
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5563
	    ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5564
	  *)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5565
	    if test "$installed" = no; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5566
	      notinst_deplibs="$notinst_deplibs $lib"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5567
	      need_relink=yes
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5568
	    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5569
	    ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5570
	  esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5571
	  # This is a shared library
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5572
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5573
	  # Warn about portability, can't link against -module's on some
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5574
	  # systems (darwin).  Don't bleat about dlopened modules though!
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5575
	  dlopenmodule=""
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5576
	  for dlpremoduletest in $dlprefiles; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5577
	    if test "X$dlpremoduletest" = "X$lib"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5578
	      dlopenmodule="$dlpremoduletest"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5579
	      break
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5580
	    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5581
	  done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5582
	  if test -z "$dlopenmodule" && test "$shouldnotlink" = yes && test "$pass" = link; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5583
	    $ECHO
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5584
	    if test "$linkmode" = prog; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5585
	      $ECHO "*** Warning: Linking the executable $output against the loadable module"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5586
	    else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5587
	      $ECHO "*** Warning: Linking the shared library $output against the loadable module"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5588
	    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5589
	    $ECHO "*** $linklib is not portable!"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5590
	  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5591
	  if test "$linkmode" = lib &&
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5592
	     test "$hardcode_into_libs" = yes; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5593
	    # Hardcode the library path.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5594
	    # Skip directories that are in the system default run-time
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5595
	    # search path.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5596
	    case " $sys_lib_dlsearch_path " in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5597
	    *" $absdir "*) ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5598
	    *)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5599
	      case "$compile_rpath " in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5600
	      *" $absdir "*) ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5601
	      *) compile_rpath="$compile_rpath $absdir"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5602
	      esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5603
	      ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5604
	    esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5605
	    case " $sys_lib_dlsearch_path " in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5606
	    *" $libdir "*) ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5607
	    *)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5608
	      case "$finalize_rpath " in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5609
	      *" $libdir "*) ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5610
	      *) finalize_rpath="$finalize_rpath $libdir"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5611
	      esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5612
	      ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5613
	    esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5614
	  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5615
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5616
	  if test -n "$old_archive_from_expsyms_cmds"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5617
	    # figure out the soname
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5618
	    set dummy $library_names
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5619
	    shift
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5620
	    realname="$1"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5621
	    shift
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5622
	    libname=`eval "\\$ECHO \"$libname_spec\""`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5623
	    # use dlname if we got it. it's perfectly good, no?
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5624
	    if test -n "$dlname"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5625
	      soname="$dlname"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5626
	    elif test -n "$soname_spec"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5627
	      # bleh windows
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5628
	      case $host in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5629
	      *cygwin* | mingw* | *cegcc*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5630
	        func_arith $current - $age
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5631
		major=$func_arith_result
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5632
		versuffix="-$major"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5633
		;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5634
	      esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5635
	      eval soname=\"$soname_spec\"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5636
	    else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5637
	      soname="$realname"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5638
	    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5639
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5640
	    # Make a new name for the extract_expsyms_cmds to use
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5641
	    soroot="$soname"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5642
	    func_basename "$soroot"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5643
	    soname="$func_basename_result"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5644
	    func_stripname 'lib' '.dll' "$soname"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5645
	    newlib=libimp-$func_stripname_result.a
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5646
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5647
	    # If the library has no export list, then create one now
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5648
	    if test -f "$output_objdir/$soname-def"; then :
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5649
	    else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5650
	      func_verbose "extracting exported symbol list from \`$soname'"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5651
	      func_execute_cmds "$extract_expsyms_cmds" 'exit $?'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5652
	    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5653
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5654
	    # Create $newlib
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5655
	    if test -f "$output_objdir/$newlib"; then :; else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5656
	      func_verbose "generating import library for \`$soname'"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5657
	      func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5658
	    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5659
	    # make sure the library variables are pointing to the new library
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5660
	    dir=$output_objdir
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5661
	    linklib=$newlib
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5662
	  fi # test -n "$old_archive_from_expsyms_cmds"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5663
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5664
	  if test "$linkmode" = prog || test "$mode" != relink; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5665
	    add_shlibpath=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5666
	    add_dir=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5667
	    add=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5668
	    lib_linked=yes
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5669
	    case $hardcode_action in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5670
	    immediate | unsupported)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5671
	      if test "$hardcode_direct" = no; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5672
		add="$dir/$linklib"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5673
		case $host in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5674
		  *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5675
		  *-*-sysv4*uw2*) add_dir="-L$dir" ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5676
		  *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5677
		    *-*-unixware7*) add_dir="-L$dir" ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5678
		  *-*-darwin* )
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5679
		    # if the lib is a (non-dlopened) module then we can not
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5680
		    # link against it, someone is ignoring the earlier warnings
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5681
		    if /usr/bin/file -L $add 2> /dev/null |
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5682
			 $GREP ": [^:]* bundle" >/dev/null ; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5683
		      if test "X$dlopenmodule" != "X$lib"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5684
			$ECHO "*** Warning: lib $linklib is a module, not a shared library"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5685
			if test -z "$old_library" ; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5686
			  $ECHO
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5687
			  $ECHO "*** And there doesn't seem to be a static archive available"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5688
			  $ECHO "*** The link will probably fail, sorry"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5689
			else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5690
			  add="$dir/$old_library"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5691
			fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5692
		      elif test -n "$old_library"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5693
			add="$dir/$old_library"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5694
		      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5695
		    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5696
		esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5697
	      elif test "$hardcode_minus_L" = no; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5698
		case $host in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5699
		*-*-sunos*) add_shlibpath="$dir" ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5700
		esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5701
		add_dir="-L$dir"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5702
		add="-l$name"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5703
	      elif test "$hardcode_shlibpath_var" = no; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5704
		add_shlibpath="$dir"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5705
		add="-l$name"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5706
	      else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5707
		lib_linked=no
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5708
	      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5709
	      ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5710
	    relink)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5711
	      if test "$hardcode_direct" = yes &&
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5712
	         test "$hardcode_direct_absolute" = no; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5713
		add="$dir/$linklib"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5714
	      elif test "$hardcode_minus_L" = yes; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5715
		add_dir="-L$dir"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5716
		# Try looking first in the location we're being installed to.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5717
		if test -n "$inst_prefix_dir"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5718
		  case $libdir in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5719
		    [\\/]*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5720
		      add_dir="$add_dir -L$inst_prefix_dir$libdir"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5721
		      ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5722
		  esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5723
		fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5724
		add="-l$name"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5725
	      elif test "$hardcode_shlibpath_var" = yes; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5726
		add_shlibpath="$dir"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5727
		add="-l$name"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5728
	      else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5729
		lib_linked=no
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5730
	      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5731
	      ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5732
	    *) lib_linked=no ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5733
	    esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5734
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5735
	    if test "$lib_linked" != yes; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5736
	      func_fatal_configuration "unsupported hardcode properties"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5737
	    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5738
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5739
	    if test -n "$add_shlibpath"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5740
	      case :$compile_shlibpath: in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5741
	      *":$add_shlibpath:"*) ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5742
	      *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5743
	      esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5744
	    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5745
	    if test "$linkmode" = prog; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5746
	      test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5747
	      test -n "$add" && compile_deplibs="$add $compile_deplibs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5748
	    else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5749
	      test -n "$add_dir" && deplibs="$add_dir $deplibs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5750
	      test -n "$add" && deplibs="$add $deplibs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5751
	      if test "$hardcode_direct" != yes &&
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5752
		 test "$hardcode_minus_L" != yes &&
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5753
		 test "$hardcode_shlibpath_var" = yes; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5754
		case :$finalize_shlibpath: in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5755
		*":$libdir:"*) ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5756
		*) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5757
		esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5758
	      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5759
	    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5760
	  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5761
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5762
	  if test "$linkmode" = prog || test "$mode" = relink; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5763
	    add_shlibpath=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5764
	    add_dir=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5765
	    add=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5766
	    # Finalize command for both is simple: just hardcode it.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5767
	    if test "$hardcode_direct" = yes &&
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5768
	       test "$hardcode_direct_absolute" = no; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5769
	      add="$libdir/$linklib"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5770
	    elif test "$hardcode_minus_L" = yes; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5771
	      add_dir="-L$libdir"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5772
	      add="-l$name"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5773
	    elif test "$hardcode_shlibpath_var" = yes; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5774
	      case :$finalize_shlibpath: in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5775
	      *":$libdir:"*) ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5776
	      *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5777
	      esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5778
	      add="-l$name"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5779
	    elif test "$hardcode_automatic" = yes; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5780
	      if test -n "$inst_prefix_dir" &&
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5781
		 test -f "$inst_prefix_dir$libdir/$linklib" ; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5782
		add="$inst_prefix_dir$libdir/$linklib"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5783
	      else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5784
		add="$libdir/$linklib"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5785
	      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5786
	    else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5787
	      # We cannot seem to hardcode it, guess we'll fake it.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5788
	      add_dir="-L$libdir"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5789
	      # Try looking first in the location we're being installed to.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5790
	      if test -n "$inst_prefix_dir"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5791
		case $libdir in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5792
		  [\\/]*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5793
		    add_dir="$add_dir -L$inst_prefix_dir$libdir"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5794
		    ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5795
		esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5796
	      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5797
	      add="-l$name"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5798
	    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5799
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5800
	    if test "$linkmode" = prog; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5801
	      test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5802
	      test -n "$add" && finalize_deplibs="$add $finalize_deplibs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5803
	    else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5804
	      test -n "$add_dir" && deplibs="$add_dir $deplibs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5805
	      test -n "$add" && deplibs="$add $deplibs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5806
	    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5807
	  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5808
	elif test "$linkmode" = prog; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5809
	  # Here we assume that one of hardcode_direct or hardcode_minus_L
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5810
	  # is not unsupported.  This is valid on all known static and
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5811
	  # shared platforms.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5812
	  if test "$hardcode_direct" != unsupported; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5813
	    test -n "$old_library" && linklib="$old_library"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5814
	    compile_deplibs="$dir/$linklib $compile_deplibs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5815
	    finalize_deplibs="$dir/$linklib $finalize_deplibs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5816
	  else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5817
	    compile_deplibs="-l$name -L$dir $compile_deplibs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5818
	    finalize_deplibs="-l$name -L$dir $finalize_deplibs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5819
	  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5820
	elif test "$build_libtool_libs" = yes; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5821
	  # Not a shared library
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5822
	  if test "$deplibs_check_method" != pass_all; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5823
	    # We're trying link a shared library against a static one
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5824
	    # but the system doesn't support it.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5825
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5826
	    # Just print a warning and add the library to dependency_libs so
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5827
	    # that the program can be linked against the static library.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5828
	    $ECHO
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5829
	    $ECHO "*** Warning: This system can not link to static lib archive $lib."
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5830
	    $ECHO "*** I have the capability to make that library automatically link in when"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5831
	    $ECHO "*** you link to this library.  But I can only do this if you have a"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5832
	    $ECHO "*** shared version of the library, which you do not appear to have."
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5833
	    if test "$module" = yes; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5834
	      $ECHO "*** But as you try to build a module library, libtool will still create "
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5835
	      $ECHO "*** a static module, that should work as long as the dlopening application"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5836
	      $ECHO "*** is linked with the -dlopen flag to resolve symbols at runtime."
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5837
	      if test -z "$global_symbol_pipe"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5838
		$ECHO
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5839
		$ECHO "*** However, this would only work if libtool was able to extract symbol"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5840
		$ECHO "*** lists from a program, using \`nm' or equivalent, but libtool could"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5841
		$ECHO "*** not find such a program.  So, this module is probably useless."
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5842
		$ECHO "*** \`nm' from GNU binutils and a full rebuild may help."
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5843
	      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5844
	      if test "$build_old_libs" = no; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5845
		build_libtool_libs=module
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5846
		build_old_libs=yes
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5847
	      else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5848
		build_libtool_libs=no
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5849
	      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5850
	    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5851
	  else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5852
	    deplibs="$dir/$old_library $deplibs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5853
	    link_static=yes
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5854
	  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5855
	fi # link shared/static library?
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5856
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5857
	if test "$linkmode" = lib; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5858
	  if test -n "$dependency_libs" &&
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5859
	     { test "$hardcode_into_libs" != yes ||
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5860
	       test "$build_old_libs" = yes ||
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5861
	       test "$link_static" = yes; }; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5862
	    # Extract -R from dependency_libs
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5863
	    temp_deplibs=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5864
	    for libdir in $dependency_libs; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5865
	      case $libdir in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5866
	      -R*) func_stripname '-R' '' "$libdir"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5867
	           temp_xrpath=$func_stripname_result
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5868
		   case " $xrpath " in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5869
		   *" $temp_xrpath "*) ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5870
		   *) xrpath="$xrpath $temp_xrpath";;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5871
		   esac;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5872
	      *) temp_deplibs="$temp_deplibs $libdir";;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5873
	      esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5874
	    done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5875
	    dependency_libs="$temp_deplibs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5876
	  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5877
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5878
	  newlib_search_path="$newlib_search_path $absdir"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5879
	  # Link against this library
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5880
	  test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5881
	  # ... and its dependency_libs
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5882
	  tmp_libs=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5883
	  for deplib in $dependency_libs; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5884
	    newdependency_libs="$deplib $newdependency_libs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5885
	    if $opt_duplicate_deps ; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5886
	      case "$tmp_libs " in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5887
	      *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5888
	      esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5889
	    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5890
	    tmp_libs="$tmp_libs $deplib"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5891
	  done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5892
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5893
	  if test "$link_all_deplibs" != no; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5894
	    # Add the search paths of all dependency libraries
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5895
	    for deplib in $dependency_libs; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5896
	      case $deplib in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5897
	      -L*) path="$deplib" ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5898
	      *.la)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5899
	        func_dirname "$deplib" "" "."
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5900
		dir="$func_dirname_result"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5901
		# We need an absolute path.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5902
		case $dir in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5903
		[\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5904
		*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5905
		  absdir=`cd "$dir" && pwd`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5906
		  if test -z "$absdir"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5907
		    func_warning "cannot determine absolute directory name of \`$dir'"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5908
		    absdir="$dir"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5909
		  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5910
		  ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5911
		esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5912
		if $GREP "^installed=no" $deplib > /dev/null; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5913
		case $host in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5914
		*-*-darwin*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5915
		  depdepl=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5916
		  eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5917
		  if test -n "$deplibrary_names" ; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5918
		    for tmp in $deplibrary_names ; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5919
		      depdepl=$tmp
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5920
		    done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5921
		    if test -f "$absdir/$objdir/$depdepl" ; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5922
		      depdepl="$absdir/$objdir/$depdepl"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5923
		      darwin_install_name=`${OTOOL} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5924
                      if test -z "$darwin_install_name"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5925
                          darwin_install_name=`${OTOOL64} -L $depdepl  | awk '{if (NR == 2) {print $1;exit}}'`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5926
                      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5927
		      compiler_flags="$compiler_flags ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5928
		      linker_flags="$linker_flags -dylib_file ${darwin_install_name}:${depdepl}"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5929
		      path=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5930
		    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5931
		  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5932
		  ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5933
		*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5934
		  path="-L$absdir/$objdir"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5935
		  ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5936
		esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5937
		else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5938
		  eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5939
		  test -z "$libdir" && \
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5940
		    func_fatal_error "\`$deplib' is not a valid libtool archive"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5941
		  test "$absdir" != "$libdir" && \
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5942
		    func_warning "\`$deplib' seems to be moved"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5943
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5944
		  path="-L$absdir"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5945
		fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5946
		;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5947
	      esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5948
	      case " $deplibs " in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5949
	      *" $path "*) ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5950
	      *) deplibs="$path $deplibs" ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5951
	      esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5952
	    done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5953
	  fi # link_all_deplibs != no
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5954
	fi # linkmode = lib
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5955
      done # for deplib in $libs
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5956
      if test "$pass" = link; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5957
	if test "$linkmode" = "prog"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5958
	  compile_deplibs="$new_inherited_linker_flags $compile_deplibs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5959
	  finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5960
	else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5961
	  compiler_flags="$compiler_flags "`$ECHO "X $new_inherited_linker_flags" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5962
	fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5963
      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5964
      dependency_libs="$newdependency_libs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5965
      if test "$pass" = dlpreopen; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5966
	# Link the dlpreopened libraries before other libraries
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5967
	for deplib in $save_deplibs; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5968
	  deplibs="$deplib $deplibs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5969
	done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5970
      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5971
      if test "$pass" != dlopen; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5972
	if test "$pass" != conv; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5973
	  # Make sure lib_search_path contains only unique directories.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5974
	  lib_search_path=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5975
	  for dir in $newlib_search_path; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5976
	    case "$lib_search_path " in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5977
	    *" $dir "*) ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5978
	    *) lib_search_path="$lib_search_path $dir" ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5979
	    esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5980
	  done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5981
	  newlib_search_path=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5982
	fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5983
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5984
	if test "$linkmode,$pass" != "prog,link"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5985
	  vars="deplibs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5986
	else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5987
	  vars="compile_deplibs finalize_deplibs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5988
	fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5989
	for var in $vars dependency_libs; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5990
	  # Add libraries to $var in reverse order
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5991
	  eval tmp_libs=\"\$$var\"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5992
	  new_libs=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5993
	  for deplib in $tmp_libs; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5994
	    # FIXME: Pedantically, this is the right thing to do, so
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5995
	    #        that some nasty dependency loop isn't accidentally
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5996
	    #        broken:
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5997
	    #new_libs="$deplib $new_libs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5998
	    # Pragmatically, this seems to cause very few problems in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  5999
	    # practice:
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6000
	    case $deplib in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6001
	    -L*) new_libs="$deplib $new_libs" ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6002
	    -R*) ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6003
	    *)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6004
	      # And here is the reason: when a library appears more
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6005
	      # than once as an explicit dependence of a library, or
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6006
	      # is implicitly linked in more than once by the
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6007
	      # compiler, it is considered special, and multiple
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6008
	      # occurrences thereof are not removed.  Compare this
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6009
	      # with having the same library being listed as a
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6010
	      # dependency of multiple other libraries: in this case,
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6011
	      # we know (pedantically, we assume) the library does not
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6012
	      # need to be listed more than once, so we keep only the
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6013
	      # last copy.  This is not always right, but it is rare
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6014
	      # enough that we require users that really mean to play
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6015
	      # such unportable linking tricks to link the library
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6016
	      # using -Wl,-lname, so that libtool does not consider it
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6017
	      # for duplicate removal.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6018
	      case " $specialdeplibs " in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6019
	      *" $deplib "*) new_libs="$deplib $new_libs" ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6020
	      *)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6021
		case " $new_libs " in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6022
		*" $deplib "*) ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6023
		*) new_libs="$deplib $new_libs" ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6024
		esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6025
		;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6026
	      esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6027
	      ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6028
	    esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6029
	  done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6030
	  tmp_libs=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6031
	  for deplib in $new_libs; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6032
	    case $deplib in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6033
	    -L*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6034
	      case " $tmp_libs " in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6035
	      *" $deplib "*) ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6036
	      *) tmp_libs="$tmp_libs $deplib" ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6037
	      esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6038
	      ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6039
	    *) tmp_libs="$tmp_libs $deplib" ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6040
	    esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6041
	  done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6042
	  eval $var=\"$tmp_libs\"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6043
	done # for var
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6044
      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6045
      # Last step: remove runtime libs from dependency_libs
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6046
      # (they stay in deplibs)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6047
      tmp_libs=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6048
      for i in $dependency_libs ; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6049
	case " $predeps $postdeps $compiler_lib_search_path " in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6050
	*" $i "*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6051
	  i=""
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6052
	  ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6053
	esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6054
	if test -n "$i" ; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6055
	  tmp_libs="$tmp_libs $i"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6056
	fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6057
      done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6058
      dependency_libs=$tmp_libs
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6059
    done # for pass
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6060
    if test "$linkmode" = prog; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6061
      dlfiles="$newdlfiles"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6062
    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6063
    if test "$linkmode" = prog || test "$linkmode" = lib; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6064
      dlprefiles="$newdlprefiles"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6065
    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6066
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6067
    case $linkmode in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6068
    oldlib)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6069
      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6070
	func_warning "\`-dlopen' is ignored for archives"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6071
      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6072
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6073
      case " $deplibs" in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6074
      *\ -l* | *\ -L*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6075
	func_warning "\`-l' and \`-L' are ignored for archives" ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6076
      esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6077
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6078
      test -n "$rpath" && \
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6079
	func_warning "\`-rpath' is ignored for archives"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6080
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6081
      test -n "$xrpath" && \
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6082
	func_warning "\`-R' is ignored for archives"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6083
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6084
      test -n "$vinfo" && \
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6085
	func_warning "\`-version-info/-version-number' is ignored for archives"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6086
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6087
      test -n "$release" && \
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6088
	func_warning "\`-release' is ignored for archives"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6089
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6090
      test -n "$export_symbols$export_symbols_regex" && \
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6091
	func_warning "\`-export-symbols' is ignored for archives"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6092
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6093
      # Now set the variables for building old libraries.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6094
      build_libtool_libs=no
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6095
      oldlibs="$output"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6096
      objs="$objs$old_deplibs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6097
      ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6098
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6099
    lib)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6100
      # Make sure we only generate libraries of the form `libNAME.la'.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6101
      case $outputname in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6102
      lib*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6103
	func_stripname 'lib' '.la' "$outputname"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6104
	name=$func_stripname_result
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6105
	eval shared_ext=\"$shrext_cmds\"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6106
	eval libname=\"$libname_spec\"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6107
	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6108
      *)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6109
	test "$module" = no && \
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6110
	  func_fatal_help "libtool library \`$output' must begin with \`lib'"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6111
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6112
	if test "$need_lib_prefix" != no; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6113
	  # Add the "lib" prefix for modules if required
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6114
	  func_stripname '' '.la' "$outputname"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6115
	  name=$func_stripname_result
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6116
	  eval shared_ext=\"$shrext_cmds\"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6117
	  eval libname=\"$libname_spec\"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6118
	else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6119
	  func_stripname '' '.la' "$outputname"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6120
	  libname=$func_stripname_result
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6121
	fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6122
	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6123
      esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6124
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6125
      if test -n "$objs"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6126
	if test "$deplibs_check_method" != pass_all; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6127
	  func_fatal_error "cannot build libtool library \`$output' from non-libtool objects on this host:$objs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6128
	else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6129
	  $ECHO
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6130
	  $ECHO "*** Warning: Linking the shared library $output against the non-libtool"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6131
	  $ECHO "*** objects $objs is not portable!"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6132
	  libobjs="$libobjs $objs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6133
	fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6134
      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6135
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6136
      test "$dlself" != no && \
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6137
	func_warning "\`-dlopen self' is ignored for libtool libraries"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6138
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6139
      set dummy $rpath
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6140
      shift
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6141
      test "$#" -gt 1 && \
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6142
	func_warning "ignoring multiple \`-rpath's for a libtool library"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6143
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6144
      install_libdir="$1"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6145
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6146
      oldlibs=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6147
      if test -z "$rpath"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6148
	if test "$build_libtool_libs" = yes; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6149
	  # Building a libtool convenience library.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6150
	  # Some compilers have problems with a `.al' extension so
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6151
	  # convenience libraries should have the same extension an
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6152
	  # archive normally would.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6153
	  oldlibs="$output_objdir/$libname.$libext $oldlibs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6154
	  build_libtool_libs=convenience
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6155
	  build_old_libs=yes
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6156
	fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6157
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6158
	test -n "$vinfo" && \
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6159
	  func_warning "\`-version-info/-version-number' is ignored for convenience libraries"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6160
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6161
	test -n "$release" && \
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6162
	  func_warning "\`-release' is ignored for convenience libraries"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6163
      else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6164
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6165
	# Parse the version information argument.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6166
	save_ifs="$IFS"; IFS=':'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6167
	set dummy $vinfo 0 0 0
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6168
	shift
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6169
	IFS="$save_ifs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6170
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6171
	test -n "$7" && \
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6172
	  func_fatal_help "too many parameters to \`-version-info'"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6173
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6174
	# convert absolute version numbers to libtool ages
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6175
	# this retains compatibility with .la files and attempts
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6176
	# to make the code below a bit more comprehensible
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6177
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6178
	case $vinfo_number in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6179
	yes)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6180
	  number_major="$1"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6181
	  number_minor="$2"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6182
	  number_revision="$3"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6183
	  #
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6184
	  # There are really only two kinds -- those that
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6185
	  # use the current revision as the major version
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6186
	  # and those that subtract age and use age as
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6187
	  # a minor version.  But, then there is irix
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6188
	  # which has an extra 1 added just for fun
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6189
	  #
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6190
	  case $version_type in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6191
	  darwin|linux|osf|windows|none)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6192
	    func_arith $number_major + $number_minor
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6193
	    current=$func_arith_result
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6194
	    age="$number_minor"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6195
	    revision="$number_revision"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6196
	    ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6197
	  freebsd-aout|freebsd-elf|sunos)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6198
	    current="$number_major"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6199
	    revision="$number_minor"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6200
	    age="0"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6201
	    ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6202
	  irix|nonstopux)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6203
	    func_arith $number_major + $number_minor
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6204
	    current=$func_arith_result
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6205
	    age="$number_minor"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6206
	    revision="$number_minor"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6207
	    lt_irix_increment=no
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6208
	    ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6209
	  esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6210
	  ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6211
	no)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6212
	  current="$1"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6213
	  revision="$2"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6214
	  age="$3"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6215
	  ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6216
	esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6217
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6218
	# Check that each of the things are valid numbers.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6219
	case $current in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6220
	0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6221
	*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6222
	  func_error "CURRENT \`$current' must be a nonnegative integer"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6223
	  func_fatal_error "\`$vinfo' is not valid version information"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6224
	  ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6225
	esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6226
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6227
	case $revision in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6228
	0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6229
	*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6230
	  func_error "REVISION \`$revision' must be a nonnegative integer"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6231
	  func_fatal_error "\`$vinfo' is not valid version information"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6232
	  ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6233
	esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6234
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6235
	case $age in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6236
	0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6237
	*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6238
	  func_error "AGE \`$age' must be a nonnegative integer"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6239
	  func_fatal_error "\`$vinfo' is not valid version information"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6240
	  ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6241
	esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6242
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6243
	if test "$age" -gt "$current"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6244
	  func_error "AGE \`$age' is greater than the current interface number \`$current'"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6245
	  func_fatal_error "\`$vinfo' is not valid version information"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6246
	fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6247
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6248
	# Calculate the version variables.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6249
	major=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6250
	versuffix=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6251
	verstring=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6252
	case $version_type in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6253
	none) ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6254
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6255
	darwin)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6256
	  # Like Linux, but with the current version available in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6257
	  # verstring for coding it into the library header
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6258
	  func_arith $current - $age
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6259
	  major=.$func_arith_result
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6260
	  versuffix="$major.$age.$revision"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6261
	  # Darwin ld doesn't like 0 for these options...
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6262
	  func_arith $current + 1
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6263
	  minor_current=$func_arith_result
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6264
	  xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6265
	  verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6266
	  ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6267
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6268
	freebsd-aout)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6269
	  major=".$current"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6270
	  versuffix=".$current.$revision";
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6271
	  ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6272
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6273
	freebsd-elf)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6274
	  major=".$current"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6275
	  versuffix=".$current"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6276
	  ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6277
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6278
	irix | nonstopux)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6279
	  if test "X$lt_irix_increment" = "Xno"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6280
	    func_arith $current - $age
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6281
	  else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6282
	    func_arith $current - $age + 1
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6283
	  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6284
	  major=$func_arith_result
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6285
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6286
	  case $version_type in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6287
	    nonstopux) verstring_prefix=nonstopux ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6288
	    *)         verstring_prefix=sgi ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6289
	  esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6290
	  verstring="$verstring_prefix$major.$revision"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6291
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6292
	  # Add in all the interfaces that we are compatible with.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6293
	  loop=$revision
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6294
	  while test "$loop" -ne 0; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6295
	    func_arith $revision - $loop
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6296
	    iface=$func_arith_result
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6297
	    func_arith $loop - 1
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6298
	    loop=$func_arith_result
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6299
	    verstring="$verstring_prefix$major.$iface:$verstring"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6300
	  done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6301
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6302
	  # Before this point, $major must not contain `.'.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6303
	  major=.$major
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6304
	  versuffix="$major.$revision"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6305
	  ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6306
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6307
	linux)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6308
	  func_arith $current - $age
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6309
	  major=.$func_arith_result
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6310
	  versuffix="$major.$age.$revision"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6311
	  ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6312
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6313
	osf)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6314
	  func_arith $current - $age
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6315
	  major=.$func_arith_result
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6316
	  versuffix=".$current.$age.$revision"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6317
	  verstring="$current.$age.$revision"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6318
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6319
	  # Add in all the interfaces that we are compatible with.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6320
	  loop=$age
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6321
	  while test "$loop" -ne 0; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6322
	    func_arith $current - $loop
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6323
	    iface=$func_arith_result
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6324
	    func_arith $loop - 1
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6325
	    loop=$func_arith_result
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6326
	    verstring="$verstring:${iface}.0"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6327
	  done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6328
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6329
	  # Make executables depend on our current version.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6330
	  verstring="$verstring:${current}.0"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6331
	  ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6332
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6333
	qnx)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6334
	  major=".$current"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6335
	  versuffix=".$current"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6336
	  ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6337
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6338
	sunos)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6339
	  major=".$current"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6340
	  versuffix=".$current.$revision"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6341
	  ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6342
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6343
	windows)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6344
	  # Use '-' rather than '.', since we only want one
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6345
	  # extension on DOS 8.3 filesystems.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6346
	  func_arith $current - $age
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6347
	  major=$func_arith_result
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6348
	  versuffix="-$major"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6349
	  ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6350
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6351
	*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6352
	  func_fatal_configuration "unknown library version type \`$version_type'"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6353
	  ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6354
	esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6355
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6356
	# Clear the version info if we defaulted, and they specified a release.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6357
	if test -z "$vinfo" && test -n "$release"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6358
	  major=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6359
	  case $version_type in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6360
	  darwin)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6361
	    # we can't check for "0.0" in archive_cmds due to quoting
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6362
	    # problems, so we reset it completely
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6363
	    verstring=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6364
	    ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6365
	  *)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6366
	    verstring="0.0"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6367
	    ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6368
	  esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6369
	  if test "$need_version" = no; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6370
	    versuffix=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6371
	  else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6372
	    versuffix=".0.0"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6373
	  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6374
	fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6375
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6376
	# Remove version info from name if versioning should be avoided
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6377
	if test "$avoid_version" = yes && test "$need_version" = no; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6378
	  major=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6379
	  versuffix=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6380
	  verstring=""
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6381
	fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6382
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6383
	# Check to see if the archive will have undefined symbols.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6384
	if test "$allow_undefined" = yes; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6385
	  if test "$allow_undefined_flag" = unsupported; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6386
	    func_warning "undefined symbols not allowed in $host shared libraries"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6387
	    build_libtool_libs=no
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6388
	    build_old_libs=yes
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6389
	  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6390
	else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6391
	  # Don't allow undefined symbols.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6392
	  allow_undefined_flag="$no_undefined_flag"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6393
	fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6394
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6395
      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6396
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6397
      func_generate_dlsyms "$libname" "$libname" "yes"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6398
      libobjs="$libobjs $symfileobj"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6399
      test "X$libobjs" = "X " && libobjs=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6400
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6401
      if test "$mode" != relink; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6402
	# Remove our outputs, but don't remove object files since they
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6403
	# may have been created when compiling PIC objects.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6404
	removelist=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6405
	tempremovelist=`$ECHO "$output_objdir/*"`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6406
	for p in $tempremovelist; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6407
	  case $p in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6408
	    *.$objext | *.gcno)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6409
	       ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6410
	    $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6411
	       if test "X$precious_files_regex" != "X"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6412
		 if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6413
		 then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6414
		   continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6415
		 fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6416
	       fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6417
	       removelist="$removelist $p"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6418
	       ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6419
	    *) ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6420
	  esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6421
	done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6422
	test -n "$removelist" && \
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6423
	  func_show_eval "${RM}r \$removelist"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6424
      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6425
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6426
      # Now set the variables for building old libraries.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6427
      if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6428
	oldlibs="$oldlibs $output_objdir/$libname.$libext"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6429
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6430
	# Transform .lo files to .o files.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6431
	oldobjs="$objs "`$ECHO "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6432
      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6433
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6434
      # Eliminate all temporary directories.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6435
      #for path in $notinst_path; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6436
      #	lib_search_path=`$ECHO "X$lib_search_path " | $Xsed -e "s% $path % %g"`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6437
      #	deplibs=`$ECHO "X$deplibs " | $Xsed -e "s% -L$path % %g"`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6438
      #	dependency_libs=`$ECHO "X$dependency_libs " | $Xsed -e "s% -L$path % %g"`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6439
      #done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6440
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6441
      if test -n "$xrpath"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6442
	# If the user specified any rpath flags, then add them.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6443
	temp_xrpath=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6444
	for libdir in $xrpath; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6445
	  temp_xrpath="$temp_xrpath -R$libdir"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6446
	  case "$finalize_rpath " in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6447
	  *" $libdir "*) ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6448
	  *) finalize_rpath="$finalize_rpath $libdir" ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6449
	  esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6450
	done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6451
	if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6452
	  dependency_libs="$temp_xrpath $dependency_libs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6453
	fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6454
      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6455
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6456
      # Make sure dlfiles contains only unique files that won't be dlpreopened
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6457
      old_dlfiles="$dlfiles"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6458
      dlfiles=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6459
      for lib in $old_dlfiles; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6460
	case " $dlprefiles $dlfiles " in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6461
	*" $lib "*) ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6462
	*) dlfiles="$dlfiles $lib" ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6463
	esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6464
      done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6465
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6466
      # Make sure dlprefiles contains only unique files
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6467
      old_dlprefiles="$dlprefiles"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6468
      dlprefiles=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6469
      for lib in $old_dlprefiles; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6470
	case "$dlprefiles " in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6471
	*" $lib "*) ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6472
	*) dlprefiles="$dlprefiles $lib" ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6473
	esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6474
      done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6475
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6476
      if test "$build_libtool_libs" = yes; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6477
	if test -n "$rpath"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6478
	  case $host in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6479
	  *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6480
	    # these systems don't actually have a c library (as such)!
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6481
	    ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6482
	  *-*-rhapsody* | *-*-darwin1.[012])
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6483
	    # Rhapsody C library is in the System framework
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6484
	    deplibs="$deplibs System.ltframework"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6485
	    ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6486
	  *-*-netbsd*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6487
	    # Don't link with libc until the a.out ld.so is fixed.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6488
	    ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6489
	  *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6490
	    # Do not include libc due to us having libc/libc_r.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6491
	    ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6492
	  *-*-sco3.2v5* | *-*-sco5v6*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6493
	    # Causes problems with __ctype
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6494
	    ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6495
	  *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6496
	    # Compiler inserts libc in the correct place for threads to work
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6497
	    ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6498
	  *)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6499
	    # Add libc to deplibs on all other systems if necessary.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6500
	    if test "$build_libtool_need_lc" = "yes"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6501
	      deplibs="$deplibs -lc"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6502
	    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6503
	    ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6504
	  esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6505
	fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6506
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6507
	# Transform deplibs into only deplibs that can be linked in shared.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6508
	name_save=$name
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6509
	libname_save=$libname
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6510
	release_save=$release
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6511
	versuffix_save=$versuffix
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6512
	major_save=$major
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6513
	# I'm not sure if I'm treating the release correctly.  I think
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6514
	# release should show up in the -l (ie -lgmp5) so we don't want to
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6515
	# add it in twice.  Is that correct?
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6516
	release=""
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6517
	versuffix=""
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6518
	major=""
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6519
	newdeplibs=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6520
	droppeddeps=no
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6521
	case $deplibs_check_method in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6522
	pass_all)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6523
	  # Don't check for shared/static.  Everything works.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6524
	  # This might be a little naive.  We might want to check
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6525
	  # whether the library exists or not.  But this is on
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6526
	  # osf3 & osf4 and I'm not really sure... Just
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6527
	  # implementing what was already the behavior.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6528
	  newdeplibs=$deplibs
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6529
	  ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6530
	test_compile)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6531
	  # This code stresses the "libraries are programs" paradigm to its
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6532
	  # limits. Maybe even breaks it.  We compile a program, linking it
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6533
	  # against the deplibs as a proxy for the library.  Then we can check
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6534
	  # whether they linked in statically or dynamically with ldd.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6535
	  $opt_dry_run || $RM conftest.c
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6536
	  cat > conftest.c <<EOF
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6537
	  int main() { return 0; }
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6538
EOF
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6539
	  $opt_dry_run || $RM conftest
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6540
	  if $LTCC $LTCFLAGS -o conftest conftest.c $deplibs; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6541
	    ldd_output=`ldd conftest`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6542
	    for i in $deplibs; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6543
	      case $i in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6544
	      -l*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6545
		func_stripname -l '' "$i"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6546
		name=$func_stripname_result
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6547
		if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6548
		  case " $predeps $postdeps " in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6549
		  *" $i "*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6550
		    newdeplibs="$newdeplibs $i"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6551
		    i=""
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6552
		    ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6553
		  esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6554
		fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6555
		if test -n "$i" ; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6556
		  libname=`eval "\\$ECHO \"$libname_spec\""`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6557
		  deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6558
		  set dummy $deplib_matches; shift
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6559
		  deplib_match=$1
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6560
		  if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6561
		    newdeplibs="$newdeplibs $i"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6562
		  else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6563
		    droppeddeps=yes
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6564
		    $ECHO
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6565
		    $ECHO "*** Warning: dynamic linker does not accept needed library $i."
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6566
		    $ECHO "*** I have the capability to make that library automatically link in when"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6567
		    $ECHO "*** you link to this library.  But I can only do this if you have a"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6568
		    $ECHO "*** shared version of the library, which I believe you do not have"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6569
		    $ECHO "*** because a test_compile did reveal that the linker did not use it for"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6570
		    $ECHO "*** its dynamic dependency list that programs get resolved with at runtime."
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6571
		  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6572
		fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6573
		;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6574
	      *)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6575
		newdeplibs="$newdeplibs $i"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6576
		;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6577
	      esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6578
	    done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6579
	  else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6580
	    # Error occurred in the first compile.  Let's try to salvage
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6581
	    # the situation: Compile a separate program for each library.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6582
	    for i in $deplibs; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6583
	      case $i in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6584
	      -l*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6585
		func_stripname -l '' "$i"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6586
		name=$func_stripname_result
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6587
		$opt_dry_run || $RM conftest
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6588
		if $LTCC $LTCFLAGS -o conftest conftest.c $i; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6589
		  ldd_output=`ldd conftest`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6590
		  if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6591
		    case " $predeps $postdeps " in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6592
		    *" $i "*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6593
		      newdeplibs="$newdeplibs $i"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6594
		      i=""
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6595
		      ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6596
		    esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6597
		  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6598
		  if test -n "$i" ; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6599
		    libname=`eval "\\$ECHO \"$libname_spec\""`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6600
		    deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6601
		    set dummy $deplib_matches; shift
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6602
		    deplib_match=$1
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6603
		    if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6604
		      newdeplibs="$newdeplibs $i"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6605
		    else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6606
		      droppeddeps=yes
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6607
		      $ECHO
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6608
		      $ECHO "*** Warning: dynamic linker does not accept needed library $i."
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6609
		      $ECHO "*** I have the capability to make that library automatically link in when"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6610
		      $ECHO "*** you link to this library.  But I can only do this if you have a"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6611
		      $ECHO "*** shared version of the library, which you do not appear to have"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6612
		      $ECHO "*** because a test_compile did reveal that the linker did not use this one"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6613
		      $ECHO "*** as a dynamic dependency that programs can get resolved with at runtime."
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6614
		    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6615
		  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6616
		else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6617
		  droppeddeps=yes
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6618
		  $ECHO
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6619
		  $ECHO "*** Warning!  Library $i is needed by this library but I was not able to"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6620
		  $ECHO "*** make it link in!  You will probably need to install it or some"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6621
		  $ECHO "*** library that it depends on before this library will be fully"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6622
		  $ECHO "*** functional.  Installing it before continuing would be even better."
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6623
		fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6624
		;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6625
	      *)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6626
		newdeplibs="$newdeplibs $i"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6627
		;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6628
	      esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6629
	    done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6630
	  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6631
	  ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6632
	file_magic*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6633
	  set dummy $deplibs_check_method; shift
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6634
	  file_magic_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6635
	  for a_deplib in $deplibs; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6636
	    case $a_deplib in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6637
	    -l*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6638
	      func_stripname -l '' "$a_deplib"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6639
	      name=$func_stripname_result
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6640
	      if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6641
		case " $predeps $postdeps " in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6642
		*" $a_deplib "*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6643
		  newdeplibs="$newdeplibs $a_deplib"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6644
		  a_deplib=""
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6645
		  ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6646
		esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6647
	      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6648
	      if test -n "$a_deplib" ; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6649
		libname=`eval "\\$ECHO \"$libname_spec\""`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6650
		for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6651
		  potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6652
		  for potent_lib in $potential_libs; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6653
		      # Follow soft links.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6654
		      if ls -lLd "$potent_lib" 2>/dev/null |
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6655
			 $GREP " -> " >/dev/null; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6656
			continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6657
		      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6658
		      # The statement above tries to avoid entering an
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6659
		      # endless loop below, in case of cyclic links.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6660
		      # We might still enter an endless loop, since a link
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6661
		      # loop can be closed while we follow links,
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6662
		      # but so what?
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6663
		      potlib="$potent_lib"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6664
		      while test -h "$potlib" 2>/dev/null; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6665
			potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6666
			case $potliblink in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6667
			[\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6668
			*) potlib=`$ECHO "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6669
			esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6670
		      done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6671
		      if eval $file_magic_cmd \"\$potlib\" 2>/dev/null |
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6672
			 $SED -e 10q |
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6673
			 $EGREP "$file_magic_regex" > /dev/null; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6674
			newdeplibs="$newdeplibs $a_deplib"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6675
			a_deplib=""
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6676
			break 2
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6677
		      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6678
		  done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6679
		done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6680
	      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6681
	      if test -n "$a_deplib" ; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6682
		droppeddeps=yes
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6683
		$ECHO
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6684
		$ECHO "*** Warning: linker path does not have real file for library $a_deplib."
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6685
		$ECHO "*** I have the capability to make that library automatically link in when"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6686
		$ECHO "*** you link to this library.  But I can only do this if you have a"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6687
		$ECHO "*** shared version of the library, which you do not appear to have"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6688
		$ECHO "*** because I did check the linker path looking for a file starting"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6689
		if test -z "$potlib" ; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6690
		  $ECHO "*** with $libname but no candidates were found. (...for file magic test)"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6691
		else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6692
		  $ECHO "*** with $libname and none of the candidates passed a file format test"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6693
		  $ECHO "*** using a file magic. Last file checked: $potlib"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6694
		fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6695
	      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6696
	      ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6697
	    *)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6698
	      # Add a -L argument.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6699
	      newdeplibs="$newdeplibs $a_deplib"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6700
	      ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6701
	    esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6702
	  done # Gone through all deplibs.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6703
	  ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6704
	match_pattern*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6705
	  set dummy $deplibs_check_method; shift
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6706
	  match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6707
	  for a_deplib in $deplibs; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6708
	    case $a_deplib in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6709
	    -l*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6710
	      func_stripname -l '' "$a_deplib"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6711
	      name=$func_stripname_result
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6712
	      if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6713
		case " $predeps $postdeps " in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6714
		*" $a_deplib "*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6715
		  newdeplibs="$newdeplibs $a_deplib"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6716
		  a_deplib=""
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6717
		  ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6718
		esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6719
	      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6720
	      if test -n "$a_deplib" ; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6721
		libname=`eval "\\$ECHO \"$libname_spec\""`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6722
		for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6723
		  potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6724
		  for potent_lib in $potential_libs; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6725
		    potlib="$potent_lib" # see symlink-check above in file_magic test
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6726
		    if eval "\$ECHO \"X$potent_lib\"" 2>/dev/null | $Xsed -e 10q | \
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6727
		       $EGREP "$match_pattern_regex" > /dev/null; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6728
		      newdeplibs="$newdeplibs $a_deplib"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6729
		      a_deplib=""
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6730
		      break 2
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6731
		    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6732
		  done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6733
		done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6734
	      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6735
	      if test -n "$a_deplib" ; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6736
		droppeddeps=yes
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6737
		$ECHO
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6738
		$ECHO "*** Warning: linker path does not have real file for library $a_deplib."
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6739
		$ECHO "*** I have the capability to make that library automatically link in when"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6740
		$ECHO "*** you link to this library.  But I can only do this if you have a"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6741
		$ECHO "*** shared version of the library, which you do not appear to have"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6742
		$ECHO "*** because I did check the linker path looking for a file starting"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6743
		if test -z "$potlib" ; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6744
		  $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6745
		else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6746
		  $ECHO "*** with $libname and none of the candidates passed a file format test"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6747
		  $ECHO "*** using a regex pattern. Last file checked: $potlib"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6748
		fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6749
	      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6750
	      ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6751
	    *)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6752
	      # Add a -L argument.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6753
	      newdeplibs="$newdeplibs $a_deplib"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6754
	      ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6755
	    esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6756
	  done # Gone through all deplibs.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6757
	  ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6758
	none | unknown | *)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6759
	  newdeplibs=""
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6760
	  tmp_deplibs=`$ECHO "X $deplibs" | $Xsed \
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6761
	      -e 's/ -lc$//' -e 's/ -[LR][^ ]*//g'`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6762
	  if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6763
	    for i in $predeps $postdeps ; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6764
	      # can't use Xsed below, because $i might contain '/'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6765
	      tmp_deplibs=`$ECHO "X $tmp_deplibs" | $Xsed -e "s,$i,,"`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6766
	    done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6767
	  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6768
	  if $ECHO "X $tmp_deplibs" | $Xsed -e 's/[	 ]//g' |
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6769
	     $GREP . >/dev/null; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6770
	    $ECHO
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6771
	    if test "X$deplibs_check_method" = "Xnone"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6772
	      $ECHO "*** Warning: inter-library dependencies are not supported in this platform."
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6773
	    else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6774
	      $ECHO "*** Warning: inter-library dependencies are not known to be supported."
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6775
	    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6776
	    $ECHO "*** All declared inter-library dependencies are being dropped."
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6777
	    droppeddeps=yes
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6778
	  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6779
	  ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6780
	esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6781
	versuffix=$versuffix_save
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6782
	major=$major_save
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6783
	release=$release_save
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6784
	libname=$libname_save
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6785
	name=$name_save
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6786
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6787
	case $host in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6788
	*-*-rhapsody* | *-*-darwin1.[012])
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6789
	  # On Rhapsody replace the C library with the System framework
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6790
	  newdeplibs=`$ECHO "X $newdeplibs" | $Xsed -e 's/ -lc / System.ltframework /'`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6791
	  ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6792
	esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6793
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6794
	if test "$droppeddeps" = yes; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6795
	  if test "$module" = yes; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6796
	    $ECHO
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6797
	    $ECHO "*** Warning: libtool could not satisfy all declared inter-library"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6798
	    $ECHO "*** dependencies of module $libname.  Therefore, libtool will create"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6799
	    $ECHO "*** a static module, that should work as long as the dlopening"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6800
	    $ECHO "*** application is linked with the -dlopen flag."
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6801
	    if test -z "$global_symbol_pipe"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6802
	      $ECHO
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6803
	      $ECHO "*** However, this would only work if libtool was able to extract symbol"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6804
	      $ECHO "*** lists from a program, using \`nm' or equivalent, but libtool could"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6805
	      $ECHO "*** not find such a program.  So, this module is probably useless."
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6806
	      $ECHO "*** \`nm' from GNU binutils and a full rebuild may help."
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6807
	    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6808
	    if test "$build_old_libs" = no; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6809
	      oldlibs="$output_objdir/$libname.$libext"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6810
	      build_libtool_libs=module
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6811
	      build_old_libs=yes
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6812
	    else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6813
	      build_libtool_libs=no
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6814
	    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6815
	  else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6816
	    $ECHO "*** The inter-library dependencies that have been dropped here will be"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6817
	    $ECHO "*** automatically added whenever a program is linked with this library"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6818
	    $ECHO "*** or is declared to -dlopen it."
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6819
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6820
	    if test "$allow_undefined" = no; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6821
	      $ECHO
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6822
	      $ECHO "*** Since this library must not contain undefined symbols,"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6823
	      $ECHO "*** because either the platform does not support them or"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6824
	      $ECHO "*** it was explicitly requested with -no-undefined,"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6825
	      $ECHO "*** libtool will only create a static version of it."
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6826
	      if test "$build_old_libs" = no; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6827
		oldlibs="$output_objdir/$libname.$libext"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6828
		build_libtool_libs=module
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6829
		build_old_libs=yes
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6830
	      else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6831
		build_libtool_libs=no
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6832
	      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6833
	    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6834
	  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6835
	fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6836
	# Done checking deplibs!
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6837
	deplibs=$newdeplibs
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6838
      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6839
      # Time to change all our "foo.ltframework" stuff back to "-framework foo"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6840
      case $host in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6841
	*-*-darwin*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6842
	  newdeplibs=`$ECHO "X $newdeplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6843
	  new_inherited_linker_flags=`$ECHO "X $new_inherited_linker_flags" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6844
	  deplibs=`$ECHO "X $deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6845
	  ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6846
      esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6847
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6848
      # move library search paths that coincide with paths to not yet
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6849
      # installed libraries to the beginning of the library search list
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6850
      new_libs=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6851
      for path in $notinst_path; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6852
	case " $new_libs " in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6853
	*" -L$path/$objdir "*) ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6854
	*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6855
	  case " $deplibs " in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6856
	  *" -L$path/$objdir "*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6857
	    new_libs="$new_libs -L$path/$objdir" ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6858
	  esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6859
	  ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6860
	esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6861
      done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6862
      for deplib in $deplibs; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6863
	case $deplib in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6864
	-L*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6865
	  case " $new_libs " in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6866
	  *" $deplib "*) ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6867
	  *) new_libs="$new_libs $deplib" ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6868
	  esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6869
	  ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6870
	*) new_libs="$new_libs $deplib" ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6871
	esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6872
      done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6873
      deplibs="$new_libs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6874
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6875
      # All the library-specific variables (install_libdir is set above).
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6876
      library_names=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6877
      old_library=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6878
      dlname=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6879
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6880
      # Test again, we may have decided not to build it any more
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6881
      if test "$build_libtool_libs" = yes; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6882
	if test "$hardcode_into_libs" = yes; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6883
	  # Hardcode the library paths
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6884
	  hardcode_libdirs=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6885
	  dep_rpath=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6886
	  rpath="$finalize_rpath"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6887
	  test "$mode" != relink && rpath="$compile_rpath$rpath"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6888
	  for libdir in $rpath; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6889
	    if test -n "$hardcode_libdir_flag_spec"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6890
	      if test -n "$hardcode_libdir_separator"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6891
		if test -z "$hardcode_libdirs"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6892
		  hardcode_libdirs="$libdir"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6893
		else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6894
		  # Just accumulate the unique libdirs.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6895
		  case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6896
		  *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6897
		    ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6898
		  *)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6899
		    hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6900
		    ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6901
		  esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6902
		fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6903
	      else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6904
		eval flag=\"$hardcode_libdir_flag_spec\"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6905
		dep_rpath="$dep_rpath $flag"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6906
	      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6907
	    elif test -n "$runpath_var"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6908
	      case "$perm_rpath " in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6909
	      *" $libdir "*) ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6910
	      *) perm_rpath="$perm_rpath $libdir" ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6911
	      esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6912
	    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6913
	  done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6914
	  # Substitute the hardcoded libdirs into the rpath.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6915
	  if test -n "$hardcode_libdir_separator" &&
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6916
	     test -n "$hardcode_libdirs"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6917
	    libdir="$hardcode_libdirs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6918
	    if test -n "$hardcode_libdir_flag_spec_ld"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6919
	      eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6920
	    else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6921
	      eval dep_rpath=\"$hardcode_libdir_flag_spec\"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6922
	    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6923
	  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6924
	  if test -n "$runpath_var" && test -n "$perm_rpath"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6925
	    # We should set the runpath_var.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6926
	    rpath=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6927
	    for dir in $perm_rpath; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6928
	      rpath="$rpath$dir:"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6929
	    done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6930
	    eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6931
	  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6932
	  test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6933
	fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6934
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6935
	shlibpath="$finalize_shlibpath"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6936
	test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6937
	if test -n "$shlibpath"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6938
	  eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6939
	fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6940
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6941
	# Get the real and link names of the library.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6942
	eval shared_ext=\"$shrext_cmds\"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6943
	eval library_names=\"$library_names_spec\"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6944
	set dummy $library_names
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6945
	shift
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6946
	realname="$1"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6947
	shift
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6948
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6949
	if test -n "$soname_spec"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6950
	  eval soname=\"$soname_spec\"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6951
	else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6952
	  soname="$realname"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6953
	fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6954
	if test -z "$dlname"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6955
	  dlname=$soname
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6956
	fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6957
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6958
	lib="$output_objdir/$realname"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6959
	linknames=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6960
	for link
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6961
	do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6962
	  linknames="$linknames $link"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6963
	done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6964
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6965
	# Use standard objects if they are pic
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6966
	test -z "$pic_flag" && libobjs=`$ECHO "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6967
	test "X$libobjs" = "X " && libobjs=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6968
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6969
	delfiles=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6970
	if test -n "$export_symbols" && test -n "$include_expsyms"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6971
	  $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6972
	  export_symbols="$output_objdir/$libname.uexp"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6973
	  delfiles="$delfiles $export_symbols"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6974
	fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6975
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6976
	orig_export_symbols=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6977
	case $host_os in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6978
	cygwin* | mingw* | cegcc*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6979
	  if test -n "$export_symbols" && test -z "$export_symbols_regex"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6980
	    # exporting using user supplied symfile
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6981
	    if test "x`$SED 1q $export_symbols`" != xEXPORTS; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6982
	      # and it's NOT already a .def file. Must figure out
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6983
	      # which of the given symbols are data symbols and tag
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6984
	      # them as such. So, trigger use of export_symbols_cmds.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6985
	      # export_symbols gets reassigned inside the "prepare
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6986
	      # the list of exported symbols" if statement, so the
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6987
	      # include_expsyms logic still works.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6988
	      orig_export_symbols="$export_symbols"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6989
	      export_symbols=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6990
	      always_export_symbols=yes
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6991
	    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6992
	  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6993
	  ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6994
	esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6995
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6996
	# Prepare the list of exported symbols
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6997
	if test -z "$export_symbols"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6998
	  if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  6999
	    func_verbose "generating symbol list for \`$libname.la'"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7000
	    export_symbols="$output_objdir/$libname.exp"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7001
	    $opt_dry_run || $RM $export_symbols
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7002
	    cmds=$export_symbols_cmds
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7003
	    save_ifs="$IFS"; IFS='~'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7004
	    for cmd in $cmds; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7005
	      IFS="$save_ifs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7006
	      eval cmd=\"$cmd\"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7007
	      func_len " $cmd"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7008
	      len=$func_len_result
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7009
	      if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7010
		func_show_eval "$cmd" 'exit $?'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7011
		skipped_export=false
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7012
	      else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7013
		# The command line is too long to execute in one step.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7014
		func_verbose "using reloadable object file for export list..."
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7015
		skipped_export=:
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7016
		# Break out early, otherwise skipped_export may be
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7017
		# set to false by a later but shorter cmd.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7018
		break
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7019
	      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7020
	    done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7021
	    IFS="$save_ifs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7022
	    if test -n "$export_symbols_regex" && test "X$skipped_export" != "X:"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7023
	      func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7024
	      func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7025
	    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7026
	  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7027
	fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7028
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7029
	if test -n "$export_symbols" && test -n "$include_expsyms"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7030
	  tmp_export_symbols="$export_symbols"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7031
	  test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7032
	  $opt_dry_run || eval '$ECHO "X$include_expsyms" | $Xsed | $SP2NL >> "$tmp_export_symbols"'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7033
	fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7034
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7035
	if test "X$skipped_export" != "X:" && test -n "$orig_export_symbols"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7036
	  # The given exports_symbols file has to be filtered, so filter it.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7037
	  func_verbose "filter symbol list for \`$libname.la' to tag DATA exports"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7038
	  # FIXME: $output_objdir/$libname.filter potentially contains lots of
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7039
	  # 's' commands which not all seds can handle. GNU sed should be fine
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7040
	  # though. Also, the filter scales superlinearly with the number of
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7041
	  # global variables. join(1) would be nice here, but unfortunately
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7042
	  # isn't a blessed tool.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7043
	  $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7044
	  delfiles="$delfiles $export_symbols $output_objdir/$libname.filter"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7045
	  export_symbols=$output_objdir/$libname.def
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7046
	  $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7047
	fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7048
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7049
	tmp_deplibs=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7050
	for test_deplib in $deplibs; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7051
	  case " $convenience " in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7052
	  *" $test_deplib "*) ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7053
	  *)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7054
	    tmp_deplibs="$tmp_deplibs $test_deplib"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7055
	    ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7056
	  esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7057
	done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7058
	deplibs="$tmp_deplibs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7059
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7060
	if test -n "$convenience"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7061
	  if test -n "$whole_archive_flag_spec" &&
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7062
	    test "$compiler_needs_object" = yes &&
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7063
	    test -z "$libobjs"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7064
	    # extract the archives, so we have objects to list.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7065
	    # TODO: could optimize this to just extract one archive.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7066
	    whole_archive_flag_spec=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7067
	  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7068
	  if test -n "$whole_archive_flag_spec"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7069
	    save_libobjs=$libobjs
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7070
	    eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7071
	    test "X$libobjs" = "X " && libobjs=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7072
	  else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7073
	    gentop="$output_objdir/${outputname}x"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7074
	    generated="$generated $gentop"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7075
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7076
	    func_extract_archives $gentop $convenience
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7077
	    libobjs="$libobjs $func_extract_archives_result"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7078
	    test "X$libobjs" = "X " && libobjs=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7079
	  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7080
	fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7081
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7082
	if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7083
	  eval flag=\"$thread_safe_flag_spec\"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7084
	  linker_flags="$linker_flags $flag"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7085
	fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7086
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7087
	# Make a backup of the uninstalled library when relinking
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7088
	if test "$mode" = relink; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7089
	  $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $?
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7090
	fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7091
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7092
	# Do each of the archive commands.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7093
	if test "$module" = yes && test -n "$module_cmds" ; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7094
	  if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7095
	    eval test_cmds=\"$module_expsym_cmds\"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7096
	    cmds=$module_expsym_cmds
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7097
	  else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7098
	    eval test_cmds=\"$module_cmds\"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7099
	    cmds=$module_cmds
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7100
	  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7101
	else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7102
	  if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7103
	    eval test_cmds=\"$archive_expsym_cmds\"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7104
	    cmds=$archive_expsym_cmds
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7105
	  else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7106
	    eval test_cmds=\"$archive_cmds\"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7107
	    cmds=$archive_cmds
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7108
	  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7109
	fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7110
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7111
	if test "X$skipped_export" != "X:" &&
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7112
	   func_len " $test_cmds" &&
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7113
	   len=$func_len_result &&
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7114
	   test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7115
	  :
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7116
	else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7117
	  # The command line is too long to link in one step, link piecewise
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7118
	  # or, if using GNU ld and skipped_export is not :, use a linker
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7119
	  # script.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7120
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7121
	  # Save the value of $output and $libobjs because we want to
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7122
	  # use them later.  If we have whole_archive_flag_spec, we
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7123
	  # want to use save_libobjs as it was before
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7124
	  # whole_archive_flag_spec was expanded, because we can't
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7125
	  # assume the linker understands whole_archive_flag_spec.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7126
	  # This may have to be revisited, in case too many
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7127
	  # convenience libraries get linked in and end up exceeding
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7128
	  # the spec.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7129
	  if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7130
	    save_libobjs=$libobjs
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7131
	  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7132
	  save_output=$output
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7133
	  output_la=`$ECHO "X$output" | $Xsed -e "$basename"`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7134
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7135
	  # Clear the reloadable object creation command queue and
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7136
	  # initialize k to one.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7137
	  test_cmds=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7138
	  concat_cmds=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7139
	  objlist=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7140
	  last_robj=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7141
	  k=1
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7142
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7143
	  if test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "$with_gnu_ld" = yes; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7144
	    output=${output_objdir}/${output_la}.lnkscript
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7145
	    func_verbose "creating GNU ld script: $output"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7146
	    $ECHO 'INPUT (' > $output
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7147
	    for obj in $save_libobjs
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7148
	    do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7149
	      $ECHO "$obj" >> $output
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7150
	    done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7151
	    $ECHO ')' >> $output
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7152
	    delfiles="$delfiles $output"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7153
	  elif test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "X$file_list_spec" != X; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7154
	    output=${output_objdir}/${output_la}.lnk
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7155
	    func_verbose "creating linker input file list: $output"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7156
	    : > $output
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7157
	    set x $save_libobjs
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7158
	    shift
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7159
	    firstobj=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7160
	    if test "$compiler_needs_object" = yes; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7161
	      firstobj="$1 "
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7162
	      shift
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7163
	    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7164
	    for obj
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7165
	    do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7166
	      $ECHO "$obj" >> $output
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7167
	    done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7168
	    delfiles="$delfiles $output"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7169
	    output=$firstobj\"$file_list_spec$output\"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7170
	  else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7171
	    if test -n "$save_libobjs"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7172
	      func_verbose "creating reloadable object files..."
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7173
	      output=$output_objdir/$output_la-${k}.$objext
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7174
	      eval test_cmds=\"$reload_cmds\"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7175
	      func_len " $test_cmds"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7176
	      len0=$func_len_result
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7177
	      len=$len0
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7178
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7179
	      # Loop over the list of objects to be linked.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7180
	      for obj in $save_libobjs
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7181
	      do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7182
		func_len " $obj"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7183
		func_arith $len + $func_len_result
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7184
		len=$func_arith_result
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7185
		if test "X$objlist" = X ||
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7186
		   test "$len" -lt "$max_cmd_len"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7187
		  func_append objlist " $obj"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7188
		else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7189
		  # The command $test_cmds is almost too long, add a
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7190
		  # command to the queue.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7191
		  if test "$k" -eq 1 ; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7192
		    # The first file doesn't have a previous command to add.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7193
		    eval concat_cmds=\"$reload_cmds $objlist $last_robj\"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7194
		  else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7195
		    # All subsequent reloadable object files will link in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7196
		    # the last one created.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7197
		    eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj~\$RM $last_robj\"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7198
		  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7199
		  last_robj=$output_objdir/$output_la-${k}.$objext
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7200
		  func_arith $k + 1
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7201
		  k=$func_arith_result
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7202
		  output=$output_objdir/$output_la-${k}.$objext
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7203
		  objlist=$obj
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7204
		  func_len " $last_robj"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7205
		  func_arith $len0 + $func_len_result
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7206
		  len=$func_arith_result
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7207
		fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7208
	      done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7209
	      # Handle the remaining objects by creating one last
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7210
	      # reloadable object file.  All subsequent reloadable object
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7211
	      # files will link in the last one created.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7212
	      test -z "$concat_cmds" || concat_cmds=$concat_cmds~
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7213
	      eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7214
	      if test -n "$last_robj"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7215
	        eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7216
	      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7217
	      delfiles="$delfiles $output"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7218
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7219
	    else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7220
	      output=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7221
	    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7222
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7223
	    if ${skipped_export-false}; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7224
	      func_verbose "generating symbol list for \`$libname.la'"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7225
	      export_symbols="$output_objdir/$libname.exp"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7226
	      $opt_dry_run || $RM $export_symbols
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7227
	      libobjs=$output
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7228
	      # Append the command to create the export file.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7229
	      test -z "$concat_cmds" || concat_cmds=$concat_cmds~
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7230
	      eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7231
	      if test -n "$last_robj"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7232
		eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7233
	      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7234
	    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7235
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7236
	    test -n "$save_libobjs" &&
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7237
	      func_verbose "creating a temporary reloadable object file: $output"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7238
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7239
	    # Loop through the commands generated above and execute them.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7240
	    save_ifs="$IFS"; IFS='~'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7241
	    for cmd in $concat_cmds; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7242
	      IFS="$save_ifs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7243
	      $opt_silent || {
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7244
		  func_quote_for_expand "$cmd"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7245
		  eval "func_echo $func_quote_for_expand_result"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7246
	      }
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7247
	      $opt_dry_run || eval "$cmd" || {
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7248
		lt_exit=$?
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7249
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7250
		# Restore the uninstalled library and exit
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7251
		if test "$mode" = relink; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7252
		  ( cd "$output_objdir" && \
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7253
		    $RM "${realname}T" && \
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7254
		    $MV "${realname}U" "$realname" )
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7255
		fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7256
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7257
		exit $lt_exit
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7258
	      }
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7259
	    done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7260
	    IFS="$save_ifs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7261
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7262
	    if test -n "$export_symbols_regex" && ${skipped_export-false}; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7263
	      func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7264
	      func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7265
	    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7266
	  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7267
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7268
          if ${skipped_export-false}; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7269
	    if test -n "$export_symbols" && test -n "$include_expsyms"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7270
	      tmp_export_symbols="$export_symbols"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7271
	      test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7272
	      $opt_dry_run || eval '$ECHO "X$include_expsyms" | $Xsed | $SP2NL >> "$tmp_export_symbols"'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7273
	    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7274
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7275
	    if test -n "$orig_export_symbols"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7276
	      # The given exports_symbols file has to be filtered, so filter it.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7277
	      func_verbose "filter symbol list for \`$libname.la' to tag DATA exports"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7278
	      # FIXME: $output_objdir/$libname.filter potentially contains lots of
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7279
	      # 's' commands which not all seds can handle. GNU sed should be fine
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7280
	      # though. Also, the filter scales superlinearly with the number of
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7281
	      # global variables. join(1) would be nice here, but unfortunately
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7282
	      # isn't a blessed tool.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7283
	      $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7284
	      delfiles="$delfiles $export_symbols $output_objdir/$libname.filter"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7285
	      export_symbols=$output_objdir/$libname.def
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7286
	      $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7287
	    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7288
	  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7289
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7290
	  libobjs=$output
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7291
	  # Restore the value of output.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7292
	  output=$save_output
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7293
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7294
	  if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7295
	    eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7296
	    test "X$libobjs" = "X " && libobjs=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7297
	  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7298
	  # Expand the library linking commands again to reset the
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7299
	  # value of $libobjs for piecewise linking.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7300
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7301
	  # Do each of the archive commands.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7302
	  if test "$module" = yes && test -n "$module_cmds" ; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7303
	    if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7304
	      cmds=$module_expsym_cmds
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7305
	    else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7306
	      cmds=$module_cmds
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7307
	    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7308
	  else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7309
	    if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7310
	      cmds=$archive_expsym_cmds
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7311
	    else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7312
	      cmds=$archive_cmds
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7313
	    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7314
	  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7315
	fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7316
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7317
	if test -n "$delfiles"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7318
	  # Append the command to remove temporary files to $cmds.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7319
	  eval cmds=\"\$cmds~\$RM $delfiles\"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7320
	fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7321
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7322
	# Add any objects from preloaded convenience libraries
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7323
	if test -n "$dlprefiles"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7324
	  gentop="$output_objdir/${outputname}x"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7325
	  generated="$generated $gentop"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7326
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7327
	  func_extract_archives $gentop $dlprefiles
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7328
	  libobjs="$libobjs $func_extract_archives_result"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7329
	  test "X$libobjs" = "X " && libobjs=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7330
	fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7331
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7332
	save_ifs="$IFS"; IFS='~'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7333
	for cmd in $cmds; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7334
	  IFS="$save_ifs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7335
	  eval cmd=\"$cmd\"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7336
	  $opt_silent || {
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7337
	    func_quote_for_expand "$cmd"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7338
	    eval "func_echo $func_quote_for_expand_result"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7339
	  }
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7340
	  $opt_dry_run || eval "$cmd" || {
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7341
	    lt_exit=$?
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7342
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7343
	    # Restore the uninstalled library and exit
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7344
	    if test "$mode" = relink; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7345
	      ( cd "$output_objdir" && \
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7346
	        $RM "${realname}T" && \
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7347
		$MV "${realname}U" "$realname" )
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7348
	    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7349
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7350
	    exit $lt_exit
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7351
	  }
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7352
	done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7353
	IFS="$save_ifs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7354
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7355
	# Restore the uninstalled library and exit
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7356
	if test "$mode" = relink; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7357
	  $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $?
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7358
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7359
	  if test -n "$convenience"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7360
	    if test -z "$whole_archive_flag_spec"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7361
	      func_show_eval '${RM}r "$gentop"'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7362
	    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7363
	  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7364
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7365
	  exit $EXIT_SUCCESS
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7366
	fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7367
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7368
	# Create links to the real library.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7369
	for linkname in $linknames; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7370
	  if test "$realname" != "$linkname"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7371
	    func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7372
	  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7373
	done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7374
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7375
	# If -module or -export-dynamic was specified, set the dlname.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7376
	if test "$module" = yes || test "$export_dynamic" = yes; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7377
	  # On all known operating systems, these are identical.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7378
	  dlname="$soname"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7379
	fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7380
      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7381
      ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7382
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7383
    obj)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7384
      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7385
	func_warning "\`-dlopen' is ignored for objects"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7386
      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7387
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7388
      case " $deplibs" in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7389
      *\ -l* | *\ -L*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7390
	func_warning "\`-l' and \`-L' are ignored for objects" ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7391
      esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7392
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7393
      test -n "$rpath" && \
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7394
	func_warning "\`-rpath' is ignored for objects"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7395
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7396
      test -n "$xrpath" && \
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7397
	func_warning "\`-R' is ignored for objects"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7398
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7399
      test -n "$vinfo" && \
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7400
	func_warning "\`-version-info' is ignored for objects"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7401
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7402
      test -n "$release" && \
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7403
	func_warning "\`-release' is ignored for objects"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7404
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7405
      case $output in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7406
      *.lo)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7407
	test -n "$objs$old_deplibs" && \
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7408
	  func_fatal_error "cannot build library object \`$output' from non-libtool objects"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7409
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7410
	libobj=$output
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7411
	func_lo2o "$libobj"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7412
	obj=$func_lo2o_result
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7413
	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7414
      *)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7415
	libobj=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7416
	obj="$output"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7417
	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7418
      esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7419
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7420
      # Delete the old objects.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7421
      $opt_dry_run || $RM $obj $libobj
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7422
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7423
      # Objects from convenience libraries.  This assumes
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7424
      # single-version convenience libraries.  Whenever we create
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7425
      # different ones for PIC/non-PIC, this we'll have to duplicate
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7426
      # the extraction.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7427
      reload_conv_objs=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7428
      gentop=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7429
      # reload_cmds runs $LD directly, so let us get rid of
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7430
      # -Wl from whole_archive_flag_spec and hope we can get by with
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7431
      # turning comma into space..
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7432
      wl=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7433
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7434
      if test -n "$convenience"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7435
	if test -n "$whole_archive_flag_spec"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7436
	  eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7437
	  reload_conv_objs=$reload_objs\ `$ECHO "X$tmp_whole_archive_flags" | $Xsed -e 's|,| |g'`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7438
	else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7439
	  gentop="$output_objdir/${obj}x"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7440
	  generated="$generated $gentop"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7441
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7442
	  func_extract_archives $gentop $convenience
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7443
	  reload_conv_objs="$reload_objs $func_extract_archives_result"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7444
	fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7445
      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7446
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7447
      # Create the old-style object.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7448
      reload_objs="$objs$old_deplibs "`$ECHO "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7449
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7450
      output="$obj"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7451
      func_execute_cmds "$reload_cmds" 'exit $?'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7452
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7453
      # Exit if we aren't doing a library object file.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7454
      if test -z "$libobj"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7455
	if test -n "$gentop"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7456
	  func_show_eval '${RM}r "$gentop"'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7457
	fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7458
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7459
	exit $EXIT_SUCCESS
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7460
      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7461
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7462
      if test "$build_libtool_libs" != yes; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7463
	if test -n "$gentop"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7464
	  func_show_eval '${RM}r "$gentop"'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7465
	fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7466
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7467
	# Create an invalid libtool object if no PIC, so that we don't
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7468
	# accidentally link it into a program.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7469
	# $show "echo timestamp > $libobj"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7470
	# $opt_dry_run || eval "echo timestamp > $libobj" || exit $?
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7471
	exit $EXIT_SUCCESS
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7472
      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7473
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7474
      if test -n "$pic_flag" || test "$pic_mode" != default; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7475
	# Only do commands if we really have different PIC objects.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7476
	reload_objs="$libobjs $reload_conv_objs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7477
	output="$libobj"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7478
	func_execute_cmds "$reload_cmds" 'exit $?'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7479
      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7480
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7481
      if test -n "$gentop"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7482
	func_show_eval '${RM}r "$gentop"'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7483
      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7484
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7485
      exit $EXIT_SUCCESS
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7486
      ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7487
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7488
    prog)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7489
      case $host in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7490
	*cygwin*) func_stripname '' '.exe' "$output"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7491
	          output=$func_stripname_result.exe;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7492
      esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7493
      test -n "$vinfo" && \
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7494
	func_warning "\`-version-info' is ignored for programs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7495
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7496
      test -n "$release" && \
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7497
	func_warning "\`-release' is ignored for programs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7498
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7499
      test "$preload" = yes \
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7500
        && test "$dlopen_support" = unknown \
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7501
	&& test "$dlopen_self" = unknown \
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7502
	&& test "$dlopen_self_static" = unknown && \
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7503
	  func_warning "\`LT_INIT([dlopen])' not used. Assuming no dlopen support."
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7504
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7505
      case $host in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7506
      *-*-rhapsody* | *-*-darwin1.[012])
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7507
	# On Rhapsody replace the C library is the System framework
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7508
	compile_deplibs=`$ECHO "X $compile_deplibs" | $Xsed -e 's/ -lc / System.ltframework /'`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7509
	finalize_deplibs=`$ECHO "X $finalize_deplibs" | $Xsed -e 's/ -lc / System.ltframework /'`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7510
	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7511
      esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7512
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7513
      case $host in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7514
      *-*-darwin*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7515
	# Don't allow lazy linking, it breaks C++ global constructors
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7516
	# But is supposedly fixed on 10.4 or later (yay!).
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7517
	if test "$tagname" = CXX ; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7518
	  case ${MACOSX_DEPLOYMENT_TARGET-10.0} in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7519
	    10.[0123])
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7520
	      compile_command="$compile_command ${wl}-bind_at_load"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7521
	      finalize_command="$finalize_command ${wl}-bind_at_load"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7522
	    ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7523
	  esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7524
	fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7525
	# Time to change all our "foo.ltframework" stuff back to "-framework foo"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7526
	compile_deplibs=`$ECHO "X $compile_deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7527
	finalize_deplibs=`$ECHO "X $finalize_deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7528
	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7529
      esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7530
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7531
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7532
      # move library search paths that coincide with paths to not yet
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7533
      # installed libraries to the beginning of the library search list
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7534
      new_libs=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7535
      for path in $notinst_path; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7536
	case " $new_libs " in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7537
	*" -L$path/$objdir "*) ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7538
	*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7539
	  case " $compile_deplibs " in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7540
	  *" -L$path/$objdir "*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7541
	    new_libs="$new_libs -L$path/$objdir" ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7542
	  esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7543
	  ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7544
	esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7545
      done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7546
      for deplib in $compile_deplibs; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7547
	case $deplib in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7548
	-L*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7549
	  case " $new_libs " in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7550
	  *" $deplib "*) ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7551
	  *) new_libs="$new_libs $deplib" ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7552
	  esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7553
	  ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7554
	*) new_libs="$new_libs $deplib" ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7555
	esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7556
      done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7557
      compile_deplibs="$new_libs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7558
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7559
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7560
      compile_command="$compile_command $compile_deplibs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7561
      finalize_command="$finalize_command $finalize_deplibs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7562
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7563
      if test -n "$rpath$xrpath"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7564
	# If the user specified any rpath flags, then add them.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7565
	for libdir in $rpath $xrpath; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7566
	  # This is the magic to use -rpath.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7567
	  case "$finalize_rpath " in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7568
	  *" $libdir "*) ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7569
	  *) finalize_rpath="$finalize_rpath $libdir" ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7570
	  esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7571
	done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7572
      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7573
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7574
      # Now hardcode the library paths
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7575
      rpath=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7576
      hardcode_libdirs=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7577
      for libdir in $compile_rpath $finalize_rpath; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7578
	if test -n "$hardcode_libdir_flag_spec"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7579
	  if test -n "$hardcode_libdir_separator"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7580
	    if test -z "$hardcode_libdirs"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7581
	      hardcode_libdirs="$libdir"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7582
	    else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7583
	      # Just accumulate the unique libdirs.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7584
	      case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7585
	      *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7586
		;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7587
	      *)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7588
		hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7589
		;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7590
	      esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7591
	    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7592
	  else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7593
	    eval flag=\"$hardcode_libdir_flag_spec\"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7594
	    rpath="$rpath $flag"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7595
	  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7596
	elif test -n "$runpath_var"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7597
	  case "$perm_rpath " in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7598
	  *" $libdir "*) ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7599
	  *) perm_rpath="$perm_rpath $libdir" ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7600
	  esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7601
	fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7602
	case $host in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7603
	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7604
	  testbindir=`${ECHO} "$libdir" | ${SED} -e 's*/lib$*/bin*'`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7605
	  case :$dllsearchpath: in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7606
	  *":$libdir:"*) ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7607
	  ::) dllsearchpath=$libdir;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7608
	  *) dllsearchpath="$dllsearchpath:$libdir";;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7609
	  esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7610
	  case :$dllsearchpath: in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7611
	  *":$testbindir:"*) ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7612
	  ::) dllsearchpath=$testbindir;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7613
	  *) dllsearchpath="$dllsearchpath:$testbindir";;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7614
	  esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7615
	  ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7616
	esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7617
      done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7618
      # Substitute the hardcoded libdirs into the rpath.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7619
      if test -n "$hardcode_libdir_separator" &&
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7620
	 test -n "$hardcode_libdirs"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7621
	libdir="$hardcode_libdirs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7622
	eval rpath=\" $hardcode_libdir_flag_spec\"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7623
      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7624
      compile_rpath="$rpath"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7625
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7626
      rpath=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7627
      hardcode_libdirs=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7628
      for libdir in $finalize_rpath; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7629
	if test -n "$hardcode_libdir_flag_spec"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7630
	  if test -n "$hardcode_libdir_separator"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7631
	    if test -z "$hardcode_libdirs"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7632
	      hardcode_libdirs="$libdir"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7633
	    else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7634
	      # Just accumulate the unique libdirs.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7635
	      case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7636
	      *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7637
		;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7638
	      *)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7639
		hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7640
		;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7641
	      esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7642
	    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7643
	  else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7644
	    eval flag=\"$hardcode_libdir_flag_spec\"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7645
	    rpath="$rpath $flag"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7646
	  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7647
	elif test -n "$runpath_var"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7648
	  case "$finalize_perm_rpath " in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7649
	  *" $libdir "*) ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7650
	  *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7651
	  esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7652
	fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7653
      done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7654
      # Substitute the hardcoded libdirs into the rpath.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7655
      if test -n "$hardcode_libdir_separator" &&
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7656
	 test -n "$hardcode_libdirs"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7657
	libdir="$hardcode_libdirs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7658
	eval rpath=\" $hardcode_libdir_flag_spec\"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7659
      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7660
      finalize_rpath="$rpath"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7661
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7662
      if test -n "$libobjs" && test "$build_old_libs" = yes; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7663
	# Transform all the library objects into standard objects.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7664
	compile_command=`$ECHO "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7665
	finalize_command=`$ECHO "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7666
      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7667
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7668
      func_generate_dlsyms "$outputname" "@PROGRAM@" "no"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7669
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7670
      # template prelinking step
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7671
      if test -n "$prelink_cmds"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7672
	func_execute_cmds "$prelink_cmds" 'exit $?'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7673
      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7674
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7675
      wrappers_required=yes
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7676
      case $host in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7677
      *cygwin* | *mingw* )
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7678
        if test "$build_libtool_libs" != yes; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7679
          wrappers_required=no
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7680
        fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7681
        ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7682
      *cegcc)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7683
        # Disable wrappers for cegcc, we are cross compiling anyway.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7684
        wrappers_required=no
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7685
        ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7686
      *)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7687
        if test "$need_relink" = no || test "$build_libtool_libs" != yes; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7688
          wrappers_required=no
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7689
        fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7690
        ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7691
      esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7692
      if test "$wrappers_required" = no; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7693
	# Replace the output file specification.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7694
	compile_command=`$ECHO "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7695
	link_command="$compile_command$compile_rpath"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7696
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7697
	# We have no uninstalled library dependencies, so finalize right now.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7698
	exit_status=0
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7699
	func_show_eval "$link_command" 'exit_status=$?'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7700
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7701
	# Delete the generated files.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7702
	if test -f "$output_objdir/${outputname}S.${objext}"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7703
	  func_show_eval '$RM "$output_objdir/${outputname}S.${objext}"'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7704
	fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7705
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7706
	exit $exit_status
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7707
      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7708
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7709
      if test -n "$compile_shlibpath$finalize_shlibpath"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7710
	compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7711
      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7712
      if test -n "$finalize_shlibpath"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7713
	finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7714
      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7715
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7716
      compile_var=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7717
      finalize_var=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7718
      if test -n "$runpath_var"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7719
	if test -n "$perm_rpath"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7720
	  # We should set the runpath_var.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7721
	  rpath=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7722
	  for dir in $perm_rpath; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7723
	    rpath="$rpath$dir:"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7724
	  done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7725
	  compile_var="$runpath_var=\"$rpath\$$runpath_var\" "
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7726
	fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7727
	if test -n "$finalize_perm_rpath"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7728
	  # We should set the runpath_var.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7729
	  rpath=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7730
	  for dir in $finalize_perm_rpath; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7731
	    rpath="$rpath$dir:"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7732
	  done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7733
	  finalize_var="$runpath_var=\"$rpath\$$runpath_var\" "
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7734
	fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7735
      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7736
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7737
      if test "$no_install" = yes; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7738
	# We don't need to create a wrapper script.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7739
	link_command="$compile_var$compile_command$compile_rpath"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7740
	# Replace the output file specification.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7741
	link_command=`$ECHO "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7742
	# Delete the old output file.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7743
	$opt_dry_run || $RM $output
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7744
	# Link the executable and exit
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7745
	func_show_eval "$link_command" 'exit $?'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7746
	exit $EXIT_SUCCESS
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7747
      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7748
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7749
      if test "$hardcode_action" = relink; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7750
	# Fast installation is not supported
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7751
	link_command="$compile_var$compile_command$compile_rpath"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7752
	relink_command="$finalize_var$finalize_command$finalize_rpath"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7753
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7754
	func_warning "this platform does not like uninstalled shared libraries"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7755
	func_warning "\`$output' will be relinked during installation"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7756
      else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7757
	if test "$fast_install" != no; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7758
	  link_command="$finalize_var$compile_command$finalize_rpath"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7759
	  if test "$fast_install" = yes; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7760
	    relink_command=`$ECHO "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7761
	  else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7762
	    # fast_install is set to needless
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7763
	    relink_command=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7764
	  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7765
	else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7766
	  link_command="$compile_var$compile_command$compile_rpath"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7767
	  relink_command="$finalize_var$finalize_command$finalize_rpath"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7768
	fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7769
      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7770
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7771
      # Replace the output file specification.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7772
      link_command=`$ECHO "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7773
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7774
      # Delete the old output files.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7775
      $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7776
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7777
      func_show_eval "$link_command" 'exit $?'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7778
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7779
      # Now create the wrapper script.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7780
      func_verbose "creating $output"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7781
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7782
      # Quote the relink command for shipping.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7783
      if test -n "$relink_command"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7784
	# Preserve any variables that may affect compiler behavior
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7785
	for var in $variables_saved_for_relink; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7786
	  if eval test -z \"\${$var+set}\"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7787
	    relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7788
	  elif eval var_value=\$$var; test -z "$var_value"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7789
	    relink_command="$var=; export $var; $relink_command"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7790
	  else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7791
	    func_quote_for_eval "$var_value"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7792
	    relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7793
	  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7794
	done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7795
	relink_command="(cd `pwd`; $relink_command)"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7796
	relink_command=`$ECHO "X$relink_command" | $Xsed -e "$sed_quote_subst"`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7797
      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7798
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7799
      # Quote $ECHO for shipping.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7800
      if test "X$ECHO" = "X$SHELL $progpath --fallback-echo"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7801
	case $progpath in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7802
	[\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7803
	*) qecho="$SHELL `pwd`/$progpath --fallback-echo";;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7804
	esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7805
	qecho=`$ECHO "X$qecho" | $Xsed -e "$sed_quote_subst"`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7806
      else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7807
	qecho=`$ECHO "X$ECHO" | $Xsed -e "$sed_quote_subst"`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7808
      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7809
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7810
      # Only actually do things if not in dry run mode.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7811
      $opt_dry_run || {
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7812
	# win32 will think the script is a binary if it has
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7813
	# a .exe suffix, so we strip it off here.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7814
	case $output in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7815
	  *.exe) func_stripname '' '.exe' "$output"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7816
	         output=$func_stripname_result ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7817
	esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7818
	# test for cygwin because mv fails w/o .exe extensions
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7819
	case $host in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7820
	  *cygwin*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7821
	    exeext=.exe
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7822
	    func_stripname '' '.exe' "$outputname"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7823
	    outputname=$func_stripname_result ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7824
	  *) exeext= ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7825
	esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7826
	case $host in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7827
	  *cygwin* | *mingw* )
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7828
	    func_dirname_and_basename "$output" "" "."
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7829
	    output_name=$func_basename_result
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7830
	    output_path=$func_dirname_result
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7831
	    cwrappersource="$output_path/$objdir/lt-$output_name.c"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7832
	    cwrapper="$output_path/$output_name.exe"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7833
	    $RM $cwrappersource $cwrapper
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7834
	    trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7835
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7836
	    func_emit_cwrapperexe_src > $cwrappersource
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7837
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7838
	    # The wrapper executable is built using the $host compiler,
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7839
	    # because it contains $host paths and files. If cross-
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7840
	    # compiling, it, like the target executable, must be
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7841
	    # executed on the $host or under an emulation environment.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7842
	    $opt_dry_run || {
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7843
	      $LTCC $LTCFLAGS -o $cwrapper $cwrappersource
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7844
	      $STRIP $cwrapper
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7845
	    }
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7846
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7847
	    # Now, create the wrapper script for func_source use:
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7848
	    func_ltwrapper_scriptname $cwrapper
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7849
	    $RM $func_ltwrapper_scriptname_result
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7850
	    trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7851
	    $opt_dry_run || {
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7852
	      # note: this script will not be executed, so do not chmod.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7853
	      if test "x$build" = "x$host" ; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7854
		$cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7855
	      else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7856
		func_emit_wrapper no > $func_ltwrapper_scriptname_result
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7857
	      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7858
	    }
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7859
	  ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7860
	  * )
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7861
	    $RM $output
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7862
	    trap "$RM $output; exit $EXIT_FAILURE" 1 2 15
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7863
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7864
	    func_emit_wrapper no > $output
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7865
	    chmod +x $output
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7866
	  ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7867
	esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7868
      }
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7869
      exit $EXIT_SUCCESS
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7870
      ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7871
    esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7872
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7873
    # See if we need to build an old-fashioned archive.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7874
    for oldlib in $oldlibs; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7875
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7876
      if test "$build_libtool_libs" = convenience; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7877
	oldobjs="$libobjs_save $symfileobj"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7878
	addlibs="$convenience"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7879
	build_libtool_libs=no
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7880
      else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7881
	if test "$build_libtool_libs" = module; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7882
	  oldobjs="$libobjs_save"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7883
	  build_libtool_libs=no
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7884
	else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7885
	  oldobjs="$old_deplibs $non_pic_objects"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7886
	  if test "$preload" = yes && test -f "$symfileobj"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7887
	    oldobjs="$oldobjs $symfileobj"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7888
	  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7889
	fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7890
	addlibs="$old_convenience"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7891
      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7892
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7893
      if test -n "$addlibs"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7894
	gentop="$output_objdir/${outputname}x"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7895
	generated="$generated $gentop"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7896
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7897
	func_extract_archives $gentop $addlibs
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7898
	oldobjs="$oldobjs $func_extract_archives_result"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7899
      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7900
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7901
      # Do each command in the archive commands.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7902
      if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7903
	cmds=$old_archive_from_new_cmds
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7904
      else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7905
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7906
	# Add any objects from preloaded convenience libraries
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7907
	if test -n "$dlprefiles"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7908
	  gentop="$output_objdir/${outputname}x"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7909
	  generated="$generated $gentop"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7910
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7911
	  func_extract_archives $gentop $dlprefiles
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7912
	  oldobjs="$oldobjs $func_extract_archives_result"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7913
	fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7914
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7915
	# POSIX demands no paths to be encoded in archives.  We have
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7916
	# to avoid creating archives with duplicate basenames if we
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7917
	# might have to extract them afterwards, e.g., when creating a
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7918
	# static archive out of a convenience library, or when linking
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7919
	# the entirety of a libtool archive into another (currently
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7920
	# not supported by libtool).
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7921
	if (for obj in $oldobjs
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7922
	    do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7923
	      func_basename "$obj"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7924
	      $ECHO "$func_basename_result"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7925
	    done | sort | sort -uc >/dev/null 2>&1); then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7926
	  :
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7927
	else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7928
	  $ECHO "copying selected object files to avoid basename conflicts..."
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7929
	  gentop="$output_objdir/${outputname}x"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7930
	  generated="$generated $gentop"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7931
	  func_mkdir_p "$gentop"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7932
	  save_oldobjs=$oldobjs
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7933
	  oldobjs=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7934
	  counter=1
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7935
	  for obj in $save_oldobjs
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7936
	  do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7937
	    func_basename "$obj"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7938
	    objbase="$func_basename_result"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7939
	    case " $oldobjs " in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7940
	    " ") oldobjs=$obj ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7941
	    *[\ /]"$objbase "*)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7942
	      while :; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7943
		# Make sure we don't pick an alternate name that also
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7944
		# overlaps.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7945
		newobj=lt$counter-$objbase
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7946
		func_arith $counter + 1
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7947
		counter=$func_arith_result
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7948
		case " $oldobjs " in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7949
		*[\ /]"$newobj "*) ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7950
		*) if test ! -f "$gentop/$newobj"; then break; fi ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7951
		esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7952
	      done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7953
	      func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7954
	      oldobjs="$oldobjs $gentop/$newobj"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7955
	      ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7956
	    *) oldobjs="$oldobjs $obj" ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7957
	    esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7958
	  done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7959
	fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7960
	eval cmds=\"$old_archive_cmds\"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7961
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7962
	func_len " $cmds"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7963
	len=$func_len_result
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7964
	if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7965
	  cmds=$old_archive_cmds
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7966
	else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7967
	  # the command line is too long to link in one step, link in parts
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7968
	  func_verbose "using piecewise archive linking..."
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7969
	  save_RANLIB=$RANLIB
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7970
	  RANLIB=:
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7971
	  objlist=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7972
	  concat_cmds=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7973
	  save_oldobjs=$oldobjs
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7974
	  oldobjs=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7975
	  # Is there a better way of finding the last object in the list?
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7976
	  for obj in $save_oldobjs
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7977
	  do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7978
	    last_oldobj=$obj
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7979
	  done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7980
	  eval test_cmds=\"$old_archive_cmds\"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7981
	  func_len " $test_cmds"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7982
	  len0=$func_len_result
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7983
	  len=$len0
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7984
	  for obj in $save_oldobjs
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7985
	  do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7986
	    func_len " $obj"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7987
	    func_arith $len + $func_len_result
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7988
	    len=$func_arith_result
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7989
	    func_append objlist " $obj"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7990
	    if test "$len" -lt "$max_cmd_len"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7991
	      :
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7992
	    else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7993
	      # the above command should be used before it gets too long
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7994
	      oldobjs=$objlist
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7995
	      if test "$obj" = "$last_oldobj" ; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7996
		RANLIB=$save_RANLIB
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7997
	      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7998
	      test -z "$concat_cmds" || concat_cmds=$concat_cmds~
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  7999
	      eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8000
	      objlist=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8001
	      len=$len0
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8002
	    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8003
	  done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8004
	  RANLIB=$save_RANLIB
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8005
	  oldobjs=$objlist
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8006
	  if test "X$oldobjs" = "X" ; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8007
	    eval cmds=\"\$concat_cmds\"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8008
	  else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8009
	    eval cmds=\"\$concat_cmds~\$old_archive_cmds\"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8010
	  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8011
	fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8012
      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8013
      func_execute_cmds "$cmds" 'exit $?'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8014
    done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8015
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8016
    test -n "$generated" && \
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8017
      func_show_eval "${RM}r$generated"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8018
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8019
    # Now create the libtool archive.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8020
    case $output in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8021
    *.la)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8022
      old_library=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8023
      test "$build_old_libs" = yes && old_library="$libname.$libext"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8024
      func_verbose "creating $output"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8025
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8026
      # Preserve any variables that may affect compiler behavior
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8027
      for var in $variables_saved_for_relink; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8028
	if eval test -z \"\${$var+set}\"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8029
	  relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8030
	elif eval var_value=\$$var; test -z "$var_value"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8031
	  relink_command="$var=; export $var; $relink_command"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8032
	else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8033
	  func_quote_for_eval "$var_value"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8034
	  relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8035
	fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8036
      done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8037
      # Quote the link command for shipping.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8038
      relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8039
      relink_command=`$ECHO "X$relink_command" | $Xsed -e "$sed_quote_subst"`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8040
      if test "$hardcode_automatic" = yes ; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8041
	relink_command=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8042
      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8043
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8044
      # Only create the output if not a dry run.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8045
      $opt_dry_run || {
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8046
	for installed in no yes; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8047
	  if test "$installed" = yes; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8048
	    if test -z "$install_libdir"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8049
	      break
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8050
	    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8051
	    output="$output_objdir/$outputname"i
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8052
	    # Replace all uninstalled libtool libraries with the installed ones
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8053
	    newdependency_libs=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8054
	    for deplib in $dependency_libs; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8055
	      case $deplib in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8056
	      *.la)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8057
		func_basename "$deplib"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8058
		name="$func_basename_result"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8059
		eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8060
		test -z "$libdir" && \
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8061
		  func_fatal_error "\`$deplib' is not a valid libtool archive"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8062
		newdependency_libs="$newdependency_libs $libdir/$name"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8063
		;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8064
	      *) newdependency_libs="$newdependency_libs $deplib" ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8065
	      esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8066
	    done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8067
	    dependency_libs="$newdependency_libs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8068
	    newdlfiles=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8069
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8070
	    for lib in $dlfiles; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8071
	      case $lib in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8072
	      *.la)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8073
	        func_basename "$lib"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8074
		name="$func_basename_result"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8075
		eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8076
		test -z "$libdir" && \
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8077
		  func_fatal_error "\`$lib' is not a valid libtool archive"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8078
		newdlfiles="$newdlfiles $libdir/$name"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8079
		;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8080
	      *) newdlfiles="$newdlfiles $lib" ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8081
	      esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8082
	    done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8083
	    dlfiles="$newdlfiles"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8084
	    newdlprefiles=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8085
	    for lib in $dlprefiles; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8086
	      case $lib in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8087
	      *.la)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8088
		# Only pass preopened files to the pseudo-archive (for
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8089
		# eventual linking with the app. that links it) if we
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8090
		# didn't already link the preopened objects directly into
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8091
		# the library:
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8092
		func_basename "$lib"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8093
		name="$func_basename_result"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8094
		eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8095
		test -z "$libdir" && \
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8096
		  func_fatal_error "\`$lib' is not a valid libtool archive"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8097
		newdlprefiles="$newdlprefiles $libdir/$name"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8098
		;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8099
	      esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8100
	    done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8101
	    dlprefiles="$newdlprefiles"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8102
	  else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8103
	    newdlfiles=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8104
	    for lib in $dlfiles; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8105
	      case $lib in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8106
		[\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8107
		*) abs=`pwd`"/$lib" ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8108
	      esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8109
	      newdlfiles="$newdlfiles $abs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8110
	    done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8111
	    dlfiles="$newdlfiles"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8112
	    newdlprefiles=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8113
	    for lib in $dlprefiles; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8114
	      case $lib in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8115
		[\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8116
		*) abs=`pwd`"/$lib" ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8117
	      esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8118
	      newdlprefiles="$newdlprefiles $abs"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8119
	    done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8120
	    dlprefiles="$newdlprefiles"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8121
	  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8122
	  $RM $output
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8123
	  # place dlname in correct position for cygwin
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8124
	  tdlname=$dlname
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8125
	  case $host,$output,$installed,$module,$dlname in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8126
	    *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8127
	  esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8128
	  $ECHO > $output "\
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8129
# $outputname - a libtool library file
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8130
# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8131
#
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8132
# Please DO NOT delete this file!
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8133
# It is necessary for linking the library.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8134
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8135
# The name that we can dlopen(3).
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8136
dlname='$tdlname'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8137
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8138
# Names of this library.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8139
library_names='$library_names'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8140
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8141
# The name of the static archive.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8142
old_library='$old_library'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8143
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8144
# Linker flags that can not go in dependency_libs.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8145
inherited_linker_flags='$new_inherited_linker_flags'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8146
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8147
# Libraries that this one depends upon.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8148
dependency_libs='$dependency_libs'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8149
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8150
# Names of additional weak libraries provided by this library
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8151
weak_library_names='$weak_libs'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8152
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8153
# Version information for $libname.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8154
current=$current
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8155
age=$age
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8156
revision=$revision
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8157
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8158
# Is this an already installed library?
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8159
installed=$installed
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8160
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8161
# Should we warn about portability when linking against -modules?
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8162
shouldnotlink=$module
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8163
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8164
# Files to dlopen/dlpreopen
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8165
dlopen='$dlfiles'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8166
dlpreopen='$dlprefiles'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8167
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8168
# Directory that this library needs to be installed in:
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8169
libdir='$install_libdir'"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8170
	  if test "$installed" = no && test "$need_relink" = yes; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8171
	    $ECHO >> $output "\
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8172
relink_command=\"$relink_command\""
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8173
	  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8174
	done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8175
      }
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8176
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8177
      # Do a symbolic link so that the libtool archive can be found in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8178
      # LD_LIBRARY_PATH before the program is installed.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8179
      func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8180
      ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8181
    esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8182
    exit $EXIT_SUCCESS
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8183
}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8184
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8185
{ test "$mode" = link || test "$mode" = relink; } &&
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8186
    func_mode_link ${1+"$@"}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8187
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8188
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8189
# func_mode_uninstall arg...
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8190
func_mode_uninstall ()
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8191
{
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8192
    $opt_debug
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8193
    RM="$nonopt"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8194
    files=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8195
    rmforce=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8196
    exit_status=0
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8197
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8198
    # This variable tells wrapper scripts just to set variables rather
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8199
    # than running their programs.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8200
    libtool_install_magic="$magic"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8201
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8202
    for arg
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8203
    do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8204
      case $arg in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8205
      -f) RM="$RM $arg"; rmforce=yes ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8206
      -*) RM="$RM $arg" ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8207
      *) files="$files $arg" ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8208
      esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8209
    done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8210
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8211
    test -z "$RM" && \
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8212
      func_fatal_help "you must specify an RM program"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8213
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8214
    rmdirs=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8215
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8216
    origobjdir="$objdir"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8217
    for file in $files; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8218
      func_dirname "$file" "" "."
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8219
      dir="$func_dirname_result"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8220
      if test "X$dir" = X.; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8221
	objdir="$origobjdir"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8222
      else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8223
	objdir="$dir/$origobjdir"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8224
      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8225
      func_basename "$file"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8226
      name="$func_basename_result"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8227
      test "$mode" = uninstall && objdir="$dir"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8228
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8229
      # Remember objdir for removal later, being careful to avoid duplicates
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8230
      if test "$mode" = clean; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8231
	case " $rmdirs " in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8232
	  *" $objdir "*) ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8233
	  *) rmdirs="$rmdirs $objdir" ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8234
	esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8235
      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8236
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8237
      # Don't error if the file doesn't exist and rm -f was used.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8238
      if { test -L "$file"; } >/dev/null 2>&1 ||
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8239
	 { test -h "$file"; } >/dev/null 2>&1 ||
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8240
	 test -f "$file"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8241
	:
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8242
      elif test -d "$file"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8243
	exit_status=1
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8244
	continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8245
      elif test "$rmforce" = yes; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8246
	continue
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8247
      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8248
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8249
      rmfiles="$file"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8250
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8251
      case $name in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8252
      *.la)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8253
	# Possibly a libtool archive, so verify it.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8254
	if func_lalib_p "$file"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8255
	  func_source $dir/$name
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8256
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8257
	  # Delete the libtool libraries and symlinks.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8258
	  for n in $library_names; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8259
	    rmfiles="$rmfiles $objdir/$n"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8260
	  done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8261
	  test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8262
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8263
	  case "$mode" in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8264
	  clean)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8265
	    case "  $library_names " in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8266
	    # "  " in the beginning catches empty $dlname
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8267
	    *" $dlname "*) ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8268
	    *) rmfiles="$rmfiles $objdir/$dlname" ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8269
	    esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8270
	    test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8271
	    ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8272
	  uninstall)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8273
	    if test -n "$library_names"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8274
	      # Do each command in the postuninstall commands.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8275
	      func_execute_cmds "$postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8276
	    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8277
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8278
	    if test -n "$old_library"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8279
	      # Do each command in the old_postuninstall commands.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8280
	      func_execute_cmds "$old_postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8281
	    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8282
	    # FIXME: should reinstall the best remaining shared library.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8283
	    ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8284
	  esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8285
	fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8286
	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8287
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8288
      *.lo)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8289
	# Possibly a libtool object, so verify it.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8290
	if func_lalib_p "$file"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8291
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8292
	  # Read the .lo file
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8293
	  func_source $dir/$name
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8294
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8295
	  # Add PIC object to the list of files to remove.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8296
	  if test -n "$pic_object" &&
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8297
	     test "$pic_object" != none; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8298
	    rmfiles="$rmfiles $dir/$pic_object"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8299
	  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8300
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8301
	  # Add non-PIC object to the list of files to remove.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8302
	  if test -n "$non_pic_object" &&
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8303
	     test "$non_pic_object" != none; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8304
	    rmfiles="$rmfiles $dir/$non_pic_object"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8305
	  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8306
	fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8307
	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8308
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8309
      *)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8310
	if test "$mode" = clean ; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8311
	  noexename=$name
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8312
	  case $file in
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8313
	  *.exe)
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8314
	    func_stripname '' '.exe' "$file"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8315
	    file=$func_stripname_result
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8316
	    func_stripname '' '.exe' "$name"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8317
	    noexename=$func_stripname_result
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8318
	    # $file with .exe has already been added to rmfiles,
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8319
	    # add $file without .exe
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8320
	    rmfiles="$rmfiles $file"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8321
	    ;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8322
	  esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8323
	  # Do a test to see if this is a libtool program.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8324
	  if func_ltwrapper_p "$file"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8325
	    if func_ltwrapper_executable_p "$file"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8326
	      func_ltwrapper_scriptname "$file"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8327
	      relink_command=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8328
	      func_source $func_ltwrapper_scriptname_result
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8329
	      rmfiles="$rmfiles $func_ltwrapper_scriptname_result"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8330
	    else
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8331
	      relink_command=
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8332
	      func_source $dir/$noexename
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8333
	    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8334
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8335
	    # note $name still contains .exe if it was in $file originally
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8336
	    # as does the version of $file that was added into $rmfiles
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8337
	    rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8338
	    if test "$fast_install" = yes && test -n "$relink_command"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8339
	      rmfiles="$rmfiles $objdir/lt-$name"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8340
	    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8341
	    if test "X$noexename" != "X$name" ; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8342
	      rmfiles="$rmfiles $objdir/lt-${noexename}.c"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8343
	    fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8344
	  fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8345
	fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8346
	;;
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8347
      esac
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8348
      func_show_eval "$RM $rmfiles" 'exit_status=1'
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8349
    done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8350
    objdir="$origobjdir"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8351
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8352
    # Try to remove the ${objdir}s in the directories where we deleted files
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8353
    for dir in $rmdirs; do
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8354
      if test -d "$dir"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8355
	func_show_eval "rmdir $dir >/dev/null 2>&1"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8356
      fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8357
    done
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8358
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8359
    exit $exit_status
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8360
}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8361
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8362
{ test "$mode" = uninstall || test "$mode" = clean; } &&
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8363
    func_mode_uninstall ${1+"$@"}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8364
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8365
test -z "$mode" && {
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8366
  help="$generic_help"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8367
  func_fatal_help "you must specify a MODE"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8368
}
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8369
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8370
test -z "$exec_cmd" && \
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8371
  func_fatal_help "invalid operation mode \`$mode'"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8372
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8373
if test -n "$exec_cmd"; then
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8374
  eval exec "$exec_cmd"
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8375
  exit $EXIT_FAILURE
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8376
fi
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8377
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8378
exit $exit_status
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8379
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8380
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8381
# The TAGs below are defined such that we never get into a situation
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8382
# in which we disable both kinds of libraries.  Given conflicting
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8383
# choices, we go for a static library, that is the most portable,
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8384
# since we can't tell whether shared libraries were disabled because
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8385
# the user asked for that or because the platform doesn't support
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8386
# them.  This is particularly important on AIX, because we don't
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8387
# support having both static and shared libraries enabled at the same
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8388
# time on that platform, so we default to a shared-only configuration.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8389
# If a disable-shared tag is given, we'll fallback to a static-only
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8390
# configuration.  But we'll never go from static-only to shared-only.
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8391
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8392
# ### BEGIN LIBTOOL TAG CONFIG: disable-shared
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8393
build_libtool_libs=no
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8394
build_old_libs=yes
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8395
# ### END LIBTOOL TAG CONFIG: disable-shared
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8396
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8397
# ### BEGIN LIBTOOL TAG CONFIG: disable-static
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8398
build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac`
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8399
# ### END LIBTOOL TAG CONFIG: disable-static
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8400
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8401
# Local Variables:
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8402
# mode:shell-script
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8403
# sh-indentation:2
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8404
# End:
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8405
# vi:sw=2
262e1fb001a8 initial import (version 1.0.9)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  8406