Hallo Damon, Thanks. ! Perfect. Now its working with #include instead of import.
Regards Yogesh On Tue, May 21, 2019 at 5:24 AM Lee, Damon (Data61, Kensington NSW) < [email protected]> wrote: > Hi yk, > > In the .camkes file, could you change the `import "main.h";` line so that > it becomes `#include "main.h"`? > > E.g. the resulting .camkes file should look like: > > *#include "main.h"* > #if UART_ON > { > // uart code goes here... > } > > Sincerely, > Damon > > ------------------------------ > *From:* yogidk <[email protected]> > *Sent:* Monday, 20 May 2019 7:12 PM > *To:* Lee, Damon (Data61, Kensington NSW); [email protected] > *Subject:* Re: [seL4] How to add conditional compilation in .Camkes files > > Hi Damon, > > Thanks for the reply. > > In my CmakeLists.txt, I have added the define as you mentioned: > > > DeclareCAmkESComponent(MAIN > INCLUDES > "src" > SOURCES > "src/main.c" > C_FLAGS > -Wall -Werror > ) > > *set(CAmkESCPP ON CACHE BOOL "" FORCE) * > > > ####################################################################################################### > In main.h, > I added > #define UART_ON 1 > > Include the main.h in my .Camkes file, but I still find UART_ON is set to > 0 as the code is not enabled > > In .Camkes file, > > import "main.h"; > #if UART_ON > { > // uart code goes here... > } > > > Even with UART_ON is 1, the code is always disabled. > I tried options like moving *set(CAmkESCPP ON CACHE BOOL "" FORCE) * to > the top of file etc, but this did not help. > > > Regards > yk > > > On Mon, May 20, 2019 at 4:22 AM Lee, Damon (Data61, Kensington NSW) < > [email protected]> wrote: > > Hi yk, > > The .camkes files can be preprocessed by the C preprocessor. > > To do this, you'll need to turn on the CAmkESCPP CMake flag by appending > this line to the CMakeLists.txt file for your CAmkES component: > > set(CAmkESCPP ON CACHE BOOL "" FORCE) > > You could then define flags inside a header file and include it into the > .camkes file for your application. > > For example, given a header file called main.h, add this line to the > .camkes file for your application: > > #include "main.h" > > or similar. > > Sincerely, > Damon > ------------------------------ > *From:* Devel <[email protected]> on behalf of yogidk < > [email protected]> > *Sent:* Sunday, 19 May 2019 4:43 AM > *To:* [email protected] > *Subject:* [seL4] How to add conditional compilation in .Camkes files > > Hi, > > I try to add support for UART on one platform and disable this UART for > another platform. > > As my application is Camkes based, I need to define the UART connections > (Dataport, Interface functions etc) between the 2 Camkes components. > However I need to use the same application on another platform without UART > support. > > How can this be got in .Camkes files ? > > I already tried including a .h file where I define something like this > In main.h > #ifdef PLATFORM_X > #define UART 1 > #else > #define UART 0 > #endif > > Then include main.h file in Camkes files using a .idl4 file . However it > did not work. > .Camkes file is not able to see these defines to use it further for > conditional compilation in .camkes files to enable or disable UART between > the two components. > > Is there any way to get it done ? > > > Regards > yk > > >
_______________________________________________ Devel mailing list [email protected] https://sel4.systems/lists/listinfo/devel
