config/ltmain.sh
author Edouard Tisserant
Thu, 18 Jun 2020 14:32:20 +0200
changeset 1091 6f4e7a8387ae
parent 353 17bffb57a8c5
permissions -rwxr-xr-x
Fixed in standard function library: String comparison was retrurning wrong result whith strings of different sizes but starting the same, or with zero length strings.
353
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
     1
# Generated from ltmain.m4sh.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
     2
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
     3
# ltmain.sh (GNU libtool) 2.2.6b
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
     4
# Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
     5
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
     6
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2007 2008 Free Software Foundation, Inc.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
     7
# This is free software; see the source for copying conditions.  There is NO
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
     8
# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
     9
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    10
# GNU Libtool is free software; you can redistribute it and/or modify
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    11
# it under the terms of the GNU General Public License as published by
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    12
# the Free Software Foundation; either version 2 of the License, or
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    13
# (at your option) any later version.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    14
#
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    15
# As a special exception to the GNU General Public License,
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    16
# if you distribute this file as part of a program or library that
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    17
# is built using GNU Libtool, you may include this file under the
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    18
# same distribution terms that you use for the rest of that program.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    19
#
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    20
# GNU Libtool is distributed in the hope that it will be useful, but
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    21
# WITHOUT ANY WARRANTY; without even the implied warranty of
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    22
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    23
# General Public License for more details.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    24
#
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    25
# You should have received a copy of the GNU General Public License
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    26
# along with GNU Libtool; see the file COPYING.  If not, a copy
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    27
# can be downloaded from http://www.gnu.org/licenses/gpl.html,
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    28
# or obtained by writing to the Free Software Foundation, Inc.,
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    29
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    30
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    31
# Usage: $progname [OPTION]... [MODE-ARG]...
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    32
#
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    33
# Provide generalized library-building support services.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    34
#
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    35
#     --config             show all configuration variables
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    36
#     --debug              enable verbose shell tracing
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    37
# -n, --dry-run            display commands without modifying any files
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    38
#     --features           display basic configuration information and exit
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    39
#     --mode=MODE          use operation mode MODE
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    40
#     --preserve-dup-deps  don't remove duplicate dependency libraries
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    41
#     --quiet, --silent    don't print informational messages
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    42
#     --tag=TAG            use configuration variables from tag TAG
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    43
# -v, --verbose            print informational messages (default)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    44
#     --version            print version information
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    45
# -h, --help               print short or long help message
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    46
#
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    47
# MODE must be one of the following:
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    48
#
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    49
#       clean              remove files from the build directory
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    50
#       compile            compile a source file into a libtool object
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    51
#       execute            automatically set library path, then run a program
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    52
#       finish             complete the installation of libtool libraries
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    53
#       install            install libraries or executables
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    54
#       link               create a library or an executable
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    55
#       uninstall          remove libraries from an installed directory
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    56
#
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    57
# MODE-ARGS vary depending on the MODE.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    58
# Try `$progname --help --mode=MODE' for a more detailed description of MODE.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    59
#
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    60
# When reporting a bug, please describe a test case to reproduce it and
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    61
# include the following information:
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    62
#
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    63
#       host-triplet:	$host
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    64
#       shell:		$SHELL
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    65
#       compiler:		$LTCC
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    66
#       compiler flags:		$LTCFLAGS
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    67
#       linker:		$LD (gnu? $with_gnu_ld)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    68
#       $progname:		(GNU libtool) 2.2.6b Debian-2.2.6b-2ubuntu1
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    69
#       automake:		$automake_version
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    70
#       autoconf:		$autoconf_version
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    71
#
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    72
# Report bugs to <bug-libtool@gnu.org>.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    73
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    74
PROGRAM=ltmain.sh
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    75
PACKAGE=libtool
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    76
VERSION="2.2.6b Debian-2.2.6b-2ubuntu1"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    77
TIMESTAMP=""
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    78
package_revision=1.3017
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    79
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    80
# Be Bourne compatible
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    81
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    82
  emulate sh
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    83
  NULLCMD=:
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    84
  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    85
  # is contrary to our usage.  Disable this feature.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    86
  alias -g '${1+"$@"}'='"$@"'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    87
  setopt NO_GLOB_SUBST
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    88
else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    89
  case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    90
fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    91
BIN_SH=xpg4; export BIN_SH # for Tru64
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    92
DUALCASE=1; export DUALCASE # for MKS sh
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    93
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    94
# NLS nuisances: We save the old values to restore during execute mode.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    95
# Only set LANG and LC_ALL to C if already set.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    96
# These must not be set unconditionally because not all systems understand
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    97
# e.g. LANG=C (notably SCO).
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    98
lt_user_locale=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
    99
lt_safe_locale=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   100
for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   101
do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   102
  eval "if test \"\${$lt_var+set}\" = set; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   103
          save_$lt_var=\$$lt_var
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   104
          $lt_var=C
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   105
	  export $lt_var
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   106
	  lt_user_locale=\"$lt_var=\\\$save_\$lt_var; \$lt_user_locale\"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   107
	  lt_safe_locale=\"$lt_var=C; \$lt_safe_locale\"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   108
	fi"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   109
done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   110
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   111
$lt_unset CDPATH
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   112
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   113
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   114
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   115
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   116
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   117
: ${CP="cp -f"}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   118
: ${ECHO="echo"}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   119
: ${EGREP="/bin/grep -E"}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   120
: ${FGREP="/bin/grep -F"}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   121
: ${GREP="/bin/grep"}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   122
: ${LN_S="ln -s"}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   123
: ${MAKE="make"}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   124
: ${MKDIR="mkdir"}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   125
: ${MV="mv -f"}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   126
: ${RM="rm -f"}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   127
: ${SED="/bin/sed"}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   128
: ${SHELL="${CONFIG_SHELL-/bin/sh}"}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   129
: ${Xsed="$SED -e 1s/^X//"}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   130
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   131
# Global variables:
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   132
EXIT_SUCCESS=0
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   133
EXIT_FAILURE=1
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   134
EXIT_MISMATCH=63  # $? = 63 is used to indicate version mismatch to missing.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   135
EXIT_SKIP=77	  # $? = 77 is used to indicate a skipped test to automake.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   136
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   137
exit_status=$EXIT_SUCCESS
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   138
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   139
# Make sure IFS has a sensible default
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   140
lt_nl='
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   141
'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   142
IFS=" 	$lt_nl"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   143
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   144
dirname="s,/[^/]*$,,"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   145
basename="s,^.*/,,"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   146
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   147
# func_dirname_and_basename file append nondir_replacement
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   148
# perform func_basename and func_dirname in a single function
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   149
# call:
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   150
#   dirname:  Compute the dirname of FILE.  If nonempty,
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   151
#             add APPEND to the result, otherwise set result
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   152
#             to NONDIR_REPLACEMENT.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   153
#             value returned in "$func_dirname_result"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   154
#   basename: Compute filename of FILE.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   155
#             value retuned in "$func_basename_result"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   156
# Implementation must be kept synchronized with func_dirname
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   157
# and func_basename. For efficiency, we do not delegate to
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   158
# those functions but instead duplicate the functionality here.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   159
func_dirname_and_basename ()
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   160
{
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   161
  # Extract subdirectory from the argument.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   162
  func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   163
  if test "X$func_dirname_result" = "X${1}"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   164
    func_dirname_result="${3}"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   165
  else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   166
    func_dirname_result="$func_dirname_result${2}"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   167
  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   168
  func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   169
}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   170
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   171
# Generated shell functions inserted here.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   172
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   173
# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   174
# is ksh but when the shell is invoked as "sh" and the current value of
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   175
# the _XPG environment variable is not equal to 1 (one), the special
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   176
# positional parameter $0, within a function call, is the name of the
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   177
# function.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   178
progpath="$0"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   179
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   180
# The name of this program:
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   181
# In the unlikely event $progname began with a '-', it would play havoc with
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   182
# func_echo (imagine progname=-n), so we prepend ./ in that case:
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   183
func_dirname_and_basename "$progpath"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   184
progname=$func_basename_result
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   185
case $progname in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   186
  -*) progname=./$progname ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   187
esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   188
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   189
# Make sure we have an absolute path for reexecution:
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   190
case $progpath in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   191
  [\\/]*|[A-Za-z]:\\*) ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   192
  *[\\/]*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   193
     progdir=$func_dirname_result
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   194
     progdir=`cd "$progdir" && pwd`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   195
     progpath="$progdir/$progname"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   196
     ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   197
  *)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   198
     save_IFS="$IFS"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   199
     IFS=:
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   200
     for progdir in $PATH; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   201
       IFS="$save_IFS"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   202
       test -x "$progdir/$progname" && break
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   203
     done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   204
     IFS="$save_IFS"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   205
     test -n "$progdir" || progdir=`pwd`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   206
     progpath="$progdir/$progname"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   207
     ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   208
esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   209
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   210
# Sed substitution that helps us do robust quoting.  It backslashifies
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   211
# metacharacters that are still active within double-quoted strings.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   212
Xsed="${SED}"' -e 1s/^X//'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   213
sed_quote_subst='s/\([`"$\\]\)/\\\1/g'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   214
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   215
# Same as above, but do not quote variable references.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   216
double_quote_subst='s/\(["`\\]\)/\\\1/g'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   217
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   218
# Re-`\' parameter expansions in output of double_quote_subst that were
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   219
# `\'-ed in input to the same.  If an odd number of `\' preceded a '$'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   220
# in input to double_quote_subst, that '$' was protected from expansion.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   221
# Since each input `\' is now two `\'s, look for any number of runs of
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   222
# four `\'s followed by two `\'s and then a '$'.  `\' that '$'.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   223
bs='\\'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   224
bs2='\\\\'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   225
bs4='\\\\\\\\'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   226
dollar='\$'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   227
sed_double_backslash="\
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   228
  s/$bs4/&\\
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   229
/g
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   230
  s/^$bs2$dollar/$bs&/
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   231
  s/\\([^$bs]\\)$bs2$dollar/\\1$bs2$bs$dollar/g
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   232
  s/\n//g"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   233
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   234
# Standard options:
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   235
opt_dry_run=false
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   236
opt_help=false
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   237
opt_quiet=false
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   238
opt_verbose=false
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   239
opt_warning=:
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   240
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   241
# func_echo arg...
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   242
# Echo program name prefixed message, along with the current mode
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   243
# name if it has been set yet.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   244
func_echo ()
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   245
{
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   246
    $ECHO "$progname${mode+: }$mode: $*"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   247
}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   248
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   249
# func_verbose arg...
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   250
# Echo program name prefixed message in verbose mode only.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   251
func_verbose ()
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   252
{
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   253
    $opt_verbose && func_echo ${1+"$@"}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   254
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   255
    # A bug in bash halts the script if the last line of a function
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   256
    # fails when set -e is in force, so we need another command to
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   257
    # work around that:
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   258
    :
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   259
}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   260
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   261
# func_error arg...
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   262
# Echo program name prefixed message to standard error.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   263
func_error ()
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   264
{
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   265
    $ECHO "$progname${mode+: }$mode: "${1+"$@"} 1>&2
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   266
}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   267
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   268
# func_warning arg...
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   269
# Echo program name prefixed warning message to standard error.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   270
func_warning ()
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   271
{
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   272
    $opt_warning && $ECHO "$progname${mode+: }$mode: warning: "${1+"$@"} 1>&2
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   273
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   274
    # bash bug again:
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   275
    :
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   276
}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   277
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   278
# func_fatal_error arg...
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   279
# Echo program name prefixed message to standard error, and exit.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   280
func_fatal_error ()
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   281
{
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   282
    func_error ${1+"$@"}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   283
    exit $EXIT_FAILURE
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   284
}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   285
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   286
# func_fatal_help arg...
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   287
# Echo program name prefixed message to standard error, followed by
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   288
# a help hint, and exit.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   289
func_fatal_help ()
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   290
{
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   291
    func_error ${1+"$@"}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   292
    func_fatal_error "$help"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   293
}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   294
help="Try \`$progname --help' for more information."  ## default
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   295
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   296
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   297
# func_grep expression filename
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   298
# Check whether EXPRESSION matches any line of FILENAME, without output.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   299
func_grep ()
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   300
{
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   301
    $GREP "$1" "$2" >/dev/null 2>&1
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   302
}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   303
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   304
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   305
# func_mkdir_p directory-path
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   306
# Make sure the entire path to DIRECTORY-PATH is available.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   307
func_mkdir_p ()
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   308
{
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   309
    my_directory_path="$1"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   310
    my_dir_list=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   311
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   312
    if test -n "$my_directory_path" && test "$opt_dry_run" != ":"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   313
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   314
      # Protect directory names starting with `-'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   315
      case $my_directory_path in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   316
        -*) my_directory_path="./$my_directory_path" ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   317
      esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   318
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   319
      # While some portion of DIR does not yet exist...
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   320
      while test ! -d "$my_directory_path"; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   321
        # ...make a list in topmost first order.  Use a colon delimited
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   322
	# list incase some portion of path contains whitespace.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   323
        my_dir_list="$my_directory_path:$my_dir_list"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   324
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   325
        # If the last portion added has no slash in it, the list is done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   326
        case $my_directory_path in */*) ;; *) break ;; esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   327
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   328
        # ...otherwise throw away the child directory and loop
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   329
        my_directory_path=`$ECHO "X$my_directory_path" | $Xsed -e "$dirname"`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   330
      done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   331
      my_dir_list=`$ECHO "X$my_dir_list" | $Xsed -e 's,:*$,,'`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   332
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   333
      save_mkdir_p_IFS="$IFS"; IFS=':'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   334
      for my_dir in $my_dir_list; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   335
	IFS="$save_mkdir_p_IFS"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   336
        # mkdir can fail with a `File exist' error if two processes
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   337
        # try to create one of the directories concurrently.  Don't
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   338
        # stop in that case!
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   339
        $MKDIR "$my_dir" 2>/dev/null || :
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   340
      done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   341
      IFS="$save_mkdir_p_IFS"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   342
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   343
      # Bail out if we (or some other process) failed to create a directory.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   344
      test -d "$my_directory_path" || \
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   345
        func_fatal_error "Failed to create \`$1'"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   346
    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   347
}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   348
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   349
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   350
# func_mktempdir [string]
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   351
# Make a temporary directory that won't clash with other running
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   352
# libtool processes, and avoids race conditions if possible.  If
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   353
# given, STRING is the basename for that directory.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   354
func_mktempdir ()
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   355
{
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   356
    my_template="${TMPDIR-/tmp}/${1-$progname}"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   357
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   358
    if test "$opt_dry_run" = ":"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   359
      # Return a directory name, but don't create it in dry-run mode
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   360
      my_tmpdir="${my_template}-$$"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   361
    else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   362
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   363
      # If mktemp works, use that first and foremost
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   364
      my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   365
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   366
      if test ! -d "$my_tmpdir"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   367
        # Failing that, at least try and use $RANDOM to avoid a race
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   368
        my_tmpdir="${my_template}-${RANDOM-0}$$"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   369
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   370
        save_mktempdir_umask=`umask`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   371
        umask 0077
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   372
        $MKDIR "$my_tmpdir"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   373
        umask $save_mktempdir_umask
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   374
      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   375
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   376
      # If we're not in dry-run mode, bomb out on failure
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   377
      test -d "$my_tmpdir" || \
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   378
        func_fatal_error "cannot create temporary directory \`$my_tmpdir'"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   379
    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   380
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   381
    $ECHO "X$my_tmpdir" | $Xsed
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   382
}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   383
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   384
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   385
# func_quote_for_eval arg
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   386
# Aesthetically quote ARG to be evaled later.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   387
# This function returns two values: FUNC_QUOTE_FOR_EVAL_RESULT
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   388
# is double-quoted, suitable for a subsequent eval, whereas
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   389
# FUNC_QUOTE_FOR_EVAL_UNQUOTED_RESULT has merely all characters
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   390
# which are still active within double quotes backslashified.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   391
func_quote_for_eval ()
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   392
{
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   393
    case $1 in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   394
      *[\\\`\"\$]*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   395
	func_quote_for_eval_unquoted_result=`$ECHO "X$1" | $Xsed -e "$sed_quote_subst"` ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   396
      *)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   397
        func_quote_for_eval_unquoted_result="$1" ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   398
    esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   399
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   400
    case $func_quote_for_eval_unquoted_result in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   401
      # Double-quote args containing shell metacharacters to delay
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   402
      # word splitting, command substitution and and variable
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   403
      # expansion for a subsequent eval.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   404
      # Many Bourne shells cannot handle close brackets correctly
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   405
      # in scan sets, so we specify it separately.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   406
      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   407
        func_quote_for_eval_result="\"$func_quote_for_eval_unquoted_result\""
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   408
        ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   409
      *)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   410
        func_quote_for_eval_result="$func_quote_for_eval_unquoted_result"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   411
    esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   412
}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   413
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   414
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   415
# func_quote_for_expand arg
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   416
# Aesthetically quote ARG to be evaled later; same as above,
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   417
# but do not quote variable references.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   418
func_quote_for_expand ()
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   419
{
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   420
    case $1 in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   421
      *[\\\`\"]*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   422
	my_arg=`$ECHO "X$1" | $Xsed \
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   423
	    -e "$double_quote_subst" -e "$sed_double_backslash"` ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   424
      *)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   425
        my_arg="$1" ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   426
    esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   427
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   428
    case $my_arg in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   429
      # Double-quote args containing shell metacharacters to delay
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   430
      # word splitting and command substitution for a subsequent eval.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   431
      # Many Bourne shells cannot handle close brackets correctly
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   432
      # in scan sets, so we specify it separately.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   433
      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   434
        my_arg="\"$my_arg\""
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   435
        ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   436
    esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   437
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   438
    func_quote_for_expand_result="$my_arg"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   439
}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   440
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   441
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   442
# func_show_eval cmd [fail_exp]
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   443
# Unless opt_silent is true, then output CMD.  Then, if opt_dryrun is
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   444
# not true, evaluate CMD.  If the evaluation of CMD fails, and FAIL_EXP
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   445
# is given, then evaluate it.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   446
func_show_eval ()
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   447
{
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   448
    my_cmd="$1"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   449
    my_fail_exp="${2-:}"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   450
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   451
    ${opt_silent-false} || {
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   452
      func_quote_for_expand "$my_cmd"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   453
      eval "func_echo $func_quote_for_expand_result"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   454
    }
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   455
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   456
    if ${opt_dry_run-false}; then :; else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   457
      eval "$my_cmd"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   458
      my_status=$?
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   459
      if test "$my_status" -eq 0; then :; else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   460
	eval "(exit $my_status); $my_fail_exp"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   461
      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   462
    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   463
}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   464
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   465
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   466
# func_show_eval_locale cmd [fail_exp]
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   467
# Unless opt_silent is true, then output CMD.  Then, if opt_dryrun is
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   468
# not true, evaluate CMD.  If the evaluation of CMD fails, and FAIL_EXP
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   469
# is given, then evaluate it.  Use the saved locale for evaluation.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   470
func_show_eval_locale ()
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   471
{
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   472
    my_cmd="$1"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   473
    my_fail_exp="${2-:}"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   474
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   475
    ${opt_silent-false} || {
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   476
      func_quote_for_expand "$my_cmd"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   477
      eval "func_echo $func_quote_for_expand_result"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   478
    }
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   479
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   480
    if ${opt_dry_run-false}; then :; else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   481
      eval "$lt_user_locale
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   482
	    $my_cmd"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   483
      my_status=$?
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   484
      eval "$lt_safe_locale"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   485
      if test "$my_status" -eq 0; then :; else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   486
	eval "(exit $my_status); $my_fail_exp"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   487
      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   488
    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   489
}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   490
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   491
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   492
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   493
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   494
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   495
# func_version
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   496
# Echo version message to standard output and exit.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   497
func_version ()
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   498
{
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   499
    $SED -n '/^# '$PROGRAM' (GNU /,/# warranty; / {
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   500
        s/^# //
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   501
	s/^# *$//
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   502
        s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   503
        p
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   504
     }' < "$progpath"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   505
     exit $?
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   506
}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   507
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   508
# func_usage
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   509
# Echo short help message to standard output and exit.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   510
func_usage ()
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   511
{
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   512
    $SED -n '/^# Usage:/,/# -h/ {
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   513
        s/^# //
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   514
	s/^# *$//
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   515
	s/\$progname/'$progname'/
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   516
	p
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   517
    }' < "$progpath"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   518
    $ECHO
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   519
    $ECHO "run \`$progname --help | more' for full usage"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   520
    exit $?
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   521
}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   522
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   523
# func_help
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   524
# Echo long help message to standard output and exit.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   525
func_help ()
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   526
{
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   527
    $SED -n '/^# Usage:/,/# Report bugs to/ {
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   528
        s/^# //
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   529
	s/^# *$//
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   530
	s*\$progname*'$progname'*
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   531
	s*\$host*'"$host"'*
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   532
	s*\$SHELL*'"$SHELL"'*
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   533
	s*\$LTCC*'"$LTCC"'*
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   534
	s*\$LTCFLAGS*'"$LTCFLAGS"'*
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   535
	s*\$LD*'"$LD"'*
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   536
	s/\$with_gnu_ld/'"$with_gnu_ld"'/
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   537
	s/\$automake_version/'"`(automake --version) 2>/dev/null |$SED 1q`"'/
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   538
	s/\$autoconf_version/'"`(autoconf --version) 2>/dev/null |$SED 1q`"'/
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   539
	p
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   540
     }' < "$progpath"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   541
    exit $?
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   542
}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   543
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   544
# func_missing_arg argname
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   545
# Echo program name prefixed message to standard error and set global
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   546
# exit_cmd.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   547
func_missing_arg ()
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   548
{
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   549
    func_error "missing argument for $1"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   550
    exit_cmd=exit
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   551
}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   552
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   553
exit_cmd=:
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   554
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   555
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   556
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   557
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   558
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   559
# Check that we have a working $ECHO.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   560
if test "X$1" = X--no-reexec; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   561
  # Discard the --no-reexec flag, and continue.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   562
  shift
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   563
elif test "X$1" = X--fallback-echo; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   564
  # Avoid inline document here, it may be left over
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   565
  :
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   566
elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t'; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   567
  # Yippee, $ECHO works!
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   568
  :
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   569
else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   570
  # Restart under the correct shell, and then maybe $ECHO will work.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   571
  exec $SHELL "$progpath" --no-reexec ${1+"$@"}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   572
fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   573
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   574
if test "X$1" = X--fallback-echo; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   575
  # used as fallback echo
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   576
  shift
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   577
  cat <<EOF
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   578
$*
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   579
EOF
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   580
  exit $EXIT_SUCCESS
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   581
fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   582
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   583
magic="%%%MAGIC variable%%%"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   584
magic_exe="%%%MAGIC EXE variable%%%"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   585
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   586
# Global variables.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   587
# $mode is unset
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   588
nonopt=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   589
execute_dlfiles=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   590
preserve_args=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   591
lo2o="s/\\.lo\$/.${objext}/"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   592
o2lo="s/\\.${objext}\$/.lo/"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   593
extracted_archives=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   594
extracted_serial=0
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   595
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   596
opt_dry_run=false
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   597
opt_duplicate_deps=false
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   598
opt_silent=false
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   599
opt_debug=:
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   600
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   601
# If this variable is set in any of the actions, the command in it
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   602
# will be execed at the end.  This prevents here-documents from being
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   603
# left over by shells.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   604
exec_cmd=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   605
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   606
# func_fatal_configuration arg...
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   607
# Echo program name prefixed message to standard error, followed by
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   608
# a configuration failure hint, and exit.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   609
func_fatal_configuration ()
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   610
{
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   611
    func_error ${1+"$@"}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   612
    func_error "See the $PACKAGE documentation for more information."
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   613
    func_fatal_error "Fatal configuration error."
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   614
}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   615
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   616
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   617
# func_config
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   618
# Display the configuration for all the tags in this script.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   619
func_config ()
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   620
{
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   621
    re_begincf='^# ### BEGIN LIBTOOL'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   622
    re_endcf='^# ### END LIBTOOL'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   623
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   624
    # Default configuration.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   625
    $SED "1,/$re_begincf CONFIG/d;/$re_endcf CONFIG/,\$d" < "$progpath"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   626
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   627
    # Now print the configurations for the tags.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   628
    for tagname in $taglist; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   629
      $SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagname\$/p" < "$progpath"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   630
    done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   631
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   632
    exit $?
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   633
}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   634
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   635
# func_features
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   636
# Display the features supported by this script.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   637
func_features ()
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   638
{
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   639
    $ECHO "host: $host"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   640
    if test "$build_libtool_libs" = yes; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   641
      $ECHO "enable shared libraries"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   642
    else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   643
      $ECHO "disable shared libraries"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   644
    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   645
    if test "$build_old_libs" = yes; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   646
      $ECHO "enable static libraries"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   647
    else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   648
      $ECHO "disable static libraries"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   649
    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   650
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   651
    exit $?
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   652
}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   653
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   654
# func_enable_tag tagname
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   655
# Verify that TAGNAME is valid, and either flag an error and exit, or
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   656
# enable the TAGNAME tag.  We also add TAGNAME to the global $taglist
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   657
# variable here.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   658
func_enable_tag ()
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   659
{
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   660
  # Global variable:
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   661
  tagname="$1"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   662
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   663
  re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   664
  re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   665
  sed_extractcf="/$re_begincf/,/$re_endcf/p"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   666
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   667
  # Validate tagname.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   668
  case $tagname in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   669
    *[!-_A-Za-z0-9,/]*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   670
      func_fatal_error "invalid tag name: $tagname"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   671
      ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   672
  esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   673
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   674
  # Don't test for the "default" C tag, as we know it's
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   675
  # there but not specially marked.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   676
  case $tagname in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   677
    CC) ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   678
    *)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   679
      if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   680
	taglist="$taglist $tagname"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   681
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   682
	# Evaluate the configuration.  Be careful to quote the path
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   683
	# and the sed script, to avoid splitting on whitespace, but
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   684
	# also don't use non-portable quotes within backquotes within
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   685
	# quotes we have to do it in 2 steps:
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   686
	extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   687
	eval "$extractedcf"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   688
      else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   689
	func_error "ignoring unknown tag $tagname"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   690
      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   691
      ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   692
  esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   693
}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   694
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   695
# Parse options once, thoroughly.  This comes as soon as possible in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   696
# the script to make things like `libtool --version' happen quickly.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   697
{
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   698
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   699
  # Shorthand for --mode=foo, only valid as the first argument
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   700
  case $1 in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   701
  clean|clea|cle|cl)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   702
    shift; set dummy --mode clean ${1+"$@"}; shift
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   703
    ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   704
  compile|compil|compi|comp|com|co|c)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   705
    shift; set dummy --mode compile ${1+"$@"}; shift
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   706
    ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   707
  execute|execut|execu|exec|exe|ex|e)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   708
    shift; set dummy --mode execute ${1+"$@"}; shift
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   709
    ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   710
  finish|finis|fini|fin|fi|f)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   711
    shift; set dummy --mode finish ${1+"$@"}; shift
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   712
    ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   713
  install|instal|insta|inst|ins|in|i)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   714
    shift; set dummy --mode install ${1+"$@"}; shift
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   715
    ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   716
  link|lin|li|l)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   717
    shift; set dummy --mode link ${1+"$@"}; shift
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   718
    ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   719
  uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   720
    shift; set dummy --mode uninstall ${1+"$@"}; shift
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   721
    ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   722
  esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   723
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   724
  # Parse non-mode specific arguments:
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   725
  while test "$#" -gt 0; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   726
    opt="$1"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   727
    shift
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   728
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   729
    case $opt in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   730
      --config)		func_config					;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   731
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   732
      --debug)		preserve_args="$preserve_args $opt"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   733
			func_echo "enabling shell trace mode"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   734
			opt_debug='set -x'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   735
			$opt_debug
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   736
			;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   737
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   738
      -dlopen)		test "$#" -eq 0 && func_missing_arg "$opt" && break
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   739
			execute_dlfiles="$execute_dlfiles $1"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   740
			shift
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   741
			;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   742
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   743
      --dry-run | -n)	opt_dry_run=:					;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   744
      --features)       func_features					;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   745
      --finish)		mode="finish"					;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   746
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   747
      --mode)		test "$#" -eq 0 && func_missing_arg "$opt" && break
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   748
			case $1 in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   749
			  # Valid mode arguments:
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   750
			  clean)	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   751
			  compile)	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   752
			  execute)	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   753
			  finish)	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   754
			  install)	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   755
			  link)		;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   756
			  relink)	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   757
			  uninstall)	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   758
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   759
			  # Catch anything else as an error
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   760
			  *) func_error "invalid argument for $opt"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   761
			     exit_cmd=exit
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   762
			     break
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   763
			     ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   764
		        esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   765
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   766
			mode="$1"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   767
			shift
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   768
			;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   769
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   770
      --preserve-dup-deps)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   771
			opt_duplicate_deps=:				;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   772
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   773
      --quiet|--silent)	preserve_args="$preserve_args $opt"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   774
			opt_silent=:
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   775
			;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   776
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   777
      --verbose| -v)	preserve_args="$preserve_args $opt"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   778
			opt_silent=false
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   779
			;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   780
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   781
      --tag)		test "$#" -eq 0 && func_missing_arg "$opt" && break
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   782
			preserve_args="$preserve_args $opt $1"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   783
			func_enable_tag "$1"	# tagname is set here
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   784
			shift
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   785
			;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   786
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   787
      # Separate optargs to long options:
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   788
      -dlopen=*|--mode=*|--tag=*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   789
			func_opt_split "$opt"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   790
			set dummy "$func_opt_split_opt" "$func_opt_split_arg" ${1+"$@"}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   791
			shift
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   792
			;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   793
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   794
      -\?|-h)		func_usage					;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   795
      --help)		opt_help=:					;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   796
      --version)	func_version					;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   797
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   798
      -*)		func_fatal_help "unrecognized option \`$opt'"	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   799
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   800
      *)		nonopt="$opt"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   801
			break
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   802
			;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   803
    esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   804
  done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   805
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   806
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   807
  case $host in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   808
    *cygwin* | *mingw* | *pw32* | *cegcc*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   809
      # don't eliminate duplications in $postdeps and $predeps
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   810
      opt_duplicate_compiler_generated_deps=:
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   811
      ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   812
    *)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   813
      opt_duplicate_compiler_generated_deps=$opt_duplicate_deps
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   814
      ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   815
  esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   816
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   817
  # Having warned about all mis-specified options, bail out if
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   818
  # anything was wrong.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   819
  $exit_cmd $EXIT_FAILURE
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   820
}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   821
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   822
# func_check_version_match
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   823
# Ensure that we are using m4 macros, and libtool script from the same
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   824
# release of libtool.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   825
func_check_version_match ()
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   826
{
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   827
  if test "$package_revision" != "$macro_revision"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   828
    if test "$VERSION" != "$macro_version"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   829
      if test -z "$macro_version"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   830
        cat >&2 <<_LT_EOF
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   831
$progname: Version mismatch error.  This is $PACKAGE $VERSION, but the
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   832
$progname: definition of this LT_INIT comes from an older release.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   833
$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   834
$progname: and run autoconf again.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   835
_LT_EOF
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   836
      else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   837
        cat >&2 <<_LT_EOF
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   838
$progname: Version mismatch error.  This is $PACKAGE $VERSION, but the
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   839
$progname: definition of this LT_INIT comes from $PACKAGE $macro_version.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   840
$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   841
$progname: and run autoconf again.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   842
_LT_EOF
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   843
      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   844
    else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   845
      cat >&2 <<_LT_EOF
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   846
$progname: Version mismatch error.  This is $PACKAGE $VERSION, revision $package_revision,
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   847
$progname: but the definition of this LT_INIT comes from revision $macro_revision.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   848
$progname: You should recreate aclocal.m4 with macros from revision $package_revision
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   849
$progname: of $PACKAGE $VERSION and run autoconf again.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   850
_LT_EOF
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   851
    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   852
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   853
    exit $EXIT_MISMATCH
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   854
  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   855
}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   856
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   857
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   858
## ----------- ##
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   859
##    Main.    ##
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   860
## ----------- ##
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   861
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   862
$opt_help || {
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   863
  # Sanity checks first:
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   864
  func_check_version_match
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   865
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   866
  if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   867
    func_fatal_configuration "not configured to build any kind of library"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   868
  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   869
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   870
  test -z "$mode" && func_fatal_error "error: you must specify a MODE."
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   871
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   872
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   873
  # Darwin sucks
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   874
  eval std_shrext=\"$shrext_cmds\"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   875
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   876
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   877
  # Only execute mode is allowed to have -dlopen flags.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   878
  if test -n "$execute_dlfiles" && test "$mode" != execute; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   879
    func_error "unrecognized option \`-dlopen'"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   880
    $ECHO "$help" 1>&2
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   881
    exit $EXIT_FAILURE
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   882
  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   883
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   884
  # Change the help message to a mode-specific one.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   885
  generic_help="$help"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   886
  help="Try \`$progname --help --mode=$mode' for more information."
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   887
}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   888
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   889
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   890
# func_lalib_p file
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   891
# True iff FILE is a libtool `.la' library or `.lo' object file.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   892
# This function is only a basic sanity check; it will hardly flush out
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   893
# determined imposters.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   894
func_lalib_p ()
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   895
{
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   896
    test -f "$1" &&
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   897
      $SED -e 4q "$1" 2>/dev/null \
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   898
        | $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   899
}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   900
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   901
# func_lalib_unsafe_p file
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   902
# True iff FILE is a libtool `.la' library or `.lo' object file.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   903
# This function implements the same check as func_lalib_p without
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   904
# resorting to external programs.  To this end, it redirects stdin and
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   905
# closes it afterwards, without saving the original file descriptor.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   906
# As a safety measure, use it only where a negative result would be
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   907
# fatal anyway.  Works if `file' does not exist.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   908
func_lalib_unsafe_p ()
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   909
{
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   910
    lalib_p=no
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   911
    if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   912
	for lalib_p_l in 1 2 3 4
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   913
	do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   914
	    read lalib_p_line
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   915
	    case "$lalib_p_line" in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   916
		\#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   917
	    esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   918
	done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   919
	exec 0<&5 5<&-
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   920
    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   921
    test "$lalib_p" = yes
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   922
}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   923
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   924
# func_ltwrapper_script_p file
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   925
# True iff FILE is a libtool wrapper script
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   926
# This function is only a basic sanity check; it will hardly flush out
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   927
# determined imposters.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   928
func_ltwrapper_script_p ()
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   929
{
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   930
    func_lalib_p "$1"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   931
}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   932
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   933
# func_ltwrapper_executable_p file
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   934
# True iff FILE is a libtool wrapper executable
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   935
# This function is only a basic sanity check; it will hardly flush out
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   936
# determined imposters.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   937
func_ltwrapper_executable_p ()
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   938
{
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   939
    func_ltwrapper_exec_suffix=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   940
    case $1 in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   941
    *.exe) ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   942
    *) func_ltwrapper_exec_suffix=.exe ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   943
    esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   944
    $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   945
}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   946
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   947
# func_ltwrapper_scriptname file
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   948
# Assumes file is an ltwrapper_executable
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   949
# uses $file to determine the appropriate filename for a
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   950
# temporary ltwrapper_script.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   951
func_ltwrapper_scriptname ()
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   952
{
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   953
    func_ltwrapper_scriptname_result=""
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   954
    if func_ltwrapper_executable_p "$1"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   955
	func_dirname_and_basename "$1" "" "."
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   956
	func_stripname '' '.exe' "$func_basename_result"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   957
	func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   958
    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   959
}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   960
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   961
# func_ltwrapper_p file
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   962
# True iff FILE is a libtool wrapper script or wrapper executable
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   963
# This function is only a basic sanity check; it will hardly flush out
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   964
# determined imposters.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   965
func_ltwrapper_p ()
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   966
{
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   967
    func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   968
}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   969
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   970
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   971
# func_execute_cmds commands fail_cmd
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   972
# Execute tilde-delimited COMMANDS.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   973
# If FAIL_CMD is given, eval that upon failure.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   974
# FAIL_CMD may read-access the current command in variable CMD!
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   975
func_execute_cmds ()
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   976
{
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   977
    $opt_debug
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   978
    save_ifs=$IFS; IFS='~'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   979
    for cmd in $1; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   980
      IFS=$save_ifs
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   981
      eval cmd=\"$cmd\"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   982
      func_show_eval "$cmd" "${2-:}"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   983
    done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   984
    IFS=$save_ifs
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   985
}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   986
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   987
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   988
# func_source file
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   989
# Source FILE, adding directory component if necessary.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   990
# Note that it is not necessary on cygwin/mingw to append a dot to
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   991
# FILE even if both FILE and FILE.exe exist: automatic-append-.exe
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   992
# behavior happens only for exec(3), not for open(2)!  Also, sourcing
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   993
# `FILE.' does not work on cygwin managed mounts.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   994
func_source ()
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   995
{
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   996
    $opt_debug
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   997
    case $1 in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   998
    */* | *\\*)	. "$1" ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
   999
    *)		. "./$1" ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1000
    esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1001
}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1002
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1003
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1004
# func_infer_tag arg
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1005
# Infer tagged configuration to use if any are available and
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1006
# if one wasn't chosen via the "--tag" command line option.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1007
# Only attempt this if the compiler in the base compile
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1008
# command doesn't match the default compiler.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1009
# arg is usually of the form 'gcc ...'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1010
func_infer_tag ()
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1011
{
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1012
    $opt_debug
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1013
    if test -n "$available_tags" && test -z "$tagname"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1014
      CC_quoted=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1015
      for arg in $CC; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1016
        func_quote_for_eval "$arg"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1017
	CC_quoted="$CC_quoted $func_quote_for_eval_result"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1018
      done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1019
      case $@ in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1020
      # Blanks in the command may have been stripped by the calling shell,
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1021
      # but not from the CC environment variable when configure was run.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1022
      " $CC "* | "$CC "* | " `$ECHO $CC` "* | "`$ECHO $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$ECHO $CC_quoted` "* | "`$ECHO $CC_quoted` "*) ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1023
      # Blanks at the start of $base_compile will cause this to fail
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1024
      # if we don't check for them as well.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1025
      *)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1026
	for z in $available_tags; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1027
	  if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1028
	    # Evaluate the configuration.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1029
	    eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1030
	    CC_quoted=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1031
	    for arg in $CC; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1032
	      # Double-quote args containing other shell metacharacters.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1033
	      func_quote_for_eval "$arg"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1034
	      CC_quoted="$CC_quoted $func_quote_for_eval_result"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1035
	    done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1036
	    case "$@ " in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1037
	      " $CC "* | "$CC "* | " `$ECHO $CC` "* | "`$ECHO $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$ECHO $CC_quoted` "* | "`$ECHO $CC_quoted` "*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1038
	      # The compiler in the base compile command matches
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1039
	      # the one in the tagged configuration.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1040
	      # Assume this is the tagged configuration we want.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1041
	      tagname=$z
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1042
	      break
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1043
	      ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1044
	    esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1045
	  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1046
	done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1047
	# If $tagname still isn't set, then no tagged configuration
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1048
	# was found and let the user know that the "--tag" command
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1049
	# line option must be used.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1050
	if test -z "$tagname"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1051
	  func_echo "unable to infer tagged configuration"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1052
	  func_fatal_error "specify a tag with \`--tag'"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1053
#	else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1054
#	  func_verbose "using $tagname tagged configuration"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1055
	fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1056
	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1057
      esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1058
    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1059
}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1060
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1061
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1062
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1063
# func_write_libtool_object output_name pic_name nonpic_name
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1064
# Create a libtool object file (analogous to a ".la" file),
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1065
# but don't create it if we're doing a dry run.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1066
func_write_libtool_object ()
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1067
{
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1068
    write_libobj=${1}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1069
    if test "$build_libtool_libs" = yes; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1070
      write_lobj=\'${2}\'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1071
    else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1072
      write_lobj=none
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1073
    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1074
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1075
    if test "$build_old_libs" = yes; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1076
      write_oldobj=\'${3}\'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1077
    else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1078
      write_oldobj=none
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1079
    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1080
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1081
    $opt_dry_run || {
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1082
      cat >${write_libobj}T <<EOF
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1083
# $write_libobj - a libtool object file
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1084
# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1085
#
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1086
# Please DO NOT delete this file!
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1087
# It is necessary for linking the library.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1088
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1089
# Name of the PIC object.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1090
pic_object=$write_lobj
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1091
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1092
# Name of the non-PIC object
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1093
non_pic_object=$write_oldobj
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1094
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1095
EOF
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1096
      $MV "${write_libobj}T" "${write_libobj}"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1097
    }
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1098
}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1099
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1100
# func_mode_compile arg...
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1101
func_mode_compile ()
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1102
{
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1103
    $opt_debug
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1104
    # Get the compilation command and the source file.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1105
    base_compile=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1106
    srcfile="$nonopt"  #  always keep a non-empty value in "srcfile"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1107
    suppress_opt=yes
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1108
    suppress_output=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1109
    arg_mode=normal
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1110
    libobj=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1111
    later=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1112
    pie_flag=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1113
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1114
    for arg
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1115
    do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1116
      case $arg_mode in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1117
      arg  )
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1118
	# do not "continue".  Instead, add this to base_compile
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1119
	lastarg="$arg"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1120
	arg_mode=normal
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1121
	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1122
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1123
      target )
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1124
	libobj="$arg"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1125
	arg_mode=normal
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1126
	continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1127
	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1128
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1129
      normal )
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1130
	# Accept any command-line options.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1131
	case $arg in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1132
	-o)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1133
	  test -n "$libobj" && \
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1134
	    func_fatal_error "you cannot specify \`-o' more than once"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1135
	  arg_mode=target
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1136
	  continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1137
	  ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1138
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1139
	-pie | -fpie | -fPIE)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1140
          pie_flag="$pie_flag $arg"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1141
	  continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1142
	  ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1143
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1144
	-shared | -static | -prefer-pic | -prefer-non-pic)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1145
	  later="$later $arg"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1146
	  continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1147
	  ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1148
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1149
	-no-suppress)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1150
	  suppress_opt=no
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1151
	  continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1152
	  ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1153
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1154
	-Xcompiler)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1155
	  arg_mode=arg  #  the next one goes into the "base_compile" arg list
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1156
	  continue      #  The current "srcfile" will either be retained or
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1157
	  ;;            #  replaced later.  I would guess that would be a bug.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1158
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1159
	-Wc,*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1160
	  func_stripname '-Wc,' '' "$arg"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1161
	  args=$func_stripname_result
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1162
	  lastarg=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1163
	  save_ifs="$IFS"; IFS=','
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1164
	  for arg in $args; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1165
	    IFS="$save_ifs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1166
	    func_quote_for_eval "$arg"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1167
	    lastarg="$lastarg $func_quote_for_eval_result"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1168
	  done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1169
	  IFS="$save_ifs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1170
	  func_stripname ' ' '' "$lastarg"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1171
	  lastarg=$func_stripname_result
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1172
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1173
	  # Add the arguments to base_compile.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1174
	  base_compile="$base_compile $lastarg"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1175
	  continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1176
	  ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1177
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1178
	*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1179
	  # Accept the current argument as the source file.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1180
	  # The previous "srcfile" becomes the current argument.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1181
	  #
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1182
	  lastarg="$srcfile"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1183
	  srcfile="$arg"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1184
	  ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1185
	esac  #  case $arg
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1186
	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1187
      esac    #  case $arg_mode
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1188
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1189
      # Aesthetically quote the previous argument.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1190
      func_quote_for_eval "$lastarg"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1191
      base_compile="$base_compile $func_quote_for_eval_result"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1192
    done # for arg
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1193
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1194
    case $arg_mode in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1195
    arg)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1196
      func_fatal_error "you must specify an argument for -Xcompile"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1197
      ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1198
    target)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1199
      func_fatal_error "you must specify a target with \`-o'"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1200
      ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1201
    *)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1202
      # Get the name of the library object.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1203
      test -z "$libobj" && {
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1204
	func_basename "$srcfile"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1205
	libobj="$func_basename_result"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1206
      }
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1207
      ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1208
    esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1209
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1210
    # Recognize several different file suffixes.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1211
    # If the user specifies -o file.o, it is replaced with file.lo
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1212
    case $libobj in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1213
    *.[cCFSifmso] | \
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1214
    *.ada | *.adb | *.ads | *.asm | \
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1215
    *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1216
    *.[fF][09]? | *.for | *.java | *.obj | *.sx)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1217
      func_xform "$libobj"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1218
      libobj=$func_xform_result
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1219
      ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1220
    esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1221
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1222
    case $libobj in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1223
    *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1224
    *)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1225
      func_fatal_error "cannot determine name of library object from \`$libobj'"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1226
      ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1227
    esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1228
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1229
    func_infer_tag $base_compile
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1230
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1231
    for arg in $later; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1232
      case $arg in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1233
      -shared)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1234
	test "$build_libtool_libs" != yes && \
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1235
	  func_fatal_configuration "can not build a shared library"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1236
	build_old_libs=no
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1237
	continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1238
	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1239
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1240
      -static)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1241
	build_libtool_libs=no
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1242
	build_old_libs=yes
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1243
	continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1244
	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1245
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1246
      -prefer-pic)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1247
	pic_mode=yes
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1248
	continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1249
	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1250
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1251
      -prefer-non-pic)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1252
	pic_mode=no
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1253
	continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1254
	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1255
      esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1256
    done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1257
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1258
    func_quote_for_eval "$libobj"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1259
    test "X$libobj" != "X$func_quote_for_eval_result" \
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1260
      && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"'	 &()|`$[]' \
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1261
      && func_warning "libobj name \`$libobj' may not contain shell special characters."
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1262
    func_dirname_and_basename "$obj" "/" ""
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1263
    objname="$func_basename_result"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1264
    xdir="$func_dirname_result"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1265
    lobj=${xdir}$objdir/$objname
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1266
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1267
    test -z "$base_compile" && \
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1268
      func_fatal_help "you must specify a compilation command"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1269
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1270
    # Delete any leftover library objects.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1271
    if test "$build_old_libs" = yes; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1272
      removelist="$obj $lobj $libobj ${libobj}T"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1273
    else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1274
      removelist="$lobj $libobj ${libobj}T"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1275
    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1276
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1277
    # On Cygwin there's no "real" PIC flag so we must build both object types
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1278
    case $host_os in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1279
    cygwin* | mingw* | pw32* | os2* | cegcc*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1280
      pic_mode=default
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1281
      ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1282
    esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1283
    if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1284
      # non-PIC code in shared libraries is not supported
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1285
      pic_mode=default
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1286
    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1287
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1288
    # Calculate the filename of the output object if compiler does
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1289
    # not support -o with -c
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1290
    if test "$compiler_c_o" = no; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1291
      output_obj=`$ECHO "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1292
      lockfile="$output_obj.lock"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1293
    else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1294
      output_obj=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1295
      need_locks=no
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1296
      lockfile=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1297
    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1298
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1299
    # Lock this critical section if it is needed
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1300
    # We use this script file to make the link, it avoids creating a new file
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1301
    if test "$need_locks" = yes; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1302
      until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1303
	func_echo "Waiting for $lockfile to be removed"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1304
	sleep 2
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1305
      done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1306
    elif test "$need_locks" = warn; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1307
      if test -f "$lockfile"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1308
	$ECHO "\
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1309
*** ERROR, $lockfile exists and contains:
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1310
`cat $lockfile 2>/dev/null`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1311
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1312
This indicates that another process is trying to use the same
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1313
temporary object file, and libtool could not work around it because
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1314
your compiler does not support \`-c' and \`-o' together.  If you
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1315
repeat this compilation, it may succeed, by chance, but you had better
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1316
avoid parallel builds (make -j) in this platform, or get a better
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1317
compiler."
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1318
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1319
	$opt_dry_run || $RM $removelist
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1320
	exit $EXIT_FAILURE
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1321
      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1322
      removelist="$removelist $output_obj"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1323
      $ECHO "$srcfile" > "$lockfile"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1324
    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1325
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1326
    $opt_dry_run || $RM $removelist
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1327
    removelist="$removelist $lockfile"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1328
    trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1329
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1330
    if test -n "$fix_srcfile_path"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1331
      eval srcfile=\"$fix_srcfile_path\"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1332
    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1333
    func_quote_for_eval "$srcfile"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1334
    qsrcfile=$func_quote_for_eval_result
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1335
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1336
    # Only build a PIC object if we are building libtool libraries.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1337
    if test "$build_libtool_libs" = yes; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1338
      # Without this assignment, base_compile gets emptied.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1339
      fbsd_hideous_sh_bug=$base_compile
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1340
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1341
      if test "$pic_mode" != no; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1342
	command="$base_compile $qsrcfile $pic_flag"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1343
      else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1344
	# Don't build PIC code
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1345
	command="$base_compile $qsrcfile"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1346
      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1347
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1348
      func_mkdir_p "$xdir$objdir"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1349
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1350
      if test -z "$output_obj"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1351
	# Place PIC objects in $objdir
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1352
	command="$command -o $lobj"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1353
      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1354
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1355
      func_show_eval_locale "$command"	\
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1356
          'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1357
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1358
      if test "$need_locks" = warn &&
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1359
	 test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1360
	$ECHO "\
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1361
*** ERROR, $lockfile contains:
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1362
`cat $lockfile 2>/dev/null`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1363
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1364
but it should contain:
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1365
$srcfile
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1366
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1367
This indicates that another process is trying to use the same
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1368
temporary object file, and libtool could not work around it because
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1369
your compiler does not support \`-c' and \`-o' together.  If you
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1370
repeat this compilation, it may succeed, by chance, but you had better
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1371
avoid parallel builds (make -j) in this platform, or get a better
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1372
compiler."
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1373
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1374
	$opt_dry_run || $RM $removelist
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1375
	exit $EXIT_FAILURE
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1376
      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1377
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1378
      # Just move the object if needed, then go on to compile the next one
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1379
      if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1380
	func_show_eval '$MV "$output_obj" "$lobj"' \
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1381
	  'error=$?; $opt_dry_run || $RM $removelist; exit $error'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1382
      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1383
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1384
      # Allow error messages only from the first compilation.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1385
      if test "$suppress_opt" = yes; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1386
	suppress_output=' >/dev/null 2>&1'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1387
      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1388
    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1389
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1390
    # Only build a position-dependent object if we build old libraries.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1391
    if test "$build_old_libs" = yes; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1392
      if test "$pic_mode" != yes; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1393
	# Don't build PIC code
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1394
	command="$base_compile $qsrcfile$pie_flag"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1395
      else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1396
	command="$base_compile $qsrcfile $pic_flag"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1397
      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1398
      if test "$compiler_c_o" = yes; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1399
	command="$command -o $obj"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1400
      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1401
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1402
      # Suppress compiler output if we already did a PIC compilation.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1403
      command="$command$suppress_output"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1404
      func_show_eval_locale "$command" \
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1405
        '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1406
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1407
      if test "$need_locks" = warn &&
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1408
	 test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1409
	$ECHO "\
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1410
*** ERROR, $lockfile contains:
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1411
`cat $lockfile 2>/dev/null`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1412
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1413
but it should contain:
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1414
$srcfile
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1415
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1416
This indicates that another process is trying to use the same
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1417
temporary object file, and libtool could not work around it because
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1418
your compiler does not support \`-c' and \`-o' together.  If you
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1419
repeat this compilation, it may succeed, by chance, but you had better
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1420
avoid parallel builds (make -j) in this platform, or get a better
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1421
compiler."
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1422
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1423
	$opt_dry_run || $RM $removelist
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1424
	exit $EXIT_FAILURE
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1425
      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1426
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1427
      # Just move the object if needed
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1428
      if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1429
	func_show_eval '$MV "$output_obj" "$obj"' \
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1430
	  'error=$?; $opt_dry_run || $RM $removelist; exit $error'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1431
      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1432
    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1433
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1434
    $opt_dry_run || {
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1435
      func_write_libtool_object "$libobj" "$objdir/$objname" "$objname"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1436
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1437
      # Unlock the critical section if it was locked
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1438
      if test "$need_locks" != no; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1439
	removelist=$lockfile
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1440
        $RM "$lockfile"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1441
      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1442
    }
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1443
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1444
    exit $EXIT_SUCCESS
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1445
}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1446
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1447
$opt_help || {
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1448
test "$mode" = compile && func_mode_compile ${1+"$@"}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1449
}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1450
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1451
func_mode_help ()
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1452
{
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1453
    # We need to display help for each of the modes.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1454
    case $mode in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1455
      "")
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1456
        # Generic help is extracted from the usage comments
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1457
        # at the start of this file.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1458
        func_help
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1459
        ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1460
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1461
      clean)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1462
        $ECHO \
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1463
"Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE...
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1464
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1465
Remove files from the build directory.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1466
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1467
RM is the name of the program to use to delete files associated with each FILE
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1468
(typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1469
to RM.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1470
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1471
If FILE is a libtool library, object or program, all the files associated
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1472
with it are deleted. Otherwise, only FILE itself is deleted using RM."
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1473
        ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1474
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1475
      compile)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1476
      $ECHO \
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1477
"Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1478
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1479
Compile a source file into a libtool library object.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1480
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1481
This mode accepts the following additional options:
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1482
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1483
  -o OUTPUT-FILE    set the output file name to OUTPUT-FILE
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1484
  -no-suppress      do not suppress compiler output for multiple passes
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1485
  -prefer-pic       try to building PIC objects only
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1486
  -prefer-non-pic   try to building non-PIC objects only
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1487
  -shared           do not build a \`.o' file suitable for static linking
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1488
  -static           only build a \`.o' file suitable for static linking
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1489
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1490
COMPILE-COMMAND is a command to be used in creating a \`standard' object file
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1491
from the given SOURCEFILE.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1492
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1493
The output file name is determined by removing the directory component from
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1494
SOURCEFILE, then substituting the C source code suffix \`.c' with the
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1495
library object suffix, \`.lo'."
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1496
        ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1497
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1498
      execute)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1499
        $ECHO \
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1500
"Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]...
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1501
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1502
Automatically set library path, then run a program.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1503
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1504
This mode accepts the following additional options:
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1505
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1506
  -dlopen FILE      add the directory containing FILE to the library path
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1507
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1508
This mode sets the library path environment variable according to \`-dlopen'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1509
flags.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1510
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1511
If any of the ARGS are libtool executable wrappers, then they are translated
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1512
into their corresponding uninstalled binary, and any of their required library
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1513
directories are added to the library path.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1514
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1515
Then, COMMAND is executed, with ARGS as arguments."
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1516
        ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1517
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1518
      finish)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1519
        $ECHO \
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1520
"Usage: $progname [OPTION]... --mode=finish [LIBDIR]...
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1521
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1522
Complete the installation of libtool libraries.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1523
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1524
Each LIBDIR is a directory that contains libtool libraries.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1525
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1526
The commands that this mode executes may require superuser privileges.  Use
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1527
the \`--dry-run' option if you just want to see what would be executed."
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1528
        ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1529
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1530
      install)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1531
        $ECHO \
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1532
"Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND...
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1533
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1534
Install executables or libraries.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1535
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1536
INSTALL-COMMAND is the installation command.  The first component should be
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1537
either the \`install' or \`cp' program.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1538
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1539
The following components of INSTALL-COMMAND are treated specially:
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1540
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1541
  -inst-prefix PREFIX-DIR  Use PREFIX-DIR as a staging area for installation
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1542
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1543
The rest of the components are interpreted as arguments to that command (only
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1544
BSD-compatible install options are recognized)."
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1545
        ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1546
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1547
      link)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1548
        $ECHO \
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1549
"Usage: $progname [OPTION]... --mode=link LINK-COMMAND...
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1550
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1551
Link object files or libraries together to form another library, or to
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1552
create an executable program.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1553
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1554
LINK-COMMAND is a command using the C compiler that you would use to create
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1555
a program from several object files.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1556
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1557
The following components of LINK-COMMAND are treated specially:
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1558
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1559
  -all-static       do not do any dynamic linking at all
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1560
  -avoid-version    do not add a version suffix if possible
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1561
  -dlopen FILE      \`-dlpreopen' FILE if it cannot be dlopened at runtime
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1562
  -dlpreopen FILE   link in FILE and add its symbols to lt_preloaded_symbols
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1563
  -export-dynamic   allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1564
  -export-symbols SYMFILE
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1565
                    try to export only the symbols listed in SYMFILE
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1566
  -export-symbols-regex REGEX
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1567
                    try to export only the symbols matching REGEX
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1568
  -LLIBDIR          search LIBDIR for required installed libraries
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1569
  -lNAME            OUTPUT-FILE requires the installed library libNAME
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1570
  -module           build a library that can dlopened
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1571
  -no-fast-install  disable the fast-install mode
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1572
  -no-install       link a not-installable executable
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1573
  -no-undefined     declare that a library does not refer to external symbols
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1574
  -o OUTPUT-FILE    create OUTPUT-FILE from the specified objects
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1575
  -objectlist FILE  Use a list of object files found in FILE to specify objects
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1576
  -precious-files-regex REGEX
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1577
                    don't remove output files matching REGEX
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1578
  -release RELEASE  specify package release information
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1579
  -rpath LIBDIR     the created library will eventually be installed in LIBDIR
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1580
  -R[ ]LIBDIR       add LIBDIR to the runtime path of programs and libraries
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1581
  -shared           only do dynamic linking of libtool libraries
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1582
  -shrext SUFFIX    override the standard shared library file extension
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1583
  -static           do not do any dynamic linking of uninstalled libtool libraries
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1584
  -static-libtool-libs
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1585
                    do not do any dynamic linking of libtool libraries
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1586
  -version-info CURRENT[:REVISION[:AGE]]
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1587
                    specify library version info [each variable defaults to 0]
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1588
  -weak LIBNAME     declare that the target provides the LIBNAME interface
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1589
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1590
All other options (arguments beginning with \`-') are ignored.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1591
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1592
Every other argument is treated as a filename.  Files ending in \`.la' are
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1593
treated as uninstalled libtool libraries, other files are standard or library
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1594
object files.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1595
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1596
If the OUTPUT-FILE ends in \`.la', then a libtool library is created,
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1597
only library objects (\`.lo' files) may be specified, and \`-rpath' is
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1598
required, except when creating a convenience library.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1599
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1600
If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1601
using \`ar' and \`ranlib', or on Windows using \`lib'.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1602
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1603
If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1604
is created, otherwise an executable program is created."
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1605
        ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1606
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1607
      uninstall)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1608
        $ECHO \
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1609
"Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1610
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1611
Remove libraries from an installation directory.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1612
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1613
RM is the name of the program to use to delete files associated with each FILE
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1614
(typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1615
to RM.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1616
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1617
If FILE is a libtool library, all the files associated with it are deleted.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1618
Otherwise, only FILE itself is deleted using RM."
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1619
        ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1620
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1621
      *)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1622
        func_fatal_help "invalid operation mode \`$mode'"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1623
        ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1624
    esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1625
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1626
    $ECHO
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1627
    $ECHO "Try \`$progname --help' for more information about other modes."
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1628
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1629
    exit $?
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1630
}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1631
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1632
  # Now that we've collected a possible --mode arg, show help if necessary
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1633
  $opt_help && func_mode_help
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1634
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1635
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1636
# func_mode_execute arg...
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1637
func_mode_execute ()
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1638
{
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1639
    $opt_debug
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1640
    # The first argument is the command name.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1641
    cmd="$nonopt"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1642
    test -z "$cmd" && \
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1643
      func_fatal_help "you must specify a COMMAND"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1644
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1645
    # Handle -dlopen flags immediately.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1646
    for file in $execute_dlfiles; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1647
      test -f "$file" \
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1648
	|| func_fatal_help "\`$file' is not a file"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1649
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1650
      dir=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1651
      case $file in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1652
      *.la)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1653
	# Check to see that this really is a libtool archive.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1654
	func_lalib_unsafe_p "$file" \
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1655
	  || func_fatal_help "\`$lib' is not a valid libtool archive"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1656
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1657
	# Read the libtool library.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1658
	dlname=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1659
	library_names=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1660
	func_source "$file"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1661
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1662
	# Skip this library if it cannot be dlopened.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1663
	if test -z "$dlname"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1664
	  # Warn if it was a shared library.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1665
	  test -n "$library_names" && \
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1666
	    func_warning "\`$file' was not linked with \`-export-dynamic'"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1667
	  continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1668
	fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1669
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1670
	func_dirname "$file" "" "."
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1671
	dir="$func_dirname_result"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1672
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1673
	if test -f "$dir/$objdir/$dlname"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1674
	  dir="$dir/$objdir"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1675
	else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1676
	  if test ! -f "$dir/$dlname"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1677
	    func_fatal_error "cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1678
	  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1679
	fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1680
	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1681
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1682
      *.lo)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1683
	# Just add the directory containing the .lo file.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1684
	func_dirname "$file" "" "."
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1685
	dir="$func_dirname_result"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1686
	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1687
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1688
      *)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1689
	func_warning "\`-dlopen' is ignored for non-libtool libraries and objects"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1690
	continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1691
	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1692
      esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1693
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1694
      # Get the absolute pathname.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1695
      absdir=`cd "$dir" && pwd`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1696
      test -n "$absdir" && dir="$absdir"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1697
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1698
      # Now add the directory to shlibpath_var.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1699
      if eval "test -z \"\$$shlibpath_var\""; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1700
	eval "$shlibpath_var=\"\$dir\""
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1701
      else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1702
	eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1703
      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1704
    done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1705
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1706
    # This variable tells wrapper scripts just to set shlibpath_var
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1707
    # rather than running their programs.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1708
    libtool_execute_magic="$magic"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1709
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1710
    # Check if any of the arguments is a wrapper script.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1711
    args=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1712
    for file
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1713
    do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1714
      case $file in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1715
      -*) ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1716
      *)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1717
	# Do a test to see if this is really a libtool program.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1718
	if func_ltwrapper_script_p "$file"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1719
	  func_source "$file"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1720
	  # Transform arg to wrapped name.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1721
	  file="$progdir/$program"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1722
	elif func_ltwrapper_executable_p "$file"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1723
	  func_ltwrapper_scriptname "$file"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1724
	  func_source "$func_ltwrapper_scriptname_result"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1725
	  # Transform arg to wrapped name.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1726
	  file="$progdir/$program"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1727
	fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1728
	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1729
      esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1730
      # Quote arguments (to preserve shell metacharacters).
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1731
      func_quote_for_eval "$file"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1732
      args="$args $func_quote_for_eval_result"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1733
    done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1734
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1735
    if test "X$opt_dry_run" = Xfalse; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1736
      if test -n "$shlibpath_var"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1737
	# Export the shlibpath_var.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1738
	eval "export $shlibpath_var"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1739
      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1740
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1741
      # Restore saved environment variables
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1742
      for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1743
      do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1744
	eval "if test \"\${save_$lt_var+set}\" = set; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1745
                $lt_var=\$save_$lt_var; export $lt_var
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1746
	      else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1747
		$lt_unset $lt_var
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1748
	      fi"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1749
      done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1750
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1751
      # Now prepare to actually exec the command.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1752
      exec_cmd="\$cmd$args"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1753
    else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1754
      # Display what would be done.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1755
      if test -n "$shlibpath_var"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1756
	eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\""
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1757
	$ECHO "export $shlibpath_var"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1758
      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1759
      $ECHO "$cmd$args"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1760
      exit $EXIT_SUCCESS
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1761
    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1762
}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1763
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1764
test "$mode" = execute && func_mode_execute ${1+"$@"}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1765
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1766
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1767
# func_mode_finish arg...
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1768
func_mode_finish ()
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1769
{
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1770
    $opt_debug
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1771
    libdirs="$nonopt"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1772
    admincmds=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1773
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1774
    if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1775
      for dir
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1776
      do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1777
	libdirs="$libdirs $dir"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1778
      done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1779
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1780
      for libdir in $libdirs; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1781
	if test -n "$finish_cmds"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1782
	  # Do each command in the finish commands.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1783
	  func_execute_cmds "$finish_cmds" 'admincmds="$admincmds
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1784
'"$cmd"'"'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1785
	fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1786
	if test -n "$finish_eval"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1787
	  # Do the single finish_eval.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1788
	  eval cmds=\"$finish_eval\"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1789
	  $opt_dry_run || eval "$cmds" || admincmds="$admincmds
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1790
       $cmds"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1791
	fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1792
      done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1793
    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1794
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1795
    # Exit here if they wanted silent mode.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1796
    $opt_silent && exit $EXIT_SUCCESS
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1797
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1798
    $ECHO "X----------------------------------------------------------------------" | $Xsed
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1799
    $ECHO "Libraries have been installed in:"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1800
    for libdir in $libdirs; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1801
      $ECHO "   $libdir"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1802
    done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1803
    $ECHO
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1804
    $ECHO "If you ever happen to want to link against installed libraries"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1805
    $ECHO "in a given directory, LIBDIR, you must either use libtool, and"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1806
    $ECHO "specify the full pathname of the library, or use the \`-LLIBDIR'"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1807
    $ECHO "flag during linking and do at least one of the following:"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1808
    if test -n "$shlibpath_var"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1809
      $ECHO "   - add LIBDIR to the \`$shlibpath_var' environment variable"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1810
      $ECHO "     during execution"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1811
    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1812
    if test -n "$runpath_var"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1813
      $ECHO "   - add LIBDIR to the \`$runpath_var' environment variable"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1814
      $ECHO "     during linking"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1815
    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1816
    if test -n "$hardcode_libdir_flag_spec"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1817
      libdir=LIBDIR
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1818
      eval flag=\"$hardcode_libdir_flag_spec\"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1819
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1820
      $ECHO "   - use the \`$flag' linker flag"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1821
    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1822
    if test -n "$admincmds"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1823
      $ECHO "   - have your system administrator run these commands:$admincmds"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1824
    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1825
    if test -f /etc/ld.so.conf; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1826
      $ECHO "   - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1827
    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1828
    $ECHO
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1829
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1830
    $ECHO "See any operating system documentation about shared libraries for"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1831
    case $host in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1832
      solaris2.[6789]|solaris2.1[0-9])
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1833
        $ECHO "more information, such as the ld(1), crle(1) and ld.so(8) manual"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1834
	$ECHO "pages."
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1835
	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1836
      *)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1837
        $ECHO "more information, such as the ld(1) and ld.so(8) manual pages."
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1838
        ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1839
    esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1840
    $ECHO "X----------------------------------------------------------------------" | $Xsed
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1841
    exit $EXIT_SUCCESS
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1842
}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1843
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1844
test "$mode" = finish && func_mode_finish ${1+"$@"}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1845
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1846
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1847
# func_mode_install arg...
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1848
func_mode_install ()
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1849
{
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1850
    $opt_debug
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1851
    # There may be an optional sh(1) argument at the beginning of
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1852
    # install_prog (especially on Windows NT).
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1853
    if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh ||
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1854
       # Allow the use of GNU shtool's install command.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1855
       $ECHO "X$nonopt" | $GREP shtool >/dev/null; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1856
      # Aesthetically quote it.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1857
      func_quote_for_eval "$nonopt"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1858
      install_prog="$func_quote_for_eval_result "
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1859
      arg=$1
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1860
      shift
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1861
    else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1862
      install_prog=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1863
      arg=$nonopt
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1864
    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1865
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1866
    # The real first argument should be the name of the installation program.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1867
    # Aesthetically quote it.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1868
    func_quote_for_eval "$arg"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1869
    install_prog="$install_prog$func_quote_for_eval_result"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1870
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1871
    # We need to accept at least all the BSD install flags.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1872
    dest=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1873
    files=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1874
    opts=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1875
    prev=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1876
    install_type=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1877
    isdir=no
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1878
    stripme=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1879
    for arg
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1880
    do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1881
      if test -n "$dest"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1882
	files="$files $dest"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1883
	dest=$arg
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1884
	continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1885
      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1886
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1887
      case $arg in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1888
      -d) isdir=yes ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1889
      -f)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1890
	case " $install_prog " in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1891
	*[\\\ /]cp\ *) ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1892
	*) prev=$arg ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1893
	esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1894
	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1895
      -g | -m | -o)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1896
	prev=$arg
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1897
	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1898
      -s)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1899
	stripme=" -s"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1900
	continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1901
	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1902
      -*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1903
	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1904
      *)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1905
	# If the previous option needed an argument, then skip it.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1906
	if test -n "$prev"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1907
	  prev=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1908
	else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1909
	  dest=$arg
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1910
	  continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1911
	fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1912
	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1913
      esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1914
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1915
      # Aesthetically quote the argument.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1916
      func_quote_for_eval "$arg"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1917
      install_prog="$install_prog $func_quote_for_eval_result"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1918
    done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1919
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1920
    test -z "$install_prog" && \
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1921
      func_fatal_help "you must specify an install program"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1922
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1923
    test -n "$prev" && \
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1924
      func_fatal_help "the \`$prev' option requires an argument"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1925
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1926
    if test -z "$files"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1927
      if test -z "$dest"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1928
	func_fatal_help "no file or destination specified"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1929
      else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1930
	func_fatal_help "you must specify a destination"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1931
      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1932
    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1933
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1934
    # Strip any trailing slash from the destination.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1935
    func_stripname '' '/' "$dest"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1936
    dest=$func_stripname_result
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1937
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1938
    # Check to see that the destination is a directory.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1939
    test -d "$dest" && isdir=yes
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1940
    if test "$isdir" = yes; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1941
      destdir="$dest"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1942
      destname=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1943
    else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1944
      func_dirname_and_basename "$dest" "" "."
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1945
      destdir="$func_dirname_result"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1946
      destname="$func_basename_result"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1947
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1948
      # Not a directory, so check to see that there is only one file specified.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1949
      set dummy $files; shift
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1950
      test "$#" -gt 1 && \
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1951
	func_fatal_help "\`$dest' is not a directory"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1952
    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1953
    case $destdir in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1954
    [\\/]* | [A-Za-z]:[\\/]*) ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1955
    *)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1956
      for file in $files; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1957
	case $file in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1958
	*.lo) ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1959
	*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1960
	  func_fatal_help "\`$destdir' must be an absolute directory name"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1961
	  ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1962
	esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1963
      done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1964
      ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1965
    esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1966
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1967
    # This variable tells wrapper scripts just to set variables rather
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1968
    # than running their programs.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1969
    libtool_install_magic="$magic"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1970
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1971
    staticlibs=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1972
    future_libdirs=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1973
    current_libdirs=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1974
    for file in $files; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1975
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1976
      # Do each installation.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1977
      case $file in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1978
      *.$libext)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1979
	# Do the static libraries later.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1980
	staticlibs="$staticlibs $file"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1981
	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1982
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1983
      *.la)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1984
	# Check to see that this really is a libtool archive.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1985
	func_lalib_unsafe_p "$file" \
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1986
	  || func_fatal_help "\`$file' is not a valid libtool archive"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1987
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1988
	library_names=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1989
	old_library=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1990
	relink_command=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1991
	func_source "$file"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1992
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1993
	# Add the libdir to current_libdirs if it is the destination.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1994
	if test "X$destdir" = "X$libdir"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1995
	  case "$current_libdirs " in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1996
	  *" $libdir "*) ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1997
	  *) current_libdirs="$current_libdirs $libdir" ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1998
	  esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  1999
	else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2000
	  # Note the libdir as a future libdir.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2001
	  case "$future_libdirs " in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2002
	  *" $libdir "*) ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2003
	  *) future_libdirs="$future_libdirs $libdir" ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2004
	  esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2005
	fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2006
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2007
	func_dirname "$file" "/" ""
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2008
	dir="$func_dirname_result"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2009
	dir="$dir$objdir"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2010
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2011
	if test -n "$relink_command"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2012
	  # Determine the prefix the user has applied to our future dir.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2013
	  inst_prefix_dir=`$ECHO "X$destdir" | $Xsed -e "s%$libdir\$%%"`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2014
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2015
	  # Don't allow the user to place us outside of our expected
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2016
	  # location b/c this prevents finding dependent libraries that
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2017
	  # are installed to the same prefix.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2018
	  # At present, this check doesn't affect windows .dll's that
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2019
	  # are installed into $libdir/../bin (currently, that works fine)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2020
	  # but it's something to keep an eye on.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2021
	  test "$inst_prefix_dir" = "$destdir" && \
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2022
	    func_fatal_error "error: cannot install \`$file' to a directory not ending in $libdir"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2023
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2024
	  if test -n "$inst_prefix_dir"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2025
	    # Stick the inst_prefix_dir data into the link command.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2026
	    relink_command=`$ECHO "X$relink_command" | $Xsed -e "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2027
	  else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2028
	    relink_command=`$ECHO "X$relink_command" | $Xsed -e "s%@inst_prefix_dir@%%"`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2029
	  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2030
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2031
	  func_warning "relinking \`$file'"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2032
	  func_show_eval "$relink_command" \
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2033
	    'func_fatal_error "error: relink \`$file'\'' with the above command before installing it"'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2034
	fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2035
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2036
	# See the names of the shared library.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2037
	set dummy $library_names; shift
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2038
	if test -n "$1"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2039
	  realname="$1"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2040
	  shift
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2041
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2042
	  srcname="$realname"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2043
	  test -n "$relink_command" && srcname="$realname"T
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2044
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2045
	  # Install the shared library and build the symlinks.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2046
	  func_show_eval "$install_prog $dir/$srcname $destdir/$realname" \
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2047
	      'exit $?'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2048
	  tstripme="$stripme"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2049
	  case $host_os in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2050
	  cygwin* | mingw* | pw32* | cegcc*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2051
	    case $realname in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2052
	    *.dll.a)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2053
	      tstripme=""
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2054
	      ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2055
	    esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2056
	    ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2057
	  esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2058
	  if test -n "$tstripme" && test -n "$striplib"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2059
	    func_show_eval "$striplib $destdir/$realname" 'exit $?'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2060
	  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2061
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2062
	  if test "$#" -gt 0; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2063
	    # Delete the old symlinks, and create new ones.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2064
	    # Try `ln -sf' first, because the `ln' binary might depend on
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2065
	    # the symlink we replace!  Solaris /bin/ln does not understand -f,
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2066
	    # so we also need to try rm && ln -s.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2067
	    for linkname
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2068
	    do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2069
	      test "$linkname" != "$realname" \
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2070
		&& func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2071
	    done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2072
	  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2073
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2074
	  # Do each command in the postinstall commands.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2075
	  lib="$destdir/$realname"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2076
	  func_execute_cmds "$postinstall_cmds" 'exit $?'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2077
	fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2078
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2079
	# Install the pseudo-library for information purposes.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2080
	func_basename "$file"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2081
	name="$func_basename_result"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2082
	instname="$dir/$name"i
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2083
	func_show_eval "$install_prog $instname $destdir/$name" 'exit $?'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2084
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2085
	# Maybe install the static library, too.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2086
	test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2087
	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2088
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2089
      *.lo)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2090
	# Install (i.e. copy) a libtool object.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2091
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2092
	# Figure out destination file name, if it wasn't already specified.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2093
	if test -n "$destname"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2094
	  destfile="$destdir/$destname"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2095
	else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2096
	  func_basename "$file"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2097
	  destfile="$func_basename_result"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2098
	  destfile="$destdir/$destfile"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2099
	fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2100
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2101
	# Deduce the name of the destination old-style object file.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2102
	case $destfile in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2103
	*.lo)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2104
	  func_lo2o "$destfile"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2105
	  staticdest=$func_lo2o_result
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2106
	  ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2107
	*.$objext)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2108
	  staticdest="$destfile"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2109
	  destfile=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2110
	  ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2111
	*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2112
	  func_fatal_help "cannot copy a libtool object to \`$destfile'"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2113
	  ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2114
	esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2115
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2116
	# Install the libtool object if requested.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2117
	test -n "$destfile" && \
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2118
	  func_show_eval "$install_prog $file $destfile" 'exit $?'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2119
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2120
	# Install the old object if enabled.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2121
	if test "$build_old_libs" = yes; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2122
	  # Deduce the name of the old-style object file.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2123
	  func_lo2o "$file"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2124
	  staticobj=$func_lo2o_result
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2125
	  func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2126
	fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2127
	exit $EXIT_SUCCESS
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2128
	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2129
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2130
      *)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2131
	# Figure out destination file name, if it wasn't already specified.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2132
	if test -n "$destname"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2133
	  destfile="$destdir/$destname"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2134
	else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2135
	  func_basename "$file"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2136
	  destfile="$func_basename_result"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2137
	  destfile="$destdir/$destfile"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2138
	fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2139
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2140
	# If the file is missing, and there is a .exe on the end, strip it
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2141
	# because it is most likely a libtool script we actually want to
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2142
	# install
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2143
	stripped_ext=""
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2144
	case $file in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2145
	  *.exe)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2146
	    if test ! -f "$file"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2147
	      func_stripname '' '.exe' "$file"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2148
	      file=$func_stripname_result
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2149
	      stripped_ext=".exe"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2150
	    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2151
	    ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2152
	esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2153
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2154
	# Do a test to see if this is really a libtool program.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2155
	case $host in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2156
	*cygwin* | *mingw*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2157
	    if func_ltwrapper_executable_p "$file"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2158
	      func_ltwrapper_scriptname "$file"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2159
	      wrapper=$func_ltwrapper_scriptname_result
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2160
	    else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2161
	      func_stripname '' '.exe' "$file"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2162
	      wrapper=$func_stripname_result
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2163
	    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2164
	    ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2165
	*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2166
	    wrapper=$file
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2167
	    ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2168
	esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2169
	if func_ltwrapper_script_p "$wrapper"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2170
	  notinst_deplibs=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2171
	  relink_command=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2172
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2173
	  func_source "$wrapper"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2174
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2175
	  # Check the variables that should have been set.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2176
	  test -z "$generated_by_libtool_version" && \
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2177
	    func_fatal_error "invalid libtool wrapper script \`$wrapper'"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2178
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2179
	  finalize=yes
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2180
	  for lib in $notinst_deplibs; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2181
	    # Check to see that each library is installed.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2182
	    libdir=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2183
	    if test -f "$lib"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2184
	      func_source "$lib"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2185
	    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2186
	    libfile="$libdir/"`$ECHO "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2187
	    if test -n "$libdir" && test ! -f "$libfile"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2188
	      func_warning "\`$lib' has not been installed in \`$libdir'"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2189
	      finalize=no
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2190
	    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2191
	  done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2192
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2193
	  relink_command=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2194
	  func_source "$wrapper"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2195
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2196
	  outputname=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2197
	  if test "$fast_install" = no && test -n "$relink_command"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2198
	    $opt_dry_run || {
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2199
	      if test "$finalize" = yes; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2200
	        tmpdir=`func_mktempdir`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2201
		func_basename "$file$stripped_ext"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2202
		file="$func_basename_result"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2203
	        outputname="$tmpdir/$file"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2204
	        # Replace the output file specification.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2205
	        relink_command=`$ECHO "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2206
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2207
	        $opt_silent || {
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2208
	          func_quote_for_expand "$relink_command"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2209
		  eval "func_echo $func_quote_for_expand_result"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2210
	        }
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2211
	        if eval "$relink_command"; then :
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2212
	          else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2213
		  func_error "error: relink \`$file' with the above command before installing it"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2214
		  $opt_dry_run || ${RM}r "$tmpdir"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2215
		  continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2216
	        fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2217
	        file="$outputname"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2218
	      else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2219
	        func_warning "cannot relink \`$file'"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2220
	      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2221
	    }
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2222
	  else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2223
	    # Install the binary that we compiled earlier.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2224
	    file=`$ECHO "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2225
	  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2226
	fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2227
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2228
	# remove .exe since cygwin /usr/bin/install will append another
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2229
	# one anyway
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2230
	case $install_prog,$host in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2231
	*/usr/bin/install*,*cygwin*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2232
	  case $file:$destfile in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2233
	  *.exe:*.exe)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2234
	    # this is ok
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2235
	    ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2236
	  *.exe:*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2237
	    destfile=$destfile.exe
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2238
	    ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2239
	  *:*.exe)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2240
	    func_stripname '' '.exe' "$destfile"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2241
	    destfile=$func_stripname_result
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2242
	    ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2243
	  esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2244
	  ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2245
	esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2246
	func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2247
	$opt_dry_run || if test -n "$outputname"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2248
	  ${RM}r "$tmpdir"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2249
	fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2250
	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2251
      esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2252
    done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2253
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2254
    for file in $staticlibs; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2255
      func_basename "$file"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2256
      name="$func_basename_result"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2257
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2258
      # Set up the ranlib parameters.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2259
      oldlib="$destdir/$name"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2260
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2261
      func_show_eval "$install_prog \$file \$oldlib" 'exit $?'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2262
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2263
      if test -n "$stripme" && test -n "$old_striplib"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2264
	func_show_eval "$old_striplib $oldlib" 'exit $?'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2265
      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2266
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2267
      # Do each command in the postinstall commands.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2268
      func_execute_cmds "$old_postinstall_cmds" 'exit $?'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2269
    done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2270
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2271
    test -n "$future_libdirs" && \
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2272
      func_warning "remember to run \`$progname --finish$future_libdirs'"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2273
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2274
    if test -n "$current_libdirs"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2275
      # Maybe just do a dry run.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2276
      $opt_dry_run && current_libdirs=" -n$current_libdirs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2277
      exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2278
    else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2279
      exit $EXIT_SUCCESS
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2280
    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2281
}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2282
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2283
test "$mode" = install && func_mode_install ${1+"$@"}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2284
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2285
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2286
# func_generate_dlsyms outputname originator pic_p
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2287
# Extract symbols from dlprefiles and create ${outputname}S.o with
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2288
# a dlpreopen symbol table.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2289
func_generate_dlsyms ()
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2290
{
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2291
    $opt_debug
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2292
    my_outputname="$1"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2293
    my_originator="$2"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2294
    my_pic_p="${3-no}"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2295
    my_prefix=`$ECHO "$my_originator" | sed 's%[^a-zA-Z0-9]%_%g'`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2296
    my_dlsyms=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2297
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2298
    if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2299
      if test -n "$NM" && test -n "$global_symbol_pipe"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2300
	my_dlsyms="${my_outputname}S.c"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2301
      else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2302
	func_error "not configured to extract global symbols from dlpreopened files"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2303
      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2304
    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2305
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2306
    if test -n "$my_dlsyms"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2307
      case $my_dlsyms in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2308
      "") ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2309
      *.c)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2310
	# Discover the nlist of each of the dlfiles.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2311
	nlist="$output_objdir/${my_outputname}.nm"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2312
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2313
	func_show_eval "$RM $nlist ${nlist}S ${nlist}T"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2314
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2315
	# Parse the name list into a source file.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2316
	func_verbose "creating $output_objdir/$my_dlsyms"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2317
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2318
	$opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2319
/* $my_dlsyms - symbol resolution table for \`$my_outputname' dlsym emulation. */
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2320
/* Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION */
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2321
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2322
#ifdef __cplusplus
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2323
extern \"C\" {
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2324
#endif
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2325
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2326
/* External symbol declarations for the compiler. */\
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2327
"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2328
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2329
	if test "$dlself" = yes; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2330
	  func_verbose "generating symbol list for \`$output'"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2331
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2332
	  $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2333
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2334
	  # Add our own program objects to the symbol list.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2335
	  progfiles=`$ECHO "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2336
	  for progfile in $progfiles; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2337
	    func_verbose "extracting global C symbols from \`$progfile'"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2338
	    $opt_dry_run || eval "$NM $progfile | $global_symbol_pipe >> '$nlist'"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2339
	  done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2340
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2341
	  if test -n "$exclude_expsyms"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2342
	    $opt_dry_run || {
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2343
	      eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2344
	      eval '$MV "$nlist"T "$nlist"'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2345
	    }
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2346
	  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2347
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2348
	  if test -n "$export_symbols_regex"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2349
	    $opt_dry_run || {
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2350
	      eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2351
	      eval '$MV "$nlist"T "$nlist"'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2352
	    }
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2353
	  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2354
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2355
	  # Prepare the list of exported symbols
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2356
	  if test -z "$export_symbols"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2357
	    export_symbols="$output_objdir/$outputname.exp"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2358
	    $opt_dry_run || {
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2359
	      $RM $export_symbols
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2360
	      eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2361
	      case $host in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2362
	      *cygwin* | *mingw* | *cegcc* )
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2363
                eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2364
                eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2365
	        ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2366
	      esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2367
	    }
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2368
	  else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2369
	    $opt_dry_run || {
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2370
	      eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2371
	      eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2372
	      eval '$MV "$nlist"T "$nlist"'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2373
	      case $host in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2374
	        *cygwin | *mingw* | *cegcc* )
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2375
	          eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2376
	          eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2377
	          ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2378
	      esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2379
	    }
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2380
	  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2381
	fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2382
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2383
	for dlprefile in $dlprefiles; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2384
	  func_verbose "extracting global C symbols from \`$dlprefile'"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2385
	  func_basename "$dlprefile"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2386
	  name="$func_basename_result"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2387
	  $opt_dry_run || {
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2388
	    eval '$ECHO ": $name " >> "$nlist"'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2389
	    eval "$NM $dlprefile 2>/dev/null | $global_symbol_pipe >> '$nlist'"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2390
	  }
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2391
	done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2392
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2393
	$opt_dry_run || {
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2394
	  # Make sure we have at least an empty file.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2395
	  test -f "$nlist" || : > "$nlist"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2396
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2397
	  if test -n "$exclude_expsyms"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2398
	    $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2399
	    $MV "$nlist"T "$nlist"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2400
	  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2401
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2402
	  # Try sorting and uniquifying the output.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2403
	  if $GREP -v "^: " < "$nlist" |
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2404
	      if sort -k 3 </dev/null >/dev/null 2>&1; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2405
		sort -k 3
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2406
	      else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2407
		sort +2
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2408
	      fi |
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2409
	      uniq > "$nlist"S; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2410
	    :
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2411
	  else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2412
	    $GREP -v "^: " < "$nlist" > "$nlist"S
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2413
	  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2414
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2415
	  if test -f "$nlist"S; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2416
	    eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2417
	  else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2418
	    $ECHO '/* NONE */' >> "$output_objdir/$my_dlsyms"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2419
	  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2420
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2421
	  $ECHO >> "$output_objdir/$my_dlsyms" "\
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2422
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2423
/* The mapping between symbol names and symbols.  */
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2424
typedef struct {
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2425
  const char *name;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2426
  void *address;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2427
} lt_dlsymlist;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2428
"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2429
	  case $host in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2430
	  *cygwin* | *mingw* | *cegcc* )
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2431
	    $ECHO >> "$output_objdir/$my_dlsyms" "\
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2432
/* DATA imports from DLLs on WIN32 con't be const, because
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2433
   runtime relocations are performed -- see ld's documentation
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2434
   on pseudo-relocs.  */"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2435
	    lt_dlsym_const= ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2436
	  *osf5*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2437
	    echo >> "$output_objdir/$my_dlsyms" "\
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2438
/* This system does not cope well with relocations in const data */"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2439
	    lt_dlsym_const= ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2440
	  *)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2441
	    lt_dlsym_const=const ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2442
	  esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2443
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2444
	  $ECHO >> "$output_objdir/$my_dlsyms" "\
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2445
extern $lt_dlsym_const lt_dlsymlist
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2446
lt_${my_prefix}_LTX_preloaded_symbols[];
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2447
$lt_dlsym_const lt_dlsymlist
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2448
lt_${my_prefix}_LTX_preloaded_symbols[] =
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2449
{\
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2450
  { \"$my_originator\", (void *) 0 },"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2451
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2452
	  case $need_lib_prefix in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2453
	  no)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2454
	    eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2455
	    ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2456
	  *)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2457
	    eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2458
	    ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2459
	  esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2460
	  $ECHO >> "$output_objdir/$my_dlsyms" "\
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2461
  {0, (void *) 0}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2462
};
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2463
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2464
/* This works around a problem in FreeBSD linker */
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2465
#ifdef FREEBSD_WORKAROUND
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2466
static const void *lt_preloaded_setup() {
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2467
  return lt_${my_prefix}_LTX_preloaded_symbols;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2468
}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2469
#endif
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2470
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2471
#ifdef __cplusplus
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2472
}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2473
#endif\
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2474
"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2475
	} # !$opt_dry_run
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2476
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2477
	pic_flag_for_symtable=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2478
	case "$compile_command " in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2479
	*" -static "*) ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2480
	*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2481
	  case $host in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2482
	  # compiling the symbol table file with pic_flag works around
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2483
	  # a FreeBSD bug that causes programs to crash when -lm is
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2484
	  # linked before any other PIC object.  But we must not use
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2485
	  # pic_flag when linking with -static.  The problem exists in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2486
	  # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2487
	  *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2488
	    pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2489
	  *-*-hpux*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2490
	    pic_flag_for_symtable=" $pic_flag"  ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2491
	  *)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2492
	    if test "X$my_pic_p" != Xno; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2493
	      pic_flag_for_symtable=" $pic_flag"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2494
	    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2495
	    ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2496
	  esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2497
	  ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2498
	esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2499
	symtab_cflags=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2500
	for arg in $LTCFLAGS; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2501
	  case $arg in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2502
	  -pie | -fpie | -fPIE) ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2503
	  *) symtab_cflags="$symtab_cflags $arg" ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2504
	  esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2505
	done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2506
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2507
	# Now compile the dynamic symbol file.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2508
	func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2509
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2510
	# Clean up the generated files.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2511
	func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T"'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2512
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2513
	# Transform the symbol file into the correct name.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2514
	symfileobj="$output_objdir/${my_outputname}S.$objext"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2515
	case $host in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2516
	*cygwin* | *mingw* | *cegcc* )
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2517
	  if test -f "$output_objdir/$my_outputname.def"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2518
	    compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2519
	    finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2520
	  else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2521
	    compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2522
	    finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2523
	  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2524
	  ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2525
	*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2526
	  compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2527
	  finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2528
	  ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2529
	esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2530
	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2531
      *)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2532
	func_fatal_error "unknown suffix for \`$my_dlsyms'"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2533
	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2534
      esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2535
    else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2536
      # We keep going just in case the user didn't refer to
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2537
      # lt_preloaded_symbols.  The linker will fail if global_symbol_pipe
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2538
      # really was required.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2539
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2540
      # Nullify the symbol file.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2541
      compile_command=`$ECHO "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2542
      finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2543
    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2544
}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2545
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2546
# func_win32_libid arg
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2547
# return the library type of file 'arg'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2548
#
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2549
# Need a lot of goo to handle *both* DLLs and import libs
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2550
# Has to be a shell function in order to 'eat' the argument
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2551
# that is supplied when $file_magic_command is called.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2552
func_win32_libid ()
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2553
{
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2554
  $opt_debug
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2555
  win32_libid_type="unknown"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2556
  win32_fileres=`file -L $1 2>/dev/null`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2557
  case $win32_fileres in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2558
  *ar\ archive\ import\ library*) # definitely import
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2559
    win32_libid_type="x86 archive import"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2560
    ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2561
  *ar\ archive*) # could be an import, or static
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2562
    if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null |
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2563
       $EGREP 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2564
      win32_nmres=`eval $NM -f posix -A $1 |
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2565
	$SED -n -e '
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2566
	    1,100{
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2567
		/ I /{
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2568
		    s,.*,import,
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2569
		    p
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2570
		    q
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2571
		}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2572
	    }'`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2573
      case $win32_nmres in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2574
      import*)  win32_libid_type="x86 archive import";;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2575
      *)        win32_libid_type="x86 archive static";;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2576
      esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2577
    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2578
    ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2579
  *DLL*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2580
    win32_libid_type="x86 DLL"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2581
    ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2582
  *executable*) # but shell scripts are "executable" too...
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2583
    case $win32_fileres in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2584
    *MS\ Windows\ PE\ Intel*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2585
      win32_libid_type="x86 DLL"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2586
      ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2587
    esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2588
    ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2589
  esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2590
  $ECHO "$win32_libid_type"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2591
}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2592
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2593
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2594
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2595
# func_extract_an_archive dir oldlib
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2596
func_extract_an_archive ()
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2597
{
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2598
    $opt_debug
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2599
    f_ex_an_ar_dir="$1"; shift
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2600
    f_ex_an_ar_oldlib="$1"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2601
    func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" 'exit $?'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2602
    if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2603
     :
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2604
    else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2605
      func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2606
    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2607
}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2608
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2609
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2610
# func_extract_archives gentop oldlib ...
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2611
func_extract_archives ()
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2612
{
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2613
    $opt_debug
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2614
    my_gentop="$1"; shift
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2615
    my_oldlibs=${1+"$@"}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2616
    my_oldobjs=""
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2617
    my_xlib=""
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2618
    my_xabs=""
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2619
    my_xdir=""
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2620
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2621
    for my_xlib in $my_oldlibs; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2622
      # Extract the objects.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2623
      case $my_xlib in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2624
	[\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2625
	*) my_xabs=`pwd`"/$my_xlib" ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2626
      esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2627
      func_basename "$my_xlib"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2628
      my_xlib="$func_basename_result"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2629
      my_xlib_u=$my_xlib
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2630
      while :; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2631
        case " $extracted_archives " in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2632
	*" $my_xlib_u "*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2633
	  func_arith $extracted_serial + 1
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2634
	  extracted_serial=$func_arith_result
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2635
	  my_xlib_u=lt$extracted_serial-$my_xlib ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2636
	*) break ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2637
	esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2638
      done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2639
      extracted_archives="$extracted_archives $my_xlib_u"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2640
      my_xdir="$my_gentop/$my_xlib_u"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2641
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2642
      func_mkdir_p "$my_xdir"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2643
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2644
      case $host in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2645
      *-darwin*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2646
	func_verbose "Extracting $my_xabs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2647
	# Do not bother doing anything if just a dry run
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2648
	$opt_dry_run || {
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2649
	  darwin_orig_dir=`pwd`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2650
	  cd $my_xdir || exit $?
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2651
	  darwin_archive=$my_xabs
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2652
	  darwin_curdir=`pwd`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2653
	  darwin_base_archive=`basename "$darwin_archive"`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2654
	  darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2655
	  if test -n "$darwin_arches"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2656
	    darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2657
	    darwin_arch=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2658
	    func_verbose "$darwin_base_archive has multiple architectures $darwin_arches"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2659
	    for darwin_arch in  $darwin_arches ; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2660
	      func_mkdir_p "unfat-$$/${darwin_base_archive}-${darwin_arch}"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2661
	      $LIPO -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2662
	      cd "unfat-$$/${darwin_base_archive}-${darwin_arch}"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2663
	      func_extract_an_archive "`pwd`" "${darwin_base_archive}"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2664
	      cd "$darwin_curdir"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2665
	      $RM "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2666
	    done # $darwin_arches
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2667
            ## Okay now we've a bunch of thin objects, gotta fatten them up :)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2668
	    darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$basename" | sort -u`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2669
	    darwin_file=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2670
	    darwin_files=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2671
	    for darwin_file in $darwin_filelist; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2672
	      darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2673
	      $LIPO -create -output "$darwin_file" $darwin_files
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2674
	    done # $darwin_filelist
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2675
	    $RM -rf unfat-$$
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2676
	    cd "$darwin_orig_dir"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2677
	  else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2678
	    cd $darwin_orig_dir
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2679
	    func_extract_an_archive "$my_xdir" "$my_xabs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2680
	  fi # $darwin_arches
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2681
	} # !$opt_dry_run
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2682
	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2683
      *)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2684
        func_extract_an_archive "$my_xdir" "$my_xabs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2685
	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2686
      esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2687
      my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2688
    done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2689
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2690
    func_extract_archives_result="$my_oldobjs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2691
}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2692
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2693
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2694
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2695
# func_emit_wrapper_part1 [arg=no]
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2696
#
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2697
# Emit the first part of a libtool wrapper script on stdout.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2698
# For more information, see the description associated with
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2699
# func_emit_wrapper(), below.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2700
func_emit_wrapper_part1 ()
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2701
{
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2702
	func_emit_wrapper_part1_arg1=no
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2703
	if test -n "$1" ; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2704
	  func_emit_wrapper_part1_arg1=$1
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2705
	fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2706
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2707
	$ECHO "\
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2708
#! $SHELL
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2709
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2710
# $output - temporary wrapper script for $objdir/$outputname
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2711
# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2712
#
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2713
# The $output program cannot be directly executed until all the libtool
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2714
# libraries that it depends on are installed.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2715
#
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2716
# This wrapper script should never be moved out of the build directory.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2717
# If it is, it will not operate correctly.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2718
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2719
# Sed substitution that helps us do robust quoting.  It backslashifies
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2720
# metacharacters that are still active within double-quoted strings.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2721
Xsed='${SED} -e 1s/^X//'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2722
sed_quote_subst='$sed_quote_subst'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2723
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2724
# Be Bourne compatible
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2725
if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2726
  emulate sh
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2727
  NULLCMD=:
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2728
  # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2729
  # is contrary to our usage.  Disable this feature.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2730
  alias -g '\${1+\"\$@\"}'='\"\$@\"'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2731
  setopt NO_GLOB_SUBST
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2732
else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2733
  case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2734
fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2735
BIN_SH=xpg4; export BIN_SH # for Tru64
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2736
DUALCASE=1; export DUALCASE # for MKS sh
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2737
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2738
# The HP-UX ksh and POSIX shell print the target directory to stdout
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2739
# if CDPATH is set.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2740
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2741
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2742
relink_command=\"$relink_command\"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2743
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2744
# This environment variable determines our operation mode.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2745
if test \"\$libtool_install_magic\" = \"$magic\"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2746
  # install mode needs the following variables:
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2747
  generated_by_libtool_version='$macro_version'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2748
  notinst_deplibs='$notinst_deplibs'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2749
else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2750
  # When we are sourced in execute mode, \$file and \$ECHO are already set.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2751
  if test \"\$libtool_execute_magic\" != \"$magic\"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2752
    ECHO=\"$qecho\"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2753
    file=\"\$0\"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2754
    # Make sure echo works.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2755
    if test \"X\$1\" = X--no-reexec; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2756
      # Discard the --no-reexec flag, and continue.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2757
      shift
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2758
    elif test \"X\`{ \$ECHO '\t'; } 2>/dev/null\`\" = 'X\t'; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2759
      # Yippee, \$ECHO works!
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2760
      :
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2761
    else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2762
      # Restart under the correct shell, and then maybe \$ECHO will work.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2763
      exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2764
    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2765
  fi\
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2766
"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2767
	$ECHO "\
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2768
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2769
  # Find the directory that this script lives in.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2770
  thisdir=\`\$ECHO \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2771
  test \"x\$thisdir\" = \"x\$file\" && thisdir=.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2772
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2773
  # Follow symbolic links until we get to the real thisdir.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2774
  file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2775
  while test -n \"\$file\"; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2776
    destdir=\`\$ECHO \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2777
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2778
    # If there was a directory component, then change thisdir.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2779
    if test \"x\$destdir\" != \"x\$file\"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2780
      case \"\$destdir\" in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2781
      [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2782
      *) thisdir=\"\$thisdir/\$destdir\" ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2783
      esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2784
    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2785
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2786
    file=\`\$ECHO \"X\$file\" | \$Xsed -e 's%^.*/%%'\`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2787
    file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2788
  done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2789
"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2790
}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2791
# end: func_emit_wrapper_part1
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2792
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2793
# func_emit_wrapper_part2 [arg=no]
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2794
#
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2795
# Emit the second part of a libtool wrapper script on stdout.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2796
# For more information, see the description associated with
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2797
# func_emit_wrapper(), below.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2798
func_emit_wrapper_part2 ()
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2799
{
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2800
	func_emit_wrapper_part2_arg1=no
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2801
	if test -n "$1" ; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2802
	  func_emit_wrapper_part2_arg1=$1
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2803
	fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2804
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2805
	$ECHO "\
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2806
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2807
  # Usually 'no', except on cygwin/mingw when embedded into
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2808
  # the cwrapper.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2809
  WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_part2_arg1
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2810
  if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2811
    # special case for '.'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2812
    if test \"\$thisdir\" = \".\"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2813
      thisdir=\`pwd\`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2814
    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2815
    # remove .libs from thisdir
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2816
    case \"\$thisdir\" in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2817
    *[\\\\/]$objdir ) thisdir=\`\$ECHO \"X\$thisdir\" | \$Xsed -e 's%[\\\\/][^\\\\/]*$%%'\` ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2818
    $objdir )   thisdir=. ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2819
    esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2820
  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2821
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2822
  # Try to get the absolute directory name.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2823
  absdir=\`cd \"\$thisdir\" && pwd\`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2824
  test -n \"\$absdir\" && thisdir=\"\$absdir\"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2825
"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2826
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2827
	if test "$fast_install" = yes; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2828
	  $ECHO "\
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2829
  program=lt-'$outputname'$exeext
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2830
  progdir=\"\$thisdir/$objdir\"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2831
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2832
  if test ! -f \"\$progdir/\$program\" ||
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2833
     { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2834
       test \"X\$file\" != \"X\$progdir/\$program\"; }; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2835
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2836
    file=\"\$\$-\$program\"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2837
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2838
    if test ! -d \"\$progdir\"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2839
      $MKDIR \"\$progdir\"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2840
    else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2841
      $RM \"\$progdir/\$file\"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2842
    fi"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2843
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2844
	  $ECHO "\
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2845
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2846
    # relink executable if necessary
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2847
    if test -n \"\$relink_command\"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2848
      if relink_command_output=\`eval \$relink_command 2>&1\`; then :
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2849
      else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2850
	$ECHO \"\$relink_command_output\" >&2
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2851
	$RM \"\$progdir/\$file\"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2852
	exit 1
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2853
      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2854
    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2855
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2856
    $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null ||
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2857
    { $RM \"\$progdir/\$program\";
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2858
      $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; }
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2859
    $RM \"\$progdir/\$file\"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2860
  fi"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2861
	else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2862
	  $ECHO "\
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2863
  program='$outputname'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2864
  progdir=\"\$thisdir/$objdir\"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2865
"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2866
	fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2867
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2868
	$ECHO "\
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2869
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2870
  if test -f \"\$progdir/\$program\"; then"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2871
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2872
	# Export our shlibpath_var if we have one.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2873
	if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2874
	  $ECHO "\
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2875
    # Add our own library path to $shlibpath_var
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2876
    $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2877
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2878
    # Some systems cannot cope with colon-terminated $shlibpath_var
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2879
    # The second colon is a workaround for a bug in BeOS R4 sed
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2880
    $shlibpath_var=\`\$ECHO \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2881
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2882
    export $shlibpath_var
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2883
"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2884
	fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2885
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2886
	# fixup the dll searchpath if we need to.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2887
	if test -n "$dllsearchpath"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2888
	  $ECHO "\
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2889
    # Add the dll search path components to the executable PATH
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2890
    PATH=$dllsearchpath:\$PATH
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2891
"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2892
	fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2893
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2894
	$ECHO "\
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2895
    if test \"\$libtool_execute_magic\" != \"$magic\"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2896
      # Run the actual program with our arguments.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2897
"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2898
	case $host in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2899
	# Backslashes separate directories on plain windows
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2900
	*-*-mingw | *-*-os2* | *-cegcc*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2901
	  $ECHO "\
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2902
      exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2903
"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2904
	  ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2905
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2906
	*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2907
	  $ECHO "\
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2908
      exec \"\$progdir/\$program\" \${1+\"\$@\"}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2909
"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2910
	  ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2911
	esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2912
	$ECHO "\
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2913
      \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2914
      exit 1
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2915
    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2916
  else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2917
    # The program doesn't exist.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2918
    \$ECHO \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2919
    \$ECHO \"This script is just a wrapper for \$program.\" 1>&2
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2920
    $ECHO \"See the $PACKAGE documentation for more information.\" 1>&2
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2921
    exit 1
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2922
  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2923
fi\
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2924
"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2925
}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2926
# end: func_emit_wrapper_part2
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2927
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2928
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2929
# func_emit_wrapper [arg=no]
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2930
#
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2931
# Emit a libtool wrapper script on stdout.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2932
# Don't directly open a file because we may want to
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2933
# incorporate the script contents within a cygwin/mingw
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2934
# wrapper executable.  Must ONLY be called from within
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2935
# func_mode_link because it depends on a number of variables
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2936
# set therein.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2937
#
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2938
# ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2939
# variable will take.  If 'yes', then the emitted script
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2940
# will assume that the directory in which it is stored is
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2941
# the $objdir directory.  This is a cygwin/mingw-specific
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2942
# behavior.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2943
func_emit_wrapper ()
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2944
{
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2945
	func_emit_wrapper_arg1=no
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2946
	if test -n "$1" ; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2947
	  func_emit_wrapper_arg1=$1
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2948
	fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2949
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2950
	# split this up so that func_emit_cwrapperexe_src
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2951
	# can call each part independently.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2952
	func_emit_wrapper_part1 "${func_emit_wrapper_arg1}"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2953
	func_emit_wrapper_part2 "${func_emit_wrapper_arg1}"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2954
}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2955
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2956
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2957
# func_to_host_path arg
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2958
#
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2959
# Convert paths to host format when used with build tools.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2960
# Intended for use with "native" mingw (where libtool itself
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2961
# is running under the msys shell), or in the following cross-
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2962
# build environments:
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2963
#    $build          $host
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2964
#    mingw (msys)    mingw  [e.g. native]
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2965
#    cygwin          mingw
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2966
#    *nix + wine     mingw
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2967
# where wine is equipped with the `winepath' executable.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2968
# In the native mingw case, the (msys) shell automatically
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2969
# converts paths for any non-msys applications it launches,
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2970
# but that facility isn't available from inside the cwrapper.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2971
# Similar accommodations are necessary for $host mingw and
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2972
# $build cygwin.  Calling this function does no harm for other
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2973
# $host/$build combinations not listed above.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2974
#
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2975
# ARG is the path (on $build) that should be converted to
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2976
# the proper representation for $host. The result is stored
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2977
# in $func_to_host_path_result.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2978
func_to_host_path ()
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2979
{
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2980
  func_to_host_path_result="$1"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2981
  if test -n "$1" ; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2982
    case $host in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2983
      *mingw* )
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2984
        lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2985
        case $build in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2986
          *mingw* ) # actually, msys
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2987
            # awkward: cmd appends spaces to result
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2988
            lt_sed_strip_trailing_spaces="s/[ ]*\$//"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2989
            func_to_host_path_tmp1=`( cmd //c echo "$1" |\
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2990
              $SED -e "$lt_sed_strip_trailing_spaces" ) 2>/dev/null || echo ""`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2991
            func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2992
              $SED -e "$lt_sed_naive_backslashify"`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2993
            ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2994
          *cygwin* )
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2995
            func_to_host_path_tmp1=`cygpath -w "$1"`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2996
            func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2997
              $SED -e "$lt_sed_naive_backslashify"`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2998
            ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  2999
          * )
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3000
            # Unfortunately, winepath does not exit with a non-zero
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3001
            # error code, so we are forced to check the contents of
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3002
            # stdout. On the other hand, if the command is not
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3003
            # found, the shell will set an exit code of 127 and print
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3004
            # *an error message* to stdout. So we must check for both
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3005
            # error code of zero AND non-empty stdout, which explains
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3006
            # the odd construction:
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3007
            func_to_host_path_tmp1=`winepath -w "$1" 2>/dev/null`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3008
            if test "$?" -eq 0 && test -n "${func_to_host_path_tmp1}"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3009
              func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3010
                $SED -e "$lt_sed_naive_backslashify"`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3011
            else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3012
              # Allow warning below.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3013
              func_to_host_path_result=""
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3014
            fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3015
            ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3016
        esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3017
        if test -z "$func_to_host_path_result" ; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3018
          func_error "Could not determine host path corresponding to"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3019
          func_error "  '$1'"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3020
          func_error "Continuing, but uninstalled executables may not work."
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3021
          # Fallback:
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3022
          func_to_host_path_result="$1"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3023
        fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3024
        ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3025
    esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3026
  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3027
}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3028
# end: func_to_host_path
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3029
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3030
# func_to_host_pathlist arg
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3031
#
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3032
# Convert pathlists to host format when used with build tools.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3033
# See func_to_host_path(), above. This function supports the
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3034
# following $build/$host combinations (but does no harm for
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3035
# combinations not listed here):
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3036
#    $build          $host
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3037
#    mingw (msys)    mingw  [e.g. native]
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3038
#    cygwin          mingw
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3039
#    *nix + wine     mingw
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3040
#
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3041
# Path separators are also converted from $build format to
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3042
# $host format. If ARG begins or ends with a path separator
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3043
# character, it is preserved (but converted to $host format)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3044
# on output.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3045
#
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3046
# ARG is a pathlist (on $build) that should be converted to
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3047
# the proper representation on $host. The result is stored
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3048
# in $func_to_host_pathlist_result.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3049
func_to_host_pathlist ()
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3050
{
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3051
  func_to_host_pathlist_result="$1"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3052
  if test -n "$1" ; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3053
    case $host in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3054
      *mingw* )
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3055
        lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3056
        # Remove leading and trailing path separator characters from
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3057
        # ARG. msys behavior is inconsistent here, cygpath turns them
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3058
        # into '.;' and ';.', and winepath ignores them completely.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3059
        func_to_host_pathlist_tmp2="$1"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3060
        # Once set for this call, this variable should not be
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3061
        # reassigned. It is used in tha fallback case.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3062
        func_to_host_pathlist_tmp1=`echo "$func_to_host_pathlist_tmp2" |\
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3063
          $SED -e 's|^:*||' -e 's|:*$||'`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3064
        case $build in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3065
          *mingw* ) # Actually, msys.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3066
            # Awkward: cmd appends spaces to result.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3067
            lt_sed_strip_trailing_spaces="s/[ ]*\$//"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3068
            func_to_host_pathlist_tmp2=`( cmd //c echo "$func_to_host_pathlist_tmp1" |\
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3069
              $SED -e "$lt_sed_strip_trailing_spaces" ) 2>/dev/null || echo ""`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3070
            func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp2" |\
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3071
              $SED -e "$lt_sed_naive_backslashify"`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3072
            ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3073
          *cygwin* )
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3074
            func_to_host_pathlist_tmp2=`cygpath -w -p "$func_to_host_pathlist_tmp1"`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3075
            func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp2" |\
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3076
              $SED -e "$lt_sed_naive_backslashify"`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3077
            ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3078
          * )
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3079
            # unfortunately, winepath doesn't convert pathlists
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3080
            func_to_host_pathlist_result=""
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3081
            func_to_host_pathlist_oldIFS=$IFS
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3082
            IFS=:
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3083
            for func_to_host_pathlist_f in $func_to_host_pathlist_tmp1 ; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3084
              IFS=$func_to_host_pathlist_oldIFS
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3085
              if test -n "$func_to_host_pathlist_f" ; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3086
                func_to_host_path "$func_to_host_pathlist_f"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3087
                if test -n "$func_to_host_path_result" ; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3088
                  if test -z "$func_to_host_pathlist_result" ; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3089
                    func_to_host_pathlist_result="$func_to_host_path_result"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3090
                  else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3091
                    func_to_host_pathlist_result="$func_to_host_pathlist_result;$func_to_host_path_result"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3092
                  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3093
                fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3094
              fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3095
              IFS=:
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3096
            done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3097
            IFS=$func_to_host_pathlist_oldIFS
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3098
            ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3099
        esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3100
        if test -z "$func_to_host_pathlist_result" ; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3101
          func_error "Could not determine the host path(s) corresponding to"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3102
          func_error "  '$1'"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3103
          func_error "Continuing, but uninstalled executables may not work."
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3104
          # Fallback. This may break if $1 contains DOS-style drive
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3105
          # specifications. The fix is not to complicate the expression
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3106
          # below, but for the user to provide a working wine installation
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3107
          # with winepath so that path translation in the cross-to-mingw
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3108
          # case works properly.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3109
          lt_replace_pathsep_nix_to_dos="s|:|;|g"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3110
          func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp1" |\
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3111
            $SED -e "$lt_replace_pathsep_nix_to_dos"`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3112
        fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3113
        # Now, add the leading and trailing path separators back
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3114
        case "$1" in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3115
          :* ) func_to_host_pathlist_result=";$func_to_host_pathlist_result"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3116
            ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3117
        esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3118
        case "$1" in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3119
          *: ) func_to_host_pathlist_result="$func_to_host_pathlist_result;"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3120
            ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3121
        esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3122
        ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3123
    esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3124
  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3125
}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3126
# end: func_to_host_pathlist
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3127
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3128
# func_emit_cwrapperexe_src
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3129
# emit the source code for a wrapper executable on stdout
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3130
# Must ONLY be called from within func_mode_link because
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3131
# it depends on a number of variable set therein.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3132
func_emit_cwrapperexe_src ()
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3133
{
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3134
	cat <<EOF
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3135
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3136
/* $cwrappersource - temporary wrapper executable for $objdir/$outputname
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3137
   Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3138
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3139
   The $output program cannot be directly executed until all the libtool
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3140
   libraries that it depends on are installed.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3141
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3142
   This wrapper executable should never be moved out of the build directory.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3143
   If it is, it will not operate correctly.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3144
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3145
   Currently, it simply execs the wrapper *script* "$SHELL $output",
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3146
   but could eventually absorb all of the scripts functionality and
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3147
   exec $objdir/$outputname directly.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3148
*/
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3149
EOF
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3150
	    cat <<"EOF"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3151
#include <stdio.h>
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3152
#include <stdlib.h>
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3153
#ifdef _MSC_VER
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3154
# include <direct.h>
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3155
# include <process.h>
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3156
# include <io.h>
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3157
# define setmode _setmode
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3158
#else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3159
# include <unistd.h>
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3160
# include <stdint.h>
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3161
# ifdef __CYGWIN__
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3162
#  include <io.h>
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3163
#  define HAVE_SETENV
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3164
#  ifdef __STRICT_ANSI__
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3165
char *realpath (const char *, char *);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3166
int putenv (char *);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3167
int setenv (const char *, const char *, int);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3168
#  endif
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3169
# endif
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3170
#endif
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3171
#include <malloc.h>
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3172
#include <stdarg.h>
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3173
#include <assert.h>
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3174
#include <string.h>
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3175
#include <ctype.h>
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3176
#include <errno.h>
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3177
#include <fcntl.h>
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3178
#include <sys/stat.h>
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3179
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3180
#if defined(PATH_MAX)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3181
# define LT_PATHMAX PATH_MAX
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3182
#elif defined(MAXPATHLEN)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3183
# define LT_PATHMAX MAXPATHLEN
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3184
#else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3185
# define LT_PATHMAX 1024
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3186
#endif
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3187
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3188
#ifndef S_IXOTH
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3189
# define S_IXOTH 0
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3190
#endif
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3191
#ifndef S_IXGRP
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3192
# define S_IXGRP 0
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3193
#endif
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3194
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3195
#ifdef _MSC_VER
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3196
# define S_IXUSR _S_IEXEC
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3197
# define stat _stat
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3198
# ifndef _INTPTR_T_DEFINED
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3199
#  define intptr_t int
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3200
# endif
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3201
#endif
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3202
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3203
#ifndef DIR_SEPARATOR
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3204
# define DIR_SEPARATOR '/'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3205
# define PATH_SEPARATOR ':'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3206
#endif
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3207
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3208
#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3209
  defined (__OS2__)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3210
# define HAVE_DOS_BASED_FILE_SYSTEM
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3211
# define FOPEN_WB "wb"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3212
# ifndef DIR_SEPARATOR_2
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3213
#  define DIR_SEPARATOR_2 '\\'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3214
# endif
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3215
# ifndef PATH_SEPARATOR_2
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3216
#  define PATH_SEPARATOR_2 ';'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3217
# endif
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3218
#endif
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3219
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3220
#ifndef DIR_SEPARATOR_2
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3221
# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3222
#else /* DIR_SEPARATOR_2 */
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3223
# define IS_DIR_SEPARATOR(ch) \
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3224
	(((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3225
#endif /* DIR_SEPARATOR_2 */
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3226
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3227
#ifndef PATH_SEPARATOR_2
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3228
# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3229
#else /* PATH_SEPARATOR_2 */
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3230
# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3231
#endif /* PATH_SEPARATOR_2 */
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3232
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3233
#ifdef __CYGWIN__
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3234
# define FOPEN_WB "wb"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3235
#endif
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3236
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3237
#ifndef FOPEN_WB
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3238
# define FOPEN_WB "w"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3239
#endif
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3240
#ifndef _O_BINARY
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3241
# define _O_BINARY 0
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3242
#endif
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3243
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3244
#define XMALLOC(type, num)      ((type *) xmalloc ((num) * sizeof(type)))
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3245
#define XFREE(stale) do { \
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3246
  if (stale) { free ((void *) stale); stale = 0; } \
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3247
} while (0)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3248
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3249
#undef LTWRAPPER_DEBUGPRINTF
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3250
#if defined DEBUGWRAPPER
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3251
# define LTWRAPPER_DEBUGPRINTF(args) ltwrapper_debugprintf args
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3252
static void
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3253
ltwrapper_debugprintf (const char *fmt, ...)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3254
{
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3255
    va_list args;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3256
    va_start (args, fmt);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3257
    (void) vfprintf (stderr, fmt, args);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3258
    va_end (args);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3259
}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3260
#else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3261
# define LTWRAPPER_DEBUGPRINTF(args)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3262
#endif
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3263
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3264
const char *program_name = NULL;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3265
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3266
void *xmalloc (size_t num);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3267
char *xstrdup (const char *string);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3268
const char *base_name (const char *name);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3269
char *find_executable (const char *wrapper);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3270
char *chase_symlinks (const char *pathspec);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3271
int make_executable (const char *path);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3272
int check_executable (const char *path);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3273
char *strendzap (char *str, const char *pat);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3274
void lt_fatal (const char *message, ...);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3275
void lt_setenv (const char *name, const char *value);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3276
char *lt_extend_str (const char *orig_value, const char *add, int to_end);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3277
void lt_opt_process_env_set (const char *arg);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3278
void lt_opt_process_env_prepend (const char *arg);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3279
void lt_opt_process_env_append (const char *arg);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3280
int lt_split_name_value (const char *arg, char** name, char** value);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3281
void lt_update_exe_path (const char *name, const char *value);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3282
void lt_update_lib_path (const char *name, const char *value);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3283
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3284
static const char *script_text_part1 =
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3285
EOF
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3286
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3287
	    func_emit_wrapper_part1 yes |
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3288
	        $SED -e 's/\([\\"]\)/\\\1/g' \
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3289
	             -e 's/^/  "/' -e 's/$/\\n"/'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3290
	    echo ";"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3291
	    cat <<EOF
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3292
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3293
static const char *script_text_part2 =
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3294
EOF
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3295
	    func_emit_wrapper_part2 yes |
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3296
	        $SED -e 's/\([\\"]\)/\\\1/g' \
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3297
	             -e 's/^/  "/' -e 's/$/\\n"/'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3298
	    echo ";"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3299
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3300
	    cat <<EOF
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3301
const char * MAGIC_EXE = "$magic_exe";
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3302
const char * LIB_PATH_VARNAME = "$shlibpath_var";
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3303
EOF
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3304
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3305
	    if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3306
              func_to_host_pathlist "$temp_rpath"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3307
	      cat <<EOF
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3308
const char * LIB_PATH_VALUE   = "$func_to_host_pathlist_result";
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3309
EOF
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3310
	    else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3311
	      cat <<"EOF"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3312
const char * LIB_PATH_VALUE   = "";
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3313
EOF
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3314
	    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3315
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3316
	    if test -n "$dllsearchpath"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3317
              func_to_host_pathlist "$dllsearchpath:"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3318
	      cat <<EOF
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3319
const char * EXE_PATH_VARNAME = "PATH";
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3320
const char * EXE_PATH_VALUE   = "$func_to_host_pathlist_result";
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3321
EOF
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3322
	    else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3323
	      cat <<"EOF"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3324
const char * EXE_PATH_VARNAME = "";
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3325
const char * EXE_PATH_VALUE   = "";
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3326
EOF
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3327
	    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3328
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3329
	    if test "$fast_install" = yes; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3330
	      cat <<EOF
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3331
const char * TARGET_PROGRAM_NAME = "lt-$outputname"; /* hopefully, no .exe */
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3332
EOF
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3333
	    else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3334
	      cat <<EOF
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3335
const char * TARGET_PROGRAM_NAME = "$outputname"; /* hopefully, no .exe */
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3336
EOF
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3337
	    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3338
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3339
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3340
	    cat <<"EOF"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3341
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3342
#define LTWRAPPER_OPTION_PREFIX         "--lt-"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3343
#define LTWRAPPER_OPTION_PREFIX_LENGTH  5
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3344
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3345
static const size_t opt_prefix_len         = LTWRAPPER_OPTION_PREFIX_LENGTH;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3346
static const char *ltwrapper_option_prefix = LTWRAPPER_OPTION_PREFIX;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3347
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3348
static const char *dumpscript_opt       = LTWRAPPER_OPTION_PREFIX "dump-script";
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3349
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3350
static const size_t env_set_opt_len     = LTWRAPPER_OPTION_PREFIX_LENGTH + 7;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3351
static const char *env_set_opt          = LTWRAPPER_OPTION_PREFIX "env-set";
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3352
  /* argument is putenv-style "foo=bar", value of foo is set to bar */
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3353
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3354
static const size_t env_prepend_opt_len = LTWRAPPER_OPTION_PREFIX_LENGTH + 11;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3355
static const char *env_prepend_opt      = LTWRAPPER_OPTION_PREFIX "env-prepend";
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3356
  /* argument is putenv-style "foo=bar", new value of foo is bar${foo} */
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3357
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3358
static const size_t env_append_opt_len  = LTWRAPPER_OPTION_PREFIX_LENGTH + 10;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3359
static const char *env_append_opt       = LTWRAPPER_OPTION_PREFIX "env-append";
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3360
  /* argument is putenv-style "foo=bar", new value of foo is ${foo}bar */
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3361
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3362
int
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3363
main (int argc, char *argv[])
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3364
{
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3365
  char **newargz;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3366
  int  newargc;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3367
  char *tmp_pathspec;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3368
  char *actual_cwrapper_path;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3369
  char *actual_cwrapper_name;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3370
  char *target_name;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3371
  char *lt_argv_zero;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3372
  intptr_t rval = 127;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3373
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3374
  int i;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3375
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3376
  program_name = (char *) xstrdup (base_name (argv[0]));
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3377
  LTWRAPPER_DEBUGPRINTF (("(main) argv[0]      : %s\n", argv[0]));
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3378
  LTWRAPPER_DEBUGPRINTF (("(main) program_name : %s\n", program_name));
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3379
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3380
  /* very simple arg parsing; don't want to rely on getopt */
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3381
  for (i = 1; i < argc; i++)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3382
    {
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3383
      if (strcmp (argv[i], dumpscript_opt) == 0)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3384
	{
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3385
EOF
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3386
	    case "$host" in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3387
	      *mingw* | *cygwin* )
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3388
		# make stdout use "unix" line endings
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3389
		echo "          setmode(1,_O_BINARY);"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3390
		;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3391
	      esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3392
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3393
	    cat <<"EOF"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3394
	  printf ("%s", script_text_part1);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3395
	  printf ("%s", script_text_part2);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3396
	  return 0;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3397
	}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3398
    }
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3399
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3400
  newargz = XMALLOC (char *, argc + 1);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3401
  tmp_pathspec = find_executable (argv[0]);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3402
  if (tmp_pathspec == NULL)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3403
    lt_fatal ("Couldn't find %s", argv[0]);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3404
  LTWRAPPER_DEBUGPRINTF (("(main) found exe (before symlink chase) at : %s\n",
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3405
			  tmp_pathspec));
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3406
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3407
  actual_cwrapper_path = chase_symlinks (tmp_pathspec);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3408
  LTWRAPPER_DEBUGPRINTF (("(main) found exe (after symlink chase) at : %s\n",
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3409
			  actual_cwrapper_path));
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3410
  XFREE (tmp_pathspec);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3411
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3412
  actual_cwrapper_name = xstrdup( base_name (actual_cwrapper_path));
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3413
  strendzap (actual_cwrapper_path, actual_cwrapper_name);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3414
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3415
  /* wrapper name transforms */
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3416
  strendzap (actual_cwrapper_name, ".exe");
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3417
  tmp_pathspec = lt_extend_str (actual_cwrapper_name, ".exe", 1);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3418
  XFREE (actual_cwrapper_name);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3419
  actual_cwrapper_name = tmp_pathspec;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3420
  tmp_pathspec = 0;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3421
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3422
  /* target_name transforms -- use actual target program name; might have lt- prefix */
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3423
  target_name = xstrdup (base_name (TARGET_PROGRAM_NAME));
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3424
  strendzap (target_name, ".exe");
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3425
  tmp_pathspec = lt_extend_str (target_name, ".exe", 1);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3426
  XFREE (target_name);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3427
  target_name = tmp_pathspec;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3428
  tmp_pathspec = 0;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3429
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3430
  LTWRAPPER_DEBUGPRINTF (("(main) libtool target name: %s\n",
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3431
			  target_name));
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3432
EOF
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3433
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3434
	    cat <<EOF
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3435
  newargz[0] =
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3436
    XMALLOC (char, (strlen (actual_cwrapper_path) +
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3437
		    strlen ("$objdir") + 1 + strlen (actual_cwrapper_name) + 1));
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3438
  strcpy (newargz[0], actual_cwrapper_path);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3439
  strcat (newargz[0], "$objdir");
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3440
  strcat (newargz[0], "/");
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3441
EOF
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3442
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3443
	    cat <<"EOF"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3444
  /* stop here, and copy so we don't have to do this twice */
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3445
  tmp_pathspec = xstrdup (newargz[0]);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3446
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3447
  /* do NOT want the lt- prefix here, so use actual_cwrapper_name */
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3448
  strcat (newargz[0], actual_cwrapper_name);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3449
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3450
  /* DO want the lt- prefix here if it exists, so use target_name */
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3451
  lt_argv_zero = lt_extend_str (tmp_pathspec, target_name, 1);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3452
  XFREE (tmp_pathspec);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3453
  tmp_pathspec = NULL;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3454
EOF
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3455
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3456
	    case $host_os in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3457
	      mingw*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3458
	    cat <<"EOF"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3459
  {
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3460
    char* p;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3461
    while ((p = strchr (newargz[0], '\\')) != NULL)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3462
      {
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3463
	*p = '/';
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3464
      }
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3465
    while ((p = strchr (lt_argv_zero, '\\')) != NULL)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3466
      {
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3467
	*p = '/';
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3468
      }
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3469
  }
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3470
EOF
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3471
	    ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3472
	    esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3473
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3474
	    cat <<"EOF"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3475
  XFREE (target_name);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3476
  XFREE (actual_cwrapper_path);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3477
  XFREE (actual_cwrapper_name);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3478
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3479
  lt_setenv ("BIN_SH", "xpg4"); /* for Tru64 */
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3480
  lt_setenv ("DUALCASE", "1");  /* for MSK sh */
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3481
  lt_update_lib_path (LIB_PATH_VARNAME, LIB_PATH_VALUE);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3482
  lt_update_exe_path (EXE_PATH_VARNAME, EXE_PATH_VALUE);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3483
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3484
  newargc=0;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3485
  for (i = 1; i < argc; i++)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3486
    {
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3487
      if (strncmp (argv[i], env_set_opt, env_set_opt_len) == 0)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3488
        {
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3489
          if (argv[i][env_set_opt_len] == '=')
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3490
            {
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3491
              const char *p = argv[i] + env_set_opt_len + 1;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3492
              lt_opt_process_env_set (p);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3493
            }
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3494
          else if (argv[i][env_set_opt_len] == '\0' && i + 1 < argc)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3495
            {
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3496
              lt_opt_process_env_set (argv[++i]); /* don't copy */
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3497
            }
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3498
          else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3499
            lt_fatal ("%s missing required argument", env_set_opt);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3500
          continue;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3501
        }
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3502
      if (strncmp (argv[i], env_prepend_opt, env_prepend_opt_len) == 0)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3503
        {
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3504
          if (argv[i][env_prepend_opt_len] == '=')
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3505
            {
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3506
              const char *p = argv[i] + env_prepend_opt_len + 1;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3507
              lt_opt_process_env_prepend (p);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3508
            }
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3509
          else if (argv[i][env_prepend_opt_len] == '\0' && i + 1 < argc)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3510
            {
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3511
              lt_opt_process_env_prepend (argv[++i]); /* don't copy */
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3512
            }
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3513
          else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3514
            lt_fatal ("%s missing required argument", env_prepend_opt);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3515
          continue;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3516
        }
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3517
      if (strncmp (argv[i], env_append_opt, env_append_opt_len) == 0)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3518
        {
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3519
          if (argv[i][env_append_opt_len] == '=')
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3520
            {
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3521
              const char *p = argv[i] + env_append_opt_len + 1;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3522
              lt_opt_process_env_append (p);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3523
            }
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3524
          else if (argv[i][env_append_opt_len] == '\0' && i + 1 < argc)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3525
            {
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3526
              lt_opt_process_env_append (argv[++i]); /* don't copy */
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3527
            }
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3528
          else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3529
            lt_fatal ("%s missing required argument", env_append_opt);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3530
          continue;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3531
        }
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3532
      if (strncmp (argv[i], ltwrapper_option_prefix, opt_prefix_len) == 0)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3533
        {
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3534
          /* however, if there is an option in the LTWRAPPER_OPTION_PREFIX
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3535
             namespace, but it is not one of the ones we know about and
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3536
             have already dealt with, above (inluding dump-script), then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3537
             report an error. Otherwise, targets might begin to believe
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3538
             they are allowed to use options in the LTWRAPPER_OPTION_PREFIX
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3539
             namespace. The first time any user complains about this, we'll
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3540
             need to make LTWRAPPER_OPTION_PREFIX a configure-time option
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3541
             or a configure.ac-settable value.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3542
           */
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3543
          lt_fatal ("Unrecognized option in %s namespace: '%s'",
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3544
                    ltwrapper_option_prefix, argv[i]);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3545
        }
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3546
      /* otherwise ... */
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3547
      newargz[++newargc] = xstrdup (argv[i]);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3548
    }
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3549
  newargz[++newargc] = NULL;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3550
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3551
  LTWRAPPER_DEBUGPRINTF     (("(main) lt_argv_zero : %s\n", (lt_argv_zero ? lt_argv_zero : "<NULL>")));
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3552
  for (i = 0; i < newargc; i++)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3553
    {
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3554
      LTWRAPPER_DEBUGPRINTF (("(main) newargz[%d]   : %s\n", i, (newargz[i] ? newargz[i] : "<NULL>")));
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3555
    }
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3556
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3557
EOF
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3558
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3559
	    case $host_os in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3560
	      mingw*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3561
		cat <<"EOF"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3562
  /* execv doesn't actually work on mingw as expected on unix */
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3563
  rval = _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3564
  if (rval == -1)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3565
    {
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3566
      /* failed to start process */
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3567
      LTWRAPPER_DEBUGPRINTF (("(main) failed to launch target \"%s\": errno = %d\n", lt_argv_zero, errno));
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3568
      return 127;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3569
    }
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3570
  return rval;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3571
EOF
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3572
		;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3573
	      *)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3574
		cat <<"EOF"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3575
  execv (lt_argv_zero, newargz);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3576
  return rval; /* =127, but avoids unused variable warning */
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3577
EOF
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3578
		;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3579
	    esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3580
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3581
	    cat <<"EOF"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3582
}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3583
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3584
void *
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3585
xmalloc (size_t num)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3586
{
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3587
  void *p = (void *) malloc (num);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3588
  if (!p)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3589
    lt_fatal ("Memory exhausted");
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3590
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3591
  return p;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3592
}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3593
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3594
char *
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3595
xstrdup (const char *string)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3596
{
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3597
  return string ? strcpy ((char *) xmalloc (strlen (string) + 1),
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3598
			  string) : NULL;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3599
}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3600
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3601
const char *
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3602
base_name (const char *name)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3603
{
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3604
  const char *base;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3605
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3606
#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3607
  /* Skip over the disk name in MSDOS pathnames. */
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3608
  if (isalpha ((unsigned char) name[0]) && name[1] == ':')
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3609
    name += 2;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3610
#endif
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3611
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3612
  for (base = name; *name; name++)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3613
    if (IS_DIR_SEPARATOR (*name))
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3614
      base = name + 1;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3615
  return base;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3616
}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3617
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3618
int
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3619
check_executable (const char *path)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3620
{
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3621
  struct stat st;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3622
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3623
  LTWRAPPER_DEBUGPRINTF (("(check_executable)  : %s\n",
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3624
			  path ? (*path ? path : "EMPTY!") : "NULL!"));
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3625
  if ((!path) || (!*path))
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3626
    return 0;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3627
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3628
  if ((stat (path, &st) >= 0)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3629
      && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH)))
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3630
    return 1;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3631
  else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3632
    return 0;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3633
}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3634
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3635
int
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3636
make_executable (const char *path)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3637
{
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3638
  int rval = 0;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3639
  struct stat st;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3640
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3641
  LTWRAPPER_DEBUGPRINTF (("(make_executable)   : %s\n",
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3642
			  path ? (*path ? path : "EMPTY!") : "NULL!"));
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3643
  if ((!path) || (!*path))
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3644
    return 0;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3645
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3646
  if (stat (path, &st) >= 0)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3647
    {
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3648
      rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3649
    }
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3650
  return rval;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3651
}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3652
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3653
/* Searches for the full path of the wrapper.  Returns
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3654
   newly allocated full path name if found, NULL otherwise
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3655
   Does not chase symlinks, even on platforms that support them.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3656
*/
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3657
char *
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3658
find_executable (const char *wrapper)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3659
{
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3660
  int has_slash = 0;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3661
  const char *p;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3662
  const char *p_next;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3663
  /* static buffer for getcwd */
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3664
  char tmp[LT_PATHMAX + 1];
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3665
  int tmp_len;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3666
  char *concat_name;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3667
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3668
  LTWRAPPER_DEBUGPRINTF (("(find_executable)   : %s\n",
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3669
			  wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!"));
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3670
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3671
  if ((wrapper == NULL) || (*wrapper == '\0'))
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3672
    return NULL;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3673
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3674
  /* Absolute path? */
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3675
#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3676
  if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':')
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3677
    {
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3678
      concat_name = xstrdup (wrapper);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3679
      if (check_executable (concat_name))
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3680
	return concat_name;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3681
      XFREE (concat_name);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3682
    }
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3683
  else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3684
    {
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3685
#endif
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3686
      if (IS_DIR_SEPARATOR (wrapper[0]))
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3687
	{
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3688
	  concat_name = xstrdup (wrapper);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3689
	  if (check_executable (concat_name))
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3690
	    return concat_name;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3691
	  XFREE (concat_name);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3692
	}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3693
#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3694
    }
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3695
#endif
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3696
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3697
  for (p = wrapper; *p; p++)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3698
    if (*p == '/')
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3699
      {
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3700
	has_slash = 1;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3701
	break;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3702
      }
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3703
  if (!has_slash)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3704
    {
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3705
      /* no slashes; search PATH */
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3706
      const char *path = getenv ("PATH");
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3707
      if (path != NULL)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3708
	{
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3709
	  for (p = path; *p; p = p_next)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3710
	    {
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3711
	      const char *q;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3712
	      size_t p_len;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3713
	      for (q = p; *q; q++)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3714
		if (IS_PATH_SEPARATOR (*q))
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3715
		  break;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3716
	      p_len = q - p;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3717
	      p_next = (*q == '\0' ? q : q + 1);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3718
	      if (p_len == 0)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3719
		{
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3720
		  /* empty path: current directory */
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3721
		  if (getcwd (tmp, LT_PATHMAX) == NULL)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3722
		    lt_fatal ("getcwd failed");
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3723
		  tmp_len = strlen (tmp);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3724
		  concat_name =
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3725
		    XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3726
		  memcpy (concat_name, tmp, tmp_len);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3727
		  concat_name[tmp_len] = '/';
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3728
		  strcpy (concat_name + tmp_len + 1, wrapper);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3729
		}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3730
	      else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3731
		{
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3732
		  concat_name =
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3733
		    XMALLOC (char, p_len + 1 + strlen (wrapper) + 1);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3734
		  memcpy (concat_name, p, p_len);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3735
		  concat_name[p_len] = '/';
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3736
		  strcpy (concat_name + p_len + 1, wrapper);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3737
		}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3738
	      if (check_executable (concat_name))
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3739
		return concat_name;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3740
	      XFREE (concat_name);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3741
	    }
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3742
	}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3743
      /* not found in PATH; assume curdir */
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3744
    }
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3745
  /* Relative path | not found in path: prepend cwd */
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3746
  if (getcwd (tmp, LT_PATHMAX) == NULL)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3747
    lt_fatal ("getcwd failed");
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3748
  tmp_len = strlen (tmp);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3749
  concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3750
  memcpy (concat_name, tmp, tmp_len);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3751
  concat_name[tmp_len] = '/';
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3752
  strcpy (concat_name + tmp_len + 1, wrapper);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3753
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3754
  if (check_executable (concat_name))
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3755
    return concat_name;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3756
  XFREE (concat_name);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3757
  return NULL;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3758
}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3759
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3760
char *
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3761
chase_symlinks (const char *pathspec)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3762
{
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3763
#ifndef S_ISLNK
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3764
  return xstrdup (pathspec);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3765
#else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3766
  char buf[LT_PATHMAX];
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3767
  struct stat s;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3768
  char *tmp_pathspec = xstrdup (pathspec);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3769
  char *p;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3770
  int has_symlinks = 0;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3771
  while (strlen (tmp_pathspec) && !has_symlinks)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3772
    {
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3773
      LTWRAPPER_DEBUGPRINTF (("checking path component for symlinks: %s\n",
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3774
			      tmp_pathspec));
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3775
      if (lstat (tmp_pathspec, &s) == 0)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3776
	{
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3777
	  if (S_ISLNK (s.st_mode) != 0)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3778
	    {
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3779
	      has_symlinks = 1;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3780
	      break;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3781
	    }
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3782
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3783
	  /* search backwards for last DIR_SEPARATOR */
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3784
	  p = tmp_pathspec + strlen (tmp_pathspec) - 1;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3785
	  while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3786
	    p--;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3787
	  if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3788
	    {
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3789
	      /* no more DIR_SEPARATORS left */
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3790
	      break;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3791
	    }
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3792
	  *p = '\0';
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3793
	}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3794
      else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3795
	{
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3796
	  char *errstr = strerror (errno);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3797
	  lt_fatal ("Error accessing file %s (%s)", tmp_pathspec, errstr);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3798
	}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3799
    }
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3800
  XFREE (tmp_pathspec);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3801
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3802
  if (!has_symlinks)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3803
    {
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3804
      return xstrdup (pathspec);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3805
    }
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3806
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3807
  tmp_pathspec = realpath (pathspec, buf);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3808
  if (tmp_pathspec == 0)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3809
    {
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3810
      lt_fatal ("Could not follow symlinks for %s", pathspec);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3811
    }
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3812
  return xstrdup (tmp_pathspec);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3813
#endif
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3814
}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3815
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3816
char *
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3817
strendzap (char *str, const char *pat)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3818
{
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3819
  size_t len, patlen;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3820
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3821
  assert (str != NULL);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3822
  assert (pat != NULL);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3823
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3824
  len = strlen (str);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3825
  patlen = strlen (pat);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3826
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3827
  if (patlen <= len)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3828
    {
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3829
      str += len - patlen;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3830
      if (strcmp (str, pat) == 0)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3831
	*str = '\0';
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3832
    }
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3833
  return str;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3834
}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3835
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3836
static void
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3837
lt_error_core (int exit_status, const char *mode,
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3838
	       const char *message, va_list ap)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3839
{
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3840
  fprintf (stderr, "%s: %s: ", program_name, mode);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3841
  vfprintf (stderr, message, ap);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3842
  fprintf (stderr, ".\n");
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3843
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3844
  if (exit_status >= 0)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3845
    exit (exit_status);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3846
}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3847
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3848
void
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3849
lt_fatal (const char *message, ...)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3850
{
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3851
  va_list ap;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3852
  va_start (ap, message);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3853
  lt_error_core (EXIT_FAILURE, "FATAL", message, ap);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3854
  va_end (ap);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3855
}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3856
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3857
void
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3858
lt_setenv (const char *name, const char *value)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3859
{
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3860
  LTWRAPPER_DEBUGPRINTF (("(lt_setenv) setting '%s' to '%s'\n",
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3861
                          (name ? name : "<NULL>"),
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3862
                          (value ? value : "<NULL>")));
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3863
  {
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3864
#ifdef HAVE_SETENV
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3865
    /* always make a copy, for consistency with !HAVE_SETENV */
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3866
    char *str = xstrdup (value);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3867
    setenv (name, str, 1);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3868
#else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3869
    int len = strlen (name) + 1 + strlen (value) + 1;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3870
    char *str = XMALLOC (char, len);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3871
    sprintf (str, "%s=%s", name, value);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3872
    if (putenv (str) != EXIT_SUCCESS)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3873
      {
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3874
        XFREE (str);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3875
      }
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3876
#endif
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3877
  }
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3878
}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3879
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3880
char *
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3881
lt_extend_str (const char *orig_value, const char *add, int to_end)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3882
{
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3883
  char *new_value;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3884
  if (orig_value && *orig_value)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3885
    {
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3886
      int orig_value_len = strlen (orig_value);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3887
      int add_len = strlen (add);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3888
      new_value = XMALLOC (char, add_len + orig_value_len + 1);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3889
      if (to_end)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3890
        {
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3891
          strcpy (new_value, orig_value);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3892
          strcpy (new_value + orig_value_len, add);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3893
        }
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3894
      else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3895
        {
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3896
          strcpy (new_value, add);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3897
          strcpy (new_value + add_len, orig_value);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3898
        }
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3899
    }
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3900
  else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3901
    {
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3902
      new_value = xstrdup (add);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3903
    }
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3904
  return new_value;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3905
}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3906
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3907
int
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3908
lt_split_name_value (const char *arg, char** name, char** value)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3909
{
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3910
  const char *p;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3911
  int len;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3912
  if (!arg || !*arg)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3913
    return 1;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3914
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3915
  p = strchr (arg, (int)'=');
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3916
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3917
  if (!p)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3918
    return 1;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3919
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3920
  *value = xstrdup (++p);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3921
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3922
  len = strlen (arg) - strlen (*value);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3923
  *name = XMALLOC (char, len);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3924
  strncpy (*name, arg, len-1);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3925
  (*name)[len - 1] = '\0';
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3926
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3927
  return 0;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3928
}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3929
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3930
void
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3931
lt_opt_process_env_set (const char *arg)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3932
{
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3933
  char *name = NULL;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3934
  char *value = NULL;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3935
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3936
  if (lt_split_name_value (arg, &name, &value) != 0)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3937
    {
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3938
      XFREE (name);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3939
      XFREE (value);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3940
      lt_fatal ("bad argument for %s: '%s'", env_set_opt, arg);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3941
    }
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3942
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3943
  lt_setenv (name, value);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3944
  XFREE (name);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3945
  XFREE (value);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3946
}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3947
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3948
void
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3949
lt_opt_process_env_prepend (const char *arg)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3950
{
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3951
  char *name = NULL;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3952
  char *value = NULL;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3953
  char *new_value = NULL;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3954
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3955
  if (lt_split_name_value (arg, &name, &value) != 0)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3956
    {
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3957
      XFREE (name);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3958
      XFREE (value);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3959
      lt_fatal ("bad argument for %s: '%s'", env_prepend_opt, arg);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3960
    }
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3961
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3962
  new_value = lt_extend_str (getenv (name), value, 0);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3963
  lt_setenv (name, new_value);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3964
  XFREE (new_value);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3965
  XFREE (name);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3966
  XFREE (value);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3967
}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3968
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3969
void
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3970
lt_opt_process_env_append (const char *arg)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3971
{
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3972
  char *name = NULL;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3973
  char *value = NULL;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3974
  char *new_value = NULL;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3975
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3976
  if (lt_split_name_value (arg, &name, &value) != 0)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3977
    {
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3978
      XFREE (name);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3979
      XFREE (value);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3980
      lt_fatal ("bad argument for %s: '%s'", env_append_opt, arg);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3981
    }
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3982
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3983
  new_value = lt_extend_str (getenv (name), value, 1);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3984
  lt_setenv (name, new_value);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3985
  XFREE (new_value);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3986
  XFREE (name);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3987
  XFREE (value);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3988
}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3989
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3990
void
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3991
lt_update_exe_path (const char *name, const char *value)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3992
{
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3993
  LTWRAPPER_DEBUGPRINTF (("(lt_update_exe_path) modifying '%s' by prepending '%s'\n",
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3994
                          (name ? name : "<NULL>"),
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3995
                          (value ? value : "<NULL>")));
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3996
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3997
  if (name && *name && value && *value)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3998
    {
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  3999
      char *new_value = lt_extend_str (getenv (name), value, 0);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4000
      /* some systems can't cope with a ':'-terminated path #' */
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4001
      int len = strlen (new_value);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4002
      while (((len = strlen (new_value)) > 0) && IS_PATH_SEPARATOR (new_value[len-1]))
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4003
        {
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4004
          new_value[len-1] = '\0';
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4005
        }
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4006
      lt_setenv (name, new_value);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4007
      XFREE (new_value);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4008
    }
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4009
}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4010
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4011
void
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4012
lt_update_lib_path (const char *name, const char *value)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4013
{
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4014
  LTWRAPPER_DEBUGPRINTF (("(lt_update_lib_path) modifying '%s' by prepending '%s'\n",
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4015
                          (name ? name : "<NULL>"),
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4016
                          (value ? value : "<NULL>")));
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4017
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4018
  if (name && *name && value && *value)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4019
    {
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4020
      char *new_value = lt_extend_str (getenv (name), value, 0);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4021
      lt_setenv (name, new_value);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4022
      XFREE (new_value);
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4023
    }
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4024
}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4025
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4026
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4027
EOF
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4028
}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4029
# end: func_emit_cwrapperexe_src
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4030
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4031
# func_mode_link arg...
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4032
func_mode_link ()
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4033
{
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4034
    $opt_debug
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4035
    case $host in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4036
    *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4037
      # It is impossible to link a dll without this setting, and
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4038
      # we shouldn't force the makefile maintainer to figure out
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4039
      # which system we are compiling for in order to pass an extra
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4040
      # flag for every libtool invocation.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4041
      # allow_undefined=no
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4042
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4043
      # FIXME: Unfortunately, there are problems with the above when trying
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4044
      # to make a dll which has undefined symbols, in which case not
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4045
      # even a static library is built.  For now, we need to specify
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4046
      # -no-undefined on the libtool link line when we can be certain
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4047
      # that all symbols are satisfied, otherwise we get a static library.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4048
      allow_undefined=yes
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4049
      ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4050
    *)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4051
      allow_undefined=yes
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4052
      ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4053
    esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4054
    libtool_args=$nonopt
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4055
    base_compile="$nonopt $@"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4056
    compile_command=$nonopt
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4057
    finalize_command=$nonopt
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4058
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4059
    compile_rpath=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4060
    finalize_rpath=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4061
    compile_shlibpath=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4062
    finalize_shlibpath=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4063
    convenience=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4064
    old_convenience=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4065
    deplibs=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4066
    old_deplibs=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4067
    compiler_flags=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4068
    linker_flags=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4069
    dllsearchpath=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4070
    lib_search_path=`pwd`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4071
    inst_prefix_dir=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4072
    new_inherited_linker_flags=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4073
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4074
    avoid_version=no
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4075
    dlfiles=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4076
    dlprefiles=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4077
    dlself=no
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4078
    export_dynamic=no
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4079
    export_symbols=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4080
    export_symbols_regex=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4081
    generated=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4082
    libobjs=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4083
    ltlibs=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4084
    module=no
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4085
    no_install=no
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4086
    objs=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4087
    non_pic_objects=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4088
    precious_files_regex=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4089
    prefer_static_libs=no
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4090
    preload=no
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4091
    prev=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4092
    prevarg=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4093
    release=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4094
    rpath=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4095
    xrpath=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4096
    perm_rpath=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4097
    temp_rpath=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4098
    thread_safe=no
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4099
    vinfo=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4100
    vinfo_number=no
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4101
    weak_libs=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4102
    single_module="${wl}-single_module"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4103
    func_infer_tag $base_compile
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4104
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4105
    # We need to know -static, to get the right output filenames.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4106
    for arg
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4107
    do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4108
      case $arg in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4109
      -shared)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4110
	test "$build_libtool_libs" != yes && \
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4111
	  func_fatal_configuration "can not build a shared library"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4112
	build_old_libs=no
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4113
	break
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4114
	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4115
      -all-static | -static | -static-libtool-libs)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4116
	case $arg in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4117
	-all-static)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4118
	  if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4119
	    func_warning "complete static linking is impossible in this configuration"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4120
	  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4121
	  if test -n "$link_static_flag"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4122
	    dlopen_self=$dlopen_self_static
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4123
	  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4124
	  prefer_static_libs=yes
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4125
	  ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4126
	-static)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4127
	  if test -z "$pic_flag" && test -n "$link_static_flag"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4128
	    dlopen_self=$dlopen_self_static
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4129
	  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4130
	  prefer_static_libs=built
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4131
	  ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4132
	-static-libtool-libs)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4133
	  if test -z "$pic_flag" && test -n "$link_static_flag"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4134
	    dlopen_self=$dlopen_self_static
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4135
	  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4136
	  prefer_static_libs=yes
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4137
	  ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4138
	esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4139
	build_libtool_libs=no
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4140
	build_old_libs=yes
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4141
	break
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4142
	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4143
      esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4144
    done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4145
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4146
    # See if our shared archives depend on static archives.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4147
    test -n "$old_archive_from_new_cmds" && build_old_libs=yes
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4148
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4149
    # Go through the arguments, transforming them on the way.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4150
    while test "$#" -gt 0; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4151
      arg="$1"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4152
      shift
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4153
      func_quote_for_eval "$arg"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4154
      qarg=$func_quote_for_eval_unquoted_result
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4155
      func_append libtool_args " $func_quote_for_eval_result"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4156
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4157
      # If the previous option needs an argument, assign it.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4158
      if test -n "$prev"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4159
	case $prev in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4160
	output)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4161
	  func_append compile_command " @OUTPUT@"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4162
	  func_append finalize_command " @OUTPUT@"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4163
	  ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4164
	esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4165
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4166
	case $prev in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4167
	dlfiles|dlprefiles)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4168
	  if test "$preload" = no; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4169
	    # Add the symbol object into the linking commands.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4170
	    func_append compile_command " @SYMFILE@"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4171
	    func_append finalize_command " @SYMFILE@"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4172
	    preload=yes
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4173
	  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4174
	  case $arg in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4175
	  *.la | *.lo) ;;  # We handle these cases below.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4176
	  force)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4177
	    if test "$dlself" = no; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4178
	      dlself=needless
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4179
	      export_dynamic=yes
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4180
	    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4181
	    prev=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4182
	    continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4183
	    ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4184
	  self)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4185
	    if test "$prev" = dlprefiles; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4186
	      dlself=yes
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4187
	    elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4188
	      dlself=yes
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4189
	    else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4190
	      dlself=needless
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4191
	      export_dynamic=yes
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4192
	    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4193
	    prev=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4194
	    continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4195
	    ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4196
	  *)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4197
	    if test "$prev" = dlfiles; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4198
	      dlfiles="$dlfiles $arg"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4199
	    else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4200
	      dlprefiles="$dlprefiles $arg"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4201
	    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4202
	    prev=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4203
	    continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4204
	    ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4205
	  esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4206
	  ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4207
	expsyms)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4208
	  export_symbols="$arg"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4209
	  test -f "$arg" \
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4210
	    || func_fatal_error "symbol file \`$arg' does not exist"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4211
	  prev=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4212
	  continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4213
	  ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4214
	expsyms_regex)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4215
	  export_symbols_regex="$arg"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4216
	  prev=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4217
	  continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4218
	  ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4219
	framework)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4220
	  case $host in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4221
	    *-*-darwin*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4222
	      case "$deplibs " in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4223
		*" $qarg.ltframework "*) ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4224
		*) deplibs="$deplibs $qarg.ltframework" # this is fixed later
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4225
		   ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4226
	      esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4227
	      ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4228
	  esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4229
	  prev=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4230
	  continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4231
	  ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4232
	inst_prefix)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4233
	  inst_prefix_dir="$arg"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4234
	  prev=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4235
	  continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4236
	  ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4237
	objectlist)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4238
	  if test -f "$arg"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4239
	    save_arg=$arg
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4240
	    moreargs=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4241
	    for fil in `cat "$save_arg"`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4242
	    do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4243
#	      moreargs="$moreargs $fil"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4244
	      arg=$fil
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4245
	      # A libtool-controlled object.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4246
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4247
	      # Check to see that this really is a libtool object.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4248
	      if func_lalib_unsafe_p "$arg"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4249
		pic_object=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4250
		non_pic_object=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4251
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4252
		# Read the .lo file
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4253
		func_source "$arg"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4254
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4255
		if test -z "$pic_object" ||
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4256
		   test -z "$non_pic_object" ||
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4257
		   test "$pic_object" = none &&
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4258
		   test "$non_pic_object" = none; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4259
		  func_fatal_error "cannot find name of object for \`$arg'"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4260
		fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4261
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4262
		# Extract subdirectory from the argument.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4263
		func_dirname "$arg" "/" ""
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4264
		xdir="$func_dirname_result"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4265
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4266
		if test "$pic_object" != none; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4267
		  # Prepend the subdirectory the object is found in.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4268
		  pic_object="$xdir$pic_object"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4269
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4270
		  if test "$prev" = dlfiles; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4271
		    if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4272
		      dlfiles="$dlfiles $pic_object"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4273
		      prev=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4274
		      continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4275
		    else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4276
		      # If libtool objects are unsupported, then we need to preload.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4277
		      prev=dlprefiles
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4278
		    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4279
		  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4280
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4281
		  # CHECK ME:  I think I busted this.  -Ossama
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4282
		  if test "$prev" = dlprefiles; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4283
		    # Preload the old-style object.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4284
		    dlprefiles="$dlprefiles $pic_object"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4285
		    prev=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4286
		  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4287
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4288
		  # A PIC object.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4289
		  func_append libobjs " $pic_object"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4290
		  arg="$pic_object"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4291
		fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4292
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4293
		# Non-PIC object.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4294
		if test "$non_pic_object" != none; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4295
		  # Prepend the subdirectory the object is found in.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4296
		  non_pic_object="$xdir$non_pic_object"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4297
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4298
		  # A standard non-PIC object
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4299
		  func_append non_pic_objects " $non_pic_object"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4300
		  if test -z "$pic_object" || test "$pic_object" = none ; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4301
		    arg="$non_pic_object"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4302
		  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4303
		else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4304
		  # If the PIC object exists, use it instead.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4305
		  # $xdir was prepended to $pic_object above.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4306
		  non_pic_object="$pic_object"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4307
		  func_append non_pic_objects " $non_pic_object"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4308
		fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4309
	      else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4310
		# Only an error if not doing a dry-run.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4311
		if $opt_dry_run; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4312
		  # Extract subdirectory from the argument.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4313
		  func_dirname "$arg" "/" ""
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4314
		  xdir="$func_dirname_result"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4315
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4316
		  func_lo2o "$arg"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4317
		  pic_object=$xdir$objdir/$func_lo2o_result
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4318
		  non_pic_object=$xdir$func_lo2o_result
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4319
		  func_append libobjs " $pic_object"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4320
		  func_append non_pic_objects " $non_pic_object"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4321
	        else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4322
		  func_fatal_error "\`$arg' is not a valid libtool object"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4323
		fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4324
	      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4325
	    done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4326
	  else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4327
	    func_fatal_error "link input file \`$arg' does not exist"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4328
	  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4329
	  arg=$save_arg
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4330
	  prev=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4331
	  continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4332
	  ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4333
	precious_regex)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4334
	  precious_files_regex="$arg"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4335
	  prev=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4336
	  continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4337
	  ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4338
	release)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4339
	  release="-$arg"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4340
	  prev=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4341
	  continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4342
	  ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4343
	rpath | xrpath)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4344
	  # We need an absolute path.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4345
	  case $arg in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4346
	  [\\/]* | [A-Za-z]:[\\/]*) ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4347
	  *)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4348
	    func_fatal_error "only absolute run-paths are allowed"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4349
	    ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4350
	  esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4351
	  if test "$prev" = rpath; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4352
	    case "$rpath " in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4353
	    *" $arg "*) ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4354
	    *) rpath="$rpath $arg" ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4355
	    esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4356
	  else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4357
	    case "$xrpath " in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4358
	    *" $arg "*) ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4359
	    *) xrpath="$xrpath $arg" ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4360
	    esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4361
	  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4362
	  prev=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4363
	  continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4364
	  ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4365
	shrext)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4366
	  shrext_cmds="$arg"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4367
	  prev=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4368
	  continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4369
	  ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4370
	weak)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4371
	  weak_libs="$weak_libs $arg"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4372
	  prev=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4373
	  continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4374
	  ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4375
	xcclinker)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4376
	  linker_flags="$linker_flags $qarg"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4377
	  compiler_flags="$compiler_flags $qarg"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4378
	  prev=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4379
	  func_append compile_command " $qarg"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4380
	  func_append finalize_command " $qarg"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4381
	  continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4382
	  ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4383
	xcompiler)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4384
	  compiler_flags="$compiler_flags $qarg"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4385
	  prev=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4386
	  func_append compile_command " $qarg"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4387
	  func_append finalize_command " $qarg"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4388
	  continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4389
	  ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4390
	xlinker)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4391
	  linker_flags="$linker_flags $qarg"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4392
	  compiler_flags="$compiler_flags $wl$qarg"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4393
	  prev=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4394
	  func_append compile_command " $wl$qarg"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4395
	  func_append finalize_command " $wl$qarg"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4396
	  continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4397
	  ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4398
	*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4399
	  eval "$prev=\"\$arg\""
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4400
	  prev=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4401
	  continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4402
	  ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4403
	esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4404
      fi # test -n "$prev"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4405
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4406
      prevarg="$arg"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4407
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4408
      case $arg in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4409
      -all-static)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4410
	if test -n "$link_static_flag"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4411
	  # See comment for -static flag below, for more details.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4412
	  func_append compile_command " $link_static_flag"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4413
	  func_append finalize_command " $link_static_flag"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4414
	fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4415
	continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4416
	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4417
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4418
      -allow-undefined)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4419
	# FIXME: remove this flag sometime in the future.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4420
	func_fatal_error "\`-allow-undefined' must not be used because it is the default"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4421
	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4422
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4423
      -avoid-version)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4424
	avoid_version=yes
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4425
	continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4426
	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4427
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4428
      -dlopen)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4429
	prev=dlfiles
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4430
	continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4431
	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4432
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4433
      -dlpreopen)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4434
	prev=dlprefiles
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4435
	continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4436
	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4437
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4438
      -export-dynamic)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4439
	export_dynamic=yes
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4440
	continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4441
	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4442
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4443
      -export-symbols | -export-symbols-regex)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4444
	if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4445
	  func_fatal_error "more than one -exported-symbols argument is not allowed"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4446
	fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4447
	if test "X$arg" = "X-export-symbols"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4448
	  prev=expsyms
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4449
	else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4450
	  prev=expsyms_regex
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4451
	fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4452
	continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4453
	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4454
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4455
      -framework)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4456
	prev=framework
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4457
	continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4458
	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4459
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4460
      -inst-prefix-dir)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4461
	prev=inst_prefix
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4462
	continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4463
	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4464
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4465
      # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:*
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4466
      # so, if we see these flags be careful not to treat them like -L
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4467
      -L[A-Z][A-Z]*:*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4468
	case $with_gcc/$host in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4469
	no/*-*-irix* | /*-*-irix*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4470
	  func_append compile_command " $arg"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4471
	  func_append finalize_command " $arg"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4472
	  ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4473
	esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4474
	continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4475
	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4476
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4477
      -L*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4478
	func_stripname '-L' '' "$arg"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4479
	dir=$func_stripname_result
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4480
	if test -z "$dir"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4481
	  if test "$#" -gt 0; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4482
	    func_fatal_error "require no space between \`-L' and \`$1'"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4483
	  else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4484
	    func_fatal_error "need path for \`-L' option"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4485
	  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4486
	fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4487
	# We need an absolute path.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4488
	case $dir in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4489
	[\\/]* | [A-Za-z]:[\\/]*) ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4490
	*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4491
	  absdir=`cd "$dir" && pwd`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4492
	  test -z "$absdir" && \
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4493
	    func_fatal_error "cannot determine absolute directory name of \`$dir'"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4494
	  dir="$absdir"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4495
	  ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4496
	esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4497
	case "$deplibs " in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4498
	*" -L$dir "*) ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4499
	*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4500
	  deplibs="$deplibs -L$dir"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4501
	  lib_search_path="$lib_search_path $dir"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4502
	  ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4503
	esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4504
	case $host in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4505
	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4506
	  testbindir=`$ECHO "X$dir" | $Xsed -e 's*/lib$*/bin*'`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4507
	  case :$dllsearchpath: in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4508
	  *":$dir:"*) ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4509
	  ::) dllsearchpath=$dir;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4510
	  *) dllsearchpath="$dllsearchpath:$dir";;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4511
	  esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4512
	  case :$dllsearchpath: in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4513
	  *":$testbindir:"*) ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4514
	  ::) dllsearchpath=$testbindir;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4515
	  *) dllsearchpath="$dllsearchpath:$testbindir";;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4516
	  esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4517
	  ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4518
	esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4519
	continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4520
	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4521
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4522
      -l*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4523
	if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4524
	  case $host in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4525
	  *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4526
	    # These systems don't actually have a C or math library (as such)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4527
	    continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4528
	    ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4529
	  *-*-os2*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4530
	    # These systems don't actually have a C library (as such)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4531
	    test "X$arg" = "X-lc" && continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4532
	    ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4533
	  *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4534
	    # Do not include libc due to us having libc/libc_r.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4535
	    test "X$arg" = "X-lc" && continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4536
	    ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4537
	  *-*-rhapsody* | *-*-darwin1.[012])
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4538
	    # Rhapsody C and math libraries are in the System framework
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4539
	    deplibs="$deplibs System.ltframework"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4540
	    continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4541
	    ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4542
	  *-*-sco3.2v5* | *-*-sco5v6*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4543
	    # Causes problems with __ctype
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4544
	    test "X$arg" = "X-lc" && continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4545
	    ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4546
	  *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4547
	    # Compiler inserts libc in the correct place for threads to work
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4548
	    test "X$arg" = "X-lc" && continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4549
	    ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4550
	  esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4551
	elif test "X$arg" = "X-lc_r"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4552
	 case $host in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4553
	 *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4554
	   # Do not include libc_r directly, use -pthread flag.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4555
	   continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4556
	   ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4557
	 esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4558
	fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4559
	deplibs="$deplibs $arg"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4560
	continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4561
	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4562
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4563
      -module)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4564
	module=yes
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4565
	continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4566
	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4567
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4568
      # Tru64 UNIX uses -model [arg] to determine the layout of C++
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4569
      # classes, name mangling, and exception handling.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4570
      # Darwin uses the -arch flag to determine output architecture.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4571
      -model|-arch|-isysroot)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4572
	compiler_flags="$compiler_flags $arg"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4573
	func_append compile_command " $arg"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4574
	func_append finalize_command " $arg"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4575
	prev=xcompiler
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4576
	continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4577
	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4578
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4579
      -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4580
	compiler_flags="$compiler_flags $arg"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4581
	func_append compile_command " $arg"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4582
	func_append finalize_command " $arg"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4583
	case "$new_inherited_linker_flags " in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4584
	    *" $arg "*) ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4585
	    * ) new_inherited_linker_flags="$new_inherited_linker_flags $arg" ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4586
	esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4587
	continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4588
	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4589
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4590
      -multi_module)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4591
	single_module="${wl}-multi_module"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4592
	continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4593
	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4594
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4595
      -no-fast-install)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4596
	fast_install=no
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4597
	continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4598
	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4599
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4600
      -no-install)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4601
	case $host in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4602
	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4603
	  # The PATH hackery in wrapper scripts is required on Windows
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4604
	  # and Darwin in order for the loader to find any dlls it needs.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4605
	  func_warning "\`-no-install' is ignored for $host"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4606
	  func_warning "assuming \`-no-fast-install' instead"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4607
	  fast_install=no
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4608
	  ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4609
	*) no_install=yes ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4610
	esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4611
	continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4612
	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4613
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4614
      -no-undefined)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4615
	allow_undefined=no
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4616
	continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4617
	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4618
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4619
      -objectlist)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4620
	prev=objectlist
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4621
	continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4622
	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4623
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4624
      -o) prev=output ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4625
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4626
      -precious-files-regex)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4627
	prev=precious_regex
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4628
	continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4629
	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4630
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4631
      -release)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4632
	prev=release
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4633
	continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4634
	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4635
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4636
      -rpath)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4637
	prev=rpath
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4638
	continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4639
	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4640
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4641
      -R)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4642
	prev=xrpath
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4643
	continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4644
	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4645
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4646
      -R*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4647
	func_stripname '-R' '' "$arg"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4648
	dir=$func_stripname_result
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4649
	# We need an absolute path.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4650
	case $dir in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4651
	[\\/]* | [A-Za-z]:[\\/]*) ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4652
	*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4653
	  func_fatal_error "only absolute run-paths are allowed"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4654
	  ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4655
	esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4656
	case "$xrpath " in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4657
	*" $dir "*) ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4658
	*) xrpath="$xrpath $dir" ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4659
	esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4660
	continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4661
	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4662
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4663
      -shared)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4664
	# The effects of -shared are defined in a previous loop.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4665
	continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4666
	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4667
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4668
      -shrext)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4669
	prev=shrext
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4670
	continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4671
	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4672
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4673
      -static | -static-libtool-libs)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4674
	# The effects of -static are defined in a previous loop.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4675
	# We used to do the same as -all-static on platforms that
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4676
	# didn't have a PIC flag, but the assumption that the effects
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4677
	# would be equivalent was wrong.  It would break on at least
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4678
	# Digital Unix and AIX.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4679
	continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4680
	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4681
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4682
      -thread-safe)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4683
	thread_safe=yes
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4684
	continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4685
	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4686
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4687
      -version-info)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4688
	prev=vinfo
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4689
	continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4690
	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4691
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4692
      -version-number)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4693
	prev=vinfo
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4694
	vinfo_number=yes
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4695
	continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4696
	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4697
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4698
      -weak)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4699
        prev=weak
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4700
	continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4701
	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4702
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4703
      -Wc,*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4704
	func_stripname '-Wc,' '' "$arg"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4705
	args=$func_stripname_result
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4706
	arg=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4707
	save_ifs="$IFS"; IFS=','
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4708
	for flag in $args; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4709
	  IFS="$save_ifs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4710
          func_quote_for_eval "$flag"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4711
	  arg="$arg $wl$func_quote_for_eval_result"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4712
	  compiler_flags="$compiler_flags $func_quote_for_eval_result"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4713
	done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4714
	IFS="$save_ifs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4715
	func_stripname ' ' '' "$arg"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4716
	arg=$func_stripname_result
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4717
	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4718
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4719
      -Wl,*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4720
	func_stripname '-Wl,' '' "$arg"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4721
	args=$func_stripname_result
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4722
	arg=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4723
	save_ifs="$IFS"; IFS=','
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4724
	for flag in $args; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4725
	  IFS="$save_ifs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4726
          func_quote_for_eval "$flag"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4727
	  arg="$arg $wl$func_quote_for_eval_result"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4728
	  compiler_flags="$compiler_flags $wl$func_quote_for_eval_result"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4729
	  linker_flags="$linker_flags $func_quote_for_eval_result"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4730
	done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4731
	IFS="$save_ifs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4732
	func_stripname ' ' '' "$arg"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4733
	arg=$func_stripname_result
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4734
	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4735
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4736
      -Xcompiler)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4737
	prev=xcompiler
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4738
	continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4739
	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4740
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4741
      -Xlinker)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4742
	prev=xlinker
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4743
	continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4744
	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4745
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4746
      -XCClinker)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4747
	prev=xcclinker
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4748
	continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4749
	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4750
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4751
      # -msg_* for osf cc
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4752
      -msg_*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4753
	func_quote_for_eval "$arg"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4754
	arg="$func_quote_for_eval_result"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4755
	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4756
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4757
      # -64, -mips[0-9] enable 64-bit mode on the SGI compiler
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4758
      # -r[0-9][0-9]* specifies the processor on the SGI compiler
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4759
      # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4760
      # +DA*, +DD* enable 64-bit mode on the HP compiler
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4761
      # -q* pass through compiler args for the IBM compiler
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4762
      # -m*, -t[45]*, -txscale* pass through architecture-specific
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4763
      # compiler args for GCC
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4764
      # -F/path gives path to uninstalled frameworks, gcc on darwin
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4765
      # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4766
      # @file GCC response files
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4767
      -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4768
      -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4769
        func_quote_for_eval "$arg"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4770
	arg="$func_quote_for_eval_result"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4771
        func_append compile_command " $arg"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4772
        func_append finalize_command " $arg"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4773
        compiler_flags="$compiler_flags $arg"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4774
        continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4775
        ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4776
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4777
      # Some other compiler flag.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4778
      -* | +*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4779
        func_quote_for_eval "$arg"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4780
	arg="$func_quote_for_eval_result"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4781
	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4782
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4783
      *.$objext)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4784
	# A standard object.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4785
	objs="$objs $arg"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4786
	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4787
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4788
      *.lo)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4789
	# A libtool-controlled object.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4790
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4791
	# Check to see that this really is a libtool object.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4792
	if func_lalib_unsafe_p "$arg"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4793
	  pic_object=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4794
	  non_pic_object=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4795
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4796
	  # Read the .lo file
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4797
	  func_source "$arg"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4798
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4799
	  if test -z "$pic_object" ||
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4800
	     test -z "$non_pic_object" ||
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4801
	     test "$pic_object" = none &&
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4802
	     test "$non_pic_object" = none; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4803
	    func_fatal_error "cannot find name of object for \`$arg'"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4804
	  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4805
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4806
	  # Extract subdirectory from the argument.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4807
	  func_dirname "$arg" "/" ""
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4808
	  xdir="$func_dirname_result"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4809
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4810
	  if test "$pic_object" != none; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4811
	    # Prepend the subdirectory the object is found in.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4812
	    pic_object="$xdir$pic_object"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4813
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4814
	    if test "$prev" = dlfiles; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4815
	      if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4816
		dlfiles="$dlfiles $pic_object"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4817
		prev=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4818
		continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4819
	      else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4820
		# If libtool objects are unsupported, then we need to preload.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4821
		prev=dlprefiles
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4822
	      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4823
	    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4824
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4825
	    # CHECK ME:  I think I busted this.  -Ossama
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4826
	    if test "$prev" = dlprefiles; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4827
	      # Preload the old-style object.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4828
	      dlprefiles="$dlprefiles $pic_object"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4829
	      prev=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4830
	    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4831
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4832
	    # A PIC object.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4833
	    func_append libobjs " $pic_object"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4834
	    arg="$pic_object"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4835
	  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4836
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4837
	  # Non-PIC object.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4838
	  if test "$non_pic_object" != none; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4839
	    # Prepend the subdirectory the object is found in.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4840
	    non_pic_object="$xdir$non_pic_object"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4841
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4842
	    # A standard non-PIC object
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4843
	    func_append non_pic_objects " $non_pic_object"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4844
	    if test -z "$pic_object" || test "$pic_object" = none ; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4845
	      arg="$non_pic_object"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4846
	    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4847
	  else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4848
	    # If the PIC object exists, use it instead.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4849
	    # $xdir was prepended to $pic_object above.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4850
	    non_pic_object="$pic_object"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4851
	    func_append non_pic_objects " $non_pic_object"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4852
	  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4853
	else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4854
	  # Only an error if not doing a dry-run.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4855
	  if $opt_dry_run; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4856
	    # Extract subdirectory from the argument.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4857
	    func_dirname "$arg" "/" ""
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4858
	    xdir="$func_dirname_result"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4859
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4860
	    func_lo2o "$arg"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4861
	    pic_object=$xdir$objdir/$func_lo2o_result
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4862
	    non_pic_object=$xdir$func_lo2o_result
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4863
	    func_append libobjs " $pic_object"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4864
	    func_append non_pic_objects " $non_pic_object"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4865
	  else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4866
	    func_fatal_error "\`$arg' is not a valid libtool object"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4867
	  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4868
	fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4869
	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4870
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4871
      *.$libext)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4872
	# An archive.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4873
	deplibs="$deplibs $arg"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4874
	old_deplibs="$old_deplibs $arg"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4875
	continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4876
	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4877
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4878
      *.la)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4879
	# A libtool-controlled library.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4880
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4881
	if test "$prev" = dlfiles; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4882
	  # This library was specified with -dlopen.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4883
	  dlfiles="$dlfiles $arg"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4884
	  prev=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4885
	elif test "$prev" = dlprefiles; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4886
	  # The library was specified with -dlpreopen.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4887
	  dlprefiles="$dlprefiles $arg"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4888
	  prev=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4889
	else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4890
	  deplibs="$deplibs $arg"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4891
	fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4892
	continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4893
	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4894
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4895
      # Some other compiler argument.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4896
      *)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4897
	# Unknown arguments in both finalize_command and compile_command need
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4898
	# to be aesthetically quoted because they are evaled later.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4899
	func_quote_for_eval "$arg"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4900
	arg="$func_quote_for_eval_result"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4901
	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4902
      esac # arg
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4903
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4904
      # Now actually substitute the argument into the commands.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4905
      if test -n "$arg"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4906
	func_append compile_command " $arg"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4907
	func_append finalize_command " $arg"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4908
      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4909
    done # argument parsing loop
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4910
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4911
    test -n "$prev" && \
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4912
      func_fatal_help "the \`$prevarg' option requires an argument"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4913
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4914
    if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4915
      eval arg=\"$export_dynamic_flag_spec\"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4916
      func_append compile_command " $arg"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4917
      func_append finalize_command " $arg"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4918
    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4919
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4920
    oldlibs=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4921
    # calculate the name of the file, without its directory
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4922
    func_basename "$output"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4923
    outputname="$func_basename_result"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4924
    libobjs_save="$libobjs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4925
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4926
    if test -n "$shlibpath_var"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4927
      # get the directories listed in $shlibpath_var
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4928
      eval shlib_search_path=\`\$ECHO \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4929
    else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4930
      shlib_search_path=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4931
    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4932
    eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4933
    eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4934
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4935
    func_dirname "$output" "/" ""
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4936
    output_objdir="$func_dirname_result$objdir"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4937
    # Create the object directory.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4938
    func_mkdir_p "$output_objdir"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4939
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4940
    # Determine the type of output
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4941
    case $output in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4942
    "")
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4943
      func_fatal_help "you must specify an output file"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4944
      ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4945
    *.$libext) linkmode=oldlib ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4946
    *.lo | *.$objext) linkmode=obj ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4947
    *.la) linkmode=lib ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4948
    *) linkmode=prog ;; # Anything else should be a program.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4949
    esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4950
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4951
    specialdeplibs=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4952
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4953
    libs=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4954
    # Find all interdependent deplibs by searching for libraries
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4955
    # that are linked more than once (e.g. -la -lb -la)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4956
    for deplib in $deplibs; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4957
      if $opt_duplicate_deps ; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4958
	case "$libs " in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4959
	*" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4960
	esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4961
      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4962
      libs="$libs $deplib"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4963
    done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4964
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4965
    if test "$linkmode" = lib; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4966
      libs="$predeps $libs $compiler_lib_search_path $postdeps"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4967
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4968
      # Compute libraries that are listed more than once in $predeps
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4969
      # $postdeps and mark them as special (i.e., whose duplicates are
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4970
      # not to be eliminated).
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4971
      pre_post_deps=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4972
      if $opt_duplicate_compiler_generated_deps; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4973
	for pre_post_dep in $predeps $postdeps; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4974
	  case "$pre_post_deps " in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4975
	  *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4976
	  esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4977
	  pre_post_deps="$pre_post_deps $pre_post_dep"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4978
	done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4979
      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4980
      pre_post_deps=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4981
    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4982
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4983
    deplibs=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4984
    newdependency_libs=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4985
    newlib_search_path=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4986
    need_relink=no # whether we're linking any uninstalled libtool libraries
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4987
    notinst_deplibs= # not-installed libtool libraries
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4988
    notinst_path= # paths that contain not-installed libtool libraries
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4989
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4990
    case $linkmode in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4991
    lib)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4992
	passes="conv dlpreopen link"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4993
	for file in $dlfiles $dlprefiles; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4994
	  case $file in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4995
	  *.la) ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4996
	  *)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4997
	    func_fatal_help "libraries can \`-dlopen' only libtool libraries: $file"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4998
	    ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  4999
	  esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5000
	done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5001
	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5002
    prog)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5003
	compile_deplibs=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5004
	finalize_deplibs=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5005
	alldeplibs=no
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5006
	newdlfiles=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5007
	newdlprefiles=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5008
	passes="conv scan dlopen dlpreopen link"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5009
	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5010
    *)  passes="conv"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5011
	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5012
    esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5013
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5014
    for pass in $passes; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5015
      # The preopen pass in lib mode reverses $deplibs; put it back here
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5016
      # so that -L comes before libs that need it for instance...
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5017
      if test "$linkmode,$pass" = "lib,link"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5018
	## FIXME: Find the place where the list is rebuilt in the wrong
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5019
	##        order, and fix it there properly
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5020
        tmp_deplibs=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5021
	for deplib in $deplibs; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5022
	  tmp_deplibs="$deplib $tmp_deplibs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5023
	done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5024
	deplibs="$tmp_deplibs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5025
      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5026
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5027
      if test "$linkmode,$pass" = "lib,link" ||
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5028
	 test "$linkmode,$pass" = "prog,scan"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5029
	libs="$deplibs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5030
	deplibs=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5031
      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5032
      if test "$linkmode" = prog; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5033
	case $pass in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5034
	dlopen) libs="$dlfiles" ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5035
	dlpreopen) libs="$dlprefiles" ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5036
	link)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5037
	  libs="$deplibs %DEPLIBS%"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5038
	  test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5039
	  ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5040
	esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5041
      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5042
      if test "$linkmode,$pass" = "lib,dlpreopen"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5043
	# Collect and forward deplibs of preopened libtool libs
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5044
	for lib in $dlprefiles; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5045
	  # Ignore non-libtool-libs
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5046
	  dependency_libs=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5047
	  case $lib in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5048
	  *.la)	func_source "$lib" ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5049
	  esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5050
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5051
	  # Collect preopened libtool deplibs, except any this library
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5052
	  # has declared as weak libs
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5053
	  for deplib in $dependency_libs; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5054
            deplib_base=`$ECHO "X$deplib" | $Xsed -e "$basename"`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5055
	    case " $weak_libs " in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5056
	    *" $deplib_base "*) ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5057
	    *) deplibs="$deplibs $deplib" ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5058
	    esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5059
	  done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5060
	done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5061
	libs="$dlprefiles"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5062
      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5063
      if test "$pass" = dlopen; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5064
	# Collect dlpreopened libraries
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5065
	save_deplibs="$deplibs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5066
	deplibs=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5067
      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5068
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5069
      for deplib in $libs; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5070
	lib=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5071
	found=no
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5072
	case $deplib in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5073
	-mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5074
	  if test "$linkmode,$pass" = "prog,link"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5075
	    compile_deplibs="$deplib $compile_deplibs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5076
	    finalize_deplibs="$deplib $finalize_deplibs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5077
	  else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5078
	    compiler_flags="$compiler_flags $deplib"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5079
	    if test "$linkmode" = lib ; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5080
		case "$new_inherited_linker_flags " in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5081
		    *" $deplib "*) ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5082
		    * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5083
		esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5084
	    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5085
	  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5086
	  continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5087
	  ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5088
	-l*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5089
	  if test "$linkmode" != lib && test "$linkmode" != prog; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5090
	    func_warning "\`-l' is ignored for archives/objects"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5091
	    continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5092
	  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5093
	  func_stripname '-l' '' "$deplib"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5094
	  name=$func_stripname_result
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5095
	  if test "$linkmode" = lib; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5096
	    searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5097
	  else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5098
	    searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5099
	  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5100
	  for searchdir in $searchdirs; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5101
	    for search_ext in .la $std_shrext .so .a; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5102
	      # Search the libtool library
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5103
	      lib="$searchdir/lib${name}${search_ext}"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5104
	      if test -f "$lib"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5105
		if test "$search_ext" = ".la"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5106
		  found=yes
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5107
		else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5108
		  found=no
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5109
		fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5110
		break 2
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5111
	      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5112
	    done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5113
	  done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5114
	  if test "$found" != yes; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5115
	    # deplib doesn't seem to be a libtool library
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5116
	    if test "$linkmode,$pass" = "prog,link"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5117
	      compile_deplibs="$deplib $compile_deplibs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5118
	      finalize_deplibs="$deplib $finalize_deplibs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5119
	    else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5120
	      deplibs="$deplib $deplibs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5121
	      test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5122
	    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5123
	    continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5124
	  else # deplib is a libtool library
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5125
	    # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib,
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5126
	    # We need to do some special things here, and not later.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5127
	    if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5128
	      case " $predeps $postdeps " in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5129
	      *" $deplib "*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5130
		if func_lalib_p "$lib"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5131
		  library_names=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5132
		  old_library=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5133
		  func_source "$lib"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5134
		  for l in $old_library $library_names; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5135
		    ll="$l"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5136
		  done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5137
		  if test "X$ll" = "X$old_library" ; then # only static version available
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5138
		    found=no
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5139
		    func_dirname "$lib" "" "."
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5140
		    ladir="$func_dirname_result"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5141
		    lib=$ladir/$old_library
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5142
		    if test "$linkmode,$pass" = "prog,link"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5143
		      compile_deplibs="$deplib $compile_deplibs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5144
		      finalize_deplibs="$deplib $finalize_deplibs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5145
		    else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5146
		      deplibs="$deplib $deplibs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5147
		      test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5148
		    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5149
		    continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5150
		  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5151
		fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5152
		;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5153
	      *) ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5154
	      esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5155
	    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5156
	  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5157
	  ;; # -l
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5158
	*.ltframework)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5159
	  if test "$linkmode,$pass" = "prog,link"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5160
	    compile_deplibs="$deplib $compile_deplibs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5161
	    finalize_deplibs="$deplib $finalize_deplibs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5162
	  else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5163
	    deplibs="$deplib $deplibs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5164
	    if test "$linkmode" = lib ; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5165
		case "$new_inherited_linker_flags " in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5166
		    *" $deplib "*) ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5167
		    * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5168
		esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5169
	    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5170
	  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5171
	  continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5172
	  ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5173
	-L*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5174
	  case $linkmode in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5175
	  lib)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5176
	    deplibs="$deplib $deplibs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5177
	    test "$pass" = conv && continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5178
	    newdependency_libs="$deplib $newdependency_libs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5179
	    func_stripname '-L' '' "$deplib"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5180
	    newlib_search_path="$newlib_search_path $func_stripname_result"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5181
	    ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5182
	  prog)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5183
	    if test "$pass" = conv; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5184
	      deplibs="$deplib $deplibs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5185
	      continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5186
	    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5187
	    if test "$pass" = scan; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5188
	      deplibs="$deplib $deplibs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5189
	    else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5190
	      compile_deplibs="$deplib $compile_deplibs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5191
	      finalize_deplibs="$deplib $finalize_deplibs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5192
	    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5193
	    func_stripname '-L' '' "$deplib"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5194
	    newlib_search_path="$newlib_search_path $func_stripname_result"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5195
	    ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5196
	  *)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5197
	    func_warning "\`-L' is ignored for archives/objects"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5198
	    ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5199
	  esac # linkmode
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5200
	  continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5201
	  ;; # -L
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5202
	-R*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5203
	  if test "$pass" = link; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5204
	    func_stripname '-R' '' "$deplib"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5205
	    dir=$func_stripname_result
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5206
	    # Make sure the xrpath contains only unique directories.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5207
	    case "$xrpath " in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5208
	    *" $dir "*) ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5209
	    *) xrpath="$xrpath $dir" ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5210
	    esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5211
	  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5212
	  deplibs="$deplib $deplibs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5213
	  continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5214
	  ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5215
	*.la) lib="$deplib" ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5216
	*.$libext)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5217
	  if test "$pass" = conv; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5218
	    deplibs="$deplib $deplibs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5219
	    continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5220
	  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5221
	  case $linkmode in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5222
	  lib)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5223
	    # Linking convenience modules into shared libraries is allowed,
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5224
	    # but linking other static libraries is non-portable.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5225
	    case " $dlpreconveniencelibs " in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5226
	    *" $deplib "*) ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5227
	    *)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5228
	      valid_a_lib=no
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5229
	      case $deplibs_check_method in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5230
		match_pattern*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5231
		  set dummy $deplibs_check_method; shift
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5232
		  match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5233
		  if eval "\$ECHO \"X$deplib\"" 2>/dev/null | $Xsed -e 10q \
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5234
		    | $EGREP "$match_pattern_regex" > /dev/null; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5235
		    valid_a_lib=yes
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5236
		  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5237
		;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5238
		pass_all)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5239
		  valid_a_lib=yes
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5240
		;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5241
	      esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5242
	      if test "$valid_a_lib" != yes; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5243
		$ECHO
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5244
		$ECHO "*** Warning: Trying to link with static lib archive $deplib."
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5245
		$ECHO "*** I have the capability to make that library automatically link in when"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5246
		$ECHO "*** you link to this library.  But I can only do this if you have a"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5247
		$ECHO "*** shared version of the library, which you do not appear to have"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5248
		$ECHO "*** because the file extensions .$libext of this argument makes me believe"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5249
		$ECHO "*** that it is just a static archive that I should not use here."
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5250
	      else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5251
		$ECHO
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5252
		$ECHO "*** Warning: Linking the shared library $output against the"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5253
		$ECHO "*** static library $deplib is not portable!"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5254
		deplibs="$deplib $deplibs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5255
	      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5256
	      ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5257
	    esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5258
	    continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5259
	    ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5260
	  prog)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5261
	    if test "$pass" != link; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5262
	      deplibs="$deplib $deplibs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5263
	    else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5264
	      compile_deplibs="$deplib $compile_deplibs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5265
	      finalize_deplibs="$deplib $finalize_deplibs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5266
	    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5267
	    continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5268
	    ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5269
	  esac # linkmode
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5270
	  ;; # *.$libext
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5271
	*.lo | *.$objext)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5272
	  if test "$pass" = conv; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5273
	    deplibs="$deplib $deplibs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5274
	  elif test "$linkmode" = prog; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5275
	    if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5276
	      # If there is no dlopen support or we're linking statically,
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5277
	      # we need to preload.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5278
	      newdlprefiles="$newdlprefiles $deplib"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5279
	      compile_deplibs="$deplib $compile_deplibs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5280
	      finalize_deplibs="$deplib $finalize_deplibs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5281
	    else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5282
	      newdlfiles="$newdlfiles $deplib"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5283
	    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5284
	  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5285
	  continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5286
	  ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5287
	%DEPLIBS%)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5288
	  alldeplibs=yes
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5289
	  continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5290
	  ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5291
	esac # case $deplib
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5292
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5293
	if test "$found" = yes || test -f "$lib"; then :
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5294
	else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5295
	  func_fatal_error "cannot find the library \`$lib' or unhandled argument \`$deplib'"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5296
	fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5297
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5298
	# Check to see that this really is a libtool archive.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5299
	func_lalib_unsafe_p "$lib" \
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5300
	  || func_fatal_error "\`$lib' is not a valid libtool archive"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5301
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5302
	func_dirname "$lib" "" "."
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5303
	ladir="$func_dirname_result"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5304
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5305
	dlname=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5306
	dlopen=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5307
	dlpreopen=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5308
	libdir=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5309
	library_names=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5310
	old_library=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5311
	inherited_linker_flags=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5312
	# If the library was installed with an old release of libtool,
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5313
	# it will not redefine variables installed, or shouldnotlink
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5314
	installed=yes
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5315
	shouldnotlink=no
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5316
	avoidtemprpath=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5317
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5318
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5319
	# Read the .la file
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5320
	func_source "$lib"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5321
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5322
	# Convert "-framework foo" to "foo.ltframework"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5323
	if test -n "$inherited_linker_flags"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5324
	  tmp_inherited_linker_flags=`$ECHO "X$inherited_linker_flags" | $Xsed -e 's/-framework \([^ $]*\)/\1.ltframework/g'`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5325
	  for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5326
	    case " $new_inherited_linker_flags " in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5327
	      *" $tmp_inherited_linker_flag "*) ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5328
	      *) new_inherited_linker_flags="$new_inherited_linker_flags $tmp_inherited_linker_flag";;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5329
	    esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5330
	  done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5331
	fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5332
	dependency_libs=`$ECHO "X $dependency_libs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5333
	if test "$linkmode,$pass" = "lib,link" ||
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5334
	   test "$linkmode,$pass" = "prog,scan" ||
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5335
	   { test "$linkmode" != prog && test "$linkmode" != lib; }; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5336
	  test -n "$dlopen" && dlfiles="$dlfiles $dlopen"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5337
	  test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5338
	fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5339
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5340
	if test "$pass" = conv; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5341
	  # Only check for convenience libraries
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5342
	  deplibs="$lib $deplibs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5343
	  if test -z "$libdir"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5344
	    if test -z "$old_library"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5345
	      func_fatal_error "cannot find name of link library for \`$lib'"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5346
	    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5347
	    # It is a libtool convenience library, so add in its objects.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5348
	    convenience="$convenience $ladir/$objdir/$old_library"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5349
	    old_convenience="$old_convenience $ladir/$objdir/$old_library"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5350
	    tmp_libs=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5351
	    for deplib in $dependency_libs; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5352
	      deplibs="$deplib $deplibs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5353
	      if $opt_duplicate_deps ; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5354
		case "$tmp_libs " in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5355
		*" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5356
		esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5357
	      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5358
	      tmp_libs="$tmp_libs $deplib"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5359
	    done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5360
	  elif test "$linkmode" != prog && test "$linkmode" != lib; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5361
	    func_fatal_error "\`$lib' is not a convenience library"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5362
	  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5363
	  continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5364
	fi # $pass = conv
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5365
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5366
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5367
	# Get the name of the library we link against.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5368
	linklib=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5369
	for l in $old_library $library_names; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5370
	  linklib="$l"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5371
	done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5372
	if test -z "$linklib"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5373
	  func_fatal_error "cannot find name of link library for \`$lib'"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5374
	fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5375
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5376
	# This library was specified with -dlopen.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5377
	if test "$pass" = dlopen; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5378
	  if test -z "$libdir"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5379
	    func_fatal_error "cannot -dlopen a convenience library: \`$lib'"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5380
	  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5381
	  if test -z "$dlname" ||
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5382
	     test "$dlopen_support" != yes ||
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5383
	     test "$build_libtool_libs" = no; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5384
	    # If there is no dlname, no dlopen support or we're linking
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5385
	    # statically, we need to preload.  We also need to preload any
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5386
	    # dependent libraries so libltdl's deplib preloader doesn't
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5387
	    # bomb out in the load deplibs phase.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5388
	    dlprefiles="$dlprefiles $lib $dependency_libs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5389
	  else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5390
	    newdlfiles="$newdlfiles $lib"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5391
	  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5392
	  continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5393
	fi # $pass = dlopen
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5394
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5395
	# We need an absolute path.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5396
	case $ladir in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5397
	[\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5398
	*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5399
	  abs_ladir=`cd "$ladir" && pwd`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5400
	  if test -z "$abs_ladir"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5401
	    func_warning "cannot determine absolute directory name of \`$ladir'"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5402
	    func_warning "passing it literally to the linker, although it might fail"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5403
	    abs_ladir="$ladir"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5404
	  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5405
	  ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5406
	esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5407
	func_basename "$lib"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5408
	laname="$func_basename_result"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5409
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5410
	# Find the relevant object directory and library name.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5411
	if test "X$installed" = Xyes; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5412
	  if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5413
	    func_warning "library \`$lib' was moved."
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5414
	    dir="$ladir"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5415
	    absdir="$abs_ladir"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5416
	    libdir="$abs_ladir"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5417
	  else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5418
	    dir="$libdir"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5419
	    absdir="$libdir"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5420
	  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5421
	  test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5422
	else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5423
	  if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5424
	    dir="$ladir"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5425
	    absdir="$abs_ladir"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5426
	    # Remove this search path later
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5427
	    notinst_path="$notinst_path $abs_ladir"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5428
	  else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5429
	    dir="$ladir/$objdir"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5430
	    absdir="$abs_ladir/$objdir"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5431
	    # Remove this search path later
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5432
	    notinst_path="$notinst_path $abs_ladir"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5433
	  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5434
	fi # $installed = yes
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5435
	func_stripname 'lib' '.la' "$laname"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5436
	name=$func_stripname_result
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5437
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5438
	# This library was specified with -dlpreopen.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5439
	if test "$pass" = dlpreopen; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5440
	  if test -z "$libdir" && test "$linkmode" = prog; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5441
	    func_fatal_error "only libraries may -dlpreopen a convenience library: \`$lib'"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5442
	  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5443
	  # Prefer using a static library (so that no silly _DYNAMIC symbols
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5444
	  # are required to link).
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5445
	  if test -n "$old_library"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5446
	    newdlprefiles="$newdlprefiles $dir/$old_library"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5447
	    # Keep a list of preopened convenience libraries to check
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5448
	    # that they are being used correctly in the link pass.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5449
	    test -z "$libdir" && \
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5450
		dlpreconveniencelibs="$dlpreconveniencelibs $dir/$old_library"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5451
	  # Otherwise, use the dlname, so that lt_dlopen finds it.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5452
	  elif test -n "$dlname"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5453
	    newdlprefiles="$newdlprefiles $dir/$dlname"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5454
	  else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5455
	    newdlprefiles="$newdlprefiles $dir/$linklib"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5456
	  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5457
	fi # $pass = dlpreopen
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5458
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5459
	if test -z "$libdir"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5460
	  # Link the convenience library
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5461
	  if test "$linkmode" = lib; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5462
	    deplibs="$dir/$old_library $deplibs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5463
	  elif test "$linkmode,$pass" = "prog,link"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5464
	    compile_deplibs="$dir/$old_library $compile_deplibs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5465
	    finalize_deplibs="$dir/$old_library $finalize_deplibs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5466
	  else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5467
	    deplibs="$lib $deplibs" # used for prog,scan pass
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5468
	  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5469
	  continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5470
	fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5471
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5472
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5473
	if test "$linkmode" = prog && test "$pass" != link; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5474
	  newlib_search_path="$newlib_search_path $ladir"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5475
	  deplibs="$lib $deplibs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5476
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5477
	  linkalldeplibs=no
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5478
	  if test "$link_all_deplibs" != no || test -z "$library_names" ||
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5479
	     test "$build_libtool_libs" = no; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5480
	    linkalldeplibs=yes
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5481
	  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5482
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5483
	  tmp_libs=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5484
	  for deplib in $dependency_libs; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5485
	    case $deplib in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5486
	    -L*) func_stripname '-L' '' "$deplib"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5487
	         newlib_search_path="$newlib_search_path $func_stripname_result"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5488
		 ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5489
	    esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5490
	    # Need to link against all dependency_libs?
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5491
	    if test "$linkalldeplibs" = yes; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5492
	      deplibs="$deplib $deplibs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5493
	    else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5494
	      # Need to hardcode shared library paths
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5495
	      # or/and link against static libraries
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5496
	      newdependency_libs="$deplib $newdependency_libs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5497
	    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5498
	    if $opt_duplicate_deps ; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5499
	      case "$tmp_libs " in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5500
	      *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5501
	      esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5502
	    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5503
	    tmp_libs="$tmp_libs $deplib"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5504
	  done # for deplib
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5505
	  continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5506
	fi # $linkmode = prog...
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5507
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5508
	if test "$linkmode,$pass" = "prog,link"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5509
	  if test -n "$library_names" &&
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5510
	     { { test "$prefer_static_libs" = no ||
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5511
	         test "$prefer_static_libs,$installed" = "built,yes"; } ||
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5512
	       test -z "$old_library"; }; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5513
	    # We need to hardcode the library path
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5514
	    if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5515
	      # Make sure the rpath contains only unique directories.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5516
	      case "$temp_rpath:" in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5517
	      *"$absdir:"*) ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5518
	      *) temp_rpath="$temp_rpath$absdir:" ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5519
	      esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5520
	    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5521
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5522
	    # Hardcode the library path.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5523
	    # Skip directories that are in the system default run-time
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5524
	    # search path.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5525
	    case " $sys_lib_dlsearch_path " in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5526
	    *" $absdir "*) ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5527
	    *)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5528
	      case "$compile_rpath " in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5529
	      *" $absdir "*) ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5530
	      *) compile_rpath="$compile_rpath $absdir"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5531
	      esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5532
	      ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5533
	    esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5534
	    case " $sys_lib_dlsearch_path " in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5535
	    *" $libdir "*) ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5536
	    *)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5537
	      case "$finalize_rpath " in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5538
	      *" $libdir "*) ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5539
	      *) finalize_rpath="$finalize_rpath $libdir"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5540
	      esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5541
	      ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5542
	    esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5543
	  fi # $linkmode,$pass = prog,link...
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5544
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5545
	  if test "$alldeplibs" = yes &&
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5546
	     { test "$deplibs_check_method" = pass_all ||
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5547
	       { test "$build_libtool_libs" = yes &&
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5548
		 test -n "$library_names"; }; }; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5549
	    # We only need to search for static libraries
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5550
	    continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5551
	  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5552
	fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5553
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5554
	link_static=no # Whether the deplib will be linked statically
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5555
	use_static_libs=$prefer_static_libs
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5556
	if test "$use_static_libs" = built && test "$installed" = yes; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5557
	  use_static_libs=no
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5558
	fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5559
	if test -n "$library_names" &&
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5560
	   { test "$use_static_libs" = no || test -z "$old_library"; }; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5561
	  case $host in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5562
	  *cygwin* | *mingw* | *cegcc*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5563
	      # No point in relinking DLLs because paths are not encoded
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5564
	      notinst_deplibs="$notinst_deplibs $lib"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5565
	      need_relink=no
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5566
	    ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5567
	  *)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5568
	    if test "$installed" = no; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5569
	      notinst_deplibs="$notinst_deplibs $lib"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5570
	      need_relink=yes
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5571
	    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5572
	    ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5573
	  esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5574
	  # This is a shared library
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5575
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5576
	  # Warn about portability, can't link against -module's on some
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5577
	  # systems (darwin).  Don't bleat about dlopened modules though!
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5578
	  dlopenmodule=""
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5579
	  for dlpremoduletest in $dlprefiles; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5580
	    if test "X$dlpremoduletest" = "X$lib"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5581
	      dlopenmodule="$dlpremoduletest"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5582
	      break
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5583
	    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5584
	  done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5585
	  if test -z "$dlopenmodule" && test "$shouldnotlink" = yes && test "$pass" = link; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5586
	    $ECHO
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5587
	    if test "$linkmode" = prog; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5588
	      $ECHO "*** Warning: Linking the executable $output against the loadable module"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5589
	    else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5590
	      $ECHO "*** Warning: Linking the shared library $output against the loadable module"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5591
	    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5592
	    $ECHO "*** $linklib is not portable!"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5593
	  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5594
	  if test "$linkmode" = lib &&
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5595
	     test "$hardcode_into_libs" = yes; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5596
	    # Hardcode the library path.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5597
	    # Skip directories that are in the system default run-time
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5598
	    # search path.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5599
	    case " $sys_lib_dlsearch_path " in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5600
	    *" $absdir "*) ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5601
	    *)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5602
	      case "$compile_rpath " in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5603
	      *" $absdir "*) ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5604
	      *) compile_rpath="$compile_rpath $absdir"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5605
	      esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5606
	      ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5607
	    esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5608
	    case " $sys_lib_dlsearch_path " in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5609
	    *" $libdir "*) ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5610
	    *)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5611
	      case "$finalize_rpath " in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5612
	      *" $libdir "*) ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5613
	      *) finalize_rpath="$finalize_rpath $libdir"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5614
	      esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5615
	      ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5616
	    esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5617
	  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5618
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5619
	  if test -n "$old_archive_from_expsyms_cmds"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5620
	    # figure out the soname
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5621
	    set dummy $library_names
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5622
	    shift
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5623
	    realname="$1"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5624
	    shift
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5625
	    libname=`eval "\\$ECHO \"$libname_spec\""`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5626
	    # use dlname if we got it. it's perfectly good, no?
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5627
	    if test -n "$dlname"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5628
	      soname="$dlname"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5629
	    elif test -n "$soname_spec"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5630
	      # bleh windows
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5631
	      case $host in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5632
	      *cygwin* | mingw* | *cegcc*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5633
	        func_arith $current - $age
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5634
		major=$func_arith_result
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5635
		versuffix="-$major"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5636
		;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5637
	      esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5638
	      eval soname=\"$soname_spec\"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5639
	    else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5640
	      soname="$realname"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5641
	    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5642
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5643
	    # Make a new name for the extract_expsyms_cmds to use
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5644
	    soroot="$soname"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5645
	    func_basename "$soroot"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5646
	    soname="$func_basename_result"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5647
	    func_stripname 'lib' '.dll' "$soname"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5648
	    newlib=libimp-$func_stripname_result.a
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5649
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5650
	    # If the library has no export list, then create one now
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5651
	    if test -f "$output_objdir/$soname-def"; then :
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5652
	    else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5653
	      func_verbose "extracting exported symbol list from \`$soname'"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5654
	      func_execute_cmds "$extract_expsyms_cmds" 'exit $?'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5655
	    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5656
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5657
	    # Create $newlib
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5658
	    if test -f "$output_objdir/$newlib"; then :; else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5659
	      func_verbose "generating import library for \`$soname'"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5660
	      func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5661
	    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5662
	    # make sure the library variables are pointing to the new library
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5663
	    dir=$output_objdir
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5664
	    linklib=$newlib
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5665
	  fi # test -n "$old_archive_from_expsyms_cmds"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5666
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5667
	  if test "$linkmode" = prog || test "$mode" != relink; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5668
	    add_shlibpath=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5669
	    add_dir=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5670
	    add=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5671
	    lib_linked=yes
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5672
	    case $hardcode_action in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5673
	    immediate | unsupported)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5674
	      if test "$hardcode_direct" = no; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5675
		add="$dir/$linklib"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5676
		case $host in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5677
		  *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5678
		  *-*-sysv4*uw2*) add_dir="-L$dir" ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5679
		  *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5680
		    *-*-unixware7*) add_dir="-L$dir" ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5681
		  *-*-darwin* )
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5682
		    # if the lib is a (non-dlopened) module then we can not
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5683
		    # link against it, someone is ignoring the earlier warnings
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5684
		    if /usr/bin/file -L $add 2> /dev/null |
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5685
			 $GREP ": [^:]* bundle" >/dev/null ; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5686
		      if test "X$dlopenmodule" != "X$lib"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5687
			$ECHO "*** Warning: lib $linklib is a module, not a shared library"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5688
			if test -z "$old_library" ; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5689
			  $ECHO
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5690
			  $ECHO "*** And there doesn't seem to be a static archive available"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5691
			  $ECHO "*** The link will probably fail, sorry"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5692
			else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5693
			  add="$dir/$old_library"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5694
			fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5695
		      elif test -n "$old_library"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5696
			add="$dir/$old_library"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5697
		      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5698
		    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5699
		esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5700
	      elif test "$hardcode_minus_L" = no; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5701
		case $host in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5702
		*-*-sunos*) add_shlibpath="$dir" ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5703
		esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5704
		add_dir="-L$dir"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5705
		add="-l$name"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5706
	      elif test "$hardcode_shlibpath_var" = no; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5707
		add_shlibpath="$dir"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5708
		add="-l$name"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5709
	      else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5710
		lib_linked=no
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5711
	      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5712
	      ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5713
	    relink)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5714
	      if test "$hardcode_direct" = yes &&
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5715
	         test "$hardcode_direct_absolute" = no; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5716
		add="$dir/$linklib"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5717
	      elif test "$hardcode_minus_L" = yes; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5718
		add_dir="-L$dir"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5719
		# Try looking first in the location we're being installed to.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5720
		if test -n "$inst_prefix_dir"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5721
		  case $libdir in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5722
		    [\\/]*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5723
		      add_dir="$add_dir -L$inst_prefix_dir$libdir"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5724
		      ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5725
		  esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5726
		fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5727
		add="-l$name"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5728
	      elif test "$hardcode_shlibpath_var" = yes; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5729
		add_shlibpath="$dir"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5730
		add="-l$name"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5731
	      else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5732
		lib_linked=no
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5733
	      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5734
	      ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5735
	    *) lib_linked=no ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5736
	    esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5737
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5738
	    if test "$lib_linked" != yes; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5739
	      func_fatal_configuration "unsupported hardcode properties"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5740
	    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5741
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5742
	    if test -n "$add_shlibpath"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5743
	      case :$compile_shlibpath: in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5744
	      *":$add_shlibpath:"*) ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5745
	      *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5746
	      esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5747
	    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5748
	    if test "$linkmode" = prog; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5749
	      test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5750
	      test -n "$add" && compile_deplibs="$add $compile_deplibs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5751
	    else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5752
	      test -n "$add_dir" && deplibs="$add_dir $deplibs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5753
	      test -n "$add" && deplibs="$add $deplibs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5754
	      if test "$hardcode_direct" != yes &&
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5755
		 test "$hardcode_minus_L" != yes &&
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5756
		 test "$hardcode_shlibpath_var" = yes; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5757
		case :$finalize_shlibpath: in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5758
		*":$libdir:"*) ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5759
		*) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5760
		esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5761
	      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5762
	    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5763
	  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5764
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5765
	  if test "$linkmode" = prog || test "$mode" = relink; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5766
	    add_shlibpath=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5767
	    add_dir=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5768
	    add=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5769
	    # Finalize command for both is simple: just hardcode it.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5770
	    if test "$hardcode_direct" = yes &&
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5771
	       test "$hardcode_direct_absolute" = no; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5772
	      add="$libdir/$linklib"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5773
	    elif test "$hardcode_minus_L" = yes; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5774
	      add_dir="-L$libdir"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5775
	      add="-l$name"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5776
	    elif test "$hardcode_shlibpath_var" = yes; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5777
	      case :$finalize_shlibpath: in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5778
	      *":$libdir:"*) ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5779
	      *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5780
	      esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5781
	      add="-l$name"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5782
	    elif test "$hardcode_automatic" = yes; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5783
	      if test -n "$inst_prefix_dir" &&
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5784
		 test -f "$inst_prefix_dir$libdir/$linklib" ; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5785
		add="$inst_prefix_dir$libdir/$linklib"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5786
	      else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5787
		add="$libdir/$linklib"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5788
	      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5789
	    else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5790
	      # We cannot seem to hardcode it, guess we'll fake it.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5791
	      add_dir="-L$libdir"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5792
	      # Try looking first in the location we're being installed to.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5793
	      if test -n "$inst_prefix_dir"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5794
		case $libdir in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5795
		  [\\/]*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5796
		    add_dir="$add_dir -L$inst_prefix_dir$libdir"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5797
		    ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5798
		esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5799
	      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5800
	      add="-l$name"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5801
	    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5802
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5803
	    if test "$linkmode" = prog; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5804
	      test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5805
	      test -n "$add" && finalize_deplibs="$add $finalize_deplibs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5806
	    else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5807
	      test -n "$add_dir" && deplibs="$add_dir $deplibs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5808
	      test -n "$add" && deplibs="$add $deplibs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5809
	    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5810
	  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5811
	elif test "$linkmode" = prog; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5812
	  # Here we assume that one of hardcode_direct or hardcode_minus_L
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5813
	  # is not unsupported.  This is valid on all known static and
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5814
	  # shared platforms.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5815
	  if test "$hardcode_direct" != unsupported; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5816
	    test -n "$old_library" && linklib="$old_library"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5817
	    compile_deplibs="$dir/$linklib $compile_deplibs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5818
	    finalize_deplibs="$dir/$linklib $finalize_deplibs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5819
	  else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5820
	    compile_deplibs="-l$name -L$dir $compile_deplibs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5821
	    finalize_deplibs="-l$name -L$dir $finalize_deplibs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5822
	  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5823
	elif test "$build_libtool_libs" = yes; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5824
	  # Not a shared library
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5825
	  if test "$deplibs_check_method" != pass_all; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5826
	    # We're trying link a shared library against a static one
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5827
	    # but the system doesn't support it.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5828
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5829
	    # Just print a warning and add the library to dependency_libs so
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5830
	    # that the program can be linked against the static library.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5831
	    $ECHO
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5832
	    $ECHO "*** Warning: This system can not link to static lib archive $lib."
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5833
	    $ECHO "*** I have the capability to make that library automatically link in when"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5834
	    $ECHO "*** you link to this library.  But I can only do this if you have a"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5835
	    $ECHO "*** shared version of the library, which you do not appear to have."
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5836
	    if test "$module" = yes; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5837
	      $ECHO "*** But as you try to build a module library, libtool will still create "
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5838
	      $ECHO "*** a static module, that should work as long as the dlopening application"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5839
	      $ECHO "*** is linked with the -dlopen flag to resolve symbols at runtime."
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5840
	      if test -z "$global_symbol_pipe"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5841
		$ECHO
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5842
		$ECHO "*** However, this would only work if libtool was able to extract symbol"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5843
		$ECHO "*** lists from a program, using \`nm' or equivalent, but libtool could"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5844
		$ECHO "*** not find such a program.  So, this module is probably useless."
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5845
		$ECHO "*** \`nm' from GNU binutils and a full rebuild may help."
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5846
	      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5847
	      if test "$build_old_libs" = no; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5848
		build_libtool_libs=module
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5849
		build_old_libs=yes
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5850
	      else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5851
		build_libtool_libs=no
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5852
	      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5853
	    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5854
	  else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5855
	    deplibs="$dir/$old_library $deplibs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5856
	    link_static=yes
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5857
	  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5858
	fi # link shared/static library?
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5859
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5860
	if test "$linkmode" = lib; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5861
	  if test -n "$dependency_libs" &&
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5862
	     { test "$hardcode_into_libs" != yes ||
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5863
	       test "$build_old_libs" = yes ||
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5864
	       test "$link_static" = yes; }; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5865
	    # Extract -R from dependency_libs
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5866
	    temp_deplibs=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5867
	    for libdir in $dependency_libs; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5868
	      case $libdir in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5869
	      -R*) func_stripname '-R' '' "$libdir"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5870
	           temp_xrpath=$func_stripname_result
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5871
		   case " $xrpath " in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5872
		   *" $temp_xrpath "*) ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5873
		   *) xrpath="$xrpath $temp_xrpath";;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5874
		   esac;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5875
	      *) temp_deplibs="$temp_deplibs $libdir";;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5876
	      esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5877
	    done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5878
	    dependency_libs="$temp_deplibs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5879
	  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5880
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5881
	  newlib_search_path="$newlib_search_path $absdir"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5882
	  # Link against this library
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5883
	  test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5884
	  # ... and its dependency_libs
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5885
	  tmp_libs=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5886
	  for deplib in $dependency_libs; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5887
	    newdependency_libs="$deplib $newdependency_libs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5888
	    if $opt_duplicate_deps ; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5889
	      case "$tmp_libs " in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5890
	      *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5891
	      esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5892
	    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5893
	    tmp_libs="$tmp_libs $deplib"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5894
	  done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5895
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5896
	  if test "$link_all_deplibs" != no; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5897
	    # Add the search paths of all dependency libraries
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5898
	    for deplib in $dependency_libs; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5899
	      path=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5900
	      case $deplib in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5901
	      -L*) path="$deplib" ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5902
	      *.la)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5903
	        func_dirname "$deplib" "" "."
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5904
		dir="$func_dirname_result"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5905
		# We need an absolute path.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5906
		case $dir in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5907
		[\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5908
		*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5909
		  absdir=`cd "$dir" && pwd`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5910
		  if test -z "$absdir"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5911
		    func_warning "cannot determine absolute directory name of \`$dir'"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5912
		    absdir="$dir"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5913
		  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5914
		  ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5915
		esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5916
		if $GREP "^installed=no" $deplib > /dev/null; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5917
		case $host in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5918
		*-*-darwin*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5919
		  depdepl=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5920
		  eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5921
		  if test -n "$deplibrary_names" ; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5922
		    for tmp in $deplibrary_names ; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5923
		      depdepl=$tmp
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5924
		    done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5925
		    if test -f "$absdir/$objdir/$depdepl" ; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5926
		      depdepl="$absdir/$objdir/$depdepl"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5927
		      darwin_install_name=`${OTOOL} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5928
                      if test -z "$darwin_install_name"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5929
                          darwin_install_name=`${OTOOL64} -L $depdepl  | awk '{if (NR == 2) {print $1;exit}}'`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5930
                      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5931
		      compiler_flags="$compiler_flags ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5932
		      linker_flags="$linker_flags -dylib_file ${darwin_install_name}:${depdepl}"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5933
		      path=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5934
		    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5935
		  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5936
		  ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5937
		*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5938
		  path="-L$absdir/$objdir"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5939
		  ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5940
		esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5941
		else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5942
		  eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5943
		  test -z "$libdir" && \
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5944
		    func_fatal_error "\`$deplib' is not a valid libtool archive"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5945
		  test "$absdir" != "$libdir" && \
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5946
		    func_warning "\`$deplib' seems to be moved"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5947
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5948
		  path="-L$absdir"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5949
		fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5950
		;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5951
	      esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5952
	      case " $deplibs " in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5953
	      *" $path "*) ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5954
	      *) deplibs="$path $deplibs" ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5955
	      esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5956
	    done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5957
	  fi # link_all_deplibs != no
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5958
	fi # linkmode = lib
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5959
      done # for deplib in $libs
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5960
      if test "$pass" = link; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5961
	if test "$linkmode" = "prog"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5962
	  compile_deplibs="$new_inherited_linker_flags $compile_deplibs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5963
	  finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5964
	else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5965
	  compiler_flags="$compiler_flags "`$ECHO "X $new_inherited_linker_flags" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5966
	fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5967
      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5968
      dependency_libs="$newdependency_libs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5969
      if test "$pass" = dlpreopen; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5970
	# Link the dlpreopened libraries before other libraries
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5971
	for deplib in $save_deplibs; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5972
	  deplibs="$deplib $deplibs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5973
	done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5974
      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5975
      if test "$pass" != dlopen; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5976
	if test "$pass" != conv; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5977
	  # Make sure lib_search_path contains only unique directories.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5978
	  lib_search_path=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5979
	  for dir in $newlib_search_path; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5980
	    case "$lib_search_path " in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5981
	    *" $dir "*) ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5982
	    *) lib_search_path="$lib_search_path $dir" ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5983
	    esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5984
	  done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5985
	  newlib_search_path=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5986
	fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5987
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5988
	if test "$linkmode,$pass" != "prog,link"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5989
	  vars="deplibs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5990
	else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5991
	  vars="compile_deplibs finalize_deplibs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5992
	fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5993
	for var in $vars dependency_libs; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5994
	  # Add libraries to $var in reverse order
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5995
	  eval tmp_libs=\"\$$var\"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5996
	  new_libs=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5997
	  for deplib in $tmp_libs; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5998
	    # FIXME: Pedantically, this is the right thing to do, so
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  5999
	    #        that some nasty dependency loop isn't accidentally
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6000
	    #        broken:
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6001
	    #new_libs="$deplib $new_libs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6002
	    # Pragmatically, this seems to cause very few problems in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6003
	    # practice:
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6004
	    case $deplib in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6005
	    -L*) new_libs="$deplib $new_libs" ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6006
	    -R*) ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6007
	    *)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6008
	      # And here is the reason: when a library appears more
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6009
	      # than once as an explicit dependence of a library, or
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6010
	      # is implicitly linked in more than once by the
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6011
	      # compiler, it is considered special, and multiple
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6012
	      # occurrences thereof are not removed.  Compare this
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6013
	      # with having the same library being listed as a
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6014
	      # dependency of multiple other libraries: in this case,
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6015
	      # we know (pedantically, we assume) the library does not
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6016
	      # need to be listed more than once, so we keep only the
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6017
	      # last copy.  This is not always right, but it is rare
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6018
	      # enough that we require users that really mean to play
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6019
	      # such unportable linking tricks to link the library
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6020
	      # using -Wl,-lname, so that libtool does not consider it
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6021
	      # for duplicate removal.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6022
	      case " $specialdeplibs " in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6023
	      *" $deplib "*) new_libs="$deplib $new_libs" ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6024
	      *)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6025
		case " $new_libs " in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6026
		*" $deplib "*) ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6027
		*) new_libs="$deplib $new_libs" ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6028
		esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6029
		;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6030
	      esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6031
	      ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6032
	    esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6033
	  done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6034
	  tmp_libs=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6035
	  for deplib in $new_libs; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6036
	    case $deplib in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6037
	    -L*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6038
	      case " $tmp_libs " in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6039
	      *" $deplib "*) ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6040
	      *) tmp_libs="$tmp_libs $deplib" ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6041
	      esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6042
	      ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6043
	    *) tmp_libs="$tmp_libs $deplib" ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6044
	    esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6045
	  done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6046
	  eval $var=\"$tmp_libs\"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6047
	done # for var
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6048
      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6049
      # Last step: remove runtime libs from dependency_libs
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6050
      # (they stay in deplibs)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6051
      tmp_libs=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6052
      for i in $dependency_libs ; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6053
	case " $predeps $postdeps $compiler_lib_search_path " in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6054
	*" $i "*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6055
	  i=""
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6056
	  ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6057
	esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6058
	if test -n "$i" ; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6059
	  tmp_libs="$tmp_libs $i"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6060
	fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6061
      done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6062
      dependency_libs=$tmp_libs
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6063
    done # for pass
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6064
    if test "$linkmode" = prog; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6065
      dlfiles="$newdlfiles"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6066
    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6067
    if test "$linkmode" = prog || test "$linkmode" = lib; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6068
      dlprefiles="$newdlprefiles"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6069
    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6070
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6071
    case $linkmode in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6072
    oldlib)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6073
      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6074
	func_warning "\`-dlopen' is ignored for archives"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6075
      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6076
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6077
      case " $deplibs" in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6078
      *\ -l* | *\ -L*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6079
	func_warning "\`-l' and \`-L' are ignored for archives" ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6080
      esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6081
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6082
      test -n "$rpath" && \
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6083
	func_warning "\`-rpath' is ignored for archives"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6084
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6085
      test -n "$xrpath" && \
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6086
	func_warning "\`-R' is ignored for archives"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6087
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6088
      test -n "$vinfo" && \
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6089
	func_warning "\`-version-info/-version-number' is ignored for archives"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6090
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6091
      test -n "$release" && \
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6092
	func_warning "\`-release' is ignored for archives"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6093
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6094
      test -n "$export_symbols$export_symbols_regex" && \
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6095
	func_warning "\`-export-symbols' is ignored for archives"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6096
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6097
      # Now set the variables for building old libraries.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6098
      build_libtool_libs=no
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6099
      oldlibs="$output"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6100
      objs="$objs$old_deplibs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6101
      ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6102
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6103
    lib)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6104
      # Make sure we only generate libraries of the form `libNAME.la'.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6105
      case $outputname in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6106
      lib*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6107
	func_stripname 'lib' '.la' "$outputname"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6108
	name=$func_stripname_result
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6109
	eval shared_ext=\"$shrext_cmds\"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6110
	eval libname=\"$libname_spec\"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6111
	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6112
      *)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6113
	test "$module" = no && \
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6114
	  func_fatal_help "libtool library \`$output' must begin with \`lib'"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6115
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6116
	if test "$need_lib_prefix" != no; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6117
	  # Add the "lib" prefix for modules if required
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6118
	  func_stripname '' '.la' "$outputname"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6119
	  name=$func_stripname_result
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6120
	  eval shared_ext=\"$shrext_cmds\"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6121
	  eval libname=\"$libname_spec\"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6122
	else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6123
	  func_stripname '' '.la' "$outputname"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6124
	  libname=$func_stripname_result
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6125
	fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6126
	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6127
      esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6128
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6129
      if test -n "$objs"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6130
	if test "$deplibs_check_method" != pass_all; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6131
	  func_fatal_error "cannot build libtool library \`$output' from non-libtool objects on this host:$objs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6132
	else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6133
	  $ECHO
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6134
	  $ECHO "*** Warning: Linking the shared library $output against the non-libtool"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6135
	  $ECHO "*** objects $objs is not portable!"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6136
	  libobjs="$libobjs $objs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6137
	fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6138
      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6139
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6140
      test "$dlself" != no && \
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6141
	func_warning "\`-dlopen self' is ignored for libtool libraries"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6142
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6143
      set dummy $rpath
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6144
      shift
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6145
      test "$#" -gt 1 && \
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6146
	func_warning "ignoring multiple \`-rpath's for a libtool library"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6147
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6148
      install_libdir="$1"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6149
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6150
      oldlibs=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6151
      if test -z "$rpath"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6152
	if test "$build_libtool_libs" = yes; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6153
	  # Building a libtool convenience library.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6154
	  # Some compilers have problems with a `.al' extension so
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6155
	  # convenience libraries should have the same extension an
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6156
	  # archive normally would.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6157
	  oldlibs="$output_objdir/$libname.$libext $oldlibs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6158
	  build_libtool_libs=convenience
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6159
	  build_old_libs=yes
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6160
	fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6161
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6162
	test -n "$vinfo" && \
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6163
	  func_warning "\`-version-info/-version-number' is ignored for convenience libraries"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6164
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6165
	test -n "$release" && \
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6166
	  func_warning "\`-release' is ignored for convenience libraries"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6167
      else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6168
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6169
	# Parse the version information argument.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6170
	save_ifs="$IFS"; IFS=':'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6171
	set dummy $vinfo 0 0 0
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6172
	shift
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6173
	IFS="$save_ifs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6174
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6175
	test -n "$7" && \
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6176
	  func_fatal_help "too many parameters to \`-version-info'"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6177
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6178
	# convert absolute version numbers to libtool ages
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6179
	# this retains compatibility with .la files and attempts
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6180
	# to make the code below a bit more comprehensible
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6181
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6182
	case $vinfo_number in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6183
	yes)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6184
	  number_major="$1"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6185
	  number_minor="$2"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6186
	  number_revision="$3"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6187
	  #
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6188
	  # There are really only two kinds -- those that
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6189
	  # use the current revision as the major version
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6190
	  # and those that subtract age and use age as
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6191
	  # a minor version.  But, then there is irix
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6192
	  # which has an extra 1 added just for fun
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6193
	  #
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6194
	  case $version_type in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6195
	  darwin|linux|osf|windows|none)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6196
	    func_arith $number_major + $number_minor
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6197
	    current=$func_arith_result
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6198
	    age="$number_minor"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6199
	    revision="$number_revision"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6200
	    ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6201
	  freebsd-aout|freebsd-elf|sunos)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6202
	    current="$number_major"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6203
	    revision="$number_minor"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6204
	    age="0"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6205
	    ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6206
	  irix|nonstopux)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6207
	    func_arith $number_major + $number_minor
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6208
	    current=$func_arith_result
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6209
	    age="$number_minor"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6210
	    revision="$number_minor"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6211
	    lt_irix_increment=no
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6212
	    ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6213
	  *)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6214
	    func_fatal_configuration "$modename: unknown library version type \`$version_type'"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6215
	    ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6216
	  esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6217
	  ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6218
	no)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6219
	  current="$1"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6220
	  revision="$2"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6221
	  age="$3"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6222
	  ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6223
	esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6224
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6225
	# Check that each of the things are valid numbers.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6226
	case $current in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6227
	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]) ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6228
	*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6229
	  func_error "CURRENT \`$current' must be a nonnegative integer"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6230
	  func_fatal_error "\`$vinfo' is not valid version information"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6231
	  ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6232
	esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6233
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6234
	case $revision in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6235
	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]) ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6236
	*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6237
	  func_error "REVISION \`$revision' must be a nonnegative integer"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6238
	  func_fatal_error "\`$vinfo' is not valid version information"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6239
	  ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6240
	esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6241
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6242
	case $age in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6243
	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]) ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6244
	*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6245
	  func_error "AGE \`$age' must be a nonnegative integer"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6246
	  func_fatal_error "\`$vinfo' is not valid version information"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6247
	  ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6248
	esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6249
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6250
	if test "$age" -gt "$current"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6251
	  func_error "AGE \`$age' is greater than the current interface number \`$current'"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6252
	  func_fatal_error "\`$vinfo' is not valid version information"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6253
	fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6254
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6255
	# Calculate the version variables.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6256
	major=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6257
	versuffix=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6258
	verstring=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6259
	case $version_type in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6260
	none) ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6261
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6262
	darwin)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6263
	  # Like Linux, but with the current version available in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6264
	  # verstring for coding it into the library header
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6265
	  func_arith $current - $age
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6266
	  major=.$func_arith_result
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6267
	  versuffix="$major.$age.$revision"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6268
	  # Darwin ld doesn't like 0 for these options...
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6269
	  func_arith $current + 1
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6270
	  minor_current=$func_arith_result
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6271
	  xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6272
	  verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6273
	  ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6274
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6275
	freebsd-aout)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6276
	  major=".$current"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6277
	  versuffix=".$current.$revision";
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6278
	  ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6279
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6280
	freebsd-elf)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6281
	  major=".$current"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6282
	  versuffix=".$current"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6283
	  ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6284
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6285
	irix | nonstopux)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6286
	  if test "X$lt_irix_increment" = "Xno"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6287
	    func_arith $current - $age
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6288
	  else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6289
	    func_arith $current - $age + 1
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6290
	  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6291
	  major=$func_arith_result
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6292
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6293
	  case $version_type in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6294
	    nonstopux) verstring_prefix=nonstopux ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6295
	    *)         verstring_prefix=sgi ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6296
	  esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6297
	  verstring="$verstring_prefix$major.$revision"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6298
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6299
	  # Add in all the interfaces that we are compatible with.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6300
	  loop=$revision
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6301
	  while test "$loop" -ne 0; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6302
	    func_arith $revision - $loop
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6303
	    iface=$func_arith_result
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6304
	    func_arith $loop - 1
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6305
	    loop=$func_arith_result
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6306
	    verstring="$verstring_prefix$major.$iface:$verstring"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6307
	  done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6308
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6309
	  # Before this point, $major must not contain `.'.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6310
	  major=.$major
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6311
	  versuffix="$major.$revision"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6312
	  ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6313
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6314
	linux)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6315
	  func_arith $current - $age
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6316
	  major=.$func_arith_result
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6317
	  versuffix="$major.$age.$revision"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6318
	  ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6319
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6320
	osf)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6321
	  func_arith $current - $age
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6322
	  major=.$func_arith_result
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6323
	  versuffix=".$current.$age.$revision"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6324
	  verstring="$current.$age.$revision"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6325
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6326
	  # Add in all the interfaces that we are compatible with.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6327
	  loop=$age
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6328
	  while test "$loop" -ne 0; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6329
	    func_arith $current - $loop
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6330
	    iface=$func_arith_result
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6331
	    func_arith $loop - 1
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6332
	    loop=$func_arith_result
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6333
	    verstring="$verstring:${iface}.0"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6334
	  done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6335
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6336
	  # Make executables depend on our current version.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6337
	  verstring="$verstring:${current}.0"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6338
	  ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6339
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6340
	qnx)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6341
	  major=".$current"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6342
	  versuffix=".$current"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6343
	  ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6344
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6345
	sunos)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6346
	  major=".$current"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6347
	  versuffix=".$current.$revision"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6348
	  ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6349
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6350
	windows)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6351
	  # Use '-' rather than '.', since we only want one
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6352
	  # extension on DOS 8.3 filesystems.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6353
	  func_arith $current - $age
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6354
	  major=$func_arith_result
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6355
	  versuffix="-$major"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6356
	  ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6357
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6358
	*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6359
	  func_fatal_configuration "unknown library version type \`$version_type'"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6360
	  ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6361
	esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6362
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6363
	# Clear the version info if we defaulted, and they specified a release.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6364
	if test -z "$vinfo" && test -n "$release"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6365
	  major=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6366
	  case $version_type in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6367
	  darwin)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6368
	    # we can't check for "0.0" in archive_cmds due to quoting
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6369
	    # problems, so we reset it completely
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6370
	    verstring=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6371
	    ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6372
	  *)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6373
	    verstring="0.0"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6374
	    ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6375
	  esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6376
	  if test "$need_version" = no; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6377
	    versuffix=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6378
	  else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6379
	    versuffix=".0.0"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6380
	  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6381
	fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6382
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6383
	# Remove version info from name if versioning should be avoided
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6384
	if test "$avoid_version" = yes && test "$need_version" = no; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6385
	  major=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6386
	  versuffix=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6387
	  verstring=""
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6388
	fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6389
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6390
	# Check to see if the archive will have undefined symbols.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6391
	if test "$allow_undefined" = yes; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6392
	  if test "$allow_undefined_flag" = unsupported; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6393
	    func_warning "undefined symbols not allowed in $host shared libraries"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6394
	    build_libtool_libs=no
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6395
	    build_old_libs=yes
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6396
	  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6397
	else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6398
	  # Don't allow undefined symbols.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6399
	  allow_undefined_flag="$no_undefined_flag"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6400
	fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6401
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6402
      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6403
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6404
      func_generate_dlsyms "$libname" "$libname" "yes"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6405
      libobjs="$libobjs $symfileobj"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6406
      test "X$libobjs" = "X " && libobjs=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6407
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6408
      if test "$mode" != relink; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6409
	# Remove our outputs, but don't remove object files since they
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6410
	# may have been created when compiling PIC objects.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6411
	removelist=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6412
	tempremovelist=`$ECHO "$output_objdir/*"`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6413
	for p in $tempremovelist; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6414
	  case $p in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6415
	    *.$objext | *.gcno)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6416
	       ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6417
	    $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6418
	       if test "X$precious_files_regex" != "X"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6419
		 if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6420
		 then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6421
		   continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6422
		 fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6423
	       fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6424
	       removelist="$removelist $p"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6425
	       ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6426
	    *) ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6427
	  esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6428
	done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6429
	test -n "$removelist" && \
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6430
	  func_show_eval "${RM}r \$removelist"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6431
      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6432
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6433
      # Now set the variables for building old libraries.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6434
      if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6435
	oldlibs="$oldlibs $output_objdir/$libname.$libext"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6436
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6437
	# Transform .lo files to .o files.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6438
	oldobjs="$objs "`$ECHO "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6439
      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6440
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6441
      # Eliminate all temporary directories.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6442
      #for path in $notinst_path; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6443
      #	lib_search_path=`$ECHO "X$lib_search_path " | $Xsed -e "s% $path % %g"`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6444
      #	deplibs=`$ECHO "X$deplibs " | $Xsed -e "s% -L$path % %g"`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6445
      #	dependency_libs=`$ECHO "X$dependency_libs " | $Xsed -e "s% -L$path % %g"`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6446
      #done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6447
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6448
      if test -n "$xrpath"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6449
	# If the user specified any rpath flags, then add them.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6450
	temp_xrpath=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6451
	for libdir in $xrpath; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6452
	  temp_xrpath="$temp_xrpath -R$libdir"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6453
	  case "$finalize_rpath " in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6454
	  *" $libdir "*) ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6455
	  *) finalize_rpath="$finalize_rpath $libdir" ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6456
	  esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6457
	done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6458
	if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6459
	  dependency_libs="$temp_xrpath $dependency_libs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6460
	fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6461
      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6462
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6463
      # Make sure dlfiles contains only unique files that won't be dlpreopened
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6464
      old_dlfiles="$dlfiles"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6465
      dlfiles=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6466
      for lib in $old_dlfiles; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6467
	case " $dlprefiles $dlfiles " in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6468
	*" $lib "*) ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6469
	*) dlfiles="$dlfiles $lib" ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6470
	esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6471
      done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6472
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6473
      # Make sure dlprefiles contains only unique files
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6474
      old_dlprefiles="$dlprefiles"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6475
      dlprefiles=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6476
      for lib in $old_dlprefiles; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6477
	case "$dlprefiles " in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6478
	*" $lib "*) ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6479
	*) dlprefiles="$dlprefiles $lib" ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6480
	esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6481
      done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6482
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6483
      if test "$build_libtool_libs" = yes; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6484
	if test -n "$rpath"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6485
	  case $host in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6486
	  *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6487
	    # these systems don't actually have a c library (as such)!
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6488
	    ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6489
	  *-*-rhapsody* | *-*-darwin1.[012])
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6490
	    # Rhapsody C library is in the System framework
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6491
	    deplibs="$deplibs System.ltframework"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6492
	    ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6493
	  *-*-netbsd*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6494
	    # Don't link with libc until the a.out ld.so is fixed.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6495
	    ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6496
	  *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6497
	    # Do not include libc due to us having libc/libc_r.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6498
	    ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6499
	  *-*-sco3.2v5* | *-*-sco5v6*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6500
	    # Causes problems with __ctype
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6501
	    ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6502
	  *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6503
	    # Compiler inserts libc in the correct place for threads to work
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6504
	    ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6505
	  *)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6506
	    # Add libc to deplibs on all other systems if necessary.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6507
	    if test "$build_libtool_need_lc" = "yes"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6508
	      deplibs="$deplibs -lc"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6509
	    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6510
	    ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6511
	  esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6512
	fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6513
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6514
	# Transform deplibs into only deplibs that can be linked in shared.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6515
	name_save=$name
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6516
	libname_save=$libname
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6517
	release_save=$release
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6518
	versuffix_save=$versuffix
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6519
	major_save=$major
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6520
	# I'm not sure if I'm treating the release correctly.  I think
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6521
	# release should show up in the -l (ie -lgmp5) so we don't want to
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6522
	# add it in twice.  Is that correct?
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6523
	release=""
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6524
	versuffix=""
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6525
	major=""
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6526
	newdeplibs=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6527
	droppeddeps=no
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6528
	case $deplibs_check_method in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6529
	pass_all)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6530
	  # Don't check for shared/static.  Everything works.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6531
	  # This might be a little naive.  We might want to check
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6532
	  # whether the library exists or not.  But this is on
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6533
	  # osf3 & osf4 and I'm not really sure... Just
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6534
	  # implementing what was already the behavior.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6535
	  newdeplibs=$deplibs
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6536
	  ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6537
	test_compile)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6538
	  # This code stresses the "libraries are programs" paradigm to its
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6539
	  # limits. Maybe even breaks it.  We compile a program, linking it
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6540
	  # against the deplibs as a proxy for the library.  Then we can check
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6541
	  # whether they linked in statically or dynamically with ldd.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6542
	  $opt_dry_run || $RM conftest.c
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6543
	  cat > conftest.c <<EOF
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6544
	  int main() { return 0; }
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6545
EOF
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6546
	  $opt_dry_run || $RM conftest
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6547
	  if $LTCC $LTCFLAGS -o conftest conftest.c $deplibs; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6548
	    ldd_output=`ldd conftest`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6549
	    for i in $deplibs; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6550
	      case $i in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6551
	      -l*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6552
		func_stripname -l '' "$i"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6553
		name=$func_stripname_result
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6554
		if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6555
		  case " $predeps $postdeps " in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6556
		  *" $i "*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6557
		    newdeplibs="$newdeplibs $i"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6558
		    i=""
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6559
		    ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6560
		  esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6561
		fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6562
		if test -n "$i" ; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6563
		  libname=`eval "\\$ECHO \"$libname_spec\""`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6564
		  deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6565
		  set dummy $deplib_matches; shift
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6566
		  deplib_match=$1
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6567
		  if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6568
		    newdeplibs="$newdeplibs $i"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6569
		  else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6570
		    droppeddeps=yes
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6571
		    $ECHO
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6572
		    $ECHO "*** Warning: dynamic linker does not accept needed library $i."
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6573
		    $ECHO "*** I have the capability to make that library automatically link in when"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6574
		    $ECHO "*** you link to this library.  But I can only do this if you have a"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6575
		    $ECHO "*** shared version of the library, which I believe you do not have"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6576
		    $ECHO "*** because a test_compile did reveal that the linker did not use it for"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6577
		    $ECHO "*** its dynamic dependency list that programs get resolved with at runtime."
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6578
		  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6579
		fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6580
		;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6581
	      *)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6582
		newdeplibs="$newdeplibs $i"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6583
		;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6584
	      esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6585
	    done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6586
	  else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6587
	    # Error occurred in the first compile.  Let's try to salvage
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6588
	    # the situation: Compile a separate program for each library.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6589
	    for i in $deplibs; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6590
	      case $i in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6591
	      -l*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6592
		func_stripname -l '' "$i"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6593
		name=$func_stripname_result
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6594
		$opt_dry_run || $RM conftest
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6595
		if $LTCC $LTCFLAGS -o conftest conftest.c $i; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6596
		  ldd_output=`ldd conftest`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6597
		  if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6598
		    case " $predeps $postdeps " in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6599
		    *" $i "*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6600
		      newdeplibs="$newdeplibs $i"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6601
		      i=""
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6602
		      ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6603
		    esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6604
		  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6605
		  if test -n "$i" ; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6606
		    libname=`eval "\\$ECHO \"$libname_spec\""`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6607
		    deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6608
		    set dummy $deplib_matches; shift
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6609
		    deplib_match=$1
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6610
		    if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6611
		      newdeplibs="$newdeplibs $i"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6612
		    else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6613
		      droppeddeps=yes
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6614
		      $ECHO
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6615
		      $ECHO "*** Warning: dynamic linker does not accept needed library $i."
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6616
		      $ECHO "*** I have the capability to make that library automatically link in when"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6617
		      $ECHO "*** you link to this library.  But I can only do this if you have a"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6618
		      $ECHO "*** shared version of the library, which you do not appear to have"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6619
		      $ECHO "*** because a test_compile did reveal that the linker did not use this one"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6620
		      $ECHO "*** as a dynamic dependency that programs can get resolved with at runtime."
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6621
		    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6622
		  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6623
		else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6624
		  droppeddeps=yes
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6625
		  $ECHO
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6626
		  $ECHO "*** Warning!  Library $i is needed by this library but I was not able to"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6627
		  $ECHO "*** make it link in!  You will probably need to install it or some"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6628
		  $ECHO "*** library that it depends on before this library will be fully"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6629
		  $ECHO "*** functional.  Installing it before continuing would be even better."
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6630
		fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6631
		;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6632
	      *)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6633
		newdeplibs="$newdeplibs $i"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6634
		;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6635
	      esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6636
	    done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6637
	  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6638
	  ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6639
	file_magic*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6640
	  set dummy $deplibs_check_method; shift
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6641
	  file_magic_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6642
	  for a_deplib in $deplibs; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6643
	    case $a_deplib in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6644
	    -l*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6645
	      func_stripname -l '' "$a_deplib"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6646
	      name=$func_stripname_result
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6647
	      if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6648
		case " $predeps $postdeps " in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6649
		*" $a_deplib "*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6650
		  newdeplibs="$newdeplibs $a_deplib"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6651
		  a_deplib=""
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6652
		  ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6653
		esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6654
	      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6655
	      if test -n "$a_deplib" ; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6656
		libname=`eval "\\$ECHO \"$libname_spec\""`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6657
		for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6658
		  potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6659
		  for potent_lib in $potential_libs; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6660
		      # Follow soft links.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6661
		      if ls -lLd "$potent_lib" 2>/dev/null |
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6662
			 $GREP " -> " >/dev/null; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6663
			continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6664
		      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6665
		      # The statement above tries to avoid entering an
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6666
		      # endless loop below, in case of cyclic links.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6667
		      # We might still enter an endless loop, since a link
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6668
		      # loop can be closed while we follow links,
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6669
		      # but so what?
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6670
		      potlib="$potent_lib"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6671
		      while test -h "$potlib" 2>/dev/null; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6672
			potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6673
			case $potliblink in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6674
			[\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6675
			*) potlib=`$ECHO "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6676
			esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6677
		      done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6678
		      if eval $file_magic_cmd \"\$potlib\" 2>/dev/null |
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6679
			 $SED -e 10q |
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6680
			 $EGREP "$file_magic_regex" > /dev/null; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6681
			newdeplibs="$newdeplibs $a_deplib"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6682
			a_deplib=""
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6683
			break 2
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6684
		      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6685
		  done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6686
		done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6687
	      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6688
	      if test -n "$a_deplib" ; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6689
		droppeddeps=yes
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6690
		$ECHO
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6691
		$ECHO "*** Warning: linker path does not have real file for library $a_deplib."
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6692
		$ECHO "*** I have the capability to make that library automatically link in when"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6693
		$ECHO "*** you link to this library.  But I can only do this if you have a"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6694
		$ECHO "*** shared version of the library, which you do not appear to have"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6695
		$ECHO "*** because I did check the linker path looking for a file starting"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6696
		if test -z "$potlib" ; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6697
		  $ECHO "*** with $libname but no candidates were found. (...for file magic test)"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6698
		else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6699
		  $ECHO "*** with $libname and none of the candidates passed a file format test"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6700
		  $ECHO "*** using a file magic. Last file checked: $potlib"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6701
		fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6702
	      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6703
	      ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6704
	    *)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6705
	      # Add a -L argument.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6706
	      newdeplibs="$newdeplibs $a_deplib"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6707
	      ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6708
	    esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6709
	  done # Gone through all deplibs.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6710
	  ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6711
	match_pattern*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6712
	  set dummy $deplibs_check_method; shift
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6713
	  match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6714
	  for a_deplib in $deplibs; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6715
	    case $a_deplib in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6716
	    -l*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6717
	      func_stripname -l '' "$a_deplib"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6718
	      name=$func_stripname_result
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6719
	      if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6720
		case " $predeps $postdeps " in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6721
		*" $a_deplib "*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6722
		  newdeplibs="$newdeplibs $a_deplib"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6723
		  a_deplib=""
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6724
		  ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6725
		esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6726
	      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6727
	      if test -n "$a_deplib" ; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6728
		libname=`eval "\\$ECHO \"$libname_spec\""`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6729
		for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6730
		  potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6731
		  for potent_lib in $potential_libs; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6732
		    potlib="$potent_lib" # see symlink-check above in file_magic test
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6733
		    if eval "\$ECHO \"X$potent_lib\"" 2>/dev/null | $Xsed -e 10q | \
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6734
		       $EGREP "$match_pattern_regex" > /dev/null; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6735
		      newdeplibs="$newdeplibs $a_deplib"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6736
		      a_deplib=""
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6737
		      break 2
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6738
		    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6739
		  done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6740
		done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6741
	      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6742
	      if test -n "$a_deplib" ; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6743
		droppeddeps=yes
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6744
		$ECHO
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6745
		$ECHO "*** Warning: linker path does not have real file for library $a_deplib."
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6746
		$ECHO "*** I have the capability to make that library automatically link in when"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6747
		$ECHO "*** you link to this library.  But I can only do this if you have a"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6748
		$ECHO "*** shared version of the library, which you do not appear to have"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6749
		$ECHO "*** because I did check the linker path looking for a file starting"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6750
		if test -z "$potlib" ; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6751
		  $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6752
		else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6753
		  $ECHO "*** with $libname and none of the candidates passed a file format test"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6754
		  $ECHO "*** using a regex pattern. Last file checked: $potlib"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6755
		fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6756
	      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6757
	      ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6758
	    *)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6759
	      # Add a -L argument.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6760
	      newdeplibs="$newdeplibs $a_deplib"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6761
	      ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6762
	    esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6763
	  done # Gone through all deplibs.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6764
	  ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6765
	none | unknown | *)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6766
	  newdeplibs=""
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6767
	  tmp_deplibs=`$ECHO "X $deplibs" | $Xsed \
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6768
	      -e 's/ -lc$//' -e 's/ -[LR][^ ]*//g'`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6769
	  if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6770
	    for i in $predeps $postdeps ; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6771
	      # can't use Xsed below, because $i might contain '/'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6772
	      tmp_deplibs=`$ECHO "X $tmp_deplibs" | $Xsed -e "s,$i,,"`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6773
	    done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6774
	  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6775
	  if $ECHO "X $tmp_deplibs" | $Xsed -e 's/[	 ]//g' |
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6776
	     $GREP . >/dev/null; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6777
	    $ECHO
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6778
	    if test "X$deplibs_check_method" = "Xnone"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6779
	      $ECHO "*** Warning: inter-library dependencies are not supported in this platform."
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6780
	    else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6781
	      $ECHO "*** Warning: inter-library dependencies are not known to be supported."
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6782
	    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6783
	    $ECHO "*** All declared inter-library dependencies are being dropped."
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6784
	    droppeddeps=yes
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6785
	  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6786
	  ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6787
	esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6788
	versuffix=$versuffix_save
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6789
	major=$major_save
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6790
	release=$release_save
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6791
	libname=$libname_save
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6792
	name=$name_save
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6793
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6794
	case $host in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6795
	*-*-rhapsody* | *-*-darwin1.[012])
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6796
	  # On Rhapsody replace the C library with the System framework
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6797
	  newdeplibs=`$ECHO "X $newdeplibs" | $Xsed -e 's/ -lc / System.ltframework /'`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6798
	  ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6799
	esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6800
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6801
	if test "$droppeddeps" = yes; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6802
	  if test "$module" = yes; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6803
	    $ECHO
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6804
	    $ECHO "*** Warning: libtool could not satisfy all declared inter-library"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6805
	    $ECHO "*** dependencies of module $libname.  Therefore, libtool will create"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6806
	    $ECHO "*** a static module, that should work as long as the dlopening"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6807
	    $ECHO "*** application is linked with the -dlopen flag."
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6808
	    if test -z "$global_symbol_pipe"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6809
	      $ECHO
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6810
	      $ECHO "*** However, this would only work if libtool was able to extract symbol"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6811
	      $ECHO "*** lists from a program, using \`nm' or equivalent, but libtool could"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6812
	      $ECHO "*** not find such a program.  So, this module is probably useless."
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6813
	      $ECHO "*** \`nm' from GNU binutils and a full rebuild may help."
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6814
	    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6815
	    if test "$build_old_libs" = no; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6816
	      oldlibs="$output_objdir/$libname.$libext"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6817
	      build_libtool_libs=module
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6818
	      build_old_libs=yes
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6819
	    else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6820
	      build_libtool_libs=no
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6821
	    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6822
	  else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6823
	    $ECHO "*** The inter-library dependencies that have been dropped here will be"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6824
	    $ECHO "*** automatically added whenever a program is linked with this library"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6825
	    $ECHO "*** or is declared to -dlopen it."
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6826
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6827
	    if test "$allow_undefined" = no; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6828
	      $ECHO
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6829
	      $ECHO "*** Since this library must not contain undefined symbols,"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6830
	      $ECHO "*** because either the platform does not support them or"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6831
	      $ECHO "*** it was explicitly requested with -no-undefined,"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6832
	      $ECHO "*** libtool will only create a static version of it."
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6833
	      if test "$build_old_libs" = no; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6834
		oldlibs="$output_objdir/$libname.$libext"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6835
		build_libtool_libs=module
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6836
		build_old_libs=yes
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6837
	      else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6838
		build_libtool_libs=no
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6839
	      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6840
	    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6841
	  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6842
	fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6843
	# Done checking deplibs!
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6844
	deplibs=$newdeplibs
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6845
      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6846
      # Time to change all our "foo.ltframework" stuff back to "-framework foo"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6847
      case $host in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6848
	*-*-darwin*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6849
	  newdeplibs=`$ECHO "X $newdeplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6850
	  new_inherited_linker_flags=`$ECHO "X $new_inherited_linker_flags" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6851
	  deplibs=`$ECHO "X $deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6852
	  ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6853
      esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6854
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6855
      # move library search paths that coincide with paths to not yet
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6856
      # installed libraries to the beginning of the library search list
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6857
      new_libs=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6858
      for path in $notinst_path; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6859
	case " $new_libs " in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6860
	*" -L$path/$objdir "*) ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6861
	*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6862
	  case " $deplibs " in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6863
	  *" -L$path/$objdir "*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6864
	    new_libs="$new_libs -L$path/$objdir" ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6865
	  esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6866
	  ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6867
	esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6868
      done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6869
      for deplib in $deplibs; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6870
	case $deplib in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6871
	-L*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6872
	  case " $new_libs " in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6873
	  *" $deplib "*) ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6874
	  *) new_libs="$new_libs $deplib" ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6875
	  esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6876
	  ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6877
	*) new_libs="$new_libs $deplib" ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6878
	esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6879
      done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6880
      deplibs="$new_libs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6881
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6882
      # All the library-specific variables (install_libdir is set above).
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6883
      library_names=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6884
      old_library=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6885
      dlname=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6886
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6887
      # Test again, we may have decided not to build it any more
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6888
      if test "$build_libtool_libs" = yes; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6889
	if test "$hardcode_into_libs" = yes; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6890
	  # Hardcode the library paths
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6891
	  hardcode_libdirs=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6892
	  dep_rpath=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6893
	  rpath="$finalize_rpath"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6894
	  test "$mode" != relink && rpath="$compile_rpath$rpath"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6895
	  for libdir in $rpath; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6896
	    if test -n "$hardcode_libdir_flag_spec"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6897
	      if test -n "$hardcode_libdir_separator"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6898
		if test -z "$hardcode_libdirs"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6899
		  hardcode_libdirs="$libdir"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6900
		else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6901
		  # Just accumulate the unique libdirs.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6902
		  case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6903
		  *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6904
		    ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6905
		  *)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6906
		    hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6907
		    ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6908
		  esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6909
		fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6910
	      else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6911
		eval flag=\"$hardcode_libdir_flag_spec\"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6912
		dep_rpath="$dep_rpath $flag"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6913
	      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6914
	    elif test -n "$runpath_var"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6915
	      case "$perm_rpath " in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6916
	      *" $libdir "*) ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6917
	      *) perm_rpath="$perm_rpath $libdir" ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6918
	      esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6919
	    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6920
	  done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6921
	  # Substitute the hardcoded libdirs into the rpath.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6922
	  if test -n "$hardcode_libdir_separator" &&
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6923
	     test -n "$hardcode_libdirs"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6924
	    libdir="$hardcode_libdirs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6925
	    if test -n "$hardcode_libdir_flag_spec_ld"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6926
	      eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6927
	    else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6928
	      eval dep_rpath=\"$hardcode_libdir_flag_spec\"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6929
	    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6930
	  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6931
	  if test -n "$runpath_var" && test -n "$perm_rpath"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6932
	    # We should set the runpath_var.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6933
	    rpath=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6934
	    for dir in $perm_rpath; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6935
	      rpath="$rpath$dir:"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6936
	    done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6937
	    eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6938
	  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6939
	  test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6940
	fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6941
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6942
	shlibpath="$finalize_shlibpath"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6943
	test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6944
	if test -n "$shlibpath"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6945
	  eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6946
	fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6947
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6948
	# Get the real and link names of the library.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6949
	eval shared_ext=\"$shrext_cmds\"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6950
	eval library_names=\"$library_names_spec\"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6951
	set dummy $library_names
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6952
	shift
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6953
	realname="$1"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6954
	shift
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6955
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6956
	if test -n "$soname_spec"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6957
	  eval soname=\"$soname_spec\"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6958
	else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6959
	  soname="$realname"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6960
	fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6961
	if test -z "$dlname"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6962
	  dlname=$soname
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6963
	fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6964
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6965
	lib="$output_objdir/$realname"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6966
	linknames=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6967
	for link
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6968
	do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6969
	  linknames="$linknames $link"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6970
	done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6971
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6972
	# Use standard objects if they are pic
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6973
	test -z "$pic_flag" && libobjs=`$ECHO "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6974
	test "X$libobjs" = "X " && libobjs=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6975
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6976
	delfiles=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6977
	if test -n "$export_symbols" && test -n "$include_expsyms"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6978
	  $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6979
	  export_symbols="$output_objdir/$libname.uexp"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6980
	  delfiles="$delfiles $export_symbols"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6981
	fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6982
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6983
	orig_export_symbols=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6984
	case $host_os in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6985
	cygwin* | mingw* | cegcc*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6986
	  if test -n "$export_symbols" && test -z "$export_symbols_regex"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6987
	    # exporting using user supplied symfile
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6988
	    if test "x`$SED 1q $export_symbols`" != xEXPORTS; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6989
	      # and it's NOT already a .def file. Must figure out
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6990
	      # which of the given symbols are data symbols and tag
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6991
	      # them as such. So, trigger use of export_symbols_cmds.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6992
	      # export_symbols gets reassigned inside the "prepare
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6993
	      # the list of exported symbols" if statement, so the
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6994
	      # include_expsyms logic still works.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6995
	      orig_export_symbols="$export_symbols"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6996
	      export_symbols=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6997
	      always_export_symbols=yes
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6998
	    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  6999
	  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7000
	  ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7001
	esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7002
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7003
	# Prepare the list of exported symbols
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7004
	if test -z "$export_symbols"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7005
	  if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7006
	    func_verbose "generating symbol list for \`$libname.la'"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7007
	    export_symbols="$output_objdir/$libname.exp"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7008
	    $opt_dry_run || $RM $export_symbols
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7009
	    cmds=$export_symbols_cmds
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7010
	    save_ifs="$IFS"; IFS='~'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7011
	    for cmd in $cmds; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7012
	      IFS="$save_ifs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7013
	      eval cmd=\"$cmd\"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7014
	      func_len " $cmd"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7015
	      len=$func_len_result
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7016
	      if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7017
		func_show_eval "$cmd" 'exit $?'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7018
		skipped_export=false
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7019
	      else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7020
		# The command line is too long to execute in one step.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7021
		func_verbose "using reloadable object file for export list..."
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7022
		skipped_export=:
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7023
		# Break out early, otherwise skipped_export may be
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7024
		# set to false by a later but shorter cmd.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7025
		break
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7026
	      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7027
	    done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7028
	    IFS="$save_ifs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7029
	    if test -n "$export_symbols_regex" && test "X$skipped_export" != "X:"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7030
	      func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7031
	      func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7032
	    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7033
	  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7034
	fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7035
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7036
	if test -n "$export_symbols" && test -n "$include_expsyms"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7037
	  tmp_export_symbols="$export_symbols"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7038
	  test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7039
	  $opt_dry_run || eval '$ECHO "X$include_expsyms" | $Xsed | $SP2NL >> "$tmp_export_symbols"'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7040
	fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7041
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7042
	if test "X$skipped_export" != "X:" && test -n "$orig_export_symbols"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7043
	  # The given exports_symbols file has to be filtered, so filter it.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7044
	  func_verbose "filter symbol list for \`$libname.la' to tag DATA exports"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7045
	  # FIXME: $output_objdir/$libname.filter potentially contains lots of
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7046
	  # 's' commands which not all seds can handle. GNU sed should be fine
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7047
	  # though. Also, the filter scales superlinearly with the number of
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7048
	  # global variables. join(1) would be nice here, but unfortunately
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7049
	  # isn't a blessed tool.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7050
	  $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7051
	  delfiles="$delfiles $export_symbols $output_objdir/$libname.filter"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7052
	  export_symbols=$output_objdir/$libname.def
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7053
	  $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7054
	fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7055
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7056
	tmp_deplibs=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7057
	for test_deplib in $deplibs; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7058
	  case " $convenience " in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7059
	  *" $test_deplib "*) ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7060
	  *)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7061
	    tmp_deplibs="$tmp_deplibs $test_deplib"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7062
	    ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7063
	  esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7064
	done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7065
	deplibs="$tmp_deplibs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7066
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7067
	if test -n "$convenience"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7068
	  if test -n "$whole_archive_flag_spec" &&
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7069
	    test "$compiler_needs_object" = yes &&
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7070
	    test -z "$libobjs"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7071
	    # extract the archives, so we have objects to list.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7072
	    # TODO: could optimize this to just extract one archive.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7073
	    whole_archive_flag_spec=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7074
	  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7075
	  if test -n "$whole_archive_flag_spec"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7076
	    save_libobjs=$libobjs
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7077
	    eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7078
	    test "X$libobjs" = "X " && libobjs=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7079
	  else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7080
	    gentop="$output_objdir/${outputname}x"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7081
	    generated="$generated $gentop"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7082
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7083
	    func_extract_archives $gentop $convenience
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7084
	    libobjs="$libobjs $func_extract_archives_result"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7085
	    test "X$libobjs" = "X " && libobjs=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7086
	  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7087
	fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7088
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7089
	if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7090
	  eval flag=\"$thread_safe_flag_spec\"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7091
	  linker_flags="$linker_flags $flag"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7092
	fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7093
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7094
	# Make a backup of the uninstalled library when relinking
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7095
	if test "$mode" = relink; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7096
	  $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $?
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7097
	fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7098
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7099
	# Do each of the archive commands.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7100
	if test "$module" = yes && test -n "$module_cmds" ; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7101
	  if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7102
	    eval test_cmds=\"$module_expsym_cmds\"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7103
	    cmds=$module_expsym_cmds
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7104
	  else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7105
	    eval test_cmds=\"$module_cmds\"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7106
	    cmds=$module_cmds
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7107
	  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7108
	else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7109
	  if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7110
	    eval test_cmds=\"$archive_expsym_cmds\"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7111
	    cmds=$archive_expsym_cmds
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7112
	  else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7113
	    eval test_cmds=\"$archive_cmds\"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7114
	    cmds=$archive_cmds
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7115
	  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7116
	fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7117
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7118
	if test "X$skipped_export" != "X:" &&
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7119
	   func_len " $test_cmds" &&
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7120
	   len=$func_len_result &&
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7121
	   test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7122
	  :
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7123
	else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7124
	  # The command line is too long to link in one step, link piecewise
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7125
	  # or, if using GNU ld and skipped_export is not :, use a linker
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7126
	  # script.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7127
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7128
	  # Save the value of $output and $libobjs because we want to
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7129
	  # use them later.  If we have whole_archive_flag_spec, we
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7130
	  # want to use save_libobjs as it was before
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7131
	  # whole_archive_flag_spec was expanded, because we can't
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7132
	  # assume the linker understands whole_archive_flag_spec.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7133
	  # This may have to be revisited, in case too many
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7134
	  # convenience libraries get linked in and end up exceeding
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7135
	  # the spec.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7136
	  if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7137
	    save_libobjs=$libobjs
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7138
	  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7139
	  save_output=$output
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7140
	  output_la=`$ECHO "X$output" | $Xsed -e "$basename"`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7141
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7142
	  # Clear the reloadable object creation command queue and
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7143
	  # initialize k to one.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7144
	  test_cmds=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7145
	  concat_cmds=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7146
	  objlist=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7147
	  last_robj=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7148
	  k=1
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7149
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7150
	  if test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "$with_gnu_ld" = yes; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7151
	    output=${output_objdir}/${output_la}.lnkscript
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7152
	    func_verbose "creating GNU ld script: $output"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7153
	    $ECHO 'INPUT (' > $output
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7154
	    for obj in $save_libobjs
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7155
	    do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7156
	      $ECHO "$obj" >> $output
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7157
	    done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7158
	    $ECHO ')' >> $output
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7159
	    delfiles="$delfiles $output"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7160
	  elif test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "X$file_list_spec" != X; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7161
	    output=${output_objdir}/${output_la}.lnk
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7162
	    func_verbose "creating linker input file list: $output"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7163
	    : > $output
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7164
	    set x $save_libobjs
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7165
	    shift
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7166
	    firstobj=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7167
	    if test "$compiler_needs_object" = yes; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7168
	      firstobj="$1 "
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7169
	      shift
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7170
	    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7171
	    for obj
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7172
	    do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7173
	      $ECHO "$obj" >> $output
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7174
	    done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7175
	    delfiles="$delfiles $output"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7176
	    output=$firstobj\"$file_list_spec$output\"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7177
	  else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7178
	    if test -n "$save_libobjs"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7179
	      func_verbose "creating reloadable object files..."
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7180
	      output=$output_objdir/$output_la-${k}.$objext
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7181
	      eval test_cmds=\"$reload_cmds\"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7182
	      func_len " $test_cmds"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7183
	      len0=$func_len_result
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7184
	      len=$len0
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7185
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7186
	      # Loop over the list of objects to be linked.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7187
	      for obj in $save_libobjs
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7188
	      do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7189
		func_len " $obj"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7190
		func_arith $len + $func_len_result
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7191
		len=$func_arith_result
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7192
		if test "X$objlist" = X ||
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7193
		   test "$len" -lt "$max_cmd_len"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7194
		  func_append objlist " $obj"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7195
		else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7196
		  # The command $test_cmds is almost too long, add a
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7197
		  # command to the queue.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7198
		  if test "$k" -eq 1 ; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7199
		    # The first file doesn't have a previous command to add.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7200
		    eval concat_cmds=\"$reload_cmds $objlist $last_robj\"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7201
		  else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7202
		    # All subsequent reloadable object files will link in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7203
		    # the last one created.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7204
		    eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj~\$RM $last_robj\"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7205
		  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7206
		  last_robj=$output_objdir/$output_la-${k}.$objext
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7207
		  func_arith $k + 1
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7208
		  k=$func_arith_result
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7209
		  output=$output_objdir/$output_la-${k}.$objext
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7210
		  objlist=$obj
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7211
		  func_len " $last_robj"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7212
		  func_arith $len0 + $func_len_result
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7213
		  len=$func_arith_result
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7214
		fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7215
	      done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7216
	      # Handle the remaining objects by creating one last
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7217
	      # reloadable object file.  All subsequent reloadable object
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7218
	      # files will link in the last one created.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7219
	      test -z "$concat_cmds" || concat_cmds=$concat_cmds~
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7220
	      eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7221
	      if test -n "$last_robj"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7222
	        eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7223
	      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7224
	      delfiles="$delfiles $output"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7225
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7226
	    else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7227
	      output=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7228
	    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7229
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7230
	    if ${skipped_export-false}; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7231
	      func_verbose "generating symbol list for \`$libname.la'"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7232
	      export_symbols="$output_objdir/$libname.exp"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7233
	      $opt_dry_run || $RM $export_symbols
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7234
	      libobjs=$output
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7235
	      # Append the command to create the export file.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7236
	      test -z "$concat_cmds" || concat_cmds=$concat_cmds~
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7237
	      eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7238
	      if test -n "$last_robj"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7239
		eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7240
	      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7241
	    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7242
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7243
	    test -n "$save_libobjs" &&
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7244
	      func_verbose "creating a temporary reloadable object file: $output"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7245
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7246
	    # Loop through the commands generated above and execute them.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7247
	    save_ifs="$IFS"; IFS='~'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7248
	    for cmd in $concat_cmds; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7249
	      IFS="$save_ifs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7250
	      $opt_silent || {
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7251
		  func_quote_for_expand "$cmd"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7252
		  eval "func_echo $func_quote_for_expand_result"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7253
	      }
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7254
	      $opt_dry_run || eval "$cmd" || {
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7255
		lt_exit=$?
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7256
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7257
		# Restore the uninstalled library and exit
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7258
		if test "$mode" = relink; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7259
		  ( cd "$output_objdir" && \
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7260
		    $RM "${realname}T" && \
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7261
		    $MV "${realname}U" "$realname" )
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7262
		fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7263
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7264
		exit $lt_exit
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7265
	      }
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7266
	    done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7267
	    IFS="$save_ifs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7268
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7269
	    if test -n "$export_symbols_regex" && ${skipped_export-false}; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7270
	      func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7271
	      func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7272
	    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7273
	  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7274
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7275
          if ${skipped_export-false}; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7276
	    if test -n "$export_symbols" && test -n "$include_expsyms"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7277
	      tmp_export_symbols="$export_symbols"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7278
	      test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7279
	      $opt_dry_run || eval '$ECHO "X$include_expsyms" | $Xsed | $SP2NL >> "$tmp_export_symbols"'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7280
	    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7281
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7282
	    if test -n "$orig_export_symbols"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7283
	      # The given exports_symbols file has to be filtered, so filter it.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7284
	      func_verbose "filter symbol list for \`$libname.la' to tag DATA exports"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7285
	      # FIXME: $output_objdir/$libname.filter potentially contains lots of
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7286
	      # 's' commands which not all seds can handle. GNU sed should be fine
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7287
	      # though. Also, the filter scales superlinearly with the number of
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7288
	      # global variables. join(1) would be nice here, but unfortunately
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7289
	      # isn't a blessed tool.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7290
	      $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7291
	      delfiles="$delfiles $export_symbols $output_objdir/$libname.filter"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7292
	      export_symbols=$output_objdir/$libname.def
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7293
	      $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7294
	    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7295
	  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7296
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7297
	  libobjs=$output
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7298
	  # Restore the value of output.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7299
	  output=$save_output
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7300
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7301
	  if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7302
	    eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7303
	    test "X$libobjs" = "X " && libobjs=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7304
	  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7305
	  # Expand the library linking commands again to reset the
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7306
	  # value of $libobjs for piecewise linking.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7307
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7308
	  # Do each of the archive commands.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7309
	  if test "$module" = yes && test -n "$module_cmds" ; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7310
	    if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7311
	      cmds=$module_expsym_cmds
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7312
	    else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7313
	      cmds=$module_cmds
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7314
	    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7315
	  else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7316
	    if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7317
	      cmds=$archive_expsym_cmds
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7318
	    else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7319
	      cmds=$archive_cmds
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7320
	    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7321
	  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7322
	fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7323
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7324
	if test -n "$delfiles"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7325
	  # Append the command to remove temporary files to $cmds.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7326
	  eval cmds=\"\$cmds~\$RM $delfiles\"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7327
	fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7328
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7329
	# Add any objects from preloaded convenience libraries
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7330
	if test -n "$dlprefiles"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7331
	  gentop="$output_objdir/${outputname}x"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7332
	  generated="$generated $gentop"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7333
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7334
	  func_extract_archives $gentop $dlprefiles
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7335
	  libobjs="$libobjs $func_extract_archives_result"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7336
	  test "X$libobjs" = "X " && libobjs=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7337
	fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7338
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7339
	save_ifs="$IFS"; IFS='~'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7340
	for cmd in $cmds; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7341
	  IFS="$save_ifs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7342
	  eval cmd=\"$cmd\"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7343
	  $opt_silent || {
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7344
	    func_quote_for_expand "$cmd"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7345
	    eval "func_echo $func_quote_for_expand_result"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7346
	  }
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7347
	  $opt_dry_run || eval "$cmd" || {
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7348
	    lt_exit=$?
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7349
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7350
	    # Restore the uninstalled library and exit
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7351
	    if test "$mode" = relink; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7352
	      ( cd "$output_objdir" && \
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7353
	        $RM "${realname}T" && \
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7354
		$MV "${realname}U" "$realname" )
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7355
	    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7356
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7357
	    exit $lt_exit
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7358
	  }
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7359
	done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7360
	IFS="$save_ifs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7361
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7362
	# Restore the uninstalled library and exit
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7363
	if test "$mode" = relink; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7364
	  $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $?
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7365
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7366
	  if test -n "$convenience"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7367
	    if test -z "$whole_archive_flag_spec"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7368
	      func_show_eval '${RM}r "$gentop"'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7369
	    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7370
	  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7371
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7372
	  exit $EXIT_SUCCESS
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7373
	fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7374
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7375
	# Create links to the real library.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7376
	for linkname in $linknames; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7377
	  if test "$realname" != "$linkname"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7378
	    func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7379
	  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7380
	done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7381
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7382
	# If -module or -export-dynamic was specified, set the dlname.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7383
	if test "$module" = yes || test "$export_dynamic" = yes; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7384
	  # On all known operating systems, these are identical.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7385
	  dlname="$soname"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7386
	fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7387
      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7388
      ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7389
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7390
    obj)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7391
      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7392
	func_warning "\`-dlopen' is ignored for objects"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7393
      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7394
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7395
      case " $deplibs" in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7396
      *\ -l* | *\ -L*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7397
	func_warning "\`-l' and \`-L' are ignored for objects" ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7398
      esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7399
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7400
      test -n "$rpath" && \
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7401
	func_warning "\`-rpath' is ignored for objects"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7402
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7403
      test -n "$xrpath" && \
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7404
	func_warning "\`-R' is ignored for objects"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7405
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7406
      test -n "$vinfo" && \
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7407
	func_warning "\`-version-info' is ignored for objects"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7408
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7409
      test -n "$release" && \
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7410
	func_warning "\`-release' is ignored for objects"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7411
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7412
      case $output in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7413
      *.lo)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7414
	test -n "$objs$old_deplibs" && \
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7415
	  func_fatal_error "cannot build library object \`$output' from non-libtool objects"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7416
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7417
	libobj=$output
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7418
	func_lo2o "$libobj"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7419
	obj=$func_lo2o_result
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7420
	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7421
      *)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7422
	libobj=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7423
	obj="$output"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7424
	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7425
      esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7426
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7427
      # Delete the old objects.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7428
      $opt_dry_run || $RM $obj $libobj
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7429
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7430
      # Objects from convenience libraries.  This assumes
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7431
      # single-version convenience libraries.  Whenever we create
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7432
      # different ones for PIC/non-PIC, this we'll have to duplicate
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7433
      # the extraction.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7434
      reload_conv_objs=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7435
      gentop=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7436
      # reload_cmds runs $LD directly, so let us get rid of
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7437
      # -Wl from whole_archive_flag_spec and hope we can get by with
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7438
      # turning comma into space..
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7439
      wl=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7440
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7441
      if test -n "$convenience"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7442
	if test -n "$whole_archive_flag_spec"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7443
	  eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7444
	  reload_conv_objs=$reload_objs\ `$ECHO "X$tmp_whole_archive_flags" | $Xsed -e 's|,| |g'`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7445
	else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7446
	  gentop="$output_objdir/${obj}x"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7447
	  generated="$generated $gentop"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7448
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7449
	  func_extract_archives $gentop $convenience
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7450
	  reload_conv_objs="$reload_objs $func_extract_archives_result"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7451
	fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7452
      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7453
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7454
      # Create the old-style object.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7455
      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
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7456
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7457
      output="$obj"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7458
      func_execute_cmds "$reload_cmds" 'exit $?'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7459
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7460
      # Exit if we aren't doing a library object file.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7461
      if test -z "$libobj"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7462
	if test -n "$gentop"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7463
	  func_show_eval '${RM}r "$gentop"'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7464
	fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7465
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7466
	exit $EXIT_SUCCESS
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7467
      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7468
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7469
      if test "$build_libtool_libs" != yes; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7470
	if test -n "$gentop"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7471
	  func_show_eval '${RM}r "$gentop"'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7472
	fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7473
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7474
	# Create an invalid libtool object if no PIC, so that we don't
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7475
	# accidentally link it into a program.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7476
	# $show "echo timestamp > $libobj"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7477
	# $opt_dry_run || eval "echo timestamp > $libobj" || exit $?
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7478
	exit $EXIT_SUCCESS
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7479
      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7480
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7481
      if test -n "$pic_flag" || test "$pic_mode" != default; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7482
	# Only do commands if we really have different PIC objects.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7483
	reload_objs="$libobjs $reload_conv_objs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7484
	output="$libobj"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7485
	func_execute_cmds "$reload_cmds" 'exit $?'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7486
      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7487
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7488
      if test -n "$gentop"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7489
	func_show_eval '${RM}r "$gentop"'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7490
      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7491
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7492
      exit $EXIT_SUCCESS
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7493
      ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7494
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7495
    prog)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7496
      case $host in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7497
	*cygwin*) func_stripname '' '.exe' "$output"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7498
	          output=$func_stripname_result.exe;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7499
      esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7500
      test -n "$vinfo" && \
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7501
	func_warning "\`-version-info' is ignored for programs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7502
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7503
      test -n "$release" && \
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7504
	func_warning "\`-release' is ignored for programs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7505
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7506
      test "$preload" = yes \
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7507
        && test "$dlopen_support" = unknown \
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7508
	&& test "$dlopen_self" = unknown \
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7509
	&& test "$dlopen_self_static" = unknown && \
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7510
	  func_warning "\`LT_INIT([dlopen])' not used. Assuming no dlopen support."
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7511
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7512
      case $host in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7513
      *-*-rhapsody* | *-*-darwin1.[012])
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7514
	# On Rhapsody replace the C library is the System framework
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7515
	compile_deplibs=`$ECHO "X $compile_deplibs" | $Xsed -e 's/ -lc / System.ltframework /'`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7516
	finalize_deplibs=`$ECHO "X $finalize_deplibs" | $Xsed -e 's/ -lc / System.ltframework /'`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7517
	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7518
      esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7519
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7520
      case $host in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7521
      *-*-darwin*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7522
	# Don't allow lazy linking, it breaks C++ global constructors
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7523
	# But is supposedly fixed on 10.4 or later (yay!).
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7524
	if test "$tagname" = CXX ; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7525
	  case ${MACOSX_DEPLOYMENT_TARGET-10.0} in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7526
	    10.[0123])
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7527
	      compile_command="$compile_command ${wl}-bind_at_load"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7528
	      finalize_command="$finalize_command ${wl}-bind_at_load"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7529
	    ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7530
	  esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7531
	fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7532
	# Time to change all our "foo.ltframework" stuff back to "-framework foo"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7533
	compile_deplibs=`$ECHO "X $compile_deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7534
	finalize_deplibs=`$ECHO "X $finalize_deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7535
	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7536
      esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7537
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7538
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7539
      # move library search paths that coincide with paths to not yet
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7540
      # installed libraries to the beginning of the library search list
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7541
      new_libs=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7542
      for path in $notinst_path; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7543
	case " $new_libs " in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7544
	*" -L$path/$objdir "*) ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7545
	*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7546
	  case " $compile_deplibs " in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7547
	  *" -L$path/$objdir "*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7548
	    new_libs="$new_libs -L$path/$objdir" ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7549
	  esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7550
	  ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7551
	esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7552
      done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7553
      for deplib in $compile_deplibs; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7554
	case $deplib in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7555
	-L*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7556
	  case " $new_libs " in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7557
	  *" $deplib "*) ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7558
	  *) new_libs="$new_libs $deplib" ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7559
	  esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7560
	  ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7561
	*) new_libs="$new_libs $deplib" ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7562
	esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7563
      done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7564
      compile_deplibs="$new_libs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7565
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7566
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7567
      compile_command="$compile_command $compile_deplibs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7568
      finalize_command="$finalize_command $finalize_deplibs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7569
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7570
      if test -n "$rpath$xrpath"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7571
	# If the user specified any rpath flags, then add them.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7572
	for libdir in $rpath $xrpath; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7573
	  # This is the magic to use -rpath.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7574
	  case "$finalize_rpath " in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7575
	  *" $libdir "*) ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7576
	  *) finalize_rpath="$finalize_rpath $libdir" ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7577
	  esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7578
	done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7579
      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7580
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7581
      # Now hardcode the library paths
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7582
      rpath=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7583
      hardcode_libdirs=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7584
      for libdir in $compile_rpath $finalize_rpath; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7585
	if test -n "$hardcode_libdir_flag_spec"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7586
	  if test -n "$hardcode_libdir_separator"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7587
	    if test -z "$hardcode_libdirs"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7588
	      hardcode_libdirs="$libdir"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7589
	    else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7590
	      # Just accumulate the unique libdirs.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7591
	      case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7592
	      *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7593
		;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7594
	      *)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7595
		hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7596
		;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7597
	      esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7598
	    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7599
	  else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7600
	    eval flag=\"$hardcode_libdir_flag_spec\"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7601
	    rpath="$rpath $flag"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7602
	  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7603
	elif test -n "$runpath_var"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7604
	  case "$perm_rpath " in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7605
	  *" $libdir "*) ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7606
	  *) perm_rpath="$perm_rpath $libdir" ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7607
	  esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7608
	fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7609
	case $host in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7610
	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7611
	  testbindir=`${ECHO} "$libdir" | ${SED} -e 's*/lib$*/bin*'`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7612
	  case :$dllsearchpath: in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7613
	  *":$libdir:"*) ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7614
	  ::) dllsearchpath=$libdir;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7615
	  *) dllsearchpath="$dllsearchpath:$libdir";;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7616
	  esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7617
	  case :$dllsearchpath: in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7618
	  *":$testbindir:"*) ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7619
	  ::) dllsearchpath=$testbindir;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7620
	  *) dllsearchpath="$dllsearchpath:$testbindir";;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7621
	  esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7622
	  ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7623
	esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7624
      done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7625
      # Substitute the hardcoded libdirs into the rpath.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7626
      if test -n "$hardcode_libdir_separator" &&
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7627
	 test -n "$hardcode_libdirs"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7628
	libdir="$hardcode_libdirs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7629
	eval rpath=\" $hardcode_libdir_flag_spec\"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7630
      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7631
      compile_rpath="$rpath"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7632
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7633
      rpath=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7634
      hardcode_libdirs=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7635
      for libdir in $finalize_rpath; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7636
	if test -n "$hardcode_libdir_flag_spec"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7637
	  if test -n "$hardcode_libdir_separator"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7638
	    if test -z "$hardcode_libdirs"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7639
	      hardcode_libdirs="$libdir"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7640
	    else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7641
	      # Just accumulate the unique libdirs.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7642
	      case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7643
	      *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7644
		;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7645
	      *)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7646
		hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7647
		;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7648
	      esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7649
	    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7650
	  else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7651
	    eval flag=\"$hardcode_libdir_flag_spec\"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7652
	    rpath="$rpath $flag"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7653
	  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7654
	elif test -n "$runpath_var"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7655
	  case "$finalize_perm_rpath " in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7656
	  *" $libdir "*) ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7657
	  *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7658
	  esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7659
	fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7660
      done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7661
      # Substitute the hardcoded libdirs into the rpath.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7662
      if test -n "$hardcode_libdir_separator" &&
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7663
	 test -n "$hardcode_libdirs"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7664
	libdir="$hardcode_libdirs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7665
	eval rpath=\" $hardcode_libdir_flag_spec\"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7666
      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7667
      finalize_rpath="$rpath"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7668
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7669
      if test -n "$libobjs" && test "$build_old_libs" = yes; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7670
	# Transform all the library objects into standard objects.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7671
	compile_command=`$ECHO "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7672
	finalize_command=`$ECHO "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7673
      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7674
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7675
      func_generate_dlsyms "$outputname" "@PROGRAM@" "no"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7676
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7677
      # template prelinking step
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7678
      if test -n "$prelink_cmds"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7679
	func_execute_cmds "$prelink_cmds" 'exit $?'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7680
      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7681
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7682
      wrappers_required=yes
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7683
      case $host in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7684
      *cygwin* | *mingw* )
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7685
        if test "$build_libtool_libs" != yes; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7686
          wrappers_required=no
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7687
        fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7688
        ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7689
      *cegcc)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7690
        # Disable wrappers for cegcc, we are cross compiling anyway.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7691
        wrappers_required=no
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7692
        ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7693
      *)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7694
        if test "$need_relink" = no || test "$build_libtool_libs" != yes; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7695
          wrappers_required=no
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7696
        fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7697
        ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7698
      esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7699
      if test "$wrappers_required" = no; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7700
	# Replace the output file specification.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7701
	compile_command=`$ECHO "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7702
	link_command="$compile_command$compile_rpath"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7703
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7704
	# We have no uninstalled library dependencies, so finalize right now.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7705
	exit_status=0
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7706
	func_show_eval "$link_command" 'exit_status=$?'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7707
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7708
	# Delete the generated files.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7709
	if test -f "$output_objdir/${outputname}S.${objext}"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7710
	  func_show_eval '$RM "$output_objdir/${outputname}S.${objext}"'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7711
	fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7712
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7713
	exit $exit_status
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7714
      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7715
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7716
      if test -n "$compile_shlibpath$finalize_shlibpath"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7717
	compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7718
      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7719
      if test -n "$finalize_shlibpath"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7720
	finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7721
      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7722
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7723
      compile_var=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7724
      finalize_var=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7725
      if test -n "$runpath_var"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7726
	if test -n "$perm_rpath"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7727
	  # We should set the runpath_var.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7728
	  rpath=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7729
	  for dir in $perm_rpath; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7730
	    rpath="$rpath$dir:"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7731
	  done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7732
	  compile_var="$runpath_var=\"$rpath\$$runpath_var\" "
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7733
	fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7734
	if test -n "$finalize_perm_rpath"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7735
	  # We should set the runpath_var.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7736
	  rpath=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7737
	  for dir in $finalize_perm_rpath; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7738
	    rpath="$rpath$dir:"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7739
	  done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7740
	  finalize_var="$runpath_var=\"$rpath\$$runpath_var\" "
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7741
	fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7742
      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7743
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7744
      if test "$no_install" = yes; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7745
	# We don't need to create a wrapper script.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7746
	link_command="$compile_var$compile_command$compile_rpath"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7747
	# Replace the output file specification.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7748
	link_command=`$ECHO "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7749
	# Delete the old output file.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7750
	$opt_dry_run || $RM $output
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7751
	# Link the executable and exit
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7752
	func_show_eval "$link_command" 'exit $?'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7753
	exit $EXIT_SUCCESS
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7754
      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7755
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7756
      if test "$hardcode_action" = relink; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7757
	# Fast installation is not supported
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7758
	link_command="$compile_var$compile_command$compile_rpath"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7759
	relink_command="$finalize_var$finalize_command$finalize_rpath"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7760
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7761
	func_warning "this platform does not like uninstalled shared libraries"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7762
	func_warning "\`$output' will be relinked during installation"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7763
      else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7764
	if test "$fast_install" != no; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7765
	  link_command="$finalize_var$compile_command$finalize_rpath"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7766
	  if test "$fast_install" = yes; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7767
	    relink_command=`$ECHO "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7768
	  else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7769
	    # fast_install is set to needless
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7770
	    relink_command=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7771
	  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7772
	else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7773
	  link_command="$compile_var$compile_command$compile_rpath"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7774
	  relink_command="$finalize_var$finalize_command$finalize_rpath"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7775
	fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7776
      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7777
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7778
      # Replace the output file specification.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7779
      link_command=`$ECHO "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7780
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7781
      # Delete the old output files.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7782
      $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7783
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7784
      func_show_eval "$link_command" 'exit $?'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7785
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7786
      # Now create the wrapper script.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7787
      func_verbose "creating $output"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7788
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7789
      # Quote the relink command for shipping.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7790
      if test -n "$relink_command"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7791
	# Preserve any variables that may affect compiler behavior
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7792
	for var in $variables_saved_for_relink; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7793
	  if eval test -z \"\${$var+set}\"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7794
	    relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7795
	  elif eval var_value=\$$var; test -z "$var_value"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7796
	    relink_command="$var=; export $var; $relink_command"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7797
	  else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7798
	    func_quote_for_eval "$var_value"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7799
	    relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7800
	  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7801
	done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7802
	relink_command="(cd `pwd`; $relink_command)"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7803
	relink_command=`$ECHO "X$relink_command" | $Xsed -e "$sed_quote_subst"`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7804
      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7805
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7806
      # Quote $ECHO for shipping.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7807
      if test "X$ECHO" = "X$SHELL $progpath --fallback-echo"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7808
	case $progpath in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7809
	[\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7810
	*) qecho="$SHELL `pwd`/$progpath --fallback-echo";;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7811
	esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7812
	qecho=`$ECHO "X$qecho" | $Xsed -e "$sed_quote_subst"`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7813
      else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7814
	qecho=`$ECHO "X$ECHO" | $Xsed -e "$sed_quote_subst"`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7815
      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7816
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7817
      # Only actually do things if not in dry run mode.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7818
      $opt_dry_run || {
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7819
	# win32 will think the script is a binary if it has
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7820
	# a .exe suffix, so we strip it off here.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7821
	case $output in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7822
	  *.exe) func_stripname '' '.exe' "$output"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7823
	         output=$func_stripname_result ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7824
	esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7825
	# test for cygwin because mv fails w/o .exe extensions
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7826
	case $host in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7827
	  *cygwin*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7828
	    exeext=.exe
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7829
	    func_stripname '' '.exe' "$outputname"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7830
	    outputname=$func_stripname_result ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7831
	  *) exeext= ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7832
	esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7833
	case $host in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7834
	  *cygwin* | *mingw* )
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7835
	    func_dirname_and_basename "$output" "" "."
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7836
	    output_name=$func_basename_result
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7837
	    output_path=$func_dirname_result
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7838
	    cwrappersource="$output_path/$objdir/lt-$output_name.c"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7839
	    cwrapper="$output_path/$output_name.exe"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7840
	    $RM $cwrappersource $cwrapper
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7841
	    trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7842
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7843
	    func_emit_cwrapperexe_src > $cwrappersource
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7844
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7845
	    # The wrapper executable is built using the $host compiler,
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7846
	    # because it contains $host paths and files. If cross-
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7847
	    # compiling, it, like the target executable, must be
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7848
	    # executed on the $host or under an emulation environment.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7849
	    $opt_dry_run || {
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7850
	      $LTCC $LTCFLAGS -o $cwrapper $cwrappersource
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7851
	      $STRIP $cwrapper
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7852
	    }
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7853
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7854
	    # Now, create the wrapper script for func_source use:
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7855
	    func_ltwrapper_scriptname $cwrapper
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7856
	    $RM $func_ltwrapper_scriptname_result
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7857
	    trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7858
	    $opt_dry_run || {
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7859
	      # note: this script will not be executed, so do not chmod.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7860
	      if test "x$build" = "x$host" ; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7861
		$cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7862
	      else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7863
		func_emit_wrapper no > $func_ltwrapper_scriptname_result
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7864
	      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7865
	    }
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7866
	  ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7867
	  * )
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7868
	    $RM $output
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7869
	    trap "$RM $output; exit $EXIT_FAILURE" 1 2 15
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7870
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7871
	    func_emit_wrapper no > $output
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7872
	    chmod +x $output
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7873
	  ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7874
	esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7875
      }
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7876
      exit $EXIT_SUCCESS
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7877
      ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7878
    esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7879
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7880
    # See if we need to build an old-fashioned archive.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7881
    for oldlib in $oldlibs; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7882
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7883
      if test "$build_libtool_libs" = convenience; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7884
	oldobjs="$libobjs_save $symfileobj"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7885
	addlibs="$convenience"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7886
	build_libtool_libs=no
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7887
      else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7888
	if test "$build_libtool_libs" = module; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7889
	  oldobjs="$libobjs_save"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7890
	  build_libtool_libs=no
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7891
	else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7892
	  oldobjs="$old_deplibs $non_pic_objects"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7893
	  if test "$preload" = yes && test -f "$symfileobj"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7894
	    oldobjs="$oldobjs $symfileobj"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7895
	  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7896
	fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7897
	addlibs="$old_convenience"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7898
      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7899
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7900
      if test -n "$addlibs"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7901
	gentop="$output_objdir/${outputname}x"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7902
	generated="$generated $gentop"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7903
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7904
	func_extract_archives $gentop $addlibs
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7905
	oldobjs="$oldobjs $func_extract_archives_result"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7906
      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7907
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7908
      # Do each command in the archive commands.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7909
      if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7910
	cmds=$old_archive_from_new_cmds
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7911
      else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7912
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7913
	# Add any objects from preloaded convenience libraries
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7914
	if test -n "$dlprefiles"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7915
	  gentop="$output_objdir/${outputname}x"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7916
	  generated="$generated $gentop"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7917
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7918
	  func_extract_archives $gentop $dlprefiles
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7919
	  oldobjs="$oldobjs $func_extract_archives_result"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7920
	fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7921
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7922
	# POSIX demands no paths to be encoded in archives.  We have
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7923
	# to avoid creating archives with duplicate basenames if we
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7924
	# might have to extract them afterwards, e.g., when creating a
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7925
	# static archive out of a convenience library, or when linking
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7926
	# the entirety of a libtool archive into another (currently
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7927
	# not supported by libtool).
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7928
	if (for obj in $oldobjs
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7929
	    do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7930
	      func_basename "$obj"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7931
	      $ECHO "$func_basename_result"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7932
	    done | sort | sort -uc >/dev/null 2>&1); then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7933
	  :
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7934
	else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7935
	  $ECHO "copying selected object files to avoid basename conflicts..."
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7936
	  gentop="$output_objdir/${outputname}x"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7937
	  generated="$generated $gentop"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7938
	  func_mkdir_p "$gentop"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7939
	  save_oldobjs=$oldobjs
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7940
	  oldobjs=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7941
	  counter=1
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7942
	  for obj in $save_oldobjs
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7943
	  do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7944
	    func_basename "$obj"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7945
	    objbase="$func_basename_result"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7946
	    case " $oldobjs " in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7947
	    " ") oldobjs=$obj ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7948
	    *[\ /]"$objbase "*)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7949
	      while :; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7950
		# Make sure we don't pick an alternate name that also
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7951
		# overlaps.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7952
		newobj=lt$counter-$objbase
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7953
		func_arith $counter + 1
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7954
		counter=$func_arith_result
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7955
		case " $oldobjs " in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7956
		*[\ /]"$newobj "*) ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7957
		*) if test ! -f "$gentop/$newobj"; then break; fi ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7958
		esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7959
	      done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7960
	      func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7961
	      oldobjs="$oldobjs $gentop/$newobj"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7962
	      ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7963
	    *) oldobjs="$oldobjs $obj" ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7964
	    esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7965
	  done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7966
	fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7967
	eval cmds=\"$old_archive_cmds\"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7968
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7969
	func_len " $cmds"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7970
	len=$func_len_result
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7971
	if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7972
	  cmds=$old_archive_cmds
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7973
	else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7974
	  # the command line is too long to link in one step, link in parts
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7975
	  func_verbose "using piecewise archive linking..."
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7976
	  save_RANLIB=$RANLIB
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7977
	  RANLIB=:
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7978
	  objlist=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7979
	  concat_cmds=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7980
	  save_oldobjs=$oldobjs
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7981
	  oldobjs=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7982
	  # Is there a better way of finding the last object in the list?
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7983
	  for obj in $save_oldobjs
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7984
	  do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7985
	    last_oldobj=$obj
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7986
	  done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7987
	  eval test_cmds=\"$old_archive_cmds\"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7988
	  func_len " $test_cmds"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7989
	  len0=$func_len_result
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7990
	  len=$len0
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7991
	  for obj in $save_oldobjs
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7992
	  do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7993
	    func_len " $obj"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7994
	    func_arith $len + $func_len_result
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7995
	    len=$func_arith_result
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7996
	    func_append objlist " $obj"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7997
	    if test "$len" -lt "$max_cmd_len"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7998
	      :
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  7999
	    else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8000
	      # the above command should be used before it gets too long
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8001
	      oldobjs=$objlist
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8002
	      if test "$obj" = "$last_oldobj" ; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8003
		RANLIB=$save_RANLIB
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8004
	      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8005
	      test -z "$concat_cmds" || concat_cmds=$concat_cmds~
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8006
	      eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8007
	      objlist=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8008
	      len=$len0
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8009
	    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8010
	  done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8011
	  RANLIB=$save_RANLIB
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8012
	  oldobjs=$objlist
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8013
	  if test "X$oldobjs" = "X" ; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8014
	    eval cmds=\"\$concat_cmds\"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8015
	  else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8016
	    eval cmds=\"\$concat_cmds~\$old_archive_cmds\"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8017
	  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8018
	fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8019
      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8020
      func_execute_cmds "$cmds" 'exit $?'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8021
    done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8022
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8023
    test -n "$generated" && \
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8024
      func_show_eval "${RM}r$generated"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8025
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8026
    # Now create the libtool archive.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8027
    case $output in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8028
    *.la)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8029
      old_library=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8030
      test "$build_old_libs" = yes && old_library="$libname.$libext"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8031
      func_verbose "creating $output"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8032
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8033
      # Preserve any variables that may affect compiler behavior
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8034
      for var in $variables_saved_for_relink; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8035
	if eval test -z \"\${$var+set}\"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8036
	  relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8037
	elif eval var_value=\$$var; test -z "$var_value"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8038
	  relink_command="$var=; export $var; $relink_command"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8039
	else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8040
	  func_quote_for_eval "$var_value"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8041
	  relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8042
	fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8043
      done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8044
      # Quote the link command for shipping.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8045
      relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8046
      relink_command=`$ECHO "X$relink_command" | $Xsed -e "$sed_quote_subst"`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8047
      if test "$hardcode_automatic" = yes ; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8048
	relink_command=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8049
      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8050
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8051
      # Only create the output if not a dry run.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8052
      $opt_dry_run || {
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8053
	for installed in no yes; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8054
	  if test "$installed" = yes; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8055
	    if test -z "$install_libdir"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8056
	      break
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8057
	    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8058
	    output="$output_objdir/$outputname"i
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8059
	    # Replace all uninstalled libtool libraries with the installed ones
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8060
	    newdependency_libs=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8061
	    for deplib in $dependency_libs; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8062
	      case $deplib in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8063
	      *.la)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8064
		func_basename "$deplib"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8065
		name="$func_basename_result"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8066
		eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8067
		test -z "$libdir" && \
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8068
		  func_fatal_error "\`$deplib' is not a valid libtool archive"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8069
		newdependency_libs="$newdependency_libs $libdir/$name"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8070
		;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8071
	      *) newdependency_libs="$newdependency_libs $deplib" ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8072
	      esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8073
	    done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8074
	    dependency_libs="$newdependency_libs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8075
	    newdlfiles=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8076
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8077
	    for lib in $dlfiles; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8078
	      case $lib in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8079
	      *.la)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8080
	        func_basename "$lib"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8081
		name="$func_basename_result"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8082
		eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8083
		test -z "$libdir" && \
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8084
		  func_fatal_error "\`$lib' is not a valid libtool archive"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8085
		newdlfiles="$newdlfiles $libdir/$name"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8086
		;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8087
	      *) newdlfiles="$newdlfiles $lib" ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8088
	      esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8089
	    done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8090
	    dlfiles="$newdlfiles"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8091
	    newdlprefiles=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8092
	    for lib in $dlprefiles; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8093
	      case $lib in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8094
	      *.la)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8095
		# Only pass preopened files to the pseudo-archive (for
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8096
		# eventual linking with the app. that links it) if we
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8097
		# didn't already link the preopened objects directly into
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8098
		# the library:
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8099
		func_basename "$lib"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8100
		name="$func_basename_result"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8101
		eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8102
		test -z "$libdir" && \
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8103
		  func_fatal_error "\`$lib' is not a valid libtool archive"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8104
		newdlprefiles="$newdlprefiles $libdir/$name"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8105
		;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8106
	      esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8107
	    done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8108
	    dlprefiles="$newdlprefiles"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8109
	  else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8110
	    newdlfiles=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8111
	    for lib in $dlfiles; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8112
	      case $lib in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8113
		[\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8114
		*) abs=`pwd`"/$lib" ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8115
	      esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8116
	      newdlfiles="$newdlfiles $abs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8117
	    done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8118
	    dlfiles="$newdlfiles"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8119
	    newdlprefiles=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8120
	    for lib in $dlprefiles; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8121
	      case $lib in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8122
		[\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8123
		*) abs=`pwd`"/$lib" ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8124
	      esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8125
	      newdlprefiles="$newdlprefiles $abs"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8126
	    done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8127
	    dlprefiles="$newdlprefiles"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8128
	  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8129
	  $RM $output
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8130
	  # place dlname in correct position for cygwin
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8131
	  tdlname=$dlname
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8132
	  case $host,$output,$installed,$module,$dlname in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8133
	    *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8134
	  esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8135
	  $ECHO > $output "\
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8136
# $outputname - a libtool library file
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8137
# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8138
#
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8139
# Please DO NOT delete this file!
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8140
# It is necessary for linking the library.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8141
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8142
# The name that we can dlopen(3).
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8143
dlname='$tdlname'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8144
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8145
# Names of this library.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8146
library_names='$library_names'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8147
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8148
# The name of the static archive.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8149
old_library='$old_library'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8150
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8151
# Linker flags that can not go in dependency_libs.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8152
inherited_linker_flags='$new_inherited_linker_flags'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8153
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8154
# Libraries that this one depends upon.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8155
dependency_libs='$dependency_libs'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8156
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8157
# Names of additional weak libraries provided by this library
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8158
weak_library_names='$weak_libs'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8159
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8160
# Version information for $libname.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8161
current=$current
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8162
age=$age
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8163
revision=$revision
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8164
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8165
# Is this an already installed library?
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8166
installed=$installed
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8167
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8168
# Should we warn about portability when linking against -modules?
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8169
shouldnotlink=$module
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8170
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8171
# Files to dlopen/dlpreopen
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8172
dlopen='$dlfiles'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8173
dlpreopen='$dlprefiles'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8174
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8175
# Directory that this library needs to be installed in:
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8176
libdir='$install_libdir'"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8177
	  if test "$installed" = no && test "$need_relink" = yes; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8178
	    $ECHO >> $output "\
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8179
relink_command=\"$relink_command\""
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8180
	  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8181
	done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8182
      }
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8183
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8184
      # Do a symbolic link so that the libtool archive can be found in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8185
      # LD_LIBRARY_PATH before the program is installed.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8186
      func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8187
      ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8188
    esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8189
    exit $EXIT_SUCCESS
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8190
}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8191
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8192
{ test "$mode" = link || test "$mode" = relink; } &&
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8193
    func_mode_link ${1+"$@"}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8194
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8195
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8196
# func_mode_uninstall arg...
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8197
func_mode_uninstall ()
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8198
{
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8199
    $opt_debug
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8200
    RM="$nonopt"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8201
    files=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8202
    rmforce=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8203
    exit_status=0
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8204
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8205
    # This variable tells wrapper scripts just to set variables rather
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8206
    # than running their programs.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8207
    libtool_install_magic="$magic"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8208
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8209
    for arg
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8210
    do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8211
      case $arg in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8212
      -f) RM="$RM $arg"; rmforce=yes ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8213
      -*) RM="$RM $arg" ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8214
      *) files="$files $arg" ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8215
      esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8216
    done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8217
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8218
    test -z "$RM" && \
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8219
      func_fatal_help "you must specify an RM program"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8220
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8221
    rmdirs=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8222
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8223
    origobjdir="$objdir"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8224
    for file in $files; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8225
      func_dirname "$file" "" "."
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8226
      dir="$func_dirname_result"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8227
      if test "X$dir" = X.; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8228
	objdir="$origobjdir"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8229
      else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8230
	objdir="$dir/$origobjdir"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8231
      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8232
      func_basename "$file"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8233
      name="$func_basename_result"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8234
      test "$mode" = uninstall && objdir="$dir"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8235
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8236
      # Remember objdir for removal later, being careful to avoid duplicates
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8237
      if test "$mode" = clean; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8238
	case " $rmdirs " in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8239
	  *" $objdir "*) ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8240
	  *) rmdirs="$rmdirs $objdir" ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8241
	esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8242
      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8243
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8244
      # Don't error if the file doesn't exist and rm -f was used.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8245
      if { test -L "$file"; } >/dev/null 2>&1 ||
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8246
	 { test -h "$file"; } >/dev/null 2>&1 ||
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8247
	 test -f "$file"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8248
	:
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8249
      elif test -d "$file"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8250
	exit_status=1
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8251
	continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8252
      elif test "$rmforce" = yes; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8253
	continue
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8254
      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8255
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8256
      rmfiles="$file"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8257
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8258
      case $name in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8259
      *.la)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8260
	# Possibly a libtool archive, so verify it.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8261
	if func_lalib_p "$file"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8262
	  func_source $dir/$name
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8263
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8264
	  # Delete the libtool libraries and symlinks.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8265
	  for n in $library_names; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8266
	    rmfiles="$rmfiles $objdir/$n"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8267
	  done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8268
	  test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8269
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8270
	  case "$mode" in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8271
	  clean)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8272
	    case "  $library_names " in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8273
	    # "  " in the beginning catches empty $dlname
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8274
	    *" $dlname "*) ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8275
	    *) rmfiles="$rmfiles $objdir/$dlname" ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8276
	    esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8277
	    test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8278
	    ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8279
	  uninstall)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8280
	    if test -n "$library_names"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8281
	      # Do each command in the postuninstall commands.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8282
	      func_execute_cmds "$postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8283
	    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8284
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8285
	    if test -n "$old_library"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8286
	      # Do each command in the old_postuninstall commands.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8287
	      func_execute_cmds "$old_postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8288
	    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8289
	    # FIXME: should reinstall the best remaining shared library.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8290
	    ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8291
	  esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8292
	fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8293
	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8294
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8295
      *.lo)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8296
	# Possibly a libtool object, so verify it.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8297
	if func_lalib_p "$file"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8298
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8299
	  # Read the .lo file
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8300
	  func_source $dir/$name
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8301
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8302
	  # Add PIC object to the list of files to remove.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8303
	  if test -n "$pic_object" &&
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8304
	     test "$pic_object" != none; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8305
	    rmfiles="$rmfiles $dir/$pic_object"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8306
	  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8307
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8308
	  # Add non-PIC object to the list of files to remove.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8309
	  if test -n "$non_pic_object" &&
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8310
	     test "$non_pic_object" != none; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8311
	    rmfiles="$rmfiles $dir/$non_pic_object"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8312
	  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8313
	fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8314
	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8315
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8316
      *)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8317
	if test "$mode" = clean ; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8318
	  noexename=$name
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8319
	  case $file in
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8320
	  *.exe)
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8321
	    func_stripname '' '.exe' "$file"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8322
	    file=$func_stripname_result
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8323
	    func_stripname '' '.exe' "$name"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8324
	    noexename=$func_stripname_result
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8325
	    # $file with .exe has already been added to rmfiles,
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8326
	    # add $file without .exe
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8327
	    rmfiles="$rmfiles $file"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8328
	    ;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8329
	  esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8330
	  # Do a test to see if this is a libtool program.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8331
	  if func_ltwrapper_p "$file"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8332
	    if func_ltwrapper_executable_p "$file"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8333
	      func_ltwrapper_scriptname "$file"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8334
	      relink_command=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8335
	      func_source $func_ltwrapper_scriptname_result
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8336
	      rmfiles="$rmfiles $func_ltwrapper_scriptname_result"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8337
	    else
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8338
	      relink_command=
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8339
	      func_source $dir/$noexename
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8340
	    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8341
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8342
	    # note $name still contains .exe if it was in $file originally
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8343
	    # as does the version of $file that was added into $rmfiles
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8344
	    rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8345
	    if test "$fast_install" = yes && test -n "$relink_command"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8346
	      rmfiles="$rmfiles $objdir/lt-$name"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8347
	    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8348
	    if test "X$noexename" != "X$name" ; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8349
	      rmfiles="$rmfiles $objdir/lt-${noexename}.c"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8350
	    fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8351
	  fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8352
	fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8353
	;;
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8354
      esac
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8355
      func_show_eval "$RM $rmfiles" 'exit_status=1'
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8356
    done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8357
    objdir="$origobjdir"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8358
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8359
    # Try to remove the ${objdir}s in the directories where we deleted files
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8360
    for dir in $rmdirs; do
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8361
      if test -d "$dir"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8362
	func_show_eval "rmdir $dir >/dev/null 2>&1"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8363
      fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8364
    done
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8365
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8366
    exit $exit_status
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8367
}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8368
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8369
{ test "$mode" = uninstall || test "$mode" = clean; } &&
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8370
    func_mode_uninstall ${1+"$@"}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8371
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8372
test -z "$mode" && {
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8373
  help="$generic_help"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8374
  func_fatal_help "you must specify a MODE"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8375
}
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8376
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8377
test -z "$exec_cmd" && \
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8378
  func_fatal_help "invalid operation mode \`$mode'"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8379
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8380
if test -n "$exec_cmd"; then
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8381
  eval exec "$exec_cmd"
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8382
  exit $EXIT_FAILURE
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8383
fi
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8384
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8385
exit $exit_status
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8386
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8387
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8388
# The TAGs below are defined such that we never get into a situation
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8389
# in which we disable both kinds of libraries.  Given conflicting
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8390
# choices, we go for a static library, that is the most portable,
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8391
# since we can't tell whether shared libraries were disabled because
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8392
# the user asked for that or because the platform doesn't support
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8393
# them.  This is particularly important on AIX, because we don't
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8394
# support having both static and shared libraries enabled at the same
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8395
# time on that platform, so we default to a shared-only configuration.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8396
# If a disable-shared tag is given, we'll fallback to a static-only
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8397
# configuration.  But we'll never go from static-only to shared-only.
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8398
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8399
# ### BEGIN LIBTOOL TAG CONFIG: disable-shared
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8400
build_libtool_libs=no
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8401
build_old_libs=yes
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8402
# ### END LIBTOOL TAG CONFIG: disable-shared
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8403
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8404
# ### BEGIN LIBTOOL TAG CONFIG: disable-static
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8405
build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac`
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8406
# ### END LIBTOOL TAG CONFIG: disable-static
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8407
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8408
# Local Variables:
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8409
# mode:shell-script
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8410
# sh-indentation:2
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8411
# End:
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8412
# vi:sw=2
17bffb57a8c5 Building compiler with autoconf. Thanks go to Matteo of sirius-es.it
Mario de Sousa <msousa@fe.up.pt>
parents:
diff changeset
  8413