meson: Support optimize-level option

The default optimize level is O3, there're more to come.

Change-Id: I4671d9664a565c43300ec46a0aa6ac91661bd607
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
This commit is contained in:
Jeffy Chen 2021-08-19 14:58:59 +08:00 committed by Zhen Chen
parent 5c877bacdb
commit c861959ac5
4 changed files with 16 additions and 4 deletions

View file

@ -1,10 +1,11 @@
#!/bin/sh
#!/bin/bash
ARCH=${1:-aarch64}
GPU=${2:-midgard-t86x}
VERSION=${3:-r18p0}
SUBVERSION=${4:-none}
PLATFORM=${5:-x11}
OPTIMIZE=${6:-O3}
[ ${ARCH} = 'armv7l' -o ${ARCH} = 'armhf' -o ${ARCH} = 'arm32' ] && ARCH=arm
[ ${ARCH} = 'armv8' -o ${ARCH} = 'arm64' ] && ARCH=aarch64
@ -17,4 +18,11 @@ else
LIB="libmali-${GPU}-${VERSION}-${SUBVERSION}-${PLATFORM}.so"
fi
find lib/${ARCH}* -name ${LIB} 2>/dev/null
DIR=lib
case ${OPTIMIZE} in
O*)
DIR=optimize_${OPTIMIZE#O}
;;
esac
find ${DIR}/${ARCH}* -name ${LIB}

View file

@ -21,11 +21,12 @@ platform = get_option('platform')
opencl_icd = get_option('opencl-icd')
vendor_package = get_option('vendor-package')
wrappers_opts = get_option('wrappers')
optimize = get_option('optimize-level')
message('Building for ' + '|'.join([arch, gpu, version, subversion, platform]))
message('Building for ' + '|'.join([arch, gpu, version, subversion, platform, optimize]))
# Grab libraries with specified configs
cmd = run_command('grabber.sh', arch, gpu, version, subversion, platform)
cmd = run_command('grabber.sh', arch, gpu, version, subversion, platform, optimize)
libs = cmd.stdout().strip().split('\n')
# Use the first one as default library

View file

@ -18,3 +18,5 @@ option('vendor-package', type: 'boolean', value: 'false',
description: 'Install as vendor package (default: false)')
option('wrappers', type: 'feature', value: 'auto',
description: 'Install with wrappers (default: auto)')
option('optimize-level', type: 'combo', choices: ['O0', 'O1', 'O2', 'O3', 'Os', 'Ofast', 'Og'], value: 'O3',
description: 'Optimize level (default: O3)')

1
optimize_3 Symbolic link
View file

@ -0,0 +1 @@
lib