SDL_ELF_NOTE_DLOPEN(3)

NAME
SDL_ELF_NOTE_DLOPEN - Add a note that your application has dynamic shared library dependencies.

SYNOPSIS
#include <SDL3/SDL_dlopennote.h>

#define SDL_ELF_NOTE_DLOPEN(feature, description, priority, ...) \
    SDL_ELF_NOTE_INTERNAL(                                       \
        "[{\"feature\":\"" feature                               \
        "\",\"description\":\"" description                      \
        "\",\"priority\":\"" priority                            \
        "\",\"soname\":" SDL_DLNOTE_JSON_ARRAY(__VA_ARGS__) "}]",   \
        SDL_DLNOTE_UNIQUE_NAME);

DESCRIPTION
You can do this by adding the following to the global scope:

        SDL_ELF_NOTE_DLOPEN(
            "png",
            "Support for loading PNG images using libpng (required for APNG)",
            SDL_ELF_NOTE_DLOPEN_PRIORITY_RECOMMENDED,
            "libpng12.so.0"
        )

A trailing semicolon is not needed.

Or if you support multiple versions of a library, you can list them:

        // Our app supports SDL1, SDL2, and SDL3 by dynamically loading them
        SDL_ELF_NOTE_DLOPEN(
            "SDL",
            "Create windows through SDL video backend",
            SDL_ELF_NOTE_DLOPEN_PRIORITY_REQUIRED
            "libSDL-1.2.so.0", "libSDL2-2.0.so.0", "libSDL3.so.0"
        )

This macro is not available for compilers that do not support variadic macro's.

AVAILABILITY
This macro is available since SDL 3.4.0.

SEE ALSO
SDL_ELF_NOTE_DLOPEN_PRIORITY_SUGGESTED(3), SDL_ELF_NOTE_DLOPEN_PRIORITY_RECOMMENDED(3), SDL_ELF_NOTE_DLOPEN_PRIORITY_REQUIRED(3)