User:Imate900/GDC Cross-Compiler-Part2: Difference between revisions

From OSDev.wiki
Jump to navigation Jump to search
Content added Content deleted
(New page: == Step 2 - Native Compiler == Once you port Newlib to your OS (and install it to /usr/native), you may now do a native build of gdc to your OS. Prepare for the build: export PRE...)
 
Line 28: Line 28:
(Wilkie told me not to set it to NULL, it will make the compiler to segfault)
(Wilkie told me not to set it to NULL, it will make the compiler to segfault)


Now build GDC (replace <path_to_newlib> with the path to Newlib):
Now build GDC:


cd /usr/src/build-native/gcc
cd /usr/src/build-native/gcc

Revision as of 22:38, 20 April 2009

Step 2 - Native Compiler

Once you port Newlib to your OS (and install it to /usr/native), you may now do a native build of gdc to your OS.

Prepare for the build:

   export PREFIX=/usr/native
   export TARGET=i586-elf
   export HOST=i586-elf
   cd /usr/src

mkdir build-native build-native/binutils build-native/gcc

binutils

   cd /usr/src/build-native/binutils
   /usr/src/binutils-x.xx/configure --build=`./config.guess` --target=$TARGET --prefix=$PREFIX --host=$HOST --disable-nls
   make all
   make install

gcc

   cd /usr/src/gcc-x.x.x
   ./gcc/d/setup-gcc.sh

Go to /usr/src/gcc-x.x.x/gcc/d, open d-lang.cc and look at line 188. You'll see this

  const char* cygwin_d_os_versym = D_OS_VERSYM;

Change D_OS_VERSYM to whatever you want, since it is a string, like "MyOS". (Wilkie told me not to set it to NULL, it will make the compiler to segfault)

Now build GDC:

   cd /usr/src/build-native/gcc
   /usr/src/gcc-x.x.x/configure --build=`./config.guess` --host=$HOST --target=$TARGET --prefix=$PREFIX --disable-nls \
       --enable-languages=c,d,c++ --with-newlib
   make all-gcc
   make install-gcc

Your native toolchain is now ready in /usr/native!

This page is a work in progress.
This page may thus be incomplete. Its content may be changed in the near future.