]> granicus.if.org Git - libevent/commitdiff
config.h can't be prefixed unconditionally
authorPhilip Prindeville <philipp@redfish-solutions.com>
Wed, 18 Apr 2018 21:09:35 +0000 (15:09 -0600)
committerAzat Khuzhin <azat@libevent.org>
Sat, 2 Feb 2019 12:17:57 +0000 (15:17 +0300)
The script make-event-config.sed was mangling all the symbols by
prefixing them with "EVENT__".  The problem here is that some
symbols aren't for local consumption within libevent, but rather
influence other system header files (ex: __USE_FILE_OFFSET64 is
used by dozens of header files including <sys/sendfile.h>).

As a workaround, all symbols starting with a capital letter only
(with the exception of STDC_HEADERS which must also be left
untouched) will be mangled.

Future contributors will need to be aware of this distinction.

(cherry picked from commit 587e9f5828c4eb3c6e79e9eb29f174e4ae0c05bd)

make-event-config.sed

index e31018a2dd55377e03da5106e4755f6cbdd92930..3dc404b5cc47c03da4c0db617e9ec2588fd9cfac 100644 (file)
@@ -18,6 +18,10 @@ $a\
 \
 #endif /* event2/event-config.h */
 
-s/#\( *\)define /#\1define EVENT__/
-s/#\( *\)undef /#\1undef EVENT__/
-s/#\( *\)if\(n*\)def /#\1if\2def EVENT__/
+/#\( *\)undef STDC_HEADERS\>/b
+/#\( *\)define STDC_HEADERS\>/b
+
+# Only rewrite symbols starting with capitals
+s/#\( *\)define \([A-Z]\)/#\1define EVENT__\2/
+s/#\( *\)undef \([A-Z]\)/#\1undef EVENT__\2/
+s/#\( *\)if\(n*\)def \([A-Z]\)/#\1if\2def EVENT__\2/