Skip to content

Commit

Permalink
Integrate native build with ant
Browse files Browse the repository at this point in the history
  • Loading branch information
stellaraccident committed Jun 21, 2011
1 parent ccc6d7a commit 57dfc22
Show file tree
Hide file tree
Showing 3 changed files with 41 additions and 6 deletions.
39 changes: 37 additions & 2 deletions build.xml
@@ -1,12 +1,47 @@
<project name="mapnik_jni" default="jar">
<project name="mapnik_jni" default="all">
<target name="compile">
<mkdir dir="build/classes"/>
<mkdir dir="csrc"/>
<javac srcdir="src" destdir="build/classes" debug="on" source="1.5" target="1.5" includeantruntime="false"/>
</target>

<target name="headers" depends="compile">
<javah class="mapnik.Parameters,mapnik.Mapnik,mapnik.Map,mapnik.Layer,mapnik.FeatureTypeStyle,mapnik.Datasource,mapnik.DatasourceCache,mapnik.Projection,mapnik.Query,mapnik.FeatureSet,mapnik.Geometry" outputfile="csrc/mapnikjni.h" classpath="build/classes"/>
</target>

<target name="jar" depends="compile">
<jar jarfile="build/mapnik_jni.jar" basedir="build/classes"/>
<mkdir dir="build/dist"/>
<jar jarfile="build/dist/mapnik-jni.jar" basedir="build/classes"/>
</target>

<target name="clean">
<delete dir="build"/>
<delete dir="csrc">
<include name="*.jnilib"/>
<include name="*.so"/>
<include name="*.dll"/>
</delete>
</target>

<target name="native-init">
<condition property="platform.osx">
<os family="mac"/>
</condition>
</target>
<target name="native-osx" if="platform.osx">
<exec dir="csrc" executable="make" failonerror="true">
<arg value="-f"/>
<arg value="Makefile.osx"/>
</exec>
<mkdir dir="build/dist"/>
<copy todir="build/dist">
<fileset dir="csrc">
<include name="*.jnilib"/>
</fileset>
</copy>
</target>
<target name="native" depends="native-init,native-osx"/>

<target name="all" depends="jar,native"/>
<target name="dist" depends="clean,all"/>
</project>
6 changes: 3 additions & 3 deletions csrc/Makefile.osx
@@ -1,11 +1,11 @@
libmapnik_jni.jnilib: mapnikjni.cpp mapnikjni.h
g++ -dynamiclib -o libmapnik_jni.jnilib \
libmapnik-jni.jnilib: mapnikjni.cpp mapnikjni.h
g++ -dynamiclib -o libmapnik-jni.jnilib \
-I/usr/X11/include \
-I/usr/X11/include/freetype2 \
-I/System/Library/Frameworks/JavaVM.framework/Headers \
mapnikjni.cpp \
-lmapnik2 -framework JavaVM

clean:
rm libmapnik_jni.jnilib
rm libmapnik-jni.jnilib

2 changes: 1 addition & 1 deletion src/mapnik/Mapnik.java
Expand Up @@ -8,7 +8,7 @@ public class Mapnik {
public synchronized static void initialize() {
if (initialized) return;
try {
System.loadLibrary("mapnik_jni");
System.loadLibrary("mapnik-jni");
} finally {
nativeInit();
initialized=true;
Expand Down

0 comments on commit 57dfc22

Please sign in to comment.