From: Newsgroups: comp.os.msdos.djgpp Subject: Re: GNU autoconf problems... Date: 16 Apr 1998 13:08:59 GMT Organization: Triode Internet Lines: 54 Message-ID: <6h4vtb$oae$2@hyperion.triode.net.au> References: <6gmdmq$ue6$1 AT nnrp1 DOT dejanews DOT com> NNTP-Posting-Host: xenon.triode.net.au Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 8bit To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Precedence: bulk In comp.os.msdos.djgpp alexv AT yahoo DOT com wrote: > How do I make the GNU autoconf-2.0 work? > I'm trying to compile "rsynth-2.0" and its "configure" > program works well with CygWin, but not with DJGPP > (and I need to compile it with DJGPP!). > Any ideas? Thanx in advance... I'm writing some software and trying to get configure scripts working for my program. I got it going OK on Solaris-SPARC and on 386-Linux but I had lots of trouble writing a working configure script for DJGPP. For a start, configure has 9 character so it comes out strange in win95. More seriously, it depends on it's first line which is #!/bin/sh requiring some sh command in the %djgpp%\bin directory. I found that copying bash to sh worked OK to get configure started but things get worse... The autoconf program generates configure scripts that search for available utilities by scanning through the PATH environment variable using a shell script for loop. The DJGPP PATH is DOS-like and uses `;' as a separator -- the for loop can't cope with this so it doesn't scan the PATH. Can it get worse? yes. The shell script looks for utilities that have a name matching the names that it is looking for (seems an obvious method). This works in unix but oh dear, DOS names have a .EXE on the end for all utility programs (gcc.exe in particular). Somewhere around this point I figured it was time to give up with configure scripts in DJGPP. My alternative method was not to have configure construct a makefile. I use an unchanging makefile that includes another file called basemake. Good old GNU make knows how to cope with this because if basemake doesn't exist, GNU make looks for a rule to build it. Sure enough the unchanging makefile has a conditional on the symbol DJGPP (which must be defined for DJGPP to work) and it copies a special basemake just for DJGPP and invokes the configure script to construct basemake in any other case (i.e. for all the unix cases). In your case, you are stuck with someone else's configure script that almost certainly constructs a makefile, all I can suggest is that you copy the makefile from the Cygwin compile and modify it by hand. You may need to construct config.h by hand too. Does anyone have comments on my methods of configuration? Is it silly to make a special case for DJGPP? Seems to me that just about all of DJGPP is made from special cases... Are there many variations in DJGPP environments that should be handled? Does anyone attempt to handle this sort of thing automatically? - Tel