Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 1 | From b25e9c675cf560b8b037dc855c6b3b1d09957867 Mon Sep 17 00:00:00 2001 |
| 2 | From: Martin Jansa <Martin.Jansa@gmail.com> |
| 3 | Date: Wed, 9 Jul 2014 14:23:41 +0200 |
| 4 | Subject: [PATCH 3/9] configure: Allow to disable demos which require GLEW or |
| 5 | GLU |
| 6 | |
| 7 | * in some systems without X11 support we don't have GLEW, but |
| 8 | mesa-demos are still useful |
| 9 | |
| 10 | Upstream-Status: Pending |
| 11 | |
| 12 | Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> |
| 13 | --- |
| 14 | configure.ac | 49 ++++++++++++++++++++--------- |
| 15 | src/Makefile.am | 14 ++++++--- |
| 16 | src/demos/Makefile.am | 73 ++++++++++++++++++++++++------------------- |
| 17 | src/egl/Makefile.am | 8 +++-- |
| 18 | src/egl/opengles1/Makefile.am | 44 +++++++++++++++----------- |
| 19 | src/egl/opengles2/Makefile.am | 33 ++++++++++--------- |
| 20 | 6 files changed, 135 insertions(+), 86 deletions(-) |
| 21 | |
| 22 | diff --git a/configure.ac b/configure.ac |
| 23 | index 9445424..bc4c8d1 100644 |
| 24 | --- a/configure.ac |
| 25 | +++ b/configure.ac |
| 26 | @@ -93,25 +93,44 @@ AC_EGREP_HEADER([glutInitContextProfile], |
| 27 | [AC_DEFINE(HAVE_FREEGLUT)], |
| 28 | []) |
| 29 | |
| 30 | -dnl Check for GLEW |
| 31 | -PKG_CHECK_MODULES(GLEW, [glew >= 1.5.4]) |
| 32 | -DEMO_CFLAGS="$DEMO_CFLAGS $GLEW_CFLAGS" |
| 33 | -DEMO_LIBS="$DEMO_LIBS $GLEW_LIBS" |
| 34 | +AC_ARG_ENABLE([glew], |
| 35 | + [AS_HELP_STRING([--enable-glew], |
| 36 | + [build demos which require glew @<:@default=yes@:>@])], |
| 37 | + [enable_glew="$enableval"], |
| 38 | + [enable_glew=yes] |
| 39 | +) |
| 40 | + |
| 41 | +if test "x$enable_glew" = xyes; then |
| 42 | + dnl Check for GLEW |
| 43 | + PKG_CHECK_MODULES(GLEW, [glew >= 1.5.4], [glew_enabled=yes], [glew_enabled=no]) |
| 44 | + DEMO_CFLAGS="$DEMO_CFLAGS $GLEW_CFLAGS" |
| 45 | + DEMO_LIBS="$DEMO_LIBS $GLEW_LIBS" |
| 46 | +fi |
| 47 | |
| 48 | # LIBS was set by AC_CHECK_LIB above |
| 49 | LIBS="" |
| 50 | |
| 51 | -PKG_CHECK_MODULES(GLU, [glu], [], |
| 52 | - [AC_CHECK_HEADER([GL/glu.h], |
| 53 | - [], |
| 54 | - AC_MSG_ERROR([GLU not found])) |
| 55 | - AC_CHECK_LIB([GLU], |
| 56 | - [gluBeginCurve], |
| 57 | - [GLU_LIBS=-lGLU], |
| 58 | - AC_MSG_ERROR([GLU required])) ]) |
| 59 | +AC_ARG_ENABLE([glu], |
| 60 | + [AS_HELP_STRING([--enable-glu], |
| 61 | + [build demos which require glu @<:@default=yes@:>@])], |
| 62 | + [enable_glu="$enableval"], |
| 63 | + [enable_glu=yes] |
| 64 | +) |
| 65 | |
| 66 | -DEMO_CFLAGS="$DEMO_CFLAGS $GLU_CFLAGS" |
| 67 | -DEMO_LIBS="$DEMO_LIBS $GLU_LIBS" |
| 68 | +if test "x$enable_glu" = xyes; then |
| 69 | + PKG_CHECK_MODULES(GLU, [glu], [glu_enabled=yes], |
| 70 | + [AC_CHECK_HEADER([GL/glu.h], |
| 71 | + [], |
| 72 | + AC_MSG_ERROR([GLU not found])) |
| 73 | + AC_CHECK_LIB([GLU], |
| 74 | + [gluBeginCurve], |
| 75 | + [GLU_LIBS=-lGLU |
| 76 | + glu_enabled=yes], |
| 77 | + AC_MSG_ERROR([GLU required])) ]) |
| 78 | + |
| 79 | + DEMO_CFLAGS="$DEMO_CFLAGS $GLU_CFLAGS" |
| 80 | + DEMO_LIBS="$DEMO_LIBS $GLU_LIBS" |
| 81 | +fi |
| 82 | |
| 83 | AC_ARG_ENABLE([egl], |
| 84 | [AS_HELP_STRING([--enable-egl], |
| 85 | @@ -304,6 +323,8 @@ AC_SUBST([WAYLAND_CFLAGS]) |
| 86 | AC_SUBST([WAYLAND_LIBS]) |
| 87 | |
| 88 | |
| 89 | +AM_CONDITIONAL(HAVE_GLU, test "x$glu_enabled" = "xyes") |
| 90 | +AM_CONDITIONAL(HAVE_GLEW, test "x$glew_enabled" = "xyes") |
| 91 | AM_CONDITIONAL(HAVE_EGL, test "x$egl_enabled" = "xyes") |
| 92 | AM_CONDITIONAL(HAVE_GLESV1, test "x$glesv1_enabled" = "xyes") |
| 93 | AM_CONDITIONAL(HAVE_GLESV2, test "x$glesv2_enabled" = "xyes") |
| 94 | diff --git a/src/Makefile.am b/src/Makefile.am |
| 95 | index 1647d64..754c47c 100644 |
| 96 | --- a/src/Makefile.am |
| 97 | +++ b/src/Makefile.am |
| 98 | @@ -23,14 +23,18 @@ |
| 99 | # Eric Anholt <eric@anholt.net> |
| 100 | |
| 101 | +if HAVE_GLEW |
| 102 | +UTIL = util |
| 103 | +endif |
| 104 | + |
| 105 | SUBDIRS = \ |
| 106 | - util \ |
| 107 | + $(UTIL) \ |
| 108 | data \ |
| 109 | demos \ |
| 110 | egl \ |
| 111 | fp \ |
| 112 | fpglsl \ |
| 113 | glsl \ |
| 114 | - gs \ |
| 115 | + gs \ |
| 116 | objviewer \ |
| 117 | osdemos \ |
| 118 | perf \ |
| 119 | @@ -40,8 +39,12 @@ SUBDIRS = \ |
| 120 | slang \ |
| 121 | tests \ |
| 122 | tools \ |
| 123 | - trivial \ |
| 124 | - vp \ |
| 125 | - vpglsl \ |
| 126 | wgl \ |
| 127 | xdemos |
| 128 | + |
| 129 | +if HAVE_GLEW |
| 130 | +SUBDIRS += \ |
| 131 | + vp \ |
| 132 | + vpglsl \ |
| 133 | + trivial |
| 134 | +endif |
| 135 | diff --git a/src/demos/Makefile.am b/src/demos/Makefile.am |
| 136 | index 41603fa..ab1e3ab 100644 |
| 137 | --- a/src/demos/Makefile.am |
| 138 | +++ b/src/demos/Makefile.am |
| 139 | @@ -30,91 +30,100 @@ AM_LDFLAGS = \ |
| 140 | $(DEMO_LIBS) \ |
| 141 | $(GLUT_LIBS) |
| 142 | |
| 143 | +bin_PROGRAMS = |
| 144 | + |
| 145 | if HAVE_GLUT |
| 146 | -bin_PROGRAMS = \ |
| 147 | +if HAVE_GLEW |
| 148 | +bin_PROGRAMS += \ |
| 149 | arbfplight \ |
| 150 | arbfslight \ |
| 151 | arbocclude \ |
| 152 | arbocclude2 \ |
| 153 | - bounce \ |
| 154 | - clearspd \ |
| 155 | copypix \ |
| 156 | cubemap \ |
| 157 | cuberender \ |
| 158 | dinoshade \ |
| 159 | - dissolve \ |
| 160 | - drawpix \ |
| 161 | engine \ |
| 162 | fbo_firecube \ |
| 163 | fbotexture \ |
| 164 | - fire \ |
| 165 | fogcoord \ |
| 166 | fplight \ |
| 167 | fslight \ |
| 168 | + gloss \ |
| 169 | + isosurf \ |
| 170 | + multiarb \ |
| 171 | + paltex \ |
| 172 | + pointblast \ |
| 173 | + projtex \ |
| 174 | + shadowtex \ |
| 175 | + spriteblast \ |
| 176 | + stex3d \ |
| 177 | + textures \ |
| 178 | + vao_demo \ |
| 179 | + winpos |
| 180 | + |
| 181 | +copypix_LDADD = ../util/libutil.la |
| 182 | +cubemap_LDADD = ../util/libutil.la |
| 183 | +cuberender_LDADD = ../util/libutil.la |
| 184 | +engine_LDADD = ../util/libutil.la |
| 185 | +fbo_firecube_LDADD = ../util/libutil.la |
| 186 | +gloss_LDADD = ../util/libutil.la |
| 187 | +isosurf_LDADD = ../util/libutil.la |
| 188 | +multiarb_LDADD = ../util/libutil.la |
| 189 | +projtex_LDADD = ../util/libutil.la |
| 190 | +textures_LDADD = ../util/libutil.la |
| 191 | +winpos_LDADD = ../util/libutil.la |
| 192 | +endif |
| 193 | + |
| 194 | +if HAVE_GLU |
| 195 | +bin_PROGRAMS += \ |
| 196 | + bounce \ |
| 197 | + clearspd \ |
| 198 | + dissolve \ |
| 199 | + drawpix \ |
| 200 | + fire \ |
| 201 | gamma \ |
| 202 | gearbox \ |
| 203 | gears \ |
| 204 | geartrain \ |
| 205 | glinfo \ |
| 206 | - gloss \ |
| 207 | gltestperf \ |
| 208 | ipers \ |
| 209 | - isosurf \ |
| 210 | lodbias \ |
| 211 | morph3d \ |
| 212 | - multiarb \ |
| 213 | - paltex \ |
| 214 | pixeltest \ |
| 215 | - pointblast \ |
| 216 | - projtex \ |
| 217 | ray \ |
| 218 | readpix \ |
| 219 | reflect \ |
| 220 | renormal \ |
| 221 | - shadowtex \ |
| 222 | singlebuffer \ |
| 223 | spectex \ |
| 224 | - spriteblast \ |
| 225 | - stex3d \ |
| 226 | teapot \ |
| 227 | terrain \ |
| 228 | tessdemo \ |
| 229 | texcyl \ |
| 230 | texenv \ |
| 231 | - textures \ |
| 232 | trispd \ |
| 233 | tunnel2 \ |
| 234 | - tunnel \ |
| 235 | - vao_demo \ |
| 236 | - winpos |
| 237 | -endif |
| 238 | + tunnel |
| 239 | |
| 240 | tunnel_SOURCES = \ |
| 241 | tunnel.c \ |
| 242 | tunneldat.h |
| 243 | |
| 244 | -copypix_LDADD = ../util/libutil.la |
| 245 | -cubemap_LDADD = ../util/libutil.la |
| 246 | -cuberender_LDADD = ../util/libutil.la |
| 247 | -drawpix_LDADD = ../util/libutil.la |
| 248 | dissolve_LDADD = ../util/libutil.la |
| 249 | -engine_LDADD = ../util/libutil.la |
| 250 | -fbo_firecube_LDADD = ../util/libutil.la |
| 251 | +drawpix_LDADD = ../util/libutil.la |
| 252 | fire_LDADD = ../util/libutil.la |
| 253 | -gloss_LDADD = ../util/libutil.la |
| 254 | ipers_LDADD = ../util/libutil.la |
| 255 | -isosurf_LDADD = ../util/libutil.la |
| 256 | lodbias_LDADD = ../util/libutil.la |
| 257 | -multiarb_LDADD = ../util/libutil.la |
| 258 | -projtex_LDADD = ../util/libutil.la |
| 259 | readpix_LDADD = ../util/libutil.la |
| 260 | reflect_LDADD = ../util/libutil.la |
| 261 | teapot_LDADD = ../util/libutil.la |
| 262 | texcyl_LDADD = ../util/libutil.la |
| 263 | -textures_LDADD = ../util/libutil.la |
| 264 | tunnel_LDADD = ../util/libutil.la |
| 265 | tunnel2_LDADD = ../util/libutil.la |
| 266 | -winpos_LDADD = ../util/libutil.la |
| 267 | +endif |
| 268 | +endif |
| 269 | |
| 270 | EXTRA_DIST = \ |
| 271 | README |
| 272 | diff --git a/src/egl/Makefile.am b/src/egl/Makefile.am |
| 273 | index d64a49e..4fe1ca8 100644 |
| 274 | --- a/src/egl/Makefile.am |
| 275 | +++ b/src/egl/Makefile.am |
| 276 | @@ -24,8 +24,12 @@ |
| 277 | |
| 278 | SUBDIRS = \ |
| 279 | eglut \ |
| 280 | - opengl \ |
| 281 | - openvg \ |
| 282 | opengles1 \ |
| 283 | opengles2 \ |
| 284 | oes_vg |
| 285 | + |
| 286 | +if HAVE_GLU |
| 287 | +SUBDIRS += \ |
| 288 | + opengl \ |
| 289 | + openvg |
| 290 | +endif |
| 291 | diff --git a/src/egl/opengles1/Makefile.am b/src/egl/opengles1/Makefile.am |
| 292 | index 7a9828d..3455e75 100644 |
| 293 | --- a/src/egl/opengles1/Makefile.am |
| 294 | +++ b/src/egl/opengles1/Makefile.am |
| 295 | @@ -36,28 +36,43 @@ AM_LDFLAGS = \ |
| 296 | $(EGL_LIBS) \ |
| 297 | -lm |
| 298 | |
| 299 | +noinst_PROGRAMS = |
| 300 | + |
| 301 | if HAVE_EGL |
| 302 | if HAVE_GLESV1 |
| 303 | -noinst_PROGRAMS = \ |
| 304 | - bindtex \ |
| 305 | - clear \ |
| 306 | +noinst_PROGRAMS += \ |
| 307 | drawtex_screen \ |
| 308 | + gears_screen \ |
| 309 | + torus_screen \ |
| 310 | + tri_screen |
| 311 | + |
| 312 | +drawtex_screen_SOURCES = drawtex.c |
| 313 | +gears_screen_SOURCES = gears.c |
| 314 | +torus_screen_SOURCES = torus.c |
| 315 | +tri_screen_SOURCES = tri.c |
| 316 | + |
| 317 | +drawtex_screen_LDADD = ../eglut/libeglut_screen.la |
| 318 | +gears_screen_LDADD = ../eglut/libeglut_screen.la |
| 319 | +torus_screen_LDADD = ../eglut/libeglut_screen.la |
| 320 | +tri_screen_LDADD = ../eglut/libeglut_screen.la |
| 321 | + |
| 322 | +if HAVE_X11 |
| 323 | +noinst_PROGRAMS += \ |
| 324 | + clear |
| 325 | + |
| 326 | +bin_PROGRAMS = \ |
| 327 | + bindtex \ |
| 328 | drawtex_x11 \ |
| 329 | eglfbdev \ |
| 330 | es1_info \ |
| 331 | - gears_screen \ |
| 332 | gears_x11 \ |
| 333 | msaa \ |
| 334 | pbuffer\ |
| 335 | render_tex \ |
| 336 | texture_from_pixmap \ |
| 337 | - torus_screen \ |
| 338 | torus_x11 \ |
| 339 | - tri_screen \ |
| 340 | tri_x11 \ |
| 341 | two_win |
| 342 | -endif |
| 343 | -endif |
| 344 | |
| 345 | bindtex_LDADD = $(X11_LIBS) |
| 346 | es1_info_LDADD = $(X11_LIBS) |
| 347 | @@ -71,22 +86,15 @@ two_win_LDADD = $(X11_LIBS) |
| 348 | clear_LDADD = ../eglut/libeglut_x11.la $(EGL_LIBS) $(X11_LIBS) |
| 349 | clear_LDFLAGS = |
| 350 | |
| 351 | -drawtex_screen_SOURCES = drawtex.c |
| 352 | -gears_screen_SOURCES = gears.c |
| 353 | -torus_screen_SOURCES = torus.c |
| 354 | -tri_screen_SOURCES = tri.c |
| 355 | - |
| 356 | drawtex_x11_SOURCES = drawtex.c |
| 357 | gears_x11_SOURCES = gears.c |
| 358 | torus_x11_SOURCES = torus.c |
| 359 | tri_x11_SOURCES = tri.c |
| 360 | |
| 361 | -drawtex_screen_LDADD = ../eglut/libeglut_screen.la |
| 362 | -gears_screen_LDADD = ../eglut/libeglut_screen.la |
| 363 | -torus_screen_LDADD = ../eglut/libeglut_screen.la |
| 364 | -tri_screen_LDADD = ../eglut/libeglut_screen.la |
| 365 | - |
| 366 | drawtex_x11_LDADD = ../eglut/libeglut_x11.la |
| 367 | gears_x11_LDADD = ../eglut/libeglut_x11.la |
| 368 | torus_x11_LDADD = ../eglut/libeglut_x11.la |
| 369 | tri_x11_LDADD = ../eglut/libeglut_x11.la |
| 370 | +endif |
| 371 | +endif |
| 372 | +endif |
| 373 | diff --git a/src/egl/opengles2/Makefile.am b/src/egl/opengles2/Makefile.am |
| 374 | index 41c1b80..74af460 100644 |
| 375 | --- a/src/egl/opengles2/Makefile.am |
| 376 | +++ b/src/egl/opengles2/Makefile.am |
| 377 | @@ -36,26 +36,29 @@ AM_LDFLAGS = \ |
| 378 | if HAVE_EGL |
| 379 | if HAVE_GLESV2 |
| 380 | bin_PROGRAMS = \ |
| 381 | - es2_info \ |
| 382 | - es2gears_screen \ |
| 383 | - es2gears_x11 \ |
| 384 | - es2tri |
| 385 | + es2gears_screen |
| 386 | + |
| 387 | +es2gears_screen_SOURCES = es2gears.c |
| 388 | +es2gears_screen_LDADD = ../eglut/libeglut_screen.la |
| 389 | + |
| 390 | if HAVE_WAYLAND |
| 391 | bin_PROGRAMS += es2gears_wayland |
| 392 | -endif |
| 393 | -endif |
| 394 | -endif |
| 395 | |
| 396 | -es2_info_LDADD = $(X11_LIBS) |
| 397 | -es2tri_LDADD = $(X11_LIBS) |
| 398 | +es2gears_wayland_SOURCES = es2gears.c |
| 399 | +es2gears_wayland_LDADD = ../eglut/libeglut_wayland.la |
| 400 | +endif |
| 401 | |
| 402 | -es2gears_screen_SOURCES = es2gears.c |
| 403 | +if HAVE_X11 |
| 404 | +bin_PROGRAMS += \ |
| 405 | + es2tri \ |
| 406 | + es2_info \ |
| 407 | + es2gears_x11 |
| 408 | |
| 409 | +es2_info_LDADD = $(X11_LIBS) |
| 410 | es2gears_x11_SOURCES = es2gears.c |
| 411 | - |
| 412 | -es2gears_screen_LDADD = ../eglut/libeglut_screen.la |
| 413 | - |
| 414 | es2gears_x11_LDADD = ../eglut/libeglut_x11.la |
| 415 | +es2tri_LDADD = $(X11_LIBS) |
| 416 | +endif |
| 417 | +endif |
| 418 | +endif |
| 419 | |
| 420 | -es2gears_wayland_SOURCES = es2gears.c |
| 421 | -es2gears_wayland_LDADD = ../eglut/libeglut_wayland.la |
| 422 | -- |
| 423 | 2.0.0 |
| 424 | |