diff options
Diffstat (limited to 'src/lisp')
-rw-r--r-- | src/lisp/Makefile.in | 2 | ||||
-rw-r--r-- | src/lisp/core.lisp.in | 8 |
2 files changed, 9 insertions, 1 deletions
diff --git a/src/lisp/Makefile.in b/src/lisp/Makefile.in index 734d114d..4933e90b 100644 --- a/src/lisp/Makefile.in +++ b/src/lisp/Makefile.in @@ -148,6 +148,7 @@ edit = sed \ -e 's|@LIBEXT[@]|$(LIBEXT)|g' \ -e 's|@oa_c_runtime_extra[@]|$(patsubst %,"%",$(oa_c_runtime_extra))|g' \ -e 's|@oa_standard_linking[@]|$(oa_standard_linking)|g' \ + -e 's|@oa_enable_profiling[@]|$(oa_enable_lisp_profiling)|g' \ -e 's|@void_type[@]|$(void_type)|g' \ -e 's|@char_type[@]|$(char_type)|g' \ -e 's|@int_type[@]|$(int_type)|g' \ @@ -156,6 +157,7 @@ edit = sed \ -e 's|@string_type[@]|$(string_type)|g' core.lisp: $(srcdir)/core.lisp.in + @echo "oa_enable_lisp_profiling= ${oa_enable_lisp_profiling}" $(edit) $< > $@.tmp $(top_srcdir)/config/move-if-change $@.tmp $@ diff --git a/src/lisp/core.lisp.in b/src/lisp/core.lisp.in index 489b1db6..cbcf1724 100644 --- a/src/lisp/core.lisp.in +++ b/src/lisp/core.lisp.in @@ -136,6 +136,9 @@ (proclaim '(optimize @axiom_optimize_options@)) +;; Enablig profiling of generated Lisp codes. +(defconstant |$EnableLispProfiling| @oa_enable_profiling@) + ;; Return true if the full OpenAxiom algebra system is completed ;; built. (defun |%algebraSystemIsComplete| nil @@ -824,7 +827,10 @@ (|startCompileDuration|) (multiple-value-bind (result warning-p failure-p) #-:ecl (compile-file file :output-file out-file) - #+:ecl (compile-file file :output-file out-file :system-p t) + #+:ecl (if |$EnableLispProfiling| + (compile-file file :output-file out-file :system-p t + :c-file t :h-file t) + (compile-file file :output-file out-file :system-p t)) #+:ecl (if (and result (not failure-p) (null (c::build-fasl (compile-file-pathname out-file) :lisp-files `(,out-file) |