|
|
50a1010 |
diff -rupN portmidi.old/pm_common/portmidi.c portmidi/pm_common/portmidi.c
|
|
|
50a1010 |
--- portmidi.old/pm_common/portmidi.c 2009-01-02 18:06:13.000000000 -0500
|
|
|
50a1010 |
+++ portmidi/pm_common/portmidi.c 2009-01-11 01:20:21.000000000 -0500
|
|
|
50a1010 |
@@ -56,7 +56,7 @@ static void prompt_and_exit(void)
|
|
|
50a1010 |
printf("type ENTER...");
|
|
|
50a1010 |
fgets(line, STRING_MAX, stdin);
|
|
|
50a1010 |
/* this will clean up open ports: */
|
|
|
50a1010 |
- exit(-1);
|
|
|
50a1010 |
+ // DO NOT EXIT SINCE THIS IS BEING COMPILED AS A SHARED LIBRARY // exit(-1);
|
|
|
50a1010 |
}
|
|
|
50a1010 |
|
|
|
50a1010 |
|
|
|
50a1010 |
diff -rupN portmidi.old/pm_linux/Makefile portmidi/pm_linux/Makefile
|
|
|
50a1010 |
--- portmidi.old/pm_linux/Makefile 2008-06-13 20:23:43.000000000 -0400
|
|
|
50a1010 |
+++ portmidi/pm_linux/Makefile 2009-01-11 01:24:28.000000000 -0500
|
|
|
50a1010 |
@@ -30,11 +30,13 @@ VFLAGS = -DPMALSA
|
|
|
50a1010 |
# ALSALIB =
|
|
|
50a1010 |
# VFLAGS = -DPMNULL
|
|
|
50a1010 |
|
|
|
50a1010 |
-pmlib = pm_linux/libportmidi.a
|
|
|
50a1010 |
+pmlib = pm_linux/libportmidi.so.0$(VERSION)
|
|
|
50a1010 |
|
|
|
50a1010 |
-ptlib = porttime/libporttime.a
|
|
|
50a1010 |
+ptlib = porttime/libporttime.so.0$(VERSION)
|
|
|
50a1010 |
|
|
|
50a1010 |
-CC = gcc $(VFLAGS) $(PMFLAGS) -g -Ipm_common -Iporttime
|
|
|
50a1010 |
+CC = gcc $(CFLAGS) $(VFLAGS) $(PMFLAGS) -g -Ipm_common -Iporttime
|
|
|
50a1010 |
+
|
|
|
50a1010 |
+INSTALL = install
|
|
|
50a1010 |
|
|
|
50a1010 |
pmobjects = pm_common/pmutil.o $(versions) pm_linux/pmlinux.o \
|
|
|
50a1010 |
pm_common/portmidi.o
|
|
|
50a1010 |
@@ -43,14 +45,18 @@ ptobjects = porttime/porttime.o porttime
|
|
|
50a1010 |
|
|
|
50a1010 |
current: all
|
|
|
50a1010 |
|
|
|
50a1010 |
-all: $(pmlib) $(ptlib) pm_test/test pm_test/sysex pm_test/midithread \
|
|
|
50a1010 |
+all: $(ptlib) $(pmlib) pm_test/test pm_test/sysex pm_test/midithread \
|
|
|
50a1010 |
pm_test/latency pm_test/midithru pm_test/qtest pm_test/mm
|
|
|
50a1010 |
|
|
|
50a1010 |
$(pmlib): pm_linux/Makefile $(pmobjects)
|
|
|
50a1010 |
- ar -cr $(pmlib) $(pmobjects)
|
|
|
50a1010 |
+ $(CC) -shared $(ALSALIB) $(pmobjects) -Wl,-soname -Wl,libportmidi.so.0 -Lporttime -lporttime -o $(pmlib)
|
|
|
50a1010 |
+ ln -sf libportmidi.so.0$(VERSION) pm_linux/libportmidi.so
|
|
|
50a1010 |
+ ln -sf libportmidi.so.0$(VERSION) pm_linux/libportmidi.so.0
|
|
|
50a1010 |
|
|
|
50a1010 |
$(ptlib): pm_linux/Makefile $(ptobjects)
|
|
|
50a1010 |
- ar -cr $(ptlib) $(ptobjects)
|
|
|
50a1010 |
+ $(CC) -shared $(ptobjects) -Wl,-soname -Wl,libporttime.so.0 -Wl,-l,pthread -o $(ptlib)
|
|
|
50a1010 |
+ ln -sf libporttime.so.0$(VERSION) porttime/libporttime.so
|
|
|
50a1010 |
+ ln -sf libporttime.so.0$(VERSION) porttime/libporttime.so.0
|
|
|
50a1010 |
|
|
|
50a1010 |
pm_linux/pmlinuxalsa.o: pm_linux/Makefile pm_linux/pmlinuxalsa.c pm_linux/pmlinuxalsa.h
|
|
|
50a1010 |
$(CC) -c pm_linux/pmlinuxalsa.c -o pm_linux/pmlinuxalsa.o
|
|
|
50a1010 |
@@ -96,3 +102,15 @@ cleanest: cleaner
|
|
|
50a1010 |
|
|
|
50a1010 |
backup: cleanest
|
|
|
50a1010 |
cd ..; zip -r portmidi.zip portmidi
|
|
|
50a1010 |
+
|
|
|
50a1010 |
+install:
|
|
|
50a1010 |
+ $(INSTALL) -d $(DESTDIR)/$(INCLUDEDIR)/
|
|
|
50a1010 |
+ $(INSTALL) -m 644 pm_common/portmidi.h $(DESTDIR)/$(INCLUDEDIR)/
|
|
|
50a1010 |
+ $(INSTALL) -m 644 porttime/porttime.h $(DESTDIR)/$(INCLUDEDIR)/
|
|
|
50a1010 |
+ $(INSTALL) -d $(DESTDIR)/$(LIBDIR)/
|
|
|
50a1010 |
+ $(INSTALL) pm_linux/libportmidi.so.0.* $(DESTDIR)/$(LIBDIR)/
|
|
|
50a1010 |
+ $(INSTALL) porttime/libporttime.so.0.* $(DESTDIR)/$(LIBDIR)/
|
|
|
50a1010 |
+ cp -a porttime/libporttime.so $(DESTDIR)/$(LIBDIR)/
|
|
|
50a1010 |
+ cp -a porttime/libporttime.so.0 $(DESTDIR)/$(LIBDIR)/
|
|
|
50a1010 |
+ cp -a pm_linux/libportmidi.so $(DESTDIR)/$(LIBDIR)/
|
|
|
50a1010 |
+ cp -a pm_linux/libportmidi.so.0 $(DESTDIR)/$(LIBDIR)/
|
|
|
50a1010 |
diff -rupN portmidi.old/pm_linux/pmlinuxalsa.c portmidi/pm_linux/pmlinuxalsa.c
|
|
|
50a1010 |
--- portmidi.old/pm_linux/pmlinuxalsa.c 2008-06-13 20:23:43.000000000 -0400
|
|
|
50a1010 |
+++ portmidi/pm_linux/pmlinuxalsa.c 2009-01-11 01:26:06.000000000 -0500
|
|
|
50a1010 |
@@ -243,8 +243,8 @@ static PmError alsa_out_close(PmInternal
|
|
|
50a1010 |
alsa_descriptor_type desc = (alsa_descriptor_type) midi->descriptor;
|
|
|
50a1010 |
if (!desc) return pmBadPtr;
|
|
|
50a1010 |
|
|
|
50a1010 |
- if (pm_hosterror = snd_seq_disconnect_to(seq, desc->this_port,
|
|
|
50a1010 |
- desc->client, desc->port)) {
|
|
|
50a1010 |
+ if ((pm_hosterror = snd_seq_disconnect_to(seq, desc->this_port,
|
|
|
50a1010 |
+ desc->client, desc->port))) {
|
|
|
50a1010 |
// if there's an error, try to delete the port anyway, but don't
|
|
|
50a1010 |
// change the pm_hosterror value so we retain the first error
|
|
|
50a1010 |
snd_seq_delete_port(seq, desc->this_port);
|
|
|
50a1010 |
@@ -333,8 +333,8 @@ static PmError alsa_in_close(PmInternal
|
|
|
50a1010 |
{
|
|
|
50a1010 |
alsa_descriptor_type desc = (alsa_descriptor_type) midi->descriptor;
|
|
|
50a1010 |
if (!desc) return pmBadPtr;
|
|
|
50a1010 |
- if (pm_hosterror = snd_seq_disconnect_from(seq, desc->this_port,
|
|
|
50a1010 |
- desc->client, desc->port)) {
|
|
|
50a1010 |
+ if ((pm_hosterror = snd_seq_disconnect_from(seq, desc->this_port,
|
|
|
50a1010 |
+ desc->client, desc->port))) {
|
|
|
50a1010 |
snd_seq_delete_port(seq, desc->this_port); /* try to close port */
|
|
|
50a1010 |
} else {
|
|
|
50a1010 |
pm_hosterror = snd_seq_delete_port(seq, desc->this_port);
|
|
|
50a1010 |
diff -rupN portmidi.old/pm_linux/pmlinux.c portmidi/pm_linux/pmlinux.c
|
|
|
50a1010 |
--- portmidi.old/pm_linux/pmlinux.c 2006-11-29 18:37:09.000000000 -0500
|
|
|
50a1010 |
+++ portmidi/pm_linux/pmlinux.c 2009-01-11 01:26:48.000000000 -0500
|
|
|
50a1010 |
@@ -28,10 +28,10 @@ PmError pm_init()
|
|
|
50a1010 |
* devices.
|
|
|
50a1010 |
*/
|
|
|
50a1010 |
#ifdef PMALSA
|
|
|
50a1010 |
- pm_linuxalsa_init();
|
|
|
50a1010 |
+ return pm_linuxalsa_init();
|
|
|
50a1010 |
#endif
|
|
|
50a1010 |
#ifdef PMNULL
|
|
|
50a1010 |
- pm_linuxnull_init();
|
|
|
50a1010 |
+ return pm_linuxnull_init();
|
|
|
50a1010 |
#endif
|
|
|
50a1010 |
return pmNoError;
|
|
|
50a1010 |
}
|