Makefile.in (host_hook_obj): New.
* Makefile.in (host_hook_obj): New. (OBJS): Add $(host_hook_obj). (host_default.o): New rule. * config.gcc (host_hook_obj): New, default to host-default.o. (powerpc-*-darwin*): Use host-darwin.o. (out_host_hook_obj): New. * configure: Regenerate. * configure.in: Print information about out_host_hook_obj, substitute into output files. * host-default.c: New file. * hosthooks.h: New file. * toplev.c (general_init): Call host_hooks.extra_signals. * config/rs6000/host-darwin.c: New file. * config/rs6000/x-darwin: New file. * doc/hostconfig.texi: Add documentation for new host hook. Rearrange existing documentation. From-SVN: r62470
This commit is contained in:
parent
dbdd348907
commit
476d909872
|
@ -1,3 +1,22 @@
|
|||
2003-02-05 Geoffrey Keating <geoffk@apple.com>
|
||||
|
||||
* Makefile.in (host_hook_obj): New.
|
||||
(OBJS): Add $(host_hook_obj).
|
||||
(host_default.o): New rule.
|
||||
* config.gcc (host_hook_obj): New, default to host-default.o.
|
||||
(powerpc-*-darwin*): Use host-darwin.o.
|
||||
(out_host_hook_obj): New.
|
||||
* configure: Regenerate.
|
||||
* configure.in: Print information about out_host_hook_obj, substitute
|
||||
into output files.
|
||||
* host-default.c: New file.
|
||||
* hosthooks.h: New file.
|
||||
* toplev.c (general_init): Call host_hooks.extra_signals.
|
||||
* config/rs6000/host-darwin.c: New file.
|
||||
* config/rs6000/x-darwin: New file.
|
||||
* doc/hostconfig.texi: Add documentation for new host hook.
|
||||
Rearrange existing documentation.
|
||||
|
||||
2003-02-05 Roger Sayle <roger@eyesopen.com>
|
||||
|
||||
* dwarf2out.c (mem_loc_descriptor): Replace ASM_SIMPLIFY_DWARF_ADDR
|
||||
|
|
|
@ -315,6 +315,7 @@ target_cpu_default=@target_cpu_default@
|
|||
GCC_THREAD_FILE=@thread_file@
|
||||
OBJC_BOEHM_GC=@objc_boehm_gc@
|
||||
GTHREAD_FLAGS=@gthread_flags@
|
||||
host_hook_obj=@out_host_hook_obj@
|
||||
# Be prepared for gcc2 merges.
|
||||
gcc_version=@gcc_version@
|
||||
gcc_version_trigger=@gcc_version_trigger@
|
||||
|
@ -784,7 +785,8 @@ OBJS = alias.o bb-reorder.o bitmap.o builtins.o caller-save.o calls.o \
|
|||
sibcall.o simplify-rtx.o ssa.o ssa-ccp.o ssa-dce.o stmt.o \
|
||||
stor-layout.o stringpool.o timevar.o toplev.o tracer.o tree.o tree-dump.o \
|
||||
tree-inline.o unroll.o varasm.o varray.o version.o vmsdbgout.o xcoffout.o \
|
||||
alloc-pool.o et-forest.o $(GGC) $(out_object_file) $(EXTRA_OBJS)
|
||||
alloc-pool.o et-forest.o \
|
||||
$(GGC) $(out_object_file) $(EXTRA_OBJS) $(host_hook_obj)
|
||||
|
||||
BACKEND = main.o libbackend.a
|
||||
|
||||
|
@ -1428,12 +1430,15 @@ toplev.o : toplev.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) $(RTL_
|
|||
dwarf2out.h sdbout.h dbxout.h $(EXPR_H) hard-reg-set.h $(BASIC_BLOCK_H) \
|
||||
graph.h $(LOOP_H) except.h $(REGS_H) $(TIMEVAR_H) $(lang_options_files) \
|
||||
ssa.h $(PARAMS_H) $(TM_P_H) reload.h dwarf2asm.h $(TARGET_H) \
|
||||
langhooks.h insn-flags.h options.h cfglayout.h real.h cfgloop.h
|
||||
langhooks.h insn-flags.h options.h cfglayout.h real.h cfgloop.h hosthooks.h
|
||||
$(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
|
||||
-DTARGET_NAME=\"$(target_alias)\" \
|
||||
-c $(srcdir)/toplev.c $(OUTPUT_OPTION)
|
||||
main.o : main.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) toplev.h
|
||||
|
||||
host-default.o : host-default.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
|
||||
hosthooks.h hosthooks-def.h
|
||||
|
||||
rtl-error.o: rtl-error.c $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) $(INSN_ATTR_H) \
|
||||
insn-config.h input.h toplev.h intl.h diagnostic.h $(CONFIG_H)
|
||||
|
||||
|
|
|
@ -99,6 +99,8 @@
|
|||
# host_extra_gcc_objs List of extra host-dependent objects that should
|
||||
# be linked into the gcc driver.
|
||||
#
|
||||
# out_host_hook_obj An object file that provides the host hooks.
|
||||
#
|
||||
# c_target_objs List of extra target-dependent objects that be
|
||||
# linked into the C compiler only.
|
||||
#
|
||||
|
@ -169,6 +171,8 @@
|
|||
# the compiler proper when this system is a host,
|
||||
# for host_extra_objs.
|
||||
#
|
||||
# host_hook_obj An object file that provides the host hooks.
|
||||
#
|
||||
# install_headers_dir Makefile-target for how the header file directory
|
||||
# is installed, when this system is a build system,
|
||||
# for build_install_headers_dir.
|
||||
|
@ -194,6 +198,7 @@ extra_host_objs=
|
|||
extra_gcc_objs=
|
||||
c_target_objs=
|
||||
cxx_target_objs=
|
||||
host_hook_obj=host-default.o
|
||||
tm_defines=
|
||||
xm_defines=
|
||||
# Set this to force installation and use of collect2.
|
||||
|
@ -1980,6 +1985,9 @@ powerpc-*-darwin*)
|
|||
extra_headers=altivec.h
|
||||
# override ppc default
|
||||
need_64bit_hwint=
|
||||
# powerpc-darwin host support.
|
||||
host_hook_obj=host-darwin.o
|
||||
xmake_file=rs6000/x-darwin
|
||||
;;
|
||||
powerpc*-*-freebsd*)
|
||||
tm_file="${tm_file} dbxelf.h elfos.h ${fbsd_tm_file} rs6000/sysv4.h rs6000/freebsd.h"
|
||||
|
@ -2956,6 +2964,7 @@ else
|
|||
host_extra_gcc_objs=$extra_gcc_objs
|
||||
host_extra_objs=$extra_host_objs
|
||||
host_exeext=$exeext
|
||||
out_host_hook_obj=$host_hook_obj
|
||||
pass2done=yes
|
||||
fi
|
||||
fi
|
||||
|
|
|
@ -0,0 +1,137 @@
|
|||
/* Darwin/powerpc host-specific hook definitions.
|
||||
Copyright (C) 2003 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GCC.
|
||||
|
||||
GCC is free software; you can redistribute it and/or modify it under
|
||||
the terms of the GNU General Public License as published by the Free
|
||||
Software Foundation; either version 2, or (at your option) any later
|
||||
version.
|
||||
|
||||
GCC is distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GCC; see the file COPYING. If not, write to the Free
|
||||
Software Foundation, 59 Temple Place - Suite 330, Boston, MA
|
||||
02111-1307, USA. */
|
||||
|
||||
|
||||
#include "config.h"
|
||||
#include "system.h"
|
||||
#include "coretypes.h"
|
||||
#include <signal.h>
|
||||
#include <sys/ucontext.h>
|
||||
#include "hosthooks.h"
|
||||
#include "hosthooks-def.h"
|
||||
#include "toplev.h"
|
||||
|
||||
static void segv_crash_handler PARAMS ((int));
|
||||
static void segv_handler PARAMS ((int, siginfo_t *, void *));
|
||||
static void darwin_rs6000_extra_signals PARAMS ((void));
|
||||
|
||||
/* No prototype for this, filed as Radar 3150910. */
|
||||
extern int sigaltstack(const stack_t *, stack_t *);
|
||||
|
||||
#undef HOST_HOOKS_EXTRA_SIGNALS
|
||||
#define HOST_HOOKS_EXTRA_SIGNALS darwin_rs6000_extra_signals
|
||||
|
||||
/* On Darwin/powerpc, a stack fault can be detected as a SIGSEGV that
|
||||
faulted on an instruction that's either
|
||||
or
|
||||
stwux %r1,xxx,%r1
|
||||
*/
|
||||
|
||||
static void
|
||||
segv_crash_handler (sig)
|
||||
int sig ATTRIBUTE_UNUSED;
|
||||
{
|
||||
internal_error ("Segmentation Fault (code)");
|
||||
}
|
||||
|
||||
static void
|
||||
segv_handler (sig, sip, scp)
|
||||
int sig ATTRIBUTE_UNUSED;
|
||||
siginfo_t *sip ATTRIBUTE_UNUSED;
|
||||
void *scp;
|
||||
{
|
||||
ucontext_t *uc = (ucontext_t *)scp;
|
||||
unsigned faulting_insn;
|
||||
|
||||
/* The fault might have happened when trying to run some instruction, in
|
||||
which case the next line will segfault _again_. Handle this case. */
|
||||
signal (SIGSEGV, segv_crash_handler);
|
||||
|
||||
faulting_insn = *(unsigned *)uc->uc_mcontext->ss.srr0;
|
||||
|
||||
/* Note that this only has to work for GCC, so we don't have to deal
|
||||
with all the possible cases (GCC has no AltiVec code, for
|
||||
instance). It's complicated because Darwin allows stores to
|
||||
below the stack pointer, and the prologue code takes advantage of
|
||||
this. */
|
||||
|
||||
if ((faulting_insn & 0xFFFF8000) == 0x94218000 /* stwu %r1, -xxx(%r1) */
|
||||
|| (faulting_insn & 0xFFFF03FF) == 0x7C21016E /* stwux %r1, xxx, %r1 */
|
||||
|| (faulting_insn & 0xFC1F8000) == 0x90018000 /* stw xxx, -yyy(%r1) */
|
||||
|| (faulting_insn & 0xFC1F8000) == 0xD8018000 /* stfd xxx, -yyy(%r1) */
|
||||
|| (faulting_insn & 0xFC1F8000) == 0xBC018000 /* stmw xxx, -yyy(%r1) */)
|
||||
{
|
||||
char *shell_name;
|
||||
|
||||
fnotice (stderr, "Out of stack space.\n");
|
||||
shell_name = getenv ("SHELL");
|
||||
if (shell_name != NULL)
|
||||
shell_name = strrchr (shell_name, '/');
|
||||
if (shell_name != NULL)
|
||||
{
|
||||
static const char * shell_commands[][2] = {
|
||||
{ "sh", "ulimit -S -s unlimited" },
|
||||
{ "bash", "ulimit -S -s unlimited" },
|
||||
{ "tcsh", "limit stacksize unlimited" },
|
||||
{ "csh", "limit stacksize unlimited" },
|
||||
/* zsh doesn't have "unlimited", this will work under the
|
||||
default configuration. */
|
||||
{ "zsh", "limit stacksize 32m" }
|
||||
};
|
||||
size_t i;
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE (shell_commands); i++)
|
||||
if (strcmp (shell_commands[i][0], shell_name + 1) == 0)
|
||||
{
|
||||
fnotice (stderr,
|
||||
"Try running `%s' in the shell to raise its limit.\n",
|
||||
shell_commands[i][1]);
|
||||
}
|
||||
}
|
||||
|
||||
exit (FATAL_EXIT_CODE);
|
||||
}
|
||||
|
||||
fprintf (stderr, "[address=%08lx pc=%08x]\n",
|
||||
uc->uc_mcontext->es.dar, uc->uc_mcontext->ss.srr0);
|
||||
internal_error ("Segmentation Fault");
|
||||
exit (FATAL_EXIT_CODE);
|
||||
}
|
||||
|
||||
static void
|
||||
darwin_rs6000_extra_signals ()
|
||||
{
|
||||
struct sigaction sact;
|
||||
stack_t sigstk;
|
||||
|
||||
sigstk.ss_sp = xmalloc (SIGSTKSZ);
|
||||
sigstk.ss_size = SIGSTKSZ;
|
||||
sigstk.ss_flags = 0;
|
||||
if (sigaltstack (&sigstk, NULL) < 0)
|
||||
fatal_io_error ("While setting up signal stack");
|
||||
|
||||
sigemptyset(&sact.sa_mask);
|
||||
sact.sa_flags = SA_ONSTACK | SA_SIGINFO;
|
||||
sact.sa_sigaction = segv_handler;
|
||||
if (sigaction (SIGSEGV, &sact, 0) < 0)
|
||||
fatal_io_error ("While setting up signal handler");
|
||||
}
|
||||
|
||||
const struct host_hooks host_hooks = HOST_HOOKS_INITIALIZER;
|
|
@ -0,0 +1,4 @@
|
|||
host-darwin.o : $(srcdir)/config/rs6000/host-darwin.c $(CONFIG_H) $(SYSTEM_H) \
|
||||
coretypes.h hosthooks.h hosthooks-def.h toplev.h
|
||||
$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
|
||||
$(srcdir)/config/rs6000/host-darwin.c
|
|
@ -5490,6 +5490,7 @@ else
|
|||
echo " $srcdir/config/$f"
|
||||
done
|
||||
fi
|
||||
echo "Using ${out_host_hook_obj} for host machine hooks."
|
||||
|
||||
if test "$host_xm_file" != "$build_xm_file"; then
|
||||
count=a
|
||||
|
@ -5631,14 +5632,14 @@ fi
|
|||
|
||||
|
||||
echo $ac_n "checking for library containing strerror""... $ac_c" 1>&6
|
||||
echo "configure:5635: checking for library containing strerror" >&5
|
||||
echo "configure:5636: checking for library containing strerror" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_search_strerror'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
ac_func_search_save_LIBS="$LIBS"
|
||||
ac_cv_search_strerror="no"
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 5642 "configure"
|
||||
#line 5643 "configure"
|
||||
#include "confdefs.h"
|
||||
/* Override any gcc2 internal prototype to avoid an error. */
|
||||
/* We use char because int might match the return type of a gcc2
|
||||
|
@ -5649,7 +5650,7 @@ int main() {
|
|||
strerror()
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:5653: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:5654: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
ac_cv_search_strerror="none required"
|
||||
else
|
||||
|
@ -5660,7 +5661,7 @@ rm -f conftest*
|
|||
test "$ac_cv_search_strerror" = "no" && for i in cposix; do
|
||||
LIBS="-l$i $ac_func_search_save_LIBS"
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 5664 "configure"
|
||||
#line 5665 "configure"
|
||||
#include "confdefs.h"
|
||||
/* Override any gcc2 internal prototype to avoid an error. */
|
||||
/* We use char because int might match the return type of a gcc2
|
||||
|
@ -5671,7 +5672,7 @@ int main() {
|
|||
strerror()
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:5675: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:5676: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
ac_cv_search_strerror="-l$i"
|
||||
break
|
||||
|
@ -5694,12 +5695,12 @@ fi
|
|||
|
||||
|
||||
echo $ac_n "checking for working const""... $ac_c" 1>&6
|
||||
echo "configure:5698: checking for working const" >&5
|
||||
echo "configure:5699: checking for working const" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 5703 "configure"
|
||||
#line 5704 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
int main() {
|
||||
|
@ -5748,7 +5749,7 @@ ccp = (char const *const *) p;
|
|||
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:5752: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
if { (eval echo configure:5753: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
rm -rf conftest*
|
||||
ac_cv_c_const=yes
|
||||
else
|
||||
|
@ -5769,12 +5770,12 @@ EOF
|
|||
fi
|
||||
|
||||
echo $ac_n "checking for off_t""... $ac_c" 1>&6
|
||||
echo "configure:5773: checking for off_t" >&5
|
||||
echo "configure:5774: checking for off_t" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_type_off_t'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 5778 "configure"
|
||||
#line 5779 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <sys/types.h>
|
||||
#if STDC_HEADERS
|
||||
|
@ -5802,12 +5803,12 @@ EOF
|
|||
fi
|
||||
|
||||
echo $ac_n "checking for size_t""... $ac_c" 1>&6
|
||||
echo "configure:5806: checking for size_t" >&5
|
||||
echo "configure:5807: checking for size_t" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 5811 "configure"
|
||||
#line 5812 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <sys/types.h>
|
||||
#if STDC_HEADERS
|
||||
|
@ -5837,19 +5838,19 @@ fi
|
|||
# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
|
||||
# for constant arguments. Useless!
|
||||
echo $ac_n "checking for working alloca.h""... $ac_c" 1>&6
|
||||
echo "configure:5841: checking for working alloca.h" >&5
|
||||
echo "configure:5842: checking for working alloca.h" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_header_alloca_h'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 5846 "configure"
|
||||
#line 5847 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <alloca.h>
|
||||
int main() {
|
||||
char *p = alloca(2 * sizeof(int));
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:5853: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:5854: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
ac_cv_header_alloca_h=yes
|
||||
else
|
||||
|
@ -5870,12 +5871,12 @@ EOF
|
|||
fi
|
||||
|
||||
echo $ac_n "checking for alloca""... $ac_c" 1>&6
|
||||
echo "configure:5874: checking for alloca" >&5
|
||||
echo "configure:5875: checking for alloca" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_func_alloca_works'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 5879 "configure"
|
||||
#line 5880 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
#ifdef __GNUC__
|
||||
|
@ -5903,7 +5904,7 @@ int main() {
|
|||
char *p = (char *) alloca(1);
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:5907: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:5908: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
ac_cv_func_alloca_works=yes
|
||||
else
|
||||
|
@ -5935,12 +5936,12 @@ EOF
|
|||
|
||||
|
||||
echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6
|
||||
echo "configure:5939: checking whether alloca needs Cray hooks" >&5
|
||||
echo "configure:5940: checking whether alloca needs Cray hooks" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_os_cray'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 5944 "configure"
|
||||
#line 5945 "configure"
|
||||
#include "confdefs.h"
|
||||
#if defined(CRAY) && ! defined(CRAY2)
|
||||
webecray
|
||||
|
@ -5965,12 +5966,12 @@ echo "$ac_t""$ac_cv_os_cray" 1>&6
|
|||
if test $ac_cv_os_cray = yes; then
|
||||
for ac_func in _getb67 GETB67 getb67; do
|
||||
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
|
||||
echo "configure:5969: checking for $ac_func" >&5
|
||||
echo "configure:5970: checking for $ac_func" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 5974 "configure"
|
||||
#line 5975 "configure"
|
||||
#include "confdefs.h"
|
||||
/* System header to define __stub macros and hopefully few prototypes,
|
||||
which can conflict with char $ac_func(); below. */
|
||||
|
@ -5993,7 +5994,7 @@ $ac_func();
|
|||
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:5997: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:5998: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
eval "ac_cv_func_$ac_func=yes"
|
||||
else
|
||||
|
@ -6020,7 +6021,7 @@ done
|
|||
fi
|
||||
|
||||
echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6
|
||||
echo "configure:6024: checking stack direction for C alloca" >&5
|
||||
echo "configure:6025: checking stack direction for C alloca" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_c_stack_direction'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
|
@ -6028,7 +6029,7 @@ else
|
|||
ac_cv_c_stack_direction=0
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 6032 "configure"
|
||||
#line 6033 "configure"
|
||||
#include "confdefs.h"
|
||||
find_stack_direction ()
|
||||
{
|
||||
|
@ -6047,7 +6048,7 @@ main ()
|
|||
exit (find_stack_direction() < 0);
|
||||
}
|
||||
EOF
|
||||
if { (eval echo configure:6051: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
|
||||
if { (eval echo configure:6052: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
|
||||
then
|
||||
ac_cv_c_stack_direction=1
|
||||
else
|
||||
|
@ -6070,12 +6071,12 @@ fi
|
|||
|
||||
|
||||
echo $ac_n "checking whether we are using the GNU C Library 2.1 or newer""... $ac_c" 1>&6
|
||||
echo "configure:6074: checking whether we are using the GNU C Library 2.1 or newer" >&5
|
||||
echo "configure:6075: checking whether we are using the GNU C Library 2.1 or newer" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_gnu_library_2_1'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 6079 "configure"
|
||||
#line 6080 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
#include <features.h>
|
||||
|
@ -6111,17 +6112,17 @@ stdlib.h string.h unistd.h sys/param.h
|
|||
do
|
||||
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
|
||||
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
|
||||
echo "configure:6115: checking for $ac_hdr" >&5
|
||||
echo "configure:6116: checking for $ac_hdr" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 6120 "configure"
|
||||
#line 6121 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <$ac_hdr>
|
||||
EOF
|
||||
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
|
||||
{ (eval echo configure:6125: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
{ (eval echo configure:6126: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
|
||||
if test -z "$ac_err"; then
|
||||
rm -rf conftest*
|
||||
|
@ -6152,12 +6153,12 @@ getgid getuid mempcpy munmap putenv setenv setlocale stpcpy strchr strcasecmp \
|
|||
strdup strtoul tsearch __argz_count __argz_stringify __argz_next
|
||||
do
|
||||
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
|
||||
echo "configure:6156: checking for $ac_func" >&5
|
||||
echo "configure:6157: checking for $ac_func" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 6161 "configure"
|
||||
#line 6162 "configure"
|
||||
#include "confdefs.h"
|
||||
/* System header to define __stub macros and hopefully few prototypes,
|
||||
which can conflict with char $ac_func(); below. */
|
||||
|
@ -6180,7 +6181,7 @@ $ac_func();
|
|||
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:6184: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:6185: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
eval "ac_cv_func_$ac_func=yes"
|
||||
else
|
||||
|
@ -6221,7 +6222,7 @@ fi
|
|||
|
||||
|
||||
echo $ac_n "checking for iconv""... $ac_c" 1>&6
|
||||
echo "configure:6225: checking for iconv" >&5
|
||||
echo "configure:6226: checking for iconv" >&5
|
||||
if eval "test \"`echo '$''{'am_cv_func_iconv'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
|
@ -6229,7 +6230,7 @@ else
|
|||
am_cv_func_iconv="no, consider installing GNU libiconv"
|
||||
am_cv_lib_iconv=no
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 6233 "configure"
|
||||
#line 6234 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <stdlib.h>
|
||||
#include <iconv.h>
|
||||
|
@ -6239,7 +6240,7 @@ iconv_t cd = iconv_open("","");
|
|||
iconv_close(cd);
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:6243: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:6244: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
am_cv_func_iconv=yes
|
||||
else
|
||||
|
@ -6251,7 +6252,7 @@ rm -f conftest*
|
|||
am_save_LIBS="$LIBS"
|
||||
LIBS="$LIBS $am_cv_libiconv_ldpath -liconv"
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 6255 "configure"
|
||||
#line 6256 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <stdlib.h>
|
||||
#include <iconv.h>
|
||||
|
@ -6261,7 +6262,7 @@ iconv_t cd = iconv_open("","");
|
|||
iconv_close(cd);
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:6265: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:6266: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
am_cv_lib_iconv=yes
|
||||
am_cv_func_iconv=yes
|
||||
|
@ -6282,13 +6283,13 @@ echo "$ac_t""$am_cv_func_iconv" 1>&6
|
|||
EOF
|
||||
|
||||
echo $ac_n "checking for iconv declaration""... $ac_c" 1>&6
|
||||
echo "configure:6286: checking for iconv declaration" >&5
|
||||
echo "configure:6287: checking for iconv declaration" >&5
|
||||
if eval "test \"`echo '$''{'am_cv_proto_iconv'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 6292 "configure"
|
||||
#line 6293 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
#include <stdlib.h>
|
||||
|
@ -6307,7 +6308,7 @@ int main() {
|
|||
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:6311: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
if { (eval echo configure:6312: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||
rm -rf conftest*
|
||||
am_cv_proto_iconv_arg1=""
|
||||
else
|
||||
|
@ -6336,19 +6337,19 @@ EOF
|
|||
|
||||
|
||||
echo $ac_n "checking for nl_langinfo and CODESET""... $ac_c" 1>&6
|
||||
echo "configure:6340: checking for nl_langinfo and CODESET" >&5
|
||||
echo "configure:6341: checking for nl_langinfo and CODESET" >&5
|
||||
if eval "test \"`echo '$''{'am_cv_langinfo_codeset'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 6345 "configure"
|
||||
#line 6346 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <langinfo.h>
|
||||
int main() {
|
||||
char* cs = nl_langinfo(CODESET);
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:6352: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:6353: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
am_cv_langinfo_codeset=yes
|
||||
else
|
||||
|
@ -6371,19 +6372,19 @@ EOF
|
|||
|
||||
if test $ac_cv_header_locale_h = yes; then
|
||||
echo $ac_n "checking for LC_MESSAGES""... $ac_c" 1>&6
|
||||
echo "configure:6375: checking for LC_MESSAGES" >&5
|
||||
echo "configure:6376: checking for LC_MESSAGES" >&5
|
||||
if eval "test \"`echo '$''{'am_cv_val_LC_MESSAGES'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 6380 "configure"
|
||||
#line 6381 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <locale.h>
|
||||
int main() {
|
||||
return LC_MESSAGES
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:6387: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:6388: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
am_cv_val_LC_MESSAGES=yes
|
||||
else
|
||||
|
@ -6404,7 +6405,7 @@ EOF
|
|||
fi
|
||||
fi
|
||||
echo $ac_n "checking whether NLS is requested""... $ac_c" 1>&6
|
||||
echo "configure:6408: checking whether NLS is requested" >&5
|
||||
echo "configure:6409: checking whether NLS is requested" >&5
|
||||
# Check whether --enable-nls or --disable-nls was given.
|
||||
if test "${enable_nls+set}" = set; then
|
||||
enableval="$enable_nls"
|
||||
|
@ -6427,7 +6428,7 @@ fi
|
|||
EOF
|
||||
|
||||
echo $ac_n "checking whether included gettext is requested""... $ac_c" 1>&6
|
||||
echo "configure:6431: checking whether included gettext is requested" >&5
|
||||
echo "configure:6432: checking whether included gettext is requested" >&5
|
||||
# Check whether --with-included-gettext or --without-included-gettext was given.
|
||||
if test "${with_included_gettext+set}" = set; then
|
||||
withval="$with_included_gettext"
|
||||
|
@ -6447,17 +6448,17 @@ fi
|
|||
|
||||
ac_safe=`echo "libintl.h" | sed 'y%./+-%__p_%'`
|
||||
echo $ac_n "checking for libintl.h""... $ac_c" 1>&6
|
||||
echo "configure:6451: checking for libintl.h" >&5
|
||||
echo "configure:6452: checking for libintl.h" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 6456 "configure"
|
||||
#line 6457 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <libintl.h>
|
||||
EOF
|
||||
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
|
||||
{ (eval echo configure:6461: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
{ (eval echo configure:6462: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
|
||||
if test -z "$ac_err"; then
|
||||
rm -rf conftest*
|
||||
|
@ -6478,12 +6479,12 @@ if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
|
|||
EOF
|
||||
|
||||
echo $ac_n "checking for GNU gettext in libc""... $ac_c" 1>&6
|
||||
echo "configure:6482: checking for GNU gettext in libc" >&5
|
||||
echo "configure:6483: checking for GNU gettext in libc" >&5
|
||||
if eval "test \"`echo '$''{'gt_cv_func_gnugettext1_libc'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 6487 "configure"
|
||||
#line 6488 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <libintl.h>
|
||||
extern int _nl_msg_cat_cntr;
|
||||
|
@ -6492,7 +6493,7 @@ bindtextdomain ("", "");
|
|||
return (int) gettext ("") + _nl_msg_cat_cntr
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:6496: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:6497: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
gt_cv_func_gnugettext1_libc=yes
|
||||
else
|
||||
|
@ -6508,14 +6509,14 @@ echo "$ac_t""$gt_cv_func_gnugettext1_libc" 1>&6
|
|||
|
||||
if test "$gt_cv_func_gnugettext1_libc" != "yes"; then
|
||||
echo $ac_n "checking for GNU gettext in libintl""... $ac_c" 1>&6
|
||||
echo "configure:6512: checking for GNU gettext in libintl" >&5
|
||||
echo "configure:6513: checking for GNU gettext in libintl" >&5
|
||||
if eval "test \"`echo '$''{'gt_cv_func_gnugettext1_libintl'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
gt_save_LIBS="$LIBS"
|
||||
LIBS="$LIBS -lintl $LIBICONV"
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 6519 "configure"
|
||||
#line 6520 "configure"
|
||||
#include "confdefs.h"
|
||||
#include <libintl.h>
|
||||
extern int _nl_msg_cat_cntr;
|
||||
|
@ -6524,7 +6525,7 @@ bindtextdomain ("", "");
|
|||
return (int) gettext ("") + _nl_msg_cat_cntr
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:6528: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:6529: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
gt_cv_func_gnugettext1_libintl=yes
|
||||
else
|
||||
|
@ -6557,12 +6558,12 @@ EOF
|
|||
for ac_func in dcgettext
|
||||
do
|
||||
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
|
||||
echo "configure:6561: checking for $ac_func" >&5
|
||||
echo "configure:6562: checking for $ac_func" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 6566 "configure"
|
||||
#line 6567 "configure"
|
||||
#include "confdefs.h"
|
||||
/* System header to define __stub macros and hopefully few prototypes,
|
||||
which can conflict with char $ac_func(); below. */
|
||||
|
@ -6585,7 +6586,7 @@ $ac_func();
|
|||
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:6589: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:6590: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
eval "ac_cv_func_$ac_func=yes"
|
||||
else
|
||||
|
@ -6614,7 +6615,7 @@ done
|
|||
# Extract the first word of "msgfmt", so it can be a program name with args.
|
||||
set dummy msgfmt; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:6618: checking for $ac_word" >&5
|
||||
echo "configure:6619: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
|
@ -6648,7 +6649,7 @@ fi
|
|||
# Extract the first word of "gmsgfmt", so it can be a program name with args.
|
||||
set dummy gmsgfmt; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:6652: checking for $ac_word" >&5
|
||||
echo "configure:6653: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
|
@ -6685,7 +6686,7 @@ fi
|
|||
# Extract the first word of "xgettext", so it can be a program name with args.
|
||||
set dummy xgettext; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:6689: checking for $ac_word" >&5
|
||||
echo "configure:6690: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
|
@ -6735,7 +6736,7 @@ fi
|
|||
# Extract the first word of "msgfmt", so it can be a program name with args.
|
||||
set dummy msgfmt; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:6739: checking for $ac_word" >&5
|
||||
echo "configure:6740: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
|
@ -6769,7 +6770,7 @@ fi
|
|||
# Extract the first word of "gmsgfmt", so it can be a program name with args.
|
||||
set dummy gmsgfmt; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:6773: checking for $ac_word" >&5
|
||||
echo "configure:6774: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
|
@ -6805,7 +6806,7 @@ fi
|
|||
# Extract the first word of "xgettext", so it can be a program name with args.
|
||||
set dummy xgettext; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:6809: checking for $ac_word" >&5
|
||||
echo "configure:6810: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
|
@ -6877,7 +6878,7 @@ do
|
|||
# Extract the first word of "$ac_prog", so it can be a program name with args.
|
||||
set dummy $ac_prog; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
echo "configure:6881: checking for $ac_word" >&5
|
||||
echo "configure:6882: checking for $ac_word" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_prog_INTLBISON'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
|
@ -6910,7 +6911,7 @@ done
|
|||
ac_verc_fail=yes
|
||||
else
|
||||
echo $ac_n "checking version of bison""... $ac_c" 1>&6
|
||||
echo "configure:6914: checking version of bison" >&5
|
||||
echo "configure:6915: checking version of bison" >&5
|
||||
ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'`
|
||||
case $ac_prog_version in
|
||||
'') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
|
||||
|
@ -6955,7 +6956,7 @@ EOF
|
|||
|
||||
if test "x$CATOBJEXT" != x; then
|
||||
echo $ac_n "checking for catalogs to be installed""... $ac_c" 1>&6
|
||||
echo "configure:6959: checking for catalogs to be installed" >&5
|
||||
echo "configure:6960: checking for catalogs to be installed" >&5
|
||||
# Look for .po and .gmo files in the source directory.
|
||||
CATALOGS=
|
||||
XLINGUAS=
|
||||
|
@ -7013,7 +7014,7 @@ fi
|
|||
case $host_os in
|
||||
win32 | pe | cygwin* | mingw32* | uwin*)
|
||||
echo $ac_n "checking whether windows registry support is requested""... $ac_c" 1>&6
|
||||
echo "configure:7017: checking whether windows registry support is requested" >&5
|
||||
echo "configure:7018: checking whether windows registry support is requested" >&5
|
||||
if test "x$enable_win32_registry" != xno; then
|
||||
cat >> confdefs.h <<\EOF
|
||||
#define ENABLE_WIN32_REGISTRY 1
|
||||
|
@ -7022,14 +7023,14 @@ EOF
|
|||
echo "$ac_t""yes" 1>&6
|
||||
|
||||
echo $ac_n "checking for library containing RegOpenKeyExA""... $ac_c" 1>&6
|
||||
echo "configure:7026: checking for library containing RegOpenKeyExA" >&5
|
||||
echo "configure:7027: checking for library containing RegOpenKeyExA" >&5
|
||||
if eval "test \"`echo '$''{'ac_cv_search_RegOpenKeyExA'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
ac_func_search_save_LIBS="$LIBS"
|
||||
ac_cv_search_RegOpenKeyExA="no"
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 7033 "configure"
|
||||
#line 7034 "configure"
|
||||
#include "confdefs.h"
|
||||
/* Override any gcc2 internal prototype to avoid an error. */
|
||||
/* We use char because int might match the return type of a gcc2
|
||||
|
@ -7040,7 +7041,7 @@ int main() {
|
|||
RegOpenKeyExA()
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:7044: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:7045: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
ac_cv_search_RegOpenKeyExA="none required"
|
||||
else
|
||||
|
@ -7051,7 +7052,7 @@ rm -f conftest*
|
|||
test "$ac_cv_search_RegOpenKeyExA" = "no" && for i in advapi32; do
|
||||
LIBS="-l$i $ac_func_search_save_LIBS"
|
||||
cat > conftest.$ac_ext <<EOF
|
||||
#line 7055 "configure"
|
||||
#line 7056 "configure"
|
||||
#include "confdefs.h"
|
||||
/* Override any gcc2 internal prototype to avoid an error. */
|
||||
/* We use char because int might match the return type of a gcc2
|
||||
|
@ -7062,7 +7063,7 @@ int main() {
|
|||
RegOpenKeyExA()
|
||||
; return 0; }
|
||||
EOF
|
||||
if { (eval echo configure:7066: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
if { (eval echo configure:7067: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
rm -rf conftest*
|
||||
ac_cv_search_RegOpenKeyExA="-l$i"
|
||||
break
|
||||
|
@ -7104,7 +7105,7 @@ esac
|
|||
|
||||
if test "x$enable_win32_registry" != xno; then
|
||||
echo $ac_n "checking registry key on windows hosts""... $ac_c" 1>&6
|
||||
echo "configure:7108: checking registry key on windows hosts" >&5
|
||||
echo "configure:7109: checking registry key on windows hosts" >&5
|
||||
cat >> confdefs.h <<EOF
|
||||
#define WIN32_REGISTRY_KEY "$gcc_cv_win32_registry_key"
|
||||
EOF
|
||||
|
@ -7317,7 +7318,7 @@ fi
|
|||
|
||||
# Figure out what assembler we will be using.
|
||||
echo $ac_n "checking what assembler to use""... $ac_c" 1>&6
|
||||
echo "configure:7321: checking what assembler to use" >&5
|
||||
echo "configure:7322: checking what assembler to use" >&5
|
||||
gcc_cv_as=
|
||||
gcc_cv_gas_major_version=
|
||||
gcc_cv_gas_minor_version=
|
||||
|
@ -7411,7 +7412,7 @@ fi
|
|||
|
||||
# Figure out what linker we will be using.
|
||||
echo $ac_n "checking what linker to use""... $ac_c" 1>&6
|
||||
echo "configure:7415: checking what linker to use" >&5
|
||||
echo "configure:7416: checking what linker to use" >&5
|
||||
gcc_cv_ld=
|
||||
gcc_cv_gld_major_version=
|
||||
gcc_cv_gld_minor_version=
|
||||
|
@ -7504,7 +7505,7 @@ fi
|
|||
|
||||
# Figure out what nm we will be using.
|
||||
echo $ac_n "checking what nm to use""... $ac_c" 1>&6
|
||||
echo "configure:7508: checking what nm to use" >&5
|
||||
echo "configure:7509: checking what nm to use" >&5
|
||||
if test -x nm$host_exeext; then
|
||||
gcc_cv_nm=./nm$host_exeext
|
||||
elif test "x$program_prefix" != xNONE; then
|
||||
|
@ -7516,7 +7517,7 @@ echo "$ac_t""$gcc_cv_nm" 1>&6
|
|||
|
||||
# Figure out what objdump we will be using.
|
||||
echo $ac_n "checking what objdump to use""... $ac_c" 1>&6
|
||||
echo "configure:7520: checking what objdump to use" >&5
|
||||
echo "configure:7521: checking what objdump to use" >&5
|
||||
if test -x objdump$host_exeext; then
|
||||
gcc_cv_objdump=./objdump$host_exeext
|
||||
elif test "x$program_prefix" != xNONE; then
|
||||
|
@ -7528,7 +7529,7 @@ echo "$ac_t""$gcc_cv_objdump" 1>&6
|
|||
|
||||
# Figure out what assembler alignment features are present.
|
||||
echo $ac_n "checking assembler alignment features""... $ac_c" 1>&6
|
||||
echo "configure:7532: checking assembler alignment features" >&5
|
||||
echo "configure:7533: checking assembler alignment features" >&5
|
||||
gcc_cv_as_alignment_features=none
|
||||
if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then
|
||||
# Gas version 2.6 and later support for .balign and .p2align.
|
||||
|
@ -7576,7 +7577,7 @@ fi
|
|||
echo "$ac_t""$gcc_cv_as_alignment_features" 1>&6
|
||||
|
||||
echo $ac_n "checking assembler subsection support""... $ac_c" 1>&6
|
||||
echo "configure:7580: checking assembler subsection support" >&5
|
||||
echo "configure:7581: checking assembler subsection support" >&5
|
||||
gcc_cv_as_subsections=no
|
||||
if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then
|
||||
if test "$gcc_cv_gas_major_version" -eq 2 -a "$gcc_cv_gas_minor_version" -ge 9 -o "$gcc_cv_gas_major_version" -gt 2 && grep 'obj_format = elf' ../gas/Makefile > /dev/null; then
|
||||
|
@ -7616,7 +7617,7 @@ fi
|
|||
echo "$ac_t""$gcc_cv_as_subsections" 1>&6
|
||||
|
||||
echo $ac_n "checking assembler weak support""... $ac_c" 1>&6
|
||||
echo "configure:7620: checking assembler weak support" >&5
|
||||
echo "configure:7621: checking assembler weak support" >&5
|
||||
gcc_cv_as_weak=no
|
||||
if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then
|
||||
if test "$gcc_cv_gas_major_version" -eq 2 -a "$gcc_cv_gas_minor_version" -ge 2 -o "$gcc_cv_gas_major_version" -gt 2; then
|
||||
|
@ -7639,7 +7640,7 @@ fi
|
|||
echo "$ac_t""$gcc_cv_as_weak" 1>&6
|
||||
|
||||
echo $ac_n "checking assembler hidden support""... $ac_c" 1>&6
|
||||
echo "configure:7643: checking assembler hidden support" >&5
|
||||
echo "configure:7644: checking assembler hidden support" >&5
|
||||
gcc_cv_as_hidden=no
|
||||
if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then
|
||||
if test "$gcc_cv_gas_major_version" -eq 2 \
|
||||
|
@ -7715,7 +7716,7 @@ esac
|
|||
|
||||
|
||||
echo $ac_n "checking assembler leb128 support""... $ac_c" 1>&6
|
||||
echo "configure:7719: checking assembler leb128 support" >&5
|
||||
echo "configure:7720: checking assembler leb128 support" >&5
|
||||
gcc_cv_as_leb128=no
|
||||
if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then
|
||||
if test "$gcc_cv_gas_major_version" -eq 2 -a "$gcc_cv_gas_minor_version" -ge 11 -o "$gcc_cv_gas_major_version" -gt 2 && grep 'obj_format = elf' ../gas/Makefile > /dev/null; then
|
||||
|
@ -7760,7 +7761,7 @@ fi
|
|||
echo "$ac_t""$gcc_cv_as_leb128" 1>&6
|
||||
|
||||
echo $ac_n "checking assembler eh_frame optimization""... $ac_c" 1>&6
|
||||
echo "configure:7764: checking assembler eh_frame optimization" >&5
|
||||
echo "configure:7765: checking assembler eh_frame optimization" >&5
|
||||
gcc_cv_as_eh_frame=no
|
||||
if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then
|
||||
if test "$gcc_cv_gas_major_version" -eq 2 -a "$gcc_cv_gas_minor_version" -ge 12 -o "$gcc_cv_gas_major_version" -gt 2 && grep 'obj_format = elf' ../gas/Makefile > /dev/null; then
|
||||
|
@ -7841,7 +7842,7 @@ fi
|
|||
echo "$ac_t""$gcc_cv_as_eh_frame" 1>&6
|
||||
|
||||
echo $ac_n "checking assembler section merging support""... $ac_c" 1>&6
|
||||
echo "configure:7845: checking assembler section merging support" >&5
|
||||
echo "configure:7846: checking assembler section merging support" >&5
|
||||
gcc_cv_as_shf_merge=no
|
||||
if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then
|
||||
if test "$gcc_cv_gas_major_version" -eq 2 -a "$gcc_cv_gas_minor_version" -ge 12 -o "$gcc_cv_gas_major_version" -gt 2 && grep 'obj_format = elf' ../gas/Makefile > /dev/null; then
|
||||
|
@ -7864,7 +7865,7 @@ fi
|
|||
echo "$ac_t""$gcc_cv_as_shf_merge" 1>&6
|
||||
|
||||
echo $ac_n "checking assembler thread-local storage support""... $ac_c" 1>&6
|
||||
echo "configure:7868: checking assembler thread-local storage support" >&5
|
||||
echo "configure:7869: checking assembler thread-local storage support" >&5
|
||||
gcc_cv_as_tls=no
|
||||
conftest_s=
|
||||
tls_first_major=
|
||||
|
@ -8007,7 +8008,7 @@ case "$target" in
|
|||
# All TARGET_ABI_OSF targets.
|
||||
alpha*-*-osf* | alpha*-*-linux* | alpha*-*-*bsd*)
|
||||
echo $ac_n "checking assembler supports explicit relocations""... $ac_c" 1>&6
|
||||
echo "configure:8011: checking assembler supports explicit relocations" >&5
|
||||
echo "configure:8012: checking assembler supports explicit relocations" >&5
|
||||
if eval "test \"`echo '$''{'gcc_cv_as_explicit_relocs'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
|
@ -8057,7 +8058,7 @@ EOF
|
|||
;;
|
||||
sparc*-*-*)
|
||||
echo $ac_n "checking assembler .register pseudo-op support""... $ac_c" 1>&6
|
||||
echo "configure:8061: checking assembler .register pseudo-op support" >&5
|
||||
echo "configure:8062: checking assembler .register pseudo-op support" >&5
|
||||
if eval "test \"`echo '$''{'gcc_cv_as_register_pseudo_op'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
|
@ -8085,7 +8086,7 @@ EOF
|
|||
fi
|
||||
|
||||
echo $ac_n "checking assembler supports -relax""... $ac_c" 1>&6
|
||||
echo "configure:8089: checking assembler supports -relax" >&5
|
||||
echo "configure:8090: checking assembler supports -relax" >&5
|
||||
if eval "test \"`echo '$''{'gcc_cv_as_relax_opt'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
|
@ -8113,7 +8114,7 @@ EOF
|
|||
fi
|
||||
|
||||
echo $ac_n "checking assembler and linker support unaligned pc related relocs""... $ac_c" 1>&6
|
||||
echo "configure:8117: checking assembler and linker support unaligned pc related relocs" >&5
|
||||
echo "configure:8118: checking assembler and linker support unaligned pc related relocs" >&5
|
||||
if eval "test \"`echo '$''{'gcc_cv_as_sparc_ua_pcrel'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
|
@ -8140,7 +8141,7 @@ EOF
|
|||
fi
|
||||
|
||||
echo $ac_n "checking assembler and linker support unaligned pc related relocs against hidden symbols""... $ac_c" 1>&6
|
||||
echo "configure:8144: checking assembler and linker support unaligned pc related relocs against hidden symbols" >&5
|
||||
echo "configure:8145: checking assembler and linker support unaligned pc related relocs against hidden symbols" >&5
|
||||
if eval "test \"`echo '$''{'gcc_cv_as_sparc_ua_pcrel_hidden'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
|
@ -8180,7 +8181,7 @@ EOF
|
|||
fi
|
||||
|
||||
echo $ac_n "checking for assembler offsetable %lo() support""... $ac_c" 1>&6
|
||||
echo "configure:8184: checking for assembler offsetable %lo() support" >&5
|
||||
echo "configure:8185: checking for assembler offsetable %lo() support" >&5
|
||||
if eval "test \"`echo '$''{'gcc_cv_as_offsetable_lo10'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
|
@ -8219,7 +8220,7 @@ EOF
|
|||
|
||||
i[34567]86-*-* | x86_64-*-*)
|
||||
echo $ac_n "checking assembler instructions""... $ac_c" 1>&6
|
||||
echo "configure:8223: checking assembler instructions" >&5
|
||||
echo "configure:8224: checking assembler instructions" >&5
|
||||
gcc_cv_as_instructions=
|
||||
if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then
|
||||
if test "$gcc_cv_gas_major_version" -eq 2 -a "$gcc_cv_gas_minor_version" -ge 9 -o "$gcc_cv_gas_major_version" -gt 2; then
|
||||
|
@ -8246,7 +8247,7 @@ EOF
|
|||
echo "$ac_t""$gcc_cv_as_instructions" 1>&6
|
||||
|
||||
echo $ac_n "checking assembler GOTOFF in data directives""... $ac_c" 1>&6
|
||||
echo "configure:8250: checking assembler GOTOFF in data directives" >&5
|
||||
echo "configure:8251: checking assembler GOTOFF in data directives" >&5
|
||||
gcc_cv_as_gotoff_in_data=no
|
||||
if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x
|
||||
then
|
||||
|
@ -8276,7 +8277,7 @@ EOF
|
|||
esac
|
||||
|
||||
echo $ac_n "checking assembler dwarf2 debug_line support""... $ac_c" 1>&6
|
||||
echo "configure:8280: checking assembler dwarf2 debug_line support" >&5
|
||||
echo "configure:8281: checking assembler dwarf2 debug_line support" >&5
|
||||
gcc_cv_as_dwarf2_debug_line=no
|
||||
# ??? Not all targets support dwarf2 debug_line, even within a version
|
||||
# of gas. Moreover, we need to emit a valid instruction to trigger any
|
||||
|
@ -8333,7 +8334,7 @@ fi
|
|||
echo "$ac_t""$gcc_cv_as_dwarf2_debug_line" 1>&6
|
||||
|
||||
echo $ac_n "checking assembler --gdwarf2 support""... $ac_c" 1>&6
|
||||
echo "configure:8337: checking assembler --gdwarf2 support" >&5
|
||||
echo "configure:8338: checking assembler --gdwarf2 support" >&5
|
||||
gcc_cv_as_gdwarf2_flag=no
|
||||
if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x;
|
||||
then
|
||||
|
@ -8362,7 +8363,7 @@ fi
|
|||
echo "$ac_t""$gcc_cv_as_gdwarf2_flag" 1>&6
|
||||
|
||||
echo $ac_n "checking assembler --gstabs support""... $ac_c" 1>&6
|
||||
echo "configure:8366: checking assembler --gstabs support" >&5
|
||||
echo "configure:8367: checking assembler --gstabs support" >&5
|
||||
gcc_cv_as_gstabs_flag=no
|
||||
if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x;
|
||||
then
|
||||
|
@ -8390,7 +8391,7 @@ fi
|
|||
echo "$ac_t""$gcc_cv_as_gstabs_flag" 1>&6
|
||||
|
||||
echo $ac_n "checking linker read-only and read-write section mixing""... $ac_c" 1>&6
|
||||
echo "configure:8394: checking linker read-only and read-write section mixing" >&5
|
||||
echo "configure:8395: checking linker read-only and read-write section mixing" >&5
|
||||
gcc_cv_ld_ro_rw_mix=unknown
|
||||
if test x$gcc_cv_gld_major_version != x -a x$gcc_cv_gld_minor_version != x; then
|
||||
if test "$gcc_cv_gld_major_version" -eq 2 -a "$gcc_cv_gld_minor_version" -ge 10 -o "$gcc_cv_gld_major_version" -gt 2 && grep 'EMUL = elf' ../ld/Makefile > /dev/null; then
|
||||
|
@ -8428,7 +8429,7 @@ fi
|
|||
echo "$ac_t""$gcc_cv_ld_ro_rw_mix" 1>&6
|
||||
|
||||
echo $ac_n "checking linker PT_GNU_EH_FRAME support""... $ac_c" 1>&6
|
||||
echo "configure:8432: checking linker PT_GNU_EH_FRAME support" >&5
|
||||
echo "configure:8433: checking linker PT_GNU_EH_FRAME support" >&5
|
||||
gcc_cv_ld_eh_frame_hdr=no
|
||||
if test x$gcc_cv_gld_major_version != x -a x$gcc_cv_gld_minor_version != x; then
|
||||
if test "$gcc_cv_gld_major_version" -eq 2 -a "$gcc_cv_gld_minor_version" -ge 12 -o "$gcc_cv_gld_major_version" -gt 2 && grep 'EMUL = elf' ../ld/Makefile > /dev/null; then
|
||||
|
@ -8452,7 +8453,7 @@ echo "$ac_t""$gcc_cv_ld_eh_frame_hdr" 1>&6
|
|||
case "$target" in
|
||||
mips*-*-*)
|
||||
echo $ac_n "checking whether libgloss uses STARTUP directives consistently""... $ac_c" 1>&6
|
||||
echo "configure:8456: checking whether libgloss uses STARTUP directives consistently" >&5
|
||||
echo "configure:8457: checking whether libgloss uses STARTUP directives consistently" >&5
|
||||
gcc_cv_mips_libgloss_startup=no
|
||||
gcc_cv_libgloss_srcdir=`echo $srcdir | sed -e 's,/gcc$,,'`/libgloss
|
||||
if test "x$exec_prefix" = xNONE; then
|
||||
|
@ -8656,7 +8657,7 @@ fi
|
|||
|
||||
|
||||
echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
|
||||
echo "configure:8660: checking whether to enable maintainer-specific portions of Makefiles" >&5
|
||||
echo "configure:8661: checking whether to enable maintainer-specific portions of Makefiles" >&5
|
||||
# Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
|
||||
if test "${enable_maintainer_mode+set}" = set; then
|
||||
enableval="$enable_maintainer_mode"
|
||||
|
@ -8967,6 +8968,7 @@ ${CONFIG_SHELL-/bin/sh} $srcdir/configure.frag $srcdir "$subdirs" "$dep_host_xma
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# Echo that links are built
|
||||
|
@ -9277,6 +9279,7 @@ s%@host_extra_gcc_objs@%$host_extra_gcc_objs%g
|
|||
s%@host_xm_file_list@%$host_xm_file_list%g
|
||||
s%@host_xm_file@%$host_xm_file%g
|
||||
s%@host_xm_defines@%$host_xm_defines%g
|
||||
s%@out_host_hook_obj@%$out_host_hook_obj%g
|
||||
s%@install@%$install%g
|
||||
s%@lang_options_files@%$lang_options_files%g
|
||||
s%@lang_specs_files@%$lang_specs_files%g
|
||||
|
|
|
@ -956,6 +956,7 @@ else
|
|||
echo " $srcdir/config/$f"
|
||||
done
|
||||
fi
|
||||
echo "Using ${out_host_hook_obj} for host machine hooks."
|
||||
|
||||
if test "$host_xm_file" != "$build_xm_file"; then
|
||||
count=a
|
||||
|
@ -2858,6 +2859,7 @@ AC_SUBST(host_extra_gcc_objs)
|
|||
AC_SUBST(host_xm_file_list)
|
||||
AC_SUBST(host_xm_file)
|
||||
AC_SUBST(host_xm_defines)
|
||||
AC_SUBST(out_host_hook_obj)
|
||||
AC_SUBST(install)
|
||||
AC_SUBST(lang_options_files)
|
||||
AC_SUBST(lang_specs_files)
|
||||
|
|
|
@ -1,51 +1,60 @@
|
|||
@c Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
|
||||
@c 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
|
||||
@c Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
|
||||
@c 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
|
||||
@c This is part of the GCC manual.
|
||||
@c For copying conditions, see the file gcc.texi.
|
||||
@c For copying conditions, see the file gccint.texi.
|
||||
|
||||
@node Host Config
|
||||
@chapter Host Configuration Headers
|
||||
@chapter Host Configuration
|
||||
@cindex host configuration
|
||||
|
||||
Most details about the machine and system on which the compiler is
|
||||
actually running are detected by the @command{configure} script. Some
|
||||
things are impossible for @command{configure} to detect; these are
|
||||
described in two ways, either by macros defined in a file named
|
||||
@file{xm-@var{machine}.h} or by hook functions in the file specified
|
||||
by the @var{out_host_hook_obj} variable in @file{config.gcc}. (The
|
||||
intention is that very few hosts will need a header file but nearly
|
||||
every fully supported host will need to override some hooks.)
|
||||
|
||||
If you need to define only a few macros, and they have simple
|
||||
definitions, consider using the @code{xm_defines} variable in your
|
||||
@file{config.gcc} entry instead of creating a host configuration
|
||||
header. @xref{System Config}.
|
||||
|
||||
@menu
|
||||
* Host Common:: Things every host probably needs implemented.
|
||||
* Filesystem:: Your host can't have the letter `a' in filenames?
|
||||
* Host Misc:: Rare configuration options for hosts.
|
||||
@end menu
|
||||
|
||||
@node Host Common
|
||||
@section Host Common
|
||||
@cindex host hooks
|
||||
@cindex host functions
|
||||
|
||||
Some things are just not portable, even between similar operating systems,
|
||||
and are too difficult for autoconf to detect. They get implemented using
|
||||
hook functions in the file specified by the @var{host_hook_obj}
|
||||
variable in @file{config.gcc}.
|
||||
|
||||
@deftypefn {Host Hook} void HOST_HOOKS_EXTRA_SIGNALS (void)
|
||||
This host hook is used to set up handling for extra signals. The most
|
||||
common thing to do in this hook is to detect stack overflow.
|
||||
@end deftypefn
|
||||
|
||||
@node Filesystem
|
||||
@section Host Filesystem
|
||||
@cindex configuration file
|
||||
@cindex @file{xm-@var{machine}.h}
|
||||
|
||||
Host configuration headers contain macro definitions that describe the
|
||||
machine and system on which the compiler is running. They are usually
|
||||
unnecessary. Most of the things GCC needs to know about the host
|
||||
system can be deduced by the @command{configure} script.
|
||||
|
||||
If your host does need a special configuration header, it should be
|
||||
named @file{xm-@var{machine}.h}, where @var{machine} is a short mnemonic
|
||||
for the machine. Here are some macros which this header can define.
|
||||
GCC supports some filesystems that are very different to standard Unix
|
||||
filesystems. These macros, defined in @file{xm-@var{machine}.h},
|
||||
let you choose.
|
||||
|
||||
@ftable @code
|
||||
@item VMS
|
||||
Define this macro if the host system is VMS@.
|
||||
|
||||
@item FATAL_EXIT_CODE
|
||||
A C expression for the status code to be returned when the compiler
|
||||
exits after serious errors. The default is the system-provided macro
|
||||
@samp{EXIT_FAILURE}, or @samp{1} if the system doesn't define that
|
||||
macro. Define this macro only if these defaults are incorrect.
|
||||
|
||||
@item SUCCESS_EXIT_CODE
|
||||
A C expression for the status code to be returned when the compiler
|
||||
exits without serious errors. (Warnings are not serious errors.) The
|
||||
default is the system-provided macro @samp{EXIT_SUCCESS}, or @samp{0} if
|
||||
the system doesn't define that macro. Define this macro only if these
|
||||
defaults are incorrect.
|
||||
|
||||
@item USE_C_ALLOCA
|
||||
Define this macro if GCC should use the C implementation of @code{alloca}
|
||||
provided by @file{libiberty.a}. This only affects how some parts of the
|
||||
compiler itself allocate memory. It does not change code generation.
|
||||
|
||||
When GCC is built with a compiler other than itself, the C @code{alloca}
|
||||
is always used. This is because most other implementations have serious
|
||||
bugs. You should define this macro only on a system where no
|
||||
stack-based @code{alloca} can possibly work. For instance, if a system
|
||||
has a small limit on the size of the stack, GCC's builtin @code{alloca}
|
||||
will not work reliably.
|
||||
|
||||
@item HAVE_DOS_BASED_FILE_SYSTEM
|
||||
Define this macro if the host file system obeys the semantics defined by
|
||||
MS-DOS instead of Unix. DOS file systems are case insensitive, file
|
||||
|
@ -86,14 +95,6 @@ you do not define this macro, GCC will use @samp{/dev/null} as the bit
|
|||
bucket. If the host does not support a bit bucket, define this macro to
|
||||
an invalid filename.
|
||||
|
||||
@item COLLECT2_HOST_INITIALIZATION
|
||||
If defined, a C statement (sans semicolon) that performs host-dependent
|
||||
initialization when @code{collect2} is being initialized.
|
||||
|
||||
@item GCC_DRIVER_HOST_INITIALIZATION
|
||||
If defined, a C statement (sans semicolon) that performs host-dependent
|
||||
initialization when a compilation driver is being initialized.
|
||||
|
||||
@item UPDATE_PATH_HOST_CANONICALIZE (@var{path})
|
||||
If defined, a C statement (sans semicolon) that performs host-dependent
|
||||
canonicalization when a path used in a compilation driver or
|
||||
|
@ -112,6 +113,46 @@ unique to each dump file kind, e.g. @samp{rtl}.
|
|||
|
||||
If you do not define this macro, GCC will use @samp{.%02d.}. You should
|
||||
define this macro if using the default will create an invalid file name.
|
||||
@end ftable
|
||||
|
||||
@node Host Misc
|
||||
@section Host Misc
|
||||
@cindex configuration file
|
||||
@cindex @file{xm-@var{machine}.h}
|
||||
|
||||
@ftable @code
|
||||
@item FATAL_EXIT_CODE
|
||||
A C expression for the status code to be returned when the compiler
|
||||
exits after serious errors. The default is the system-provided macro
|
||||
@samp{EXIT_FAILURE}, or @samp{1} if the system doesn't define that
|
||||
macro. Define this macro only if these defaults are incorrect.
|
||||
|
||||
@item SUCCESS_EXIT_CODE
|
||||
A C expression for the status code to be returned when the compiler
|
||||
exits without serious errors. (Warnings are not serious errors.) The
|
||||
default is the system-provided macro @samp{EXIT_SUCCESS}, or @samp{0} if
|
||||
the system doesn't define that macro. Define this macro only if these
|
||||
defaults are incorrect.
|
||||
|
||||
@item USE_C_ALLOCA
|
||||
Define this macro if GCC should use the C implementation of @code{alloca}
|
||||
provided by @file{libiberty.a}. This only affects how some parts of the
|
||||
compiler itself allocate memory. It does not change code generation.
|
||||
|
||||
When GCC is built with a compiler other than itself, the C @code{alloca}
|
||||
is always used. This is because most other implementations have serious
|
||||
bugs. You should define this macro only on a system where no
|
||||
stack-based @code{alloca} can possibly work. For instance, if a system
|
||||
has a small limit on the size of the stack, GCC's builtin @code{alloca}
|
||||
will not work reliably.
|
||||
|
||||
@item COLLECT2_HOST_INITIALIZATION
|
||||
If defined, a C statement (sans semicolon) that performs host-dependent
|
||||
initialization when @code{collect2} is being initialized.
|
||||
|
||||
@item GCC_DRIVER_HOST_INITIALIZATION
|
||||
If defined, a C statement (sans semicolon) that performs host-dependent
|
||||
initialization when a compilation driver is being initialized.
|
||||
|
||||
@item SMALL_ARG_MAX
|
||||
Define this macro if the host system has a small limit on the total
|
||||
|
@ -123,8 +164,3 @@ In addition, if @command{configure} generates an incorrect definition of
|
|||
any of the macros in @file{auto-host.h}, you can override that
|
||||
definition in a host configuration header. If you need to do this,
|
||||
first see if it is possible to fix @command{configure}.
|
||||
|
||||
If you need to define only a few of these macros, and they have simple
|
||||
definitions, consider using the @code{xm_defines} variable in your
|
||||
@file{config.gcc} entry instead of creating a host configuration header.
|
||||
@xref{System Config}.
|
||||
|
|
|
@ -0,0 +1,28 @@
|
|||
/* Default host-specific hook definitions.
|
||||
Copyright (C) 2003 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GCC.
|
||||
|
||||
GCC is free software; you can redistribute it and/or modify it under
|
||||
the terms of the GNU General Public License as published by the Free
|
||||
Software Foundation; either version 2, or (at your option) any later
|
||||
version.
|
||||
|
||||
GCC is distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GCC; see the file COPYING. If not, write to the Free
|
||||
Software Foundation, 59 Temple Place - Suite 330, Boston, MA
|
||||
02111-1307, USA. */
|
||||
|
||||
|
||||
#include "config.h"
|
||||
#include "system.h"
|
||||
#include "coretypes.h"
|
||||
#include "hosthooks.h"
|
||||
#include "hosthooks-def.h"
|
||||
|
||||
const struct host_hooks host_hooks = HOST_HOOKS_INITIALIZER;
|
|
@ -0,0 +1,33 @@
|
|||
/* Default macros to initialize the lang_hooks data structure.
|
||||
Copyright 2003 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU CC.
|
||||
|
||||
GNU CC is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
GNU CC is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GNU CC; see the file COPYING. If not, write to
|
||||
the Free Software Foundation, 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA. */
|
||||
|
||||
#ifndef GCC_HOST_HOOKS_DEF_H
|
||||
#define GCC_HOST_HOOKS_DEF_H
|
||||
|
||||
#include "hooks.h"
|
||||
|
||||
#define HOST_HOOKS_EXTRA_SIGNALS hook_void_void
|
||||
|
||||
/* The structure is defined in hosthooks.h. */
|
||||
#define HOST_HOOKS_INITIALIZER { \
|
||||
HOST_HOOKS_EXTRA_SIGNALS \
|
||||
}
|
||||
|
||||
#endif /* GCC_HOST_HOOKS_DEF_H */
|
|
@ -0,0 +1,34 @@
|
|||
/* The host_hooks data structure.
|
||||
Copyright 2003 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU CC.
|
||||
|
||||
GNU CC is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
GNU CC is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GNU CC; see the file COPYING. If not, write to
|
||||
the Free Software Foundation, 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA. */
|
||||
|
||||
#ifndef GCC_HOST_HOOKS_H
|
||||
#define GCC_HOST_HOOKS_H
|
||||
|
||||
struct host_hooks
|
||||
{
|
||||
void (*extra_signals) PARAMS((void));
|
||||
|
||||
/* Whenever you add entries here, make sure you adjust hosthooks-def.h. */
|
||||
};
|
||||
|
||||
/* Each host provides its own. */
|
||||
extern const struct host_hooks host_hooks;
|
||||
|
||||
#endif /* GCC_LANG_HOOKS_H */
|
|
@ -74,6 +74,7 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
|
|||
#include "langhooks.h"
|
||||
#include "cfglayout.h"
|
||||
#include "cfgloop.h"
|
||||
#include "hosthooks.h"
|
||||
|
||||
#if defined (DWARF2_UNWIND_INFO) || defined (DWARF2_DEBUGGING_INFO)
|
||||
#include "dwarf2out.h"
|
||||
|
@ -4759,6 +4760,9 @@ general_init (argv0)
|
|||
signal (SIGFPE, crash_signal);
|
||||
#endif
|
||||
|
||||
/* Other host-specific signal setup. */
|
||||
(*host_hooks.extra_signals)();
|
||||
|
||||
/* Initialize the diagnostics reporting machinery, so option parsing
|
||||
can give warnings and errors. */
|
||||
diagnostic_initialize (global_dc);
|
||||
|
|
Loading…
Reference in New Issue