Hi Germain!
I'm facing a quite subtle compilation problem when I build BBQ referencing the new (internal) SThorm SDK, which was not present till the previous 2013.1 SDK version.
Essentially, the build breaks because of a not found "platform.h" header.
The points are:
1. these header files have changed location in the new SDK.
In the new SDK we have these locations:
./tools/STxP70/stxp70cc/4.3/src/lib/newlib/libgloss/bfin/include/sys/platform.h
./src/gepop/include/platform.h
./modules/gepop/fabric/include/platform.h
while, in the previous (stable) SDK they was in:
./modules/cosim/hal/include/platform.h
./modules/gepop/fabric/include/platform.h
./modules/OpenCL/ClamPkg/include/platform.h
2. we don't need the platform.h header, but it a dependency of:
./modules/hal/include/p2012.h
which instead we include for the P2012 PIL compilation
3. it seems that the proper version of "platform.h" to be used depends on the actual target, either GePOP or the physical board,
which is targeted when __ZYNQ__ is defined. Indeed, as you can see from this compiler error:
Building CXX object bbque/CMakeFiles/barbeque.dir/platform_proxy.cc.o
cd /home/derkling/Documents/Coding/MyBOSP/barbeque/build/Release/bbque && /home/derkling/Documents/Coding/MyBOSP/out/android-toolchain/bin/arm-linux-androideabi-g++ -DUNIX -Wall -std=c++0x -std=gnu++0x -DGCC_VERSION="." -DGCC_TAG=46 -I../../../out/include -D__ARM_ARCH_5__ -D__ARM_ARCH_5T__ -D__ARM_ARCH_5E__ -D__ARM_ARCH_5TE__ -D__STDINT_LIMITS -D_GLIBCXX_USE_C99_STDINT_TR1 -D__BIONIC__ -Wno-psabi -march=armv5te -mtune=xscale -msoft-float -fexceptions -frtti -mthumb -fomit-frame-pointer -fno-strict-aliasing -finline-limit=64 -DANDROID -Wa,--noexecstack -I/opt/sthorm_sdk/modules/hal/include -I/opt/sthorm_sdk/modules/linux/lib/include -Wl,-L/opt/sthorm_sdk/modules/linux/lib/lib -O3 -DNDEBUG -I/home/derkling/Documents/Coding/MyBOSP/barbeque/build/Release/include -I/home/derkling/Documents/Coding/MyBOSP/barbeque/include -I/home/derkling/Documents/Coding/MyBOSP/out/include -o CMakeFiles/barbeque.dir/platform_proxy.cc.o -c /home/derkling/Documents/Coding/MyBOSP/barbeque/bbque/platform_proxy.cc
In file included from /opt/sthorm_sdk/modules/linux/lib/include/p2012_ioctl.h:4:0,
from /opt/sthorm_sdk/modules/linux/lib/include/p2012_lnx_dd.h:20,
from /home/derkling/Documents/Coding/MyBOSP/barbeque/include/bbque/pp/p2012.h:26,
from /home/derkling/Documents/Coding/MyBOSP/barbeque/bbque/pp/p2012.cc:24:
/opt/sthorm_sdk/modules/linux/lib/include/p2012_const.h:25:22: fatal error: platform.h: No such file or directory
the actual source of the troubles is:
/opt/sthorm_sdk/modules/linux/lib/include/p2012_const.h
which at the really top includes platform.h just when __ZYNQ__ is NOT defined.
The problem is that from the BOSP building system I don't know which platform.h file is better to point.
For the time being, in BOSP I'm forcing __ZYNQ__ to be defined, which avoids me to include the platform.h.
This should not be a problem for BBQ, probably we don't need this header.
However, have you some suggestion on how to properly reference this platform.h header?
Ciao Patrick
--
#include <best/regards.h>
Patrick Bellasi
Post-Doc at Politecnico di Milano
http://home.dei.polimi.it/bellasi