aboutsummaryrefslogtreecommitdiff
path: root/project/Build.scala
diff options
context:
space:
mode:
Diffstat (limited to 'project/Build.scala')
-rw-r--r--project/Build.scala8
1 files changed, 6 insertions, 2 deletions
diff --git a/project/Build.scala b/project/Build.scala
index be1febc..714c9d0 100644
--- a/project/Build.scala
+++ b/project/Build.scala
@@ -1,6 +1,7 @@
import sbt._
import Keys._
import NativeBuild._
+import JNIBuild._
object FlowBuild extends Build {
val Organization = "com.github.jodersky"
@@ -10,7 +11,7 @@ object FlowBuild extends Build {
lazy val root = Project(
id = "flow",
base = file("."),
- settings = buildSettings ++ nativeSettings ++ runSettings)
+ settings = buildSettings ++ jniSettings ++ runSettings)
lazy val buildSettings = Defaults.defaultSettings ++ Seq(
organization := Organization,
@@ -20,9 +21,12 @@ object FlowBuild extends Build {
scalacOptions ++= Seq("-deprecation", "-unchecked", "-feature"),
compileOrder in Compile := CompileOrder.JavaThenScala)
- lazy val nativeSettings = NativeBuild.defaults ++ Seq(
+ lazy val jniSettings = JNIBuild.defaults ++ Seq(
+ jdkHome := file(System.getProperty("java.home")) / "..",
+ javaClass := "com.github.jodersky.flow.NativeSerial",
NativeBuild.compiler := "gcc",
options := Seq("-fPIC"),
+ NativeBuild.includeDirectories <<= jdkHome apply (jdk => Seq(jdk / "include", jdk / "include" / "linux")),
linker := "gcc",
linkerOptions := Seq("-shared", "-Wl,-soname,libflow.so.1"),
linkerOutput <<= NativeBuild.outputDirectory(_ / "libflow.so")