#ifndef AL_AL_H
#define AL_AL_H
#if defined(__cplusplus)
extern "C" {
#endif
#ifndef AL_API
#if defined(AL_LIBTYPE_STATIC)
#define AL_API
#elif defined(_WIN32)
#define AL_API __declspec(dllimport)
#else
#define AL_API extern
#endif
#endif
#if defined(_WIN32)
#define AL_APIENTRY __cdecl
#else
#define AL_APIENTRY
#endif
This is probably a simple question but I have been struggling to understand the first 22 lines of al.h in SFML/extlibs/headers/AL/al.h. Specifically line 9, or #if defined(AL_LIBTYPE_STATIC). I am not seeing AL_LIBTYPE_STATIC ever being defined in this whole SFML project, where is this coming from? Is this something that comes up through the linker? What are these lines doing? I understand preprocessor directives and their use but this is something I have not quite seen before. Thanks.