File: configure.ac

package info (click to toggle)
libopenhmd 0.2.0-5
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 352 kB
  • sloc: ansic: 2,806; makefile: 62; sh: 18
file content (108 lines) | stat: -rw-r--r-- 3,327 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
name='openhmd'
version='0.0.1'
library_interface_version='0:0:0'
email='noname@nurd.se'

AC_PREREQ([2.13])
AC_INIT([openhmd], [0.0.1], [noname@nurd.se])
AM_INIT_AUTOMAKE([foreign -Wall])
m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
LT_INIT
AC_CANONICAL_HOST

# 0.24 automatically calls AC_SUBST() in PKG_CHECK_MODULES()
PKG_PROG_PKG_CONFIG([0.24])

m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])

hidapi="hidapi"
AC_SUBST(hidapi)

AC_SUBST(PKG_CONFIG_EXTRA_PATH, "")
AC_SUBST(EXTRA_LD_FLAGS, "")

AC_MSG_CHECKING([operating system])
AS_CASE(["$host"],
	[*-linux*],
		[AC_MSG_RESULT([$host (Linux)])
		hidapi="hidapi-libusb"

		#link with realtime lib on linux for clock_gettime
		AC_SUBST(EXTRA_LD_FLAGS, "-lrt -lpthread")],
	[*-freebsd*],
		[AC_SUBST(PKG_CONFIG_EXTRA_PATH, "libdata/")])

# Oculus Rift Driver
AC_ARG_ENABLE([driver-oculus-rift],
        [AS_HELP_STRING([--disable-driver-oculus-rift],
                [disable building of Oculus Rift driver [default=yes]])],
        [driver_oculus_rift_enabled=$enableval],
        [driver_oculus_rift_enabled='yes'])

AM_CONDITIONAL([BUILD_DRIVER_OCULUS_RIFT], [test "x$driver_oculus_rift_enabled" != "xno"])

# External Driver
AC_ARG_ENABLE([driver-external],
        [AS_HELP_STRING([--disable-driver-external],
                [disable building of External driver [default=yes]])],
        [driver_external_enabled=$enableval],
        [driver_external_enabled='yes'])

AM_CONDITIONAL([BUILD_DRIVER_EXTERNAL], [test "x$driver_external_enabled" != "xno"])

# Android Driver
AC_ARG_ENABLE([driver-android],
        [AS_HELP_STRING([--enable-driver-android],
                [enable building of Android driver [default=no]])],
        [driver_android_enabled=$enableval],
        [driver_android_enabled='no'])

AM_CONDITIONAL([BUILD_DRIVER_ANDROID], [test "x$driver_android_enabled" != "xno"])

# Libs required by Oculus Rift Driver
AS_IF([test "x$driver_oculus_rift_enabled" != "xno"],
	[PKG_CHECK_MODULES([hidapi], [$hidapi] >= 0.0.5)])

# Do we build OpenGL example?
AC_ARG_ENABLE([openglexample],
        [AS_HELP_STRING([--enable-openglexample],
                [enable building of OpenGL example [default=no]])],
        [openglexample_enabled=$enableval],
        [openglexample_enabled='no'])

AM_CONDITIONAL([BUILD_OPENGL_EXAMPLE], [test "x$openglexample_enabled" != "xno"])

# Libs required by OpenGL test
AS_IF([test "x$openglexample_enabled" != "xno"], [
	PKG_CHECK_MODULES([sdl], [sdl])

	# Try to find OpenGL with pkg-config
	PKG_CHECK_MODULES([GL], [gl], [],
			# and try to find which lib to link to, -lGL first
			[AC_CHECK_LIB(GL, glBegin, [GL_LIBS=-lGL],

				# if that fails, try -lopengl32 (win32)
				[AC_CHECK_LIB(opengl32, main, [GL_LIBS=-lopengl32],
					AC_MSG_ERROR([GL not found])
				)]
			)]
	)

	AC_SUBST(GL_LIBS)

	# Try to find GLEW with pkg-config
	PKG_CHECK_MODULES([GLEW], [glew], [],
		# if that fails, check if there's a glew header
		[AC_CHECK_HEADER([GL/glew.h], [GLEW_LIBS=-lGLEW; GLEW_CFLAGS=-DGLEW_STATIC], AC_MSG_ERROR([GLEW not found]))]
	)

	AC_SUBST(GLEW_LIBS)
	AC_SUBST(GLEW_CFLAGS)
])

AC_PROG_CC
AC_PROG_CC_C99

AC_CONFIG_HEADERS([config.h])
AC_CONFIG_FILES([Makefile src/Makefile tests/Makefile tests/unittests/Makefile examples/Makefile examples/opengl/Makefile examples/simple/Makefile pkg-config/openhmd.pc])
AC_OUTPUT