summaryrefslogtreecommitdiff
path: root/demos
diff options
context:
space:
mode:
authorEthan Vrhel <ethan@Michaels-MacBook-Pro.local>2021-08-10 14:48:11 -0700
committerEthan Vrhel <ethanvrhel@gmail.com>2021-08-17 14:51:26 -0700
commitd75125eea1d60809d7a68417dd32075aa6a9a672 (patch)
tree2cec05e3ecd19afc89ad676640974ccc80357ee5 /demos
parent9f652f4803d54618f39c843e8b7307de6380e5c7 (diff)
downloadghostpdl-d75125eea1d60809d7a68417dd32075aa6a9a672.tar.gz
Added build scripts for Mac OS X
The build scripts are named the same as the Linux build scripts except they are suffixed with "_darwin".
Diffstat (limited to 'demos')
-rw-r--r--demos/java/gsjava/build.sh4
-rw-r--r--demos/java/gsjava/build_darwin.sh62
-rw-r--r--demos/java/gsjava/src/com/artifex/gsjava/GSAPI.java5
-rw-r--r--demos/java/gsviewer/Manifest.txt2
-rw-r--r--demos/java/gsviewer/build_darwin.sh37
-rw-r--r--demos/java/gsviewer/start_darwin.sh5
-rw-r--r--demos/java/jni/gs_jni/build_darwin.sh57
7 files changed, 169 insertions, 3 deletions
diff --git a/demos/java/gsjava/build.sh b/demos/java/gsjava/build.sh
index 207100727..48817d367 100644
--- a/demos/java/gsjava/build.sh
+++ b/demos/java/gsjava/build.sh
@@ -6,7 +6,7 @@ echo "Compiling gs_jni C++ source..."
cd "../jni/gs_jni"
-bash make.sh
+bash build.sh
cd "../../gsjava"
@@ -59,4 +59,4 @@ cd bin
echo "Packing gsjava JAR file..."
jar cfm "../gsjava.jar" "../Manifest.txt" "com/"
-cd .. \ No newline at end of file
+cd ..
diff --git a/demos/java/gsjava/build_darwin.sh b/demos/java/gsjava/build_darwin.sh
new file mode 100644
index 000000000..4522c219a
--- /dev/null
+++ b/demos/java/gsjava/build_darwin.sh
@@ -0,0 +1,62 @@
+#!/bin/bash
+
+mkdir -p bin
+
+echo "Compiling gs_jni C++ source..."
+
+cd "../jni/gs_jni"
+
+bash build_darwin.sh
+
+cd "../../gsjava"
+
+echo "Compiling gsjava Java source..."
+javac -sourcepath src/ -d bin/ \
+ "src/com/artifex/gsjava/GSAPI.java" \
+ "src/com/artifex/gsjava/GSInstance.java" \
+ \
+ "src/com/artifex/gsjava/util/AllocationError.java" \
+ "src/com/artifex/gsjava/util/ByteArrayReference.java" \
+ "src/com/artifex/gsjava/util/BytePointer.java" \
+ "src/com/artifex/gsjava/util/NativeArray.java" \
+ "src/com/artifex/gsjava/util/NativePointer.java" \
+ "src/com/artifex/gsjava/util/Reference.java" \
+ "src/com/artifex/gsjava/util/StringUtil.java" \
+ \
+ "src/com/artifex/gsjava/callbacks/DisplayCallback.java" \
+ "src/com/artifex/gsjava/callbacks/ICalloutFunction.java" \
+ "src/com/artifex/gsjava/callbacks/IPollFunction.java" \
+ "src/com/artifex/gsjava/callbacks/IStdErrFunction.java" \
+ "src/com/artifex/gsjava/callbacks/IStdInFunction.java" \
+ "src/com/artifex/gsjava/callbacks/IStdOutFunction.java" \
+ \
+ "src/com/artifex/gsjava/devices/BMPDevice.java" \
+ "src/com/artifex/gsjava/devices/Device.java" \
+ "src/com/artifex/gsjava/devices/DeviceInUseException.java" \
+ "src/com/artifex/gsjava/devices/DeviceNotSupportedException.java" \
+ "src/com/artifex/gsjava/devices/DisplayDevice.java" \
+ "src/com/artifex/gsjava/devices/EPSDevice.java" \
+ "src/com/artifex/gsjava/devices/FAXDevice.java" \
+ "src/com/artifex/gsjava/devices/FileDevice.java" \
+ "src/com/artifex/gsjava/devices/HighLevelDevice.java" \
+ "src/com/artifex/gsjava/devices/JPEGDevice.java" \
+ "src/com/artifex/gsjava/devices/OCRDevice.java" \
+ "src/com/artifex/gsjava/devices/PCXDevice.java" \
+ "src/com/artifex/gsjava/devices/PDFDevice.java" \
+ "src/com/artifex/gsjava/devices/PDFImageDevice.java" \
+ "src/com/artifex/gsjava/devices/PDFPostscriptDeviceFamily.java" \
+ "src/com/artifex/gsjava/devices/PNGDevice.java" \
+ "src/com/artifex/gsjava/devices/PNMDevice.java" \
+ "src/com/artifex/gsjava/devices/PostScriptDevice.java" \
+ "src/com/artifex/gsjava/devices/PSDDevice.java" \
+ "src/com/artifex/gsjava/devices/PXLDevice.java" \
+ "src/com/artifex/gsjava/devices/TextDevice.java" \
+ "src/com/artifex/gsjava/devices/TIFFDevice.java" \
+ "src/com/artifex/gsjava/devices/XPSDevice.java"
+
+cd bin
+
+echo "Packing gsjava JAR file..."
+jar cfm "../gsjava.jar" "../Manifest.txt" "com/"
+
+cd ..
diff --git a/demos/java/gsjava/src/com/artifex/gsjava/GSAPI.java b/demos/java/gsjava/src/com/artifex/gsjava/GSAPI.java
index a7c2bba19..fa4a08c00 100644
--- a/demos/java/gsjava/src/com/artifex/gsjava/GSAPI.java
+++ b/demos/java/gsjava/src/com/artifex/gsjava/GSAPI.java
@@ -35,6 +35,11 @@ public class GSAPI {
System.load(libgpdl.getAbsolutePath());
File gsjni = new File("gs_jni.so");
System.load(gsjni.getAbsolutePath());
+ } else if (System.getProperty("os.name").equalsIgnoreCase("Mac OS X")) {
+ File libgpdl = new File("libgpdl.dylib");
+ System.load(libgpdl.getAbsolutePath());
+ File gsjni = new File("gs_jni.dylib");
+ System.load(gsjni.getAbsolutePath());
} else {
System.loadLibrary("gs_jni");
}
diff --git a/demos/java/gsviewer/Manifest.txt b/demos/java/gsviewer/Manifest.txt
index 24a8af4b1..77639479e 100644
--- a/demos/java/gsviewer/Manifest.txt
+++ b/demos/java/gsviewer/Manifest.txt
@@ -1,3 +1,3 @@
Manifest-Version: 1.0
Class-Path: gsjava.jar ./
-Main-Class: com.artifex.gsviewer.Main \ No newline at end of file
+Main-Class: com.artifex.gsviewer.Main
diff --git a/demos/java/gsviewer/build_darwin.sh b/demos/java/gsviewer/build_darwin.sh
new file mode 100644
index 000000000..0f3d038a3
--- /dev/null
+++ b/demos/java/gsviewer/build_darwin.sh
@@ -0,0 +1,37 @@
+#!/bin/bash
+
+# build gsjava
+cd ../gsjava
+
+bash build_darwin.sh
+
+cd ../gsviewer
+
+cp ../gsjava/gsjava.jar gsjava.jar
+
+mkdir -p bin
+
+echo "Compiling gsviewer Java source..."
+javac -sourcepath src/ -d bin/ \
+ -classpath "../gsjava/bin" \
+ "src/com/artifex/gsviewer/DefaultUnhandledExceptionHandler.java" \
+ "src/com/artifex/gsviewer/Page.java" \
+ "src/com/artifex/gsviewer/Settings.java" \
+ "src/com/artifex/gsviewer/Document.java" \
+ "src/com/artifex/gsviewer/ImageUtil.java" \
+ "src/com/artifex/gsviewer/PageUpdateCallback.java" \
+ "src/com/artifex/gsviewer/StdIO.java" \
+ "src/com/artifex/gsviewer/GSFileFilter.java" \
+ "src/com/artifex/gsviewer/Main.java" \
+ "src/com/artifex/gsviewer/PDFFileFilter.java" \
+ "src/com/artifex/gsviewer/ViewerController.java" \
+ \
+ "src/com/artifex/gsviewer/gui/ScrollMap.java" \
+ "src/com/artifex/gsviewer/gui/SettingsDialog.java" \
+ "src/com/artifex/gsviewer/gui/ViewerGUIListener.java" \
+ "src/com/artifex/gsviewer/gui/ViewerWindow.java"
+
+cd bin
+
+echo "Packing gsviewer JAR file..."
+jar cfm "../gsviewer.jar" "../Manifest.txt" "com/"
diff --git a/demos/java/gsviewer/start_darwin.sh b/demos/java/gsviewer/start_darwin.sh
new file mode 100644
index 000000000..c2941c8cc
--- /dev/null
+++ b/demos/java/gsviewer/start_darwin.sh
@@ -0,0 +1,5 @@
+#!/bin/bash
+
+export LD_PRELOAD=/usr/lib/libgpdl.dylib
+
+java -jar gsviewer.jar
diff --git a/demos/java/jni/gs_jni/build_darwin.sh b/demos/java/jni/gs_jni/build_darwin.sh
new file mode 100644
index 000000000..0dfc65f61
--- /dev/null
+++ b/demos/java/jni/gs_jni/build_darwin.sh
@@ -0,0 +1,57 @@
+#!/bin/bash
+
+unset LD_LIBRARY_PATH
+
+mkdir -p obin
+
+echo "Compiling gs_jni C++ source..."
+
+echo "Compile callbacks.cpp"
+g++ -c -Wall -O3 -fPIC \
+ -std=c++14 \
+ -I./include \
+ -I./include/darwin \
+ -I./../../../../psi \
+ -I./../../../../devices \
+ "callbacks.cpp" \
+ -o "obin/callbacks.o"
+
+echo "Compile com_artifex_gsjava_GSAPI.cpp"
+g++ -c -Wall -O3 -fPIC \
+ -std=c++14 \
+ -I./include \
+ -I./include/darwin \
+ -I./../../../../psi \
+ -I./../../../../devices \
+ "com_artifex_gsjava_GSAPI.cpp" \
+ -o "obin/com_artifex_gsjava_GSAPI.o"
+
+echo "Compile com_artifex_gsjava_util_NativePointer.cpp"
+g++ -c -Wall -O3 -fPIC \
+ -std=c++14 \
+ -I./include \
+ -I./include/darwin \
+ -I./../../../../psi \
+ -I./../../../../devices \
+ "com_artifex_gsjava_util_NativePointer.cpp" \
+ -o "obin/com_artifex_gsjava_util_NativePointer.o"
+
+echo "Compile jni_util.cpp"
+g++ -c -Wall -O3 -fPIC \
+ -std=c++14 \
+ -I./include \
+ -I./include/darwin \
+ -I./../../../../psi \
+ -I./../../../../devices \
+ "jni_util.cpp" \
+ -o "obin/jni_util.o"
+
+echo "Link"
+g++ -dynamiclib -fPIC \
+ -Wl \
+ -o "gs_jni.dylib" \
+ "obin/callbacks.o" \
+ "obin/com_artifex_gsjava_GSAPI.o" \
+ "obin/com_artifex_gsjava_util_NativePointer.o" \
+ "obin/jni_util.o" \
+ "../../../../sobin/libgpdl.dylib"