From 6342b4a14ad71269ffb8dad52ef50593316ac905 Mon Sep 17 00:00:00 2001 From: Carsten Presser Date: Mon, 23 Apr 2018 14:09:27 +0200 Subject: [PATCH 1/2] Add Windows x86-64 build --- compile_win.sh | 16 +++++++++------- compile_win64.sh | 17 +++++++++++++++++ 2 files changed, 26 insertions(+), 7 deletions(-) create mode 100755 compile_win64.sh diff --git a/compile_win.sh b/compile_win.sh index 66fbe92..d41be07 100755 --- a/compile_win.sh +++ b/compile_win.sh @@ -1,15 +1,17 @@ #!/bin/bash -xe -JAVA_INCLUDE_PATH=/opt/jvm/jdk1.8.0/include/ +JAVA_INCLUDE_PATH=/usr/lib/jvm/java-8-openjdk-amd64/include/ +ARCH=i686-w64-mingw32 +CC=$ARCH-gcc -mkdir -p distrib/windows +mkdir -p distrib/$ARCH cd libserialport ./autogen.sh -./configure --host=i686-w64-mingw32 +./configure --host=$ARCH make clean make cd .. -i686-w64-mingw32-gcc main.c -Llibserialport/.libs/ -Ilibserialport/ -lserialport -lsetupapi -static -o listSerialC.exe -cp listSerialC.exe distrib/windows/ -i686-w64-mingw32-gcc -D_JNI_IMPLEMENTATION_ -Wl,--kill-at jnilib.c libserialport/.libs/libserialport.a -lsetupapi -Ilibserialport/ -I/opt/jvm/jdk1.8.0/include/ -Iwin32_jni -shared -o listSerialsj.dll -cp listSerialsj.dll distrib/windows/ \ No newline at end of file +$CC main.c -Llibserialport/.libs/ -Ilibserialport/ -lserialport -lsetupapi -static -o listSerialC.exe +cp listSerialC.exe distrib/$ARCH/ +$CC -D_JNI_IMPLEMENTATION_ -Wl,--kill-at jnilib.c libserialport/.libs/libserialport.a -lsetupapi -Ilibserialport/ -I$JAVA_INCLUDE_PATH -Iwin32_jni -shared -o listSerialsj.dll +cp listSerialsj.dll distrib/$ARCH/ diff --git a/compile_win64.sh b/compile_win64.sh new file mode 100755 index 0000000..cc52ec8 --- /dev/null +++ b/compile_win64.sh @@ -0,0 +1,17 @@ +#!/bin/bash -xe + +JAVA_INCLUDE_PATH=/usr/lib/jvm/java-8-openjdk-amd64/include/ +ARCH=x86_64-w64-mingw32 +CC=$ARCH-gcc + +mkdir -p distrib/$ARCH/ +cd libserialport +./autogen.sh +./configure --host=$ARCH +make clean +make +cd .. +$CC main.c -Llibserialport/.libs/ -Ilibserialport/ -lserialport -lsetupapi -static -o listSerialC.exe +cp listSerialC.exe distrib/$ARCH/ +$CC -D_JNI_IMPLEMENTATION_ -Wl,--kill-at jnilib.c libserialport/.libs/libserialport.a -lsetupapi -Ilibserialport/ -I$JAVA_INCLUDE_PATH -Iwin32_jni -shared -o listSerialsj.dll +cp listSerialsj.dll distrib/$ARCH/ From 7f0afe693f916c2cd52949cc29c2dd58ae7cdbd2 Mon Sep 17 00:00:00 2001 From: Carsten Presser Date: Mon, 23 Apr 2018 14:08:18 +0200 Subject: [PATCH 2/2] Strip .dll files to reduce file size --- compile_win.sh | 2 ++ compile_win64.sh | 2 ++ 2 files changed, 4 insertions(+) diff --git a/compile_win.sh b/compile_win.sh index d41be07..197eb8c 100755 --- a/compile_win.sh +++ b/compile_win.sh @@ -3,6 +3,7 @@ JAVA_INCLUDE_PATH=/usr/lib/jvm/java-8-openjdk-amd64/include/ ARCH=i686-w64-mingw32 CC=$ARCH-gcc +STRIP=$ARCH-strip mkdir -p distrib/$ARCH cd libserialport @@ -14,4 +15,5 @@ cd .. $CC main.c -Llibserialport/.libs/ -Ilibserialport/ -lserialport -lsetupapi -static -o listSerialC.exe cp listSerialC.exe distrib/$ARCH/ $CC -D_JNI_IMPLEMENTATION_ -Wl,--kill-at jnilib.c libserialport/.libs/libserialport.a -lsetupapi -Ilibserialport/ -I$JAVA_INCLUDE_PATH -Iwin32_jni -shared -o listSerialsj.dll +$STRIP listSerialsj.dll cp listSerialsj.dll distrib/$ARCH/ diff --git a/compile_win64.sh b/compile_win64.sh index cc52ec8..44ed2fd 100755 --- a/compile_win64.sh +++ b/compile_win64.sh @@ -3,6 +3,7 @@ JAVA_INCLUDE_PATH=/usr/lib/jvm/java-8-openjdk-amd64/include/ ARCH=x86_64-w64-mingw32 CC=$ARCH-gcc +STRIP=$ARCH-strip mkdir -p distrib/$ARCH/ cd libserialport @@ -14,4 +15,5 @@ cd .. $CC main.c -Llibserialport/.libs/ -Ilibserialport/ -lserialport -lsetupapi -static -o listSerialC.exe cp listSerialC.exe distrib/$ARCH/ $CC -D_JNI_IMPLEMENTATION_ -Wl,--kill-at jnilib.c libserialport/.libs/libserialport.a -lsetupapi -Ilibserialport/ -I$JAVA_INCLUDE_PATH -Iwin32_jni -shared -o listSerialsj.dll +$STRIP listSerialsj.dll cp listSerialsj.dll distrib/$ARCH/