[arm] Move some generated files out of the source tree

Programming / Compilers / GCC - rearnsha [138bc75d-0d04-0410-961f-82ee72b054a4] - 4 July 2017 10:49 EDT

When I originally started work on the new options framework for ARM I'd worked on the assumption that AWK might not be available on every build machine (only on developer's machines). However, looking again I notice that all the options framework relies on it being present for every build. This means that some of the generated files that come from running parsecpu.awk do not need to be kept under revision control.

Unfortunately, it's not _all_ generated files. The build infrastructure assumes that all .md fragments are in the source tree and similarly that all .opt fragments are there as well.

Still, eliminating the very big .h files is a step forward as they are
very regular in structure and diff/patch/merge tools can sometimes make mistakes when resolving conflicts.

So this patch removes the generated .h files from the source tree and tweaks the make rules accordingly. I've also changed the build rules to use the stamp technique to eliminate some false dependencies in a rebuild.

Top-level:

- contrib/gcc_update (files_and_dependencies): Remove stamp rules for arm-specific auto-generated header files.

gcc:
- common/config/arm/arm-common.c: Adjust include path for arm-cpu-cdata.h
- t-arm (TM_H): Adjust path for arm-cpu.h. (arm-cpu.h): Create in build directory. Adjust dependency rules. (arm-cpu-data.h): Likewise. (arm-cpu-cdata.h): Likewise.
- config/arm/arm-cpu.h: Delete.
- config/arm/arm-cpu-cdata.h: Delete.
- config/arm/arm-cpu-data.h: Delete.

bf8761c [arm] Move some generated files out of the source tree
ChangeLog | 5 +
contrib/gcc_update | 3 -
gcc/ChangeLog | 12 +
gcc/common/config/arm/arm-common.c | 2 +-
gcc/config/arm/arm-cpu-cdata.h | 2684 ------------------------------------
gcc/config/arm/arm-cpu-data.h | 581 --------
gcc/config/arm/arm-cpu.h | 201 ---
gcc/config/arm/t-arm | 34 +-
8 files changed, 38 insertions(+), 3484 deletions(-)

Upstream: gcc.gnu.org


  • Share