diff options
author | dos-reis <gdr@axiomatics.org> | 2008-03-16 16:22:14 +0000 |
---|---|---|
committer | dos-reis <gdr@axiomatics.org> | 2008-03-16 16:22:14 +0000 |
commit | cd820d07248dcce1106cbcd5e18bd4831b570f76 (patch) | |
tree | 04b8f733cf1bd764ce7123cb97b36407c2e5500f /configure.ac.pamphlet | |
parent | 48272db136adb7a6a2b36204d03f12760cc7aa40 (diff) | |
download | open-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.pamphlet | 38 |
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" @ |