From 38e680d523d392034e881da015da03b64036c580 Mon Sep 17 00:00:00 2001 From: Sabine Odersky Date: Thu, 4 Jul 2013 19:08:24 +0200 Subject: Compilation works, linking doesn't --- project/Build.scala | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'project') diff --git a/project/Build.scala b/project/Build.scala index e8b0a27..d743ddd 100644 --- a/project/Build.scala +++ b/project/Build.scala @@ -122,15 +122,15 @@ object FlowBuild extends Build { dependsOn(main) ) - /* stub for native project on a mac, I don't know if this would actually work... lazy val nativeMacOSX = ( NativeProject("flow-native-macosx", file("flow-native") / "unix") settings (unixNativeSettings: _*) settings ( - includeDirectories in Native += jdkHome.value / "include" / "macosx" + includeDirectories in Native += file("/System/Library/Frameworks/JavaVM.framework/Headers/jni.h"), + includeDirectories in Native += file("/Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/JavaVM.framework/Versions/A/Headers") ) dependsOn (main) - )*/ + ) /* stub for native project on windows, I don't know if this would actually work... -- cgit v1.2.3 From b03820da96770f7cc6478c746601252ce1984ce6 Mon Sep 17 00:00:00 2001 From: Sabine Odersky Date: Thu, 4 Jul 2013 21:26:29 +0200 Subject: linking works, testing needed --- flow-binaries/mac os x/x86_64/libflow.jnilib.1.0 | Bin 0 -> 14264 bytes flow-native/unix/src/flow.c | 3 ++- project/Build.scala | 13 ++++++++----- sbt | 4 ++++ sbt-launch.jar | Bin 0 -> 1130160 bytes 5 files changed, 14 insertions(+), 6 deletions(-) create mode 100644 flow-binaries/mac os x/x86_64/libflow.jnilib.1.0 create mode 100755 sbt create mode 100644 sbt-launch.jar (limited to 'project') diff --git a/flow-binaries/mac os x/x86_64/libflow.jnilib.1.0 b/flow-binaries/mac os x/x86_64/libflow.jnilib.1.0 new file mode 100644 index 0000000..c7d9689 Binary files /dev/null and b/flow-binaries/mac os x/x86_64/libflow.jnilib.1.0 differ diff --git a/flow-native/unix/src/flow.c b/flow-native/unix/src/flow.c index 8aae2b7..aa1b213 100644 --- a/flow-native/unix/src/flow.c +++ b/flow-native/unix/src/flow.c @@ -134,7 +134,8 @@ int serial_open(const char* port_name, int baud, struct serial_config** serial) } int pipe_fd[2]; - if (pipe2(pipe_fd, O_NONBLOCK) < 0) { +//TODO make pipe non-blocking + if (pipe(pipe_fd) < 0) { DEBUG(perror("open pipe");); close(fd); return E_IO; diff --git a/project/Build.scala b/project/Build.scala index d743ddd..3af906a 100644 --- a/project/Build.scala +++ b/project/Build.scala @@ -109,15 +109,16 @@ object FlowBuild extends Build { val UnixBinaryMinorVersion = 0 lazy val unixNativeSettings: Seq[Setting[_]] = commonNativeSettings ++ Seq( - flags in Native := Seq("-fPIC", "-O2"), - linkFlags in Native ++= Seq("-shared", s"-Wl,-soname,libflow.so.${BinaryMajorVersion}"), - binaryName in Native := s"libflow.so.${BinaryMajorVersion}.${UnixBinaryMinorVersion}") + flags in Native := Seq("-fPIC", "-O2") + ) lazy val nativeLinux = ( NativeProject("flow-native-linux", file("flow-native") / "unix") settings (unixNativeSettings: _*) settings ( - includeDirectories in Native += jdkHome.value / "include" / "linux" + includeDirectories in Native += jdkHome.value / "include" / "linux", +linkFlags in Native ++= Seq("-shared", s"-Wl,-soname,libflow.so.${BinaryMajorVersion}"), + binaryName in Native := s"libflow.so.${BinaryMajorVersion}.${UnixBinaryMinorVersion}" ) dependsOn(main) ) @@ -127,7 +128,9 @@ object FlowBuild extends Build { settings (unixNativeSettings: _*) settings ( includeDirectories in Native += file("/System/Library/Frameworks/JavaVM.framework/Headers/jni.h"), - includeDirectories in Native += file("/Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/JavaVM.framework/Versions/A/Headers") + includeDirectories in Native += file("/Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/JavaVM.framework/Versions/A/Headers"), +linkFlags in Native ++= Seq("-dynamiclib"), + binaryName in Native := s"libflow.jnilib.${BinaryMajorVersion}.${UnixBinaryMinorVersion}" ) dependsOn (main) ) diff --git a/sbt b/sbt new file mode 100755 index 0000000..1f06d10 --- /dev/null +++ b/sbt @@ -0,0 +1,4 @@ +#!/bin/bash + +SBT_OPTS="-Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=256M" +java $SBT_OPTS -jar `dirname $0`/sbt-launch.jar "$@" diff --git a/sbt-launch.jar b/sbt-launch.jar new file mode 100644 index 0000000..18b0868 Binary files /dev/null and b/sbt-launch.jar differ -- cgit v1.2.3