Andrew Geissler | 82c905d | 2020-04-13 13:39:40 -0500 | [diff] [blame] | 1 | Upstream-Status: Submitted [https://gitlab.freedesktop.org/xorg/lib/libx11/merge_requests/33] |
| 2 | Signed-off-by: Ross Burton <ross.burton@intel.com> |
| 3 | |
| 4 | From b41469c5f08b1f3365667ff3c430b104c9b8e25f Mon Sep 17 00:00:00 2001 |
| 5 | From: Ross Burton <ross.burton@intel.com> |
| 6 | Date: Wed, 22 Jan 2020 17:11:23 +0000 |
| 7 | Subject: [PATCH libX11] cpprules.in: squash whitespace in generated files |
| 8 | |
| 9 | CPP is used to generate files, but as cpp reads files from the build host the |
| 10 | output has a number of blank lines at the beginning which varies depending on |
| 11 | what GCC and friends is used. |
| 12 | |
| 13 | Pathalogical example: |
| 14 | |
| 15 | $ cpp -undef -traditional /dev/null |
| 16 | # 1 "/dev/null" |
| 17 | # 1 "<built-in>" |
| 18 | # 1 "<command-line>" |
| 19 | # 31 "<command-line>" |
| 20 | # 1 "/usr/include/stdc-predef.h" 1 3 4 |
| 21 | |
| 22 | # 17 "/usr/include/stdc-predef.h" 3 4 |
| 23 | |
| 24 | [ 40 blank line ] |
| 25 | |
| 26 | # 32 "<command-line>" 2 |
| 27 | # 1 "/dev/null" |
| 28 | |
| 29 | So depending on the content of stdc-predef.h and what other headers CPP will |
| 30 | load, the amount of whitespace in the generates files varies. This can result in |
| 31 | differences in reproducible environments, and file conflicts in multilib |
| 32 | environments. |
| 33 | |
| 34 | As whitespace is irrelevant to these machine-readable files, extend the sed to |
| 35 | just delete blank lines. |
| 36 | --- |
| 37 | cpprules.in | 3 ++- |
| 38 | 1 file changed, 2 insertions(+), 1 deletion(-) |
| 39 | |
| 40 | diff --git a/cpprules.in b/cpprules.in |
| 41 | index 03d6701e..ce6b3c98 100644 |
| 42 | --- a/cpprules.in |
| 43 | +++ b/cpprules.in |
| 44 | @@ -23,7 +23,8 @@ CPP_SED_MAGIC = $(SED) -e '/^\# *[0-9][0-9]* *.*$$/d' \ |
| 45 | -e '/^[ ]*XCOMM[^a-zA-Z0-9_]/s/XCOMM/\#/' \ |
| 46 | -e '/^[ ]*XHASH/s/XHASH/\#/' \ |
| 47 | -e 's,X11_LOCALEDATADIR,$(X11_LOCALEDATADIR),g' \ |
| 48 | - -e '/\@\@$$/s/\@\@$$/\\/' |
| 49 | + -e '/\@\@$$/s/\@\@$$/\\/' \ |
| 50 | + -e '/^$$/d' |
| 51 | |
| 52 | .pre: |
| 53 | @$(MKDIR_P) $(@D) |
| 54 | -- |
| 55 | 2.20.1 |
| 56 | |