summaryrefslogtreecommitdiff
path: root/cpprules.in
diff options
context:
space:
mode:
authorRoss Burton <ross.burton@intel.com>2020-01-22 17:11:23 +0000
committerAlan Coopersmith <alan.coopersmith@oracle.com>2020-10-10 21:35:04 +0000
commita37986f7a7d4ae9b8292b132dbb0da2885ea919c (patch)
treee581aea098c8393738528a9a2aaa850d97e30309 /cpprules.in
parent16192ce2a7e462e09f95aa45ce9eaa180e483c43 (diff)
downloadxorg-lib-libX11-a37986f7a7d4ae9b8292b132dbb0da2885ea919c.tar.gz
cpprules.in: squash whitespace in generated files
CPP is used to generate files, but as cpp reads files from the build host the output has a number of blank lines at the beginning which varies depending on what GCC and friends is used. Pathalogical example: $ cpp -undef -traditional /dev/null # 1 "/dev/null" # 1 "<built-in>" # 1 "<command-line>" # 31 "<command-line>" # 1 "/usr/include/stdc-predef.h" 1 3 4 # 17 "/usr/include/stdc-predef.h" 3 4 [ 40 blank line ] # 32 "<command-line>" 2 # 1 "/dev/null" So depending on the content of stdc-predef.h and what other headers CPP will load, the amount of whitespace in the generates files varies. This can result in differences in reproducible environments, and file conflicts in multilib environments. As whitespace is irrelevant to these machine-readable files, extend the sed to just delete blank lines.
Diffstat (limited to 'cpprules.in')
-rw-r--r--cpprules.in3
1 files changed, 2 insertions, 1 deletions
diff --git a/cpprules.in b/cpprules.in
index 03d6701e..ce6b3c98 100644
--- a/cpprules.in
+++ b/cpprules.in
@@ -23,7 +23,8 @@ CPP_SED_MAGIC = $(SED) -e '/^\# *[0-9][0-9]* *.*$$/d' \
-e '/^[ ]*XCOMM[^a-zA-Z0-9_]/s/XCOMM/\#/' \
-e '/^[ ]*XHASH/s/XHASH/\#/' \
-e 's,X11_LOCALEDATADIR,$(X11_LOCALEDATADIR),g' \
- -e '/\@\@$$/s/\@\@$$/\\/'
+ -e '/\@\@$$/s/\@\@$$/\\/' \
+ -e '/^$$/d'
.pre:
@$(MKDIR_P) $(@D)