1# Copyright (c) 2013, Ben Noordhuis <info@bnoordhuis.nl> 2# 3# Permission to use, copy, modify, and/or distribute this software for any 4# purpose with or without fee is hereby granted, provided that the above 5# copyright notice and this permission notice appear in all copies. 6# 7# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 8# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 9# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 10# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 11# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 12# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 13# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 14 15AC_PREREQ(2.57) 16AC_INIT([libuv], [1.44.2], [https://github.com/libuv/libuv/issues]) 17AC_CONFIG_MACRO_DIR([m4]) 18m4_include([m4/libuv-extra-automake-flags.m4]) 19m4_include([m4/as_case.m4]) 20m4_include([m4/libuv-check-flags.m4]) 21AM_INIT_AUTOMAKE([-Wall -Werror foreign subdir-objects] UV_EXTRA_AUTOMAKE_FLAGS) 22AC_CANONICAL_HOST 23AC_ENABLE_SHARED 24AC_ENABLE_STATIC 25AC_PROG_CC 26AM_PROG_CC_C_O 27 28CC_ATTRIBUTE_VISIBILITY([default], [ 29 CC_FLAG_VISIBILITY([CFLAGS="${CFLAGS} -fvisibility=hidden"]) 30]) 31# Xlc has a flag "-f<filename>". Need to use CC_CHECK_FLAG_SUPPORTED_APPEND so 32# we exclude -fno-strict-aliasing for xlc 33CC_CHECK_FLAG_SUPPORTED_APPEND([-fno-strict-aliasing]) 34CC_CHECK_CFLAGS_APPEND([-g]) 35CC_CHECK_CFLAGS_APPEND([-std=gnu89]) 36CC_CHECK_CFLAGS_APPEND([-Wall]) 37CC_CHECK_CFLAGS_APPEND([-Wextra]) 38CC_CHECK_CFLAGS_APPEND([-Wno-long-long]) 39CC_CHECK_CFLAGS_APPEND([-Wno-unused-parameter]) 40CC_CHECK_CFLAGS_APPEND([-Wstrict-prototypes]) 41# AM_PROG_AR is not available in automake v0.11 but it's essential in v0.12. 42m4_ifdef([AM_PROG_AR], [AM_PROG_AR]) 43# autoconf complains if AC_PROG_LIBTOOL precedes AM_PROG_AR. 44AC_PROG_LIBTOOL 45m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) 46LT_INIT 47AX_PTHREAD([ 48 LIBS="$LIBS $PTHREAD_LIBS" 49 CFLAGS="$CFLAGS $PTHREAD_CFLAGS" 50]) 51AC_SEARCH_LIBS([dlopen], [dl]) 52AC_SEARCH_LIBS([kstat_lookup], [kstat]) 53AC_SEARCH_LIBS([gethostbyname], [nsl]) 54AC_SEARCH_LIBS([perfstat_cpu], [perfstat]) 55AC_SEARCH_LIBS([clock_gettime], [rt]) 56AC_SEARCH_LIBS([sendfile], [sendfile]) 57AC_SEARCH_LIBS([socket], [socket]) 58AC_SYS_LARGEFILE 59AM_CONDITIONAL([AIX], [AS_CASE([$host_os],[aix*], [true], [false])]) 60AM_CONDITIONAL([ANDROID], [AS_CASE([$host_os],[linux-android*],[true], [false])]) 61AM_CONDITIONAL([CYGWIN], [AS_CASE([$host_os],[cygwin*], [true], [false])]) 62AM_CONDITIONAL([DARWIN], [AS_CASE([$host_os],[darwin*], [true], [false])]) 63AM_CONDITIONAL([DRAGONFLY],[AS_CASE([$host_os],[dragonfly*], [true], [false])]) 64AM_CONDITIONAL([FREEBSD], [AS_CASE([$host_os],[*freebsd*], [true], [false])]) 65AM_CONDITIONAL([KFREEBSD], [AS_CASE([$host_os],[kfreebsd*], [true], [false])]) 66AM_CONDITIONAL([HAIKU], [AS_CASE([$host_os],[haiku], [true], [false])]) 67AM_CONDITIONAL([HURD], [AS_CASE([$host_os],[gnu*], [true], [false])]) 68AM_CONDITIONAL([LINUX], [AS_CASE([$host_os],[linux*], [true], [false])]) 69AM_CONDITIONAL([MSYS], [AS_CASE([$host_os],[msys*], [true], [false])]) 70AM_CONDITIONAL([NETBSD], [AS_CASE([$host_os],[netbsd*], [true], [false])]) 71AM_CONDITIONAL([OPENBSD], [AS_CASE([$host_os],[openbsd*], [true], [false])]) 72AM_CONDITIONAL([OS390], [AS_CASE([$host_os],[openedition*], [true], [false])]) 73AM_CONDITIONAL([OS400], [AS_CASE([$host_os],[os400], [true], [false])]) 74AM_CONDITIONAL([SUNOS], [AS_CASE([$host_os],[solaris*], [true], [false])]) 75AM_CONDITIONAL([WINNT], [AS_CASE([$host_os],[mingw*], [true], [false])]) 76AS_CASE([$host_os],[mingw*], [ 77 LIBS="$LIBS -lws2_32 -lpsapi -liphlpapi -lshell32 -luserenv -luser32" 78]) 79AS_CASE([$host_os], [netbsd*], [AC_CHECK_LIB([kvm], [kvm_open])]) 80AS_CASE([$host_os], [kfreebsd*], [ 81 LIBS="$LIBS -lfreebsd-glue" 82]) 83AS_CASE([$host_os], [haiku], [ 84 LIBS="$LIBS -lnetwork" 85]) 86AC_CHECK_HEADERS([sys/ahafs_evProds.h]) 87AC_CONFIG_FILES([Makefile libuv.pc]) 88AC_CONFIG_LINKS([test/fixtures/empty_file:test/fixtures/empty_file]) 89AC_CONFIG_LINKS([test/fixtures/load_error.node:test/fixtures/load_error.node]) 90AC_CONFIG_LINKS([test/fixtures/lorem_ipsum.txt:test/fixtures/lorem_ipsum.txt]) 91AC_OUTPUT 92