Merge pull request #819 from LuaAndC/fix-jack

Fix jack
pull/795/merge
Tony Theodore 9 years ago
commit 93b8b3c4a8

@ -0,0 +1,45 @@
This file is part of MXE.
See index.html for further information.
From 2e1760b4bc62715f12e90c1396f839521506db85 Mon Sep 17 00:00:00 2001
From: Boris Nagaev <bnagaev@gmail.com>
Date: Mon, 31 Aug 2015 23:39:35 +0200
Subject: [PATCH] disable SIGQUIT and SIGHUP
Windows doesn't have them.
Fixed error:
../example-clients/transport.c: In function 'main':
../example-clients/transport.c:462:9: error: 'SIGQUIT' undeclared (first use in this function)
signal(SIGQUIT, signal_handler);
^
../example-clients/transport.c:462:9: note: each undeclared identifier is reported only once for each function it appears in
../example-clients/transport.c:464:9: error: 'SIGHUP' undeclared (first use in this function)
signal(SIGHUP, signal_handler);
^
---
example-clients/transport.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/example-clients/transport.c b/example-clients/transport.c
index 76184df..f0e3924 100644
--- a/example-clients/transport.c
+++ b/example-clients/transport.c
@@ -460,9 +460,13 @@ int main(int argc, char *argv[])
return 1;
}
+#ifndef _WIN32
signal(SIGQUIT, signal_handler);
+#endif
signal(SIGTERM, signal_handler);
+#ifndef _WIN32
signal(SIGHUP, signal_handler);
+#endif
signal(SIGINT, signal_handler);
jack_on_shutdown(client, jack_shutdown, 0);
--
1.7.10.4

@ -0,0 +1,52 @@
This file is part of MXE.
See index.html for further information.
From cd9319a5a5570aab7cfd6a51630a13e7f9db9658 Mon Sep 17 00:00:00 2001
From: Boris Nagaev <bnagaev@gmail.com>
Date: Tue, 1 Sep 2015 22:59:47 +0200
Subject: [PATCH] link transport.c -lreadline and -ltermcap
Fixed error:
src/jack-3-add-lreadline-to-linkflags-of-transport.patch:
example-clients/transport.c.28.o:transport.c:(.text+0x2e0): undefined reference to `rl_cleanup_after_signal'
example-clients/transport.c.28.o:transport.c:(.text+0xa27): undefined reference to `rl_readline_name'
example-clients/transport.c.28.o:transport.c:(.text+0xa2d): undefined reference to `rl_completion_entry_function'
example-clients/transport.c.28.o:transport.c:(.text+0xa3e): undefined reference to `readline'
example-clients/transport.c.28.o:transport.c:(.text+0xa82): undefined reference to `add_history'
---
example-clients/wscript | 1 +
1 file changed, 1 insertion(+)
diff --git a/example-clients/wscript b/example-clients/wscript
index fbf8999..8d6dfb9 100644
--- a/example-clients/wscript
+++ b/example-clients/wscript
@@ -45,12 +45,13 @@ def configure(conf):
conf.check_cfg(package='celt', atleast_version='0.5.0', args='--cflags --libs', mandatory=False)
e = conf.check_cc(lib='readline', define_name="HAVE_READLINE", mandatory=False)
+ e = conf.check_cc(lib='termcap', define_name="HAVE_TERMCAP", mandatory=False)
# define_name="HAVE_READLINE" has no effect, LIB_READLINE is defined if readline is available
#if conf.is_defined('HAVE_READLINE'):
# conf.env['LIB_READLINE'] = ['readline']
- conf.env['BUILD_EXAMPLE_CLIENT_TRANSPORT'] = bool(conf.env['LIB_READLINE'])
+ conf.env['BUILD_EXAMPLE_CLIENT_TRANSPORT'] = bool(conf.env['LIB_READLINE']) and bool(conf.env['LIB_TERMCAP'])
conf.env['BUILD_EXAMPLE_CLIENT_REC'] = conf.is_defined('HAVE_SNDFILE')
@@ -108,6 +109,7 @@ def build(bld):
if bld.env['IS_MACOSX']:
prog.use += ['READLINE']
prog.target = 'jack_transport'
+ prog.use += ['READLINE', 'TERMCAP']
if bld.env['BUILD_EXAMPLE_CLIENT_REC']:
prog = bld(features = 'c cprogram')
--
1.7.10.4

@ -0,0 +1,80 @@
This file is part of MXE.
See index.html for further information.
From f388514f8cba7102eec857aa4c2675d1024cd25c Mon Sep 17 00:00:00 2001
From: Boris Nagaev <bnagaev@gmail.com>
Date: Tue, 1 Sep 2015 22:23:51 +0200
Subject: [PATCH] install jack libs to lib/jack/ instead of lib/
Some Jack library names collide with other libraries,
namely portaudio.
When Jack is installed first time, it adds libportaudio.dll.a to
usr/i686-w64-mingw32.static/lib/. Portaudio has library
usr/i686-w64-mingw32.static/lib/libportaudio.a. When Jack is compiled
second time, it uses its own libportaudio.dll.a instead of
libportaudio.a from portaudio.
Removing usr/i686-w64-mingw32.static/lib/libportaudio.dll.a fixes build of Jack.
For i686-w64-mingw32.shared, this can't be fixed by just removing
libportaudio.dll.a before building jack, because both portaudio and
jack have file usr/i686-w64-mingw32.shared/lib/libportaudio.dll.a.
Two packages must not have same file.
jack's libraries should be installed to subdir of usr/<target>/lib/.
Jack uses waf build system, which unpacks itself from file "waf".
Installation path for lib*.dll.a (PREFIX + /lib) is hardcoded in waf:
waflib/Tools/ccroot.py:
self.implib_install_task=self.bld.install_as('${PREFIX}/lib/%s'%implib.name,implib,self.env)
The least ugly way to change subdir I can find is changing
function do_install in InstallContext class. Other approaches
either do not work or require changing contents of waflib
(which is unpacked from "waf" file in run-time).
This patch replaces paths like "lib/libjack.dll.a" with
"lib/jack/libjack.dll.a", but doesn't replace
"/lib/pkgconfig/jack.pc".
---
jack.pc.in | 2 +-
wscript | 7 ++++++-
2 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/jack.pc.in b/jack.pc.in
index fbda3a4..c67772b 100644
--- a/jack.pc.in
+++ b/jack.pc.in
@@ -7,5 +7,5 @@ server_libs=-L@LIBDIR@ -l@SERVERLIB@
Name: jack
Description: the Jack Audio Connection Kit: a low-latency synchronous callback-based media server
Version: @JACK_VERSION@
-Libs: -L@LIBDIR@ -ljack
+Libs: -L@LIBDIR@/jack -ljack
Cflags: -I@INCLUDEDIR@
diff --git a/wscript b/wscript
index aef4bd8..16507e7 100644
--- a/wscript
+++ b/wscript
@@ -378,8 +378,13 @@ def configure(conf):
print(Logs.colors.NORMAL, end=' ')
print()
+class MyInstallContext(InstallContext):
+ def do_install(self, src, tgt, *args, **kvargs):
+ tgt = str(tgt).replace('/lib/lib', '/lib/jack/lib')
+ InstallContext.do_install(self, src, tgt, *args, **kvargs)
+
def init(ctx):
- for y in (BuildContext, CleanContext, InstallContext, UninstallContext):
+ for y in (BuildContext, CleanContext, MyInstallContext, UninstallContext):
name = y.__name__.replace('Context','').lower()
class tmp(y):
cmd = name + '_' + lib32
--
1.7.10.4

@ -8,7 +8,7 @@ $(PKG)_CHECKSUM := 1177655ae0fbbd8c2229b398a79724115a392941
$(PKG)_SUBDIR := jack-$($(PKG)_VERSION)
$(PKG)_FILE := jack-$($(PKG)_VERSION).tar.bz2
$(PKG)_URL := https://dl.dropboxusercontent.com/u/28869550/$($(PKG)_FILE)
$(PKG)_DEPS := gcc libsamplerate libgnurx portaudio libsndfile winpthreads
$(PKG)_DEPS := gcc libsamplerate libgnurx portaudio libsndfile winpthreads readline
define $(PKG)_UPDATE
$(WGET) -q -O- 'http://jackaudio.org/downloads/' | \

Loading…
Cancel
Save