OSDN Git Service

libparted: gpt: avoid invalid free with many (~100) partitions
[android-x86/external-parted.git] / configure.ac
1 dnl GNU Parted - a library and front end for manipulation hard disk partitions
2 dnl Copyright (C) 1998-2002, 2005-2012 Free Software Foundation, Inc.
3 dnl
4 dnl This file may be modified and/or distributed without restriction.
5
6 AC_PREREQ([2.63])
7 AC_INIT([GNU parted], m4_esyscmd([build-aux/git-version-gen .version]),
8         [bug-parted@gnu.org])
9
10 # When the most recent signed tag is v1.8.8.1,
11 # the above might set e.g., PACKAGE_VERSION='1.8.8.1.1-0bfc'
12
13 AC_CONFIG_SRCDIR([include/parted/parted.in.h])
14
15 AC_CONFIG_HEADERS([lib/config.h:lib/config.h.in])
16 AC_CONFIG_AUX_DIR([build-aux])
17
18 dnl Versioning
19 dnl Shamelessly pulled straight from glib's configure.in ...
20 dnl Making releases:
21 dnl    PED_MICRO_VERSION += 1;
22 dnl    PED_INTERFACE_AGE += 1;
23 dnl    PED_BINARY_AGE += 1;
24 dnl if any functions have been added, set PED_INTERFACE_AGE to 0.
25 dnl if backwards compatibility has been broken (eg. functions removed,
26 dnl function signatures changed),
27 dnl set PED_BINARY_AGE _and_ PED_INTERFACE_AGE to 0.
28
29 # Derive these numbers from $PACKAGE_VERSION, which is set
30 # when autoconf creates configure (see AC_INIT, above).
31 PED_MAJOR_VERSION=`echo "$PACKAGE_VERSION"|sed 's/\..*//'`
32 PED_MINOR_VERSION=`echo "$PACKAGE_VERSION"|sed 's/^[[0-9]][[0-9]]*\.//;s/\..*//'`
33 case $PACKAGE_VERSION in
34   *.*.*.*.*)
35     PED_MICRO_VERSION=`echo "$PACKAGE_VERSION" \
36       | sed 's/^[^.]*\.[^.]*\.//;s/\..*//'`
37     ;;
38   *) PED_MICRO_VERSION=0;;
39 esac
40
41 PED_INTERFACE_AGE=0
42 PED_BINARY_AGE=0
43 PED_VERSION_SUFFIX=
44 PED_VERSION=$PED_MAJOR_VERSION.$PED_MINOR_VERSION.$PED_MICRO_VERSION$PED_VERSION_SUFFIX
45
46 LT_RELEASE=$PED_MAJOR_VERSION.$PED_MINOR_VERSION
47 LT_CURRENT=`expr $PED_MICRO_VERSION - $PED_INTERFACE_AGE`
48 LT_REVISION=$PED_INTERFACE_AGE
49 LT_AGE=`expr $PED_BINARY_AGE - $PED_INTERFACE_AGE`
50 AC_SUBST([LT_RELEASE])
51 AC_SUBST([LT_CURRENT])
52 AC_SUBST([LT_REVISION])
53 AC_SUBST([LT_AGE])
54
55 AM_INIT_AUTOMAKE([1.11 no-dist-gzip dist-xz color-tests parallel-tests])
56 AM_SILENT_RULES([yes]) # make --enable-silent-rules the default.
57
58 AC_CANONICAL_HOST
59 case "$host_os" in
60         linux*) OS=linux ;;
61         gnu*)   OS=gnu ;;
62         beos*)  OS=beos ;;
63         *)      AC_MSG_ERROR([Unknown or unsupported OS "$host_os".  Only "linux", "gnu" and "beos" are supported in this version of GNU Parted.]) ;;
64 esac
65 AC_SUBST([OS])
66
67 dnl Command-line options
68 AC_ARG_WITH([readline],
69         [  --with-readline         support fancy command line editing], ,
70         with_readline=yes
71 )
72
73 AC_ARG_ENABLE([mtrace],
74         [  --enable-mtrace         enable malloc() debugging], ,
75         enable_mtrace=no
76 )
77 if test "$enable_mtrace" = yes; then
78         AC_DEFINE([ENABLE_MTRACE], [1], [Mtrace malloc() debugging])
79 fi
80
81 AC_SUBST([ENABLE_DEVICE_MAPPER])
82 ENABLE_DEVICE_MAPPER=yes
83 AC_ARG_ENABLE([device-mapper],
84         [  --enable-device-mapper  enable device mapper support [default=yes]],
85         [ENABLE_DEVICE_MAPPER=$enable_device_mapper])
86 if test $ENABLE_DEVICE_MAPPER = yes; then
87         AC_DEFINE([ENABLE_DEVICE_MAPPER],
88                   1, [device mapper (libdevmapper) support])
89 fi
90
91 AC_ARG_ENABLE([selinux],
92         [  --enable-selinux        enable SELinux support [default=no]], ,
93         enable_selinux=no
94 )
95
96 AC_ARG_ENABLE([discover-only],
97         [  --enable-discover-only  support only reading/probing [default=no]], ,
98         enable_discover_only=no
99 )
100 if test "$enable_discover_only" = yes; then
101         AC_DEFINE([DISCOVER_ONLY], [1], [Probing functionality only])
102 fi
103
104 PARTED_LIBS=""
105 AC_ARG_ENABLE([dynamic-loading],
106 [  --enable-dynamic-loading  support dynamic fs libraries [default=yes]], ,
107         if test "$enable_discover_only" = yes; then
108                 enable_dynamic_loading=no
109         else
110                 enable_dynamic_loading=yes
111         fi
112 )
113 if test "$enable_discover_only" = yes \
114  && test "$enable_dynamic_loading" = yes; then
115         AC_MSG_ERROR(
116 [You can't use --enable-dynamic-loading and --disable-discover-only together]
117         )
118 fi
119
120 AC_ARG_ENABLE([debug],
121         [  --enable-debug          compile in assertions [default=yes]], ,
122         enable_debug=yes
123 )
124
125 if test "$enable_debug" = yes; then
126         AC_DEFINE([DEBUG], [1], [Enable assertions, etc.])
127 fi
128
129 AC_ARG_ENABLE([read-only],
130         [  --enable-read-only      disable writing (for debugging) [default=no]]
131         , ,
132         enable_read_only=no
133 )
134 if test "$enable_read_only" = yes; then
135         AC_DEFINE([READ_ONLY], [1], [Disable all writing code])
136 fi
137
138 PARTEDLDFLAGS=
139 AC_SUBST([PARTEDLDFLAGS])
140
141 AC_ARG_ENABLE([pc98],
142         [  --enable-pc98          build with pc98 support [default=yes]], ,
143         enable_pc98=yes
144 )
145 if test "$enable_pc98" = yes; then
146         AC_DEFINE([ENABLE_PC98], [1],
147                   [Include PC98 partition tables.  (Sometimes excluded to avoid
148                    collisions with msdos partition tables])
149 fi
150
151 AC_ARG_ENABLE([hfs-extract-fs],
152         [  --enable-hfs-extract-fs Extract special HFS files for debugging [default=no]], ,
153         enable_hfs_extract_fs=no
154 )
155 if test "$enable_hfs_extract_fs" = yes; then
156        AC_DEFINE([HFS_EXTRACT_FS], [1],
157                  [Extract low level special HFS(+) files for debugging purposes
158                   when using the "check" command (NOT FOR PACKAGING)])
159 fi
160
161 dnl make libc threadsafe (not required for us, but useful other users of
162 dnl libparted)
163 AM_CPPFLAGS="$AM_CPPFLAGS -D_REENTRANT"
164
165 dnl Check for programs.
166 AC_ISC_POSIX
167 AC_PROG_CC
168 AC_PROG_GCC_TRADITIONAL
169 AM_PROG_CC_C_O
170
171 gl_EARLY
172 parted_FIND_USABLE_TEST_DIR
173
174 dnl This test must come as early as possible after the compiler configuration
175 dnl tests, because the choice of the file model can (in principle) affect
176 dnl whether functions and headers are available, whether they work, etc.
177 AC_SYS_LARGEFILE
178
179 gl_INIT
180
181 AC_ARG_ENABLE([gcc-warnings],
182   [AS_HELP_STRING([--enable-gcc-warnings],
183                   [turn on lots of GCC warnings (for developers)])],
184   [case $enableval in
185      yes|no) ;;
186      *)      AC_MSG_ERROR([bad value $enableval for gcc-warnings option]) ;;
187    esac
188    gl_gcc_warnings=$enableval],
189   [gl_gcc_warnings=no]
190 )
191
192 if test "$gl_gcc_warnings" = yes; then
193   gl_WARN_ADD([-Werror], [WERROR_CFLAGS])
194   AC_SUBST([WERROR_CFLAGS])
195
196   nw=
197   # This, $nw, is the list of warnings we disable.
198   nw="$nw -Wdeclaration-after-statement" # too useful to forbid
199   nw="$nw -Waggregate-return"       # anachronistic
200   nw="$nw -Wlong-long"              # C90 is anachronistic (lib/gethrxtime.h)
201   nw="$nw -Wc++-compat"             # We don't care about C++ compilers
202   nw="$nw -Wundef"                  # Warns on '#if GNULIB_FOO' etc in gnulib
203   nw="$nw -Wtraditional"            # Warns on #elif which we use often
204   nw="$nw -Wcast-qual"              # Too many warnings for now
205   nw="$nw -Wconversion"             # Too many warnings for now
206   nw="$nw -Wsystem-headers"         # Don't let system headers trigger warnings
207   nw="$nw -Wsign-conversion"        # Too many warnings for now
208   nw="$nw -Wtraditional-conversion" # Too many warnings for now
209   nw="$nw -Wunreachable-code"       # Too many warnings for now
210   nw="$nw -Wpadded"                 # Our structs are not padded
211   nw="$nw -Wredundant-decls"        # openat.h declares e.g., mkdirat
212   nw="$nw -Wlogical-op"             # any use of fwrite provokes this
213   nw="$nw -Wvla"                    # warnings in gettext.h
214   nw="$nw -Wnested-externs"         # use of XARGMATCH/verify_function__
215   nw="$nw -Wswitch-enum"            # Too many warnings for now
216   nw="$nw -Wswitch-default"         # Too many warnings for now
217   # Too many warnings for now
218   nw="$nw -Wattributes"
219   nw="$nw -Wstrict-prototypes"
220   nw="$nw -Wold-style-definition"
221   nw="$nw -Wpacked"
222   nw="$nw -Wmissing-prototypes"
223   nw="$nw -Wmissing-declarations"
224   nw="$nw -Wmissing-noreturn"
225   # things I might fix soon:
226   nw="$nw -Wfloat-equal"            # sort.c, seq.c
227   nw="$nw -Wmissing-format-attribute" # copy.c
228   nw="$nw -Wunsafe-loop-optimizations" # a few src/*.c
229   nw="$nw -Winline"                 # system.h's readdir_ignoring_dot_and_dotdot
230   nw="$nw -Wstrict-overflow"        # expr.c, pr.c, tr.c, factor.c
231   nw="$nw -Wstack-protector"        # libparted/label/gpt.c
232   # ?? -Wstrict-overflow
233
234   gl_MANYWARN_ALL_GCC([ws])
235   gl_MANYWARN_COMPLEMENT([ws], [$ws], [$nw])
236   for w in $ws; do
237     gl_WARN_ADD([$w])
238   done
239   gl_WARN_ADD([-Wno-missing-field-initializers]) # We need this one
240   gl_WARN_ADD([-Wno-sign-compare])     # Too many warnings for now
241   gl_WARN_ADD([-Wno-pointer-sign])     # Too many warnings for now
242   gl_WARN_ADD([-Wno-unused-parameter]) # Too many warnings for now
243   gl_WARN_ADD([-Wno-unused-macros]) # Too many warnings for now
244   gl_WARN_ADD([-Wno-format-nonliteral])
245
246   # FIXME: investigate these
247   gl_WARN_ADD([-Wno-jump-misses-init])
248
249   # In spite of excluding -Wlogical-op above, it is enabled, as of
250   # gcc 4.5.0 20090517, and it provokes warnings in cat.c, dd.c, truncate.c
251   gl_WARN_ADD([-Wno-logical-op])
252
253   gl_WARN_ADD([-fdiagnostics-show-option])
254
255   AC_SUBST([WARN_CFLAGS])
256
257   AC_DEFINE([lint], [1], [Define to 1 if the compiler is checking for lint.])
258   AC_DEFINE([_FORTIFY_SOURCE], [2],
259     [enable compile-time and run-time bounds-checking, and some warnings])
260   AC_DEFINE([GNULIB_PORTCHECK], [1], [enable some gnulib portability checks])
261 fi
262
263
264
265 AC_CHECK_SIZEOF([off_t], [64], [
266         #include <stdio.h>
267         #include <sys/types.h>
268         #include <unistd.h>
269 ])
270
271 AM_ENABLE_SHARED
272 if test "$OS" = linux && test $ac_cv_sizeof_off_t -lt 8; then
273         dnl Need to disable shared libraries, to get llseek() to work.  Long
274         dnl story.  The short story is: lseek() isn't in glibc, so a syscall
275         dnl must be made.  syscalls can't be made from within shared libraries,
276         dnl because of a bug (?) in gcc.
277         AC_MSG_WARN(
278 off_t is less than 8 bytes.  Using llseek syscall, and disabling shared
279 libraries.)
280         AM_DISABLE_SHARED
281 fi
282 AC_PROG_LIBTOOL
283 LT_INIT
284
285 AM_GNU_GETTEXT_VERSION([0.18])
286 AM_GNU_GETTEXT([external])
287 if test "$USE_INCLUDED_LIBINTL" = "yes"; then
288         AC_MSG_ERROR([
289 GNU Parted requires gettext to be installed for compilation -
290 if native language support is desired.  Either disable native language support
291 with:
292         $ ./configure --disable-nls
293 Or install gettext.  GNU gettext is available from
294         http://ftp.gnu.org/gnu/gettext
295 ])
296 fi
297
298 dnl Check for libdl, if we are doing dynamic loading
299 DL_LIBS=""
300 AC_SUBST([DYNAMIC_LOADING])
301 DYNAMIC_LOADING=no
302 if test "$enable_dynamic_loading" = yes; then
303         AC_CHECK_LIB([dl], [dlopen],
304                 DL_LIBS="-ldl"
305                 PARTED_LIBS="$PARTED_LIBS -ldl"
306                 DYNAMIC_LOADING=yes
307                 AC_DEFINE([DYNAMIC_LOADING], [1], [Lazy linking to fs libs]),
308                 AC_MSG_ERROR(
309                         [-ldl not found!  Try using --disable-dynamic-loading]
310                 )
311         )
312 fi
313 AC_SUBST([DL_LIBS])
314
315 dnl Check for libuuid
316 UUID_LIBS=""
317 AC_CHECK_LIB([uuid], [uuid_generate], [UUID_LIBS="-luuid"],
318         [AC_MSG_ERROR(dnl
319 [GNU Parted requires libuuid - a part of the util-linux-ng package (but
320 usually distributed separately in libuuid-devel, uuid-dev or similar)
321 This can probably be found on your distribution's CD or FTP site or at:
322     http://userweb.kernel.org/~kzak/util-linux-ng/
323 Note: originally, libuuid was part of the e2fsprogs package.  Later, it
324 moved to util-linux-ng-2.16, and that package is now the preferred source.])])
325 AC_SUBST([UUID_LIBS])
326
327 dnl Check for libdevmapper
328 DM_LIBS=
329 if test $ENABLE_DEVICE_MAPPER = yes; then
330   AC_CHECK_LIB([devmapper], [dm_task_create],
331     [DM_LIBS=-ldevmapper],
332     [AC_MSG_ERROR(dnl
333 [libdevmapper could not be found, but is required for the
334 --enable-device-mapper option, which is enabled by default.  Either disable
335 device-mapper support with --disable-device-mapper or download and install
336 device-mapper from:
337         http://sources.redhat.com/dm/
338 Note: if you are using precompiled packages you will need the development
339 package as well (it may be called device-mapper-devel or something similar).]
340     )]
341   )
342 fi
343 AC_SUBST([DM_LIBS])
344
345 dnl Check for SELinux
346 SELINUX_LIBS=""
347 if test "$enable_selinux" = yes; then
348         SELINUX_LIBS="-lselinux -lsepol"
349 fi
350 AC_SUBST([SELINUX_LIBS])
351
352 dnl Check for libreiserfs
353 REISER_LIBS=""
354 if test "$enable_dynamic_loading" = no && test "$enable_discover_only" = no; then
355         OLD_LIBS="$LIBS"
356         AC_CHECK_LIB([dal], [dal_equals],
357                 LIBS="-ldal"
358                 AC_CHECK_LIB([reiserfs], [reiserfs_fs_probe],
359                         REISER_LIBS="-ldal -lreiserfs"
360                         AC_DEFINE([HAVE_LIBREISERFS], [1], [Have libreiserfs])
361                 )
362                 AC_CHECK_LIB([reiserfs], [reiserfs_fs_check],
363                         AC_DEFINE([HAVE_REISERFS_FS_CHECK], [1], [Have reiserfs_fs_check()])
364                 )
365         )
366         LIBS="$OLD_LIBS"
367 fi
368 AC_SUBST([REISER_LIBS])
369
370 dnl Check for termcap
371 if test "$with_readline" = yes; then
372         OLD_LIBS="$LIBS"
373         LIBS=""
374         AC_SEARCH_LIBS([tgetent], [tinfo ncurses curses termcap termlib],
375                 [PARTED_LIBS="$PARTED_LIBS $LIBS"],
376                 [AC_MSG_ERROR(dnl
377 [termcap could not be found which is required for the
378 --with-readline option (which is enabled by default).  Either disable readline
379 support with --without-readline or download and install termcap from:
380         ftp.gnu.org/gnu/termcap
381 Note: if you are using precompiled packages you will also need the development
382   package as well (which may be called termcap-devel or something similar).
383 Note: (n)curses also seems to work as a substitute for termcap.  This was
384   not found either - but you could try installing that as well.])])
385         LIBS="$OLD_LIBS"
386 fi
387
388 dnl Check for readline
389 dnl NOTE: We need to remove the gl_cv_ignore_unused_libraries flag if we
390 dnl detected one earlier.  libreadline on some platforms (e.g., RHEL and
391 dnl Fedora) is left with
392 if test "$with_readline" = yes; then
393         OLD_LIBS="$LIBS"
394         LIBS="$LIBS $PARTED_LIBS"
395         found_working_libreadline=no
396         AC_CHECK_LIB([readline], [readline],
397                 found_working_libreadline=yes,
398                 AC_MSG_ERROR(
399 [GNU Readline could not be found which is required for the
400 --with-readline (which is enabled by default).  Either disable readline support with
401 --without-readline or downloaded and install it from:
402         ftp.gnu.org/gnu/readline
403 Note: if you are using precompiled packages you will also need the development
404 package as well (which may be called readline-devel or something similar).
405 ])
406                 ,
407                 $PARTED_LIBS
408         )
409         LIBS="$OLD_LIBS $PARTED_LIBS"
410
411         # See if libreadline is too old to be used.
412         # The readline function in Debian's libreadline5 5.0-10 fails to
413         # print to stdout the response (from stdin) to a prompt, when stdout
414         # is redirected, while 5.2-3 works fine.  That failure would cause
415         # several of parted's tests to failure.
416         # The purist approach would be to write a run-test, but that's
417         # not friendly to cross-compilers, so here's a compromise:
418         #
419         # See if libreadline defines one of these symbols:
420         # [this is the list of public symbols that are in 5.2, but not 5.0]
421         #
422         # $ diff -u /tmp/readline-5.[02]|grep '+T.[^_]'
423         # +T rl_vi_rubout
424         # +T rl_variable_value
425         # +T rl_reset_screen_size
426         # +T alloc_history_entry
427         # +T copy_history_entry
428         # +T replace_history_data
429         #
430         # If not, then reject this readline lib.
431         AC_CHECK_LIB([readline], [rl_variable_value],
432                      ,
433                      AC_MSG_ERROR(
434 [Your version of libreadline is too old to be used.
435 Consider upgrading to version 5.2 or newer.])
436                      found_working_libreadline=no,
437                      $PARTED_LIBS)
438
439         if test $found_working_libreadline = yes; then
440                 PARTED_LIBS="-lreadline $PARTED_LIBS"
441                 AC_DEFINE([HAVE_LIBREADLINE], [1], [have readline])
442         fi
443         LIBS="$OLD_LIBS"
444 fi
445
446 AC_SUBST([PARTED_LIBS])
447
448 dnl Check for OS specific libraries
449
450 dnl GNU/Hurd:
451 if test "$OS" = gnu; then
452 dnl libshouldbeinlibc
453         AC_CHECK_LIB([shouldbeinlibc], [vm_deallocate],
454                 OS_LIBS="$OS_LIBS -lshouldbeinlibc",
455                 AC_MSG_ERROR(
456 [GNU Parted requires libshouldbeinlibc when running on
457 GNU/Hurd systems.  It is a standard part of a GNU/Hurd system.]
458                 )
459         )
460
461 dnl libstore may depend on libparted being present.
462 dnl Aren't circular dependencies wonderful?
463         OLD_LIBS="$LIBS"
464         LIBS=
465
466         AC_CHECK_LIB([parted], [ped_device_read])
467
468 dnl libstore
469         AC_CHECK_LIB([store], [store_open],
470                 OS_LIBS="$OS_LIBS -lstore",
471                 AC_MSG_ERROR(
472 [GNU Parted requires libstore when running on GNU/Hurd
473 systems.  It is a standard part of a GNU/Hurd system.]
474                 )
475                 ,
476                 $OS_LIBS $UUID_LIBS $DM_LIBS $LIBS
477         )
478         LIBS="$OLD_LIBS"
479 fi
480
481 dnl BeOS/ZETA/Haiku:
482
483 if test "$OS" = beos; then
484         dnl Include the socket library, as it is a depedency of libuuid
485         dnl and so also of us (due to socket() call in libuuid)
486         OS_LIBS="$OS_LIBS -lsocket"
487 fi
488
489 AC_SUBST([OS_LIBS])
490
491 dnl One day, gettext might support libtool...
492 dnl if test "$USE_INCLUDED_LIBINTL" = "yes"; then
493 dnl     INTLINCS='-I$(top_srcdir)/intl'
494 dnl fi
495 AC_SUBST([INTLINCS])
496
497
498 dnl Checks for header files.
499 AC_CHECK_HEADER([uuid/uuid.h], ,
500         [AC_MSG_ERROR(
501 [GNU Parted requires libuuid - a part of the e2fsprogs package.
502 You seem to have the library installed but not the headers.  These are usually
503 found in a corresponding development package (usually called e2fsprogs-devel).
504 If you can't find one try:
505         http://web.mit.edu/tytso/www/linux/e2fsprogs.html])]
506 )
507
508 AC_CHECK_HEADERS([getopt.h])
509 AC_CHECK_HEADERS([linux/ext2_fs.h])
510
511 dnl required for libparted/llseek.c  (TODO: make linux-x86 only)
512 if test "$OS" = linux; then
513         AC_CHECK_HEADER([linux/unistd.h])
514 fi
515
516 if test "$with_readline" = yes; then
517         AC_CHECK_HEADERS([readline/readline.h readline/history.h], ,
518                 [AC_MSG_ERROR(
519 [The headers for GNU Readline could not be found which
520 are required for the --with-readline option.  You seem to have the GNU readline
521 library installed but not the headers.  These are usually found in a
522 corresponding development package (usually called readline-devel).  If you can't
523 find one try:
524         ftp.gnu.org/gnu/readline
525 Alternatively you can disable readline support with --without-readline])]
526         )
527 fi
528
529 AC_CHECK_HEADERS([termcap.h])
530
531 if test "$USE_NLS" = yes; then
532         AC_CHECK_HEADERS([wctype.h], ,
533                 [AC_MSG_ERROR(
534 [One or more of the header files that are required for
535 native language support (wctype.h) could not be found.  Either get a newer
536 version of GNU libc and its headers - which can be obtained from:
537         ftp.gnu.org/gnu/glibc
538 Or disable native language support with the --disable-nls option])]
539         )
540 fi
541
542 AC_CHECK_HEADER([execinfo.h], [
543         AC_CHECK_LIB([c], [backtrace], [
544                 AC_DEFINE([HAVE_BACKTRACE], [1], [Has backtrace support])
545                 LDFLAGS="$LDFLAGS -rdynamic"
546         ])
547 ])
548
549 AM_CONDITIONAL([COMPILE_FOR_S390], [test "$host_cpu" = s390 || test "$host_cpu" = s390x])
550
551 dnl check for "check", unit testing library/header
552 PKG_CHECK_MODULES([CHECK], [check >= 0.9.3], have_check=yes, have_check=no)
553 if test "$have_check" != "yes"; then
554     AC_MSG_RESULT([Unable to locate check version 0.9.3 or higher: not building])
555 fi
556 AM_CONDITIONAL([HAVE_CHECK], [test "$have_check" = yes])
557
558 dnl Checks for typedefs, structures and compiler characteristics.
559 AC_PROG_LD
560
561 AC_C_BIGENDIAN
562 AC_C_INLINE
563 AC_C_CONST
564 AC_C_RESTRICT
565
566 dnl Checks for library functions.
567 AC_CHECK_FUNCS([sigaction])
568 AC_CHECK_FUNCS([getuid])
569
570 dnl NOTE: We need to remove the gl_cv_ignore_unused_libraries flag if we
571 dnl detected one earlier.  libreadline on some platforms (e.g., RHEL and
572 dnl Fedora) is left with
573 if test "$with_readline" = yes; then
574         OLD_LIBS="$LIBS"
575         LIBS="$LIBS $PARTED_LIBS -lreadline"
576         AC_CHECK_FUNCS([rl_completion_matches])
577         LIBS="$OLD_LIBS"
578 fi
579
580 AC_CHECK_FUNCS([canonicalize_file_name])
581
582 DATE=$(date '+%d %b %Y %H:%M')
583 USER=$(whoami)
584 HOST=$(hostname)
585 BUILDINFO="$USER@$HOST, $DATE"
586 AC_SUBST([BUILDINFO])
587
588 LIB_BLKID=
589 AC_SUBST([LIB_BLKID])
590 pe_saved_libs=$LIBS
591   AC_SEARCH_LIBS([blkid_probe_get_topology], [blkid],
592     [test "$ac_cv_search_blkid_probe_get_topology" = "none required" \
593      || LIB_BLKID=$ac_cv_search_blkid_probe_get_topology])
594   AC_CHECK_FUNC([blkid_probe_get_topology], [use_blkid=1], [use_blkid=0])
595 LIBS=$pe_saved_libs
596 AC_DEFINE_UNQUOTED([USE_BLKID], [$use_blkid],
597   [Define if you have sufficient blkid support.])
598 AC_CHECK_HEADERS_ONCE([blkid/blkid.h])
599
600 AC_OUTPUT([
601 Makefile
602 lib/Makefile
603 include/Makefile
604 include/parted/Makefile
605 libparted/Makefile
606 libparted/labels/Makefile
607 libparted/fs/Makefile
608 libparted/tests/Makefile
609 libparted.pc
610 parted/Makefile
611 partprobe/Makefile
612 doc/Makefile
613 doc/C/Makefile
614 doc/pt_BR/Makefile
615 debug/Makefile
616 debug/test/Makefile
617 tests/Makefile
618 po/Makefile.in
619 ])
620
621 echo
622 echo Type \'make\' to compile parted.