[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);


Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/