1
0
mirror of https://github.com/libuv/libuv synced 2025-03-28 21:13:16 +00:00
libuv/configure.ac

93 lines
4.4 KiB
Plaintext
Raw Normal View History

# Copyright (c) 2013, Ben Noordhuis <info@bnoordhuis.nl>
#
# Permission to use, copy, modify, and/or distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
# copyright notice and this permission notice appear in all copies.
#
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
AC_PREREQ(2.57)
2024.09.25, Version 1.49.0 (Stable) Changes since version 1.48.0: * test: fix -Wpointer-to-int-cast on 32 bits systems (Ben Noordhuis) * build: add alias for libuv to CMakeLists.txt (Anthony Alayo) * linux: create io_uring sqpoll ring lazily (Ben Noordhuis) * misc: run sample CI when code changes (Jameson Nash) * linux: fix uv_available_parallelism using cgroup (Thomas Walter) * doc: fix tty example segfault (hiiizxf) * udp,unix: fix sendmsg use-after-free (Geddy) * cygwin: implement uv_resident_set_memory (Farzin Monsef) * win: almost fix race detecting ESRCH in uv_kill (Santiago Gimeno) * test: disable env var test under win32+asan (Ben Noordhuis) * unix,fs: fix realpath calls that use the system allocator (Saúl Ibarra Corretgé) * sunos: sync tcp keep-alive with other unices (Andy Pan) * linux: fix /proc/self/stat executable name parsing (Farzin Monsef) * test,ci: fix [AM]San, disable ASLR (Ben Noordhuis) * win: remove _alloca usage (Ben Noordhuis) * unix: reinstate preadv/pwritev fallback code (Ben Noordhuis) * linux: don't delay EPOLL_CTL_DEL operations (Ben Noordhuis) * doc: fix typos in ChangeLog (tgolang) * unix,win: error on zero delay tcp keepalive (Saúl Ibarra Corretgé) * win: simplify uv_once implementation (Saúl Ibarra Corretgé) * doc: correct udp socket options documentation (Ben Noordhuis) * linux: don't use sendmmsg() for single datagrams (Ben Noordhuis) * unix: fix fd leaks in SCM_RIGHTS error path (Ben Noordhuis) * win: robustify uv_os_getenv() error checking (Ben Noordhuis) * test: use newer ASSERT_MEM_EQ macro (Ben Noordhuis) * unix: de-duplicate conditions for using kqueue (Brad King) * darwin: simplify uv_hrtime (Saúl Ibarra Corretgé) * mailmap: update saghul's main email address (Saúl Ibarra Corretgé) * win: remove no longer needed define (Saúl Ibarra Corretgé) * doc: fix some typos (josedelinux) * linux,darwin: make `uv_fs_copyfile` behaves like `cp -r` (Juan José Arboleda) * dragonfly: disable SO_REUSEPORT for UDP socket bindings (Andy Pan) * test: remove the obsolete HAVE_KQUEUE macro (Andy Pan) * unix: use the presence of SOCK_* instead of OS macros for socketpair (Andy Pan) * bsd: support pipe2() on *BSD (Andy Pan) * unix: support SO_REUSEPORT with load balancing for TCP (Andy Pan) * doc: add entries for extended getpw (Juan José Arboleda) * test: fix the flaky test-tcp-reuseport (Andy Pan) * aix,ibmi: fix compilation errors in fs_copyfile (Jeffrey H. Johnson) * unix: support SO_REUSEPORT with load balancing for UDP (Andy Pan) * tcpkeepalive: distinguish OS versions and use proper time units (Andy Pan) * win: map ERROR_BAD_EXE_FORMAT to UV_EFTYPE (Hüseyin Açacak) * doc: add instruction how to install with Conan (Uilian Ries) * unix,win: remove unused req parameter from macros (Viacheslav Muravyev) * build: fix android ci build (Ben Noordhuis) * unix,win: export wtf8 functions properly (Ben Noordhuis) * hurd: add includes and macro prerequisites (Olivier Valentin) * hurd: stub uv_thread_setpriority() (Olivier Valentin) * ci: use macOS 12 for macOS and iOS builds (Saúl Ibarra Corretgé) * darwin: fix crash on iOS(arm64) (郑苏波 (Super Zheng)) * Create dependabot.yml for updating github-actions (Jameson Nash) * doc: correct names of Win32 APIs in fs.rst (zeertzjq) * ci: bump upload and download-artifact versions (dependabot[bot]) * ci: bump actions/setup-python from 4 to 5 (dependabot[bot]) * ci: bump KyleMayes/install-llvm-action from 1 to 2 (dependabot[bot]) * win,error: remap ERROR_NO_DATA to EAGAIN (Jameson Nash) * test: handle zero-length udp datagram (Ben Noordhuis) * misc: remove splay trees macros (Viacheslav Muravyev) * test,openbsd: remove superfluous ifdef guard (Ben Noordhuis) * win,fs: use posix delete semantics, if supported (Ian Butterworth) * win: fix env var in uv_os_homedir and uv_os_tmpdir (Hüseyin Açacak) * fsevents: detect watched directory removal (Santiago Gimeno) * ci: bump actions/checkout to 4 (dependabot[bot]) * linux: eliminate a read on eventfd per wakeup (Andy Pan) * test: pipe_overlong_path handle ENAMETOOLONG (Abdirahim Musse) * win,fs: use the new Windows fast stat API (Hüseyin Açacak) * win,pipe: fix race with concurrent readers (Jameson Nash) * win,signal: fix data race dispatching SIGWINCH (Jameson Nash) * build: ubsan fixes (Matheus Izvekov) * linux: disable SQPOLL io_uring by default (Santiago Gimeno) * win: fix fs.c ubsan failure (Matheus Izvekov) * test: rmdir can return `EEXIST` or `ENOTEMPTY` (Richard Lau) * test: check for `UV_CHANGE` or `UV_RENAME` event (Richard Lau) * unix,fs: silence -Wunused-result warning (Santiago Gimeno) * linux: support abstract unix socket autobinding (Ben Noordhuis) * kqueue: use EVFILT_USER for async if available (Andy Pan) * win: remove deprecated GetVersionExW call (Shelley Vohr) * doc: document uv_loop_option (握猫猫) * doc: fix the `uv_*_set_data` series of functions (握猫猫) * doc: properly label enumerations and types (握猫猫) * doc: document specific macOS fs_event behavior (Santiago Gimeno) * win,pipe: restore fallback handling for blocking pipes (Jameson Nash) * unix,win: remove unused rb-tree macro parameters (Viacheslav Muravyev) * win: compute parallelism from process cpu affinity (Ben Noordhuis) * win: use NtQueryInformationProcess in uv_os_getppid (Zuohui Yang) * win,pipe: fix missing assignment to success (Jameson Nash) * win: fix uv_available_parallelism on win32 (Ben Noordhuis) * win,pipe: fix another missing assignment to success (Jameson Nash) * kqueue: disallow ill-suited file descriptor kinds (Andy Pan) * unix: restore tty attributes on handle close (Ben Noordhuis) * test: delete test with invalid assumption (Ben Noordhuis) * dragonflybsd: fix compilation failure (Jeffrey H. Johnson) * test: run android tests on ci (Edigleysson Silva (Edy)) * darwin: add udp mmsg support (Raihaan Shouhell) * unix: work around arm-linux-gnueabihf-gcc bug (Ben Noordhuis) * unix: expand uv_available_parallelism() to support more platforms (Ondřej Surý) * doc: add known issue in armv7 (Santiago Gimeno)
2024-09-25 10:17:20 +02:00
AC_INIT([libuv], [1.49.0], [https://github.com/libuv/libuv/issues])
AC_CONFIG_MACRO_DIR([m4])
m4_include([m4/libuv-extra-automake-flags.m4])
m4_include([m4/as_case.m4])
2014-09-14 15:09:48 +03:00
m4_include([m4/libuv-check-flags.m4])
AM_INIT_AUTOMAKE([-Wall -Werror foreign subdir-objects] UV_EXTRA_AUTOMAKE_FLAGS)
AM_MAINTAINER_MODE([enable]) # pass --disable-maintainer-mode if autotools may be unavailable
AC_CANONICAL_HOST
AC_ENABLE_SHARED
AC_ENABLE_STATIC
AC_PROG_CC
AM_PROG_CC_C_O
CC_ATTRIBUTE_VISIBILITY([default], [
CC_FLAG_VISIBILITY([CFLAGS="${CFLAGS} -fvisibility=hidden"])
])
# Xlc has a flag "-f<filename>". Need to use CC_CHECK_FLAG_SUPPORTED_APPEND so
# we exclude -fno-strict-aliasing for xlc
CC_CHECK_FLAG_SUPPORTED_APPEND([-fno-strict-aliasing])
CC_CHECK_CFLAGS_APPEND([-g])
CC_CHECK_CFLAGS_APPEND([-std=gnu89])
CC_CHECK_CFLAGS_APPEND([-Wall])
CC_CHECK_CFLAGS_APPEND([-Wextra])
CC_CHECK_CFLAGS_APPEND([-Wno-long-long])
CC_CHECK_CFLAGS_APPEND([-Wno-unused-parameter])
CC_CHECK_CFLAGS_APPEND([-Wstrict-prototypes])
# AM_PROG_AR is not available in automake v0.11 but it's essential in v0.12.
m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
# autoconf complains if AC_PROG_LIBTOOL precedes AM_PROG_AR.
AC_PROG_LIBTOOL
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
LT_INIT
AX_PTHREAD([
LIBS="$LIBS $PTHREAD_LIBS"
CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
])
AC_SEARCH_LIBS([dlopen], [dl])
AC_SEARCH_LIBS([kstat_lookup], [kstat])
AC_SEARCH_LIBS([gethostbyname], [nsl])
AC_SEARCH_LIBS([perfstat_cpu], [perfstat])
AC_SEARCH_LIBS([clock_gettime], [rt])
AC_SEARCH_LIBS([sendfile], [sendfile])
AC_SEARCH_LIBS([socket], [socket])
AC_SYS_LARGEFILE
AM_CONDITIONAL([AIX], [AS_CASE([$host_os],[aix*], [true], [false])])
AM_CONDITIONAL([ANDROID], [AS_CASE([$host_os],[linux-android*],[true], [false])])
AM_CONDITIONAL([CYGWIN], [AS_CASE([$host_os],[cygwin*], [true], [false])])
AM_CONDITIONAL([DARWIN], [AS_CASE([$host_os],[darwin*], [true], [false])])
AM_CONDITIONAL([DRAGONFLY],[AS_CASE([$host_os],[dragonfly*], [true], [false])])
AM_CONDITIONAL([FREEBSD], [AS_CASE([$host_os],[freebsd*], [true], [false])])
AM_CONDITIONAL([HAIKU], [AS_CASE([$host_os],[haiku], [true], [false])])
AM_CONDITIONAL([HURD], [AS_CASE([$host_os],[gnu*], [true], [false])])
AM_CONDITIONAL([LINUX], [AS_CASE([$host_os],[linux*], [true], [false])])
AM_CONDITIONAL([MSYS], [AS_CASE([$host_os],[msys*], [true], [false])])
AM_CONDITIONAL([NETBSD], [AS_CASE([$host_os],[netbsd*], [true], [false])])
AM_CONDITIONAL([OPENBSD], [AS_CASE([$host_os],[openbsd*], [true], [false])])
AM_CONDITIONAL([OS390], [AS_CASE([$host_os],[openedition*], [true], [false])])
AM_CONDITIONAL([OS400], [AS_CASE([$host_os],[os400], [true], [false])])
AM_CONDITIONAL([SUNOS], [AS_CASE([$host_os],[solaris*], [true], [false])])
AM_CONDITIONAL([WINNT], [AS_CASE([$host_os],[mingw*], [true], [false])])
AS_CASE([$host_os],[mingw*], [
LIBS="$LIBS -lws2_32 -lpsapi -liphlpapi -luserenv -luser32 -ldbghelp -lole32 -lshell32"
])
AS_CASE([$host_os], [solaris2.10], [
CFLAGS="$CFLAGS -DSUNOS_NO_IFADDRS"
])
AS_CASE([$host_os], [netbsd*], [AC_CHECK_LIB([kvm], [kvm_open])])
AS_CASE([$host_os], [haiku], [
LIBS="$LIBS -lnetwork"
])
AC_CHECK_HEADERS([sys/ahafs_evProds.h])
AC_CONFIG_FILES([Makefile libuv.pc])
AC_CONFIG_LINKS([test/fixtures/empty_file:test/fixtures/empty_file])
AC_CONFIG_LINKS([test/fixtures/load_error.node:test/fixtures/load_error.node])
AC_CONFIG_LINKS([test/fixtures/lorem_ipsum.txt:test/fixtures/lorem_ipsum.txt])
AC_CONFIG_LINKS([test/fixtures/one_file/one_file:test/fixtures/one_file/one_file])
AC_OUTPUT