Merge pull request #1827 from waddlesplash/master

General platform-logic refactoring & Haiku support.
This commit is contained in:
Tres Finocchiaro
2015-03-07 14:49:47 +00:00
10 changed files with 35 additions and 54 deletions

View File

@@ -1,11 +1,11 @@
IF(WIN32)
SET(LMMS_BUILD_WIN32 1)
ELSE(WIN32)
IF(APPLE)
SET(LMMS_BUILD_APPLE 1)
ELSE(APPLE)
SET(LMMS_BUILD_LINUX 1)
ENDIF(APPLE)
ELSEIF(APPLE)
SET(LMMS_BUILD_APPLE 1)
ELSEIF(HAIKU)
SET(LMMS_BUILD_HAIKU 1)
ELSE()
SET(LMMS_BUILD_LINUX 1)
ENDIF(WIN32)
MESSAGE("PROCESSOR: ${CMAKE_SYSTEM_PROCESSOR}")

View File

@@ -36,17 +36,12 @@
#include <string>
#include <cassert>
#ifdef LMMS_BUILD_WIN32
#if defined(LMMS_HAVE_SYS_IPC_H) && defined(LMMS_HAVE_SEMAPHORE_H)
#include <sys/ipc.h>
#include <semaphore.h>
#else
#define USE_QT_SEMAPHORES
#define USE_QT_SHMEM
#endif
#ifdef LMMS_BUILD_APPLE
#define USE_QT_SEMAPHORES
#endif
#ifdef USE_QT_SEMAPHORES
#ifdef LMMS_HAVE_PROCESS_H
#include <process.h>
@@ -54,39 +49,25 @@
#include <QtCore/QtGlobal>
#include <QtCore/QSystemSemaphore>
#else /* USE_QT_SEMAPHORES */
#ifdef LMMS_HAVE_SYS_IPC_H
#include <sys/ipc.h>
#endif
#ifdef LMMS_HAVE_SEMAPHORE_H
#include <semaphore.h>
#endif
#endif
#ifdef USE_QT_SHMEM
#include <QtCore/QtGlobal>
#include <QtCore/QSharedMemory>
typedef int32_t key_t;
#else /* USE_QT_SHMEM */
#ifdef LMMS_HAVE_SYS_SHM_H
#include <sys/shm.h>
#endif
#ifdef LMMS_HAVE_UNISTD_H
#include <unistd.h>
#endif
#else
#define USE_QT_SHMEM
#include <QtCore/QtGlobal>
#include <QtCore/QSharedMemory>
#if !defined(LMMS_HAVE_SYS_TYPES_H) || defined(LMMS_BUILD_WIN32)
typedef int32_t key_t;
#endif
#endif
#ifdef LMMS_HAVE_LOCALE_H

View File

@@ -34,7 +34,7 @@
#include <cmath>
using namespace std;
#if defined (LMMS_BUILD_WIN32) || defined (LMMS_BUILD_APPLE)
#if defined (LMMS_BUILD_WIN32) || defined (LMMS_BUILD_APPLE) || defined(LMMS_BUILD_HAIKU)
#ifndef isnanf
#define isnanf(x) isnan(x)
#endif

View File

@@ -27,3 +27,7 @@
#ifdef LMMS_BUILD_WIN32
#define PLATFORM "win32"
#endif
#ifdef LMMS_BUILD_HAIKU
#define PLATFORM "Haiku"
#endif

View File

@@ -2,6 +2,7 @@
#cmakedefine LMMS_BUILD_WIN32
#cmakedefine LMMS_BUILD_WIN64
#cmakedefine LMMS_BUILD_APPLE
#cmakedefine LMMS_BUILD_HAIKU
#cmakedefine LMMS_HOST_X86
#cmakedefine LMMS_HOST_X86_64

View File

@@ -24,9 +24,9 @@ FOREACH(_item ${PLUGIN_SOURCES})
ELSE(LMMS_BUILD_APPLE)
SET_TARGET_PROPERTIES("${_plugin}" PROPERTIES LINK_FLAGS "${LINK_FLAGS} -shared -Wl,-no-undefined -Wl,-Bsymbolic -lm")
ENDIF(LMMS_BUILD_APPLE)
IF(LMMS_BUILD_LINUX)
IF(LMMS_BUILD_LINUX OR LMMS_BUILD_HAIKU)
SET_TARGET_PROPERTIES("${_plugin}" PROPERTIES LINK_FLAGS "${LINK_FLAGS} -nostartfiles")
ENDIF(LMMS_BUILD_LINUX)
ENDIF(LMMS_BUILD_LINUX OR LMMS_BUILD_HAIKU)
ENDFOREACH(_item ${PLUGIN_SOURCES})

View File

@@ -14,8 +14,8 @@ FOREACH(_item ${PLUGIN_SOURCES})
ELSE(LMMS_BUILD_APPLE)
SET_TARGET_PROPERTIES("${_plugin}" PROPERTIES LINK_FLAGS "${LINK_FLAGS} -shared -Wl,-no-undefined -Wl,-Bsymbolic -lm")
ENDIF(LMMS_BUILD_APPLE)
IF(LMMS_BUILD_LINUX)
IF(LMMS_BUILD_LINUX OR LMMS_BUILD_HAIKU)
SET_TARGET_PROPERTIES("${_plugin}" PROPERTIES LINK_FLAGS "${LINK_FLAGS} -nostartfiles")
ENDIF(LMMS_BUILD_LINUX)
ENDIF(LMMS_BUILD_LINUX OR LMMS_BUILD_HAIKU)
ENDFOREACH(_item ${PLUGIN_SOURCES})

View File

@@ -458,10 +458,6 @@ void lb302Synth::recalcFilter()
vcf_envpos = ENVINC; // Trigger filter update in process()
}
inline int MIN(int a, int b) {
return (a<b)?a:b;
}
inline float GET_INC(float freq) {
return freq/Engine::mixer()->processingSampleRate(); // TODO: Use actual sampling rate.
}

View File

@@ -32,7 +32,11 @@ IF(MINGW_PREFIX)
SET(FLTK_SKIP_FLUID TRUE)
ENDIF()
FIND_PACKAGE(FLTK REQUIRED)
FIND_PACKAGE(FLTK)
IF(NOT FLTK_FOUND)
RETURN()
ENDIF()
IF(MINGW_PREFIX)
SET(FLTK_FLUID_EXECUTABLE "${MINGW_PREFIX}/bin/fluid")

View File

@@ -30,12 +30,7 @@
#include "lmmsconfig.h"
#include "Mixer.h"
#include "VstSyncController.h"
#ifdef LMMS_BUILD_WIN32
#ifndef USE_QT_SHMEM
#define USE_QT_SHMEM
#endif
#endif
#include "RemotePlugin.h"
#ifndef USE_QT_SHMEM
#include <stdio.h>