A small typo in po/fr.po
[midnight-commander.git] / configure.ac
blob8ff82701e7894b8692763c29ceb274d23c757bb5
1 dnl
2 dnl Configure.in file for the Midnight Commander
3 dnl
5 AC_INIT([GNU Midnight Commander], [], [mc-devel@gnome.org])
6 AC_PREREQ(2.60)
7 m4_pattern_forbid(MC_)
8 AC_CONFIG_SRCDIR(src/main.c)
9 AC_CONFIG_AUX_DIR(config)
10 MC_VERSION
11 AM_INIT_AUTOMAKE(mc, ${VERSION} )
13 AM_CONFIG_HEADER(config.h)
14 AM_MAINTAINER_MODE
16 AC_CANONICAL_HOST
18 AC_USE_SYSTEM_EXTENSIONS
20 AC_PROG_LIBTOOL
22 AC_ISC_POSIX
24 AC_PROG_CC_STDC
26 dnl Doxygen
28 DX_HTML_FEATURE(ON)
29 DX_CHM_FEATURE(OFF)
30 DX_CHI_FEATURE(OFF)
31 DX_MAN_FEATURE(OFF)
32 DX_RTF_FEATURE(OFF)
33 DX_XML_FEATURE(OFF)
34 DX_PDF_FEATURE(OFF)
35 DX_PS_FEATURE(OFF)
36 DX_INIT_DOXYGEN(mc,doxygen.cfg,devel)
38 dnl PKG_CHECK_MODULES([CHECK], [check >= 0.9.4])
40 dnl
41 dnl First try glib 2.x.
42 dnl Keep this check close to the beginning, so that the users
43 dnl without any glib won't have their time wasted by other checks.
44 dnl
46 AC_ARG_WITH([glib_static],
47             [  --with-glib-static       Link glib statically [[no]]])
49 glib_found=no
51 PKG_CHECK_MODULES(GLIB, [glib-2.0 >= 2.6], [glib_found=yes], [:])
53 PKG_CHECK_MODULES(GMODULE, [gmodule-2.0], [gmodule_found=yes])
54 GLIB_LIBDIR="`$PKG_CONFIG --variable=libdir glib-2.0`"
56 if test "x$gmodule_found" = "xyes" ; then
57         dnl Check if the gmodule functionality supported on this system.
58         AC_G_MODULE_SUPPORTED
61 AC_HEADER_MAJOR
62 AC_C_CONST
63 AC_SYS_LARGEFILE
65 AC_PROG_LN_S
66 AC_CHECK_TOOL(AR, ar, ar)
68 dnl Only list browsers here that can be run in background (i.e. with `&')
69 AC_CHECK_PROGS(X11_WWW, [gnome-moz-remote mozilla konqueror opera netscape])
71 dnl
72 dnl Ovverriding mmap support.  This has to be before AC_FUNC_MMAP is used.
73 dnl We use only part of the functionality of mmap, so on AIX,
74 dnl it's possible to use mmap, even if it doesn't pass the autoconf test.
75 dnl
76 AC_ARG_WITH(mmap,
77         [  --with-mmap              Use the mmap call [[yes if found]]])
78 if test x$with_mmap != xno; then
79     if test x$with_mmap = x; then
80         AC_FUNC_MMAP
81     else
82         AC_DEFINE(HAVE_MMAP, 1)
83     fi
86 dnl
87 dnl Internationalization
88 dnl
89 AM_GNU_GETTEXT(no-libtool, need-ngettext)
90 AM_GNU_GETTEXT_VERSION(0.14.3)
92 if test "x$USE_INCLUDED_LIBINTL" = xyes; then
93     CPPFLAGS="$CPPFLAGS -I\$(top_builddir)/intl -I\$(top_srcdir)/intl"
96 dnl Determine which help translations we want to install.
97 ALL_DOC_LINGUAS="es hu it pl ru sr"
99 DOC_LINGUAS=
100 if test "x$USE_NLS" = xyes; then
101     if test -z "$LINGUAS"; then
102         langs="`grep -v '^#' $srcdir/po/LINGUAS`"
103     else
104         langs="$LINGUAS"
105     fi
106 else
107     langs=
110 for h_lang in $ALL_DOC_LINGUAS; do
111     for lang in $langs; do
112         if test "$lang" = "$h_lang"; then
113             DOC_LINGUAS="$DOC_LINGUAS $lang"
114             break
115         fi
116     done
117 done
118 AC_SUBST(DOC_LINGUAS)
121 dnl OS specific flags.
123 case $host_os in
124 aux*)
125     # A/UX
126     LIBS="$LIBS -lposix"
127     AC_DEFINE(_POSIX_SOURCE)
128     ;;
129 esac
131 dnl Extended Character Sets
133 AC_ARG_ENABLE([extcharset],
134         AC_HELP_STRING([--enable-extcharset], [Enable extended character sets]))
135 if test x"$enable_extcharset" = x"yes"; then
136   AC_DEFINE([EXTCHARSET_ENABLED], 1, [Enable extended character sets?])
139 AC_PROG_INSTALL
140 AC_CHECK_HEADERS([unistd.h string.h memory.h grp.h limits.h malloc.h \
141         stdlib.h termios.h utime.h fcntl.h pwd.h sys/statfs.h sys/time.h \
142         sys/timeb.h sys/select.h sys/ioctl.h stropts.h arpa/inet.h \
143         security/pam_misc.h sys/socket.h sys/sysmacros.h sys/types.h \
144         sys/mkdev.h wchar.h wctype.h])
146 AC_HEADER_TIME
147 AC_HEADER_SYS_WAIT
148 AC_HEADER_DIRENT
149 AC_HEADER_STDC
151 dnl Missing structure components
152 AC_CHECK_MEMBERS([struct stat.st_blksize, struct stat.st_rdev])
153 AC_STRUCT_ST_BLOCKS
156 dnl Check availability of some functions 
157 dnl 
159 AC_CHECK_FUNCS([\
160         atoll \
161         cfgetospeed \
162         getegid geteuid getgid getsid getuid \
163         initgroups isascii \
164         memcpy memset \
165         putenv \
166         setreuid setuid statfs strerror strftime sysconf \
167         tcgetattr tcsetattr truncate \
171 dnl getpt is a GNU Extension (glibc 2.1.x)
173 AC_CHECK_FUNCS(posix_openpt, , [AC_CHECK_FUNCS(getpt)])
174 AC_CHECK_FUNCS(grantpt, , [AC_CHECK_LIB(pt, grantpt)])
176 dnl replacing lstat with statlstat on sco makes it more portable between
177 dnl sco clones
178 AC_CHECK_FUNCS(statlstat)
181 dnl If running under AIX, AC_AIX does not tell us that
183 AC_MSG_CHECKING([for AIX defines])
184 AC_EGREP_CPP(yes,
185 [#if defined(AIX) || defined(_AIX) || defined(__aix__) || defined(aix)
187 #endif
188 ], [
189 AC_DEFINE(IS_AIX, 1, [Define if compiling for AIX])
190 AC_MSG_RESULT(yes)
191 ], [AC_MSG_RESULT(no)])
194 dnl This is from GNU fileutils, check aclocal.m4 for more information
196 AC_GET_FS_INFO
199 dnl Missing typedefs and replacements
200 dnl 
202 AC_CHECK_SIZEOF(long)
203 AC_CHECK_SIZEOF(long long)
204 AC_TYPE_MODE_T
205 AC_TYPE_OFF_T
206 AC_CHECK_SIZEOF(off_t)
207 AC_TYPE_PID_T
208 AC_TYPE_UID_T
209 AC_CHECK_TYPE(nlink_t, unsigned int)
210 AC_CHECK_TYPES([socklen_t],,,
212 #include <sys/types.h>
213 #include <sys/socket.h>
216 dnl This is needed for regex.c only
217 AC_CHECK_TYPE(uintptr_t,
218               [AC_DEFINE(HAVE_UINTPTR_T, 1,
219                          [Define if you have the `uintptr_t' type.])
222 AC_FUNC_ALLOCA
223 AC_FUNC_STRCOLL
226 dnl X11 support.
227 dnl Used to read keyboard modifiers when running under X11.
230 AC_PATH_XTRA
231 if test "x$no_x" = xyes; then
232     textmode_x11_support="no"
233 else
234     CPPFLAGS="$CPPFLAGS $X_CFLAGS"
235     if test "x$mc_cv_g_module_supported" = "xyes" ; then
236         dnl Replace the contents of GLIB_CFLAGS and GLIB_LIBS with those of
237         dnl GMODULE_CFLAGS and GMODULE_LIBS, only if X is available and gmodule
238         dnl functionality is supported on the system.  This way, mc will be
239         dnl linked against the gmodule library only when it's really required.
240         GLIB_CFLAGS="$GMODULE_CFLAGS"
241         GLIB_LIBS="$GMODULE_LIBS"
242     else
243         MCLIBS="$X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS"
244     fi
245     AC_DEFINE(HAVE_TEXTMODE_X11_SUPPORT, 1,
246               [Define to enable getting events from X Window System])
247     textmode_x11_support="yes"
251 dnl Try to find static libraries for glib and gmodule.
253 if test x$with_glib_static = xyes; then
254     new_GLIB_LIBS=
255     for i in $GLIB_LIBS; do
256         case x$i in
257         x-lglib*)
258             lib=glib ;;
259         x-lgmodule*)
260             lib=gmodule ;;
261         *)
262             lib=
263             add="$i" ;;
264         esac
266         if test -n "$lib"; then
267             lib1=`echo $i | sed 's/^-l//'`
268             if test -f "$GLIB_LIBDIR/lib${lib1}.a"; then
269                 add="$GLIB_LIBDIR/lib${lib1}.a"
270             else
271                 if test -f "$GLIB_LIBDIR/lib${lib}.a"; then
272                     add="$GLIB_LIBDIR/lib${lib}.a"
273                 else
274                     AC_MSG_ERROR([Cannot find static $lib])
275                 fi
276             fi
277         fi
278         new_GLIB_LIBS="$new_GLIB_LIBS $add"
279     done
280     GLIB_LIBS="$new_GLIB_LIBS"
285 dnl Network related functions
288 AC_SEARCH_LIBS([socket], [socket])
289 AC_SEARCH_LIBS([gethostbyname], [nsl])
292 dnl Sequent wants getprocessstats
294 AC_CHECK_LIB(seq, get_process_stats, [
295         LIBS="$LIBS -lseq"
296         AC_DEFINE(HAVE_GET_PROCESS_STATS, 1,
297                   [Define if you have function `get_process_stats' and
298 have to use that instead of gettimeofday])])
300 AC_MC_VFS_CHECKS
302 vfs_type="normal"
303 if test x$use_vfs = xyes; then
304         AC_MSG_NOTICE([enabling VFS code])
305         vfs_type="Midnight Commander Virtual File System"
309 dnl Check for gpm mouse support (Linux only)
311 mouse_lib="xterm only"
312 AC_ARG_WITH(gpm-mouse, 
313         [  --with-gpm-mouse         Compile with gpm mouse support (Linux only)
314                            [[yes if found]]])
316 case $host_os in
317 linux*)
318     if test x$with_gpm_mouse != xno; then
319         AC_CHECK_LIB(gpm, Gpm_Repeat,
320             [AC_DEFINE(HAVE_LIBGPM, 1,
321                        [Define to enable gpm mouse support on Linux])
322             mouse_lib="gpm and xterm"
323             MCLIBS="$MCLIBS -lgpm"],
324             [AC_MSG_WARN([libgpm is missing or older than 0.18])
325         ])
326     fi
327     ;;
328 esac
330 $PKG_CONFIG --max-version 2.14 glib-2.0
331 if test $? -eq 0
332 then
333     AX_PATH_LIB_PCRE
337 dnl Check nroff and the options it supports
339 AC_CHECK_PROG(HAVE_nroff, nroff, true, false)
341 dnl Default values
342 MANDOC=-man
343 MAN_FLAGS=
345 if $HAVE_nroff; then
346     AC_MSG_CHECKING([for manual formatting macros])
347     AC_CACHE_VAL(mc_cv_mandoc, [
348     nroff -mandoc < /dev/null > /dev/null 2>&1
349     if test $? = 0; then
350         mc_cv_mandoc=-mandoc
351     else
352         mc_cv_mandoc=-man
353     fi
354     ])
355     MANDOC=$mc_cv_mandoc
356     AC_MSG_RESULT([$MANDOC])
358     AC_MSG_CHECKING([for option to disable ANSI color in manuals])
359     AC_CACHE_VAL(mc_cv_man_nocolor, [
360     nroff -c < /dev/null > /dev/null 2>&1
361     if test $? = 0; then
362         mc_cv_man_nocolor=-c
363     else
364         mc_cv_man_nocolor=
365     fi
366     ])
367     MAN_FLAGS=$mc_cv_man_nocolor
368     AC_MSG_RESULT([${MAN_NOCOLOR-none}])
370     AC_MSG_CHECKING([if nroff accepts -Tlatin1 or -Tascii])
371     AC_CACHE_VAL(mc_cv_nroff_tascii, [
372     mc_cv_nroff_tascii=
373     nroff -Tlatin1 < /dev/null > /dev/null 2>&1 /dev/null
374     if test $? = 0; then
375         mc_cv_nroff_tascii=-Tlatin1
376     else
377         nroff -Tascii < /dev/null > /dev/null 2>&1 /dev/null
378         if test $? = 0; then
379             mc_cv_nroff_tascii=-Tascii
380         fi
381     fi
382     ])
383     AC_MSG_RESULT([${mc_cv_nroff_tascii-no}])
384     MAN_FLAGS="$MAN_FLAGS $mc_cv_nroff_tascii"
387 AC_SUBST(MANDOC)
388 AC_SUBST(MAN_FLAGS)
392 dnl Check for -L option to file
394 AC_CHECK_PROG(HAVE_FILECMD, file, true, false)
395 if $HAVE_FILECMD; then
396     AC_MSG_CHECKING([for -L option to file command])
397     AC_CACHE_VAL(mc_cv_filel, [
398     file -L . > /dev/null 2>&1
399     if test $? = 0; then
400         mc_cv_filel=yes
401     else
402         mc_cv_filel=no
403     fi
404     ])
405     if test x$mc_cv_filel = xyes; then
406         AC_DEFINE(FILE_L, 1, [Define if the file command accepts the -L option])
407     fi
408     filel=$mc_cv_filel
409     AC_MSG_RESULT([$filel])
413 AC_MSG_CHECKING([for subshell support])
414 AC_ARG_WITH(subshell,
415         [  --with-subshell          Compile in concurrent subshell [[yes]]
416   --with-subshell=optional Don't run concurrent shell by default [[no]]],
417         [result=no
418         if test x$withval = xoptional
419         then
420                 AC_DEFINE(SUBSHELL_OPTIONAL, 1,
421                           [Define to make subshell support optional])
422                 result="optional"
423         fi
424         if test x$withval = xyes
425         then 
426                 result="yes"
427         fi],
428         [dnl Default: enable the subshell support
429         result="yes"
431 if test "x$result" != xno; then
432         AC_DEFINE(HAVE_SUBSHELL_SUPPORT, 1,
433                   [Define to enable subshell support])
435 AC_MSG_RESULT([$result])
436 subshell="$result"
440 dnl Select the screen library.
442 AC_ARG_WITH(screen,
443         [  --with-screen=LIB        Compile with screen library: slang or
444                            ncurses [[slang if found]]])
446 case x$with_screen in
447 xslang)
448         MC_WITH_SLANG(strict)
449         ;;
450 xncurses)
451         MC_WITH_NCURSES
452         ;;
453 xncursesw)
454         MC_WITH_NCURSESW
455         ;;
457         MC_WITH_SLANG
458         ;;
460         AC_MSG_ERROR([Value of the screen library is incorrect])
461         ;;
462 esac
466 dnl Internal editor support.
468 AC_ARG_WITH(edit,
469         [  --with-edit              Enable internal editor [[yes]]])
471 if test x$with_edit != xno; then
472         AC_DEFINE(USE_INTERNAL_EDIT, 1, [Define to enable internal editor])
473         use_edit=yes
474         edit_msg="yes"
475         AC_MSG_NOTICE([using internal editor])
476 else
477         edit_msg="no"
481 dnl Check if the OS is supported by the console saver.
482 cons_saver=""
483 case $host_os in
484 linux*)
485     cons_saver=yes
486 esac
489 dnl Support for background operations
490 AC_ARG_ENABLE([background],
491               [  --enable-background      Support for background file operations [[yes]]])
492 if test "x$enable_background" != xno; then
493     AC_DEFINE(WITH_BACKGROUND, 1, [Define to enable background file operations])
498 dnl User visible support for charset conversion.
500 AC_ARG_ENABLE([charset],
501               [  --enable-charset         Support for charset selection and conversion [[no]]])
502 have_charset=
503 charset_msg="no"
504 if test "x$enable_charset" = xyes; then
505   if test "x$am_cv_func_iconv" != xyes; then
506     AC_MSG_WARN([Cannot enable charset support because iconv function is missing])    
507   else
508     AC_DEFINE(HAVE_CHARSET, 1,
509               [Define to enable charset selection and conversion])
510     have_charset=yes
511     charset_msg="yes"
512   fi
515 if test "$GLIBC21" != yes; then
516     AC_DEFINE(USE_INCLUDED_REGEX, 1, [Use the regex included here])
519 dnl If default CFLAGS is used with gcc, add -Wall
520 if test -z "$ac_env_CFLAGS_set"; then
521     if test -n "$GCC"; then
522         CFLAGS="$CFLAGS -Wall"
523     fi
526 AC_SUBST(CFLAGS)
527 AC_SUBST(CPPFLAGS)
528 AC_SUBST(LDFLAGS)
529 AC_SUBST(LIBS)
531 dnl Libraries used only when building the mc binary
532 AC_SUBST(MCLIBS)
534 dnl Version for the RedHat package, without dashes
535 RPM_VERSION=`echo $VERSION | sed 's/-/./g'`
536 AC_SUBST(RPM_VERSION)
538 if test -n "$use_smbfs"; then
539   AC_CONFIG_SUBDIRS([vfs/samba])
542 AM_CONDITIONAL(USE_EDIT, [test -n "$use_edit"])
543 AM_CONDITIONAL(USE_VFS, [test "x$use_vfs" = xyes])
544 AM_CONDITIONAL(USE_VFS_NET, [test x"$use_net_code" = xtrue])
545 AM_CONDITIONAL(USE_UNDEL_FS, [test -n "$use_undelfs"])
546 AM_CONDITIONAL(USE_SAMBA_FS, [test -n "$use_smbfs"])
547 AM_CONDITIONAL(ENABLE_MCSERVER, [test x"$enable_mcserver" = "xyes"])
548 AM_CONDITIONAL(CHARSET, [test -n "$have_charset"])
549 AM_CONDITIONAL(CONS_SAVER, [test -n "$cons_saver"])
551 AC_CONFIG_FILES([
552 Makefile
554 contrib/Makefile
555 contrib/dist/Makefile
556 contrib/dist/debian/Makefile
557 contrib/dist/gentoo/Makefile
558 contrib/dist/redhat/Makefile
559 contrib/dist/redhat/mc.spec
560 contrib/dist/mc.qpg
561 contrib/dist/pkginfo
562 contrib/dist/prototype
564 misc/Makefile
565 misc/mc.ext
567 src/Makefile
568 src/mcconfig/Makefile
569 src/search/Makefile
571 edit/Makefile 
572 syntax/Makefile
574 vfs/Makefile
575 vfs/extfs/Makefile
576 vfs/extfs/a
577 vfs/extfs/apt
578 vfs/extfs/audio
579 vfs/extfs/deb
580 vfs/extfs/deba
581 vfs/extfs/debd
582 vfs/extfs/dpkg
583 vfs/extfs/iso9660
584 vfs/extfs/hp48
585 vfs/extfs/lslR
586 vfs/extfs/mailfs
587 vfs/extfs/patchfs
588 vfs/extfs/rpms
589 vfs/extfs/uace
590 vfs/extfs/ualz
591 vfs/extfs/uar
592 vfs/extfs/uarc
593 vfs/extfs/uarj
594 vfs/extfs/uc1541
595 vfs/extfs/uha
596 vfs/extfs/ulha 
597 vfs/extfs/urar
598 vfs/extfs/uzip
599 vfs/extfs/uzoo
601 doc/Makefile 
602 doc/hints/Makefile
603 doc/man/mc.1 doc/man/mcedit.1 doc/man/mcview.1 doc/man/mcserv.8 doc/man/Makefile
604 doc/man/es/mc.1 doc/man/es/Makefile
605 doc/man/hu/mc.1 doc/man/hu/Makefile
606 doc/man/it/mc.1 doc/man/it/Makefile
607 doc/man/pl/mc.1 doc/man/pl/Makefile
608 doc/man/ru/mc.1 doc/man/ru/Makefile
609 doc/man/sr/mc.1 doc/man/sr/mcserv.8 doc/man/sr/Makefile
611 doc/hlp/Makefile
612 doc/hlp/es/Makefile
613 doc/hlp/hu/Makefile
614 doc/hlp/it/Makefile
615 doc/hlp/pl/Makefile
616 doc/hlp/ru/Makefile
617 doc/hlp/sr/Makefile
619 intl/Makefile
620 po/Makefile.in
623 AC_OUTPUT
625 echo "
626 Configuration:
628   Source code location:       ${srcdir}
629   Compiler:                   ${CC}
630   Compiler flags:             ${CFLAGS}
631   File system:                ${vfs_type}
632                               ${vfs_flags}
633   Screen library:             ${screen_msg}
634   Mouse support:              ${mouse_lib}
635   X11 events support:         ${textmode_x11_support}
636   With subshell support:      ${subshell}
637   Internal editor:            ${edit_msg}
638   Support for charset:        ${charset_msg}