summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTony Theodore <tonyt@logyst.com>2013-02-06 03:22:10 (GMT)
committerTony Theodore <tonyt@logyst.com>2013-02-06 03:22:10 (GMT)
commit30606f556e4f6cbb38a50239050e179a488d05a7 (patch)
tree92a3faeed2b67ca76c3734e911ed2bb3dea755fe /src
parent894c208af55907e729f29cab558c4001e6da0cf8 (diff)
parentf5e41fcdebead46cc4a75a97af2490d4135f7d4a (diff)
downloadmxe-30606f556e4f6cbb38a50239050e179a488d05a7.zip
mxe-30606f556e4f6cbb38a50239050e179a488d05a7.tar.gz
mxe-30606f556e4f6cbb38a50239050e179a488d05a7.tar.bz2
Merge pull request #122 from stefanha/portmidi
add package portmidi
Diffstat (limited to 'src')
-rw-r--r--src/portmidi-1-nojni.patch46
-rw-r--r--src/portmidi.mk34
2 files changed, 80 insertions, 0 deletions
diff --git a/src/portmidi-1-nojni.patch b/src/portmidi-1-nojni.patch
new file mode 100644
index 0000000..90bb7e9
--- /dev/null
+++ b/src/portmidi-1-nojni.patch
@@ -0,0 +1,46 @@
+This file is part of MXE.
+See index.html for further information.
+
+This patch disables the Java Native Interface dependency.
+
+--- a/pm_common/CMakeLists.txt 2013-01-27 17:48:15.819279645 +0100
++++ b/pm_common/CMakeLists.txt 2013-01-27 17:52:31.702624256 +0100
+@@ -88,9 +88,9 @@
+ # /MD is multithread DLL, /MT is multithread. Change to static:
+ include(../pm_win/static.cmake)
+
+- include(FindJNI)
++# include(FindJNI)
+
+- set(JAVA_INCLUDE_PATHS ${JAVA_INCLUDE_PATH} ${JAVA_INCLUDE_PATH2})
++# set(JAVA_INCLUDE_PATHS ${JAVA_INCLUDE_PATH} ${JAVA_INCLUDE_PATH2})
+ # message(STATUS "JAVA_INCLUDE_PATHS: " ${JAVA_INCLUDE_PATHS})
+
+ set(WINSRC pmwin pmwinmm)
+@@ -99,7 +99,7 @@
+ set(PM_NEEDED_LIBS winmm.lib)
+ endif(WIN32)
+ endif(UNIX)
+-set(JNI_EXTRA_LIBS ${PM_NEEDED_LIBS} ${JAVA_JVM_LIBRARY})
++#set(JNI_EXTRA_LIBS ${PM_NEEDED_LIBS} ${JAVA_JVM_LIBRARY})
+
+ # this completes the list of library sources by adding shared code
+ list(APPEND LIBSRC pmutil portmidi)
+@@ -110,12 +110,12 @@
+ target_link_libraries(portmidi-static ${PM_NEEDED_LIBS})
+
+ # define the jni library
+-include_directories(${JAVA_INCLUDE_PATHS})
++#include_directories(${JAVA_INCLUDE_PATHS})
+
+-set(JNISRC ${LIBSRC} ../pm_java/pmjni/pmjni.c)
+-add_library(pmjni SHARED ${JNISRC})
+-target_link_libraries(pmjni ${JNI_EXTRA_LIBS})
+-set_target_properties(pmjni PROPERTIES EXECUTABLE_EXTENSION "jnilib")
++#set(JNISRC ${LIBSRC} ../pm_java/pmjni/pmjni.c)
++#add_library(pmjni SHARED ${JNISRC})
++#target_link_libraries(pmjni ${JNI_EXTRA_LIBS})
++#set_target_properties(pmjni PROPERTIES EXECUTABLE_EXTENSION "jnilib")
+
+ # install the libraries (Linux and Mac OS X command line)
+ if(UNIX)
diff --git a/src/portmidi.mk b/src/portmidi.mk
new file mode 100644
index 0000000..04436e1
--- /dev/null
+++ b/src/portmidi.mk
@@ -0,0 +1,34 @@
+# This file is part of MXE.
+# See index.html for further information.
+
+PKG := portmidi
+$(PKG)_IGNORE :=
+$(PKG)_CHECKSUM := f45bf4e247c0d7617deacd6a65d23d9fddae6117
+$(PKG)_SUBDIR := portmidi
+$(PKG)_FILE := $(PKG)-src-$($(PKG)_VERSION).zip
+$(PKG)_URL := http://$(SOURCEFORGE_MIRROR)/project/portmedia/$(PKG)/$($(PKG)_VERSION)/$($(PKG)_FILE)
+$(PKG)_DEPS := gcc
+
+define $(PKG)_BUILD
+ mkdir '$(1)/build'
+ cd '$(1)/build' && cmake .. \
+ -DCMAKE_TOOLCHAIN_FILE='$(CMAKE_TOOLCHAIN_FILE)' \
+ -DLIBTYPE=STATIC
+
+ $(MAKE) -C '$(1)/build' -j '$(JOBS)' portmidi-static
+
+ # install library files
+ $(INSTALL) -d '$(PREFIX)/$(TARGET)/lib'
+ $(INSTALL) -m644 '$(1)/build/libportmidi_s.a' \
+ '$(PREFIX)/$(TARGET)/lib/libportmidi.a'
+
+ # install include files
+ $(INSTALL) -d '$(PREFIX)/$(TARGET)/include'
+ $(INSTALL) -m644 '$(1)/pm_common/portmidi.h' '$(PREFIX)/$(TARGET)/include/'
+ $(INSTALL) -m644 '$(1)/pm_common/pmutil.h' '$(PREFIX)/$(TARGET)/include/'
+ $(INSTALL) -m644 '$(1)/porttime/porttime.h' '$(PREFIX)/$(TARGET)/include/'
+
+ '$(TARGET)-gcc' \
+ '$(1)/pm_test/test.c' -o '$(PREFIX)/$(TARGET)/bin/test-portmidi.exe' \
+ -lportmidi -lwinmm
+endef