aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakob Odersky <jodersky@gmail.com>2014-04-07 19:51:40 +0200
committerJakob Odersky <jodersky@gmail.com>2014-04-07 19:51:40 +0200
commit8bfc314904bffcb3d4dc0f2e21fa0fb8dd0bde60 (patch)
tree70d13c09d7a202800d7f35bd434cbaaa2cd69fb6
parent1a8b1b4c01579d42dbfea21881d0083c00ba472c (diff)
downloadakka-serial-8bfc314904bffcb3d4dc0f2e21fa0fb8dd0bde60.tar.gz
akka-serial-8bfc314904bffcb3d4dc0f2e21fa0fb8dd0bde60.tar.bz2
akka-serial-8bfc314904bffcb3d4dc0f2e21fa0fb8dd0bde60.zip
move native build install location and dependencies
-rw-r--r--documentation/building.md2
-rw-r--r--flow-native/Makefile6
-rw-r--r--flow-native/common.mk6
-rw-r--r--flow-native/debian/changelog2
-rw-r--r--flow-native/debian/control11
-rw-r--r--flow-native/debian/libflow3-0.dirs1
-rw-r--r--flow-native/debian/libflow3-jni.dirs1
-rwxr-xr-xflow-native/debian/rules4
8 files changed, 19 insertions, 14 deletions
diff --git a/documentation/building.md b/documentation/building.md
index 238a4c0..52f845c 100644
--- a/documentation/building.md
+++ b/documentation/building.md
@@ -18,7 +18,7 @@ All files related to the back-end are contained in `flow-native` and are managed
3. Debian package build
A debian binary package can be built the standard way by navigating to the build directory and running `debuild` or `dpkg-buildpackage`. The resulting packages are created in this project's root directory and can be installed with `sudo dpkg -i *.deb`.
-Note that for compiling, the JAVA_HOME environment variable must be set. Furthermore, the JNI include directories are currently set in the makefile to point to the default location of a Java 7 Oracle installation on Debian.
+Note that for compiling, a JNI_INCLUDE environment variable should be set, pointing to any directories containing JNI headers. If this variable is not set, the default is to use the JNI include directories of an OpenJDK 7 installation on Debian.
# Using flow
As is with the build, using flow in a project can also be divided into two parts.
diff --git a/flow-native/Makefile b/flow-native/Makefile
index 29080a3..a768bd3 100644
--- a/flow-native/Makefile
+++ b/flow-native/Makefile
@@ -16,7 +16,7 @@ TARGET=$(SONAME).$(MINOR).$(MICRO)
# Linux-specific flags
LDFLAGS+=-shared -Wl,-soname,$(SONAME)
-INCLUDES+=$(JAVA_HOME)/include/ $(JAVA_HOME)/include/linux/
+INCLUDES+=$(JNI_INCLUDE)
# All final products that should be installed
PRODUCTS=$(TARGET) $(SONAME) $(LIB)
@@ -43,11 +43,11 @@ $(LIB): $(SONAME)
# Install resulting artifacts
install: all
- @for product in $(PRODUCTS); do cp -P -t $(DESTDIR)/$(PREFIX)/lib $${product}; done
+ @for product in $(PRODUCTS); do cp -P -t $(DESTDIR)/$(PREFIX) $${product}; done
# Uninstall resulting artifacts
uninstall:
- @for product in $(PRODUCTS); do rm $(DESTDIR)/$(PREFIX)/lib/$${product}; done
+ @for product in $(PRODUCTS); do rm $(DESTDIR)/$(PREFIX)/$${product}; done
# Clean build
clean:
diff --git a/flow-native/common.mk b/flow-native/common.mk
index 1ce66a6..1db2e22 100644
--- a/flow-native/common.mk
+++ b/flow-native/common.mk
@@ -20,7 +20,7 @@ MICRO=0# bugfixes
# Directory where the library will be installed (without /lib)
#
-PREFIX?=/usr
+PREFIX?=/usr/lib/jni
# Compiler and linker settings
@@ -34,9 +34,9 @@ CFLAGS= -O2 -fPIC -Wall
LDFLAGS=
-# JDK base directory
+# JNI include directory
#
-JAVA_HOME?=/usr/lib/jvm/java-7-oracle
+JNI_INCLUDE?=$(JAVA_HOME)/include
# Include directories
diff --git a/flow-native/debian/changelog b/flow-native/debian/changelog
index 7dac466..e3cc0d5 100644
--- a/flow-native/debian/changelog
+++ b/flow-native/debian/changelog
@@ -2,4 +2,4 @@ flow (0.1) UNRELEASED; urgency=low
* Initial release.
- -- Jakob Odersky <jodersky@gmail.com> Thu, 27 Mar 2014 22:55:53 +0100
+ -- Jakob Odersky <jodersky@gmail.com> Mon, 07 Apr 2014 14:22:46 +0200
diff --git a/flow-native/debian/control b/flow-native/debian/control
index dea1f0f..449a4de 100644
--- a/flow-native/debian/control
+++ b/flow-native/debian/control
@@ -1,15 +1,16 @@
Source: flow
-Priority: extra
Maintainer: Jakob Odersky <jodersky@gmail.com>
-Build-Depends: debhelper (>= 8.0.0)
+Section: java
+Priority: optional
+Build-Depends: debhelper (>= 8.0.0), openjdk-7-jre-headless
Standards-Version: 3.9.3
-Section: libs
Homepage: https://github.com/jodersky/flow
Vcs-Git: git://github.com/jodersky/flow.git
-Package: libflow3-0
-Section: libs
+Package: libflow3-jni
Architecture: any
+Section: java
+Priority: optional
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: Provides the native backend and JNI bindings for flow.
This package contains a native library to fully enable flow, a
diff --git a/flow-native/debian/libflow3-0.dirs b/flow-native/debian/libflow3-0.dirs
deleted file mode 100644
index 6845771..0000000
--- a/flow-native/debian/libflow3-0.dirs
+++ /dev/null
@@ -1 +0,0 @@
-usr/lib
diff --git a/flow-native/debian/libflow3-jni.dirs b/flow-native/debian/libflow3-jni.dirs
new file mode 100644
index 0000000..d462b3d
--- /dev/null
+++ b/flow-native/debian/libflow3-jni.dirs
@@ -0,0 +1 @@
+usr/lib/jni
diff --git a/flow-native/debian/rules b/flow-native/debian/rules
index b760bee..c2eeb46 100755
--- a/flow-native/debian/rules
+++ b/flow-native/debian/rules
@@ -9,5 +9,9 @@
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
+export JNI_INCLUDE?=/usr/lib/jvm/java-7-openjdk-$(DEB_BUILD_ARCH)/include
+
%:
dh $@
+
+