[proaudio] media-sound/mixxx-9999 Patch update to fix build issues. |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/proaudio Archives
]
I have attached an updated sys libs patch for the latest trunk. There is
a pending upstream bug for the src/engine/enginefilterbutterworth8.cpp
patch. Once the bug is closed I will submit an updated patch.
diff --git a/build/depends.py b/build/depends.py
index 606062e..58e2d40 100644
--- a/build/depends.py
+++ b/build/depends.py
@@ -376,25 +376,11 @@ class TestHeaders(Dependence):
class FidLib(Dependence):
- def sources(self, build):
- symbol = None
- if build.platform_is_windows:
- if build.toolchain_is_msvs:
- symbol = 'T_MSVC'
- elif build.crosscompile:
- # Not sure why, but fidlib won't build with mingw32msvc and
- # T_MINGW
- symbol = 'T_LINUX'
- elif build.toolchain_is_gnu:
- symbol = 'T_MINGW'
- else:
- symbol = 'T_LINUX'
-
- return [build.env.StaticObject('#lib/fidlib-0.9.10/fidlib.c',
- CPPDEFINES=symbol)]
-
def configure(self, build, conf):
- build.env.Append(CPPPATH='#lib/fidlib-0.9.10/')
+ if not conf.CheckLib('fidlib'):
+ raise Exception('Did not find fidlib library, exiting!')
+ build.env.Append(CPPPATH=[SCons.ARGUMENTS.get('prefix') + '/include/fidlib'])
+
class ReplayGain(Dependence):
@@ -407,7 +393,6 @@ class ReplayGain(Dependence):
class SoundTouch(Dependence):
- SOUNDTOUCH_PATH = 'soundtouch-1.6.0'
def sse_enabled(self, build):
optimize = int(util.get_flags(build.env, 'optimize', 1))
@@ -416,30 +401,7 @@ class SoundTouch(Dependence):
(build.toolchain_is_gnu and optimize > 1))
def sources(self, build):
- sources = ['engine/enginebufferscalest.cpp',
- '#lib/%s/SoundTouch.cpp' % self.SOUNDTOUCH_PATH,
- '#lib/%s/TDStretch.cpp' % self.SOUNDTOUCH_PATH,
- '#lib/%s/RateTransposer.cpp' % self.SOUNDTOUCH_PATH,
- '#lib/%s/AAFilter.cpp' % self.SOUNDTOUCH_PATH,
- '#lib/%s/FIFOSampleBuffer.cpp' % self.SOUNDTOUCH_PATH,
- '#lib/%s/FIRFilter.cpp' % self.SOUNDTOUCH_PATH,
- '#lib/%s/PeakFinder.cpp' % self.SOUNDTOUCH_PATH,
- '#lib/%s/BPMDetect.cpp' % self.SOUNDTOUCH_PATH]
-
- # SoundTouch CPU optimizations are only for x86
- # architectures. SoundTouch automatically ignores these files when it is
- # not being built for an architecture that supports them.
- cpu_detection = '#lib/%s/cpu_detect_x86_win.cpp' if build.toolchain_is_msvs else \
- '#lib/%s/cpu_detect_x86_gcc.cpp'
- sources.append(cpu_detection % self.SOUNDTOUCH_PATH)
-
- # Check if the compiler has SSE extention enabled
- # Allways the case on x64 (core instructions)
- if self.sse_enabled(build):
- sources.extend(
- ['#lib/%s/mmx_optimized.cpp' % self.SOUNDTOUCH_PATH,
- '#lib/%s/sse_optimized.cpp' % self.SOUNDTOUCH_PATH, ])
- return sources
+ return ['engine/enginebufferscalest.cpp']
def configure(self, build, conf, env=None):
if env is None:
@@ -447,12 +409,11 @@ class SoundTouch(Dependence):
if build.platform_is_windows:
# Regardless of the bitwidth, ST checks for WIN32
env.Append(CPPDEFINES='WIN32')
- env.Append(CPPPATH=['#lib/%s' % self.SOUNDTOUCH_PATH])
- # Check if the compiler has SSE extention enabled
- # Allways the case on x64 (core instructions)
- if self.sse_enabled(build):
- env.Append(CPPDEFINES='SOUNDTOUCH_ALLOW_X86_OPTIMIZATIONS')
+ if not conf.CheckLib(['SoundTouch','libSoundTouch']):
+ raise Exception('Did not find SoundTouch library, exiting!')
+ build.env.Append(CPPPATH=[SCons.ARGUMENTS.get('prefix') + '/include/soundtouch'])
+ build.env.Append(LIBS='SoundTouch')
class RubberBand(Dependence):
diff --git a/build/features.py b/build/features.py
index a8d5861..4c711d3 100644
--- a/build/features.py
+++ b/build/features.py
@@ -54,7 +54,6 @@ class HSS1394(Feature):
class HID(Feature):
- HIDAPI_INTERNAL_PATH = '#lib/hidapi-0.8.0-pre'
def description(self):
return "HID controller support"
@@ -71,10 +70,6 @@ class HID(Feature):
def configure(self, build, conf):
if not self.enabled(build):
return
- # TODO(XXX) allow external hidapi install, but for now we just use our
- # internal one.
- build.env.Append(
- CPPPATH=[os.path.join(self.HIDAPI_INTERNAL_PATH, 'hidapi')])
if build.platform_is_linux:
build.env.ParseConfig(
@@ -99,22 +94,16 @@ class HID(Feature):
build.env.Append(CPPDEFINES='__HID__')
+ if not conf.CheckLib('hidapi-libusb'):
+ raise Exception('Did not find HID API library, exiting!')
+ build.env.Append(CPPPATH=[SCons.ARGUMENTS.get('prefix') + '/include/hidapi'])
+ build.env.Append(LIBS='hidapi-libusb')
+
def sources(self, build):
sources = ['controllers/hid/hidcontroller.cpp',
'controllers/hid/hidenumerator.cpp',
'controllers/hid/hidcontrollerpresetfilehandler.cpp']
- if build.platform_is_windows:
- # Requires setupapi.lib which is included by the above check for
- # setupapi.
- sources.append(
- os.path.join(self.HIDAPI_INTERNAL_PATH, "windows/hid.c"))
- elif build.platform_is_linux:
- sources.append(
- os.path.join(self.HIDAPI_INTERNAL_PATH, 'linux/hid-libusb.c'))
- elif build.platform_is_osx:
- sources.append(
- os.path.join(self.HIDAPI_INTERNAL_PATH, 'mac/hid.c'))
return sources
@@ -802,24 +791,15 @@ class TestSuite(Feature):
test_env.Append(CCFLAGS='-pthread')
test_env.Append(LINKFLAGS='-pthread')
- test_env.Append(CPPPATH="#lib/gtest-1.7.0/include")
- gtest_dir = test_env.Dir("#lib/gtest-1.7.0")
- # gtest_dir.addRepository(build.env.Dir('#lib/gtest-1.5.0'))
- # build.env['EXE_OUTPUT'] = '#/lib/gtest-1.3.0/bin' # example,
- # optional
- test_env['LIB_OUTPUT'] = '#/lib/gtest-1.7.0/lib'
-
- env = test_env
- SCons.Export('env')
- env.SConscript(env.File('SConscript', gtest_dir))
-
- # build and configure gmock
- test_env.Append(CPPPATH="#lib/gmock-1.7.0/include")
- gmock_dir = test_env.Dir("#lib/gmock-1.7.0")
- # gmock_dir.addRepository(build.env.Dir('#lib/gmock-1.5.0'))
- test_env['LIB_OUTPUT'] = '#/lib/gmock-1.7.0/lib'
-
- env.SConscript(env.File('SConscript', gmock_dir))
+ if not conf.CheckLib('gtest'):
+ raise Exception('Did not find gtest library, exiting!')
+ test_env.Append(CPPPATH=[SCons.ARGUMENTS.get('prefix') + '/include/gtest'])
+ test_env.Append(LIBS='gtest')
+
+ if not conf.CheckLib('gmock'):
+ raise Exception('Did not find gmock library, exiting!')
+ test_env.Append(CPPPATH=[SCons.ARGUMENTS.get('prefix') + '/include/gmock'])
+ test_env.Append(LIBS='gmock')
return []
diff --git a/src/engine/enginefilterbutterworth8.cpp b/src/engine/enginefilterbutterworth8.cpp
index 329fd73..b7dd5a3 100644
--- a/src/engine/enginefilterbutterworth8.cpp
+++ b/src/engine/enginefilterbutterworth8.cpp
@@ -18,7 +18,6 @@
#include "engine/enginefilterbutterworth8.h"
#include "engine/enginefilter.h"
#include "engine/engineobject.h"
-#include "../lib/fidlib-0.9.10/fidlib.h"
inline CSAMPLE _processLowpass(CSAMPLE *coef, CSAMPLE *buf, register CSAMPLE val);
inline CSAMPLE _processBandpass(CSAMPLE *coef, CSAMPLE *buf, register CSAMPLE val);