Permalink
Browse files

Including windows support

  • Loading branch information...
1 parent f9cc03f commit 195778e0e990f7de736d3cc55635518d1876b4f5 @chirino chirino committed Aug 23, 2012
View
@@ -62,6 +62,16 @@
<artifactId>leveldbjni-linux64</artifactId>
<version>99-master-SNAPSHOT</version>
</dependency>
+ <dependency>
+ <groupId>org.fusesource.leveldbjni</groupId>
+ <artifactId>leveldbjni-win32</artifactId>
+ <version>99-master-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.fusesource.leveldbjni</groupId>
+ <artifactId>leveldbjni-win64</artifactId>
+ <version>99-master-SNAPSHOT</version>
+ </dependency>
</dependencies>
View
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (C) 2011, FuseSource Corp. All rights reserved.
+
+ http://fusesource.com
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are
+ met:
+
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above
+ copyright notice, this list of conditions and the following disclaimer
+ in the documentation and/or other materials provided with the
+ distribution.
+ * Neither the name of FuseSource Corp. nor the names of its
+ contributors may be used to endorse or promote products derived from
+ this software without specific prior written permission.
+
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.fusesource.leveldbjni</groupId>
+ <artifactId>leveldbjni-project</artifactId>
+ <version>99-master-SNAPSHOT</version>
+ </parent>
+
+ <groupId>org.fusesource.leveldbjni</groupId>
+ <artifactId>leveldbjni-win32</artifactId>
+ <version>99-master-SNAPSHOT</version>
+
+ <name>${project.artifactId}</name>
+ <description>The leveldbjni Windows 32 bit native libraries</description>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.fusesource.leveldbjni</groupId>
+ <artifactId>leveldbjni</artifactId>
+ <version>99-master-SNAPSHOT</version>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <testSourceDirectory>${basedir}/../leveldbjni/src/test/java</testSourceDirectory>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>2.3.1</version>
+ <configuration>
+ <classesDirectory>${basedir}/target/generated-sources/hawtjni/lib</classesDirectory>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.fusesource.hawtjni</groupId>
+ <artifactId>maven-hawtjni-plugin</artifactId>
+ <version>${hawtjni-version}</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>build</goal>
+ </goals>
+ <phase>compile</phase>
+ </execution>
+ </executions>
+ <configuration>
+ <name>leveldbjni</name>
+ <classified>false</classified>
+ <nativeSrcDependency>
+ <groupId>org.fusesource.leveldbjni</groupId>
+ <artifactId>leveldbjni</artifactId>
+ <version>${project.version}</version>
+ <classifier>native-src</classifier>
+ <type>zip</type>
+ </nativeSrcDependency>
+ <packageDirectory>${basedir}/../leveldbjni/target/generated-sources/hawtjni/native-package</packageDirectory>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
View
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (C) 2011, FuseSource Corp. All rights reserved.
+
+ http://fusesource.com
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are
+ met:
+
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above
+ copyright notice, this list of conditions and the following disclaimer
+ in the documentation and/or other materials provided with the
+ distribution.
+ * Neither the name of FuseSource Corp. nor the names of its
+ contributors may be used to endorse or promote products derived from
+ this software without specific prior written permission.
+
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.fusesource.leveldbjni</groupId>
+ <artifactId>leveldbjni-project</artifactId>
+ <version>99-master-SNAPSHOT</version>
+ </parent>
+
+ <groupId>org.fusesource.leveldbjni</groupId>
+ <artifactId>leveldbjni-win64</artifactId>
+ <version>99-master-SNAPSHOT</version>
+
+ <name>${project.artifactId}</name>
+ <description>The leveldbjni Windows 64 bit native libraries</description>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.fusesource.leveldbjni</groupId>
+ <artifactId>leveldbjni</artifactId>
+ <version>99-master-SNAPSHOT</version>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <testSourceDirectory>${basedir}/../leveldbjni/src/test/java</testSourceDirectory>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>2.3.1</version>
+ <configuration>
+ <classesDirectory>${basedir}/target/generated-sources/hawtjni/lib</classesDirectory>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.fusesource.hawtjni</groupId>
+ <artifactId>maven-hawtjni-plugin</artifactId>
+ <version>${hawtjni-version}</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>build</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <name>leveldbjni</name>
+ <classified>false</classified>
+ <nativeSrcDependency>
+ <groupId>org.fusesource.leveldbjni</groupId>
+ <artifactId>leveldbjni</artifactId>
+ <version>${project.version}</version>
+ <classifier>native-src</classifier>
+ <type>zip</type>
+ </nativeSrcDependency>
+ <packageDirectory>${basedir}/../leveldbjni/target/generated-sources/hawtjni/native-package</packageDirectory>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
View
@@ -47,6 +47,10 @@
<name>${project.artifactId}</name>
<description>leveldbjni is a jni library for acessing leveldb.</description>
+ <properties>
+ <skipAutogen>false</skipAutogen>
+ </properties>
+
<dependencies>
<dependency>
<groupId>org.fusesource.hawtjni</groupId>
@@ -97,6 +101,7 @@
</execution>
</executions>
<configuration>
+ <skipAutogen>${skipAutogen}</skipAutogen>
<name>leveldbjni</name>
<callbacks>false</callbacks>
<copyright><![CDATA[
@@ -55,7 +55,7 @@
NativeDB.LIBRARY.load();
}
- @JniMethod()
+ @JniMethod(conditional="!defined(_WIN32) && !defined(_WIN64)")
static final native int link(
@JniArg(cast="const char*") String source,
@JniArg(cast="const char*") String target);
@@ -32,5 +32,5 @@
#include "leveldbjni.h"
void buffer_copy(const void *source, size_t source_pos, void *dest, size_t dest_pos, size_t length) {
- memmove(dest+dest_pos, source+source_pos, length);
+ memmove(((char *)dest)+dest_pos, ((const char *)source)+source_pos, length);
}
Oops, something went wrong.

0 comments on commit 195778e

Please sign in to comment.