mirror of
https://github.com/Mercury-Language/mercury.git
synced 2025-12-17 14:57:03 +00:00
For picreg, this is only the first half of the change; it deletes code
that generates references to this grade component. When this diff has been
installed on all our machines, will come the second half, which will delete
the code that understands references to picreg. The delay is needed because
your current installed compiler is still generating such references.
runtime/mercury_grade.h:
Remove both regparm and picreg as grade components.
doc/user_guide.texi:
Remove the (commented out) documentation of picreg; regparm had
no documentation to delete.
runtime/mercury_std.h:
Remove the small bit of code that implemented regparm.
runtime/mercury_conf_param.h:
Don't define MR_PIC_REG.
runtime/machdeps/i386_regs.h:
runtime/mercury_conf_bootstrap.h:
Remove references to picreg.
scripts/canonical_grade.sh-subr:
scripts/init_grade_options.sh-subr:
scripts/mgnuc.in:
scripts/parse_grade_options.sh-subr:
Keep in place the code that accepts picreg grade components,
but make them do nothing. Mark such do-nothing code so that
it can be deleted when this first-half diff has been bootstrapped.
configure.ac:
Delete the autoconfigured variable EXT_FOR_LINK_WITH_PIC_OBJECTS,
which could be set to either 'lpic_o' or just 'o', because it is now
*always* the latter.
scripts/Mercury.config.bootstrap.in:
scripts/Mercury.config.in:
Remove code that transmitted the value of EXT_FOR_LINK_WITH_PIC_OBJECTS
to the compiler via the --link-with-pic-object-file-extension option.
compiler/options.m:
Keep the --link-with-pic-object-file-extension and --pic-reg options,
but mark them for deletion in the second half of this change.
compiler/compile_target_code.m:
Change the code that dealt with the value of the
--link-with-pic-object-file-extension and --pic-reg options to assume
that the former is always the same as the non-pic file extension,
and that --pic-reg is never needed. The former means that we don't need
to handle link_with_pic as a separate category of object files from
just plain non_pic.
compiler/compute_grade.m:
Keep accepting picreg grades, but mark the code that does this
for deletion.
compiler/make.program_target.m:
compiler/make.module_target.m:
compiler/make.program_target.m:
compiler/make.util.m:
Conform to the changes above.
291 lines
5.7 KiB
C
291 lines
5.7 KiB
C
/*
|
|
** Copyright (C) 2002-2003 The University of Melbourne.
|
|
** This file may only be copied under the terms of the GNU Library General
|
|
** Public License - see the file COPYING.LIB in the Mercury distribution.
|
|
*/
|
|
|
|
/*
|
|
** mercury_conf_bootstrap.h
|
|
**
|
|
** Backwards compatibility definitions for auto-configured macros.
|
|
** All of the definitions here will go away eventually, so don't use them!
|
|
*/
|
|
|
|
#ifndef MERCURY_CONF_BOOTSTRAP_H
|
|
#define MERCURY_CONF_BOOTSTRAP_H
|
|
|
|
#if !defined(MR_NO_CONF_BACKWARDS_COMPAT) && !defined(MR_NO_BACKWARDS_COMPAT)
|
|
|
|
/*
|
|
** Header files.
|
|
*/
|
|
#ifdef MR_HAVE_SYS_SIGINFO_H
|
|
#define HAVE_SYS_SIGINFO 1
|
|
#endif
|
|
#ifdef MR_HAVE_SYS_SIGNAL_H
|
|
#define HAVE_SYS_SIGNAL 1
|
|
#endif
|
|
#ifdef MR_HAVE_UCONTEXT_H
|
|
#define HAVE_UCONTEXT 1
|
|
#endif
|
|
#ifdef MR_HAVE_SYS_UCONTEXT_H
|
|
#define HAVE_SYS_UCONTEXT 1
|
|
#endif
|
|
#ifdef MR_HAVE_ASM_SIGCONTEXT_H
|
|
#define HAVE_ASM_SIGCONTEXT 1
|
|
#endif
|
|
#ifdef MR_HAVE_SYS_TIME_H
|
|
#define HAVE_SYS_TIME 1
|
|
#endif
|
|
#ifdef MR_HAVE_UNISTD_H
|
|
#define HAVE_UNISTD_H 1
|
|
#endif
|
|
#ifdef MR_HAVE_SYS_PARAM_H
|
|
#define HAVE_SYS_PARAM 1
|
|
#endif
|
|
#ifdef MR_HAVE_SYS_WAIT_H
|
|
#define HAVE_SYS_WAIT 1
|
|
#endif
|
|
#ifdef MR_HAVE_SYS_STAT_H
|
|
#define HAVE_SYS_STAT_H 1
|
|
#endif
|
|
#ifdef MR_HAVE_SYS_TIMES_H
|
|
#define HAVE_SYS_TIMES_H 1
|
|
#endif
|
|
#ifdef MR_HAVE_SYS_TYPES_H
|
|
#define HAVE_SYS_TYPES_H 1
|
|
#endif
|
|
#ifdef MR_HAVE_DLFCN_H
|
|
#define HAVE_DLFCN_H 1
|
|
#endif
|
|
#ifdef MR_HAVE_FCNTL_H
|
|
#define HAVE_FCNTL_H 1
|
|
#endif
|
|
#ifdef MR_HAVE_TERMIOS_H
|
|
#define HAVE_TERMIOS_H 1
|
|
#endif
|
|
#ifdef MR_HAVE_SYS_IOCTL_H
|
|
#define HAVE_SYS_IOCTL_H 1
|
|
#endif
|
|
#ifdef MR_HAVE_SYS_STROPTS_H
|
|
#define HAVE_SYS_STROPTS_H 1
|
|
#endif
|
|
#ifdef MR_HAVE_READLINE_READLINE_H
|
|
#define HAVE_READLINE_READLINE 1
|
|
#endif
|
|
#ifdef MR_HAVE_READLINE_HISTORY_H
|
|
#define HAVE_READLINE_HISTORY 1
|
|
#endif
|
|
|
|
/*
|
|
** Library functions.
|
|
*/
|
|
#ifdef MR_HAVE_GETPID
|
|
#define HAVE_GETPID 1
|
|
#endif
|
|
#ifdef MR_HAVE_SETPGID
|
|
#define HAVE_SETPGID 1
|
|
#endif
|
|
#ifdef MR_HAVE_FORK
|
|
#define HAVE_FORK 1
|
|
#endif
|
|
#ifdef MR_HAVE_EXECLP
|
|
#define HAVE_EXECLP 1
|
|
#endif
|
|
#ifdef MR_HAVE_WAIT
|
|
#define HAVE_WAIT 1
|
|
#endif
|
|
#ifdef MR_HAVE_KILL
|
|
#define HAVE_KILL 1
|
|
#endif
|
|
#ifdef MR_HAVE_GETHOSTNAME
|
|
#define HAVE_GETHOSTNAME 1
|
|
#endif
|
|
#ifdef MR_HAVE_SNPRINTF
|
|
#define HAVE_SNPRINTF 1
|
|
#endif
|
|
#ifdef MR_HAVE_VSNPRINTF
|
|
#define HAVE_VSNPRINTF 1
|
|
#endif
|
|
#ifdef MR_HAVE__VSNPRINTF
|
|
#define HAVE__VSNPRINTF 1
|
|
#endif
|
|
#ifdef MR_HAVE_SYSCONF
|
|
#define HAVE_SYSCONF 1
|
|
#endif
|
|
#ifdef MR_HAVE_SIGACTION
|
|
#define HAVE_SIGACTION 1
|
|
#endif
|
|
#ifdef MR_HAVE_GETPAGESIZE
|
|
#define HAVE_GETPAGESIZE 1
|
|
#endif
|
|
#ifdef MR_HAVE_MEMALIGN
|
|
#define HAVE_MEMALIGN 1
|
|
#endif
|
|
#ifdef MR_HAVE_MPROTECT
|
|
#define HAVE_MPROTECT 1
|
|
#endif
|
|
#ifdef MR_HAVE_STRERROR
|
|
#define HAVE_STRERROR 1
|
|
#endif
|
|
#ifdef MR_HAVE_SETITIMER
|
|
#define HAVE_SETITIMER 1
|
|
#endif
|
|
#ifdef MR_HAVE_MEMMOVE
|
|
#define HAVE_MEMMOVE 1
|
|
#endif
|
|
#ifdef MR_HAVE_DLOPEN
|
|
#define HAVE_DLOPEN 1
|
|
#endif
|
|
#ifdef MR_HAVE_DLCLOSE
|
|
#define HAVE_DLCLOSE 1
|
|
#endif
|
|
#ifdef MR_HAVE_DLSYM
|
|
#define HAVE_DLSYM 1
|
|
#endif
|
|
#ifdef MR_HAVE_DLERROR
|
|
#define HAVE_DLERROR 1
|
|
#endif
|
|
#ifdef MR_HAVE_STAT
|
|
#define HAVE_STAT 1
|
|
#endif
|
|
#ifdef MR_HAVE_FSTAT
|
|
#define HAVE_FSTAT 1
|
|
#endif
|
|
#ifdef MR_HAVE_FDOPEN
|
|
#define HAVE_FDOPEN 1
|
|
#endif
|
|
#ifdef MR_HAVE_OPEN
|
|
#define HAVE_OPEN 1
|
|
#endif
|
|
#ifdef MR_HAVE_CLOSE
|
|
#define HAVE_CLOSE 1
|
|
#endif
|
|
#ifdef MR_HAVE_DUP
|
|
#define HAVE_DUP 1
|
|
#endif
|
|
#ifdef MR_HAVE_DUP2
|
|
#define HAVE_DUP2 1
|
|
#endif
|
|
#ifdef MR_HAVE_FILENO
|
|
#define HAVE_FILENO 1
|
|
#endif
|
|
#ifdef MR_HAVE_ISATTY
|
|
#define HAVE_ISATTY 1
|
|
#endif
|
|
#ifdef MR_HAVE_GRANTPT
|
|
#define HAVE_GRANTPT 1
|
|
#endif
|
|
#ifdef MR_HAVE_UNLOCKPT
|
|
#define HAVE_UNLOCKPT 1
|
|
#endif
|
|
#ifdef MR_HAVE_PTSNAME
|
|
#define HAVE_PTSNAME 1
|
|
#endif
|
|
#ifdef MR_HAVE_TCGETATTR
|
|
#define HAVE_TCGETATTR 1
|
|
#endif
|
|
#ifdef MR_HAVE_TCSETATTR
|
|
#define HAVE_TCSETATTR 1
|
|
#endif
|
|
#ifdef MR_HAVE_IOCTL
|
|
#define HAVE_IOCTL 1
|
|
#endif
|
|
|
|
/*
|
|
** Command-line parameters
|
|
*/
|
|
#ifdef MR_USE_GCC_GLOBAL_REGISTERS
|
|
#define USE_GCC_GLOBAL_REGISTERS 1
|
|
#endif
|
|
#ifdef MR_USE_GCC_NONLOCAL_GOTOS
|
|
#define USE_GCC_NONLOCAL_GOTOS 1
|
|
#endif
|
|
#ifdef MR_USE_ASM_LABELS
|
|
#define USE_ASM_LABELS 1
|
|
#endif
|
|
#ifdef MR_CONSERVATIVE_GC
|
|
#define CONSERVATIVE_GC 1
|
|
#endif
|
|
#ifdef MR_NATIVE_GC
|
|
#define NATIVE_GC 1
|
|
#endif
|
|
#ifdef MR_NO_TYPE_LAYOUT
|
|
#define NO_TYPE_LAYOUT 1
|
|
#endif
|
|
#ifdef MR_BOXED_FLOAT
|
|
#define BOXED_FLOAT 1
|
|
#endif
|
|
#ifdef MR_USE_SINGLE_PREC_FLOAT
|
|
#define USE_SINGLE_PREC_FLOAT 1
|
|
#endif
|
|
#ifdef MR_SPLIT_C_FILES
|
|
#define SPLIT_C_FILES 1
|
|
#endif
|
|
#ifdef MR_INLINE_ALLOC
|
|
#define INLINE_ALLOC 1
|
|
#endif
|
|
/*
|
|
** We don't do this for PIC/MR_PIC because MR_PIC can be defined by
|
|
** mercury_goto.h. User code should not be using the PIC macro anyway.
|
|
*/
|
|
#ifdef MR_HIGHTAGS
|
|
#define HIGHTAGS 1
|
|
#endif
|
|
#ifndef TAGBITS
|
|
#define TAGBITS MR_TAGBITS
|
|
#endif
|
|
|
|
/*
|
|
** Other stuff.
|
|
*/
|
|
#ifdef MR_HAVE_SIGINFO
|
|
#define HAVE_SIGINFO 1
|
|
#endif
|
|
#ifdef MR_HAVE_SIGINFO_T
|
|
#define HAVE_SIGINFO_T 1
|
|
#endif
|
|
#ifdef MR_HAVE_SIGCONTEXT_STRUCT
|
|
#define HAVE_SIGCONTEXT_STRUCT 1
|
|
#endif
|
|
#ifdef MR_HAVE_SIGCONTEXT_STRUCT_3ARG
|
|
#define HAVE_SIGCONTEXT_STRUCT_3ARG 1
|
|
#endif
|
|
#ifdef MR_HAVE_SIGCONTEXT_STRUCT_2ARG
|
|
#define HAVE_SIGCONTEXT_STRUCT_2ARG 1
|
|
#endif
|
|
#ifdef MR_SIGACTION_FIELD
|
|
#define SIGACTION_FIELD MR_SIGACTION_FIELD
|
|
#endif
|
|
#ifdef MR_LOW_TAG_BITS
|
|
#define LOW_TAG_BITS MR_LOW_TAG_BITS
|
|
#endif
|
|
#ifdef MR_BYTES_PER_WORD
|
|
#define BYTES_PER_WORD MR_BYTES_PER_WORD
|
|
#endif
|
|
#ifdef MR_BITS_PER_WORD
|
|
#define BITS_PER_WORD MR_BITS_PER_WORD
|
|
#endif
|
|
#ifdef MR_SYNC_TERM_SIZE
|
|
#define SYNC_TERM_SIZE MR_SYNC_TERM_SIZE
|
|
#endif
|
|
#ifdef MR_HAVE_GCC_LABELS
|
|
#define HAVE_GCC_LABELS 1
|
|
#endif
|
|
#ifdef MR_HAVE_ASM_LABELS
|
|
#define HAVE_ASM_LABELS 1
|
|
#endif
|
|
#ifdef MR_USE_DLLS
|
|
#define USE_DLLS 1
|
|
#endif
|
|
#ifdef MR_PC_ACCESS_GREG
|
|
#define PC_ACCESS_GREG 1
|
|
#endif
|
|
#ifdef MR_PC_ACCESS
|
|
#define PC_ACCESS MR_PC_ACCESS
|
|
#endif
|
|
|
|
#endif /* !MR_NO_CONF_BACKWARDS_COMPAT && !MR_NO_BACKWARDS_COMPAT */
|
|
|
|
#endif /* MERCURY_CONF_BOOTSTRAP_H */
|