|
b456e4bd
|
2024-10-26T20:46:41
|
|
Use arc4random_stir over deprecated arc4random_addrandom (#1631)
Co-authored-by: Azat Khuzhin <azat@libevent.org>
|
|
e5181b15
|
2024-06-24T03:37:49
|
|
Cleanup EVENT_HAVE_ macros (#1645)
|
|
a0fc31bf
|
2024-06-01T18:52:39
|
|
Sort symbols to check in cmake/autotools lexicographically
|
|
eec47a67
|
2024-04-30T15:59:58
|
|
Fix typos (#1634)
|
|
71d41cdf
|
2024-04-22T06:39:35
|
|
build: Add `Iphlpapi` to `Libs.private` in `*.pc` files on Windows
It has been required since https://github.com/libevent/libevent/pull/923
at least for the `if_nametoindex` call.
|
|
ed35b30f
|
2023-10-23T16:52:19
|
|
Fix two compiler errors for unused variable and undefined function
In buffer.c a variable "flags" and a label "done" are defined but
never used if "EVENT__HAVEMMAP" is not defined.
The code does not work on platforms which do not provide
the function `socketpair()`. Introduce EVENT__HAVE_SOCKETPAIR flag
which determines if `socketpair()` or `evutil_ersatz_socketpair()`
is used.
|
|
242f7676
|
2023-06-17T00:16:41
|
|
Enable containing package CFLAGS etc.
Add AC_SUBST of LIBEVENT_FLAGS, LIBEVENT_CPPFLAGS, and LIBEVENT_LDFLAGS so they are relayed from the configure command line to the Makefile
|
|
9ce6ae78
|
2023-06-05T18:38:22
|
|
Add option to auto-detect OpenSSL and MbedTLS
|
|
2112c396
|
2023-05-22T08:21:01
|
|
autotools: fix generating pkg-config files (by substituting CMAKE_DEBUG_POSTFIX)
Fixes: #1459
|
|
1c06b68f
|
2023-05-21T10:09:50
|
|
Add a note about the last number in NUMERIC_VERSION
|
|
8d1388a3
|
2023-05-21T08:40:48
|
|
Bump version to 2.2.1
|
|
f747a7b9
|
2023-04-04T22:19:07
|
|
Prohibit VLA in autotools too
|
|
e89ddd40
|
2023-02-13T16:06:29
|
|
build: use FORTIFY_SOURCE=3 in autotools build
|
|
0b79a002
|
2023-01-02T17:06:48
|
|
buffer: use pread() for evbuffer_file_segment_materialize()
If pread(2) is available, prefer it over double lseek(2)
and read(2) in evbuffer_file_segment_materialize().
Signed-off-by: Dmitry Antipov <dantipov@cloudlinux.com>
|
|
1af745d0
|
2022-10-25T11:30:34
|
|
signal: new signal handling backend based on signalfd
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>
|
|
9e346936
|
2022-11-12T18:56:25
|
|
Ignore unknown pragmas
Since new compilers has new checks (like -Wdangling-pointer), and so to
avoid extra checks in cmake/autotools, simply suppress if the pragma is
unknown.
|
|
117ee9a0
|
2022-09-15T14:06:50
|
|
epoll: use epoll_pwait2() if available
On GNU/Linux with epoll backend, prefer epoll_pwait2() if available,
which is useful to support the timeout with microsecond precision.
|
|
e8313084
|
2022-09-12T22:16:56
|
|
Add minimal WebSocket server implementation for evhttp (#1322)
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.
|
|
99fd68ab
|
2022-08-07T13:51:48
|
|
Add check of mmap64 function and use it when available rather that mmap
There can be issues on 32-bit architectures to mmap 2+GiB file, and to
make this portable between different version of glibc, mmap64 was
prefered over _FILE_OFFSET_BITS
|
|
d881d062
|
2022-07-09T20:28:18
|
|
configure: fix AC_CHECK_FUNCS should use literals
Error
configure.ac:291: warning: AC_CHECK_FUNCS(getnameinfo
): you should use literals
../autoconf-2.71/lib/autoconf/functions.m4:117: AC_CHECK_FUNCS is expanded from...
../autoconf-2.71/lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
../autoconf-2.71/lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
configure.ac:291: the top level
configure.ac:291: warning: AC_CHECK_FUNCS(getprotobynumber
): you should use literals
../autoconf-2.71/lib/autoconf/functions.m4:117: AC_CHECK_FUNCS is expanded from...
../autoconf-2.71/lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
../autoconf-2.71/lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
configure.ac:291: the top level
configure.ac:291: warning: AC_CHECK_FUNCS(getservbyname
): you should use literals
../autoconf-2.71/lib/autoconf/functions.m4:117: AC_CHECK_FUNCS is expanded from...
../autoconf-2.71/lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
../autoconf-2.71/lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
configure.ac:291: the top level
configure.ac:291: warning: AC_CHECK_FUNCS(inet_ntop
): you should use literals
../autoconf-2.71/lib/autoconf/functions.m4:117: AC_CHECK_FUNCS is expanded from...
../autoconf-2.71/lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
../autoconf-2.71/lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
configure.ac:291: the top level
configure.ac:291: warning: AC_CHECK_FUNCS(inet_pton
): you should use literals
../autoconf-2.71/lib/autoconf/functions.m4:117: AC_CHECK_FUNCS is expanded from...
../autoconf-2.71/lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
../autoconf-2.71/lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
configure.ac:291: the top level
|
|
39604493
|
2022-07-09T17:08:21
|
|
Detech -Wno-unused-functions for GCC too
Otherwise build fails [1]:
/home/runner/work/libevent/libevent/dist/libevent-2.2.0-alpha-dev/minheap-internal.h:64:6: error: ‘min_heap_ctor_’ defined but not used [-Werror=unused-function]
void min_heap_ctor_(min_heap_t* s) { s->p = 0; s->n = 0; s->a = 0; }
^~~~~~~~~~~~~~
In file included from /home/runner/work/libevent/libevent/dist/libevent-2.2.0-alpha-dev/buffer.c:91:0:
/home/runner/work/libevent/libevent/dist/libevent-2.2.0-alpha-dev/bufferevent-internal.h:414:1: error: ‘bufferevent_trigger_nolock_’ defined but not used [-Werror=unused-function]
bufferevent_trigger_nolock_(struct bufferevent *bufev, short iotype, int options)
^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/runner/work/libevent/libevent/dist/libevent-2.2.0-alpha-dev/buffer.c:89:0:
/home/runner/work/libevent/libevent/dist/libevent-2.2.0-alpha-dev/evthread-internal.h:140:1: error: ‘EVLOCK_TRY_LOCK_’ defined but not used [-Werror=unused-function]
EVLOCK_TRY_LOCK_(void *lock)
[1]: https://github.com/libevent/libevent/runs/7263518180?check_suite_focus=true
|
|
03945889
|
2022-07-09T14:43:39
|
|
Fix -Werror for autotools
|
|
bf3ce77f
|
2022-06-23T13:38:14
|
|
build: only try silence options if they exist
Otherwise GCC will warn. i.e:
```bash
CCLD libevent_openssl.la
cc1: note: unrecognized command-line option ‘-Wno-void-pointer-to-enum-cast’
may have been intended to silence earlier diagnostics
CCLD libevent_mbedtls.la
```
|
|
1c204d55
|
2022-06-13T04:58:50
|
|
Fix some typos (#1284)
Signed-off-by: cuishuang <imcusg@gmail.com>
|
|
9aa4eb09
|
2021-11-24T08:44:03
|
|
build: use modern ax_pthread macro
acx_pthread became ax_pthread in 2009 and the macro has seen lots of updates
since then. This change switches to using the latest version.
|
|
082941ed
|
2021-11-24T14:41:33
|
|
build: remove inconsistently used x-prefix comparisons
Given that these are already used inconsistently with `test` checks, it
makes sense to consolidate to not use the x-prefix comparisons at all.
In any case, it would be nice to think we no longer have to work around
a problem that existed in shells many, many years ago.
More info:
https://github.com/koalaman/shellcheck/wiki/SC2268
https://www.vidarholen.net/contents/blog/?p=1035
|
|
7179cedd
|
2021-09-19T13:36:15
|
|
Add -Wno-void-pointer-to-enum-cast (we use this hack in tests)
Refs: https://reviews.llvm.org/D75758
|
|
7ab3a06a
|
2021-06-16T15:29:30
|
|
build: test ac_cv_header_sys_time_h once, reformat timer* macro checks
|
|
041d6f09
|
2021-06-15T16:00:48
|
|
build: remove call to AC_C_CONST()
> This macro is obsolescent, as current C compilers support const.
> New programs need not use this macro.
See: https://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.67/autoconf.html#index-AC_005fC_005fCONST-877.
|
|
7708f6ce
|
2021-06-15T15:22:20
|
|
build: stop using the deprecated form of AC_OUTPUT()
> The use of AC_OUTPUT with arguments is deprecated.
See: https://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.67/autoconf.html#AC_005fOUTPUT.
|
|
5f11857f
|
2021-06-15T14:34:46
|
|
build: quote args in AC_ARG_ENABLE & AS_HELP_STRING
Previously, some were, some weren't. Consolidate on quoting.
|
|
67f808ec
|
2021-06-15T14:10:29
|
|
build: remove call to AC_HEADER_TIME
Besides the fact that the *_TIME_WITH_SYS_TIME define doesn't seem to be
used anywhere in the libevent source, this macro is also obselescent.
> This macro is obsolescent, as current systems can include both files when they exist.
> New programs need not use this macro.
See:
https://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.67/autoconf.html#index-AC_005fHEADER_005fTIME-640.
|
|
eb59d84d
|
2021-06-15T13:41:05
|
|
build: call AC_PREREQ() first & quote argument
> This macro may be used before AC_INIT.
Calling this first means establishing that the required version of
autoconf is actually available, before bothering with AC_INIT().
See:
https://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.67/autoconf.html#Versioning.
|
|
dfae9557
|
2021-06-15T13:35:58
|
|
build: remove call to AC_PREFIX_DEFAULT
> By default, configure sets the prefix for files it installs to /usr/local.
A call to AC_PREFIX_DEFAULT, just to set the value the same as the
default, would seem unnecessary. Note that the "initialize prefix"
comment dates back to aa6567fe6475d3230c7c745a7ca208735af0c331, prior to
when an autoconf macro was actually being used.
See:
https://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.67/autoconf.html#Default-Prefix.
|
|
710ccb7e
|
2021-06-15T13:31:44
|
|
build: remove call to AC_PROG_GCC_TRADITIONAL
libevent requires Autoconf 2.67+, and from atleast this version
onwards, if not earlier, this macro is obsolescent.
> This macro is obsolescent, since current versions of the GNU
> C compiler fix the header files automatically when installed.
See:
https://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.67/autoconf.html#AC_005fPROG_005fGCC_005fTRADITIONAL.
|
|
72138063
|
2021-04-27T21:15:03
|
|
Do not wrap lines in AC_CHECK_HEADERS/AC_CHECK_FUNCS (fixes detection in mingw)
Fixes: d433f847 ("Revert "build: use literals for AC_CHECK_HEADERS/AC_CHECK_FUNCS"")
Fixes: 28f0fe6f ("build: use literals for AC_CHECK_HEADERS/AC_CHECK_FUNCS")
Fixes: ce028cef ("build: fix autotools build under mingw")
|
|
d433f847
|
2021-04-02T09:19:55
|
|
Revert "build: use literals for AC_CHECK_HEADERS/AC_CHECK_FUNCS"
That commit was wrong, it breaks syntax for autoconf <2.71, since
AC_CHECK_*S() requires sh-like list.
This reverts commit 28f0fe6fd1e2b1e9fb24a5c7a5b078790890e44f.
Fixes: #1149
|
|
28f0fe6f
|
2021-03-28T17:16:54
|
|
build: use literals for AC_CHECK_HEADERS/AC_CHECK_FUNCS
autoconf 2.72 reports:
configure.ac:188: warning: AC_CHECK_HEADERS(\
): you should use literals
../autoconf-2.71/lib/autoconf/headers.m4:217: AC_CHECK_HEADERS is expanded from...
configure.ac:188: the top level
configure.ac:188: warning: AC_CHECK_HEADERS(afunix.h
): you should use literals
And also it fails to find fcntl.h and other headers because of this:
configure:14725: checking for fcntl.h
configure:14725: gcc -c -I/mingw64/include conftest.c >&5
conftest.c:77:10: fatal error: fcntl.h: No such file or directory
77 | #include < fcntl.h>
Refs: https://github.com/libevent/libevent/pull/1146/checks?check_run_id=2211752215
|
|
ce028cef
|
2021-03-28T09:01:58
|
|
build: fix autotools build under mingw
autotools that is shipped with mingw (autoconf 2.71-1, automake
1.6-1.16, automake wrapper 11-1), does not allow trailing backslashes
for AC_CHECK_HEADERS() and AC_CHECK_FUNCS(), otherwise it generates
incorrect for loop, and reports:
../configure: line 14724: syntax error near unexpected token `as_ac_Header=`printf "%s\n" "ac_cv_header_$ac_header" | $as_tr_sh`'
../configure: line 14724: ` as_ac_Header=`printf "%s\n" "ac_cv_header_$ac_header" | $as_tr_sh`'
Error: Process completed with exit code 1.
Here is a simple analog:
for VAR in <CR> foo \ <CR> bar \
do :
echo $VAR
done
Trailing slash is not allowed.
Refs:
- https://github.com/libevent/libevent/runs/2171607687
- https://github.com/libevent/libevent/runs/2211365885?check_suite_focus=true
|
|
78e8541a
|
2021-03-28T10:35:22
|
|
build: remove no-longer used checks for vasprintf
From what I can tell the last usage was removed in
8d1317d71c46e27c5073d3429a64af69de0351a6.
|
|
4c29b01c
|
2021-03-28T10:57:11
|
|
build: remove splice implementation fragments
Looks like a `splice` implementation was planned, but has clearly never
eventuated (the TODO comment is from ~12 years ago, in
8b5bd77415fb6634fadf08357676926fecf5f032). For now, it's probably better
to remove the unused code/correct the docs.
|
|
8e6090d0
|
2021-03-23T09:52:14
|
|
build: use AC_CHECK_LIB over AC_HAVE_LIBRARY
AC_HAVE_LIBRARY is deprecated, see
https://www.gnu.org/software/autoconf/manual/autoconf-2.70/html_node/Obsolete-Macros.html,
and has been prior to Autoconf 2.67, which is the minimum required by
the project. It's usage also causes warnings with newer versions of autoconf:
```bash
configure.ac:319: warning: The macro `AC_HAVE_LIBRARY' is obsolete.
configure.ac:319: You should run autoupdate.
```
`AC_HAVE_LIBRARY` was introduced in #969, although it's not clear why it
was decided to revert to using an obselete macro.
|
|
972289f3
|
2020-08-29T01:15:20
|
|
Detect existence of pthread_mutexattr_setprotocol()
Fixes: #1084
|
|
028385f6
|
2020-05-28T17:14:46
|
|
fix build system and add test and cleanup code
|
|
97a899d9
|
2020-07-07T13:58:47
|
|
build: remove -Wstrict-aliasing as strict-aliasing is disabled
Note that -Wstrict-aliasing is also include in -Wall.
|
|
28e31050
|
2020-07-03T16:02:09
|
|
build: move automake options into AM_INIT_AUTOMAKE call
|
|
0a537b25
|
2020-07-03T15:47:10
|
|
build: remove commented code from configure.ac
|
|
0ea7f707
|
2020-06-26T14:33:43
|
|
build: use feature detection when adding compile flags
Rather than trying to detect (potentially very old) GCC versions, just
test whether the flag works with the compiler, and add it to CLFAGS if
so.
-Werror is used to convert unknown flag warnings into errors, and
prevent their addition to CLFAGS.
|
|
b6497fa1
|
2020-07-04T15:55:22
|
|
build: do not disable deprecation warnings on macOS
this was for using openssl-0.9.8 included in macOS 10.7 - 10.12,
but it is long since time you really should not use that openssl
|
|
e05ee6d3
|
2020-06-28T18:40:26
|
|
build: consolidate darwin compile flag additions in configure
This is mostly move-only, apart from some changes to comments.
|
|
8ac10b6b
|
2020-06-28T18:30:54
|
|
build: consistently use dnl for comments in configure.ac
|
|
ff4ec5fd
|
2020-06-26T14:35:41
|
|
build: remove duplicate -Wredundant-decls
|
|
83ef3216
|
2020-04-22T19:44:45
|
|
Add wepoll support to light up the epoll backend on Windows
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
|
|
6d54be2c
|
2020-03-14T11:13:38
|
|
autoconf: fix getaddrinfo checking errors on mingw
`AC_CHECK_FUNCS` can not properly check `getaddrinfo` because this
function requires some special headers on mingw.
Using `AC_CHECK_DECL` can effectively solve this issue.
Same for
- getnameinfo
- getprotobynumber
- getservbyname
- inet_ntop
- inet_pton
|
|
b1e46c32
|
2020-01-13T00:33:39
|
|
test: put thread into real time scheduling class on osx for better latencies
|
|
b9b9f190
|
2019-10-16T01:11:51
|
|
Do not use sysctl.h on linux (it had been deprecated)
It had been deprecated for a long time (AFAIK), but since
glibc-2.29.9000-309-g744e829637 it produces a #warning
|
|
148d12ad
|
2019-09-19T15:24:51
|
|
evutil_time: detect and use _gmtime64_s()/_gmtime64()
|
|
86f55b04
|
2019-09-03T00:34:35
|
|
arc4random: replace sysctl() with getrandom (on linux)
Since sysctl() is deprecated for a long-long time, according to
sysctl(2):
Since Linux 2.6.24, uses of this system call result in warnings in the kernel log.
Fixes: #890
Suggested-by: Pierce Lopez
|
|
13b8fc39
|
2019-08-30T10:21:07
|
|
Upgrade autoconf (after upgrading minimum required to 2.67)
- AC_PROG_SED
- AC_USE_SYSTEM_EXTENSIONS
- AC_TRY_COMPILE -> AC_COMPILE_IFELSE
- AC_TRY_RUN -> AC_RUN_IFELSE
...
Also use:
- AC_CONFIG_AUX_DIR
Refs: #870
Fixes: 3f09e923 ("Change the minimum version of automake to 1.13 and autoconf to 2.67")
|
|
f9c6a14e
|
2019-08-23T22:31:28
|
|
autotools: attach doxygen target into all target
v2: disable man pages by default
|
|
3f09e923
|
2019-08-08T21:48:21
|
|
Change the minimum version of automake to 1.13 and autoconf to 2.67
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
|
|
1947dd0d
|
2019-07-27T22:41:39
|
|
Change autoconf version to 2.62 and automake version to 1.11.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")
|
|
da112175
|
2019-05-12T16:12:06
|
|
build: struct sockaddr_un detection (sys/un.h, afunix.h)
- On UNIX: sys/un.h
- Since win10: afunix.h
And windows has AF_UNIX but do not have sockaddr_un (before windows
build 17061 [1]), hence the sockaddr_un detection.
[1]: https://devblogs.microsoft.com/commandline/af_unix-comes-to-windows/
|
|
d5b24cc0
|
2019-03-05T21:34:31
|
|
sample/becat: bufferevent cat, ncat/nc/telnet analog
|
|
91dad75f
|
2019-02-28T17:47:51
|
|
Fix typos: warnigns -> warnings
Signed-off-by: Enji Cooper <yaneurabeya@gmail.com>
|
|
5f87be42
|
2019-02-25T11:59:15
|
|
Define `_GNU_SOURCE` properly/consistently per autoconf
Although `_GNU_SOURCE` can be defined as an arbitrary #define per the
glibc docs [1], it's best to define it in a manner consistent with the way
that autoconf defines it, i.e., `1`.
While this shouldn't matter in most cases, it does when the headers from
other projects follow the poorly defined GNU convention implemented by
autoconf and are included after the libevent's util.h header. An example
failure with clang, similar to the failure I encountered, is as follows:
```
$ printf "#define _GNU_SOURCE\n#define _GNU_SOURCE 1" | clang -c -x c -
<stdin>:2:9: warning: '_GNU_SOURCE' macro redefined [-Wmacro-redefined]
^
<stdin>:1:9: note: previous definition is here
^
1 warning generated.
```
This happened when compiling python [2] with a stale homebrew util.h file from
libevent (which admittedly would not happen in a correct libevent install, as the
header should be installed under /usr/local/include/event2/util.h). However, if
both headers had been combined (which is more likely), it would have failed as
shown above.
Removing the ad hoc definition unbreaks compiling python's pyconfig.h.in header
when included after util.h from libevent.
1. http://www.gnu.org/software/libc/manual/html_node/Feature-Test-Macros.html
2. https://github.com/python/cpython/blob/master/configure.ac#L126
Closes: #773 (cherry-picked)
Signed-off-by: Enji Cooper <yaneurabeya@gmail.com>
|
|
006c528a
|
2018-10-27T16:49:39
|
|
autotools: do not add warnings that is included into -Wall already
Plus remove duplicates
|
|
e85818d2
|
2018-06-19T10:15:08
|
|
Cleanup __func__ detection
First of all __func__ is not a macro, it is char[] array, so the code
that we had before in cmake, was incorrect, i.e.:
#if defined (__func__)
#define EVENT____func__ __func__
#elif defined(__FUNCTION__)
#define EVENT____func__ __FUNCTION__
#else
#define EVENT____func__ __FILE__
#endif
So just detect do we have __func__/__FUNCTION__ in configure/cmake
before build and define EVENT__HAVE___func__/EVENT__HAVE___FUNCTION__
to use the later to choose which should be used as a __func__ (if it is
not presented).
Closes: #644
|
|
4728ffed
|
2018-08-01T00:58:02
|
|
autotools: include win32 specific headers for socklen_t detection on win32/mingw
The [1] removes EVENT__ prefix, and now if we will incorrectly detect
that "foobar" (or socklen_t in our case) type is not available, but
somewhere later it will be available then we will get next error [2]:
error: two or more data types in declaration specifiers
According to [3]:
- Compile something in Cygwin and you are compiling it for Cygwin.
- Compile something in MinGW and you are compiling it for Windows.
And I can confirm this, since there is _WIN32 defined (according to [4])
And since according to [5] our image in appveyour (Visual Studion 2015)
has mingw (and we use it, not cygwin) we need ws2tcpip.h (over
sys/socket.h -- which does not exist in win32) header to detect
socklen_t existence.
[1]: 587e9f5828c4eb3c6e79e9eb29f174e4ae0c05bd ("config.h can't be prefixed unconditionally")
[2]: https://ci.appveyor.com/project/nmathewson/libevent/build/job/yonukoc5q3tr3e5e#L372
[3]: https://stackoverflow.com/questions/771756/what-is-the-difference-between-cygwin-and-mingw
[4]: https://www.appveyor.com/docs/build-environment/#mingw-msys-cygwin
[5]: https://ci.appveyor.com/project/nmathewson/libevent/build/job/yonukoc5q3tr3e5e#L164
Fixes: #649
|
|
1dfec8a9
|
2017-08-19T16:01:46
|
|
configure: avoid false positive in DragonFlyBSD
by default, the max buffer size is 16K and histeresis is at 50%, so
a bigger read is needed to unlock writes than you would expect from
other BSD (512 bytes)
this doesn't introduce any regression on FreeBSD 11.1, OpenBSD 6.1, NetBSD 7.1,
macOS 10.12.6 and of course DragonFlyBSD 4.8.1, and most of them show
a max pipe size of 64K, so the read call should drain them all regardless
of how conservative they are on the free pipe space they will require
(usually 512 bytes) before kevent reports the fd as ready for write.
I couldn't find a reference to which bug this code was trying to look for
and it seems to be there from the beginning of git history so it might be
no longer relevant.
Issue: #548
|
|
63c4bf78
|
2017-09-01T15:50:36
|
|
test: fix 32bit linux regress
|
|
94e5cc84
|
2017-08-15T05:11:05
|
|
Add configure check for midipix
Fixes: #540
|
|
6541168d
|
2017-03-06T00:55:16
|
|
Detect arch4random_addrandom() existence
Refs: #370
Refs: #475
|
|
66a4eb0c
|
2017-03-06T00:05:50
|
|
Check for WNOWAIT in waitpid() in runtime (not in cmake/configure)
Because checking in cmake breaks cross-compiling.
Introduced-in: 43eb56c7c738e3642f0981e3dd6ab9e082eec798.
Fixes: #482
Fixes: #462
Refs: #475
v2: use waitid() with WNOWAIT
v3: use WNOWAIT only if it available in waitpid(), because not all netbsd
supports it
|
|
5d18d879
|
2017-03-02T21:09:32
|
|
Do not check for ERR_remove_thread_state() (do not link ssl into every library)
This reverts commit c4e9d9bd662de7f575f2172c160795d452ebe709
("sample/https-client: check for ERR_remove_thread_state() existence").
Calling AC_SEARCH_LIBS() modifies LIBS - -lcrypto incorrectly
ends up in LIBS, and thus linked to by libevent_core.so.
Checking for ERR_remove_thread_state should no longer be needed
because it was introduced in openssl 1.0.0, and the previous line
0.9.8 had support discontinued at the end of 2015.
Fixes: #473
|
|
d9118c8d
|
2017-01-28T16:17:07
|
|
test/bench_httpclient: restore SO_LINGER usage after 0dda56a48e94
|
|
efcfa046
|
2017-01-29T18:13:07
|
|
Bump version in master to 2.2.0-alpha-dev
And according to f8d80a285cf941505277d9060d0357b5b7e543d2 ("Bump version
to 2.1.3-alpha-dev") numeric version have 1 at the end, since it means
"-dev".
|
|
9b63b5d4
|
2017-01-22T18:21:57
|
|
Bump version to 2.1.8-stable everywhere
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")
|
|
a7513cc9
|
2017-01-15T12:31:27
|
|
automake: do not use serial-tests if parallel-test-harness available
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)")
|
|
f4489b83
|
2016-11-02T00:31:31
|
|
Bump version to 2.1.7-beta everywhere
- cmake basic
- cmake detecting from git -- event_fuzzy_version_from_git()
- autotools
- win32
- appveyor
|
|
adc402ba
|
2016-09-29T18:31:53
|
|
Adding option to ignore clock_gettime: --disable-clock-gettime
macOS 10.12 introduced `clock_gettime` to libsystem. This means, built
on OS X 10.12 application would crash on earlier versions of OS X
because it will try to call clock_gettime. This options is useful to
make backwards compatible macOS apps.
Fixes: #398
Fixes: #399
Fixes: #400
|
|
51019e94
|
2016-07-13T17:40:48
|
|
Bump version to 2.1.6-beta everywhere
- cmake basic
- cmake detecting from git -- event_fuzzy_version_from_git()
- autotools
- win32
- appveyor
|
|
43eb56c7
|
2016-08-11T16:15:45
|
|
tests: use waitpid(..., WNOWAIT) to fix failing of main/fork under solaris
According to solaris docs:
"One instance of a SIGCHLD signal is queued for each child process whose
status has changed. If waitpid() returns because the status of a child
process is available, and WNOWAIT was not specified in options, any pending
SIGCHLD signal associated with the process ID of that child process is
discarded. Any other pending SIGCHLD signals remain pending."
And interesting thing that it works if you add sleep(1) before waitpid(), and
also if you run with --verbose (some race or what).
But linux doesn't support WNOWAIT in waitpid() so add detection into
cmake/autotools.
Fixes: #387
Link: https://bugzilla.redhat.com/show_bug.cgi?id=840782
|
|
671a24f2
|
2016-08-08T18:10:56
|
|
autotools/win32: fix searching ssl library
|
|
bb09535b
|
2016-08-07T22:19:39
|
|
autoconf: fix --disable-thread-support build under win32
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
|
|
30316177
|
2016-06-28T10:37:24
|
|
[#372] check for errno.h
|
|
b5ca3656
|
2016-05-30T16:53:41
|
|
For non GCC/clang on OSX the -Wno-deprecated-declarations may not be valid
Closes: nmathewson/Libevent#129
|
|
61179dec
|
2016-05-11T16:02:02
|
|
automake: define serial-tests only if automake have this option
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
|
|
b8d7c621
|
2016-04-20T07:31:25
|
|
libevent_core and libevent_extra also deserve a pkgconfig file
|
|
f29f59e8
|
2016-03-10T00:25:09
|
|
Replace -Wswitch-enum with -Wswitch, and add it into cmake rules too
According to https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html:
-Wswitch-enum
Warn whenever a switch statement has an index of enumerated type and lacks a
case for one or more of the named codes of that enumeration. case labels
outside the enumeration range also provoke warnings when this option is used.
The only difference between -Wswitch and this option is that this option
gives a warning about an omitted enumeration code even if there is a *default
label*.
|
|
959a4c20
|
2015-11-25T17:47:42
|
|
autotools: fix getservbyname() detection
The mentioned commit adds this check under-the-else of the previous condition
between getaddrinfo()/gethostbyname_r(), so this check is triggered only when
we don't have getaddrinfo() which is wrong, fix this by move it upper.
Fixes [CI] since it uses getservbyname() and it failed with autotools only
(cmake detection is ok).
CI: https://travis-ci.org/libevent/libevent/builds/93125954
Fixes: af08a94085e49e6942835b4c6b50a774536d5b5b ("Check for getservbyname even
if not on win32.")
|
|
c4e9d9bd
|
2015-11-23T18:44:03
|
|
sample/https-client: check for ERR_remove_thread_state() existence
Fixes: freebsd 9.2 build
|
|
683f5568
|
2015-01-05T09:16:12
|
|
Increment version to 2.1.5-beta
|
|
0c492b33
|
2014-06-13T17:07:50
|
|
add a --disable-samples configure flag
For people building & installing libevent in a distro, building all these
sample apps are not useful. Add a flag to turn them off.
|
|
de268feb
|
2014-03-21T13:20:34
|
|
Increment version to 2.1.4-alpha-dev
|
|
d08273ec
|
2014-03-16T12:09:24
|
|
Increment version to 2.1.4-alpha
|
|
cbfa8da1
|
2014-03-03T11:23:55
|
|
Merge remote-tracking branch 'origin/patches-2.0'
|
|
b56611d7
|
2014-02-19T06:49:31
|
|
Add -Qunused-arguments for clang on macos
The clang compiler provided with macosx emits warnings like:
CC bufferevent.lo
clang: warning: argument unused during compilation: '-I .'
clang: warning: argument unused during compilation: '-I ./compat'
clang: warning: argument unused during compilation: '-I ./include'
clang: warning: argument unused during compilation: '-I ./include'
for each file being compiled. This generates a lot of noise during
compilation making it hard to see "real" errors. This patch mute
those warnings.
|
|
f665d5cb
|
2014-02-24T10:32:00
|
|
Stop checking for inet_aton; we don't use it.
We had cmake and autoconf tests for the inet_aton function... but we
never actually use it any more.
(The autoconf tests still use the callability of inet_aton to decide
whether we need to link against -lresolv)
Reported by Harlan Stenn.
|
|
f8d80a28
|
2013-05-01T23:12:08
|
|
Bump version to 2.1.3-alpha-dev
|