aboutsummaryrefslogtreecommitdiff
path: root/docs/source/community
diff options
context:
space:
mode:
authorKurt Schwehr <schwehr@gmail.com>2018-05-19 11:52:05 -0700
committerKristian Evers <kristianevers@gmail.com>2018-05-19 20:52:05 +0200
commit89aeb3d4ccf8683fb10b1a5bea0a5293d2e31817 (patch)
tree48bb770ac5a262436d1757577b0da81df6b59a86 /docs/source/community
parentd9a0cefbf6bf84257f7f8da2b5ab32fecc9bfef3 (diff)
downloadPROJ-89aeb3d4ccf8683fb10b1a5bea0a5293d2e31817.tar.gz
PROJ-89aeb3d4ccf8683fb10b1a5bea0a5293d2e31817.zip
Add documentation for Include What You Use (IWYU) (#1006)
Docs requested in discussion of #1000
Diffstat (limited to 'docs/source/community')
-rw-r--r--docs/source/community/code_contributions.rst16
1 files changed, 16 insertions, 0 deletions
diff --git a/docs/source/community/code_contributions.rst b/docs/source/community/code_contributions.rst
index ef144399..c3e835c8 100644
--- a/docs/source/community/code_contributions.rst
+++ b/docs/source/community/code_contributions.rst
@@ -151,3 +151,19 @@ Typo detection and fixes
~~~~~~~~~~~~~~~~~~~~~~~~
Run ``scripts/fix_typos.sh``
+
+Include What You Use (IWYU)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Managing C includes is a pain. IWYU makes updating headers a bit
+easier. IWYU scans the code for functions that are called and makes
+sure that the headers for all those functions are present and in
+sorted order. However, you cannot blindly apply IWYU to PROJ. It
+does not understand ifdefs, other platforms, or the order requirements
+of PROJ internal headers. So the way to use it is to run it on a copy
+of the source and merge in only the changes that make sense.
+Additions of standard headers should always be safe to merge. The
+rest require careful evaluation. See the IWYU documentation for
+motivation and details.
+
+`IWYU docs <https://github.com/include-what-you-use/include-what-you-use/tree/master/docs>`_