X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=include%2Flttng%2Ftracepoint-event.h;h=4630788c114625c7de68fdcbed122f69568bb63b;hb=31ea1f6f0435b9e4ae91f72462fa0c2856dce8b2;hp=d36a9bafc3b470888b29f7e9010638f893f6f853;hpb=d2428e875af8666473fb689429eaf1022862510d;p=lttng-ust.git diff --git a/include/lttng/tracepoint-event.h b/include/lttng/tracepoint-event.h index d36a9baf..4630788c 100644 --- a/include/lttng/tracepoint-event.h +++ b/include/lttng/tracepoint-event.h @@ -20,12 +20,12 @@ * SOFTWARE. */ +#ifdef TRACEPOINT_CREATE_PROBES + #ifdef __cplusplus extern "C" { #endif -#ifdef TRACEPOINT_CREATE_PROBES - #define __tp_stringify1(x) #x #define __tp_stringify(x) __tp_stringify1(x) @@ -39,21 +39,36 @@ extern "C" { TRACEPOINT_EVENT_INSTANCE(_provider, _name, _name, \ _TP_PARAMS(_args)) -#define TRACEPOINT_INCLUDE __tp_stringify(TRACEPOINT_INCLUDE_FILE) #undef TRACEPOINT_CREATE_PROBES #define TRACEPOINT_HEADER_MULTI_READ + +/* + * LTTng-UST 2.0 expects TRACEPOINT_INCLUDE_FILE, but this approach has + * the unwanted side-effect of expanding any macro name found within + * TRACEPOINT_INCLUDE_FILE. + * + * Starting from LTTng-UST 2.1, we expect the TRACEPOINT_INCLUDE to be + * defined by probes as a string. We still check for + * TRACEPOINT_INCLUDE_FILE for API backward compatibility. + */ +#ifdef TRACEPOINT_INCLUDE_FILE +#define TRACEPOINT_INCLUDE __tp_stringify(TRACEPOINT_INCLUDE_FILE) +#endif + #include TRACEPOINT_INCLUDE #include #undef TRACEPOINT_HEADER_MULTI_READ - -#define TRACEPOINT_CREATE_PROBES - -#endif /* TRACEPOINT_CREATE_PROBES */ +#undef TRACEPOINT_INCLUDE_FILE +#undef TRACEPOINT_INCLUDE #ifdef __cplusplus } #endif + +#define TRACEPOINT_CREATE_PROBES + +#endif /* TRACEPOINT_CREATE_PROBES */