configure.ac 3.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  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. AC_PREREQ(2.57)
  15. AC_INIT([libuv], [1.37.0], [https://github.com/libuv/libuv/issues])
  16. AC_CONFIG_MACRO_DIR([m4])
  17. m4_include([m4/libuv-extra-automake-flags.m4])
  18. m4_include([m4/as_case.m4])
  19. m4_include([m4/libuv-check-flags.m4])
  20. AM_INIT_AUTOMAKE([-Wall -Werror foreign subdir-objects] UV_EXTRA_AUTOMAKE_FLAGS)
  21. AC_CANONICAL_HOST
  22. AC_ENABLE_SHARED
  23. AC_ENABLE_STATIC
  24. AC_PROG_CC
  25. AM_PROG_CC_C_O
  26. CC_FLAG_VISIBILITY #[-fvisibility=hidden]
  27. CC_CHECK_CFLAGS_APPEND([-g])
  28. CC_CHECK_CFLAGS_APPEND([-std=gnu89])
  29. CC_CHECK_CFLAGS_APPEND([-Wall])
  30. CC_CHECK_CFLAGS_APPEND([-Wextra])
  31. CC_CHECK_CFLAGS_APPEND([-Wno-long-long])
  32. CC_CHECK_CFLAGS_APPEND([-Wno-unused-parameter])
  33. CC_CHECK_CFLAGS_APPEND([-Wstrict-prototypes])
  34. # AM_PROG_AR is not available in automake v0.11 but it's essential in v0.12.
  35. m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
  36. # autoconf complains if AC_PROG_LIBTOOL precedes AM_PROG_AR.
  37. AC_PROG_LIBTOOL
  38. m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
  39. LT_INIT
  40. # TODO(bnoordhuis) Check for -pthread vs. -pthreads
  41. AC_CHECK_LIB([dl], [dlopen])
  42. AC_CHECK_LIB([kstat], [kstat_lookup])
  43. AC_CHECK_LIB([nsl], [gethostbyname])
  44. AC_CHECK_LIB([perfstat], [perfstat_cpu])
  45. AC_CHECK_LIB([pthread], [pthread_mutex_init])
  46. AC_CHECK_LIB([rt], [clock_gettime])
  47. AC_CHECK_LIB([sendfile], [sendfile])
  48. AC_CHECK_LIB([socket], [socket])
  49. AC_SYS_LARGEFILE
  50. AM_CONDITIONAL([AIX], [AS_CASE([$host_os],[aix*], [true], [false])])
  51. AM_CONDITIONAL([ANDROID], [AS_CASE([$host_os],[linux-android*],[true], [false])])
  52. AM_CONDITIONAL([CYGWIN], [AS_CASE([$host_os],[cygwin*], [true], [false])])
  53. AM_CONDITIONAL([DARWIN], [AS_CASE([$host_os],[darwin*], [true], [false])])
  54. AM_CONDITIONAL([DRAGONFLY],[AS_CASE([$host_os],[dragonfly*], [true], [false])])
  55. AM_CONDITIONAL([FREEBSD], [AS_CASE([$host_os],[*freebsd*], [true], [false])])
  56. AM_CONDITIONAL([HAIKU], [AS_CASE([$host_os],[haiku], [true], [false])])
  57. AM_CONDITIONAL([HURD], [AS_CASE([$host_os],[gnu*], [true], [false])])
  58. AM_CONDITIONAL([LINUX], [AS_CASE([$host_os],[linux*], [true], [false])])
  59. AM_CONDITIONAL([MSYS], [AS_CASE([$host_os],[msys*], [true], [false])])
  60. AM_CONDITIONAL([NETBSD], [AS_CASE([$host_os],[netbsd*], [true], [false])])
  61. AM_CONDITIONAL([OPENBSD], [AS_CASE([$host_os],[openbsd*], [true], [false])])
  62. AM_CONDITIONAL([OS390], [AS_CASE([$host_os],[openedition*], [true], [false])])
  63. AM_CONDITIONAL([OS400], [AS_CASE([$host_os],[os400], [true], [false])])
  64. AM_CONDITIONAL([SUNOS], [AS_CASE([$host_os],[solaris*], [true], [false])])
  65. AM_CONDITIONAL([WINNT], [AS_CASE([$host_os],[mingw*], [true], [false])])
  66. AS_CASE([$host_os],[mingw*], [
  67. LIBS="$LIBS -lws2_32 -lpsapi -liphlpapi -lshell32 -luserenv -luser32"
  68. ])
  69. AS_CASE([$host_os], [netbsd*], [AC_CHECK_LIB([kvm], [kvm_open])])
  70. AS_CASE([$host_os], [kfreebsd*], [
  71. LIBS="$LIBS -lfreebsd-glue"
  72. ])
  73. AS_CASE([$host_os], [haiku], [
  74. LIBS="$LIBS -lnetwork"
  75. ])
  76. AC_CHECK_HEADERS([sys/ahafs_evProds.h])
  77. AC_CONFIG_FILES([Makefile libuv.pc])
  78. AC_CONFIG_LINKS([test/fixtures/empty_file:test/fixtures/empty_file])
  79. AC_CONFIG_LINKS([test/fixtures/load_error.node:test/fixtures/load_error.node])
  80. AC_CONFIG_LINKS([test/fixtures/lorem_ipsum.txt:test/fixtures/lorem_ipsum.txt])
  81. AC_OUTPUT