From 6aa1c12bdc63414dce6dfef180050c22aed25ce0 Mon Sep 17 00:00:00 2001 From: Adam Murdoch Date: Fri, 10 Aug 2012 06:02:53 +1000 Subject: [PATCH] Updated. --- readme.md | 35 +++++++++++++++++++++++------------ 1 file changed, 23 insertions(+), 12 deletions(-) diff --git a/readme.md b/readme.md index a85c3f1..9bc8ee4 100755 --- a/readme.md +++ b/readme.md @@ -1,14 +1,14 @@ -Provides Java bindings for various native APIs. +# Native-platform: Java bindings for various native APIs -# Available bindings +## Available bindings -## Generic +### Generic * Get and set UNIX file mode. * Get PID of current process. -## Terminal and console +### Terminal and console These bindings work for both the UNIX terminal and Windows console: @@ -26,38 +26,49 @@ Currently ported to OS X, Linux, Solaris and Windows. Tested on: * Solaris 11 (x86) * Windows 7 (amd64) -# Building +## Building You will need a very recent snapshot of [Gradle](http://www.gradle.org/). -## Ubuntu +### Ubuntu The g++ compiler is required to build the native library. You will need to `g++` package for this. Generally this is already installed. You need to install the `libncurses5-dev` package to pick up the ncurses header files. Also worth installing the `ncurses-doc` package too. -## Windows +### Windows You need to install Visual studio, and build from a Visual studio command prompt. -## OS X +### OS X The g++ compiler is required to build the native library. You will need to install the XCode tools for this. -## Solaris +### Solaris For Solaris 11, you need to install the `development/gcc-45` and `system/header` packages. -# TODO +## Running +Run `gradle compileMain install` to build. + +Run `./build/install/native-platform/bin/native-platform` to run test application. + +## TODO + +* Fix terminal detection on OS X 10.8 * Package up native lib into self-extracting jar. -* Fix TERM=dumb +* Build 32 bit and 64 bit libraries. +* Support for cygwin terminal +* Use TERM=xtermc instead of TERM=xterm on Solaris. +* Add diagnostics for terminal. * Split out separate native library for terminal handling. +* Version each native interface separately. * String names for errno values. * Split into multiple projects. -* Build 32 bit and 64 bit libraries. * Test on IBM JVM. * Convert to c. * Thread safety. * Windows: flush System.out or System.err on attribute change. * Solaris: fix unicode file name handling. +* Improve error message when unsupported capability is used.