#!/bin/bash
|
|
#+--------------------------------------------------------------------------------------------
|
#|Description: This shell script used download and cross compile open source libs
|
#| Author: GuoWenxue <guowenxue@gmail.com>
|
#| ChangeLog:
|
#| 1, Initialize 1.0.0 on 2011.04.12
|
#+--------------------------------------------------------------------------------------------
|
|
SCRIPT_PATH=`dirname ${BASH_SOURCE[0]}`
|
PREFIX_PATH=`realpath ${SCRIPT_PATH}/`/../install
|
|
CONF_FILE=cross_file.txt
|
|
# display in yellow
|
function pr_warn() {
|
echo -e "\033[40;33m --W-- $1 \033[0m\n"
|
}
|
|
function generate_config()
|
{
|
cat > $CONF_FILE <<EOF
|
|
[binaries]
|
c = '${CROSS_COMPILE}gcc'
|
cpp = '${CROSS_COMPILE}g++'
|
ar = '${CROSS_COMPILE}ar'
|
strip = '${CROSS_COMPILE}strip'
|
|
[host_machine]
|
system = 'linux'
|
cpu_family = 'arm'
|
cpu = 'armv7'
|
endian = 'little'
|
|
[build_machine]
|
system = 'linux'
|
cpu_family = 'x86_64'
|
cpu = 'x86_64'
|
endian = 'little'
|
|
EOF
|
}
|
|
function compile_libdrm()
|
{
|
SRC_NAME=libdrm-2.4.110
|
|
echo $PREFIX_PATH
|
|
if [ -f ${PREFIX_PATH}/bin/modetest ] ; then
|
pr_warn "$SRC_NAME already compile and installed"
|
return 0;
|
fi
|
|
pr_warn "Start compile $SRC_NAME "
|
|
if [ ! -d $SRC_NAME ] ; then
|
if [ ! -f ${SRC_NAME}.tar.xz ] ; then
|
wget https://dri.freedesktop.org/libdrm/${SRC_NAME}.tar.xz
|
fi
|
|
tar -xJf ${SRC_NAME}.tar.xz
|
fi
|
|
cd ${SRC_NAME}
|
|
generate_config
|
|
BUILD_PATH=tmp_build
|
rm -rf $BUILD_PATH && mkdir -p $BUILD_PATH && cd $BUILD_PATH
|
|
meson --prefix=$PREFIX_PATH \
|
--cross-file=../$CONF_FILE \
|
-D amdgpu=false \
|
-D cairo-tests=false \
|
-D etnaviv=false \
|
-D exynos=false \
|
-D freedreno=false \
|
-D freedreno-kgsl=false \
|
-D install-test-programs=true \
|
-D intel=false \
|
-D libkms=false \
|
-D man-pages=false \
|
-D nouveau=false \
|
-D omap=false \
|
-D radeon=false \
|
-D tegra=false \
|
-D udev=false \
|
-D valgrind=false \
|
-D vc4=false \
|
-D vmwgfx=false
|
|
ninja && ninja install
|
}
|
|
compile_libdrm
|