summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2011-08-21 22:52:45 -0700
committerKeith Packard <keithp@keithp.com>2011-08-22 17:20:06 -0700
commit393d231b9689cd1c358600ee76e0e808f89670c8 (patch)
tree051222cd385a6b2a966e63bde186aaa7a145ea8c
parentd5bd40847b17c32405dfba864a2a5a3b19aa7e85 (diff)
altosui: Attempt to make both 32- and 64-bit windows DLLs
We'll see if they work... Signed-off-by: Keith Packard <keithp@keithp.com>
-rw-r--r--altosui/Altos.java8
-rw-r--r--altosui/Makefile.am18
-rw-r--r--altosui/libaltos/Makefile.am15
-rwxr-xr-xaltosui/libaltos/altos.dllbin31765 -> 91605 bytes
4 files changed, 37 insertions, 4 deletions
diff --git a/altosui/Altos.java b/altosui/Altos.java
index d3f8fa67..ddf1005a 100644
--- a/altosui/Altos.java
+++ b/altosui/Altos.java
@@ -366,7 +366,13 @@ public class Altos {
libaltos.altos_init();
loaded_library = true;
} catch (UnsatisfiedLinkError e) {
- loaded_library = false;
+ try {
+ System.loadLibrary("altos64");
+ libaltos.altos_init();
+ loaded_library = true;
+ } catch (UnsatisfiedLinkError e2) {
+ loaded_library = false;
+ }
}
initialized = true;
}
diff --git a/altosui/Makefile.am b/altosui/Makefile.am
index e4986ba5..f626d3fa 100644
--- a/altosui/Makefile.am
+++ b/altosui/Makefile.am
@@ -191,7 +191,7 @@ LINUX_EXTRA=altosui-fat
MACOSX_FILES=$(FAT_FILES) libaltos.dylib
MACOSX_EXTRA=$(FIRMWARE)
-WINDOWS_FILES=$(FAT_FILES) altos.dll $(top_srcdir)/telemetrum.inf $(WINDOWS_ICON)
+WINDOWS_FILES=$(FAT_FILES) altos.dll altos64.dll $(top_srcdir)/telemetrum.inf $(WINDOWS_ICON)
all-local: classes/altosui $(JAR) altosui altosui-test altosui-jdb
@@ -282,10 +282,24 @@ libaltos.dylib:
-rm -f "$@"
$(LN_S) libaltos/"$@" .
-altos.dll:
+altos.dll: libaltos/altos.dll
-rm -f "$@"
$(LN_S) libaltos/"$@" .
+altos64.dll: libaltos/altos64.dll
+ -rm -f "$@"
+ $(LN_S) libaltos/"$@" .
+
+libaltos/altos.dll: build-altos-dll
+
+libaltos/altos64.dll: build-altos64-dll
+
+build-altos-dll:
+ +cd libaltos && make altos.dll
+
+build-altos64-dll:
+ +cd libaltos && make altos64.dll
+
$(FREETTS_CLASS):
-rm -f "$@"
$(LN_S) "$(FREETTS)"/"$@" .
diff --git a/altosui/libaltos/Makefile.am b/altosui/libaltos/Makefile.am
index 3f5f3ee2..b5ab1ddb 100644
--- a/altosui/libaltos/Makefile.am
+++ b/altosui/libaltos/Makefile.am
@@ -37,5 +37,18 @@ classlibaltos.stamp: $(SWIG_FILE)
$(JAVAC) -d . $(AM_JAVACFLAGS) $(JAVACFLAGS) *.java && \
touch classlibaltos.stamp
+MINGCC32=i686-w64-mingw32-gcc
+MINGCC64=x86_64-w64-mingw32-gcc
+MINGFLAGS=-Wall -DWINDOWS -DBUILD_DLL -I$(JVM_INCLUDE)
+MINGLIBS=-lsetupapi
+
+fat: altos.dll altos64.dll
+
+altos.dll: $(libaltos_la_SOURCES)
+ $(MINGCC32) -o $@ $(MINGFLAGS) -shared $(libaltos_la_SOURCES) $(MINGLIBS)
+
+altos64.dll: $(libaltos_la_SOURCES)
+ $(MINGCC64) -o $@ $(MINGFLAGS) -shared $(libaltos_la_SOURCES) $(MINGLIBS)
+
clean-local:
- -rm -rf libaltosJNI *.class *.java classlibaltos.stamp $(SWIG_FILE) libaltos_wrap.c
+ -rm -rf libaltosJNI *.class *.java classlibaltos.stamp $(SWIG_FILE) libaltos_wrap.c altos.dll altos64.dll
diff --git a/altosui/libaltos/altos.dll b/altosui/libaltos/altos.dll
index 28e9b4ad..a96d3129 100755
--- a/altosui/libaltos/altos.dll
+++ b/altosui/libaltos/altos.dll
Binary files differ