Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Changeset 5479 in orxonox.OLD for trunk/depcomp


Ignore:
Timestamp:
Nov 3, 2005, 8:50:51 PM (19 years ago)
Author:
bensch
Message:

orxonox/trunk: updated to new autoconf, moved resourcemanager to util/loading

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/depcomp

    r1956 r5479  
    11#! /bin/sh
    2 
    32# depcomp - compile a program generating dependencies as side-effects
    4 # Copyright 1999, 2000, 2003 Free Software Foundation, Inc.
     3
     4scriptversion=2005-07-09.11
     5
     6# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc.
    57
    68# This program is free software; you can redistribute it and/or modify
     
    1618# You should have received a copy of the GNU General Public License
    1719# along with this program; if not, write to the Free Software
    18 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
    19 # 02111-1307, USA.
     20# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
     21# 02110-1301, USA.
    2022
    2123# As a special exception to the GNU General Public License, if you
     
    2628# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
    2729
     30case $1 in
     31  '')
     32     echo "$0: No command.  Try \`$0 --help' for more information." 1>&2
     33     exit 1;
     34     ;;
     35  -h | --h*)
     36    cat <<\EOF
     37Usage: depcomp [--help] [--version] PROGRAM [ARGS]
     38
     39Run PROGRAMS ARGS to compile a file, generating dependencies
     40as side-effects.
     41
     42Environment variables:
     43  depmode     Dependency tracking mode.
     44  source      Source file read by `PROGRAMS ARGS'.
     45  object      Object file output by `PROGRAMS ARGS'.
     46  DEPDIR      directory where to store dependencies.
     47  depfile     Dependency file to output.
     48  tmpdepfile  Temporary file to use when outputing dependencies.
     49  libtool     Whether libtool is used (yes/no).
     50
     51Report bugs to <bug-automake@gnu.org>.
     52EOF
     53    exit $?
     54    ;;
     55  -v | --v*)
     56    echo "depcomp $scriptversion"
     57    exit $?
     58    ;;
     59esac
     60
    2861if test -z "$depmode" || test -z "$source" || test -z "$object"; then
    2962  echo "depcomp: Variables source, object and depmode must be set" 1>&2
    3063  exit 1
    3164fi
    32 # `libtool' can also be set to `yes' or `no'.
    33 
    34 if test -z "$depfile"; then
    35    base=`echo "$object" | sed -e 's,^.*/,,' -e 's,\.\([^.]*\)$,.P\1,'`
    36    dir=`echo "$object" | sed 's,/.*$,/,'`
    37    if test "$dir" = "$object"; then
    38       dir=
    39    fi
    40    # FIXME: should be _deps on DOS.
    41    depfile="$dir.deps/$base"
    42 fi
    43 
     65
     66# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
     67depfile=${depfile-`echo "$object" |
     68  sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
    4469tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
    4570
     
    263288
    264289   if test "$libtool" = yes; then
    265       tmpdepfile1="$dir.libs/$base.lo.d"
    266       tmpdepfile2="$dir.libs/$base.d"
     290      # With Tru64 cc, shared objects can also be used to make a
     291      # static library.  This mecanism is used in libtool 1.4 series to
     292      # handle both shared and static libraries in a single compilation.
     293      # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
     294      #
     295      # With libtool 1.5 this exception was removed, and libtool now
     296      # generates 2 separate objects for the 2 libraries.  These two
     297      # compilations output dependencies in in $dir.libs/$base.o.d and
     298      # in $dir$base.o.d.  We have to check for both files, because
     299      # one of the two compilations can be disabled.  We should prefer
     300      # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
     301      # automatically cleaned when .libs/ is deleted, while ignoring
     302      # the former would cause a distcleancheck panic.
     303      tmpdepfile1=$dir.libs/$base.lo.d   # libtool 1.4
     304      tmpdepfile2=$dir$base.o.d          # libtool 1.5
     305      tmpdepfile3=$dir.libs/$base.o.d    # libtool 1.5
     306      tmpdepfile4=$dir.libs/$base.d      # Compaq CCC V6.2-504
    267307      "$@" -Wc,-MD
    268308   else
    269       tmpdepfile1="$dir$base.o.d"
    270       tmpdepfile2="$dir$base.d"
     309      tmpdepfile1=$dir$base.o.d
     310      tmpdepfile2=$dir$base.d
     311      tmpdepfile3=$dir$base.d
     312      tmpdepfile4=$dir$base.d
    271313      "$@" -MD
    272314   fi
     
    275317   if test $stat -eq 0; then :
    276318   else
    277       rm -f "$tmpdepfile1" "$tmpdepfile2"
     319      rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
    278320      exit $stat
    279321   fi
    280322
    281    if test -f "$tmpdepfile1"; then
    282       tmpdepfile="$tmpdepfile1"
    283    else
    284       tmpdepfile="$tmpdepfile2"
    285    fi
     323   for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
     324   do
     325     test -f "$tmpdepfile" && break
     326   done
    286327   if test -f "$tmpdepfile"; then
    287328      sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
     
    427468
    428469  "$@" -E |
    429     sed -n '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
     470    sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
     471       -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
    430472    sed '$ s: \\$::' > "$tmpdepfile"
    431473  rm -f "$depfile"
     
    478520
    479521exit 0
     522
     523# Local Variables:
     524# mode: shell-script
     525# sh-indentation: 2
     526# eval: (add-hook 'write-file-hooks 'time-stamp)
     527# time-stamp-start: "scriptversion="
     528# time-stamp-format: "%:y-%02m-%02d.%02H"
     529# time-stamp-end: "$"
     530# End:
Note: See TracChangeset for help on using the changeset viewer.