removed C99 style
[libfirm] / ir / be / bejavacoal.c
index d1a17e3..3ef97db 100644 (file)
 #include <stdio.h>
 
 #include "bejavacoal.h"
+#include "irtools.h"
+#include "bemodule.h"
+
+#ifdef WITH_JVM
 
 /* Path to the jar file. A little OS dependent convenience. */
 #ifdef _WIN32
@@ -30,7 +34,7 @@ static char jar_file[512] = "/ben/hack/public/coal.jar";
 
 static char cls_name[256] = "coalescing/mst/safe/Algo";
 
-/* Name of teh JVM dll/so */
+/* Name of the JVM dll/so */
 static char jvm_lib[512] = { 0 };
 
 #ifdef WITH_LIBCORE
@@ -41,14 +45,18 @@ static const lc_opt_table_entry_t options[] = {
        { NULL }
 };
 
-void be_java_coal_register_options(lc_opt_entry_t *grp)
+void be_init_javacoal(void)
 {
-       lc_opt_entry_t *jc_grp = lc_opt_get_grp(grp, "jc");
+       lc_opt_entry_t *be_grp = lc_opt_get_grp(firm_opt_get_root(), "be");
+       lc_opt_entry_t *ra_grp = lc_opt_get_grp(be_grp, "ra");
+       lc_opt_entry_t *chordal_grp = lc_opt_get_grp(ra_grp, "chordal");
+       lc_opt_entry_t *jc_grp = lc_opt_get_grp(chordal_grp, "jc");
        lc_opt_add_table(jc_grp, options);
 }
-#endif
 
-#ifdef WITH_JVM
+BE_REGISTER_MODULE_CONSTRUCTOR(be_init_javacoal);
+#endif /* WITH_LIBCORE */
+
 #include <jni.h>
 
 typedef struct _jni_env_t {
@@ -205,6 +213,7 @@ static jni_env_t *get_jvm(void)
        return &env;
 }
 
+
 static void check(jni_env_t *env, const char *file, int line)
 {
        JNIEnv *jni = env->jni;
@@ -397,6 +406,11 @@ int be_java_coal_get_color(be_java_coal_t *c, int n)
        return jc_call_int(c, mth_get_color, (jint) n);
 }
 
+void be_java_coal_start_jvm(void)
+{
+       get_jvm();
+}
+
 #else
 
 be_java_coal_t *be_java_coal_init(const char *graph_name, int n_nodes, int n_regs, int dbg_level)
@@ -452,5 +466,8 @@ int be_java_coal_get_color(be_java_coal_t *c, int n)
        return -1;
 }
 
+void be_java_coal_start_jvm(void)
+{
+}
 
 #endif /* WITH_JVM */