aboutsummaryrefslogtreecommitdiff
path: root/audio/mixxx21/files/patch-build_features.py
diff options
context:
space:
mode:
Diffstat (limited to 'audio/mixxx21/files/patch-build_features.py')
-rw-r--r--audio/mixxx21/files/patch-build_features.py102
1 files changed, 102 insertions, 0 deletions
diff --git a/audio/mixxx21/files/patch-build_features.py b/audio/mixxx21/files/patch-build_features.py
new file mode 100644
index 000000000000..f97c69449dfc
--- /dev/null
+++ b/audio/mixxx21/files/patch-build_features.py
@@ -0,0 +1,102 @@
+--- build/features.py 2018-10-28 12:33:56.000000000 -0500
++++ build/features.py 2018-11-06 14:58:04.915561000 -0500
+@@ -105,13 +105,24 @@
+ # -pthread tells GCC to do the right thing regardless of system
+ build.env.Append(CCFLAGS='-pthread')
+ build.env.Append(LINKFLAGS='-pthread')
++ elif build.platform_is_bsd:
++ build.env.ParseConfig('pkg-config hidapi --silence-errors --cflags --libs')
+
++ conf.CheckLib(['pthread', 'libpthread'])
++ conf.CheckLib(['rt', 'librt'])
++
++ # -pthread tells GCC to do the right thing regardless of system
++ build.env.Append(CCFLAGS='-pthread')
++ build.env.Append(LINKFLAGS='-pthread')
+ else:
+ self.INTERNAL_LINK = True
+ if build.platform_is_windows and not conf.CheckLib(['setupapi', 'libsetupapi']):
+ raise Exception('Did not find the setupapi library, exiting.')
+ elif build.platform_is_osx:
+ build.env.AppendUnique(FRAMEWORKS=['IOKit', 'CoreFoundation'])
++ elif build.platform_is_bsd:
++ conf.CheckLib(['usb', 'libusb'])
++ conf.CheckLib(['usbhid', 'libusbhid'])
+
+ build.env.Append(CPPDEFINES='__HID__')
+ if self.INTERNAL_LINK:
+@@ -129,7 +140,7 @@
+ # setupapi.
+ sources.append(
+ os.path.join(self.HIDAPI_INTERNAL_PATH, "windows/hid.c"))
+- elif build.platform_is_linux:
++ elif build.platform_is_linux or build.platform_is_bsd:
+ # hidapi compiles the libusb implementation by default on Linux
+ sources.append(
+ os.path.join(self.HIDAPI_INTERNAL_PATH, 'libusb/hid.c'))
+@@ -147,14 +158,14 @@
+ def enabled(self, build):
+ # For now only make Bulk default on Linux only. Turn on for all
+ # platforms after the 1.11.0 release.
+- is_default = 1 if build.platform_is_linux else 0
++ is_default = 1 if build.platform_is_linux or build.platform_is_bsd else 0
+ build.flags['bulk'] = util.get_flags(build.env, 'bulk', is_default)
+ if int(build.flags['bulk']):
+ return True
+ return False
+
+ def add_options(self, build, vars):
+- is_default = 1 if build.platform_is_linux else 0
++ is_default = 1 if build.platform_is_linux or build.platform_is_bsd else 0
+ vars.Add('bulk',
+ 'Set to 1 to enable USB Bulk controller support.', is_default)
+
+@@ -162,12 +173,15 @@
+ if not self.enabled(build):
+ return
+
+- build.env.ParseConfig(
+- 'pkg-config libusb-1.0 --silence-errors --cflags --libs')
+- if (not conf.CheckLib(['libusb-1.0', 'usb-1.0']) or
+- not conf.CheckHeader('libusb-1.0/libusb.h')):
+- raise Exception(
+- 'Did not find the libusb 1.0 development library or its header file, exiting!')
++ if build.platform_is_linux:
++ build.env.ParseConfig(
++ 'pkg-config libusb-1.0 --silence-errors --cflags --libs')
++ if (not conf.CheckLib(['libusb-1.0', 'usb-1.0']) or
++ not conf.CheckHeader('libusb-1.0/libusb.h')):
++ raise Exception(
++ 'Did not find the libusb 1.0 development library or its header file, exiting!')
++ elif build.platform_is_bsd:
++ conf.CheckLib(['usb', 'libusb'])
+
+ build.env.Append(CPPDEFINES='__BULK__')
+
+@@ -396,7 +410,7 @@
+ # If there is no system vamp-hostsdk is installed or if the version
+ # of the installed vamp-hostsdk is less than the bundled version,
+ # then we'll directly link the bundled vamp-hostsdk
+- if not conf.CheckLib('vamp-hostsdk') or not conf.CheckForPKG('vamp-plugin-sdk', '2.7.1'):
++ if not conf.CheckLib('vamp-hostsdk') or not conf.CheckForPKG('vamp-sdk', '2.7.1'):
+ # For header includes
+ build.env.Append(CPPPATH=[self.INTERNAL_VAMP_PATH])
+ self.INTERNAL_LINK = True
+@@ -409,7 +423,7 @@
+ # FFTW3 support
+ have_fftw3_h = conf.CheckHeader('fftw3.h')
+ have_fftw3 = conf.CheckLib('fftw3', autoadd=False)
+- if have_fftw3_h and have_fftw3 and build.platform_is_linux:
++ if have_fftw3_h and have_fftw3 and (build.platform_is_linux or build.platform_is_bsd) :
+ build.env.Append(CPPDEFINES='HAVE_FFTW3')
+ build.env.ParseConfig(
+ 'pkg-config fftw3 --silence-errors --cflags --libs')
+@@ -1295,7 +1309,7 @@
+ return ["util/battery/batterywindows.cpp"]
+ elif build.platform_is_osx:
+ return ["util/battery/batterymac.cpp"]
+- elif build.platform_is_linux:
++ elif build.platform_is_linux or build.platform_is_bsd:
+ return ["util/battery/batterylinux.cpp"]
+ else:
+ raise Exception('Battery support is not implemented for the target platform.')