Tizen 2.0 Release
[profile/ivi/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
95 AC_MSG_CHECKING([whether pthread_create() is supported])
96 CFLAGS_save="${CFLAGS}"
97 CFLAGS="${CFLAGS} -pthread"
98 LIBS_save="${LIBS}"
99 LIBS="${LIBS} -pthread"
100 AC_LINK_IFELSE(
101   [AC_LANG_PROGRAM([[
102 #include <pthread.h>
103                    ]],
104                    [[
105 pthread_create(NULL, NULL, NULL, NULL);
106                    ]])],
107    [have_gl_pt="yes"],
108    [have_gl_pt="no"])
109 CFLAGS=${CFLAGS_save}
110 LIBS=${LIBS_save}
111 AC_MSG_RESULT([${have_gl_pt}])
112
113 if test "x$have_gl_pt" = "xyes" ; then
114    gl_pt_lib=" -pthread"
115 fi
116
117 if test "x${have_dep}" = "xyes" ; then
118    AC_CHECK_LIB([X11], [XCreateColormap], [have_dep="yes"], [have_dep="no"])
119 fi
120
121 if test "x${have_dep}" = "xyes" ; then
122    AC_CHECK_LIB([Xrender], [XRenderCreatePicture], [have_dep="yes"], [have_dep="no"])
123 fi
124
125 if test "x${have_dep}" = "xyes" ; then
126    AC_CHECK_LIB([GL], [glXCreateContext], [have_dep="yes"], [have_dep="no"], -lX11 -lXext -lXrender -lm $gl_pt_lib)
127 fi
128
129 if test "x$gl_flavor_gles" = "xyes" ; then
130   have_dep=no
131 fi
132
133 if test "x${have_dep}" = "xyes" ; then
134    PKG_CHECK_MODULES([GL_EET], [eet >= 1.6.99], [have_dep="yes"], [have_dep="no"])
135    if test "x${have_dep}" = "xyes" ; then
136       if test "x$2" = "xyes" ; then
137          x_libs="${x_libs} -lX11 -lXext -lXrender"
138       else
139          x_dir=${x_dir:-/usr/X11R6}
140          x_cflags=${x_cflags:--I${x_includes:-$x_dir/include}}
141          x_libs="${x_libs:--L${x_libraries:-$x_dir/lib}} -lX11 -lXext -lXrender"
142       fi
143    evas_engine_[]$1[]_cflags="-I/usr/include ${x_cflags}"
144    evas_engine_[]$1[]_libs="${x_libs} -lGL $gl_pt_lib"
145    evas_engine_gl_common_libs="-lGL $gl_pt_lib"
146    fi
147 else
148    if test "x$2" = "xyes" ; then
149       x_libs="${x_libs} -lX11 -lXext -lXrender"
150    else
151       x_dir=${x_dir:-/usr/X11R6}
152       x_cflags=${x_cflags:--I${x_includes:-$x_dir/include}}
153       x_libs="${x_libs:--L${x_libraries:-$x_dir/lib}} -lX11 -lXext -lXrender"
154    fi
155    AC_CHECK_HEADER([GLES2/gl2.h],
156       [have_egl="yes"],
157       [have_egl="no"],
158       [
159 #include <GLES2/gl2.h>
160 #include <GLES2/gl2ext.h>
161 #include <EGL/egl.h>
162 #include <X11/Xlib.h>
163 #include <X11/Xatom.h>
164 #include <X11/Xutil.h>
165 #include <X11/extensions/Xrender.h>
166 #include <X11/Xresource.h>
167       ])
168    if test "x${have_egl}" = "xyes" ; then
169       AC_CHECK_LIB(GLESv2, glTexImage2D, [have_glesv2="yes"], , -lEGL ${x_libs} -lm $gl_pt_lib)
170       if test "x${have_glesv2}" = "xyes" ; then
171          PKG_CHECK_MODULES([GL_EET], [eet >= 1.6.99], [have_dep="yes"], [have_dep="no"])
172          if test "x${have_dep}" = "xyes" ; then
173             evas_engine_[]$1[]_cflags="${x_cflags}"
174             evas_engine_[]$1[]_libs="${x_libs} -lGLESv2 -lEGL -lm $gl_pt_lib"
175             evas_engine_gl_common_libs="-lGLESv2 -lm $gl_pt_lib"
176             have_dep="yes"
177             AC_DEFINE(GL_GLES, 1, [GLSL runtime shader GLES2 support])
178             gles_variety_sgx="yes"
179          fi
180       fi
181    fi
182 fi
183
184 AC_SUBST([evas_engine_$1_cflags])
185 AC_SUBST([evas_engine_$1_libs])
186
187
188 if test "x${have_dep}" = "xyes" ; then
189   m4_default([$4], [:])
190 else
191   m4_default([$5], [:])
192 fi
193
194 ])
195
196 dnl use: EVAS_CHECK_ENGINE_DEP_SOFTWARE_XCB(engine, simple, want_static[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
197
198 AC_DEFUN([EVAS_CHECK_ENGINE_DEP_SOFTWARE_XCB],
199 [
200
201 requirement=""
202 have_dep="no"
203 evas_engine_[]$1[]_cflags=""
204 evas_engine_[]$1[]_libs=""
205
206 PKG_CHECK_MODULES([XCB],
207    [xcb xcb-shm xcb-image >= 0.2.1 pixman-1],
208    [
209     have_dep="yes"
210     requirement="xcb xcb-shm xcb-image pixman-1"
211     evas_engine_[]$1[]_cflags="${XCB_CFLAGS}"
212     evas_engine_[]$1[]_libs="${XCB_LIBS}"
213    ],[
214     have_dep="no"
215    ]
216 )
217
218 AC_SUBST([evas_engine_$1_cflags])
219 AC_SUBST([evas_engine_$1_libs])
220
221 if test "x$3" = "xstatic" ; then
222    requirement_evas="${requirement} ${requirement_evas}"
223 fi
224
225 if test "x${have_dep}" = "xyes" ; then
226   m4_default([$4], [:])
227 else
228   m4_default([$5], [:])
229 fi
230
231 ])
232
233
234 dnl use: EVAS_CHECK_ENGINE_DEP_GL_XCB(engine, simple, want_static[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
235
236 AC_DEFUN([EVAS_CHECK_ENGINE_DEP_GL_XCB],
237 [
238
239 evas_engine_[]$1[]_cflags=""
240 evas_engine_[]$1[]_libs=""
241
242 AC_PATH_X
243 AC_PATH_XTRA
244
245 AC_CHECK_HEADER([GL/gl.h],
246    [have_dep="yes"],
247    [have_dep="no"],
248    [
249 #include <GL/gl.h>
250 #include <GL/glext.h>
251 #include <GL/glx.h>
252    ])
253
254 gl_pt_lib="";
255 have_gl_pt="no"
256
257 AC_MSG_CHECKING([whether pthread_create() is supported])
258 CFLAGS_save="${CFLAGS}"
259 CFLAGS="${CFLAGS} -pthread"
260 LIBS_save="${LIBS}"
261 LIBS="${LIBS} -pthread"
262 AC_LINK_IFELSE(
263   [AC_LANG_PROGRAM([[
264 #include <pthread.h>
265                    ]],
266                    [[
267 pthread_create(NULL, NULL, NULL, NULL);
268                    ]])],
269    [have_gl_pt="yes"],
270    [have_gl_pt="no"])
271 CFLAGS=${CFLAGS_save}
272 LIBS=${LIBS_save}
273 AC_MSG_RESULT([${have_gl_pt}])
274
275 if test "x$have_gl_pt" = "xyes" ; then
276    gl_pt_lib=" -pthread"
277 fi
278
279 if test "x${have_dep}" = "xyes" ; then
280    AC_CHECK_LIB([X11], [XCreateColormap], [have_dep="yes"], [have_dep="no"])
281 fi
282
283 if test "x${have_dep}" = "xyes" ; then
284    AC_CHECK_LIB([Xrender], [XRenderCreatePicture], [have_dep="yes"], [have_dep="no"])
285 fi
286
287 if test "x${have_dep}" = "xyes" ; then
288    AC_CHECK_LIB([GL], [glXCreateContext], [have_dep="yes"], [have_dep="no"], -lX11 -lXext -lXrender -lm $gl_pt_lib)
289 fi
290
291 PKG_CHECK_MODULES([XCB_GL],
292    [x11-xcb xcb xcb-glx xcb-render xcb-renderutil],
293    [
294     have_dep="yes"
295     requirement="x11-xcb xcb xcb-glx xcb-render xcb-renderutil"
296     evas_engine_[]$1[]_cflags="${XCB_GL_CFLAGS}"
297     evas_engine_[]$1[]_libs="${XCB_GL_LIBS}"
298    ],[
299     have_dep="no"
300    ]
301 )
302
303 if test "x$gl_flavor_gles" = "xyes" ; then
304   have_dep=no
305 fi
306
307 if test "x${have_dep}" = "xyes" ; then
308    PKG_CHECK_MODULES([GL_EET], [eet >= 1.6.99], [have_dep="yes"], [have_dep="no"])
309    if test "x${have_dep}" = "xyes" ; then
310       if test "x$2" = "xyes" ; then
311          x_libs="${x_libs} -lX11 -lXext -lXrender"
312       else
313          x_dir=${x_dir:-/usr/X11R6}
314          x_cflags=${x_cflags:--I${x_includes:-$x_dir/include}}
315          x_libs="${x_libs:--L${x_libraries:-$x_dir/lib}} -lX11 -lXext -lXrender"
316       fi
317    evas_engine_[]$1[]_cflags="-I/usr/include ${XCB_GL_CFLAGS} ${x_cflags}"
318    evas_engine_[]$1[]_libs="${XCB_GL_LIBS} ${x_libs} -lGL $gl_pt_lib"
319    evas_engine_gl_common_libs="-lGL $gl_pt_lib"
320    fi
321 else
322    if test "x$2" = "xyes" ; then
323       x_libs="${x_libs} -lX11 -lXext -lXrender"
324    else
325       x_dir=${x_dir:-/usr/X11R6}
326       x_cflags=${x_cflags:--I${x_includes:-$x_dir/include}}
327       x_libs="${x_libs:--L${x_libraries:-$x_dir/lib}} -lX11 -lXext -lXrender"
328    fi
329    AC_CHECK_HEADER([GLES2/gl2.h],
330       [have_egl="yes"],
331       [have_egl="no"],
332       [
333 #include <GLES2/gl2.h>
334 #include <GLES2/gl2ext.h>
335 #include <EGL/egl.h>
336       ])
337    if test "x${have_egl}" = "xyes" ; then
338       AC_CHECK_LIB(GLESv2, glTexImage2D, [have_glesv2="yes"], , -lEGL ${x_libs} -lm $gl_pt_lib)
339       if test "x${have_glesv2}" = "xyes" ; then
340          PKG_CHECK_MODULES([GL_EET], [eet >= 1.6.99], [have_dep="yes"], [have_dep="no"])
341          if test "x${have_dep}" = "xyes" ; then
342             evas_engine_[]$1[]_cflags="${XCB_GL_CFLAGS} ${x_cflags}"
343             evas_engine_[]$1[]_libs="${XCB_GL_LIBS} ${x_libs} -lGLESv2 -lEGL -lm $gl_pt_lib"
344             evas_engine_gl_common_libs="-lGLESv2 -lm $gl_pt_lib"
345             have_dep="yes"
346             AC_DEFINE(GLES_VARIETY_SGX, 1, [Imagination SGX GLES2 support])
347             gles_variety_sgx="yes"
348          fi
349       fi
350    fi
351 fi
352
353 AC_SUBST([evas_engine_$1_cflags])
354 AC_SUBST([evas_engine_$1_libs])
355
356 if test "x${have_dep}" = "xyes" ; then
357   m4_default([$4], [:])
358 else
359   m4_default([$5], [:])
360 fi
361
362 ])
363
364
365 dnl use: EVAS_CHECK_ENGINE_DEP_SOFTWARE_GDI(engine, simple, want_static[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
366
367 AC_DEFUN([EVAS_CHECK_ENGINE_DEP_SOFTWARE_GDI],
368 [
369
370 have_dep="no"
371 evas_engine_[]$1[]_cflags=""
372 evas_engine_[]$1[]_libs=""
373
374 AC_CHECK_HEADER([windows.h],
375    [
376     have_dep="yes"
377     evas_engine_[]$1[]_libs="-lgdi32"
378    ]
379 )
380
381 AC_SUBST([evas_engine_$1_cflags])
382 AC_SUBST([evas_engine_$1_libs])
383
384 if test "x${have_dep}" = "xyes" ; then
385   m4_default([$4], [:])
386 else
387   m4_default([$5], [:])
388 fi
389
390 ])
391
392 dnl use: EVAS_CHECK_ENGINE_DEP_SOFTWARE_DDRAW(engine, simple, want_static[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
393
394 AC_DEFUN([EVAS_CHECK_ENGINE_DEP_SOFTWARE_DDRAW],
395 [
396
397 have_dep="no"
398 evas_engine_[]$1[]_cflags=""
399 evas_engine_[]$1[]_libs=""
400
401 AC_CHECK_HEADER([ddraw.h],
402    [
403     have_dep="yes"
404     evas_engine_[]$1[]_libs="-lddraw"
405    ]
406 )
407
408 AC_SUBST([evas_engine_$1_cflags])
409 AC_SUBST([evas_engine_$1_libs])
410
411 if test "x${have_dep}" = "xyes" ; then
412   m4_default([$4], [:])
413 else
414   m4_default([$5], [:])
415 fi
416
417 ])
418
419 dnl use: EVAS_CHECK_ENGINE_DEP_DIRECT3D(engine, simple, want_static[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
420
421 AC_DEFUN([EVAS_CHECK_ENGINE_DEP_DIRECT3D],
422 [
423
424 evas_engine_[]$1[]_cflags=""
425 evas_engine_[]$1[]_libs=""
426
427 AC_CHECK_HEADERS([d3d9.h d3dx9.h],
428    [
429     have_dep="yes"
430     evas_engine_[]$1[]_libs="-ld3d9 -ld3dx9 -lgdi32"
431    ],
432    [have_dep="no"; break]
433 )
434
435 AC_SUBST([evas_engine_$1_cflags])
436 AC_SUBST([evas_engine_$1_libs])
437
438 if test "x${have_dep}" = "xyes" ; then
439   m4_default([$4], [:])
440 else
441   m4_default([$5], [:])
442 fi
443
444 ])
445
446
447 dnl use: EVAS_CHECK_ENGINE_DEP_GL_COCOA(engine, simple, want_static[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
448
449 AC_DEFUN([EVAS_CHECK_ENGINE_DEP_GL_COCOA],
450 [
451
452 evas_engine_[]$1[]_cflags=""
453 evas_engine_[]$1[]_libs=""
454
455 AC_LANG_PUSH([Objective C])
456
457 LIBS_save="$LIBS"
458 LIBS="$LIBS -framework Cocoa"
459 AC_LINK_IFELSE(
460    [AC_LANG_PROGRAM(
461        [[
462 #include <Cocoa/Cocoa.h>
463        ]],
464        [[
465 NSWindow *window;
466 window = [[NSWindow alloc]
467            initWithContentRect:NSMakeRect(0, 0, 1, 1)
468            styleMask:(NSTitledWindowMask)
469            backing:NSBackingStoreBuffered
470            defer:NO
471            screen:nil
472          ];
473        ]])],
474    [
475     have_dep="yes"
476     evas_engine_[]$1[]_libs="-framework Cocoa"
477    ],
478    [have_dep="no"])
479 LIBS="$LIBS_save"
480
481 AC_LANG_POP([Objective C])
482
483 if test "x${have_dep}" = "xyes" ; then
484    PKG_CHECK_MODULES([GL_EET], [eet >= 1.6.99], [have_dep="yes"], [have_dep="no"])
485 fi
486
487 AC_SUBST([evas_engine_$1_cflags])
488 AC_SUBST([evas_engine_$1_libs])
489
490 if test "x${have_dep}" = "xyes" ; then
491   m4_default([$4], [:])
492 else
493   m4_default([$5], [:])
494 fi
495
496 ])
497
498 dnl use: EVAS_CHECK_ENGINE_DEP_GL_SDL(engine, simple, want_static[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
499
500 AC_DEFUN([EVAS_CHECK_ENGINE_DEP_GL_SDL],
501 [
502
503 requirement=""
504 have_dep="no"
505 evas_engine_[]$1[]_cflags=""
506 evas_engine_[]$1[]_libs=""
507
508 PKG_CHECK_MODULES([SDL],
509    [sdl >= 1.2.0],
510    [
511     have_dep="yes"
512     requirement="sdl"
513     evas_engine_[]$1[]_cflags="${SDL_CFLAGS}"
514     evas_engine_[]$1[]_libs="${SDL_LIBS}"
515    ]
516 )
517
518 gl_pt_lib="";
519 have_gl_pt="no"
520
521 AC_MSG_CHECKING([whether pthread_create() is supported])
522 CFLAGS_save="${CFLAGS}"
523 CFLAGS="${CFLAGS} -pthread"
524 LIBS_save="${LIBS}"
525 LIBS="${LIBS} -pthread"
526 AC_LINK_IFELSE(
527   [AC_LANG_PROGRAM([[
528 #include <pthread.h>
529                    ]],
530                    [[
531 pthread_create(NULL, NULL, NULL, NULL);
532                    ]])],
533    [have_gl_pt="yes"],
534    [have_gl_pt="no"])
535 CFLAGS=${CFLAGS_save}
536 LIBS=${LIBS_save}
537 AC_MSG_RESULT([${have_gl_pt}])
538
539 if test "x$have_gl_pt" = "xyes" ; then
540    gl_pt_lib=" -pthread"
541 fi
542
543 AC_CHECK_HEADER([GL/gl.h],
544    [have_dep="yes"],
545    [have_dep="no"],
546    [
547 #include <GL/gl.h>
548 #include <GL/glext.h>
549    ])
550
551 if test "x$gl_flavor_gles" = "xyes" ; then
552   have_dep=no
553 fi
554
555 if test "x${have_dep}" = "xyes" ; then
556    evas_engine_[]$1[]_cflags="${SDL_CFLAGS}"
557    evas_engine_[]$1[]_libs="${SDL_LIBS} -lGL -lm $gl_pt_lib"
558    evas_engine_gl_common_libs="-lGL -lm $gl_pt_lib"
559 else
560    AC_CHECK_HEADER([SDL/SDL_opengles.h],
561       [have_egl="yes"],
562       [have_egl="no"],
563       [
564 #include <SDL/SDL_opengles.h>
565 #include <EGL/egl.h>
566       ])
567    if test "x${have_egl}" = "xyes" ; then
568       AC_CHECK_LIB(GLESv2, glTexImage2D, [have_glesv2="yes"], , -lEGL -lm $gl_pt_lib)
569       if test "x${have_glesv2}" = "xyes" ; then
570          evas_engine_[]$1[]_cflags="${SDL_CFLAGS}"
571          evas_engine_[]$1[]_libs="${SDL_LIBS} -lGLESv2 -lEGL -lm $gl_pt_lib"
572          evas_engine_gl_common_libs="-lGLESv2 -lm $gl_pt_lib"
573          have_dep="yes"
574          AC_DEFINE(GLES_VARIETY_SGX, 1, [Imagination SGX GLES2 support])
575          gles_variety_sgx="yes"
576       fi
577    fi
578 fi
579
580 AC_SUBST([evas_engine_$1_cflags])
581 AC_SUBST([evas_engine_$1_libs])
582
583 if test "x$3" = "xstatic" ; then
584    requirement_evas="${requirement} ${requirement_evas}"
585 fi
586
587 if test "x${have_dep}" = "xyes" ; then
588   m4_default([$4], [:])
589 else
590   m4_default([$5], [:])
591 fi
592
593 ])
594
595 dnl use: EVAS_CHECK_ENGINE_DEP_FB(engine, simple, want_static[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
596
597 AC_DEFUN([EVAS_CHECK_ENGINE_DEP_FB],
598 [
599
600 have_dep="no"
601 evas_engine_[]$1[]_cflags=""
602 evas_engine_[]$1[]_libs=""
603
604 AC_CHECK_HEADER([linux/fb.h], [have_dep="yes"])
605
606 AC_SUBST([evas_engine_$1_cflags])
607 AC_SUBST([evas_engine_$1_libs])
608
609 if test "x${have_dep}" = "xyes" ; then
610   m4_default([$4], [:])
611 else
612   m4_default([$5], [:])
613 fi
614
615 ])
616
617 dnl use: EVAS_CHECK_ENGINE_DEP_DIRECTFB(engine, simple, want_static[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
618
619 AC_DEFUN([EVAS_CHECK_ENGINE_DEP_DIRECTFB],
620 [
621
622 requirement=""
623 have_dep="no"
624 evas_engine_[]$1[]_cflags=""
625 evas_engine_[]$1[]_libs=""
626
627 PKG_CHECK_MODULES([DIRECTFB],
628    [directfb >= 0.9.16],
629    [
630     have_dep="yes"
631     requirement="directfb"
632     evas_engine_[]$1[]_cflags="${DIRECTFB_CFLAGS}"
633     evas_engine_[]$1[]_libs="${DIRECTFB_LIBS}"
634    ]
635 )
636
637 AC_SUBST([evas_engine_$1_cflags])
638 AC_SUBST([evas_engine_$1_libs])
639
640 if test "x$3" = "xstatic" ; then
641    requirement_evas="${requirement} ${requirement_evas}"
642 fi
643
644 if test "x${have_dep}" = "xyes" ; then
645   m4_default([$4], [:])
646 else
647   m4_default([$5], [:])
648 fi
649
650 ])
651
652 dnl use: EVAS_CHECK_ENGINE_DEP_SOFTWARE_8_X11(engine, simple, want_static[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
653
654 AC_DEFUN([EVAS_CHECK_ENGINE_DEP_SOFTWARE_8_X11],
655 [
656
657 have_dep="no"
658 evas_engine_[]$1[]_cflags=""
659 evas_engine_[]$1[]_libs=""
660
661 PKG_CHECK_MODULES([XCB],
662    [xcb xcb-shm xcb-image >= 0.2.1 pixman-1],
663    [
664     have_dep="yes"
665     requirement="xcb xcb-shm xcb-image pixman-1"
666     evas_engine_[]$1[]_cflags="${XCB_CFLAGS}"
667     evas_engine_[]$1[]_libs="${XCB_LIBS}"
668    ],[
669     have_dep="no"
670    ]
671 )
672
673 AC_SUBST([evas_engine_$1_cflags])
674 AC_SUBST([evas_engine_$1_libs])
675
676 if test "x$3" = "xstatic" ; then
677    requirement_evas="${requirement} ${requirement_evas}"
678 fi
679
680 if test "x${have_dep}" = "xyes" ; then
681   m4_default([$4], [:])
682 else
683   m4_default([$5], [:])
684 fi
685
686 ])
687
688 dnl use: EVAS_CHECK_ENGINE_DEP_PSL1GHT(engine, simple, want_static[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
689
690 AC_DEFUN([EVAS_CHECK_ENGINE_DEP_PSL1GHT],
691 [
692
693 have_dep="no"
694 evas_engine_[]$1[]_cflags=""
695 evas_engine_[]$1[]_libs=""
696
697 AC_CHECK_HEADER([rsx/rsx.h], [have_dep="yes"])
698
699 AC_SUBST([evas_engine_$1_cflags])
700 AC_SUBST([evas_engine_$1_libs])
701
702 if test "x${have_dep}" = "xyes" ; then
703   m4_default([$4], [:])
704 else
705   m4_default([$5], [:])
706 fi
707
708 ])
709
710
711 dnl use: EVAS_CHECK_ENGINE_DEP_WAYLAND_SHM(engine, simple, want_static[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
712
713 AC_DEFUN([EVAS_CHECK_ENGINE_DEP_WAYLAND_SHM],
714 [
715
716 have_dep="yes"
717 evas_engine_[]$1[]_cflags=""
718 evas_engine_[]$1[]_libs=""
719
720 AC_SUBST([evas_engine_$1_cflags])
721 AC_SUBST([evas_engine_$1_libs])
722
723 if test "x${have_dep}" = "xyes" ; then
724   m4_default([$4], [:])
725 else
726   m4_default([$5], [:])
727 fi
728
729 ])
730
731
732 dnl use: EVAS_CHECK_ENGINE_DEP_WAYLAND_EGL(engine, simple, want_static[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
733
734 AC_DEFUN([EVAS_CHECK_ENGINE_DEP_WAYLAND_EGL],
735 [
736
737 requirement=""
738 have_dep="no"
739 evas_engine_[]$1[]_cflags=""
740 evas_engine_[]$1[]_libs=""
741
742 PKG_CHECK_MODULES([WAYLAND_EGL],
743    [egl >= 7.10 glesv2 gl wayland-client wayland-egl],
744    [
745     have_dep="yes"
746     requirement="egl >= 7.10 glesv2 gl wayland-client wayland-egl"
747     evas_engine_[]$1[]_cflags="${WAYLAND_EGL_CFLAGS}"
748     evas_engine_[]$1[]_libs="${WAYLAND_EGL_LIBS}"
749    ],[
750     have_dep="no"
751    ]
752 )
753
754 if test "x${have_dep}" = "xyes" ; then
755    PKG_CHECK_MODULES([GL_EET], [eet >= 1.6.99], [have_dep="yes"], [have_dep="no"])
756       AC_CHECK_LIB(GLESv2, glTexImage2D, [have_glesv2="yes"], , -lEGL -lm)
757       if test "x${have_glesv2}" = "xyes" ; then
758          evas_engine_[]$1[]_cflags="${WAYLAND_EGL_CFLAGS}"
759          evas_engine_[]$1[]_libs="${WAYLAND_EGL_LIBS} -lGL -lGLESv2 -lEGL"
760       fi
761 fi
762
763 AC_SUBST([evas_engine_$1_cflags])
764 AC_SUBST([evas_engine_$1_libs])
765
766 if test "x$3" = "xstatic" ; then
767    requirement_evas="${requirement} ${requirement_evas}"
768 fi
769
770 if test "x${have_dep}" = "xyes" ; then
771   m4_default([$4], [:])
772 else
773   m4_default([$5], [:])
774 fi
775
776 ])
777
778
779 dnl use: EVAS_CHECK_ENGINE(engine, want_engine, simple, description)
780
781
782 AC_DEFUN([EVAS_CHECK_ENGINE],
783 [
784
785 m4_pushdef([UP], m4_translit([$1], [-a-z], [_A-Z]))dnl
786 m4_pushdef([DOWN], m4_translit([$1], [-A-Z], [_a-z]))dnl
787
788 want_engine="$2"
789 want_static_engine="no"
790 have_engine="no"
791 have_evas_engine_[]DOWN="no"
792
793 AC_ARG_ENABLE([$1],
794    [AC_HELP_STRING([--enable-$1], [enable $4 rendering backend])],
795    [
796     if test "x${enableval}" = "xyes" ; then
797        want_engine="yes"
798     else
799        if test "x${enableval}" = "xstatic" ; then
800           want_engine="static"
801        else
802           want_engine="no"
803        fi
804     fi
805    ])
806
807 AC_MSG_CHECKING([whether to enable $4 rendering backend])
808 AC_MSG_RESULT([${want_engine}])
809
810 if test "x${want_engine}" = "xyes" -o "x${want_engine}" = "xstatic" -o "x${want_engine}" = "xauto" ; then
811    m4_default([EVAS_CHECK_ENGINE_DEP_]m4_defn([UP]))(DOWN, $3, ${want_engine}, [have_engine="yes"], [have_engine="no"])
812 fi
813
814 if test "x${have_engine}" = "xno" -a "x${want_engine}" = "xyes" -a "x${use_strict}" = "xyes" ; then
815    AC_MSG_ERROR([$4 dependencies not found (strict dependencies checking)])
816 fi
817
818 AC_MSG_CHECKING([whether $4 rendering backend will be built])
819 AC_MSG_RESULT([${have_engine}])
820
821 if test "x${have_engine}" = "xyes" ; then
822    if test "x${want_engine}" = "xstatic" ; then
823       have_evas_engine_[]DOWN="static"
824       want_static_engine="yes"
825    else
826       have_evas_engine_[]DOWN="yes"
827    fi
828 fi
829
830 if test "x${have_engine}" = "xyes" ; then
831    AC_DEFINE(BUILD_ENGINE_[]UP, [1], [$4 rendering backend])
832 fi
833
834 AM_CONDITIONAL(BUILD_ENGINE_[]UP, [test "x${have_engine}" = "xyes"])
835
836 if test "x${want_static_engine}" = "xyes" ; then
837    AC_DEFINE(EVAS_STATIC_BUILD_[]UP, [1], [Build $1 engine inside libevas])
838    have_static_module="yes"
839 fi
840
841 AM_CONDITIONAL(EVAS_STATIC_BUILD_[]UP, [test "x${want_static_engine}" = "xyes"])
842
843 m4_popdef([UP])
844 m4_popdef([DOWN])
845
846 ])