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

m
Changed WIP to Stub: Author missing in action
(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...)
 
m (Changed WIP to Stub: Author missing in action)
 
(5 intermediate revisions by one other user not shown)
Line 1:
== Step 2 - Native Compiler ==
 
{{Stub}}
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.
 
Once you portdo everything in [[Porting Newlib]] to your OS (and install it to /usr/native), support ELF, and configure the packages to your OS, you may now do a native build of gdc to your OS.
 
Prepare for the build:
Line 8 ⟶ 10:
export HOST=i586-elf
cd /usr/src
mkdir build-native build-native/binutils build-native/gcc</pre>
 
=== binutils ===
Line 17 ⟶ 19:
 
=== 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 (replace <path_to_newlib> with the path to Newlib):
 
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-newlibheaders=/usr/native
make all-gcc
make install-gcc
 
Your native toolchain is now ready in /usr/native!
 
{{In Progress}}
1,490

edits