#-----------------------------------------------------------------------------# # Copyright (C) 2002-2006 University of Melbourne. # This file may only be copied under the terms of the GNU General # Public License - see the file COPYING in the Mercury distribution. #-----------------------------------------------------------------------------# # Mercury.options - module-specific flags for Mmake and `mmc --make'. #-----------------------------------------------------------------------------# # llds_out.m contains some sanity checking code that is usually turned off. # However, the cost of checking whether they turned off exceeds the cost of # performing them unless inlining is enabled. MCFLAGS-ll_backend.llds_out = --inlining # Several predicates in quantification.m contain an argument which is needed # only to select the right mode. We want to make sure that we don't take up # code space or execution time to pass these arguments. MCFLAGS-hlds.quantification = --optimize-unused-args # process_util.m uses `kill' and `struct sigaction' from , # which are not available with `--ansi'. MGNUCFLAGS-libs.process_util = --no-ansi # If intermodule optimization is enabled, we also need to use `--no-ansi' # for the following modules, because they import process_util. MGNUCFLAGS-make.module_dep_file = --no-ansi MGNUCFLAGS-make.module_target = --no-ansi MGNUCFLAGS-make.program_target = --no-ansi MCFLAGS-libs.process_util = --no-ansi-c MCFLAGS-make.module_dep_file = --no-ansi-c MCFLAGS-make.module_target = --no-ansi-c MCFLAGS-make.program_target = --no-ansi-c # Bug workarounds # This is the same bug as tests/valid/ho_and_type_spec_bug MCFLAGS-mode_robdd.tfeirn = -O3 MCFLAGS-mode_robdd.implications = -O0 # The c_code in the module gcc.m needs the header files from the GNU C # distribution. Note that we need to compile these with # -DMR_NO_BACKWARDS_COMPAT, because otherwise there are name # conflicts with symbols defined in the GCC headers. CFLAGS-gcc = -DMR_NO_BACKWARDS_COMPAT \ -DIN_GCC -DHAVE_CONFIG_H \ -I. \ -I$(GCC_SRC_DIR)/gcc \ -I$(GCC_SRC_DIR)/gcc/mercury \ -I$(GCC_SRC_DIR)/gcc/config \ -I$(GCC_SRC_DIR)/include \ -I$(GCC_SRC_DIR) # Likewise for mlds_to_gcc.m CFLAGS-mlds_to_gcc = $(CFLAGS-gcc)