X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=include%2Flttng%2Ftracepoint-event.h;h=4630788c114625c7de68fdcbed122f69568bb63b;hb=b2f3252a48dfe0a2bac5b307157bcf2b25d044b3;hp=e7bcea92ea58d1912b15a4927f8e5b6b22f103dc;hpb=9501d22f55b3a23f382f631c99b2325d1419b5da;p=lttng-ust.git diff --git a/include/lttng/tracepoint-event.h b/include/lttng/tracepoint-event.h index e7bcea92..4630788c 100644 --- a/include/lttng/tracepoint-event.h +++ b/include/lttng/tracepoint-event.h @@ -10,14 +10,22 @@ * * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * 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) @@ -31,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 */