Rename Font_Request so I stop being stupidly confused
[framework/uifw/evas.git] / m4 / evas_check_loader.m4
1 dnl use: EVAS_CHECK_LOADER_DEP_EDB(loader, want_static[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
2
3 AC_DEFUN([EVAS_CHECK_LOADER_DEP_EDB],
4 [
5
6 requirement=""
7 have_dep="no"
8 evas_image_loader_[]$1[]_cflags=""
9 evas_image_loader_[]$1[]_libs=""
10
11 PKG_CHECK_MODULES([EDB], [edb], [have_dep="yes" requirement="edb"], [have_dep="no"])
12 evas_image_loader_[]$1[]_cflags="${EDB_CFLAGS}"
13 evas_image_loader_[]$1[]_libs="${EDB_LIBS}"
14
15 AC_SUBST([evas_image_loader_$1_cflags])
16 AC_SUBST([evas_image_loader_$1_libs])
17
18 if test "x$2" = "xstatic" ; then
19    requirement_evas="${requirement} ${requirement_evas}"
20 fi
21
22 if test "x${have_dep}" = "xyes" ; then
23   m4_default([$3], [:])
24 else
25   m4_default([$4], [:])
26 fi
27
28 ])
29
30 dnl use: EVAS_CHECK_LOADER_DEP_EET(loader, want_static[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
31
32 AC_DEFUN([EVAS_CHECK_LOADER_DEP_EET],
33 [
34
35 requirement=""
36 have_dep="no"
37 evas_image_loader_[]$1[]_cflags=""
38 evas_image_loader_[]$1[]_libs=""
39
40 PKG_CHECK_MODULES([EET], [eet >= 1.6.0], [have_dep="yes" requirement="eet >= 1.4.0"], [have_dep="no"])
41 evas_image_loader_[]$1[]_cflags="${EET_CFLAGS}"
42 evas_image_loader_[]$1[]_libs="${EET_LIBS}"
43
44 AC_SUBST([evas_image_loader_$1_cflags])
45 AC_SUBST([evas_image_loader_$1_libs])
46
47 if test "x$2" = "xstatic" ; then
48    requirement_evas="${requirement} ${requirement_evas}"
49 fi
50
51 if test "x${have_dep}" = "xyes" ; then
52   m4_default([$3], [:])
53 else
54   m4_default([$4], [:])
55 fi
56
57 ])
58
59 dnl use: EVAS_CHECK_LOADER_DEP_GIF(loader, want_static[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
60
61 AC_DEFUN([EVAS_CHECK_LOADER_DEP_GIF],
62 [
63
64 have_dep="no"
65 evas_image_loader_[]$1[]_cflags=""
66 evas_image_loader_[]$1[]_libs=""
67
68 AC_CHECK_HEADER([gif_lib.h], [have_dep="yes"])
69
70 if test "x${have_dep}"  = "xyes" ; then
71    AC_CHECK_LIB([gif],
72       [DGifOpenFileName],
73       [
74        evas_image_loader_[]$1[]_libs="-lgif"
75       ],
76       [have_dep="no"]
77    )
78
79    if test "x${have_dep}"  = "xno" ; then
80       AC_CHECK_LIB([ungif],
81          [DGifOpenFileName],
82          [
83           have_dep="yes"
84           evas_image_loader_[]$1[]_libs="-lungif"
85          ]
86       )
87    fi
88 fi
89
90 AC_SUBST([evas_image_loader_$1_cflags])
91 AC_SUBST([evas_image_loader_$1_libs])
92
93 if test "x${have_dep}" = "xyes" ; then
94   m4_default([$3], [:])
95 else
96   m4_default([$4], [:])
97 fi
98
99 ])
100
101 dnl use: EVAS_CHECK_LOADER_DEP_JPEG(loader, want_static[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
102
103 AC_DEFUN([EVAS_CHECK_LOADER_DEP_JPEG],
104 [
105
106 have_dep="no"
107 evas_image_loader_[]$1[]_cflags=""
108 evas_image_loader_[]$1[]_libs=""
109
110 AC_CHECK_HEADER([jpeglib.h], [have_dep="yes"])
111
112 if test "x${have_dep}"  = "xyes" ; then
113    AC_CHECK_LIB([jpeg],
114       [jpeg_CreateDecompress],
115       [
116        evas_image_loader_[]$1[]_libs="-ljpeg"
117        AC_COMPILE_IFELSE(
118           [AC_LANG_PROGRAM(
119               [[
120 #include <stdio.h>
121 #include <jpeglib.h>
122 #include <setjmp.h>
123               ]],
124               [[
125 struct jpeg_decompress_struct decomp;
126 decomp.region_x = 0;
127               ]])],
128           [have_jpeg_region="yes"],
129           [have_jpeg_region="no"])
130       ],
131       [have_dep="no"]
132    )
133    if test "x${have_jpeg_region}" = "xyes" ; then
134      AC_DEFINE(BUILD_LOADER_JPEG_REGION, [1], [JPEG Region Decode Support])
135    fi
136 fi
137
138 AC_SUBST([evas_image_loader_$1_cflags])
139 AC_SUBST([evas_image_loader_$1_libs])
140
141 if test "x${have_dep}" = "xyes" ; then
142   m4_default([$3], [:])
143 else
144   m4_default([$4], [:])
145 fi
146
147 ])
148
149 dnl use: EVAS_CHECK_LOADER_DEP_PMAPS(loader, want_static[[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
150
151 AC_DEFUN([EVAS_CHECK_LOADER_DEP_PMAPS],
152 [
153
154 have_dep="yes"
155 evas_image_loader_[]$1[]_cflags=""
156 evas_image_loader_[]$1[]_libs=""
157
158 AC_SUBST([evas_image_loader_$1_cflags])
159 AC_SUBST([evas_image_loader_$1_libs])
160
161 if test "x${have_dep}" = "xyes" ; then
162   m4_default([$3], [:])
163 else
164   m4_default([$4], [:])
165 fi
166
167 ])
168
169 dnl use: EVAS_CHECK_LOADER_DEP_PNG(loader, want_static[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
170
171 AC_DEFUN([EVAS_CHECK_LOADER_DEP_PNG],
172 [
173
174 requirement=""
175 have_dep="no"
176 evas_image_loader_[]$1[]_cflags=""
177 evas_image_loader_[]$1[]_libs=""
178
179 dnl libpng.pc is the latest version of libpng that ahs been installed.
180 dnl We check it first.
181 PKG_CHECK_MODULES([PNG],
182    [libpng >= 1.2.10],
183    [have_dep="yes" requirement="libpng"],
184    [have_dep="no"])
185
186 if test "x${have_dep}" = "xno" ; then
187    PKG_CHECK_MODULES([PNG],
188       [libpng15],
189       [have_dep="yes" requirement="libpng15"],
190       [have_dep="no"])
191 fi
192
193 if test "x${have_dep}" = "xno" ; then
194    PKG_CHECK_MODULES([PNG],
195       [libpng14],
196       [have_dep="yes" requirement="libpng14"],
197       [have_dep="no"])
198 fi
199
200 if test "x${have_dep}" = "xno" ; then
201    PKG_CHECK_MODULES([PNG],
202       [libpng12 >= 1.2.10],
203       [have_dep="yes" requirement="libpng12"],
204       [have_dep="no"])
205 fi
206
207 evas_image_loader_[]$1[]_cflags="${PNG_CFLAGS}"
208 evas_image_loader_[]$1[]_libs="${PNG_LIBS}"
209
210 AC_SUBST([evas_image_loader_$1_cflags])
211 AC_SUBST([evas_image_loader_$1_libs])
212
213 if test "x$2" = "xstatic" ; then
214    requirement_evas="${requirement} ${requirement_evas}"
215 fi
216
217 if test "x${have_dep}" = "xyes" ; then
218   m4_default([$3], [:])
219 else
220   m4_default([$4], [:])
221 fi
222
223 ])
224
225 dnl use: EVAS_CHECK_LOADER_DEP_SVG(loader, want_static[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
226
227 AC_DEFUN([EVAS_CHECK_LOADER_DEP_SVG],
228 [
229
230 requirement=""
231 have_esvg="no"
232 evas_image_loader_[]$1[]_cflags=""
233 evas_image_loader_[]$1[]_libs=""
234
235 PKG_CHECK_MODULES([SVG],
236    [esvg >= 0.0.16],
237    [have_dep="yes" have_esvg="yes" requirement="esvg"],
238    [have_dep="no"])
239
240 if test "x${have_dep}" = "xyes" ; then
241    evas_image_loader_[]$1[]_cflags="${SVG_CFLAGS}"
242    evas_image_loader_[]$1[]_libs="${SVG_LIBS}"
243 fi
244
245 AC_SUBST([evas_image_loader_$1_cflags])
246 AC_SUBST([evas_image_loader_$1_libs])
247
248 if test "x$2" = "xstatic" ; then
249    requirement_evas="${requirement} ${requirement_evas}"
250 fi
251
252 if test "x${have_dep}" = "xyes" ; then
253   m4_default([$3], [:])
254 else
255   m4_default([$4], [:])
256 fi
257
258 ])
259
260 dnl use: EVAS_CHECK_LOADER_DEP_TIFF(loader, want_static[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
261
262 AC_DEFUN([EVAS_CHECK_LOADER_DEP_TIFF],
263 [
264
265 have_dep="no"
266 evas_image_loader_[]$1[]_cflags=""
267 evas_image_loader_[]$1[]_libs=""
268
269 AC_CHECK_HEADER([tiffio.h], [have_dep="yes"])
270
271 if test "x${have_dep}"  = "xyes" ; then
272    AC_CHECK_LIB([tiff],
273       [TIFFReadScanline],
274       [
275        evas_image_loader_[]$1[]_libs="-ltiff"
276       ],
277       [have_dep="no"]
278    )
279
280    if test "x${have_dep}"  = "xno" ; then
281       AC_CHECK_LIB([tiff],
282          [TIFFReadScanline],
283          [
284           have_dep="yes"
285           evas_image_loader_[]$1[]_libs="-ltiff -ljpeg -lz -lm"
286          ]
287       )
288    fi
289
290    if test "x${have_dep}"  = "xno" ; then
291       AC_CHECK_LIB([tiff34],
292          [TIFFReadScanline],
293          [
294           have_dep="yes"
295           evas_image_loader_[]$1[]_libs="-ltiff34 -ljpeg -lz -lm"
296          ]
297       )
298    fi
299 fi
300
301 AC_SUBST([evas_image_loader_$1_cflags])
302 AC_SUBST([evas_image_loader_$1_libs])
303
304 if test "x${have_dep}" = "xyes" ; then
305   m4_default([$3], [:])
306 else
307   m4_default([$4], [:])
308 fi
309
310 ])
311
312 dnl use: EVAS_CHECK_LOADER_DEP_XPM(loader, want_static[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
313
314 AC_DEFUN([EVAS_CHECK_LOADER_DEP_XPM],
315 [
316
317 have_dep="yes"
318 evas_image_loader_[]$1[]_cflags=""
319 evas_image_loader_[]$1[]_libs=""
320
321 AC_SUBST([evas_image_loader_$1_cflags])
322 AC_SUBST([evas_image_loader_$1_libs])
323
324 if test "x${have_dep}" = "xyes" ; then
325   m4_default([$3], [:])
326 else
327   m4_default([$4], [:])
328 fi
329
330 ])
331
332 dnl use: EVAS_CHECK_LOADER_DEP_BMP(loader, want_static[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
333
334 AC_DEFUN([EVAS_CHECK_LOADER_DEP_BMP],
335 [
336
337 have_dep="yes"
338 evas_image_loader_[]$1[]_cflags=""
339 evas_image_loader_[]$1[]_libs=""
340
341 AC_SUBST([evas_image_loader_$1_cflags])
342 AC_SUBST([evas_image_loader_$1_libs])
343
344 if test "x${have_dep}" = "xyes" ; then
345   m4_default([$3], [:])
346 else
347   m4_default([$4], [:])
348 fi
349
350 ])
351
352 dnl use: EVAS_CHECK_LOADER_DEP_ICO(loader, want_static[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
353
354 AC_DEFUN([EVAS_CHECK_LOADER_DEP_ICO],
355 [
356
357 have_dep="yes"
358 evas_image_loader_[]$1[]_cflags=""
359 evas_image_loader_[]$1[]_libs=""
360
361 AC_SUBST([evas_image_loader_$1_cflags])
362 AC_SUBST([evas_image_loader_$1_libs])
363
364 if test "x${have_dep}" = "xyes" ; then
365   m4_default([$3], [:])
366 else
367   m4_default([$4], [:])
368 fi
369
370 ])
371
372 dnl use: EVAS_CHECK_LOADER_DEP_TGA(loader, want_static[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
373
374 AC_DEFUN([EVAS_CHECK_LOADER_DEP_TGA],
375 [
376
377 have_dep="yes"
378 evas_image_loader_[]$1[]_cflags=""
379 evas_image_loader_[]$1[]_libs=""
380
381 AC_SUBST([evas_image_loader_$1_cflags])
382 AC_SUBST([evas_image_loader_$1_libs])
383
384 if test "x${have_dep}" = "xyes" ; then
385   m4_default([$3], [:])
386 else
387   m4_default([$4], [:])
388 fi
389
390 ])
391
392 dnl use: EVAS_CHECK_LOADER_DEP_WBMP(loader, want_static[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
393
394 AC_DEFUN([EVAS_CHECK_LOADER_DEP_WBMP],
395 [
396
397 have_dep="yes"
398 evas_image_loader_[]$1[]_cflags=""
399 evas_image_loader_[]$1[]_libs=""
400
401 AC_SUBST([evas_image_loader_$1_cflags])
402 AC_SUBST([evas_image_loader_$1_libs])
403
404 if test "x${have_dep}" = "xyes" ; then
405   m4_default([$3], [:])
406 else
407   m4_default([$4], [:])
408 fi
409
410 ])
411
412 dnl use: EVAS_CHECK_LOADER_DEP_PSD(loader, want_static[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
413
414 AC_DEFUN([EVAS_CHECK_LOADER_DEP_PSD],
415 [
416
417 have_dep="yes"
418 evas_image_loader_[]$1[]_cflags=""
419 evas_image_loader_[]$1[]_libs=""
420
421 AC_SUBST([evas_image_loader_$1_cflags])
422 AC_SUBST([evas_image_loader_$1_libs])
423
424 if test "x${have_dep}" = "xyes" ; then
425   m4_default([$3], [:])
426 else
427   m4_default([$4], [:])
428 fi
429
430 ])
431
432 dnl use: EVAS_CHECK_LOADER_DEP_GENERIC(loader, want_static[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
433
434 AC_DEFUN([EVAS_CHECK_LOADER_DEP_GENERIC],
435 [
436
437 have_dep="yes"
438 evas_image_loader_[]$1[]_cflags=""
439 evas_image_loader_[]$1[]_libs=""
440
441 AC_SUBST([evas_image_loader_$1_cflags])
442 AC_SUBST([evas_image_loader_$1_libs])
443
444 if test "x${have_dep}" = "xyes" ; then
445   m4_default([$3], [:])
446 else
447   m4_default([$4], [:])
448 fi
449
450 ])
451
452 dnl use: EVAS_CHECK_IMAGE_LOADER(loader, want_loader, macro)
453
454
455 AC_DEFUN([EVAS_CHECK_IMAGE_LOADER],
456 [
457
458 m4_pushdef([UP], m4_toupper([$1]))
459 m4_pushdef([DOWN], m4_tolower([$1]))
460
461 want_loader="$2"
462 want_static_loader="no"
463 have_loader="no"
464 have_evas_image_loader_[]DOWN="no"
465
466 AC_ARG_ENABLE([image-loader-[]DOWN],
467    [AC_HELP_STRING([--enable-image-loader-[]DOWN], [enable $1 image loader])],
468    [
469     if test "x${enableval}" = "xyes" ; then
470        want_loader="yes"
471     else
472        if test "x${enableval}" = "xstatic" ; then
473           want_loader="static"
474        else
475           want_loader="no"
476        fi
477     fi
478    ]
479 )
480
481 AC_MSG_CHECKING([whether to enable $1 image loader])
482 AC_MSG_RESULT([${want_loader}])
483
484 if test "x${want_loader}" = "xyes" -o "x${want_loader}" = "xstatic" -o "x${want_loader}" = "xauto"; then
485    m4_default([EVAS_CHECK_LOADER_DEP_]m4_defn([UP]))(DOWN, ${want_loader}, [have_loader="yes"], [have_loader="no"])
486 fi
487
488 if test "x${have_loader}" = "xno" -a "x${want_loader}" = "xyes" -a "x${use_strict}" = "xyes" ; then
489    AC_MSG_ERROR([$1 dependencies not found (strict dependencies checking)])
490 fi
491
492 AC_MSG_CHECKING([whether $1 image loader will be built])
493 AC_MSG_RESULT([${have_loader}])
494
495 if test "x${have_loader}" = "xyes" ; then
496    if test "x${want_loader}" = "xstatic" ; then
497       have_evas_image_loader_[]DOWN="static"
498       want_static_loader="yes"
499    else
500       have_evas_image_loader_[]DOWN="yes"
501    fi
502 fi
503
504 if test "x${have_loader}" = "xyes" ; then
505    AC_DEFINE(BUILD_LOADER_[]UP, [1], [UP Image Loader Support])
506 fi
507
508 AM_CONDITIONAL(BUILD_LOADER_[]UP, [test "x${have_loader}" = "xyes"])
509
510 if test "x${want_static_loader}" = "xyes" ; then
511    AC_DEFINE(EVAS_STATIC_BUILD_[]UP, [1], [Build $1 image loader inside libevas])
512    have_static_module="yes"
513 fi
514
515 AM_CONDITIONAL(EVAS_STATIC_BUILD_[]UP, [test "x${want_static_loader}" = "xyes"])
516
517 m4_popdef([UP])
518 m4_popdef([DOWN])
519
520 ])
521
522 dnl use: EVAS_CHECK_FONT_LOADER(want)
523
524
525 AC_DEFUN([EVAS_CHECK_FONT_LOADER],
526 [
527
528 pushdef([UP], translit([$1], [a-z], [A-Z]))dnl
529 pushdef([DOWN], translit([$1], [A-Z], [a-z]))dnl
530
531 want_loader="$1"
532 have_evas_font_loader_eet="no"
533
534 AC_ARG_ENABLE([font-loader-eet],
535    [AC_HELP_STRING([--disable-font-loader-eet],
536        [disable EET font loader. [[default=enabled]]])],
537    [want_loader=${enableval}]
538 )
539
540 AC_MSG_CHECKING([whether to enable Eet font loader])
541 AC_MSG_RESULT([${want_loader}])
542
543 if test "x$want_loader" = "xyes" -o "x$want_loader" = "xauto"; then
544     PKG_CHECK_MODULES([EET], [eet >= 1.6.0], [have_evas_font_loader_eet="yes"], [have_evas_font_loader_eet="no"])
545 fi
546
547 if test "x${have_evas_font_loader_eet}" = "xno" -a "x$want_loader" = "xyes" -a "x$use_strict" = "xyes" ; then
548    AC_MSG_ERROR([Eet dependencies not found (strict dependencies checking)])
549 fi
550
551 if test "x$have_evas_font_loader_eet" = "xyes" ; then
552    AC_DEFINE([BUILD_FONT_LOADER_EET], [1], [EET Font Loader Support])
553    requirement_evas="eet >= 1.6.0 ${requirement_evas}"
554 fi
555
556 popdef([UP])
557 popdef([DOWN])
558
559 ])