User Tools

Site Tools


getting_started:compile_eeros

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
getting_started:compile_eeros [2017/11/29 11:01] – [Compile Using a Script] grafgetting_started:compile_eeros [2019/10/18 15:00] – [Compile Manually in Terminal] graf
Line 1: Line 1:
-====== Compile EEROS ======+====== Compile ======
  
-There are very often two versions of EEROS, because the host and the target usually don't have the same architecture. Therefore, it is recommended that EEROS is not globally installed. EEROS can be installed to a custom folder by setting the CMake variable CMAKE_INSTALL_PREFIX. 
  
 ===== Compile Using a Script ===== ===== Compile Using a Script =====
-As mentioned in [[getting_started:install_and_setup_development_environment#Getting_the_Sources_with_a_script|Installation and Setup]] we suggest to use a script. After customizing the ''config.sh.in'' file and getting the code you can compile EEROS, all necessary hardware libraries, and your application by executing+As mentioned in [[getting_started:install_and_setup_development_environment#Getting_the_Sources_with_a_script|Installation and Setup]] we suggest to use a script. After having downloaded the code you can now compile EEROS, all necessary hardware libraries, and your application program. \\ 
 +If you do a cross development and your target contains a different processor architecture from your host, you have to choose a suitable //tool chain file// and also set the build and install directories to meaningful names. E.g. if you develop on a x86 platform for an ARM platform, edit ''config.sh.in'' as follows 
 +<code> 
 +install_dir="$wd"/install-armhf  
 +build_dir="$wd"/build-armhf 
  
 +toolchain_file="$wd"/toolchainfile/arm-linux-gnueabihf-gcc-4.9.cmake
 +</code>
 +After this you proceed with
 <code> <code>
 $ ./make.sh $ ./make.sh
 </code> </code>
  
-This will put all the executables into the build directory you have chosen and the compiled libraries together with the header files into the install directory. If you don't have an application yet, please comment the last two lines out.+This will put all the executables into the build directory you have chosen and the compiled libraries together with the header files into the install directory. Please keep in mind that build and install directory are both defined in ''config.sh.in''.
  
 +Next, if you are running EEROS on the host machine you can go to the first example [[getting_started:say_hello|]]. If you do a cross development on a host and are using it on a target platform you have to [[getting_started:deploy|]] it first.
  
  
-===== Compile in terminal ===== + 
-Compile and install EEROS to a custom folder:+===== Compile Manually in Terminal ===== 
 +Compile and install EEROS to a custom folder as follows:
 <code> <code>
 $ cd path/to/working/directory $ cd path/to/working/directory
Line 24: Line 32:
 $ make install $ make install
 </code> </code>
 +If your target architectur is different from the host platform you have to use a //tool chain file//. For more information see above [[getting_started:compile_eeros|Compile Using a Script]]. \\
 Per default, debug information will be included in the code. For maximum efficiency make sure to change the 4th line to: Per default, debug information will be included in the code. For maximum efficiency make sure to change the 4th line to:
 <code> <code>
Line 31: Line 39:
  
  
-We recommend to not install EEROS globally on your system. However, if you want to install EEROS globally you have to execute the following commands:+We recommend to not install EEROS globally on your system. However, if you want to install it globally you have to execute the following commands:
 <code> <code>
-mkdir build +make install 
-$ cd build +</code> 
-$ cmake .+The reason for not installing EEROS globally is that you might need two or even more versions as soon as you compile for various target architecturesFor this purpose we will install various versions into custom folders named after the target architecture by setting the CMake variable CMAKE_INSTALL_PREFIX with 
-$ make +<code> 
-# make install+$ cmake -DCMAKE_INSTALL_PREFIX=/absolute/path/to/working/directory/install-x86-64 ..
 </code> </code>
-The reason for not installing EEROS globally is that you might need two or even more versions of EEROS as soon as you compile for various target architectures. For this purpose we will install various versions of EEROS into custom folders named after the target architecture by setting the CMake variable CMAKE_INSTALL_PREFIX.  
  
-As soon as you access dedicated hardware on your system you have to install one of the [[getting_started:install_wrapper|]].+As soon as you access dedicated hardware on your system you have to install one of the [[eeros_architecture:hal:hardware_libraries|]]. You do this