---input---
# ltmain.sh - Provide generalized library-building support services.
# NOTE: Changing this file will not affect anything until you rerun configure.
#
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005
# Free Software Foundation, Inc.
# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.

basename="s,^.*/,,g"

# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
# is ksh but when the shell is invoked as "sh" and the current value of
# the _XPG environment variable is not equal to 1 (one), the special
# positional parameter $0, within a function call, is the name of the
# function.
progpath="$0"

# define SED for historic ltconfig's generated by Libtool 1.3
test -z "$SED" && SED=sed

# The name of this program:
progname=`echo "$progpath" | $SED $basename`
modename="$progname"

# Global variables:
EXIT_SUCCESS=0
EXIT_FAILURE=1

PROGRAM=ltmain.sh
PACKAGE=libtool
VERSION=1.5.22
TIMESTAMP=" (1.1220.2.365 2005/12/18 22:14:06)"

# See if we are running on zsh, and set the options which allow our
# commands through without removal of \ escapes.
if test -n "${ZSH_VERSION+set}" ; then
  setopt NO_GLOB_SUBST
fi
# Same for EGREP, and just to be sure, do LTCC as well
if test "X$EGREP" = X ; then
    EGREP=egrep
fi
if test "X$LTCC" = X ; then
    LTCC=${CC-gcc}
fi

# Check that we have a working $echo.
if test "X$1" = X--no-reexec; then
  # Discard the --no-reexec flag, and continue.
  shift
elif test "X$1" = X--fallback-echo; then
  # Avoid inline document here, it may be left over
  :
elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then
  # Yippee, $echo works!
  :
else
  # Restart under the correct shell, and then maybe $echo will work.
  exec $SHELL "$progpath" --no-reexec ${1+"$@"}
fi

if test "X$1" = X--fallback-echo; then
  # used as fallback echo
  shift
  cat <<EOF
$*
EOF
  exit $EXIT_SUCCESS
fi

default_mode=
help="Try \`$progname --help' for more information."
magic="%%%MAGIC variable%%%"
mkdir="mkdir"
mv="mv -f"
rm="rm -f"

# Sed substitution that helps us do robust quoting.  It backslashifies
# metacharacters that are still active within double-quoted strings.
Xsed="${SED}"' -e 1s/^X//'
sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g'
# test EBCDIC or ASCII
case `echo X|tr X '\101'` in
 A) # ASCII based system
    # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
  SP2NL='tr \040 \012'
  NL2SP='tr \015\012 \040\040'
  ;;
 *) # EBCDIC based system
  SP2NL='tr \100 \n'
  NL2SP='tr \r\n \100\100'
  ;;
esac

# NLS nuisances.
# Only set LANG and LC_ALL to C if already set.
# These must not be set unconditionally because not all systems understand
# e.g. LANG=C (notably SCO).
# We save the old values to restore during execute mode.
if test "${LC_ALL+set}" = set; then
  save_LC_ALL="$LC_ALL"; LC_ALL=C; export LC_ALL
fi
if test "${LANG+set}" = set; then
  save_LANG="$LANG"; LANG=C; export LANG
fi

# Make sure IFS has a sensible default
lt_nl='
'
IFS=" 	$lt_nl"

if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
  $echo "$modename: not configured to build any kind of library" 1>&2
  $echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
  exit $EXIT_FAILURE
fi

# Global variables.
mode=$default_mode
nonopt=
prev=
prevopt=
run=
show="$echo"
show_help=
execute_dlfiles=
duplicate_deps=no
preserve_args=
lo2o="s/\\.lo\$/.${objext}/"
o2lo="s/\\.${objext}\$/.lo/"

if test -z "$max_cmd_len"; then
  i=0
  testring="ABCD"
  new_result=
  
  # If test is not a shell built-in, we'll probably end up computing a
  # maximum length that is only half of the actual maximum length, but
  # we can't tell.
  while (test "X"`$SHELL $0 --fallback-echo "X$testring" 2>/dev/null` \
             = "XX$testring") >/dev/null 2>&1 &&
          new_result=`expr "X$testring" : ".*" 2>&1` &&
          max_cmd_len="$new_result" &&
          test "$i" != 17 # 1/2 MB should be enough
  do
    i=`expr $i + 1`
    testring="$testring$testring"
  done
  testring=
  # Add a significant safety factor because C++ compilers can tack on massive
  # amounts of additional arguments before passing them to the linker.
  # It appears as though 1/2 is a usable value.
  max_cmd_len=`expr $max_cmd_len \/ 2`
fi

#####################################
# Shell function definitions:
# This seems to be the best place for them

# func_mktempdir [string]
# Make a temporary directory that won't clash with other running
# libtool processes, and avoids race conditions if possible.  If
# given, STRING is the basename for that directory.
func_mktempdir ()
{
    my_template="${TMPDIR-/tmp}/${1-$progname}"

    if test "$run" = ":"; then
      # Return a directory name, but don't create it in dry-run mode
      my_tmpdir="${my_template}-$$"
    else

      # If mktemp works, use that first and foremost
      my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null`

      if test ! -d "$my_tmpdir"; then
	# Failing that, at least try and use $RANDOM to avoid a race
	my_tmpdir="${my_template}-${RANDOM-0}$$"

	save_mktempdir_umask=`umask`
	umask 0077
	$mkdir "$my_tmpdir"
	umask $save_mktempdir_umask
      fi

      # If we're not in dry-run mode, bomb out on failure
      test -d "$my_tmpdir" || {
        $echo "cannot create temporary directory \`$my_tmpdir'" 1>&2
	exit $EXIT_FAILURE
      }
    fi

    $echo "X$my_tmpdir" | $Xsed
}


# func_win32_libid arg
# return the library type of file 'arg'
#
# Need a lot of goo to handle *both* DLLs and import libs
# Has to be a shell function in order to 'eat' the argument
# that is supplied when $file_magic_command is called.
func_win32_libid ()
{
  win32_libid_type="unknown"
  win32_fileres=`file -L $1 2>/dev/null`
  case $win32_fileres in
  *ar\ archive\ import\ library*) # definitely import
    win32_libid_type="x86 archive import"
    ;;
  *ar\ archive*) # could be an import, or static
    if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | \
      $EGREP -e 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then
      win32_nmres=`eval $NM -f posix -A $1 | \
	$SED -n -e '1,100{/ I /{s,.*,import,;p;q;};}'`
      case $win32_nmres in
      import*)  win32_libid_type="x86 archive import";;
      *)        win32_libid_type="x86 archive static";;
      esac
    fi
    ;;
  *DLL*)
    win32_libid_type="x86 DLL"
    ;;
  *executable*) # but shell scripts are "executable" too...
    case $win32_fileres in
    *MS\ Windows\ PE\ Intel*)
      win32_libid_type="x86 DLL"
      ;;
    esac
    ;;
  esac
  $echo $win32_libid_type
}


# func_infer_tag arg
# Infer tagged configuration to use if any are available and
# if one wasn't chosen via the "--tag" command line option.
# Only attempt this if the compiler in the base compile
# command doesn't match the default compiler.
# arg is usually of the form 'gcc ...'
func_infer_tag ()
{
    if test -n "$available_tags" && test -z "$tagname"; then
      CC_quoted=
      for arg in $CC; do
	case $arg in
	  *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
	  arg="\"$arg\""
	  ;;
	esac
	CC_quoted="$CC_quoted $arg"
      done
      case $@ in
      # Blanks in the command may have been stripped by the calling shell,
      # but not from the CC environment variable when configure was run.
      " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) ;;
      # Blanks at the start of $base_compile will cause this to fail
      # if we don't check for them as well.
      *)
	for z in $available_tags; do
	  if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then
	    # Evaluate the configuration.
	    eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
	    CC_quoted=
	    for arg in $CC; do
	    # Double-quote args containing other shell metacharacters.
	    case $arg in
	      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
	      arg="\"$arg\""
	      ;;
	    esac
	    CC_quoted="$CC_quoted $arg"
	  done
	    # user sometimes does CC=<HOST>-gcc so we need to match that to 'gcc'
	    trimedcc=`echo ${CC} | $SED -e "s/${host}-//g"`
	    # and sometimes libtool has CC=<HOST>-gcc but user does CC=gcc
	    extendcc=${host}-${CC}
	    # and sometimes libtool has CC=<OLDHOST>-gcc but user has CC=<NEWHOST>-gcc  
	    # (Gentoo-specific hack because we always export $CHOST)
	    mungedcc=${CHOST-${host}}-${trimedcc}
	    case "$@ " in
	      "cc "* | " cc "* | "${host}-cc "* | " ${host}-cc "*|\
	      "gcc "* | " gcc "* | "${host}-gcc "* | " ${host}-gcc "*)
	      tagname=CC
	      break ;;
	      "$trimedcc "* | " $trimedcc "* | "`$echo $trimedcc` "* | " `$echo $trimedcc` "*|\
	      "$extendcc "* | " $extendcc "* | "`$echo $extendcc` "* | " `$echo $extendcc` "*|\
	      "$mungedcc "* | " $mungedcc "* | "`$echo $mungedcc` "* | " `$echo $mungedcc` "*|\
	      " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*)
	      # The compiler in the base compile command matches
	      # the one in the tagged configuration.
	      # Assume this is the tagged configuration we want.
	      tagname=$z
	      break
	      ;;
	    esac
	  fi
	done
	# If $tagname still isn't set, then no tagged configuration
	# was found and let the user know that the "--tag" command
	# line option must be used.
	if test -z "$tagname"; then
	  $echo "$modename: unable to infer tagged configuration"
	  $echo "$modename: specify a tag with \`--tag'" 1>&2
	  exit $EXIT_FAILURE
#        else
#          $echo "$modename: using $tagname tagged configuration"
	fi
	;;
      esac
    fi
}


# func_extract_an_archive dir oldlib
func_extract_an_archive ()
{
    f_ex_an_ar_dir="$1"; shift
    f_ex_an_ar_oldlib="$1"

    $show "(cd $f_ex_an_ar_dir && $AR x $f_ex_an_ar_oldlib)"
    $run eval "(cd \$f_ex_an_ar_dir && $AR x \$f_ex_an_ar_oldlib)" || exit $?
    if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
     :
    else
      $echo "$modename: ERROR: object name conflicts: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" 1>&2
      exit $EXIT_FAILURE
    fi
}

# func_extract_archives gentop oldlib ...
func_extract_archives ()
{
    my_gentop="$1"; shift
    my_oldlibs=${1+"$@"}
    my_oldobjs=""
    my_xlib=""
    my_xabs=""
    my_xdir=""
    my_status=""

    $show "${rm}r $my_gentop"
    $run ${rm}r "$my_gentop"
    $show "$mkdir $my_gentop"
    $run $mkdir "$my_gentop"
    my_status=$?
    if test "$my_status" -ne 0 && test ! -d "$my_gentop"; then
      exit $my_status
    fi

    for my_xlib in $my_oldlibs; do
      # Extract the objects.
      case $my_xlib in
	[\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;;
	*) my_xabs=`pwd`"/$my_xlib" ;;
      esac
      my_xlib=`$echo "X$my_xlib" | $Xsed -e 's%^.*/%%'`
      my_xdir="$my_gentop/$my_xlib"

      $show "${rm}r $my_xdir"
      $run ${rm}r "$my_xdir"
      $show "$mkdir $my_xdir"
      $run $mkdir "$my_xdir"
      exit_status=$?
      if test "$exit_status" -ne 0 && test ! -d "$my_xdir"; then
	exit $exit_status
      fi
      case $host in
      *-darwin*)
	$show "Extracting $my_xabs"
	# Do not bother doing anything if just a dry run
	if test -z "$run"; then
	  darwin_orig_dir=`pwd`
	  cd $my_xdir || exit $?
	  darwin_archive=$my_xabs
	  darwin_curdir=`pwd`
	  darwin_base_archive=`$echo "X$darwin_archive" | $Xsed -e 's%^.*/%%'`
	  darwin_arches=`lipo -info "$darwin_archive" 2>/dev/null | $EGREP Architectures 2>/dev/null`
	  if test -n "$darwin_arches"; then 
	    darwin_arches=`echo "$darwin_arches" | $SED -e 's/.*are://'`
	    darwin_arch=
	    $show "$darwin_base_archive has multiple architectures $darwin_arches"
	    for darwin_arch in  $darwin_arches ; do
	      mkdir -p "unfat-$$/${darwin_base_archive}-${darwin_arch}"
	      lipo -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}"
	      cd "unfat-$$/${darwin_base_archive}-${darwin_arch}"
	      func_extract_an_archive "`pwd`" "${darwin_base_archive}"
	      cd "$darwin_curdir"
	      $rm "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}"
	    done # $darwin_arches
      ## Okay now we have a bunch of thin objects, gotta fatten them up :)
	    darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print| xargs basename | sort -u | $NL2SP`
	    darwin_file=
	    darwin_files=
	    for darwin_file in $darwin_filelist; do
	      darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP`
	      lipo -create -output "$darwin_file" $darwin_files
	    done # $darwin_filelist
	    ${rm}r unfat-$$
	    cd "$darwin_orig_dir"
	  else
	    cd "$darwin_orig_dir"
 	    func_extract_an_archive "$my_xdir" "$my_xabs"
	  fi # $darwin_arches
	fi # $run
	;;
      *)
        func_extract_an_archive "$my_xdir" "$my_xabs"
        ;;
      esac
      my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP`
    done
    func_extract_archives_result="$my_oldobjs"
}
# End of Shell function definitions
#####################################

# Darwin sucks
eval std_shrext=\"$shrext_cmds\"

disable_libs=no

# Parse our command line options once, thoroughly.
while test "$#" -gt 0
do
  arg="$1"
  shift

  case $arg in
  -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;;
  *) optarg= ;;
  esac

  # If the previous option needs an argument, assign it.
  if test -n "$prev"; then
    case $prev in
    execute_dlfiles)
      execute_dlfiles="$execute_dlfiles $arg"
      ;;
    tag)
      tagname="$arg"
      preserve_args="${preserve_args}=$arg"

      # Check whether tagname contains only valid characters
      case $tagname in
      *[!-_A-Za-z0-9,/]*)
	$echo "$progname: invalid tag name: $tagname" 1>&2
	exit $EXIT_FAILURE
	;;
      esac

      case $tagname in
      CC)
	# Don't test for the "default" C tag, as we know, it's there, but
	# not specially marked.
	;;
      *)
	if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "$progpath" > /dev/null; then
	  taglist="$taglist $tagname"
	  # Evaluate the configuration.
	  eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $progpath`"
	else
	  $echo "$progname: ignoring unknown tag $tagname" 1>&2
	fi
	;;
      esac
      ;;
    *)
      eval "$prev=\$arg"
      ;;
    esac

    prev=
    prevopt=
    continue
  fi

  # Have we seen a non-optional argument yet?
  case $arg in
  --help)
    show_help=yes
    ;;

  --version)
    $echo "$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP"
    $echo
    $echo "Copyright (C) 2005  Free Software Foundation, Inc."
    $echo "This is free software; see the source for copying conditions.  There is NO"
    $echo "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
    exit $?
    ;;

  --config)
    ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $progpath
    # Now print the configurations for the tags.
    for tagname in $taglist; do
      ${SED} -n -e "/^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$/,/^# ### END LIBTOOL TAG CONFIG: $tagname$/p" < "$progpath"
    done
    exit $?
    ;;

  --debug)
    $echo "$progname: enabling shell trace mode"
    set -x
    preserve_args="$preserve_args $arg"
    ;;

  --dry-run | -n)
    run=:
    ;;

  --features)
    $echo "host: $host"
    if test "$build_libtool_libs" = yes; then
      $echo "enable shared libraries"
    else
      $echo "disable shared libraries"
    fi
    if test "$build_old_libs" = yes; then
      $echo "enable static libraries"
    else
      $echo "disable static libraries"
    fi
    exit $?
    ;;

  --finish) mode="finish" ;;

  --mode) prevopt="--mode" prev=mode ;;
  --mode=*) mode="$optarg" ;;

  --preserve-dup-deps) duplicate_deps="yes" ;;

  --quiet | --silent)
    show=:
    preserve_args="$preserve_args $arg"
    ;;

  --tag)
    prevopt="--tag"
    prev=tag
    preserve_args="$preserve_args --tag"
    ;;
  --tag=*)
    set tag "$optarg" ${1+"$@"}
    shift
    prev=tag
    preserve_args="$preserve_args --tag"
    ;;

  -dlopen)
    prevopt="-dlopen"
    prev=execute_dlfiles
    ;;

  -*)
    $echo "$modename: unrecognized option \`$arg'" 1>&2
    $echo "$help" 1>&2
    exit $EXIT_FAILURE
    ;;

  *)
    nonopt="$arg"
    break
    ;;
  esac
done

if test -n "$prevopt"; then
  $echo "$modename: option \`$prevopt' requires an argument" 1>&2
  $echo "$help" 1>&2
  exit $EXIT_FAILURE
fi

case $disable_libs in
no) 
  ;;
shared)
  build_libtool_libs=no
  build_old_libs=yes
  ;;
static)
  build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac`
  ;;
esac

# If this variable is set in any of the actions, the command in it
# will be execed at the end.  This prevents here-documents from being
# left over by shells.
exec_cmd=

if test -z "$show_help"; then

  # Infer the operation mode.
  if test -z "$mode"; then
    $echo "*** Warning: inferring the mode of operation is deprecated." 1>&2
    $echo "*** Future versions of Libtool will require --mode=MODE be specified." 1>&2
    case $nonopt in
    *cc | cc* | *++ | gcc* | *-gcc* | g++* | xlc*)
      mode=link
      for arg
      do
	case $arg in
	-c)
	   mode=compile
	   break
	   ;;
	esac
      done
      ;;
    *db | *dbx | *strace | *truss)
      mode=execute
      ;;
    *install*|cp|mv)
      mode=install
      ;;
    *rm)
      mode=uninstall
      ;;
    *)
      # If we have no mode, but dlfiles were specified, then do execute mode.
      test -n "$execute_dlfiles" && mode=execute

      # Just use the default operation mode.
      if test -z "$mode"; then
	if test -n "$nonopt"; then
	  $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2
	else
	  $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2
	fi
      fi
      ;;
    esac
  fi

  # Only execute mode is allowed to have -dlopen flags.
  if test -n "$execute_dlfiles" && test "$mode" != execute; then
    $echo "$modename: unrecognized option \`-dlopen'" 1>&2
    $echo "$help" 1>&2
    exit $EXIT_FAILURE
  fi

  # Change the help message to a mode-specific one.
  generic_help="$help"
  help="Try \`$modename --help --mode=$mode' for more information."

  # These modes are in order of execution frequency so that they run quickly.
  case $mode in
  # libtool compile mode
  compile)
    modename="$modename: compile"
    # Get the compilation command and the source file.
    base_compile=
    srcfile="$nonopt"  #  always keep a non-empty value in "srcfile"
    suppress_opt=yes
    suppress_output=
    arg_mode=normal
    libobj=
    later=

    for arg
    do
      case $arg_mode in
      arg  )
	# do not "continue".  Instead, add this to base_compile
	lastarg="$arg"
	arg_mode=normal
	;;

      target )
	libobj="$arg"
	arg_mode=normal
	continue
	;;

      normal )
	# Accept any command-line options.
	case $arg in
	-o)
	  if test -n "$libobj" ; then
	    $echo "$modename: you cannot specify \`-o' more than once" 1>&2
	    exit $EXIT_FAILURE
	  fi
	  arg_mode=target
	  continue
	  ;;

	-static | -prefer-pic | -prefer-non-pic)
	  later="$later $arg"
	  continue
	  ;;

	-no-suppress)
	  suppress_opt=no
	  continue
	  ;;

	-Xcompiler)
	  arg_mode=arg  #  the next one goes into the "base_compile" arg list
	  continue      #  The current "srcfile" will either be retained or
	  ;;            #  replaced later.  I would guess that would be a bug.

	-Wc,*)
	  args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"`
	  lastarg=
	  save_ifs="$IFS"; IFS=','
 	  for arg in $args; do
	    IFS="$save_ifs"

	    # Double-quote args containing other shell metacharacters.
	    # Many Bourne shells cannot handle close brackets correctly
	    # in scan sets, so we specify it separately.
	    case $arg in
	      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
	      arg="\"$arg\""
	      ;;
	    esac
	    lastarg="$lastarg $arg"
	  done
	  IFS="$save_ifs"
	  lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"`

	  # Add the arguments to base_compile.
	  base_compile="$base_compile $lastarg"
	  continue
	  ;;

	* )
	  # Accept the current argument as the source file.
	  # The previous "srcfile" becomes the current argument.
	  #
	  lastarg="$srcfile"
	  srcfile="$arg"
	  ;;
	esac  #  case $arg
	;;
      esac    #  case $arg_mode

      # Aesthetically quote the previous argument.
      lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"`

      case $lastarg in
      # Double-quote args containing other shell metacharacters.
      # Many Bourne shells cannot handle close brackets correctly
      # in scan sets, and some SunOS ksh mistreat backslash-escaping
      # in scan sets (worked around with variable expansion),
      # and furthermore cannot handle '|' '&' '(' ')' in scan sets 
      # at all, so we specify them separately.
      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
	lastarg="\"$lastarg\""
	;;
      esac

      base_compile="$base_compile $lastarg"
    done # for arg

    case $arg_mode in
    arg)
      $echo "$modename: you must specify an argument for -Xcompile"
      exit $EXIT_FAILURE
      ;;
    target)
      $echo "$modename: you must specify a target with \`-o'" 1>&2
      exit $EXIT_FAILURE
      ;;
    *)
      # Get the name of the library object.
      [ -z "$libobj" ] && libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'`
      ;;
    esac

    # Recognize several different file suffixes.
    # If the user specifies -o file.o, it is replaced with file.lo
    xform='[cCFSifmso]'
    case $libobj in
    *.ada) xform=ada ;;
    *.adb) xform=adb ;;
    *.ads) xform=ads ;;
    *.asm) xform=asm ;;
    *.c++) xform=c++ ;;
    *.cc) xform=cc ;;
    *.ii) xform=ii ;;
    *.class) xform=class ;;
    *.cpp) xform=cpp ;;
    *.cxx) xform=cxx ;;
    *.f90) xform=f90 ;;
    *.for) xform=for ;;
    *.java) xform=java ;;
    esac

    libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"`

    case $libobj in
    *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;;
    *)
      $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2
      exit $EXIT_FAILURE
      ;;
    esac

    func_infer_tag $base_compile

    for arg in $later; do
      case $arg in
      -static)
	build_old_libs=yes
	continue
	;;

      -prefer-pic)
	pic_mode=yes
	continue
	;;

      -prefer-non-pic)
	pic_mode=no
	continue
	;;
      esac
    done

    qlibobj=`$echo "X$libobj" | $Xsed -e "$sed_quote_subst"`
    case $qlibobj in
      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
	qlibobj="\"$qlibobj\"" ;;
    esac
    test "X$libobj" != "X$qlibobj" \
	&& $echo "X$libobj" | grep '[]~#^*{};<>?"'"'"' 	&()|`$[]' \
	&& $echo "$modename: libobj name \`$libobj' may not contain shell special characters."
    objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'`
    xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'`
    if test "X$xdir" = "X$obj"; then
      xdir=
    else
      xdir=$xdir/
    fi
    lobj=${xdir}$objdir/$objname

    if test -z "$base_compile"; then
      $echo "$modename: you must specify a compilation command" 1>&2
      $echo "$help" 1>&2
      exit $EXIT_FAILURE
    fi

    # Delete any leftover library objects.
    if test "$build_old_libs" = yes; then
      removelist="$obj $lobj $libobj ${libobj}T"
    else
      removelist="$lobj $libobj ${libobj}T"
    fi

    $run $rm $removelist
    trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15

    # On Cygwin there's no "real" PIC flag so we must build both object types
    case $host_os in
    cygwin* | mingw* | pw32* | os2*)
      pic_mode=default
      ;;
    esac
    if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then
      # non-PIC code in shared libraries is not supported
      pic_mode=default
    fi

    # Calculate the filename of the output object if compiler does
    # not support -o with -c
    if test "$compiler_c_o" = no; then
      output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext}
      lockfile="$output_obj.lock"
      removelist="$removelist $output_obj $lockfile"
      trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15
    else
      output_obj=
      need_locks=no
      lockfile=
    fi

    # Lock this critical section if it is needed
    # We use this script file to make the link, it avoids creating a new file
    if test "$need_locks" = yes; then
      until $run ln "$srcfile" "$lockfile" 2>/dev/null; do
	$show "Waiting for $lockfile to be removed"
	sleep 2
      done
    elif test "$need_locks" = warn; then
      if test -f "$lockfile"; then
	$echo "\
*** ERROR, $lockfile exists and contains:
`cat $lockfile 2>/dev/null`

This indicates that another process is trying to use the same
temporary object file, and libtool could not work around it because
your compiler does not support \`-c' and \`-o' together.  If you
repeat this compilation, it may succeed, by chance, but you had better
avoid parallel builds (make -j) in this platform, or get a better
compiler."

	$run $rm $removelist
	exit $EXIT_FAILURE
      fi
      $echo "$srcfile" > "$lockfile"
    fi

    if test -n "$fix_srcfile_path"; then
      eval srcfile=\"$fix_srcfile_path\"
    fi
    qsrcfile=`$echo "X$srcfile" | $Xsed -e "$sed_quote_subst"`
    case $qsrcfile in
      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
      qsrcfile="\"$qsrcfile\"" ;;
    esac

    $run $rm "$libobj" "${libobj}T"

    # Create a libtool object file (analogous to a ".la" file),
    # but don't create it if we're doing a dry run.
    test -z "$run" && cat > ${libobj}T <<EOF
# $libobj - a libtool object file
# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
#
# Please DO NOT delete this file!
# It is necessary for linking the library.

# Name of the PIC object.
EOF

    # Only build a PIC object if we are building libtool libraries.
    if test "$build_libtool_libs" = yes; then
      # Without this assignment, base_compile gets emptied.
      fbsd_hideous_sh_bug=$base_compile

      if test "$pic_mode" != no; then
	command="$base_compile $qsrcfile $pic_flag"
      else
	# Don't build PIC code
	command="$base_compile $qsrcfile"
      fi

      if test ! -d "${xdir}$objdir"; then
	$show "$mkdir ${xdir}$objdir"
	$run $mkdir ${xdir}$objdir
	exit_status=$?
	if test "$exit_status" -ne 0 && test ! -d "${xdir}$objdir"; then
	  exit $exit_status
	fi
      fi

      if test -z "$output_obj"; then
	# Place PIC objects in $objdir
	command="$command -o $lobj"
      fi

      $run $rm "$lobj" "$output_obj"

      $show "$command"
      if $run eval "$command"; then :
      else
	test -n "$output_obj" && $run $rm $removelist
	exit $EXIT_FAILURE
      fi

      if test "$need_locks" = warn &&
	 test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
	$echo "\
*** ERROR, $lockfile contains:
`cat $lockfile 2>/dev/null`

but it should contain:
$srcfile

This indicates that another process is trying to use the same
temporary object file, and libtool could not work around it because
your compiler does not support \`-c' and \`-o' together.  If you
repeat this compilation, it may succeed, by chance, but you had better
avoid parallel builds (make -j) in this platform, or get a better
compiler."

	$run $rm $removelist
	exit $EXIT_FAILURE
      fi

      # Just move the object if needed, then go on to compile the next one
      if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then
	$show "$mv $output_obj $lobj"
	if $run $mv $output_obj $lobj; then :
	else
	  error=$?
	  $run $rm $removelist
	  exit $error
	fi
      fi

      # Append the name of the PIC object to the libtool object file.
      test -z "$run" && cat >> ${libobj}T <<EOF
pic_object='$objdir/$objname'

EOF

      # Allow error messages only from the first compilation.
      if test "$suppress_opt" = yes; then
        suppress_output=' >/dev/null 2>&1'
      fi
    else
      # No PIC object so indicate it doesn't exist in the libtool
      # object file.
      test -z "$run" && cat >> ${libobj}T <<EOF
pic_object=none

EOF
    fi

    # Only build a position-dependent object if we build old libraries.
    if test "$build_old_libs" = yes; then
      if test "$pic_mode" != yes; then
	# Don't build PIC code
	command="$base_compile $qsrcfile"
      else
	command="$base_compile $qsrcfile $pic_flag"
      fi
      if test "$compiler_c_o" = yes; then
	command="$command -o $obj"
      fi

      # Suppress compiler output if we already did a PIC compilation.
      command="$command$suppress_output"
      $run $rm "$obj" "$output_obj"
      $show "$command"
      if $run eval "$command"; then :
      else
	$run $rm $removelist
	exit $EXIT_FAILURE
      fi

      if test "$need_locks" = warn &&
	 test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
	$echo "\
*** ERROR, $lockfile contains:
`cat $lockfile 2>/dev/null`

but it should contain:
$srcfile

This indicates that another process is trying to use the same
temporary object file, and libtool could not work around it because
your compiler does not support \`-c' and \`-o' together.  If you
repeat this compilation, it may succeed, by chance, but you had better
avoid parallel builds (make -j) in this platform, or get a better
compiler."

	$run $rm $removelist
	exit $EXIT_FAILURE
      fi

      # Just move the object if needed
      if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then
	$show "$mv $output_obj $obj"
	if $run $mv $output_obj $obj; then :
	else
	  error=$?
	  $run $rm $removelist
	  exit $error
	fi
      fi

      # Append the name of the non-PIC object the libtool object file.
      # Only append if the libtool object file exists.
      test -z "$run" && cat >> ${libobj}T <<EOF
# Name of the non-PIC object.
non_pic_object='$objname'

EOF
    else
      # Append the name of the non-PIC object the libtool object file.
      # Only append if the libtool object file exists.
      test -z "$run" && cat >> ${libobj}T <<EOF
# Name of the non-PIC object.
non_pic_object=none

EOF
    fi

    $run $mv "${libobj}T" "${libobj}"

    # Unlock the critical section if it was locked
    if test "$need_locks" != no; then
      $run $rm "$lockfile"
    fi

    exit $EXIT_SUCCESS
    ;;

  # libtool link mode
  link | relink)
    modename="$modename: link"
    case $host in
    *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
      # It is impossible to link a dll without this setting, and
      # we shouldn't force the makefile maintainer to figure out
      # which system we are compiling for in order to pass an extra
      # flag for every libtool invocation.
      # allow_undefined=no

      # FIXME: Unfortunately, there are problems with the above when trying
      # to make a dll which has undefined symbols, in which case not
      # even a static library is built.  For now, we need to specify
      # -no-undefined on the libtool link line when we can be certain
      # that all symbols are satisfied, otherwise we get a static library.
      allow_undefined=yes
      ;;
    *)
      allow_undefined=yes
      ;;
    esac
    libtool_args="$nonopt"
    base_compile="$nonopt $@"
    compile_command="$nonopt"
    finalize_command="$nonopt"

    compile_rpath=
    finalize_rpath=
    compile_shlibpath=
    finalize_shlibpath=
    convenience=
    old_convenience=
    deplibs=
    old_deplibs=
    compiler_flags=
    linker_flags=
    dllsearchpath=
    lib_search_path=`pwd`
    inst_prefix_dir=

    avoid_version=no
    dlfiles=
    dlprefiles=
    dlself=no
    export_dynamic=no
    export_symbols=
    export_symbols_regex=
    generated=
    libobjs=
    ltlibs=
    module=no
    no_install=no
    objs=
    non_pic_objects=
    notinst_path= # paths that contain not-installed libtool libraries
    precious_files_regex=
    prefer_static_libs=no
    preload=no
    prev=
    prevarg=
    release=
    rpath=
    xrpath=
    perm_rpath=
    temp_rpath=
    thread_safe=no
    vinfo=
    vinfo_number=no

    func_infer_tag $base_compile

    # We need to know -static, to get the right output filenames.
    for arg
    do
      case $arg in
      -all-static | -static)
	if test "X$arg" = "X-all-static"; then
	  if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
	    $echo "$modename: warning: complete static linking is impossible in this configuration" 1>&2
	  fi
	  if test -n "$link_static_flag"; then
	    dlopen_self=$dlopen_self_static
	  fi
	  prefer_static_libs=yes
	else
	  if test -z "$pic_flag" && test -n "$link_static_flag"; then
	    dlopen_self=$dlopen_self_static
	  fi
	  prefer_static_libs=built
	fi
	build_libtool_libs=no
	build_old_libs=yes
	break
	;;
      esac
    done

    # See if our shared archives depend on static archives.
    test -n "$old_archive_from_new_cmds" && build_old_libs=yes

    # Go through the arguments, transforming them on the way.
    while test "$#" -gt 0; do
      arg="$1"
      shift
      case $arg in
      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
	qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ### testsuite: skip nested quoting test
	;;
      *) qarg=$arg ;;
      esac
      libtool_args="$libtool_args $qarg"

      # If the previous option needs an argument, assign it.
      if test -n "$prev"; then
	case $prev in
	output)
	  compile_command="$compile_command @OUTPUT@"
	  finalize_command="$finalize_command @OUTPUT@"
	  ;;
	esac

	case $prev in
	dlfiles|dlprefiles)
	  if test "$preload" = no; then
	    # Add the symbol object into the linking commands.
	    compile_command="$compile_command @SYMFILE@"
	    finalize_command="$finalize_command @SYMFILE@"
	    preload=yes
	  fi
	  case $arg in
	  *.la | *.lo) ;;  # We handle these cases below.
	  force)
	    if test "$dlself" = no; then
	      dlself=needless
	      export_dynamic=yes
	    fi
	    prev=
	    continue
	    ;;
	  self)
	    if test "$prev" = dlprefiles; then
	      dlself=yes
	    elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then
	      dlself=yes
	    else
	      dlself=needless
	      export_dynamic=yes
	    fi
	    prev=
	    continue
	    ;;
	  *)
	    if test "$prev" = dlfiles; then
	      dlfiles="$dlfiles $arg"
	    else
	      dlprefiles="$dlprefiles $arg"
	    fi
	    prev=
	    continue
	    ;;
	  esac
	  ;;
	expsyms)
	  export_symbols="$arg"
	  if test ! -f "$arg"; then
	    $echo "$modename: symbol file \`$arg' does not exist"
	    exit $EXIT_FAILURE
	  fi
	  prev=
	  continue
	  ;;
	expsyms_regex)
	  export_symbols_regex="$arg"
	  prev=
	  continue
	  ;;
	inst_prefix)
	  inst_prefix_dir="$arg"
	  prev=
	  continue
	  ;;
	precious_regex)
	  precious_files_regex="$arg"
	  prev=
	  continue
	  ;;
	release)
	  release="-$arg"
	  prev=
	  continue
	  ;;
	objectlist)
	  if test -f "$arg"; then
	    save_arg=$arg
	    moreargs=
	    for fil in `cat $save_arg`
	    do
#	      moreargs="$moreargs $fil"
	      arg=$fil
	      # A libtool-controlled object.

	      # Check to see that this really is a libtool object.
	      if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
		pic_object=
		non_pic_object=

		# Read the .lo file
		# If there is no directory component, then add one.
		case $arg in
		*/* | *\\*) . $arg ;;
		*) . ./$arg ;;
		esac

		if test -z "$pic_object" || \
		   test -z "$non_pic_object" ||
		   test "$pic_object" = none && \
		   test "$non_pic_object" = none; then
		  $echo "$modename: cannot find name of object for \`$arg'" 1>&2
		  exit $EXIT_FAILURE
		fi

		# Extract subdirectory from the argument.
		xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
		if test "X$xdir" = "X$arg"; then
		  xdir=
		else
		  xdir="$xdir/"
		fi

		if test "$pic_object" != none; then
		  # Prepend the subdirectory the object is found in.
		  pic_object="$xdir$pic_object"

		  if test "$prev" = dlfiles; then
		    if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
		      dlfiles="$dlfiles $pic_object"
		      prev=
		      continue
		    else
		      # If libtool objects are unsupported, then we need to preload.
		      prev=dlprefiles
		    fi
		  fi

		  # CHECK ME:  I think I busted this.  -Ossama
		  if test "$prev" = dlprefiles; then
		    # Preload the old-style object.
		    dlprefiles="$dlprefiles $pic_object"
		    prev=
		  fi

		  # A PIC object.
		  libobjs="$libobjs $pic_object"
		  arg="$pic_object"
		fi

		# Non-PIC object.
		if test "$non_pic_object" != none; then
		  # Prepend the subdirectory the object is found in.
		  non_pic_object="$xdir$non_pic_object"

		  # A standard non-PIC object
		  non_pic_objects="$non_pic_objects $non_pic_object"
		  if test -z "$pic_object" || test "$pic_object" = none ; then
		    arg="$non_pic_object"
		  fi
		else
		  # If the PIC object exists, use it instead.
		  # $xdir was prepended to $pic_object above.
		  non_pic_object="$pic_object"
		  non_pic_objects="$non_pic_objects $non_pic_object"
		fi
	      else
		# Only an error if not doing a dry-run.
		if test -z "$run"; then
		  $echo "$modename: \`$arg' is not a valid libtool object" 1>&2
		  exit $EXIT_FAILURE
		else
		  # Dry-run case.

		  # Extract subdirectory from the argument.
		  xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
		  if test "X$xdir" = "X$arg"; then
		    xdir=
		  else
		    xdir="$xdir/"
		  fi

		  pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"`
		  non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"`
		  libobjs="$libobjs $pic_object"
		  non_pic_objects="$non_pic_objects $non_pic_object"
		fi
	      fi
	    done
	  else
	    $echo "$modename: link input file \`$save_arg' does not exist"
	    exit $EXIT_FAILURE
	  fi
	  arg=$save_arg
	  prev=
	  continue
	  ;;
	rpath | xrpath)
	  # We need an absolute path.
	  case $arg in
	  [\\/]* | [A-Za-z]:[\\/]*) ;;
	  *)
	    $echo "$modename: only absolute run-paths are allowed" 1>&2
	    exit $EXIT_FAILURE
	    ;;
	  esac
	  if test "$prev" = rpath; then
	    case "$rpath " in
	    *" $arg "*) ;;
	    *) rpath="$rpath $arg" ;;
	    esac
	  else
	    case "$xrpath " in
	    *" $arg "*) ;;
	    *) xrpath="$xrpath $arg" ;;
	    esac
	  fi
	  prev=
	  continue
	  ;;
	xcompiler)
	  compiler_flags="$compiler_flags $qarg"
	  prev=
	  compile_command="$compile_command $qarg"
	  finalize_command="$finalize_command $qarg"
	  continue
	  ;;
	xlinker)
	  linker_flags="$linker_flags $qarg"
	  compiler_flags="$compiler_flags $wl$qarg"
	  prev=
	  compile_command="$compile_command $wl$qarg"
	  finalize_command="$finalize_command $wl$qarg"
	  continue
	  ;;
	xcclinker)
	  linker_flags="$linker_flags $qarg"
	  compiler_flags="$compiler_flags $qarg"
	  prev=
	  compile_command="$compile_command $qarg"
	  finalize_command="$finalize_command $qarg"
	  continue
	  ;;
	shrext)
  	  shrext_cmds="$arg"
	  prev=
	  continue
	  ;;
	darwin_framework|darwin_framework_skip)
	  test "$prev" = "darwin_framework" && compiler_flags="$compiler_flags $arg"
	  compile_command="$compile_command $arg"
	  finalize_command="$finalize_command $arg"
	  prev=
	  continue
	  ;;
	*)
	  eval "$prev=\"\$arg\""
	  prev=
	  continue
	  ;;
	esac
      fi # test -n "$prev"

      prevarg="$arg"

      case $arg in
      -all-static)
	if test -n "$link_static_flag"; then
	  compile_command="$compile_command $link_static_flag"
	  finalize_command="$finalize_command $link_static_flag"
	fi
	continue
	;;

      -allow-undefined)
	# FIXME: remove this flag sometime in the future.
	$echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2
	continue
	;;

      -avoid-version)
	avoid_version=yes
	continue
	;;

      -dlopen)
	prev=dlfiles
	continue
	;;

      -dlpreopen)
	prev=dlprefiles
	continue
	;;

      -export-dynamic)
	export_dynamic=yes
	continue
	;;

      -export-symbols | -export-symbols-regex)
	if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
	  $echo "$modename: more than one -exported-symbols argument is not allowed"
	  exit $EXIT_FAILURE
	fi
	if test "X$arg" = "X-export-symbols"; then
	  prev=expsyms
	else
	  prev=expsyms_regex
	fi
	continue
	;;

      -framework|-arch|-isysroot)
	case " $CC " in
	  *" ${arg} ${1} "* | *" ${arg}	${1} "*) 
		prev=darwin_framework_skip ;;
	  *) compiler_flags="$compiler_flags $arg"
	     prev=darwin_framework ;;
	esac
	compile_command="$compile_command $arg"
	finalize_command="$finalize_command $arg"
	continue
	;;

      -inst-prefix-dir)
	prev=inst_prefix
	continue
	;;

      # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:*
      # so, if we see these flags be careful not to treat them like -L
      -L[A-Z][A-Z]*:*)
	case $with_gcc/$host in
	no/*-*-irix* | /*-*-irix*)
	  compile_command="$compile_command $arg"
	  finalize_command="$finalize_command $arg"
	  ;;
	esac
	continue
	;;

      -L*)
	dir=`$echo "X$arg" | $Xsed -e 's/^-L//'`
	# We need an absolute path.
	case $dir in
	[\\/]* | [A-Za-z]:[\\/]*) ;;
	*)
	  absdir=`cd "$dir" && pwd`
	  if test -z "$absdir"; then
	    $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2
	    absdir="$dir"
	    notinst_path="$notinst_path $dir"
	  fi
	  dir="$absdir"
	  ;;
	esac
	case "$deplibs " in
	*" -L$dir "*) ;;
	*)
	  deplibs="$deplibs -L$dir"
	  lib_search_path="$lib_search_path $dir"
	  ;;
	esac
	case $host in
	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
	  testbindir=`$echo "X$dir" | $Xsed -e 's*/lib$*/bin*'`
	  case :$dllsearchpath: in
	  *":$dir:"*) ;;
	  *) dllsearchpath="$dllsearchpath:$dir";;
	  esac
	  case :$dllsearchpath: in
	  *":$testbindir:"*) ;;
	  *) dllsearchpath="$dllsearchpath:$testbindir";;
	  esac
	  ;;
	esac
	continue
	;;

      -l*)
	if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
	  case $host in
	  *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos*)
	    # These systems don't actually have a C or math library (as such)
	    continue
	    ;;
	  *-*-os2*)
	    # These systems don't actually have a C library (as such)
	    test "X$arg" = "X-lc" && continue
	    ;;
	  *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
	    # Do not include libc due to us having libc/libc_r.
	    test "X$arg" = "X-lc" && continue
	    ;;
	  *-*-rhapsody* | *-*-darwin1.[012])
	    # Rhapsody C and math libraries are in the System framework
	    deplibs="$deplibs -framework System"
	    continue
	    ;;
	  *-*-sco3.2v5* | *-*-sco5v6*)
	    # Causes problems with __ctype
	    test "X$arg" = "X-lc" && continue
	    ;;
	  *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
	    # Compiler inserts libc in the correct place for threads to work
	    test "X$arg" = "X-lc" && continue
	    ;;
	  esac
	elif test "X$arg" = "X-lc_r"; then
	 case $host in
	 *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
	   # Do not include libc_r directly, use -pthread flag.
	   continue
	   ;;
	 esac
	fi
	deplibs="$deplibs $arg"
	continue
	;;

      # Tru64 UNIX uses -model [arg] to determine the layout of C++
      # classes, name mangling, and exception handling.
      -model)
	compile_command="$compile_command $arg"
	compiler_flags="$compiler_flags $arg"
	finalize_command="$finalize_command $arg"
	prev=xcompiler
	continue
	;;

     -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe)
	compiler_flags="$compiler_flags $arg"
	compile_command="$compile_command $arg"
	finalize_command="$finalize_command $arg"
	continue
	;;

      -module)
	module=yes
	continue
	;;

      # -64, -mips[0-9] enable 64-bit mode on the SGI compiler
      # -r[0-9][0-9]* specifies the processor on the SGI compiler
      # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler
      # +DA*, +DD* enable 64-bit mode on the HP compiler
      # -q* pass through compiler args for the IBM compiler
      # -m* pass through architecture-specific compiler args for GCC
      # -m*, -t[45]*, -txscale* pass through architecture-specific
      # compiler args for GCC
      # -pg pass through profiling flag for GCC
      # @file GCC response files
      -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*|-pg| \
      -t[45]*|-txscale*|@*)

	# Unknown arguments in both finalize_command and compile_command need
	# to be aesthetically quoted because they are evaled later.
	arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
	case $arg in
	*[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
	  arg="\"$arg\""
	  ;;
	esac
        compile_command="$compile_command $arg"
        finalize_command="$finalize_command $arg"
        compiler_flags="$compiler_flags $arg"
        continue
        ;;

      -shrext)
	prev=shrext
	continue
	;;

      -no-fast-install)
	fast_install=no
	continue
	;;

      -no-install)
	case $host in
	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
	  # The PATH hackery in wrapper scripts is required on Windows
	  # in order for the loader to find any dlls it needs.
	  $echo "$modename: warning: \`-no-install' is ignored for $host" 1>&2
	  $echo "$modename: warning: assuming \`-no-fast-install' instead" 1>&2
	  fast_install=no
	  ;;
	*) no_install=yes ;;
	esac
	continue
	;;

      -no-undefined)
	allow_undefined=no
	continue
	;;

      -objectlist)
	prev=objectlist
	continue
	;;

      -o) prev=output ;;

      -precious-files-regex)
	prev=precious_regex
	continue
	;;

      -release)
	prev=release
	continue
	;;

      -rpath)
	prev=rpath
	continue
	;;

      -R)
	prev=xrpath
	continue
	;;

      -R*)
	dir=`$echo "X$arg" | $Xsed -e 's/^-R//'`
	# We need an absolute path.
	case $dir in
	[\\/]* | [A-Za-z]:[\\/]*) ;;
	*)
	  $echo "$modename: only absolute run-paths are allowed" 1>&2
	  exit $EXIT_FAILURE
	  ;;
	esac
	case "$xrpath " in
	*" $dir "*) ;;
	*) xrpath="$xrpath $dir" ;;
	esac
	continue
	;;

      -static)
	# The effects of -static are defined in a previous loop.
	# We used to do the same as -all-static on platforms that
	# didn't have a PIC flag, but the assumption that the effects
	# would be equivalent was wrong.  It would break on at least
	# Digital Unix and AIX.
	continue
	;;

      -thread-safe)
	thread_safe=yes
	continue
	;;

      -version-info)
	prev=vinfo
	continue
	;;
      -version-number)
	prev=vinfo
	vinfo_number=yes
	continue
	;;

      -Wc,*)
	args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wc,//'`
	arg=
	save_ifs="$IFS"; IFS=','
	for flag in $args; do
	  IFS="$save_ifs"
	  case $flag in
	    *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
	    flag="\"$flag\""
	    ;;
	  esac
	  arg="$arg $wl$flag"
	  compiler_flags="$compiler_flags $flag"
	done
	IFS="$save_ifs"
	arg=`$echo "X$arg" | $Xsed -e "s/^ //"`
	;;

      -Wl,*)
	args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'`
	arg=
	save_ifs="$IFS"; IFS=','
	for flag in $args; do
	  IFS="$save_ifs"
	  case $flag in
	    *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
	    flag="\"$flag\""
	    ;;
	  esac
	  arg="$arg $wl$flag"
	  compiler_flags="$compiler_flags $wl$flag"
	  linker_flags="$linker_flags $flag"
	done
	IFS="$save_ifs"
	arg=`$echo "X$arg" | $Xsed -e "s/^ //"`
	;;

      -Xcompiler)
	prev=xcompiler
	continue
	;;

      -Xlinker)
	prev=xlinker
	continue
	;;

      -XCClinker)
	prev=xcclinker
	continue
	;;

      # Some other compiler flag.
      -* | +*)
	# Unknown arguments in both finalize_command and compile_command need
	# to be aesthetically quoted because they are evaled later.
	arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
	case $arg in
	*[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
	  arg="\"$arg\""
	  ;;
	esac
	;;

      *.$objext)
	# A standard object.
	objs="$objs $arg"
	;;

      *.lo)
	# A libtool-controlled object.

	# Check to see that this really is a libtool object.
	if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
	  pic_object=
	  non_pic_object=

	  # Read the .lo file
	  # If there is no directory component, then add one.
	  case $arg in
	  */* | *\\*) . $arg ;;
	  *) . ./$arg ;;
	  esac

	  if test -z "$pic_object" || \
	     test -z "$non_pic_object" ||
	     test "$pic_object" = none && \
	     test "$non_pic_object" = none; then
	    $echo "$modename: cannot find name of object for \`$arg'" 1>&2
	    exit $EXIT_FAILURE
	  fi

	  # Extract subdirectory from the argument.
	  xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
	  if test "X$xdir" = "X$arg"; then
	    xdir=
 	  else
	    xdir="$xdir/"
	  fi

	  if test "$pic_object" != none; then
	    # Prepend the subdirectory the object is found in.
	    pic_object="$xdir$pic_object"

	    if test "$prev" = dlfiles; then
	      if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
		dlfiles="$dlfiles $pic_object"
		prev=
		continue
	      else
		# If libtool objects are unsupported, then we need to preload.
		prev=dlprefiles
	      fi
	    fi

	    # CHECK ME:  I think I busted this.  -Ossama
	    if test "$prev" = dlprefiles; then
	      # Preload the old-style object.
	      dlprefiles="$dlprefiles $pic_object"
	      prev=
	    fi

	    # A PIC object.
	    libobjs="$libobjs $pic_object"
	    arg="$pic_object"
	  fi

	  # Non-PIC object.
	  if test "$non_pic_object" != none; then
	    # Prepend the subdirectory the object is found in.
	    non_pic_object="$xdir$non_pic_object"

	    # A standard non-PIC object
	    non_pic_objects="$non_pic_objects $non_pic_object"
	    if test -z "$pic_object" || test "$pic_object" = none ; then
	      arg="$non_pic_object"
	    fi
	  else
	    # If the PIC object exists, use it instead.
	    # $xdir was prepended to $pic_object above.
	    non_pic_object="$pic_object"
	    non_pic_objects="$non_pic_objects $non_pic_object"
	  fi
	else
	  # Only an error if not doing a dry-run.
	  if test -z "$run"; then
	    $echo "$modename: \`$arg' is not a valid libtool object" 1>&2
	    exit $EXIT_FAILURE
	  else
	    # Dry-run case.

	    # Extract subdirectory from the argument.
	    xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
	    if test "X$xdir" = "X$arg"; then
	      xdir=
	    else
	      xdir="$xdir/"
	    fi

	    pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"`
	    non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"`
	    libobjs="$libobjs $pic_object"
	    non_pic_objects="$non_pic_objects $non_pic_object"
	  fi
	fi
	;;

      *.$libext)
	# An archive.
	deplibs="$deplibs $arg"
	old_deplibs="$old_deplibs $arg"
	continue
	;;

      *.la)
	# A libtool-controlled library.

	if test "$prev" = dlfiles; then
	  # This library was specified with -dlopen.
	  dlfiles="$dlfiles $arg"
	  prev=
	elif test "$prev" = dlprefiles; then
	  # The library was specified with -dlpreopen.
	  dlprefiles="$dlprefiles $arg"
	  prev=
	else
	  deplibs="$deplibs $arg"
	fi
	continue
	;;

      # Some other compiler argument.
      *)
	# Unknown arguments in both finalize_command and compile_command need
	# to be aesthetically quoted because they are evaled later.
	arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
	case $arg in
	*[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
	  arg="\"$arg\""
	  ;;
	esac
	;;
      esac # arg

      # Now actually substitute the argument into the commands.
      if test -n "$arg"; then
	compile_command="$compile_command $arg"
	finalize_command="$finalize_command $arg"
      fi
    done # argument parsing loop

    if test -n "$prev"; then
      $echo "$modename: the \`$prevarg' option requires an argument" 1>&2
      $echo "$help" 1>&2
      exit $EXIT_FAILURE
    fi

    if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then
      eval arg=\"$export_dynamic_flag_spec\"
      compile_command="$compile_command $arg"
      finalize_command="$finalize_command $arg"
    fi

    oldlibs=
    # calculate the name of the file, without its directory
    outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'`
    libobjs_save="$libobjs"

    if test -n "$shlibpath_var"; then
      # get the directories listed in $shlibpath_var
      eval shlib_search_path=\`\$echo \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\`
    else
      shlib_search_path=
    fi
    eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
    eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"

    output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'`
    if test "X$output_objdir" = "X$output"; then
      output_objdir="$objdir"
    else
      output_objdir="$output_objdir/$objdir"
    fi
    # Create the object directory.
    if test ! -d "$output_objdir"; then
      $show "$mkdir $output_objdir"
      $run $mkdir $output_objdir
      exit_status=$?
      if test "$exit_status" -ne 0 && test ! -d "$output_objdir"; then
	exit $exit_status
      fi
    fi

    # Determine the type of output
    case $output in
    "")
      $echo "$modename: you must specify an output file" 1>&2
      $echo "$help" 1>&2
      exit $EXIT_FAILURE
      ;;
    *.$libext) linkmode=oldlib ;;
    *.lo | *.$objext) linkmode=obj ;;
    *.la) linkmode=lib ;;
    *) linkmode=prog ;; # Anything else should be a program.
    esac

    case $host in
    *cygwin* | *mingw* | *pw32*)
      # don't eliminate duplications in $postdeps and $predeps
      duplicate_compiler_generated_deps=yes
      ;;
    *)
      duplicate_compiler_generated_deps=$duplicate_deps
      ;;
    esac
    specialdeplibs=

    libs=
    # Find all interdependent deplibs by searching for libraries
    # that are linked more than once (e.g. -la -lb -la)
    for deplib in $deplibs; do
      if test "X$duplicate_deps" = "Xyes" ; then
	case "$libs " in
	*" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
	esac
      fi
      libs="$libs $deplib"
    done

    if test "$linkmode" = lib; then
      libs="$predeps $libs $compiler_lib_search_path $postdeps"

      # Compute libraries that are listed more than once in $predeps
      # $postdeps and mark them as special (i.e., whose duplicates are
      # not to be eliminated).
      pre_post_deps=
      if test "X$duplicate_compiler_generated_deps" = "Xyes" ; then
	for pre_post_dep in $predeps $postdeps; do
	  case "$pre_post_deps " in
	  *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;;
	  esac
	  pre_post_deps="$pre_post_deps $pre_post_dep"
	done
      fi
      pre_post_deps=
    fi

    deplibs=
    newdependency_libs=
    newlib_search_path=
    need_relink=no # whether we're linking any uninstalled libtool libraries
    notinst_deplibs= # not-installed libtool libraries
    case $linkmode in
    lib)
	passes="conv link"
	for file in $dlfiles $dlprefiles; do
	  case $file in
	  *.la) ;;
	  *)
	    $echo "$modename: libraries can \`-dlopen' only libtool libraries: $file" 1>&2
	    exit $EXIT_FAILURE
	    ;;
	  esac
	done
	;;
    prog)
	compile_deplibs=
	finalize_deplibs=
	alldeplibs=no
	newdlfiles=
	newdlprefiles=
	passes="conv scan dlopen dlpreopen link"
	;;
    *)  passes="conv"
	;;
    esac
    for pass in $passes; do
      if test "$linkmode,$pass" = "lib,link" ||
	 test "$linkmode,$pass" = "prog,scan"; then
	libs="$deplibs"
	deplibs=
      fi
      if test "$linkmode" = prog; then
	case $pass in
	dlopen) libs="$dlfiles" ;;
	dlpreopen) libs="$dlprefiles" ;;
	link) libs="$deplibs %DEPLIBS% $dependency_libs" ;;
	esac
      fi
      if test "$pass" = dlopen; then
	# Collect dlpreopened libraries
	save_deplibs="$deplibs"
	deplibs=
      fi
      for deplib in $libs; do
	lib=
	found=no
	case $deplib in
	-mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe)
	  if test "$linkmode,$pass" = "prog,link"; then
	    compile_deplibs="$deplib $compile_deplibs"
	    finalize_deplibs="$deplib $finalize_deplibs"
	  else
	    compiler_flags="$compiler_flags $deplib"
	  fi
	  continue
	  ;;
	-l*)
	  if test "$linkmode" != lib && test "$linkmode" != prog; then
	    $echo "$modename: warning: \`-l' is ignored for archives/objects" 1>&2
	    continue
	  fi
	  name=`$echo "X$deplib" | $Xsed -e 's/^-l//'`
	  for searchdir in $newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path; do
	    for search_ext in .la $std_shrext .so .a; do
	      # Search the libtool library
	      lib="$searchdir/lib${name}${search_ext}"
	      if test -f "$lib"; then
		if test "$search_ext" = ".la"; then
		  found=yes
		else
		  found=no
		fi
		break 2
	      fi
	    done
	  done
	  if test "$found" != yes; then
	    # deplib doesn't seem to be a libtool library
	    if test "$linkmode,$pass" = "prog,link"; then
	      compile_deplibs="$deplib $compile_deplibs"
	      finalize_deplibs="$deplib $finalize_deplibs"
	    else
	      deplibs="$deplib $deplibs"
	      test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
	    fi
	    continue
	  else # deplib is a libtool library
	    # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib,
	    # We need to do some special things here, and not later.
	    if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
	      case " $predeps $postdeps " in
	      *" $deplib "*)
		if (${SED} -e '2q' $lib |
                    grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
		  library_names=
		  old_library=
		  case $lib in
		  */* | *\\*) . $lib ;;
		  *) . ./$lib ;;
		  esac
		  for l in $old_library $library_names; do
		    ll="$l"
		  done
		  if test "X$ll" = "X$old_library" ; then # only static version available
		    found=no
		    ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'`
		    test "X$ladir" = "X$lib" && ladir="."
		    lib=$ladir/$old_library
		    if test "$linkmode,$pass" = "prog,link"; then
		      compile_deplibs="$deplib $compile_deplibs"
		      finalize_deplibs="$deplib $finalize_deplibs"
		    else
		      deplibs="$deplib $deplibs"
		      test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
		    fi
		    continue
		  fi
		fi
	        ;;
	      *) ;;
	      esac
	    fi
	  fi
	  ;; # -l
	-L*)
	  case $linkmode in
	  lib)
	    deplibs="$deplib $deplibs"
	    test "$pass" = conv && continue
	    newdependency_libs="$deplib $newdependency_libs"
	    newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`
	    ;;
	  prog)
	    if test "$pass" = conv; then
	      deplibs="$deplib $deplibs"
	      continue
	    fi
	    if test "$pass" = scan; then
	      deplibs="$deplib $deplibs"
	    else
	      compile_deplibs="$deplib $compile_deplibs"
	      finalize_deplibs="$deplib $finalize_deplibs"
	    fi
	    newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`
	    ;;
	  *)
	    $echo "$modename: warning: \`-L' is ignored for archives/objects" 1>&2
	    ;;
	  esac # linkmode
	  continue
	  ;; # -L
	-R*)
	  if test "$pass" = link; then
	    dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'`
	    # Make sure the xrpath contains only unique directories.
	    case "$xrpath " in
	    *" $dir "*) ;;
	    *) xrpath="$xrpath $dir" ;;
	    esac
	  fi
	  deplibs="$deplib $deplibs"
	  continue
	  ;;
	*.la) lib="$deplib" ;;
	*.$libext)
	  if test "$pass" = conv; then
	    deplibs="$deplib $deplibs"
	    continue
	  fi
	  case $linkmode in
	  lib)
	    valid_a_lib=no
	    case $deplibs_check_method in
	      match_pattern*)
		set dummy $deplibs_check_method
	        match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
		if eval $echo \"$deplib\" 2>/dev/null \
		    | $SED 10q \
		    | $EGREP "$match_pattern_regex" > /dev/null; then
		  valid_a_lib=yes
		fi
		;;
	      pass_all)
		valid_a_lib=yes
		;;
            esac
	    if test "$valid_a_lib" != yes; then
	      $echo
	      $echo "*** Warning: Trying to link with static lib archive $deplib."
	      $echo "*** I have the capability to make that library automatically link in when"
	      $echo "*** you link to this library.  But I can only do this if you have a"
	      $echo "*** shared version of the library, which you do not appear to have"
	      $echo "*** because the file extensions .$libext of this argument makes me believe"
	      $echo "*** that it is just a static archive that I should not used here."
	    else
	      $echo
	      $echo "*** Warning: Linking the shared library $output against the"
	      $echo "*** static library $deplib is not portable!"
	      deplibs="$deplib $deplibs"
	    fi
	    continue
	    ;;
	  prog)
	    if test "$pass" != link; then
	      deplibs="$deplib $deplibs"
	    else
	      compile_deplibs="$deplib $compile_deplibs"
	      finalize_deplibs="$deplib $finalize_deplibs"
	    fi
	    continue
	    ;;
	  esac # linkmode
	  ;; # *.$libext
	*.lo | *.$objext)
	  if test "$pass" = conv; then
	    deplibs="$deplib $deplibs"
	  elif test "$linkmode" = prog; then
	    if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then
	      # If there is no dlopen support or we're linking statically,
	      # we need to preload.
	      newdlprefiles="$newdlprefiles $deplib"
	      compile_deplibs="$deplib $compile_deplibs"
	      finalize_deplibs="$deplib $finalize_deplibs"
	    else
	      newdlfiles="$newdlfiles $deplib"
	    fi
	  fi
	  continue
	  ;;
	%DEPLIBS%)
	  alldeplibs=yes
	  continue
	  ;;
	esac # case $deplib
	if test "$found" = yes || test -f "$lib"; then :
	else
	  $echo "$modename: cannot find the library \`$lib' or unhandled argument \`$deplib'" 1>&2
	  exit $EXIT_FAILURE
	fi

	# Check to see that this really is a libtool archive.
	if (${SED} -e '2q' $lib | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
	else
	  $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
	  exit $EXIT_FAILURE
	fi

	ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'`
	test "X$ladir" = "X$lib" && ladir="."

	dlname=
	dlopen=
	dlpreopen=
	libdir=
	library_names=
	old_library=
	# If the library was installed with an old release of libtool,
	# it will not redefine variables installed, or shouldnotlink
	installed=yes
	shouldnotlink=no
	avoidtemprpath=


	# Read the .la file
	case $lib in
	*/* | *\\*) . $lib ;;
	*) . ./$lib ;;
	esac

	if test "$linkmode,$pass" = "lib,link" ||
	   test "$linkmode,$pass" = "prog,scan" ||
	   { test "$linkmode" != prog && test "$linkmode" != lib; }; then
	  test -n "$dlopen" && dlfiles="$dlfiles $dlopen"
	  test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen"
	fi

	if test "$pass" = conv; then
	  # Only check for convenience libraries
	  deplibs="$lib $deplibs"
	  if test -z "$libdir"; then
	    if test -z "$old_library"; then
	      $echo "$modename: cannot find name of link library for \`$lib'" 1>&2
	      exit $EXIT_FAILURE
	    fi
	    # It is a libtool convenience library, so add in its objects.
	    convenience="$convenience $ladir/$objdir/$old_library"
	    old_convenience="$old_convenience $ladir/$objdir/$old_library"
	    tmp_libs=
	    for deplib in $dependency_libs; do
	      deplibs="$deplib $deplibs"
              if test "X$duplicate_deps" = "Xyes" ; then
	        case "$tmp_libs " in
	        *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
	        esac
              fi
	      tmp_libs="$tmp_libs $deplib"
	    done
	  elif test "$linkmode" != prog && test "$linkmode" != lib; then
	    $echo "$modename: \`$lib' is not a convenience library" 1>&2
	    exit $EXIT_FAILURE
	  fi
	  continue
	fi # $pass = conv


	# Get the name of the library we link against.
	linklib=
	for l in $old_library $library_names; do
	  linklib="$l"
	done
	if test -z "$linklib"; then
	  $echo "$modename: cannot find name of link library for \`$lib'" 1>&2
	  exit $EXIT_FAILURE
	fi

	# This library was specified with -dlopen.
	if test "$pass" = dlopen; then
	  if test -z "$libdir"; then
	    $echo "$modename: cannot -dlopen a convenience library: \`$lib'" 1>&2
	    exit $EXIT_FAILURE
	  fi
	  if test -z "$dlname" ||
	     test "$dlopen_support" != yes ||
	     test "$build_libtool_libs" = no; then
	    # If there is no dlname, no dlopen support or we're linking
	    # statically, we need to preload.  We also need to preload any
	    # dependent libraries so libltdl's deplib preloader doesn't
	    # bomb out in the load deplibs phase.
	    dlprefiles="$dlprefiles $lib $dependency_libs"
	  else
	    newdlfiles="$newdlfiles $lib"
	  fi
	  continue
	fi # $pass = dlopen

	# We need an absolute path.
	case $ladir in
	[\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;;
	*)
	  abs_ladir=`cd "$ladir" && pwd`
	  if test -z "$abs_ladir"; then
	    $echo "$modename: warning: cannot determine absolute directory name of \`$ladir'" 1>&2
	    $echo "$modename: passing it literally to the linker, although it might fail" 1>&2
	    abs_ladir="$ladir"
	  fi
	  ;;
	esac
	laname=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`

	# Find the relevant object directory and library name.
	if test "X$installed" = Xyes; then
	  if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
	    $echo "$modename: warning: library \`$lib' was moved." 1>&2
	    dir="$ladir"
	    absdir="$abs_ladir"
	    libdir="$abs_ladir"
	  else
	    dir="$libdir"
	    absdir="$libdir"
	  fi
	  test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
	else
	  if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then
	    dir="$ladir"
	    absdir="$abs_ladir"
	    # Remove this search path later
	    notinst_path="$notinst_path $abs_ladir"
	  else
	    dir="$ladir/$objdir"
	    absdir="$abs_ladir/$objdir"
	    # Remove this search path later
	    notinst_path="$notinst_path $abs_ladir"
	  fi
	fi # $installed = yes
	name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'`

	# This library was specified with -dlpreopen.
	if test "$pass" = dlpreopen; then
	  if test -z "$libdir"; then
	    $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2
	    exit $EXIT_FAILURE
	  fi
	  # Prefer using a static library (so that no silly _DYNAMIC symbols
	  # are required to link).
	  if test -n "$old_library"; then
	    newdlprefiles="$newdlprefiles $dir/$old_library"
	  # Otherwise, use the dlname, so that lt_dlopen finds it.
	  elif test -n "$dlname"; then
	    newdlprefiles="$newdlprefiles $dir/$dlname"
	  else
	    newdlprefiles="$newdlprefiles $dir/$linklib"
	  fi
	fi # $pass = dlpreopen

	if test -z "$libdir"; then
	  # Link the convenience library
	  if test "$linkmode" = lib; then
	    deplibs="$dir/$old_library $deplibs"
	  elif test "$linkmode,$pass" = "prog,link"; then
	    compile_deplibs="$dir/$old_library $compile_deplibs"
	    finalize_deplibs="$dir/$old_library $finalize_deplibs"
	  else
	    deplibs="$lib $deplibs" # used for prog,scan pass
	  fi
	  continue
	fi


	if test "$linkmode" = prog && test "$pass" != link; then
	  newlib_search_path="$newlib_search_path $ladir"
	  deplibs="$lib $deplibs"

	  linkalldeplibs=no
	  if test "$link_all_deplibs" != no || test -z "$library_names" ||
	     test "$build_libtool_libs" = no; then
	    linkalldeplibs=yes
	  fi

	  tmp_libs=
	  for deplib in $dependency_libs; do
	    case $deplib in
	    -L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; ### testsuite: skip nested quoting test
	    esac
	    # Need to link against all dependency_libs?
	    if test "$linkalldeplibs" = yes; then
	      deplibs="$deplib $deplibs"
	    else
	      # Need to hardcode shared library paths
	      # or/and link against static libraries
	      newdependency_libs="$deplib $newdependency_libs"
	    fi
	    if test "X$duplicate_deps" = "Xyes" ; then
	      case "$tmp_libs " in
	      *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
	      esac
	    fi
	    tmp_libs="$tmp_libs $deplib"
	  done # for deplib
	  continue
	fi # $linkmode = prog...

	if test "$linkmode,$pass" = "prog,link"; then
	  if test -n "$library_names" &&
	     { test "$prefer_static_libs" = no || test -z "$old_library"; }; then
	    # We need to hardcode the library path
	    if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then
	      # Make sure the rpath contains only unique directories.
	      case "$temp_rpath " in
	      *" $dir "*) ;;
	      *" $absdir "*) ;;
	      *) temp_rpath="$temp_rpath $absdir" ;;
	      esac
	    fi

	    # Hardcode the library path.
	    # Skip directories that are in the system default run-time
	    # search path.
	    case " $sys_lib_dlsearch_path " in
	    *" $absdir "*) ;;
	    *)
	      case "$compile_rpath " in
	      *" $absdir "*) ;;
	      *) compile_rpath="$compile_rpath $absdir"
	      esac
	      ;;
	    esac
	    case " $sys_lib_dlsearch_path " in
	    *" $libdir "*) ;;
	    *)
	      case "$finalize_rpath " in
	      *" $libdir "*) ;;
	      *) finalize_rpath="$finalize_rpath $libdir"
	      esac
	      ;;
	    esac
	  fi # $linkmode,$pass = prog,link...

	  if test "$alldeplibs" = yes &&
	     { test "$deplibs_check_method" = pass_all ||
	       { test "$build_libtool_libs" = yes &&
		 test -n "$library_names"; }; }; then
	    # We only need to search for static libraries
	    continue
	  fi
	fi

	link_static=no # Whether the deplib will be linked statically
	use_static_libs=$prefer_static_libs
	if test "$use_static_libs" = built && test "$installed" = yes ; then
	  use_static_libs=no
	fi
	if test -n "$library_names" &&
	   { test "$use_static_libs" = no || test -z "$old_library"; }; then
	  if test "$installed" = no; then
	    notinst_deplibs="$notinst_deplibs $lib"
	    need_relink=yes
	  fi
	  # This is a shared library

	  # Warn about portability, can't link against -module's on
	  # some systems (darwin)
	  if test "$shouldnotlink" = yes && test "$pass" = link ; then
	    $echo
	    if test "$linkmode" = prog; then
	      $echo "*** Warning: Linking the executable $output against the loadable module"
	    else
	      $echo "*** Warning: Linking the shared library $output against the loadable module"
	    fi
	    $echo "*** $linklib is not portable!"
	  fi
	  if test "$linkmode" = lib &&
	     test "$hardcode_into_libs" = yes; then
	    # Hardcode the library path.
	    # Skip directories that are in the system default run-time
	    # search path.
	    case " $sys_lib_dlsearch_path " in
	    *" $absdir "*) ;;
	    *)
	      case "$compile_rpath " in
	      *" $absdir "*) ;;
	      *) compile_rpath="$compile_rpath $absdir"
	      esac
	      ;;
	    esac
	    case " $sys_lib_dlsearch_path " in
	    *" $libdir "*) ;;
	    *)
	      case "$finalize_rpath " in
	      *" $libdir "*) ;;
	      *) finalize_rpath="$finalize_rpath $libdir"
	      esac
	      ;;
	    esac
	  fi

	  if test -n "$old_archive_from_expsyms_cmds"; then
	    # figure out the soname
	    set dummy $library_names
	    realname="$2"
	    shift; shift
	    libname=`eval \\$echo \"$libname_spec\"`
	    # use dlname if we got it. it's perfectly good, no?
	    if test -n "$dlname"; then
	      soname="$dlname"
	    elif test -n "$soname_spec"; then
	      # bleh windows
	      case $host in
	      *cygwin* | mingw*)
		major=`expr $current - $age`
		versuffix="-$major"
		;;
	      esac
	      eval soname=\"$soname_spec\"
	    else
	      soname="$realname"
	    fi

	    # Make a new name for the extract_expsyms_cmds to use
	    soroot="$soname"
	    soname=`$echo $soroot | ${SED} -e 's/^.*\///'`
	    newlib="libimp-`$echo $soname | ${SED} 's/^lib//;s/\.dll$//'`.a"

	    # If the library has no export list, then create one now
	    if test -f "$output_objdir/$soname-def"; then :
	    else
	      $show "extracting exported symbol list from \`$soname'"
	      save_ifs="$IFS"; IFS='~'
	      cmds=$extract_expsyms_cmds
	      for cmd in $cmds; do
		IFS="$save_ifs"
		eval cmd=\"$cmd\"
		$show "$cmd"
		$run eval "$cmd" || exit $?
	      done
	      IFS="$save_ifs"
	    fi

	    # Create $newlib
	    if test -f "$output_objdir/$newlib"; then :; else
	      $show "generating import library for \`$soname'"
	      save_ifs="$IFS"; IFS='~'
	      cmds=$old_archive_from_expsyms_cmds
	      for cmd in $cmds; do
		IFS="$save_ifs"
		eval cmd=\"$cmd\"
		$show "$cmd"
		$run eval "$cmd" || exit $?
	      done
	      IFS="$save_ifs"
	    fi
	    # make sure the library variables are pointing to the new library
	    dir=$output_objdir
	    linklib=$newlib
	  fi # test -n "$old_archive_from_expsyms_cmds"

	  if test "$linkmode" = prog || test "$mode" != relink; then
	    add_shlibpath=
	    add_dir=
	    add=
	    lib_linked=yes
	    case $hardcode_action in
	    immediate | unsupported)
	      if test "$hardcode_direct" = no; then
		add="$dir/$linklib"
		case $host in
		  *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;;
		  *-*-sysv4*uw2*) add_dir="-L$dir" ;;
		  *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \
		    *-*-unixware7*) add_dir="-L$dir" ;;
		  *-*-darwin* )
		    # if the lib is a module then we can not link against
		    # it, someone is ignoring the new warnings I added
		    if /usr/bin/file -L $add 2> /dev/null |
                      $EGREP ": [^:]* bundle" >/dev/null ; then
		      $echo "** Warning, lib $linklib is a module, not a shared library"
		      if test -z "$old_library" ; then
		        $echo
		        $echo "** And there doesn't seem to be a static archive available"
		        $echo "** The link will probably fail, sorry"
		      else
		        add="$dir/$old_library"
		      fi
		    fi
		esac
	      elif test "$hardcode_minus_L" = no; then
		case $host in
		*-*-sunos*) add_shlibpath="$dir" ;;
		esac
		add_dir="-L$dir"
		add="-l$name"
	      elif test "$hardcode_shlibpath_var" = no; then
		add_shlibpath="$dir"
		add="-l$name"
	      else
		lib_linked=no
	      fi
	      ;;
	    relink)
	      if test "$hardcode_direct" = yes; then
		add="$dir/$linklib"
	      elif test "$hardcode_minus_L" = yes; then
		add_dir="-L$dir"
		# Try looking first in the location we're being installed to.
		if test -n "$inst_prefix_dir"; then
		  case $libdir in
		    [\\/]*)
		      add_dir="$add_dir -L$inst_prefix_dir$libdir"
		      ;;
		  esac
		fi
		add="-l$name"
	      elif test "$hardcode_shlibpath_var" = yes; then
		add_shlibpath="$dir"
		add="-l$name"
	      else
		lib_linked=no
	      fi
	      ;;
	    *) lib_linked=no ;;
	    esac

	    if test "$lib_linked" != yes; then
	      $echo "$modename: configuration error: unsupported hardcode properties"
	      exit $EXIT_FAILURE
	    fi

	    if test -n "$add_shlibpath"; then
	      case :$compile_shlibpath: in
	      *":$add_shlibpath:"*) ;;
	      *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;;
	      esac
	    fi
	    if test "$linkmode" = prog; then
	      test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs"
	      test -n "$add" && compile_deplibs="$add $compile_deplibs"
	    else
	      test -n "$add_dir" && deplibs="$add_dir $deplibs"
	      test -n "$add" && deplibs="$add $deplibs"
	      if test "$hardcode_direct" != yes && \
		 test "$hardcode_minus_L" != yes && \
		 test "$hardcode_shlibpath_var" = yes; then
		case :$finalize_shlibpath: in
		*":$libdir:"*) ;;
		*) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
		esac
	      fi
	    fi
	  fi

	  if test "$linkmode" = prog || test "$mode" = relink; then
	    add_shlibpath=
	    add_dir=
	    add=
	    # Finalize command for both is simple: just hardcode it.
	    if test "$hardcode_direct" = yes; then
	      add="$libdir/$linklib"
	    elif test "$hardcode_minus_L" = yes; then
	      add_dir="-L$libdir"
	      add="-l$name"
	    elif test "$hardcode_shlibpath_var" = yes; then
	      case :$finalize_shlibpath: in
	      *":$libdir:"*) ;;
	      *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
	      esac
	      add="-l$name"
	    elif test "$hardcode_automatic" = yes; then
	      if test -n "$inst_prefix_dir" &&
		 test -f "$inst_prefix_dir$libdir/$linklib" ; then
	        add="$inst_prefix_dir$libdir/$linklib"
	      else
	        add="$libdir/$linklib"
	      fi
	    else
	      # We cannot seem to hardcode it, guess we'll fake it.
	      add_dir="-L$libdir"
	      # Try looking first in the location we're being installed to.
	      if test -n "$inst_prefix_dir"; then
		case $libdir in
		  [\\/]*)
		    add_dir="$add_dir -L$inst_prefix_dir$libdir"
		    ;;
		esac
	      fi
	      add="-l$name"
	    fi

	    if test "$linkmode" = prog; then
	      test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs"
	      test -n "$add" && finalize_deplibs="$add $finalize_deplibs"
	    else
	      test -n "$add_dir" && deplibs="$add_dir $deplibs"
	      test -n "$add" && deplibs="$add $deplibs"
	    fi
	  fi
	elif test "$linkmode" = prog; then
	  # Here we assume that one of hardcode_direct or hardcode_minus_L
	  # is not unsupported.  This is valid on all known static and
	  # shared platforms.
	  if test "$hardcode_direct" != unsupported; then
	    test -n "$old_library" && linklib="$old_library"
	    compile_deplibs="$dir/$linklib $compile_deplibs"
	    finalize_deplibs="$dir/$linklib $finalize_deplibs"
	  else
	    compile_deplibs="-l$name -L$dir $compile_deplibs"
	    finalize_deplibs="-l$name -L$dir $finalize_deplibs"
	  fi
	elif test "$build_libtool_libs" = yes; then
	  # Not a shared library
	  if test "$deplibs_check_method" != pass_all; then
	    # We're trying link a shared library against a static one
	    # but the system doesn't support it.


---tokens---
'# ltmain.sh - Provide generalized library-building support services.\n' Comment.Single

'# NOTE: Changing this file will not affect anything until you rerun configure.\n' Comment.Single

'#\n'         Comment.Single

'# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005\n' Comment.Single

'# Free Software Foundation, Inc.\n' Comment.Single

'# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996\n' Comment.Single

'#\n'         Comment.Single

'# This program is free software; you can redistribute it and/or modify\n' Comment.Single

'# it under the terms of the GNU General Public License as published by\n' Comment.Single

'# the Free Software Foundation; either version 2 of the License, or\n' Comment.Single

'# (at your option) any later version.\n' Comment.Single

'#\n'         Comment.Single

'# This program is distributed in the hope that it will be useful, but\n' Comment.Single

'# WITHOUT ANY WARRANTY; without even the implied warranty of\n' Comment.Single

'# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\n' Comment.Single

'# General Public License for more details.\n' Comment.Single

'#\n'         Comment.Single

'# You should have received a copy of the GNU General Public License\n' Comment.Single

'# along with this program; if not, write to the Free Software\n' Comment.Single

'# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n' Comment.Single

'#\n'         Comment.Single

'# As a special exception to the GNU General Public License, if you\n' Comment.Single

'# distribute this file as part of a program that contains a\n' Comment.Single

'# configuration script generated by Autoconf, you may include it under\n' Comment.Single

'# the same distribution terms that you use for the rest of that program.\n' Comment.Single

'\n'          Text

'basename'    Name.Variable
'='           Operator
'"s,^.*/,,g"' Literal.String.Double
'\n\n'        Text

'# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh\n' Comment.Single

'# is ksh but when the shell is invoked as "sh" and the current value of\n' Comment.Single

'# the _XPG environment variable is not equal to 1 (one), the special\n' Comment.Single

'# positional parameter $0, within a function call, is the name of the\n' Comment.Single

'# function.\n' Comment.Single

'progpath'    Name.Variable
'='           Operator
'"'           Literal.String.Double
'$0'          Name.Variable
'"'           Literal.String.Double
'\n\n'        Text

"# define SED for historic ltconfig's generated by Libtool 1.3\n" Comment.Single

'test'        Name.Builtin
' '           Text
'-z'          Text
' '           Text
'"'           Literal.String.Double
'$SED'        Name.Variable
'"'           Literal.String.Double
' '           Text
'&&'          Operator
' '           Text
'SED'         Name.Variable
'='           Operator
'sed'         Text
'\n\n'        Text

'# The name of this program:\n' Comment.Single

'progname'    Name.Variable
'='           Operator
'`'           Literal.String.Backtick
'echo'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$progpath'   Name.Variable
'"'           Literal.String.Double
' '           Text
'|'           Punctuation
' '           Text
'$SED'        Name.Variable
' '           Text
'$basename'   Name.Variable
'`'           Literal.String.Backtick
'\n'          Text

'modename'    Name.Variable
'='           Operator
'"'           Literal.String.Double
'$progname'   Name.Variable
'"'           Literal.String.Double
'\n\n'        Text

'# Global variables:\n' Comment.Single

'EXIT_SUCCESS' Name.Variable
'='           Operator
'0'           Literal.Number
'\n'          Text

'EXIT_FAILURE' Name.Variable
'='           Operator
'1'           Literal.Number
'\n\n'        Text

'PROGRAM'     Name.Variable
'='           Operator
'ltmain.sh'   Text
'\n'          Text

'PACKAGE'     Name.Variable
'='           Operator
'libtool'     Text
'\n'          Text

'VERSION'     Name.Variable
'='           Operator
'1'           Literal.Number
'.5.22'       Text
'\n'          Text

'TIMESTAMP'   Name.Variable
'='           Operator
'" (1.1220.2.365 2005/12/18 22:14:06)"' Literal.String.Double
'\n\n'        Text

'# See if we are running on zsh, and set the options which allow our\n' Comment.Single

'# commands through without removal of \\ escapes.\n' Comment.Single

'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'-n'          Text
' '           Text
'"'           Literal.String.Double
'${'          Literal.String.Interpol
'ZSH_VERSION' Name.Variable
'+set'        Punctuation
'}'           Literal.String.Interpol
'"'           Literal.String.Double
' '           Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n  '        Text
'setopt'      Text
' '           Text
'NO_GLOB_SUBST' Text
'\n'          Text

'fi'          Keyword
'\n'          Text

'# Same for EGREP, and just to be sure, do LTCC as well\n' Comment.Single

'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$EGREP'      Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'X'           Text
' '           Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n    '      Text
'EGREP'       Name.Variable
'='           Operator
'egrep'       Text
'\n'          Text

'fi'          Keyword
'\n'          Text

'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$LTCC'       Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'X'           Text
' '           Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n    '      Text
'LTCC'        Name.Variable
'='           Operator
'${'          Literal.String.Interpol
'CC'          Name.Variable
'-gcc'        Punctuation
'}'           Literal.String.Interpol
'\n'          Text

'fi'          Keyword
'\n\n'        Text

'# Check that we have a working $echo.\n' Comment.Single

'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$1'          Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'X--no-reexec' Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n  '        Text
'# Discard the --no-reexec flag, and continue.\n' Comment.Single

'  '          Text
'shift'       Name.Builtin
'\n'          Text

'elif'        Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$1'          Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'X--fallback-echo' Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n  '        Text
'# Avoid inline document here, it may be left over\n' Comment.Single

'  '          Text
':'           Text
'\n'          Text

'elif'        Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'X`('         Literal.String.Double
'$echo'       Name.Variable
" '\\t') 2>/dev/null`" Literal.String.Double
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
"'X\\t'"      Literal.String.Single
';'           Punctuation
' '           Text
'then'        Keyword
'\n  '        Text
'# Yippee, $echo works!\n' Comment.Single

'  '          Text
':'           Text
'\n'          Text

'else'        Keyword
'\n  '        Text
'# Restart under the correct shell, and then maybe $echo will work.\n' Comment.Single

'  '          Text
'exec'        Name.Builtin
' '           Text
'$SHELL'      Name.Variable
' '           Text
'"'           Literal.String.Double
'$progpath'   Name.Variable
'"'           Literal.String.Double
' '           Text
'--no-reexec' Text
' '           Text
'${'          Literal.String.Interpol
'1'           Name.Variable
'+'           Punctuation
'"'           Literal.String.Double
'$@'          Name.Variable
'"'           Literal.String.Double
'}'           Literal.String.Interpol
'\n'          Text

'fi'          Keyword
'\n\n'        Text

'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$1'          Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'X--fallback-echo' Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n  '        Text
'# used as fallback echo\n' Comment.Single

'  '          Text
'shift'       Name.Builtin
'\n  '        Text
'cat'         Text
' '           Text
'<<EOF\n$*\nEOF' Literal.String
'\n  '        Text
'exit'        Name.Builtin
' '           Text
'$EXIT_SUCCESS' Name.Variable
'\n'          Text

'fi'          Keyword
'\n\n'        Text

'default_mode' Name.Variable
'='           Operator
'\n'          Text

'help'        Name.Variable
'='           Operator
'"'           Literal.String.Double
'Try \\`'     Literal.String.Double
'$progname'   Name.Variable
" --help' for more information." Literal.String.Double
'"'           Literal.String.Double
'\n'          Text

'magic'       Name.Variable
'='           Operator
'"%%%MAGIC variable%%%"' Literal.String.Double
'\n'          Text

'mkdir'       Name.Variable
'='           Operator
'"mkdir"'     Literal.String.Double
'\n'          Text

'mv'          Name.Variable
'='           Operator
'"mv -f"'     Literal.String.Double
'\n'          Text

'rm'          Name.Variable
'='           Operator
'"rm -f"'     Literal.String.Double
'\n\n'        Text

'# Sed substitution that helps us do robust quoting.  It backslashifies\n' Comment.Single

'# metacharacters that are still active within double-quoted strings.\n' Comment.Single

'Xsed'        Name.Variable
'='           Operator
'"'           Literal.String.Double
'${'          Literal.String.Interpol
'SED'         Name.Variable
'}'           Literal.String.Interpol
'"'           Literal.String.Double
"' -e 1s/^X//'" Literal.String.Single
'\n'          Text

'sed_quote_subst' Name.Variable
'='           Operator
'\'s/\\([\\\\`\\\\"$\\\\\\\\]\\)/\\\\\\1/g\'' Literal.String.Single
'\n'          Text

'# test EBCDIC or ASCII\n' Comment.Single

'case'        Keyword
' '           Text
'`'           Literal.String.Backtick
'echo'        Name.Builtin
' '           Text
'X'           Text
'|'           Punctuation
'tr'          Text
' '           Text
'X'           Text
' '           Text
"'\\101'"     Literal.String.Single
'`'           Literal.String.Backtick
' '           Text
'in'          Keyword
'\n '         Text
'A'           Text
')'           Operator
' '           Text
'# ASCII based system\n' Comment.Single

'    '        Text
'# \\n is not interpreted correctly by Solaris 8 /usr/ucb/tr\n' Comment.Single

'  '          Text
'SP2NL'       Name.Variable
'='           Operator
"'tr \\040 \\012'" Literal.String.Single
'\n  '        Text
'NL2SP'       Name.Variable
'='           Operator
"'tr \\015\\012 \\040\\040'" Literal.String.Single
'\n  '        Text
';'           Punctuation
';'           Punctuation
'\n '         Text
'*'           Text
')'           Operator
' '           Text
'# EBCDIC based system\n' Comment.Single

'  '          Text
'SP2NL'       Name.Variable
'='           Operator
"'tr \\100 \\n'" Literal.String.Single
'\n  '        Text
'NL2SP'       Name.Variable
'='           Operator
"'tr \\r\\n \\100\\100'" Literal.String.Single
'\n  '        Text
';'           Punctuation
';'           Punctuation
'\n'          Text

'esac'        Keyword
'\n\n'        Text

'# NLS nuisances.\n' Comment.Single

'# Only set LANG and LC_ALL to C if already set.\n' Comment.Single

'# These must not be set unconditionally because not all systems understand\n' Comment.Single

'# e.g. LANG=C (notably SCO).\n' Comment.Single

'# We save the old values to restore during execute mode.\n' Comment.Single

'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'${'          Literal.String.Interpol
'LC_ALL'      Name.Variable
'+set'        Punctuation
'}'           Literal.String.Interpol
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'set'         Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n  '        Text
'save_LC_ALL' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$LC_ALL'     Name.Variable
'"'           Literal.String.Double
';'           Punctuation
' '           Text
'LC_ALL'      Name.Variable
'='           Operator
'C'           Text
';'           Punctuation
' '           Text
'export'      Name.Builtin
' '           Text
'LC_ALL'      Text
'\n'          Text

'fi'          Keyword
'\n'          Text

'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'${'          Literal.String.Interpol
'LANG'        Name.Variable
'+set'        Punctuation
'}'           Literal.String.Interpol
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'set'         Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n  '        Text
'save_LANG'   Name.Variable
'='           Operator
'"'           Literal.String.Double
'$LANG'       Name.Variable
'"'           Literal.String.Double
';'           Punctuation
' '           Text
'LANG'        Name.Variable
'='           Operator
'C'           Text
';'           Punctuation
' '           Text
'export'      Name.Builtin
' '           Text
'LANG'        Text
'\n'          Text

'fi'          Keyword
'\n\n'        Text

'# Make sure IFS has a sensible default\n' Comment.Single

'lt_nl'       Name.Variable
'='           Operator
"'\n'"        Literal.String.Single
'\n'          Text

'IFS'         Name.Variable
'='           Operator
'"'           Literal.String.Double
' \t'         Literal.String.Double
'$lt_nl'      Name.Variable
'"'           Literal.String.Double
'\n\n'        Text

'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$build_libtool_libs' Name.Variable
'"'           Literal.String.Double
' '           Text
'!'           Text
'='           Operator
' '           Text
'yes'         Text
' '           Text
'&&'          Operator
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$build_old_libs' Name.Variable
'"'           Literal.String.Double
' '           Text
'!'           Text
'='           Operator
' '           Text
'yes'         Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n  '        Text
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'$modename'   Name.Variable
': not configured to build any kind of library' Literal.String.Double
'"'           Literal.String.Double
' '           Text
'1'           Literal.Number
'>'           Text
'&'           Punctuation
'2'           Literal.Number
'\n  '        Text
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'Fatal configuration error.  See the ' Literal.String.Double
'$PACKAGE'    Name.Variable
' docs for more information.' Literal.String.Double
'"'           Literal.String.Double
' '           Text
'1'           Literal.Number
'>'           Text
'&'           Punctuation
'2'           Literal.Number
'\n  '        Text
'exit'        Name.Builtin
' '           Text
'$EXIT_FAILURE' Name.Variable
'\n'          Text

'fi'          Keyword
'\n\n'        Text

'# Global variables.\n' Comment.Single

'mode'        Name.Variable
'='           Operator
'$default_mode' Name.Variable
'\n'          Text

'nonopt'      Name.Variable
'='           Operator
'\n'          Text

'prev'        Name.Variable
'='           Operator
'\n'          Text

'prevopt'     Name.Variable
'='           Operator
'\n'          Text

'run'         Name.Variable
'='           Operator
'\n'          Text

'show'        Name.Variable
'='           Operator
'"'           Literal.String.Double
'$echo'       Name.Variable
'"'           Literal.String.Double
'\n'          Text

'show_help'   Name.Variable
'='           Operator
'\n'          Text

'execute_dlfiles' Name.Variable
'='           Operator
'\n'          Text

'duplicate_deps' Name.Variable
'='           Operator
'no'          Text
'\n'          Text

'preserve_args' Name.Variable
'='           Operator
'\n'          Text

'lo2o'        Name.Variable
'='           Operator
'"'           Literal.String.Double
's/\\\\.lo\\$/.' Literal.String.Double
'${'          Literal.String.Interpol
'objext'      Name.Variable
'}'           Literal.String.Interpol
'/'           Literal.String.Double
'"'           Literal.String.Double
'\n'          Text

'o2lo'        Name.Variable
'='           Operator
'"'           Literal.String.Double
's/\\\\.'     Literal.String.Double
'${'          Literal.String.Interpol
'objext'      Name.Variable
'}'           Literal.String.Interpol
'\\$/.lo/'    Literal.String.Double
'"'           Literal.String.Double
'\n\n'        Text

'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'-z'          Text
' '           Text
'"'           Literal.String.Double
'$max_cmd_len' Name.Variable
'"'           Literal.String.Double
';'           Punctuation
' '           Text
'then'        Keyword
'\n  '        Text
'i'           Name.Variable
'='           Operator
'0'           Literal.Number
'\n  '        Text
'testring'    Name.Variable
'='           Operator
'"ABCD"'      Literal.String.Double
'\n  '        Text
'new_result'  Name.Variable
'='           Operator
'\n  \n  '    Text
"# If test is not a shell built-in, we'll probably end up computing a\n" Comment.Single

'  '          Text
'# maximum length that is only half of the actual maximum length, but\n' Comment.Single

'  '          Text
"# we can't tell.\n" Comment.Single

'  '          Text
'while'       Keyword
' '           Text
'('           Operator
'test'        Name.Builtin
' '           Text
'"X"'         Literal.String.Double
'`'           Literal.String.Backtick
'$SHELL'      Name.Variable
' '           Text
'$0'          Name.Variable
' '           Text
'--fallback-echo' Text
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$testring'   Name.Variable
'"'           Literal.String.Double
' '           Text
'2'           Literal.Number
'>/dev/null'  Text
'`'           Literal.String.Backtick
' '           Text
'\\\n'        Literal.String.Escape

'             ' Text
'='           Operator
' '           Text
'"'           Literal.String.Double
'XX'          Literal.String.Double
'$testring'   Name.Variable
'"'           Literal.String.Double
')'           Operator
' '           Text
'>/dev/null'  Text
' '           Text
'2'           Literal.Number
'>'           Text
'&'           Punctuation
'1'           Literal.Number
' '           Text
'&&'          Operator
'\n          ' Text
'new_result'  Name.Variable
'='           Operator
'`'           Literal.String.Backtick
'expr'        Text
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$testring'   Name.Variable
'"'           Literal.String.Double
' '           Text
':'           Text
' '           Text
'".*"'        Literal.String.Double
' '           Text
'2'           Literal.Number
'>'           Text
'&'           Punctuation
'1'           Literal.Number
'`'           Literal.String.Backtick
' '           Text
'&&'          Operator
'\n          ' Text
'max_cmd_len' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$new_result' Name.Variable
'"'           Literal.String.Double
' '           Text
'&&'          Operator
'\n          ' Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$i'          Name.Variable
'"'           Literal.String.Double
' '           Text
'!'           Text
'='           Operator
' '           Text
'17'          Literal.Number
' '           Text
'# 1/2 MB should be enough\n' Comment.Single

'  '          Text
'do'          Keyword
'\n    '      Text
'i'           Name.Variable
'='           Operator
'`'           Literal.String.Backtick
'expr'        Text
' '           Text
'$i'          Name.Variable
' '           Text
'+'           Text
' '           Text
'1'           Literal.Number
'`'           Literal.String.Backtick
'\n    '      Text
'testring'    Name.Variable
'='           Operator
'"'           Literal.String.Double
'$testring'   Name.Variable
'$testring'   Name.Variable
'"'           Literal.String.Double
'\n  '        Text
'done'        Keyword
'\n  '        Text
'testring'    Name.Variable
'='           Operator
'\n  '        Text
'# Add a significant safety factor because C++ compilers can tack on massive\n' Comment.Single

'  '          Text
'# amounts of additional arguments before passing them to the linker.\n' Comment.Single

'  '          Text
'# It appears as though 1/2 is a usable value.\n' Comment.Single

'  '          Text
'max_cmd_len' Name.Variable
'='           Operator
'`'           Literal.String.Backtick
'expr'        Text
' '           Text
'$max_cmd_len' Name.Variable
' '           Text
'\\/'         Literal.String.Escape
' '           Text
'2'           Literal.Number
'`'           Literal.String.Backtick
'\n'          Text

'fi'          Keyword
'\n\n'        Text

'#####################################\n' Comment.Single

'# Shell function definitions:\n' Comment.Single

'# This seems to be the best place for them\n' Comment.Single

'\n'          Text

'# func_mktempdir [string]\n' Comment.Single

"# Make a temporary directory that won't clash with other running\n" Comment.Single

'# libtool processes, and avoids race conditions if possible.  If\n' Comment.Single

'# given, STRING is the basename for that directory.\n' Comment.Single

'func_mktempdir' Text
' '           Text
'('           Operator
')'           Operator
'\n'          Text

'{'           Operator
'\n    '      Text
'my_template' Name.Variable
'='           Operator
'"'           Literal.String.Double
'${'          Literal.String.Interpol
'TMPDIR'      Name.Variable
'-/tmp'       Punctuation
'}'           Literal.String.Interpol
'/'           Literal.String.Double
'${'          Literal.String.Interpol
'1'           Name.Variable
'-'           Punctuation
'$progname'   Name.Variable
'}'           Literal.String.Interpol
'"'           Literal.String.Double
'\n\n    '    Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$run'        Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'":"'         Literal.String.Double
';'           Punctuation
' '           Text
'then'        Keyword
'\n      '    Text
"# Return a directory name, but don't create it in dry-run mode\n" Comment.Single

'      '      Text
'my_tmpdir'   Name.Variable
'='           Operator
'"'           Literal.String.Double
'${'          Literal.String.Interpol
'my_template' Name.Variable
'}'           Literal.String.Interpol
'-'           Literal.String.Double
'$$'          Name.Variable
'"'           Literal.String.Double
'\n    '      Text
'else'        Keyword
'\n\n      '  Text
'# If mktemp works, use that first and foremost\n' Comment.Single

'      '      Text
'my_tmpdir'   Name.Variable
'='           Operator
'`'           Literal.String.Backtick
'mktemp'      Text
' '           Text
'-d'          Text
' '           Text
'"'           Literal.String.Double
'${'          Literal.String.Interpol
'my_template' Name.Variable
'}'           Literal.String.Interpol
'-XXXXXXXX'   Literal.String.Double
'"'           Literal.String.Double
' '           Text
'2'           Literal.Number
'>/dev/null'  Text
'`'           Literal.String.Backtick
'\n\n      '  Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'!'           Text
' '           Text
'-d'          Text
' '           Text
'"'           Literal.String.Double
'$my_tmpdir'  Name.Variable
'"'           Literal.String.Double
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t'        Text
'# Failing that, at least try and use $RANDOM to avoid a race\n' Comment.Single

'\t'          Text
'my_tmpdir'   Name.Variable
'='           Operator
'"'           Literal.String.Double
'${'          Literal.String.Interpol
'my_template' Name.Variable
'}'           Literal.String.Interpol
'-'           Literal.String.Double
'${'          Literal.String.Interpol
'RANDOM'      Name.Variable
'-0'          Punctuation
'}'           Literal.String.Interpol
'$$'          Name.Variable
'"'           Literal.String.Double
'\n\n\t'      Text
'save_mktempdir_umask' Name.Variable
'='           Operator
'`'           Literal.String.Backtick
'umask'       Name.Builtin
'`'           Literal.String.Backtick
'\n\t'        Text
'umask'       Name.Builtin
' '           Text
'0077'        Literal.Number
'\n\t'        Text
'$mkdir'      Name.Variable
' '           Text
'"'           Literal.String.Double
'$my_tmpdir'  Name.Variable
'"'           Literal.String.Double
'\n\t'        Text
'umask'       Name.Builtin
' '           Text
'$save_mktempdir_umask' Name.Variable
'\n      '    Text
'fi'          Keyword
'\n\n      '  Text
"# If we're not in dry-run mode, bomb out on failure\n" Comment.Single

'      '      Text
'test'        Name.Builtin
' '           Text
'-d'          Text
' '           Text
'"'           Literal.String.Double
'$my_tmpdir'  Name.Variable
'"'           Literal.String.Double
' '           Text
'||'          Operator
' '           Text
'{'           Operator
'\n        '  Text
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'cannot create temporary directory \\`' Literal.String.Double
'$my_tmpdir'  Name.Variable
"'"           Literal.String.Double
'"'           Literal.String.Double
' '           Text
'1'           Literal.Number
'>'           Text
'&'           Punctuation
'2'           Literal.Number
'\n\t'        Text
'exit'        Name.Builtin
' '           Text
'$EXIT_FAILURE' Name.Variable
'\n      '    Text
'}'           Operator
'\n    '      Text
'fi'          Keyword
'\n\n    '    Text
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$my_tmpdir'  Name.Variable
'"'           Literal.String.Double
' '           Text
'|'           Punctuation
' '           Text
'$Xsed'       Name.Variable
'\n'          Text

'}'           Operator
'\n\n\n'      Text

'# func_win32_libid arg\n' Comment.Single

"# return the library type of file 'arg'\n" Comment.Single

'#\n'         Comment.Single

'# Need a lot of goo to handle *both* DLLs and import libs\n' Comment.Single

"# Has to be a shell function in order to 'eat' the argument\n" Comment.Single

'# that is supplied when $file_magic_command is called.\n' Comment.Single

'func_win32_libid' Text
' '           Text
'('           Operator
')'           Operator
'\n'          Text

'{'           Operator
'\n  '        Text
'win32_libid_type' Name.Variable
'='           Operator
'"unknown"'   Literal.String.Double
'\n  '        Text
'win32_fileres' Name.Variable
'='           Operator
'`'           Literal.String.Backtick
'file'        Text
' '           Text
'-L'          Text
' '           Text
'$1'          Name.Variable
' '           Text
'2'           Literal.Number
'>/dev/null'  Text
'`'           Literal.String.Backtick
'\n  '        Text
'case'        Keyword
' '           Text
'$win32_fileres' Name.Variable
' '           Text
'in'          Keyword
'\n  '        Text
'*ar'         Text
'\\ '         Literal.String.Escape
'archive'     Text
'\\ '         Literal.String.Escape
'import'      Text
'\\ '         Literal.String.Escape
'library*'    Text
')'           Operator
' '           Text
'# definitely import\n' Comment.Single

'    '        Text
'win32_libid_type' Name.Variable
'='           Operator
'"x86 archive import"' Literal.String.Double
'\n    '      Text
';'           Punctuation
';'           Punctuation
'\n  '        Text
'*ar'         Text
'\\ '         Literal.String.Escape
'archive*'    Text
')'           Operator
' '           Text
'# could be an import, or static\n' Comment.Single

'    '        Text
'if'          Keyword
' '           Text
'eval'        Name.Builtin
' '           Text
'$OBJDUMP'    Name.Variable
' '           Text
'-f'          Text
' '           Text
'$1'          Name.Variable
' '           Text
'|'           Punctuation
' '           Text
'$SED'        Name.Variable
' '           Text
'-e'          Text
' '           Text
"'10q'"       Literal.String.Single
' '           Text
'2'           Literal.Number
'>/dev/null'  Text
' '           Text
'|'           Punctuation
' '           Text
'\\\n'        Literal.String.Escape

'      '      Text
'$EGREP'      Name.Variable
' '           Text
'-e'          Text
' '           Text
"'file format pe-i386(.*architecture: i386)?'" Literal.String.Single
' '           Text
'>/dev/null'  Text
' '           Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n      '    Text
'win32_nmres' Name.Variable
'='           Operator
'`'           Literal.String.Backtick
'eval'        Name.Builtin
' '           Text
'$NM'         Name.Variable
' '           Text
'-f'          Text
' '           Text
'posix'       Text
' '           Text
'-A'          Text
' '           Text
'$1'          Name.Variable
' '           Text
'|'           Punctuation
' '           Text
'\\\n'        Literal.String.Escape

'\t'          Text
'$SED'        Name.Variable
' '           Text
'-n'          Text
' '           Text
'-e'          Text
' '           Text
"'1,100{/ I /{s,.*,import,;p;q;};}'" Literal.String.Single
'`'           Literal.String.Backtick
'\n      '    Text
'case'        Keyword
' '           Text
'$win32_nmres' Name.Variable
' '           Text
'in'          Keyword
'\n      '    Text
'import*'     Text
')'           Operator
'  '          Text
'win32_libid_type' Name.Variable
'='           Operator
'"x86 archive import"' Literal.String.Double
';'           Punctuation
';'           Punctuation
'\n      '    Text
'*'           Text
')'           Operator
'        '    Text
'win32_libid_type' Name.Variable
'='           Operator
'"x86 archive static"' Literal.String.Double
';'           Punctuation
';'           Punctuation
'\n      '    Text
'esac'        Keyword
'\n    '      Text
'fi'          Keyword
'\n    '      Text
';'           Punctuation
';'           Punctuation
'\n  '        Text
'*DLL*'       Text
')'           Operator
'\n    '      Text
'win32_libid_type' Name.Variable
'='           Operator
'"x86 DLL"'   Literal.String.Double
'\n    '      Text
';'           Punctuation
';'           Punctuation
'\n  '        Text
'*executable*' Text
')'           Operator
' '           Text
'# but shell scripts are "executable" too...\n' Comment.Single

'    '        Text
'case'        Keyword
' '           Text
'$win32_fileres' Name.Variable
' '           Text
'in'          Keyword
'\n    '      Text
'*MS'         Text
'\\ '         Literal.String.Escape
'Windows'     Text
'\\ '         Literal.String.Escape
'PE'          Text
'\\ '         Literal.String.Escape
'Intel*'      Text
')'           Operator
'\n      '    Text
'win32_libid_type' Name.Variable
'='           Operator
'"x86 DLL"'   Literal.String.Double
'\n      '    Text
';'           Punctuation
';'           Punctuation
'\n    '      Text
'esac'        Keyword
'\n    '      Text
';'           Punctuation
';'           Punctuation
'\n  '        Text
'esac'        Keyword
'\n  '        Text
'$echo'       Name.Variable
' '           Text
'$win32_libid_type' Name.Variable
'\n'          Text

'}'           Operator
'\n\n\n'      Text

'# func_infer_tag arg\n' Comment.Single

'# Infer tagged configuration to use if any are available and\n' Comment.Single

'# if one wasn\'t chosen via the "--tag" command line option.\n' Comment.Single

'# Only attempt this if the compiler in the base compile\n' Comment.Single

"# command doesn't match the default compiler.\n" Comment.Single

"# arg is usually of the form 'gcc ...'\n" Comment.Single

'func_infer_tag' Text
' '           Text
'('           Operator
')'           Operator
'\n'          Text

'{'           Operator
'\n    '      Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'-n'          Text
' '           Text
'"'           Literal.String.Double
'$available_tags' Name.Variable
'"'           Literal.String.Double
' '           Text
'&&'          Operator
' '           Text
'test'        Name.Builtin
' '           Text
'-z'          Text
' '           Text
'"'           Literal.String.Double
'$tagname'    Name.Variable
'"'           Literal.String.Double
';'           Punctuation
' '           Text
'then'        Keyword
'\n      '    Text
'CC_quoted'   Name.Variable
'='           Operator
'\n      '    Text
'for'         Keyword
' '           Text
'arg'         Text
' '           Text
'in'          Keyword
' '           Text
'$CC'         Name.Variable
';'           Punctuation
' '           Text
'do'          Keyword
'\n\t'        Text
'case'        Keyword
' '           Text
'$arg'        Name.Variable
' '           Text
'in'          Keyword
'\n\t  '      Text
'*'           Text
'['           Operator
'\\['         Literal.String.Escape
'\\~'         Literal.String.Escape
'\\#'         Literal.String.Escape
'\\^'         Literal.String.Escape
'\\&'         Literal.String.Escape
'\\*'         Literal.String.Escape
'\\('         Literal.String.Escape
'\\)'         Literal.String.Escape
'\\{'         Literal.String.Escape
'\\}'         Literal.String.Escape
'\\|'         Literal.String.Escape
'\\;'         Literal.String.Escape
'\\<'         Literal.String.Escape
'\\>'         Literal.String.Escape
'\\?'         Literal.String.Escape
"\\'"         Literal.String.Escape
'\\ '         Literal.String.Escape
'\\\t'        Literal.String.Escape
']'           Operator
'*'           Text
'|'           Punctuation
'*'           Text
']'           Operator
'*'           Text
'|'           Punctuation
'""'          Literal.String.Double
')'           Operator
'\n\t  '      Text
'arg'         Name.Variable
'='           Operator
'"'           Literal.String.Double
'\\"'         Literal.String.Double
'$arg'        Name.Variable
'\\"'         Literal.String.Double
'"'           Literal.String.Double
'\n\t  '      Text
';'           Punctuation
';'           Punctuation
'\n\t'        Text
'esac'        Keyword
'\n\t'        Text
'CC_quoted'   Name.Variable
'='           Operator
'"'           Literal.String.Double
'$CC_quoted'  Name.Variable
' '           Literal.String.Double
'$arg'        Name.Variable
'"'           Literal.String.Double
'\n      '    Text
'done'        Keyword
'\n      '    Text
'case'        Keyword
' '           Text
'$@'          Name.Variable
' '           Text
'in'          Keyword
'\n      '    Text
'# Blanks in the command may have been stripped by the calling shell,\n' Comment.Single

'      '      Text
'# but not from the CC environment variable when configure was run.\n' Comment.Single

'      '      Text
'"'           Literal.String.Double
' '           Literal.String.Double
'$CC'         Name.Variable
' '           Literal.String.Double
'"'           Literal.String.Double
'*'           Text
' '           Text
'|'           Punctuation
' '           Text
'"'           Literal.String.Double
'$CC'         Name.Variable
' '           Literal.String.Double
'"'           Literal.String.Double
'*'           Text
' '           Text
'|'           Punctuation
' '           Text
'"'           Literal.String.Double
' `'          Literal.String.Double
'$echo'       Name.Variable
' '           Literal.String.Double
'$CC'         Name.Variable
'` '          Literal.String.Double
'"'           Literal.String.Double
'*'           Text
' '           Text
'|'           Punctuation
' '           Text
'"'           Literal.String.Double
'`'           Literal.String.Double
'$echo'       Name.Variable
' '           Literal.String.Double
'$CC'         Name.Variable
'` '          Literal.String.Double
'"'           Literal.String.Double
'*'           Text
' '           Text
'|'           Punctuation
' '           Text
'"'           Literal.String.Double
' '           Literal.String.Double
'$CC_quoted'  Name.Variable
'"'           Literal.String.Double
'*'           Text
' '           Text
'|'           Punctuation
' '           Text
'"'           Literal.String.Double
'$CC_quoted'  Name.Variable
' '           Literal.String.Double
'"'           Literal.String.Double
'*'           Text
' '           Text
'|'           Punctuation
' '           Text
'"'           Literal.String.Double
' `'          Literal.String.Double
'$echo'       Name.Variable
' '           Literal.String.Double
'$CC_quoted'  Name.Variable
'` '          Literal.String.Double
'"'           Literal.String.Double
'*'           Text
' '           Text
'|'           Punctuation
' '           Text
'"'           Literal.String.Double
'`'           Literal.String.Double
'$echo'       Name.Variable
' '           Literal.String.Double
'$CC_quoted'  Name.Variable
'` '          Literal.String.Double
'"'           Literal.String.Double
'*'           Text
')'           Operator
' '           Text
';'           Punctuation
';'           Punctuation
'\n      '    Text
'# Blanks at the start of $base_compile will cause this to fail\n' Comment.Single

'      '      Text
"# if we don't check for them as well.\n" Comment.Single

'      '      Text
'*'           Text
')'           Operator
'\n\t'        Text
'for'         Keyword
' '           Text
'z'           Text
' '           Text
'in'          Keyword
' '           Text
'$available_tags' Name.Variable
';'           Punctuation
' '           Text
'do'          Keyword
'\n\t  '      Text
'if'          Keyword
' '           Text
'grep'        Text
' '           Text
'"'           Literal.String.Double
'^# ### BEGIN LIBTOOL TAG CONFIG: ' Literal.String.Double
'$z'          Name.Variable
'$'           Text
'"'           Literal.String.Double
' '           Text
'<'           Text
' '           Text
'"'           Literal.String.Double
'$progpath'   Name.Variable
'"'           Literal.String.Double
' '           Text
'>'           Text
' '           Text
'/dev/null'   Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t    '    Text
'# Evaluate the configuration.\n' Comment.Single

'\t    '      Text
'eval'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'`'           Literal.String.Double
'${'          Literal.String.Interpol
'SED'         Name.Variable
'}'           Literal.String.Interpol
" -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '" Literal.String.Double
'$z'          Name.Variable
"'"           Literal.String.Double
'$'           Text
"/,/^# ### END LIBTOOL TAG CONFIG: '" Literal.String.Double
'$z'          Name.Variable
"'"           Literal.String.Double
'$'           Text
"/p' < "      Literal.String.Double
'$progpath'   Name.Variable
'`'           Literal.String.Double
'"'           Literal.String.Double
'\n\t    '    Text
'CC_quoted'   Name.Variable
'='           Operator
'\n\t    '    Text
'for'         Keyword
' '           Text
'arg'         Text
' '           Text
'in'          Keyword
' '           Text
'$CC'         Name.Variable
';'           Punctuation
' '           Text
'do'          Keyword
'\n\t    '    Text
'# Double-quote args containing other shell metacharacters.\n' Comment.Single

'\t    '      Text
'case'        Keyword
' '           Text
'$arg'        Name.Variable
' '           Text
'in'          Keyword
'\n\t      '  Text
'*'           Text
'['           Operator
'\\['         Literal.String.Escape
'\\~'         Literal.String.Escape
'\\#'         Literal.String.Escape
'\\^'         Literal.String.Escape
'\\&'         Literal.String.Escape
'\\*'         Literal.String.Escape
'\\('         Literal.String.Escape
'\\)'         Literal.String.Escape
'\\{'         Literal.String.Escape
'\\}'         Literal.String.Escape
'\\|'         Literal.String.Escape
'\\;'         Literal.String.Escape
'\\<'         Literal.String.Escape
'\\>'         Literal.String.Escape
'\\?'         Literal.String.Escape
"\\'"         Literal.String.Escape
'\\ '         Literal.String.Escape
'\\\t'        Literal.String.Escape
']'           Operator
'*'           Text
'|'           Punctuation
'*'           Text
']'           Operator
'*'           Text
'|'           Punctuation
'""'          Literal.String.Double
')'           Operator
'\n\t      '  Text
'arg'         Name.Variable
'='           Operator
'"'           Literal.String.Double
'\\"'         Literal.String.Double
'$arg'        Name.Variable
'\\"'         Literal.String.Double
'"'           Literal.String.Double
'\n\t      '  Text
';'           Punctuation
';'           Punctuation
'\n\t    '    Text
'esac'        Keyword
'\n\t    '    Text
'CC_quoted'   Name.Variable
'='           Operator
'"'           Literal.String.Double
'$CC_quoted'  Name.Variable
' '           Literal.String.Double
'$arg'        Name.Variable
'"'           Literal.String.Double
'\n\t  '      Text
'done'        Keyword
'\n\t    '    Text
"# user sometimes does CC=<HOST>-gcc so we need to match that to 'gcc'\n" Comment.Single

'\t    '      Text
'trimedcc'    Name.Variable
'='           Operator
'`'           Literal.String.Backtick
'echo'        Name.Builtin
' '           Text
'${'          Literal.String.Interpol
'CC'          Name.Variable
'}'           Literal.String.Interpol
' '           Text
'|'           Punctuation
' '           Text
'$SED'        Name.Variable
' '           Text
'-e'          Text
' '           Text
'"'           Literal.String.Double
's/'          Literal.String.Double
'${'          Literal.String.Interpol
'host'        Name.Variable
'}'           Literal.String.Interpol
'-//g'        Literal.String.Double
'"'           Literal.String.Double
'`'           Literal.String.Backtick
'\n\t    '    Text
'# and sometimes libtool has CC=<HOST>-gcc but user does CC=gcc\n' Comment.Single

'\t    '      Text
'extendcc'    Name.Variable
'='           Operator
'${'          Literal.String.Interpol
'host'        Name.Variable
'}'           Literal.String.Interpol
'-'           Text
'${'          Literal.String.Interpol
'CC'          Name.Variable
'}'           Literal.String.Interpol
'\n\t    '    Text
'# and sometimes libtool has CC=<OLDHOST>-gcc but user has CC=<NEWHOST>-gcc  \n' Comment.Single

'\t    '      Text
'# (Gentoo-specific hack because we always export $CHOST)\n' Comment.Single

'\t    '      Text
'mungedcc'    Name.Variable
'='           Operator
'${'          Literal.String.Interpol
'CHOST'       Name.Variable
'-'           Punctuation
'${'          Literal.String.Interpol
'host'        Name.Variable
'}'           Literal.String.Interpol
'}'           Literal.String.Interpol
'-'           Text
'${'          Literal.String.Interpol
'trimedcc'    Name.Variable
'}'           Literal.String.Interpol
'\n\t    '    Text
'case'        Keyword
' '           Text
'"'           Literal.String.Double
'$@'          Name.Variable
' '           Literal.String.Double
'"'           Literal.String.Double
' '           Text
'in'          Keyword
'\n\t      '  Text
'"cc "'       Literal.String.Double
'*'           Text
' '           Text
'|'           Punctuation
' '           Text
'" cc "'      Literal.String.Double
'*'           Text
' '           Text
'|'           Punctuation
' '           Text
'"'           Literal.String.Double
'${'          Literal.String.Interpol
'host'        Name.Variable
'}'           Literal.String.Interpol
'-cc '        Literal.String.Double
'"'           Literal.String.Double
'*'           Text
' '           Text
'|'           Punctuation
' '           Text
'"'           Literal.String.Double
' '           Literal.String.Double
'${'          Literal.String.Interpol
'host'        Name.Variable
'}'           Literal.String.Interpol
'-cc '        Literal.String.Double
'"'           Literal.String.Double
'*'           Text
'|'           Punctuation
'\\\n'        Literal.String.Escape

'\t      '    Text
'"gcc "'      Literal.String.Double
'*'           Text
' '           Text
'|'           Punctuation
' '           Text
'" gcc "'     Literal.String.Double
'*'           Text
' '           Text
'|'           Punctuation
' '           Text
'"'           Literal.String.Double
'${'          Literal.String.Interpol
'host'        Name.Variable
'}'           Literal.String.Interpol
'-gcc '       Literal.String.Double
'"'           Literal.String.Double
'*'           Text
' '           Text
'|'           Punctuation
' '           Text
'"'           Literal.String.Double
' '           Literal.String.Double
'${'          Literal.String.Interpol
'host'        Name.Variable
'}'           Literal.String.Interpol
'-gcc '       Literal.String.Double
'"'           Literal.String.Double
'*'           Text
')'           Operator
'\n\t      '  Text
'tagname'     Name.Variable
'='           Operator
'CC'          Text
'\n\t      '  Text
'break'       Name.Builtin
' '           Text
';'           Punctuation
';'           Punctuation
'\n\t      '  Text
'"'           Literal.String.Double
'$trimedcc'   Name.Variable
' '           Literal.String.Double
'"'           Literal.String.Double
'*'           Text
' '           Text
'|'           Punctuation
' '           Text
'"'           Literal.String.Double
' '           Literal.String.Double
'$trimedcc'   Name.Variable
' '           Literal.String.Double
'"'           Literal.String.Double
'*'           Text
' '           Text
'|'           Punctuation
' '           Text
'"'           Literal.String.Double
'`'           Literal.String.Double
'$echo'       Name.Variable
' '           Literal.String.Double
'$trimedcc'   Name.Variable
'` '          Literal.String.Double
'"'           Literal.String.Double
'*'           Text
' '           Text
'|'           Punctuation
' '           Text
'"'           Literal.String.Double
' `'          Literal.String.Double
'$echo'       Name.Variable
' '           Literal.String.Double
'$trimedcc'   Name.Variable
'` '          Literal.String.Double
'"'           Literal.String.Double
'*'           Text
'|'           Punctuation
'\\\n'        Literal.String.Escape

'\t      '    Text
'"'           Literal.String.Double
'$extendcc'   Name.Variable
' '           Literal.String.Double
'"'           Literal.String.Double
'*'           Text
' '           Text
'|'           Punctuation
' '           Text
'"'           Literal.String.Double
' '           Literal.String.Double
'$extendcc'   Name.Variable
' '           Literal.String.Double
'"'           Literal.String.Double
'*'           Text
' '           Text
'|'           Punctuation
' '           Text
'"'           Literal.String.Double
'`'           Literal.String.Double
'$echo'       Name.Variable
' '           Literal.String.Double
'$extendcc'   Name.Variable
'` '          Literal.String.Double
'"'           Literal.String.Double
'*'           Text
' '           Text
'|'           Punctuation
' '           Text
'"'           Literal.String.Double
' `'          Literal.String.Double
'$echo'       Name.Variable
' '           Literal.String.Double
'$extendcc'   Name.Variable
'` '          Literal.String.Double
'"'           Literal.String.Double
'*'           Text
'|'           Punctuation
'\\\n'        Literal.String.Escape

'\t      '    Text
'"'           Literal.String.Double
'$mungedcc'   Name.Variable
' '           Literal.String.Double
'"'           Literal.String.Double
'*'           Text
' '           Text
'|'           Punctuation
' '           Text
'"'           Literal.String.Double
' '           Literal.String.Double
'$mungedcc'   Name.Variable
' '           Literal.String.Double
'"'           Literal.String.Double
'*'           Text
' '           Text
'|'           Punctuation
' '           Text
'"'           Literal.String.Double
'`'           Literal.String.Double
'$echo'       Name.Variable
' '           Literal.String.Double
'$mungedcc'   Name.Variable
'` '          Literal.String.Double
'"'           Literal.String.Double
'*'           Text
' '           Text
'|'           Punctuation
' '           Text
'"'           Literal.String.Double
' `'          Literal.String.Double
'$echo'       Name.Variable
' '           Literal.String.Double
'$mungedcc'   Name.Variable
'` '          Literal.String.Double
'"'           Literal.String.Double
'*'           Text
'|'           Punctuation
'\\\n'        Literal.String.Escape

'\t      '    Text
'"'           Literal.String.Double
' '           Literal.String.Double
'$CC'         Name.Variable
' '           Literal.String.Double
'"'           Literal.String.Double
'*'           Text
' '           Text
'|'           Punctuation
' '           Text
'"'           Literal.String.Double
'$CC'         Name.Variable
' '           Literal.String.Double
'"'           Literal.String.Double
'*'           Text
' '           Text
'|'           Punctuation
' '           Text
'"'           Literal.String.Double
' `'          Literal.String.Double
'$echo'       Name.Variable
' '           Literal.String.Double
'$CC'         Name.Variable
'` '          Literal.String.Double
'"'           Literal.String.Double
'*'           Text
' '           Text
'|'           Punctuation
' '           Text
'"'           Literal.String.Double
'`'           Literal.String.Double
'$echo'       Name.Variable
' '           Literal.String.Double
'$CC'         Name.Variable
'` '          Literal.String.Double
'"'           Literal.String.Double
'*'           Text
' '           Text
'|'           Punctuation
' '           Text
'"'           Literal.String.Double
' '           Literal.String.Double
'$CC_quoted'  Name.Variable
'"'           Literal.String.Double
'*'           Text
' '           Text
'|'           Punctuation
' '           Text
'"'           Literal.String.Double
'$CC_quoted'  Name.Variable
' '           Literal.String.Double
'"'           Literal.String.Double
'*'           Text
' '           Text
'|'           Punctuation
' '           Text
'"'           Literal.String.Double
' `'          Literal.String.Double
'$echo'       Name.Variable
' '           Literal.String.Double
'$CC_quoted'  Name.Variable
'` '          Literal.String.Double
'"'           Literal.String.Double
'*'           Text
' '           Text
'|'           Punctuation
' '           Text
'"'           Literal.String.Double
'`'           Literal.String.Double
'$echo'       Name.Variable
' '           Literal.String.Double
'$CC_quoted'  Name.Variable
'` '          Literal.String.Double
'"'           Literal.String.Double
'*'           Text
')'           Operator
'\n\t      '  Text
'# The compiler in the base compile command matches\n' Comment.Single

'\t      '    Text
'# the one in the tagged configuration.\n' Comment.Single

'\t      '    Text
'# Assume this is the tagged configuration we want.\n' Comment.Single

'\t      '    Text
'tagname'     Name.Variable
'='           Operator
'$z'          Name.Variable
'\n\t      '  Text
'break'       Name.Builtin
'\n\t      '  Text
';'           Punctuation
';'           Punctuation
'\n\t    '    Text
'esac'        Keyword
'\n\t  '      Text
'fi'          Keyword
'\n\t'        Text
'done'        Keyword
'\n\t'        Text
"# If $tagname still isn't set, then no tagged configuration\n" Comment.Single

'\t'          Text
'# was found and let the user know that the "--tag" command\n' Comment.Single

'\t'          Text
'# line option must be used.\n' Comment.Single

'\t'          Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'-z'          Text
' '           Text
'"'           Literal.String.Double
'$tagname'    Name.Variable
'"'           Literal.String.Double
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t  '      Text
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'$modename'   Name.Variable
': unable to infer tagged configuration' Literal.String.Double
'"'           Literal.String.Double
'\n\t  '      Text
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'$modename'   Name.Variable
": specify a tag with \\`--tag'" Literal.String.Double
'"'           Literal.String.Double
' '           Text
'1'           Literal.Number
'>'           Text
'&'           Punctuation
'2'           Literal.Number
'\n\t  '      Text
'exit'        Name.Builtin
' '           Text
'$EXIT_FAILURE' Name.Variable
'\n'          Text

'#        else\n' Comment.Single

'#          $echo "$modename: using $tagname tagged configuration"\n' Comment.Single

'\t'          Text
'fi'          Keyword
'\n\t'        Text
';'           Punctuation
';'           Punctuation
'\n      '    Text
'esac'        Keyword
'\n    '      Text
'fi'          Keyword
'\n'          Text

'}'           Operator
'\n\n\n'      Text

'# func_extract_an_archive dir oldlib\n' Comment.Single

'func_extract_an_archive' Text
' '           Text
'('           Operator
')'           Operator
'\n'          Text

'{'           Operator
'\n    '      Text
'f_ex_an_ar_dir' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$1'          Name.Variable
'"'           Literal.String.Double
';'           Punctuation
' '           Text
'shift'       Name.Builtin
'\n    '      Text
'f_ex_an_ar_oldlib' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$1'          Name.Variable
'"'           Literal.String.Double
'\n\n    '    Text
'$show'       Name.Variable
' '           Text
'"'           Literal.String.Double
'(cd '        Literal.String.Double
'$f_ex_an_ar_dir' Name.Variable
' && '        Literal.String.Double
'$AR'         Name.Variable
' x '         Literal.String.Double
'$f_ex_an_ar_oldlib' Name.Variable
')'           Literal.String.Double
'"'           Literal.String.Double
'\n    '      Text
'$run'        Name.Variable
' '           Text
'eval'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'(cd \\$f_ex_an_ar_dir && ' Literal.String.Double
'$AR'         Name.Variable
' x \\$f_ex_an_ar_oldlib)' Literal.String.Double
'"'           Literal.String.Double
' '           Text
'||'          Operator
' '           Text
'exit'        Name.Builtin
' '           Text
'$?'          Name.Variable
'\n    '      Text
'if'          Keyword
' '           Text
'('           Operator
'$AR'         Name.Variable
' '           Text
't'           Text
' '           Text
'"'           Literal.String.Double
'$f_ex_an_ar_oldlib' Name.Variable
'"'           Literal.String.Double
' '           Text
'|'           Punctuation
' '           Text
'sort'        Text
' '           Text
'|'           Punctuation
' '           Text
'sort'        Text
' '           Text
'-uc'         Text
' '           Text
'>/dev/null'  Text
' '           Text
'2'           Literal.Number
'>'           Text
'&'           Punctuation
'1'           Literal.Number
')'           Operator
';'           Punctuation
' '           Text
'then'        Keyword
'\n     '     Text
':'           Text
'\n    '      Text
'else'        Keyword
'\n      '    Text
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'$modename'   Name.Variable
': ERROR: object name conflicts: ' Literal.String.Double
'$f_ex_an_ar_dir' Name.Variable
'/'           Literal.String.Double
'$f_ex_an_ar_oldlib' Name.Variable
'"'           Literal.String.Double
' '           Text
'1'           Literal.Number
'>'           Text
'&'           Punctuation
'2'           Literal.Number
'\n      '    Text
'exit'        Name.Builtin
' '           Text
'$EXIT_FAILURE' Name.Variable
'\n    '      Text
'fi'          Keyword
'\n'          Text

'}'           Operator
'\n\n'        Text

'# func_extract_archives gentop oldlib ...\n' Comment.Single

'func_extract_archives' Text
' '           Text
'('           Operator
')'           Operator
'\n'          Text

'{'           Operator
'\n    '      Text
'my_gentop'   Name.Variable
'='           Operator
'"'           Literal.String.Double
'$1'          Name.Variable
'"'           Literal.String.Double
';'           Punctuation
' '           Text
'shift'       Name.Builtin
'\n    '      Text
'my_oldlibs'  Name.Variable
'='           Operator
'${'          Literal.String.Interpol
'1'           Name.Variable
'+'           Punctuation
'"'           Literal.String.Double
'$@'          Name.Variable
'"'           Literal.String.Double
'}'           Literal.String.Interpol
'\n    '      Text
'my_oldobjs'  Name.Variable
'='           Operator
'""'          Literal.String.Double
'\n    '      Text
'my_xlib'     Name.Variable
'='           Operator
'""'          Literal.String.Double
'\n    '      Text
'my_xabs'     Name.Variable
'='           Operator
'""'          Literal.String.Double
'\n    '      Text
'my_xdir'     Name.Variable
'='           Operator
'""'          Literal.String.Double
'\n    '      Text
'my_status'   Name.Variable
'='           Operator
'""'          Literal.String.Double
'\n\n    '    Text
'$show'       Name.Variable
' '           Text
'"'           Literal.String.Double
'${'          Literal.String.Interpol
'rm'          Name.Variable
'}'           Literal.String.Interpol
'r '          Literal.String.Double
'$my_gentop'  Name.Variable
'"'           Literal.String.Double
'\n    '      Text
'$run'        Name.Variable
' '           Text
'${'          Literal.String.Interpol
'rm'          Name.Variable
'}'           Literal.String.Interpol
'r'           Text
' '           Text
'"'           Literal.String.Double
'$my_gentop'  Name.Variable
'"'           Literal.String.Double
'\n    '      Text
'$show'       Name.Variable
' '           Text
'"'           Literal.String.Double
'$mkdir'      Name.Variable
' '           Literal.String.Double
'$my_gentop'  Name.Variable
'"'           Literal.String.Double
'\n    '      Text
'$run'        Name.Variable
' '           Text
'$mkdir'      Name.Variable
' '           Text
'"'           Literal.String.Double
'$my_gentop'  Name.Variable
'"'           Literal.String.Double
'\n    '      Text
'my_status'   Name.Variable
'='           Operator
'$?'          Name.Variable
'\n    '      Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$my_status'  Name.Variable
'"'           Literal.String.Double
' '           Text
'-ne'         Text
' '           Text
'0'           Literal.Number
' '           Text
'&&'          Operator
' '           Text
'test'        Name.Builtin
' '           Text
'!'           Text
' '           Text
'-d'          Text
' '           Text
'"'           Literal.String.Double
'$my_gentop'  Name.Variable
'"'           Literal.String.Double
';'           Punctuation
' '           Text
'then'        Keyword
'\n      '    Text
'exit'        Name.Builtin
' '           Text
'$my_status'  Name.Variable
'\n    '      Text
'fi'          Keyword
'\n\n    '    Text
'for'         Keyword
' '           Text
'my_xlib'     Text
' '           Text
'in'          Keyword
' '           Text
'$my_oldlibs' Name.Variable
';'           Punctuation
' '           Text
'do'          Keyword
'\n      '    Text
'# Extract the objects.\n' Comment.Single

'      '      Text
'case'        Keyword
' '           Text
'$my_xlib'    Name.Variable
' '           Text
'in'          Keyword
'\n\t'        Text
'['           Operator
'\\\\'        Literal.String.Escape
'/'           Text
']'           Operator
'*'           Text
' '           Text
'|'           Punctuation
' '           Text
'['           Operator
'A-Za-z'      Text
']'           Operator
':'           Text
'['           Operator
'\\\\'        Literal.String.Escape
'/'           Text
']'           Operator
'*'           Text
')'           Operator
' '           Text
'my_xabs'     Name.Variable
'='           Operator
'"'           Literal.String.Double
'$my_xlib'    Name.Variable
'"'           Literal.String.Double
' '           Text
';'           Punctuation
';'           Punctuation
'\n\t'        Text
'*'           Text
')'           Operator
' '           Text
'my_xabs'     Name.Variable
'='           Operator
'`'           Literal.String.Backtick
'pwd'         Name.Builtin
'`'           Literal.String.Backtick
'"'           Literal.String.Double
'/'           Literal.String.Double
'$my_xlib'    Name.Variable
'"'           Literal.String.Double
' '           Text
';'           Punctuation
';'           Punctuation
'\n      '    Text
'esac'        Keyword
'\n      '    Text
'my_xlib'     Name.Variable
'='           Operator
'`'           Literal.String.Backtick
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$my_xlib'    Name.Variable
'"'           Literal.String.Double
' '           Text
'|'           Punctuation
' '           Text
'$Xsed'       Name.Variable
' '           Text
'-e'          Text
' '           Text
"'s%^.*/%%'"  Literal.String.Single
'`'           Literal.String.Backtick
'\n      '    Text
'my_xdir'     Name.Variable
'='           Operator
'"'           Literal.String.Double
'$my_gentop'  Name.Variable
'/'           Literal.String.Double
'$my_xlib'    Name.Variable
'"'           Literal.String.Double
'\n\n      '  Text
'$show'       Name.Variable
' '           Text
'"'           Literal.String.Double
'${'          Literal.String.Interpol
'rm'          Name.Variable
'}'           Literal.String.Interpol
'r '          Literal.String.Double
'$my_xdir'    Name.Variable
'"'           Literal.String.Double
'\n      '    Text
'$run'        Name.Variable
' '           Text
'${'          Literal.String.Interpol
'rm'          Name.Variable
'}'           Literal.String.Interpol
'r'           Text
' '           Text
'"'           Literal.String.Double
'$my_xdir'    Name.Variable
'"'           Literal.String.Double
'\n      '    Text
'$show'       Name.Variable
' '           Text
'"'           Literal.String.Double
'$mkdir'      Name.Variable
' '           Literal.String.Double
'$my_xdir'    Name.Variable
'"'           Literal.String.Double
'\n      '    Text
'$run'        Name.Variable
' '           Text
'$mkdir'      Name.Variable
' '           Text
'"'           Literal.String.Double
'$my_xdir'    Name.Variable
'"'           Literal.String.Double
'\n      '    Text
'exit_status' Name.Variable
'='           Operator
'$?'          Name.Variable
'\n      '    Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$exit_status' Name.Variable
'"'           Literal.String.Double
' '           Text
'-ne'         Text
' '           Text
'0'           Literal.Number
' '           Text
'&&'          Operator
' '           Text
'test'        Name.Builtin
' '           Text
'!'           Text
' '           Text
'-d'          Text
' '           Text
'"'           Literal.String.Double
'$my_xdir'    Name.Variable
'"'           Literal.String.Double
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t'        Text
'exit'        Name.Builtin
' '           Text
'$exit_status' Name.Variable
'\n      '    Text
'fi'          Keyword
'\n      '    Text
'case'        Keyword
' '           Text
'$host'       Name.Variable
' '           Text
'in'          Keyword
'\n      '    Text
'*-darwin*'   Text
')'           Operator
'\n\t'        Text
'$show'       Name.Variable
' '           Text
'"'           Literal.String.Double
'Extracting ' Literal.String.Double
'$my_xabs'    Name.Variable
'"'           Literal.String.Double
'\n\t'        Text
'# Do not bother doing anything if just a dry run\n' Comment.Single

'\t'          Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'-z'          Text
' '           Text
'"'           Literal.String.Double
'$run'        Name.Variable
'"'           Literal.String.Double
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t  '      Text
'darwin_orig_dir' Name.Variable
'='           Operator
'`'           Literal.String.Backtick
'pwd'         Name.Builtin
'`'           Literal.String.Backtick
'\n\t  '      Text
'cd'          Name.Builtin
' '           Text
'$my_xdir'    Name.Variable
' '           Text
'||'          Operator
' '           Text
'exit'        Name.Builtin
' '           Text
'$?'          Name.Variable
'\n\t  '      Text
'darwin_archive' Name.Variable
'='           Operator
'$my_xabs'    Name.Variable
'\n\t  '      Text
'darwin_curdir' Name.Variable
'='           Operator
'`'           Literal.String.Backtick
'pwd'         Name.Builtin
'`'           Literal.String.Backtick
'\n\t  '      Text
'darwin_base_archive' Name.Variable
'='           Operator
'`'           Literal.String.Backtick
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$darwin_archive' Name.Variable
'"'           Literal.String.Double
' '           Text
'|'           Punctuation
' '           Text
'$Xsed'       Name.Variable
' '           Text
'-e'          Text
' '           Text
"'s%^.*/%%'"  Literal.String.Single
'`'           Literal.String.Backtick
'\n\t  '      Text
'darwin_arches' Name.Variable
'='           Operator
'`'           Literal.String.Backtick
'lipo'        Text
' '           Text
'-info'       Text
' '           Text
'"'           Literal.String.Double
'$darwin_archive' Name.Variable
'"'           Literal.String.Double
' '           Text
'2'           Literal.Number
'>/dev/null'  Text
' '           Text
'|'           Punctuation
' '           Text
'$EGREP'      Name.Variable
' '           Text
'Architectures' Text
' '           Text
'2'           Literal.Number
'>/dev/null'  Text
'`'           Literal.String.Backtick
'\n\t  '      Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'-n'          Text
' '           Text
'"'           Literal.String.Double
'$darwin_arches' Name.Variable
'"'           Literal.String.Double
';'           Punctuation
' '           Text
'then'        Keyword
' \n\t    '   Text
'darwin_arches' Name.Variable
'='           Operator
'`'           Literal.String.Backtick
'echo'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$darwin_arches' Name.Variable
'"'           Literal.String.Double
' '           Text
'|'           Punctuation
' '           Text
'$SED'        Name.Variable
' '           Text
'-e'          Text
' '           Text
"'s/.*are://'" Literal.String.Single
'`'           Literal.String.Backtick
'\n\t    '    Text
'darwin_arch' Name.Variable
'='           Operator
'\n\t    '    Text
'$show'       Name.Variable
' '           Text
'"'           Literal.String.Double
'$darwin_base_archive' Name.Variable
' has multiple architectures ' Literal.String.Double
'$darwin_arches' Name.Variable
'"'           Literal.String.Double
'\n\t    '    Text
'for'         Keyword
' '           Text
'darwin_arch' Text
' '           Text
'in'          Keyword
'  '          Text
'$darwin_arches' Name.Variable
' '           Text
';'           Punctuation
' '           Text
'do'          Keyword
'\n\t      '  Text
'mkdir'       Text
' '           Text
'-p'          Text
' '           Text
'"'           Literal.String.Double
'unfat-'      Literal.String.Double
'$$'          Name.Variable
'/'           Literal.String.Double
'${'          Literal.String.Interpol
'darwin_base_archive' Name.Variable
'}'           Literal.String.Interpol
'-'           Literal.String.Double
'${'          Literal.String.Interpol
'darwin_arch' Name.Variable
'}'           Literal.String.Interpol
'"'           Literal.String.Double
'\n\t      '  Text
'lipo'        Text
' '           Text
'-thin'       Text
' '           Text
'$darwin_arch' Name.Variable
' '           Text
'-output'     Text
' '           Text
'"'           Literal.String.Double
'unfat-'      Literal.String.Double
'$$'          Name.Variable
'/'           Literal.String.Double
'${'          Literal.String.Interpol
'darwin_base_archive' Name.Variable
'}'           Literal.String.Interpol
'-'           Literal.String.Double
'${'          Literal.String.Interpol
'darwin_arch' Name.Variable
'}'           Literal.String.Interpol
'/'           Literal.String.Double
'${'          Literal.String.Interpol
'darwin_base_archive' Name.Variable
'}'           Literal.String.Interpol
'"'           Literal.String.Double
' '           Text
'"'           Literal.String.Double
'${'          Literal.String.Interpol
'darwin_archive' Name.Variable
'}'           Literal.String.Interpol
'"'           Literal.String.Double
'\n\t      '  Text
'cd'          Name.Builtin
' '           Text
'"'           Literal.String.Double
'unfat-'      Literal.String.Double
'$$'          Name.Variable
'/'           Literal.String.Double
'${'          Literal.String.Interpol
'darwin_base_archive' Name.Variable
'}'           Literal.String.Interpol
'-'           Literal.String.Double
'${'          Literal.String.Interpol
'darwin_arch' Name.Variable
'}'           Literal.String.Interpol
'"'           Literal.String.Double
'\n\t      '  Text
'func_extract_an_archive' Text
' '           Text
'"`pwd`"'     Literal.String.Double
' '           Text
'"'           Literal.String.Double
'${'          Literal.String.Interpol
'darwin_base_archive' Name.Variable
'}'           Literal.String.Interpol
'"'           Literal.String.Double
'\n\t      '  Text
'cd'          Name.Builtin
' '           Text
'"'           Literal.String.Double
'$darwin_curdir' Name.Variable
'"'           Literal.String.Double
'\n\t      '  Text
'$rm'         Name.Variable
' '           Text
'"'           Literal.String.Double
'unfat-'      Literal.String.Double
'$$'          Name.Variable
'/'           Literal.String.Double
'${'          Literal.String.Interpol
'darwin_base_archive' Name.Variable
'}'           Literal.String.Interpol
'-'           Literal.String.Double
'${'          Literal.String.Interpol
'darwin_arch' Name.Variable
'}'           Literal.String.Interpol
'/'           Literal.String.Double
'${'          Literal.String.Interpol
'darwin_base_archive' Name.Variable
'}'           Literal.String.Interpol
'"'           Literal.String.Double
'\n\t    '    Text
'done'        Keyword
' '           Text
'# $darwin_arches\n' Comment.Single

'      '      Text
'## Okay now we have a bunch of thin objects, gotta fatten them up :)\n' Comment.Single

'\t    '      Text
'darwin_filelist' Name.Variable
'='           Operator
'`'           Literal.String.Backtick
'find'        Text
' '           Text
'unfat-'      Text
'$$'          Name.Variable
' '           Text
'-type'       Text
' '           Text
'f'           Text
' '           Text
'-name'       Text
' '           Text
'\\*'         Literal.String.Escape
'.o'          Text
' '           Text
'-print'      Text
' '           Text
'-o'          Text
' '           Text
'-name'       Text
' '           Text
'\\*'         Literal.String.Escape
'.lo'         Text
' '           Text
'-print'      Text
'|'           Punctuation
' '           Text
'xargs'       Text
' '           Text
'basename'    Text
' '           Text
'|'           Punctuation
' '           Text
'sort'        Text
' '           Text
'-u'          Text
' '           Text
'|'           Punctuation
' '           Text
'$NL2SP'      Name.Variable
'`'           Literal.String.Backtick
'\n\t    '    Text
'darwin_file' Name.Variable
'='           Operator
'\n\t    '    Text
'darwin_files' Name.Variable
'='           Operator
'\n\t    '    Text
'for'         Keyword
' '           Text
'darwin_file' Text
' '           Text
'in'          Keyword
' '           Text
'$darwin_filelist' Name.Variable
';'           Punctuation
' '           Text
'do'          Keyword
'\n\t      '  Text
'darwin_files' Name.Variable
'='           Operator
'`'           Literal.String.Backtick
'find'        Text
' '           Text
'unfat-'      Text
'$$'          Name.Variable
' '           Text
'-name'       Text
' '           Text
'$darwin_file' Name.Variable
' '           Text
'-print'      Text
' '           Text
'|'           Punctuation
' '           Text
'$NL2SP'      Name.Variable
'`'           Literal.String.Backtick
'\n\t      '  Text
'lipo'        Text
' '           Text
'-create'     Text
' '           Text
'-output'     Text
' '           Text
'"'           Literal.String.Double
'$darwin_file' Name.Variable
'"'           Literal.String.Double
' '           Text
'$darwin_files' Name.Variable
'\n\t    '    Text
'done'        Keyword
' '           Text
'# $darwin_filelist\n' Comment.Single

'\t    '      Text
'${'          Literal.String.Interpol
'rm'          Name.Variable
'}'           Literal.String.Interpol
'r'           Text
' '           Text
'unfat-'      Text
'$$'          Name.Variable
'\n\t    '    Text
'cd'          Name.Builtin
' '           Text
'"'           Literal.String.Double
'$darwin_orig_dir' Name.Variable
'"'           Literal.String.Double
'\n\t  '      Text
'else'        Keyword
'\n\t    '    Text
'cd'          Name.Builtin
' '           Text
'"'           Literal.String.Double
'$darwin_orig_dir' Name.Variable
'"'           Literal.String.Double
'\n \t    '   Text
'func_extract_an_archive' Text
' '           Text
'"'           Literal.String.Double
'$my_xdir'    Name.Variable
'"'           Literal.String.Double
' '           Text
'"'           Literal.String.Double
'$my_xabs'    Name.Variable
'"'           Literal.String.Double
'\n\t  '      Text
'fi'          Keyword
' '           Text
'# $darwin_arches\n' Comment.Single

'\t'          Text
'fi'          Keyword
' '           Text
'# $run\n'    Comment.Single

'\t'          Text
';'           Punctuation
';'           Punctuation
'\n      '    Text
'*'           Text
')'           Operator
'\n        '  Text
'func_extract_an_archive' Text
' '           Text
'"'           Literal.String.Double
'$my_xdir'    Name.Variable
'"'           Literal.String.Double
' '           Text
'"'           Literal.String.Double
'$my_xabs'    Name.Variable
'"'           Literal.String.Double
'\n        '  Text
';'           Punctuation
';'           Punctuation
'\n      '    Text
'esac'        Keyword
'\n      '    Text
'my_oldobjs'  Name.Variable
'='           Operator
'"'           Literal.String.Double
'$my_oldobjs' Name.Variable
' '           Literal.String.Double
'"'           Literal.String.Double
'`'           Literal.String.Backtick
'find'        Text
' '           Text
'$my_xdir'    Name.Variable
' '           Text
'-name'       Text
' '           Text
'\\*'         Literal.String.Escape
'.'           Text
'$objext'     Name.Variable
' '           Text
'-print'      Text
' '           Text
'-o'          Text
' '           Text
'-name'       Text
' '           Text
'\\*'         Literal.String.Escape
'.lo'         Text
' '           Text
'-print'      Text
' '           Text
'|'           Punctuation
' '           Text
'$NL2SP'      Name.Variable
'`'           Literal.String.Backtick
'\n    '      Text
'done'        Keyword
'\n    '      Text
'func_extract_archives_result' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$my_oldobjs' Name.Variable
'"'           Literal.String.Double
'\n'          Text

'}'           Operator
'\n'          Text

'# End of Shell function definitions\n' Comment.Single

'#####################################\n' Comment.Single

'\n'          Text

'# Darwin sucks\n' Comment.Single

'eval'        Name.Builtin
' '           Text
'std_shrext'  Name.Variable
'='           Operator
'\\"'         Literal.String.Escape
'$shrext_cmds' Name.Variable
'\\"'         Literal.String.Escape
'\n\n'        Text

'disable_libs' Name.Variable
'='           Operator
'no'          Text
'\n\n'        Text

'# Parse our command line options once, thoroughly.\n' Comment.Single

'while'       Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$#'          Name.Variable
'"'           Literal.String.Double
' '           Text
'-gt'         Text
' '           Text
'0'           Literal.Number
'\n'          Text

'do'          Keyword
'\n  '        Text
'arg'         Name.Variable
'='           Operator
'"'           Literal.String.Double
'$1'          Name.Variable
'"'           Literal.String.Double
'\n  '        Text
'shift'       Name.Builtin
'\n\n  '      Text
'case'        Keyword
' '           Text
'$arg'        Name.Variable
' '           Text
'in'          Keyword
'\n  '        Text
'-*'          Text
'='           Operator
'*'           Text
')'           Operator
' '           Text
'optarg'      Name.Variable
'='           Operator
'`'           Literal.String.Backtick
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$arg'        Name.Variable
'"'           Literal.String.Double
' '           Text
'|'           Punctuation
' '           Text
'$Xsed'       Name.Variable
' '           Text
'-e'          Text
' '           Text
"'s/[-_a-zA-Z0-9]*=//'" Literal.String.Single
'`'           Literal.String.Backtick
' '           Text
';'           Punctuation
';'           Punctuation
'\n  '        Text
'*'           Text
')'           Operator
' '           Text
'optarg'      Name.Variable
'='           Operator
' '           Text
';'           Punctuation
';'           Punctuation
'\n  '        Text
'esac'        Keyword
'\n\n  '      Text
'# If the previous option needs an argument, assign it.\n' Comment.Single

'  '          Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'-n'          Text
' '           Text
'"'           Literal.String.Double
'$prev'       Name.Variable
'"'           Literal.String.Double
';'           Punctuation
' '           Text
'then'        Keyword
'\n    '      Text
'case'        Keyword
' '           Text
'$prev'       Name.Variable
' '           Text
'in'          Keyword
'\n    '      Text
'execute_dlfiles' Text
')'           Operator
'\n      '    Text
'execute_dlfiles' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$execute_dlfiles' Name.Variable
' '           Literal.String.Double
'$arg'        Name.Variable
'"'           Literal.String.Double
'\n      '    Text
';'           Punctuation
';'           Punctuation
'\n    '      Text
'tag'         Text
')'           Operator
'\n      '    Text
'tagname'     Name.Variable
'='           Operator
'"'           Literal.String.Double
'$arg'        Name.Variable
'"'           Literal.String.Double
'\n      '    Text
'preserve_args' Name.Variable
'='           Operator
'"'           Literal.String.Double
'${'          Literal.String.Interpol
'preserve_args' Name.Variable
'}'           Literal.String.Interpol
'='           Literal.String.Double
'$arg'        Name.Variable
'"'           Literal.String.Double
'\n\n      '  Text
'# Check whether tagname contains only valid characters\n' Comment.Single

'      '      Text
'case'        Keyword
' '           Text
'$tagname'    Name.Variable
' '           Text
'in'          Keyword
'\n      '    Text
'*'           Text
'['           Operator
'!-_A-Za-z0-9,/' Text
']'           Operator
'*'           Text
')'           Operator
'\n\t'        Text
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'$progname'   Name.Variable
': invalid tag name: ' Literal.String.Double
'$tagname'    Name.Variable
'"'           Literal.String.Double
' '           Text
'1'           Literal.Number
'>'           Text
'&'           Punctuation
'2'           Literal.Number
'\n\t'        Text
'exit'        Name.Builtin
' '           Text
'$EXIT_FAILURE' Name.Variable
'\n\t'        Text
';'           Punctuation
';'           Punctuation
'\n      '    Text
'esac'        Keyword
'\n\n      '  Text
'case'        Keyword
' '           Text
'$tagname'    Name.Variable
' '           Text
'in'          Keyword
'\n      '    Text
'CC'          Text
')'           Operator
'\n\t'        Text
'# Don\'t test for the "default" C tag, as we know, it\'s there, but\n' Comment.Single

'\t'          Text
'# not specially marked.\n' Comment.Single

'\t'          Text
';'           Punctuation
';'           Punctuation
'\n      '    Text
'*'           Text
')'           Operator
'\n\t'        Text
'if'          Keyword
' '           Text
'grep'        Text
' '           Text
'"'           Literal.String.Double
'^# ### BEGIN LIBTOOL TAG CONFIG: ' Literal.String.Double
'$tagname'    Name.Variable
'$'           Text
'"'           Literal.String.Double
' '           Text
'<'           Text
' '           Text
'"'           Literal.String.Double
'$progpath'   Name.Variable
'"'           Literal.String.Double
' '           Text
'>'           Text
' '           Text
'/dev/null'   Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t  '      Text
'taglist'     Name.Variable
'='           Operator
'"'           Literal.String.Double
'$taglist'    Name.Variable
' '           Literal.String.Double
'$tagname'    Name.Variable
'"'           Literal.String.Double
'\n\t  '      Text
'# Evaluate the configuration.\n' Comment.Single

'\t  '        Text
'eval'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'`'           Literal.String.Double
'${'          Literal.String.Interpol
'SED'         Name.Variable
'}'           Literal.String.Interpol
" -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '" Literal.String.Double
'$tagname'    Name.Variable
"'"           Literal.String.Double
'$'           Text
"/,/^# ### END LIBTOOL TAG CONFIG: '" Literal.String.Double
'$tagname'    Name.Variable
"'"           Literal.String.Double
'$'           Text
"/p' < "      Literal.String.Double
'$progpath'   Name.Variable
'`'           Literal.String.Double
'"'           Literal.String.Double
'\n\t'        Text
'else'        Keyword
'\n\t  '      Text
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'$progname'   Name.Variable
': ignoring unknown tag ' Literal.String.Double
'$tagname'    Name.Variable
'"'           Literal.String.Double
' '           Text
'1'           Literal.Number
'>'           Text
'&'           Punctuation
'2'           Literal.Number
'\n\t'        Text
'fi'          Keyword
'\n\t'        Text
';'           Punctuation
';'           Punctuation
'\n      '    Text
'esac'        Keyword
'\n      '    Text
';'           Punctuation
';'           Punctuation
'\n    '      Text
'*'           Text
')'           Operator
'\n      '    Text
'eval'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$prev'       Name.Variable
'=\\$arg'     Literal.String.Double
'"'           Literal.String.Double
'\n      '    Text
';'           Punctuation
';'           Punctuation
'\n    '      Text
'esac'        Keyword
'\n\n    '    Text
'prev'        Name.Variable
'='           Operator
'\n    '      Text
'prevopt'     Name.Variable
'='           Operator
'\n    '      Text
'continue'    Keyword
'\n  '        Text
'fi'          Keyword
'\n\n  '      Text
'# Have we seen a non-optional argument yet?\n' Comment.Single

'  '          Text
'case'        Keyword
' '           Text
'$arg'        Name.Variable
' '           Text
'in'          Keyword
'\n  '        Text
'--help'      Text
')'           Operator
'\n    '      Text
'show_help'   Name.Variable
'='           Operator
'yes'         Text
'\n    '      Text
';'           Punctuation
';'           Punctuation
'\n\n  '      Text
'--version'   Text
')'           Operator
'\n    '      Text
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'$PROGRAM'    Name.Variable
' (GNU '      Literal.String.Double
'$PACKAGE'    Name.Variable
') '          Literal.String.Double
'$VERSION'    Name.Variable
'$TIMESTAMP'  Name.Variable
'"'           Literal.String.Double
'\n    '      Text
'$echo'       Name.Variable
'\n    '      Text
'$echo'       Name.Variable
' '           Text
'"Copyright (C) 2005  Free Software Foundation, Inc."' Literal.String.Double
'\n    '      Text
'$echo'       Name.Variable
' '           Text
'"This is free software; see the source for copying conditions.  There is NO"' Literal.String.Double
'\n    '      Text
'$echo'       Name.Variable
' '           Text
'"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."' Literal.String.Double
'\n    '      Text
'exit'        Name.Builtin
' '           Text
'$?'          Name.Variable
'\n    '      Text
';'           Punctuation
';'           Punctuation
'\n\n  '      Text
'--config'    Text
')'           Operator
'\n    '      Text
'${'          Literal.String.Interpol
'SED'         Name.Variable
'}'           Literal.String.Interpol
' '           Text
'-e'          Text
' '           Text
"'1,/^# ### BEGIN LIBTOOL CONFIG/d'" Literal.String.Single
' '           Text
'-e'          Text
' '           Text
"'/^# ### END LIBTOOL CONFIG/,$d'" Literal.String.Single
' '           Text
'$progpath'   Name.Variable
'\n    '      Text
'# Now print the configurations for the tags.\n' Comment.Single

'    '        Text
'for'         Keyword
' '           Text
'tagname'     Text
' '           Text
'in'          Keyword
' '           Text
'$taglist'    Name.Variable
';'           Punctuation
' '           Text
'do'          Keyword
'\n      '    Text
'${'          Literal.String.Interpol
'SED'         Name.Variable
'}'           Literal.String.Interpol
' '           Text
'-n'          Text
' '           Text
'-e'          Text
' '           Text
'"'           Literal.String.Double
'/^# ### BEGIN LIBTOOL TAG CONFIG: ' Literal.String.Double
'$tagname'    Name.Variable
'$'           Text
'/,/^# ### END LIBTOOL TAG CONFIG: ' Literal.String.Double
'$tagname'    Name.Variable
'$'           Text
'/p'          Literal.String.Double
'"'           Literal.String.Double
' '           Text
'<'           Text
' '           Text
'"'           Literal.String.Double
'$progpath'   Name.Variable
'"'           Literal.String.Double
'\n    '      Text
'done'        Keyword
'\n    '      Text
'exit'        Name.Builtin
' '           Text
'$?'          Name.Variable
'\n    '      Text
';'           Punctuation
';'           Punctuation
'\n\n  '      Text
'--debug'     Text
')'           Operator
'\n    '      Text
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'$progname'   Name.Variable
': enabling shell trace mode' Literal.String.Double
'"'           Literal.String.Double
'\n    '      Text
'set'         Name.Builtin
' '           Text
'-x'          Text
'\n    '      Text
'preserve_args' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$preserve_args' Name.Variable
' '           Literal.String.Double
'$arg'        Name.Variable
'"'           Literal.String.Double
'\n    '      Text
';'           Punctuation
';'           Punctuation
'\n\n  '      Text
'--dry-run'   Text
' '           Text
'|'           Punctuation
' '           Text
'-n'          Text
')'           Operator
'\n    '      Text
'run'         Name.Variable
'='           Operator
':'           Text
'\n    '      Text
';'           Punctuation
';'           Punctuation
'\n\n  '      Text
'--features'  Text
')'           Operator
'\n    '      Text
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'host: '      Literal.String.Double
'$host'       Name.Variable
'"'           Literal.String.Double
'\n    '      Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$build_libtool_libs' Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'yes'         Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n      '    Text
'$echo'       Name.Variable
' '           Text
'"enable shared libraries"' Literal.String.Double
'\n    '      Text
'else'        Keyword
'\n      '    Text
'$echo'       Name.Variable
' '           Text
'"disable shared libraries"' Literal.String.Double
'\n    '      Text
'fi'          Keyword
'\n    '      Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$build_old_libs' Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'yes'         Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n      '    Text
'$echo'       Name.Variable
' '           Text
'"enable static libraries"' Literal.String.Double
'\n    '      Text
'else'        Keyword
'\n      '    Text
'$echo'       Name.Variable
' '           Text
'"disable static libraries"' Literal.String.Double
'\n    '      Text
'fi'          Keyword
'\n    '      Text
'exit'        Name.Builtin
' '           Text
'$?'          Name.Variable
'\n    '      Text
';'           Punctuation
';'           Punctuation
'\n\n  '      Text
'--finish'    Text
')'           Operator
' '           Text
'mode'        Name.Variable
'='           Operator
'"finish"'    Literal.String.Double
' '           Text
';'           Punctuation
';'           Punctuation
'\n\n  '      Text
'--mode'      Text
')'           Operator
' '           Text
'prevopt'     Name.Variable
'='           Operator
'"--mode"'    Literal.String.Double
' '           Text
'prev'        Name.Variable
'='           Operator
'mode'        Text
' '           Text
';'           Punctuation
';'           Punctuation
'\n  '        Text
'--mode'      Text
'='           Operator
'*'           Text
')'           Operator
' '           Text
'mode'        Name.Variable
'='           Operator
'"'           Literal.String.Double
'$optarg'     Name.Variable
'"'           Literal.String.Double
' '           Text
';'           Punctuation
';'           Punctuation
'\n\n  '      Text
'--preserve-dup-deps' Text
')'           Operator
' '           Text
'duplicate_deps' Name.Variable
'='           Operator
'"yes"'       Literal.String.Double
' '           Text
';'           Punctuation
';'           Punctuation
'\n\n  '      Text
'--quiet'     Text
' '           Text
'|'           Punctuation
' '           Text
'--silent'    Text
')'           Operator
'\n    '      Text
'show'        Name.Variable
'='           Operator
':'           Text
'\n    '      Text
'preserve_args' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$preserve_args' Name.Variable
' '           Literal.String.Double
'$arg'        Name.Variable
'"'           Literal.String.Double
'\n    '      Text
';'           Punctuation
';'           Punctuation
'\n\n  '      Text
'--tag'       Text
')'           Operator
'\n    '      Text
'prevopt'     Name.Variable
'='           Operator
'"--tag"'     Literal.String.Double
'\n    '      Text
'prev'        Name.Variable
'='           Operator
'tag'         Text
'\n    '      Text
'preserve_args' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$preserve_args' Name.Variable
' --tag'      Literal.String.Double
'"'           Literal.String.Double
'\n    '      Text
';'           Punctuation
';'           Punctuation
'\n  '        Text
'--tag'       Text
'='           Operator
'*'           Text
')'           Operator
'\n    '      Text
'set'         Name.Builtin
' '           Text
'tag'         Text
' '           Text
'"'           Literal.String.Double
'$optarg'     Name.Variable
'"'           Literal.String.Double
' '           Text
'${'          Literal.String.Interpol
'1'           Name.Variable
'+'           Punctuation
'"'           Literal.String.Double
'$@'          Name.Variable
'"'           Literal.String.Double
'}'           Literal.String.Interpol
'\n    '      Text
'shift'       Name.Builtin
'\n    '      Text
'prev'        Name.Variable
'='           Operator
'tag'         Text
'\n    '      Text
'preserve_args' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$preserve_args' Name.Variable
' --tag'      Literal.String.Double
'"'           Literal.String.Double
'\n    '      Text
';'           Punctuation
';'           Punctuation
'\n\n  '      Text
'-dlopen'     Text
')'           Operator
'\n    '      Text
'prevopt'     Name.Variable
'='           Operator
'"-dlopen"'   Literal.String.Double
'\n    '      Text
'prev'        Name.Variable
'='           Operator
'execute_dlfiles' Text
'\n    '      Text
';'           Punctuation
';'           Punctuation
'\n\n  '      Text
'-*'          Text
')'           Operator
'\n    '      Text
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'$modename'   Name.Variable
': unrecognized option \\`' Literal.String.Double
'$arg'        Name.Variable
"'"           Literal.String.Double
'"'           Literal.String.Double
' '           Text
'1'           Literal.Number
'>'           Text
'&'           Punctuation
'2'           Literal.Number
'\n    '      Text
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'$help'       Name.Variable
'"'           Literal.String.Double
' '           Text
'1'           Literal.Number
'>'           Text
'&'           Punctuation
'2'           Literal.Number
'\n    '      Text
'exit'        Name.Builtin
' '           Text
'$EXIT_FAILURE' Name.Variable
'\n    '      Text
';'           Punctuation
';'           Punctuation
'\n\n  '      Text
'*'           Text
')'           Operator
'\n    '      Text
'nonopt'      Name.Variable
'='           Operator
'"'           Literal.String.Double
'$arg'        Name.Variable
'"'           Literal.String.Double
'\n    '      Text
'break'       Name.Builtin
'\n    '      Text
';'           Punctuation
';'           Punctuation
'\n  '        Text
'esac'        Keyword
'\n'          Text

'done'        Keyword
'\n\n'        Text

'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'-n'          Text
' '           Text
'"'           Literal.String.Double
'$prevopt'    Name.Variable
'"'           Literal.String.Double
';'           Punctuation
' '           Text
'then'        Keyword
'\n  '        Text
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'$modename'   Name.Variable
': option \\`' Literal.String.Double
'$prevopt'    Name.Variable
"' requires an argument" Literal.String.Double
'"'           Literal.String.Double
' '           Text
'1'           Literal.Number
'>'           Text
'&'           Punctuation
'2'           Literal.Number
'\n  '        Text
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'$help'       Name.Variable
'"'           Literal.String.Double
' '           Text
'1'           Literal.Number
'>'           Text
'&'           Punctuation
'2'           Literal.Number
'\n  '        Text
'exit'        Name.Builtin
' '           Text
'$EXIT_FAILURE' Name.Variable
'\n'          Text

'fi'          Keyword
'\n\n'        Text

'case'        Keyword
' '           Text
'$disable_libs' Name.Variable
' '           Text
'in'          Keyword
'\n'          Text

'no'          Text
')'           Operator
' \n  '       Text
';'           Punctuation
';'           Punctuation
'\n'          Text

'shared'      Text
')'           Operator
'\n  '        Text
'build_libtool_libs' Name.Variable
'='           Operator
'no'          Text
'\n  '        Text
'build_old_libs' Name.Variable
'='           Operator
'yes'         Text
'\n  '        Text
';'           Punctuation
';'           Punctuation
'\n'          Text

'static'      Text
')'           Operator
'\n  '        Text
'build_old_libs' Name.Variable
'='           Operator
'`'           Literal.String.Backtick
'case'        Keyword
' '           Text
'$build_libtool_libs' Name.Variable
' '           Text
'in'          Keyword
' '           Text
'yes'         Text
')'           Operator
' '           Text
'echo'        Name.Builtin
' '           Text
'no'          Text
';'           Punctuation
';'           Punctuation
' '           Text
'*'           Text
')'           Operator
' '           Text
'echo'        Name.Builtin
' '           Text
'yes'         Text
';'           Punctuation
';'           Punctuation
' '           Text
'esac'        Keyword
'`'           Literal.String.Backtick
'\n  '        Text
';'           Punctuation
';'           Punctuation
'\n'          Text

'esac'        Keyword
'\n\n'        Text

'# If this variable is set in any of the actions, the command in it\n' Comment.Single

'# will be execed at the end.  This prevents here-documents from being\n' Comment.Single

'# left over by shells.\n' Comment.Single

'exec_cmd'    Name.Variable
'='           Operator
'\n\n'        Text

'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'-z'          Text
' '           Text
'"'           Literal.String.Double
'$show_help'  Name.Variable
'"'           Literal.String.Double
';'           Punctuation
' '           Text
'then'        Keyword
'\n\n  '      Text
'# Infer the operation mode.\n' Comment.Single

'  '          Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'-z'          Text
' '           Text
'"'           Literal.String.Double
'$mode'       Name.Variable
'"'           Literal.String.Double
';'           Punctuation
' '           Text
'then'        Keyword
'\n    '      Text
'$echo'       Name.Variable
' '           Text
'"*** Warning: inferring the mode of operation is deprecated."' Literal.String.Double
' '           Text
'1'           Literal.Number
'>'           Text
'&'           Punctuation
'2'           Literal.Number
'\n    '      Text
'$echo'       Name.Variable
' '           Text
'"*** Future versions of Libtool will require --mode=MODE be specified."' Literal.String.Double
' '           Text
'1'           Literal.Number
'>'           Text
'&'           Punctuation
'2'           Literal.Number
'\n    '      Text
'case'        Keyword
' '           Text
'$nonopt'     Name.Variable
' '           Text
'in'          Keyword
'\n    '      Text
'*cc'         Text
' '           Text
'|'           Punctuation
' '           Text
'cc*'         Text
' '           Text
'|'           Punctuation
' '           Text
'*++'         Text
' '           Text
'|'           Punctuation
' '           Text
'gcc*'        Text
' '           Text
'|'           Punctuation
' '           Text
'*-gcc*'      Text
' '           Text
'|'           Punctuation
' '           Text
'g++*'        Text
' '           Text
'|'           Punctuation
' '           Text
'xlc*'        Text
')'           Operator
'\n      '    Text
'mode'        Name.Variable
'='           Operator
'link'        Text
'\n      '    Text
'for'         Keyword
' '           Text
'arg'         Text
'\n      '    Text
'do'          Keyword
'\n\t'        Text
'case'        Keyword
' '           Text
'$arg'        Name.Variable
' '           Text
'in'          Keyword
'\n\t'        Text
'-c'          Text
')'           Operator
'\n\t   '     Text
'mode'        Name.Variable
'='           Operator
'compile'     Text
'\n\t   '     Text
'break'       Name.Builtin
'\n\t   '     Text
';'           Punctuation
';'           Punctuation
'\n\t'        Text
'esac'        Keyword
'\n      '    Text
'done'        Keyword
'\n      '    Text
';'           Punctuation
';'           Punctuation
'\n    '      Text
'*db'         Text
' '           Text
'|'           Punctuation
' '           Text
'*dbx'        Text
' '           Text
'|'           Punctuation
' '           Text
'*strace'     Text
' '           Text
'|'           Punctuation
' '           Text
'*truss'      Text
')'           Operator
'\n      '    Text
'mode'        Name.Variable
'='           Operator
'execute'     Text
'\n      '    Text
';'           Punctuation
';'           Punctuation
'\n    '      Text
'*install*'   Text
'|'           Punctuation
'cp'          Text
'|'           Punctuation
'mv'          Text
')'           Operator
'\n      '    Text
'mode'        Name.Variable
'='           Operator
'install'     Text
'\n      '    Text
';'           Punctuation
';'           Punctuation
'\n    '      Text
'*rm'         Text
')'           Operator
'\n      '    Text
'mode'        Name.Variable
'='           Operator
'uninstall'   Text
'\n      '    Text
';'           Punctuation
';'           Punctuation
'\n    '      Text
'*'           Text
')'           Operator
'\n      '    Text
'# If we have no mode, but dlfiles were specified, then do execute mode.\n' Comment.Single

'      '      Text
'test'        Name.Builtin
' '           Text
'-n'          Text
' '           Text
'"'           Literal.String.Double
'$execute_dlfiles' Name.Variable
'"'           Literal.String.Double
' '           Text
'&&'          Operator
' '           Text
'mode'        Name.Variable
'='           Operator
'execute'     Text
'\n\n      '  Text
'# Just use the default operation mode.\n' Comment.Single

'      '      Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'-z'          Text
' '           Text
'"'           Literal.String.Double
'$mode'       Name.Variable
'"'           Literal.String.Double
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t'        Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'-n'          Text
' '           Text
'"'           Literal.String.Double
'$nonopt'     Name.Variable
'"'           Literal.String.Double
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t  '      Text
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'$modename'   Name.Variable
': warning: cannot infer operation mode from \\`' Literal.String.Double
'$nonopt'     Name.Variable
"'"           Literal.String.Double
'"'           Literal.String.Double
' '           Text
'1'           Literal.Number
'>'           Text
'&'           Punctuation
'2'           Literal.Number
'\n\t'        Text
'else'        Keyword
'\n\t  '      Text
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'$modename'   Name.Variable
': warning: cannot infer operation mode without MODE-ARGS' Literal.String.Double
'"'           Literal.String.Double
' '           Text
'1'           Literal.Number
'>'           Text
'&'           Punctuation
'2'           Literal.Number
'\n\t'        Text
'fi'          Keyword
'\n      '    Text
'fi'          Keyword
'\n      '    Text
';'           Punctuation
';'           Punctuation
'\n    '      Text
'esac'        Keyword
'\n  '        Text
'fi'          Keyword
'\n\n  '      Text
'# Only execute mode is allowed to have -dlopen flags.\n' Comment.Single

'  '          Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'-n'          Text
' '           Text
'"'           Literal.String.Double
'$execute_dlfiles' Name.Variable
'"'           Literal.String.Double
' '           Text
'&&'          Operator
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$mode'       Name.Variable
'"'           Literal.String.Double
' '           Text
'!'           Text
'='           Operator
' '           Text
'execute'     Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n    '      Text
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'$modename'   Name.Variable
": unrecognized option \\`-dlopen'" Literal.String.Double
'"'           Literal.String.Double
' '           Text
'1'           Literal.Number
'>'           Text
'&'           Punctuation
'2'           Literal.Number
'\n    '      Text
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'$help'       Name.Variable
'"'           Literal.String.Double
' '           Text
'1'           Literal.Number
'>'           Text
'&'           Punctuation
'2'           Literal.Number
'\n    '      Text
'exit'        Name.Builtin
' '           Text
'$EXIT_FAILURE' Name.Variable
'\n  '        Text
'fi'          Keyword
'\n\n  '      Text
'# Change the help message to a mode-specific one.\n' Comment.Single

'  '          Text
'generic_help' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$help'       Name.Variable
'"'           Literal.String.Double
'\n  '        Text
'help'        Name.Variable
'='           Operator
'"'           Literal.String.Double
'Try \\`'     Literal.String.Double
'$modename'   Name.Variable
' --help --mode=' Literal.String.Double
'$mode'       Name.Variable
"' for more information." Literal.String.Double
'"'           Literal.String.Double
'\n\n  '      Text
'# These modes are in order of execution frequency so that they run quickly.\n' Comment.Single

'  '          Text
'case'        Keyword
' '           Text
'$mode'       Name.Variable
' '           Text
'in'          Keyword
'\n  '        Text
'# libtool compile mode\n' Comment.Single

'  '          Text
'compile'     Text
')'           Operator
'\n    '      Text
'modename'    Name.Variable
'='           Operator
'"'           Literal.String.Double
'$modename'   Name.Variable
': compile'   Literal.String.Double
'"'           Literal.String.Double
'\n    '      Text
'# Get the compilation command and the source file.\n' Comment.Single

'    '        Text
'base_compile' Name.Variable
'='           Operator
'\n    '      Text
'srcfile'     Name.Variable
'='           Operator
'"'           Literal.String.Double
'$nonopt'     Name.Variable
'"'           Literal.String.Double
'  '          Text
'#  always keep a non-empty value in "srcfile"\n' Comment.Single

'    '        Text
'suppress_opt' Name.Variable
'='           Operator
'yes'         Text
'\n    '      Text
'suppress_output' Name.Variable
'='           Operator
'\n    '      Text
'arg_mode'    Name.Variable
'='           Operator
'normal'      Text
'\n    '      Text
'libobj'      Name.Variable
'='           Operator
'\n    '      Text
'later'       Name.Variable
'='           Operator
'\n\n    '    Text
'for'         Keyword
' '           Text
'arg'         Text
'\n    '      Text
'do'          Keyword
'\n      '    Text
'case'        Keyword
' '           Text
'$arg_mode'   Name.Variable
' '           Text
'in'          Keyword
'\n      '    Text
'arg'         Text
'  '          Text
')'           Operator
'\n\t'        Text
'# do not "continue".  Instead, add this to base_compile\n' Comment.Single

'\t'          Text
'lastarg'     Name.Variable
'='           Operator
'"'           Literal.String.Double
'$arg'        Name.Variable
'"'           Literal.String.Double
'\n\t'        Text
'arg_mode'    Name.Variable
'='           Operator
'normal'      Text
'\n\t'        Text
';'           Punctuation
';'           Punctuation
'\n\n      '  Text
'target'      Text
' '           Text
')'           Operator
'\n\t'        Text
'libobj'      Name.Variable
'='           Operator
'"'           Literal.String.Double
'$arg'        Name.Variable
'"'           Literal.String.Double
'\n\t'        Text
'arg_mode'    Name.Variable
'='           Operator
'normal'      Text
'\n\t'        Text
'continue'    Keyword
'\n\t'        Text
';'           Punctuation
';'           Punctuation
'\n\n      '  Text
'normal'      Text
' '           Text
')'           Operator
'\n\t'        Text
'# Accept any command-line options.\n' Comment.Single

'\t'          Text
'case'        Keyword
' '           Text
'$arg'        Name.Variable
' '           Text
'in'          Keyword
'\n\t'        Text
'-o'          Text
')'           Operator
'\n\t  '      Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'-n'          Text
' '           Text
'"'           Literal.String.Double
'$libobj'     Name.Variable
'"'           Literal.String.Double
' '           Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t    '    Text
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'$modename'   Name.Variable
": you cannot specify \\`-o' more than once" Literal.String.Double
'"'           Literal.String.Double
' '           Text
'1'           Literal.Number
'>'           Text
'&'           Punctuation
'2'           Literal.Number
'\n\t    '    Text
'exit'        Name.Builtin
' '           Text
'$EXIT_FAILURE' Name.Variable
'\n\t  '      Text
'fi'          Keyword
'\n\t  '      Text
'arg_mode'    Name.Variable
'='           Operator
'target'      Text
'\n\t  '      Text
'continue'    Keyword
'\n\t  '      Text
';'           Punctuation
';'           Punctuation
'\n\n\t'      Text
'-static'     Text
' '           Text
'|'           Punctuation
' '           Text
'-prefer-pic' Text
' '           Text
'|'           Punctuation
' '           Text
'-prefer-non-pic' Text
')'           Operator
'\n\t  '      Text
'later'       Name.Variable
'='           Operator
'"'           Literal.String.Double
'$later'      Name.Variable
' '           Literal.String.Double
'$arg'        Name.Variable
'"'           Literal.String.Double
'\n\t  '      Text
'continue'    Keyword
'\n\t  '      Text
';'           Punctuation
';'           Punctuation
'\n\n\t'      Text
'-no-suppress' Text
')'           Operator
'\n\t  '      Text
'suppress_opt' Name.Variable
'='           Operator
'no'          Text
'\n\t  '      Text
'continue'    Keyword
'\n\t  '      Text
';'           Punctuation
';'           Punctuation
'\n\n\t'      Text
'-Xcompiler'  Text
')'           Operator
'\n\t  '      Text
'arg_mode'    Name.Variable
'='           Operator
'arg'         Text
'  '          Text
'#  the next one goes into the "base_compile" arg list\n' Comment.Single

'\t  '        Text
'continue'    Keyword
'      '      Text
'#  The current "srcfile" will either be retained or\n' Comment.Single

'\t  '        Text
';'           Punctuation
';'           Punctuation
'            ' Text
'#  replaced later.  I would guess that would be a bug.\n' Comment.Single

'\n\t'        Text
'-Wc,*'       Text
')'           Operator
'\n\t  '      Text
'args'        Name.Variable
'='           Operator
'`'           Literal.String.Backtick
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$arg'        Name.Variable
'"'           Literal.String.Double
' '           Text
'|'           Punctuation
' '           Text
'$Xsed'       Name.Variable
' '           Text
'-e'          Text
' '           Text
'"s/^-Wc,//"' Literal.String.Double
'`'           Literal.String.Backtick
'\n\t  '      Text
'lastarg'     Name.Variable
'='           Operator
'\n\t  '      Text
'save_ifs'    Name.Variable
'='           Operator
'"'           Literal.String.Double
'$IFS'        Name.Variable
'"'           Literal.String.Double
';'           Punctuation
' '           Text
'IFS'         Name.Variable
'='           Operator
"','"         Literal.String.Single
'\n \t  '     Text
'for'         Keyword
' '           Text
'arg'         Text
' '           Text
'in'          Keyword
' '           Text
'$args'       Name.Variable
';'           Punctuation
' '           Text
'do'          Keyword
'\n\t    '    Text
'IFS'         Name.Variable
'='           Operator
'"'           Literal.String.Double
'$save_ifs'   Name.Variable
'"'           Literal.String.Double
'\n\n\t    '  Text
'# Double-quote args containing other shell metacharacters.\n' Comment.Single

'\t    '      Text
'# Many Bourne shells cannot handle close brackets correctly\n' Comment.Single

'\t    '      Text
'# in scan sets, so we specify it separately.\n' Comment.Single

'\t    '      Text
'case'        Keyword
' '           Text
'$arg'        Name.Variable
' '           Text
'in'          Keyword
'\n\t      '  Text
'*'           Text
'['           Operator
'\\['         Literal.String.Escape
'\\~'         Literal.String.Escape
'\\#'         Literal.String.Escape
'\\^'         Literal.String.Escape
'\\&'         Literal.String.Escape
'\\*'         Literal.String.Escape
'\\('         Literal.String.Escape
'\\)'         Literal.String.Escape
'\\{'         Literal.String.Escape
'\\}'         Literal.String.Escape
'\\|'         Literal.String.Escape
'\\;'         Literal.String.Escape
'\\<'         Literal.String.Escape
'\\>'         Literal.String.Escape
'\\?'         Literal.String.Escape
"\\'"         Literal.String.Escape
'\\ '         Literal.String.Escape
'\\\t'        Literal.String.Escape
']'           Operator
'*'           Text
'|'           Punctuation
'*'           Text
']'           Operator
'*'           Text
'|'           Punctuation
'""'          Literal.String.Double
')'           Operator
'\n\t      '  Text
'arg'         Name.Variable
'='           Operator
'"'           Literal.String.Double
'\\"'         Literal.String.Double
'$arg'        Name.Variable
'\\"'         Literal.String.Double
'"'           Literal.String.Double
'\n\t      '  Text
';'           Punctuation
';'           Punctuation
'\n\t    '    Text
'esac'        Keyword
'\n\t    '    Text
'lastarg'     Name.Variable
'='           Operator
'"'           Literal.String.Double
'$lastarg'    Name.Variable
' '           Literal.String.Double
'$arg'        Name.Variable
'"'           Literal.String.Double
'\n\t  '      Text
'done'        Keyword
'\n\t  '      Text
'IFS'         Name.Variable
'='           Operator
'"'           Literal.String.Double
'$save_ifs'   Name.Variable
'"'           Literal.String.Double
'\n\t  '      Text
'lastarg'     Name.Variable
'='           Operator
'`'           Literal.String.Backtick
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$lastarg'    Name.Variable
'"'           Literal.String.Double
' '           Text
'|'           Punctuation
' '           Text
'$Xsed'       Name.Variable
' '           Text
'-e'          Text
' '           Text
'"s/^ //"'    Literal.String.Double
'`'           Literal.String.Backtick
'\n\n\t  '    Text
'# Add the arguments to base_compile.\n' Comment.Single

'\t  '        Text
'base_compile' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$base_compile' Name.Variable
' '           Literal.String.Double
'$lastarg'    Name.Variable
'"'           Literal.String.Double
'\n\t  '      Text
'continue'    Keyword
'\n\t  '      Text
';'           Punctuation
';'           Punctuation
'\n\n\t'      Text
'*'           Text
' '           Text
')'           Operator
'\n\t  '      Text
'# Accept the current argument as the source file.\n' Comment.Single

'\t  '        Text
'# The previous "srcfile" becomes the current argument.\n' Comment.Single

'\t  '        Text
'#\n'         Comment.Single

'\t  '        Text
'lastarg'     Name.Variable
'='           Operator
'"'           Literal.String.Double
'$srcfile'    Name.Variable
'"'           Literal.String.Double
'\n\t  '      Text
'srcfile'     Name.Variable
'='           Operator
'"'           Literal.String.Double
'$arg'        Name.Variable
'"'           Literal.String.Double
'\n\t  '      Text
';'           Punctuation
';'           Punctuation
'\n\t'        Text
'esac'        Keyword
'  '          Text
'#  case $arg\n' Comment.Single

'\t'          Text
';'           Punctuation
';'           Punctuation
'\n      '    Text
'esac'        Keyword
'    '        Text
'#  case $arg_mode\n' Comment.Single

'\n      '    Text
'# Aesthetically quote the previous argument.\n' Comment.Single

'      '      Text
'lastarg'     Name.Variable
'='           Operator
'`'           Literal.String.Backtick
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$lastarg'    Name.Variable
'"'           Literal.String.Double
' '           Text
'|'           Punctuation
' '           Text
'$Xsed'       Name.Variable
' '           Text
'-e'          Text
' '           Text
'"'           Literal.String.Double
'$sed_quote_subst' Name.Variable
'"'           Literal.String.Double
'`'           Literal.String.Backtick
'\n\n      '  Text
'case'        Keyword
' '           Text
'$lastarg'    Name.Variable
' '           Text
'in'          Keyword
'\n      '    Text
'# Double-quote args containing other shell metacharacters.\n' Comment.Single

'      '      Text
'# Many Bourne shells cannot handle close brackets correctly\n' Comment.Single

'      '      Text
'# in scan sets, and some SunOS ksh mistreat backslash-escaping\n' Comment.Single

'      '      Text
'# in scan sets (worked around with variable expansion),\n' Comment.Single

'      '      Text
"# and furthermore cannot handle '|' '&' '(' ')' in scan sets \n" Comment.Single

'      '      Text
'# at all, so we specify them separately.\n' Comment.Single

'      '      Text
'*'           Text
'['           Operator
'\\['         Literal.String.Escape
'\\~'         Literal.String.Escape
'\\#'         Literal.String.Escape
'\\^'         Literal.String.Escape
'\\&'         Literal.String.Escape
'\\*'         Literal.String.Escape
'\\('         Literal.String.Escape
'\\)'         Literal.String.Escape
'\\{'         Literal.String.Escape
'\\}'         Literal.String.Escape
'\\|'         Literal.String.Escape
'\\;'         Literal.String.Escape
'\\<'         Literal.String.Escape
'\\>'         Literal.String.Escape
'\\?'         Literal.String.Escape
"\\'"         Literal.String.Escape
'\\ '         Literal.String.Escape
'\\\t'        Literal.String.Escape
']'           Operator
'*'           Text
'|'           Punctuation
'*'           Text
']'           Operator
'*'           Text
'|'           Punctuation
'""'          Literal.String.Double
')'           Operator
'\n\t'        Text
'lastarg'     Name.Variable
'='           Operator
'"'           Literal.String.Double
'\\"'         Literal.String.Double
'$lastarg'    Name.Variable
'\\"'         Literal.String.Double
'"'           Literal.String.Double
'\n\t'        Text
';'           Punctuation
';'           Punctuation
'\n      '    Text
'esac'        Keyword
'\n\n      '  Text
'base_compile' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$base_compile' Name.Variable
' '           Literal.String.Double
'$lastarg'    Name.Variable
'"'           Literal.String.Double
'\n    '      Text
'done'        Keyword
' '           Text
'# for arg\n' Comment.Single

'\n    '      Text
'case'        Keyword
' '           Text
'$arg_mode'   Name.Variable
' '           Text
'in'          Keyword
'\n    '      Text
'arg'         Text
')'           Operator
'\n      '    Text
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'$modename'   Name.Variable
': you must specify an argument for -Xcompile' Literal.String.Double
'"'           Literal.String.Double
'\n      '    Text
'exit'        Name.Builtin
' '           Text
'$EXIT_FAILURE' Name.Variable
'\n      '    Text
';'           Punctuation
';'           Punctuation
'\n    '      Text
'target'      Text
')'           Operator
'\n      '    Text
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'$modename'   Name.Variable
": you must specify a target with \\`-o'" Literal.String.Double
'"'           Literal.String.Double
' '           Text
'1'           Literal.Number
'>'           Text
'&'           Punctuation
'2'           Literal.Number
'\n      '    Text
'exit'        Name.Builtin
' '           Text
'$EXIT_FAILURE' Name.Variable
'\n      '    Text
';'           Punctuation
';'           Punctuation
'\n    '      Text
'*'           Text
')'           Operator
'\n      '    Text
'# Get the name of the library object.\n' Comment.Single

'      '      Text
'['           Operator
' '           Text
'-z'          Text
' '           Text
'"'           Literal.String.Double
'$libobj'     Name.Variable
'"'           Literal.String.Double
' '           Text
']'           Operator
' '           Text
'&&'          Operator
' '           Text
'libobj'      Name.Variable
'='           Operator
'`'           Literal.String.Backtick
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$srcfile'    Name.Variable
'"'           Literal.String.Double
' '           Text
'|'           Punctuation
' '           Text
'$Xsed'       Name.Variable
' '           Text
'-e'          Text
' '           Text
"'s%^.*/%%'"  Literal.String.Single
'`'           Literal.String.Backtick
'\n      '    Text
';'           Punctuation
';'           Punctuation
'\n    '      Text
'esac'        Keyword
'\n\n    '    Text
'# Recognize several different file suffixes.\n' Comment.Single

'    '        Text
'# If the user specifies -o file.o, it is replaced with file.lo\n' Comment.Single

'    '        Text
'xform'       Name.Variable
'='           Operator
"'[cCFSifmso]'" Literal.String.Single
'\n    '      Text
'case'        Keyword
' '           Text
'$libobj'     Name.Variable
' '           Text
'in'          Keyword
'\n    '      Text
'*.ada'       Text
')'           Operator
' '           Text
'xform'       Name.Variable
'='           Operator
'ada'         Text
' '           Text
';'           Punctuation
';'           Punctuation
'\n    '      Text
'*.adb'       Text
')'           Operator
' '           Text
'xform'       Name.Variable
'='           Operator
'adb'         Text
' '           Text
';'           Punctuation
';'           Punctuation
'\n    '      Text
'*.ads'       Text
')'           Operator
' '           Text
'xform'       Name.Variable
'='           Operator
'ads'         Text
' '           Text
';'           Punctuation
';'           Punctuation
'\n    '      Text
'*.asm'       Text
')'           Operator
' '           Text
'xform'       Name.Variable
'='           Operator
'asm'         Text
' '           Text
';'           Punctuation
';'           Punctuation
'\n    '      Text
'*.c++'       Text
')'           Operator
' '           Text
'xform'       Name.Variable
'='           Operator
'c++'         Text
' '           Text
';'           Punctuation
';'           Punctuation
'\n    '      Text
'*.cc'        Text
')'           Operator
' '           Text
'xform'       Name.Variable
'='           Operator
'cc'          Text
' '           Text
';'           Punctuation
';'           Punctuation
'\n    '      Text
'*.ii'        Text
')'           Operator
' '           Text
'xform'       Name.Variable
'='           Operator
'ii'          Text
' '           Text
';'           Punctuation
';'           Punctuation
'\n    '      Text
'*.class'     Text
')'           Operator
' '           Text
'xform'       Name.Variable
'='           Operator
'class'       Text
' '           Text
';'           Punctuation
';'           Punctuation
'\n    '      Text
'*.cpp'       Text
')'           Operator
' '           Text
'xform'       Name.Variable
'='           Operator
'cpp'         Text
' '           Text
';'           Punctuation
';'           Punctuation
'\n    '      Text
'*.cxx'       Text
')'           Operator
' '           Text
'xform'       Name.Variable
'='           Operator
'cxx'         Text
' '           Text
';'           Punctuation
';'           Punctuation
'\n    '      Text
'*.f90'       Text
')'           Operator
' '           Text
'xform'       Name.Variable
'='           Operator
'f90'         Text
' '           Text
';'           Punctuation
';'           Punctuation
'\n    '      Text
'*.for'       Text
')'           Operator
' '           Text
'xform'       Name.Variable
'='           Operator
'for'         Keyword
' '           Text
';'           Punctuation
';'           Punctuation
'\n    '      Text
'*.java'      Text
')'           Operator
' '           Text
'xform'       Name.Variable
'='           Operator
'java'        Text
' '           Text
';'           Punctuation
';'           Punctuation
'\n    '      Text
'esac'        Keyword
'\n\n    '    Text
'libobj'      Name.Variable
'='           Operator
'`'           Literal.String.Backtick
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$libobj'     Name.Variable
'"'           Literal.String.Double
' '           Text
'|'           Punctuation
' '           Text
'$Xsed'       Name.Variable
' '           Text
'-e'          Text
' '           Text
'"'           Literal.String.Double
's/\\.'       Literal.String.Double
'$xform'      Name.Variable
'$'           Text
'/.lo/'       Literal.String.Double
'"'           Literal.String.Double
'`'           Literal.String.Backtick
'\n\n    '    Text
'case'        Keyword
' '           Text
'$libobj'     Name.Variable
' '           Text
'in'          Keyword
'\n    '      Text
'*.lo'        Text
')'           Operator
' '           Text
'obj'         Name.Variable
'='           Operator
'`'           Literal.String.Backtick
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$libobj'     Name.Variable
'"'           Literal.String.Double
' '           Text
'|'           Punctuation
' '           Text
'$Xsed'       Name.Variable
' '           Text
'-e'          Text
' '           Text
'"'           Literal.String.Double
'$lo2o'       Name.Variable
'"'           Literal.String.Double
'`'           Literal.String.Backtick
' '           Text
';'           Punctuation
';'           Punctuation
'\n    '      Text
'*'           Text
')'           Operator
'\n      '    Text
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'$modename'   Name.Variable
': cannot determine name of library object from \\`' Literal.String.Double
'$libobj'     Name.Variable
"'"           Literal.String.Double
'"'           Literal.String.Double
' '           Text
'1'           Literal.Number
'>'           Text
'&'           Punctuation
'2'           Literal.Number
'\n      '    Text
'exit'        Name.Builtin
' '           Text
'$EXIT_FAILURE' Name.Variable
'\n      '    Text
';'           Punctuation
';'           Punctuation
'\n    '      Text
'esac'        Keyword
'\n\n    '    Text
'func_infer_tag' Text
' '           Text
'$base_compile' Name.Variable
'\n\n    '    Text
'for'         Keyword
' '           Text
'arg'         Text
' '           Text
'in'          Keyword
' '           Text
'$later'      Name.Variable
';'           Punctuation
' '           Text
'do'          Keyword
'\n      '    Text
'case'        Keyword
' '           Text
'$arg'        Name.Variable
' '           Text
'in'          Keyword
'\n      '    Text
'-static'     Text
')'           Operator
'\n\t'        Text
'build_old_libs' Name.Variable
'='           Operator
'yes'         Text
'\n\t'        Text
'continue'    Keyword
'\n\t'        Text
';'           Punctuation
';'           Punctuation
'\n\n      '  Text
'-prefer-pic' Text
')'           Operator
'\n\t'        Text
'pic_mode'    Name.Variable
'='           Operator
'yes'         Text
'\n\t'        Text
'continue'    Keyword
'\n\t'        Text
';'           Punctuation
';'           Punctuation
'\n\n      '  Text
'-prefer-non-pic' Text
')'           Operator
'\n\t'        Text
'pic_mode'    Name.Variable
'='           Operator
'no'          Text
'\n\t'        Text
'continue'    Keyword
'\n\t'        Text
';'           Punctuation
';'           Punctuation
'\n      '    Text
'esac'        Keyword
'\n    '      Text
'done'        Keyword
'\n\n    '    Text
'qlibobj'     Name.Variable
'='           Operator
'`'           Literal.String.Backtick
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$libobj'     Name.Variable
'"'           Literal.String.Double
' '           Text
'|'           Punctuation
' '           Text
'$Xsed'       Name.Variable
' '           Text
'-e'          Text
' '           Text
'"'           Literal.String.Double
'$sed_quote_subst' Name.Variable
'"'           Literal.String.Double
'`'           Literal.String.Backtick
'\n    '      Text
'case'        Keyword
' '           Text
'$qlibobj'    Name.Variable
' '           Text
'in'          Keyword
'\n      '    Text
'*'           Text
'['           Operator
'\\['         Literal.String.Escape
'\\~'         Literal.String.Escape
'\\#'         Literal.String.Escape
'\\^'         Literal.String.Escape
'\\&'         Literal.String.Escape
'\\*'         Literal.String.Escape
'\\('         Literal.String.Escape
'\\)'         Literal.String.Escape
'\\{'         Literal.String.Escape
'\\}'         Literal.String.Escape
'\\|'         Literal.String.Escape
'\\;'         Literal.String.Escape
'\\<'         Literal.String.Escape
'\\>'         Literal.String.Escape
'\\?'         Literal.String.Escape
"\\'"         Literal.String.Escape
'\\ '         Literal.String.Escape
'\\\t'        Literal.String.Escape
']'           Operator
'*'           Text
'|'           Punctuation
'*'           Text
']'           Operator
'*'           Text
'|'           Punctuation
'""'          Literal.String.Double
')'           Operator
'\n\t'        Text
'qlibobj'     Name.Variable
'='           Operator
'"'           Literal.String.Double
'\\"'         Literal.String.Double
'$qlibobj'    Name.Variable
'\\"'         Literal.String.Double
'"'           Literal.String.Double
' '           Text
';'           Punctuation
';'           Punctuation
'\n    '      Text
'esac'        Keyword
'\n    '      Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$libobj'     Name.Variable
'"'           Literal.String.Double
' '           Text
'!'           Text
'='           Operator
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$qlibobj'    Name.Variable
'"'           Literal.String.Double
' '           Text
'\\\n'        Literal.String.Escape

'\t'          Text
'&&'          Operator
' '           Text
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$libobj'     Name.Variable
'"'           Literal.String.Double
' '           Text
'|'           Punctuation
' '           Text
'grep'        Text
' '           Text
'\'[]~#^*{};<>?"\'' Literal.String.Single
'"\'"'        Literal.String.Double
"' \t&()|`$[]'" Literal.String.Single
' '           Text
'\\\n'        Literal.String.Escape

'\t'          Text
'&&'          Operator
' '           Text
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'$modename'   Name.Variable
': libobj name \\`' Literal.String.Double
'$libobj'     Name.Variable
"' may not contain shell special characters." Literal.String.Double
'"'           Literal.String.Double
'\n    '      Text
'objname'     Name.Variable
'='           Operator
'`'           Literal.String.Backtick
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$obj'        Name.Variable
'"'           Literal.String.Double
' '           Text
'|'           Punctuation
' '           Text
'$Xsed'       Name.Variable
' '           Text
'-e'          Text
' '           Text
"'s%^.*/%%'"  Literal.String.Single
'`'           Literal.String.Backtick
'\n    '      Text
'xdir'        Name.Variable
'='           Operator
'`'           Literal.String.Backtick
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$obj'        Name.Variable
'"'           Literal.String.Double
' '           Text
'|'           Punctuation
' '           Text
'$Xsed'       Name.Variable
' '           Text
'-e'          Text
' '           Text
"'s%/[^/]*$%%'" Literal.String.Single
'`'           Literal.String.Backtick
'\n    '      Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$xdir'       Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$obj'        Name.Variable
'"'           Literal.String.Double
';'           Punctuation
' '           Text
'then'        Keyword
'\n      '    Text
'xdir'        Name.Variable
'='           Operator
'\n    '      Text
'else'        Keyword
'\n      '    Text
'xdir'        Name.Variable
'='           Operator
'$xdir'       Name.Variable
'/'           Text
'\n    '      Text
'fi'          Keyword
'\n    '      Text
'lobj'        Name.Variable
'='           Operator
'${'          Literal.String.Interpol
'xdir'        Name.Variable
'}'           Literal.String.Interpol
'$objdir'     Name.Variable
'/'           Text
'$objname'    Name.Variable
'\n\n    '    Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'-z'          Text
' '           Text
'"'           Literal.String.Double
'$base_compile' Name.Variable
'"'           Literal.String.Double
';'           Punctuation
' '           Text
'then'        Keyword
'\n      '    Text
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'$modename'   Name.Variable
': you must specify a compilation command' Literal.String.Double
'"'           Literal.String.Double
' '           Text
'1'           Literal.Number
'>'           Text
'&'           Punctuation
'2'           Literal.Number
'\n      '    Text
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'$help'       Name.Variable
'"'           Literal.String.Double
' '           Text
'1'           Literal.Number
'>'           Text
'&'           Punctuation
'2'           Literal.Number
'\n      '    Text
'exit'        Name.Builtin
' '           Text
'$EXIT_FAILURE' Name.Variable
'\n    '      Text
'fi'          Keyword
'\n\n    '    Text
'# Delete any leftover library objects.\n' Comment.Single

'    '        Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$build_old_libs' Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'yes'         Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n      '    Text
'removelist'  Name.Variable
'='           Operator
'"'           Literal.String.Double
'$obj'        Name.Variable
' '           Literal.String.Double
'$lobj'       Name.Variable
' '           Literal.String.Double
'$libobj'     Name.Variable
' '           Literal.String.Double
'${'          Literal.String.Interpol
'libobj'      Name.Variable
'}'           Literal.String.Interpol
'T'           Literal.String.Double
'"'           Literal.String.Double
'\n    '      Text
'else'        Keyword
'\n      '    Text
'removelist'  Name.Variable
'='           Operator
'"'           Literal.String.Double
'$lobj'       Name.Variable
' '           Literal.String.Double
'$libobj'     Name.Variable
' '           Literal.String.Double
'${'          Literal.String.Interpol
'libobj'      Name.Variable
'}'           Literal.String.Interpol
'T'           Literal.String.Double
'"'           Literal.String.Double
'\n    '      Text
'fi'          Keyword
'\n\n    '    Text
'$run'        Name.Variable
' '           Text
'$rm'         Name.Variable
' '           Text
'$removelist' Name.Variable
'\n    '      Text
'trap'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$run'        Name.Variable
' '           Literal.String.Double
'$rm'         Name.Variable
' '           Literal.String.Double
'$removelist' Name.Variable
'; exit '     Literal.String.Double
'$EXIT_FAILURE' Name.Variable
'"'           Literal.String.Double
' '           Text
'1'           Literal.Number
' '           Text
'2'           Literal.Number
' '           Text
'15'          Literal.Number
'\n\n    '    Text
'# On Cygwin there\'s no "real" PIC flag so we must build both object types\n' Comment.Single

'    '        Text
'case'        Keyword
' '           Text
'$host_os'    Name.Variable
' '           Text
'in'          Keyword
'\n    '      Text
'cygwin*'     Text
' '           Text
'|'           Punctuation
' '           Text
'mingw*'      Text
' '           Text
'|'           Punctuation
' '           Text
'pw32*'       Text
' '           Text
'|'           Punctuation
' '           Text
'os2*'        Text
')'           Operator
'\n      '    Text
'pic_mode'    Name.Variable
'='           Operator
'default'     Text
'\n      '    Text
';'           Punctuation
';'           Punctuation
'\n    '      Text
'esac'        Keyword
'\n    '      Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$pic_mode'   Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'no'          Text
' '           Text
'&&'          Operator
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$deplibs_check_method' Name.Variable
'"'           Literal.String.Double
' '           Text
'!'           Text
'='           Operator
' '           Text
'pass_all'    Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n      '    Text
'# non-PIC code in shared libraries is not supported\n' Comment.Single

'      '      Text
'pic_mode'    Name.Variable
'='           Operator
'default'     Text
'\n    '      Text
'fi'          Keyword
'\n\n    '    Text
'# Calculate the filename of the output object if compiler does\n' Comment.Single

'    '        Text
'# not support -o with -c\n' Comment.Single

'    '        Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$compiler_c_o' Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'no'          Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n      '    Text
'output_obj'  Name.Variable
'='           Operator
'`'           Literal.String.Backtick
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$srcfile'    Name.Variable
'"'           Literal.String.Double
' '           Text
'|'           Punctuation
' '           Text
'$Xsed'       Name.Variable
' '           Text
'-e'          Text
' '           Text
"'s%^.*/%%'"  Literal.String.Single
' '           Text
'-e'          Text
' '           Text
"'s%\\.[^.]*$%%'" Literal.String.Single
'`'           Literal.String.Backtick
'.'           Text
'${'          Literal.String.Interpol
'objext'      Name.Variable
'}'           Literal.String.Interpol
'\n      '    Text
'lockfile'    Name.Variable
'='           Operator
'"'           Literal.String.Double
'$output_obj' Name.Variable
'.lock'       Literal.String.Double
'"'           Literal.String.Double
'\n      '    Text
'removelist'  Name.Variable
'='           Operator
'"'           Literal.String.Double
'$removelist' Name.Variable
' '           Literal.String.Double
'$output_obj' Name.Variable
' '           Literal.String.Double
'$lockfile'   Name.Variable
'"'           Literal.String.Double
'\n      '    Text
'trap'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$run'        Name.Variable
' '           Literal.String.Double
'$rm'         Name.Variable
' '           Literal.String.Double
'$removelist' Name.Variable
'; exit '     Literal.String.Double
'$EXIT_FAILURE' Name.Variable
'"'           Literal.String.Double
' '           Text
'1'           Literal.Number
' '           Text
'2'           Literal.Number
' '           Text
'15'          Literal.Number
'\n    '      Text
'else'        Keyword
'\n      '    Text
'output_obj'  Name.Variable
'='           Operator
'\n      '    Text
'need_locks'  Name.Variable
'='           Operator
'no'          Text
'\n      '    Text
'lockfile'    Name.Variable
'='           Operator
'\n    '      Text
'fi'          Keyword
'\n\n    '    Text
'# Lock this critical section if it is needed\n' Comment.Single

'    '        Text
'# We use this script file to make the link, it avoids creating a new file\n' Comment.Single

'    '        Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$need_locks' Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'yes'         Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n      '    Text
'until'       Keyword
' '           Text
'$run'        Name.Variable
' '           Text
'ln'          Text
' '           Text
'"'           Literal.String.Double
'$srcfile'    Name.Variable
'"'           Literal.String.Double
' '           Text
'"'           Literal.String.Double
'$lockfile'   Name.Variable
'"'           Literal.String.Double
' '           Text
'2'           Literal.Number
'>/dev/null'  Text
';'           Punctuation
' '           Text
'do'          Keyword
'\n\t'        Text
'$show'       Name.Variable
' '           Text
'"'           Literal.String.Double
'Waiting for ' Literal.String.Double
'$lockfile'   Name.Variable
' to be removed' Literal.String.Double
'"'           Literal.String.Double
'\n\t'        Text
'sleep'       Text
' '           Text
'2'           Literal.Number
'\n      '    Text
'done'        Keyword
'\n    '      Text
'elif'        Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$need_locks' Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'warn'        Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n      '    Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'-f'          Text
' '           Text
'"'           Literal.String.Double
'$lockfile'   Name.Variable
'"'           Literal.String.Double
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t'        Text
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'\\\n*** ERROR, ' Literal.String.Double
'$lockfile'   Name.Variable
' exists and contains:\n`cat ' Literal.String.Double
'$lockfile'   Name.Variable
" 2>/dev/null`\n\nThis indicates that another process is trying to use the same\ntemporary object file, and libtool could not work around it because\nyour compiler does not support \\`-c' and \\`-o' together.  If you\nrepeat this compilation, it may succeed, by chance, but you had better\navoid parallel builds (make -j) in this platform, or get a better\ncompiler." Literal.String.Double
'"'           Literal.String.Double
'\n\n\t'      Text
'$run'        Name.Variable
' '           Text
'$rm'         Name.Variable
' '           Text
'$removelist' Name.Variable
'\n\t'        Text
'exit'        Name.Builtin
' '           Text
'$EXIT_FAILURE' Name.Variable
'\n      '    Text
'fi'          Keyword
'\n      '    Text
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'$srcfile'    Name.Variable
'"'           Literal.String.Double
' '           Text
'>'           Text
' '           Text
'"'           Literal.String.Double
'$lockfile'   Name.Variable
'"'           Literal.String.Double
'\n    '      Text
'fi'          Keyword
'\n\n    '    Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'-n'          Text
' '           Text
'"'           Literal.String.Double
'$fix_srcfile_path' Name.Variable
'"'           Literal.String.Double
';'           Punctuation
' '           Text
'then'        Keyword
'\n      '    Text
'eval'        Name.Builtin
' '           Text
'srcfile'     Name.Variable
'='           Operator
'\\"'         Literal.String.Escape
'$fix_srcfile_path' Name.Variable
'\\"'         Literal.String.Escape
'\n    '      Text
'fi'          Keyword
'\n    '      Text
'qsrcfile'    Name.Variable
'='           Operator
'`'           Literal.String.Backtick
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$srcfile'    Name.Variable
'"'           Literal.String.Double
' '           Text
'|'           Punctuation
' '           Text
'$Xsed'       Name.Variable
' '           Text
'-e'          Text
' '           Text
'"'           Literal.String.Double
'$sed_quote_subst' Name.Variable
'"'           Literal.String.Double
'`'           Literal.String.Backtick
'\n    '      Text
'case'        Keyword
' '           Text
'$qsrcfile'   Name.Variable
' '           Text
'in'          Keyword
'\n      '    Text
'*'           Text
'['           Operator
'\\['         Literal.String.Escape
'\\~'         Literal.String.Escape
'\\#'         Literal.String.Escape
'\\^'         Literal.String.Escape
'\\&'         Literal.String.Escape
'\\*'         Literal.String.Escape
'\\('         Literal.String.Escape
'\\)'         Literal.String.Escape
'\\{'         Literal.String.Escape
'\\}'         Literal.String.Escape
'\\|'         Literal.String.Escape
'\\;'         Literal.String.Escape
'\\<'         Literal.String.Escape
'\\>'         Literal.String.Escape
'\\?'         Literal.String.Escape
"\\'"         Literal.String.Escape
'\\ '         Literal.String.Escape
'\\\t'        Literal.String.Escape
']'           Operator
'*'           Text
'|'           Punctuation
'*'           Text
']'           Operator
'*'           Text
'|'           Punctuation
'""'          Literal.String.Double
')'           Operator
'\n      '    Text
'qsrcfile'    Name.Variable
'='           Operator
'"'           Literal.String.Double
'\\"'         Literal.String.Double
'$qsrcfile'   Name.Variable
'\\"'         Literal.String.Double
'"'           Literal.String.Double
' '           Text
';'           Punctuation
';'           Punctuation
'\n    '      Text
'esac'        Keyword
'\n\n    '    Text
'$run'        Name.Variable
' '           Text
'$rm'         Name.Variable
' '           Text
'"'           Literal.String.Double
'$libobj'     Name.Variable
'"'           Literal.String.Double
' '           Text
'"'           Literal.String.Double
'${'          Literal.String.Interpol
'libobj'      Name.Variable
'}'           Literal.String.Interpol
'T'           Literal.String.Double
'"'           Literal.String.Double
'\n\n    '    Text
'# Create a libtool object file (analogous to a ".la" file),\n' Comment.Single

'    '        Text
"# but don't create it if we're doing a dry run.\n" Comment.Single

'    '        Text
'test'        Name.Builtin
' '           Text
'-z'          Text
' '           Text
'"'           Literal.String.Double
'$run'        Name.Variable
'"'           Literal.String.Double
' '           Text
'&&'          Operator
' '           Text
'cat'         Text
' '           Text
'>'           Text
' '           Text
'${'          Literal.String.Interpol
'libobj'      Name.Variable
'}'           Literal.String.Interpol
'T'           Text
' '           Text
'<<EOF\n# $libobj - a libtool object file\n# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP\n#\n# Please DO NOT delete this file!\n# It is necessary for linking the library.\n\n# Name of the PIC object.\nEOF' Literal.String
'\n\n    '    Text
'# Only build a PIC object if we are building libtool libraries.\n' Comment.Single

'    '        Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$build_libtool_libs' Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'yes'         Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n      '    Text
'# Without this assignment, base_compile gets emptied.\n' Comment.Single

'      '      Text
'fbsd_hideous_sh_bug' Name.Variable
'='           Operator
'$base_compile' Name.Variable
'\n\n      '  Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$pic_mode'   Name.Variable
'"'           Literal.String.Double
' '           Text
'!'           Text
'='           Operator
' '           Text
'no'          Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t'        Text
'command'     Name.Variable
'='           Operator
'"'           Literal.String.Double
'$base_compile' Name.Variable
' '           Literal.String.Double
'$qsrcfile'   Name.Variable
' '           Literal.String.Double
'$pic_flag'   Name.Variable
'"'           Literal.String.Double
'\n      '    Text
'else'        Keyword
'\n\t'        Text
"# Don't build PIC code\n" Comment.Single

'\t'          Text
'command'     Name.Variable
'='           Operator
'"'           Literal.String.Double
'$base_compile' Name.Variable
' '           Literal.String.Double
'$qsrcfile'   Name.Variable
'"'           Literal.String.Double
'\n      '    Text
'fi'          Keyword
'\n\n      '  Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'!'           Text
' '           Text
'-d'          Text
' '           Text
'"'           Literal.String.Double
'${'          Literal.String.Interpol
'xdir'        Name.Variable
'}'           Literal.String.Interpol
'$objdir'     Name.Variable
'"'           Literal.String.Double
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t'        Text
'$show'       Name.Variable
' '           Text
'"'           Literal.String.Double
'$mkdir'      Name.Variable
' '           Literal.String.Double
'${'          Literal.String.Interpol
'xdir'        Name.Variable
'}'           Literal.String.Interpol
'$objdir'     Name.Variable
'"'           Literal.String.Double
'\n\t'        Text
'$run'        Name.Variable
' '           Text
'$mkdir'      Name.Variable
' '           Text
'${'          Literal.String.Interpol
'xdir'        Name.Variable
'}'           Literal.String.Interpol
'$objdir'     Name.Variable
'\n\t'        Text
'exit_status' Name.Variable
'='           Operator
'$?'          Name.Variable
'\n\t'        Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$exit_status' Name.Variable
'"'           Literal.String.Double
' '           Text
'-ne'         Text
' '           Text
'0'           Literal.Number
' '           Text
'&&'          Operator
' '           Text
'test'        Name.Builtin
' '           Text
'!'           Text
' '           Text
'-d'          Text
' '           Text
'"'           Literal.String.Double
'${'          Literal.String.Interpol
'xdir'        Name.Variable
'}'           Literal.String.Interpol
'$objdir'     Name.Variable
'"'           Literal.String.Double
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t  '      Text
'exit'        Name.Builtin
' '           Text
'$exit_status' Name.Variable
'\n\t'        Text
'fi'          Keyword
'\n      '    Text
'fi'          Keyword
'\n\n      '  Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'-z'          Text
' '           Text
'"'           Literal.String.Double
'$output_obj' Name.Variable
'"'           Literal.String.Double
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t'        Text
'# Place PIC objects in $objdir\n' Comment.Single

'\t'          Text
'command'     Name.Variable
'='           Operator
'"'           Literal.String.Double
'$command'    Name.Variable
' -o '        Literal.String.Double
'$lobj'       Name.Variable
'"'           Literal.String.Double
'\n      '    Text
'fi'          Keyword
'\n\n      '  Text
'$run'        Name.Variable
' '           Text
'$rm'         Name.Variable
' '           Text
'"'           Literal.String.Double
'$lobj'       Name.Variable
'"'           Literal.String.Double
' '           Text
'"'           Literal.String.Double
'$output_obj' Name.Variable
'"'           Literal.String.Double
'\n\n      '  Text
'$show'       Name.Variable
' '           Text
'"'           Literal.String.Double
'$command'    Name.Variable
'"'           Literal.String.Double
'\n      '    Text
'if'          Keyword
' '           Text
'$run'        Name.Variable
' '           Text
'eval'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$command'    Name.Variable
'"'           Literal.String.Double
';'           Punctuation
' '           Text
'then'        Keyword
' '           Text
':'           Text
'\n      '    Text
'else'        Keyword
'\n\t'        Text
'test'        Name.Builtin
' '           Text
'-n'          Text
' '           Text
'"'           Literal.String.Double
'$output_obj' Name.Variable
'"'           Literal.String.Double
' '           Text
'&&'          Operator
' '           Text
'$run'        Name.Variable
' '           Text
'$rm'         Name.Variable
' '           Text
'$removelist' Name.Variable
'\n\t'        Text
'exit'        Name.Builtin
' '           Text
'$EXIT_FAILURE' Name.Variable
'\n      '    Text
'fi'          Keyword
'\n\n      '  Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$need_locks' Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'warn'        Text
' '           Text
'&&'          Operator
'\n\t '       Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'X`cat '      Literal.String.Double
'$lockfile'   Name.Variable
' 2>/dev/null`' Literal.String.Double
'"'           Literal.String.Double
' '           Text
'!'           Text
'='           Operator
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$srcfile'    Name.Variable
'"'           Literal.String.Double
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t'        Text
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'\\\n*** ERROR, ' Literal.String.Double
'$lockfile'   Name.Variable
' contains:\n`cat ' Literal.String.Double
'$lockfile'   Name.Variable
' 2>/dev/null`\n\nbut it should contain:\n' Literal.String.Double

'$srcfile'    Name.Variable
"\n\nThis indicates that another process is trying to use the same\ntemporary object file, and libtool could not work around it because\nyour compiler does not support \\`-c' and \\`-o' together.  If you\nrepeat this compilation, it may succeed, by chance, but you had better\navoid parallel builds (make -j) in this platform, or get a better\ncompiler." Literal.String.Double
'"'           Literal.String.Double
'\n\n\t'      Text
'$run'        Name.Variable
' '           Text
'$rm'         Name.Variable
' '           Text
'$removelist' Name.Variable
'\n\t'        Text
'exit'        Name.Builtin
' '           Text
'$EXIT_FAILURE' Name.Variable
'\n      '    Text
'fi'          Keyword
'\n\n      '  Text
'# Just move the object if needed, then go on to compile the next one\n' Comment.Single

'      '      Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'-n'          Text
' '           Text
'"'           Literal.String.Double
'$output_obj' Name.Variable
'"'           Literal.String.Double
' '           Text
'&&'          Operator
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$output_obj' Name.Variable
'"'           Literal.String.Double
' '           Text
'!'           Text
'='           Operator
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$lobj'       Name.Variable
'"'           Literal.String.Double
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t'        Text
'$show'       Name.Variable
' '           Text
'"'           Literal.String.Double
'$mv'         Name.Variable
' '           Literal.String.Double
'$output_obj' Name.Variable
' '           Literal.String.Double
'$lobj'       Name.Variable
'"'           Literal.String.Double
'\n\t'        Text
'if'          Keyword
' '           Text
'$run'        Name.Variable
' '           Text
'$mv'         Name.Variable
' '           Text
'$output_obj' Name.Variable
' '           Text
'$lobj'       Name.Variable
';'           Punctuation
' '           Text
'then'        Keyword
' '           Text
':'           Text
'\n\t'        Text
'else'        Keyword
'\n\t  '      Text
'error'       Name.Variable
'='           Operator
'$?'          Name.Variable
'\n\t  '      Text
'$run'        Name.Variable
' '           Text
'$rm'         Name.Variable
' '           Text
'$removelist' Name.Variable
'\n\t  '      Text
'exit'        Name.Builtin
' '           Text
'$error'      Name.Variable
'\n\t'        Text
'fi'          Keyword
'\n      '    Text
'fi'          Keyword
'\n\n      '  Text
'# Append the name of the PIC object to the libtool object file.\n' Comment.Single

'      '      Text
'test'        Name.Builtin
' '           Text
'-z'          Text
' '           Text
'"'           Literal.String.Double
'$run'        Name.Variable
'"'           Literal.String.Double
' '           Text
'&&'          Operator
' '           Text
'cat'         Text
' '           Text
'>>'          Text
' '           Text
'${'          Literal.String.Interpol
'libobj'      Name.Variable
'}'           Literal.String.Interpol
'T'           Text
' '           Text
"<<EOF\npic_object='$objdir/$objname'\n\nEOF" Literal.String
'\n\n      '  Text
'# Allow error messages only from the first compilation.\n' Comment.Single

'      '      Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$suppress_opt' Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'yes'         Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n        '  Text
'suppress_output' Name.Variable
'='           Operator
"' >/dev/null 2>&1'" Literal.String.Single
'\n      '    Text
'fi'          Keyword
'\n    '      Text
'else'        Keyword
'\n      '    Text
"# No PIC object so indicate it doesn't exist in the libtool\n" Comment.Single

'      '      Text
'# object file.\n' Comment.Single

'      '      Text
'test'        Name.Builtin
' '           Text
'-z'          Text
' '           Text
'"'           Literal.String.Double
'$run'        Name.Variable
'"'           Literal.String.Double
' '           Text
'&&'          Operator
' '           Text
'cat'         Text
' '           Text
'>>'          Text
' '           Text
'${'          Literal.String.Interpol
'libobj'      Name.Variable
'}'           Literal.String.Interpol
'T'           Text
' '           Text
'<<EOF\npic_object=none\n\nEOF' Literal.String
'\n    '      Text
'fi'          Keyword
'\n\n    '    Text
'# Only build a position-dependent object if we build old libraries.\n' Comment.Single

'    '        Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$build_old_libs' Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'yes'         Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n      '    Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$pic_mode'   Name.Variable
'"'           Literal.String.Double
' '           Text
'!'           Text
'='           Operator
' '           Text
'yes'         Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t'        Text
"# Don't build PIC code\n" Comment.Single

'\t'          Text
'command'     Name.Variable
'='           Operator
'"'           Literal.String.Double
'$base_compile' Name.Variable
' '           Literal.String.Double
'$qsrcfile'   Name.Variable
'"'           Literal.String.Double
'\n      '    Text
'else'        Keyword
'\n\t'        Text
'command'     Name.Variable
'='           Operator
'"'           Literal.String.Double
'$base_compile' Name.Variable
' '           Literal.String.Double
'$qsrcfile'   Name.Variable
' '           Literal.String.Double
'$pic_flag'   Name.Variable
'"'           Literal.String.Double
'\n      '    Text
'fi'          Keyword
'\n      '    Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$compiler_c_o' Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'yes'         Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t'        Text
'command'     Name.Variable
'='           Operator
'"'           Literal.String.Double
'$command'    Name.Variable
' -o '        Literal.String.Double
'$obj'        Name.Variable
'"'           Literal.String.Double
'\n      '    Text
'fi'          Keyword
'\n\n      '  Text
'# Suppress compiler output if we already did a PIC compilation.\n' Comment.Single

'      '      Text
'command'     Name.Variable
'='           Operator
'"'           Literal.String.Double
'$command'    Name.Variable
'$suppress_output' Name.Variable
'"'           Literal.String.Double
'\n      '    Text
'$run'        Name.Variable
' '           Text
'$rm'         Name.Variable
' '           Text
'"'           Literal.String.Double
'$obj'        Name.Variable
'"'           Literal.String.Double
' '           Text
'"'           Literal.String.Double
'$output_obj' Name.Variable
'"'           Literal.String.Double
'\n      '    Text
'$show'       Name.Variable
' '           Text
'"'           Literal.String.Double
'$command'    Name.Variable
'"'           Literal.String.Double
'\n      '    Text
'if'          Keyword
' '           Text
'$run'        Name.Variable
' '           Text
'eval'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$command'    Name.Variable
'"'           Literal.String.Double
';'           Punctuation
' '           Text
'then'        Keyword
' '           Text
':'           Text
'\n      '    Text
'else'        Keyword
'\n\t'        Text
'$run'        Name.Variable
' '           Text
'$rm'         Name.Variable
' '           Text
'$removelist' Name.Variable
'\n\t'        Text
'exit'        Name.Builtin
' '           Text
'$EXIT_FAILURE' Name.Variable
'\n      '    Text
'fi'          Keyword
'\n\n      '  Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$need_locks' Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'warn'        Text
' '           Text
'&&'          Operator
'\n\t '       Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'X`cat '      Literal.String.Double
'$lockfile'   Name.Variable
' 2>/dev/null`' Literal.String.Double
'"'           Literal.String.Double
' '           Text
'!'           Text
'='           Operator
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$srcfile'    Name.Variable
'"'           Literal.String.Double
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t'        Text
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'\\\n*** ERROR, ' Literal.String.Double
'$lockfile'   Name.Variable
' contains:\n`cat ' Literal.String.Double
'$lockfile'   Name.Variable
' 2>/dev/null`\n\nbut it should contain:\n' Literal.String.Double

'$srcfile'    Name.Variable
"\n\nThis indicates that another process is trying to use the same\ntemporary object file, and libtool could not work around it because\nyour compiler does not support \\`-c' and \\`-o' together.  If you\nrepeat this compilation, it may succeed, by chance, but you had better\navoid parallel builds (make -j) in this platform, or get a better\ncompiler." Literal.String.Double
'"'           Literal.String.Double
'\n\n\t'      Text
'$run'        Name.Variable
' '           Text
'$rm'         Name.Variable
' '           Text
'$removelist' Name.Variable
'\n\t'        Text
'exit'        Name.Builtin
' '           Text
'$EXIT_FAILURE' Name.Variable
'\n      '    Text
'fi'          Keyword
'\n\n      '  Text
'# Just move the object if needed\n' Comment.Single

'      '      Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'-n'          Text
' '           Text
'"'           Literal.String.Double
'$output_obj' Name.Variable
'"'           Literal.String.Double
' '           Text
'&&'          Operator
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$output_obj' Name.Variable
'"'           Literal.String.Double
' '           Text
'!'           Text
'='           Operator
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$obj'        Name.Variable
'"'           Literal.String.Double
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t'        Text
'$show'       Name.Variable
' '           Text
'"'           Literal.String.Double
'$mv'         Name.Variable
' '           Literal.String.Double
'$output_obj' Name.Variable
' '           Literal.String.Double
'$obj'        Name.Variable
'"'           Literal.String.Double
'\n\t'        Text
'if'          Keyword
' '           Text
'$run'        Name.Variable
' '           Text
'$mv'         Name.Variable
' '           Text
'$output_obj' Name.Variable
' '           Text
'$obj'        Name.Variable
';'           Punctuation
' '           Text
'then'        Keyword
' '           Text
':'           Text
'\n\t'        Text
'else'        Keyword
'\n\t  '      Text
'error'       Name.Variable
'='           Operator
'$?'          Name.Variable
'\n\t  '      Text
'$run'        Name.Variable
' '           Text
'$rm'         Name.Variable
' '           Text
'$removelist' Name.Variable
'\n\t  '      Text
'exit'        Name.Builtin
' '           Text
'$error'      Name.Variable
'\n\t'        Text
'fi'          Keyword
'\n      '    Text
'fi'          Keyword
'\n\n      '  Text
'# Append the name of the non-PIC object the libtool object file.\n' Comment.Single

'      '      Text
'# Only append if the libtool object file exists.\n' Comment.Single

'      '      Text
'test'        Name.Builtin
' '           Text
'-z'          Text
' '           Text
'"'           Literal.String.Double
'$run'        Name.Variable
'"'           Literal.String.Double
' '           Text
'&&'          Operator
' '           Text
'cat'         Text
' '           Text
'>>'          Text
' '           Text
'${'          Literal.String.Interpol
'libobj'      Name.Variable
'}'           Literal.String.Interpol
'T'           Text
' '           Text
"<<EOF\n# Name of the non-PIC object.\nnon_pic_object='$objname'\n\nEOF" Literal.String
'\n    '      Text
'else'        Keyword
'\n      '    Text
'# Append the name of the non-PIC object the libtool object file.\n' Comment.Single

'      '      Text
'# Only append if the libtool object file exists.\n' Comment.Single

'      '      Text
'test'        Name.Builtin
' '           Text
'-z'          Text
' '           Text
'"'           Literal.String.Double
'$run'        Name.Variable
'"'           Literal.String.Double
' '           Text
'&&'          Operator
' '           Text
'cat'         Text
' '           Text
'>>'          Text
' '           Text
'${'          Literal.String.Interpol
'libobj'      Name.Variable
'}'           Literal.String.Interpol
'T'           Text
' '           Text
'<<EOF\n# Name of the non-PIC object.\nnon_pic_object=none\n\nEOF' Literal.String
'\n    '      Text
'fi'          Keyword
'\n\n    '    Text
'$run'        Name.Variable
' '           Text
'$mv'         Name.Variable
' '           Text
'"'           Literal.String.Double
'${'          Literal.String.Interpol
'libobj'      Name.Variable
'}'           Literal.String.Interpol
'T'           Literal.String.Double
'"'           Literal.String.Double
' '           Text
'"'           Literal.String.Double
'${'          Literal.String.Interpol
'libobj'      Name.Variable
'}'           Literal.String.Interpol
'"'           Literal.String.Double
'\n\n    '    Text
'# Unlock the critical section if it was locked\n' Comment.Single

'    '        Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$need_locks' Name.Variable
'"'           Literal.String.Double
' '           Text
'!'           Text
'='           Operator
' '           Text
'no'          Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n      '    Text
'$run'        Name.Variable
' '           Text
'$rm'         Name.Variable
' '           Text
'"'           Literal.String.Double
'$lockfile'   Name.Variable
'"'           Literal.String.Double
'\n    '      Text
'fi'          Keyword
'\n\n    '    Text
'exit'        Name.Builtin
' '           Text
'$EXIT_SUCCESS' Name.Variable
'\n    '      Text
';'           Punctuation
';'           Punctuation
'\n\n  '      Text
'# libtool link mode\n' Comment.Single

'  '          Text
'link'        Text
' '           Text
'|'           Punctuation
' '           Text
'relink'      Text
')'           Operator
'\n    '      Text
'modename'    Name.Variable
'='           Operator
'"'           Literal.String.Double
'$modename'   Name.Variable
': link'      Literal.String.Double
'"'           Literal.String.Double
'\n    '      Text
'case'        Keyword
' '           Text
'$host'       Name.Variable
' '           Text
'in'          Keyword
'\n    '      Text
'*-*-cygwin*' Text
' '           Text
'|'           Punctuation
' '           Text
'*-*-mingw*'  Text
' '           Text
'|'           Punctuation
' '           Text
'*-*-pw32*'   Text
' '           Text
'|'           Punctuation
' '           Text
'*-*-os2*'    Text
')'           Operator
'\n      '    Text
'# It is impossible to link a dll without this setting, and\n' Comment.Single

'      '      Text
"# we shouldn't force the makefile maintainer to figure out\n" Comment.Single

'      '      Text
'# which system we are compiling for in order to pass an extra\n' Comment.Single

'      '      Text
'# flag for every libtool invocation.\n' Comment.Single

'      '      Text
'# allow_undefined=no\n' Comment.Single

'\n      '    Text
'# FIXME: Unfortunately, there are problems with the above when trying\n' Comment.Single

'      '      Text
'# to make a dll which has undefined symbols, in which case not\n' Comment.Single

'      '      Text
'# even a static library is built.  For now, we need to specify\n' Comment.Single

'      '      Text
'# -no-undefined on the libtool link line when we can be certain\n' Comment.Single

'      '      Text
'# that all symbols are satisfied, otherwise we get a static library.\n' Comment.Single

'      '      Text
'allow_undefined' Name.Variable
'='           Operator
'yes'         Text
'\n      '    Text
';'           Punctuation
';'           Punctuation
'\n    '      Text
'*'           Text
')'           Operator
'\n      '    Text
'allow_undefined' Name.Variable
'='           Operator
'yes'         Text
'\n      '    Text
';'           Punctuation
';'           Punctuation
'\n    '      Text
'esac'        Keyword
'\n    '      Text
'libtool_args' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$nonopt'     Name.Variable
'"'           Literal.String.Double
'\n    '      Text
'base_compile' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$nonopt'     Name.Variable
' '           Literal.String.Double
'$@'          Name.Variable
'"'           Literal.String.Double
'\n    '      Text
'compile_command' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$nonopt'     Name.Variable
'"'           Literal.String.Double
'\n    '      Text
'finalize_command' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$nonopt'     Name.Variable
'"'           Literal.String.Double
'\n\n    '    Text
'compile_rpath' Name.Variable
'='           Operator
'\n    '      Text
'finalize_rpath' Name.Variable
'='           Operator
'\n    '      Text
'compile_shlibpath' Name.Variable
'='           Operator
'\n    '      Text
'finalize_shlibpath' Name.Variable
'='           Operator
'\n    '      Text
'convenience' Name.Variable
'='           Operator
'\n    '      Text
'old_convenience' Name.Variable
'='           Operator
'\n    '      Text
'deplibs'     Name.Variable
'='           Operator
'\n    '      Text
'old_deplibs' Name.Variable
'='           Operator
'\n    '      Text
'compiler_flags' Name.Variable
'='           Operator
'\n    '      Text
'linker_flags' Name.Variable
'='           Operator
'\n    '      Text
'dllsearchpath' Name.Variable
'='           Operator
'\n    '      Text
'lib_search_path' Name.Variable
'='           Operator
'`'           Literal.String.Backtick
'pwd'         Name.Builtin
'`'           Literal.String.Backtick
'\n    '      Text
'inst_prefix_dir' Name.Variable
'='           Operator
'\n\n    '    Text
'avoid_version' Name.Variable
'='           Operator
'no'          Text
'\n    '      Text
'dlfiles'     Name.Variable
'='           Operator
'\n    '      Text
'dlprefiles'  Name.Variable
'='           Operator
'\n    '      Text
'dlself'      Name.Variable
'='           Operator
'no'          Text
'\n    '      Text
'export_dynamic' Name.Variable
'='           Operator
'no'          Text
'\n    '      Text
'export_symbols' Name.Variable
'='           Operator
'\n    '      Text
'export_symbols_regex' Name.Variable
'='           Operator
'\n    '      Text
'generated'   Name.Variable
'='           Operator
'\n    '      Text
'libobjs'     Name.Variable
'='           Operator
'\n    '      Text
'ltlibs'      Name.Variable
'='           Operator
'\n    '      Text
'module'      Name.Variable
'='           Operator
'no'          Text
'\n    '      Text
'no_install'  Name.Variable
'='           Operator
'no'          Text
'\n    '      Text
'objs'        Name.Variable
'='           Operator
'\n    '      Text
'non_pic_objects' Name.Variable
'='           Operator
'\n    '      Text
'notinst_path' Name.Variable
'='           Operator
' '           Text
'# paths that contain not-installed libtool libraries\n' Comment.Single

'    '        Text
'precious_files_regex' Name.Variable
'='           Operator
'\n    '      Text
'prefer_static_libs' Name.Variable
'='           Operator
'no'          Text
'\n    '      Text
'preload'     Name.Variable
'='           Operator
'no'          Text
'\n    '      Text
'prev'        Name.Variable
'='           Operator
'\n    '      Text
'prevarg'     Name.Variable
'='           Operator
'\n    '      Text
'release'     Name.Variable
'='           Operator
'\n    '      Text
'rpath'       Name.Variable
'='           Operator
'\n    '      Text
'xrpath'      Name.Variable
'='           Operator
'\n    '      Text
'perm_rpath'  Name.Variable
'='           Operator
'\n    '      Text
'temp_rpath'  Name.Variable
'='           Operator
'\n    '      Text
'thread_safe' Name.Variable
'='           Operator
'no'          Text
'\n    '      Text
'vinfo'       Name.Variable
'='           Operator
'\n    '      Text
'vinfo_number' Name.Variable
'='           Operator
'no'          Text
'\n\n    '    Text
'func_infer_tag' Text
' '           Text
'$base_compile' Name.Variable
'\n\n    '    Text
'# We need to know -static, to get the right output filenames.\n' Comment.Single

'    '        Text
'for'         Keyword
' '           Text
'arg'         Text
'\n    '      Text
'do'          Keyword
'\n      '    Text
'case'        Keyword
' '           Text
'$arg'        Name.Variable
' '           Text
'in'          Keyword
'\n      '    Text
'-all-static' Text
' '           Text
'|'           Punctuation
' '           Text
'-static'     Text
')'           Operator
'\n\t'        Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$arg'        Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'"X-all-static"' Literal.String.Double
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t  '      Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$build_libtool_libs' Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'yes'         Text
' '           Text
'&&'          Operator
' '           Text
'test'        Name.Builtin
' '           Text
'-z'          Text
' '           Text
'"'           Literal.String.Double
'$link_static_flag' Name.Variable
'"'           Literal.String.Double
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t    '    Text
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'$modename'   Name.Variable
': warning: complete static linking is impossible in this configuration' Literal.String.Double
'"'           Literal.String.Double
' '           Text
'1'           Literal.Number
'>'           Text
'&'           Punctuation
'2'           Literal.Number
'\n\t  '      Text
'fi'          Keyword
'\n\t  '      Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'-n'          Text
' '           Text
'"'           Literal.String.Double
'$link_static_flag' Name.Variable
'"'           Literal.String.Double
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t    '    Text
'dlopen_self' Name.Variable
'='           Operator
'$dlopen_self_static' Name.Variable
'\n\t  '      Text
'fi'          Keyword
'\n\t  '      Text
'prefer_static_libs' Name.Variable
'='           Operator
'yes'         Text
'\n\t'        Text
'else'        Keyword
'\n\t  '      Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'-z'          Text
' '           Text
'"'           Literal.String.Double
'$pic_flag'   Name.Variable
'"'           Literal.String.Double
' '           Text
'&&'          Operator
' '           Text
'test'        Name.Builtin
' '           Text
'-n'          Text
' '           Text
'"'           Literal.String.Double
'$link_static_flag' Name.Variable
'"'           Literal.String.Double
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t    '    Text
'dlopen_self' Name.Variable
'='           Operator
'$dlopen_self_static' Name.Variable
'\n\t  '      Text
'fi'          Keyword
'\n\t  '      Text
'prefer_static_libs' Name.Variable
'='           Operator
'built'       Text
'\n\t'        Text
'fi'          Keyword
'\n\t'        Text
'build_libtool_libs' Name.Variable
'='           Operator
'no'          Text
'\n\t'        Text
'build_old_libs' Name.Variable
'='           Operator
'yes'         Text
'\n\t'        Text
'break'       Name.Builtin
'\n\t'        Text
';'           Punctuation
';'           Punctuation
'\n      '    Text
'esac'        Keyword
'\n    '      Text
'done'        Keyword
'\n\n    '    Text
'# See if our shared archives depend on static archives.\n' Comment.Single

'    '        Text
'test'        Name.Builtin
' '           Text
'-n'          Text
' '           Text
'"'           Literal.String.Double
'$old_archive_from_new_cmds' Name.Variable
'"'           Literal.String.Double
' '           Text
'&&'          Operator
' '           Text
'build_old_libs' Name.Variable
'='           Operator
'yes'         Text
'\n\n    '    Text
'# Go through the arguments, transforming them on the way.\n' Comment.Single

'    '        Text
'while'       Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$#'          Name.Variable
'"'           Literal.String.Double
' '           Text
'-gt'         Text
' '           Text
'0'           Literal.Number
';'           Punctuation
' '           Text
'do'          Keyword
'\n      '    Text
'arg'         Name.Variable
'='           Operator
'"'           Literal.String.Double
'$1'          Name.Variable
'"'           Literal.String.Double
'\n      '    Text
'shift'       Name.Builtin
'\n      '    Text
'case'        Keyword
' '           Text
'$arg'        Name.Variable
' '           Text
'in'          Keyword
'\n      '    Text
'*'           Text
'['           Operator
'\\['         Literal.String.Escape
'\\~'         Literal.String.Escape
'\\#'         Literal.String.Escape
'\\^'         Literal.String.Escape
'\\&'         Literal.String.Escape
'\\*'         Literal.String.Escape
'\\('         Literal.String.Escape
'\\)'         Literal.String.Escape
'\\{'         Literal.String.Escape
'\\}'         Literal.String.Escape
'\\|'         Literal.String.Escape
'\\;'         Literal.String.Escape
'\\<'         Literal.String.Escape
'\\>'         Literal.String.Escape
'\\?'         Literal.String.Escape
"\\'"         Literal.String.Escape
'\\ '         Literal.String.Escape
'\\\t'        Literal.String.Escape
']'           Operator
'*'           Text
'|'           Punctuation
'*'           Text
']'           Operator
'*'           Text
'|'           Punctuation
'""'          Literal.String.Double
')'           Operator
'\n\t'        Text
'qarg'        Name.Variable
'='           Operator
'\\"'         Literal.String.Escape
'`'           Literal.String.Backtick
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$arg'        Name.Variable
'"'           Literal.String.Double
' '           Text
'|'           Punctuation
' '           Text
'$Xsed'       Name.Variable
' '           Text
'-e'          Text
' '           Text
'"'           Literal.String.Double
'$sed_quote_subst' Name.Variable
'"'           Literal.String.Double
'`'           Literal.String.Backtick
'\\"'         Literal.String.Escape
' '           Text
'### testsuite: skip nested quoting test\n' Comment.Single

'\t'          Text
';'           Punctuation
';'           Punctuation
'\n      '    Text
'*'           Text
')'           Operator
' '           Text
'qarg'        Name.Variable
'='           Operator
'$arg'        Name.Variable
' '           Text
';'           Punctuation
';'           Punctuation
'\n      '    Text
'esac'        Keyword
'\n      '    Text
'libtool_args' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$libtool_args' Name.Variable
' '           Literal.String.Double
'$qarg'       Name.Variable
'"'           Literal.String.Double
'\n\n      '  Text
'# If the previous option needs an argument, assign it.\n' Comment.Single

'      '      Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'-n'          Text
' '           Text
'"'           Literal.String.Double
'$prev'       Name.Variable
'"'           Literal.String.Double
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t'        Text
'case'        Keyword
' '           Text
'$prev'       Name.Variable
' '           Text
'in'          Keyword
'\n\t'        Text
'output'      Text
')'           Operator
'\n\t  '      Text
'compile_command' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$compile_command' Name.Variable
' @OUTPUT@'   Literal.String.Double
'"'           Literal.String.Double
'\n\t  '      Text
'finalize_command' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$finalize_command' Name.Variable
' @OUTPUT@'   Literal.String.Double
'"'           Literal.String.Double
'\n\t  '      Text
';'           Punctuation
';'           Punctuation
'\n\t'        Text
'esac'        Keyword
'\n\n\t'      Text
'case'        Keyword
' '           Text
'$prev'       Name.Variable
' '           Text
'in'          Keyword
'\n\t'        Text
'dlfiles'     Text
'|'           Punctuation
'dlprefiles'  Text
')'           Operator
'\n\t  '      Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$preload'    Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'no'          Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t    '    Text
'# Add the symbol object into the linking commands.\n' Comment.Single

'\t    '      Text
'compile_command' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$compile_command' Name.Variable
' @SYMFILE@'  Literal.String.Double
'"'           Literal.String.Double
'\n\t    '    Text
'finalize_command' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$finalize_command' Name.Variable
' @SYMFILE@'  Literal.String.Double
'"'           Literal.String.Double
'\n\t    '    Text
'preload'     Name.Variable
'='           Operator
'yes'         Text
'\n\t  '      Text
'fi'          Keyword
'\n\t  '      Text
'case'        Keyword
' '           Text
'$arg'        Name.Variable
' '           Text
'in'          Keyword
'\n\t  '      Text
'*.la'        Text
' '           Text
'|'           Punctuation
' '           Text
'*.lo'        Text
')'           Operator
' '           Text
';'           Punctuation
';'           Punctuation
'  '          Text
'# We handle these cases below.\n' Comment.Single

'\t  '        Text
'force'       Text
')'           Operator
'\n\t    '    Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$dlself'     Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'no'          Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t      '  Text
'dlself'      Name.Variable
'='           Operator
'needless'    Text
'\n\t      '  Text
'export_dynamic' Name.Variable
'='           Operator
'yes'         Text
'\n\t    '    Text
'fi'          Keyword
'\n\t    '    Text
'prev'        Name.Variable
'='           Operator
'\n\t    '    Text
'continue'    Keyword
'\n\t    '    Text
';'           Punctuation
';'           Punctuation
'\n\t  '      Text
'self'        Text
')'           Operator
'\n\t    '    Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$prev'       Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'dlprefiles'  Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t      '  Text
'dlself'      Name.Variable
'='           Operator
'yes'         Text
'\n\t    '    Text
'elif'        Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$prev'       Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'dlfiles'     Text
' '           Text
'&&'          Operator
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$dlopen_self' Name.Variable
'"'           Literal.String.Double
' '           Text
'!'           Text
'='           Operator
' '           Text
'yes'         Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t      '  Text
'dlself'      Name.Variable
'='           Operator
'yes'         Text
'\n\t    '    Text
'else'        Keyword
'\n\t      '  Text
'dlself'      Name.Variable
'='           Operator
'needless'    Text
'\n\t      '  Text
'export_dynamic' Name.Variable
'='           Operator
'yes'         Text
'\n\t    '    Text
'fi'          Keyword
'\n\t    '    Text
'prev'        Name.Variable
'='           Operator
'\n\t    '    Text
'continue'    Keyword
'\n\t    '    Text
';'           Punctuation
';'           Punctuation
'\n\t  '      Text
'*'           Text
')'           Operator
'\n\t    '    Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$prev'       Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'dlfiles'     Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t      '  Text
'dlfiles'     Name.Variable
'='           Operator
'"'           Literal.String.Double
'$dlfiles'    Name.Variable
' '           Literal.String.Double
'$arg'        Name.Variable
'"'           Literal.String.Double
'\n\t    '    Text
'else'        Keyword
'\n\t      '  Text
'dlprefiles'  Name.Variable
'='           Operator
'"'           Literal.String.Double
'$dlprefiles' Name.Variable
' '           Literal.String.Double
'$arg'        Name.Variable
'"'           Literal.String.Double
'\n\t    '    Text
'fi'          Keyword
'\n\t    '    Text
'prev'        Name.Variable
'='           Operator
'\n\t    '    Text
'continue'    Keyword
'\n\t    '    Text
';'           Punctuation
';'           Punctuation
'\n\t  '      Text
'esac'        Keyword
'\n\t  '      Text
';'           Punctuation
';'           Punctuation
'\n\t'        Text
'expsyms'     Text
')'           Operator
'\n\t  '      Text
'export_symbols' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$arg'        Name.Variable
'"'           Literal.String.Double
'\n\t  '      Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'!'           Text
' '           Text
'-f'          Text
' '           Text
'"'           Literal.String.Double
'$arg'        Name.Variable
'"'           Literal.String.Double
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t    '    Text
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'$modename'   Name.Variable
': symbol file \\`' Literal.String.Double
'$arg'        Name.Variable
"' does not exist" Literal.String.Double
'"'           Literal.String.Double
'\n\t    '    Text
'exit'        Name.Builtin
' '           Text
'$EXIT_FAILURE' Name.Variable
'\n\t  '      Text
'fi'          Keyword
'\n\t  '      Text
'prev'        Name.Variable
'='           Operator
'\n\t  '      Text
'continue'    Keyword
'\n\t  '      Text
';'           Punctuation
';'           Punctuation
'\n\t'        Text
'expsyms_regex' Text
')'           Operator
'\n\t  '      Text
'export_symbols_regex' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$arg'        Name.Variable
'"'           Literal.String.Double
'\n\t  '      Text
'prev'        Name.Variable
'='           Operator
'\n\t  '      Text
'continue'    Keyword
'\n\t  '      Text
';'           Punctuation
';'           Punctuation
'\n\t'        Text
'inst_prefix' Text
')'           Operator
'\n\t  '      Text
'inst_prefix_dir' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$arg'        Name.Variable
'"'           Literal.String.Double
'\n\t  '      Text
'prev'        Name.Variable
'='           Operator
'\n\t  '      Text
'continue'    Keyword
'\n\t  '      Text
';'           Punctuation
';'           Punctuation
'\n\t'        Text
'precious_regex' Text
')'           Operator
'\n\t  '      Text
'precious_files_regex' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$arg'        Name.Variable
'"'           Literal.String.Double
'\n\t  '      Text
'prev'        Name.Variable
'='           Operator
'\n\t  '      Text
'continue'    Keyword
'\n\t  '      Text
';'           Punctuation
';'           Punctuation
'\n\t'        Text
'release'     Text
')'           Operator
'\n\t  '      Text
'release'     Name.Variable
'='           Operator
'"'           Literal.String.Double
'-'           Literal.String.Double
'$arg'        Name.Variable
'"'           Literal.String.Double
'\n\t  '      Text
'prev'        Name.Variable
'='           Operator
'\n\t  '      Text
'continue'    Keyword
'\n\t  '      Text
';'           Punctuation
';'           Punctuation
'\n\t'        Text
'objectlist'  Text
')'           Operator
'\n\t  '      Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'-f'          Text
' '           Text
'"'           Literal.String.Double
'$arg'        Name.Variable
'"'           Literal.String.Double
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t    '    Text
'save_arg'    Name.Variable
'='           Operator
'$arg'        Name.Variable
'\n\t    '    Text
'moreargs'    Name.Variable
'='           Operator
'\n\t    '    Text
'for'         Keyword
' '           Text
'fil'         Text
' '           Text
'in'          Keyword
' '           Text
'`'           Literal.String.Backtick
'cat'         Text
' '           Text
'$save_arg'   Name.Variable
'`'           Literal.String.Backtick
'\n\t    '    Text
'do'          Keyword
'\n'          Text

'#\t      moreargs="$moreargs $fil"\n' Comment.Single

'\t      '    Text
'arg'         Name.Variable
'='           Operator
'$fil'        Name.Variable
'\n\t      '  Text
'# A libtool-controlled object.\n' Comment.Single

'\n\t      '  Text
'# Check to see that this really is a libtool object.\n' Comment.Single

'\t      '    Text
'if'          Keyword
' '           Text
'('           Operator
'${'          Literal.String.Interpol
'SED'         Name.Variable
'}'           Literal.String.Interpol
' '           Text
'-e'          Text
' '           Text
"'2q'"        Literal.String.Single
' '           Text
'$arg'        Name.Variable
' '           Text
'|'           Punctuation
' '           Text
'grep'        Text
' '           Text
'"'           Literal.String.Double
'^# Generated by .*' Literal.String.Double
'$PACKAGE'    Name.Variable
'"'           Literal.String.Double
')'           Operator
' '           Text
'>/dev/null'  Text
' '           Text
'2'           Literal.Number
'>'           Text
'&'           Punctuation
'1'           Literal.Number
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t\t'      Text
'pic_object'  Name.Variable
'='           Operator
'\n\t\t'      Text
'non_pic_object' Name.Variable
'='           Operator
'\n\n\t\t'    Text
'# Read the .lo file\n' Comment.Single

'\t\t'        Text
'# If there is no directory component, then add one.\n' Comment.Single

'\t\t'        Text
'case'        Keyword
' '           Text
'$arg'        Name.Variable
' '           Text
'in'          Keyword
'\n\t\t'      Text
'*/*'         Text
' '           Text
'|'           Punctuation
' '           Text
'*'           Text
'\\\\'        Literal.String.Escape
'*'           Text
')'           Operator
' '           Text
'.'           Text
' '           Text
'$arg'        Name.Variable
' '           Text
';'           Punctuation
';'           Punctuation
'\n\t\t'      Text
'*'           Text
')'           Operator
' '           Text
'.'           Text
' '           Text
'./'          Text
'$arg'        Name.Variable
' '           Text
';'           Punctuation
';'           Punctuation
'\n\t\t'      Text
'esac'        Keyword
'\n\n\t\t'    Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'-z'          Text
' '           Text
'"'           Literal.String.Double
'$pic_object' Name.Variable
'"'           Literal.String.Double
' '           Text
'||'          Operator
' '           Text
'\\\n'        Literal.String.Escape

'\t\t   '     Text
'test'        Name.Builtin
' '           Text
'-z'          Text
' '           Text
'"'           Literal.String.Double
'$non_pic_object' Name.Variable
'"'           Literal.String.Double
' '           Text
'||'          Operator
'\n\t\t   '   Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$pic_object' Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'none'        Text
' '           Text
'&&'          Operator
' '           Text
'\\\n'        Literal.String.Escape

'\t\t   '     Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$non_pic_object' Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'none'        Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t\t  '    Text
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'$modename'   Name.Variable
': cannot find name of object for \\`' Literal.String.Double
'$arg'        Name.Variable
"'"           Literal.String.Double
'"'           Literal.String.Double
' '           Text
'1'           Literal.Number
'>'           Text
'&'           Punctuation
'2'           Literal.Number
'\n\t\t  '    Text
'exit'        Name.Builtin
' '           Text
'$EXIT_FAILURE' Name.Variable
'\n\t\t'      Text
'fi'          Keyword
'\n\n\t\t'    Text
'# Extract subdirectory from the argument.\n' Comment.Single

'\t\t'        Text
'xdir'        Name.Variable
'='           Operator
'`'           Literal.String.Backtick
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$arg'        Name.Variable
'"'           Literal.String.Double
' '           Text
'|'           Punctuation
' '           Text
'$Xsed'       Name.Variable
' '           Text
'-e'          Text
' '           Text
"'s%/[^/]*$%%'" Literal.String.Single
'`'           Literal.String.Backtick
'\n\t\t'      Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$xdir'       Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$arg'        Name.Variable
'"'           Literal.String.Double
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t\t  '    Text
'xdir'        Name.Variable
'='           Operator
'\n\t\t'      Text
'else'        Keyword
'\n\t\t  '    Text
'xdir'        Name.Variable
'='           Operator
'"'           Literal.String.Double
'$xdir'       Name.Variable
'/'           Literal.String.Double
'"'           Literal.String.Double
'\n\t\t'      Text
'fi'          Keyword
'\n\n\t\t'    Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$pic_object' Name.Variable
'"'           Literal.String.Double
' '           Text
'!'           Text
'='           Operator
' '           Text
'none'        Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t\t  '    Text
'# Prepend the subdirectory the object is found in.\n' Comment.Single

'\t\t  '      Text
'pic_object'  Name.Variable
'='           Operator
'"'           Literal.String.Double
'$xdir'       Name.Variable
'$pic_object' Name.Variable
'"'           Literal.String.Double
'\n\n\t\t  '  Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$prev'       Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'dlfiles'     Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t\t    '  Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$build_libtool_libs' Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'yes'         Text
' '           Text
'&&'          Operator
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$dlopen_support' Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'yes'         Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t\t      ' Text
'dlfiles'     Name.Variable
'='           Operator
'"'           Literal.String.Double
'$dlfiles'    Name.Variable
' '           Literal.String.Double
'$pic_object' Name.Variable
'"'           Literal.String.Double
'\n\t\t      ' Text
'prev'        Name.Variable
'='           Operator
'\n\t\t      ' Text
'continue'    Keyword
'\n\t\t    '  Text
'else'        Keyword
'\n\t\t      ' Text
'# If libtool objects are unsupported, then we need to preload.\n' Comment.Single

'\t\t      '  Text
'prev'        Name.Variable
'='           Operator
'dlprefiles'  Text
'\n\t\t    '  Text
'fi'          Keyword
'\n\t\t  '    Text
'fi'          Keyword
'\n\n\t\t  '  Text
'# CHECK ME:  I think I busted this.  -Ossama\n' Comment.Single

'\t\t  '      Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$prev'       Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'dlprefiles'  Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t\t    '  Text
'# Preload the old-style object.\n' Comment.Single

'\t\t    '    Text
'dlprefiles'  Name.Variable
'='           Operator
'"'           Literal.String.Double
'$dlprefiles' Name.Variable
' '           Literal.String.Double
'$pic_object' Name.Variable
'"'           Literal.String.Double
'\n\t\t    '  Text
'prev'        Name.Variable
'='           Operator
'\n\t\t  '    Text
'fi'          Keyword
'\n\n\t\t  '  Text
'# A PIC object.\n' Comment.Single

'\t\t  '      Text
'libobjs'     Name.Variable
'='           Operator
'"'           Literal.String.Double
'$libobjs'    Name.Variable
' '           Literal.String.Double
'$pic_object' Name.Variable
'"'           Literal.String.Double
'\n\t\t  '    Text
'arg'         Name.Variable
'='           Operator
'"'           Literal.String.Double
'$pic_object' Name.Variable
'"'           Literal.String.Double
'\n\t\t'      Text
'fi'          Keyword
'\n\n\t\t'    Text
'# Non-PIC object.\n' Comment.Single

'\t\t'        Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$non_pic_object' Name.Variable
'"'           Literal.String.Double
' '           Text
'!'           Text
'='           Operator
' '           Text
'none'        Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t\t  '    Text
'# Prepend the subdirectory the object is found in.\n' Comment.Single

'\t\t  '      Text
'non_pic_object' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$xdir'       Name.Variable
'$non_pic_object' Name.Variable
'"'           Literal.String.Double
'\n\n\t\t  '  Text
'# A standard non-PIC object\n' Comment.Single

'\t\t  '      Text
'non_pic_objects' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$non_pic_objects' Name.Variable
' '           Literal.String.Double
'$non_pic_object' Name.Variable
'"'           Literal.String.Double
'\n\t\t  '    Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'-z'          Text
' '           Text
'"'           Literal.String.Double
'$pic_object' Name.Variable
'"'           Literal.String.Double
' '           Text
'||'          Operator
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$pic_object' Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'none'        Text
' '           Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t\t    '  Text
'arg'         Name.Variable
'='           Operator
'"'           Literal.String.Double
'$non_pic_object' Name.Variable
'"'           Literal.String.Double
'\n\t\t  '    Text
'fi'          Keyword
'\n\t\t'      Text
'else'        Keyword
'\n\t\t  '    Text
'# If the PIC object exists, use it instead.\n' Comment.Single

'\t\t  '      Text
'# $xdir was prepended to $pic_object above.\n' Comment.Single

'\t\t  '      Text
'non_pic_object' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$pic_object' Name.Variable
'"'           Literal.String.Double
'\n\t\t  '    Text
'non_pic_objects' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$non_pic_objects' Name.Variable
' '           Literal.String.Double
'$non_pic_object' Name.Variable
'"'           Literal.String.Double
'\n\t\t'      Text
'fi'          Keyword
'\n\t      '  Text
'else'        Keyword
'\n\t\t'      Text
'# Only an error if not doing a dry-run.\n' Comment.Single

'\t\t'        Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'-z'          Text
' '           Text
'"'           Literal.String.Double
'$run'        Name.Variable
'"'           Literal.String.Double
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t\t  '    Text
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'$modename'   Name.Variable
': \\`'       Literal.String.Double
'$arg'        Name.Variable
"' is not a valid libtool object" Literal.String.Double
'"'           Literal.String.Double
' '           Text
'1'           Literal.Number
'>'           Text
'&'           Punctuation
'2'           Literal.Number
'\n\t\t  '    Text
'exit'        Name.Builtin
' '           Text
'$EXIT_FAILURE' Name.Variable
'\n\t\t'      Text
'else'        Keyword
'\n\t\t  '    Text
'# Dry-run case.\n' Comment.Single

'\n\t\t  '    Text
'# Extract subdirectory from the argument.\n' Comment.Single

'\t\t  '      Text
'xdir'        Name.Variable
'='           Operator
'`'           Literal.String.Backtick
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$arg'        Name.Variable
'"'           Literal.String.Double
' '           Text
'|'           Punctuation
' '           Text
'$Xsed'       Name.Variable
' '           Text
'-e'          Text
' '           Text
"'s%/[^/]*$%%'" Literal.String.Single
'`'           Literal.String.Backtick
'\n\t\t  '    Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$xdir'       Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$arg'        Name.Variable
'"'           Literal.String.Double
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t\t    '  Text
'xdir'        Name.Variable
'='           Operator
'\n\t\t  '    Text
'else'        Keyword
'\n\t\t    '  Text
'xdir'        Name.Variable
'='           Operator
'"'           Literal.String.Double
'$xdir'       Name.Variable
'/'           Literal.String.Double
'"'           Literal.String.Double
'\n\t\t  '    Text
'fi'          Keyword
'\n\n\t\t  '  Text
'pic_object'  Name.Variable
'='           Operator
'`'           Literal.String.Backtick
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'${'          Literal.String.Interpol
'xdir'        Name.Variable
'}'           Literal.String.Interpol
'${'          Literal.String.Interpol
'objdir'      Name.Variable
'}'           Literal.String.Interpol
'/'           Literal.String.Double
'${'          Literal.String.Interpol
'arg'         Name.Variable
'}'           Literal.String.Interpol
'"'           Literal.String.Double
' '           Text
'|'           Punctuation
' '           Text
'$Xsed'       Name.Variable
' '           Text
'-e'          Text
' '           Text
'"'           Literal.String.Double
'$lo2o'       Name.Variable
'"'           Literal.String.Double
'`'           Literal.String.Backtick
'\n\t\t  '    Text
'non_pic_object' Name.Variable
'='           Operator
'`'           Literal.String.Backtick
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'${'          Literal.String.Interpol
'xdir'        Name.Variable
'}'           Literal.String.Interpol
'${'          Literal.String.Interpol
'arg'         Name.Variable
'}'           Literal.String.Interpol
'"'           Literal.String.Double
' '           Text
'|'           Punctuation
' '           Text
'$Xsed'       Name.Variable
' '           Text
'-e'          Text
' '           Text
'"'           Literal.String.Double
'$lo2o'       Name.Variable
'"'           Literal.String.Double
'`'           Literal.String.Backtick
'\n\t\t  '    Text
'libobjs'     Name.Variable
'='           Operator
'"'           Literal.String.Double
'$libobjs'    Name.Variable
' '           Literal.String.Double
'$pic_object' Name.Variable
'"'           Literal.String.Double
'\n\t\t  '    Text
'non_pic_objects' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$non_pic_objects' Name.Variable
' '           Literal.String.Double
'$non_pic_object' Name.Variable
'"'           Literal.String.Double
'\n\t\t'      Text
'fi'          Keyword
'\n\t      '  Text
'fi'          Keyword
'\n\t    '    Text
'done'        Keyword
'\n\t  '      Text
'else'        Keyword
'\n\t    '    Text
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'$modename'   Name.Variable
': link input file \\`' Literal.String.Double
'$save_arg'   Name.Variable
"' does not exist" Literal.String.Double
'"'           Literal.String.Double
'\n\t    '    Text
'exit'        Name.Builtin
' '           Text
'$EXIT_FAILURE' Name.Variable
'\n\t  '      Text
'fi'          Keyword
'\n\t  '      Text
'arg'         Name.Variable
'='           Operator
'$save_arg'   Name.Variable
'\n\t  '      Text
'prev'        Name.Variable
'='           Operator
'\n\t  '      Text
'continue'    Keyword
'\n\t  '      Text
';'           Punctuation
';'           Punctuation
'\n\t'        Text
'rpath'       Text
' '           Text
'|'           Punctuation
' '           Text
'xrpath'      Text
')'           Operator
'\n\t  '      Text
'# We need an absolute path.\n' Comment.Single

'\t  '        Text
'case'        Keyword
' '           Text
'$arg'        Name.Variable
' '           Text
'in'          Keyword
'\n\t  '      Text
'['           Operator
'\\\\'        Literal.String.Escape
'/'           Text
']'           Operator
'*'           Text
' '           Text
'|'           Punctuation
' '           Text
'['           Operator
'A-Za-z'      Text
']'           Operator
':'           Text
'['           Operator
'\\\\'        Literal.String.Escape
'/'           Text
']'           Operator
'*'           Text
')'           Operator
' '           Text
';'           Punctuation
';'           Punctuation
'\n\t  '      Text
'*'           Text
')'           Operator
'\n\t    '    Text
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'$modename'   Name.Variable
': only absolute run-paths are allowed' Literal.String.Double
'"'           Literal.String.Double
' '           Text
'1'           Literal.Number
'>'           Text
'&'           Punctuation
'2'           Literal.Number
'\n\t    '    Text
'exit'        Name.Builtin
' '           Text
'$EXIT_FAILURE' Name.Variable
'\n\t    '    Text
';'           Punctuation
';'           Punctuation
'\n\t  '      Text
'esac'        Keyword
'\n\t  '      Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$prev'       Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'rpath'       Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t    '    Text
'case'        Keyword
' '           Text
'"'           Literal.String.Double
'$rpath'      Name.Variable
' '           Literal.String.Double
'"'           Literal.String.Double
' '           Text
'in'          Keyword
'\n\t    '    Text
'*'           Text
'"'           Literal.String.Double
' '           Literal.String.Double
'$arg'        Name.Variable
' '           Literal.String.Double
'"'           Literal.String.Double
'*'           Text
')'           Operator
' '           Text
';'           Punctuation
';'           Punctuation
'\n\t    '    Text
'*'           Text
')'           Operator
' '           Text
'rpath'       Name.Variable
'='           Operator
'"'           Literal.String.Double
'$rpath'      Name.Variable
' '           Literal.String.Double
'$arg'        Name.Variable
'"'           Literal.String.Double
' '           Text
';'           Punctuation
';'           Punctuation
'\n\t    '    Text
'esac'        Keyword
'\n\t  '      Text
'else'        Keyword
'\n\t    '    Text
'case'        Keyword
' '           Text
'"'           Literal.String.Double
'$xrpath'     Name.Variable
' '           Literal.String.Double
'"'           Literal.String.Double
' '           Text
'in'          Keyword
'\n\t    '    Text
'*'           Text
'"'           Literal.String.Double
' '           Literal.String.Double
'$arg'        Name.Variable
' '           Literal.String.Double
'"'           Literal.String.Double
'*'           Text
')'           Operator
' '           Text
';'           Punctuation
';'           Punctuation
'\n\t    '    Text
'*'           Text
')'           Operator
' '           Text
'xrpath'      Name.Variable
'='           Operator
'"'           Literal.String.Double
'$xrpath'     Name.Variable
' '           Literal.String.Double
'$arg'        Name.Variable
'"'           Literal.String.Double
' '           Text
';'           Punctuation
';'           Punctuation
'\n\t    '    Text
'esac'        Keyword
'\n\t  '      Text
'fi'          Keyword
'\n\t  '      Text
'prev'        Name.Variable
'='           Operator
'\n\t  '      Text
'continue'    Keyword
'\n\t  '      Text
';'           Punctuation
';'           Punctuation
'\n\t'        Text
'xcompiler'   Text
')'           Operator
'\n\t  '      Text
'compiler_flags' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$compiler_flags' Name.Variable
' '           Literal.String.Double
'$qarg'       Name.Variable
'"'           Literal.String.Double
'\n\t  '      Text
'prev'        Name.Variable
'='           Operator
'\n\t  '      Text
'compile_command' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$compile_command' Name.Variable
' '           Literal.String.Double
'$qarg'       Name.Variable
'"'           Literal.String.Double
'\n\t  '      Text
'finalize_command' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$finalize_command' Name.Variable
' '           Literal.String.Double
'$qarg'       Name.Variable
'"'           Literal.String.Double
'\n\t  '      Text
'continue'    Keyword
'\n\t  '      Text
';'           Punctuation
';'           Punctuation
'\n\t'        Text
'xlinker'     Text
')'           Operator
'\n\t  '      Text
'linker_flags' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$linker_flags' Name.Variable
' '           Literal.String.Double
'$qarg'       Name.Variable
'"'           Literal.String.Double
'\n\t  '      Text
'compiler_flags' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$compiler_flags' Name.Variable
' '           Literal.String.Double
'$wl'         Name.Variable
'$qarg'       Name.Variable
'"'           Literal.String.Double
'\n\t  '      Text
'prev'        Name.Variable
'='           Operator
'\n\t  '      Text
'compile_command' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$compile_command' Name.Variable
' '           Literal.String.Double
'$wl'         Name.Variable
'$qarg'       Name.Variable
'"'           Literal.String.Double
'\n\t  '      Text
'finalize_command' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$finalize_command' Name.Variable
' '           Literal.String.Double
'$wl'         Name.Variable
'$qarg'       Name.Variable
'"'           Literal.String.Double
'\n\t  '      Text
'continue'    Keyword
'\n\t  '      Text
';'           Punctuation
';'           Punctuation
'\n\t'        Text
'xcclinker'   Text
')'           Operator
'\n\t  '      Text
'linker_flags' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$linker_flags' Name.Variable
' '           Literal.String.Double
'$qarg'       Name.Variable
'"'           Literal.String.Double
'\n\t  '      Text
'compiler_flags' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$compiler_flags' Name.Variable
' '           Literal.String.Double
'$qarg'       Name.Variable
'"'           Literal.String.Double
'\n\t  '      Text
'prev'        Name.Variable
'='           Operator
'\n\t  '      Text
'compile_command' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$compile_command' Name.Variable
' '           Literal.String.Double
'$qarg'       Name.Variable
'"'           Literal.String.Double
'\n\t  '      Text
'finalize_command' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$finalize_command' Name.Variable
' '           Literal.String.Double
'$qarg'       Name.Variable
'"'           Literal.String.Double
'\n\t  '      Text
'continue'    Keyword
'\n\t  '      Text
';'           Punctuation
';'           Punctuation
'\n\t'        Text
'shrext'      Text
')'           Operator
'\n  \t  '    Text
'shrext_cmds' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$arg'        Name.Variable
'"'           Literal.String.Double
'\n\t  '      Text
'prev'        Name.Variable
'='           Operator
'\n\t  '      Text
'continue'    Keyword
'\n\t  '      Text
';'           Punctuation
';'           Punctuation
'\n\t'        Text
'darwin_framework' Text
'|'           Punctuation
'darwin_framework_skip' Text
')'           Operator
'\n\t  '      Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$prev'       Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'"darwin_framework"' Literal.String.Double
' '           Text
'&&'          Operator
' '           Text
'compiler_flags' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$compiler_flags' Name.Variable
' '           Literal.String.Double
'$arg'        Name.Variable
'"'           Literal.String.Double
'\n\t  '      Text
'compile_command' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$compile_command' Name.Variable
' '           Literal.String.Double
'$arg'        Name.Variable
'"'           Literal.String.Double
'\n\t  '      Text
'finalize_command' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$finalize_command' Name.Variable
' '           Literal.String.Double
'$arg'        Name.Variable
'"'           Literal.String.Double
'\n\t  '      Text
'prev'        Name.Variable
'='           Operator
'\n\t  '      Text
'continue'    Keyword
'\n\t  '      Text
';'           Punctuation
';'           Punctuation
'\n\t'        Text
'*'           Text
')'           Operator
'\n\t  '      Text
'eval'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$prev'       Name.Variable
'=\\"\\$arg\\"' Literal.String.Double
'"'           Literal.String.Double
'\n\t  '      Text
'prev'        Name.Variable
'='           Operator
'\n\t  '      Text
'continue'    Keyword
'\n\t  '      Text
';'           Punctuation
';'           Punctuation
'\n\t'        Text
'esac'        Keyword
'\n      '    Text
'fi'          Keyword
' '           Text
'# test -n "$prev"\n' Comment.Single

'\n      '    Text
'prevarg'     Name.Variable
'='           Operator
'"'           Literal.String.Double
'$arg'        Name.Variable
'"'           Literal.String.Double
'\n\n      '  Text
'case'        Keyword
' '           Text
'$arg'        Name.Variable
' '           Text
'in'          Keyword
'\n      '    Text
'-all-static' Text
')'           Operator
'\n\t'        Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'-n'          Text
' '           Text
'"'           Literal.String.Double
'$link_static_flag' Name.Variable
'"'           Literal.String.Double
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t  '      Text
'compile_command' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$compile_command' Name.Variable
' '           Literal.String.Double
'$link_static_flag' Name.Variable
'"'           Literal.String.Double
'\n\t  '      Text
'finalize_command' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$finalize_command' Name.Variable
' '           Literal.String.Double
'$link_static_flag' Name.Variable
'"'           Literal.String.Double
'\n\t'        Text
'fi'          Keyword
'\n\t'        Text
'continue'    Keyword
'\n\t'        Text
';'           Punctuation
';'           Punctuation
'\n\n      '  Text
'-allow-undefined' Text
')'           Operator
'\n\t'        Text
'# FIXME: remove this flag sometime in the future.\n' Comment.Single

'\t'          Text
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'$modename'   Name.Variable
": \\`-allow-undefined' is deprecated because it is the default" Literal.String.Double
'"'           Literal.String.Double
' '           Text
'1'           Literal.Number
'>'           Text
'&'           Punctuation
'2'           Literal.Number
'\n\t'        Text
'continue'    Keyword
'\n\t'        Text
';'           Punctuation
';'           Punctuation
'\n\n      '  Text
'-avoid-version' Text
')'           Operator
'\n\t'        Text
'avoid_version' Name.Variable
'='           Operator
'yes'         Text
'\n\t'        Text
'continue'    Keyword
'\n\t'        Text
';'           Punctuation
';'           Punctuation
'\n\n      '  Text
'-dlopen'     Text
')'           Operator
'\n\t'        Text
'prev'        Name.Variable
'='           Operator
'dlfiles'     Text
'\n\t'        Text
'continue'    Keyword
'\n\t'        Text
';'           Punctuation
';'           Punctuation
'\n\n      '  Text
'-dlpreopen'  Text
')'           Operator
'\n\t'        Text
'prev'        Name.Variable
'='           Operator
'dlprefiles'  Text
'\n\t'        Text
'continue'    Keyword
'\n\t'        Text
';'           Punctuation
';'           Punctuation
'\n\n      '  Text
'-export-dynamic' Text
')'           Operator
'\n\t'        Text
'export_dynamic' Name.Variable
'='           Operator
'yes'         Text
'\n\t'        Text
'continue'    Keyword
'\n\t'        Text
';'           Punctuation
';'           Punctuation
'\n\n      '  Text
'-export-symbols' Text
' '           Text
'|'           Punctuation
' '           Text
'-export-symbols-regex' Text
')'           Operator
'\n\t'        Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'-n'          Text
' '           Text
'"'           Literal.String.Double
'$export_symbols' Name.Variable
'"'           Literal.String.Double
' '           Text
'||'          Operator
' '           Text
'test'        Name.Builtin
' '           Text
'-n'          Text
' '           Text
'"'           Literal.String.Double
'$export_symbols_regex' Name.Variable
'"'           Literal.String.Double
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t  '      Text
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'$modename'   Name.Variable
': more than one -exported-symbols argument is not allowed' Literal.String.Double
'"'           Literal.String.Double
'\n\t  '      Text
'exit'        Name.Builtin
' '           Text
'$EXIT_FAILURE' Name.Variable
'\n\t'        Text
'fi'          Keyword
'\n\t'        Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$arg'        Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'"X-export-symbols"' Literal.String.Double
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t  '      Text
'prev'        Name.Variable
'='           Operator
'expsyms'     Text
'\n\t'        Text
'else'        Keyword
'\n\t  '      Text
'prev'        Name.Variable
'='           Operator
'expsyms_regex' Text
'\n\t'        Text
'fi'          Keyword
'\n\t'        Text
'continue'    Keyword
'\n\t'        Text
';'           Punctuation
';'           Punctuation
'\n\n      '  Text
'-framework'  Text
'|'           Punctuation
'-arch'       Text
'|'           Punctuation
'-isysroot'   Text
')'           Operator
'\n\t'        Text
'case'        Keyword
' '           Text
'"'           Literal.String.Double
' '           Literal.String.Double
'$CC'         Name.Variable
' '           Literal.String.Double
'"'           Literal.String.Double
' '           Text
'in'          Keyword
'\n\t  '      Text
'*'           Text
'"'           Literal.String.Double
' '           Literal.String.Double
'${'          Literal.String.Interpol
'arg'         Name.Variable
'}'           Literal.String.Interpol
' '           Literal.String.Double
'${'          Literal.String.Interpol
'1'           Name.Variable
'}'           Literal.String.Interpol
' '           Literal.String.Double
'"'           Literal.String.Double
'*'           Text
' '           Text
'|'           Punctuation
' '           Text
'*'           Text
'"'           Literal.String.Double
' '           Literal.String.Double
'${'          Literal.String.Interpol
'arg'         Name.Variable
'}'           Literal.String.Interpol
'\t'          Literal.String.Double
'${'          Literal.String.Interpol
'1'           Name.Variable
'}'           Literal.String.Interpol
' '           Literal.String.Double
'"'           Literal.String.Double
'*'           Text
')'           Operator
' \n\t\t'     Text
'prev'        Name.Variable
'='           Operator
'darwin_framework_skip' Text
' '           Text
';'           Punctuation
';'           Punctuation
'\n\t  '      Text
'*'           Text
')'           Operator
' '           Text
'compiler_flags' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$compiler_flags' Name.Variable
' '           Literal.String.Double
'$arg'        Name.Variable
'"'           Literal.String.Double
'\n\t     '   Text
'prev'        Name.Variable
'='           Operator
'darwin_framework' Text
' '           Text
';'           Punctuation
';'           Punctuation
'\n\t'        Text
'esac'        Keyword
'\n\t'        Text
'compile_command' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$compile_command' Name.Variable
' '           Literal.String.Double
'$arg'        Name.Variable
'"'           Literal.String.Double
'\n\t'        Text
'finalize_command' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$finalize_command' Name.Variable
' '           Literal.String.Double
'$arg'        Name.Variable
'"'           Literal.String.Double
'\n\t'        Text
'continue'    Keyword
'\n\t'        Text
';'           Punctuation
';'           Punctuation
'\n\n      '  Text
'-inst-prefix-dir' Text
')'           Operator
'\n\t'        Text
'prev'        Name.Variable
'='           Operator
'inst_prefix' Text
'\n\t'        Text
'continue'    Keyword
'\n\t'        Text
';'           Punctuation
';'           Punctuation
'\n\n      '  Text
'# The native IRIX linker understands -LANG:*, -LIST:* and -LNO:*\n' Comment.Single

'      '      Text
'# so, if we see these flags be careful not to treat them like -L\n' Comment.Single

'      '      Text
'-L'          Text
'['           Operator
'A-Z'         Text
']'           Operator
'['           Operator
'A-Z'         Text
']'           Operator
'*:*'         Text
')'           Operator
'\n\t'        Text
'case'        Keyword
' '           Text
'$with_gcc'   Name.Variable
'/'           Text
'$host'       Name.Variable
' '           Text
'in'          Keyword
'\n\t'        Text
'no/*-*-irix*' Text
' '           Text
'|'           Punctuation
' '           Text
'/*-*-irix*'  Text
')'           Operator
'\n\t  '      Text
'compile_command' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$compile_command' Name.Variable
' '           Literal.String.Double
'$arg'        Name.Variable
'"'           Literal.String.Double
'\n\t  '      Text
'finalize_command' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$finalize_command' Name.Variable
' '           Literal.String.Double
'$arg'        Name.Variable
'"'           Literal.String.Double
'\n\t  '      Text
';'           Punctuation
';'           Punctuation
'\n\t'        Text
'esac'        Keyword
'\n\t'        Text
'continue'    Keyword
'\n\t'        Text
';'           Punctuation
';'           Punctuation
'\n\n      '  Text
'-L*'         Text
')'           Operator
'\n\t'        Text
'dir'         Name.Variable
'='           Operator
'`'           Literal.String.Backtick
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$arg'        Name.Variable
'"'           Literal.String.Double
' '           Text
'|'           Punctuation
' '           Text
'$Xsed'       Name.Variable
' '           Text
'-e'          Text
' '           Text
"'s/^-L//'"   Literal.String.Single
'`'           Literal.String.Backtick
'\n\t'        Text
'# We need an absolute path.\n' Comment.Single

'\t'          Text
'case'        Keyword
' '           Text
'$dir'        Name.Variable
' '           Text
'in'          Keyword
'\n\t'        Text
'['           Operator
'\\\\'        Literal.String.Escape
'/'           Text
']'           Operator
'*'           Text
' '           Text
'|'           Punctuation
' '           Text
'['           Operator
'A-Za-z'      Text
']'           Operator
':'           Text
'['           Operator
'\\\\'        Literal.String.Escape
'/'           Text
']'           Operator
'*'           Text
')'           Operator
' '           Text
';'           Punctuation
';'           Punctuation
'\n\t'        Text
'*'           Text
')'           Operator
'\n\t  '      Text
'absdir'      Name.Variable
'='           Operator
'`'           Literal.String.Backtick
'cd'          Name.Builtin
' '           Text
'"'           Literal.String.Double
'$dir'        Name.Variable
'"'           Literal.String.Double
' '           Text
'&&'          Operator
' '           Text
'pwd'         Name.Builtin
'`'           Literal.String.Backtick
'\n\t  '      Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'-z'          Text
' '           Text
'"'           Literal.String.Double
'$absdir'     Name.Variable
'"'           Literal.String.Double
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t    '    Text
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'$modename'   Name.Variable
': cannot determine absolute directory name of \\`' Literal.String.Double
'$dir'        Name.Variable
"'"           Literal.String.Double
'"'           Literal.String.Double
' '           Text
'1'           Literal.Number
'>'           Text
'&'           Punctuation
'2'           Literal.Number
'\n\t    '    Text
'absdir'      Name.Variable
'='           Operator
'"'           Literal.String.Double
'$dir'        Name.Variable
'"'           Literal.String.Double
'\n\t    '    Text
'notinst_path' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$notinst_path' Name.Variable
' '           Literal.String.Double
'$dir'        Name.Variable
'"'           Literal.String.Double
'\n\t  '      Text
'fi'          Keyword
'\n\t  '      Text
'dir'         Name.Variable
'='           Operator
'"'           Literal.String.Double
'$absdir'     Name.Variable
'"'           Literal.String.Double
'\n\t  '      Text
';'           Punctuation
';'           Punctuation
'\n\t'        Text
'esac'        Keyword
'\n\t'        Text
'case'        Keyword
' '           Text
'"'           Literal.String.Double
'$deplibs'    Name.Variable
' '           Literal.String.Double
'"'           Literal.String.Double
' '           Text
'in'          Keyword
'\n\t'        Text
'*'           Text
'"'           Literal.String.Double
' -L'         Literal.String.Double
'$dir'        Name.Variable
' '           Literal.String.Double
'"'           Literal.String.Double
'*'           Text
')'           Operator
' '           Text
';'           Punctuation
';'           Punctuation
'\n\t'        Text
'*'           Text
')'           Operator
'\n\t  '      Text
'deplibs'     Name.Variable
'='           Operator
'"'           Literal.String.Double
'$deplibs'    Name.Variable
' -L'         Literal.String.Double
'$dir'        Name.Variable
'"'           Literal.String.Double
'\n\t  '      Text
'lib_search_path' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$lib_search_path' Name.Variable
' '           Literal.String.Double
'$dir'        Name.Variable
'"'           Literal.String.Double
'\n\t  '      Text
';'           Punctuation
';'           Punctuation
'\n\t'        Text
'esac'        Keyword
'\n\t'        Text
'case'        Keyword
' '           Text
'$host'       Name.Variable
' '           Text
'in'          Keyword
'\n\t'        Text
'*-*-cygwin*' Text
' '           Text
'|'           Punctuation
' '           Text
'*-*-mingw*'  Text
' '           Text
'|'           Punctuation
' '           Text
'*-*-pw32*'   Text
' '           Text
'|'           Punctuation
' '           Text
'*-*-os2*'    Text
')'           Operator
'\n\t  '      Text
'testbindir'  Name.Variable
'='           Operator
'`'           Literal.String.Backtick
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$dir'        Name.Variable
'"'           Literal.String.Double
' '           Text
'|'           Punctuation
' '           Text
'$Xsed'       Name.Variable
' '           Text
'-e'          Text
' '           Text
"'s*/lib$*/bin*'" Literal.String.Single
'`'           Literal.String.Backtick
'\n\t  '      Text
'case'        Keyword
' '           Text
':'           Text
'$dllsearchpath' Name.Variable
':'           Text
' '           Text
'in'          Keyword
'\n\t  '      Text
'*'           Text
'"'           Literal.String.Double
':'           Literal.String.Double
'$dir'        Name.Variable
':'           Literal.String.Double
'"'           Literal.String.Double
'*'           Text
')'           Operator
' '           Text
';'           Punctuation
';'           Punctuation
'\n\t  '      Text
'*'           Text
')'           Operator
' '           Text
'dllsearchpath' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$dllsearchpath' Name.Variable
':'           Literal.String.Double
'$dir'        Name.Variable
'"'           Literal.String.Double
';'           Punctuation
';'           Punctuation
'\n\t  '      Text
'esac'        Keyword
'\n\t  '      Text
'case'        Keyword
' '           Text
':'           Text
'$dllsearchpath' Name.Variable
':'           Text
' '           Text
'in'          Keyword
'\n\t  '      Text
'*'           Text
'"'           Literal.String.Double
':'           Literal.String.Double
'$testbindir' Name.Variable
':'           Literal.String.Double
'"'           Literal.String.Double
'*'           Text
')'           Operator
' '           Text
';'           Punctuation
';'           Punctuation
'\n\t  '      Text
'*'           Text
')'           Operator
' '           Text
'dllsearchpath' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$dllsearchpath' Name.Variable
':'           Literal.String.Double
'$testbindir' Name.Variable
'"'           Literal.String.Double
';'           Punctuation
';'           Punctuation
'\n\t  '      Text
'esac'        Keyword
'\n\t  '      Text
';'           Punctuation
';'           Punctuation
'\n\t'        Text
'esac'        Keyword
'\n\t'        Text
'continue'    Keyword
'\n\t'        Text
';'           Punctuation
';'           Punctuation
'\n\n      '  Text
'-l*'         Text
')'           Operator
'\n\t'        Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$arg'        Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'"X-lc"'      Literal.String.Double
' '           Text
'||'          Operator
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$arg'        Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'"X-lm"'      Literal.String.Double
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t  '      Text
'case'        Keyword
' '           Text
'$host'       Name.Variable
' '           Text
'in'          Keyword
'\n\t  '      Text
'*-*-cygwin*' Text
' '           Text
'|'           Punctuation
' '           Text
'*-*-mingw*'  Text
' '           Text
'|'           Punctuation
' '           Text
'*-*-pw32*'   Text
' '           Text
'|'           Punctuation
' '           Text
'*-*-beos*'   Text
')'           Operator
'\n\t    '    Text
"# These systems don't actually have a C or math library (as such)\n" Comment.Single

'\t    '      Text
'continue'    Keyword
'\n\t    '    Text
';'           Punctuation
';'           Punctuation
'\n\t  '      Text
'*-*-os2*'    Text
')'           Operator
'\n\t    '    Text
"# These systems don't actually have a C library (as such)\n" Comment.Single

'\t    '      Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$arg'        Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'"X-lc"'      Literal.String.Double
' '           Text
'&&'          Operator
' '           Text
'continue'    Keyword
'\n\t    '    Text
';'           Punctuation
';'           Punctuation
'\n\t  '      Text
'*-*-openbsd*' Text
' '           Text
'|'           Punctuation
' '           Text
'*-*-freebsd*' Text
' '           Text
'|'           Punctuation
' '           Text
'*-*-dragonfly*' Text
')'           Operator
'\n\t    '    Text
'# Do not include libc due to us having libc/libc_r.\n' Comment.Single

'\t    '      Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$arg'        Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'"X-lc"'      Literal.String.Double
' '           Text
'&&'          Operator
' '           Text
'continue'    Keyword
'\n\t    '    Text
';'           Punctuation
';'           Punctuation
'\n\t  '      Text
'*-*-rhapsody*' Text
' '           Text
'|'           Punctuation
' '           Text
'*-*-darwin1.' Text
'['           Operator
'012'         Literal.Number
']'           Operator
')'           Operator
'\n\t    '    Text
'# Rhapsody C and math libraries are in the System framework\n' Comment.Single

'\t    '      Text
'deplibs'     Name.Variable
'='           Operator
'"'           Literal.String.Double
'$deplibs'    Name.Variable
' -framework System' Literal.String.Double
'"'           Literal.String.Double
'\n\t    '    Text
'continue'    Keyword
'\n\t    '    Text
';'           Punctuation
';'           Punctuation
'\n\t  '      Text
'*-*-sco3.2v5*' Text
' '           Text
'|'           Punctuation
' '           Text
'*-*-sco5v6*' Text
')'           Operator
'\n\t    '    Text
'# Causes problems with __ctype\n' Comment.Single

'\t    '      Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$arg'        Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'"X-lc"'      Literal.String.Double
' '           Text
'&&'          Operator
' '           Text
'continue'    Keyword
'\n\t    '    Text
';'           Punctuation
';'           Punctuation
'\n\t  '      Text
'*-*-sysv4.2uw2*' Text
' '           Text
'|'           Punctuation
' '           Text
'*-*-sysv5*'  Text
' '           Text
'|'           Punctuation
' '           Text
'*-*-unixware*' Text
' '           Text
'|'           Punctuation
' '           Text
'*-*-OpenUNIX*' Text
')'           Operator
'\n\t    '    Text
'# Compiler inserts libc in the correct place for threads to work\n' Comment.Single

'\t    '      Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$arg'        Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'"X-lc"'      Literal.String.Double
' '           Text
'&&'          Operator
' '           Text
'continue'    Keyword
'\n\t    '    Text
';'           Punctuation
';'           Punctuation
'\n\t  '      Text
'esac'        Keyword
'\n\t'        Text
'elif'        Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$arg'        Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'"X-lc_r"'    Literal.String.Double
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t '       Text
'case'        Keyword
' '           Text
'$host'       Name.Variable
' '           Text
'in'          Keyword
'\n\t '       Text
'*-*-openbsd*' Text
' '           Text
'|'           Punctuation
' '           Text
'*-*-freebsd*' Text
' '           Text
'|'           Punctuation
' '           Text
'*-*-dragonfly*' Text
')'           Operator
'\n\t   '     Text
'# Do not include libc_r directly, use -pthread flag.\n' Comment.Single

'\t   '       Text
'continue'    Keyword
'\n\t   '     Text
';'           Punctuation
';'           Punctuation
'\n\t '       Text
'esac'        Keyword
'\n\t'        Text
'fi'          Keyword
'\n\t'        Text
'deplibs'     Name.Variable
'='           Operator
'"'           Literal.String.Double
'$deplibs'    Name.Variable
' '           Literal.String.Double
'$arg'        Name.Variable
'"'           Literal.String.Double
'\n\t'        Text
'continue'    Keyword
'\n\t'        Text
';'           Punctuation
';'           Punctuation
'\n\n      '  Text
'# Tru64 UNIX uses -model [arg] to determine the layout of C++\n' Comment.Single

'      '      Text
'# classes, name mangling, and exception handling.\n' Comment.Single

'      '      Text
'-model'      Text
')'           Operator
'\n\t'        Text
'compile_command' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$compile_command' Name.Variable
' '           Literal.String.Double
'$arg'        Name.Variable
'"'           Literal.String.Double
'\n\t'        Text
'compiler_flags' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$compiler_flags' Name.Variable
' '           Literal.String.Double
'$arg'        Name.Variable
'"'           Literal.String.Double
'\n\t'        Text
'finalize_command' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$finalize_command' Name.Variable
' '           Literal.String.Double
'$arg'        Name.Variable
'"'           Literal.String.Double
'\n\t'        Text
'prev'        Name.Variable
'='           Operator
'xcompiler'   Text
'\n\t'        Text
'continue'    Keyword
'\n\t'        Text
';'           Punctuation
';'           Punctuation
'\n\n     '   Text
'-mt'         Text
'|'           Punctuation
'-mthreads'   Text
'|'           Punctuation
'-kthread'    Text
'|'           Punctuation
'-Kthread'    Text
'|'           Punctuation
'-pthread'    Text
'|'           Punctuation
'-pthreads'   Text
'|'           Punctuation
'--thread-safe' Text
')'           Operator
'\n\t'        Text
'compiler_flags' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$compiler_flags' Name.Variable
' '           Literal.String.Double
'$arg'        Name.Variable
'"'           Literal.String.Double
'\n\t'        Text
'compile_command' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$compile_command' Name.Variable
' '           Literal.String.Double
'$arg'        Name.Variable
'"'           Literal.String.Double
'\n\t'        Text
'finalize_command' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$finalize_command' Name.Variable
' '           Literal.String.Double
'$arg'        Name.Variable
'"'           Literal.String.Double
'\n\t'        Text
'continue'    Keyword
'\n\t'        Text
';'           Punctuation
';'           Punctuation
'\n\n      '  Text
'-module'     Text
')'           Operator
'\n\t'        Text
'module'      Name.Variable
'='           Operator
'yes'         Text
'\n\t'        Text
'continue'    Keyword
'\n\t'        Text
';'           Punctuation
';'           Punctuation
'\n\n      '  Text
'# -64, -mips[0-9] enable 64-bit mode on the SGI compiler\n' Comment.Single

'      '      Text
'# -r[0-9][0-9]* specifies the processor on the SGI compiler\n' Comment.Single

'      '      Text
'# -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler\n' Comment.Single

'      '      Text
'# +DA*, +DD* enable 64-bit mode on the HP compiler\n' Comment.Single

'      '      Text
'# -q* pass through compiler args for the IBM compiler\n' Comment.Single

'      '      Text
'# -m* pass through architecture-specific compiler args for GCC\n' Comment.Single

'      '      Text
'# -m*, -t[45]*, -txscale* pass through architecture-specific\n' Comment.Single

'      '      Text
'# compiler args for GCC\n' Comment.Single

'      '      Text
'# -pg pass through profiling flag for GCC\n' Comment.Single

'      '      Text
'# @file GCC response files\n' Comment.Single

'      '      Text
'-64'         Text
'|'           Punctuation
'-mips'       Text
'['           Operator
'0'           Literal.Number
'-9'          Text
']'           Operator
'|'           Punctuation
'-r'          Text
'['           Operator
'0'           Literal.Number
'-9'          Text
']'           Operator
'['           Operator
'0'           Literal.Number
'-9'          Text
']'           Operator
'*'           Text
'|'           Punctuation
'-xarch'      Text
'='           Operator
'*'           Text
'|'           Punctuation
'-xtarget'    Text
'='           Operator
'*'           Text
'|'           Punctuation
'+DA*'        Text
'|'           Punctuation
'+DD*'        Text
'|'           Punctuation
'-q*'         Text
'|'           Punctuation
'-m*'         Text
'|'           Punctuation
'-pg'         Text
'|'           Punctuation
' '           Text
'\\\n'        Literal.String.Escape

'      '      Text
'-t'          Text
'['           Operator
'45'          Literal.Number
']'           Operator
'*'           Text
'|'           Punctuation
'-txscale*'   Text
'|'           Punctuation
'@*'          Text
')'           Operator
'\n\n\t'      Text
'# Unknown arguments in both finalize_command and compile_command need\n' Comment.Single

'\t'          Text
'# to be aesthetically quoted because they are evaled later.\n' Comment.Single

'\t'          Text
'arg'         Name.Variable
'='           Operator
'`'           Literal.String.Backtick
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$arg'        Name.Variable
'"'           Literal.String.Double
' '           Text
'|'           Punctuation
' '           Text
'$Xsed'       Name.Variable
' '           Text
'-e'          Text
' '           Text
'"'           Literal.String.Double
'$sed_quote_subst' Name.Variable
'"'           Literal.String.Double
'`'           Literal.String.Backtick
'\n\t'        Text
'case'        Keyword
' '           Text
'$arg'        Name.Variable
' '           Text
'in'          Keyword
'\n\t'        Text
'*'           Text
'['           Operator
'\\['         Literal.String.Escape
'\\~'         Literal.String.Escape
'\\#'         Literal.String.Escape
'\\^'         Literal.String.Escape
'\\&'         Literal.String.Escape
'\\*'         Literal.String.Escape
'\\('         Literal.String.Escape
'\\)'         Literal.String.Escape
'\\{'         Literal.String.Escape
'\\}'         Literal.String.Escape
'\\|'         Literal.String.Escape
'\\;'         Literal.String.Escape
'\\<'         Literal.String.Escape
'\\>'         Literal.String.Escape
'\\?'         Literal.String.Escape
"\\'"         Literal.String.Escape
'\\ '         Literal.String.Escape
'\\\t'        Literal.String.Escape
']'           Operator
'*'           Text
'|'           Punctuation
'*'           Text
']'           Operator
'*'           Text
'|'           Punctuation
'""'          Literal.String.Double
')'           Operator
'\n\t  '      Text
'arg'         Name.Variable
'='           Operator
'"'           Literal.String.Double
'\\"'         Literal.String.Double
'$arg'        Name.Variable
'\\"'         Literal.String.Double
'"'           Literal.String.Double
'\n\t  '      Text
';'           Punctuation
';'           Punctuation
'\n\t'        Text
'esac'        Keyword
'\n        '  Text
'compile_command' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$compile_command' Name.Variable
' '           Literal.String.Double
'$arg'        Name.Variable
'"'           Literal.String.Double
'\n        '  Text
'finalize_command' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$finalize_command' Name.Variable
' '           Literal.String.Double
'$arg'        Name.Variable
'"'           Literal.String.Double
'\n        '  Text
'compiler_flags' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$compiler_flags' Name.Variable
' '           Literal.String.Double
'$arg'        Name.Variable
'"'           Literal.String.Double
'\n        '  Text
'continue'    Keyword
'\n        '  Text
';'           Punctuation
';'           Punctuation
'\n\n      '  Text
'-shrext'     Text
')'           Operator
'\n\t'        Text
'prev'        Name.Variable
'='           Operator
'shrext'      Text
'\n\t'        Text
'continue'    Keyword
'\n\t'        Text
';'           Punctuation
';'           Punctuation
'\n\n      '  Text
'-no-fast-install' Text
')'           Operator
'\n\t'        Text
'fast_install' Name.Variable
'='           Operator
'no'          Text
'\n\t'        Text
'continue'    Keyword
'\n\t'        Text
';'           Punctuation
';'           Punctuation
'\n\n      '  Text
'-no-install' Text
')'           Operator
'\n\t'        Text
'case'        Keyword
' '           Text
'$host'       Name.Variable
' '           Text
'in'          Keyword
'\n\t'        Text
'*-*-cygwin*' Text
' '           Text
'|'           Punctuation
' '           Text
'*-*-mingw*'  Text
' '           Text
'|'           Punctuation
' '           Text
'*-*-pw32*'   Text
' '           Text
'|'           Punctuation
' '           Text
'*-*-os2*'    Text
')'           Operator
'\n\t  '      Text
'# The PATH hackery in wrapper scripts is required on Windows\n' Comment.Single

'\t  '        Text
'# in order for the loader to find any dlls it needs.\n' Comment.Single

'\t  '        Text
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'$modename'   Name.Variable
": warning: \\`-no-install' is ignored for " Literal.String.Double
'$host'       Name.Variable
'"'           Literal.String.Double
' '           Text
'1'           Literal.Number
'>'           Text
'&'           Punctuation
'2'           Literal.Number
'\n\t  '      Text
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'$modename'   Name.Variable
": warning: assuming \\`-no-fast-install' instead" Literal.String.Double
'"'           Literal.String.Double
' '           Text
'1'           Literal.Number
'>'           Text
'&'           Punctuation
'2'           Literal.Number
'\n\t  '      Text
'fast_install' Name.Variable
'='           Operator
'no'          Text
'\n\t  '      Text
';'           Punctuation
';'           Punctuation
'\n\t'        Text
'*'           Text
')'           Operator
' '           Text
'no_install'  Name.Variable
'='           Operator
'yes'         Text
' '           Text
';'           Punctuation
';'           Punctuation
'\n\t'        Text
'esac'        Keyword
'\n\t'        Text
'continue'    Keyword
'\n\t'        Text
';'           Punctuation
';'           Punctuation
'\n\n      '  Text
'-no-undefined' Text
')'           Operator
'\n\t'        Text
'allow_undefined' Name.Variable
'='           Operator
'no'          Text
'\n\t'        Text
'continue'    Keyword
'\n\t'        Text
';'           Punctuation
';'           Punctuation
'\n\n      '  Text
'-objectlist' Text
')'           Operator
'\n\t'        Text
'prev'        Name.Variable
'='           Operator
'objectlist'  Text
'\n\t'        Text
'continue'    Keyword
'\n\t'        Text
';'           Punctuation
';'           Punctuation
'\n\n      '  Text
'-o'          Text
')'           Operator
' '           Text
'prev'        Name.Variable
'='           Operator
'output'      Text
' '           Text
';'           Punctuation
';'           Punctuation
'\n\n      '  Text
'-precious-files-regex' Text
')'           Operator
'\n\t'        Text
'prev'        Name.Variable
'='           Operator
'precious_regex' Text
'\n\t'        Text
'continue'    Keyword
'\n\t'        Text
';'           Punctuation
';'           Punctuation
'\n\n      '  Text
'-release'    Text
')'           Operator
'\n\t'        Text
'prev'        Name.Variable
'='           Operator
'release'     Text
'\n\t'        Text
'continue'    Keyword
'\n\t'        Text
';'           Punctuation
';'           Punctuation
'\n\n      '  Text
'-rpath'      Text
')'           Operator
'\n\t'        Text
'prev'        Name.Variable
'='           Operator
'rpath'       Text
'\n\t'        Text
'continue'    Keyword
'\n\t'        Text
';'           Punctuation
';'           Punctuation
'\n\n      '  Text
'-R'          Text
')'           Operator
'\n\t'        Text
'prev'        Name.Variable
'='           Operator
'xrpath'      Text
'\n\t'        Text
'continue'    Keyword
'\n\t'        Text
';'           Punctuation
';'           Punctuation
'\n\n      '  Text
'-R*'         Text
')'           Operator
'\n\t'        Text
'dir'         Name.Variable
'='           Operator
'`'           Literal.String.Backtick
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$arg'        Name.Variable
'"'           Literal.String.Double
' '           Text
'|'           Punctuation
' '           Text
'$Xsed'       Name.Variable
' '           Text
'-e'          Text
' '           Text
"'s/^-R//'"   Literal.String.Single
'`'           Literal.String.Backtick
'\n\t'        Text
'# We need an absolute path.\n' Comment.Single

'\t'          Text
'case'        Keyword
' '           Text
'$dir'        Name.Variable
' '           Text
'in'          Keyword
'\n\t'        Text
'['           Operator
'\\\\'        Literal.String.Escape
'/'           Text
']'           Operator
'*'           Text
' '           Text
'|'           Punctuation
' '           Text
'['           Operator
'A-Za-z'      Text
']'           Operator
':'           Text
'['           Operator
'\\\\'        Literal.String.Escape
'/'           Text
']'           Operator
'*'           Text
')'           Operator
' '           Text
';'           Punctuation
';'           Punctuation
'\n\t'        Text
'*'           Text
')'           Operator
'\n\t  '      Text
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'$modename'   Name.Variable
': only absolute run-paths are allowed' Literal.String.Double
'"'           Literal.String.Double
' '           Text
'1'           Literal.Number
'>'           Text
'&'           Punctuation
'2'           Literal.Number
'\n\t  '      Text
'exit'        Name.Builtin
' '           Text
'$EXIT_FAILURE' Name.Variable
'\n\t  '      Text
';'           Punctuation
';'           Punctuation
'\n\t'        Text
'esac'        Keyword
'\n\t'        Text
'case'        Keyword
' '           Text
'"'           Literal.String.Double
'$xrpath'     Name.Variable
' '           Literal.String.Double
'"'           Literal.String.Double
' '           Text
'in'          Keyword
'\n\t'        Text
'*'           Text
'"'           Literal.String.Double
' '           Literal.String.Double
'$dir'        Name.Variable
' '           Literal.String.Double
'"'           Literal.String.Double
'*'           Text
')'           Operator
' '           Text
';'           Punctuation
';'           Punctuation
'\n\t'        Text
'*'           Text
')'           Operator
' '           Text
'xrpath'      Name.Variable
'='           Operator
'"'           Literal.String.Double
'$xrpath'     Name.Variable
' '           Literal.String.Double
'$dir'        Name.Variable
'"'           Literal.String.Double
' '           Text
';'           Punctuation
';'           Punctuation
'\n\t'        Text
'esac'        Keyword
'\n\t'        Text
'continue'    Keyword
'\n\t'        Text
';'           Punctuation
';'           Punctuation
'\n\n      '  Text
'-static'     Text
')'           Operator
'\n\t'        Text
'# The effects of -static are defined in a previous loop.\n' Comment.Single

'\t'          Text
'# We used to do the same as -all-static on platforms that\n' Comment.Single

'\t'          Text
"# didn't have a PIC flag, but the assumption that the effects\n" Comment.Single

'\t'          Text
'# would be equivalent was wrong.  It would break on at least\n' Comment.Single

'\t'          Text
'# Digital Unix and AIX.\n' Comment.Single

'\t'          Text
'continue'    Keyword
'\n\t'        Text
';'           Punctuation
';'           Punctuation
'\n\n      '  Text
'-thread-safe' Text
')'           Operator
'\n\t'        Text
'thread_safe' Name.Variable
'='           Operator
'yes'         Text
'\n\t'        Text
'continue'    Keyword
'\n\t'        Text
';'           Punctuation
';'           Punctuation
'\n\n      '  Text
'-version-info' Text
')'           Operator
'\n\t'        Text
'prev'        Name.Variable
'='           Operator
'vinfo'       Text
'\n\t'        Text
'continue'    Keyword
'\n\t'        Text
';'           Punctuation
';'           Punctuation
'\n      '    Text
'-version-number' Text
')'           Operator
'\n\t'        Text
'prev'        Name.Variable
'='           Operator
'vinfo'       Text
'\n\t'        Text
'vinfo_number' Name.Variable
'='           Operator
'yes'         Text
'\n\t'        Text
'continue'    Keyword
'\n\t'        Text
';'           Punctuation
';'           Punctuation
'\n\n      '  Text
'-Wc,*'       Text
')'           Operator
'\n\t'        Text
'args'        Name.Variable
'='           Operator
'`'           Literal.String.Backtick
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$arg'        Name.Variable
'"'           Literal.String.Double
' '           Text
'|'           Punctuation
' '           Text
'$Xsed'       Name.Variable
' '           Text
'-e'          Text
' '           Text
'"'           Literal.String.Double
'$sed_quote_subst' Name.Variable
'"'           Literal.String.Double
' '           Text
'-e'          Text
' '           Text
"'s/^-Wc,//'" Literal.String.Single
'`'           Literal.String.Backtick
'\n\t'        Text
'arg'         Name.Variable
'='           Operator
'\n\t'        Text
'save_ifs'    Name.Variable
'='           Operator
'"'           Literal.String.Double
'$IFS'        Name.Variable
'"'           Literal.String.Double
';'           Punctuation
' '           Text
'IFS'         Name.Variable
'='           Operator
"','"         Literal.String.Single
'\n\t'        Text
'for'         Keyword
' '           Text
'flag'        Text
' '           Text
'in'          Keyword
' '           Text
'$args'       Name.Variable
';'           Punctuation
' '           Text
'do'          Keyword
'\n\t  '      Text
'IFS'         Name.Variable
'='           Operator
'"'           Literal.String.Double
'$save_ifs'   Name.Variable
'"'           Literal.String.Double
'\n\t  '      Text
'case'        Keyword
' '           Text
'$flag'       Name.Variable
' '           Text
'in'          Keyword
'\n\t    '    Text
'*'           Text
'['           Operator
'\\['         Literal.String.Escape
'\\~'         Literal.String.Escape
'\\#'         Literal.String.Escape
'\\^'         Literal.String.Escape
'\\&'         Literal.String.Escape
'\\*'         Literal.String.Escape
'\\('         Literal.String.Escape
'\\)'         Literal.String.Escape
'\\{'         Literal.String.Escape
'\\}'         Literal.String.Escape
'\\|'         Literal.String.Escape
'\\;'         Literal.String.Escape
'\\<'         Literal.String.Escape
'\\>'         Literal.String.Escape
'\\?'         Literal.String.Escape
"\\'"         Literal.String.Escape
'\\ '         Literal.String.Escape
'\\\t'        Literal.String.Escape
']'           Operator
'*'           Text
'|'           Punctuation
'*'           Text
']'           Operator
'*'           Text
'|'           Punctuation
'""'          Literal.String.Double
')'           Operator
'\n\t    '    Text
'flag'        Name.Variable
'='           Operator
'"'           Literal.String.Double
'\\"'         Literal.String.Double
'$flag'       Name.Variable
'\\"'         Literal.String.Double
'"'           Literal.String.Double
'\n\t    '    Text
';'           Punctuation
';'           Punctuation
'\n\t  '      Text
'esac'        Keyword
'\n\t  '      Text
'arg'         Name.Variable
'='           Operator
'"'           Literal.String.Double
'$arg'        Name.Variable
' '           Literal.String.Double
'$wl'         Name.Variable
'$flag'       Name.Variable
'"'           Literal.String.Double
'\n\t  '      Text
'compiler_flags' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$compiler_flags' Name.Variable
' '           Literal.String.Double
'$flag'       Name.Variable
'"'           Literal.String.Double
'\n\t'        Text
'done'        Keyword
'\n\t'        Text
'IFS'         Name.Variable
'='           Operator
'"'           Literal.String.Double
'$save_ifs'   Name.Variable
'"'           Literal.String.Double
'\n\t'        Text
'arg'         Name.Variable
'='           Operator
'`'           Literal.String.Backtick
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$arg'        Name.Variable
'"'           Literal.String.Double
' '           Text
'|'           Punctuation
' '           Text
'$Xsed'       Name.Variable
' '           Text
'-e'          Text
' '           Text
'"s/^ //"'    Literal.String.Double
'`'           Literal.String.Backtick
'\n\t'        Text
';'           Punctuation
';'           Punctuation
'\n\n      '  Text
'-Wl,*'       Text
')'           Operator
'\n\t'        Text
'args'        Name.Variable
'='           Operator
'`'           Literal.String.Backtick
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$arg'        Name.Variable
'"'           Literal.String.Double
' '           Text
'|'           Punctuation
' '           Text
'$Xsed'       Name.Variable
' '           Text
'-e'          Text
' '           Text
'"'           Literal.String.Double
'$sed_quote_subst' Name.Variable
'"'           Literal.String.Double
' '           Text
'-e'          Text
' '           Text
"'s/^-Wl,//'" Literal.String.Single
'`'           Literal.String.Backtick
'\n\t'        Text
'arg'         Name.Variable
'='           Operator
'\n\t'        Text
'save_ifs'    Name.Variable
'='           Operator
'"'           Literal.String.Double
'$IFS'        Name.Variable
'"'           Literal.String.Double
';'           Punctuation
' '           Text
'IFS'         Name.Variable
'='           Operator
"','"         Literal.String.Single
'\n\t'        Text
'for'         Keyword
' '           Text
'flag'        Text
' '           Text
'in'          Keyword
' '           Text
'$args'       Name.Variable
';'           Punctuation
' '           Text
'do'          Keyword
'\n\t  '      Text
'IFS'         Name.Variable
'='           Operator
'"'           Literal.String.Double
'$save_ifs'   Name.Variable
'"'           Literal.String.Double
'\n\t  '      Text
'case'        Keyword
' '           Text
'$flag'       Name.Variable
' '           Text
'in'          Keyword
'\n\t    '    Text
'*'           Text
'['           Operator
'\\['         Literal.String.Escape
'\\~'         Literal.String.Escape
'\\#'         Literal.String.Escape
'\\^'         Literal.String.Escape
'\\&'         Literal.String.Escape
'\\*'         Literal.String.Escape
'\\('         Literal.String.Escape
'\\)'         Literal.String.Escape
'\\{'         Literal.String.Escape
'\\}'         Literal.String.Escape
'\\|'         Literal.String.Escape
'\\;'         Literal.String.Escape
'\\<'         Literal.String.Escape
'\\>'         Literal.String.Escape
'\\?'         Literal.String.Escape
"\\'"         Literal.String.Escape
'\\ '         Literal.String.Escape
'\\\t'        Literal.String.Escape
']'           Operator
'*'           Text
'|'           Punctuation
'*'           Text
']'           Operator
'*'           Text
'|'           Punctuation
'""'          Literal.String.Double
')'           Operator
'\n\t    '    Text
'flag'        Name.Variable
'='           Operator
'"'           Literal.String.Double
'\\"'         Literal.String.Double
'$flag'       Name.Variable
'\\"'         Literal.String.Double
'"'           Literal.String.Double
'\n\t    '    Text
';'           Punctuation
';'           Punctuation
'\n\t  '      Text
'esac'        Keyword
'\n\t  '      Text
'arg'         Name.Variable
'='           Operator
'"'           Literal.String.Double
'$arg'        Name.Variable
' '           Literal.String.Double
'$wl'         Name.Variable
'$flag'       Name.Variable
'"'           Literal.String.Double
'\n\t  '      Text
'compiler_flags' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$compiler_flags' Name.Variable
' '           Literal.String.Double
'$wl'         Name.Variable
'$flag'       Name.Variable
'"'           Literal.String.Double
'\n\t  '      Text
'linker_flags' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$linker_flags' Name.Variable
' '           Literal.String.Double
'$flag'       Name.Variable
'"'           Literal.String.Double
'\n\t'        Text
'done'        Keyword
'\n\t'        Text
'IFS'         Name.Variable
'='           Operator
'"'           Literal.String.Double
'$save_ifs'   Name.Variable
'"'           Literal.String.Double
'\n\t'        Text
'arg'         Name.Variable
'='           Operator
'`'           Literal.String.Backtick
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$arg'        Name.Variable
'"'           Literal.String.Double
' '           Text
'|'           Punctuation
' '           Text
'$Xsed'       Name.Variable
' '           Text
'-e'          Text
' '           Text
'"s/^ //"'    Literal.String.Double
'`'           Literal.String.Backtick
'\n\t'        Text
';'           Punctuation
';'           Punctuation
'\n\n      '  Text
'-Xcompiler'  Text
')'           Operator
'\n\t'        Text
'prev'        Name.Variable
'='           Operator
'xcompiler'   Text
'\n\t'        Text
'continue'    Keyword
'\n\t'        Text
';'           Punctuation
';'           Punctuation
'\n\n      '  Text
'-Xlinker'    Text
')'           Operator
'\n\t'        Text
'prev'        Name.Variable
'='           Operator
'xlinker'     Text
'\n\t'        Text
'continue'    Keyword
'\n\t'        Text
';'           Punctuation
';'           Punctuation
'\n\n      '  Text
'-XCClinker'  Text
')'           Operator
'\n\t'        Text
'prev'        Name.Variable
'='           Operator
'xcclinker'   Text
'\n\t'        Text
'continue'    Keyword
'\n\t'        Text
';'           Punctuation
';'           Punctuation
'\n\n      '  Text
'# Some other compiler flag.\n' Comment.Single

'      '      Text
'-*'          Text
' '           Text
'|'           Punctuation
' '           Text
'+*'          Text
')'           Operator
'\n\t'        Text
'# Unknown arguments in both finalize_command and compile_command need\n' Comment.Single

'\t'          Text
'# to be aesthetically quoted because they are evaled later.\n' Comment.Single

'\t'          Text
'arg'         Name.Variable
'='           Operator
'`'           Literal.String.Backtick
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$arg'        Name.Variable
'"'           Literal.String.Double
' '           Text
'|'           Punctuation
' '           Text
'$Xsed'       Name.Variable
' '           Text
'-e'          Text
' '           Text
'"'           Literal.String.Double
'$sed_quote_subst' Name.Variable
'"'           Literal.String.Double
'`'           Literal.String.Backtick
'\n\t'        Text
'case'        Keyword
' '           Text
'$arg'        Name.Variable
' '           Text
'in'          Keyword
'\n\t'        Text
'*'           Text
'['           Operator
'\\['         Literal.String.Escape
'\\~'         Literal.String.Escape
'\\#'         Literal.String.Escape
'\\^'         Literal.String.Escape
'\\&'         Literal.String.Escape
'\\*'         Literal.String.Escape
'\\('         Literal.String.Escape
'\\)'         Literal.String.Escape
'\\{'         Literal.String.Escape
'\\}'         Literal.String.Escape
'\\|'         Literal.String.Escape
'\\;'         Literal.String.Escape
'\\<'         Literal.String.Escape
'\\>'         Literal.String.Escape
'\\?'         Literal.String.Escape
"\\'"         Literal.String.Escape
'\\ '         Literal.String.Escape
'\\\t'        Literal.String.Escape
']'           Operator
'*'           Text
'|'           Punctuation
'*'           Text
']'           Operator
'*'           Text
'|'           Punctuation
'""'          Literal.String.Double
')'           Operator
'\n\t  '      Text
'arg'         Name.Variable
'='           Operator
'"'           Literal.String.Double
'\\"'         Literal.String.Double
'$arg'        Name.Variable
'\\"'         Literal.String.Double
'"'           Literal.String.Double
'\n\t  '      Text
';'           Punctuation
';'           Punctuation
'\n\t'        Text
'esac'        Keyword
'\n\t'        Text
';'           Punctuation
';'           Punctuation
'\n\n      '  Text
'*.'          Text
'$objext'     Name.Variable
')'           Operator
'\n\t'        Text
'# A standard object.\n' Comment.Single

'\t'          Text
'objs'        Name.Variable
'='           Operator
'"'           Literal.String.Double
'$objs'       Name.Variable
' '           Literal.String.Double
'$arg'        Name.Variable
'"'           Literal.String.Double
'\n\t'        Text
';'           Punctuation
';'           Punctuation
'\n\n      '  Text
'*.lo'        Text
')'           Operator
'\n\t'        Text
'# A libtool-controlled object.\n' Comment.Single

'\n\t'        Text
'# Check to see that this really is a libtool object.\n' Comment.Single

'\t'          Text
'if'          Keyword
' '           Text
'('           Operator
'${'          Literal.String.Interpol
'SED'         Name.Variable
'}'           Literal.String.Interpol
' '           Text
'-e'          Text
' '           Text
"'2q'"        Literal.String.Single
' '           Text
'$arg'        Name.Variable
' '           Text
'|'           Punctuation
' '           Text
'grep'        Text
' '           Text
'"'           Literal.String.Double
'^# Generated by .*' Literal.String.Double
'$PACKAGE'    Name.Variable
'"'           Literal.String.Double
')'           Operator
' '           Text
'>/dev/null'  Text
' '           Text
'2'           Literal.Number
'>'           Text
'&'           Punctuation
'1'           Literal.Number
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t  '      Text
'pic_object'  Name.Variable
'='           Operator
'\n\t  '      Text
'non_pic_object' Name.Variable
'='           Operator
'\n\n\t  '    Text
'# Read the .lo file\n' Comment.Single

'\t  '        Text
'# If there is no directory component, then add one.\n' Comment.Single

'\t  '        Text
'case'        Keyword
' '           Text
'$arg'        Name.Variable
' '           Text
'in'          Keyword
'\n\t  '      Text
'*/*'         Text
' '           Text
'|'           Punctuation
' '           Text
'*'           Text
'\\\\'        Literal.String.Escape
'*'           Text
')'           Operator
' '           Text
'.'           Text
' '           Text
'$arg'        Name.Variable
' '           Text
';'           Punctuation
';'           Punctuation
'\n\t  '      Text
'*'           Text
')'           Operator
' '           Text
'.'           Text
' '           Text
'./'          Text
'$arg'        Name.Variable
' '           Text
';'           Punctuation
';'           Punctuation
'\n\t  '      Text
'esac'        Keyword
'\n\n\t  '    Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'-z'          Text
' '           Text
'"'           Literal.String.Double
'$pic_object' Name.Variable
'"'           Literal.String.Double
' '           Text
'||'          Operator
' '           Text
'\\\n'        Literal.String.Escape

'\t     '     Text
'test'        Name.Builtin
' '           Text
'-z'          Text
' '           Text
'"'           Literal.String.Double
'$non_pic_object' Name.Variable
'"'           Literal.String.Double
' '           Text
'||'          Operator
'\n\t     '   Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$pic_object' Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'none'        Text
' '           Text
'&&'          Operator
' '           Text
'\\\n'        Literal.String.Escape

'\t     '     Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$non_pic_object' Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'none'        Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t    '    Text
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'$modename'   Name.Variable
': cannot find name of object for \\`' Literal.String.Double
'$arg'        Name.Variable
"'"           Literal.String.Double
'"'           Literal.String.Double
' '           Text
'1'           Literal.Number
'>'           Text
'&'           Punctuation
'2'           Literal.Number
'\n\t    '    Text
'exit'        Name.Builtin
' '           Text
'$EXIT_FAILURE' Name.Variable
'\n\t  '      Text
'fi'          Keyword
'\n\n\t  '    Text
'# Extract subdirectory from the argument.\n' Comment.Single

'\t  '        Text
'xdir'        Name.Variable
'='           Operator
'`'           Literal.String.Backtick
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$arg'        Name.Variable
'"'           Literal.String.Double
' '           Text
'|'           Punctuation
' '           Text
'$Xsed'       Name.Variable
' '           Text
'-e'          Text
' '           Text
"'s%/[^/]*$%%'" Literal.String.Single
'`'           Literal.String.Backtick
'\n\t  '      Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$xdir'       Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$arg'        Name.Variable
'"'           Literal.String.Double
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t    '    Text
'xdir'        Name.Variable
'='           Operator
'\n \t  '     Text
'else'        Keyword
'\n\t    '    Text
'xdir'        Name.Variable
'='           Operator
'"'           Literal.String.Double
'$xdir'       Name.Variable
'/'           Literal.String.Double
'"'           Literal.String.Double
'\n\t  '      Text
'fi'          Keyword
'\n\n\t  '    Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$pic_object' Name.Variable
'"'           Literal.String.Double
' '           Text
'!'           Text
'='           Operator
' '           Text
'none'        Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t    '    Text
'# Prepend the subdirectory the object is found in.\n' Comment.Single

'\t    '      Text
'pic_object'  Name.Variable
'='           Operator
'"'           Literal.String.Double
'$xdir'       Name.Variable
'$pic_object' Name.Variable
'"'           Literal.String.Double
'\n\n\t    '  Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$prev'       Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'dlfiles'     Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t      '  Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$build_libtool_libs' Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'yes'         Text
' '           Text
'&&'          Operator
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$dlopen_support' Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'yes'         Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t\t'      Text
'dlfiles'     Name.Variable
'='           Operator
'"'           Literal.String.Double
'$dlfiles'    Name.Variable
' '           Literal.String.Double
'$pic_object' Name.Variable
'"'           Literal.String.Double
'\n\t\t'      Text
'prev'        Name.Variable
'='           Operator
'\n\t\t'      Text
'continue'    Keyword
'\n\t      '  Text
'else'        Keyword
'\n\t\t'      Text
'# If libtool objects are unsupported, then we need to preload.\n' Comment.Single

'\t\t'        Text
'prev'        Name.Variable
'='           Operator
'dlprefiles'  Text
'\n\t      '  Text
'fi'          Keyword
'\n\t    '    Text
'fi'          Keyword
'\n\n\t    '  Text
'# CHECK ME:  I think I busted this.  -Ossama\n' Comment.Single

'\t    '      Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$prev'       Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'dlprefiles'  Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t      '  Text
'# Preload the old-style object.\n' Comment.Single

'\t      '    Text
'dlprefiles'  Name.Variable
'='           Operator
'"'           Literal.String.Double
'$dlprefiles' Name.Variable
' '           Literal.String.Double
'$pic_object' Name.Variable
'"'           Literal.String.Double
'\n\t      '  Text
'prev'        Name.Variable
'='           Operator
'\n\t    '    Text
'fi'          Keyword
'\n\n\t    '  Text
'# A PIC object.\n' Comment.Single

'\t    '      Text
'libobjs'     Name.Variable
'='           Operator
'"'           Literal.String.Double
'$libobjs'    Name.Variable
' '           Literal.String.Double
'$pic_object' Name.Variable
'"'           Literal.String.Double
'\n\t    '    Text
'arg'         Name.Variable
'='           Operator
'"'           Literal.String.Double
'$pic_object' Name.Variable
'"'           Literal.String.Double
'\n\t  '      Text
'fi'          Keyword
'\n\n\t  '    Text
'# Non-PIC object.\n' Comment.Single

'\t  '        Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$non_pic_object' Name.Variable
'"'           Literal.String.Double
' '           Text
'!'           Text
'='           Operator
' '           Text
'none'        Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t    '    Text
'# Prepend the subdirectory the object is found in.\n' Comment.Single

'\t    '      Text
'non_pic_object' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$xdir'       Name.Variable
'$non_pic_object' Name.Variable
'"'           Literal.String.Double
'\n\n\t    '  Text
'# A standard non-PIC object\n' Comment.Single

'\t    '      Text
'non_pic_objects' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$non_pic_objects' Name.Variable
' '           Literal.String.Double
'$non_pic_object' Name.Variable
'"'           Literal.String.Double
'\n\t    '    Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'-z'          Text
' '           Text
'"'           Literal.String.Double
'$pic_object' Name.Variable
'"'           Literal.String.Double
' '           Text
'||'          Operator
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$pic_object' Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'none'        Text
' '           Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t      '  Text
'arg'         Name.Variable
'='           Operator
'"'           Literal.String.Double
'$non_pic_object' Name.Variable
'"'           Literal.String.Double
'\n\t    '    Text
'fi'          Keyword
'\n\t  '      Text
'else'        Keyword
'\n\t    '    Text
'# If the PIC object exists, use it instead.\n' Comment.Single

'\t    '      Text
'# $xdir was prepended to $pic_object above.\n' Comment.Single

'\t    '      Text
'non_pic_object' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$pic_object' Name.Variable
'"'           Literal.String.Double
'\n\t    '    Text
'non_pic_objects' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$non_pic_objects' Name.Variable
' '           Literal.String.Double
'$non_pic_object' Name.Variable
'"'           Literal.String.Double
'\n\t  '      Text
'fi'          Keyword
'\n\t'        Text
'else'        Keyword
'\n\t  '      Text
'# Only an error if not doing a dry-run.\n' Comment.Single

'\t  '        Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'-z'          Text
' '           Text
'"'           Literal.String.Double
'$run'        Name.Variable
'"'           Literal.String.Double
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t    '    Text
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'$modename'   Name.Variable
': \\`'       Literal.String.Double
'$arg'        Name.Variable
"' is not a valid libtool object" Literal.String.Double
'"'           Literal.String.Double
' '           Text
'1'           Literal.Number
'>'           Text
'&'           Punctuation
'2'           Literal.Number
'\n\t    '    Text
'exit'        Name.Builtin
' '           Text
'$EXIT_FAILURE' Name.Variable
'\n\t  '      Text
'else'        Keyword
'\n\t    '    Text
'# Dry-run case.\n' Comment.Single

'\n\t    '    Text
'# Extract subdirectory from the argument.\n' Comment.Single

'\t    '      Text
'xdir'        Name.Variable
'='           Operator
'`'           Literal.String.Backtick
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$arg'        Name.Variable
'"'           Literal.String.Double
' '           Text
'|'           Punctuation
' '           Text
'$Xsed'       Name.Variable
' '           Text
'-e'          Text
' '           Text
"'s%/[^/]*$%%'" Literal.String.Single
'`'           Literal.String.Backtick
'\n\t    '    Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$xdir'       Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$arg'        Name.Variable
'"'           Literal.String.Double
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t      '  Text
'xdir'        Name.Variable
'='           Operator
'\n\t    '    Text
'else'        Keyword
'\n\t      '  Text
'xdir'        Name.Variable
'='           Operator
'"'           Literal.String.Double
'$xdir'       Name.Variable
'/'           Literal.String.Double
'"'           Literal.String.Double
'\n\t    '    Text
'fi'          Keyword
'\n\n\t    '  Text
'pic_object'  Name.Variable
'='           Operator
'`'           Literal.String.Backtick
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'${'          Literal.String.Interpol
'xdir'        Name.Variable
'}'           Literal.String.Interpol
'${'          Literal.String.Interpol
'objdir'      Name.Variable
'}'           Literal.String.Interpol
'/'           Literal.String.Double
'${'          Literal.String.Interpol
'arg'         Name.Variable
'}'           Literal.String.Interpol
'"'           Literal.String.Double
' '           Text
'|'           Punctuation
' '           Text
'$Xsed'       Name.Variable
' '           Text
'-e'          Text
' '           Text
'"'           Literal.String.Double
'$lo2o'       Name.Variable
'"'           Literal.String.Double
'`'           Literal.String.Backtick
'\n\t    '    Text
'non_pic_object' Name.Variable
'='           Operator
'`'           Literal.String.Backtick
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'${'          Literal.String.Interpol
'xdir'        Name.Variable
'}'           Literal.String.Interpol
'${'          Literal.String.Interpol
'arg'         Name.Variable
'}'           Literal.String.Interpol
'"'           Literal.String.Double
' '           Text
'|'           Punctuation
' '           Text
'$Xsed'       Name.Variable
' '           Text
'-e'          Text
' '           Text
'"'           Literal.String.Double
'$lo2o'       Name.Variable
'"'           Literal.String.Double
'`'           Literal.String.Backtick
'\n\t    '    Text
'libobjs'     Name.Variable
'='           Operator
'"'           Literal.String.Double
'$libobjs'    Name.Variable
' '           Literal.String.Double
'$pic_object' Name.Variable
'"'           Literal.String.Double
'\n\t    '    Text
'non_pic_objects' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$non_pic_objects' Name.Variable
' '           Literal.String.Double
'$non_pic_object' Name.Variable
'"'           Literal.String.Double
'\n\t  '      Text
'fi'          Keyword
'\n\t'        Text
'fi'          Keyword
'\n\t'        Text
';'           Punctuation
';'           Punctuation
'\n\n      '  Text
'*.'          Text
'$libext'     Name.Variable
')'           Operator
'\n\t'        Text
'# An archive.\n' Comment.Single

'\t'          Text
'deplibs'     Name.Variable
'='           Operator
'"'           Literal.String.Double
'$deplibs'    Name.Variable
' '           Literal.String.Double
'$arg'        Name.Variable
'"'           Literal.String.Double
'\n\t'        Text
'old_deplibs' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$old_deplibs' Name.Variable
' '           Literal.String.Double
'$arg'        Name.Variable
'"'           Literal.String.Double
'\n\t'        Text
'continue'    Keyword
'\n\t'        Text
';'           Punctuation
';'           Punctuation
'\n\n      '  Text
'*.la'        Text
')'           Operator
'\n\t'        Text
'# A libtool-controlled library.\n' Comment.Single

'\n\t'        Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$prev'       Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'dlfiles'     Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t  '      Text
'# This library was specified with -dlopen.\n' Comment.Single

'\t  '        Text
'dlfiles'     Name.Variable
'='           Operator
'"'           Literal.String.Double
'$dlfiles'    Name.Variable
' '           Literal.String.Double
'$arg'        Name.Variable
'"'           Literal.String.Double
'\n\t  '      Text
'prev'        Name.Variable
'='           Operator
'\n\t'        Text
'elif'        Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$prev'       Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'dlprefiles'  Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t  '      Text
'# The library was specified with -dlpreopen.\n' Comment.Single

'\t  '        Text
'dlprefiles'  Name.Variable
'='           Operator
'"'           Literal.String.Double
'$dlprefiles' Name.Variable
' '           Literal.String.Double
'$arg'        Name.Variable
'"'           Literal.String.Double
'\n\t  '      Text
'prev'        Name.Variable
'='           Operator
'\n\t'        Text
'else'        Keyword
'\n\t  '      Text
'deplibs'     Name.Variable
'='           Operator
'"'           Literal.String.Double
'$deplibs'    Name.Variable
' '           Literal.String.Double
'$arg'        Name.Variable
'"'           Literal.String.Double
'\n\t'        Text
'fi'          Keyword
'\n\t'        Text
'continue'    Keyword
'\n\t'        Text
';'           Punctuation
';'           Punctuation
'\n\n      '  Text
'# Some other compiler argument.\n' Comment.Single

'      '      Text
'*'           Text
')'           Operator
'\n\t'        Text
'# Unknown arguments in both finalize_command and compile_command need\n' Comment.Single

'\t'          Text
'# to be aesthetically quoted because they are evaled later.\n' Comment.Single

'\t'          Text
'arg'         Name.Variable
'='           Operator
'`'           Literal.String.Backtick
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$arg'        Name.Variable
'"'           Literal.String.Double
' '           Text
'|'           Punctuation
' '           Text
'$Xsed'       Name.Variable
' '           Text
'-e'          Text
' '           Text
'"'           Literal.String.Double
'$sed_quote_subst' Name.Variable
'"'           Literal.String.Double
'`'           Literal.String.Backtick
'\n\t'        Text
'case'        Keyword
' '           Text
'$arg'        Name.Variable
' '           Text
'in'          Keyword
'\n\t'        Text
'*'           Text
'['           Operator
'\\['         Literal.String.Escape
'\\~'         Literal.String.Escape
'\\#'         Literal.String.Escape
'\\^'         Literal.String.Escape
'\\&'         Literal.String.Escape
'\\*'         Literal.String.Escape
'\\('         Literal.String.Escape
'\\)'         Literal.String.Escape
'\\{'         Literal.String.Escape
'\\}'         Literal.String.Escape
'\\|'         Literal.String.Escape
'\\;'         Literal.String.Escape
'\\<'         Literal.String.Escape
'\\>'         Literal.String.Escape
'\\?'         Literal.String.Escape
"\\'"         Literal.String.Escape
'\\ '         Literal.String.Escape
'\\\t'        Literal.String.Escape
']'           Operator
'*'           Text
'|'           Punctuation
'*'           Text
']'           Operator
'*'           Text
'|'           Punctuation
'""'          Literal.String.Double
')'           Operator
'\n\t  '      Text
'arg'         Name.Variable
'='           Operator
'"'           Literal.String.Double
'\\"'         Literal.String.Double
'$arg'        Name.Variable
'\\"'         Literal.String.Double
'"'           Literal.String.Double
'\n\t  '      Text
';'           Punctuation
';'           Punctuation
'\n\t'        Text
'esac'        Keyword
'\n\t'        Text
';'           Punctuation
';'           Punctuation
'\n      '    Text
'esac'        Keyword
' '           Text
'# arg\n'     Comment.Single

'\n      '    Text
'# Now actually substitute the argument into the commands.\n' Comment.Single

'      '      Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'-n'          Text
' '           Text
'"'           Literal.String.Double
'$arg'        Name.Variable
'"'           Literal.String.Double
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t'        Text
'compile_command' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$compile_command' Name.Variable
' '           Literal.String.Double
'$arg'        Name.Variable
'"'           Literal.String.Double
'\n\t'        Text
'finalize_command' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$finalize_command' Name.Variable
' '           Literal.String.Double
'$arg'        Name.Variable
'"'           Literal.String.Double
'\n      '    Text
'fi'          Keyword
'\n    '      Text
'done'        Keyword
' '           Text
'# argument parsing loop\n' Comment.Single

'\n    '      Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'-n'          Text
' '           Text
'"'           Literal.String.Double
'$prev'       Name.Variable
'"'           Literal.String.Double
';'           Punctuation
' '           Text
'then'        Keyword
'\n      '    Text
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'$modename'   Name.Variable
': the \\`'   Literal.String.Double
'$prevarg'    Name.Variable
"' option requires an argument" Literal.String.Double
'"'           Literal.String.Double
' '           Text
'1'           Literal.Number
'>'           Text
'&'           Punctuation
'2'           Literal.Number
'\n      '    Text
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'$help'       Name.Variable
'"'           Literal.String.Double
' '           Text
'1'           Literal.Number
'>'           Text
'&'           Punctuation
'2'           Literal.Number
'\n      '    Text
'exit'        Name.Builtin
' '           Text
'$EXIT_FAILURE' Name.Variable
'\n    '      Text
'fi'          Keyword
'\n\n    '    Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$export_dynamic' Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'yes'         Text
' '           Text
'&&'          Operator
' '           Text
'test'        Name.Builtin
' '           Text
'-n'          Text
' '           Text
'"'           Literal.String.Double
'$export_dynamic_flag_spec' Name.Variable
'"'           Literal.String.Double
';'           Punctuation
' '           Text
'then'        Keyword
'\n      '    Text
'eval'        Name.Builtin
' '           Text
'arg'         Name.Variable
'='           Operator
'\\"'         Literal.String.Escape
'$export_dynamic_flag_spec' Name.Variable
'\\"'         Literal.String.Escape
'\n      '    Text
'compile_command' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$compile_command' Name.Variable
' '           Literal.String.Double
'$arg'        Name.Variable
'"'           Literal.String.Double
'\n      '    Text
'finalize_command' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$finalize_command' Name.Variable
' '           Literal.String.Double
'$arg'        Name.Variable
'"'           Literal.String.Double
'\n    '      Text
'fi'          Keyword
'\n\n    '    Text
'oldlibs'     Name.Variable
'='           Operator
'\n    '      Text
'# calculate the name of the file, without its directory\n' Comment.Single

'    '        Text
'outputname'  Name.Variable
'='           Operator
'`'           Literal.String.Backtick
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$output'     Name.Variable
'"'           Literal.String.Double
' '           Text
'|'           Punctuation
' '           Text
'$Xsed'       Name.Variable
' '           Text
'-e'          Text
' '           Text
"'s%^.*/%%'"  Literal.String.Single
'`'           Literal.String.Backtick
'\n    '      Text
'libobjs_save' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$libobjs'    Name.Variable
'"'           Literal.String.Double
'\n\n    '    Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'-n'          Text
' '           Text
'"'           Literal.String.Double
'$shlibpath_var' Name.Variable
'"'           Literal.String.Double
';'           Punctuation
' '           Text
'then'        Keyword
'\n      '    Text
'# get the directories listed in $shlibpath_var\n' Comment.Single

'      '      Text
'eval'        Name.Builtin
' '           Text
'shlib_search_path' Name.Variable
'='           Operator
'\\`'         Literal.String.Escape
'\\$'         Literal.String.Escape
'echo'        Name.Builtin
' '           Text
'\\"'         Literal.String.Escape
'X'           Text
'\\$'         Literal.String.Escape
'{'           Operator
'$shlibpath_var' Name.Variable
'}'           Operator
'\\"'         Literal.String.Escape
' '           Text
'\\|'         Literal.String.Escape
' '           Text
'\\$'         Literal.String.Escape
'Xsed'        Text
' '           Text
'-e'          Text
' '           Text
"\\'"         Literal.String.Escape
's/:/'        Text
' '           Text
'/g'          Text
"\\'"         Literal.String.Escape
'\\`'         Literal.String.Escape
'\n    '      Text
'else'        Keyword
'\n      '    Text
'shlib_search_path' Name.Variable
'='           Operator
'\n    '      Text
'fi'          Keyword
'\n    '      Text
'eval'        Name.Builtin
' '           Text
'sys_lib_search_path' Name.Variable
'='           Operator
'\\"'         Literal.String.Escape
'$sys_lib_search_path_spec' Name.Variable
'\\"'         Literal.String.Escape
'\n    '      Text
'eval'        Name.Builtin
' '           Text
'sys_lib_dlsearch_path' Name.Variable
'='           Operator
'\\"'         Literal.String.Escape
'$sys_lib_dlsearch_path_spec' Name.Variable
'\\"'         Literal.String.Escape
'\n\n    '    Text
'output_objdir' Name.Variable
'='           Operator
'`'           Literal.String.Backtick
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$output'     Name.Variable
'"'           Literal.String.Double
' '           Text
'|'           Punctuation
' '           Text
'$Xsed'       Name.Variable
' '           Text
'-e'          Text
' '           Text
"'s%/[^/]*$%%'" Literal.String.Single
'`'           Literal.String.Backtick
'\n    '      Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$output_objdir' Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$output'     Name.Variable
'"'           Literal.String.Double
';'           Punctuation
' '           Text
'then'        Keyword
'\n      '    Text
'output_objdir' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$objdir'     Name.Variable
'"'           Literal.String.Double
'\n    '      Text
'else'        Keyword
'\n      '    Text
'output_objdir' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$output_objdir' Name.Variable
'/'           Literal.String.Double
'$objdir'     Name.Variable
'"'           Literal.String.Double
'\n    '      Text
'fi'          Keyword
'\n    '      Text
'# Create the object directory.\n' Comment.Single

'    '        Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'!'           Text
' '           Text
'-d'          Text
' '           Text
'"'           Literal.String.Double
'$output_objdir' Name.Variable
'"'           Literal.String.Double
';'           Punctuation
' '           Text
'then'        Keyword
'\n      '    Text
'$show'       Name.Variable
' '           Text
'"'           Literal.String.Double
'$mkdir'      Name.Variable
' '           Literal.String.Double
'$output_objdir' Name.Variable
'"'           Literal.String.Double
'\n      '    Text
'$run'        Name.Variable
' '           Text
'$mkdir'      Name.Variable
' '           Text
'$output_objdir' Name.Variable
'\n      '    Text
'exit_status' Name.Variable
'='           Operator
'$?'          Name.Variable
'\n      '    Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$exit_status' Name.Variable
'"'           Literal.String.Double
' '           Text
'-ne'         Text
' '           Text
'0'           Literal.Number
' '           Text
'&&'          Operator
' '           Text
'test'        Name.Builtin
' '           Text
'!'           Text
' '           Text
'-d'          Text
' '           Text
'"'           Literal.String.Double
'$output_objdir' Name.Variable
'"'           Literal.String.Double
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t'        Text
'exit'        Name.Builtin
' '           Text
'$exit_status' Name.Variable
'\n      '    Text
'fi'          Keyword
'\n    '      Text
'fi'          Keyword
'\n\n    '    Text
'# Determine the type of output\n' Comment.Single

'    '        Text
'case'        Keyword
' '           Text
'$output'     Name.Variable
' '           Text
'in'          Keyword
'\n    '      Text
'""'          Literal.String.Double
')'           Operator
'\n      '    Text
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'$modename'   Name.Variable
': you must specify an output file' Literal.String.Double
'"'           Literal.String.Double
' '           Text
'1'           Literal.Number
'>'           Text
'&'           Punctuation
'2'           Literal.Number
'\n      '    Text
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'$help'       Name.Variable
'"'           Literal.String.Double
' '           Text
'1'           Literal.Number
'>'           Text
'&'           Punctuation
'2'           Literal.Number
'\n      '    Text
'exit'        Name.Builtin
' '           Text
'$EXIT_FAILURE' Name.Variable
'\n      '    Text
';'           Punctuation
';'           Punctuation
'\n    '      Text
'*.'          Text
'$libext'     Name.Variable
')'           Operator
' '           Text
'linkmode'    Name.Variable
'='           Operator
'oldlib'      Text
' '           Text
';'           Punctuation
';'           Punctuation
'\n    '      Text
'*.lo'        Text
' '           Text
'|'           Punctuation
' '           Text
'*.'          Text
'$objext'     Name.Variable
')'           Operator
' '           Text
'linkmode'    Name.Variable
'='           Operator
'obj'         Text
' '           Text
';'           Punctuation
';'           Punctuation
'\n    '      Text
'*.la'        Text
')'           Operator
' '           Text
'linkmode'    Name.Variable
'='           Operator
'lib'         Text
' '           Text
';'           Punctuation
';'           Punctuation
'\n    '      Text
'*'           Text
')'           Operator
' '           Text
'linkmode'    Name.Variable
'='           Operator
'prog'        Text
' '           Text
';'           Punctuation
';'           Punctuation
' '           Text
'# Anything else should be a program.\n' Comment.Single

'    '        Text
'esac'        Keyword
'\n\n    '    Text
'case'        Keyword
' '           Text
'$host'       Name.Variable
' '           Text
'in'          Keyword
'\n    '      Text
'*cygwin*'    Text
' '           Text
'|'           Punctuation
' '           Text
'*mingw*'     Text
' '           Text
'|'           Punctuation
' '           Text
'*pw32*'      Text
')'           Operator
'\n      '    Text
"# don't eliminate duplications in $postdeps and $predeps\n" Comment.Single

'      '      Text
'duplicate_compiler_generated_deps' Name.Variable
'='           Operator
'yes'         Text
'\n      '    Text
';'           Punctuation
';'           Punctuation
'\n    '      Text
'*'           Text
')'           Operator
'\n      '    Text
'duplicate_compiler_generated_deps' Name.Variable
'='           Operator
'$duplicate_deps' Name.Variable
'\n      '    Text
';'           Punctuation
';'           Punctuation
'\n    '      Text
'esac'        Keyword
'\n    '      Text
'specialdeplibs' Name.Variable
'='           Operator
'\n\n    '    Text
'libs'        Name.Variable
'='           Operator
'\n    '      Text
'# Find all interdependent deplibs by searching for libraries\n' Comment.Single

'    '        Text
'# that are linked more than once (e.g. -la -lb -la)\n' Comment.Single

'    '        Text
'for'         Keyword
' '           Text
'deplib'      Text
' '           Text
'in'          Keyword
' '           Text
'$deplibs'    Name.Variable
';'           Punctuation
' '           Text
'do'          Keyword
'\n      '    Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$duplicate_deps' Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'"Xyes"'      Literal.String.Double
' '           Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t'        Text
'case'        Keyword
' '           Text
'"'           Literal.String.Double
'$libs'       Name.Variable
' '           Literal.String.Double
'"'           Literal.String.Double
' '           Text
'in'          Keyword
'\n\t'        Text
'*'           Text
'"'           Literal.String.Double
' '           Literal.String.Double
'$deplib'     Name.Variable
' '           Literal.String.Double
'"'           Literal.String.Double
'*'           Text
')'           Operator
' '           Text
'specialdeplibs' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$specialdeplibs' Name.Variable
' '           Literal.String.Double
'$deplib'     Name.Variable
'"'           Literal.String.Double
' '           Text
';'           Punctuation
';'           Punctuation
'\n\t'        Text
'esac'        Keyword
'\n      '    Text
'fi'          Keyword
'\n      '    Text
'libs'        Name.Variable
'='           Operator
'"'           Literal.String.Double
'$libs'       Name.Variable
' '           Literal.String.Double
'$deplib'     Name.Variable
'"'           Literal.String.Double
'\n    '      Text
'done'        Keyword
'\n\n    '    Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$linkmode'   Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'lib'         Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n      '    Text
'libs'        Name.Variable
'='           Operator
'"'           Literal.String.Double
'$predeps'    Name.Variable
' '           Literal.String.Double
'$libs'       Name.Variable
' '           Literal.String.Double
'$compiler_lib_search_path' Name.Variable
' '           Literal.String.Double
'$postdeps'   Name.Variable
'"'           Literal.String.Double
'\n\n      '  Text
'# Compute libraries that are listed more than once in $predeps\n' Comment.Single

'      '      Text
'# $postdeps and mark them as special (i.e., whose duplicates are\n' Comment.Single

'      '      Text
'# not to be eliminated).\n' Comment.Single

'      '      Text
'pre_post_deps' Name.Variable
'='           Operator
'\n      '    Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$duplicate_compiler_generated_deps' Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'"Xyes"'      Literal.String.Double
' '           Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t'        Text
'for'         Keyword
' '           Text
'pre_post_dep' Text
' '           Text
'in'          Keyword
' '           Text
'$predeps'    Name.Variable
' '           Text
'$postdeps'   Name.Variable
';'           Punctuation
' '           Text
'do'          Keyword
'\n\t  '      Text
'case'        Keyword
' '           Text
'"'           Literal.String.Double
'$pre_post_deps' Name.Variable
' '           Literal.String.Double
'"'           Literal.String.Double
' '           Text
'in'          Keyword
'\n\t  '      Text
'*'           Text
'"'           Literal.String.Double
' '           Literal.String.Double
'$pre_post_dep' Name.Variable
' '           Literal.String.Double
'"'           Literal.String.Double
'*'           Text
')'           Operator
' '           Text
'specialdeplibs' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$specialdeplibs' Name.Variable
' '           Literal.String.Double
'$pre_post_deps' Name.Variable
'"'           Literal.String.Double
' '           Text
';'           Punctuation
';'           Punctuation
'\n\t  '      Text
'esac'        Keyword
'\n\t  '      Text
'pre_post_deps' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$pre_post_deps' Name.Variable
' '           Literal.String.Double
'$pre_post_dep' Name.Variable
'"'           Literal.String.Double
'\n\t'        Text
'done'        Keyword
'\n      '    Text
'fi'          Keyword
'\n      '    Text
'pre_post_deps' Name.Variable
'='           Operator
'\n    '      Text
'fi'          Keyword
'\n\n    '    Text
'deplibs'     Name.Variable
'='           Operator
'\n    '      Text
'newdependency_libs' Name.Variable
'='           Operator
'\n    '      Text
'newlib_search_path' Name.Variable
'='           Operator
'\n    '      Text
'need_relink' Name.Variable
'='           Operator
'no'          Text
' '           Text
"# whether we're linking any uninstalled libtool libraries\n" Comment.Single

'    '        Text
'notinst_deplibs' Name.Variable
'='           Operator
' '           Text
'# not-installed libtool libraries\n' Comment.Single

'    '        Text
'case'        Keyword
' '           Text
'$linkmode'   Name.Variable
' '           Text
'in'          Keyword
'\n    '      Text
'lib'         Text
')'           Operator
'\n\t'        Text
'passes'      Name.Variable
'='           Operator
'"conv link"' Literal.String.Double
'\n\t'        Text
'for'         Keyword
' '           Text
'file'        Text
' '           Text
'in'          Keyword
' '           Text
'$dlfiles'    Name.Variable
' '           Text
'$dlprefiles' Name.Variable
';'           Punctuation
' '           Text
'do'          Keyword
'\n\t  '      Text
'case'        Keyword
' '           Text
'$file'       Name.Variable
' '           Text
'in'          Keyword
'\n\t  '      Text
'*.la'        Text
')'           Operator
' '           Text
';'           Punctuation
';'           Punctuation
'\n\t  '      Text
'*'           Text
')'           Operator
'\n\t    '    Text
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'$modename'   Name.Variable
": libraries can \\`-dlopen' only libtool libraries: " Literal.String.Double
'$file'       Name.Variable
'"'           Literal.String.Double
' '           Text
'1'           Literal.Number
'>'           Text
'&'           Punctuation
'2'           Literal.Number
'\n\t    '    Text
'exit'        Name.Builtin
' '           Text
'$EXIT_FAILURE' Name.Variable
'\n\t    '    Text
';'           Punctuation
';'           Punctuation
'\n\t  '      Text
'esac'        Keyword
'\n\t'        Text
'done'        Keyword
'\n\t'        Text
';'           Punctuation
';'           Punctuation
'\n    '      Text
'prog'        Text
')'           Operator
'\n\t'        Text
'compile_deplibs' Name.Variable
'='           Operator
'\n\t'        Text
'finalize_deplibs' Name.Variable
'='           Operator
'\n\t'        Text
'alldeplibs'  Name.Variable
'='           Operator
'no'          Text
'\n\t'        Text
'newdlfiles'  Name.Variable
'='           Operator
'\n\t'        Text
'newdlprefiles' Name.Variable
'='           Operator
'\n\t'        Text
'passes'      Name.Variable
'='           Operator
'"conv scan dlopen dlpreopen link"' Literal.String.Double
'\n\t'        Text
';'           Punctuation
';'           Punctuation
'\n    '      Text
'*'           Text
')'           Operator
'  '          Text
'passes'      Name.Variable
'='           Operator
'"conv"'      Literal.String.Double
'\n\t'        Text
';'           Punctuation
';'           Punctuation
'\n    '      Text
'esac'        Keyword
'\n    '      Text
'for'         Keyword
' '           Text
'pass'        Text
' '           Text
'in'          Keyword
' '           Text
'$passes'     Name.Variable
';'           Punctuation
' '           Text
'do'          Keyword
'\n      '    Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$linkmode'   Name.Variable
','           Literal.String.Double
'$pass'       Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'"lib,link"'  Literal.String.Double
' '           Text
'||'          Operator
'\n\t '       Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$linkmode'   Name.Variable
','           Literal.String.Double
'$pass'       Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'"prog,scan"' Literal.String.Double
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t'        Text
'libs'        Name.Variable
'='           Operator
'"'           Literal.String.Double
'$deplibs'    Name.Variable
'"'           Literal.String.Double
'\n\t'        Text
'deplibs'     Name.Variable
'='           Operator
'\n      '    Text
'fi'          Keyword
'\n      '    Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$linkmode'   Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'prog'        Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t'        Text
'case'        Keyword
' '           Text
'$pass'       Name.Variable
' '           Text
'in'          Keyword
'\n\t'        Text
'dlopen'      Text
')'           Operator
' '           Text
'libs'        Name.Variable
'='           Operator
'"'           Literal.String.Double
'$dlfiles'    Name.Variable
'"'           Literal.String.Double
' '           Text
';'           Punctuation
';'           Punctuation
'\n\t'        Text
'dlpreopen'   Text
')'           Operator
' '           Text
'libs'        Name.Variable
'='           Operator
'"'           Literal.String.Double
'$dlprefiles' Name.Variable
'"'           Literal.String.Double
' '           Text
';'           Punctuation
';'           Punctuation
'\n\t'        Text
'link'        Text
')'           Operator
' '           Text
'libs'        Name.Variable
'='           Operator
'"'           Literal.String.Double
'$deplibs'    Name.Variable
' %DEPLIBS% ' Literal.String.Double
'$dependency_libs' Name.Variable
'"'           Literal.String.Double
' '           Text
';'           Punctuation
';'           Punctuation
'\n\t'        Text
'esac'        Keyword
'\n      '    Text
'fi'          Keyword
'\n      '    Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$pass'       Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'dlopen'      Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t'        Text
'# Collect dlpreopened libraries\n' Comment.Single

'\t'          Text
'save_deplibs' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$deplibs'    Name.Variable
'"'           Literal.String.Double
'\n\t'        Text
'deplibs'     Name.Variable
'='           Operator
'\n      '    Text
'fi'          Keyword
'\n      '    Text
'for'         Keyword
' '           Text
'deplib'      Text
' '           Text
'in'          Keyword
' '           Text
'$libs'       Name.Variable
';'           Punctuation
' '           Text
'do'          Keyword
'\n\t'        Text
'lib'         Name.Variable
'='           Operator
'\n\t'        Text
'found'       Name.Variable
'='           Operator
'no'          Text
'\n\t'        Text
'case'        Keyword
' '           Text
'$deplib'     Name.Variable
' '           Text
'in'          Keyword
'\n\t'        Text
'-mt'         Text
'|'           Punctuation
'-mthreads'   Text
'|'           Punctuation
'-kthread'    Text
'|'           Punctuation
'-Kthread'    Text
'|'           Punctuation
'-pthread'    Text
'|'           Punctuation
'-pthreads'   Text
'|'           Punctuation
'--thread-safe' Text
')'           Operator
'\n\t  '      Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$linkmode'   Name.Variable
','           Literal.String.Double
'$pass'       Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'"prog,link"' Literal.String.Double
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t    '    Text
'compile_deplibs' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$deplib'     Name.Variable
' '           Literal.String.Double
'$compile_deplibs' Name.Variable
'"'           Literal.String.Double
'\n\t    '    Text
'finalize_deplibs' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$deplib'     Name.Variable
' '           Literal.String.Double
'$finalize_deplibs' Name.Variable
'"'           Literal.String.Double
'\n\t  '      Text
'else'        Keyword
'\n\t    '    Text
'compiler_flags' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$compiler_flags' Name.Variable
' '           Literal.String.Double
'$deplib'     Name.Variable
'"'           Literal.String.Double
'\n\t  '      Text
'fi'          Keyword
'\n\t  '      Text
'continue'    Keyword
'\n\t  '      Text
';'           Punctuation
';'           Punctuation
'\n\t'        Text
'-l*'         Text
')'           Operator
'\n\t  '      Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$linkmode'   Name.Variable
'"'           Literal.String.Double
' '           Text
'!'           Text
'='           Operator
' '           Text
'lib'         Text
' '           Text
'&&'          Operator
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$linkmode'   Name.Variable
'"'           Literal.String.Double
' '           Text
'!'           Text
'='           Operator
' '           Text
'prog'        Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t    '    Text
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'$modename'   Name.Variable
": warning: \\`-l' is ignored for archives/objects" Literal.String.Double
'"'           Literal.String.Double
' '           Text
'1'           Literal.Number
'>'           Text
'&'           Punctuation
'2'           Literal.Number
'\n\t    '    Text
'continue'    Keyword
'\n\t  '      Text
'fi'          Keyword
'\n\t  '      Text
'name'        Name.Variable
'='           Operator
'`'           Literal.String.Backtick
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$deplib'     Name.Variable
'"'           Literal.String.Double
' '           Text
'|'           Punctuation
' '           Text
'$Xsed'       Name.Variable
' '           Text
'-e'          Text
' '           Text
"'s/^-l//'"   Literal.String.Single
'`'           Literal.String.Backtick
'\n\t  '      Text
'for'         Keyword
' '           Text
'searchdir'   Text
' '           Text
'in'          Keyword
' '           Text
'$newlib_search_path' Name.Variable
' '           Text
'$lib_search_path' Name.Variable
' '           Text
'$sys_lib_search_path' Name.Variable
' '           Text
'$shlib_search_path' Name.Variable
';'           Punctuation
' '           Text
'do'          Keyword
'\n\t    '    Text
'for'         Keyword
' '           Text
'search_ext'  Text
' '           Text
'in'          Keyword
' '           Text
'.la'         Text
' '           Text
'$std_shrext' Name.Variable
' '           Text
'.so'         Text
' '           Text
'.a'          Text
';'           Punctuation
' '           Text
'do'          Keyword
'\n\t      '  Text
'# Search the libtool library\n' Comment.Single

'\t      '    Text
'lib'         Name.Variable
'='           Operator
'"'           Literal.String.Double
'$searchdir'  Name.Variable
'/lib'        Literal.String.Double
'${'          Literal.String.Interpol
'name'        Name.Variable
'}'           Literal.String.Interpol
'${'          Literal.String.Interpol
'search_ext'  Name.Variable
'}'           Literal.String.Interpol
'"'           Literal.String.Double
'\n\t      '  Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'-f'          Text
' '           Text
'"'           Literal.String.Double
'$lib'        Name.Variable
'"'           Literal.String.Double
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t\t'      Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$search_ext' Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'".la"'       Literal.String.Double
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t\t  '    Text
'found'       Name.Variable
'='           Operator
'yes'         Text
'\n\t\t'      Text
'else'        Keyword
'\n\t\t  '    Text
'found'       Name.Variable
'='           Operator
'no'          Text
'\n\t\t'      Text
'fi'          Keyword
'\n\t\t'      Text
'break'       Name.Builtin
' '           Text
'2'           Literal.Number
'\n\t      '  Text
'fi'          Keyword
'\n\t    '    Text
'done'        Keyword
'\n\t  '      Text
'done'        Keyword
'\n\t  '      Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$found'      Name.Variable
'"'           Literal.String.Double
' '           Text
'!'           Text
'='           Operator
' '           Text
'yes'         Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t    '    Text
"# deplib doesn't seem to be a libtool library\n" Comment.Single

'\t    '      Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$linkmode'   Name.Variable
','           Literal.String.Double
'$pass'       Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'"prog,link"' Literal.String.Double
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t      '  Text
'compile_deplibs' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$deplib'     Name.Variable
' '           Literal.String.Double
'$compile_deplibs' Name.Variable
'"'           Literal.String.Double
'\n\t      '  Text
'finalize_deplibs' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$deplib'     Name.Variable
' '           Literal.String.Double
'$finalize_deplibs' Name.Variable
'"'           Literal.String.Double
'\n\t    '    Text
'else'        Keyword
'\n\t      '  Text
'deplibs'     Name.Variable
'='           Operator
'"'           Literal.String.Double
'$deplib'     Name.Variable
' '           Literal.String.Double
'$deplibs'    Name.Variable
'"'           Literal.String.Double
'\n\t      '  Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$linkmode'   Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'lib'         Text
' '           Text
'&&'          Operator
' '           Text
'newdependency_libs' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$deplib'     Name.Variable
' '           Literal.String.Double
'$newdependency_libs' Name.Variable
'"'           Literal.String.Double
'\n\t    '    Text
'fi'          Keyword
'\n\t    '    Text
'continue'    Keyword
'\n\t  '      Text
'else'        Keyword
' '           Text
'# deplib is a libtool library\n' Comment.Single

'\t    '      Text
'# If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib,\n' Comment.Single

'\t    '      Text
'# We need to do some special things here, and not later.\n' Comment.Single

'\t    '      Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$allow_libtool_libs_with_static_runtimes' Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'"Xyes"'      Literal.String.Double
' '           Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t      '  Text
'case'        Keyword
' '           Text
'"'           Literal.String.Double
' '           Literal.String.Double
'$predeps'    Name.Variable
' '           Literal.String.Double
'$postdeps'   Name.Variable
' '           Literal.String.Double
'"'           Literal.String.Double
' '           Text
'in'          Keyword
'\n\t      '  Text
'*'           Text
'"'           Literal.String.Double
' '           Literal.String.Double
'$deplib'     Name.Variable
' '           Literal.String.Double
'"'           Literal.String.Double
'*'           Text
')'           Operator
'\n\t\t'      Text
'if'          Keyword
' '           Text
'('           Operator
'${'          Literal.String.Interpol
'SED'         Name.Variable
'}'           Literal.String.Interpol
' '           Text
'-e'          Text
' '           Text
"'2q'"        Literal.String.Single
' '           Text
'$lib'        Name.Variable
' '           Text
'|'           Punctuation
'\n                    ' Text
'grep'        Text
' '           Text
'"'           Literal.String.Double
'^# Generated by .*' Literal.String.Double
'$PACKAGE'    Name.Variable
'"'           Literal.String.Double
')'           Operator
' '           Text
'>/dev/null'  Text
' '           Text
'2'           Literal.Number
'>'           Text
'&'           Punctuation
'1'           Literal.Number
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t\t  '    Text
'library_names' Name.Variable
'='           Operator
'\n\t\t  '    Text
'old_library' Name.Variable
'='           Operator
'\n\t\t  '    Text
'case'        Keyword
' '           Text
'$lib'        Name.Variable
' '           Text
'in'          Keyword
'\n\t\t  '    Text
'*/*'         Text
' '           Text
'|'           Punctuation
' '           Text
'*'           Text
'\\\\'        Literal.String.Escape
'*'           Text
')'           Operator
' '           Text
'.'           Text
' '           Text
'$lib'        Name.Variable
' '           Text
';'           Punctuation
';'           Punctuation
'\n\t\t  '    Text
'*'           Text
')'           Operator
' '           Text
'.'           Text
' '           Text
'./'          Text
'$lib'        Name.Variable
' '           Text
';'           Punctuation
';'           Punctuation
'\n\t\t  '    Text
'esac'        Keyword
'\n\t\t  '    Text
'for'         Keyword
' '           Text
'l'           Text
' '           Text
'in'          Keyword
' '           Text
'$old_library' Name.Variable
' '           Text
'$library_names' Name.Variable
';'           Punctuation
' '           Text
'do'          Keyword
'\n\t\t    '  Text
'll'          Name.Variable
'='           Operator
'"'           Literal.String.Double
'$l'          Name.Variable
'"'           Literal.String.Double
'\n\t\t  '    Text
'done'        Keyword
'\n\t\t  '    Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$ll'         Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$old_library' Name.Variable
'"'           Literal.String.Double
' '           Text
';'           Punctuation
' '           Text
'then'        Keyword
' '           Text
'# only static version available\n' Comment.Single

'\t\t    '    Text
'found'       Name.Variable
'='           Operator
'no'          Text
'\n\t\t    '  Text
'ladir'       Name.Variable
'='           Operator
'`'           Literal.String.Backtick
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$lib'        Name.Variable
'"'           Literal.String.Double
' '           Text
'|'           Punctuation
' '           Text
'$Xsed'       Name.Variable
' '           Text
'-e'          Text
' '           Text
"'s%/[^/]*$%%'" Literal.String.Single
'`'           Literal.String.Backtick
'\n\t\t    '  Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$ladir'      Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$lib'        Name.Variable
'"'           Literal.String.Double
' '           Text
'&&'          Operator
' '           Text
'ladir'       Name.Variable
'='           Operator
'"."'         Literal.String.Double
'\n\t\t    '  Text
'lib'         Name.Variable
'='           Operator
'$ladir'      Name.Variable
'/'           Text
'$old_library' Name.Variable
'\n\t\t    '  Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$linkmode'   Name.Variable
','           Literal.String.Double
'$pass'       Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'"prog,link"' Literal.String.Double
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t\t      ' Text
'compile_deplibs' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$deplib'     Name.Variable
' '           Literal.String.Double
'$compile_deplibs' Name.Variable
'"'           Literal.String.Double
'\n\t\t      ' Text
'finalize_deplibs' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$deplib'     Name.Variable
' '           Literal.String.Double
'$finalize_deplibs' Name.Variable
'"'           Literal.String.Double
'\n\t\t    '  Text
'else'        Keyword
'\n\t\t      ' Text
'deplibs'     Name.Variable
'='           Operator
'"'           Literal.String.Double
'$deplib'     Name.Variable
' '           Literal.String.Double
'$deplibs'    Name.Variable
'"'           Literal.String.Double
'\n\t\t      ' Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$linkmode'   Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'lib'         Text
' '           Text
'&&'          Operator
' '           Text
'newdependency_libs' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$deplib'     Name.Variable
' '           Literal.String.Double
'$newdependency_libs' Name.Variable
'"'           Literal.String.Double
'\n\t\t    '  Text
'fi'          Keyword
'\n\t\t    '  Text
'continue'    Keyword
'\n\t\t  '    Text
'fi'          Keyword
'\n\t\t'      Text
'fi'          Keyword
'\n\t        ' Text
';'           Punctuation
';'           Punctuation
'\n\t      '  Text
'*'           Text
')'           Operator
' '           Text
';'           Punctuation
';'           Punctuation
'\n\t      '  Text
'esac'        Keyword
'\n\t    '    Text
'fi'          Keyword
'\n\t  '      Text
'fi'          Keyword
'\n\t  '      Text
';'           Punctuation
';'           Punctuation
' '           Text
'# -l\n'      Comment.Single

'\t'          Text
'-L*'         Text
')'           Operator
'\n\t  '      Text
'case'        Keyword
' '           Text
'$linkmode'   Name.Variable
' '           Text
'in'          Keyword
'\n\t  '      Text
'lib'         Text
')'           Operator
'\n\t    '    Text
'deplibs'     Name.Variable
'='           Operator
'"'           Literal.String.Double
'$deplib'     Name.Variable
' '           Literal.String.Double
'$deplibs'    Name.Variable
'"'           Literal.String.Double
'\n\t    '    Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$pass'       Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'conv'        Text
' '           Text
'&&'          Operator
' '           Text
'continue'    Keyword
'\n\t    '    Text
'newdependency_libs' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$deplib'     Name.Variable
' '           Literal.String.Double
'$newdependency_libs' Name.Variable
'"'           Literal.String.Double
'\n\t    '    Text
'newlib_search_path' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$newlib_search_path' Name.Variable
' '           Literal.String.Double
'"'           Literal.String.Double
'`'           Literal.String.Backtick
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$deplib'     Name.Variable
'"'           Literal.String.Double
' '           Text
'|'           Punctuation
' '           Text
'$Xsed'       Name.Variable
' '           Text
'-e'          Text
' '           Text
"'s/^-L//'"   Literal.String.Single
'`'           Literal.String.Backtick
'\n\t    '    Text
';'           Punctuation
';'           Punctuation
'\n\t  '      Text
'prog'        Text
')'           Operator
'\n\t    '    Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$pass'       Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'conv'        Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t      '  Text
'deplibs'     Name.Variable
'='           Operator
'"'           Literal.String.Double
'$deplib'     Name.Variable
' '           Literal.String.Double
'$deplibs'    Name.Variable
'"'           Literal.String.Double
'\n\t      '  Text
'continue'    Keyword
'\n\t    '    Text
'fi'          Keyword
'\n\t    '    Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$pass'       Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'scan'        Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t      '  Text
'deplibs'     Name.Variable
'='           Operator
'"'           Literal.String.Double
'$deplib'     Name.Variable
' '           Literal.String.Double
'$deplibs'    Name.Variable
'"'           Literal.String.Double
'\n\t    '    Text
'else'        Keyword
'\n\t      '  Text
'compile_deplibs' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$deplib'     Name.Variable
' '           Literal.String.Double
'$compile_deplibs' Name.Variable
'"'           Literal.String.Double
'\n\t      '  Text
'finalize_deplibs' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$deplib'     Name.Variable
' '           Literal.String.Double
'$finalize_deplibs' Name.Variable
'"'           Literal.String.Double
'\n\t    '    Text
'fi'          Keyword
'\n\t    '    Text
'newlib_search_path' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$newlib_search_path' Name.Variable
' '           Literal.String.Double
'"'           Literal.String.Double
'`'           Literal.String.Backtick
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$deplib'     Name.Variable
'"'           Literal.String.Double
' '           Text
'|'           Punctuation
' '           Text
'$Xsed'       Name.Variable
' '           Text
'-e'          Text
' '           Text
"'s/^-L//'"   Literal.String.Single
'`'           Literal.String.Backtick
'\n\t    '    Text
';'           Punctuation
';'           Punctuation
'\n\t  '      Text
'*'           Text
')'           Operator
'\n\t    '    Text
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'$modename'   Name.Variable
": warning: \\`-L' is ignored for archives/objects" Literal.String.Double
'"'           Literal.String.Double
' '           Text
'1'           Literal.Number
'>'           Text
'&'           Punctuation
'2'           Literal.Number
'\n\t    '    Text
';'           Punctuation
';'           Punctuation
'\n\t  '      Text
'esac'        Keyword
' '           Text
'# linkmode\n' Comment.Single

'\t  '        Text
'continue'    Keyword
'\n\t  '      Text
';'           Punctuation
';'           Punctuation
' '           Text
'# -L\n'      Comment.Single

'\t'          Text
'-R*'         Text
')'           Operator
'\n\t  '      Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$pass'       Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'link'        Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t    '    Text
'dir'         Name.Variable
'='           Operator
'`'           Literal.String.Backtick
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$deplib'     Name.Variable
'"'           Literal.String.Double
' '           Text
'|'           Punctuation
' '           Text
'$Xsed'       Name.Variable
' '           Text
'-e'          Text
' '           Text
"'s/^-R//'"   Literal.String.Single
'`'           Literal.String.Backtick
'\n\t    '    Text
'# Make sure the xrpath contains only unique directories.\n' Comment.Single

'\t    '      Text
'case'        Keyword
' '           Text
'"'           Literal.String.Double
'$xrpath'     Name.Variable
' '           Literal.String.Double
'"'           Literal.String.Double
' '           Text
'in'          Keyword
'\n\t    '    Text
'*'           Text
'"'           Literal.String.Double
' '           Literal.String.Double
'$dir'        Name.Variable
' '           Literal.String.Double
'"'           Literal.String.Double
'*'           Text
')'           Operator
' '           Text
';'           Punctuation
';'           Punctuation
'\n\t    '    Text
'*'           Text
')'           Operator
' '           Text
'xrpath'      Name.Variable
'='           Operator
'"'           Literal.String.Double
'$xrpath'     Name.Variable
' '           Literal.String.Double
'$dir'        Name.Variable
'"'           Literal.String.Double
' '           Text
';'           Punctuation
';'           Punctuation
'\n\t    '    Text
'esac'        Keyword
'\n\t  '      Text
'fi'          Keyword
'\n\t  '      Text
'deplibs'     Name.Variable
'='           Operator
'"'           Literal.String.Double
'$deplib'     Name.Variable
' '           Literal.String.Double
'$deplibs'    Name.Variable
'"'           Literal.String.Double
'\n\t  '      Text
'continue'    Keyword
'\n\t  '      Text
';'           Punctuation
';'           Punctuation
'\n\t'        Text
'*.la'        Text
')'           Operator
' '           Text
'lib'         Name.Variable
'='           Operator
'"'           Literal.String.Double
'$deplib'     Name.Variable
'"'           Literal.String.Double
' '           Text
';'           Punctuation
';'           Punctuation
'\n\t'        Text
'*.'          Text
'$libext'     Name.Variable
')'           Operator
'\n\t  '      Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$pass'       Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'conv'        Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t    '    Text
'deplibs'     Name.Variable
'='           Operator
'"'           Literal.String.Double
'$deplib'     Name.Variable
' '           Literal.String.Double
'$deplibs'    Name.Variable
'"'           Literal.String.Double
'\n\t    '    Text
'continue'    Keyword
'\n\t  '      Text
'fi'          Keyword
'\n\t  '      Text
'case'        Keyword
' '           Text
'$linkmode'   Name.Variable
' '           Text
'in'          Keyword
'\n\t  '      Text
'lib'         Text
')'           Operator
'\n\t    '    Text
'valid_a_lib' Name.Variable
'='           Operator
'no'          Text
'\n\t    '    Text
'case'        Keyword
' '           Text
'$deplibs_check_method' Name.Variable
' '           Text
'in'          Keyword
'\n\t      '  Text
'match_pattern*' Text
')'           Operator
'\n\t\t'      Text
'set'         Name.Builtin
' '           Text
'dummy'       Text
' '           Text
'$deplibs_check_method' Name.Variable
'\n\t        ' Text
'match_pattern_regex' Name.Variable
'='           Operator
'`'           Literal.String.Backtick
'expr'        Text
' '           Text
'"'           Literal.String.Double
'$deplibs_check_method' Name.Variable
'"'           Literal.String.Double
' '           Text
':'           Text
' '           Text
'"'           Literal.String.Double
'$2'          Name.Variable
' \\(.*\\)'   Literal.String.Double
'"'           Literal.String.Double
'`'           Literal.String.Backtick
'\n\t\t'      Text
'if'          Keyword
' '           Text
'eval'        Name.Builtin
' '           Text
'$echo'       Name.Variable
' '           Text
'\\"'         Literal.String.Escape
'$deplib'     Name.Variable
'\\"'         Literal.String.Escape
' '           Text
'2'           Literal.Number
'>/dev/null'  Text
' '           Text
'\\\n'        Literal.String.Escape

'\t\t    '    Text
'|'           Punctuation
' '           Text
'$SED'        Name.Variable
' '           Text
'10q'         Text
' '           Text
'\\\n'        Literal.String.Escape

'\t\t    '    Text
'|'           Punctuation
' '           Text
'$EGREP'      Name.Variable
' '           Text
'"'           Literal.String.Double
'$match_pattern_regex' Name.Variable
'"'           Literal.String.Double
' '           Text
'>'           Text
' '           Text
'/dev/null'   Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t\t  '    Text
'valid_a_lib' Name.Variable
'='           Operator
'yes'         Text
'\n\t\t'      Text
'fi'          Keyword
'\n\t\t'      Text
';'           Punctuation
';'           Punctuation
'\n\t      '  Text
'pass_all'    Text
')'           Operator
'\n\t\t'      Text
'valid_a_lib' Name.Variable
'='           Operator
'yes'         Text
'\n\t\t'      Text
';'           Punctuation
';'           Punctuation
'\n            ' Text
'esac'        Keyword
'\n\t    '    Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$valid_a_lib' Name.Variable
'"'           Literal.String.Double
' '           Text
'!'           Text
'='           Operator
' '           Text
'yes'         Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t      '  Text
'$echo'       Name.Variable
'\n\t      '  Text
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'*** Warning: Trying to link with static lib archive ' Literal.String.Double
'$deplib'     Name.Variable
'.'           Literal.String.Double
'"'           Literal.String.Double
'\n\t      '  Text
'$echo'       Name.Variable
' '           Text
'"*** I have the capability to make that library automatically link in when"' Literal.String.Double
'\n\t      '  Text
'$echo'       Name.Variable
' '           Text
'"*** you link to this library.  But I can only do this if you have a"' Literal.String.Double
'\n\t      '  Text
'$echo'       Name.Variable
' '           Text
'"*** shared version of the library, which you do not appear to have"' Literal.String.Double
'\n\t      '  Text
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'*** because the file extensions .' Literal.String.Double
'$libext'     Name.Variable
' of this argument makes me believe' Literal.String.Double
'"'           Literal.String.Double
'\n\t      '  Text
'$echo'       Name.Variable
' '           Text
'"*** that it is just a static archive that I should not used here."' Literal.String.Double
'\n\t    '    Text
'else'        Keyword
'\n\t      '  Text
'$echo'       Name.Variable
'\n\t      '  Text
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'*** Warning: Linking the shared library ' Literal.String.Double
'$output'     Name.Variable
' against the' Literal.String.Double
'"'           Literal.String.Double
'\n\t      '  Text
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'*** static library ' Literal.String.Double
'$deplib'     Name.Variable
' is not portable!' Literal.String.Double
'"'           Literal.String.Double
'\n\t      '  Text
'deplibs'     Name.Variable
'='           Operator
'"'           Literal.String.Double
'$deplib'     Name.Variable
' '           Literal.String.Double
'$deplibs'    Name.Variable
'"'           Literal.String.Double
'\n\t    '    Text
'fi'          Keyword
'\n\t    '    Text
'continue'    Keyword
'\n\t    '    Text
';'           Punctuation
';'           Punctuation
'\n\t  '      Text
'prog'        Text
')'           Operator
'\n\t    '    Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$pass'       Name.Variable
'"'           Literal.String.Double
' '           Text
'!'           Text
'='           Operator
' '           Text
'link'        Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t      '  Text
'deplibs'     Name.Variable
'='           Operator
'"'           Literal.String.Double
'$deplib'     Name.Variable
' '           Literal.String.Double
'$deplibs'    Name.Variable
'"'           Literal.String.Double
'\n\t    '    Text
'else'        Keyword
'\n\t      '  Text
'compile_deplibs' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$deplib'     Name.Variable
' '           Literal.String.Double
'$compile_deplibs' Name.Variable
'"'           Literal.String.Double
'\n\t      '  Text
'finalize_deplibs' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$deplib'     Name.Variable
' '           Literal.String.Double
'$finalize_deplibs' Name.Variable
'"'           Literal.String.Double
'\n\t    '    Text
'fi'          Keyword
'\n\t    '    Text
'continue'    Keyword
'\n\t    '    Text
';'           Punctuation
';'           Punctuation
'\n\t  '      Text
'esac'        Keyword
' '           Text
'# linkmode\n' Comment.Single

'\t  '        Text
';'           Punctuation
';'           Punctuation
' '           Text
'# *.$libext\n' Comment.Single

'\t'          Text
'*.lo'        Text
' '           Text
'|'           Punctuation
' '           Text
'*.'          Text
'$objext'     Name.Variable
')'           Operator
'\n\t  '      Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$pass'       Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'conv'        Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t    '    Text
'deplibs'     Name.Variable
'='           Operator
'"'           Literal.String.Double
'$deplib'     Name.Variable
' '           Literal.String.Double
'$deplibs'    Name.Variable
'"'           Literal.String.Double
'\n\t  '      Text
'elif'        Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$linkmode'   Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'prog'        Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t    '    Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$pass'       Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'dlpreopen'   Text
' '           Text
'||'          Operator
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$dlopen_support' Name.Variable
'"'           Literal.String.Double
' '           Text
'!'           Text
'='           Operator
' '           Text
'yes'         Text
' '           Text
'||'          Operator
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$build_libtool_libs' Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'no'          Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t      '  Text
"# If there is no dlopen support or we're linking statically,\n" Comment.Single

'\t      '    Text
'# we need to preload.\n' Comment.Single

'\t      '    Text
'newdlprefiles' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$newdlprefiles' Name.Variable
' '           Literal.String.Double
'$deplib'     Name.Variable
'"'           Literal.String.Double
'\n\t      '  Text
'compile_deplibs' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$deplib'     Name.Variable
' '           Literal.String.Double
'$compile_deplibs' Name.Variable
'"'           Literal.String.Double
'\n\t      '  Text
'finalize_deplibs' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$deplib'     Name.Variable
' '           Literal.String.Double
'$finalize_deplibs' Name.Variable
'"'           Literal.String.Double
'\n\t    '    Text
'else'        Keyword
'\n\t      '  Text
'newdlfiles'  Name.Variable
'='           Operator
'"'           Literal.String.Double
'$newdlfiles' Name.Variable
' '           Literal.String.Double
'$deplib'     Name.Variable
'"'           Literal.String.Double
'\n\t    '    Text
'fi'          Keyword
'\n\t  '      Text
'fi'          Keyword
'\n\t  '      Text
'continue'    Keyword
'\n\t  '      Text
';'           Punctuation
';'           Punctuation
'\n\t'        Text
'%DEPLIBS%'   Text
')'           Operator
'\n\t  '      Text
'alldeplibs'  Name.Variable
'='           Operator
'yes'         Text
'\n\t  '      Text
'continue'    Keyword
'\n\t  '      Text
';'           Punctuation
';'           Punctuation
'\n\t'        Text
'esac'        Keyword
' '           Text
'# case $deplib\n' Comment.Single

'\t'          Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$found'      Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'yes'         Text
' '           Text
'||'          Operator
' '           Text
'test'        Name.Builtin
' '           Text
'-f'          Text
' '           Text
'"'           Literal.String.Double
'$lib'        Name.Variable
'"'           Literal.String.Double
';'           Punctuation
' '           Text
'then'        Keyword
' '           Text
':'           Text
'\n\t'        Text
'else'        Keyword
'\n\t  '      Text
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'$modename'   Name.Variable
': cannot find the library \\`' Literal.String.Double
'$lib'        Name.Variable
"' or unhandled argument \\`" Literal.String.Double
'$deplib'     Name.Variable
"'"           Literal.String.Double
'"'           Literal.String.Double
' '           Text
'1'           Literal.Number
'>'           Text
'&'           Punctuation
'2'           Literal.Number
'\n\t  '      Text
'exit'        Name.Builtin
' '           Text
'$EXIT_FAILURE' Name.Variable
'\n\t'        Text
'fi'          Keyword
'\n\n\t'      Text
'# Check to see that this really is a libtool archive.\n' Comment.Single

'\t'          Text
'if'          Keyword
' '           Text
'('           Operator
'${'          Literal.String.Interpol
'SED'         Name.Variable
'}'           Literal.String.Interpol
' '           Text
'-e'          Text
' '           Text
"'2q'"        Literal.String.Single
' '           Text
'$lib'        Name.Variable
' '           Text
'|'           Punctuation
' '           Text
'grep'        Text
' '           Text
'"'           Literal.String.Double
'^# Generated by .*' Literal.String.Double
'$PACKAGE'    Name.Variable
'"'           Literal.String.Double
')'           Operator
' '           Text
'>/dev/null'  Text
' '           Text
'2'           Literal.Number
'>'           Text
'&'           Punctuation
'1'           Literal.Number
';'           Punctuation
' '           Text
'then'        Keyword
' '           Text
':'           Text
'\n\t'        Text
'else'        Keyword
'\n\t  '      Text
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'$modename'   Name.Variable
': \\`'       Literal.String.Double
'$lib'        Name.Variable
"' is not a valid libtool archive" Literal.String.Double
'"'           Literal.String.Double
' '           Text
'1'           Literal.Number
'>'           Text
'&'           Punctuation
'2'           Literal.Number
'\n\t  '      Text
'exit'        Name.Builtin
' '           Text
'$EXIT_FAILURE' Name.Variable
'\n\t'        Text
'fi'          Keyword
'\n\n\t'      Text
'ladir'       Name.Variable
'='           Operator
'`'           Literal.String.Backtick
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$lib'        Name.Variable
'"'           Literal.String.Double
' '           Text
'|'           Punctuation
' '           Text
'$Xsed'       Name.Variable
' '           Text
'-e'          Text
' '           Text
"'s%/[^/]*$%%'" Literal.String.Single
'`'           Literal.String.Backtick
'\n\t'        Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$ladir'      Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$lib'        Name.Variable
'"'           Literal.String.Double
' '           Text
'&&'          Operator
' '           Text
'ladir'       Name.Variable
'='           Operator
'"."'         Literal.String.Double
'\n\n\t'      Text
'dlname'      Name.Variable
'='           Operator
'\n\t'        Text
'dlopen'      Name.Variable
'='           Operator
'\n\t'        Text
'dlpreopen'   Name.Variable
'='           Operator
'\n\t'        Text
'libdir'      Name.Variable
'='           Operator
'\n\t'        Text
'library_names' Name.Variable
'='           Operator
'\n\t'        Text
'old_library' Name.Variable
'='           Operator
'\n\t'        Text
'# If the library was installed with an old release of libtool,\n' Comment.Single

'\t'          Text
'# it will not redefine variables installed, or shouldnotlink\n' Comment.Single

'\t'          Text
'installed'   Name.Variable
'='           Operator
'yes'         Text
'\n\t'        Text
'shouldnotlink' Name.Variable
'='           Operator
'no'          Text
'\n\t'        Text
'avoidtemprpath' Name.Variable
'='           Operator
'\n\n\n\t'    Text
'# Read the .la file\n' Comment.Single

'\t'          Text
'case'        Keyword
' '           Text
'$lib'        Name.Variable
' '           Text
'in'          Keyword
'\n\t'        Text
'*/*'         Text
' '           Text
'|'           Punctuation
' '           Text
'*'           Text
'\\\\'        Literal.String.Escape
'*'           Text
')'           Operator
' '           Text
'.'           Text
' '           Text
'$lib'        Name.Variable
' '           Text
';'           Punctuation
';'           Punctuation
'\n\t'        Text
'*'           Text
')'           Operator
' '           Text
'.'           Text
' '           Text
'./'          Text
'$lib'        Name.Variable
' '           Text
';'           Punctuation
';'           Punctuation
'\n\t'        Text
'esac'        Keyword
'\n\n\t'      Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$linkmode'   Name.Variable
','           Literal.String.Double
'$pass'       Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'"lib,link"'  Literal.String.Double
' '           Text
'||'          Operator
'\n\t   '     Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$linkmode'   Name.Variable
','           Literal.String.Double
'$pass'       Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'"prog,scan"' Literal.String.Double
' '           Text
'||'          Operator
'\n\t   '     Text
'{'           Operator
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$linkmode'   Name.Variable
'"'           Literal.String.Double
' '           Text
'!'           Text
'='           Operator
' '           Text
'prog'        Text
' '           Text
'&&'          Operator
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$linkmode'   Name.Variable
'"'           Literal.String.Double
' '           Text
'!'           Text
'='           Operator
' '           Text
'lib'         Text
';'           Punctuation
' '           Text
'}'           Operator
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t  '      Text
'test'        Name.Builtin
' '           Text
'-n'          Text
' '           Text
'"'           Literal.String.Double
'$dlopen'     Name.Variable
'"'           Literal.String.Double
' '           Text
'&&'          Operator
' '           Text
'dlfiles'     Name.Variable
'='           Operator
'"'           Literal.String.Double
'$dlfiles'    Name.Variable
' '           Literal.String.Double
'$dlopen'     Name.Variable
'"'           Literal.String.Double
'\n\t  '      Text
'test'        Name.Builtin
' '           Text
'-n'          Text
' '           Text
'"'           Literal.String.Double
'$dlpreopen'  Name.Variable
'"'           Literal.String.Double
' '           Text
'&&'          Operator
' '           Text
'dlprefiles'  Name.Variable
'='           Operator
'"'           Literal.String.Double
'$dlprefiles' Name.Variable
' '           Literal.String.Double
'$dlpreopen'  Name.Variable
'"'           Literal.String.Double
'\n\t'        Text
'fi'          Keyword
'\n\n\t'      Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$pass'       Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'conv'        Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t  '      Text
'# Only check for convenience libraries\n' Comment.Single

'\t  '        Text
'deplibs'     Name.Variable
'='           Operator
'"'           Literal.String.Double
'$lib'        Name.Variable
' '           Literal.String.Double
'$deplibs'    Name.Variable
'"'           Literal.String.Double
'\n\t  '      Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'-z'          Text
' '           Text
'"'           Literal.String.Double
'$libdir'     Name.Variable
'"'           Literal.String.Double
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t    '    Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'-z'          Text
' '           Text
'"'           Literal.String.Double
'$old_library' Name.Variable
'"'           Literal.String.Double
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t      '  Text
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'$modename'   Name.Variable
': cannot find name of link library for \\`' Literal.String.Double
'$lib'        Name.Variable
"'"           Literal.String.Double
'"'           Literal.String.Double
' '           Text
'1'           Literal.Number
'>'           Text
'&'           Punctuation
'2'           Literal.Number
'\n\t      '  Text
'exit'        Name.Builtin
' '           Text
'$EXIT_FAILURE' Name.Variable
'\n\t    '    Text
'fi'          Keyword
'\n\t    '    Text
'# It is a libtool convenience library, so add in its objects.\n' Comment.Single

'\t    '      Text
'convenience' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$convenience' Name.Variable
' '           Literal.String.Double
'$ladir'      Name.Variable
'/'           Literal.String.Double
'$objdir'     Name.Variable
'/'           Literal.String.Double
'$old_library' Name.Variable
'"'           Literal.String.Double
'\n\t    '    Text
'old_convenience' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$old_convenience' Name.Variable
' '           Literal.String.Double
'$ladir'      Name.Variable
'/'           Literal.String.Double
'$objdir'     Name.Variable
'/'           Literal.String.Double
'$old_library' Name.Variable
'"'           Literal.String.Double
'\n\t    '    Text
'tmp_libs'    Name.Variable
'='           Operator
'\n\t    '    Text
'for'         Keyword
' '           Text
'deplib'      Text
' '           Text
'in'          Keyword
' '           Text
'$dependency_libs' Name.Variable
';'           Punctuation
' '           Text
'do'          Keyword
'\n\t      '  Text
'deplibs'     Name.Variable
'='           Operator
'"'           Literal.String.Double
'$deplib'     Name.Variable
' '           Literal.String.Double
'$deplibs'    Name.Variable
'"'           Literal.String.Double
'\n              ' Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$duplicate_deps' Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'"Xyes"'      Literal.String.Double
' '           Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t        ' Text
'case'        Keyword
' '           Text
'"'           Literal.String.Double
'$tmp_libs'   Name.Variable
' '           Literal.String.Double
'"'           Literal.String.Double
' '           Text
'in'          Keyword
'\n\t        ' Text
'*'           Text
'"'           Literal.String.Double
' '           Literal.String.Double
'$deplib'     Name.Variable
' '           Literal.String.Double
'"'           Literal.String.Double
'*'           Text
')'           Operator
' '           Text
'specialdeplibs' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$specialdeplibs' Name.Variable
' '           Literal.String.Double
'$deplib'     Name.Variable
'"'           Literal.String.Double
' '           Text
';'           Punctuation
';'           Punctuation
'\n\t        ' Text
'esac'        Keyword
'\n              ' Text
'fi'          Keyword
'\n\t      '  Text
'tmp_libs'    Name.Variable
'='           Operator
'"'           Literal.String.Double
'$tmp_libs'   Name.Variable
' '           Literal.String.Double
'$deplib'     Name.Variable
'"'           Literal.String.Double
'\n\t    '    Text
'done'        Keyword
'\n\t  '      Text
'elif'        Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$linkmode'   Name.Variable
'"'           Literal.String.Double
' '           Text
'!'           Text
'='           Operator
' '           Text
'prog'        Text
' '           Text
'&&'          Operator
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$linkmode'   Name.Variable
'"'           Literal.String.Double
' '           Text
'!'           Text
'='           Operator
' '           Text
'lib'         Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t    '    Text
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'$modename'   Name.Variable
': \\`'       Literal.String.Double
'$lib'        Name.Variable
"' is not a convenience library" Literal.String.Double
'"'           Literal.String.Double
' '           Text
'1'           Literal.Number
'>'           Text
'&'           Punctuation
'2'           Literal.Number
'\n\t    '    Text
'exit'        Name.Builtin
' '           Text
'$EXIT_FAILURE' Name.Variable
'\n\t  '      Text
'fi'          Keyword
'\n\t  '      Text
'continue'    Keyword
'\n\t'        Text
'fi'          Keyword
' '           Text
'# $pass = conv\n' Comment.Single

'\n\n\t'      Text
'# Get the name of the library we link against.\n' Comment.Single

'\t'          Text
'linklib'     Name.Variable
'='           Operator
'\n\t'        Text
'for'         Keyword
' '           Text
'l'           Text
' '           Text
'in'          Keyword
' '           Text
'$old_library' Name.Variable
' '           Text
'$library_names' Name.Variable
';'           Punctuation
' '           Text
'do'          Keyword
'\n\t  '      Text
'linklib'     Name.Variable
'='           Operator
'"'           Literal.String.Double
'$l'          Name.Variable
'"'           Literal.String.Double
'\n\t'        Text
'done'        Keyword
'\n\t'        Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'-z'          Text
' '           Text
'"'           Literal.String.Double
'$linklib'    Name.Variable
'"'           Literal.String.Double
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t  '      Text
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'$modename'   Name.Variable
': cannot find name of link library for \\`' Literal.String.Double
'$lib'        Name.Variable
"'"           Literal.String.Double
'"'           Literal.String.Double
' '           Text
'1'           Literal.Number
'>'           Text
'&'           Punctuation
'2'           Literal.Number
'\n\t  '      Text
'exit'        Name.Builtin
' '           Text
'$EXIT_FAILURE' Name.Variable
'\n\t'        Text
'fi'          Keyword
'\n\n\t'      Text
'# This library was specified with -dlopen.\n' Comment.Single

'\t'          Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$pass'       Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'dlopen'      Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t  '      Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'-z'          Text
' '           Text
'"'           Literal.String.Double
'$libdir'     Name.Variable
'"'           Literal.String.Double
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t    '    Text
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'$modename'   Name.Variable
': cannot -dlopen a convenience library: \\`' Literal.String.Double
'$lib'        Name.Variable
"'"           Literal.String.Double
'"'           Literal.String.Double
' '           Text
'1'           Literal.Number
'>'           Text
'&'           Punctuation
'2'           Literal.Number
'\n\t    '    Text
'exit'        Name.Builtin
' '           Text
'$EXIT_FAILURE' Name.Variable
'\n\t  '      Text
'fi'          Keyword
'\n\t  '      Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'-z'          Text
' '           Text
'"'           Literal.String.Double
'$dlname'     Name.Variable
'"'           Literal.String.Double
' '           Text
'||'          Operator
'\n\t     '   Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$dlopen_support' Name.Variable
'"'           Literal.String.Double
' '           Text
'!'           Text
'='           Operator
' '           Text
'yes'         Text
' '           Text
'||'          Operator
'\n\t     '   Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$build_libtool_libs' Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'no'          Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t    '    Text
"# If there is no dlname, no dlopen support or we're linking\n" Comment.Single

'\t    '      Text
'# statically, we need to preload.  We also need to preload any\n' Comment.Single

'\t    '      Text
"# dependent libraries so libltdl's deplib preloader doesn't\n" Comment.Single

'\t    '      Text
'# bomb out in the load deplibs phase.\n' Comment.Single

'\t    '      Text
'dlprefiles'  Name.Variable
'='           Operator
'"'           Literal.String.Double
'$dlprefiles' Name.Variable
' '           Literal.String.Double
'$lib'        Name.Variable
' '           Literal.String.Double
'$dependency_libs' Name.Variable
'"'           Literal.String.Double
'\n\t  '      Text
'else'        Keyword
'\n\t    '    Text
'newdlfiles'  Name.Variable
'='           Operator
'"'           Literal.String.Double
'$newdlfiles' Name.Variable
' '           Literal.String.Double
'$lib'        Name.Variable
'"'           Literal.String.Double
'\n\t  '      Text
'fi'          Keyword
'\n\t  '      Text
'continue'    Keyword
'\n\t'        Text
'fi'          Keyword
' '           Text
'# $pass = dlopen\n' Comment.Single

'\n\t'        Text
'# We need an absolute path.\n' Comment.Single

'\t'          Text
'case'        Keyword
' '           Text
'$ladir'      Name.Variable
' '           Text
'in'          Keyword
'\n\t'        Text
'['           Operator
'\\\\'        Literal.String.Escape
'/'           Text
']'           Operator
'*'           Text
' '           Text
'|'           Punctuation
' '           Text
'['           Operator
'A-Za-z'      Text
']'           Operator
':'           Text
'['           Operator
'\\\\'        Literal.String.Escape
'/'           Text
']'           Operator
'*'           Text
')'           Operator
' '           Text
'abs_ladir'   Name.Variable
'='           Operator
'"'           Literal.String.Double
'$ladir'      Name.Variable
'"'           Literal.String.Double
' '           Text
';'           Punctuation
';'           Punctuation
'\n\t'        Text
'*'           Text
')'           Operator
'\n\t  '      Text
'abs_ladir'   Name.Variable
'='           Operator
'`'           Literal.String.Backtick
'cd'          Name.Builtin
' '           Text
'"'           Literal.String.Double
'$ladir'      Name.Variable
'"'           Literal.String.Double
' '           Text
'&&'          Operator
' '           Text
'pwd'         Name.Builtin
'`'           Literal.String.Backtick
'\n\t  '      Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'-z'          Text
' '           Text
'"'           Literal.String.Double
'$abs_ladir'  Name.Variable
'"'           Literal.String.Double
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t    '    Text
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'$modename'   Name.Variable
': warning: cannot determine absolute directory name of \\`' Literal.String.Double
'$ladir'      Name.Variable
"'"           Literal.String.Double
'"'           Literal.String.Double
' '           Text
'1'           Literal.Number
'>'           Text
'&'           Punctuation
'2'           Literal.Number
'\n\t    '    Text
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'$modename'   Name.Variable
': passing it literally to the linker, although it might fail' Literal.String.Double
'"'           Literal.String.Double
' '           Text
'1'           Literal.Number
'>'           Text
'&'           Punctuation
'2'           Literal.Number
'\n\t    '    Text
'abs_ladir'   Name.Variable
'='           Operator
'"'           Literal.String.Double
'$ladir'      Name.Variable
'"'           Literal.String.Double
'\n\t  '      Text
'fi'          Keyword
'\n\t  '      Text
';'           Punctuation
';'           Punctuation
'\n\t'        Text
'esac'        Keyword
'\n\t'        Text
'laname'      Name.Variable
'='           Operator
'`'           Literal.String.Backtick
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$lib'        Name.Variable
'"'           Literal.String.Double
' '           Text
'|'           Punctuation
' '           Text
'$Xsed'       Name.Variable
' '           Text
'-e'          Text
' '           Text
"'s%^.*/%%'"  Literal.String.Single
'`'           Literal.String.Backtick
'\n\n\t'      Text
'# Find the relevant object directory and library name.\n' Comment.Single

'\t'          Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$installed'  Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'Xyes'        Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t  '      Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'!'           Text
' '           Text
'-f'          Text
' '           Text
'"'           Literal.String.Double
'$libdir'     Name.Variable
'/'           Literal.String.Double
'$linklib'    Name.Variable
'"'           Literal.String.Double
' '           Text
'&&'          Operator
' '           Text
'test'        Name.Builtin
' '           Text
'-f'          Text
' '           Text
'"'           Literal.String.Double
'$abs_ladir'  Name.Variable
'/'           Literal.String.Double
'$linklib'    Name.Variable
'"'           Literal.String.Double
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t    '    Text
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'$modename'   Name.Variable
': warning: library \\`' Literal.String.Double
'$lib'        Name.Variable
"' was moved." Literal.String.Double
'"'           Literal.String.Double
' '           Text
'1'           Literal.Number
'>'           Text
'&'           Punctuation
'2'           Literal.Number
'\n\t    '    Text
'dir'         Name.Variable
'='           Operator
'"'           Literal.String.Double
'$ladir'      Name.Variable
'"'           Literal.String.Double
'\n\t    '    Text
'absdir'      Name.Variable
'='           Operator
'"'           Literal.String.Double
'$abs_ladir'  Name.Variable
'"'           Literal.String.Double
'\n\t    '    Text
'libdir'      Name.Variable
'='           Operator
'"'           Literal.String.Double
'$abs_ladir'  Name.Variable
'"'           Literal.String.Double
'\n\t  '      Text
'else'        Keyword
'\n\t    '    Text
'dir'         Name.Variable
'='           Operator
'"'           Literal.String.Double
'$libdir'     Name.Variable
'"'           Literal.String.Double
'\n\t    '    Text
'absdir'      Name.Variable
'='           Operator
'"'           Literal.String.Double
'$libdir'     Name.Variable
'"'           Literal.String.Double
'\n\t  '      Text
'fi'          Keyword
'\n\t  '      Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$hardcode_automatic' Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'Xyes'        Text
' '           Text
'&&'          Operator
' '           Text
'avoidtemprpath' Name.Variable
'='           Operator
'yes'         Text
'\n\t'        Text
'else'        Keyword
'\n\t  '      Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'!'           Text
' '           Text
'-f'          Text
' '           Text
'"'           Literal.String.Double
'$ladir'      Name.Variable
'/'           Literal.String.Double
'$objdir'     Name.Variable
'/'           Literal.String.Double
'$linklib'    Name.Variable
'"'           Literal.String.Double
' '           Text
'&&'          Operator
' '           Text
'test'        Name.Builtin
' '           Text
'-f'          Text
' '           Text
'"'           Literal.String.Double
'$abs_ladir'  Name.Variable
'/'           Literal.String.Double
'$linklib'    Name.Variable
'"'           Literal.String.Double
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t    '    Text
'dir'         Name.Variable
'='           Operator
'"'           Literal.String.Double
'$ladir'      Name.Variable
'"'           Literal.String.Double
'\n\t    '    Text
'absdir'      Name.Variable
'='           Operator
'"'           Literal.String.Double
'$abs_ladir'  Name.Variable
'"'           Literal.String.Double
'\n\t    '    Text
'# Remove this search path later\n' Comment.Single

'\t    '      Text
'notinst_path' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$notinst_path' Name.Variable
' '           Literal.String.Double
'$abs_ladir'  Name.Variable
'"'           Literal.String.Double
'\n\t  '      Text
'else'        Keyword
'\n\t    '    Text
'dir'         Name.Variable
'='           Operator
'"'           Literal.String.Double
'$ladir'      Name.Variable
'/'           Literal.String.Double
'$objdir'     Name.Variable
'"'           Literal.String.Double
'\n\t    '    Text
'absdir'      Name.Variable
'='           Operator
'"'           Literal.String.Double
'$abs_ladir'  Name.Variable
'/'           Literal.String.Double
'$objdir'     Name.Variable
'"'           Literal.String.Double
'\n\t    '    Text
'# Remove this search path later\n' Comment.Single

'\t    '      Text
'notinst_path' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$notinst_path' Name.Variable
' '           Literal.String.Double
'$abs_ladir'  Name.Variable
'"'           Literal.String.Double
'\n\t  '      Text
'fi'          Keyword
'\n\t'        Text
'fi'          Keyword
' '           Text
'# $installed = yes\n' Comment.Single

'\t'          Text
'name'        Name.Variable
'='           Operator
'`'           Literal.String.Backtick
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$laname'     Name.Variable
'"'           Literal.String.Double
' '           Text
'|'           Punctuation
' '           Text
'$Xsed'       Name.Variable
' '           Text
'-e'          Text
' '           Text
"'s/\\.la$//'" Literal.String.Single
' '           Text
'-e'          Text
' '           Text
"'s/^lib//'"  Literal.String.Single
'`'           Literal.String.Backtick
'\n\n\t'      Text
'# This library was specified with -dlpreopen.\n' Comment.Single

'\t'          Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$pass'       Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'dlpreopen'   Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t  '      Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'-z'          Text
' '           Text
'"'           Literal.String.Double
'$libdir'     Name.Variable
'"'           Literal.String.Double
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t    '    Text
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'$modename'   Name.Variable
': cannot -dlpreopen a convenience library: \\`' Literal.String.Double
'$lib'        Name.Variable
"'"           Literal.String.Double
'"'           Literal.String.Double
' '           Text
'1'           Literal.Number
'>'           Text
'&'           Punctuation
'2'           Literal.Number
'\n\t    '    Text
'exit'        Name.Builtin
' '           Text
'$EXIT_FAILURE' Name.Variable
'\n\t  '      Text
'fi'          Keyword
'\n\t  '      Text
'# Prefer using a static library (so that no silly _DYNAMIC symbols\n' Comment.Single

'\t  '        Text
'# are required to link).\n' Comment.Single

'\t  '        Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'-n'          Text
' '           Text
'"'           Literal.String.Double
'$old_library' Name.Variable
'"'           Literal.String.Double
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t    '    Text
'newdlprefiles' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$newdlprefiles' Name.Variable
' '           Literal.String.Double
'$dir'        Name.Variable
'/'           Literal.String.Double
'$old_library' Name.Variable
'"'           Literal.String.Double
'\n\t  '      Text
'# Otherwise, use the dlname, so that lt_dlopen finds it.\n' Comment.Single

'\t  '        Text
'elif'        Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'-n'          Text
' '           Text
'"'           Literal.String.Double
'$dlname'     Name.Variable
'"'           Literal.String.Double
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t    '    Text
'newdlprefiles' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$newdlprefiles' Name.Variable
' '           Literal.String.Double
'$dir'        Name.Variable
'/'           Literal.String.Double
'$dlname'     Name.Variable
'"'           Literal.String.Double
'\n\t  '      Text
'else'        Keyword
'\n\t    '    Text
'newdlprefiles' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$newdlprefiles' Name.Variable
' '           Literal.String.Double
'$dir'        Name.Variable
'/'           Literal.String.Double
'$linklib'    Name.Variable
'"'           Literal.String.Double
'\n\t  '      Text
'fi'          Keyword
'\n\t'        Text
'fi'          Keyword
' '           Text
'# $pass = dlpreopen\n' Comment.Single

'\n\t'        Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'-z'          Text
' '           Text
'"'           Literal.String.Double
'$libdir'     Name.Variable
'"'           Literal.String.Double
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t  '      Text
'# Link the convenience library\n' Comment.Single

'\t  '        Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$linkmode'   Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'lib'         Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t    '    Text
'deplibs'     Name.Variable
'='           Operator
'"'           Literal.String.Double
'$dir'        Name.Variable
'/'           Literal.String.Double
'$old_library' Name.Variable
' '           Literal.String.Double
'$deplibs'    Name.Variable
'"'           Literal.String.Double
'\n\t  '      Text
'elif'        Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$linkmode'   Name.Variable
','           Literal.String.Double
'$pass'       Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'"prog,link"' Literal.String.Double
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t    '    Text
'compile_deplibs' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$dir'        Name.Variable
'/'           Literal.String.Double
'$old_library' Name.Variable
' '           Literal.String.Double
'$compile_deplibs' Name.Variable
'"'           Literal.String.Double
'\n\t    '    Text
'finalize_deplibs' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$dir'        Name.Variable
'/'           Literal.String.Double
'$old_library' Name.Variable
' '           Literal.String.Double
'$finalize_deplibs' Name.Variable
'"'           Literal.String.Double
'\n\t  '      Text
'else'        Keyword
'\n\t    '    Text
'deplibs'     Name.Variable
'='           Operator
'"'           Literal.String.Double
'$lib'        Name.Variable
' '           Literal.String.Double
'$deplibs'    Name.Variable
'"'           Literal.String.Double
' '           Text
'# used for prog,scan pass\n' Comment.Single

'\t  '        Text
'fi'          Keyword
'\n\t  '      Text
'continue'    Keyword
'\n\t'        Text
'fi'          Keyword
'\n\n\n\t'    Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$linkmode'   Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'prog'        Text
' '           Text
'&&'          Operator
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$pass'       Name.Variable
'"'           Literal.String.Double
' '           Text
'!'           Text
'='           Operator
' '           Text
'link'        Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t  '      Text
'newlib_search_path' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$newlib_search_path' Name.Variable
' '           Literal.String.Double
'$ladir'      Name.Variable
'"'           Literal.String.Double
'\n\t  '      Text
'deplibs'     Name.Variable
'='           Operator
'"'           Literal.String.Double
'$lib'        Name.Variable
' '           Literal.String.Double
'$deplibs'    Name.Variable
'"'           Literal.String.Double
'\n\n\t  '    Text
'linkalldeplibs' Name.Variable
'='           Operator
'no'          Text
'\n\t  '      Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$link_all_deplibs' Name.Variable
'"'           Literal.String.Double
' '           Text
'!'           Text
'='           Operator
' '           Text
'no'          Text
' '           Text
'||'          Operator
' '           Text
'test'        Name.Builtin
' '           Text
'-z'          Text
' '           Text
'"'           Literal.String.Double
'$library_names' Name.Variable
'"'           Literal.String.Double
' '           Text
'||'          Operator
'\n\t     '   Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$build_libtool_libs' Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'no'          Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t    '    Text
'linkalldeplibs' Name.Variable
'='           Operator
'yes'         Text
'\n\t  '      Text
'fi'          Keyword
'\n\n\t  '    Text
'tmp_libs'    Name.Variable
'='           Operator
'\n\t  '      Text
'for'         Keyword
' '           Text
'deplib'      Text
' '           Text
'in'          Keyword
' '           Text
'$dependency_libs' Name.Variable
';'           Punctuation
' '           Text
'do'          Keyword
'\n\t    '    Text
'case'        Keyword
' '           Text
'$deplib'     Name.Variable
' '           Text
'in'          Keyword
'\n\t    '    Text
'-L*'         Text
')'           Operator
' '           Text
'newlib_search_path' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$newlib_search_path' Name.Variable
' '           Literal.String.Double
'"'           Literal.String.Double
'`'           Literal.String.Backtick
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$deplib'     Name.Variable
'"'           Literal.String.Double
' '           Text
'|'           Punctuation
' '           Text
'$Xsed'       Name.Variable
' '           Text
'-e'          Text
' '           Text
"'s/^-L//'"   Literal.String.Single
'`'           Literal.String.Backtick
';'           Punctuation
';'           Punctuation
' '           Text
'### testsuite: skip nested quoting test\n' Comment.Single

'\t    '      Text
'esac'        Keyword
'\n\t    '    Text
'# Need to link against all dependency_libs?\n' Comment.Single

'\t    '      Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$linkalldeplibs' Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'yes'         Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t      '  Text
'deplibs'     Name.Variable
'='           Operator
'"'           Literal.String.Double
'$deplib'     Name.Variable
' '           Literal.String.Double
'$deplibs'    Name.Variable
'"'           Literal.String.Double
'\n\t    '    Text
'else'        Keyword
'\n\t      '  Text
'# Need to hardcode shared library paths\n' Comment.Single

'\t      '    Text
'# or/and link against static libraries\n' Comment.Single

'\t      '    Text
'newdependency_libs' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$deplib'     Name.Variable
' '           Literal.String.Double
'$newdependency_libs' Name.Variable
'"'           Literal.String.Double
'\n\t    '    Text
'fi'          Keyword
'\n\t    '    Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'X'           Literal.String.Double
'$duplicate_deps' Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'"Xyes"'      Literal.String.Double
' '           Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t      '  Text
'case'        Keyword
' '           Text
'"'           Literal.String.Double
'$tmp_libs'   Name.Variable
' '           Literal.String.Double
'"'           Literal.String.Double
' '           Text
'in'          Keyword
'\n\t      '  Text
'*'           Text
'"'           Literal.String.Double
' '           Literal.String.Double
'$deplib'     Name.Variable
' '           Literal.String.Double
'"'           Literal.String.Double
'*'           Text
')'           Operator
' '           Text
'specialdeplibs' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$specialdeplibs' Name.Variable
' '           Literal.String.Double
'$deplib'     Name.Variable
'"'           Literal.String.Double
' '           Text
';'           Punctuation
';'           Punctuation
'\n\t      '  Text
'esac'        Keyword
'\n\t    '    Text
'fi'          Keyword
'\n\t    '    Text
'tmp_libs'    Name.Variable
'='           Operator
'"'           Literal.String.Double
'$tmp_libs'   Name.Variable
' '           Literal.String.Double
'$deplib'     Name.Variable
'"'           Literal.String.Double
'\n\t  '      Text
'done'        Keyword
' '           Text
'# for deplib\n' Comment.Single

'\t  '        Text
'continue'    Keyword
'\n\t'        Text
'fi'          Keyword
' '           Text
'# $linkmode = prog...\n' Comment.Single

'\n\t'        Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$linkmode'   Name.Variable
','           Literal.String.Double
'$pass'       Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'"prog,link"' Literal.String.Double
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t  '      Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'-n'          Text
' '           Text
'"'           Literal.String.Double
'$library_names' Name.Variable
'"'           Literal.String.Double
' '           Text
'&&'          Operator
'\n\t     '   Text
'{'           Operator
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$prefer_static_libs' Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'no'          Text
' '           Text
'||'          Operator
' '           Text
'test'        Name.Builtin
' '           Text
'-z'          Text
' '           Text
'"'           Literal.String.Double
'$old_library' Name.Variable
'"'           Literal.String.Double
';'           Punctuation
' '           Text
'}'           Operator
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t    '    Text
'# We need to hardcode the library path\n' Comment.Single

'\t    '      Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'-n'          Text
' '           Text
'"'           Literal.String.Double
'$shlibpath_var' Name.Variable
'"'           Literal.String.Double
' '           Text
'&&'          Operator
' '           Text
'test'        Name.Builtin
' '           Text
'-z'          Text
' '           Text
'"'           Literal.String.Double
'$avoidtemprpath' Name.Variable
'"'           Literal.String.Double
' '           Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t      '  Text
'# Make sure the rpath contains only unique directories.\n' Comment.Single

'\t      '    Text
'case'        Keyword
' '           Text
'"'           Literal.String.Double
'$temp_rpath' Name.Variable
' '           Literal.String.Double
'"'           Literal.String.Double
' '           Text
'in'          Keyword
'\n\t      '  Text
'*'           Text
'"'           Literal.String.Double
' '           Literal.String.Double
'$dir'        Name.Variable
' '           Literal.String.Double
'"'           Literal.String.Double
'*'           Text
')'           Operator
' '           Text
';'           Punctuation
';'           Punctuation
'\n\t      '  Text
'*'           Text
'"'           Literal.String.Double
' '           Literal.String.Double
'$absdir'     Name.Variable
' '           Literal.String.Double
'"'           Literal.String.Double
'*'           Text
')'           Operator
' '           Text
';'           Punctuation
';'           Punctuation
'\n\t      '  Text
'*'           Text
')'           Operator
' '           Text
'temp_rpath'  Name.Variable
'='           Operator
'"'           Literal.String.Double
'$temp_rpath' Name.Variable
' '           Literal.String.Double
'$absdir'     Name.Variable
'"'           Literal.String.Double
' '           Text
';'           Punctuation
';'           Punctuation
'\n\t      '  Text
'esac'        Keyword
'\n\t    '    Text
'fi'          Keyword
'\n\n\t    '  Text
'# Hardcode the library path.\n' Comment.Single

'\t    '      Text
'# Skip directories that are in the system default run-time\n' Comment.Single

'\t    '      Text
'# search path.\n' Comment.Single

'\t    '      Text
'case'        Keyword
' '           Text
'"'           Literal.String.Double
' '           Literal.String.Double
'$sys_lib_dlsearch_path' Name.Variable
' '           Literal.String.Double
'"'           Literal.String.Double
' '           Text
'in'          Keyword
'\n\t    '    Text
'*'           Text
'"'           Literal.String.Double
' '           Literal.String.Double
'$absdir'     Name.Variable
' '           Literal.String.Double
'"'           Literal.String.Double
'*'           Text
')'           Operator
' '           Text
';'           Punctuation
';'           Punctuation
'\n\t    '    Text
'*'           Text
')'           Operator
'\n\t      '  Text
'case'        Keyword
' '           Text
'"'           Literal.String.Double
'$compile_rpath' Name.Variable
' '           Literal.String.Double
'"'           Literal.String.Double
' '           Text
'in'          Keyword
'\n\t      '  Text
'*'           Text
'"'           Literal.String.Double
' '           Literal.String.Double
'$absdir'     Name.Variable
' '           Literal.String.Double
'"'           Literal.String.Double
'*'           Text
')'           Operator
' '           Text
';'           Punctuation
';'           Punctuation
'\n\t      '  Text
'*'           Text
')'           Operator
' '           Text
'compile_rpath' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$compile_rpath' Name.Variable
' '           Literal.String.Double
'$absdir'     Name.Variable
'"'           Literal.String.Double
'\n\t      '  Text
'esac'        Keyword
'\n\t      '  Text
';'           Punctuation
';'           Punctuation
'\n\t    '    Text
'esac'        Keyword
'\n\t    '    Text
'case'        Keyword
' '           Text
'"'           Literal.String.Double
' '           Literal.String.Double
'$sys_lib_dlsearch_path' Name.Variable
' '           Literal.String.Double
'"'           Literal.String.Double
' '           Text
'in'          Keyword
'\n\t    '    Text
'*'           Text
'"'           Literal.String.Double
' '           Literal.String.Double
'$libdir'     Name.Variable
' '           Literal.String.Double
'"'           Literal.String.Double
'*'           Text
')'           Operator
' '           Text
';'           Punctuation
';'           Punctuation
'\n\t    '    Text
'*'           Text
')'           Operator
'\n\t      '  Text
'case'        Keyword
' '           Text
'"'           Literal.String.Double
'$finalize_rpath' Name.Variable
' '           Literal.String.Double
'"'           Literal.String.Double
' '           Text
'in'          Keyword
'\n\t      '  Text
'*'           Text
'"'           Literal.String.Double
' '           Literal.String.Double
'$libdir'     Name.Variable
' '           Literal.String.Double
'"'           Literal.String.Double
'*'           Text
')'           Operator
' '           Text
';'           Punctuation
';'           Punctuation
'\n\t      '  Text
'*'           Text
')'           Operator
' '           Text
'finalize_rpath' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$finalize_rpath' Name.Variable
' '           Literal.String.Double
'$libdir'     Name.Variable
'"'           Literal.String.Double
'\n\t      '  Text
'esac'        Keyword
'\n\t      '  Text
';'           Punctuation
';'           Punctuation
'\n\t    '    Text
'esac'        Keyword
'\n\t  '      Text
'fi'          Keyword
' '           Text
'# $linkmode,$pass = prog,link...\n' Comment.Single

'\n\t  '      Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$alldeplibs' Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'yes'         Text
' '           Text
'&&'          Operator
'\n\t     '   Text
'{'           Operator
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$deplibs_check_method' Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'pass_all'    Text
' '           Text
'||'          Operator
'\n\t       ' Text
'{'           Operator
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$build_libtool_libs' Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'yes'         Text
' '           Text
'&&'          Operator
'\n\t\t '     Text
'test'        Name.Builtin
' '           Text
'-n'          Text
' '           Text
'"'           Literal.String.Double
'$library_names' Name.Variable
'"'           Literal.String.Double
';'           Punctuation
' '           Text
'}'           Operator
';'           Punctuation
' '           Text
'}'           Operator
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t    '    Text
'# We only need to search for static libraries\n' Comment.Single

'\t    '      Text
'continue'    Keyword
'\n\t  '      Text
'fi'          Keyword
'\n\t'        Text
'fi'          Keyword
'\n\n\t'      Text
'link_static' Name.Variable
'='           Operator
'no'          Text
' '           Text
'# Whether the deplib will be linked statically\n' Comment.Single

'\t'          Text
'use_static_libs' Name.Variable
'='           Operator
'$prefer_static_libs' Name.Variable
'\n\t'        Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$use_static_libs' Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'built'       Text
' '           Text
'&&'          Operator
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$installed'  Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'yes'         Text
' '           Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t  '      Text
'use_static_libs' Name.Variable
'='           Operator
'no'          Text
'\n\t'        Text
'fi'          Keyword
'\n\t'        Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'-n'          Text
' '           Text
'"'           Literal.String.Double
'$library_names' Name.Variable
'"'           Literal.String.Double
' '           Text
'&&'          Operator
'\n\t   '     Text
'{'           Operator
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$use_static_libs' Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'no'          Text
' '           Text
'||'          Operator
' '           Text
'test'        Name.Builtin
' '           Text
'-z'          Text
' '           Text
'"'           Literal.String.Double
'$old_library' Name.Variable
'"'           Literal.String.Double
';'           Punctuation
' '           Text
'}'           Operator
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t  '      Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$installed'  Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'no'          Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t    '    Text
'notinst_deplibs' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$notinst_deplibs' Name.Variable
' '           Literal.String.Double
'$lib'        Name.Variable
'"'           Literal.String.Double
'\n\t    '    Text
'need_relink' Name.Variable
'='           Operator
'yes'         Text
'\n\t  '      Text
'fi'          Keyword
'\n\t  '      Text
'# This is a shared library\n' Comment.Single

'\n\t  '      Text
"# Warn about portability, can't link against -module's on\n" Comment.Single

'\t  '        Text
'# some systems (darwin)\n' Comment.Single

'\t  '        Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$shouldnotlink' Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'yes'         Text
' '           Text
'&&'          Operator
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$pass'       Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'link'        Text
' '           Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t    '    Text
'$echo'       Name.Variable
'\n\t    '    Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$linkmode'   Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'prog'        Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t      '  Text
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'*** Warning: Linking the executable ' Literal.String.Double
'$output'     Name.Variable
' against the loadable module' Literal.String.Double
'"'           Literal.String.Double
'\n\t    '    Text
'else'        Keyword
'\n\t      '  Text
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'*** Warning: Linking the shared library ' Literal.String.Double
'$output'     Name.Variable
' against the loadable module' Literal.String.Double
'"'           Literal.String.Double
'\n\t    '    Text
'fi'          Keyword
'\n\t    '    Text
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'*** '        Literal.String.Double
'$linklib'    Name.Variable
' is not portable!' Literal.String.Double
'"'           Literal.String.Double
'\n\t  '      Text
'fi'          Keyword
'\n\t  '      Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$linkmode'   Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'lib'         Text
' '           Text
'&&'          Operator
'\n\t     '   Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$hardcode_into_libs' Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'yes'         Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t    '    Text
'# Hardcode the library path.\n' Comment.Single

'\t    '      Text
'# Skip directories that are in the system default run-time\n' Comment.Single

'\t    '      Text
'# search path.\n' Comment.Single

'\t    '      Text
'case'        Keyword
' '           Text
'"'           Literal.String.Double
' '           Literal.String.Double
'$sys_lib_dlsearch_path' Name.Variable
' '           Literal.String.Double
'"'           Literal.String.Double
' '           Text
'in'          Keyword
'\n\t    '    Text
'*'           Text
'"'           Literal.String.Double
' '           Literal.String.Double
'$absdir'     Name.Variable
' '           Literal.String.Double
'"'           Literal.String.Double
'*'           Text
')'           Operator
' '           Text
';'           Punctuation
';'           Punctuation
'\n\t    '    Text
'*'           Text
')'           Operator
'\n\t      '  Text
'case'        Keyword
' '           Text
'"'           Literal.String.Double
'$compile_rpath' Name.Variable
' '           Literal.String.Double
'"'           Literal.String.Double
' '           Text
'in'          Keyword
'\n\t      '  Text
'*'           Text
'"'           Literal.String.Double
' '           Literal.String.Double
'$absdir'     Name.Variable
' '           Literal.String.Double
'"'           Literal.String.Double
'*'           Text
')'           Operator
' '           Text
';'           Punctuation
';'           Punctuation
'\n\t      '  Text
'*'           Text
')'           Operator
' '           Text
'compile_rpath' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$compile_rpath' Name.Variable
' '           Literal.String.Double
'$absdir'     Name.Variable
'"'           Literal.String.Double
'\n\t      '  Text
'esac'        Keyword
'\n\t      '  Text
';'           Punctuation
';'           Punctuation
'\n\t    '    Text
'esac'        Keyword
'\n\t    '    Text
'case'        Keyword
' '           Text
'"'           Literal.String.Double
' '           Literal.String.Double
'$sys_lib_dlsearch_path' Name.Variable
' '           Literal.String.Double
'"'           Literal.String.Double
' '           Text
'in'          Keyword
'\n\t    '    Text
'*'           Text
'"'           Literal.String.Double
' '           Literal.String.Double
'$libdir'     Name.Variable
' '           Literal.String.Double
'"'           Literal.String.Double
'*'           Text
')'           Operator
' '           Text
';'           Punctuation
';'           Punctuation
'\n\t    '    Text
'*'           Text
')'           Operator
'\n\t      '  Text
'case'        Keyword
' '           Text
'"'           Literal.String.Double
'$finalize_rpath' Name.Variable
' '           Literal.String.Double
'"'           Literal.String.Double
' '           Text
'in'          Keyword
'\n\t      '  Text
'*'           Text
'"'           Literal.String.Double
' '           Literal.String.Double
'$libdir'     Name.Variable
' '           Literal.String.Double
'"'           Literal.String.Double
'*'           Text
')'           Operator
' '           Text
';'           Punctuation
';'           Punctuation
'\n\t      '  Text
'*'           Text
')'           Operator
' '           Text
'finalize_rpath' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$finalize_rpath' Name.Variable
' '           Literal.String.Double
'$libdir'     Name.Variable
'"'           Literal.String.Double
'\n\t      '  Text
'esac'        Keyword
'\n\t      '  Text
';'           Punctuation
';'           Punctuation
'\n\t    '    Text
'esac'        Keyword
'\n\t  '      Text
'fi'          Keyword
'\n\n\t  '    Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'-n'          Text
' '           Text
'"'           Literal.String.Double
'$old_archive_from_expsyms_cmds' Name.Variable
'"'           Literal.String.Double
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t    '    Text
'# figure out the soname\n' Comment.Single

'\t    '      Text
'set'         Name.Builtin
' '           Text
'dummy'       Text
' '           Text
'$library_names' Name.Variable
'\n\t    '    Text
'realname'    Name.Variable
'='           Operator
'"'           Literal.String.Double
'$2'          Name.Variable
'"'           Literal.String.Double
'\n\t    '    Text
'shift'       Text
';'           Punctuation
' '           Text
'shift'       Name.Builtin
'\n\t    '    Text
'libname'     Name.Variable
'='           Operator
'`'           Literal.String.Backtick
'eval'        Name.Builtin
' '           Text
'\\\\'        Literal.String.Escape
'$echo'       Name.Variable
' '           Text
'\\"'         Literal.String.Escape
'$libname_spec' Name.Variable
'\\"'         Literal.String.Escape
'`'           Literal.String.Backtick
'\n\t    '    Text
"# use dlname if we got it. it's perfectly good, no?\n" Comment.Single

'\t    '      Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'-n'          Text
' '           Text
'"'           Literal.String.Double
'$dlname'     Name.Variable
'"'           Literal.String.Double
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t      '  Text
'soname'      Name.Variable
'='           Operator
'"'           Literal.String.Double
'$dlname'     Name.Variable
'"'           Literal.String.Double
'\n\t    '    Text
'elif'        Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'-n'          Text
' '           Text
'"'           Literal.String.Double
'$soname_spec' Name.Variable
'"'           Literal.String.Double
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t      '  Text
'# bleh windows\n' Comment.Single

'\t      '    Text
'case'        Keyword
' '           Text
'$host'       Name.Variable
' '           Text
'in'          Keyword
'\n\t      '  Text
'*cygwin*'    Text
' '           Text
'|'           Punctuation
' '           Text
'mingw*'      Text
')'           Operator
'\n\t\t'      Text
'major'       Name.Variable
'='           Operator
'`'           Literal.String.Backtick
'expr'        Text
' '           Text
'$current'    Name.Variable
' '           Text
'-'           Text
' '           Text
'$age'        Name.Variable
'`'           Literal.String.Backtick
'\n\t\t'      Text
'versuffix'   Name.Variable
'='           Operator
'"'           Literal.String.Double
'-'           Literal.String.Double
'$major'      Name.Variable
'"'           Literal.String.Double
'\n\t\t'      Text
';'           Punctuation
';'           Punctuation
'\n\t      '  Text
'esac'        Keyword
'\n\t      '  Text
'eval'        Name.Builtin
' '           Text
'soname'      Name.Variable
'='           Operator
'\\"'         Literal.String.Escape
'$soname_spec' Name.Variable
'\\"'         Literal.String.Escape
'\n\t    '    Text
'else'        Keyword
'\n\t      '  Text
'soname'      Name.Variable
'='           Operator
'"'           Literal.String.Double
'$realname'   Name.Variable
'"'           Literal.String.Double
'\n\t    '    Text
'fi'          Keyword
'\n\n\t    '  Text
'# Make a new name for the extract_expsyms_cmds to use\n' Comment.Single

'\t    '      Text
'soroot'      Name.Variable
'='           Operator
'"'           Literal.String.Double
'$soname'     Name.Variable
'"'           Literal.String.Double
'\n\t    '    Text
'soname'      Name.Variable
'='           Operator
'`'           Literal.String.Backtick
'$echo'       Name.Variable
' '           Text
'$soroot'     Name.Variable
' '           Text
'|'           Punctuation
' '           Text
'${'          Literal.String.Interpol
'SED'         Name.Variable
'}'           Literal.String.Interpol
' '           Text
'-e'          Text
' '           Text
"'s/^.*\\///'" Literal.String.Single
'`'           Literal.String.Backtick
'\n\t    '    Text
'newlib'      Name.Variable
'='           Operator
'"'           Literal.String.Double
'libimp-`'    Literal.String.Double
'$echo'       Name.Variable
' '           Literal.String.Double
'$soname'     Name.Variable
' | '         Literal.String.Double
'${'          Literal.String.Interpol
'SED'         Name.Variable
'}'           Literal.String.Interpol
" 's/^lib//;s/\\.dll" Literal.String.Double
'$'           Text
"//'`.a"      Literal.String.Double
'"'           Literal.String.Double
'\n\n\t    '  Text
'# If the library has no export list, then create one now\n' Comment.Single

'\t    '      Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'-f'          Text
' '           Text
'"'           Literal.String.Double
'$output_objdir' Name.Variable
'/'           Literal.String.Double
'$soname'     Name.Variable
'-def'        Literal.String.Double
'"'           Literal.String.Double
';'           Punctuation
' '           Text
'then'        Keyword
' '           Text
':'           Text
'\n\t    '    Text
'else'        Keyword
'\n\t      '  Text
'$show'       Name.Variable
' '           Text
'"'           Literal.String.Double
'extracting exported symbol list from \\`' Literal.String.Double
'$soname'     Name.Variable
"'"           Literal.String.Double
'"'           Literal.String.Double
'\n\t      '  Text
'save_ifs'    Name.Variable
'='           Operator
'"'           Literal.String.Double
'$IFS'        Name.Variable
'"'           Literal.String.Double
';'           Punctuation
' '           Text
'IFS'         Name.Variable
'='           Operator
"'~'"         Literal.String.Single
'\n\t      '  Text
'cmds'        Name.Variable
'='           Operator
'$extract_expsyms_cmds' Name.Variable
'\n\t      '  Text
'for'         Keyword
' '           Text
'cmd'         Text
' '           Text
'in'          Keyword
' '           Text
'$cmds'       Name.Variable
';'           Punctuation
' '           Text
'do'          Keyword
'\n\t\t'      Text
'IFS'         Name.Variable
'='           Operator
'"'           Literal.String.Double
'$save_ifs'   Name.Variable
'"'           Literal.String.Double
'\n\t\t'      Text
'eval'        Name.Builtin
' '           Text
'cmd'         Name.Variable
'='           Operator
'\\"'         Literal.String.Escape
'$cmd'        Name.Variable
'\\"'         Literal.String.Escape
'\n\t\t'      Text
'$show'       Name.Variable
' '           Text
'"'           Literal.String.Double
'$cmd'        Name.Variable
'"'           Literal.String.Double
'\n\t\t'      Text
'$run'        Name.Variable
' '           Text
'eval'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$cmd'        Name.Variable
'"'           Literal.String.Double
' '           Text
'||'          Operator
' '           Text
'exit'        Name.Builtin
' '           Text
'$?'          Name.Variable
'\n\t      '  Text
'done'        Keyword
'\n\t      '  Text
'IFS'         Name.Variable
'='           Operator
'"'           Literal.String.Double
'$save_ifs'   Name.Variable
'"'           Literal.String.Double
'\n\t    '    Text
'fi'          Keyword
'\n\n\t    '  Text
'# Create $newlib\n' Comment.Single

'\t    '      Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'-f'          Text
' '           Text
'"'           Literal.String.Double
'$output_objdir' Name.Variable
'/'           Literal.String.Double
'$newlib'     Name.Variable
'"'           Literal.String.Double
';'           Punctuation
' '           Text
'then'        Keyword
' '           Text
':'           Text
';'           Punctuation
' '           Text
'else'        Keyword
'\n\t      '  Text
'$show'       Name.Variable
' '           Text
'"'           Literal.String.Double
'generating import library for \\`' Literal.String.Double
'$soname'     Name.Variable
"'"           Literal.String.Double
'"'           Literal.String.Double
'\n\t      '  Text
'save_ifs'    Name.Variable
'='           Operator
'"'           Literal.String.Double
'$IFS'        Name.Variable
'"'           Literal.String.Double
';'           Punctuation
' '           Text
'IFS'         Name.Variable
'='           Operator
"'~'"         Literal.String.Single
'\n\t      '  Text
'cmds'        Name.Variable
'='           Operator
'$old_archive_from_expsyms_cmds' Name.Variable
'\n\t      '  Text
'for'         Keyword
' '           Text
'cmd'         Text
' '           Text
'in'          Keyword
' '           Text
'$cmds'       Name.Variable
';'           Punctuation
' '           Text
'do'          Keyword
'\n\t\t'      Text
'IFS'         Name.Variable
'='           Operator
'"'           Literal.String.Double
'$save_ifs'   Name.Variable
'"'           Literal.String.Double
'\n\t\t'      Text
'eval'        Name.Builtin
' '           Text
'cmd'         Name.Variable
'='           Operator
'\\"'         Literal.String.Escape
'$cmd'        Name.Variable
'\\"'         Literal.String.Escape
'\n\t\t'      Text
'$show'       Name.Variable
' '           Text
'"'           Literal.String.Double
'$cmd'        Name.Variable
'"'           Literal.String.Double
'\n\t\t'      Text
'$run'        Name.Variable
' '           Text
'eval'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$cmd'        Name.Variable
'"'           Literal.String.Double
' '           Text
'||'          Operator
' '           Text
'exit'        Name.Builtin
' '           Text
'$?'          Name.Variable
'\n\t      '  Text
'done'        Keyword
'\n\t      '  Text
'IFS'         Name.Variable
'='           Operator
'"'           Literal.String.Double
'$save_ifs'   Name.Variable
'"'           Literal.String.Double
'\n\t    '    Text
'fi'          Keyword
'\n\t    '    Text
'# make sure the library variables are pointing to the new library\n' Comment.Single

'\t    '      Text
'dir'         Name.Variable
'='           Operator
'$output_objdir' Name.Variable
'\n\t    '    Text
'linklib'     Name.Variable
'='           Operator
'$newlib'     Name.Variable
'\n\t  '      Text
'fi'          Keyword
' '           Text
'# test -n "$old_archive_from_expsyms_cmds"\n' Comment.Single

'\n\t  '      Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$linkmode'   Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'prog'        Text
' '           Text
'||'          Operator
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$mode'       Name.Variable
'"'           Literal.String.Double
' '           Text
'!'           Text
'='           Operator
' '           Text
'relink'      Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t    '    Text
'add_shlibpath' Name.Variable
'='           Operator
'\n\t    '    Text
'add_dir'     Name.Variable
'='           Operator
'\n\t    '    Text
'add'         Name.Variable
'='           Operator
'\n\t    '    Text
'lib_linked'  Name.Variable
'='           Operator
'yes'         Text
'\n\t    '    Text
'case'        Keyword
' '           Text
'$hardcode_action' Name.Variable
' '           Text
'in'          Keyword
'\n\t    '    Text
'immediate'   Text
' '           Text
'|'           Punctuation
' '           Text
'unsupported' Text
')'           Operator
'\n\t      '  Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$hardcode_direct' Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'no'          Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t\t'      Text
'add'         Name.Variable
'='           Operator
'"'           Literal.String.Double
'$dir'        Name.Variable
'/'           Literal.String.Double
'$linklib'    Name.Variable
'"'           Literal.String.Double
'\n\t\t'      Text
'case'        Keyword
' '           Text
'$host'       Name.Variable
' '           Text
'in'          Keyword
'\n\t\t  '    Text
'*-*-sco3.2v5.0.' Text
'['           Operator
'024'         Literal.Number
']'           Operator
'*'           Text
')'           Operator
' '           Text
'add_dir'     Name.Variable
'='           Operator
'"'           Literal.String.Double
'-L'          Literal.String.Double
'$dir'        Name.Variable
'"'           Literal.String.Double
' '           Text
';'           Punctuation
';'           Punctuation
'\n\t\t  '    Text
'*-*-sysv4*uw2*' Text
')'           Operator
' '           Text
'add_dir'     Name.Variable
'='           Operator
'"'           Literal.String.Double
'-L'          Literal.String.Double
'$dir'        Name.Variable
'"'           Literal.String.Double
' '           Text
';'           Punctuation
';'           Punctuation
'\n\t\t  '    Text
'*-*-sysv5OpenUNIX*' Text
' '           Text
'|'           Punctuation
' '           Text
'*-*-sysv5UnixWare7.' Text
'['           Operator
'01'          Literal.Number
']'           Operator
'.'           Text
'['           Operator
'10'          Literal.Number
']'           Operator
'*'           Text
' '           Text
'|'           Punctuation
' '           Text
'\\\n'        Literal.String.Escape

'\t\t    '    Text
'*-*-unixware7*' Text
')'           Operator
' '           Text
'add_dir'     Name.Variable
'='           Operator
'"'           Literal.String.Double
'-L'          Literal.String.Double
'$dir'        Name.Variable
'"'           Literal.String.Double
' '           Text
';'           Punctuation
';'           Punctuation
'\n\t\t  '    Text
'*-*-darwin*' Text
' '           Text
')'           Operator
'\n\t\t    '  Text
'# if the lib is a module then we can not link against\n' Comment.Single

'\t\t    '    Text
'# it, someone is ignoring the new warnings I added\n' Comment.Single

'\t\t    '    Text
'if'          Keyword
' '           Text
'/usr/bin/file' Text
' '           Text
'-L'          Text
' '           Text
'$add'        Name.Variable
' '           Text
'2'           Literal.Number
'>'           Text
' '           Text
'/dev/null'   Text
' '           Text
'|'           Punctuation
'\n                      ' Text
'$EGREP'      Name.Variable
' '           Text
'": [^:]* bundle"' Literal.String.Double
' '           Text
'>/dev/null'  Text
' '           Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t\t      ' Text
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'** Warning, lib ' Literal.String.Double
'$linklib'    Name.Variable
' is a module, not a shared library' Literal.String.Double
'"'           Literal.String.Double
'\n\t\t      ' Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'-z'          Text
' '           Text
'"'           Literal.String.Double
'$old_library' Name.Variable
'"'           Literal.String.Double
' '           Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t\t        ' Text
'$echo'       Name.Variable
'\n\t\t        ' Text
'$echo'       Name.Variable
' '           Text
'"** And there doesn\'t seem to be a static archive available"' Literal.String.Double
'\n\t\t        ' Text
'$echo'       Name.Variable
' '           Text
'"** The link will probably fail, sorry"' Literal.String.Double
'\n\t\t      ' Text
'else'        Keyword
'\n\t\t        ' Text
'add'         Name.Variable
'='           Operator
'"'           Literal.String.Double
'$dir'        Name.Variable
'/'           Literal.String.Double
'$old_library' Name.Variable
'"'           Literal.String.Double
'\n\t\t      ' Text
'fi'          Keyword
'\n\t\t    '  Text
'fi'          Keyword
'\n\t\t'      Text
'esac'        Keyword
'\n\t      '  Text
'elif'        Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$hardcode_minus_L' Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'no'          Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t\t'      Text
'case'        Keyword
' '           Text
'$host'       Name.Variable
' '           Text
'in'          Keyword
'\n\t\t'      Text
'*-*-sunos*'  Text
')'           Operator
' '           Text
'add_shlibpath' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$dir'        Name.Variable
'"'           Literal.String.Double
' '           Text
';'           Punctuation
';'           Punctuation
'\n\t\t'      Text
'esac'        Keyword
'\n\t\t'      Text
'add_dir'     Name.Variable
'='           Operator
'"'           Literal.String.Double
'-L'          Literal.String.Double
'$dir'        Name.Variable
'"'           Literal.String.Double
'\n\t\t'      Text
'add'         Name.Variable
'='           Operator
'"'           Literal.String.Double
'-l'          Literal.String.Double
'$name'       Name.Variable
'"'           Literal.String.Double
'\n\t      '  Text
'elif'        Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$hardcode_shlibpath_var' Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'no'          Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t\t'      Text
'add_shlibpath' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$dir'        Name.Variable
'"'           Literal.String.Double
'\n\t\t'      Text
'add'         Name.Variable
'='           Operator
'"'           Literal.String.Double
'-l'          Literal.String.Double
'$name'       Name.Variable
'"'           Literal.String.Double
'\n\t      '  Text
'else'        Keyword
'\n\t\t'      Text
'lib_linked'  Name.Variable
'='           Operator
'no'          Text
'\n\t      '  Text
'fi'          Keyword
'\n\t      '  Text
';'           Punctuation
';'           Punctuation
'\n\t    '    Text
'relink'      Text
')'           Operator
'\n\t      '  Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$hardcode_direct' Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'yes'         Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t\t'      Text
'add'         Name.Variable
'='           Operator
'"'           Literal.String.Double
'$dir'        Name.Variable
'/'           Literal.String.Double
'$linklib'    Name.Variable
'"'           Literal.String.Double
'\n\t      '  Text
'elif'        Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$hardcode_minus_L' Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'yes'         Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t\t'      Text
'add_dir'     Name.Variable
'='           Operator
'"'           Literal.String.Double
'-L'          Literal.String.Double
'$dir'        Name.Variable
'"'           Literal.String.Double
'\n\t\t'      Text
"# Try looking first in the location we're being installed to.\n" Comment.Single

'\t\t'        Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'-n'          Text
' '           Text
'"'           Literal.String.Double
'$inst_prefix_dir' Name.Variable
'"'           Literal.String.Double
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t\t  '    Text
'case'        Keyword
' '           Text
'$libdir'     Name.Variable
' '           Text
'in'          Keyword
'\n\t\t    '  Text
'['           Operator
'\\\\'        Literal.String.Escape
'/'           Text
']'           Operator
'*'           Text
')'           Operator
'\n\t\t      ' Text
'add_dir'     Name.Variable
'='           Operator
'"'           Literal.String.Double
'$add_dir'    Name.Variable
' -L'         Literal.String.Double
'$inst_prefix_dir' Name.Variable
'$libdir'     Name.Variable
'"'           Literal.String.Double
'\n\t\t      ' Text
';'           Punctuation
';'           Punctuation
'\n\t\t  '    Text
'esac'        Keyword
'\n\t\t'      Text
'fi'          Keyword
'\n\t\t'      Text
'add'         Name.Variable
'='           Operator
'"'           Literal.String.Double
'-l'          Literal.String.Double
'$name'       Name.Variable
'"'           Literal.String.Double
'\n\t      '  Text
'elif'        Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$hardcode_shlibpath_var' Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'yes'         Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t\t'      Text
'add_shlibpath' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$dir'        Name.Variable
'"'           Literal.String.Double
'\n\t\t'      Text
'add'         Name.Variable
'='           Operator
'"'           Literal.String.Double
'-l'          Literal.String.Double
'$name'       Name.Variable
'"'           Literal.String.Double
'\n\t      '  Text
'else'        Keyword
'\n\t\t'      Text
'lib_linked'  Name.Variable
'='           Operator
'no'          Text
'\n\t      '  Text
'fi'          Keyword
'\n\t      '  Text
';'           Punctuation
';'           Punctuation
'\n\t    '    Text
'*'           Text
')'           Operator
' '           Text
'lib_linked'  Name.Variable
'='           Operator
'no'          Text
' '           Text
';'           Punctuation
';'           Punctuation
'\n\t    '    Text
'esac'        Keyword
'\n\n\t    '  Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$lib_linked' Name.Variable
'"'           Literal.String.Double
' '           Text
'!'           Text
'='           Operator
' '           Text
'yes'         Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t      '  Text
'$echo'       Name.Variable
' '           Text
'"'           Literal.String.Double
'$modename'   Name.Variable
': configuration error: unsupported hardcode properties' Literal.String.Double
'"'           Literal.String.Double
'\n\t      '  Text
'exit'        Name.Builtin
' '           Text
'$EXIT_FAILURE' Name.Variable
'\n\t    '    Text
'fi'          Keyword
'\n\n\t    '  Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'-n'          Text
' '           Text
'"'           Literal.String.Double
'$add_shlibpath' Name.Variable
'"'           Literal.String.Double
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t      '  Text
'case'        Keyword
' '           Text
':'           Text
'$compile_shlibpath' Name.Variable
':'           Text
' '           Text
'in'          Keyword
'\n\t      '  Text
'*'           Text
'"'           Literal.String.Double
':'           Literal.String.Double
'$add_shlibpath' Name.Variable
':'           Literal.String.Double
'"'           Literal.String.Double
'*'           Text
')'           Operator
' '           Text
';'           Punctuation
';'           Punctuation
'\n\t      '  Text
'*'           Text
')'           Operator
' '           Text
'compile_shlibpath' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$compile_shlibpath' Name.Variable
'$add_shlibpath' Name.Variable
':'           Literal.String.Double
'"'           Literal.String.Double
' '           Text
';'           Punctuation
';'           Punctuation
'\n\t      '  Text
'esac'        Keyword
'\n\t    '    Text
'fi'          Keyword
'\n\t    '    Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$linkmode'   Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'prog'        Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t      '  Text
'test'        Name.Builtin
' '           Text
'-n'          Text
' '           Text
'"'           Literal.String.Double
'$add_dir'    Name.Variable
'"'           Literal.String.Double
' '           Text
'&&'          Operator
' '           Text
'compile_deplibs' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$add_dir'    Name.Variable
' '           Literal.String.Double
'$compile_deplibs' Name.Variable
'"'           Literal.String.Double
'\n\t      '  Text
'test'        Name.Builtin
' '           Text
'-n'          Text
' '           Text
'"'           Literal.String.Double
'$add'        Name.Variable
'"'           Literal.String.Double
' '           Text
'&&'          Operator
' '           Text
'compile_deplibs' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$add'        Name.Variable
' '           Literal.String.Double
'$compile_deplibs' Name.Variable
'"'           Literal.String.Double
'\n\t    '    Text
'else'        Keyword
'\n\t      '  Text
'test'        Name.Builtin
' '           Text
'-n'          Text
' '           Text
'"'           Literal.String.Double
'$add_dir'    Name.Variable
'"'           Literal.String.Double
' '           Text
'&&'          Operator
' '           Text
'deplibs'     Name.Variable
'='           Operator
'"'           Literal.String.Double
'$add_dir'    Name.Variable
' '           Literal.String.Double
'$deplibs'    Name.Variable
'"'           Literal.String.Double
'\n\t      '  Text
'test'        Name.Builtin
' '           Text
'-n'          Text
' '           Text
'"'           Literal.String.Double
'$add'        Name.Variable
'"'           Literal.String.Double
' '           Text
'&&'          Operator
' '           Text
'deplibs'     Name.Variable
'='           Operator
'"'           Literal.String.Double
'$add'        Name.Variable
' '           Literal.String.Double
'$deplibs'    Name.Variable
'"'           Literal.String.Double
'\n\t      '  Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$hardcode_direct' Name.Variable
'"'           Literal.String.Double
' '           Text
'!'           Text
'='           Operator
' '           Text
'yes'         Text
' '           Text
'&&'          Operator
' '           Text
'\\\n'        Literal.String.Escape

'\t\t '       Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$hardcode_minus_L' Name.Variable
'"'           Literal.String.Double
' '           Text
'!'           Text
'='           Operator
' '           Text
'yes'         Text
' '           Text
'&&'          Operator
' '           Text
'\\\n'        Literal.String.Escape

'\t\t '       Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$hardcode_shlibpath_var' Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'yes'         Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t\t'      Text
'case'        Keyword
' '           Text
':'           Text
'$finalize_shlibpath' Name.Variable
':'           Text
' '           Text
'in'          Keyword
'\n\t\t'      Text
'*'           Text
'"'           Literal.String.Double
':'           Literal.String.Double
'$libdir'     Name.Variable
':'           Literal.String.Double
'"'           Literal.String.Double
'*'           Text
')'           Operator
' '           Text
';'           Punctuation
';'           Punctuation
'\n\t\t'      Text
'*'           Text
')'           Operator
' '           Text
'finalize_shlibpath' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$finalize_shlibpath' Name.Variable
'$libdir'     Name.Variable
':'           Literal.String.Double
'"'           Literal.String.Double
' '           Text
';'           Punctuation
';'           Punctuation
'\n\t\t'      Text
'esac'        Keyword
'\n\t      '  Text
'fi'          Keyword
'\n\t    '    Text
'fi'          Keyword
'\n\t  '      Text
'fi'          Keyword
'\n\n\t  '    Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$linkmode'   Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'prog'        Text
' '           Text
'||'          Operator
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$mode'       Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'relink'      Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t    '    Text
'add_shlibpath' Name.Variable
'='           Operator
'\n\t    '    Text
'add_dir'     Name.Variable
'='           Operator
'\n\t    '    Text
'add'         Name.Variable
'='           Operator
'\n\t    '    Text
'# Finalize command for both is simple: just hardcode it.\n' Comment.Single

'\t    '      Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$hardcode_direct' Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'yes'         Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t      '  Text
'add'         Name.Variable
'='           Operator
'"'           Literal.String.Double
'$libdir'     Name.Variable
'/'           Literal.String.Double
'$linklib'    Name.Variable
'"'           Literal.String.Double
'\n\t    '    Text
'elif'        Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$hardcode_minus_L' Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'yes'         Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t      '  Text
'add_dir'     Name.Variable
'='           Operator
'"'           Literal.String.Double
'-L'          Literal.String.Double
'$libdir'     Name.Variable
'"'           Literal.String.Double
'\n\t      '  Text
'add'         Name.Variable
'='           Operator
'"'           Literal.String.Double
'-l'          Literal.String.Double
'$name'       Name.Variable
'"'           Literal.String.Double
'\n\t    '    Text
'elif'        Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$hardcode_shlibpath_var' Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'yes'         Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t      '  Text
'case'        Keyword
' '           Text
':'           Text
'$finalize_shlibpath' Name.Variable
':'           Text
' '           Text
'in'          Keyword
'\n\t      '  Text
'*'           Text
'"'           Literal.String.Double
':'           Literal.String.Double
'$libdir'     Name.Variable
':'           Literal.String.Double
'"'           Literal.String.Double
'*'           Text
')'           Operator
' '           Text
';'           Punctuation
';'           Punctuation
'\n\t      '  Text
'*'           Text
')'           Operator
' '           Text
'finalize_shlibpath' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$finalize_shlibpath' Name.Variable
'$libdir'     Name.Variable
':'           Literal.String.Double
'"'           Literal.String.Double
' '           Text
';'           Punctuation
';'           Punctuation
'\n\t      '  Text
'esac'        Keyword
'\n\t      '  Text
'add'         Name.Variable
'='           Operator
'"'           Literal.String.Double
'-l'          Literal.String.Double
'$name'       Name.Variable
'"'           Literal.String.Double
'\n\t    '    Text
'elif'        Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$hardcode_automatic' Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'yes'         Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t      '  Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'-n'          Text
' '           Text
'"'           Literal.String.Double
'$inst_prefix_dir' Name.Variable
'"'           Literal.String.Double
' '           Text
'&&'          Operator
'\n\t\t '     Text
'test'        Name.Builtin
' '           Text
'-f'          Text
' '           Text
'"'           Literal.String.Double
'$inst_prefix_dir' Name.Variable
'$libdir'     Name.Variable
'/'           Literal.String.Double
'$linklib'    Name.Variable
'"'           Literal.String.Double
' '           Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t        ' Text
'add'         Name.Variable
'='           Operator
'"'           Literal.String.Double
'$inst_prefix_dir' Name.Variable
'$libdir'     Name.Variable
'/'           Literal.String.Double
'$linklib'    Name.Variable
'"'           Literal.String.Double
'\n\t      '  Text
'else'        Keyword
'\n\t        ' Text
'add'         Name.Variable
'='           Operator
'"'           Literal.String.Double
'$libdir'     Name.Variable
'/'           Literal.String.Double
'$linklib'    Name.Variable
'"'           Literal.String.Double
'\n\t      '  Text
'fi'          Keyword
'\n\t    '    Text
'else'        Keyword
'\n\t      '  Text
"# We cannot seem to hardcode it, guess we'll fake it.\n" Comment.Single

'\t      '    Text
'add_dir'     Name.Variable
'='           Operator
'"'           Literal.String.Double
'-L'          Literal.String.Double
'$libdir'     Name.Variable
'"'           Literal.String.Double
'\n\t      '  Text
"# Try looking first in the location we're being installed to.\n" Comment.Single

'\t      '    Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'-n'          Text
' '           Text
'"'           Literal.String.Double
'$inst_prefix_dir' Name.Variable
'"'           Literal.String.Double
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t\t'      Text
'case'        Keyword
' '           Text
'$libdir'     Name.Variable
' '           Text
'in'          Keyword
'\n\t\t  '    Text
'['           Operator
'\\\\'        Literal.String.Escape
'/'           Text
']'           Operator
'*'           Text
')'           Operator
'\n\t\t    '  Text
'add_dir'     Name.Variable
'='           Operator
'"'           Literal.String.Double
'$add_dir'    Name.Variable
' -L'         Literal.String.Double
'$inst_prefix_dir' Name.Variable
'$libdir'     Name.Variable
'"'           Literal.String.Double
'\n\t\t    '  Text
';'           Punctuation
';'           Punctuation
'\n\t\t'      Text
'esac'        Keyword
'\n\t      '  Text
'fi'          Keyword
'\n\t      '  Text
'add'         Name.Variable
'='           Operator
'"'           Literal.String.Double
'-l'          Literal.String.Double
'$name'       Name.Variable
'"'           Literal.String.Double
'\n\t    '    Text
'fi'          Keyword
'\n\n\t    '  Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$linkmode'   Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'prog'        Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t      '  Text
'test'        Name.Builtin
' '           Text
'-n'          Text
' '           Text
'"'           Literal.String.Double
'$add_dir'    Name.Variable
'"'           Literal.String.Double
' '           Text
'&&'          Operator
' '           Text
'finalize_deplibs' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$add_dir'    Name.Variable
' '           Literal.String.Double
'$finalize_deplibs' Name.Variable
'"'           Literal.String.Double
'\n\t      '  Text
'test'        Name.Builtin
' '           Text
'-n'          Text
' '           Text
'"'           Literal.String.Double
'$add'        Name.Variable
'"'           Literal.String.Double
' '           Text
'&&'          Operator
' '           Text
'finalize_deplibs' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$add'        Name.Variable
' '           Literal.String.Double
'$finalize_deplibs' Name.Variable
'"'           Literal.String.Double
'\n\t    '    Text
'else'        Keyword
'\n\t      '  Text
'test'        Name.Builtin
' '           Text
'-n'          Text
' '           Text
'"'           Literal.String.Double
'$add_dir'    Name.Variable
'"'           Literal.String.Double
' '           Text
'&&'          Operator
' '           Text
'deplibs'     Name.Variable
'='           Operator
'"'           Literal.String.Double
'$add_dir'    Name.Variable
' '           Literal.String.Double
'$deplibs'    Name.Variable
'"'           Literal.String.Double
'\n\t      '  Text
'test'        Name.Builtin
' '           Text
'-n'          Text
' '           Text
'"'           Literal.String.Double
'$add'        Name.Variable
'"'           Literal.String.Double
' '           Text
'&&'          Operator
' '           Text
'deplibs'     Name.Variable
'='           Operator
'"'           Literal.String.Double
'$add'        Name.Variable
' '           Literal.String.Double
'$deplibs'    Name.Variable
'"'           Literal.String.Double
'\n\t    '    Text
'fi'          Keyword
'\n\t  '      Text
'fi'          Keyword
'\n\t'        Text
'elif'        Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$linkmode'   Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'prog'        Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t  '      Text
'# Here we assume that one of hardcode_direct or hardcode_minus_L\n' Comment.Single

'\t  '        Text
'# is not unsupported.  This is valid on all known static and\n' Comment.Single

'\t  '        Text
'# shared platforms.\n' Comment.Single

'\t  '        Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$hardcode_direct' Name.Variable
'"'           Literal.String.Double
' '           Text
'!'           Text
'='           Operator
' '           Text
'unsupported' Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t    '    Text
'test'        Name.Builtin
' '           Text
'-n'          Text
' '           Text
'"'           Literal.String.Double
'$old_library' Name.Variable
'"'           Literal.String.Double
' '           Text
'&&'          Operator
' '           Text
'linklib'     Name.Variable
'='           Operator
'"'           Literal.String.Double
'$old_library' Name.Variable
'"'           Literal.String.Double
'\n\t    '    Text
'compile_deplibs' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$dir'        Name.Variable
'/'           Literal.String.Double
'$linklib'    Name.Variable
' '           Literal.String.Double
'$compile_deplibs' Name.Variable
'"'           Literal.String.Double
'\n\t    '    Text
'finalize_deplibs' Name.Variable
'='           Operator
'"'           Literal.String.Double
'$dir'        Name.Variable
'/'           Literal.String.Double
'$linklib'    Name.Variable
' '           Literal.String.Double
'$finalize_deplibs' Name.Variable
'"'           Literal.String.Double
'\n\t  '      Text
'else'        Keyword
'\n\t    '    Text
'compile_deplibs' Name.Variable
'='           Operator
'"'           Literal.String.Double
'-l'          Literal.String.Double
'$name'       Name.Variable
' -L'         Literal.String.Double
'$dir'        Name.Variable
' '           Literal.String.Double
'$compile_deplibs' Name.Variable
'"'           Literal.String.Double
'\n\t    '    Text
'finalize_deplibs' Name.Variable
'='           Operator
'"'           Literal.String.Double
'-l'          Literal.String.Double
'$name'       Name.Variable
' -L'         Literal.String.Double
'$dir'        Name.Variable
' '           Literal.String.Double
'$finalize_deplibs' Name.Variable
'"'           Literal.String.Double
'\n\t  '      Text
'fi'          Keyword
'\n\t'        Text
'elif'        Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$build_libtool_libs' Name.Variable
'"'           Literal.String.Double
' '           Text
'='           Operator
' '           Text
'yes'         Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t  '      Text
'# Not a shared library\n' Comment.Single

'\t  '        Text
'if'          Keyword
' '           Text
'test'        Name.Builtin
' '           Text
'"'           Literal.String.Double
'$deplibs_check_method' Name.Variable
'"'           Literal.String.Double
' '           Text
'!'           Text
'='           Operator
' '           Text
'pass_all'    Text
';'           Punctuation
' '           Text
'then'        Keyword
'\n\t    '    Text
"# We're trying link a shared library against a static one\n" Comment.Single

'\t    '      Text
"# but the system doesn't support it.\n" Comment.Single
