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

Reply via email to