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")