* Added comments from the old config/ directory to configure.ac, and started
changing all the AC_DEFINEs into proper autoconf checks. git-svn-id: svn://svn.zoy.org/elk/trunk@36 55e467fa-43c5-0310-a8a2-de718669efc6
This commit is contained in:
parent
d8cafeeb93
commit
8a5258b0c8
468
configure.ac
468
configure.ac
|
@ -15,7 +15,325 @@ AC_C_CONST
|
|||
AC_C_INLINE
|
||||
AC_TYPE_SIZE_T
|
||||
|
||||
AC_CHECK_HEADERS(unistd.h pwd.h)
|
||||
# $system should contain the name of this file. It may be used by some
|
||||
# of the build scripts to do things that are specific to one single
|
||||
# type of system.
|
||||
AC_DEFINE(SYSTEMTYPE, "i486-linux-gcc", [FIXME HARD])
|
||||
|
||||
# Does the system support the vprintf library function? If not,
|
||||
# availability of the (non-portable) _doprnt function is assumed.
|
||||
AC_CHECK_FUNCS(vprintf)
|
||||
|
||||
# Does the directory(3) library follow the POSIX conventions (i.e.
|
||||
# requires the <dirent.h> include file and uses "struct dirent")?
|
||||
# If not, the (obsolete) BSD-style interface with <sys/dir.h> and
|
||||
# "struct direct" is assumed.
|
||||
AC_CHECK_FUNCS(dirent)
|
||||
|
||||
# Does the system have the random/srandom library functions? If not,
|
||||
# rand/srand will be used instead.
|
||||
AC_CHECK_FUNCS(random)
|
||||
|
||||
# Does the system have the index library function? If not, strchr
|
||||
# will be used.
|
||||
dnl FIXME
|
||||
|
||||
# Does the system have the bcopy, bzero, and bcmp library functions?
|
||||
# If not, memcpy/memset/memcmp will be used.
|
||||
dnl FIXME
|
||||
|
||||
# Does using the access system call require <unistd.h> to be included?
|
||||
# (Look into the manual page for access if in doubt.)
|
||||
AC_CHECK_HEADERS(unistd.h)
|
||||
|
||||
# If the FIONREAD ioctl command is defined, which file must be included?
|
||||
AC_DEFINE(FIONREAD_H, <termios.h>, [FIXME HARD])
|
||||
|
||||
# What is the name of the a.out include file?
|
||||
AC_DEFINE(AOUT_H, <a.out.h>, [FIXME HARD])
|
||||
|
||||
# If getdtablesize() is available to determine the maximum number of open
|
||||
# files per process, set getdtablesize=yes.
|
||||
# Alternatively, if POSIX-style sysconf() can be called with _SC_OPEN_MAX,
|
||||
# set sysconf_open_max=yes.
|
||||
# If neither is set to "yes", an educated guess will be made.
|
||||
AC_CHECK_FUNCS(getdtablesize)
|
||||
AC_MSG_CHECKING(for _SC_OPEN_MAX in unistd.h)
|
||||
AC_EGREP_HEADER(_SC_OPEN_MAX, unistd.h, [
|
||||
AC_MSG_RESULT(yes) AC_DEFINE(SC_OPEN_MAX_IN_UNISTD_H, 1, Define if <unistd.h> defines _SC_OPEN_MAX)
|
||||
],[
|
||||
AC_MSG_RESULT(no)
|
||||
])
|
||||
|
||||
# If POSIX-style pathconf() can be invoked with _PC_PATH_MAX to determine
|
||||
# the maximum pathname length, set pathconf_path_max=yes.
|
||||
AC_MSG_CHECKING(for _PC_PATH_MAX in unistd.h)
|
||||
AC_EGREP_HEADER(_PC_PATH_MAX, unistd.h, [
|
||||
AC_MSG_RESULT(yes) AC_DEFINE(PC_PATH_MAX_IN_UNISTD_H, 1, Define if <unistd.h> defines _PC_PATH_MAX)
|
||||
],[
|
||||
AC_MSG_RESULT(no)
|
||||
])
|
||||
|
||||
# If the system page size can be determined by calling getpagesize()
|
||||
# set getpagesize=yes.
|
||||
# Alternatively, if sysconf() can be invoked with _SC_PAGESIZE, set
|
||||
# sysconf_pagesize=yes.
|
||||
# These two variables are only required if the generational garbage
|
||||
# collector is used.
|
||||
AC_CHECK_FUNCS(getpagesize)
|
||||
AC_MSG_CHECKING(for _SC_PAGESIZE in unistd.h)
|
||||
AC_EGREP_HEADER(_SC_PAGESIZE, unistd.h, [
|
||||
AC_MSG_RESULT(yes) AC_DEFINE(SC_PAGESIZE_IN_UNISTD_H, 1, Define if <unistd.h> defines _SC_PAGESIZE)
|
||||
],[
|
||||
AC_MSG_RESULT(no)
|
||||
])
|
||||
|
||||
# Set reliable_signals=bsd if your system supports BSD-style reliable
|
||||
# signals (has sigblock and related functions); set reliable_signals=posix
|
||||
# for POSIX-style signals (sigprocmask, sigsets); otherwise old V7/SysV
|
||||
# signal semantics are assumed.
|
||||
if false; then
|
||||
AC_DEFINE(BSD_SIGNALS, 1, [FIXME HARD])
|
||||
fi
|
||||
AC_DEFINE(POSIX_SIGNALS, 1, [FIXME HARD])
|
||||
|
||||
# To support dynamic loading of object files and "dump", the system's
|
||||
# a.out format has to be known. Choose one of the following:
|
||||
#
|
||||
# coff ecoff xcoff elf macho hp9k convex
|
||||
#
|
||||
# Other values of "aout_format" are interpreted as BSD-style a.out format.
|
||||
if false; then
|
||||
AC_DEFINE(COFF, 1, [FIXME HARD])
|
||||
fi
|
||||
if false; then
|
||||
AC_DEFINE(ECOFF, 1, [FIXME HARD])
|
||||
fi
|
||||
if false; then
|
||||
AC_DEFINE(XCOFF, 1, [FIXME HARD])
|
||||
fi
|
||||
AC_DEFINE(ELF, 1, [FIXME HARD])
|
||||
if false; then
|
||||
AC_DEFINE(MACH_O, 1, [FIXME HARD])
|
||||
fi
|
||||
if false; then
|
||||
AC_DEFINE(CONVEX_AOUT, 1, [FIXME HARD])
|
||||
fi
|
||||
if false; then
|
||||
AC_DEFINE(HP9K, 1, [FIXME HARD])
|
||||
fi
|
||||
|
||||
# Which mechanism should be used to dynamically load object files?
|
||||
# Possible values currently are:
|
||||
#
|
||||
# ld BSD-style incremental loading based on ld -A
|
||||
# rld NeXT-style rld_load()
|
||||
# shl HP-UX shl_load()
|
||||
# dl SysVR4/SunOS5 dlopen()
|
||||
#
|
||||
# Leave load_obj empty if dynamic loading is not supported.
|
||||
AC_DEFINE(CAN_LOAD_OBJ, 1, [FIXME HARD])
|
||||
AC_DEFINE(CAN_LOAD_LIB, 1, [FIXME HARD])
|
||||
if false; then
|
||||
AC_DEFINE(USE_LD, 1, [FIXME HARD])
|
||||
fi
|
||||
if false; then
|
||||
AC_DEFINE(USE_RLD, 1, [FIXME HARD])
|
||||
fi
|
||||
if false; then
|
||||
AC_DEFINE(USE_SHL, 1, [FIXME HARD])
|
||||
fi
|
||||
AC_DEFINE(USE_DLOPEN, 1, [FIXME HARD])
|
||||
|
||||
# Linker options to produce a shared object from a .o file.
|
||||
# Only used if load_obj=dl.
|
||||
AC_DEFINE(LDFLAGS_SHARED, "-shared", [FIXME HARD])
|
||||
|
||||
# The libraries against which dynamically loaded files are resolved
|
||||
# at the time they are loaded.
|
||||
AC_DEFINE(LOAD_LIBRARIES, "", [FIXME HARD])
|
||||
|
||||
# Additional flags to be passed to the linker for an incremental
|
||||
# linker run (ld -A). Ignored unless load_obj=ld.
|
||||
AC_DEFINE(INC_LDFLAGS, "-x -static", [FIXME HARD])
|
||||
|
||||
# Systems with "aout_format=ecoff" may require a call to the cacheflush
|
||||
# system call after an object file has been loaded. Which include file
|
||||
# has to be included in this case?
|
||||
AC_DEFINE(CACHECTL_H, <sys/cachectl.h>, [FIXME HARD])
|
||||
|
||||
# Is the ANSI-C atexit function supported to register an exit handler?
|
||||
# If not, the exit library function will be redefined and will end in
|
||||
# a call to _exit.
|
||||
AC_CHECK_FUNCS(atexit)
|
||||
|
||||
# Do the names of external functions in the symbol table always begin
|
||||
# with a special character (such as underline)? If so, syms_begin_with
|
||||
# should hold this character, otherwise leave it empty.
|
||||
if false; then
|
||||
AC_DEFINE(SYMS_BEGIN_WITH, 1, [FIXME HARD])
|
||||
fi
|
||||
|
||||
# The symbol prefixes of extension initialization and finalization
|
||||
# functions (without the initial $syms_begin_with). Do not change
|
||||
# these unless the compiler or linker restricts the length of symbols!
|
||||
AC_DEFINE(INIT_PREFIX, "elk_init_", [FIXME HARD])
|
||||
AC_DEFINE(FINIT_PREFIX, "elk_finit_", [FIXME HARD])
|
||||
|
||||
# Is the "dump" function supported?
|
||||
AC_DEFINE(CAN_DUMP, 1, [FIXME HARD])
|
||||
|
||||
# Is the fchmod system call broken or unavailable?
|
||||
if false; then
|
||||
AC_DEFINE(FCHMOD_BROKEN, 1, [FIXME HARD])
|
||||
fi
|
||||
|
||||
# These four variables are only relevant if the system has the BSD-style
|
||||
# a.out format.
|
||||
# segment_size is the segment size of the system's memory management
|
||||
# unit, i.e. the number to a multiple of which the size of an a.out
|
||||
# segment (e.g. .text) is rounded up.
|
||||
# file_text_start is the file offset at which the text segment starts
|
||||
# in an a.out file.
|
||||
# mem_text_start is the starting address of the text segment in memory.
|
||||
# text_length_adj must be set to "sizeof (struct exec)" if the length of
|
||||
# the text segment stored in the a.out header includes the a.out header
|
||||
# itself.
|
||||
AC_DEFINE(SEG_SIZ, 1024, [FIXME HARD])
|
||||
AC_DEFINE(FILE_TEXT_START, N_TXTOFF(hdr), [FIXME HARD])
|
||||
AC_DEFINE(MEM_TEXT_START, 0, [FIXME HARD])
|
||||
AC_DEFINE(TEXT_LENGTH_ADJ, 0, [FIXME HARD])
|
||||
|
||||
# Only relevant if "aout_format=coff": the system's pagesize.
|
||||
AC_DEFINE(COFF_PAGESIZE, 4096, [FIXME HARD])
|
||||
|
||||
# Only relevant if "aout_format=hp9k" and "load_obj=shl"
|
||||
AC_DEFINE(HPSHLIB, 1, [FIXME HARD])
|
||||
|
||||
# Print debug messages when dumping
|
||||
AC_DEFINE(DEBUG_DUMP, 1, [FIXME HARD])
|
||||
|
||||
# Is the "termio" terminal interface supported by the system? If not,
|
||||
# BSD-style tty handling will be used.
|
||||
AC_DEFINE(TERMIO, 1, [FIXME HARD])
|
||||
|
||||
# flush_stdio and flush_tty indicate how clear-input/output-port can
|
||||
# flush (purge) a FILE pointer and a TTY file descriptor.
|
||||
# Possible values of flush_stdio:
|
||||
# bsd assume old BSD-style FILE* (with _cnt, _ptr, _base)
|
||||
# fpurge use 4.4BSD-style fpurge stdio library function
|
||||
# Possible values of flush_tty:
|
||||
# tiocflush use TIOCFLUSH ioctl from <sys/ioctl.h>
|
||||
# tcflsh use TCFLSH ioctl from <termio.h>
|
||||
# Leave the variable(s) empty if flushing is not supported.
|
||||
if false; then
|
||||
AC_DEFINE(FLUSH_BSD, 1, [FIXME HARD])
|
||||
fi
|
||||
if false; then
|
||||
AC_DEFINE(FLUSH_FPURGE, 1, [FIXME HARD])
|
||||
fi
|
||||
if false; then
|
||||
AC_DEFINE(FLUSH_TIOCFLUSH, 1, [FIXME HARD])
|
||||
fi
|
||||
AC_DEFINE(FLUSH_TCFLSH, 1, [FIXME HARD])
|
||||
|
||||
# The interpreter uses the getrlimit function to determine the maximum
|
||||
# stack size of the running program. If this function is not supported,
|
||||
# set max_stack_size to a (fixed) maximum stack size (in bytes).
|
||||
if false; then
|
||||
AC_DEFINE(MAX_STACK_SIZE, 1, [FIXME HARD])
|
||||
fi
|
||||
|
||||
# Is the mprotect system call supported? The generational garbage collector
|
||||
# requires mprotect to implement incremental GC. $mprotect is ignored if
|
||||
# generational_gc is set to "no" in the site file. Set mprotect=mmap if
|
||||
# mprotect is supported, but only for mmap()ed memory.
|
||||
AC_CHECK_FUNCS(mprotect)
|
||||
if false; then
|
||||
AC_DEFINE(MPROTECT_MMAP, 1, [FIXME HARD])
|
||||
fi
|
||||
|
||||
# How can a SIGSEGV or SIGBUS signal handler find out the address of
|
||||
# the faulting memory reference? This variable is only used if
|
||||
# $mprotect is "yes" or "mmap". Possible values are:
|
||||
#
|
||||
# siginfo handler is called with siginfo_t structure (enabled
|
||||
# by a call to sigaction)
|
||||
# sigcontext address is in the sigcontext structure (3rd arg, sc_badvaddr)
|
||||
# arg4 address is delivered to handler as argument #4
|
||||
# aix use an AIX-specific hack to get hold of the bad address
|
||||
# hpux use a HP-UX-specific hack
|
||||
if false; then
|
||||
AC_DEFINE(SIGSEGV_SIGINFO, 1, [FIXME HARD])
|
||||
fi
|
||||
if false; then
|
||||
AC_DEFINE(SIGSEGV_SIGCONTEXT, 1, [FIXME HARD])
|
||||
fi
|
||||
if false; then
|
||||
AC_DEFINE(SIGSEGV_ARG4, 1, [FIXME HARD])
|
||||
fi
|
||||
if false; then
|
||||
AC_DEFINE(SIGSEGV_AIX, 1, [FIXME HARD])
|
||||
fi
|
||||
if false; then
|
||||
AC_DEFINE(SIGSEGV_HPUX, 1, [FIXME HARD])
|
||||
fi
|
||||
|
||||
# Does the system support the alloca library function, and does this
|
||||
# function actually extend the stack? If in doubt, extract alloca.o
|
||||
# from the C library and check if it contains the symbols malloc and free.
|
||||
# If this is the case, forget it.
|
||||
AC_DEFINE(USE_ALLOCA, 1, [FIXME HARD])
|
||||
|
||||
# Must <alloca.h> be included to use alloca? Is "#pragma alloca" required?
|
||||
AC_CHECK_HEADERS(alloca.h)
|
||||
if false; then
|
||||
AC_DEFINE(PRAGMA_ALLOCA, 1, [FIXME HARD])
|
||||
fi
|
||||
|
||||
# Does the system (or compiler) require certain objects (e.g. doubles)
|
||||
# to be aligned at 8-byte boundaries? If not, 4-byte alignment will
|
||||
# be assumed.
|
||||
if false; then
|
||||
AC_DEFINE(ALIGN_8BYTE, 1, [FIXME HARD])
|
||||
fi
|
||||
|
||||
# The name of the linker. This is usually just "ld", or /usr/ccs/bin/ld
|
||||
# in SVR4-based systems.
|
||||
AC_DEFINE(LD_NAME, "ld", [FIXME HARD])
|
||||
|
||||
# Does your C preprocessor support the ANSI-C ## operator, although
|
||||
# __STDC__ is not defined?
|
||||
AC_DEFINE(ANSI_CPP, 1, [FIXME HARD])
|
||||
|
||||
# The UNIX extension likes to know which of the following system calls,
|
||||
# library functions, and include files are supported by the system.
|
||||
AC_CHECK_HEADERS(utime.h)
|
||||
AC_CHECK_FUNCS(waitpid wait3 wait4 vfork uname gethostname gettimeofday ftime)
|
||||
AC_CHECK_FUNCS(mktemp tmpnam tempnam getcwd getwd rename regcomp)
|
||||
|
||||
# Element type of the gidset argument of getgroups(); typically int
|
||||
# or gid_t. Only needed by the UNIX extension.
|
||||
AC_DEFINE(GETGROUPS_TYPE, gid_t, [FIXME HARD])
|
||||
|
||||
# Do you want to use the generational garbage collector? If not, the
|
||||
# stop-and-copy garbage collector will be used.
|
||||
AC_DEFINE(GENERATIONAL_GC, 1, [FIXME HARD])
|
||||
|
||||
# The default heap size of the Scheme interpreter in KBytes (if the
|
||||
# stop-and-copy garbage collector is used).
|
||||
AC_DEFINE(HEAP_SIZE, 1024, [FIXME HARD])
|
||||
|
||||
# The directory where all files are installed by running "make install".
|
||||
# The subdirectories bin, lib, include, and runtime (with various
|
||||
# subdirectories) are created automatically, but $install_dir isn't.
|
||||
# Make sure $install_dir doesn't point to the top of the source tree
|
||||
# (i.e. choose a subdirectory or a directory outside the source tree).
|
||||
AC_DEFINE(SCM_DIR, "/usr/share/elk", [FIXME HARD])
|
||||
AC_DEFINE(OBJ_DIR, "/usr/lib/elk", [FIXME HARD])
|
||||
|
||||
#define FIND_AOUT defined(USE_LD) || defined(CAN_DUMP) || defined(INIT_OBJECTS)
|
||||
AC_DEFINE(FIND_AOUT, 1, [FIXME HARD])
|
||||
|
||||
dnl
|
||||
dnl Check for available warning flags
|
||||
|
@ -41,166 +359,18 @@ fi
|
|||
CFLAGS="${CFLAGS_save}"
|
||||
INCLUDES="${INCLUDES} -I\$(top_srcdir)/include"
|
||||
|
||||
dnl
|
||||
dnl Default values
|
||||
dnl
|
||||
AC_DEFINE(REGCOMP, 1, [Foo])
|
||||
AC_DEFINE(WAITPID, 1, [Foo])
|
||||
AC_DEFINE(WAIT3, 1, [Foo])
|
||||
AC_DEFINE(WAIT4, 1, [Foo])
|
||||
AC_DEFINE(MKTEMP, 1, [Foo])
|
||||
AC_DEFINE(TMPNAM, 1, [Foo])
|
||||
AC_DEFINE(TEMPNAM, 1, [Foo])
|
||||
AC_DEFINE(GETCWD, 1, [Foo])
|
||||
AC_DEFINE(GETWD, 1, [Foo])
|
||||
AC_DEFINE(RENAME, 1, [Foo])
|
||||
AC_DEFINE(UNAME, 1, [Foo])
|
||||
AC_DEFINE(GETHOSTNAME, 1, [Foo])
|
||||
AC_DEFINE(GETTIMEOFDAY, 1, [Foo])
|
||||
AC_DEFINE(FTIME, 1, [Foo])
|
||||
AC_DEFINE(VFORK, 1, [Foo])
|
||||
AC_DEFINE(VPRINTF, 1, [Foo])
|
||||
AC_DEFINE(DIRENT, 1, [Foo])
|
||||
AC_DEFINE(RANDOM, 1, [Foo])
|
||||
AC_DEFINE(INCLUDE_UNISTD_H, 1, [Foo])
|
||||
if false; then
|
||||
AC_DEFINE(SYSCONF_OPEN_MAX, 1, [Bar])
|
||||
fi
|
||||
AC_DEFINE(GETDTABLESIZE, 1, [Foo])
|
||||
AC_DEFINE(PATHCONF_PATH_MAX, 1, [Foo])
|
||||
AC_DEFINE(GETPAGESIZE, 1, [Foo])
|
||||
if false; then
|
||||
AC_DEFINE(SYSCONF_PAGESIZE, 1, [Bar])
|
||||
fi
|
||||
if false; then
|
||||
AC_DEFINE(BSD_SIGNALS, 1, [Bar])
|
||||
fi
|
||||
AC_DEFINE(POSIX_SIGNALS, 1, [Foo])
|
||||
if false; then
|
||||
AC_DEFINE(ALIGN_8BYTE, 1, [Bar])
|
||||
fi
|
||||
if false; then
|
||||
AC_DEFINE(COFF, 1, [Bar])
|
||||
fi
|
||||
if false; then
|
||||
AC_DEFINE(ECOFF, 1, [Bar])
|
||||
fi
|
||||
if false; then
|
||||
AC_DEFINE(XCOFF, 1, [Bar])
|
||||
fi
|
||||
AC_DEFINE(ELF, 1, [Foo])
|
||||
if false; then
|
||||
AC_DEFINE(MACH_O, 1, [Bar])
|
||||
fi
|
||||
if false; then
|
||||
AC_DEFINE(CONVEX_AOUT, 1, [Bar])
|
||||
fi
|
||||
if false; then
|
||||
AC_DEFINE(HP9K, 1, [Bar])
|
||||
fi
|
||||
AC_DEFINE(HPSHLIB, 1, [Foo])
|
||||
AC_DEFINE(DEBUG_DUMP, 1, [Foo])
|
||||
AC_DEFINE(CAN_LOAD_OBJ, 1, [Foo])
|
||||
AC_DEFINE(CAN_LOAD_LIB, 1, [Foo])
|
||||
if false; then
|
||||
AC_DEFINE(USE_LD, 1, [Bar])
|
||||
fi
|
||||
if false; then
|
||||
AC_DEFINE(USE_RLD, 1, [Bar])
|
||||
fi
|
||||
if false; then
|
||||
AC_DEFINE(USE_SHL, 1, [Bar])
|
||||
fi
|
||||
AC_DEFINE(USE_DLOPEN, 1, [Foo])
|
||||
AC_DEFINE(LOAD_LIBRARIES, "", [Foo])
|
||||
AC_DEFINE(CACHECTL_H, <sys/cachectl.h>, [Foo])
|
||||
AC_DEFINE(FIONREAD_H, <termios.h>, [Foo])
|
||||
AC_DEFINE(ATEXIT, 1, [Foo])
|
||||
if false; then
|
||||
AC_DEFINE(SYMS_BEGIN_WITH, 1, [Bar])
|
||||
fi
|
||||
AC_DEFINE(CAN_DUMP, 1, [Foo])
|
||||
AC_DEFINE(SEG_SIZ, 1024, [Foo])
|
||||
AC_DEFINE(FILE_TEXT_START, N_TXTOFF(hdr), [Foo])
|
||||
AC_DEFINE(MEM_TEXT_START, 0, [Foo])
|
||||
AC_DEFINE(TEXT_LENGTH_ADJ, 0, [Foo])
|
||||
AC_DEFINE(COFF_PAGESIZE, 4096, [Foo])
|
||||
if false; then
|
||||
AC_DEFINE(FCHMOD_BROKEN, 1, [Bar])
|
||||
fi
|
||||
AC_DEFINE(TERMIO, 1, [Foo])
|
||||
if false; then
|
||||
AC_DEFINE(FLUSH_BSD, 1, [Bar])
|
||||
fi
|
||||
if false; then
|
||||
AC_DEFINE(FLUSH_FPURGE, 1, [Bar])
|
||||
fi
|
||||
if false; then
|
||||
AC_DEFINE(FLUSH_TIOCFLUSH, 1, [Bar])
|
||||
fi
|
||||
AC_DEFINE(FLUSH_TCFLSH, 1, [Foo])
|
||||
AC_DEFINE(USE_ALLOCA, 1, [Foo])
|
||||
AC_DEFINE(INCLUDE_ALLOCA_H, 1, [Foo])
|
||||
if false; then
|
||||
AC_DEFINE(PRAGMA_ALLOCA, 1, [Bar])
|
||||
fi
|
||||
if false; then
|
||||
AC_DEFINE(MAX_STACK_SIZE, 1, [Bar])
|
||||
fi
|
||||
AC_DEFINE(GENERATIONAL_GC, 1, [Foo])
|
||||
if false; then
|
||||
AC_DEFINE(HAS_MPROTECT, 1, [Bar])
|
||||
fi
|
||||
if false; then
|
||||
AC_DEFINE(MPROTECT_MMAP, 1, [Bar])
|
||||
fi
|
||||
if false; then
|
||||
AC_DEFINE(SIGSEGV_SIGINFO, 1, [Bar])
|
||||
fi
|
||||
if false; then
|
||||
AC_DEFINE(SIGSEGV_SIGCONTEXT, 1, [Bar])
|
||||
fi
|
||||
if false; then
|
||||
AC_DEFINE(SIGSEGV_ARG4, 1, [Bar])
|
||||
fi
|
||||
if false; then
|
||||
AC_DEFINE(SIGSEGV_AIX, 1, [Bar])
|
||||
fi
|
||||
if false; then
|
||||
AC_DEFINE(SIGSEGV_HPUX, 1, [Bar])
|
||||
fi
|
||||
|
||||
AC_DEFINE(AOUT_H, <a.out.h>, [Foo])
|
||||
AC_DEFINE(SCM_DIR, "/usr/share/elk", [Foo])
|
||||
AC_DEFINE(OBJ_DIR, "/usr/lib/elk", [Foo])
|
||||
AC_DEFINE(HEAP_SIZE, 1024, [Foo])
|
||||
AC_DEFINE(FIND_AOUT, 1, [Foo])
|
||||
AC_DEFINE(ANSI_CPP, 1, [Foo])
|
||||
AC_DEFINE(SYSTEMTYPE, "i486-linux-gcc", [Foo])
|
||||
AC_DEFINE(GETGROUPS_TYPE, gid_t, [Foo])
|
||||
AC_DEFINE(LD_NAME, "ld", [Foo])
|
||||
AC_DEFINE(LDFLAGS_SHARED, "-shared", [Foo])
|
||||
AC_DEFINE(INC_LDFLAGS, "-x -static", [Foo])
|
||||
AC_DEFINE(UTIME_H, 1, [Foo])
|
||||
AC_DEFINE(INIT_PREFIX, "elk_init_", [Foo])
|
||||
AC_DEFINE(FINIT_PREFIX, "elk_finit_", [Foo])
|
||||
AC_DEFINE(ELK_MAJOR, 3, [Foo])
|
||||
AC_DEFINE(ELK_MINOR, 0, [Foo])
|
||||
|
||||
dnl Export variables
|
||||
AC_SUBST(INCLUDES)
|
||||
|
||||
AC_OUTPUT([
|
||||
Makefile
|
||||
autotools/Makefile
|
||||
config/Makefile
|
||||
debian/Makefile
|
||||
doc/Makefile
|
||||
examples/Makefile
|
||||
lib/Makefile
|
||||
lib/misc/Makefile
|
||||
scm/Makefile
|
||||
scripts/Makefile
|
||||
src/Makefile
|
||||
util/Makefile
|
||||
])
|
||||
|
|
|
@ -94,7 +94,7 @@ extern char *Brk_On_Dump;
|
|||
extern int Verb_Load, Verb_Init, Case_Insensitive;
|
||||
extern SYMTAB *The_Symbols;
|
||||
extern void Exit_Handler P_((void));
|
||||
#ifndef ATEXIT
|
||||
#ifndef HAVE_ATEXIT
|
||||
extern void exit P_((int));
|
||||
#endif
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#ifdef USE_ALLOCA
|
||||
|
||||
#ifdef INCLUDE_ALLOCA_H
|
||||
#ifdef HAVE_ALLOCA_H
|
||||
# include <alloca.h>
|
||||
#endif
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
|
||||
#include "scheme.h"
|
||||
|
||||
#ifdef REGCOMP
|
||||
#ifdef HAVE_REGCOMP
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <regex.h>
|
||||
|
@ -199,10 +199,10 @@ static Object P_Match_End(m, n) Object m, n; {
|
|||
|
||||
#define Def_Prim Define_Primitive
|
||||
|
||||
#endif /* REGCOMP */
|
||||
#endif /* HAVE_REGCOMP */
|
||||
|
||||
elk_init_lib_regexp() {
|
||||
#ifdef REGCOMP
|
||||
#ifdef HAVE_REGCOMP
|
||||
T_Regexp = Define_Type(0, "regexp", 0, sizeof(struct S_Regexp),
|
||||
Regexp_Eqv, Regexp_Equal, Regexp_Print, Regexp_Visit);
|
||||
T_Match = Define_Type(0, "regexp-match", Match_Size, 0,
|
||||
|
|
|
@ -148,27 +148,21 @@ static Object P_Lseek(fd, off, whence) Object fd, off, whence; {
|
|||
|
||||
int Num_Filedescriptors() {
|
||||
int ret;
|
||||
#ifdef OPEN_MAX
|
||||
#if defined(OPEN_MAX)
|
||||
ret = OPEN_MAX;
|
||||
#else
|
||||
#ifdef GETDTABLESIZE
|
||||
#elif defined(HAVE_GETDTABLESIZE)
|
||||
ret = getdtablesize();
|
||||
#else
|
||||
#ifdef SYSCONF_OPEN_MAX
|
||||
#elif defined(SC_OPEN_MAX_IN_UNISTD_H)
|
||||
static r;
|
||||
if (r == 0) {
|
||||
if ((r = sysconf(_SC_OPEN_MAX)) == -1)
|
||||
r = 256;
|
||||
}
|
||||
ret = r;
|
||||
#else
|
||||
#ifdef NOFILE
|
||||
#elif defined(NOFILE)
|
||||
ret = NOFILE;
|
||||
#else
|
||||
ret = 256;
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
return ret;
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#include "unix.h"
|
||||
|
||||
#ifdef UTIME_H
|
||||
#ifdef HAVE_UTIME_H
|
||||
# include <utime.h>
|
||||
#else
|
||||
struct utimbuf {
|
||||
|
@ -8,7 +8,7 @@ struct utimbuf {
|
|||
};
|
||||
#endif
|
||||
|
||||
#ifdef DIRENT
|
||||
#ifdef HAVE_DIRENT
|
||||
# include <dirent.h>
|
||||
#else
|
||||
# include <sys/dir.h>
|
||||
|
@ -65,7 +65,7 @@ static Object P_Mkdir(fn, mode) Object fn, mode; {
|
|||
|
||||
static Object P_Read_Directory(fn) Object fn; {
|
||||
DIR *d;
|
||||
#ifdef DIRENT
|
||||
#ifdef HAVE_DIRENT
|
||||
struct dirent *dp;
|
||||
#else
|
||||
struct direct *dp;
|
||||
|
@ -96,7 +96,7 @@ static Object P_Read_Directory(fn) Object fn; {
|
|||
}
|
||||
|
||||
static Object P_Rename(fromfn, tofn) Object fromfn, tofn; {
|
||||
#ifdef RENAME
|
||||
#ifdef HAVE_RENAME
|
||||
if (rename(Get_Strsym(fromfn), Get_Strsym(tofn)) == -1)
|
||||
Raise_System_Error2("(~s ~s): ~E", fromfn, tofn);
|
||||
#else
|
||||
|
|
|
@ -245,7 +245,7 @@ static Object P_System(cmd) Object cmd; {
|
|||
int n, pid, status;
|
||||
char *s = Get_String(cmd);
|
||||
|
||||
#ifdef VFORK
|
||||
#ifdef HAVE_VFORK
|
||||
switch (pid = vfork()) {
|
||||
#else
|
||||
switch (pid = fork()) {
|
||||
|
@ -280,7 +280,7 @@ static Object P_Working_Directory() {
|
|||
char *buf;
|
||||
int max = Path_Max()+2; /* getcwd() needs two extra bytes */
|
||||
Object ret;
|
||||
#if !defined(GETCWD) && !defined(GETWD)
|
||||
#if !defined(HAVE_GETCWD) && !defined(HAVE_GETWD)
|
||||
FILE *fp;
|
||||
char *p;
|
||||
#endif
|
||||
|
@ -288,7 +288,7 @@ static Object P_Working_Directory() {
|
|||
|
||||
Alloca(buf, char*, max);
|
||||
Disable_Interrupts;
|
||||
#ifdef GETCWD
|
||||
#ifdef HAVE_GETCWD
|
||||
if (getcwd(buf, max) == 0) {
|
||||
Saved_Errno = errno;
|
||||
Alloca_End;
|
||||
|
@ -296,7 +296,7 @@ static Object P_Working_Directory() {
|
|||
Raise_System_Error("~E");
|
||||
}
|
||||
#else
|
||||
#ifdef GETWD
|
||||
#ifdef HAVE_GETWD
|
||||
if (getwd(buf) == 0) {
|
||||
Alloca_End;
|
||||
Enable_Interrupts;
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#include "unix.h"
|
||||
|
||||
#if defined(UNAME) && !defined(GETHOSTNAME)
|
||||
#if defined(HAVE_UNAME) && !defined(HAVE_GETHOSTNAME)
|
||||
# include <sys/utsname.h>
|
||||
#endif
|
||||
|
||||
|
@ -134,11 +134,11 @@ static Object P_Job_Controlp() {
|
|||
}
|
||||
|
||||
static Object P_System_Info(ret) Object ret; {
|
||||
#ifdef GETHOSTNAME
|
||||
#ifdef HAVE_GETHOSTNAME
|
||||
char hostname[MAXHOSTNAMELEN];
|
||||
char *p = hostname;
|
||||
#else
|
||||
#ifdef UNAME
|
||||
#ifdef HAVE_UNAME
|
||||
struct utsname uts;
|
||||
char *p = uts.nodename;
|
||||
#else
|
||||
|
@ -150,10 +150,10 @@ static Object P_System_Info(ret) Object ret; {
|
|||
GC_Node;
|
||||
|
||||
Check_Result_Vector(ret, 3);
|
||||
#ifdef GETHOSTNAME
|
||||
#ifdef HAVE_GETHOSTNAME
|
||||
(void)gethostname(hostname, sizeof(hostname));
|
||||
#else
|
||||
#ifdef UNAME
|
||||
#ifdef HAVE_UNAME
|
||||
(void)uname(&uts);
|
||||
#endif
|
||||
#endif
|
||||
|
|
|
@ -1,29 +1,29 @@
|
|||
#include "unix.h"
|
||||
|
||||
#ifdef TEMPNAM /* Make sure only one of these is defined (if any) */
|
||||
# undef TMPNAM /* Order of preference: tempnam, mktemp, tmpnam */
|
||||
# undef MKTEMP
|
||||
#ifdef HAVE_TEMPNAM /* Make sure only one of these is defined (if any) */
|
||||
# undef HAVE_TMPNAM /* Order of preference: tempnam, mktemp, tmpnam */
|
||||
# undef HAVE_MKTEMP
|
||||
#endif
|
||||
#ifdef MKTEMP
|
||||
# undef TMPNAM
|
||||
# undef TEMPNAM
|
||||
#ifdef HAVE_MKTEMP
|
||||
# undef HAVE_TMPNAM
|
||||
# undef HAVE_TEMPNAM
|
||||
#endif
|
||||
#ifdef TMPNAM
|
||||
# undef TEMPNAM
|
||||
# undef MKTEMP
|
||||
#ifdef HAVE_TMPNAM
|
||||
# undef HAVE_TEMPNAM
|
||||
# undef HAVE_MKTEMP
|
||||
#endif
|
||||
|
||||
static Object P_Tempname(argc, argv) int argc; Object *argv; {
|
||||
char *name, *dir = 0, *pref = 0;
|
||||
Object ret;
|
||||
#ifdef TMPNAM
|
||||
#ifdef HAVE_TMPNAM
|
||||
extern char *tmpnam();
|
||||
#else
|
||||
#ifdef TEMPNAM
|
||||
#ifdef HAVE_TEMPNAM
|
||||
extern char *tempnam();
|
||||
#else
|
||||
char buf[1024];
|
||||
#ifdef MKTEMP
|
||||
#ifdef HAVE_MKTEMP
|
||||
extern char *mktemp();
|
||||
#else
|
||||
char *p, *q;
|
||||
|
@ -36,10 +36,10 @@ static Object P_Tempname(argc, argv) int argc; Object *argv; {
|
|||
dir = Get_Strsym(argv[0]);
|
||||
if (argc > 1)
|
||||
pref = Get_Strsym(argv[1]);
|
||||
#ifdef TMPNAM
|
||||
#ifdef HAVE_TMPNAM
|
||||
name = tmpnam((char *)0);
|
||||
#else
|
||||
#ifdef TEMPNAM
|
||||
#ifdef HAVE_TEMPNAM
|
||||
Disable_Interrupts; /* Make sure result gets freed */
|
||||
name = tempnam(dir, pref);
|
||||
#else
|
||||
|
@ -47,7 +47,7 @@ static Object P_Tempname(argc, argv) int argc; Object *argv; {
|
|||
if (!pref) pref = "elk";
|
||||
if (strlen(dir) + strlen(pref) > 1000)
|
||||
Primitive_Error("directory/prefix argument too long");
|
||||
#ifdef MKTEMP
|
||||
#ifdef HAVE_MKTEMP
|
||||
sprintf(buf, "%s/%sXXXXXX", dir, pref);
|
||||
name = mktemp(buf);
|
||||
#else
|
||||
|
@ -80,7 +80,7 @@ fail: ;
|
|||
Raise_Error("cannot create temp file name");
|
||||
}
|
||||
ret = Make_String(name, strlen(name));
|
||||
#ifdef TEMPNAM
|
||||
#ifdef HAVE_TEMPNAM
|
||||
free(name);
|
||||
Enable_Interrupts;
|
||||
#endif
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
#include "unix.h"
|
||||
|
||||
#if !defined(GETTIMEOFDAY) && defined(FTIME)
|
||||
#if !defined(HAVE_GETTIMEOFDAY) && defined(HAVE_FTIME)
|
||||
# include <sys/timeb.h>
|
||||
#endif
|
||||
|
||||
#ifdef GETTIMEOFDAY
|
||||
#ifdef HAVE_GETTIMEOFDAY
|
||||
# include <sys/time.h>
|
||||
#endif
|
||||
|
||||
|
@ -34,11 +34,11 @@ static Object P_Decode_Time(t, ret, utc) Object t, ret, utc; {
|
|||
|
||||
static Object P_Nanotime(ret) Object ret; {
|
||||
Object x, y;
|
||||
#ifdef GETTIMEOFDAY
|
||||
#ifdef HAVE_GETTIMEOFDAY
|
||||
struct timeval tv;
|
||||
struct timezone tz;
|
||||
#else
|
||||
#ifdef FTIME
|
||||
#ifdef HAVE_FTIME
|
||||
struct timeb tb;
|
||||
#else
|
||||
time_t now;
|
||||
|
@ -50,7 +50,7 @@ static Object P_Nanotime(ret) Object ret; {
|
|||
x = Null;
|
||||
Check_Result_Vector(ret, 3);
|
||||
GC_Link2(ret, x);
|
||||
#ifdef GETTIMEOFDAY
|
||||
#ifdef HAVE_GETTIMEOFDAY
|
||||
(void)gettimeofday(&tv, &tz);
|
||||
x = Cons(Null, Make_Unsigned_Long((unsigned long)tv.tv_usec * 1000));
|
||||
y = Make_Unsigned_Long((unsigned long)tv.tv_sec);
|
||||
|
@ -59,7 +59,7 @@ static Object P_Nanotime(ret) Object ret; {
|
|||
VECTOR(ret)->data[1] = Make_Integer(tz.tz_minuteswest);
|
||||
VECTOR(ret)->data[2] = Make_Integer(tz.tz_dsttime);
|
||||
#else
|
||||
#ifdef FTIME
|
||||
#ifdef HAVE_FTIME
|
||||
(void)ftime(&tb);
|
||||
x = Cons(Null, Make_Unsigned_Long((unsigned long)tb.millitm * 1000000));
|
||||
y = Make_Unsigned_Long((unsigned long)tb.time);
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
#include <fcntl.h>
|
||||
#include <errno.h>
|
||||
|
||||
#ifdef INCLUDE_UNISTD_H
|
||||
#ifdef HAVE_UNISTD_H
|
||||
# include <unistd.h>
|
||||
#endif
|
||||
|
||||
|
|
|
@ -4,15 +4,15 @@
|
|||
|
||||
#include "unix.h"
|
||||
|
||||
#if defined(WAITPID) || defined(WAIT4)
|
||||
#if defined(HAVE_WAITPID) || defined(HAVE_WAIT4)
|
||||
# define WAIT_PROCESS
|
||||
#endif
|
||||
|
||||
#if defined(WAITPID) || defined(WAIT3) || defined(WAIT4)
|
||||
#if defined(HAVE_WAITPID) || defined(HAVE_WAIT3) || defined(HAVE_WAIT4)
|
||||
# define WAIT_OPTIONS
|
||||
#endif
|
||||
|
||||
#if defined(WAIT3) || defined(WAIT4)
|
||||
#if defined(HAVE_WAIT3) || defined(HAVE_WAIT4)
|
||||
# define WAIT_RUSAGE
|
||||
# include <sys/time.h>
|
||||
# include <sys/resource.h>
|
||||
|
@ -58,15 +58,15 @@ static Object General_Wait(ret, ruret, haspid, pid, options)
|
|||
Check_Result_Vector(ret, 5);
|
||||
Check_Result_Vector(ruret, 2);
|
||||
if (haspid) {
|
||||
#ifdef WAIT4
|
||||
#ifdef HAVE_WAIT4
|
||||
retpid = wait4(pid, &st, options, &ru);
|
||||
#else
|
||||
#ifdef WAITPID
|
||||
#ifdef HAVE_WAITPID
|
||||
retpid = waitpid(pid, &st, options);
|
||||
#endif
|
||||
#endif
|
||||
} else {
|
||||
#ifdef WAIT3
|
||||
#ifdef HAVE_WAIT3
|
||||
retpid = wait3(&st, options, &ru);
|
||||
#else
|
||||
retpid = wait(&st);
|
||||
|
|
|
@ -12,13 +12,13 @@
|
|||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <sys/types.h>
|
||||
#ifdef HAS_MPROTECT
|
||||
#ifdef HAVE_MPROTECT
|
||||
# include <sys/mman.h>
|
||||
#endif
|
||||
#ifdef GETPAGESIZE
|
||||
# define SYSCONF_PAGESIZE
|
||||
#ifdef HAVE_GETPAGESIZE
|
||||
# define SC_PAGESIZE_IN_UNISTD_H
|
||||
#endif
|
||||
#ifdef SYSCONF_PAGESIZE
|
||||
#ifdef SC_PAGESIZE_IN_UNISTD_H
|
||||
# define link FOO
|
||||
# include <unistd.h>
|
||||
# undef link
|
||||
|
@ -191,7 +191,7 @@ static void TerminateGC ();
|
|||
#define SET_PROTECT(addr) { PMAP (addr) = 1; protected_pages++; }
|
||||
#define SET_UNPROTECT(addr) { PMAP (addr) = 0; protected_pages--; }
|
||||
|
||||
#ifdef HAS_MPROTECT
|
||||
#ifdef HAVE_MPROTECT
|
||||
# ifndef PROT_RW
|
||||
# define PROT_RW (PROT_READ | PROT_WRITE)
|
||||
# endif
|
||||
|
@ -463,7 +463,7 @@ void Make_Heap (int size) {
|
|||
Object heap_obj;
|
||||
pageno_t i;
|
||||
|
||||
#ifdef HAS_MPROTECT
|
||||
#ifdef HAVE_MPROTECT
|
||||
InstallHandler ();
|
||||
#endif
|
||||
|
||||
|
@ -472,14 +472,14 @@ void Make_Heap (int size) {
|
|||
* then calculate the resulting number of heap pages.
|
||||
*/
|
||||
|
||||
#ifdef SYSCONF_PAGESIZE
|
||||
#ifdef SC_PAGESIZE_IN_UNISTD_H
|
||||
if ((bytes_per_pp = sysconf (_SC_PAGESIZE)) == -1)
|
||||
Fatal_Error ("sysconf(_SC_PAGESIZE) failed; can't get pagesize");
|
||||
#else
|
||||
#ifdef GETPAGESIZE
|
||||
#ifdef HAVE_GETPAGESIZE
|
||||
bytes_per_pp = getpagesize ();
|
||||
#else
|
||||
# ifdef HAS_MPROTECT
|
||||
# ifdef HAVE_MPROTECT
|
||||
# include "mprotect requires getpagesize or sysconf_pagesize"
|
||||
# else
|
||||
bytes_per_pp = 4096;
|
||||
|
@ -1290,7 +1290,7 @@ static int Scanner (pageno_t npages) {
|
|||
return (scanned);
|
||||
}
|
||||
|
||||
#ifdef HAS_MPROTECT
|
||||
#ifdef HAVE_MPROTECT
|
||||
/* the following function handles a page fault. If the fault was caused
|
||||
* by the mutator and incremental collection is enabled, this will result
|
||||
* in scanning the physical page the fault occured on.
|
||||
|
@ -1328,7 +1328,7 @@ static void PagefaultHandler (int sig, int code, struct sigcontext *scp,
|
|||
static void PagefaultHandler (int sig, int code, struct sigcontext *scp) {
|
||||
|
||||
#else
|
||||
# include "HAS_MPROTECT defined, but missing SIGSEGV_xxx"
|
||||
# include "HAVE_MPROTECT defined, but missing SIGSEGV_xxx"
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
@ -1633,7 +1633,7 @@ void Generational_GC_Finalize () {
|
|||
}
|
||||
|
||||
void Generational_GC_Reinitialize () {
|
||||
#ifdef HAS_MPROTECT
|
||||
#ifdef HAVE_MPROTECT
|
||||
InstallHandler ();
|
||||
#endif
|
||||
}
|
||||
|
@ -1641,7 +1641,7 @@ void Generational_GC_Reinitialize () {
|
|||
|
||||
Object Internal_GC_Status (int strat, int flags) {
|
||||
Object list;
|
||||
#ifdef HAS_MPROTECT
|
||||
#ifdef HAVE_MPROTECT
|
||||
Object cell;
|
||||
#endif
|
||||
GC_Node;
|
||||
|
@ -1650,7 +1650,7 @@ Object Internal_GC_Status (int strat, int flags) {
|
|||
GC_Link (list);
|
||||
switch (strat) {
|
||||
default: /* query or stop-and-copy */
|
||||
#ifdef HAS_MPROTECT
|
||||
#ifdef HAVE_MPROTECT
|
||||
if (inc_collection) {
|
||||
cell = Cons (Sym_Incremental_GC, Null);
|
||||
(void)P_Set_Cdr (list, cell);
|
||||
|
@ -1659,7 +1659,7 @@ Object Internal_GC_Status (int strat, int flags) {
|
|||
break;
|
||||
case GC_STRAT_GEN:
|
||||
if (flags == GC_FLAGS_INCR) {
|
||||
#ifdef HAS_MPROTECT
|
||||
#ifdef HAVE_MPROTECT
|
||||
inc_collection = 1;
|
||||
cell = Cons (Sym_Incremental_GC, Null);
|
||||
(void)P_Set_Cdr (list, cell);
|
||||
|
|
12
src/io.c
12
src/io.c
|
@ -11,7 +11,7 @@
|
|||
#include <sys/param.h>
|
||||
#include <sys/stat.h>
|
||||
|
||||
#ifdef PATHCONF_PATH_MAX
|
||||
#ifdef PC_PATH_MAX_IN_UNISTD_H
|
||||
# include <unistd.h>
|
||||
#endif
|
||||
|
||||
|
@ -87,13 +87,11 @@ Object P_Output_Portp (Object x) {
|
|||
}
|
||||
|
||||
int Path_Max () {
|
||||
#ifdef PATH_MAX /* POSIX */
|
||||
#if defined(PATH_MAX) /* POSIX */
|
||||
return PATH_MAX;
|
||||
#else
|
||||
#ifdef MAXPATHLEN /* 4.3 BSD */
|
||||
#elif defined(MAXPATHLEN) /* 4.3 BSD */
|
||||
return MAXPATHLEN;
|
||||
#else
|
||||
#ifdef PATHCONF_PATH_MAX
|
||||
#elif defined(PC_PATH_MAX_IN_UNISTD_H)
|
||||
static int r;
|
||||
if (r == 0) {
|
||||
if ((r = pathconf ("/", _PC_PATH_MAX)) == -1)
|
||||
|
@ -104,8 +102,6 @@ int Path_Max () {
|
|||
#else
|
||||
return 1024;
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
|
||||
Object Get_File_Name (Object name) {
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
#endif
|
||||
|
||||
#ifdef FIND_AOUT
|
||||
# ifdef INCLUDE_UNISTD_H
|
||||
# ifdef HAVE_UNISTD_H
|
||||
# include <unistd.h>
|
||||
# else
|
||||
# include <sys/file.h>
|
||||
|
@ -87,7 +87,7 @@ void Exit_Handler () {
|
|||
Free_Heap ();
|
||||
}
|
||||
|
||||
#ifndef ATEXIT
|
||||
#ifndef HAVE_ATEXIT
|
||||
/* Hack: __GNUC_MINOR__ was introduced together with __attribute__ */
|
||||
#ifdef __GNUC_MINOR__
|
||||
extern void _exit() __attribute__ ((noreturn));
|
||||
|
@ -242,7 +242,7 @@ int main (int ac, char **av) {
|
|||
ALIGN(stkbase);
|
||||
Make_Heap (heap);
|
||||
Init_Everything ();
|
||||
#ifdef ATEXIT
|
||||
#ifdef HAVE_ATEXIT
|
||||
if (atexit (Exit_Handler) != 0)
|
||||
Fatal_Error ("atexit returned non-zero value");
|
||||
#endif
|
||||
|
|
|
@ -16,7 +16,7 @@ extern int Bignum_To_Integer (Object);
|
|||
Object Generic_Multiply(), Generic_Divide();
|
||||
|
||||
void Init_Math () {
|
||||
#ifdef RANDOM
|
||||
#ifdef HAVE_RANDOM
|
||||
srandom (getpid ());
|
||||
#else
|
||||
srand (getpid ());
|
||||
|
@ -1104,7 +1104,7 @@ Object P_Max (int argc, Object *argv) {
|
|||
}
|
||||
|
||||
Object P_Random () {
|
||||
#ifdef RANDOM
|
||||
#ifdef HAVE_RANDOM
|
||||
extern long int random();
|
||||
return Make_Long (random ());
|
||||
#else
|
||||
|
@ -1113,7 +1113,7 @@ Object P_Random () {
|
|||
}
|
||||
|
||||
Object P_Srandom (Object x) {
|
||||
#ifdef RANDOM
|
||||
#ifdef HAVE_RANDOM
|
||||
srandom (Get_Unsigned (x));
|
||||
#else
|
||||
srand (Get_Unsigned (x));
|
||||
|
|
|
@ -91,7 +91,7 @@ void Print_String (Object port, register char *buf, register int len) {
|
|||
p->ptr += len;
|
||||
}
|
||||
|
||||
#ifndef VPRINTF
|
||||
#ifndef HAVE_VPRINTF
|
||||
void vfprintf (register FILE *f, register char *fmt, va_list ap) {
|
||||
_doprnt (fmt, ap, f);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue