yolobs-studio/debian/patches/0002-Buildsystem.patch
2016-02-24 00:30:24 +01:00

84 lines
1.8 KiB
Diff

Description: Various build system fixes
This fixes issues with underlinking and build libobs with -fvisibility=hidden
to hide internal symbols.
Author: Sebastian Ramacher <sramacher@debian.org>
Last-Update: 2016-02-24
--- a/libobs/CMakeLists.txt
+++ b/libobs/CMakeLists.txt
@@ -13,6 +13,8 @@
if(UNIX)
find_package(DBus QUIET)
+ find_package(XCB COMPONENTS XCB REQUIRED)
+ find_package(X11)
else()
set(HAVE_DBUS "0")
endif()
@@ -125,6 +127,23 @@
${DBUS_LIBRARIES})
endif()
+ include_directories(
+ ${XCB_INCLUDE_DIRS}
+ ${X11_XCB_INCLUDE_DIRS}
+ ${X11_X11_INCLUDE_PATH})
+
+ add_definitions(
+ ${XCB_DEFINITIONS}
+ ${X11_XCB_DEFINITIONS})
+
+ set(libobs_PLATFORM_DEPS
+ ${libobs_PLATFORM_DEPS}
+ ${XCB_LIBRARIES}
+ ${X11_XCB_LIBRARIES}
+ ${X11_X11_LIB}
+ m
+ dl)
+
if(${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD")
# use the sysinfo compatibility library on bsd
find_package(Libsysinfo REQUIRED)
@@ -354,6 +373,10 @@
-msse2)
endif()
+if(UNIX)
+ set_source_files_properties(${libobs_SOURCES} PROPERTIES
+ COMPILE_FLAGS "-fvisibility=hidden")
+endif()
target_compile_options(libobs
PUBLIC
--- a/obs/CMakeLists.txt
+++ b/obs/CMakeLists.txt
@@ -81,16 +81,13 @@
find_package(XCB COMPONENTS XCB REQUIRED RANDR REQUIRED XINERAMA REQUIRED)
include_directories(
- ${XCB_INCLUDE_DIRS}
- ${X11_XCB_INCLUDE_DIRS})
+ ${XCB_INCLUDE_DIRS})
add_definitions(
- ${XCB_DEFINITIONS}
- ${X11_XCB_DEFINITIONS})
+ ${XCB_DEFINITIONS})
set(obs_PLATFORM_LIBRARIES
${XCB_LIBRARIES}
- ${X11_XCB_LIBRARIES}
Qt5::X11Extras)
endif()
--- a/libobs/util/c99defs.h
+++ b/libobs/util/c99defs.h
@@ -50,7 +50,7 @@
#define EXPORT __declspec(dllexport)
#else
-#define EXPORT
+#define EXPORT __attribute__((visibility("default")))
#endif
#if _MSC_VER && _MSC_VER < 0x0708