Changes between Initial Version and Version 1 of UsersGuide/CompilingFromSource


Ignore:
Timestamp:
2010-06-23T18:09:27Z (14 years ago)
Author:
Jiri Svoboda
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • UsersGuide/CompilingFromSource

    v1 v1  
     1= Compiling HelenOS From Source =
     2
     3This section explains how to compile HelenOS from latest source code.
     4
     5== Attention Newbies ==
     6
     7This method is not recommended for beginners. If you are running HelenOS for the first time, please [UsersGuide/QuickStart run a pre-built, supported HelenOS image] (see instructions in that article).
     8
     9Compiling an operating system is not quite simple as the {{{configure && make && make install}}} you use to compile your favorite application. If you still want to do it, please follow these instructions carefully. If you don't follow the instructions to the letter, it won't compile (or it will not run) and then don't bother us on the mailing list, please. We are somewhat tired of telling the people again and again to install the fine compiler toolchain.
     10
     11== 1. Get the sources ==
     12
     13Checkout the latest sources from our central Bazaar repository
     14
     15{{{
     16bzr checkout bzr://bzr.helenos.org/mainline HelenOS
     17}}}
     18
     19''Note:'' To get versions older than 0.4.1 you have to access the original Subversion repository
     20
     21{{{
     22svn checkout svn://svn.helenos.org/HelenOS/trunk HelenOS
     23}}}
     24
     25== 2. Build a supported cross-compiler ==
     26
     27Use our script to install a supported cross-compiler toolchain
     28
     29{{{
     30cd HelenOS/tools
     31./toolchain.sh ia32
     32}}}
     33
     34'''Note:''' In older revisions of the source tree the ''toolchain.sh'' script has present in the ''contrib'' directory (not the ''tools'' directory where it is now).
     35
     36Go to the source root and start the build process
     37
     38{{{
     39cd ../..
     40make
     41}}}
     42
     43The configuration menu will appear. Select ''Load preconfigured defaults...'', ''ia32'' and ''Done''.
     44
     45'''Note:''' Do not select a different compiler! If you use ''gcc_native'' instead of ''gcc_cross'', it won't work, so please don't ask in the mailing list! Building HelenOS with a native compiler is '''not supported'''!
     46
     47== 3. Did you install the compiler toolchain? Good. ==
     48
     49If you did not, it won't work! Don't even try to pester us about that. It won't work. Because it won't. It can't.
     50
     51Why can't it work?
     52 * Tool versions: We only test HelenOS on the one single version of GCC, binutils, etc. We don't have the resources to test other versions. Other versions have bugs (or lack required features). It won't compile.
     53 * Different ABIs: Each OS has a different ABI and different set of compiler settings. If you build binaries with your native compiler, they will run fine in your OS, but certainly not in HelenOS!
     54 * {{{-Werror}}}: Developer builds use -Werror and each compiler version produces different warnings. Thus, you will get warnings and these get turned into erros.
     55
     56
     57Load preconfigured defaults for the platform you want to build for and select ''Done''. HelenOS will now be built.