aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2009-07-03 02:48:59 +0000
committerdos-reis <gdr@axiomatics.org>2009-07-03 02:48:59 +0000
commit9cbc59b328898f7a0966be5ec1665409f6aa836f (patch)
tree04c8a44171f367c8df21487f6157fdf59b03bf7c /src
parentf28f87186f166f68374a132ef89065adb6752bc8 (diff)
downloadopen-axiom-9cbc59b328898f7a0966be5ec1665409f6aa836f.tar.gz
Support ECL-based build profiling.
* configure.ac.pamphlet: Support --enable-profiling. * config/var-def.mk (oa_yesno_to_lisp_boolean): New. (oa_enable_profiling): Likewise. (oa_enable_lisp_profiling): Likewise. src/ * lisp/Makefile.in (edit): Substitute for oa_enable_profiling. * lisp/core.lisp.in ($EnableLispProfiling): New. (compileLispFile): Use it.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog7
-rw-r--r--src/lisp/Makefile.in2
-rw-r--r--src/lisp/core.lisp.in8
3 files changed, 16 insertions, 1 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 32c09675..b2570de0 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,5 +1,12 @@
2009-07-02 Gabriel Dos Reis <gdr@cse.tamu.edu>
+ Support ECL-based build profiling.
+ * lisp/Makefile.in (edit): Substitute for oa_enable_profiling.
+ * lisp/core.lisp.in ($EnableLispProfiling): New.
+ (compileLispFile): Use it.
+
+2009-07-02 Gabriel Dos Reis <gdr@cse.tamu.edu>
+
* interp/sys-macros.lisp (COLLECTV): Use setSimpleArrayEntry, not
SETELT.
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)