Compiling GDC-MinGW

Benjamin Thaut code at benjamin-thaut.de
Wed Mar 6 10:45:51 PST 2013


Am 06.03.2013 18:00, schrieb Daniel Green:
> On 3/5/2013 2:02 PM, Benjamin Thaut wrote:
>> Ok I just tested it with vanialla mingw, same problem itimerval is not
>> defined in any of the mingw headers and thus compilation of ppl will
>> fail.
>
> It looks like a configuration issue when compiling PPL.  itimerval looks
> POSIX only.
>
> Which version did you compile?  I had no issue compiling it with PPL .11
> and the following configure.
>
> $ /crossdev/src/ppl-0.11/configure
> --prefix=/crossdev/support-stage-tdm64/ppl/64 --build=x86_64-w64-mingw32
> --disable-static --enable-shared CFLAGS=-O2
> -I/crossdev/support-stage-tdm64/gmp/64/include CXXFLAGS=-DNULL=0 -O2
> -I/crossdev/support-stage-tdm64/gmp/64/include LDFLAGS=-s
> -L/crossdev/support-stage-tdm64/gmp/64/lib
>
> The important option there is likely the --build=x6_64-w64-mingw32
>
>
>

Well I did compile 0.11. I just used your build-tdm-gcc.sh which 
downloads and compiles 0.11. I fixed this issue by opening 
crossdev\src\ppl-0.11\Watchdog\src\pwl.hh.dist and setting 
PWL_HAVE_DECL_SETITIMER to 0.

But after that the problems just started. The next thing was that msys 
told me there is a unkown command " " (really just a space) in 
update-mingw.sh line 37. I could also fix that by removing all the "&& 
\" from update-mingw.sh line 36 to 43.

Then the next problem appeard, configure of gdc would tell me that the d 
language depends on the c++ language. Your build-tdm-gcc.sh script does 
not download the sources for the g++ so I did it manually (I made sure 
the grab the sources for g++ 4.6.1 from the tdm download page). I 
extracted the downloaded sources to /crossdev/gdc64/v2

Then it finally started compiling, just to give me the next issues. When 
it tries to compile \crossdev\gdc64\v2\build\gcc\options.c the compiler 
throws tons of erros because of what appear to be multiline strings (the 
newlines are not escaped with '\'). And that is where I'm currently stuck.

Here is what I did to setup everything:

git clone git://github.com/venix1/GDC.git to 
C:\Users\...\Documents\d-projects\GDC
git checkout mingw

Install mingw-get to C:\MinGW downloaded from 
http://sourceforge.net/projects/mingw/files/
Installed msys to C:\MinGW\msys from 
http://sourceforge.net/projects/mingw/files/MSYS/Base/msys-core/msys-1.0.11/
Followed the instructions here to make the mingw-get-gui work: 
http://sourceforge.net/p/mingw/news/2013/02/graphical-installer-interface-pre-release-snapshots-available/

Installed the following packages with the mingw-get-gui:
mingw32-gcc
mingw32-g++
msys-rsync
msys-patch
msys-wget
msys-unzip

In a msys shell:

copy /etc/fstab.sample to /etc/fstab and add a /crossdev mapping to 
F:/crossdev
Run the build-tdm-gcc.sh and observe all the errors.

I will keep you updated as soon as I make any progress.

Kind Regards
Benjamin Thaut


More information about the D.gnu mailing list