[Simh] SimH 3.6-0 (problems compiling VAX using MinGW) DIAGNOSIS

Thomas Schnurrenberger tsbg at gmx.net
Fri Jun 9 09:11:10 EDT 2006


Wilm Boerhout wrote:
> The cause seems to be this: in the makefile, symbols are defined for the 
> VAX (and VAX780) folder names. These names are used then both for 
> locating the modules to build, and for the "-I" switch, as in:
> 
> VAXD = VAX/
> VAX = ${VAXD}vax_cpu.c ${VAXD}vax_cpu1.c ${VAXD}vax_fpa.c ${VAXD}vax_io.c \
>     ${VAXD}vax_cis.c ${VAXD}vax_octa.c  ${VAXD}vax_cmode.c \
> [snip]
>     ${PDP11D}pdp11_vh.c ${PDP11D}pdp11_cr.c
> VAX_OPT = -DVM_VAX -DUSE_INT64 -DUSE_ADDR64 -I ${VAXD} -I ${PDP11D} 
> ${NETWORK_OPT}
> 
> Output from "gcc -v" (below) shows that the "I ${VAXD}" results in gcc 
> not including that folder in its include path. When I manually change 
> "-I ${VAXD}" to "-I VAX", effectively omitting the forward slash, the 
> build will go fine.
> 
> I cannot see how this has ever worked. Then again, this is my first 
> experience with gcc, so what do I know?
> 
> /Wilm
> 
> Reading specs from C:/MinGW/bin/../lib/gcc/mingw32/3.4.2/specs
> Configured with: ../gcc/configure --with-gcc --with-gnu-ld --with-gnu-as 
> --host=mingw32 --target=mingw32 --prefix=/mingw --enable-threads 
> --disable-nls --enable -languages=c,c++,f77,ada,objc,java 
> --disable-win32-registry --disable-shared --enable-sjlj-exceptions 
> --enable-libgcj --disable-java-awt --without-x --enable-java-gc=boehm 
> --disable-libgcj-debug --enable-interpreter 
> --enable-hash-synchronization --enable-libstdcxx-debug
> Thread model: win32
> gcc version 3.4.2 (mingw-special)
>  C:/MinGW/bin/../libexec/gcc/mingw32/3.4.2/cc1.exe -quiet -v -I. -I VAX/ 
> -I PDP11/ -iprefix C:\MinGW\bin/../lib/gcc/mingw32/3.4.2/ 
> -U__STRICT_ANSI__ -DVM_VAX -DUSE_INT64 -DUSE_ADDR64 VAX/vax_cpu.c -quiet 
> -dumpbase vax_cpu.c -auxbase vax_cpu -O3 -std=c99 -version -o 
> D:\Temp\User/cc23aaaa.s
> ignoring nonexistent directory 
> "C:/MinGW/bin/../lib/gcc/mingw32/3.4.2/../../../../mingw32/include"
> ignoring nonexistent directory "/mingw/include"
> ignoring nonexistent directory "/mingw/include"
> ignoring nonexistent directory "/mingw/lib/gcc/mingw32/3.4.2/include"
> ignoring nonexistent directory "/mingw/mingw32/include"
> ignoring nonexistent directory "/mingw/include"
> *ignoring nonexistent directory "VAX/"*
> *ignoring nonexistent directory "PDP11/"*
> #include "..." search starts here:
> #include <...> search starts here:
>  .
>  C:/MinGW/bin/../lib/gcc/mingw32/3.4.2/../../../../include
>  C:/MinGW/bin/../lib/gcc/mingw32/3.4.2/include
> End of search list.

This seems to be a mingw gcc bug, see here:

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22133

I solved the problem for me by appending a dot to the
include path, for example "-I ${VAXD}" to "-I ${VAXD}."

-- 
Thomas



More information about the Simh mailing list