From 582393cdba82c26946c5abdbee397c48693814cb Mon Sep 17 00:00:00 2001 From: Tobias Doerffel Date: Fri, 15 May 2009 17:53:58 +0200 Subject: [PATCH 1/2] Fixed linker flags when building for OS X Linker flag "-E" is not supported on OS X so drop it if LMMS_BUILD_APPLE is defined. --- CMakeLists.txt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 0d3f82c7a..4c8e0c5bf 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -540,7 +540,9 @@ IF(LMMS_BUILD_WIN32) ENDIF(LMMS_BUILD_WIN64) ELSE(LMMS_BUILD_WIN32) - SET_TARGET_PROPERTIES(lmms PROPERTIES LINK_FLAGS "${LINK_FLAGS} -Wl,-E") + IF(NOT LMMS_BUILD_APPLE) + SET_TARGET_PROPERTIES(lmms PROPERTIES LINK_FLAGS "${LINK_FLAGS} -Wl,-E") + ENDIF(NOT LMMS_BUILD_APPLE) INSTALL(TARGETS lmms RUNTIME DESTINATION bin) INSTALL(FILES ${CMAKE_BINARY_DIR}/lmms.1.gz DESTINATION ${CMAKE_INSTALL_PREFIX}/share/man/man1/ PERMISSIONS OWNER_READ GROUP_READ WORLD_READ) From 40b9b1cb4c5298653d30f6e27c8d8a1437ad0d4a Mon Sep 17 00:00:00 2001 From: Tobias Doerffel Date: Fri, 15 May 2009 18:23:09 +0200 Subject: [PATCH 2/2] LV2: fixed compilation without LV2 support or older versions of LV2 LV2 core was not compiled conditionally into LMMS binary so compilation failed when building without LV2 support. Furthermore added compatibility code for SLV2 <= 0.6.2. --- CMakeLists.txt | 3 +++ include/lv2_2_lmms.h | 3 +++ include/lv2_manager.h | 4 ++++ lmmsconfig.h.in | 2 ++ src/core/lv2_2_lmms.cpp | 4 ++++ src/core/lv2_manager.cpp | 8 ++++++++ 6 files changed, 24 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 4c8e0c5bf..82b04686e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -318,6 +318,8 @@ ENDIF(WANT_SF2) # check for LV2 (this has an implicit dependency on RDF as far as I can tell) IF(WANT_LV2) CHECK_INCLUDE_FILES(lv2.h LMMS_HAVE_LV2CORE) + # compatibility for slv2 <= 0.6.2 + CHECK_INCLUDE_FILES(slv2/scalepoints.h LMMS_HAVE_SLV2_SCALEPOINTS_H) CHECK_LIBRARY_EXISTS(slv2 slv2_world_new "" LMMS_HAVE_SLV2) @@ -349,6 +351,7 @@ IF(WANT_LV2) FIND_LIBRARY(SLV2_LIBRARY NAMES slv2 PATH /usr/lib /usr/local/lib) FIND_LIBRARY(RDF_LIBRARY NAMES rdf PATH /usr/lib /usr/local/lib) SET(LMMS_SUPPORT_LV2 TRUE) + SET(LMMS_HAVE_LV2 TRUE) ENDIF("${STATUS_LV2}" STREQUAL "OK") ENDIF(WANT_LV2) diff --git a/include/lv2_2_lmms.h b/include/lv2_2_lmms.h index 1afc4af6e..3fd89a988 100644 --- a/include/lv2_2_lmms.h +++ b/include/lv2_2_lmms.h @@ -29,6 +29,7 @@ #include "lv2_manager.h" +#ifdef LMMS_HAVE_LV2 class EXPORT lv22LMMS : public lv2Manager { @@ -76,3 +77,5 @@ private: } ; #endif + +#endif diff --git a/include/lv2_manager.h b/include/lv2_manager.h index fcd9a0390..f6b879fd0 100644 --- a/include/lv2_manager.h +++ b/include/lv2_manager.h @@ -26,6 +26,8 @@ #ifndef _LV2_MANAGER_H #define _LV2_MANAGER_H +#ifdef LMMS_HAVE_LV2 + #include #include #include @@ -378,3 +380,5 @@ private: extern lv2Manager * static_lv2_manager; // There is only one of these... #endif + +#endif diff --git a/lmmsconfig.h.in b/lmmsconfig.h.in index b5d5c9cc9..4cb296cb7 100644 --- a/lmmsconfig.h.in +++ b/lmmsconfig.h.in @@ -10,6 +10,7 @@ #cmakedefine LMMS_HAVE_FFTW3F #cmakedefine LMMS_HAVE_FLUIDSYNTH #cmakedefine LMMS_HAVE_JACK +#cmakedefine LMMS_HAVE_LV2 #cmakedefine LMMS_HAVE_OGGVORBIS #cmakedefine LMMS_HAVE_OSS #cmakedefine LMMS_HAVE_PORTAUDIO @@ -42,6 +43,7 @@ #cmakedefine LMMS_HAVE_STRING_H #cmakedefine LMMS_HAVE_PROCESS_H #cmakedefine LMMS_HAVE_LOCALE_H +#cmakedefine LMMS_HAVE_SLV2_SCALEPOINTS_H /* defines for libsamplerate */ diff --git a/src/core/lv2_2_lmms.cpp b/src/core/lv2_2_lmms.cpp index 359d8e307..f486cedc0 100644 --- a/src/core/lv2_2_lmms.cpp +++ b/src/core/lv2_2_lmms.cpp @@ -27,6 +27,8 @@ #include "lv2_2_lmms.h" +#ifdef LMMS_HAVE_LV2 + lv22LMMS::lv22LMMS( void ) { l_sortable_plugin_t plugins = getSortedPlugins(); @@ -125,3 +127,5 @@ QString lv22LMMS::getShortName( const lv2_key_t & _key ) return name; } +#endif + diff --git a/src/core/lv2_manager.cpp b/src/core/lv2_manager.cpp index 4d5526e76..b80af46ff 100644 --- a/src/core/lv2_manager.cpp +++ b/src/core/lv2_manager.cpp @@ -34,6 +34,13 @@ #include "config_mgr.h" #include "lv2_manager.h" +#ifdef LMMS_HAVE_LV2 + +#ifdef LMMS_HAVE_SLV2_SCALEPOINTS_H +#include "slv2/scalepoints.h" +#endif + + lv2Manager * static_lv2_manager=(lv2Manager *)NULL; // There is only one of these... @@ -631,4 +638,5 @@ QString lv2Manager::getPortName( const lv2_key_t & _plugin, return QString(); } +#endif