Date: Mon, 16 Dec 1996 18:18:52 +0200 (IST) From: Eli Zaretskii To: Adam DiCarlo cc: djgpp AT delorie DOT com Subject: Re: Can't compile with long command-lines In-Reply-To: <01bbe63e$7335ff20$4795b8cd@#bikko> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII On 10 Dec 1996, Adam DiCarlo wrote: > Hi. I'm using RHIDE 1.0 while writing djgpp programs. Recently, after > adding a file to my project, the project wouldn't make correctly. I > eventually figured out that this was happening because of MS-DOS's limit on > the length of a command-line, to 128 characters, I do believe, when RHIDE > needed more. Do you still use GCC and other programs from v2.0? The method of passing long command lines has changed between v2.0 and v2.01, so if you invoke v2.0 programs from v2.01 programs (RHIDE 1.0 was compiled with v2.01), you will see such problems. The solution is to upgrade your entire toolchain to v2.01. > I've tried running make and RHIDE, under Win95 and DOS 7, > using COMMAND /P /U:255 (to get 255 characters instead), but nothing seems > to fix the problem. > > COMMAND /P/U:255 seems to do absolutely nothing. (Although 255 wouldn't be > enough eventually, anyway.) This would indeed have no effect with DJGPP, since `system' library function avoids calling COMMAND.COM at all costs (because COMMAND.COM is too dumb). The only cases where it calls COMMAND.COM are to run a batch file or to invoke some command built into COMMAND.COM (such as `set'). > I do believe this is a problem with make/RHIDE using system() instead of > one of the exec**() functions. RHIDE cannot call `execXXX' functions because that will disable expanding wildcards on the passed command line on the child's side (a POSIX requirement). Besides, DOS cannot grok command lines longer than 126 characters even if you call `execXXX'.