www.delorie.com/djgpp/v2faq/faq133.html | search |
Q: I use RHIDE, but it only passes the first 126 characters of my long command lines to the compiler!
SHELL = command.com
statements, or for commands which include pipe or redirection characters like >,
|, etc. If Make sees any such statements, it will invoke COMMAND.COM to run GCC, and COMMAND.COM can't pass more than 126 characters to GCC. To work around,
comment-out the SHELL=
line, and change your commands to work without redirection/pipe characters. One easy way to get rid of redirection characters without losing their effect is to
use the redir program which comes with DJGPP. For example, the following command:
frobnicate foo.bar > myfile.tmpcan be re-written instead like this:
redir -o myfile.tmp frobnicate foo.barThe ports of Make 3.75 and later doesn't call COMMAND.COM in the above cases, but rather emulates pipes and redirection internally, so upgrading to the latest version of Make will solve such problems. If you think about using Make 3.75 with DJGPP v2.0, don't: invoking v2.0 programs from v2.01 programs will cause subtle and hard-to-debug problems due to incompatibilities between these two versions regarding the methods of invoking child programs (in particular, v2.0 doesn't support the environment method of passing long command lines described above).
Problems with passing long commands from RHIDE are usually caused by invoking old programs compiled with DJGPP v2.0. Upgrade to the latest binaries.
webmaster donations bookstore | delorie software privacy |
Copyright ⌐ 1998 by Eli Zaretskii | Updated Sep 1998 |
You can help support this site by visiting the advertisers that sponsor it! (only once each, though)