Branch
Hash :
587e9f58
Author :
Date :
2018-04-18T15:09:35
config.h can't be prefixed unconditionally 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.
# Sed script to postprocess config.h into event-config.h.
1i\
/* event2/event-config.h\
*\
* This file was generated by autoconf when libevent was built, and post-\
* processed by Libevent so that its macros would have a uniform prefix.\
*\
* DO NOT EDIT THIS FILE.\
*\
* Do not rely on macros in this file existing in later versions.\
*/\
\
#ifndef EVENT2_EVENT_CONFIG_H_INCLUDED_\
#define EVENT2_EVENT_CONFIG_H_INCLUDED_\
$a\
\
#endif /* event2/event-config.h */
/#\( *\)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/