< prev index next >

doc/panama_foreign.html

Print this page

        

@@ -1,150 +1,5 @@
-<!DOCTYPE html>
-<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
-<head>
-  <meta charset="utf-8" />
-  <meta name="generator" content="pandoc" />
-  <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
-  <title>Using Panama “foreign” JDK</title>
-  <style type="text/css">
-      code{white-space: pre-wrap;}
-      span.smallcaps{font-variant: small-caps;}
-      span.underline{text-decoration: underline;}
-      div.column{display: inline-block; vertical-align: top; width: 50%;}
-  </style>
-  <style type="text/css">
-a.sourceLine { display: inline-block; line-height: 1.25; }
-a.sourceLine { pointer-events: none; color: inherit; text-decoration: inherit; }
-a.sourceLine:empty { height: 1.2em; }
-.sourceCode { overflow: visible; }
-code.sourceCode { white-space: pre; position: relative; }
-div.sourceCode { margin: 1em 0; }
-pre.sourceCode { margin: 0; }
-@media screen {
-div.sourceCode { overflow: auto; }
-}
-@media print {
-code.sourceCode { white-space: pre-wrap; }
-a.sourceLine { text-indent: -1em; padding-left: 1em; }
-}
-pre.numberSource a.sourceLine
-  { position: relative; left: -4em; }
-pre.numberSource a.sourceLine::before
-  { content: attr(data-line-number);
-    position: relative; left: -1em; text-align: right; vertical-align: baseline;
-    border: none; pointer-events: all; display: inline-block;
-    -webkit-touch-callout: none; -webkit-user-select: none;
-    -khtml-user-select: none; -moz-user-select: none;
-    -ms-user-select: none; user-select: none;
-    padding: 0 4px; width: 4em;
-    color: #aaaaaa;
-  }
-pre.numberSource { margin-left: 3em; border-left: 1px solid #aaaaaa;  padding-left: 4px; }
-div.sourceCode
-  {  }
-@media screen {
-a.sourceLine::before { text-decoration: underline; }
-}
-code span.al { color: #ff0000; font-weight: bold; } /* Alert */
-code span.an { color: #60a0b0; font-weight: bold; font-style: italic; } /* Annotation */
-code span.at { color: #7d9029; } /* Attribute */
-code span.bn { color: #40a070; } /* BaseN */
-code span.bu { } /* BuiltIn */
-code span.cf { color: #007020; font-weight: bold; } /* ControlFlow */
-code span.ch { color: #4070a0; } /* Char */
-code span.cn { color: #880000; } /* Constant */
-code span.co { color: #60a0b0; font-style: italic; } /* Comment */
-code span.cv { color: #60a0b0; font-weight: bold; font-style: italic; } /* CommentVar */
-code span.do { color: #ba2121; font-style: italic; } /* Documentation */
-code span.dt { color: #902000; } /* DataType */
-code span.dv { color: #40a070; } /* DecVal */
-code span.er { color: #ff0000; font-weight: bold; } /* Error */
-code span.ex { } /* Extension */
-code span.fl { color: #40a070; } /* Float */
-code span.fu { color: #06287e; } /* Function */
-code span.im { } /* Import */
-code span.in { color: #60a0b0; font-weight: bold; font-style: italic; } /* Information */
-code span.kw { color: #007020; font-weight: bold; } /* Keyword */
-code span.op { color: #666666; } /* Operator */
-code span.ot { color: #007020; } /* Other */
-code span.pp { color: #bc7a00; } /* Preprocessor */
-code span.sc { color: #4070a0; } /* SpecialChar */
-code span.ss { color: #bb6688; } /* SpecialString */
-code span.st { color: #4070a0; } /* String */
-code span.va { color: #19177c; } /* Variable */
-code span.vs { color: #4070a0; } /* VerbatimString */
-code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warning */
-  </style>
-  <link rel="stylesheet" href="../make/data/docs-resources/resources/jdk-default.css" />
-  <!--[if lt IE 9]>
-    <script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
-  <![endif]-->
-</head>
-<body>
-<header>
-<h1 class="title">Using Panama “foreign” JDK</h1>
-</header>
-<nav id="TOC">
-<ul>
-<li><a href="#using-panama-foreign-jdk">Using Panama “foreign” JDK</a><ul>
-<li><a href="#embedding-python-interpreter-in-your-java-program-mac-os">Embedding Python interpreter in your Java program (Mac OS)</a><ul>
-<li><a href="#jextract-a-jar-file-for-python.h">jextract a Jar file for Python.h</a></li>
-<li><a href="#java-program-that-uses-extracted-python-interface">Java program that uses extracted Python interface</a></li>
-<li><a href="#running-the-java-code-that-calls-python-interpreter">Running the Java code that calls Python interpreter</a></li>
-</ul></li>
-<li><a href="#embedding-python-interpreter-in-your-java-program-ubuntu-16.04">Embedding Python interpreter in your Java program (Ubuntu 16.04)</a><ul>
-<li><a href="#jextract-a-jar-file-for-python.h-1">jextract a Jar file for Python.h</a></li>
-<li><a href="#compiling-and-running-python-java-example">Compiling and Running Python Java example</a></li>
-</ul></li>
-<li><a href="#using-blas-library">Using BLAS library</a><ul>
-<li><a href="#installing-openblas-mac-os">Installing OpenBLAS (Mac OS)</a></li>
-<li><a href="#installing-openblas-ubuntu-16.04">Installing OpenBLAS (Ubuntu 16.04)</a></li>
-<li><a href="#jextracting-cblas.h-macos">jextracting cblas.h (MacOS)</a></li>
-<li><a href="#jextracting-cblas.h-ubuntu-16.04">jextracting cblas.h (Ubuntu 16.04)</a></li>
-<li><a href="#java-sample-code-that-uses-cblas-library">Java sample code that uses cblas library</a></li>
-<li><a href="#compiling-and-running-the-above-cblas-samples">Compiling and running the above cblas samples</a></li>
-</ul></li>
-<li><a href="#using-lapack-library-ubuntu">Using LAPACK library (Ubuntu)</a><ul>
-<li><a href="#jextracting-clapack.h-ubuntu-16.04">jextracting clapack.h (Ubuntu 16.04)</a></li>
-<li><a href="#java-sample-code-that-uses-lapack-library">Java sample code that uses LAPACK library</a></li>
-<li><a href="#compiling-and-running-the-above-lapack-sample">Compiling and running the above LAPACK sample</a></li>
-</ul></li>
-<li><a href="#using-lapack-library-mac-os">Using LAPACK library (Mac OS)</a><ul>
-<li><a href="#jextracting-lapacke.h">jextracting lapacke.h</a></li>
-<li><a href="#java-sample-code-that-uses-lapack-library-1">Java sample code that uses LAPACK library</a></li>
-<li><a href="#compiling-and-running-the-above-lapack-sample-1">Compiling and running the above LAPACK sample</a></li>
-</ul></li>
-<li><a href="#using-libproc-library-to-list-processes-from-java-mac-os">Using libproc library to list processes from Java (Mac OS)</a><ul>
-<li><a href="#jextract-a-jar-file-for-libproc.h">jextract a jar file for libproc.h</a></li>
-<li><a href="#java-program-that-uses-libproc-to-list-processes">Java program that uses libproc to list processes</a></li>
-<li><a href="#running-the-java-code-that-uses-libproc">Running the Java code that uses libproc</a></li>
-</ul></li>
-<li><a href="#using-readline-library-from-java-code-mac-os">Using readline library from Java code (Mac OS)</a><ul>
-<li><a href="#jextract-a-jar-file-for-readline.h">jextract a jar file for readline.h</a></li>
-<li><a href="#java-code-that-uses-readline">Java code that uses readline</a></li>
-<li><a href="#running-the-java-code-that-uses-readline">Running the java code that uses readline</a></li>
-</ul></li>
-<li><a href="#using-unistd.h-from-java-code-linux">Using unistd.h from Java code (Linux)</a><ul>
-<li><a href="#jextract-a-jar-file-for-unistd.h">jextract a jar file for unistd.h</a></li>
-<li><a href="#java-code-that-calls-getpid">Java code that calls getpid</a></li>
-<li><a href="#running-the-java-code-that-uses-getpid">Running the Java code that uses getpid</a></li>
-</ul></li>
-<li><a href="#using-opengl-graphic-library-ubuntu-16.04">Using OpenGL graphic library (Ubuntu 16.04)</a><ul>
-<li><a href="#installing-opengl-ubuntu-16.04">Installing OpenGL (Ubuntu 16.04)</a></li>
-<li><a href="#jextracting-opengl-ubuntu-16.04">jextracting OpenGL (Ubuntu 16.04)</a></li>
-<li><a href="#java-sample-code-that-uses-the-opengl-library">Java sample code that uses the OpenGL library</a></li>
-<li><a href="#running-the-java-code-that-uses-opengl">Running the Java code that uses OpenGL</a></li>
-</ul></li>
-<li><a href="#using-tensorflow-c-api-mac-os">Using TensorFlow C API (Mac OS)</a><ul>
-<li><a href="#installing-libtensorflow">Installing libtensorflow</a></li>
-<li><a href="#jextracting-libtensorflow-c_api.h">jextracting libtensorflow c_api.h</a></li>
-<li><a href="#java-sample-code-that-uses-tensorflow-library">Java sample code that uses tensorflow library</a></li>
-<li><a href="#compiling-and-running-the-above-tensorflow-sample">Compiling and running the above TensorFlow sample</a></li>
-</ul></li>
-</ul></li>
-</ul>
-</nav>
 <h1 id="using-panama-foreign-jdk">Using Panama “foreign” JDK</h1>
 <p>There are two ways to get a panama foreign branch JDK.</p>
 <ol type="1">
 <li>Locally build “foreign” branch of panama repo <a href="http://hg.openjdk.java.net/panama/dev/" class="uri">http://hg.openjdk.java.net/panama/dev/</a></li>
 <li>Download pre-built panama “foreign” early access binaries from <a href="http://jdk.java.net/panama/" class="uri">http://jdk.java.net/panama/</a></li>

@@ -160,11 +15,11 @@
 <div class="sourceCode" id="cb1"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb1-1" data-line-number="1"></a>
 <a class="sourceLine" id="cb1-2" data-line-number="2"><span class="ex">jextract</span> -l python2.7 \</a>
 <a class="sourceLine" id="cb1-3" data-line-number="3">  -rpath /System/Library/Frameworks/Python.framework/Versions/2.7/lib \</a>
 <a class="sourceLine" id="cb1-4" data-line-number="4">  --exclude-symbols .*_FromFormatV<span class="dt">\|</span>_.*<span class="dt">\|</span>PyOS_vsnprintf<span class="dt">\|</span>.*_VaParse.*<span class="dt">\|</span>.*_VaBuild.*<span class="dt">\|</span>PyBuffer_SizeFromFormat<span class="dt">\|</span>vasprintf<span class="dt">\|</span>vfprintf<span class="dt">\|</span>vprintf<span class="dt">\|</span>vsprintf \</a>
 <a class="sourceLine" id="cb1-5" data-line-number="5">  -t org.python \</a>
-<a class="sourceLine" id="cb1-6" data-line-number="6">  /usr/include/stdio.h /usr/include/stdlib.h /usr/include/python2.7/Python.h \</a>
+<a class="sourceLine" id="cb1-6" data-line-number="6">  /usr/include/python2.7/Python.h \</a>
 <a class="sourceLine" id="cb1-7" data-line-number="7">  -o python.jar</a></code></pre></div>
 <h3 id="java-program-that-uses-extracted-python-interface">Java program that uses extracted Python interface</h3>
 <div class="sourceCode" id="cb2"><pre class="sourceCode java"><code class="sourceCode java"><a class="sourceLine" id="cb2-1" data-line-number="1"></a>
 <a class="sourceLine" id="cb2-2" data-line-number="2"><span class="co">// import java.foreign packages</span></a>
 <a class="sourceLine" id="cb2-3" data-line-number="3"><span class="kw">import</span><span class="im"> java.foreign.Libraries;</span></a>

@@ -196,11 +51,11 @@
 <div class="sourceCode" id="cb4"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb4-1" data-line-number="1"></a>
 <a class="sourceLine" id="cb4-2" data-line-number="2"><span class="ex">jextract</span> -l python2.7 \</a>
 <a class="sourceLine" id="cb4-3" data-line-number="3">  -rpath /usr/lib/python2.7/config-x86_64-linux-gnu \</a>
 <a class="sourceLine" id="cb4-4" data-line-number="4">  --exclude-symbols .*_FromFormatV<span class="dt">\|</span>_.*<span class="dt">\|</span>PyOS_vsnprintf<span class="dt">\|</span>.*_VaParse.*<span class="dt">\|</span>.*_VaBuild.*<span class="dt">\|</span>PyBuffer_SizeFromFormat<span class="dt">\|</span>vasprintf<span class="dt">\|</span>vfprintf<span class="dt">\|</span>vprintf<span class="dt">\|</span>vsprintf \</a>
 <a class="sourceLine" id="cb4-5" data-line-number="5">  -t org.python \</a>
-<a class="sourceLine" id="cb4-6" data-line-number="6">  /usr/include/stdio.h /usr/include/stdlib.h /usr/include/python2.7/Python.h \</a>
+<a class="sourceLine" id="cb4-6" data-line-number="6">  /usr/include/python2.7/Python.h \</a>
 <a class="sourceLine" id="cb4-7" data-line-number="7">  -o python.jar</a></code></pre></div>
 <h3 id="compiling-and-running-python-java-example">Compiling and Running Python Java example</h3>
 <p>Follow the instructions from the Mac OS section</p>
 <h2 id="using-blas-library">Using BLAS library</h2>
 <p>BLAS is a popular library that allows fast matrix and vector computation: <a href="http://www.netlib.org/blas/" class="uri">http://www.netlib.org/blas/</a>.</p>

@@ -484,15 +339,16 @@
 <div class="sourceCode" id="cb18"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb18-1" data-line-number="1"></a>
 <a class="sourceLine" id="cb18-2" data-line-number="2"><span class="ex">javac</span> -cp libproc.jar LibprocMain.java</a>
 <a class="sourceLine" id="cb18-3" data-line-number="3"></a>
 <a class="sourceLine" id="cb18-4" data-line-number="4"><span class="ex">java</span> -cp libproc.jar:. LibprocMain</a></code></pre></div>
 <h2 id="using-readline-library-from-java-code-mac-os">Using readline library from Java code (Mac OS)</h2>
+<h3 id="note-this-sample-fails-because-of-too-big-utf-8-string-in-nativeheader-annotation">Note: This sample fails because of too big UTF-8 String in NativeHeader annotation</h3>
 <h3 id="jextract-a-jar-file-for-readline.h">jextract a jar file for readline.h</h3>
 <div class="sourceCode" id="cb19"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb19-1" data-line-number="1"></a>
 <a class="sourceLine" id="cb19-2" data-line-number="2"><span class="ex">jextract</span> -l readline -rpath /usr/local/opt/readline/lib/ \</a>
 <a class="sourceLine" id="cb19-3" data-line-number="3">    -t org.unix \</a>
-<a class="sourceLine" id="cb19-4" data-line-number="4">    /usr/include/readline/readline.h /usr/include/_stdio.h \</a>
+<a class="sourceLine" id="cb19-4" data-line-number="4">    /usr/include/readline/readline.h \</a>
 <a class="sourceLine" id="cb19-5" data-line-number="5">    --exclude-symbol readline_echoing_p -o readline.jar</a></code></pre></div>
 <h3 id="java-code-that-uses-readline">Java code that uses readline</h3>
 <div class="sourceCode" id="cb20"><pre class="sourceCode java"><code class="sourceCode java"><a class="sourceLine" id="cb20-1" data-line-number="1"></a>
 <a class="sourceLine" id="cb20-2" data-line-number="2"><span class="kw">import</span><span class="im"> java.foreign.*;</span></a>
 <a class="sourceLine" id="cb20-3" data-line-number="3"><span class="kw">import</span><span class="im"> java.foreign.memory.*;</span></a>

@@ -782,7 +638,5 @@
 <h3 id="compiling-and-running-the-above-tensorflow-sample">Compiling and running the above TensorFlow sample</h3>
 <div class="sourceCode" id="cb33"><pre class="sourceCode sh"><code class="sourceCode bash"><a class="sourceLine" id="cb33-1" data-line-number="1"></a>
 <a class="sourceLine" id="cb33-2" data-line-number="2"><span class="ex">javac</span> -cp tf.jar TensorFlowExample.java</a>
 <a class="sourceLine" id="cb33-3" data-line-number="3"></a>
 <a class="sourceLine" id="cb33-4" data-line-number="4"><span class="ex">java</span> -cp tf.jar:. TensorFlowExample</a></code></pre></div>
-</body>
-</html>
< prev index next >