DEADSOFTWARE

implement Kernel.Call for CPfront using libffi
[cpc.git] / make.sh
diff --git a/make.sh b/make.sh
index 7626314d428cf63578604ff7a2ee95b0c1684815..af287d95d50bba19ba9f130fcf00ad95ee7fd416 100755 (executable)
--- a/make.sh
+++ b/make.sh
@@ -118,7 +118,7 @@ cpfront_link() {
     done
     local _cc_cflags=
     case "$CC" in
-      *gcc)  _cc_cflags="-Wno-int-conversion -Wno-int-to-pointer-cast -Wno-incompatible-pointer-types -Wno-implicit-function-declaration" ;;
+      *gcc)  _cc_cflags="-g -Wno-int-conversion -Wno-int-to-pointer-cast -Wno-incompatible-pointer-types -Wno-implicit-function-declaration" ;;
       *)  _cc_cflags="" ;;
     esac
     local _cpu_cflags=
@@ -132,7 +132,7 @@ cpfront_link() {
       cygwin)  _system_cflags="-liconv" ;;
       *)  _system_cflags="" ;;
     esac
-    "$CC" $_cc_cflags $_cpu_cflags $CFLAGS -o "${_main}" -I "$_this/C" "$_this/C/SYSTEM.c" $_list -lm -ldl $_system_cflags
+    "$CC" $_cc_cflags $_cpu_cflags $CFLAGS -o "${_main}" -I "$_this/C" "$_this/C/SYSTEM.c" $_list -lm -ldl -lffi $_system_cflags
   fi
 }
 
@@ -167,6 +167,9 @@ compile_all() {
       Posix/Mod/Cdlfcn.cp Posix/Mod/Csignal.cp Posix/Mod/Csetjmp.cp \
       Posix/Mod/Clibgen.cp \
       Posix/Mod/Cmacro.cp
+    if [ "$_target" = "cpfront" ]; then
+      compile Lib/Mod/FFI.cp
+    fi
   fi
 
   ###^^^^^^^^^^^^^^^^^^^^^^^^^^^^###