configure.ac 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. name='openhmd'
  2. version='0.0.1'
  3. library_interface_version='0:0:0'
  4. email='noname@nurd.se'
  5. m4_define([OH_VERSION_STRING], [0.0.1])
  6. m4_define([OH_NAME], [openhmd])
  7. AC_PREREQ([2.13])
  8. AC_INIT([OH_NAME], [OH_VERSION_STRING], [noname@nurd.se])
  9. AM_INIT_AUTOMAKE([foreign -Wall])
  10. m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
  11. LT_INIT
  12. AC_CANONICAL_HOST
  13. m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
  14. hidapi="hidapi"
  15. AC_SUBST(PKG_CONFIG_EXTRA_PATH, "")
  16. AC_SUBST(EXTRA_LD_FLAGS, "")
  17. AC_MSG_CHECKING([operating system])
  18. case "$host" in
  19. *-linux*)
  20. AC_MSG_RESULT([$host (Linux)])
  21. hidapi="hidapi-libusb"
  22. #link with realtime lib on linux for clock_gettime
  23. AC_SUBST(EXTRA_LD_FLAGS, "-lrt -lpthread")
  24. ;;
  25. *-freebsd*)
  26. AC_SUBST(PKG_CONFIG_EXTRA_PATH, "libdata/")
  27. ;;
  28. esac
  29. # Oculus Rift Driver
  30. AC_ARG_ENABLE([driver-oculus-rift],
  31. [AS_HELP_STRING([--enable-driver-oculus-rift],
  32. [enable building of Oculus Rift driver (default y)])],
  33. [driver_oculus_rift_enabled=$enableval],
  34. [driver_oculus_rift_enabled='yes'])
  35. AM_CONDITIONAL([BUILD_DRIVER_OCULUS_RIFT], [test "x$driver_oculus_rift_enabled" != "xno"])
  36. # External Driver
  37. AC_ARG_ENABLE([driver-external],
  38. [AS_HELP_STRING([--enable-driver-external],
  39. [enable building of External driver (default y)])],
  40. [driver_external_enabled=$enableval],
  41. [driver_external_enabled='yes'])
  42. AM_CONDITIONAL([BUILD_DRIVER_EXTERNAL], [test "x$driver_external_enabled" != "xno"])
  43. # Libs required by Oculus Rift Driver
  44. if test "x$driver_oculus_rift_enabled" != "xno"; then
  45. PKG_CHECK_MODULES([hidapi], [$hidapi] >= 0.0.5)
  46. fi
  47. # Do we build OpenGL example?
  48. AC_ARG_ENABLE([openglexample],
  49. [AS_HELP_STRING([--enable-openglexample],
  50. [enable building of OpenGL example (default n)])],
  51. [openglexample_enabled=$enableval],
  52. [openglexample_enabled='no'])
  53. AM_CONDITIONAL([BUILD_OPENGL_EXAMPLE], [test "x$openglexample_enabled" != "xno"])
  54. # Libs required by OpenGL test
  55. if test "x$openglexample_enabled" != "xno"; then
  56. PKG_CHECK_MODULES([sdl], [sdl])
  57. # Try to find OpenGL with pkg-config
  58. PKG_CHECK_MODULES([GL], [gl], [],
  59. # and try to find which lib to link to, -lGL first
  60. [AC_CHECK_LIB(GL, glBegin, [GL_LIBS=-lGL],
  61. # if that fails, try -lopengl32 (win32)
  62. [AC_CHECK_LIB(opengl32, main, [GL_LIBS=-lopengl32],
  63. AC_MSG_ERROR([GL not found])
  64. )]
  65. )]
  66. )
  67. AC_SUBST(GL_LIBS)
  68. # Try to find GLEW with pkg-config
  69. PKG_CHECK_MODULES([GLEW], [glew], [],
  70. # if that fails, check if there's a glew header
  71. [AC_CHECK_HEADER([GL/glew.h], [GLEW_LIBS=-lGLEW; GLEW_CFLAGS=-DGLEW_STATIC], AC_MSG_ERROR([GLEW not found]))]
  72. )
  73. AC_SUBST(GLEW_LIBS)
  74. AC_SUBST(GLEW_CFLAGS)
  75. fi
  76. AC_PROG_CC
  77. AC_PROG_CC_C99
  78. AC_CONFIG_HEADERS([config.h])
  79. AC_OUTPUT([Makefile src/Makefile tests/Makefile tests/unittests/Makefile examples/Makefile examples/opengl/Makefile examples/simple/Makefile])
  80. AC_OUTPUT