[m-rev.] for review: infrastructure for libmer_ssdb

Julien Fischer juliensf at csse.unimelb.edu.au
Wed Oct 24 15:21:34 AEST 2007


On Fri, 19 Oct 2007, Peter Wang wrote:

> Estimated hours taken: 8
> Branches: main
>
> Update files as required for the addition of the new library `libmer_ssdb',
> and make the changes to add a new grade component `ssdebug'.
>
> Mmake.workspace:
> Mmakefile:
> 	Add `mer_ssdb.init', `libmer_ssdb' and `ssdb' directory to the
> 	appropriate lists.
>
> 	Order "ssdb" occurrences according to its position in the list of
> 	which libraries can call functions in which other libraries.
>
> configure.in:
> 	Check the bootstrap compiler supports the `--no-ssdb' option.
>
> browser/MDB_FLAGS.in:
> library/LIB_FLAGS.in:
> mdbcomp/MDBCOMP_FLAGS.in:
> 	Add `--no-ssdb' to break the cyclic dependencies between these
> 	libraries and `libmer_ssdb' that would be introduced if the
> 	source-to-source debugging transformation was applied these libraries.
> 	It also prevents the infinite recursion which would result from ssdb
> 	procedures calling transformed library procedures and vice versa.
>
> analysis/.mgnuc_copts:
> analysis/ANALYSIS_FLAGS.in:
> analysis/Mmakefile:
> profiler/.mgnuc_copts:
> profiler/Mmakefile:
> profiler/PROF_FLAGS.in:
> slice/.mgnuc_copts:
> slice/Mmakefile:
> slice/SLICE_FLAGS.in:
> 	Search the `ssdb' directory for files.
>
> compiler/Mmakefile:
> 	Remove the explicit `libmer_ssdb.a' from MLOBJS as it is redundant.
>
> 	Make the compiler binary depend on `libmer_ssdb'.
>
> compiler/compile_target_code.m:
> scripts/mgnuc.in:
> 	Pass "-DMR_SS_DEBUG" when compiling a C file if `--ssdb' is enabled.
>
> 	Implicitly include `mer_ssdb.init' and `libmer_ssdb' in various lists
> 	when `--ssdb' is enabled.
>
> runtime/mercury_conf_param.h:
> 	Document `MR_SS_DEBUG' preprocessor macro.
>
> compiler/handle_options.m:
> runtime/mercury_grade.h:
> scripts/canonical_grade.sh-subr:
> scripts/init_grade_options.sh-subr:
> scripts/parse_grade_options.sh-subr:
> 	Add "ssdebug" grade component.
>
> scripts/c2init.in:
> scripts/ml.in:
> 	Link in `libmer_ssdb' if `--ssdb' enabled.
>
> tools/lmc.in:
> tools/lml:
> 	Link in `libmer_ssdb' and add `mer_ssdb.init'.
>
> tools/bootcheck:
> 	Delete `ssdb' directory if `--disable-debug-libs' option enabled.
>
> tools/binary:
> tools/linear:
> 	Link `ssdb' directory.
>
> compiler/notes/overall_design.html:
> 	Mention `ssdb' directory.

The documentation in doc/user_guide.texi and the usage message 
in compiler/options.m also need to updated for the new grade
component (albeit in commented-out form for now.)

...

> Index: profiler/Mmakefile
> ===================================================================
> RCS file: /home/mercury/mercury1/repository/mercury/profiler/Mmakefile,v
> retrieving revision 1.28
> diff -u -r1.28 Mmakefile
> --- profiler/Mmakefile	20 Jul 2007 01:22:05 -0000	1.28
> +++ profiler/Mmakefile	19 Oct 2007 07:11:18 -0000
> @@ -17,6 +17,8 @@
> MAIN_TARGET=all
> MERCURY_MAIN_MODULES=mercury_profile
>
> +# VPATH = $(LIBRARY_DIR) $(SSDB_DIR)
> +

Why is that commented out?
If it's intentional add a comment giving the reason.

The rest looks fin.  Please check that all the usual suspects, e.g. 
`make install', `make tar' etc, work before committing.

Julien.
--------------------------------------------------------------------------
mercury-reviews mailing list
Post messages to:       mercury-reviews at csse.unimelb.edu.au
Administrative Queries: owner-mercury-reviews at csse.unimelb.edu.au
Subscriptions:          mercury-reviews-request at csse.unimelb.edu.au
--------------------------------------------------------------------------



More information about the reviews mailing list