libcpp: dependency emission tidying
authorNathan Sidwell <nathan@acm.org>
Tue, 3 Nov 2020 12:59:48 +0000 (04:59 -0800)
committerNathan Sidwell <nathan@acm.org>
Tue, 3 Nov 2020 13:16:19 +0000 (05:16 -0800)
commit918e8b10a716ec720215afafb7baa1b9b75e4fa1
tree48548ad8236285ceca1910f4a6413b1c99126891
parentf7d6961126a7f06c8089d8a58bd21be43bc16806
libcpp: dependency emission tidying

This patch cleans up the interface to the dependency generation a
little.  We now only check the option in one place, and the
cpp_get_deps function returns nullptr if there are no dependencies.  I
also reworded the -MT and -MQ help text to be make agnostic -- as
there are ideas about emitting, say, JSON.

libcpp/
* include/mkdeps.h: Include cpplib.h
(deps_write): Adjust first parm type.
* mkdeps.c: Include internal.h
(make_write): Adjust first parm type.  Check phony option
directly.
(deps_write): Adjust first parm type.
* init.c (cpp_read_main_file): Use get_deps.
* directives.c (cpp_get_deps): Check option before initializing.
gcc/c-family/
* c.opt (MQ,MT): Reword description to be make-agnostic.
gcc/fortran/
* cpp.c (gfc_cpp_add_dep): Only add dependency if we're recording
them.
(gfc_cpp_init): Likewise for target.
gcc/c-family/c.opt
gcc/fortran/cpp.c
libcpp/directives.c
libcpp/include/mkdeps.h
libcpp/init.c
libcpp/mkdeps.c