diff --git a/cbits/io_tweag_sparkle_Sparkle.h b/cbits/io_tweag_sparkle_Sparkle.h
new file mode 100644
--- /dev/null
+++ b/cbits/io_tweag_sparkle_Sparkle.h
@@ -0,0 +1,31 @@
+#ifndef _Included_io_tweag_sparkle_Sparkle
+#define _Included_io_tweag_sparkle_Sparkle
+
+/* C/C++ header file for Java class io_tweag_sparkle_Sparkle */
+
+#include <jni.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/*
+ * Class:     io_tweag_sparkle_Sparkle
+ * Method:    initializeHaskellRTS
+ * Signature: ()V
+ */
+JNIEXPORT void JNICALL Java_io_tweag_sparkle_Sparkle_initializeHaskellRTS
+  (JNIEnv *, jclass);
+
+/*
+ * Class:     io_tweag_sparkle_Sparkle
+ * Method:    apply
+ * Signature: ([B[Ljava/lang/Object;)Ljava/lang/Object;
+ */
+JNIEXPORT jobject JNICALL Java_io_tweag_sparkle_Sparkle_apply
+  (JNIEnv *, jclass, jbyteArray, jobjectArray);
+
+#ifdef __cplusplus
+}
+#endif
+#endif
diff --git a/sparkle.cabal b/sparkle.cabal
--- a/sparkle.cabal
+++ b/sparkle.cabal
@@ -1,5 +1,5 @@
 name:                sparkle
-version:             0.4.0.1
+version:             0.4.0.2
 synopsis:            Distributed Apache Spark applications in Haskell
 description:         See https://www.stackage.org/package/sparkle.
 homepage:            http://github.com/tweag/sparkle#readme
@@ -12,6 +12,7 @@
 build-type:          Custom
 cabal-version:       >=1.10
 extra-source-files:
+  cbits/io_tweag_sparkle_Sparkle.h
   src/main/java/io/tweag/sparkle/Sparkle.java
   src/main/java/io/tweag/sparkle/SparkMain.java
   src/main/java/io/tweag/sparkle/function/HaskellVoidFunction.java
