make relative gain control in route groups work (again)
[ardour.git] / libs / lua / lua.cc
index cc6593a13d963889b594eddb9415989839bd40bf..c86938f12648eae77412c0a96e3af6b864636e35 100644 (file)
@@ -1,16 +1,35 @@
+/* This is a C++ wrapper to compile the lua C code
+ * with settings appropriate for including it with
+ * Ardour.
+ */
+
+#include "lua/liblua_visibility.h"
+
 #if _MSC_VER
-#pragma push_macro("_CRT_SECURE_NO_WARNINGS")
-#ifndef _CRT_SECURE_NO_WARNINGS
-#define _CRT_SECURE_NO_WARNINGS
-#endif
+# pragma push_macro("_CRT_SECURE_NO_WARNINGS")
+#  ifndef _CRT_SECURE_NO_WARNINGS
+#    define _CRT_SECURE_NO_WARNINGS
+#  endif
+#elif defined(__clang__)
+#  pragma clang diagnostic push
+#  pragma clang diagnostic ignored "-Wcast-qual"
+#elif __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)
+#  pragma GCC diagnostic push
+#  pragma GCC diagnostic ignored "-Wcast-qual"
 #endif
 
+// forward ardour's defines to luaconf.h
 #ifdef PLATFORM_WINDOWS
-# define LUA_USE_WINDOWS
+#  define LUA_USE_WINDOWS
 #elif defined __APPLE__
-# define LUA_USE_MACOSX
+#  define LUA_USE_MACOSX
 #else
-# define LUA_USE_LINUX
+#  define LUA_USE_LINUX
+#endif
+
+// forward liblua visibility to luaconf.h
+#ifdef LIBLUA_BUILD_AS_DLL
+#define LUA_BUILD_AS_DLL
 #endif
 
 extern "C"
@@ -27,12 +46,14 @@ extern "C"
 #undef LUA_LIB
 
 // override luaconf.h symbol export
-#undef LUA_API
-#undef LUALIB_API
-#undef LUAMOD_API
-#define LUA_API                extern "C"
-#define LUALIB_API     LUA_API
-#define LUAMOD_API     LUALIB_API
+#ifdef LIBLUA_STATIC // static lib (no DLL)
+#  undef LUA_API
+#  undef LUALIB_API
+#  undef LUAMOD_API
+#  define LUA_API     extern "C"
+#  define LUALIB_API  LUA_API
+#  define LUAMOD_API  LUALIB_API
+#endif
 
 // disable support for extenal libs
 #undef LUA_DL_DLL
@@ -89,8 +110,12 @@ extern "C"
 #pragma warning (pop)
 #endif
 
-}
+} // end extern "C"
 
 #if _MSC_VER
-#pragma pop_macro("_CRT_SECURE_NO_WARNINGS")
+#  pragma pop_macro("_CRT_SECURE_NO_WARNINGS")
+#elif defined(__clang__)
+#  pragma clang diagnostic pop
+#elif __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)
+#  pragma GCC diagnostic pop
 #endif