configure.ac 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. # -*- Autoconf -*-
  2. # Process this file with autoconf to produce a configure script.
  3. AC_PREREQ([2.67])
  4. AC_INIT([obs-studio], [0.0.1], [[email protected]])
  5. AC_CONFIG_SRCDIR([libobs/obs.c])
  6. AC_CONFIG_MACRO_DIR([m4])
  7. # AC_CONFIG_HEADERS([config.h])
  8. AC_CANONICAL_HOST
  9. LT_INIT
  10. AM_INIT_AUTOMAKE([foreign])
  11. AM_SILENT_RULES([yes])
  12. # Checks for programs.
  13. AC_PROG_CC_STDC
  14. AC_PROG_OBJC
  15. AC_PROG_OBJCXX
  16. AC_PROG_CXX
  17. AC_PROG_INSTALL
  18. AC_PROG_SED
  19. AX_CXX_COMPILE_STDCXX_11
  20. # AX_EXT
  21. AX_APPEND_FLAG(["-msse2"], [CPPFLAGS])
  22. # currently only x86 and x86_64 are supported architectures
  23. case $host in
  24. i?86*)
  25. AM_CONDITIONAL([ARCH_X86], true)
  26. AM_CONDITIONAL([ARCH_X86_64], false)
  27. ;;
  28. amd64* | x86_64*)
  29. AM_CONDITIONAL([ARCH_X86], false)
  30. AM_CONDITIONAL([ARCH_X86_64], true)
  31. ;;
  32. *)
  33. AC_MSG_ERROR([host architecture not currently supported])
  34. ;;
  35. esac
  36. case $host_os in
  37. mingw*)
  38. AM_CONDITIONAL([OS_WIN], true)
  39. AM_CONDITIONAL([OS_OSX], false)
  40. AM_CONDITIONAL([OS_NIX], false)
  41. ;;
  42. darwin*)
  43. AM_CONDITIONAL([OS_WIN], false)
  44. AM_CONDITIONAL([OS_OSX], true)
  45. AM_CONDITIONAL([OS_NIX], false)
  46. ;;
  47. *) #TODO - fix nix, but not with sticks, and definitely not with bricks
  48. AM_CONDITIONAL([OS_WIN], false)
  49. AM_CONDITIONAL([OS_OSX], false)
  50. AM_CONDITIONAL([OS_NIX], true)
  51. PKG_CHECK_MODULES([X11], [x11])
  52. PKG_CHECK_MODULES([XINERAMA], [xinerama])
  53. PKG_CHECK_MODULES([GTK], [gtk+-x11-2.0])
  54. ;;
  55. esac
  56. # checks for ffmpeg
  57. AC_CHECK_HEADER([libavcodec/avcodec.h], , AC_MSG_ERROR([libavcodec header not found]))
  58. AC_CHECK_HEADER([libavformat/avformat.h], , AC_MSG_ERROR([libavformat header not found]))
  59. AC_CHECK_HEADER([libavutil/avutil.h], , AC_MSG_ERROR([libavutil header not found]))
  60. AC_CHECK_HEADER([libavutil/channel_layout.h], , AC_MSG_ERROR([libavutil header not found]))
  61. AC_CHECK_HEADER([libswscale/swscale.h], , AC_MSG_ERROR([libswscale header not found]))
  62. AC_CHECK_HEADER([libswresample/swresample.h], , AC_MSG_ERROR([libswresample header not found]))
  63. AC_CHECK_LIB([avcodec], [avcodec_find_encoder_by_name], , AC_MSG_ERROR([libavcodec not found]))
  64. AC_CHECK_LIB([avformat], [av_guess_format], , AC_MSG_ERROR([libavformat not found]))
  65. AC_CHECK_LIB([avutil], [av_samples_alloc], , AC_MSG_ERROR([libavutil not found]))
  66. AC_CHECK_LIB([swscale], [sws_scale], , AC_MSG_ERROR([libswscale not found]))
  67. AC_CHECK_LIB([swresample], [swr_convert], , AC_MSG_ERROR([libswresample not found]))
  68. # checks for jansson
  69. AC_CHECK_HEADER([jansson.h], , AC_MSG_ERROR([libjansson header not found]))
  70. AC_CHECK_LIB([jansson], [json_load_file], , AC_MSG_ERROR([libjansson not found]))
  71. wxVersion=2.9.0
  72. WX_CONFIG_OPTIONS
  73. WX_CONFIG_CHECK(
  74. $wxVersion, [wxWin=1], [wxWin=0,
  75. AC_MSG_ERROR([
  76. wxWidgets must be installed on your system.
  77. Please check that wx-config is in path, the directory
  78. where wxWidgets libraries are installed (returned by
  79. 'wx-config --libs' or 'wx-config --static --libs' command)
  80. is in LD_LIBRARY_PATH or equivalent variable and
  81. wxWidgets version is $wxVersion or above.
  82. ]) ],
  83. [core], [--version=2.9])
  84. CPPFLAGS="$CPPFLAGS $WX_CPPFLAGS"
  85. CXXFLAGS="$CXXFLAGS $WX_CXXFLAGS_ONLY"
  86. CFLAGS="$CFLAGS $WX_CFLAGS_ONLY "
  87. LIBS="$LIBS $WX_LIBS"
  88. # Checks for header files.
  89. AC_PATH_X
  90. AC_CHECK_HEADERS([inttypes.h limits.h malloc.h stddef.h stdint.h stdlib.h string.h sys/timeb.h wchar.h wctype.h])
  91. # Checks for typedefs, structures, and compiler characteristics.
  92. AC_HEADER_STDBOOL
  93. AC_C_INLINE
  94. AC_TYPE_INT16_T
  95. AC_TYPE_INT32_T
  96. AC_TYPE_INT64_T
  97. AC_TYPE_INT8_T
  98. AC_TYPE_MODE_T
  99. AC_TYPE_OFF_T
  100. AC_TYPE_PID_T
  101. AC_TYPE_SIZE_T
  102. AC_TYPE_SSIZE_T
  103. AC_TYPE_UINT16_T
  104. AC_TYPE_UINT32_T
  105. AC_TYPE_UINT64_T
  106. AC_TYPE_UINT8_T
  107. AC_CHECK_TYPES([ptrdiff_t])
  108. # Checks for library functions.
  109. AC_FUNC_FSEEKO
  110. AC_FUNC_STRTOD
  111. AC_CHECK_FUNCS([memmove memset socket strstr strtol strtoul])
  112. AC_CONFIG_FILES([makefile
  113. build/makefile
  114. obs/makefile
  115. test/makefile
  116. test/test-input/makefile
  117. libobs/makefile
  118. libobs-opengl/makefile])
  119. AC_OUTPUT