delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp-workers/2000/08/11/05:59:26

X-Authentication-Warning: ixi.eng.ascend.com: meyering set sender to meyering AT ascend DOT com using -f
Sender: meyering AT ascend DOT com
To: Eli Zaretskii <eliz AT is DOT elta DOT co DOT il>
Cc: tr AT eth DOT net, djgpp-workers AT delorie DOT com
Subject: Re: Sh-utils 2.0j sources uploaded
References: <Pine DOT LNX DOT 4 DOT 21 DOT 0007250651010 DOT 823-100000 AT midpec DOT com>
<200008110941 DOT CAA29407 AT drawbridge DOT ascend DOT com>
From: Jim Meyering <meyering AT ascend DOT com>
In-Reply-To: "Eli Zaretskii"'s message of "Fri, 11 Aug 2000 12:51:40 +0200"
Date: 11 Aug 2000 11:57:32 +0200
Message-ID: <uryem3w86ib.fsf@ixi.eng.ascend.com>
Lines: 153
User-Agent: Gnus/5.0807 (Gnus v5.8.7) Emacs/20.6.92
MIME-Version: 1.0
Reply-To: djgpp-workers AT delorie DOT com

"Eli Zaretskii" <eliz AT is DOT elta DOT co DOT il> writes:

| [CC: to Jim Meyering, since some issues go beyond DJGPP-specific aspects.]
|
| > Date: Tue, 25 Jul 2000 06:59:03 +0530 (IST)
| > From: Prashant TR <tr AT eth DOT net>
| >
| > The DJGPP port of the Sh-utils pretest is available.
| >
| > ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/v2gnu/alphas/shl20js.zip
|
| I finally found time to download and test this beta version.  The
| package built for me flawlessly, both on plain DOS and on Windows 98,
| both in the source directory and outside it.  Good work!
|
| I have only a few minor comments:
|
|   1) When the configure script runs, it prints an error message from
|      `ln' (when it tests whether `lstat' dereferences a symlink with a
|      trailing slash).  This is expected behavior, but it might alarm
|      users.  I suggest either to redirect stderr to /dev/null or at
|      least mention the message in djgpp/README.

Thanks for the report.

Can you send the precise error, or better still, a patch
so I don't have to think, er... dig, so much :-)

|   2) The version of `depcomp' supplied with sh-utils-2.0j does not
|      work correctly for DOS/Windows-style pathnames with drive
|      letters.  The following Sed script breaks if .deps/*.Tpo files
|      include absolute file names with drive letters:
|
|       sed 's/^[^:]*: / /' < "$tmpdepfile" >> "$depfile"
|
|      This happens because on DOS/Windows, "gcc -MD" produces the
|      following in, e.g., lib/.deps/addext.Tpo:
|
|        e:/src/gnu/sh-util2.0j/lib/addext.o: \
|        e:/src/gnu/sh-util2.0j/lib/addext.c ../config.h \
|        e:/src/gnu/sh-util2.0j/lib/backupfile.h c:/bin/gcc/include/limits.h \
|        c:/bin/gcc/include/sys/types.h c:/bin/gcc/include/sys/djtypes.h \
|        c:/bin/gcc/include/string.h c:/bin/gcc/include/sys/movedata.h \
|        c:/bin/gcc/include/unistd.h
|
|      The first line above is supposed to be removed by the Sed script,
|      but that fails because the file name includes a colon.
|
|      Note that this problem is only visible when building Sh-utils
|      from another drive, because only then the drive letter appears in
|      the file name.
|
|      The patch to depcomp which fixes this is below.  Jim, where
|      should I post it?

autoconf AT gnu DOT org, soon please, since a long-awaited snapshot
is due to be made soon.

| Also, is \{0,1\} supported in all versions of
|      Sed?

I'm almost positive that it's not portable.

|   3) The test suite fails in several ways, unless the package is
|      configured, built, and tested in the source directory.  This
|      happens because djgpp/edtest.bat is not written to work except in
|      that case.  Either edtest.bat should be augmented, or a note to
|      this effect should be added to djgpp/README.
|
|      In any case, I think that the DJGPP source distribution should
|      come with the files under `tests/' already edited and converted
|      to the DOS-style CRLF EOL format (where appropriate).  (If you
|      decide to accept this advice, you need to take into consideration
|      that someone might run config.bat again, so the conversion Sed
|      scripts should be prepared for multiple editing.)
|
|   4) lib/Makefile.in has a rule to produce C files from Yacc grammar
|      sources.  This rule will not work on plain MS-DOS, because file
|      names like y.tab.c are not allowed, and because the DJGPP port of
|      Yacc produces y_tab.c instead of y.tab.c when it runs on plain
|      DOS machine.  This problem will pop up if someone edits
|      getdate.y, for example.

Not an issue, imho.  If people want to do development, they'd
be much better off using Unix.

|      The offending rule comes from Automake, so to correct this once
|      and for all, Automake should be changed.  What is the correct
|      address to report this?  Is it automake-bugs AT gnu DOT org?

Of course, you're welcome to report it.  The -bugs address might work.
This is what I use: automake AT gnu DOT org, and --help says bug-automake AT gnu DOT org.

|      For now, I suggest to add some magic to djgpp/config.sed so that
|      it edits this:
|
| .y.c:
| 	$(YACC) $(AM_YFLAGS) $(YFLAGS) $< && mv y.tab.c $*.c
| 	if test -f y.tab.h; then \
| 	if cmp -s y.tab.h $*.h; then rm -f y.tab.h; else mv y.tab.h $*.h; fi; \
| 	else :; fi
|
|      into this:
|
| .y.c:
| 	$(YACC) $(AM_YFLAGS) $(YFLAGS) $<
| 	-test -f y.tab.c && mv y.tab.c y_tab.c
| 	-test -f y.tab.h && mv y.tab.h y_tab.h
| 	mv y_tab.c $*.c
| 	if test -f y_tab.h; then \
| 	if cmp -s y_tab.h $*.h; then rm -f y_tab.h; else mv y_tab.h $*.h; fi; \
| 	else :; fi
|
|   5) A note: since `true' and `false' are now programs, you need to
|      make sure shl20b.dsm includes commands to uninstall the old shell
|      scripts by those names before installing the binaries.
|
|   6) Finally, it looks like the DJGPP source distribution will require
|      to run the configure script before building.  If that is true,
|      I'd like to suggest to make any reasonable effort so that the
|      sources could come already configured.  AFAIK, every other ported
|      package does that; we should try not to require users to have all
|      those additional utilities installed just to rebuild a package.
|
|      I'm guessing that this depcomp thingy is one of the major
|      obstacles to ship the sources configured.  If so, let's see what
|      exactly in depcomp prevents you from doing so, and let's try to
|      solve those problems, either by submitting patches to depcomp
|      maintainers, or by augmenting the DJGPP-specific scripts.
|
| Last but not least, thanks to Jim for a wonderful package, and to
| Prashant for the good work porting it.
|
|
| Here's the patch for depcomp:
|
|
| 2000-08-11  Eli Zaretskii  <eliz AT is DOT elta DOT co DOT il>
|
| 	* depcomp (gcc): Support DOS-style absolute file names with drive
| 	letters.
|
| --- depcomp.~0	Mon Oct  4 07:56:46 1999
| +++ depcomp	Thu Aug 10 20:49:02 2000
| @@ -65,7 +65,7 @@
|    fi
|    rm -f "$depfile"
|    echo "$object : \\" > "$depfile"
| -  sed 's/^[^:]*: / /' < "$tmpdepfile" >> "$depfile"
| +  sed 's/^\([A-z]:\/\)\{0,1\}[^:]*: / /' < "$tmpdepfile" >> "$depfile"
|  ## This next piece of magic avoids the `deleted header file' problem.
|  ## The problem is that when a header file which appears in a .P file
|  ## is deleted, the dependency causes make to die (because there is

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019