mirror of
https://github.com/schnitzeltony/meta-musicians.git
synced 2026-09-14 00:49:34 +02:00
csound: upgrade 6.1.1 -> 6.1.3
This version builds with gcc9 Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
This commit is contained in:
@@ -28,19 +28,10 @@ SRC_URI = " \
|
||||
git://github.com/csound/csound.git \
|
||||
file://0001-Do-not-set-include-path-to-usr-local-include.patch \
|
||||
file://0002-Do-not-use-try_run-for-portaudio.patch \
|
||||
file://0003-strict-aliasing-errors.patch \
|
||||
file://0004-Engine-csound_orc_semantics.c-Fix-build-with-gcc8.patch \
|
||||
file://0005-InOut-pmidi.c-Fix-build-with-gcc8.patch \
|
||||
file://0006-fixed-unsafe-use-of-strncpy.patch \
|
||||
file://0007-util1-csd_util-cs.c-Fix-build-with-gcc8.patch \
|
||||
file://0008-Fix-build-with-fluidsynth-version-2.0.0.patch \
|
||||
file://0009-Fix-build-for-linux-musl.patch \
|
||||
file://0010-threadsafe.c-Fix-unused-valable-warning-error.patch \
|
||||
file://0011-Use-POSIX-conform-location-for-errno.h.patch \
|
||||
"
|
||||
SRCREV = "2905724262b516983e779ed8c589602da4bf3f7d"
|
||||
SRCREV = "297845a370b8b5e1b555a60a0be3c5c757599530"
|
||||
S = "${WORKDIR}/git"
|
||||
PV = "6.11.0"
|
||||
PV = "6.13.0"
|
||||
|
||||
# Where to get lua-version from?
|
||||
LUA_VERSION = "5.3"
|
||||
|
||||
@@ -1,117 +0,0 @@
|
||||
From 7e2f3f49670166804529c6b9ff1398f38999d921 Mon Sep 17 00:00:00 2001
|
||||
From: veplaini <victor.lazzarini@nuim.ie>
|
||||
Date: Fri, 11 May 2018 14:05:49 +0100
|
||||
Subject: [PATCH] strict aliasing errors
|
||||
|
||||
---
|
||||
Engine/musmon.c | 2 +-
|
||||
Engine/rdscor.c | 8 +++++---
|
||||
OOps/schedule.c | 19 ++++++++++++++-----
|
||||
3 files changed, 20 insertions(+), 9 deletions(-)
|
||||
|
||||
Upstream-Status: Backport
|
||||
|
||||
diff --git a/Engine/musmon.c b/Engine/musmon.c
|
||||
index 440642489..8f4cc22cf 100644
|
||||
--- a/Engine/musmon.c
|
||||
+++ b/Engine/musmon.c
|
||||
@@ -1033,7 +1033,7 @@ int sensevents(CSOUND *csound)
|
||||
if (!(rdscor(csound, e))){
|
||||
/* or rd nxt evt from scstr */
|
||||
e->opcod = 'e';
|
||||
- }
|
||||
+ }
|
||||
csound->currevent = e;
|
||||
|
||||
switch (e->opcod) {
|
||||
diff --git a/Engine/rdscor.c b/Engine/rdscor.c
|
||||
index f39393725..fe6488cb2 100644
|
||||
--- a/Engine/rdscor.c
|
||||
+++ b/Engine/rdscor.c
|
||||
@@ -142,7 +142,7 @@ int rdscor(CSOUND *csound, EVTBLK *e) /* read next score-line from scorefile */
|
||||
{ /* presumes good format if warped */
|
||||
MYFLT *pp, *plim;
|
||||
int c;
|
||||
-
|
||||
+
|
||||
e->pinstance = NULL;
|
||||
if (csound->scstr == NULL ||
|
||||
csound->scstr->body[0] == '\0') { /* if no concurrent scorefile */
|
||||
@@ -151,12 +151,14 @@ int rdscor(CSOUND *csound, EVTBLK *e) /* read next score-line from scorefile */
|
||||
e->p[2] = FL(INF);
|
||||
e->p2orig = FL(INF);
|
||||
e->pcnt = 2;
|
||||
+
|
||||
return(1);
|
||||
}
|
||||
+
|
||||
/* else read the real score */
|
||||
while ((c = corfile_getc(csound->scstr)) != '\0') {
|
||||
csound->scnt = 0;
|
||||
- switch (c) {
|
||||
+ switch (c) {
|
||||
case ' ':
|
||||
case '\t':
|
||||
case '\n':
|
||||
@@ -193,7 +195,7 @@ int rdscor(CSOUND *csound, EVTBLK *e) /* read next score-line from scorefile */
|
||||
goto setp;
|
||||
case 'e':
|
||||
e->opcod = c;
|
||||
- e->pcnt = 0;
|
||||
+ e->pcnt = 0;
|
||||
return(1);
|
||||
case EOF: /* necessary for cscoreGetEvent */
|
||||
return(0);
|
||||
diff --git a/OOps/schedule.c b/OOps/schedule.c
|
||||
index b87897ec9..6dd60e94f 100644
|
||||
--- a/OOps/schedule.c
|
||||
+++ b/OOps/schedule.c
|
||||
@@ -79,7 +79,7 @@ int32_t schedule_N(CSOUND *csound, SCHED *p)
|
||||
{
|
||||
int32_t i;
|
||||
int32_t argno = p->INOCOUNT+1;
|
||||
- char s[16384];
|
||||
+ char s[16384], sf[64];
|
||||
sprintf(s, "i %f %f %f", *p->which, *p->when, *p->dur);
|
||||
for (i=4; i < argno ; i++) {
|
||||
MYFLT *arg = p->argums[i-4];
|
||||
@@ -87,8 +87,12 @@ int32_t schedule_N(CSOUND *csound, SCHED *p)
|
||||
add_string_arg(s, ((STRINGDAT *)arg)->data);
|
||||
//sprintf(s, "%s \"%s\" ", s, ((STRINGDAT *)arg)->data);
|
||||
}
|
||||
- else sprintf(s, "%s %f", s, *arg);
|
||||
-
|
||||
+ else {
|
||||
+ sprintf(sf, " %f", *arg);
|
||||
+ if(strlen(s) < 16384)
|
||||
+ strncat(s, sf, 16384-strlen(s));
|
||||
+ //sprintf(s, "%s %f", s, *arg);
|
||||
+ }
|
||||
}
|
||||
|
||||
csoundInputMessageInternal(csound, s);
|
||||
@@ -99,14 +103,19 @@ int32_t schedule_SN(CSOUND *csound, SCHED *p)
|
||||
{
|
||||
int32_t i;
|
||||
int32_t argno = p->INOCOUNT+1;
|
||||
- char s[16384];
|
||||
+ char s[16384], sf[64];
|
||||
sprintf(s, "i \"%s\" %f %f", ((STRINGDAT *)p->which)->data, *p->when, *p->dur);
|
||||
for (i=4; i < argno ; i++) {
|
||||
MYFLT *arg = p->argums[i-4];
|
||||
if (csoundGetTypeForArg(arg) == &CS_VAR_TYPE_S)
|
||||
//sprintf(s, "%s \"%s\" ", s, ((STRINGDAT *)arg)->data);
|
||||
add_string_arg(s, ((STRINGDAT *)arg)->data);
|
||||
- else sprintf(s, "%s %f", s, *arg);
|
||||
+ else {
|
||||
+ sprintf(sf, " %f", *arg);
|
||||
+ if(strlen(s) < 16384)
|
||||
+ strncat(s, sf, 16384-strlen(s));
|
||||
+ //sprintf(s, "%s %f", s, *arg);
|
||||
+ }
|
||||
}
|
||||
//printf("%s\n", s);
|
||||
csoundInputMessageInternal(csound, s);
|
||||
--
|
||||
2.14.4
|
||||
|
||||
@@ -1,84 +0,0 @@
|
||||
From 9d4fef967e622faec90bbed00fb00383e85e328c Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
|
||||
Date: Mon, 2 Jul 2018 00:22:14 +0200
|
||||
Subject: [PATCH] Engine/csound_orc_semantics.c: Fix build with gcc8
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
/home/superandy/tmp/oe-core-glibc/work/cortexa7t2hf-neon-vfpv4-angstrom-linux-gnueabi/csound/6.11.0-r0/git/Engine/csound_orc_semantics.c:73:7: error: 'strncpy' output truncated before terminating nul copying as many bytes from a string as its length [-Werror=stringop-truncation]
|
||||
strncpy(retVal, str, len);
|
||||
^~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
/home/superandy/tmp/oe-core-glibc/work/cortexa7t2hf-neon-vfpv4-angstrom-linux-gnueabi/csound/6.11.0-r0/git/Engine/csound_orc_semantics.c:69:11: note: length computed here
|
||||
len = strlen(str);
|
||||
^~~~~~~~~~~
|
||||
/home/superandy/tmp/oe-core-glibc/work/cortexa7t2hf-neon-vfpv4-angstrom-linux-gnueabi/csound/6.11.0-r0/git/Engine/csound_orc_semantics.c: In function 'get_arg_type2':
|
||||
/home/superandy/tmp/oe-core-glibc/work/cortexa7t2hf-neon-vfpv4-angstrom-linux-gnueabi/csound/6.11.0-r0/git/Engine/csound_orc_semantics.c:450:7: error: 'strncpy' output truncated before terminating nul copying as many bytes from a string as its length [-Werror=stringop-truncation]
|
||||
strncpy(inArgTypes, argTypeLeft, len1);
|
||||
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
/home/superandy/tmp/oe-core-glibc/work/cortexa7t2hf-neon-vfpv4-angstrom-linux-gnueabi/csound/6.11.0-r0/git/Engine/csound_orc_semantics.c:446:14: note: length computed here
|
||||
len1 = strlen(argTypeLeft);
|
||||
^~~~~~~~~~~~~~~~~~~
|
||||
/home/superandy/tmp/oe-core-glibc/work/cortexa7t2hf-neon-vfpv4-angstrom-linux-gnueabi/csound/6.11.0-r0/git/Engine/csound_orc_semantics.c:451:7: error: 'strncpy' output truncated before terminating nul copying as many bytes from a string as its length [-Werror=stringop-truncation]
|
||||
strncpy(inArgTypes + len1, argTypeRight, len2);
|
||||
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
/home/superandy/tmp/oe-core-glibc/work/cortexa7t2hf-neon-vfpv4-angstrom-linux-gnueabi/csound/6.11.0-r0/git/Engine/csound_orc_semantics.c:447:14: note: length computed here
|
||||
len2 = strlen(argTypeRight);
|
||||
^~~~~~~~~~~~~~~~~~~~
|
||||
/home/superandy/tmp/oe-core-glibc/work/cortexa7t2hf-neon-vfpv4-angstrom-linux-gnueabi/csound/6.11.0-r0/git/Engine/csound_orc_semantics.c:392:9: error: 'strncpy' output truncated before terminating nul copying as many bytes from a string as its length [-Werror=stringop-truncation]
|
||||
strncpy(inArgTypes, argTypeLeft, len1);
|
||||
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
/home/superandy/tmp/oe-core-glibc/work/cortexa7t2hf-neon-vfpv4-angstrom-linux-gnueabi/csound/6.11.0-r0/git/Engine/csound_orc_semantics.c:388:16: note: length computed here
|
||||
len1 = strlen(argTypeLeft);
|
||||
^~~~~~~~~~~~~~~~~~~
|
||||
/home/superandy/tmp/oe-core-glibc/work/cortexa7t2hf-neon-vfpv4-angstrom-linux-gnueabi/csound/6.11.0-r0/git/Engine/csound_orc_semantics.c:393:9: error: 'strncpy' output truncated before terminating nul copying as many bytes from a string as its length [-Werror=stringop-truncation]
|
||||
strncpy(inArgTypes + len1, argTypeRight, len2);
|
||||
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
/home/superandy/tmp/oe-core-glibc/work/cortexa7t2hf-neon-vfpv4-angstrom-linux-gnueabi/csound/6.11.0-r0/git/Engine/csound_orc_semantics.c:389:16: note: length computed here
|
||||
len2 = strlen(argTypeRight);
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
|
||||
---
|
||||
Engine/csound_orc_semantics.c | 10 +++++-----
|
||||
1 file changed, 5 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/Engine/csound_orc_semantics.c b/Engine/csound_orc_semantics.c
|
||||
index 6b6255d9c..5985b2435 100644
|
||||
--- a/Engine/csound_orc_semantics.c
|
||||
+++ b/Engine/csound_orc_semantics.c
|
||||
@@ -70,7 +70,7 @@ char* cs_strdup(CSOUND* csound, char* str) {
|
||||
retVal = csound->Malloc(csound, len + 1);
|
||||
|
||||
if (len > 0) {
|
||||
- strncpy(retVal, str, len);
|
||||
+ strncpy(retVal, str, len+1);
|
||||
}
|
||||
retVal[len] = '\0';
|
||||
|
||||
@@ -389,8 +389,8 @@ char* get_arg_type2(CSOUND* csound, TREE* tree, TYPE_TABLE* typeTable)
|
||||
len2 = strlen(argTypeRight);
|
||||
inArgTypes = csound->Malloc(csound, len1 + len2 + 1);
|
||||
|
||||
- strncpy(inArgTypes, argTypeLeft, len1);
|
||||
- strncpy(inArgTypes + len1, argTypeRight, len2);
|
||||
+ strncpy(inArgTypes, argTypeLeft, len1+1);
|
||||
+ strncpy(inArgTypes + len1, argTypeRight, len2+1);
|
||||
|
||||
inArgTypes[len1 + len2] = '\0';
|
||||
|
||||
@@ -447,8 +447,8 @@ char* get_arg_type2(CSOUND* csound, TREE* tree, TYPE_TABLE* typeTable)
|
||||
len2 = strlen(argTypeRight);
|
||||
inArgTypes = csound->Malloc(csound, len1 + len2 + 1);
|
||||
|
||||
- strncpy(inArgTypes, argTypeLeft, len1);
|
||||
- strncpy(inArgTypes + len1, argTypeRight, len2);
|
||||
+ strncpy(inArgTypes, argTypeLeft, len1+1);
|
||||
+ strncpy(inArgTypes + len1, argTypeRight, len2+1);
|
||||
|
||||
inArgTypes[len1 + len2] = '\0';
|
||||
|
||||
--
|
||||
2.14.4
|
||||
|
||||
@@ -1,41 +0,0 @@
|
||||
From 599e78547a32ec3cd01ce9e007531b765f4168ee Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
|
||||
Date: Mon, 2 Jul 2018 00:39:01 +0200
|
||||
Subject: [PATCH] InOut/pmidi.c: Fix build with gcc8
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
|
||||
---
|
||||
InOut/pmidi.c | 8 ++++----
|
||||
1 file changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/InOut/pmidi.c b/InOut/pmidi.c
|
||||
index 8dfe0e71d..f6de618cf 100644
|
||||
--- a/InOut/pmidi.c
|
||||
+++ b/InOut/pmidi.c
|
||||
@@ -188,14 +188,14 @@ static int listDevices(CSOUND *csound, CS_MIDIDEVICE *list, int isOutput){
|
||||
for (i = 0; i < cnt; i++) {
|
||||
info = portMidi_getDeviceInfo(i, isOutput);
|
||||
if (info->name != NULL)
|
||||
- strncpy(list[i].device_name, info->name, 63);
|
||||
+ strncpy(list[i].device_name, info->name, 64);
|
||||
snprintf(tmp, 64, "%d", i);
|
||||
- strncpy(list[i].device_id, tmp, 63);
|
||||
+ strncpy(list[i].device_id, tmp, 64);
|
||||
list[i].isOutput = isOutput;
|
||||
if (info->interf != NULL)
|
||||
- strncpy(list[i].interface_name, info->interf, 63);
|
||||
+ strncpy(list[i].interface_name, info->interf, 64);
|
||||
else strcpy(list[i].interface_name, "");
|
||||
- strncpy(list[i].midi_module, drv, 63);
|
||||
+ strncpy(list[i].midi_module, drv, 64);
|
||||
}
|
||||
return cnt;
|
||||
}
|
||||
--
|
||||
2.14.4
|
||||
|
||||
@@ -1,27 +0,0 @@
|
||||
From 3d5e27ea49f67b38a39ad831d18e8abd17b3a9bc Mon Sep 17 00:00:00 2001
|
||||
From: vlazzarini <vlazzarini@mu.ie>
|
||||
Date: Sun, 27 May 2018 11:18:08 +0100
|
||||
Subject: [PATCH] fixed unsafe use of strncpy
|
||||
|
||||
Upstream-Status: Backport
|
||||
|
||||
---
|
||||
util1/scot/scot.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/util1/scot/scot.c b/util1/scot/scot.c
|
||||
index 857bb08ce..5b9a0eb96 100644
|
||||
--- a/util1/scot/scot.c
|
||||
+++ b/util1/scot/scot.c
|
||||
@@ -684,7 +684,7 @@ void addparam(int n, /* number of param to change */
|
||||
|
||||
ps = findparam(n, ptop);
|
||||
if (strcmp(s, "."))
|
||||
- strncpy(ps, s, 1+strlen(s));
|
||||
+ strncpy(ps, s, 31);
|
||||
}
|
||||
|
||||
static /* returns pointer to */
|
||||
--
|
||||
2.14.4
|
||||
|
||||
@@ -1,46 +0,0 @@
|
||||
From a070eaef29510f9138055896975917211d4fe61f Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
|
||||
Date: Mon, 2 Jul 2018 00:55:16 +0200
|
||||
Subject: [PATCH] util1/csd_util/cs.c: Fix build with gcc8
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
|
||||
---
|
||||
util1/csd_util/cs.c | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/util1/csd_util/cs.c b/util1/csd_util/cs.c
|
||||
index a05ee3b43..768843fff 100644
|
||||
--- a/util1/csd_util/cs.c
|
||||
+++ b/util1/csd_util/cs.c
|
||||
@@ -385,7 +385,7 @@ int main(int argc, char **argv)
|
||||
while (--j) {
|
||||
i++;
|
||||
if (argv[i][0] != '-' && i < 3 && tmp[0] == '\0') {
|
||||
- strncpy(tmp, argv[i],256);
|
||||
+ strncpy(tmp, argv[i],255);
|
||||
/* strip extension */
|
||||
if (is_orc(tmp) || is_sco(tmp) || is_mid(tmp) || is_csd(tmp))
|
||||
tmp[strlen(tmp) - 4] = '\0';
|
||||
@@ -428,12 +428,12 @@ int main(int argc, char **argv)
|
||||
/* (the last option has the highest precedence) */
|
||||
s = getenv("CSOUND");
|
||||
if (s != NULL) /* get default setting from CSOUND, if available */
|
||||
- strncpy(tmp, s, 256);
|
||||
+ strncpy(tmp, s, 255);
|
||||
for (i = (int) strlen(optlst); --i >= 0; ) {
|
||||
sprintf(tmp2, "CSOUND_%c", optlst[i]);
|
||||
s = getenv(tmp2);
|
||||
if (s != NULL) {
|
||||
- strncpy(tmp, s, 256);
|
||||
+ strncpy(tmp, s, 255);
|
||||
if (tmp[0] != '\0') break;
|
||||
}
|
||||
}
|
||||
--
|
||||
2.14.4
|
||||
|
||||
@@ -1,53 +0,0 @@
|
||||
From 281beca9614fa8b5c09527809a6810525faf2177 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
|
||||
Date: Wed, 10 Oct 2018 20:47:04 +0200
|
||||
Subject: [PATCH] Fix build with fluidsynth version >= 2.0.0
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Please not that the second change set at
|
||||
|
||||
Upstream-Status: Backport [1]
|
||||
|
||||
[1] https://github.com/csound/csound/pull/1046
|
||||
|
||||
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
|
||||
---
|
||||
Opcodes/fluidOpcodes/fluidOpcodes.cpp | 27 +++++++++++++++++++++++++++
|
||||
1 file changed, 27 insertions(+)
|
||||
|
||||
diff --git a/Opcodes/fluidOpcodes/fluidOpcodes.cpp b/Opcodes/fluidOpcodes/fluidOpcodes.cpp
|
||||
index d6f4da0fd..aa2b9d4b2 100644
|
||||
--- a/Opcodes/fluidOpcodes/fluidOpcodes.cpp
|
||||
+++ b/Opcodes/fluidOpcodes/fluidOpcodes.cpp
|
||||
@@ -208,6 +208,7 @@ public:
|
||||
} else if (listPresets) {
|
||||
fluid_sfont_t *fluidSoundfont =
|
||||
fluid_synth_get_sfont_by_id(fluidSynth, soundFontId);
|
||||
+#if FLUIDSYNTH_VERSION_MAJOR < 2
|
||||
fluid_preset_t fluidPreset;
|
||||
fluidSoundfont->iteration_start(fluidSoundfont);
|
||||
OPARMS oparms;
|
||||
@@ -218,6 +219,18 @@ public:
|
||||
soundFontId, fluidPreset.get_banknum(&fluidPreset),
|
||||
fluidPreset.get_num(&fluidPreset),
|
||||
fluidPreset.get_name(&fluidPreset));
|
||||
+#else
|
||||
+ fluid_preset_t *fluidPreset;
|
||||
+ fluid_sfont_iteration_start(fluidSoundfont);
|
||||
+ OPARMS oparms;
|
||||
+ csound->GetOParms(csound, &oparms);
|
||||
+ if (oparms.msglevel & 0x7)
|
||||
+ while ((fluidPreset = fluid_sfont_iteration_next(fluidSoundfont))) {
|
||||
+ log(csound, "SoundFont: %3d Bank: %3d Preset: %3d %s\n",
|
||||
+ soundFontId, fluid_preset_get_banknum(fluidPreset),
|
||||
+ fluid_preset_get_num(fluidPreset),
|
||||
+ fluid_preset_get_name(fluidPreset));
|
||||
+#endif
|
||||
}
|
||||
}
|
||||
return result;
|
||||
--
|
||||
2.14.4
|
||||
|
||||
@@ -1,60 +0,0 @@
|
||||
From cdcad764c01084d435c17e6a57450ca4a066705c Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
|
||||
Date: Wed, 3 Apr 2019 20:50:18 +0200
|
||||
Subject: [PATCH] Fix build for linux/musl
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Musl (and myabe other libc libraries) does not have execinfo.h. So instead
|
||||
of assuming the header existant for all linux environments check for the file.
|
||||
|
||||
Upstream-Status: Applied [1]
|
||||
|
||||
[1] https://github.com/csound/csound/commit/7f93585037a41fbff22ce49d3bbde0d66eb7530b
|
||||
|
||||
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
|
||||
---
|
||||
CMakeLists.txt | 5 ++++-
|
||||
Top/csound.c | 2 +-
|
||||
2 files changed, 5 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index d5a8e1bed..90bca5950 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -603,7 +603,7 @@ set(HEADERS_TO_CHECK
|
||||
unistd.h io.h fcntl.h stdint.h
|
||||
sys/time.h sys/types.h termios.h
|
||||
values.h winsock.h sys/socket.h
|
||||
- dirent.h inttypes.h)
|
||||
+ dirent.h inttypes.h execinfo.h)
|
||||
|
||||
foreach(header ${HEADERS_TO_CHECK})
|
||||
# Convert to uppercase and replace [./] with _
|
||||
@@ -617,6 +617,9 @@ if (NOT HAVE_INTTYPES_H)
|
||||
message(FATAL_ERROR "Csound requires inttypes.h")
|
||||
endif()
|
||||
|
||||
+if (HAVE_EXECINFO_H)
|
||||
+ add_definitions("-DHAVE_EXECINFO")
|
||||
+endif()
|
||||
|
||||
check_deps(USE_LRINT HAVE_LRINT)
|
||||
if(USE_LRINT)
|
||||
diff --git a/Top/csound.c b/Top/csound.c
|
||||
index 9b95674df..48a53717a 100644
|
||||
--- a/Top/csound.c
|
||||
+++ b/Top/csound.c
|
||||
@@ -1157,7 +1157,7 @@ static void psignal_(int sig, char *str)
|
||||
|
||||
static void signal_handler(int sig)
|
||||
{
|
||||
-#if defined(LINUX) && !defined(ANDROID) && !defined(NACL)
|
||||
+#if defined(HAVE_EXECINFO) && !defined(ANDROID) && !defined(NACL)
|
||||
#include <execinfo.h>
|
||||
|
||||
{
|
||||
--
|
||||
2.20.1
|
||||
|
||||
@@ -1,43 +0,0 @@
|
||||
From d91048c4943e81dafcdb2db701fe04c0a9d6e0b1 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
|
||||
Date: Wed, 3 Apr 2019 21:01:24 +0200
|
||||
Subject: [PATCH] threadsafe.c: Fix unused valable warning/error
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
| Top/threadsafe.c:537:5: error: variable 'x' set but not used [-Werror=unused-but-set-variable]
|
||||
| } x;
|
||||
| ^
|
||||
| cc1: all warnings being treated as errors
|
||||
|
||||
Upstream-Status: Applied [1]
|
||||
|
||||
[1] https://github.com/csound/csound/commit/0c7fee69278933a3eb108d17a641ab4ecabde7c6
|
||||
|
||||
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
|
||||
---
|
||||
Top/threadsafe.c | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/Top/threadsafe.c b/Top/threadsafe.c
|
||||
index 3a7278459..6214a1b5e 100644
|
||||
--- a/Top/threadsafe.c
|
||||
+++ b/Top/threadsafe.c
|
||||
@@ -531,11 +531,13 @@ MYFLT csoundGetControlChannel(CSOUND *csound, const char *name, int *err)
|
||||
|
||||
void csoundSetControlChannel(CSOUND *csound, const char *name, MYFLT val){
|
||||
MYFLT *pval;
|
||||
+#if defined(MSVC) || defined(HAVE_ATOMIC_BUILTIN)
|
||||
union {
|
||||
MYFLT d;
|
||||
MYFLT_INT_TYPE i;
|
||||
} x;
|
||||
x.d = val;
|
||||
+#endif
|
||||
if (csoundGetChannelPtr(csound, &pval, name,
|
||||
CSOUND_CONTROL_CHANNEL | CSOUND_INPUT_CHANNEL)
|
||||
== CSOUND_SUCCESS)
|
||||
--
|
||||
2.20.1
|
||||
|
||||
@@ -1,46 +0,0 @@
|
||||
From 6d86d9c96c01eb74591c83e3f09bfaf46bca445f Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
|
||||
Date: Wed, 3 Apr 2019 21:17:30 +0200
|
||||
Subject: [PATCH] Use POSIX conform location for errno.h
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
On its POSIX-correctness crusade musl spits out a warning which ends as error:
|
||||
|
||||
| In file included from /home/superandy/tmp/oe-core-musl/work/cortexa7t2hf-neon-vfpv4-mortsgna-linux-musleabi/csound/6.12-r0/git/Opcodes/linuxjoystick.c:39:
|
||||
| /home/superandy/tmp/oe-core-musl/work/cortexa7t2hf-neon-vfpv4-mortsgna-linux-musleabi/csound/6.12-r0/recipe-sysroot/usr/include/sys/errno.h:1:2: error: #warning redirecting incorrect #include <sys/errno.h> to <errno.h> [-Werror=cpp]
|
||||
| #warning redirecting incorrect #include <sys/errno.h> to <errno.h>
|
||||
| ^~~~~~~
|
||||
| cc1: all warnings being treated as errors
|
||||
|
||||
Yes that is 'correct' [1] as musl claims itself [2] but...
|
||||
|
||||
[1] http://pubs.opengroup.org/onlinepubs/000095399/basedefs/errno.h.html
|
||||
[2] https://www.musl-libc.org/
|
||||
|
||||
Upstream-Status: Applied [3]
|
||||
|
||||
[3] https://github.com/csound/csound/commit/38da4f1c1d93377d3ff90e15be8998f9408faf34
|
||||
|
||||
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
|
||||
---
|
||||
Opcodes/linuxjoystick.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/Opcodes/linuxjoystick.c b/Opcodes/linuxjoystick.c
|
||||
index 348f49168..a56ad18e3 100644
|
||||
--- a/Opcodes/linuxjoystick.c
|
||||
+++ b/Opcodes/linuxjoystick.c
|
||||
@@ -36,7 +36,7 @@
|
||||
*/
|
||||
|
||||
#include "linuxjoystick.h"
|
||||
-#include <sys/errno.h>
|
||||
+#include <errno.h>
|
||||
|
||||
static int32_t linuxjoystick (CSOUND *csound, LINUXJOYSTICK *stick)
|
||||
{
|
||||
--
|
||||
2.20.1
|
||||
|
||||
Reference in New Issue
Block a user