Cross Compiling: Difference between revisions
No edit summary  | 
				No edit summary  | 
				||
| Line 2: | Line 2: | ||
* need cross compile toolchain  | * need cross compile toolchain  | ||
* need to cross compile any dependencies (static link what you can)  | * need to cross compile any dependencies (static link what you can)  | ||
{| class="mw-collapsible mw-collapsed wikitable"  | {| class="mw-collapsible mw-collapsed wikitable"  | ||
! libz example  | ! libz example  | ||
Revision as of 22:24, 25 November 2016
Issues:
- need cross compile toolchain
 - need to cross compile any dependencies (static link what you can)
 
| libz example | 
|---|
   echo Getting source code for libraries...
   if [ ! -d zlib ]; then
       wget http://zlib.net/zlib-${zlib_version}.tar.gz
       untar zlib-${zlib_version}.tar.gz
       ln -s zlib-${zlib_version} zlib
   fi
   echo Building libraries...
   if [ "$rebuild_libs" = true ]; then
   
       export cross=arm-linux-gnueabi-
   
       # ZLIB
       cd zlib
       ./configure --prefix=${install_root}
       make CC="${cross}gcc" AR="${cross}ar r" RANLIB="${cross}ranlib"
       make install
       cd ..
   fi
 | 
- openssl example
 
   echo Getting source code for libraries...
   if [ ! -d openssl ]; then
       wget https://www.openssl.org/source/openssl-${openssl_version}.tar.gz
       untar openssl-${openssl_version}.tar.gz
       ln -s openssl-${openssl_version} openssl
   fi
   
   echo Building libraries...
   
   if [ "$rebuild_libs" = true ]; then
   
       export cross=arm-linux-gnueabi-
   
       # OPENSSL
       cd openssl
       ./Configure dist --prefix=${install_root} --openssldir=${install_root}
       make CC="${cross}gcc" AR="${cross}ar r" RANLIB="${cross}ranlib"
       make install
       cd ..
   fi
- libwebsockets example
 
- need to match the libraries on target machine for any dynamic linking requirements
 - need to match the build to the target kernel (or you might get "kernel too old")