aboutsummaryrefslogtreecommitdiff
path: root/gcc/config.gcc
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2011-06-14 21:11:37 +0100
committerJoseph Myers <jsm28@gcc.gnu.org>2011-06-14 21:11:37 +0100
commitc49a69620430855d0b44d4248f4722b0ce0e6013 (patch)
treefbc63c1e6ab5dbc70fa471c1f8ba73b1a4c9e4e5 /gcc/config.gcc
parent22c5fa5fbfd9634c3389f845e77ddf8e6ea32f7b (diff)
downloadgcc-c49a69620430855d0b44d4248f4722b0ce0e6013.zip
gcc-c49a69620430855d0b44d4248f4722b0ce0e6013.tar.gz
gcc-c49a69620430855d0b44d4248f4722b0ce0e6013.tar.bz2
common-target-def.h, [...]: New files.
* common/common-target-def.h, common/common-target.def, common/common-target.h, common/config/default-common.c, common/config/pa/pa-common.c: New files. * Makefile.in (common_out_file, common_out_object_file, COMMON_TARGET_H, COMMON_TARGET_DEF_H): New. (OBJS-libcommon-target): Include $(common_out_object_file). (prefix.o): Update dependencies. ($(common_out_object_file), common/common-target-hooks-def.h, s-common-target-hooks-def-h): New. (s-tm-texi): Also check timestamp on common-target.def. (build/genhooks.o): Update dependencies. * config.gcc (common_out_file, target_has_targetm_common): Define. * config/pa/som.h (ALWAYS_STRIP_DOTDOT): Replace with TARGET_ALWAYS_STRIP_DOTDOT. * configure.ac (common_out_object_file): Define. (common_out_file, common_out_object_file): Substitute. (common): Create directory. * configure: Regenerate. * doc/tm.texi.in (targetm_common): Document. (TARGET_ALWAYS_STRIP_DOTDOT): Add @hook entry. * doc/tm.texi: Regenerate. * genhooks.c (hook_array): Also include common/common-target.def. * prefix.c (tm.h): Don't include. (common/common-target.h): Include. (ALWAYS_STRIP_DOTDOT): Don't define. (update_path): Use targetm_common.always_strip_dotdot instead of ALWAYS_STRIP_DOTDOT. * system.h (ALWAYS_STRIP_DOTDOT): Poison. From-SVN: r175052
Diffstat (limited to 'gcc/config.gcc')
-rw-r--r--gcc/config.gcc17
1 files changed, 17 insertions, 0 deletions
diff --git a/gcc/config.gcc b/gcc/config.gcc
index e9704f3..ee9391d 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -96,6 +96,9 @@
# out_file The name of the machine description C support
# file, if different from "$cpu_type/$cpu_type.c".
#
+# common_out_file The name of the source file for code shared between
+# the compiler proper and the driver.
+#
# md_file The name of the machine-description file, if
# different from "$cpu_type/$cpu_type.md".
#
@@ -192,8 +195,12 @@
#
# target_has_targetcm Set to yes or no depending on whether the target
# has its own definition of targetcm.
+#
+# target_has_targetm_common Set to yes or no depending on whether the
+# target has its own definition of targetm_common.
out_file=
+common_out_file=
tmake_file=
extra_headers=
user_headers_inc_next_pre=
@@ -210,6 +217,7 @@ c_target_objs=
cxx_target_objs=
fortran_target_objs=
target_has_targetcm=no
+target_has_targetm_common=no
tm_defines=
xm_defines=
libgcc_tm_file=
@@ -359,6 +367,7 @@ ia64-*-*)
;;
hppa*-*-*)
cpu_type=pa
+ target_has_targetm_common=yes
;;
lm32*)
extra_options="${extra_options} g.opt"
@@ -2667,6 +2676,14 @@ if [ "$target_has_targetcm" = "no" ]; then
cxx_target_objs="$cxx_target_objs default-c.o"
fi
+if [ "$common_out_file" = "" ]; then
+ if [ "$target_has_targetm_common" = "yes" ]; then
+ common_out_file="$cpu_type/$cpu_type-common.c"
+ else
+ common_out_file="default-common.c"
+ fi
+fi
+
# Support for --with-cpu and related options (and a few unrelated options,
# too).
case ${with_cpu} in