summaryrefslogtreecommitdiff
path: root/Makefile.am
Commit message (Collapse)AuthorAgeFilesLines
* signal: new signal handling backend based on signalfdDmitry Antipov2022-11-121-0/+3
| | | | | | | | Linux-specific signal handling backend based on signalfd(2) system call, and public function event_base_get_signal_method() to obtain an underlying kernel signal handling mechanism. Signed-off-by: Dmitry Antipov <dantipov@cloudlinux.com>
* Add minimal WebSocket server implementation for evhttp (#1322)Dmitry Ilyin2022-09-121-0/+3
| | | | | | | | | | | | | | This adds few functions to use evhttp-based webserver to handle incoming WebSockets connections. We've tried to use both libevent and libwebsockets in our application, but found that we need to have different ports at the same time to handle standard HTTP and WebSockets traffic. This change can help to stick only with libevent library. Implementation was inspired by modified Libevent source code in ipush project [1]. [1]: https://github.com/sqfasd/ipush/tree/master/deps/libevent-2.0.21-stable Also, WebSocket-based chat server was added as a sample.
* Convert from WinCrypt to Windows BCryptGerry Garvey2020-08-021-1/+1
| | | | Fixes: #1069
* fix: compat mbedtls < 2.4okhowang(王沛文)2020-07-241-0/+1
|
* Merge ssl implementations (openssl and mbedtls)okhowang(王沛文)2020-07-221-2/+4
| | | | | | | | This patch splits common part out to avoid copy-paste from the - bufferevent_openssl.c - bufferevent_mbedtls.c It uses VFS/bufferevent-like approach, i.e. structure of callbacks.
* fix build system and add test and cleanup codeokhowang(王沛文)2020-07-221-1/+3
|
* mbedtls based SSL implementationJesse Fang2020-07-221-0/+11
| | | | prototype is libevent-2.1.11-stable libevent_openssl.c
* build: move automake options into AM_INIT_AUTOMAKE callfanquake2020-07-071-4/+0
|
* remove FindGit.cmake, improve `git describe` commandyuangongji2020-05-281-1/+0
|
* Add wepoll support to light up the epoll backend on WindowsNick Grifka2020-05-081-1/+6
| | | | | | | | | | | | | | | | | | | | | | libevent is lacking a scalable backend on Windows. Let's leverage the wepoll library until Windows comes up with an epoll/kqueue compete user mode API. - All regress tests pass for standard wepoll - These 2 tests fail intermittently for changelist wepoll, so disabling changelist wepoll for now http/cancel_inactive_server http/stream_in - verify target on Windows runs tests for both wepoll and win32 backends - wepoll backend preferred over win32 backend - wepoll version 1.5.6 v2: cleaner backend abstraction. Disallow wepoll on MinGW/Cygwin. v3: Add wepoll.h to dist v4: Make sure wepoll source files are excluded from cygwin/mingw builds v5: Keep win32 as default backend on windows. v6: Include wepoll in mingw builds. Verified that regress tests pass w/ WEPOLL backend. v7: Enable wepoll on mingw when building with cmake v8: Add wepoll testrunner for autotools test target
* Update list of cmake files for autotools dist archiveAzat Khuzhin2020-05-051-4/+2
| | | | Fixes: #976
* Link with iphlpapi only on windowsAzat Khuzhin2019-11-061-2/+4
| | | | | Fixes: 9fecb59a ("Parse IPv6 scope IDs.") Refs: #923
* Parse IPv6 scope IDs.Philip Homburg2019-11-061-2/+2
|
* autotools: attach doxygen target into all targetyuangongji2019-08-281-3/+1
| | | | v2: disable man pages by default
* cmake: attach doxygen target into all targetyuangongji2019-08-281-0/+1
| | | | | v2: Disable non-html generator for doxygen by default v3: convert cmake option to doxygen config
* Change the minimum version of automake to 1.13 and autoconf to 2.67ygj62019-08-091-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When I run make check via automake with a version of 1.12.6 or lower, I got this error: /bin/sh: line 9: ./test_runner_epoll: No such file or directory FAIL: test_runner_epoll /bin/sh: line 9: ./test_runner_select: No such file or directory FAIL: test_runner_select /bin/sh: line 9: ./test_runner_kqueue: No such file or directory FAIL: test_runner_kqueue /bin/sh: line 9: ./test_runner_evport: No such file or directory FAIL: test_runner_evport /bin/sh: line 9: ./test_runner_devpoll: No such file or directory FAIL: test_runner_devpoll /bin/sh: line 9: ./test_runner_poll: No such file or directory FAIL: test_runner_poll /bin/sh: line 9: ./test_runner_win32: No such file or directory FAIL: test_runner_win32 /bin/sh: line 9: ./test_runner_timerfd: No such file or directory FAIL: test_runner_timerfd /bin/sh: line 9: ./test_runner_changelist: No such file or directory FAIL: test_runner_changelist /bin/sh: line 9: ./test_runner_timerfd_changelist: No such file or directory FAIL: test_runner_timerfd_changelist Open the Makefile generated by command ./autogen.sh && ./configure I can see the errors are caused by this line: if $(TESTS_ENVIRONMENT) $${dir}$$tst $(AM_TESTS_FD_REDIRECT); then $${dir}$$tst will expand to ./test_runner_epoll, but test_runner_epoll is only a target in test/include.am, not a file, so it print: /bin/sh: line 9: ./test_runner_epoll: No such file or directory. It seems like a bug in automake 1.12.6. The errors will disappear if I simply upgrade automake to 1.13, and upgrade autoconf to 2.65 (2.65 is the lowest version dependent by automake-1.13). When I build with automake-1.13 and autoconf-2.66, I got another error: configure.ac:667: error: AC_CHECK_SIZEOF: requires literal arguments The code in configure.ac line 667 is : AC_CHECK_SIZEOF(void *) It is a bug in autoconf-2.66 : http://gnu-autoconf.7623.n7.nabble.com/AC-CHECK-SIZEOF-int-is-error-in-autoconf-2-66-td13537.html Finally, everything works fine when using automake-1.13 and autoconf-2.67. Refs: #858
* Add Uninstall.cmake.in into dist archiveAzat Khuzhin2019-08-031-0/+1
| | | | Fixes: #863
* Change autoconf version to 2.62 and automake version to 1.11.2yuangongji2019-07-301-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On my computer, the version of autoconf is 2.59 and automake is 1.9 I build with autogen.sh & configure & make and failed. I find In Makefile.am: include/event2/event-config.h: config.h make-event-config.sed $(AM_V_GEN)test -d include/event2 || $(MKDIR_P) include/event2 $(AM_V_at)$(SED) -f $(srcdir)/make-event-config.sed < config.h > $@T $(AM_V_at)mv -f $@T $@ There are three undefined variables: MKDIR_P, AM_V_GEN and AM_V_at. Then I tried: - autoconf-2.60 / automake-1.10 - autoconf-2.61 / automake-1.11 - autoconf-2.62 / automake-1.11.2 And only autoconf-2.62 & automake-1.11.2 is ok. Therefore, I recommend changing the autoconf version from 2.59 to 2.62 and automake version from 1.9 to 1.11.2. Plus autoconf 2.59 is too old - 2003.12.16 [1], so as automake 1.9 - 2004.08.11 [2], while $(AM_V_GEN)/$(AM_V_at) had been introduced in 371a1237 back in 2012. [1]: http://ftp.gnu.org/gnu/autoconf/ [1]: http://ftp.gnu.org/gnu/automake/ Fixes: 371a1237 ("Make quiet build even quieter")
* Add README.md/Documentation into dist archiveAzat Khuzhin2019-06-261-0/+5
| | | | Fixes: #841
* Add getopt into dist archiveAzat Khuzhin2019-05-151-3/+6
| | | | Fixes: #815
* evwatch: Add "prepare" and "check" watchers.Dan Rosen2019-04-031-0/+1
| | | | | | | | | | Adds two new callbacks: "prepare" watchers, which fire immediately before we poll for I/O, and "check" watchers, which fire immediately after we finish polling and before we process events. This allows other event loops to be embedded into libevent's, and enables certain performance monitoring. Closes: #710
* Remove manually written nmake makefiles (cmake should be used instead)Azat Khuzhin2019-04-031-4/+1
| | | | This nmake stuff is out dated, and nobody wants to support it anyway.
* Add cmake rules into dist archiveAzat Khuzhin2018-10-311-0/+25
| | | | | Fixes: #502 Refs: #551
* Give priority to the build directory headersCristian Morales Vega2018-04-231-1/+1
| | | | | | | Not changing anything right now AFAIK. But if for any reason in the future we end up with two headers with the same name in the source and build directories, chances are we want to use the one in the build directory.
* Do not ship evconfig-private.h in dist archiveCristian Morales Vega2018-04-231-1/+0
| | | | | | | | | It will be generated by autotools, so there is not reason to include it. And infact this breaks compilation with out-of-tree builds (VPATH), since, for the quote form of the include directive, headers in the directory of the file with the #include line have priority over those named in -I options, the copy of evconfig-private.h from the source directory had priority over the one in the build directory.
* Provide Makefile variables LIBEVENT_{CFLAGS,CPPFLAGS,LDFLAGS}stenn2018-02-241-3/+5
| | | | | | | | | This will allow a parent package to specify compiler, CPP, and linker flags to a libevent built as a sub-package. Document this in whatsnew-2.2.txt. Picked-from: #506 Closes: #506
* Include openssl-compat.h into dist archiveAzat Khuzhin2017-01-291-1/+2
| | | | | Refs: nmathewson/Libevent@140 Refs: http://archives.seul.org/libevent/users/Jan-2017/msg00001.html
* Bump version in master to 2.2.0-alpha-devAzat Khuzhin2017-01-291-2/+5
| | | | | | And according to f8d80a285cf941505277d9060d0357b5b7e543d2 ("Bump version to 2.1.3-alpha-dev") numeric version have 1 at the end, since it means "-dev".
* Bump version to 2.1.8-stable everywhereAzat Khuzhin2017-01-261-1/+2
| | | | | | | | P.S. in referenced commit I made a mistake and instead of *-rc* I wrote *-beta*. See-also: f4489b8323cda0bf8eed7c1353911a852d7a947c ("Bump version to 2.1.7-beta everywhere")
* VERSION_INFO should me equal to library versionAzat Khuzhin2017-01-261-1/+1
| | | | | This reverts commit 43243b9d55efcd0e6e2767a5c45bc7da46cff60c (I shouldn't do this).
* automake: do not use serial-tests if parallel-test-harness availableAzat Khuzhin2017-01-221-0/+4
| | | | | | | Revert: 61179dec7716975a151c6dae4524ae504d05780e ("automake: define serial-tests only if automake have this option") Revert: Revert: 44d755e00e249c09914cf35089c16735df82e270 ("test/automake: don't use paralell test harness (since automake 1.12)")
* Bump VERSION_INFO so that libraries symlinks will have the same versionAzat Khuzhin2017-01-201-1/+1
| | | | | Fixes: f4489b8323cda0bf8eed7c1353911a852d7a947c ("Bump version to 2.1.7-beta everywhere")
* Bump version to 2.1.7-beta everywhereAzat Khuzhin2016-11-041-1/+2
| | | | | | | | - cmake basic - cmake detecting from git -- event_fuzzy_version_from_git() - autotools - win32 - appveyor
* Bump version to 2.1.6-beta everywhereAzat Khuzhin2016-08-271-1/+2
| | | | | | | | - cmake basic - cmake detecting from git -- event_fuzzy_version_from_git() - autotools - win32 - appveyor
* autoconf: fix --disable-thread-support build under win32Azat Khuzhin2016-08-091-1/+5
| | | | | | Fixes: https://ci.appveyor.com/project/azat/libevent/build/job/gvud4tcqsd5bnarl Fixes: https://ci.appveyor.com/project/azat/libevent/build/2.1.6.80/job/5frnb1c3n4quxxqy Fixes: https://ci.appveyor.com/project/azat/libevent/build/2.1.6.80/job/3wdahbrew7setmoa
* automake: define serial-tests only if automake have this optionAzat Khuzhin2016-05-111-4/+0
| | | | | | | | P.S. I did try a lot of other ways, but seems that this is the only one that will work. Fixes: automake 1.11 Travis-CI: https://travis-ci.org/azat/libevent/jobs/129398265
* test/automake: don't use paralell test harness (since automake 1.12)Azat Khuzhin2016-05-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Starting from automake 1.2 there is parallel test harness, that redirects all output to some log, which serial-test doesn't do. So in case of new runner we can get no output for 10 minutes, for example on my desktop: $ time make verify VERBOSE=1 PASS: test/test-script.sh ============================================================================ Testsuite summary for libevent 2.1.5-beta ============================================================================ # TOTAL: 1 # PASS: 1 # SKIP: 0 # XFAIL: 0 # FAIL: 0 # XPASS: 0 # ERROR: 0 ============================================================================ real 25m31.735s user 0m13.753s sys 0m7.648s And this means that this will fail on travis-ci, since it has timeout for 10 minutes. Sure we can use `travis wait 60` instead, but I think that it is better to fix this by writing result to output, instead of hacking around, so let's use serial-tests instead of parallel always. And now it works on travis-ci under linux because it has automake 1.11 while osx has at least 1.12. Links: https://docs.travis-ci.com/user/common-build-problems/ https://www.gnu.org/software/automake/manual/html_node/Serial-Test-Harness.html#Serial-Test-Harness https://www.gnu.org/software/automake/manual/html_node/Parallel-Test-Harness.html CI: https://travis-ci.org/azat/libevent/jobs/129171497 # ok on linux https://travis-ci.org/azat/libevent/jobs/129171532 # no output for 10 min on osx
* libevent_core and libevent_extra also deserve a pkgconfig fileJan Heylen2016-04-201-2/+2
|
* Increment version to 2.1.5-betaNick Mathewson2015-01-051-1/+2
|
* Increment version to 2.1.4-alphaNick Mathewson2014-03-161-1/+2
|
* Split epoll lookup table into a separate header fileNick Mathewson2014-01-211-0/+1
| | | | | It accounted for more than half the length of epoll.c, and it's machine-generated, so we might as well keep it separate.
* Fix broken autotools build.Joakim Söderberg2014-01-211-3/+3
| | | | The move of the static *config.h files to a sub directory for WIN32 broke the autotools build. Use the proper subpath for that as well...
* Incremement version to 2.1.3-alphaNick Mathewson2013-04-301-3/+3
|
* Do not build strlcpy.c when it will have no code.Nick Mathewson2013-03-311-1/+3
|
* Avoid using $(top_srcdir) in TESTS.Nick Mathewson2013-02-081-1/+2
| | | | Newer automakes don't like this.
* Bump versions to 2.1.2-alphaNick Mathewson2012-11-181-0/+5
|
* Rename configure.in to configure.ac.Ross Lagerwall2012-09-031-1/+1
| | | | ".ac" is the preferred extension.
* We now require automake 1.9 or later. Modernize!Nick Mathewson2012-08-281-2/+2
|
* Make quiet build even quieterNick Mathewson2012-08-281-3/+3
|
* Rename subordinate Makefile.ams to include.amNick Mathewson2012-08-281-3/+3
|