aboutsummaryrefslogtreecommitdiff
path: root/configure.ac.pamphlet
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2008-03-16 16:22:14 +0000
committerdos-reis <gdr@axiomatics.org>2008-03-16 16:22:14 +0000
commitcd820d07248dcce1106cbcd5e18bd4831b570f76 (patch)
tree04b8f733cf1bd764ce7123cb97b36407c2e5500f /configure.ac.pamphlet
parent48272db136adb7a6a2b36204d03f12760cc7aa40 (diff)
downloadopen-axiom-cd820d07248dcce1106cbcd5e18bd4831b570f76.tar.gz
* lisp/Makefile.in (void_type): New.
(char_type): Likewise. (int_type): Likewise. (float_type): Likewise. (double_type): Likewise. (string_type): Likewise. (pointer_type): Likewise. (edit): Use them. * interp/wi1.boot (ppFull): Tidy. Don't set *PRINT-DEPTH*. * interp/vmlisp.lisp (gcmsg): Define when SBCL. * interp/template.boot (measureCommon): Fix thinko. * interp/sys-utility.boot: Move basic type definition from g-util.boot to here. * interp/g-util.boot (augProplistOf): Fix signature declaration. * interp/daase.lisp: Tidy. * interp/c-util.boot (displayComp): Remove assignment to $X,$M,$F. * interp/boot-pkg.lisp: Tidy. * interp/axext_l.lisp: Likewise. * interp/Makefile.pamphlet (makeint.lisp): Call GBC only when GCL. ($(axiom_targetdir)/algebra/exposed.$(FASLEXT)): Tidy. (patches.$(FASLEXT)): Require debug.$(FASLEXT), g-timer.$(FASLEXT). (wi2.$(FASLEXT)): Require define.$(FASLEXT). (spad.$(FASLEXT)): Require postpar.$(FASLEXT), debug.$(FASLEXT). * boot/translator.boot (genImportDeclaration): Include translation for SBCL. * boot/parser.boot (bpMapping): Tidy. * boot/ast.boot (coreSymbol): New. (bootSymbol): Likewise. (bootSymbol): Likewise. * lisp/core.lisp.in (|$NativeTypeTable|): New. Export. * algebra/Makefile.pamphlet (COMPILE_LISP): Use $(INTERPSYS). * algebra/exposed.lsp.pamphlet: Tidy.
Diffstat (limited to 'configure.ac.pamphlet')
-rw-r--r--configure.ac.pamphlet38
1 files changed, 38 insertions, 0 deletions
diff --git a/configure.ac.pamphlet b/configure.ac.pamphlet
index 282c9383..d0498d1c 100644
--- a/configure.ac.pamphlet
+++ b/configure.ac.pamphlet
@@ -950,6 +950,43 @@ fi
AC_SUBST(axiom_fasl_type)
@
+\paragraph{Native data types}
+OpenAxiom needs to communicate to the hosting operation systems
+through a set of C interface. Consequently we need an automated
+translation mechanism that shields Boot code from the variability
+of Lisp systems for so-called `foreign function interface'. Here,
+we compute a translation table for supported Lisp systems. This table
+is used by the Boot translator for generating codes for import of
+native routines.
+<<nativeTypeTable>>=
+void_type='void'
+char_type='char'
+int_type='int'
+float_type='float'
+double_type='double'
+string_type='string'
+pointer_type='object'
+case $axiom_lisp_flavor in
+ gcl)
+ ;;
+ sbcl)
+ string_type='c-string'
+ pointer_type='system-area-pointer'
+ ;;
+ *)
+ AC_MSG_ERROR([We do not know how to translate native types for this Lisp])
+ ;;
+esac
+AC_SUBST(void_type)
+AC_SUBST(char_type)
+AC_SUBST(int_type)
+AC_SUBST(float_type)
+AC_SUBST(double_type)
+AC_SUBST(string_type)
+AC_SUBST(pointer_type)
+
+@
+
\section{Configuration options}
\label{sec:config-options}
@@ -1201,6 +1238,7 @@ AC_SUBST(axiom_c_runtime)
<<C headers and libraries>>
<<platform specific bits>>
+<<nativeTypeTable>>
<<instantiate config files>>
echo "Type '${MAKE}' (without quotes) to build OpenAxiom"
@