Evas: Remove dependency on xcb-aux and add code to find the visual
[framework/uifw/evas.git] / m4 / evas_check_engine.m4
1
2 dnl use: EVAS_CHECK_ENGINE_DEP_BUFFER(engine, simple, want_static[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
3
4 AC_DEFUN([EVAS_CHECK_ENGINE_DEP_BUFFER],
5 [
6
7 have_dep="yes"
8 evas_engine_[]$1[]_cflags=""
9 evas_engine_[]$1[]_libs=""
10
11 AC_SUBST([evas_engine_$1_cflags])
12 AC_SUBST([evas_engine_$1_libs])
13
14 if test "x${have_dep}" = "xyes" ; then
15   m4_default([$4], [:])
16 else
17   m4_default([$5], [:])
18 fi
19
20 ])
21
22 dnl use: EVAS_CHECK_ENGINE_DEP_SOFTWARE_XLIB(engine, simple, want_static[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
23
24 AC_DEFUN([EVAS_CHECK_ENGINE_DEP_SOFTWARE_XLIB],
25 [
26
27 have_dep="no"
28 evas_engine_[]$1[]_cflags=""
29 evas_engine_[]$1[]_libs=""
30
31 AC_PATH_X
32 AC_PATH_XTRA
33
34 AC_CHECK_HEADER([X11/X.h], [have_dep="yes"])
35
36 if test "x${have_dep}" = "xyes" ; then
37    AC_CHECK_LIB([X11], [XCreateImage], [have_dep="yes"], [have_dep="no"])
38 fi
39
40 if test "x${have_dep}" = "xyes" ; then
41    AC_CHECK_LIB([Xext], [XShmCreateImage], [have_dep="yes"], [have_dep="no"])
42 fi
43
44 if test "x${have_dep}" = "xyes" ; then
45    if test "x$2" = "xyes" ; then
46       x_libs="${x_libs} -lX11 -lXext"
47    else
48       x_dir=${x_dir:-/usr/X11R6}
49       x_cflags=${x_cflags:--I${x_includes:-$x_dir/include}}
50       x_libs="${x_libs:--L${x_libraries:-$x_dir/lib}} -lX11 -lXext"
51    fi
52    evas_engine_[]$1[]_cflags="${x_cflags}"
53    evas_engine_[]$1[]_libs="${x_libs}"
54 fi
55
56 AC_SUBST([evas_engine_$1_cflags])
57 AC_SUBST([evas_engine_$1_libs])
58
59 if test "x${have_dep}" = "xyes" ; then
60   m4_default([$4], [:])
61 else
62   m4_default([$5], [:])
63 fi
64
65 ])
66
67 dnl use: EVAS_CHECK_ENGINE_DEP_GL_XLIB(engine, simple, want_static[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
68
69 AC_DEFUN([EVAS_CHECK_ENGINE_DEP_GL_XLIB],
70 [
71
72 evas_engine_[]$1[]_cflags=""
73 evas_engine_[]$1[]_libs=""
74
75 AC_PATH_X
76 AC_PATH_XTRA
77
78 AC_CHECK_HEADER([GL/gl.h],
79    [have_dep="yes"],
80    [have_dep="no"],
81    [
82 #include <GL/gl.h>
83 #include <GL/glext.h>
84 #include <GL/glx.h>
85 #include <X11/Xlib.h>
86 #include <X11/Xatom.h>
87 #include <X11/Xutil.h>
88 #include <X11/extensions/Xrender.h>
89 #include <X11/Xresource.h>
90    ])
91
92 gl_pt_lib="";
93 have_gl_pt="no"
94 AC_CHECK_LIB([pthread], [pthread_create], [have_gl_pt="yes"], [have_gl_pt="no"])
95 if test "x$have_gl_pt" = "xyes" ; then
96    gl_pt_lib=" -lpthread"
97 fi
98
99 if test "x${have_dep}" = "xyes" ; then
100    AC_CHECK_LIB([X11], [XCreateColormap], [have_dep="yes"], [have_dep="no"])
101 fi
102
103 if test "x${have_dep}" = "xyes" ; then
104    AC_CHECK_LIB([Xrender], [XRenderCreatePicture], [have_dep="yes"], [have_dep="no"])
105 fi
106
107 if test "x${have_dep}" = "xyes" ; then
108    AC_CHECK_LIB([GL], [glXCreateContext], [have_dep="yes"], [have_dep="no"], -lX11 -lXext -lXrender -lm $gl_pt_lib)
109 fi
110
111 if test "x$gl_flavor_gles" = "xyes" ; then
112   have_dep=no
113 fi
114
115 if test "x${have_dep}" = "xyes" ; then
116    PKG_CHECK_MODULES([GL_EET], [eet >= 1.4.0], [have_dep="yes"], [have_dep="no"])
117    if test "x${have_dep}" = "xyes" ; then
118       if test "x$2" = "xyes" ; then
119          x_libs="${x_libs} -lX11 -lXext -lXrender"
120       else
121          x_dir=${x_dir:-/usr/X11R6}
122          x_cflags=${x_cflags:--I${x_includes:-$x_dir/include}}
123          x_libs="${x_libs:--L${x_libraries:-$x_dir/lib}} -lX11 -lXext -lXrender"
124       fi
125    evas_engine_[]$1[]_cflags="-I/usr/include ${x_cflags}"
126    evas_engine_[]$1[]_libs="${x_libs} -lGL $gl_pt_lib"
127    evas_engine_gl_common_libs="-lGL $gl_pt_lib"
128    fi
129 else
130    if test "x$2" = "xyes" ; then
131       x_libs="${x_libs} -lX11 -lXext -lXrender"
132    else
133       x_dir=${x_dir:-/usr/X11R6}
134       x_cflags=${x_cflags:--I${x_includes:-$x_dir/include}}
135       x_libs="${x_libs:--L${x_libraries:-$x_dir/lib}} -lX11 -lXext -lXrender"
136    fi
137    AC_CHECK_HEADER([GLES2/gl2.h],
138       [have_egl="yes"],
139       [have_egl="no"],
140       [
141 #include <GLES2/gl2.h>
142 #include <GLES2/gl2ext.h>
143 #include <EGL/egl.h>
144 #include <X11/Xlib.h>
145 #include <X11/Xatom.h>
146 #include <X11/Xutil.h>
147 #include <X11/extensions/Xrender.h>
148 #include <X11/Xresource.h>
149       ])
150    if test "x${have_egl}" = "xyes" ; then
151       AC_CHECK_LIB(GLESv2, glTexImage2D, [have_glesv2="yes"], , -lEGL ${x_libs} -lm $gl_pt_lib)
152       if test "x${have_glesv2}" = "xyes" ; then
153          PKG_CHECK_MODULES([GL_EET], [eet >= 1.4.0], [have_dep="yes"], [have_dep="no"])
154          if test "x${have_dep}" = "xyes" ; then
155             evas_engine_[]$1[]_cflags="${x_cflags}"
156             evas_engine_[]$1[]_libs="${x_libs} -lGLESv2 -lEGL -lm $gl_pt_lib"
157             evas_engine_gl_common_libs="-lGLESv2 -lm $gl_pt_lib"
158             have_dep="yes"
159             gl_flavor_gles="no"
160             AC_DEFINE(GLES_VARIETY_SGX, 1, [Imagination SGX GLES2 support])
161             gles_variety_sgx="yes"
162          fi
163       fi
164    fi
165 fi
166
167 AC_SUBST([evas_engine_$1_cflags])
168 AC_SUBST([evas_engine_$1_libs])
169
170
171 if test "x${have_dep}" = "xyes" ; then
172   m4_default([$4], [:])
173 else
174   m4_default([$5], [:])
175 fi
176
177 ])
178
179 dnl use: EVAS_CHECK_ENGINE_DEP_SOFTWARE_XCB(engine, simple, want_static[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
180
181 AC_DEFUN([EVAS_CHECK_ENGINE_DEP_SOFTWARE_XCB],
182 [
183
184 requirement=""
185 have_dep="no"
186 evas_engine_[]$1[]_cflags=""
187 evas_engine_[]$1[]_libs=""
188
189 PKG_CHECK_MODULES([XCB],
190    [xcb xcb-shm xcb-image >= 0.2.1 pixman-1],
191    [
192     have_dep="yes"
193     requirement="xcb xcb-shm xcb-image pixman-1"
194     evas_engine_[]$1[]_cflags="${XCB_CFLAGS}"
195     evas_engine_[]$1[]_libs="${XCB_LIBS}"
196    ],[
197     have_dep="no"
198    ]
199 )
200
201 AC_SUBST([evas_engine_$1_cflags])
202 AC_SUBST([evas_engine_$1_libs])
203
204 if test "x$3" = "xstatic" ; then
205    requirement_evas="${requirement} ${requirement_evas}"
206 fi
207
208 if test "x${have_dep}" = "xyes" ; then
209   m4_default([$4], [:])
210 else
211   m4_default([$5], [:])
212 fi
213
214 ])
215
216
217 dnl use: EVAS_CHECK_ENGINE_DEP_GL_XCB(engine, simple, want_static[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
218
219 AC_DEFUN([EVAS_CHECK_ENGINE_DEP_GL_XCB],
220 [
221
222 evas_engine_[]$1[]_cflags=""
223 evas_engine_[]$1[]_libs=""
224
225 AC_PATH_X
226 AC_PATH_XTRA
227
228 AC_CHECK_HEADER([GL/gl.h],
229    [have_dep="yes"],
230    [have_dep="no"],
231    [
232 #include <GL/gl.h>
233 #include <GL/glext.h>
234 #include <GL/glx.h>
235    ])
236
237 gl_pt_lib="";
238 have_gl_pt="no"
239 AC_CHECK_LIB([pthread], [pthread_create], [have_gl_pt="yes"], [have_gl_pt="no"])
240 if test "x$have_gl_pt" = "xyes" ; then
241    gl_pt_lib=" -lpthread"
242 fi
243
244 if test "x${have_dep}" = "xyes" ; then
245    AC_CHECK_LIB([X11], [XCreateColormap], [have_dep="yes"], [have_dep="no"])
246 fi
247
248 if test "x${have_dep}" = "xyes" ; then
249    AC_CHECK_LIB([Xrender], [XRenderCreatePicture], [have_dep="yes"], [have_dep="no"])
250 fi
251
252 if test "x${have_dep}" = "xyes" ; then
253    AC_CHECK_LIB([GL], [glXCreateContext], [have_dep="yes"], [have_dep="no"], -lX11 -lXext -lXrender -lm $gl_pt_lib)
254 fi
255
256 PKG_CHECK_MODULES([XCB_GL],
257    [x11-xcb xcb xcb-glx xcb-render xcb-renderutil],
258    [
259     have_dep="yes"
260     requirement="x11-xcb xcb xcb-glx xcb-render xcb-renderutil"
261     evas_engine_[]$1[]_cflags="${XCB_GL_CFLAGS}"
262     evas_engine_[]$1[]_libs="${XCB_GL_LIBS}"
263    ],[
264     have_dep="no"
265    ]
266 )
267
268 if test "x$gl_flavor_gles" = "xyes" ; then
269   have_dep=no
270 fi
271
272 if test "x${have_dep}" = "xyes" ; then
273    PKG_CHECK_MODULES([GL_EET], [eet >= 1.4.0], [have_dep="yes"], [have_dep="no"])
274    if test "x${have_dep}" = "xyes" ; then
275       if test "x$2" = "xyes" ; then
276          x_libs="${x_libs} -lX11 -lXext -lXrender"
277       else
278          x_dir=${x_dir:-/usr/X11R6}
279          x_cflags=${x_cflags:--I${x_includes:-$x_dir/include}}
280          x_libs="${x_libs:--L${x_libraries:-$x_dir/lib}} -lX11 -lXext -lXrender"
281       fi
282    evas_engine_[]$1[]_cflags="-I/usr/include ${XCB_GL_CFLAGS} ${x_cflags}"
283    evas_engine_[]$1[]_libs="${XCB_GL_LIBS} ${x_libs} -lGL $gl_pt_lib"
284    evas_engine_gl_common_libs="-lGL $gl_pt_lib"
285    fi
286 else
287    if test "x$2" = "xyes" ; then
288       x_libs="${x_libs} -lX11 -lXext -lXrender"
289    else
290       x_dir=${x_dir:-/usr/X11R6}
291       x_cflags=${x_cflags:--I${x_includes:-$x_dir/include}}
292       x_libs="${x_libs:--L${x_libraries:-$x_dir/lib}} -lX11 -lXext -lXrender"
293    fi
294    AC_CHECK_HEADER([GLES2/gl2.h],
295       [have_egl="yes"],
296       [have_egl="no"],
297       [
298 #include <GLES2/gl2.h>
299 #include <GLES2/gl2ext.h>
300 #include <EGL/egl.h>
301       ])
302    if test "x${have_egl}" = "xyes" ; then
303       AC_CHECK_LIB(GLESv2, glTexImage2D, [have_glesv2="yes"], , -lEGL ${x_libs} -lm $gl_pt_lib)
304       if test "x${have_glesv2}" = "xyes" ; then
305          PKG_CHECK_MODULES([GL_EET], [eet >= 1.4.0], [have_dep="yes"], [have_dep="no"])
306          if test "x${have_dep}" = "xyes" ; then
307             evas_engine_[]$1[]_cflags="${XCB_GL_CFLAGS} ${x_cflags}"
308             evas_engine_[]$1[]_libs="${XCB_GL_LIBS} ${x_libs} -lGLESv2 -lEGL -lm $gl_pt_lib"
309             evas_engine_gl_common_libs="-lGLESv2 -lm $gl_pt_lib"
310             have_dep="yes"
311             gl_flavor_gles="no"
312             AC_DEFINE(GLES_VARIETY_SGX, 1, [Imagination SGX GLES2 support])
313             gles_variety_sgx="yes"
314          fi
315       fi
316    fi
317 fi
318
319 AC_SUBST([evas_engine_$1_cflags])
320 AC_SUBST([evas_engine_$1_libs])
321
322 if test "x${have_dep}" = "xyes" ; then
323   m4_default([$4], [:])
324 else
325   m4_default([$5], [:])
326 fi
327
328 ])
329
330
331
332
333 dnl use: EVAS_CHECK_ENGINE_DEP_SOFTWARE_GDI(engine, simple, want_static[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
334
335 AC_DEFUN([EVAS_CHECK_ENGINE_DEP_SOFTWARE_GDI],
336 [
337
338 have_dep="no"
339 evas_engine_[]$1[]_cflags=""
340 evas_engine_[]$1[]_libs=""
341
342 AC_CHECK_HEADER([windows.h],
343    [
344     have_dep="yes"
345     evas_engine_[]$1[]_libs="-lgdi32"
346    ]
347 )
348
349 AC_SUBST([evas_engine_$1_cflags])
350 AC_SUBST([evas_engine_$1_libs])
351
352 if test "x${have_dep}" = "xyes" ; then
353   m4_default([$4], [:])
354 else
355   m4_default([$5], [:])
356 fi
357
358 ])
359
360 dnl use: EVAS_CHECK_ENGINE_DEP_SOFTWARE_DDRAW(engine, simple, want_static[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
361
362 AC_DEFUN([EVAS_CHECK_ENGINE_DEP_SOFTWARE_DDRAW],
363 [
364
365 have_dep="no"
366 evas_engine_[]$1[]_cflags=""
367 evas_engine_[]$1[]_libs=""
368
369 AC_CHECK_HEADER([ddraw.h],
370    [
371     have_dep="yes"
372     evas_engine_[]$1[]_libs="-lddraw"
373    ]
374 )
375
376 AC_SUBST([evas_engine_$1_cflags])
377 AC_SUBST([evas_engine_$1_libs])
378
379 if test "x${have_dep}" = "xyes" ; then
380   m4_default([$4], [:])
381 else
382   m4_default([$5], [:])
383 fi
384
385 ])
386
387 dnl use: EVAS_CHECK_ENGINE_DEP_DIRECT3D(engine, simple, want_static[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
388
389 AC_DEFUN([EVAS_CHECK_ENGINE_DEP_DIRECT3D],
390 [
391
392 evas_engine_[]$1[]_cflags=""
393 evas_engine_[]$1[]_libs=""
394
395 AC_CHECK_HEADERS([d3d9.h d3dx9.h],
396    [
397     have_dep="yes"
398     evas_engine_[]$1[]_libs="-ld3d9 -ld3dx9 -lgdi32"
399    ],
400    [have_dep="no"; break]
401 )
402
403 AC_SUBST([evas_engine_$1_cflags])
404 AC_SUBST([evas_engine_$1_libs])
405
406 if test "x${have_dep}" = "xyes" ; then
407   m4_default([$4], [:])
408 else
409   m4_default([$5], [:])
410 fi
411
412 ])
413
414 dnl use: EVAS_CHECK_ENGINE_DEP_SOFTWARE_SDL(engine, simple, want_static[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
415
416 AC_DEFUN([EVAS_CHECK_ENGINE_DEP_SOFTWARE_SDL],
417 [
418
419 requirement=""
420 have_dep="no"
421 evas_engine_[]$1[]_cflags=""
422 evas_engine_[]$1[]_libs=""
423
424 PKG_CHECK_MODULES([SDL],
425    [sdl >= 1.2.0],
426    [
427     have_dep="yes"
428     requirement="sdl"
429     evas_engine_[]$1[]_cflags="${SDL_CFLAGS}"
430     evas_engine_[]$1[]_libs="${SDL_LIBS}"
431    ]
432 )
433
434 AC_SUBST([evas_engine_$1_cflags])
435 AC_SUBST([evas_engine_$1_libs])
436
437 if test "x$3" = "xstatic" ; then
438    requirement_evas="${requirement} ${requirement_evas}"
439 fi
440
441 if test "x${have_dep}" = "xyes" ; then
442   m4_default([$4], [:])
443 else
444   m4_default([$5], [:])
445 fi
446
447 ])
448
449 dnl use: EVAS_CHECK_ENGINE_DEP_GL_SDL(engine, simple, want_static[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
450
451 AC_DEFUN([EVAS_CHECK_ENGINE_DEP_GL_SDL],
452 [
453
454 requirement=""
455 have_dep="no"
456 evas_engine_[]$1[]_cflags=""
457 evas_engine_[]$1[]_libs=""
458
459 PKG_CHECK_MODULES([SDL],
460    [sdl >= 1.2.0],
461    [
462     have_dep="yes"
463     requirement="sdl"
464     evas_engine_[]$1[]_cflags="${SDL_CFLAGS}"
465     evas_engine_[]$1[]_libs="${SDL_LIBS}"
466    ]
467 )
468
469 gl_pt_lib="";
470 have_gl_pt="no"
471 AC_CHECK_LIB([pthread], [pthread_create], [have_gl_pt="yes"], [have_gl_pt="no"])
472 if test "x$have_gl_pt" = "xyes" ; then
473    gl_pt_lib=" -lpthread"
474 fi
475
476 AC_CHECK_HEADER([GL/gl.h],
477    [have_dep="yes"],
478    [have_dep="no"],
479    [
480 #include <GL/gl.h>
481 #include <GL/glext.h>
482    ])
483
484 if test "x$gl_flavor_gles" = "xyes" ; then
485   have_dep=no
486 fi
487
488 if test "x${have_dep}" = "xyes" ; then
489    evas_engine_[]$1[]_cflags="${SDL_CFLAGS}"
490    evas_engine_[]$1[]_libs="${SDL_LIBS} -lGL -lm $gl_pt_lib"
491    evas_engine_gl_common_libs="-lGL -lm $gl_pt_lib"
492 else
493    AC_CHECK_HEADER([SDL/SDL_opengles.h],
494       [have_egl="yes"],
495       [have_egl="no"],
496       [
497 #include <SDL/SDL_opengles.h>
498 #include <EGL/egl.h>
499       ])
500    if test "x${have_egl}" = "xyes" ; then
501       AC_CHECK_LIB(GLESv2, glTexImage2D, [have_glesv2="yes"], , -lEGL -lm $gl_pt_lib)
502       if test "x${have_glesv2}" = "xyes" ; then
503          evas_engine_[]$1[]_cflags="${SDL_CFLAGS}"
504          evas_engine_[]$1[]_libs="${SDL_LIBS} -lGLESv2 -lEGL -lm $gl_pt_lib"
505          evas_engine_gl_common_libs="-lGLESv2 -lm $gl_pt_lib"
506          have_dep="yes"
507          gl_flavor_gles="no"
508          AC_DEFINE(GLES_VARIETY_SGX, 1, [Imagination SGX GLES2 support])
509          gles_variety_sgx="yes"
510       fi
511    fi
512 fi
513
514 AC_SUBST([evas_engine_$1_cflags])
515 AC_SUBST([evas_engine_$1_libs])
516
517 if test "x$3" = "xstatic" ; then
518    requirement_evas="${requirement} ${requirement_evas}"
519 fi
520
521 if test "x${have_dep}" = "xyes" ; then
522   m4_default([$4], [:])
523 else
524   m4_default([$5], [:])
525 fi
526
527 ])
528
529 dnl use: EVAS_CHECK_ENGINE_DEP_FB(engine, simple, want_static[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
530
531 AC_DEFUN([EVAS_CHECK_ENGINE_DEP_FB],
532 [
533
534 have_dep="no"
535 evas_engine_[]$1[]_cflags=""
536 evas_engine_[]$1[]_libs=""
537
538 AC_CHECK_HEADER([linux/fb.h], [have_dep="yes"])
539
540 AC_SUBST([evas_engine_$1_cflags])
541 AC_SUBST([evas_engine_$1_libs])
542
543 if test "x${have_dep}" = "xyes" ; then
544   m4_default([$4], [:])
545 else
546   m4_default([$5], [:])
547 fi
548
549 ])
550
551 dnl use: EVAS_CHECK_ENGINE_DEP_DIRECTFB(engine, simple, want_static[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
552
553 AC_DEFUN([EVAS_CHECK_ENGINE_DEP_DIRECTFB],
554 [
555
556 requirement=""
557 have_dep="no"
558 evas_engine_[]$1[]_cflags=""
559 evas_engine_[]$1[]_libs=""
560
561 PKG_CHECK_MODULES([DIRECTFB],
562    [directfb >= 0.9.16],
563    [
564     have_dep="yes"
565     requirement="directfb"
566     evas_engine_[]$1[]_cflags="${DIRECTFB_CFLAGS}"
567     evas_engine_[]$1[]_libs="${DIRECTFB_LIBS}"
568    ]
569 )
570
571 AC_SUBST([evas_engine_$1_cflags])
572 AC_SUBST([evas_engine_$1_libs])
573
574 if test "x$3" = "xstatic" ; then
575    requirement_evas="${requirement} ${requirement_evas}"
576 fi
577
578 if test "x${have_dep}" = "xyes" ; then
579   m4_default([$4], [:])
580 else
581   m4_default([$5], [:])
582 fi
583
584 ])
585
586 dnl use: EVAS_CHECK_ENGINE_DEP_SOFTWARE_8_X11(engine, simple, want_static[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
587
588 AC_DEFUN([EVAS_CHECK_ENGINE_DEP_SOFTWARE_8_X11],
589 [
590
591 have_dep="no"
592 evas_engine_[]$1[]_cflags=""
593 evas_engine_[]$1[]_libs=""
594
595 PKG_CHECK_MODULES([XCB],
596    [xcb xcb-shm xcb-image >= 0.2.1 pixman-1],
597    [
598     have_dep="yes"
599     requirement="xcb xcb-shm xcb-image pixman-1"
600     evas_engine_[]$1[]_cflags="${XCB_CFLAGS}"
601     evas_engine_[]$1[]_libs="${XCB_LIBS}"
602    ],[
603     have_dep="no"
604    ]
605 )
606
607 AC_SUBST([evas_engine_$1_cflags])
608 AC_SUBST([evas_engine_$1_libs])
609
610 if test "x$3" = "xstatic" ; then
611    requirement_evas="${requirement} ${requirement_evas}"
612 fi
613
614 if test "x${have_dep}" = "xyes" ; then
615   m4_default([$4], [:])
616 else
617   m4_default([$5], [:])
618 fi
619
620 ])
621
622 dnl use: EVAS_CHECK_ENGINE_DEP_SOFTWARE_16_X11(engine, simple, want_static[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
623 AC_DEFUN([EVAS_CHECK_ENGINE_DEP_SOFTWARE_16_X11],
624 [
625
626 have_dep="no"
627 evas_engine_[]$1[]_cflags=""
628 evas_engine_[]$1[]_libs=""
629
630 AC_PATH_X
631 AC_PATH_XTRA
632
633 AC_CHECK_HEADER([X11/X.h], [have_dep="yes"])
634
635 if test "x${have_dep}" = "xyes" ; then
636    AC_CHECK_LIB([X11], [XCreateImage], [have_dep="yes"], [have_dep="no"])
637 fi
638
639 if test "x${have_dep}" = "xyes" ; then
640    AC_CHECK_LIB([Xext], [XShmCreateImage], [have_dep="yes"], [have_dep="no"])
641 fi
642
643 if test "x${have_dep}" = "xyes" ; then
644    if test "x$2" = "xyes" ; then
645       x_libs="${x_libs} -lX11 -lXext"
646    else
647       x_dir=${x_dir:-/usr/X11R6}
648       x_cflags=${x_cflags:--I${x_includes:-$x_dir/include}}
649       x_libs="${x_libs:--L${x_libraries:-$x_dir/lib}} -lX11 -lXext"
650    fi
651    evas_engine_[]$1[]_cflags="${x_cflags}"
652    evas_engine_[]$1[]_libs="${x_libs}"
653 fi
654
655 AC_SUBST([evas_engine_$1_cflags])
656 AC_SUBST([evas_engine_$1_libs])
657
658 if test "x${have_dep}" = "xyes" ; then
659   m4_default([$4], [:])
660 else
661   m4_default([$5], [:])
662 fi
663
664 ])
665
666 dnl use: EVAS_CHECK_ENGINE_DEP_SOFTWARE_16_DDRAW(engine, simple, want_static[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
667
668 AC_DEFUN([EVAS_CHECK_ENGINE_DEP_SOFTWARE_16_DDRAW],
669 [
670
671 have_dep="no"
672 evas_engine_[]$1[]_cflags=""
673 evas_engine_[]$1[]_libs=""
674
675 AC_CHECK_HEADER([ddraw.h],
676    [
677     have_dep="yes"
678     evas_engine_[]$1[]_libs="-lddraw -lgdi32"
679    ]
680 )
681
682 AC_SUBST([evas_engine_$1_cflags])
683 AC_SUBST([evas_engine_$1_libs])
684
685 if test "x${have_dep}" = "xyes" ; then
686   m4_default([$4], [:])
687 else
688   m4_default([$5], [:])
689 fi
690
691 ])
692
693 dnl use: EVAS_CHECK_ENGINE_DEP_SOFTWARE_16_WINCE(engine, simple, want_static[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
694
695 AC_DEFUN([EVAS_CHECK_ENGINE_DEP_SOFTWARE_16_WINCE],
696 [
697
698 have_dep="yes"
699 evas_engine_[]$1[]_cflags=""
700 evas_engine_[]$1[]_libs=""
701
702 AC_SUBST([evas_engine_$1_cflags])
703 AC_SUBST([evas_engine_$1_libs])
704
705 if test "x${have_dep}" = "xyes" ; then
706   m4_default([$4], [:])
707 else
708   m4_default([$5], [:])
709 fi
710
711 ])
712
713 dnl use: EVAS_CHECK_ENGINE(engine, want_engine, simple, description)
714
715
716 AC_DEFUN([EVAS_CHECK_ENGINE],
717 [
718
719 m4_pushdef([UP], m4_translit([$1], [-a-z], [_A-Z]))dnl
720 m4_pushdef([DOWN], m4_translit([$1], [-A-Z], [_a-z]))dnl
721
722 want_engine="$2"
723 want_static_engine="no"
724 have_engine="no"
725 have_evas_engine_[]DOWN="no"
726
727 AC_ARG_ENABLE([$1],
728    [AC_HELP_STRING([--enable-$1], [enable $4 rendering backend])],
729    [
730     if test "x${enableval}" = "xyes" ; then
731        want_engine="yes"
732     else
733        if test "x${enableval}" = "xstatic" ; then
734           want_engine="static"
735        else
736           want_engine="no"
737        fi
738     fi
739    ])
740
741 AC_MSG_CHECKING([whether to enable $4 rendering backend])
742 AC_MSG_RESULT([${want_engine}])
743
744 if test "x${want_engine}" = "xyes" -o "x${want_engine}" = "xstatic" -o "x${want_engine}" = "xauto" ; then
745    m4_default([EVAS_CHECK_ENGINE_DEP_]m4_defn([UP]))(DOWN, $3, ${want_engine}, [have_engine="yes"], [have_engine="no"])
746 fi
747
748 if test "x${have_engine}" = "xno" -a "x${want_engine}" = "xyes" -a "x${use_strict}" = "xyes" ; then
749    AC_MSG_ERROR([$4 dependencies not found (strict dependencies checking)])
750 fi
751
752 AC_MSG_CHECKING([whether $4 rendering backend will be built])
753 AC_MSG_RESULT([${have_engine}])
754
755 if test "x${have_engine}" = "xyes" ; then
756    if test "x${want_engine}" = "xstatic" ; then
757       have_evas_engine_[]DOWN="static"
758       want_static_engine="yes"
759    else
760       have_evas_engine_[]DOWN="yes"
761    fi
762 fi
763
764 if test "x${have_engine}" = "xyes" ; then
765    AC_DEFINE(BUILD_ENGINE_[]UP, [1], [$4 rendering backend])
766 fi
767
768 AM_CONDITIONAL(BUILD_ENGINE_[]UP, [test "x${have_engine}" = "xyes"])
769
770 if test "x${want_static_engine}" = "xyes" ; then
771    AC_DEFINE(EVAS_STATIC_BUILD_[]UP, [1], [Build $1 engine inside libevas])
772    have_static_module="yes"
773 fi
774
775 AM_CONDITIONAL(EVAS_STATIC_BUILD_[]UP, [test "x${want_static_engine}" = "xyes"])
776
777 m4_popdef([UP])
778 m4_popdef([DOWN])
779
780 ])