Issue 0071
- Summary
- fix usage of SDKROOT in some tests
- Owner
- Tim
- Reporter
- Tim
- Status
- open
- Priority
- medium
Description [edit section]
SDKROOT, which is specified by the tools file for a given toolchain, is used inconsistently by Fuego. Sometimes it is expected to have a trailing slash, and sometimes it is not. It is used with configure, aclocal, pkgconfig, and find. Sometimes it is used as a prefix for a lib or include directory, including the '/usr' part, e.g.:- $SDKROOT/usr/include
and sometimes it specifies a sysroot where other files are searched for.
Here is a list of the places that use SDKROOT, as of Fuego version 1.3:
- Functional.neon
- aclocal --system-acdir=${SDKROOT}usr/share/aclocal
- Functional.aiostress
- $CC -I $SDKROOT/usr/lib -L $SDKROOT/usr/lib
- Benchmark.aim:
- PKG_CONFIG_PATH=$SDKROOT/usr/lib
- pkgconfig ... PKG_CONFIG_SYSROOT_DIR=$SDKROOT
- LDFLAGS=-L $SDKROOT/usr/lib
- CPPFLAGS=-I $SDKROOT/usr/include
- CFLAGS=-I $SDKROOT/usr/include
- Benchmark.blobsallad:
- INCDIR= $SDKROOT/usr/include
- LIBDIR= $SDKROOT/usr/lib
- openssl.sh
- CFLAG= --sysroot=$SDKROOT
- Functional.croco
- aclocal --system-acdir=$SDKROOTusr/share/aclocal
- Functional.zlib
- configure --includedir=$SDKROOT/usr/include
- configure --libdir=$SDKROOT/usr/lib
- Benchmark.backfire
- test -d $SDKROOT/lib/modules/$target_kernel_release/build
- Functional.libsrvg
- aclocal --system-acdir=$SDKROOT/usr/share/aclocal
- Functional.LTP
- configure SYSROOT=$SDKROOT
- Functional.ft2demos
- $CC -L $SDKROOT/usr/lib (in Makefile patch)
- Benchmark.GLMark
- CFLAGS=... -I $SDKROOT/usr/include
- -L SDKROOT/usr/lib
- -L SDKROOT/lib
- CFLAGS=... -I $SDKROOT/usr/include
- functions.sh (is_on_sdk)
- find "$SDKROOT$d" ...
Check each of these uses, to see if they are correct.
Note that Yocto Project SDKs provide a sysroot for the target, but Debian cross toolchain packages do not.
For Debian cross toolchains, the libraries are at:
- /usr/arm-linux-gnueabihf/lib
Right now, the debian-armhf-tools.sh file sets SDKROOT to /. But the the gnueabihf libs are not going to be found on the host at //usr/lib.
But setting it to /usr/arm-linux-gnueabihf won't work, because many tests look for libs and includes in $SDKROOT/usr/lib and $SDKROOT/usr/include. This would result in /usr/arm-linux-gnueabihf/usr/lib and /usr/arm-linux-gnueabihf/usr/include, respectively (which are not there).
Figure out a fix for this, and test to make sure that required toolchain elements are present and/or checked for properly.
Notes [edit section]
Put other free-form comments or notes here
- backlink