about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--premake5.lua9
-rw-r--r--scripts/gen_version_info.cmd16
-rwxr-xr-xscripts/gen_version_info.sh14
-rw-r--r--src/gemma.cpp3
-rw-r--r--src/guile_api.cpp9
-rw-r--r--src/guile_api.h9
-rw-r--r--src/main.cpp4
-rw-r--r--src/version.h5
8 files changed, 30 insertions, 39 deletions
diff --git a/premake5.lua b/premake5.lua
index c5cf597..40aaa01 100644
--- a/premake5.lua
+++ b/premake5.lua
@@ -4,7 +4,7 @@
 --
 -- Including bin
 --
---   premake5 gmake2 && make verbose=1 config=debug
+--   premake5 gmake2 && make verbose=1 config=debug -j 8 && LD_LIBRARY_PATH=$GUIX_ENVIRONMENT/lib ./build/bin/Debug/gemma
 --
 -- Or
 --
@@ -12,7 +12,7 @@
 --
 -- Run
 --
---   LD_LIBRARY_PATH=$GUIX_ENVIRONMENT/lib ./build/bin/Debug/PanGemma
+--   LD_LIBRARY_PATH=$GUIX_ENVIRONMENT/lib ./build/bin/Debug/gemma
 --
 -- Next we start using the API from guile with
 --
@@ -43,8 +43,6 @@ workspace "PanGemma"
       defines { "NDEBUG" }
       optimize "On"
 
-
-
 project "gemma"
    kind "ConsoleApp"
    defines { "OPENBLAS" }
@@ -52,10 +50,11 @@ project "gemma"
    objdir "build/"
    targetdir "build/bin/%{cfg.buildcfg}"
 
+   includedirs { os.getenv("GUIX_ENVIRONMENT") .. "/include/guile/3.0" }
    files { "src/*.h src/*.c src/**.hpp", "src/**.cpp" }
    removefiles { "src/gemma_api.cpp" }
    includedirs { "src/" }
-   links { "gsl", "z", "openblas" }
+   links { "gsl", "z", "openblas", "guile-3.0" }
 
    filter "configurations:Debug"
       defines { "DEBUG" }
diff --git a/scripts/gen_version_info.cmd b/scripts/gen_version_info.cmd
deleted file mode 100644
index d824687..0000000
--- a/scripts/gen_version_info.cmd
+++ /dev/null
@@ -1,16 +0,0 @@
-@echo off
-rem https://stackoverflow.com/questions/3472631/how-do-i-get-the-day-month-and-year-from-a-windows-cmd-exe-script
-FOR /F "skip=1 tokens=1-6" %%A IN ('WMIC Path Win32_LocalTime Get Day^,Hour^,Minute^,Month^,Second^,Year /Format:table') DO (
-    if "%%B" NEQ "" (
-        SET /A FDATE=%%F*10000+%%D*100+%%A
-    )
-)
-set year=%FDATE:~0,4%
-set /p version=<VERSION
-
-echo // version.h generated by GEMMA
-rem https://stackoverflow.com/questions/7105433/windows-batch-echo-without-new-line
-echo|set /p="#define GEMMA_VERSION ""
-echo %version%"
-echo #define GEMMA_DATE "%FDATE:~0,8%"
-echo #define GEMMA_YEAR "%year%"
diff --git a/scripts/gen_version_info.sh b/scripts/gen_version_info.sh
deleted file mode 100755
index 9be81c6..0000000
--- a/scripts/gen_version_info.sh
+++ /dev/null
@@ -1,14 +0,0 @@
-#! /bin/bash
-#
-# Script to generate the version info of GEMMA and its environment
-# in ./src/version.h
-
-DATE=$(date "+%Y-%m-%d")
-YEAR=$(date "+%Y")
-PROFILE=$1
-
-echo // version.h generated by GEMMA $0
-echo \#define GEMMA_VERSION \"$(cat ./VERSION)\"
-echo \#define GEMMA_DATE \"$DATE\"
-echo \#define GEMMA_YEAR \"$YEAR\"
-echo \#define GEMMA_PROFILE \"$PROFILE\"
diff --git a/src/gemma.cpp b/src/gemma.cpp
index 63f952e..d2281ae 100644
--- a/src/gemma.cpp
+++ b/src/gemma.cpp
@@ -62,6 +62,7 @@ extern "C" {
 #include "vc.h"
 #include "debug.h"
 #include "version.h"
+#include <guile_api.h>
 
 using namespace std;
 
@@ -84,7 +85,7 @@ void gemma_gsl_error_handler (const char * reason,
 void GEMMA::PrintHeader(void) {
 
   cout <<
-    "Pangemma --- GEMMA 0.98.5 compatible executable " << version << " (" << date << ") by Xiang Zhou, Pjotr Prins and team (C) 2012-" << year << endl;
+      "Pangemma --- GEMMA 0.98.5 compatible executable " << version << " (" << date << ") with guile " << global_guile_version() << " by Xiang Zhou, Pjotr Prins and team (C) 2012-" << year << endl ;
   return;
 }
 
diff --git a/src/guile_api.cpp b/src/guile_api.cpp
new file mode 100644
index 0000000..0c809bd
--- /dev/null
+++ b/src/guile_api.cpp
@@ -0,0 +1,9 @@
+#include <guile_api.h>
+
+void global_start_guile() {
+    scm_init_guile();
+}
+
+string global_guile_version() {
+    return string("3.0");
+}
diff --git a/src/guile_api.h b/src/guile_api.h
new file mode 100644
index 0000000..1244b11
--- /dev/null
+++ b/src/guile_api.h
@@ -0,0 +1,9 @@
+#pragma once
+
+#include <string>
+#include <libguile.h>
+
+using namespace std;
+
+void global_start_guile();
+string global_guile_version();
diff --git a/src/main.cpp b/src/main.cpp
index deadc63..95c8fd3 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -22,6 +22,7 @@
 #include <sstream>
 #include <sys/stat.h>
 #include <sys/types.h>
+#include <guile_api.h>
 
 using namespace std;
 
@@ -31,6 +32,9 @@ int main(int argc, char *argv[]) {
 
   gsl_set_error_handler (&gemma_gsl_error_handler);
 
+  global_start_guile();
+
+
   if (argc <= 1) {
     cGemma.PrintHeader();
     cGemma.PrintHelp(0);
diff --git a/src/version.h b/src/version.h
index 3382003..02d4c09 100644
--- a/src/version.h
+++ b/src/version.h
@@ -1,5 +1,4 @@
 // version.h generated by GEMMA scripts/gen_version_info.sh
-#define GEMMA_VERSION "0.0.1"
-#define GEMMA_DATE "2025-01-04"
+#define GEMMA_VERSION "1.0.0"
+#define GEMMA_DATE "2025-11-22"
 #define GEMMA_YEAR "2025"
-#define GEMMA_PROFILE "/gnu/store/ln160n2kzn791jwgv36yrxlxygjwl9hh-profile"