You've already forked libmali-rockchip
mirror of
https://github.com/armbian/libmali-rockchip.git
synced 2026-01-06 12:03:41 -08:00
Refactor for mixed platforms
Major changes: 1/ Allow mixed platforms, e.g. x11-wayland-gbm. 2/ Move extra features, e.g. without-cl, from subversion to platform. 3/ Rename all libraries with GBM API to libmali-*-gbm.so Change-Id: I9364f8298080788b41c5f3a3cf69aec9a2859ff5 Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
This commit is contained in:
@@ -4,18 +4,21 @@ ARCH=${1:-aarch64}
|
||||
GPU=${2:-midgard-t86x}
|
||||
VERSION=${3:-r18p0}
|
||||
SUBVERSION=${4:-none}
|
||||
PLATFORM=${5:-x11}
|
||||
PLATFORM=${5:-gbm}
|
||||
OPTIMIZE=${6:-O3}
|
||||
|
||||
[ ${ARCH} = 'armv7l' -o ${ARCH} = 'armhf' -o ${ARCH} = 'arm32' ] && ARCH=arm
|
||||
[ ${ARCH} = 'armv8' -o ${ARCH} = 'arm64' ] && ARCH=aarch64
|
||||
|
||||
# Normalize platform variable
|
||||
PLATFORM=$(scripts/parse_name.sh --platform $PLATFORM)
|
||||
|
||||
if [ ${SUBVERSION} = 'none' ]; then
|
||||
LIB="libmali-${GPU}-${VERSION}-${PLATFORM}.so"
|
||||
LIB="libmali-${GPU}-${VERSION}-${PLATFORM}"
|
||||
elif [ ${SUBVERSION} = 'all' ]; then
|
||||
LIB="libmali-${GPU}-${VERSION}*-${PLATFORM}.so"
|
||||
LIB="libmali-${GPU}-${VERSION}\(-[rg][0-9]+p[0-9]+\)*-${PLATFORM}"
|
||||
else
|
||||
LIB="libmali-${GPU}-${VERSION}-${SUBVERSION}-${PLATFORM}.so"
|
||||
LIB="libmali-${GPU}-${VERSION}-${SUBVERSION}-${PLATFORM}"
|
||||
fi
|
||||
|
||||
DIR=lib
|
||||
@@ -25,6 +28,13 @@ case ${OPTIMIZE} in
|
||||
;;
|
||||
esac
|
||||
|
||||
find ${DIR}/${ARCH}* -name ${LIB}
|
||||
LIBS=$(find ${DIR}/${ARCH}* -regex ".*${LIB}.so")
|
||||
|
||||
if [ -z "$LIBS" ]; then
|
||||
LIBS=$(find ${DIR}/${ARCH}* -regex ".*${LIB}-gbm.so")
|
||||
[ -n "$LIBS" ] && echo "Fallback to GBM version!" >&2
|
||||
fi
|
||||
|
||||
echo $LIBS
|
||||
|
||||
exit 0
|
||||
|
||||
@@ -23,10 +23,8 @@ for lib in $LIBS; do
|
||||
readelf -s $lib 2>&1 | grep -q Warning && \
|
||||
scripts/fixup_dynsym.py $lib&
|
||||
|
||||
# Rename default libs to -x11
|
||||
echo $lib | grep -qE "\-[rg].p.\.so" || continue
|
||||
[ ! -L $lib ] && mv $lib ${lib%.so}-x11.so
|
||||
rm $lib
|
||||
# Normalize library name
|
||||
mv $lib "${lib%/*}/$(scripts/parse_name.sh --format $lib)" 2>/dev/null
|
||||
done
|
||||
|
||||
# Update debian control and rules
|
||||
|
||||
@@ -4,19 +4,38 @@ PRINT_GPU=false
|
||||
PRINT_VERSION=false
|
||||
PRINT_SUBVERSION=false
|
||||
PRINT_PLATFORM=false
|
||||
PRINT_FORMAT=false
|
||||
|
||||
PLATFORMS="gbm|wayland|x11|only-cl|dummy"
|
||||
PLATFORMS="only-cl|without-cl|dummy|x11|wayland|gbm"
|
||||
|
||||
# Normalize platform variable
|
||||
normalize_platform() {
|
||||
PLATFORM="$@"
|
||||
for platform in $(echo $PLATFORMS|xargs -d'|'); do
|
||||
echo $PLATFORM|grep -ow $platform|uniq
|
||||
done
|
||||
}
|
||||
|
||||
parse_name() {
|
||||
[ -z "$1" ] && return
|
||||
FILE="$@"
|
||||
LIB=${FILE##*/}
|
||||
LIB=${LIB%.so}
|
||||
|
||||
GPU=$(echo $1|cut -d'-' -f'2,3')
|
||||
VERSION=$(echo $1|cut -d'-' -f4)
|
||||
[ -z "$LIB" ] && return
|
||||
|
||||
PLATFORM=$(echo $1|grep -owE "$PLATFORMS"|xargs -n 1|tail -1)
|
||||
GPU=$(echo $LIB|cut -sd'-' -f'2,3')
|
||||
VERSION=$(echo $LIB|cut -sd'-' -f4)
|
||||
|
||||
PLATFORM=$(echo $LIB|grep -owE "$PLATFORMS"|paste -sd'-')
|
||||
[ -z "$PLATFORM" ] && PLATFORM=x11
|
||||
|
||||
SUBVERSION=$(echo ${1%-$PLATFORM}|cut -d'-' -f'5-')
|
||||
SUBVERSION=$(echo ${LIB%-$PLATFORM}|cut -sd'-' -f'5-')
|
||||
|
||||
# Fixup GBM platform
|
||||
if readelf -s "$FILE" 2>/dev/null | grep -wq gbm_create_device; then
|
||||
PLATFORM=${PLATFORM}-gbm
|
||||
fi
|
||||
PLATFORM=$(normalize_platform $PLATFORM|paste -sd'-')
|
||||
|
||||
if $PRINT_GPU;then
|
||||
echo $GPU
|
||||
@@ -26,8 +45,10 @@ parse_name() {
|
||||
echo $SUBVERSION
|
||||
elif $PRINT_PLATFORM;then
|
||||
echo $PLATFORM
|
||||
elif $PRINT_FORMAT;then
|
||||
echo libmali-$GPU-$VERSION${SUBVERSION:+-$SUBVERSION}-$PLATFORM.so
|
||||
else
|
||||
echo name=$1
|
||||
echo name=$LIB
|
||||
echo gpu=$GPU
|
||||
echo version=$VERSION
|
||||
echo subversion=$SUBVERSION
|
||||
@@ -52,10 +73,14 @@ case "$1" in
|
||||
PRINT_PLATFORM=true
|
||||
shift
|
||||
;;
|
||||
--format)
|
||||
PRINT_FORMAT=true
|
||||
shift
|
||||
;;
|
||||
esac
|
||||
|
||||
for lib in "$@";do
|
||||
parse_name $(echo $lib|grep -o "libmali-[^\.]*")
|
||||
parse_name $lib
|
||||
done
|
||||
|
||||
exit 0
|
||||
|
||||
Reference in New Issue
Block a user