tools.sh

The tools.sh file provides the definitions for variables used for each platform’s toolchains.

A single tools.sh file is located at the directory /fuego-ro/toolchains/tools.sh This file uses the PLATFORM environment variable to load a tools.sh file for a particular toolchain.

An individual platform tools file should be named <PLATFORM>-tools.sh, and be located in the /fuego-ro/toolchains directory.

A new <PLATFORM>-tools.sh files must be added whenever a toolchain or SDK is added to the system.

For example, for the platform poky-qemuarm, the file /fuego-ro/toolchains/poky-qemuarm-tools.sh sets the variables needed to compile programs with that toolchain.

The variables that should be exported are:

  • CC - C compiler

  • CXX - C++ compiler

  • CPP - C pre-processor

  • CXXCPP - C++ pre-processor

  • CONFIGURE_FLAGS - flags for the configure script

  • RANLIB - archive index generator (for libs)

  • AS - assembler

  • LD - linker

  • ARCH - architecture

  • CROSS_COMPILE - tool prefix used to build the kernel

  • PREFIX - prefix used with most tools

  • HOST - used with configure –host=$HOST, to specify the machine you are building for

  • SDKROOT - used as prefix for /usr/lib and /usr/include directories

The above variables are directly referenced by the Fuego system.

A few other variables may be used optionally by the build instructions for individual tests.

  • CFLAGS

  • LDFLAGS

Variable usage details

Note

Note that some tools variables are referenced in patch files. These don’t count as uses from -tools.sh. because they are defined as part of the program build instructions with the program itself.

Here are some specific tools variables and what tests use them:

  • CFLAGS - compiler flags

    • used by Benchmark.netpipe, Benchmark.cyclictest, Benchmark.tiobench, Benchmark.dbench, Benchmark.ffsh, Benchmark.Dhrystone, Benchmark.lmbench2, Benchmark.himeno, Benchmark.nbench_byte, Benchmark.linpack, Benchmark.GLMark, Benchmakr.Whetstone, Functionall.synctest, Functiona.posixtestsuite, Functiona.scrashme, LTP, Functional.rmaptest, Functional.linus_stress, Functional.crashme

  • LDFLAGS - linker flags

    • used by Benchmark.netpipe, Benchmark.cyclictest, Benchmark.Dhrystone, Benchmark.signaltest, Benchmark.Whetstone, Functional.synctest, Functiona.posixtestsuite, Functiona.scrashme, LTP, Functional.rmaptest, Functional.linus_stress, Functional.crashme

  • HOST - this is passed to configure with --host=$HOST

    • used by Benchmark.aim7, Benchmark.bonnie, Benchmark.dbench, Benchmark.ffsb, Benchmark.x11perf, Benchmark.iperf, Benchmark.gtkperf, Functional.ft2demos, netperf, Functional.glib, and Functional.stress.

  • SDKROOT - used as prefix for /usr/include and /usr/lib directories and files in builds

    • used by Benchmark.aim7, Benchmark.blobsallad, Benchmark.GLMark, Benchmark.GLMark, Benchmark.GLMark, Benchmark.gtkperf, Functional.aiostress, Functional.zlib, LTP, and Functional.ft2demos