This is a clean copy of libevent-2.1.8-stable with the following modifications. 1. Add the following files: - android/event2/event-config.h - bsd/event2/event-config.h - linux/event2/event-config.h - mac/event2/event-config.h - evconfig-private.h These files are taken from libevent-2.1.8-stable built on the development environment indicated by the first path component. You have to run "./configure" and "make" to get all of the pre-processing done. The event-config.h header can then be found in include/event2/ sub-directory and evconfig-private.h can be found in the root source directory. You then need to modify the EVENT__SIZEOF_* constants in the generated Linux, Android, and BSD headers to be appropriate for both 32-bit and 64-bit platforms. Mac doesn't need this since only 64-bit is supported. Use __LP64__ to distinguish the two cases. If you get something wrong, the CHECK_EVENT_SIZEOF static assertions in message_pump_libevent.cc will fail. If a new constant is added, also add a static assertion for it to message_pump_libevent.cc. 2. Apply the following patches from ipc/chromium/src/third_party/libevent/patches/: - "openbsd-no-arc4random_addrandom.patch". Fixes the build on OpenBSD and Android (which don't provide arc4random_addrandom anymore). See bug 931354 and bug 1259218. - "dont-use-issetugid-on-android.patch". Fixes Android startup crashes. See bug 1030899. - "linux-no-sysctl.patch". Fixes the build on Linux systems without sysctl.h. See bug 1263429. - "android-arc4random-buf.patch". Fixes the build for clang/android builds. See bug 1281596 and bug 1282141.