react-native-macos/third-party-podspecs/libevent.podspec

566 строки
18 KiB
Plaintext
Исходник Постоянная ссылка Обычный вид История

Upstream RN macOS Hermes integration bits (#29748) Summary: Microsoft’s RN for macOS fork supports the Hermes engine nowadays https://github.com/microsoft/react-native-macos/pull/473. As a longer term work item, we’ve started moving bits that are not invasive for iOS but _are_ a maintenance burden on us—mostly when merging—upstream. Seeing as this one is a recent addition, it seemed like a good candidate to start with. As to the actual changes, these include: * Sharing Android’s Hermes executor with the objc side of the codebase. * Adding a CocoaPods subspec to build the Hermes inspector source and its dependencies (`Folly/Futures`, `libevent`). * Adding the bits to the Xcode build phase script that creates the JS bundle for release builds to compile Hermes bytecode and source-maps… * …coincidentally it turns out that the Xcode build phase script did _not_ by default output source-maps for iOS, which is now fixed too. All of the Hermes bits are automatically enabled, on macOS, when providing the `hermes-engine-darwin` [npm package](https://www.npmjs.com/package/hermes-engine-darwin) and enabling the Hermes pods. ## Changelog [General] [Added] - Upstream RN macOS Hermes integration bits Pull Request resolved: https://github.com/facebook/react-native/pull/29748 Test Plan: Building RNTester for iOS and Android still works as before. To test the actual changes themselves, you’ll have to use the macOS target in RNTester in the macOS fork, or create a new application from `master`: <img width="812" alt="Screenshot 2020-08-18 at 16 55 06" src="https://user-images.githubusercontent.com/2320/90547606-160f6480-e18c-11ea-9a98-edbbaa755800.png"> Reviewed By: TheSavior Differential Revision: D23304618 Pulled By: fkgozali fbshipit-source-id: 4ef0e0f60d909f3c59f9cfc87c667189df656a3b
2020-08-27 11:16:30 +03:00
# Copyright (c) Facebook, Inc. and its affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
Add Hermes engine as option for macOS (#473) * [CocoaPods] Add Hermes and get app to build & run * [Hermes] Create instance of VM from within Cxx codebase Closes https://github.com/microsoft/react-native-macos/projects/4#card-37781762 * [Hermes] Actually use Hermes for RN bridge. * [Hermes] Use a release build to speed things up * [Hermes] Use a binary distribution for now * [Hermes] Fix binary distribution * [Hermes] Bind native logger, which enables console.js polyfill This fixes the lack of console.assert and consequent exception from event-target-shim.js Fixes https://github.com/microsoft/react-native-macos/projects/4#card-38201832 * [Hermes] Add reentrancy check Closes https://github.com/microsoft/react-native-macos/projects/4#card-38298715 * [Hermes] Compile and use bytecode bundle with RNTester Closes https://github.com/microsoft/react-native-macos/projects/4#card-38307271 * [Hermes] Build with debugger support. Closes https://github.com/microsoft/react-native-macos/projects/4#card-38726225 * [Hermes] Use v0.5.0 bin release * [Hermes] Enable on macOS when sources exist * [Hermes] Use optimizations in release builds * [CxxBridge] Share logger binding between engines * [Hermes] Share Android and macOS executor code. * [Xcode] Remove need to sign locally Fixes https://github.com/microsoft/react-native-macos/projects/4#card-37781557 * [Pods] Build libevent from source and use prebuilt hermes framework * [Pods] Make React-Core/Hermes an optional dep * [Xcode] Add ability to create source-maps for release builds, including for hermes. * Tiny doc fix. * [Pods] Move hermes deps to autolink script * Minor cleanups
2020-07-01 22:42:52 +03:00
# Because libevent is also relied on by Flipper and *with* OpenSSL bindings,
# building it as a prebuilt binary may lead to hard to satisfy permutations, if
# we'd ever try to build this for other Apple platforms besides macOS. Therefore
# let Xcode build it from source instead.
#
# Generated with:
#
# $ mkdir build && cd build
# $ cmake -G Ninja .. \
# -DEVENT__DISABLE_OPENSSL:BOOL=ON \
# -DEVENT__DISABLE_BENCHMARK:BOOL=ON \
# -DEVENT__DISABLE_TESTS:BOOL=ON \
# -DEVENT__DISABLE_REGRESS:BOOL=ON \
# -DEVENT__DISABLE_SAMPLES:BOOL=ON
# $ cat include/event2/event-config.h
#
CONFIG_WITHOUT_OPENSSL = <<-END_OF_CONFIG
/* event-config.h
*
* This file was generated by cmake when the makefiles were generated.
*
* 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_
/* Numeric representation of the version */
#define EVENT__NUMERIC_VERSION 0x02020001
#define EVENT__PACKAGE_VERSION "2.2.0"
#define EVENT__VERSION_MAJOR 2
#define EVENT__VERSION_MINOR 2
#define EVENT__VERSION_PATCH 0
/* Version number of package */
#define EVENT__VERSION "2.2.0-alpha-dev"
/* Name of package */
#define EVENT__PACKAGE "libevent"
/* Define to the address where bug reports for this package should be sent. */
#define EVENT__PACKAGE_BUGREPORT ""
/* Define to the full name of this package. */
#define EVENT__PACKAGE_NAME ""
/* Define to the full name and version of this package. */
#define EVENT__PACKAGE_STRING ""
/* Define to the one symbol short name of this package. */
#define EVENT__PACKAGE_TARNAME ""
/* Define if libevent should build without support for a debug mode */
/* #undef EVENT__DISABLE_DEBUG_MODE */
/* Define if libevent should not allow replacing the mm functions */
/* #undef EVENT__DISABLE_MM_REPLACEMENT */
/* Define if libevent should not be compiled with thread support */
/* #undef EVENT__DISABLE_THREAD_SUPPORT */
/* Define to 1 if you have the `accept4' function. */
/* #undef EVENT__HAVE_ACCEPT4 */
/* Define to 1 if you have the `arc4random' function. */
#define EVENT__HAVE_ARC4RANDOM 1
/* Define to 1 if you have the `arc4random_buf' function. */
#define EVENT__HAVE_ARC4RANDOM_BUF 1
/* Define to 1 if you have the `arc4random_addrandom' function. */
#define EVENT__HAVE_ARC4RANDOM_ADDRANDOM 1
/* Define if clock_gettime is available in libc */
#define EVENT__DNS_USE_CPU_CLOCK_FOR_ID 1
/* Define is no secure id variant is available */
/* #undef EVENT__DNS_USE_GETTIMEOFDAY_FOR_ID */
/* #undef EVENT__DNS_USE_FTIME_FOR_ID */
/* Define to 1 if you have the <arpa/inet.h> header file. */
#define EVENT__HAVE_ARPA_INET_H 1
/* Define to 1 if you have the `clock_gettime' function. */
#define EVENT__HAVE_CLOCK_GETTIME 1
/* Define to 1 if you have the declaration of `CTL_KERN'. */
#define EVENT__HAVE_DECL_CTL_KERN 1
/* Define to 1 if you have the declaration of `KERN_ARND'. */
#define EVENT__HAVE_DECL_KERN_ARND 0
/* Define to 1 if you have `getrandom' function. */
/* #undef EVENT__HAVE_GETRANDOM */
/* Define if /dev/poll is available */
/* #undef EVENT__HAVE_DEVPOLL */
/* Define to 1 if you have the <netdb.h> header file. */
#define EVENT__HAVE_NETDB_H 1
/* Define to 1 if fd_mask type is defined */
#define EVENT__HAVE_FD_MASK 1
/* Define to 1 if the <sys/queue.h> header file defines TAILQ_FOREACH. */
#define EVENT__HAVE_TAILQFOREACH 1
/* Define to 1 if you have the <dlfcn.h> header file. */
#define EVENT__HAVE_DLFCN_H 1
/* Define if your system supports the epoll system calls */
/* #undef EVENT__HAVE_EPOLL */
/* Define to 1 if you have the `epoll_create1' function. */
/* #undef EVENT__HAVE_EPOLL_CREATE1 */
/* Define to 1 if you have the `epoll_ctl' function. */
/* #undef EVENT__HAVE_EPOLL_CTL */
/* Define if your system supports the wepoll module */
/* #undef EVENT__HAVE_WEPOLL */
/* Define to 1 if you have the `eventfd' function. */
/* #undef EVENT__HAVE_EVENTFD */
/* Define if your system supports event ports */
/* #undef EVENT__HAVE_EVENT_PORTS */
/* Define to 1 if you have the `fcntl' function. */
#define EVENT__HAVE_FCNTL 1
/* Define to 1 if you have the <fcntl.h> header file. */
#define EVENT__HAVE_FCNTL_H 1
/* Define to 1 if you have the `getaddrinfo' function. */
#define EVENT__HAVE_GETADDRINFO 1
/* Define to 1 if you have the `getegid' function. */
#define EVENT__HAVE_GETEGID 1
/* Define to 1 if you have the `geteuid' function. */
#define EVENT__HAVE_GETEUID 1
/* TODO: Check for different gethostname argument counts. CheckPrototypeDefinition.cmake can be used. */
/* Define this if you have any gethostbyname_r() */
/* #undef EVENT__HAVE_GETHOSTBYNAME_R */
/* Define this if gethostbyname_r takes 3 arguments */
/* #undef EVENT__HAVE_GETHOSTBYNAME_R_3_ARG */
/* Define this if gethostbyname_r takes 5 arguments */
/* #undef EVENT__HAVE_GETHOSTBYNAME_R_5_ARG */
/* Define this if gethostbyname_r takes 6 arguments */
/* #undef EVENT__HAVE_GETHOSTBYNAME_R_6_ARG */
/* Define to 1 if you have the `getifaddrs' function. */
#define EVENT__HAVE_GETIFADDRS 1
/* Define to 1 if you have the `getnameinfo' function. */
#define EVENT__HAVE_GETNAMEINFO 1
/* Define to 1 if you have the `getprotobynumber' function. */
#define EVENT__HAVE_GETPROTOBYNUMBER 1
/* Define to 1 if you have the `getservbyname' function. */
#define EVENT__HAVE_GETSERVBYNAME 1
/* Define to 1 if you have the `gettimeofday' function. */
#define EVENT__HAVE_GETTIMEOFDAY 1
/* Define to 1 if you have the <ifaddrs.h> header file. */
#define EVENT__HAVE_IFADDRS_H 1
/* Define to 1 if you have the `inet_ntop' function. */
#define EVENT__HAVE_INET_NTOP 1
/* Define to 1 if you have the `inet_pton' function. */
#define EVENT__HAVE_INET_PTON 1
/* Define to 1 if you have the <inttypes.h> header file. */
#define EVENT__HAVE_INTTYPES_H 1
/* Define to 1 if you have the `issetugid' function. */
#define EVENT__HAVE_ISSETUGID 1
/* Define to 1 if you have the `kqueue' function. */
#define EVENT__HAVE_KQUEUE 1
/* Define if the system has zlib */
/* #undef EVENT__HAVE_LIBZ */
/* Define to 1 if you have the `mach_absolute_time' function. */
#define EVENT__HAVE_MACH_ABSOLUTE_TIME 1
/* Define to 1 if you have the <mach/mach_time.h> header file. */
#define EVENT__HAVE_MACH_MACH_TIME_H 1
/* Define to 1 if you have the <mach/mach.h> header file. */
#define EVENT__HAVE_MACH_MACH_H 1
/* Define to 1 if you have the <memory.h> header file. */
#define EVENT__HAVE_MEMORY_H 1
/* Define to 1 if you have the `mmap' function. */
#define EVENT__HAVE_MMAP 1
/* Define to 1 if you have the `nanosleep' function. */
#define EVENT__HAVE_NANOSLEEP 1
/* Define to 1 if you have the `usleep' function. */
#define EVENT__HAVE_USLEEP 1
/* Define to 1 if you have the <netinet/in6.h> header file. */
/* #undef EVENT__HAVE_NETINET_IN6_H */
/* Define to 1 if you have the <netinet/in.h> header file. */
#define EVENT__HAVE_NETINET_IN_H 1
/* Define to 1 if you have the <netinet/tcp.h> header file. */
#define EVENT__HAVE_NETINET_TCP_H 1
/* Define to 1 if you have the <sys/un.h> header file. */
#define EVENT__HAVE_SYS_UN_H 1
/* Define to 1 if you have the <afunix.h> header file. */
/* #undef EVENT__HAVE_AFUNIX_H */
/* Define if the system has openssl */
/* #undef EVENT__HAVE_OPENSSL */
/* Define to 1 if you have the `pipe' function. */
#define EVENT__HAVE_PIPE 1
/* Define to 1 if you have the `pipe2' function. */
/* #undef EVENT__HAVE_PIPE2 */
/* Define to 1 if you have the `poll' function. */
#define EVENT__HAVE_POLL 1
/* Define to 1 if you have the <poll.h> header file. */
#define EVENT__HAVE_POLL_H 1
/* Define to 1 if you have the `port_create' function. */
/* #undef EVENT__HAVE_PORT_CREATE */
/* Define to 1 if you have the <port.h> header file. */
/* #undef EVENT__HAVE_PORT_H */
/* Define if we have pthreads on this system */
#define EVENT__HAVE_PTHREADS 1
/* Define to 1 if you have the `putenv' function. */
#define EVENT__HAVE_PUTENV 1
/* Define to 1 if the system has the type `sa_family_t'. */
#define EVENT__HAVE_SA_FAMILY_T 1
/* Define to 1 if you have the `select' function. */
#define EVENT__HAVE_SELECT 1
/* Define to 1 if you have the `setenv' function. */
#define EVENT__HAVE_SETENV 1
/* Define if F_SETFD is defined in <fcntl.h> */
#define EVENT__HAVE_SETFD 1
/* Define to 1 if you have the `setrlimit' function. */
#define EVENT__HAVE_SETRLIMIT 1
/* Define to 1 if you have the `sendfile' function. */
#define EVENT__HAVE_SENDFILE 1
/* Define to 1 if you have the `sigaction' function. */
#define EVENT__HAVE_SIGACTION 1
/* Define to 1 if you have the `signal' function. */
#define EVENT__HAVE_SIGNAL 1
/* Define to 1 if you have the `strsignal' function. */
#define EVENT__HAVE_STRSIGNAL 1
/* Define to 1 if you have the `splice' function. */
/* #undef EVENT__HAVE_SPLICE */
/* Define to 1 if you have the <stdarg.h> header file. */
#define EVENT__HAVE_STDARG_H 1
/* Define to 1 if you have the <stddef.h> header file. */
#define EVENT__HAVE_STDDEF_H 1
/* Define to 1 if you have the <stdint.h> header file. */
#define EVENT__HAVE_STDINT_H 1
/* Define to 1 if you have the <stdlib.h> header file. */
#define EVENT__HAVE_STDLIB_H 1
/* Define to 1 if you have the <string.h> header file. */
#define EVENT__HAVE_STRING_H 1
/* Define to 1 if you have the `strlcpy' function. */
#define EVENT__HAVE_STRLCPY 1
/* Define to 1 if you have the `strsep' function. */
#define EVENT__HAVE_STRSEP 1
/* Define to 1 if you have the `strtok_r' function. */
#define EVENT__HAVE_STRTOK_R 1
/* Define to 1 if you have the `strtoll' function. */
#define EVENT__HAVE_STRTOLL 1
/* Define to 1 if you have the `_gmtime64_s' function. */
/* #undef EVENT__HAVE__GMTIME64_S */
/* Define to 1 if you have the `_gmtime64' function. */
/* #undef EVENT__HAVE__GMTIME64 */
/* Define to 1 if the system has the type `struct addrinfo'. */
#define EVENT__HAVE_STRUCT_ADDRINFO 1
/* Define to 1 if the system has the type `struct in6_addr'. */
#define EVENT__HAVE_STRUCT_IN6_ADDR 1
/* Define to 1 if `s6_addr16' is member of `struct in6_addr'. */
/* #undef EVENT__HAVE_STRUCT_IN6_ADDR_S6_ADDR16 */
/* Define to 1 if `s6_addr32' is member of `struct in6_addr'. */
/* #undef EVENT__HAVE_STRUCT_IN6_ADDR_S6_ADDR32 */
/* Define to 1 if the system has the type `struct sockaddr_in6'. */
#define EVENT__HAVE_STRUCT_SOCKADDR_IN6 1
/* Define to 1 if `sin6_len' is member of `struct sockaddr_in6'. */
#define EVENT__HAVE_STRUCT_SOCKADDR_IN6_SIN6_LEN 1
/* Define to 1 if `sin_len' is member of `struct sockaddr_in'. */
/* #undef EVENT__HAVE_STRUCT_SOCKADDR_IN_SIN_LEN */
/* Define to 1 if the system has the type `struct sockaddr_un'. */
#define EVENT__HAVE_STRUCT_SOCKADDR_UN 1
/* Define to 1 if the system has the type `struct sockaddr_storage'. */
#define EVENT__HAVE_STRUCT_SOCKADDR_STORAGE 1
/* Define to 1 if `ss_family' is a member of `struct sockaddr_storage'. */
#define EVENT__HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY 1
/* Define to 1 if `__ss_family' is a member of `struct sockaddr_storage'. */
/* #undef EVENT__HAVE_STRUCT_SOCKADDR_STORAGE___SS_FAMILY */
/* Define to 1 if the system has the type `struct linger'. */
#define EVENT__HAVE_STRUCT_LINGER 1
/* Define to 1 if you have the `sysctl' function. */
#define EVENT__HAVE_SYSCTL 1
/* Define to 1 if you have the <sys/epoll.h> header file. */
/* #undef EVENT__HAVE_SYS_EPOLL_H */
/* Define to 1 if you have the <sys/eventfd.h> header file. */
/* #undef EVENT__HAVE_SYS_EVENTFD_H */
/* Define to 1 if you have the <sys/event.h> header file. */
#define EVENT__HAVE_SYS_EVENT_H 1
/* Define to 1 if you have the <sys/ioctl.h> header file. */
#define EVENT__HAVE_SYS_IOCTL_H 1
/* Define to 1 if you have the <sys/mman.h> header file. */
#define EVENT__HAVE_SYS_MMAN_H 1
/* Define to 1 if you have the <sys/param.h> header file. */
#define EVENT__HAVE_SYS_PARAM_H 1
/* Define to 1 if you have the <sys/queue.h> header file. */
#define EVENT__HAVE_SYS_QUEUE_H 1
/* Define to 1 if you have the <sys/resource.h> header file. */
#define EVENT__HAVE_SYS_RESOURCE_H 1
/* Define to 1 if you have the <sys/select.h> header file. */
#define EVENT__HAVE_SYS_SELECT_H 1
/* Define to 1 if you have the <sys/sendfile.h> header file. */
/* #undef EVENT__HAVE_SYS_SENDFILE_H */
/* Define to 1 if you have the <sys/socket.h> header file. */
#define EVENT__HAVE_SYS_SOCKET_H 1
/* Define to 1 if you have the <sys/stat.h> header file. */
#define EVENT__HAVE_SYS_STAT_H 1
/* Define to 1 if you have the <sys/random.h> header file. */
#define EVENT__HAVE_SYS_RANDOM_H 1
/* Define to 1 if you have the <sys/sysctl.h> header file. */
#define EVENT__HAVE_SYS_SYSCTL_H 1
/* Define to 1 if you have the <sys/timerfd.h> header file. */
/* #undef EVENT__HAVE_SYS_TIMERFD_H */
/* Define to 1 if you have the <sys/time.h> header file. */
#define EVENT__HAVE_SYS_TIME_H 1
/* Define to 1 if you have the <sys/types.h> header file. */
#define EVENT__HAVE_SYS_TYPES_H 1
/* Define to 1 if you have the <sys/uio.h> header file. */
#define EVENT__HAVE_SYS_UIO_H 1
/* Define to 1 if you have the <sys/wait.h> header file. */
#define EVENT__HAVE_SYS_WAIT_H 1
/* Define to 1 if you have the <errno.h> header file. */
#define EVENT__HAVE_ERRNO_H 1
/* Define if TAILQ_FOREACH is defined in <sys/queue.h> */
#define EVENT__HAVE_TAILQFOREACH 1
/* Define if timeradd is defined in <sys/time.h> */
#define EVENT__HAVE_TIMERADD 1
/* Define if timerclear is defined in <sys/time.h> */
#define EVENT__HAVE_TIMERCLEAR 1
/* Define if timercmp is defined in <sys/time.h> */
#define EVENT__HAVE_TIMERCMP 1
/* Define to 1 if you have the `timerfd_create' function. */
/* #undef EVENT__HAVE_TIMERFD_CREATE */
/* Define if timerisset is defined in <sys/time.h> */
#define EVENT__HAVE_TIMERISSET 1
/* Define to 1 if the system has the type `uint8_t'. */
#define EVENT__HAVE_UINT8_T 1
/* Define to 1 if the system has the type `uint16_t'. */
#define EVENT__HAVE_UINT16_T 1
/* Define to 1 if the system has the type `uint32_t'. */
#define EVENT__HAVE_UINT32_T 1
/* Define to 1 if the system has the type `uint64_t'. */
#define EVENT__HAVE_UINT64_T 1
/* Define to 1 if the system has the type `uintptr_t'. */
#define EVENT__HAVE_UINTPTR_T 1
/* Define to 1 if you have the `umask' function. */
#define EVENT__HAVE_UMASK 1
/* Define to 1 if you have the <unistd.h> header file. */
#define EVENT__HAVE_UNISTD_H 1
/* Define to 1 if you have the `unsetenv' function. */
#define EVENT__HAVE_UNSETENV 1
/* Define to 1 if you have the `vasprintf' function. */
#define EVENT__HAVE_VASPRINTF 1
/* Define if kqueue works correctly with pipes */
#define EVENT__HAVE_WORKING_KQUEUE 1
#ifdef __USE_UNUSED_DEFINITIONS__
/* Define to necessary symbol if this constant uses a non-standard name on your system. */
/* XXX: Hello, this isn't even used, nor is it defined anywhere... - Ellzey */
#define EVENT__PTHREAD_CREATE_JOINABLE
Add Hermes engine as option for macOS (#473) * [CocoaPods] Add Hermes and get app to build & run * [Hermes] Create instance of VM from within Cxx codebase Closes https://github.com/microsoft/react-native-macos/projects/4#card-37781762 * [Hermes] Actually use Hermes for RN bridge. * [Hermes] Use a release build to speed things up * [Hermes] Use a binary distribution for now * [Hermes] Fix binary distribution * [Hermes] Bind native logger, which enables console.js polyfill This fixes the lack of console.assert and consequent exception from event-target-shim.js Fixes https://github.com/microsoft/react-native-macos/projects/4#card-38201832 * [Hermes] Add reentrancy check Closes https://github.com/microsoft/react-native-macos/projects/4#card-38298715 * [Hermes] Compile and use bytecode bundle with RNTester Closes https://github.com/microsoft/react-native-macos/projects/4#card-38307271 * [Hermes] Build with debugger support. Closes https://github.com/microsoft/react-native-macos/projects/4#card-38726225 * [Hermes] Use v0.5.0 bin release * [Hermes] Enable on macOS when sources exist * [Hermes] Use optimizations in release builds * [CxxBridge] Share logger binding between engines * [Hermes] Share Android and macOS executor code. * [Xcode] Remove need to sign locally Fixes https://github.com/microsoft/react-native-macos/projects/4#card-37781557 * [Pods] Build libevent from source and use prebuilt hermes framework * [Pods] Make React-Core/Hermes an optional dep * [Xcode] Add ability to create source-maps for release builds, including for hermes. * Tiny doc fix. * [Pods] Move hermes deps to autolink script * Minor cleanups
2020-07-01 22:42:52 +03:00
#endif
/* The size of `pthread_t', as computed by sizeof. */
#define EVENT__SIZEOF_PTHREAD_T 8
/* The size of a `int', as computed by sizeof. */
#define EVENT__SIZEOF_INT 4
/* The size of a `long', as computed by sizeof. */
#define EVENT__SIZEOF_LONG 8
/* The size of a `long long', as computed by sizeof. */
#define EVENT__SIZEOF_LONG_LONG 8
/* The size of `off_t', as computed by sizeof. */
#define EVENT__SIZEOF_OFF_T 8
#define EVENT__SIZEOF_SSIZE_T 8
/* The size of a `short', as computed by sizeof. */
#define EVENT__SIZEOF_SHORT 2
/* The size of `size_t', as computed by sizeof. */
#define EVENT__SIZEOF_SIZE_T 8
/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
/* #undef EVENT__TIME_WITH_SYS_TIME */
/* The size of `socklen_t', as computed by sizeof. */
#define EVENT__SIZEOF_SOCKLEN_T 4
/* The size of 'void *', as computer by sizeof */
#define EVENT__SIZEOF_VOID_P 8
/* Define to `__inline__' or `__inline' if that's what the C compiler
calls it, or to nothing if 'inline' is not supported under any name. */
#ifndef __cplusplus
/* why not c++?
*
* and are we really expected to use EVENT__inline everywhere,
* shouldn't we just do:
* ifdef EVENT__inline
* define inline EVENT__inline
*
* - Ellzey
*/
#define EVENT__inline inline
#endif
#define EVENT__HAVE___func__ 1
#define EVENT__HAVE___FUNCTION__ 1
/* Define to `unsigned' if <sys/types.h> does not define. */
#define EVENT__size_t size_t
/* Define to unsigned int if you dont have it */
#define EVENT__socklen_t socklen_t
/* Define to `int' if <sys/types.h> does not define. */
#define EVENT__ssize_t ssize_t
#endif /* \EVENT2_EVENT_CONFIG_H_INCLUDED_ */
END_OF_CONFIG
Pod::Spec.new do |spec|
spec.name = "libevent"
spec.version = "2.1.11"
spec.summary = "Event notification library"
spec.description = "The libevent API provides a mechanism to execute a callback function when a specific event occurs on a file descriptor or after a timeout has been reached. Furthermore, libevent also support callbacks due to signals or regular timeouts."
spec.homepage = "https://libevent.org"
spec.license = { :type => "BSD 3-Clause", :file => "LICENSE" }
spec.author = "Niels Provos and Nick Mathewson"
spec.platforms = { :osx => "10.14", :ios => "10.0" }
Add Hermes engine as option for macOS (#473) * [CocoaPods] Add Hermes and get app to build & run * [Hermes] Create instance of VM from within Cxx codebase Closes https://github.com/microsoft/react-native-macos/projects/4#card-37781762 * [Hermes] Actually use Hermes for RN bridge. * [Hermes] Use a release build to speed things up * [Hermes] Use a binary distribution for now * [Hermes] Fix binary distribution * [Hermes] Bind native logger, which enables console.js polyfill This fixes the lack of console.assert and consequent exception from event-target-shim.js Fixes https://github.com/microsoft/react-native-macos/projects/4#card-38201832 * [Hermes] Add reentrancy check Closes https://github.com/microsoft/react-native-macos/projects/4#card-38298715 * [Hermes] Compile and use bytecode bundle with RNTester Closes https://github.com/microsoft/react-native-macos/projects/4#card-38307271 * [Hermes] Build with debugger support. Closes https://github.com/microsoft/react-native-macos/projects/4#card-38726225 * [Hermes] Use v0.5.0 bin release * [Hermes] Enable on macOS when sources exist * [Hermes] Use optimizations in release builds * [CxxBridge] Share logger binding between engines * [Hermes] Share Android and macOS executor code. * [Xcode] Remove need to sign locally Fixes https://github.com/microsoft/react-native-macos/projects/4#card-37781557 * [Pods] Build libevent from source and use prebuilt hermes framework * [Pods] Make React-Core/Hermes an optional dep * [Xcode] Add ability to create source-maps for release builds, including for hermes. * Tiny doc fix. * [Pods] Move hermes deps to autolink script * Minor cleanups
2020-07-01 22:42:52 +03:00
spec.source = { :git => "https://github.com/libevent/libevent.git", :tag => "release-#{spec.version}-stable" }
spec.prepare_command = "touch evconfig-private.h; echo -e #{Shellwords.escape(CONFIG_WITHOUT_OPENSSL)} > include/event2/event-config.h"
feat: Enable Hermes to work on iOS (#29914) Summary: This PR makes it possible to build iOS applications with Hermes. Note that it doesn't work with `use_frameworks!` just yet. Fixes https://github.com/facebook/react-native/issues/27845 (by downgrading iOS deployment target for RCT-Folly to 9.0) Fixes https://github.com/facebook/react-native/issues/28810 (as above) Checklist: - [x] Adjust release scripts to create Hermes bytecode bundle - [x] Release new Hermes npm package that includes iOS files (unreleased right now, if you want to try locally, you have to clone Hermes and `yarn link` its master to this project) - [x] Test on a new React Native application in both Debug and Release (Device) - [x] Test on an RNTester application in both Debug and Release (Device) - [x] Add missing `i386` to Hermes framework and enable Bitcode - [x] Inspect CI failures for possible regressions - [x] Resolve Folly issue as reported https://github.com/facebook/react-native/issues/27845 and https://github.com/facebook/react-native/issues/28810 - [x] Release new Hermes and test against it that everything works ## Changelog [IOS] [FEATURE] - Enable Hermes on iOS [INTERNAL] - Upgrade to CocoaPods 1.10.0 to resolve Xcode 12.0 issues [INTERNAL] - Upgrade to Xcode 12.0 on the CircleCI [INTERNAL] - Fix building RNTester in Release mode [INTERNAL] - Fix build-time errors of `libevent` with `use_frameworks!` [INTERNAL] - Introduce `USE_HERMES` variable and test all RNTester configurations on the CI [INTERNAL] - Do not fetch CocoaPods repository since we're using CDN anyway Pull Request resolved: https://github.com/facebook/react-native/pull/29914 Test Plan: Turn on `hermes_enabled` to true in your `Podfile`, install pods, and run the iOS application. Your app should be running Hermes now. Preview: (note "Engine: Hermes") <img width="395" alt="Screenshot 2020-09-09 at 19 22 32" src="https://user-images.githubusercontent.com/2464966/92631584-d7c01d80-f2d1-11ea-9b40-33d73db96a53.png"> Reviewed By: hramos Differential Revision: D24684845 Pulled By: cpojer fbshipit-source-id: 900cbe3bf9398a6fd4a773d552899a001bf5146b
2020-11-03 12:13:01 +03:00
spec.source_files =
"include/*.h", "*-{internal,private}.h",
"buffer.c", "bufferevent.c", "bufferevent_filter.c", "bufferevent_pair.c", "bufferevent_ratelim.c", "bufferevent_sock.c",
"event.c", "evmap.c", "evthread.c", "evutil.c", "evutil_rand.c", "evutil_time.c",
"kqueue.c", "listener.c", "log.c", "poll.c", "select.c", "signal.c", "strlcpy.c", "watch.c",
"evdns.c", "event_tagging.c", "evrpc.c", "http.c"
spec.private_header_files = "*-{internal,private}.h"
spec.public_header_files = "include/*.h"
spec.preserve_paths = "include/event2/*.h"
spec.xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/include/\"" }
Add Hermes engine as option for macOS (#473) * [CocoaPods] Add Hermes and get app to build & run * [Hermes] Create instance of VM from within Cxx codebase Closes https://github.com/microsoft/react-native-macos/projects/4#card-37781762 * [Hermes] Actually use Hermes for RN bridge. * [Hermes] Use a release build to speed things up * [Hermes] Use a binary distribution for now * [Hermes] Fix binary distribution * [Hermes] Bind native logger, which enables console.js polyfill This fixes the lack of console.assert and consequent exception from event-target-shim.js Fixes https://github.com/microsoft/react-native-macos/projects/4#card-38201832 * [Hermes] Add reentrancy check Closes https://github.com/microsoft/react-native-macos/projects/4#card-38298715 * [Hermes] Compile and use bytecode bundle with RNTester Closes https://github.com/microsoft/react-native-macos/projects/4#card-38307271 * [Hermes] Build with debugger support. Closes https://github.com/microsoft/react-native-macos/projects/4#card-38726225 * [Hermes] Use v0.5.0 bin release * [Hermes] Enable on macOS when sources exist * [Hermes] Use optimizations in release builds * [CxxBridge] Share logger binding between engines * [Hermes] Share Android and macOS executor code. * [Xcode] Remove need to sign locally Fixes https://github.com/microsoft/react-native-macos/projects/4#card-37781557 * [Pods] Build libevent from source and use prebuilt hermes framework * [Pods] Make React-Core/Hermes an optional dep * [Xcode] Add ability to create source-maps for release builds, including for hermes. * Tiny doc fix. * [Pods] Move hermes deps to autolink script * Minor cleanups
2020-07-01 22:42:52 +03:00
end