mirror of
https://github.com/Mercury-Language/mercury.git
synced 2026-04-22 04:43:53 +00:00
scripts/init_grade_options.sh-subr:
scripts/mdb.in:
scripts/mercury_config.in:
scripts/mercury_update_interface.in:
scripts/mgnuc.in:
scripts/ml.in:
scripts/parse_ml_options.sh-subr.in:
Indent by four spaces, not by tabs, or by three spaces.
Use ${varname}, not just $varname.
Put successive commands on separate lines.
Indent case statements in a consistent manner: put case patterns
on their own lines; put ;;s on their own lines.
Replace the [ command with test.
Put quotes around strings that should be considered one word
even if they are empty or contain spaces.
Fix English in messages and comments.
104 lines
2.9 KiB
Bash
104 lines
2.9 KiB
Bash
#---------------------------------------------------------------------------#
|
|
# vim: ts=4 sw=4 expandtab ft=sh
|
|
#---------------------------------------------------------------------------#
|
|
# Copyright (C) 1997-2007, 2010 The University of Melbourne.
|
|
# Copyright (C) 2013-2014, 2016-2017, 2020, 2022 The Mercury team.
|
|
# This file may only be copied under the terms of the GNU General
|
|
# Public License - see the file COPYING in the Mercury distribution.
|
|
#---------------------------------------------------------------------------#
|
|
#
|
|
# init_grade_options.sh-subr:
|
|
# An `sh' subroutine for initializing grade-related options.
|
|
# Used by the `ml', `mgnuc' and `c2init' scripts.
|
|
#
|
|
# The code here should be inserted before a script's option-parsing
|
|
# loop. The invoking script must define a DEFAULT_GRADE option.
|
|
#
|
|
# IMPORTANT: any changes to the handling of grades here may also require
|
|
# changes to all the files indicated by runtime/mercury_grade.h.
|
|
#
|
|
# This file must initialize all the shell variables used by
|
|
# parse_grade_options.sh-subr, and must list all the options processed in
|
|
# parse_grade_options.sh-subr.
|
|
#
|
|
#---------------------------------------------------------------------------#
|
|
|
|
grade_usage="\
|
|
Grade options:
|
|
-s <grade>, --grade <grade>
|
|
--target {c, csharp, java}
|
|
--asm-labels
|
|
--gcc-non-local-gotos
|
|
--gcc-global-registers
|
|
-H, --high-level-code
|
|
--parallel
|
|
--gc {boehm, boehm_debug, hgc, accurate, none}
|
|
-p, --profiling
|
|
--profile-calls
|
|
--profile-time
|
|
--profile-memory
|
|
--profile-deep
|
|
--record-term-sizes-as-words
|
|
--record-term-sizes-as-cells
|
|
--use-trail
|
|
--reserve-tag
|
|
--use-minimal-model-stack-copy
|
|
--use-minimal-model-own-stacks
|
|
--minimal-model-debug
|
|
--single-prec-float
|
|
--pic-reg
|
|
--no-stack-trace
|
|
--debug
|
|
--decl-debug
|
|
--ss-debug
|
|
--c-debug-grade
|
|
--extend-stacks-when-needed
|
|
--stack-segments
|
|
--use-regions
|
|
See the documentation in the \"Invocation\" section
|
|
of the Mercury User's Guide."
|
|
|
|
# --use-regions-debug and --use-regions-profiling are not yet documented
|
|
# since they are not yet stable
|
|
|
|
target=c
|
|
highlevel_code=false
|
|
asm_labels=true
|
|
non_local_gotos=true
|
|
global_regs=true
|
|
thread_safe=false
|
|
threadscope=false
|
|
gc_method=boehm
|
|
profile_time=false
|
|
profile_calls=false
|
|
profile_memory=false
|
|
profile_deep=false
|
|
record_term_sizes_as_words=false
|
|
record_term_sizes_as_cells=false
|
|
use_trail=false
|
|
use_minimal_model_stack_copy=false
|
|
use_minimal_model_own_stacks=false
|
|
minimal_model_debug=false
|
|
pregenerated_dist=false
|
|
single_prec_float=false
|
|
debug=false
|
|
decl_debug=false
|
|
ss_debug=false
|
|
c_debug_grade=false
|
|
extend_stacks=false
|
|
stack_segments=false
|
|
use_regions=false
|
|
use_regions_debug=false
|
|
use_regions_profiling=false
|
|
|
|
case "$#" in
|
|
0)
|
|
set - --grade "${DEFAULT_GRADE}"
|
|
;;
|
|
*)
|
|
set - --grade "${DEFAULT_GRADE}" "$@"
|
|
;;
|
|
esac
|
|
|
|
#---------------------------------------------------------------------------#
|