forked from libvips/libvips
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathconfigure.in
694 lines (604 loc) · 20.4 KB
/
configure.in
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
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
# Process this file with autoconf to produce a configure script.
AC_INIT(libvips/include/vips/colour.h)
AM_CONFIG_HEADER(config.h)
AC_CONFIG_MACRO_DIR(m4)
# user-visible library versioning
m4_define([vips_major_version], [7])
m4_define([vips_minor_version], [27])
m4_define([vips_micro_version], [0])
m4_define([vips_version],
[vips_major_version.vips_minor_version.vips_micro_version])
VIPS_MAJOR_VERSION=vips_major_version
VIPS_MINOR_VERSION=vips_minor_version
VIPS_MICRO_VERSION=vips_micro_version
VIPS_VERSION=vips_version()
VIPS_VERSION_STRING=$VIPS_VERSION-`date`
VERSION=$VIPS_VERSION
PACKAGE=vips
# libtool library versioning ... not user-visible (except as part of the
# library file name) and does not correspond to major/minor/micro above
# rules:
# sources changed: increment revision
# interface changed: increment current, reset revision to 0
# interface changes backwards compatible?: increment age
# interface changes not backwards compatible?: reset age to 0
LIBRARY_CURRENT=30
LIBRARY_REVISION=5
LIBRARY_AGE=15
AM_INIT_AUTOMAKE($PACKAGE,$VERSION)
# patched into include/vips/version.h
AC_SUBST(VIPS_VERSION)
AC_SUBST(VIPS_VERSION_STRING)
AC_SUBST(VIPS_MAJOR_VERSION)
AC_SUBST(VIPS_MINOR_VERSION)
AC_SUBST(VIPS_MICRO_VERSION)
# put into library name by libsrc/Makefile.am and libsrcCC/Makefile.am
AC_SUBST(LIBRARY_CURRENT)
AC_SUBST(LIBRARY_REVISION)
AC_SUBST(LIBRARY_AGE)
AC_CANONICAL_HOST
AC_DEFINE_UNQUOTED(G_LOG_DOMAIN, "VIPS", [Domain for glib logging messages.])
# disable debugging by default for production releases
m4_define([debug_default],
m4_if(m4_eval(vips_minor_version() % 2), [1], [yes], [minimum]))
AC_ARG_ENABLE(debug,
AC_HELP_STRING([--enable-debug=@<:@no/minimum/yes@:>@],
[turn on debugging @<:@default=debug_default()@:>@]),,
enable_debug=debug_default())
if test "x$enable_debug" = "xyes"; then
VIPS_DEBUG_FLAGS="-DDEBUG_FATAL -DDEBUG_LEAK"
else
VIPS_DEBUG_FLAGS="-DG_DISABLE_CAST_CHECKS"
if test "x$enable_debug" = "xno"; then
VIPS_DEBUG_FLAGS="-DG_DISABLE_ASSERT -DG_DISABLE_CHECKS"
fi
fi
AC_MSG_CHECKING([for native Win32])
case "$host" in
*-*-mingw*)
vips_os_win32=yes
;;
*)
vips_os_win32=no
;;
esac
AC_MSG_RESULT([$vips_os_win32])
if test x"$vips_os_win32" = "xyes"; then
AC_DEFINE(OS_WIN32,1,[native win32])
# makes gcc use win native alignment
VIPS_CFLAGS="-mms-bitfields $VIPS_CFLAGS"
fi
# CImg needs flags changed on win32
if test x"$vips_os_win32" = "xyes"; then
AM_CONDITIONAL(OS_WIN32, true)
else
AM_CONDITIONAL(OS_WIN32, false)
fi
# Cygwin/mingw need binary open to avoid CR/LF madness
# ... should be a better way to test for this
AC_MSG_CHECKING([for binary open needed])
case "$host_os" in
cygwin* | mingw*)
vips_binary_open=yes
;;
*)
vips_binary_open=no
;;
esac
AC_MSG_RESULT([$vips_binary_open])
if test x"$vips_binary_open" = "xyes"; then
AC_DEFINE(BINARY_OPEN,1,[define to open non-text files in binary mode])
fi
AC_MSG_CHECKING([for Mac OS X])
case "$host" in
*-*-darwin*)
vips_os_darwin=yes
;;
*)
vips_os_darwin=no
;;
esac
AC_MSG_RESULT([$vips_os_darwin])
if test x"$vips_os_darwin" = x"yes"; then
AC_DEFINE(VIPS_OS_DARWIN,1,[native Mac OS X])
fi
# set the default directory for ICC profiles
if test x"$vips_os_darwin" = x"yes"; then
profile_dir="/Library/ColorSync/Profiles"
elif test x"$vips_os_win32" = x"yes"; then
profile_dir="C:\\Windows\\System32\\spool\\drivers\\color"
else
profile_dir="/usr/share/color/icc"
fi
AC_DEFINE_UNQUOTED(VIPS_ICC_DIR,"$profile_dir",[default directory for ICC profiles])
# we want largefile support, if possible
AC_SYS_LARGEFILE
# Checks for programs.
AC_PROG_AWK
AC_PROG_CC
AC_PROG_CC_STDC
AC_PROG_CXX
AC_C_CONST
AC_C_RESTRICT
AC_PROG_RANLIB
AC_PROG_INSTALL
AC_PROG_LN_S
AM_WITH_DMALLOC
# vips_PROG_CXX_WORKS
# Check whether the C++ compiler works.
AC_DEFUN([vips_PROG_CXX_WORKS],
[AC_REQUIRE([AC_PROG_CXX])dnl
AC_CACHE_CHECK([whether the C++ compiler works],
[vips_cv_prog_cxx_works],
[AC_LANG_PUSH([C++])
AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])],
[vips_cv_prog_cxx_works=yes],
[vips_cv_prog_cxx_works=no])
AC_LANG_POP([C++])])
])
# option to build without C++
# handy for some embedded applications
# also, including C++ source causes link problems on some
# platforms, so have an option to disable it
AC_ARG_ENABLE(cxx,
AS_HELP_STRING([--enable-cxx], [build C++ components (default: test)]))
if test x"$enable_cxx" != x"no"; then
vips_PROG_CXX_WORKS
if test x"$vips_cv_prog_cxx_works" = x"yes"; then
AC_DEFINE(ENABLE_CXX,1,[build C++ components])
AM_CONDITIONAL(ENABLE_CXX, true)
# need -lstdc++ for (eg.) the C++ format loaders
# this gets added to vips-7.xx.pc to help mingw and friends link programs
# using libvips
VIPS_CXX_LIBS="-lstdc++"
enable_cxx=yes
fi
fi
if test x"$enable_cxx" != x"yes"; then
AM_CONDITIONAL(ENABLE_CXX, false)
VIPS_CXX_LIBS=""
enable_cxx=no
fi
# we need a fully expanded version of $libdir
# without this we get something like
# define VIPS_LIBDIR ${exec_prefix}/lib
# argh
test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
# set $expanded_value to the fully-expanded value of the argument
expand () {
eval expanded_value=$1
if test x"$expanded_value" != x"$1"; then
expand "$expanded_value"
fi
}
expand $libdir
VIPS_LIBDIR=$expanded_value
# this gets pasted into version.h as a #define
VIPS_EXEEXT=$EXEEXT
AC_SUBST(VIPS_EXEEXT)
# vips.c/im_guess_prefix.c need to know the exe suffix and (as a fallback)
# the configure-time install prefix
AC_DEFINE_UNQUOTED(VIPS_PREFIX,"$prefix",[configure-time install prefix])
AC_DEFINE_UNQUOTED(VIPS_LIBDIR,"$VIPS_LIBDIR",[configure-time library directory])
# i18n
GETTEXT_PACKAGE=vips7
AC_SUBST(GETTEXT_PACKAGE)
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE",
[The prefix for our gettext translation domains.])
# the 'malkovich' one is there for testing only, remove for release
#ALL_LINGUAS="en_GB de malkovich"
ALL_LINGUAS="en_GB de"
AM_GLIB_GNU_GETTEXT
# C++ fails to compile mysteriously without gettext ... fail here
if test x"$gt_cv_have_gettext" != x"yes"; then
AC_MSG_ERROR([gettext not found])
fi
# Checks for libraries.
# build list of pkg-config packages we used here
PACKAGES_USED=""
# Checks for header files.
AC_HEADER_DIRENT
AC_HEADER_STDC
AC_CHECK_HEADERS([errno.h math.h fcntl.h limits.h stdlib.h string.h sys/file.h sys/ioctl.h sys/param.h sys/time.h sys/mman.h sys/types.h sys/stat.h unistd.h io.h direct.h windows.h])
# uncomment to change which libs we build
# AC_DISABLE_SHARED
# AC_DISABLE_STATIC
AC_LIBTOOL_WIN32_DLL
AC_CHECK_TOOL(DLLWRAP, dllwrap)
AC_CHECK_TOOL(DLLTOOL, dlltool)
AC_CHECK_TOOL(OBJDUMP, objdump)
AC_CHECK_TOOL(RANLIB, ranlib)
AC_CHECK_TOOL(STRIP, strip)
AC_CHECK_TOOL(AR, ar)
AC_CHECK_TOOL(AS, as)
AC_CHECK_TOOL(LD, ld)
AC_PROVIDE([AC_LIBTOOL_WIN32_DLL])
AC_PROG_LIBTOOL
# Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
AC_TYPE_MODE_T
AC_TYPE_OFF_T
AC_TYPE_SIZE_T
# Checks for library functions.
AC_FUNC_MEMCMP
AC_FUNC_MMAP
AC_FUNC_VPRINTF
AC_CHECK_FUNCS([getcwd gettimeofday getwd memset munmap putenv realpath strcasecmp strchr strcspn strdup strerror strrchr strspn vsnprintf realpath mkstemp mktemp random rand sysconf atexit])
AC_CHECK_LIB(m,cbrt,[AC_DEFINE(HAVE_CBRT,1,[have cbrt() in libm.])])
AC_CHECK_LIB(m,hypot,[AC_DEFINE(HAVE_HYPOT,1,[have hypot() in libm.])])
# have to have these
# need glib 2.6 for GOption
PKG_CHECK_MODULES(REQUIRED, glib-2.0 >= 2.6 gmodule-2.0 >= 2.4 libxml-2.0 gobject-2.0)
PACKAGES_USED="$PACKAGES_USED glib-2.0 gmodule-2.0 libxml-2.0 gobject-2.0"
# option to eval without threads
AC_ARG_ENABLE(threads,
AS_HELP_STRING([--enable-threads], [evaluate with threads (default: yes)]))
if test x"$enable_threads" != "xno"; then
AC_DEFINE(HAVE_THREADS,1,[threaded evaluation])
PKG_CHECK_MODULES(GTHREAD, gthread-2.0)
PACKAGES_USED="$PACKAGES_USED gthread-2.0"
enable_threads=yes
fi
# check for gtk-doc
GTK_DOC_CHECK(1.9)
# optional supporting libraries
# we can wrap fftw3 and fftw2 ... but just look for fftw3, since we can do
# that with pkg-config
AC_ARG_WITH([fftw3],
AS_HELP_STRING([--without-fftw3], [build without fftw3 (default: test)]))
if test x"$with_fftw3" != "xno"; then
PKG_CHECK_MODULES(FFTW3, fftw3,
[AC_DEFINE(HAVE_FFTW3,1,[define if you have fftw3 installed.])
with_fftw3=yes
PACKAGES_USED="$PACKAGES_USED fftw3"],
[AC_MSG_WARN([fftw3 not found; disabling fftw support])
with_fftw3=no])
fi
# ImageMagick ... detect attribute iteration too
# Optionally look for GraphicsMagick instead ... use
# --with-magickpackage=GraphicsMagick
AC_ARG_WITH([magick],
AS_HELP_STRING([--without-magick], [build without libMagic (default: test)]))
AC_ARG_WITH([magickpackage],
AS_HELP_STRING([--with-magickpackage],
[magickpackage to use (default: MagickWand, ImageMagick)]))
# recent versions of ImageMagick have split parts of the library off to
# MagickWand, so by default we test for that first
if test x"$with_magickpackage" = "x"; then
PKG_CHECK_MODULES(MAGICK_WAND, MagickWand,
[with_magickpackage=MagickWand],
[PKG_CHECK_MODULES(IMAGE_MAGICK, ImageMagick,
[with_magickpackage=ImageMagick],
[AC_MSG_WARN([neither MagickWand nor ImageMagick found; disabling Magick support])
with_magick=no
])])
fi
if test x"$with_magick" != "xno"; then
PKG_CHECK_MODULES(MAGICK, $with_magickpackage,
[AC_DEFINE(HAVE_MAGICK,1,[define if you have libMagick installed.])
with_magick=yes
PACKAGES_USED="$PACKAGES_USED $with_magickpackage"],
[AC_MSG_WARN([$with_magickpackage not found; disabling Magick support])
with_magick=no
])
fi
if test x"$with_magick" != "xno"; then
# we SetImageOption to disable some DICOM read processing, but that's only
# in more recent imagemagicks and not in graphicsmagick
save_LIBS=$LIBS
LIBS="$LIBS $MAGICK_LIBS"
AC_CHECK_FUNCS(SetImageOption,
AC_DEFINE(HAVE_SETIMAGEOPTION,1,
[define if your magick has SetImageOption.]))
LIBS=$save_LIBS
fi
if test x"$with_magick" != "xno"; then
# newer ImageMagicks use MagickCoreGenesis instead of InitializeMagick argh
save_LIBS=$LIBS
LIBS="$LIBS $MAGICK_LIBS"
AC_CHECK_FUNCS(MagickCoreGenesis,
AC_DEFINE(HAVE_MAGICKCOREGENESIS,1,
[define if your magick has MagickCoreGenesis.]))
LIBS=$save_LIBS
fi
if test x"$with_magick" != "xno"; then
# newer ImageMagicks use ResetImagePropertyIterator instead of
# ResetImageAttributeIterator argh
save_LIBS=$LIBS
LIBS="$LIBS $MAGICK_LIBS"
AC_CHECK_FUNCS(ResetImagePropertyIterator,
AC_DEFINE(HAVE_RESETIMAGEPROPERTYITERATOR,1,
[define if your magick has ResetImagePropertyIterator.]))
LIBS=$save_LIBS
fi
if test x"$with_magick" != "xno"; then
# so ... do we have ResetImageAttributeIterator()? GM does not
save_LIBS=$LIBS
LIBS="$LIBS $MAGICK_LIBS"
AC_CHECK_FUNCS(ResetImageAttributeIterator,
AC_DEFINE(HAVE_RESETIMAGEATTRIBUTEITERATOR,1,
[define if your magick has ResetImageAttributeIterator.]))
LIBS=$save_LIBS
fi
if test x"$with_magick" != "xno"; then
# more recent magicks have GetVirtualPixels rather than GetImagePixels
save_LIBS=$LIBS
LIBS="$LIBS $MAGICK_LIBS"
AC_CHECK_FUNCS(GetVirtualPixels,
AC_DEFINE(HAVE_GETVIRTUALPIXELS,1,
[define if your magick has GetVirtualPixels.]))
LIBS=$save_LIBS
fi
# orc
AC_ARG_WITH([orc],
AS_HELP_STRING([--without-orc], [build without orc (default: test)]))
if test x"$with_orc" != "xno"; then
# we use loadpw etc.
PKG_CHECK_MODULES(ORC, orc-0.4 >= 0.4.11,
[AC_DEFINE(HAVE_ORC,1,[define if you have orc-0.4.11 or later installed.])
with_orc=yes
PACKAGES_USED="$PACKAGES_USED orc-0.4"],
[AC_MSG_WARN([orc-0.4.11 or later not found; disabling orc support])
with_orc=no
])
fi
# lcms ... look for lcms2 first, it has better threading support
AC_ARG_WITH([lcms],
AS_HELP_STRING([--without-lcms], [build without lcms (default: test)]))
if test x"$with_lcms" != "xno"; then
PKG_CHECK_MODULES(LCMS, lcms2,
[AC_DEFINE(HAVE_LCMS2,1,[define if you have lcms2 installed.])
with_lcms=yes
with_lcms_ver=lcms2
PACKAGES_USED="$PACKAGES_USED lcms2"],
[PKG_CHECK_MODULES(LCMS, lcms,
[AC_DEFINE(HAVE_LCMS,1,[define if you have lcms installed.])
with_lcms=yes
with_lcms_ver=lcms
PACKAGES_USED="$PACKAGES_USED lcms"],
[AC_MSG_WARN([lcms2/lcms not found; disabling lcms support])
with_lcms=no])
])
fi
# OpenEXR
AC_ARG_WITH([OpenEXR],
AS_HELP_STRING([--without-OpenEXR], [build without OpenEXR (default: test)]))
# require 1.2.2 since 1.2.1 has a broken ImfCloseTiledInputFile()
if test x"$with_OpenEXR" != "xno"; then
PKG_CHECK_MODULES(OPENEXR, OpenEXR >= 1.2.2,
[AC_DEFINE(HAVE_OPENEXR,1,[define if you have OpenEXR >=1.2.2 installed.])
with_OpenEXR=yes
PACKAGES_USED="$PACKAGES_USED OpenEXR"],
[AC_MSG_WARN([OpenEXR not found; disabling OpenEXR support])
with_OpenEXR=no
])
fi
# matio
AC_ARG_WITH([matio],
AS_HELP_STRING([--without-matio], [build without matio (default: test)]))
if test x"$with_matio" != "xno"; then
PKG_CHECK_MODULES(MATIO, matio,
[AC_DEFINE(HAVE_MATIO,1,[define if you have matio installed.])
with_matio=yes
PACKAGES_USED="$PACKAGES_USED matio"],
[AC_MSG_WARN([matio not found; disabling matio support])
with_matio=no
])
fi
# cfitsio
AC_ARG_WITH([cfitsio],
AS_HELP_STRING([--without-cfitsio], [build without cfitsio (default: test)]))
if test x"$with_cfitsio" != "xno"; then
PKG_CHECK_MODULES(CFITSIO, cfitsio,
[AC_DEFINE(HAVE_CFITSIO,1,[define if you have cfitsio installed.])
with_cfitsio=yes
PACKAGES_USED="$PACKAGES_USED cfitsio"],
[AC_MSG_WARN([cfitsio not found; disabling cfitsio support])
with_cfitsio=no
])
fi
# pangoft2
AC_ARG_WITH([pangoft2],
AS_HELP_STRING([--without-pangoft2],
[build without pangoft2 (default: test)]))
if test x"$with_pangoft2" != "xno"; then
PKG_CHECK_MODULES(PANGOFT2, pangoft2,
[AC_DEFINE(HAVE_PANGOFT2,1,[define if you have pangoft2 installed.])
with_pangoft2=yes
PACKAGES_USED="$PACKAGES_USED pangoft2"],
[AC_MSG_WARN([pangoft2 not found; disabling pangoft2 support])
with_pangoft2=no
])
fi
# hmm, these don't have .pc files on ubuntu 5.10, how odd
FIND_TIFF(
[with_tiff=yes],
[AC_MSG_WARN([libtiff not found; disabling TIFF support])
with_tiff=no
])
FIND_ZIP(
[with_zip=yes],
[AC_MSG_WARN([libz not found; disabling ZIP support])
with_zip=no
])
FIND_JPEG(
[with_jpeg=yes],
[AC_MSG_WARN([libjpeg not found; disabling JPEG support])
with_jpeg=no
])
# look for PNG with pkg-config ... fall back to our tester
AC_ARG_WITH([png],
AS_HELP_STRING([--without-png], [build without libpng (default: test)]))
if test x"$with_png" != "xno"; then
PKG_CHECK_MODULES(PNG, libpng >= 1.2.9,
[AC_DEFINE(HAVE_PNG,1,[define if you have libpng installed.])
with_png=yes
PACKAGES_USED="$PACKAGES_USED libpng"],
[FIND_PNG(,
[AC_MSG_WARN([libpng not found; disabling PNG support])
with_png=no
])
])
fi
# libexif
AC_ARG_WITH([libexif],
AS_HELP_STRING([--without-libexif], [build without libexif (default: test)]))
if test x"$with_libexif" != "xno"; then
PKG_CHECK_MODULES(EXIF, libexif >= 0.6,
[AC_DEFINE(HAVE_EXIF,1,[define if you have libexif >= 0.6 installed.])
with_libexif=yes
PACKAGES_USED="$PACKAGES_USED libexif"],
[AC_MSG_WARN([libexif >= 0.6 not found; disabling exif support])
with_libexif=no
])
fi
# some libexif packages need include <libexif/poop.h>, some just <poop.h>
# how annoying
if test x"$with_libexif" != "xno"; then
# cppflags not cflags because we want the preproc to see the -I as well
save_CPPFLAGS=$CPPFLAGS
CPPFLAGS="$EXIF_CFLAGS $CPPFLAGS"
AC_CHECK_HEADER(exif-data.h,
AC_DEFINE(UNTAGGED_EXIF,1,[libexif includes don't need libexif prefix]))
CPPFLAGS=$save_CPPFLAGS
fi
# Look for linux video
AC_ARG_WITH([v4l],
AS_HELP_STRING([--without-v4l], [build without video4linux (default: test)]))
if test x"$with_v4l" != "xno"; then
# try a compile as well: if we're using icc the header can break
# even try assigning to vc.type: if this works, surely the header is
# functional
AC_CHECK_HEADER(linux/videodev.h,
[AC_TRY_COMPILE([#include <linux/videodev.h>],
[struct video_capability vc; vc.type = 12],
with_videodev=yes)
])
fi
if test x"$with_videodev" = x"yes"; then
AC_DEFINE(HAVE_VIDEODEV,1,[have video4linux 1])
with_v4l=yes
else
AC_MSG_WARN([linux/videodev.h not functional; disabling Linux video support])
with_v4l=no
fi
# make python binding?
AC_ARG_WITH([python],
AS_HELP_STRING([--without-python],
[build without Python bindings (default: test)]))
if test x"$with_python" != "xno"; then
if test x"$enable_cxx" = "xno"; then
# if C++ if off, we can't do Python
with_python=no
AC_MSG_WARN([C++ is off, disabling Python binding])
else
AM_PATH_PYTHON(2.2,,
[with_python=no
AC_MSG_WARN([Python not found; disabling Python binding])])
fi
fi
if test x"$with_python" != "xno"; then
AM_CHECK_PYTHON_HEADERS(,
[with_python=no
AC_MSG_WARN([Python headers not found])])
fi
# we don't check for swig: we include the generated bindings in the
# distribution
if test x"$with_python" != x"no"; then
AM_CONDITIONAL(HAVE_PYTHON, true)
with_python=yes
else
AM_CONDITIONAL(HAVE_PYTHON, false)
fi
# Gather all up for VIPS_CFLAGS, VIPS_INCLUDES, VIPS_LIBS and VIPS_CXX_LIBS
# sort includes to get longer, more specific dirs first
# helps, for example, selecting graphicsmagick over imagemagick
VIPS_CFLAGS=`for i in $VIPS_CFLAGS $GTHREAD_CFLAGS $REQUIRED_CFLAGS $PANGOFT2_CFLAGS $FFTW3_CFLAGS $MAGICK_CFLAGS $PNG_CFLAGS $EXIF_CFLAGS $MATIO_CFLAGS $CFITSIO_CFLAGS $OPENEXR_CFLAGS $ORC_CFLAGS
do
echo $i
done | sort -ru`
VIPS_CFLAGS=`echo $VIPS_CFLAGS`
VIPS_CFLAGS="$VIPS_DEBUG_FLAGS $VIPS_CFLAGS"
VIPS_INCLUDES="$PNG_INCLUDES $TIFF_INCLUDES $ZIP_INCLUDES $JPEG_INCLUDES $FFTW_INCLUDES $LCMS_INCLUDES"
VIPS_LIBS="$MAGICK_LIBS $PNG_LIBS $TIFF_LIBS $ZIP_LIBS $JPEG_LIBS $GTHREAD_LIBS $REQUIRED_LIBS $PANGOFT2_LIBS $FFTW3_LIBS $FFTW_LIBS $ORC_LIBS $LCMS_LIBS $OPENEXR_LIBS $CFITSIO_LIBS $MATIO_LIBS $EXIF_LIBS -lm"
# we need this to generate paths in swig/python/setup.py.in
AC_SUBST(top_srcdir)
AC_SUBST(VIPS_LIBDIR)
AC_SUBST(VIPS_CFLAGS)
AC_SUBST(VIPS_INCLUDES)
AC_SUBST(VIPS_LIBS)
AC_SUBST(VIPS_CXX_LIBS)
AC_SUBST(PACKAGES_USED)
# you'd think we could have
# vips-$VIPS_MAJOR_VERSION.$VIPS_MINOR_VERSION.pc
# in AC_OUTPUT, but that seems to break for some combinations of sh/m4
AC_OUTPUT([
vips-7.27.pc
vipsCC-7.27.pc
Makefile
libvips/include/vips/version.h
libvips/include/Makefile
libvips/include/vips/Makefile
libvips/Makefile
libvips/arithmetic/Makefile
libvips/cimg/Makefile
libvips/colour/Makefile
libvips/conversion/Makefile
libvips/convolution/Makefile
libvips/deprecated/Makefile
libvips/format/Makefile
libvips/freq_filt/Makefile
libvips/histograms_lut/Makefile
libvips/inplace/Makefile
libvips/iofuncs/Makefile
libvips/morphology/Makefile
libvips/mosaicing/Makefile
libvips/other/Makefile
libvips/resample/Makefile
libvips/video/Makefile
libvipsCC/include/Makefile
libvipsCC/include/vips/Makefile
libvipsCC/Makefile
tools/Makefile
tools/batch_crop
tools/batch_image_convert
tools/batch_rubber_sheet
tools/light_correct
tools/shrink_width
swig/Makefile
swig/vipsCC/Makefile
swig/python/setup.py
man/Makefile
doc/Makefile
doc/reference/Makefile
doc/reference/libvips-docs.sgml
po/Makefile.in
])
AC_MSG_RESULT([
* general build options
native win32: $vips_os_win32
native OS X: $vips_os_darwin
open files in binary mode: $vips_binary_open
enable debug: $enable_debug
build C++ components: $enable_cxx
evaluate with threads: $enable_threads
build docs with gtkdoc $enable_gtk_doc
* optional packages and modules
use fftw3 for FFT: $with_fftw3
Magick package: $with_magickpackage
file import with libMagick: $with_magick
accelerate loops with orc: $with_orc
(requires orc-0.4.11 or later)
ICC profile support with lcms: $with_lcms (version $with_lcms_ver)
file import with OpenEXR: $with_OpenEXR
file import with matio: $with_matio
file import with cfitsio: $with_cfitsio
text rendering with pangoft2: $with_pangoft2
file import/export with libpng: $with_png
(requires libpng-1.2.9 or later)
file import/export with libtiff: $with_tiff
file import/export with libjpeg: $with_jpeg
use libexif to load/save JPEG metadata: $with_libexif
video capture with v4l: $with_v4l
build Python binding: $with_python
])