OSDN Git Service

build: require gettext-0.18 after all, because
[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-2010 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.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 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([fs],
121         [  --enable-fs             include filesystem support [default=yes]], ,
122         enable_fs=yes
123 )
124 if test "$enable_fs" = yes; then
125         AC_DEFINE([ENABLE_FS], [1],
126                   [Include file system support.  i.e. libparted/fs_...])
127 fi
128
129 AC_ARG_ENABLE([debug],
130         [  --enable-debug          compile in assertions [default=yes]], ,
131         enable_debug=yes
132 )
133
134 if test "$enable_debug" = yes; then
135         AC_DEFINE([DEBUG], [1], [Enable assertions, etc.])
136 fi
137
138 AC_ARG_ENABLE([read-only],
139         [  --enable-read-only      disable writing (for debugging) [default=no]]
140         , ,
141         enable_read_only=no
142 )
143 if test "$enable_read_only" = yes; then
144         AC_DEFINE([READ_ONLY], [1], [Disable all writing code])
145 fi
146
147 PARTEDLDFLAGS=
148 AC_SUBST([PARTEDLDFLAGS])
149
150 AC_ARG_ENABLE([pc98],
151         [  --enable-pc98          build with pc98 support [default=yes]], ,
152         enable_pc98=yes
153 )
154 if test "$enable_pc98" = yes; then
155         AC_DEFINE([ENABLE_PC98], [1],
156                   [Include PC98 partition tables.  (Sometimes excluded to avoid
157                    collisions with msdos partition tables])
158 fi
159
160 AC_ARG_ENABLE([Werror],
161         [  --enable-Werror         build with gcc -Werror [default=yes]], ,
162         enable_Werror=yes
163 )
164
165 AC_ARG_ENABLE([hfs-extract-fs],
166         [  --enable-hfs-extract-fs Extract special HFS files for debugging [default=no]], ,
167         enable_hfs_extract_fs=no
168 )
169 if test "$enable_hfs_extract_fs" = yes; then
170        AC_DEFINE([HFS_EXTRACT_FS], [1],
171                  [Extract low level special HFS(+) files for debugging purposes
172                   when using the "check" command (NOT FOR PACKAGING)])
173 fi
174
175 dnl make libc threadsafe (not required for us, but useful other users of
176 dnl libparted)
177 AM_CPPFLAGS="$AM_CPPFLAGS -D_REENTRANT"
178
179 dnl Check for programs.
180 AC_ISC_POSIX
181 AC_PROG_CC
182 AC_PROG_GCC_TRADITIONAL
183 AM_PROG_CC_C_O
184
185 gl_EARLY
186 parted_FIND_USABLE_TEST_DIR
187
188 dnl This test must come as early as possible after the compiler configuration
189 dnl tests, because the choice of the file model can (in principle) affect
190 dnl whether functions and headers are available, whether they work, etc.
191 AC_SYS_LARGEFILE
192
193 gl_INIT
194
195 AC_ARG_ENABLE([gcc-warnings],
196   [AS_HELP_STRING([--enable-gcc-warnings],
197                   [turn on lots of GCC warnings (for developers)])],
198   [case $enableval in
199      yes|no) ;;
200      *)      AC_MSG_ERROR([bad value $enableval for gcc-warnings option]) ;;
201    esac
202    gl_gcc_warnings=$enableval],
203   [gl_gcc_warnings=no]
204 )
205
206 if test "$gl_gcc_warnings" = yes; then
207   gl_WARN_ADD([-Werror], [WERROR_CFLAGS])
208   AC_SUBST([WERROR_CFLAGS])
209
210   nw=
211   # This, $nw, is the list of warnings we disable.
212   nw="$nw -Wdeclaration-after-statement" # too useful to forbid
213   nw="$nw -Waggregate-return"       # anachronistic
214   nw="$nw -Wlong-long"              # C90 is anachronistic (lib/gethrxtime.h)
215   nw="$nw -Wc++-compat"             # We don't care about C++ compilers
216   nw="$nw -Wundef"                  # Warns on '#if GNULIB_FOO' etc in gnulib
217   nw="$nw -Wtraditional"            # Warns on #elif which we use often
218   nw="$nw -Wcast-qual"              # Too many warnings for now
219   nw="$nw -Wconversion"             # Too many warnings for now
220   nw="$nw -Wsystem-headers"         # Don't let system headers trigger warnings
221   nw="$nw -Wsign-conversion"        # Too many warnings for now
222   nw="$nw -Wtraditional-conversion" # Too many warnings for now
223   nw="$nw -Wunreachable-code"       # Too many warnings for now
224   nw="$nw -Wpadded"                 # Our structs are not padded
225   nw="$nw -Wredundant-decls"        # openat.h declares e.g., mkdirat
226   nw="$nw -Wlogical-op"             # any use of fwrite provokes this
227   nw="$nw -Wformat-nonliteral"      # who.c and pinky.c strftime uses
228   nw="$nw -Wvla"                    # warnings in gettext.h
229   nw="$nw -Wnested-externs"         # use of XARGMATCH/verify_function__
230   nw="$nw -Wswitch-enum"            # Too many warnings for now
231   nw="$nw -Wswitch-default"         # Too many warnings for now
232   # Too many warnings for now
233   nw="$nw -Wattributes"
234   nw="$nw -Wstrict-prototypes"
235   nw="$nw -Wold-style-definition"
236   nw="$nw -Wpacked"
237   nw="$nw -Wmissing-prototypes"
238   nw="$nw -Wmissing-declarations"
239   nw="$nw -Wmissing-noreturn"
240   # things I might fix soon:
241   nw="$nw -Wfloat-equal"            # sort.c, seq.c
242   nw="$nw -Wmissing-format-attribute" # copy.c
243   nw="$nw -Wunsafe-loop-optimizations" # a few src/*.c
244   nw="$nw -Winline"                 # system.h's readdir_ignoring_dot_and_dotdot
245   nw="$nw -Wstrict-overflow"        # expr.c, pr.c, tr.c, factor.c
246   nw="$nw -Wstack-protector"        # libparted/label/gpt.c
247   # ?? -Wstrict-overflow
248
249   gl_MANYWARN_ALL_GCC([ws])
250   gl_MANYWARN_COMPLEMENT([ws], [$ws], [$nw])
251   for w in $ws; do
252     gl_WARN_ADD([$w])
253   done
254   gl_WARN_ADD([-Wno-missing-field-initializers]) # We need this one
255   gl_WARN_ADD([-Wno-sign-compare])     # Too many warnings for now
256   gl_WARN_ADD([-Wno-pointer-sign])     # Too many warnings for now
257   gl_WARN_ADD([-Wno-unused-parameter]) # Too many warnings for now
258   gl_WARN_ADD([-Wno-unused-macros]) # Too many warnings for now
259
260   # FIXME: investigate these
261   gl_WARN_ADD([-Wno-jump-misses-init])
262
263   # In spite of excluding -Wlogical-op above, it is enabled, as of
264   # gcc 4.5.0 20090517, and it provokes warnings in cat.c, dd.c, truncate.c
265   gl_WARN_ADD([-Wno-logical-op])
266
267   gl_WARN_ADD([-fdiagnostics-show-option])
268
269   AC_SUBST([WARN_CFLAGS])
270
271   AC_DEFINE([lint], [1], [Define to 1 if the compiler is checking for lint.])
272   AC_DEFINE([_FORTIFY_SOURCE], [2],
273     [enable compile-time and run-time bounds-checking, and some warnings])
274   AC_DEFINE([GNULIB_PORTCHECK], [1], [enable some gnulib portability checks])
275 fi
276
277
278
279 AC_CHECK_SIZEOF([off_t], [64], [
280         #include <stdio.h>
281         #include <sys/types.h>
282         #include <unistd.h>
283 ])
284
285 AM_ENABLE_SHARED
286 if test "$OS" = linux && test $ac_cv_sizeof_off_t -lt 8; then
287         dnl Need to disable shared libraries, to get llseek() to work.  Long
288         dnl story.  The short story is: lseek() isn't in glibc, so a syscall
289         dnl must be made.  syscalls can't be made from within shared libraries,
290         dnl because of a bug (?) in gcc.
291         AC_MSG_WARN(
292 off_t is less than 8 bytes.  Using llseek syscall, and disabling shared
293 libraries.)
294         AM_DISABLE_SHARED
295 fi
296 AM_PROG_LIBTOOL
297
298 AM_GNU_GETTEXT_VERSION([0.18])
299 AM_GNU_GETTEXT([external])
300 if test "$USE_INCLUDED_LIBINTL" = "yes"; then
301         AC_MSG_ERROR([
302 GNU Parted requires gettext to be installed for compilation -
303 if native language support is desired.  Either disable native language support
304 with:
305         $ ./configure --disable-nls
306 Or install gettext.  GNU gettext is available from
307         http://ftp.gnu.org/gnu/gettext
308 ])
309 fi
310
311 dnl Check for libdl, if we are doing dynamic loading
312 DL_LIBS=""
313 if test "$enable_dynamic_loading" = yes; then
314         AC_CHECK_LIB([dl], [dlopen],
315                 DL_LIBS="-ldl"
316                 PARTED_LIBS="$PARTED_LIBS -ldl"
317                 AC_DEFINE([DYNAMIC_LOADING], [1], [Lazy linking to fs libs]),
318                 AC_MSG_ERROR(
319                         [-ldl not found!  Try using --disable-dynamic-loading]
320                 )
321         )
322 fi
323 AC_SUBST([DL_LIBS])
324
325 dnl Check for libuuid
326 UUID_LIBS=""
327 AC_CHECK_LIB([uuid], [uuid_generate], [UUID_LIBS="-luuid"],
328         [AC_MSG_ERROR(dnl
329 [GNU Parted requires libuuid - a part of the e2fsprogs package (but
330 sometimes distributed separately in uuid-devel or similar)
331 This can probably be found on your distribution's CD or FTP site or at:
332          http://web.mit.edu/tytso/www/linux/e2fsprogs.html
333 Note: if you are using precompiled packages you will also need the development
334 package as well (which may be called e2fsprogs-devel or something similar).
335 If you compile e2fsprogs yourself then you need to do 'make install' and
336 'make install-libs'.])]
337 )
338 AC_SUBST([UUID_LIBS])
339
340 dnl Check for libdevmapper
341 DM_LIBS=
342 if test $ENABLE_DEVICE_MAPPER = yes; then
343   AC_CHECK_LIB([devmapper], [dm_task_create],
344     [DM_LIBS=-ldevmapper],
345     [AC_MSG_ERROR(dnl
346 [libdevmapper could not be found, but is required for the
347 --enable-device-mapper option, which is enabled by default.  Either disable
348 device-mapper support with --disable-device-mapper or download and install
349 device-mapper from:
350         http://sources.redhat.com/dm/
351 Note: if you are using precompiled packages you will need the development
352 package as well (it may be called device-mapper-devel or something similar).]
353     )]
354   )
355 fi
356 AC_SUBST([DM_LIBS])
357
358 dnl Check for SELinux
359 SELINUX_LIBS=""
360 if test "$enable_selinux" = yes; then
361         SELINUX_LIBS="-lselinux -lsepol"
362 fi
363 AC_SUBST([SELINUX_LIBS])
364
365 dnl Check for libreiserfs
366 REISER_LIBS=""
367 if test "$enable_dynamic_loading" = no && test "$enable_discover_only" = no; then
368         OLD_LIBS="$LIBS"
369         AC_CHECK_LIB([dal], [dal_equals],
370                 LIBS="-ldal"
371                 AC_CHECK_LIB([reiserfs], [reiserfs_fs_probe],
372                         REISER_LIBS="-ldal -lreiserfs"
373                         AC_DEFINE([HAVE_LIBREISERFS], [1], [Have libreiserfs])
374                 )
375                 AC_CHECK_LIB([reiserfs], [reiserfs_fs_check],
376                         AC_DEFINE([HAVE_REISERFS_FS_CHECK], [1], [Have reiserfs_fs_check()])
377                 )
378         )
379         LIBS="$OLD_LIBS"
380 fi
381 AC_SUBST([REISER_LIBS])
382
383 dnl Check for termcap
384 if test "$with_readline" = yes; then
385         OLD_LIBS="$LIBS"
386         LIBS=""
387         AC_SEARCH_LIBS([tgetent], [tinfo ncurses curses termcap termlib],
388                 [PARTED_LIBS="$PARTED_LIBS $LIBS"],
389                 [AC_MSG_ERROR(dnl
390 [termcap could not be found which is required for the
391 --with-readline option (which is enabled by default).  Either disable readline
392 support with --without-readline or download and install termcap from:
393         ftp.gnu.org/gnu/termcap
394 Note: if you are using precompiled packages you will also need the development
395   package as well (which may be called termcap-devel or something similar).
396 Note: (n)curses also seems to work as a substitute for termcap.  This was
397   not found either - but you could try installing that as well.])])
398         LIBS="$OLD_LIBS"
399 fi
400
401 dnl Check for readline
402 dnl NOTE: We need to remove the gl_cv_ignore_unused_libraries flag if we
403 dnl detected one earlier.  libreadline on some platforms (e.g., RHEL and
404 dnl Fedora) is left with
405 if test "$with_readline" = yes; then
406         OLD_LIBS="$LIBS"
407         LIBS="$LIBS $PARTED_LIBS"
408         found_working_libreadline=no
409         AC_CHECK_LIB([readline], [readline],
410                 found_working_libreadline=yes,
411                 AC_MSG_ERROR(
412 [GNU Readline could not be found which is required for the
413 --with-readline (which is enabled by default).  Either disable readline support with
414 --without-readline or downloaded and install it from:
415         ftp.gnu.org/gnu/readline
416 Note: if you are using precompiled packages you will also need the development
417 package as well (which may be called readline-devel or something similar).
418 ])
419                 ,
420                 $PARTED_LIBS
421         )
422         LIBS="$OLD_LIBS $PARTED_LIBS"
423
424         # See if libreadline is too old to be used.
425         # The readline function in Debian's libreadline5 5.0-10 fails to
426         # print to stdout the response (from stdin) to a prompt, when stdout
427         # is redirected, while 5.2-3 works fine.  That failure would cause
428         # several of parted's tests to failure.
429         # The purist approach would be to write a run-test, but that's
430         # not friendly to cross-compilers, so here's a compromise:
431         #
432         # See if libreadline defines one of these symbols:
433         # [this is the list of public symbols that are in 5.2, but not 5.0]
434         #
435         # $ diff -u /tmp/readline-5.[02]|grep '+T.[^_]'
436         # +T rl_vi_rubout
437         # +T rl_variable_value
438         # +T rl_reset_screen_size
439         # +T alloc_history_entry
440         # +T copy_history_entry
441         # +T replace_history_data
442         #
443         # If not, then reject this readline lib.
444         AC_CHECK_LIB([readline], [rl_variable_value],
445                      ,
446                      AC_MSG_ERROR(
447 [Your version of libreadline is too old to be used.
448 Consider upgrading to version 5.2 or newer.])
449                      found_working_libreadline=no,
450                      $PARTED_LIBS)
451
452         if test $found_working_libreadline = yes; then
453                 PARTED_LIBS="-lreadline $PARTED_LIBS"
454                 AC_DEFINE([HAVE_LIBREADLINE], [1], [have readline])
455         fi
456         LIBS="$OLD_LIBS"
457 fi
458
459 AC_SUBST([PARTED_LIBS])
460
461 dnl Check for OS specific libraries
462
463 dnl GNU/Hurd:
464 if test "$OS" = gnu; then
465 dnl libshouldbeinlibc
466         AC_CHECK_LIB([shouldbeinlibc], [vm_deallocate],
467                 OS_LIBS="$OS_LIBS -lshouldbeinlibc",
468                 AC_MSG_ERROR(
469 [GNU Parted requires libshouldbeinlibc when running on
470 GNU/Hurd systems.  It is a standard part of a GNU/Hurd system.]
471                 )
472         )
473
474 dnl libstore may depend on libparted being present.
475 dnl Aren't circular dependencies wonderful?
476         OLD_LIBS="$LIBS"
477         LIBS=
478
479         AC_CHECK_LIB([parted], [ped_device_read])
480
481 dnl libstore
482         AC_CHECK_LIB([store], [store_open],
483                 OS_LIBS="$OS_LIBS -lstore",
484                 AC_MSG_ERROR(
485 [GNU Parted requires libstore when running on GNU/Hurd
486 systems.  It is a standard part of a GNU/Hurd system.]
487                 )
488                 ,
489                 $OS_LIBS $UUID_LIBS $DM_LIBS $LIBS
490         )
491         LIBS="$OLD_LIBS"
492 fi
493
494 dnl BeOS/ZETA/Haiku:
495
496 if test "$OS" = beos; then
497         dnl Include the socket library, as it is a depedency of libuuid
498         dnl and so also of us (due to socket() call in libuuid)
499         OS_LIBS="$OS_LIBS -lsocket"
500 fi
501
502 AC_SUBST([OS_LIBS])
503
504 dnl One day, gettext might support libtool...
505 dnl if test "$USE_INCLUDED_LIBINTL" = "yes"; then
506 dnl     INTLINCS='-I$(top_srcdir)/intl'
507 dnl fi
508 AC_SUBST([INTLINCS])
509
510
511 dnl Checks for header files.
512 AC_CHECK_HEADER([uuid/uuid.h], ,
513         [AC_MSG_ERROR(
514 [GNU Parted requires libuuid - a part of the e2fsprogs package.
515 You seem to have the library installed but not the headers.  These are usually
516 found in a corresponding development package (usually called e2fsprogs-devel).
517 If you can't find one try:
518         http://web.mit.edu/tytso/www/linux/e2fsprogs.html])]
519 )
520
521 AC_CHECK_HEADERS([getopt.h])
522
523 dnl required for libparted/llseek.c  (TODO: make linux-x86 only)
524 if test "$OS" = linux; then
525         AC_CHECK_HEADER([linux/unistd.h])
526 fi
527
528 if test "$with_readline" = yes; then
529         AC_CHECK_HEADERS([readline/readline.h readline/history.h], ,
530                 [AC_MSG_ERROR(
531 [The headers for GNU Readline could not be found which
532 are required for the --with-readline option.  You seem to have the GNU readline
533 library installed but not the headers.  These are usually found in a
534 corresponding development package (usually called readline-devel).  If you can't
535 find one try:
536         ftp.gnu.org/gnu/readline
537 Alternatively you can disable readline support with --without-readline])]
538         )
539 fi
540
541 AC_CHECK_HEADERS([termcap.h])
542
543 if test "$USE_NLS" = yes; then
544         AC_CHECK_HEADERS([wctype.h], ,
545                 [AC_MSG_ERROR(
546 [One or more of the header files that are required for
547 native language support (wctype.h) could not be found.  Either get a newer
548 version of GNU libc and its headers - which can be obtained from:
549         ftp.gnu.org/gnu/glibc
550 Or disable native language support with the --disable-nls option])]
551         )
552 fi
553
554 AC_CHECK_HEADER([execinfo.h], [
555         AC_CHECK_LIB([c], [backtrace], [
556                 AC_DEFINE([HAVE_BACKTRACE], [1], [Has backtrace support])
557                 LDFLAGS="$LDFLAGS -rdynamic"
558         ])
559 ])
560
561 AM_CONDITIONAL([COMPILE_FOR_S390], [test "$host_cpu" = s390 || test "$host_cpu" = s390x])
562 AM_CONDITIONAL([BUILD_LINUX], [test "$OS" = linux])
563
564 dnl check for "check", unit testing library/header
565 PKG_CHECK_MODULES([CHECK], [check >= 0.9.3], have_check=yes, have_check=no)
566 if test "$have_check" != "yes"; then
567     AC_MSG_RESULT([Unable to locate check version 0.9.3 or higher: not building])
568 fi
569 AM_CONDITIONAL([HAVE_CHECK], [test "$have_check" = yes])
570
571 dnl Checks for typedefs, structures and compiler characteristics.
572 AC_PROG_LD
573
574 AC_C_BIGENDIAN
575 AC_C_INLINE
576 AC_C_CONST
577 AC_C_RESTRICT
578
579 dnl Checks for library functions.
580 AC_CHECK_FUNCS([sigaction])
581 AC_CHECK_FUNCS([getuid])
582
583 dnl NOTE: We need to remove the gl_cv_ignore_unused_libraries flag if we
584 dnl detected one earlier.  libreadline on some platforms (e.g., RHEL and
585 dnl Fedora) is left with
586 if test "$with_readline" = yes; then
587         OLD_LIBS="$LIBS"
588         LIBS="$LIBS $PARTED_LIBS -lreadline"
589         AC_CHECK_FUNCS([rl_completion_matches])
590         LIBS="$OLD_LIBS"
591 fi
592
593 AC_CHECK_FUNCS([canonicalize_file_name])
594
595 # CFLAGS="$CFLAGS -W -Wall -Wno-unused -Wno-switch -Wno-format"
596
597 if test "$enable_Werror" = yes; then
598         CFLAGS="$CFLAGS -Werror"
599 fi
600
601 DATE=$(date '+%d %b %Y %H:%M')
602 USER=$(whoami)
603 HOST=$(hostname)
604 BUILDINFO="$USER@$HOST, $DATE"
605 AC_SUBST([BUILDINFO])
606
607 LIB_BLKID=
608 AC_SUBST([LIB_BLKID])
609 pe_saved_libs=$LIBS
610   AC_SEARCH_LIBS([blkid_probe_get_topology], [blkid],
611     [test "$ac_cv_search_blkid_probe_get_topology" = "none required" \
612      || LIB_BLKID=$ac_cv_search_blkid_probe_get_topology])
613   AC_CHECK_FUNC([blkid_probe_get_topology], [use_blkid=1], [use_blkid=0])
614 LIBS=$pe_saved_libs
615 AC_DEFINE_UNQUOTED([USE_BLKID], [$use_blkid],
616   [Define if you have sufficient blkid support.])
617 AC_CHECK_HEADERS_ONCE([blkid/blkid.h])
618
619 AC_OUTPUT([
620 Makefile
621 lib/Makefile
622 include/Makefile
623 include/parted/Makefile
624 libparted/Makefile
625 libparted/labels/Makefile
626 libparted/fs/Makefile
627 libparted/fs/amiga/Makefile
628 libparted/fs/ext2/Makefile
629 libparted/fs/fat/Makefile
630 libparted/fs/hfs/Makefile
631 libparted/fs/jfs/Makefile
632 libparted/fs/linux_swap/Makefile
633 libparted/fs/ntfs/Makefile
634 libparted/fs/reiserfs/Makefile
635 libparted/fs/ufs/Makefile
636 libparted/fs/xfs/Makefile
637 libparted/tests/Makefile
638 libparted.pc
639 parted/Makefile
640 partprobe/Makefile
641 doc/Makefile
642 doc/C/Makefile
643 doc/pt_BR/Makefile
644 debug/Makefile
645 debug/clearfat/Makefile
646 debug/test/Makefile
647 tests/Makefile
648 po/Makefile.in
649 ])
650
651 echo
652 echo Type \'make\' to compile parted.