| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156 |
- --
- -- Copyright (c) 2012-2020 Daniele Bartolini and individual contributors.
- -- License: https://github.com/dbartolini/crown/blob/master/LICENSE
- --
- function openal_project(_kind)
- project "openal"
- kind (_kind)
- configuration {}
- local AL_DIR = (CROWN_DIR .. "3rdparty/openal/")
- defines {
- "_LARGE_FILES",
- "_LARGEFILE_SOURCE",
- "AL_ALEXT_PROTOTYPES",
- "AL_BUILD_LIBRARY",
- "HAVE_C99_BOOL",
- "HAVE_FENV_H",
- "HAVE_FLOAT_H",
- "HAVE_LRINTF",
- "HAVE_MALLOC_H",
- "HAVE_STAT",
- "HAVE_STDBOOL_H",
- "HAVE_STDINT_H",
- "HAVE_STRTOF",
- }
- configuration { "not vs*" }
- defines {
- "HAVE_C99_VLA",
- "HAVE_DIRENT_H",
- "HAVE_GCC_DESTRUCTOR",
- "HAVE_GCC_FORMAT",
- "HAVE_PTHREAD_SETNAME_NP",
- "HAVE_PTHREAD_SETSCHEDPARAM",
- "HAVE_STRINGS_H",
- "restrict=__restrict",
- "SIZEOF_LONG=8",
- "SIZEOF_LONG_LONG=8",
- -- These are needed on non-Windows systems for extra features
- "_GNU_SOURCE=1",
- "_POSIX_C_SOURCE=200809L",
- "_XOPEN_SOURCE=700",
- }
- buildoptions {
- "-fPIC",
- "-Winline",
- "-fvisibility=hidden",
- "-fexceptions" -- :(
- }
- configuration { "linux-* or android-*" }
- defines {
- "HAVE_DLFCN_H",
- "HAVE_GCC_GET_CPUID",
- }
- configuration { "not android-*" }
- defines {
- "HAVE_SSE",
- "HAVE_SSE2",
- }
- files {
- AL_DIR .. "alc/mixer/mixer_sse2.cpp",
- AL_DIR .. "alc/mixer/mixer_sse.cpp",
- }
- configuration { "android-*" }
- files {
- AL_DIR .. "alc/backends/opensl.cpp"
- }
- links {
- "OpenSLES",
- }
- configuration { "linux-*" }
- defines {
- "HAVE_CPUID_H",
- "HAVE_POSIX_MEMALIGN",
- "HAVE_PTHREAD_MUTEX_TIMEDLOCK",
- "HAVE_PULSEAUDIO",
- }
- files {
- AL_DIR .. "alc/backends/pulseaudio.cpp",
- }
- configuration { "vs* or mingw-*"}
- defines {
- "_WIN32_WINNT=0x0502",
- "_WINDOWS",
- "HAVE___CONTROL87_2",
- "HAVE__ALIGNED_MALLOC",
- "HAVE__CONTROLFP",
- "HAVE_CPUID_INTRINSIC",
- "HAVE_DSOUND",
- "HAVE_GUIDDEF_H",
- "HAVE_INTRIN_H",
- "HAVE_IO_H",
- "HAVE_MMDEVAPI",
- "HAVE_WINDOWS_H",
- "HAVE_WINMM",
- }
- files {
- AL_DIR .. "alc/backends/mmdevapi.cpp",
- AL_DIR .. "alc/backends/dsound.cpp",
- AL_DIR .. "alc/backends/winmm.cpp",
- }
- links {
- "winmm",
- "ole32",
- }
- configuration { "vs*" }
- defines {
- "_CRT_NONSTDC_NO_DEPRECATE",
- "inline=__inline",
- "restrict=",
- "SIZEOF_LONG=4",
- "SIZEOF_LONG_LONG=8",
- "strcasecmp=_stricmp",
- "strncasecmp=_strnicmp",
- }
- buildoptions {
- "/wd4098",
- "/wd4267",
- "/wd4244",
- "/EHs", -- :(
- }
- configuration {}
- includedirs {
- AL_DIR .. "al/include",
- AL_DIR .. "alc",
- AL_DIR .. "common",
- AL_DIR .. "include",
- AL_DIR,
- }
- files {
- AL_DIR .. "al/*.cpp",
- AL_DIR .. "alc/*.cpp",
- AL_DIR .. "alc/backends/base.cpp",
- AL_DIR .. "alc/backends/loopback.cpp",
- AL_DIR .. "alc/backends/null.cpp",
- AL_DIR .. "alc/effects/*.cpp",
- AL_DIR .. "alc/filters/*.cpp",
- AL_DIR .. "alc/midi/*.cpp",
- AL_DIR .. "alc/mixer/mixer_c.cpp",
- AL_DIR .. "common/*.cpp",
- }
- configuration {}
- end
|