GDC MINGW BUILD: version (Windows) NOT DEFINED
Johannes Pfau
nospam at example.com
Sun Dec 23 15:15:37 UTC 2018
Am Sun, 23 Dec 2018 01:21:22 +0000 schrieb MINGW-USER:
> It seems version (Windows) is not defined into the compiler gdc.exe gdc
> (GCC) 9.0.0 20181221 (experimental)
> built with msys2/mingw-w64 on Windows 10.
>
> The trouble appears while building libdruntime
>
> EXAMPLE: libphobos\libdruntime\core\stdc\time.d error: undefined
> identifier 'time_t'
> error: undefined identifier 'tm'
>
> Manually add
>
> version (GNU) {
> alias c_long time_t; alias c_long clock_t;
> }
>
> into time.d then it compiles but it seems weird.
>
> The trouble is that there are many other similar errors with
> core\stdc\stddef.d, stdlib.d, stdint.d, etc ...
>
> Help needed.
That's an interesting coincidence, I just set up a Windows 10 VM + MSYS2
for MinGW development a day ago.
How exactly did you build GCC? I tried to build in the mingw64
environment using the same configure flags as in the mingw-w64-gcc package
[1] and without any GCC patches. I had to fix some build errors in
filename.c, did you get these as well? Additionally the built toolchain
is not properly relocatable: Installing into / works, but if I use
DESTDIR=/somewhere/else to install, the new gcc doesn't find the headers
in /mingw64/x86_64... anymore. So if you know any better way to build GCC
in the MSYS2 environment, please let me know :-)
And regarding the specific problem you mentioned: As gdc is untested on
the mingw backend, the patches for mingw which set version(Windows) have
not been applied to the GCC sources. You have to apply this patch
manually: https://github.com/D-Programming-GDC/GDC/blob/
958363de2ba09656de340d13ca56f80f8ba10805/patches/targetdm-untested.patch
However, phobos probably won't build right now either way.
[1]
../gcc-9-20181216/configure --enable-languages=lto,d,c++ --prefix=/mingw64
--with-local-prefix=/mingw64/local --build=x86_64-w64-mingw32 --
host=x86_64-w64-mingw32 --target=x86_64-w64-mingw32 --with-native-system-
header-dir=/mingw64/x86_64-w64-mingw32/include --libexecdir=/mingw64/lib
--with-arch=x86-64 --with-tune=generic --enable-shared --enable-static --
enable-libatomic --enable-threads=posix --enable-graphite --disable-
libstdcxx-pch --disable-libstdcxx-debug --disable-isl-version-check --
enable-lto --enable-libgomp --disable-multilib --disable-rpath --disable-
win32-registry --disable-nls --disable-werror --disable-symvers --with-
libiconv --with-system-zlib --with-gmp=/mingw64 --with-mpfr=/mingw64 --
with-mpc=/mingw64 --with-isl=/mingw64 --with-gnu-as --with-gnu-ld --
disable-bootstrap --enable-libphobos
--
Johannes
More information about the D.gnu
mailing list