Add support for target specific, language specific object files.
From-SVN: r37726
This commit is contained in:
parent
0a534f40cc
commit
aac69a49c9
@ -1,3 +1,28 @@
|
||||
2000-11-24 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
* config.gcc (extra_objs): Remove duplicate description.
|
||||
(c_target_objs): New variable. Contains target specific
|
||||
object files for the gcc C compiler only.
|
||||
(cxx_target_objs): New variable. Contains target specific
|
||||
object files for the gxx C++ compiler only.
|
||||
|
||||
* configure.in (c_target_objs): Substitute in the makefile.
|
||||
(cxx_target_objs): Substitute in the makefile.
|
||||
* configure: Regenerate.
|
||||
|
||||
* Makefile.in (C_TARGET_OBJS): Define and initialise from
|
||||
c_target_objs.
|
||||
(CXX_TARGET_OBJS): Define and initialise from
|
||||
cxx_target_objs.
|
||||
(C_AND_OBJC_OBJS): Include C_TARGET_OBJS.
|
||||
|
||||
* cp/Make-lang.in (CXX_C_OBJS): Include CXX_TARGET_OBJS).
|
||||
|
||||
* tm.texi (REGISTER_TARGET_PRAGMAS): Add paragraph explaining
|
||||
about how the use of the 'c_lex' function requires the use of
|
||||
the target specific, language specific object files feature of
|
||||
the configuration mechanism.
|
||||
|
||||
Fri Nov 24 18:50:58 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||||
|
||||
* gcc.c (process_command): Use F_OK, not R_OK.
|
||||
|
@ -713,9 +713,16 @@ SUBDIR_FLAGS_TO_PASS = $(ORDINARY_FLAGS_TO_PASS) \
|
||||
#
|
||||
# Lists of files for various purposes.
|
||||
|
||||
# Target specific, C specific object file
|
||||
C_TARGET_OBJS=@c_target_objs@
|
||||
|
||||
# Target specific, C++ specific object file
|
||||
CXX_TARGET_OBJS=@cxx_target_objs@
|
||||
|
||||
# Language-specific object files for C and Objective C.
|
||||
C_AND_OBJC_OBJS = c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o \
|
||||
c-convert.o c-aux-info.o c-common.o c-semantics.o c-dump.o $(MAYBE_CPPLIB)
|
||||
c-convert.o c-aux-info.o c-common.o c-semantics.o c-dump.o $(MAYBE_CPPLIB) \
|
||||
$(C_TARGET_OBJS)
|
||||
|
||||
# Language-specific object files for C.
|
||||
C_OBJS = c-parse.o c-lang.o $(C_AND_OBJC_OBJS)
|
||||
|
@ -87,12 +87,15 @@
|
||||
# host_extra_objs List of extra host-dependant objects that should
|
||||
# be linked into the compiler proper.
|
||||
#
|
||||
# extra_objs List of extra target-dependant objects that should
|
||||
# be linked into the compiler proper.
|
||||
#
|
||||
# host_extra_gcc_objs List of extra host-dependant objects that should
|
||||
# be linked into the gcc driver.
|
||||
#
|
||||
# c_target_objs List of extra target-dependant objects that be
|
||||
# linked into the C compiler only.
|
||||
#
|
||||
# cxx_target_objs List of extra target-dependant objects that be
|
||||
# linked into the C++ compiler only.
|
||||
#
|
||||
# build_xm_defines List of macros to define when compiling for the
|
||||
# build machine.
|
||||
#
|
||||
@ -171,6 +174,8 @@ extra_programs=
|
||||
extra_objs=
|
||||
extra_host_objs=
|
||||
extra_gcc_objs=
|
||||
c_target_objs=
|
||||
cxx_target_objs=
|
||||
xm_defines=
|
||||
float_format=
|
||||
# Set this to force installation and use of collect2.
|
||||
|
495
gcc/configure
vendored
495
gcc/configure
vendored
File diff suppressed because it is too large
Load Diff
@ -1862,6 +1862,8 @@ AC_SUBST(symbolic_link)
|
||||
AC_SUBST(thread_file)
|
||||
AC_SUBST(tm_file_list)
|
||||
AC_SUBST(will_use_collect2)
|
||||
AC_SUBST(c_target_objs)
|
||||
AC_SUBST(cxx_target_objs)
|
||||
|
||||
|
||||
AC_SUBST_FILE(target_overrides)
|
||||
|
@ -90,7 +90,7 @@ $(DEMANGLER_PROG): cxxmain.o underscore.o $(LIBDEPS)
|
||||
|
||||
# The compiler itself.
|
||||
# Shared with C front end:
|
||||
CXX_C_OBJS = c-common.o c-pragma.o c-semantics.o c-lex.o c-dump.o
|
||||
CXX_C_OBJS = c-common.o c-pragma.o c-semantics.o c-lex.o c-dump.o $(CXX_TARGET_OBJS)
|
||||
|
||||
# Language-specific object files.
|
||||
CXX_OBJS = cp/call.o cp/decl.o cp/errfn.o cp/expr.o cp/pt.o cp/typeck2.o \
|
||||
|
12
gcc/tm.texi
12
gcc/tm.texi
@ -7905,6 +7905,18 @@ Note that both @var{space} and @var{name} are case sensitive.
|
||||
|
||||
For an example use of this routine, see @file{c4x.h} and the callback
|
||||
routines defined in @file{c4x.c}.
|
||||
|
||||
Note that the use of @code{c_lex} is specific to the C and C++
|
||||
compilers. It will not work in the Java or Fortran compilers, or any
|
||||
other language compilers for that matter. Thus if @code{c_lex} is going
|
||||
to be called from target-specific code, it must only be done so when
|
||||
building hte C and C++ compilers. This can be done by defining the
|
||||
variables @code{c_target_objs} and @code{cxx_target_objs} in the
|
||||
target entry in the @code{config.gcc} file. These variables should name
|
||||
the target-specific, language-specific object file which contains the
|
||||
code that uses @code{c_lex}. Note it will also be necessary to add a
|
||||
rule to the makefile fragment pointed to by @code{tmake_file} that shows
|
||||
how to build this object file.
|
||||
@end deftypefun
|
||||
|
||||
@deftypefun void cpp_register_pragma_space (cpp_reader *@var{pfile}, const char *@var{space})
|
||||
|
Loading…
Reference in New Issue
Block a user