Mail Archives: djgpp/2000/02/28/04:17:03
On Sun, 27 Feb 2000, Frank Donahoe wrote:
> > > c:/djg/tmp/dj200000: line 1: syntax error near unexpected token `-Wl,-('
> > > c:/djg/tmp/dj200000: line 1: `gcc -g -O2 -mpentiumpro -march=pentiumpro -W
> > > -Wall -o mpicalc.exe mpicalc.o ../cipher/libcipher.a ../mpi/libmpi.a
> > > ../util/libutil.a -Wl,-( ../mpi/libmpi.a -)'
> >
> > That's because parens are special to Bash, you need to escape them or
> > quote them.
> >
>
> "redir" invoked from the DOS prompt was running "make". "bash" was only
> used to run "configure".
Those c:/djg/tmp/dj200000 file names tell quite clearly that Bash
*was* invoked. The error message wording, ``syntax error near
unexpected token'', is also Bash style.
If the Makefile said "SHELL = /bin/sh", and you have sh.exe somewhere
on your PATH, then Make will invoke Bash the moment it sees a
parenthesis, because parentheses are special shell characters, and
Make cannot handle them on its own. This is explained in the Make
manual.
> Is "ifdef DOS appropriate?
No, you should use "#ifdef __DJGPP__". This is specific to the DJGPP
configuration, someone else could come up with a DOS compiler that
doesn't prepend underscores.
> What will this mean for all the C sources using "libmpi.a"?
Nothing. The problem should be solved in the assembly sources, not in C.
- Raw text -