ipc/chromium/src/third_party/libevent/depcomp

Wed, 31 Dec 2014 13:27:57 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 13:27:57 +0100
branch
TOR_BUG_3246
changeset 6
8bccb770b82d
permissions
-rwxr-xr-x

Ignore runtime configuration files generated during quality assurance.

     1 #! /bin/sh
     2 # depcomp - compile a program generating dependencies as side-effects
     4 scriptversion=2012-03-27.16; # UTC
     6 # Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009, 2010,
     7 # 2011, 2012 Free Software Foundation, Inc.
     9 # This program is free software; you can redistribute it and/or modify
    10 # it under the terms of the GNU General Public License as published by
    11 # the Free Software Foundation; either version 2, or (at your option)
    12 # any later version.
    14 # This program is distributed in the hope that it will be useful,
    15 # but WITHOUT ANY WARRANTY; without even the implied warranty of
    16 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    17 # GNU General Public License for more details.
    19 # You should have received a copy of the GNU General Public License
    20 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
    22 # As a special exception to the GNU General Public License, if you
    23 # distribute this file as part of a program that contains a
    24 # configuration script generated by Autoconf, you may include it under
    25 # the same distribution terms that you use for the rest of that program.
    27 # Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
    29 case $1 in
    30   '')
    31      echo "$0: No command.  Try '$0 --help' for more information." 1>&2
    32      exit 1;
    33      ;;
    34   -h | --h*)
    35     cat <<\EOF
    36 Usage: depcomp [--help] [--version] PROGRAM [ARGS]
    38 Run PROGRAMS ARGS to compile a file, generating dependencies
    39 as side-effects.
    41 Environment variables:
    42   depmode     Dependency tracking mode.
    43   source      Source file read by 'PROGRAMS ARGS'.
    44   object      Object file output by 'PROGRAMS ARGS'.
    45   DEPDIR      directory where to store dependencies.
    46   depfile     Dependency file to output.
    47   tmpdepfile  Temporary file to use when outputting dependencies.
    48   libtool     Whether libtool is used (yes/no).
    50 Report bugs to <bug-automake@gnu.org>.
    51 EOF
    52     exit $?
    53     ;;
    54   -v | --v*)
    55     echo "depcomp $scriptversion"
    56     exit $?
    57     ;;
    58 esac
    60 # A tabulation character.
    61 tab='	'
    62 # A newline character.
    63 nl='
    64 '
    66 if test -z "$depmode" || test -z "$source" || test -z "$object"; then
    67   echo "depcomp: Variables source, object and depmode must be set" 1>&2
    68   exit 1
    69 fi
    71 # Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
    72 depfile=${depfile-`echo "$object" |
    73   sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
    74 tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
    76 rm -f "$tmpdepfile"
    78 # Some modes work just like other modes, but use different flags.  We
    79 # parameterize here, but still list the modes in the big case below,
    80 # to make depend.m4 easier to write.  Note that we *cannot* use a case
    81 # here, because this file can only contain one case statement.
    82 if test "$depmode" = hp; then
    83   # HP compiler uses -M and no extra arg.
    84   gccflag=-M
    85   depmode=gcc
    86 fi
    88 if test "$depmode" = dashXmstdout; then
    89    # This is just like dashmstdout with a different argument.
    90    dashmflag=-xM
    91    depmode=dashmstdout
    92 fi
    94 cygpath_u="cygpath -u -f -"
    95 if test "$depmode" = msvcmsys; then
    96    # This is just like msvisualcpp but w/o cygpath translation.
    97    # Just convert the backslash-escaped backslashes to single forward
    98    # slashes to satisfy depend.m4
    99    cygpath_u='sed s,\\\\,/,g'
   100    depmode=msvisualcpp
   101 fi
   103 if test "$depmode" = msvc7msys; then
   104    # This is just like msvc7 but w/o cygpath translation.
   105    # Just convert the backslash-escaped backslashes to single forward
   106    # slashes to satisfy depend.m4
   107    cygpath_u='sed s,\\\\,/,g'
   108    depmode=msvc7
   109 fi
   111 if test "$depmode" = xlc; then
   112    # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency informations.
   113    gccflag=-qmakedep=gcc,-MF
   114    depmode=gcc
   115 fi
   117 case "$depmode" in
   118 gcc3)
   119 ## gcc 3 implements dependency tracking that does exactly what
   120 ## we want.  Yay!  Note: for some reason libtool 1.4 doesn't like
   121 ## it if -MD -MP comes after the -MF stuff.  Hmm.
   122 ## Unfortunately, FreeBSD c89 acceptance of flags depends upon
   123 ## the command line argument order; so add the flags where they
   124 ## appear in depend2.am.  Note that the slowdown incurred here
   125 ## affects only configure: in makefiles, %FASTDEP% shortcuts this.
   126   for arg
   127   do
   128     case $arg in
   129     -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;;
   130     *)  set fnord "$@" "$arg" ;;
   131     esac
   132     shift # fnord
   133     shift # $arg
   134   done
   135   "$@"
   136   stat=$?
   137   if test $stat -eq 0; then :
   138   else
   139     rm -f "$tmpdepfile"
   140     exit $stat
   141   fi
   142   mv "$tmpdepfile" "$depfile"
   143   ;;
   145 gcc)
   146 ## There are various ways to get dependency output from gcc.  Here's
   147 ## why we pick this rather obscure method:
   148 ## - Don't want to use -MD because we'd like the dependencies to end
   149 ##   up in a subdir.  Having to rename by hand is ugly.
   150 ##   (We might end up doing this anyway to support other compilers.)
   151 ## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
   152 ##   -MM, not -M (despite what the docs say).
   153 ## - Using -M directly means running the compiler twice (even worse
   154 ##   than renaming).
   155   if test -z "$gccflag"; then
   156     gccflag=-MD,
   157   fi
   158   "$@" -Wp,"$gccflag$tmpdepfile"
   159   stat=$?
   160   if test $stat -eq 0; then :
   161   else
   162     rm -f "$tmpdepfile"
   163     exit $stat
   164   fi
   165   rm -f "$depfile"
   166   echo "$object : \\" > "$depfile"
   167   alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
   168 ## The second -e expression handles DOS-style file names with drive letters.
   169   sed -e 's/^[^:]*: / /' \
   170       -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
   171 ## This next piece of magic avoids the "deleted header file" problem.
   172 ## The problem is that when a header file which appears in a .P file
   173 ## is deleted, the dependency causes make to die (because there is
   174 ## typically no way to rebuild the header).  We avoid this by adding
   175 ## dummy dependencies for each header file.  Too bad gcc doesn't do
   176 ## this for us directly.
   177   tr ' ' "$nl" < "$tmpdepfile" |
   178 ## Some versions of gcc put a space before the ':'.  On the theory
   179 ## that the space means something, we add a space to the output as
   180 ## well.  hp depmode also adds that space, but also prefixes the VPATH
   181 ## to the object.  Take care to not repeat it in the output.
   182 ## Some versions of the HPUX 10.20 sed can't process this invocation
   183 ## correctly.  Breaking it into two sed invocations is a workaround.
   184     sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \
   185       | sed -e 's/$/ :/' >> "$depfile"
   186   rm -f "$tmpdepfile"
   187   ;;
   189 hp)
   190   # This case exists only to let depend.m4 do its work.  It works by
   191   # looking at the text of this script.  This case will never be run,
   192   # since it is checked for above.
   193   exit 1
   194   ;;
   196 sgi)
   197   if test "$libtool" = yes; then
   198     "$@" "-Wp,-MDupdate,$tmpdepfile"
   199   else
   200     "$@" -MDupdate "$tmpdepfile"
   201   fi
   202   stat=$?
   203   if test $stat -eq 0; then :
   204   else
   205     rm -f "$tmpdepfile"
   206     exit $stat
   207   fi
   208   rm -f "$depfile"
   210   if test -f "$tmpdepfile"; then  # yes, the sourcefile depend on other files
   211     echo "$object : \\" > "$depfile"
   213     # Clip off the initial element (the dependent).  Don't try to be
   214     # clever and replace this with sed code, as IRIX sed won't handle
   215     # lines with more than a fixed number of characters (4096 in
   216     # IRIX 6.2 sed, 8192 in IRIX 6.5).  We also remove comment lines;
   217     # the IRIX cc adds comments like '#:fec' to the end of the
   218     # dependency line.
   219     tr ' ' "$nl" < "$tmpdepfile" \
   220     | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
   221     tr "$nl" ' ' >> "$depfile"
   222     echo >> "$depfile"
   224     # The second pass generates a dummy entry for each header file.
   225     tr ' ' "$nl" < "$tmpdepfile" \
   226    | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
   227    >> "$depfile"
   228   else
   229     # The sourcefile does not contain any dependencies, so just
   230     # store a dummy comment line, to avoid errors with the Makefile
   231     # "include basename.Plo" scheme.
   232     echo "#dummy" > "$depfile"
   233   fi
   234   rm -f "$tmpdepfile"
   235   ;;
   237 xlc)
   238   # This case exists only to let depend.m4 do its work.  It works by
   239   # looking at the text of this script.  This case will never be run,
   240   # since it is checked for above.
   241   exit 1
   242   ;;
   244 aix)
   245   # The C for AIX Compiler uses -M and outputs the dependencies
   246   # in a .u file.  In older versions, this file always lives in the
   247   # current directory.  Also, the AIX compiler puts '$object:' at the
   248   # start of each line; $object doesn't have directory information.
   249   # Version 6 uses the directory in both cases.
   250   dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
   251   test "x$dir" = "x$object" && dir=
   252   base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
   253   if test "$libtool" = yes; then
   254     tmpdepfile1=$dir$base.u
   255     tmpdepfile2=$base.u
   256     tmpdepfile3=$dir.libs/$base.u
   257     "$@" -Wc,-M
   258   else
   259     tmpdepfile1=$dir$base.u
   260     tmpdepfile2=$dir$base.u
   261     tmpdepfile3=$dir$base.u
   262     "$@" -M
   263   fi
   264   stat=$?
   266   if test $stat -eq 0; then :
   267   else
   268     rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
   269     exit $stat
   270   fi
   272   for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
   273   do
   274     test -f "$tmpdepfile" && break
   275   done
   276   if test -f "$tmpdepfile"; then
   277     # Each line is of the form 'foo.o: dependent.h'.
   278     # Do two passes, one to just change these to
   279     # '$object: dependent.h' and one to simply 'dependent.h:'.
   280     sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
   281     sed -e 's,^.*\.[a-z]*:['"$tab"' ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
   282   else
   283     # The sourcefile does not contain any dependencies, so just
   284     # store a dummy comment line, to avoid errors with the Makefile
   285     # "include basename.Plo" scheme.
   286     echo "#dummy" > "$depfile"
   287   fi
   288   rm -f "$tmpdepfile"
   289   ;;
   291 icc)
   292   # Intel's C compiler anf tcc (Tiny C Compiler) understand '-MD -MF file'.
   293   # However on
   294   #    $CC -MD -MF foo.d -c -o sub/foo.o sub/foo.c
   295   # ICC 7.0 will fill foo.d with something like
   296   #    foo.o: sub/foo.c
   297   #    foo.o: sub/foo.h
   298   # which is wrong.  We want
   299   #    sub/foo.o: sub/foo.c
   300   #    sub/foo.o: sub/foo.h
   301   #    sub/foo.c:
   302   #    sub/foo.h:
   303   # ICC 7.1 will output
   304   #    foo.o: sub/foo.c sub/foo.h
   305   # and will wrap long lines using '\':
   306   #    foo.o: sub/foo.c ... \
   307   #     sub/foo.h ... \
   308   #     ...
   309   # tcc 0.9.26 (FIXME still under development at the moment of writing)
   310   # will emit a similar output, but also prepend the continuation lines
   311   # with horizontal tabulation characters.
   312   "$@" -MD -MF "$tmpdepfile"
   313   stat=$?
   314   if test $stat -eq 0; then :
   315   else
   316     rm -f "$tmpdepfile"
   317     exit $stat
   318   fi
   319   rm -f "$depfile"
   320   # Each line is of the form 'foo.o: dependent.h',
   321   # or 'foo.o: dep1.h dep2.h \', or ' dep3.h dep4.h \'.
   322   # Do two passes, one to just change these to
   323   # '$object: dependent.h' and one to simply 'dependent.h:'.
   324   sed -e "s/^[ $tab][ $tab]*/  /" -e "s,^[^:]*:,$object :," \
   325     < "$tmpdepfile" > "$depfile"
   326   sed '
   327     s/[ '"$tab"'][ '"$tab"']*/ /g
   328     s/^ *//
   329     s/ *\\*$//
   330     s/^[^:]*: *//
   331     /^$/d
   332     /:$/d
   333     s/$/ :/
   334   ' < "$tmpdepfile" >> "$depfile"
   335   rm -f "$tmpdepfile"
   336   ;;
   338 hp2)
   339   # The "hp" stanza above does not work with aCC (C++) and HP's ia64
   340   # compilers, which have integrated preprocessors.  The correct option
   341   # to use with these is +Maked; it writes dependencies to a file named
   342   # 'foo.d', which lands next to the object file, wherever that
   343   # happens to be.
   344   # Much of this is similar to the tru64 case; see comments there.
   345   dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
   346   test "x$dir" = "x$object" && dir=
   347   base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
   348   if test "$libtool" = yes; then
   349     tmpdepfile1=$dir$base.d
   350     tmpdepfile2=$dir.libs/$base.d
   351     "$@" -Wc,+Maked
   352   else
   353     tmpdepfile1=$dir$base.d
   354     tmpdepfile2=$dir$base.d
   355     "$@" +Maked
   356   fi
   357   stat=$?
   358   if test $stat -eq 0; then :
   359   else
   360      rm -f "$tmpdepfile1" "$tmpdepfile2"
   361      exit $stat
   362   fi
   364   for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2"
   365   do
   366     test -f "$tmpdepfile" && break
   367   done
   368   if test -f "$tmpdepfile"; then
   369     sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
   370     # Add 'dependent.h:' lines.
   371     sed -ne '2,${
   372 	       s/^ *//
   373 	       s/ \\*$//
   374 	       s/$/:/
   375 	       p
   376 	     }' "$tmpdepfile" >> "$depfile"
   377   else
   378     echo "#dummy" > "$depfile"
   379   fi
   380   rm -f "$tmpdepfile" "$tmpdepfile2"
   381   ;;
   383 tru64)
   384    # The Tru64 compiler uses -MD to generate dependencies as a side
   385    # effect.  'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'.
   386    # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
   387    # dependencies in 'foo.d' instead, so we check for that too.
   388    # Subdirectories are respected.
   389    dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
   390    test "x$dir" = "x$object" && dir=
   391    base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
   393    if test "$libtool" = yes; then
   394       # With Tru64 cc, shared objects can also be used to make a
   395       # static library.  This mechanism is used in libtool 1.4 series to
   396       # handle both shared and static libraries in a single compilation.
   397       # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
   398       #
   399       # With libtool 1.5 this exception was removed, and libtool now
   400       # generates 2 separate objects for the 2 libraries.  These two
   401       # compilations output dependencies in $dir.libs/$base.o.d and
   402       # in $dir$base.o.d.  We have to check for both files, because
   403       # one of the two compilations can be disabled.  We should prefer
   404       # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
   405       # automatically cleaned when .libs/ is deleted, while ignoring
   406       # the former would cause a distcleancheck panic.
   407       tmpdepfile1=$dir.libs/$base.lo.d   # libtool 1.4
   408       tmpdepfile2=$dir$base.o.d          # libtool 1.5
   409       tmpdepfile3=$dir.libs/$base.o.d    # libtool 1.5
   410       tmpdepfile4=$dir.libs/$base.d      # Compaq CCC V6.2-504
   411       "$@" -Wc,-MD
   412    else
   413       tmpdepfile1=$dir$base.o.d
   414       tmpdepfile2=$dir$base.d
   415       tmpdepfile3=$dir$base.d
   416       tmpdepfile4=$dir$base.d
   417       "$@" -MD
   418    fi
   420    stat=$?
   421    if test $stat -eq 0; then :
   422    else
   423       rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
   424       exit $stat
   425    fi
   427    for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
   428    do
   429      test -f "$tmpdepfile" && break
   430    done
   431    if test -f "$tmpdepfile"; then
   432       sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
   433       sed -e 's,^.*\.[a-z]*:['"$tab"' ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
   434    else
   435       echo "#dummy" > "$depfile"
   436    fi
   437    rm -f "$tmpdepfile"
   438    ;;
   440 msvc7)
   441   if test "$libtool" = yes; then
   442     showIncludes=-Wc,-showIncludes
   443   else
   444     showIncludes=-showIncludes
   445   fi
   446   "$@" $showIncludes > "$tmpdepfile"
   447   stat=$?
   448   grep -v '^Note: including file: ' "$tmpdepfile"
   449   if test "$stat" = 0; then :
   450   else
   451     rm -f "$tmpdepfile"
   452     exit $stat
   453   fi
   454   rm -f "$depfile"
   455   echo "$object : \\" > "$depfile"
   456   # The first sed program below extracts the file names and escapes
   457   # backslashes for cygpath.  The second sed program outputs the file
   458   # name when reading, but also accumulates all include files in the
   459   # hold buffer in order to output them again at the end.  This only
   460   # works with sed implementations that can handle large buffers.
   461   sed < "$tmpdepfile" -n '
   462 /^Note: including file:  *\(.*\)/ {
   463   s//\1/
   464   s/\\/\\\\/g
   465   p
   466 }' | $cygpath_u | sort -u | sed -n '
   467 s/ /\\ /g
   468 s/\(.*\)/'"$tab"'\1 \\/p
   469 s/.\(.*\) \\/\1:/
   470 H
   471 $ {
   472   s/.*/'"$tab"'/
   473   G
   474   p
   475 }' >> "$depfile"
   476   rm -f "$tmpdepfile"
   477   ;;
   479 msvc7msys)
   480   # This case exists only to let depend.m4 do its work.  It works by
   481   # looking at the text of this script.  This case will never be run,
   482   # since it is checked for above.
   483   exit 1
   484   ;;
   486 #nosideeffect)
   487   # This comment above is used by automake to tell side-effect
   488   # dependency tracking mechanisms from slower ones.
   490 dashmstdout)
   491   # Important note: in order to support this mode, a compiler *must*
   492   # always write the preprocessed file to stdout, regardless of -o.
   493   "$@" || exit $?
   495   # Remove the call to Libtool.
   496   if test "$libtool" = yes; then
   497     while test "X$1" != 'X--mode=compile'; do
   498       shift
   499     done
   500     shift
   501   fi
   503   # Remove '-o $object'.
   504   IFS=" "
   505   for arg
   506   do
   507     case $arg in
   508     -o)
   509       shift
   510       ;;
   511     $object)
   512       shift
   513       ;;
   514     *)
   515       set fnord "$@" "$arg"
   516       shift # fnord
   517       shift # $arg
   518       ;;
   519     esac
   520   done
   522   test -z "$dashmflag" && dashmflag=-M
   523   # Require at least two characters before searching for ':'
   524   # in the target name.  This is to cope with DOS-style filenames:
   525   # a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise.
   526   "$@" $dashmflag |
   527     sed 's:^['"$tab"' ]*[^:'"$tab"' ][^:][^:]*\:['"$tab"' ]*:'"$object"'\: :' > "$tmpdepfile"
   528   rm -f "$depfile"
   529   cat < "$tmpdepfile" > "$depfile"
   530   tr ' ' "$nl" < "$tmpdepfile" | \
   531 ## Some versions of the HPUX 10.20 sed can't process this invocation
   532 ## correctly.  Breaking it into two sed invocations is a workaround.
   533     sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
   534   rm -f "$tmpdepfile"
   535   ;;
   537 dashXmstdout)
   538   # This case only exists to satisfy depend.m4.  It is never actually
   539   # run, as this mode is specially recognized in the preamble.
   540   exit 1
   541   ;;
   543 makedepend)
   544   "$@" || exit $?
   545   # Remove any Libtool call
   546   if test "$libtool" = yes; then
   547     while test "X$1" != 'X--mode=compile'; do
   548       shift
   549     done
   550     shift
   551   fi
   552   # X makedepend
   553   shift
   554   cleared=no eat=no
   555   for arg
   556   do
   557     case $cleared in
   558     no)
   559       set ""; shift
   560       cleared=yes ;;
   561     esac
   562     if test $eat = yes; then
   563       eat=no
   564       continue
   565     fi
   566     case "$arg" in
   567     -D*|-I*)
   568       set fnord "$@" "$arg"; shift ;;
   569     # Strip any option that makedepend may not understand.  Remove
   570     # the object too, otherwise makedepend will parse it as a source file.
   571     -arch)
   572       eat=yes ;;
   573     -*|$object)
   574       ;;
   575     *)
   576       set fnord "$@" "$arg"; shift ;;
   577     esac
   578   done
   579   obj_suffix=`echo "$object" | sed 's/^.*\././'`
   580   touch "$tmpdepfile"
   581   ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
   582   rm -f "$depfile"
   583   # makedepend may prepend the VPATH from the source file name to the object.
   584   # No need to regex-escape $object, excess matching of '.' is harmless.
   585   sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile"
   586   sed '1,2d' "$tmpdepfile" | tr ' ' "$nl" | \
   587 ## Some versions of the HPUX 10.20 sed can't process this invocation
   588 ## correctly.  Breaking it into two sed invocations is a workaround.
   589     sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
   590   rm -f "$tmpdepfile" "$tmpdepfile".bak
   591   ;;
   593 cpp)
   594   # Important note: in order to support this mode, a compiler *must*
   595   # always write the preprocessed file to stdout.
   596   "$@" || exit $?
   598   # Remove the call to Libtool.
   599   if test "$libtool" = yes; then
   600     while test "X$1" != 'X--mode=compile'; do
   601       shift
   602     done
   603     shift
   604   fi
   606   # Remove '-o $object'.
   607   IFS=" "
   608   for arg
   609   do
   610     case $arg in
   611     -o)
   612       shift
   613       ;;
   614     $object)
   615       shift
   616       ;;
   617     *)
   618       set fnord "$@" "$arg"
   619       shift # fnord
   620       shift # $arg
   621       ;;
   622     esac
   623   done
   625   "$@" -E |
   626     sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
   627        -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
   628     sed '$ s: \\$::' > "$tmpdepfile"
   629   rm -f "$depfile"
   630   echo "$object : \\" > "$depfile"
   631   cat < "$tmpdepfile" >> "$depfile"
   632   sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
   633   rm -f "$tmpdepfile"
   634   ;;
   636 msvisualcpp)
   637   # Important note: in order to support this mode, a compiler *must*
   638   # always write the preprocessed file to stdout.
   639   "$@" || exit $?
   641   # Remove the call to Libtool.
   642   if test "$libtool" = yes; then
   643     while test "X$1" != 'X--mode=compile'; do
   644       shift
   645     done
   646     shift
   647   fi
   649   IFS=" "
   650   for arg
   651   do
   652     case "$arg" in
   653     -o)
   654       shift
   655       ;;
   656     $object)
   657       shift
   658       ;;
   659     "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
   660 	set fnord "$@"
   661 	shift
   662 	shift
   663 	;;
   664     *)
   665 	set fnord "$@" "$arg"
   666 	shift
   667 	shift
   668 	;;
   669     esac
   670   done
   671   "$@" -E 2>/dev/null |
   672   sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
   673   rm -f "$depfile"
   674   echo "$object : \\" > "$depfile"
   675   sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile"
   676   echo "$tab" >> "$depfile"
   677   sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
   678   rm -f "$tmpdepfile"
   679   ;;
   681 msvcmsys)
   682   # This case exists only to let depend.m4 do its work.  It works by
   683   # looking at the text of this script.  This case will never be run,
   684   # since it is checked for above.
   685   exit 1
   686   ;;
   688 none)
   689   exec "$@"
   690   ;;
   692 *)
   693   echo "Unknown depmode $depmode" 1>&2
   694   exit 1
   695   ;;
   696 esac
   698 exit 0
   700 # Local Variables:
   701 # mode: shell-script
   702 # sh-indentation: 2
   703 # eval: (add-hook 'write-file-hooks 'time-stamp)
   704 # time-stamp-start: "scriptversion="
   705 # time-stamp-format: "%:y-%02m-%02d.%02H"
   706 # time-stamp-time-zone: "UTC"
   707 # time-stamp-end: "; # UTC"
   708 # End:

mercurial