147 lines
3.2 KiB
Bash
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 .. |