Files
Cluster/packages/build_packages.sh

147 lines
3.2 KiB
Bash

#!/bin/bash
##CROSS_COMPILE=/opt/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/bin/aarch64-none-linux-gnu-
TOOLCHAIN_DIR="/opt/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/bin"
CROSS_PREFIX="aarch64-none-linux-gnu"
readonly PKG_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
rm -rf ./install/ ./zlib-1.2.11/ ./libpng-1.6.34/ ./jpeg-9c/ ./freetype-2.13.2/ ./glew-2.1.0/ ./cJSON-v1.7.18/ ./expat-2.5.0/ ./libffi-3.4.6/ ./libdrm-2.4.120/ ./mesa-24.1.7/
tar -zxvf cJSON-v1.7.18.tar.gz
tar -zxvf freetype-2.13.2.tar.gz
tar -zxvf glew-2.1.0.tgz
tar -zxvf jpegsrc.v9c.tar.gz
tar -zxvf libpng-1.6.34.tar.gz
tar -zxvf zlib-1.2.11.tar.gz
tar -xzf expat-2.5.0.tar.gz
tar -xvf libdrm-2.4.120.tar.xz
tar -xzf libffi-3.4.6.tar.gz
tar -xvf mesa-24.1.7.tar.xz
mkdir -p install
export CC=${TOOLCHAIN_DIR}/${CROSS_PREFIX}-gcc
export CXX=${TOOLCHAIN_DIR}/${CROSS_PREFIX}-g++
export LD=${TOOLCHAIN_DIR}/${CROSS_PREFIX}-ld
export AR=${TOOLCHAIN_DIR}/${CROSS_PREFIX}-ar
export RANLIB=${TOOLCHAIN_DIR}/${CROSS_PREFIX}-ranlib
export CFLAGS="-I${PKG_DIR}/install/include"
export CPPFLAGS="-I${PKG_DIR}/install/include"
export LDFLAGS="-L${PKG_DIR}/install/lib"
# 1. zlib
cd zlib-1.2.11
./configure \
--prefix=${PKG_DIR}/install/ \
--enable-shared
make
make install
cd ..
# 2. libpng
cd libpng-1.6.34
./configure \
--prefix=${PKG_DIR}/install/ \
--host=${CROSS_PREFIX} \
--enable-shared \
--enable-static
make
make install
cd ..
# 3. JPEG
cd jpeg-9c
./configure \
--prefix=${PKG_DIR}/install/ \
--host=${CROSS_PREFIX} \
--enable-shared \
--enable-static
make
make install
cd ..
#4.Freetype
cd freetype-2.13.2
./configure \
--prefix=${PKG_DIR}/install/ \
--host=${CROSS_PREFIX} \
--with-zlib=${PKG_DIR}/install/include \
--enable-shared \
--enable-static \
--without-brotli
make
make install
cd ..
# 5. GLEW(DRM)
cd glew-2.1.0
make GLEW_EGL=1
make install GLEW_DEST=${PKG_DIR}/install/
cd ..
#6. CJson
cd cJSON-v1.7.18
mkdir -p build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=${PKG_DIR}/install/ -DBUILD_SHARED_LIBS=OFF #static complie
make
make install
cd ../../
#expat
cd expat-2.5.0
./configure \
--host=${CROSS_PREFIX} \
--prefix=${PKG_DIR}/install/ \
--enable-shared \
--enable-static \
--without-docbook
make
make install
cd ..
#libffi
cd libffi-3.4.6
./configure \
--host=${CROSS_PREFIX} \
--prefix=${PKG_DIR}/install/ \
--enable-shared \
--enable-static
make
make install
cd ..
#drm
cd libdrm-2.4.120
meson setup build_dir/ \
--prefix=${PKG_DIR}/install \
-Dc_args="-I${PKG_DIR}/install/include/" \
-Dc_link_args="-L${PKG_DIR}/install/lib" \
--cross-file ../cross_file.txt
ninja -C build_dir/ install
cd ..
#. mesa (GLESv2,EGL, gbm) ## need :zlib,expat,libdrm,libffi,ibelf
cd mesa-24.1.7
meson setup build_dir/ \
-D egl=enabled \
-D gles1=disabled \
-D gles2=enabled \
-D gbm=enabled \
-D glx=disabled \
-D platforms= \
-D gallium-drivers=panfrost,swrast \
-D vulkan-drivers= \
-D llvm=disabled \
-D xlib-lease=disabled \
-D gbm-backends-path= \
-D dri-drivers-path=/usr/lib/dri \
-D c_args="-I${PKG_DIR}/install/include/" \
-D c_link_args="-L${PKG_DIR}/install/lib" \
--cross-file ../cross_file.txt
DESTDIR=${PKG_DIR}/install ninja -C build_dir/ install
cd ..