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