configure.ac 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. AC_INIT([love], [HEAD])
  2. AC_CONFIG_HEADERS([config.h])
  3. AC_CONFIG_AUX_DIR([platform/unix])
  4. AC_CONFIG_MACRO_DIR([platform/unix/m4])
  5. AC_CONFIG_SRCDIR([src/love.cpp])
  6. AM_INIT_AUTOMAKE([foreign -Wall foreign tar-ustar silent-rules])
  7. AM_SILENT_RULES
  8. AC_PREFIX_DEFAULT([/usr])
  9. m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
  10. AC_PROG_LIBTOOL
  11. AC_PROG_CC
  12. AC_PROG_CXX
  13. AC_PROG_SED
  14. AC_PROG_MKDIR_P
  15. AC_C_BIGENDIAN
  16. AC_LANG([C++])
  17. includes=
  18. AC_DEFUN([ACLOVE_CXX_FLAG_TEST], # WARNING: NOT REENTRANT
  19. [aclove_cxx_flag_test_save_cflags="$CXXFLAGS"
  20. CXXFLAGS="$1"
  21. AC_MSG_CHECKING([whether $CXX supports flag $1])
  22. AC_COMPILE_IFELSE([AC_LANG_PROGRAM([])],
  23. [AC_MSG_RESULT([yes])]; $2,
  24. [AC_MSG_RESULT([no]); $3])
  25. CXXFLAGS="$aclove_cxx_flag_test_save_cflags"])
  26. # C++11 support
  27. cxx11name="no"
  28. ACLOVE_CXX_FLAG_TEST([-std=c++0x], cxx11name="c++0x", [])
  29. ACLOVE_CXX_FLAG_TEST([-std=c++11], cxx11name="c++11", [])
  30. AS_VAR_IF([cxx11name], [no], AC_MSG_ERROR([Can't LÖVE without C++11]), CXXFLAGS="$CXXFLAGS -std=$cxx11name")
  31. # Libraries
  32. AC_SEARCH_LIBS([sqrt], [m], [], AC_MSG_ERROR([Can't LÖVE without C math library]))
  33. AC_SEARCH_LIBS([SDL_Init], [SDL2], [], AC_MSG_ERROR([Can't LÖVE without SDL 2]))
  34. AC_SEARCH_LIBS([glLoadIdentity], [GL], [], AC_MSG_ERROR([Can't LÖVE without OpenGL]))
  35. AC_SEARCH_LIBS([alSourcePlay], [openal], [], AC_MSG_ERROR([Can't LÖVE without OpenAL]))
  36. AC_SEARCH_LIBS([ilInit], [IL], [], AC_MSG_ERROR([Can't LÖVE without DevIL]))
  37. AC_SEARCH_LIBS([FT_Load_Glyph], [freetype], [], AC_MSG_ERROR([Can't LÖVE without FreeType]))
  38. AC_SEARCH_LIBS([PHYSFS_init], [physfs], [], AC_MSG_ERROR([Can't LÖVE without PhysicsFS]))
  39. AC_SEARCH_LIBS([ModPlug_Load], [modplug], [], AC_MSG_ERROR([Can't LÖVE without ModPlug]))
  40. AC_SEARCH_LIBS([ov_open], [vorbisfile], [], AC_MSG_ERROR([Can't LÖVE without VorbisFile]))
  41. # Includes
  42. AC_CHECK_HEADER([SDL2/SDL.h], [includes="$includes -I/usr/include/SDL2"])
  43. AC_CHECK_HEADER([freetype2/freetype/config/ftheader.h], [includes="$includes -I/usr/include/freetype2"])
  44. # Lua, treated seperately because of --with-lua
  45. AC_ARG_WITH([lua], [AS_HELP_STRING([--with-lua], [Select the lua implementation])],
  46. [], [with_lua=lua])
  47. AC_ARG_WITH([luaversion], [AS_HELP_STRING([--with-luaversion], [Select the lua version])],
  48. [], [with_luaversion=5.1])
  49. AS_VAR_IF([with_luaversion], [5.2], [luatest=lua_version], [luatest=lua_pcall]) # use lua_version for 5.2
  50. AC_SEARCH_LIBS([$luatest], ["${with_lua}${with_luaversion}" "${with_lua}"], [],
  51. AC_MSG_ERROR([Can't LÖVE without $with_lua]))
  52. AC_CHECK_HEADER(["${with_lua}${with_luaversion}/lua.h"], [includes="$includes -I/usr/include/${with_lua}${with_luaversion}"], [])
  53. AC_CHECK_HEADER(["${with_lua}/lua.h"], [includes="$includes -I/usr/include/${with_lua}"], [])
  54. # mpg123, treated seperately because it can be disabled (default on)
  55. AC_ARG_ENABLE([mpg123], AC_HELP_STRING([--disable-mpg123], [Disable mp3 support, for patent-free builds]), [], [enable_mpg123=yes])
  56. AS_VAR_IF([enable_mpg123], [no],
  57. AC_DEFINE([LOVE_NOMPG123], [], [Build without mpg123]),
  58. # else
  59. AC_SEARCH_LIBS([mpg123_open_feed], [mpg123], [],
  60. AC_MSG_ERROR([Can't LÖVE without Mpg123]))
  61. AC_SEARCH_LIBS([mpg123_seek_64], [mpg123],
  62. AC_SUBST([FILE_OFFSET],[-D_FILE_OFFSET_BITS=64]),
  63. AC_SUBST([FILE_OFFSET],[])))
  64. # GME, treated seperately because it can be enabled (default off)
  65. AC_ARG_ENABLE([gme], AC_HELP_STRING([--enable-gme], [Enable GME support, for more chiptuney goodness]), [], [enable_gme=no])
  66. AS_VAR_IF([enable_gme], [yes],
  67. AC_SEARCH_LIBS([gme_open_data], [gme], [], AC_MSG_ERROR([Can't LÖVE without gme]))
  68. AC_DEFINE([LOVE_SUPPORT_GME], [], [Enable gme])
  69. AC_CHECK_HEADER([gme/gme.h], [includes="$includes -I/usr/include/gme"], []))
  70. # libenet check for socklen_t
  71. AC_CHECK_TYPE([socklen_t], [AC_DEFINE([HAS_SOCKLEN_T], [1], [Define if socklen_t exists.] )], ,
  72. #include <sys/types.h>
  73. #include <sys/socket.h>
  74. )
  75. # Optionally build the executable (default on)
  76. AC_ARG_ENABLE([exe],
  77. AC_HELP_STRING([--disable-exe], [Disable building of executable launcher]), [], [enable_exe=yes])
  78. AS_VAR_IF([enable_exe], [no], [], #else
  79. AC_DEFINE([LOVE_BUILD_EXE], [], [Don't build launcher]))
  80. AM_CONDITIONAL([LOVE_BUILD_EXE], [test "x$enable_exe" != xno])
  81. AM_CONDITIONAL([LOVE_NOMPG123], [test "x$enable_mpg123" == xno])
  82. # Set our includes as automake variable
  83. AC_SUBST([LOVE_INCLUDES], ["$includes"])
  84. AC_CONFIG_FILES([
  85. Makefile
  86. src/Makefile
  87. ])
  88. AC_OUTPUT