configure.ac 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766
  1. dnl
  2. dnl Configure.in file for the Midnight Commander
  3. dnl
  4. dnl 2.64 is required at least for m4_esyscmd_s()
  5. AC_PREREQ(2.64)
  6. dnl AC_INIT defines PACKAGE_VERSION and PACKAGE_STRING macros in config.h
  7. dnl and puts a version into them.
  8. dnl Since a) version is changed after `git commit` (and config.h is recreated
  9. dnl as a result) and b) config.h is included in each .c file, the total
  10. dnl recompilation is performed after commit instead of recompilation
  11. dnl of modified files only.
  12. dnl
  13. dnl If AC_PACKAGE_VERSION and AC_PACKAGE_STRING macros are predefined before
  14. dnl AC_INIT call, AC_INIT doesn't redefine them.
  15. dnl As a result, config.h will not contain macros with variable version.
  16. m4_define([AC_PACKAGE_VERSION], [])
  17. m4_define([AC_PACKAGE_STRING], [])
  18. AC_INIT([GNU Midnight Commander], m4_esyscmd_s([./version.sh .]),
  19. [https://www.midnight-commander.org/wiki/NewTicket], [mc],
  20. [https://www.midnight-commander.org/])
  21. m4_pattern_forbid(MC_)
  22. AC_CONFIG_MACRO_DIR([m4])
  23. AC_CONFIG_AUX_DIR(config)
  24. AC_CONFIG_SRCDIR(src/main.c)
  25. AC_CONFIG_HEADERS(config.h)
  26. dnl Apply "no-define" to avoid defining the VERSION macro in config.h
  27. AM_INIT_AUTOMAKE([no-define])
  28. dnl PACKAGE macro isn't defined if "no-define" is applied
  29. AC_DEFINE([PACKAGE], ["mc"], [Name of package])
  30. dnl Enable silent rules by default (if yes)
  31. m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
  32. mc_VERSION
  33. AM_MAINTAINER_MODE
  34. AC_CANONICAL_HOST
  35. AC_USE_SYSTEM_EXTENSIONS
  36. dnl ############################################################################
  37. dnl Check for compiler
  38. dnl ############################################################################
  39. AC_PROG_CC_STDC
  40. AM_PROG_CC_C_O
  41. mc_CHECK_CFLAGS
  42. CFLAGS_OPTS=""
  43. if test "x$CFLAGS" = "x"; then
  44. CFLAGS_OPTS=" -O2 "
  45. fi
  46. if test x$USE_MAINTAINER_MODE = xyes; then
  47. CFLAGS_OPTS="-g3 -O -ggdb"
  48. AC_DEFINE(USE_MAINTAINER_MODE, 1, [Use maintainer mode])
  49. fi
  50. AC_ARG_ENABLE([werror],
  51. AS_HELP_STRING([--enable-werror], [Handle all compiler warnings as errors]))
  52. if test "x$enable_werror" = xyes; then
  53. mc_CHECK_ONE_CFLAG([-Werror])
  54. fi
  55. dnl Compiler can generate warnings for unrecognized flags added to CFLAGS
  56. dnl which causes attribute checks to fail
  57. ax_gcc_func_attribute_save_flags=$[]_AC_LANG_PREFIX[]FLAGS
  58. _AC_LANG_PREFIX[]FLAGS=
  59. AX_GCC_FUNC_ATTRIBUTE([fallthrough])
  60. _AC_LANG_PREFIX[]FLAGS=$ax_gcc_func_attribute_save_flags
  61. unset ax_gcc_func_attribute_save_flags
  62. LT_INIT
  63. dnl ############################################################################
  64. dnl Check for programs
  65. dnl ############################################################################
  66. PKG_PROG_PKG_CONFIG
  67. AC_PROG_INSTALL
  68. AC_PROG_LN_S
  69. dnl See also the "OS specific stuff" section below.
  70. dnl Check nroff and the options it supports
  71. AC_CHECK_PROG(HAVE_nroff, nroff, true, false)
  72. dnl Default values
  73. MANDOC=-man
  74. MAN_FLAGS=
  75. if $HAVE_nroff; then
  76. AC_MSG_CHECKING([for manual formatting macros])
  77. AC_CACHE_VAL(mc_cv_mandoc, [
  78. nroff -mandoc < /dev/null > /dev/null 2>&1
  79. if test $? = 0; then
  80. mc_cv_mandoc=-mandoc
  81. else
  82. mc_cv_mandoc=-man
  83. fi
  84. ])
  85. MANDOC=$mc_cv_mandoc
  86. AC_MSG_RESULT([$MANDOC])
  87. AC_MSG_CHECKING([for option to disable ANSI color in manuals])
  88. AC_CACHE_VAL(mc_cv_man_nocolor, [
  89. nroff -c < /dev/null > /dev/null 2>&1
  90. if test $? = 0; then
  91. mc_cv_man_nocolor=-c
  92. else
  93. mc_cv_man_nocolor=
  94. fi
  95. ])
  96. MAN_FLAGS=$mc_cv_man_nocolor
  97. AC_MSG_RESULT([${MAN_NOCOLOR-none}])
  98. AC_MSG_CHECKING([if nroff accepts -Tlatin1 or -Tascii])
  99. AC_CACHE_VAL(mc_cv_nroff_tascii, [
  100. mc_cv_nroff_tascii=
  101. nroff -Tlatin1 < /dev/null > /dev/null 2>&1 /dev/null
  102. if test $? = 0; then
  103. mc_cv_nroff_tascii=-Tlatin1
  104. else
  105. nroff -Tascii < /dev/null > /dev/null 2>&1 /dev/null
  106. if test $? = 0; then
  107. mc_cv_nroff_tascii=-Tascii
  108. fi
  109. fi
  110. ])
  111. AC_MSG_RESULT([${mc_cv_nroff_tascii-no}])
  112. MAN_FLAGS="$MAN_FLAGS $mc_cv_nroff_tascii"
  113. fi
  114. AC_SUBST(MANDOC)
  115. AC_SUBST(MAN_FLAGS)
  116. dnl Check for -z, -L, and -S options to file
  117. AC_CHECK_PROG(HAVE_FILECMD, file, true, false)
  118. if $HAVE_FILECMD; then
  119. dnl Don't use the file command if it doesn't accept the -z option
  120. AC_MSG_CHECKING([for -z option to file command])
  121. AC_CACHE_VAL(mc_cv_file_z, [
  122. file -z . > /dev/null 2>&1
  123. if test $? = 0; then
  124. mc_cv_file_z=yes
  125. else
  126. mc_cv_file_z=no
  127. fi
  128. ])
  129. AC_MSG_RESULT([$mc_cv_file_z])
  130. if test x$mc_cv_file_z = xyes; then
  131. AC_DEFINE(USE_FILE_CMD, 1, [Define if the file command accepts the -z option])
  132. else
  133. AC_MSG_WARN([The file command doesn't accept the -z option and will not be used])
  134. fi
  135. if test x$mc_cv_file_z = xyes; then
  136. dnl file is used; check -L and -S options
  137. AC_MSG_CHECKING([for -L option to file command])
  138. AC_CACHE_VAL(mc_cv_file_L, [
  139. file -L . > /dev/null 2>&1
  140. if test $? = 0; then
  141. mc_cv_file_L=yes
  142. else
  143. mc_cv_file_L=no
  144. fi
  145. ])
  146. AC_MSG_RESULT([$mc_cv_file_L])
  147. if test x$mc_cv_file_L = xyes; then
  148. AC_DEFINE(FILE_L, "-L ", [Define if the file command accepts the -L option])
  149. else
  150. AC_DEFINE(FILE_L, "", [Define if the file command accepts the -L option])
  151. fi
  152. dnl The file command accepts the -S option since 5.33
  153. AC_MSG_CHECKING([for -S option to file command])
  154. AC_CACHE_VAL(mc_cv_file_S, [
  155. file -S . > /dev/null 2>&1
  156. if test $? = 0; then
  157. mc_cv_file_S=yes
  158. else
  159. mc_cv_file_S=no
  160. fi
  161. ])
  162. AC_MSG_RESULT([$mc_cv_file_S])
  163. if test x$mc_cv_file_S = xyes; then
  164. AC_DEFINE(FILE_S, "-S ", [Define if file command accepts the -S option])
  165. else
  166. AC_DEFINE(FILE_S, "", [Define if file command accepts the -S option])
  167. fi
  168. fi
  169. fi
  170. dnl Only list browsers here that can be run in background (i.e. with `&')
  171. AC_CHECK_PROGS(X11_WWW, [gnome-moz-remote mozilla firefox konqueror opera])
  172. dnl ############################################################################
  173. dnl Check for other tools
  174. dnl ############################################################################
  175. AC_CHECK_TOOL(AR, ar, ar)
  176. mc_UNIT_TESTS
  177. dnl ############################################################################
  178. dnl Check for main libraies
  179. dnl ############################################################################
  180. mc_CHECK_GLIB
  181. mc_G_MODULE_SUPPORTED
  182. mc_WITH_SCREEN
  183. mc_CHECK_SEARCH_TYPE
  184. dnl X11 support. Used to read keyboard modifiers when running under X11.
  185. mc_WITH_X
  186. dnl ############################################################################
  187. dnl Check for header files
  188. dnl ############################################################################
  189. AC_CHECK_HEADERS([string.h memory.h limits.h malloc.h \
  190. utime.h sys/statfs.h sys/vfs.h \
  191. sys/select.h sys/ioctl.h stropts.h arpa/inet.h \
  192. sys/socket.h])
  193. dnl This macro is redefined in m4.include/gnulib/sys_types_h.m4
  194. dnl to work around a buggy version in autoconf <= 2.69.
  195. AC_HEADER_MAJOR
  196. dnl ############################################################################
  197. dnl Check for types
  198. dnl ############################################################################
  199. dnl Check largefile before type sizeof checks
  200. AC_SYS_LARGEFILE
  201. AC_CHECK_SIZEOF(long)
  202. AC_TYPE_UINTMAX_T
  203. AC_CHECK_SIZEOF(uintmax_t)
  204. AC_TYPE_OFF_T
  205. AC_CHECK_SIZEOF(off_t)
  206. AC_TYPE_MODE_T
  207. gl_PROMOTED_TYPE_MODE_T
  208. AC_TYPE_PID_T
  209. AC_TYPE_UID_T
  210. AC_STRUCT_ST_BLOCKS
  211. AC_CHECK_MEMBERS([struct stat.st_blksize, struct stat.st_rdev, struct stat.st_mtim])
  212. gl_STAT_SIZE
  213. AH_TEMPLATE([sig_atomic_t],
  214. [/* Define to `int' if <signal.h> doesn't define.])
  215. AH_TEMPLATE([SIG_ATOMIC_VOLATILE_T],
  216. [Some systems declare sig_atomic_t as volatile, some others -- no.
  217. This define will have value `sig_atomic_t' or
  218. `volatile sig_atomic_t' accordingly.])
  219. AC_MSG_CHECKING(for sig_atomic_t in signal.h)
  220. AC_EGREP_HEADER(sig_atomic_t,signal.h,
  221. [
  222. ac_cv_type_sig_atomic_t=yes;
  223. AC_EGREP_HEADER(volatile.*sig_atomic_t,
  224. signal.h,
  225. [
  226. is_sig_atomic_t_volatile=yes;
  227. AC_MSG_RESULT([yes, volatile])
  228. ],
  229. [
  230. is_sig_atomic_t_volatile=no;
  231. AC_MSG_RESULT([yes, non volatile])
  232. ])
  233. ],
  234. [
  235. AC_MSG_RESULT(no)
  236. AC_CHECK_TYPE(sig_atomic_t, int)
  237. is_sig_atomic_t_volatile=no
  238. ])
  239. if test $is_sig_atomic_t_volatile = 'yes'
  240. then
  241. AC_DEFINE(SIG_ATOMIC_VOLATILE_T, sig_atomic_t)
  242. else
  243. AC_DEFINE(SIG_ATOMIC_VOLATILE_T, [volatile sig_atomic_t])
  244. fi
  245. dnl ############################################################################
  246. dnl Check for functions
  247. dnl ############################################################################
  248. AC_CHECK_FUNCS([\
  249. strverscmp \
  250. strncasecmp \
  251. realpath
  252. ])
  253. dnl getpt is a GNU Extension (glibc 2.1.x)
  254. AC_CHECK_FUNCS(posix_openpt, , [AC_CHECK_FUNCS(getpt)])
  255. AC_CHECK_FUNCS(grantpt, , [AC_CHECK_LIB(pt, grantpt)])
  256. dnl replacing lstat with statlstat on sco makes it more portable between
  257. dnl sco clones
  258. AC_CHECK_FUNCS(statlstat)
  259. dnl Ovverriding mmap support. This has to be before AC_FUNC_MMAP is used.
  260. dnl We use only part of the functionality of mmap, so on AIX,
  261. dnl it's possible to use mmap, even if it doesn't pass the autoconf test.
  262. AC_ARG_WITH([mmap],
  263. AS_HELP_STRING([--with-mmap], [Use the mmap call @<:@yes if found@:>@]))
  264. if test x$with_mmap != xno; then
  265. if test x$with_mmap = x; then
  266. AC_FUNC_MMAP
  267. else
  268. AC_DEFINE(HAVE_MMAP, 1)
  269. fi
  270. fi
  271. dnl Sequent wants getprocessstats
  272. AC_CHECK_LIB(seq, get_process_stats, [
  273. LIBS="$LIBS -lseq"
  274. AC_DEFINE(HAVE_GET_PROCESS_STATS, 1,
  275. [Define if you have function `get_process_stats' and
  276. have to use that instead of gettimeofday])])
  277. mc_GET_FS_INFO
  278. dnl ############################################################################
  279. dnl Internationalization
  280. dnl ############################################################################
  281. AC_CHECK_FUNCS([setlocale])
  282. AM_GNU_GETTEXT([external], [need-ngettext])
  283. AM_GNU_GETTEXT_VERSION([0.18.2])
  284. mc_I18N
  285. dnl ############################################################################
  286. dnl OS specific stuff
  287. dnl ############################################################################
  288. case $host_os in
  289. *os400)
  290. AC_PATH_PROG([PERL], [perl], [/QOpenSys/pkgs/bin/perl])
  291. AC_PATH_PROG([PYTHON], [python], [/QOpenSys/pkgs/bin/python2])
  292. AC_PATH_PROG([RUBY], [ruby], [/QOpenSys/pkgs/bin/ruby])
  293. ;;
  294. *)
  295. AC_PATH_PROG([PERL], [perl], [/usr/bin/perl])
  296. AC_PATH_PROG([PYTHON], [python], [/usr/bin/python])
  297. AC_PATH_PROG([RUBY], [ruby], [/usr/bin/ruby])
  298. esac
  299. case $host_os in
  300. aux*)
  301. # A/UX
  302. LIBS="$LIBS -lposix"
  303. AC_DEFINE(_POSIX_SOURCE)
  304. ;;
  305. esac
  306. dnl If running under AIX, AC_AIX does not tell us that
  307. AC_MSG_CHECKING([for AIX defines])
  308. AC_EGREP_CPP([yes],
  309. [
  310. #if defined(AIX) || defined(_AIX) || defined(__aix__) || defined(aix)
  311. yes
  312. #endif
  313. ],
  314. [
  315. AC_DEFINE(IS_AIX, 1, [Define if compiling for AIX])
  316. AC_MSG_RESULT(yes)
  317. ],
  318. [
  319. AC_MSG_RESULT(no)
  320. ])
  321. dnl utimensat is supported since glibc 2.6 and specified in POSIX.1-2008
  322. dnl utimensat() causes different timespec structures to cause failures on IBM i and AIX
  323. case $host_os in
  324. *os400 | aix*)
  325. ;;
  326. *)
  327. AC_CHECK_FUNCS([utimensat])
  328. ;;
  329. esac
  330. case $host_os in
  331. *os400)
  332. AC_DEFINE([PTY_ZEROREAD], [1], [read(1) can return 0 for a non-closed fd])
  333. esac
  334. dnl Check linux/fs.h for FICLONE to support BTRFS's file clone operation
  335. case $host_os in
  336. linux*)
  337. AC_CHECK_HEADERS([linux/fs.h])
  338. esac
  339. dnl Check if the OS is supported by the console saver.
  340. cons_saver=""
  341. case $host_os in
  342. linux*)
  343. cons_saver=yes
  344. esac
  345. dnl Check for gpm mouse support (Linux only)
  346. mouse_lib="xterm only"
  347. AC_ARG_WITH([gpm-mouse],
  348. AS_HELP_STRING([--with-gpm-mouse], [Compile with gpm mouse support (Linux only) @<:@yes if found@:>@]))
  349. case $host_os in
  350. linux*)
  351. if test x$with_gpm_mouse != xno; then
  352. AC_CHECK_LIB(gpm, Gpm_Repeat,
  353. [AC_DEFINE(HAVE_LIBGPM, 1,
  354. [Define to enable gpm mouse support on Linux])
  355. mouse_lib="gpm and xterm"
  356. MCLIBS="$MCLIBS -lgpm"],
  357. if test "x$with_gpm_mouse" = "xyes"; then
  358. [AC_MSG_ERROR([libgpm is missing or older than 0.18])]
  359. else
  360. [AC_MSG_WARN([libgpm is missing or older than 0.18])]
  361. fi
  362. )
  363. fi
  364. ;;
  365. esac
  366. dnl ############################################################################
  367. dnl libmc
  368. dnl ############################################################################
  369. LIBMC_VERSION="0.0.1"
  370. LIBMC_RELEASE="1"
  371. AC_SUBST(LIBMC_VERSION)
  372. AC_SUBST(LIBMC_RELEASE)
  373. AC_ARG_ENABLE([mclib],
  374. [AS_HELP_STRING([--enable-mclib], [Compile shared library libmc.so @<:@no@:>@])],
  375. [
  376. if test "x$enableval" = "xno" ; then
  377. enable_mclib=no
  378. else
  379. if test "x$enable_shared" = "xno" ; then
  380. AC_MSG_WARN([Build of shared library is disabled. Specify --enable-shared first])
  381. enable_mclib=no
  382. else
  383. enable_mclib=yes
  384. fi
  385. fi
  386. ],
  387. [enable_mclib=no])
  388. AM_CONDITIONAL([ENABLE_MCLIB], [test x$enable_mclib = xyes])
  389. dnl ############################################################################
  390. dnl MC options
  391. dnl ############################################################################
  392. mc_ASSERT
  393. mc_WITH_INTERNAL_EDIT
  394. dnl Diff viewer support.
  395. AC_ARG_WITH([diff_viewer],
  396. AS_HELP_STRING([--with-diff-viewer], [Compile with diff viewer @<:@yes@:>@]))
  397. if test x$with_diff_viewer != xno; then
  398. AC_DEFINE(USE_DIFF_VIEW, 1, [Define to enable diff viewer])
  399. use_diff=yes
  400. diff_msg="yes"
  401. AC_MSG_NOTICE([using diff viewer])
  402. else
  403. diff_msg="no"
  404. fi
  405. mc_SUBSHELL
  406. mc_BACKGROUND
  407. mc_EXT2FS_ATTR
  408. mc_VFS_CHECKS
  409. dnl ############################################################################
  410. dnl Directories
  411. dnl ############################################################################
  412. dnl ${prefix} and ${exec_prefix} are undefined here if --prefix is not used in command line
  413. dnl Let define ${prefix} and ${exec_prefix}
  414. test "x$prefix" = "xNONE" && prefix="$ac_default_prefix"
  415. test "x$exec_prefix" = "xNONE" && exec_prefix="${prefix}"
  416. if test x${libexecdir} = x'${exec_prefix}/libexec'; then
  417. EXTHELPERSDIR=${prefix}/libexec/${PACKAGE}/ext.d
  418. elif test x${libexecdir} = x'${exec_prefix}/lib'; then
  419. EXTHELPERSDIR=${prefix}/lib/${PACKAGE}/ext.d
  420. else
  421. EXTHELPERSDIR=${libexecdir}/${PACKAGE}/ext.d
  422. fi
  423. AC_SUBST(EXTHELPERSDIR)
  424. dnl ############################################################################
  425. dnl Documentation
  426. dnl ############################################################################
  427. MAN_DATE="$(LC_ALL=C date "+%B %Y")"
  428. AC_SUBST(MAN_DATE)
  429. dnl Determine which help translations we want to install.
  430. ALL_DOC_LINGUAS="es hu it pl ru sr"
  431. DOC_LINGUAS=
  432. if test "x$USE_NLS" = xyes; then
  433. if test -z "$LINGUAS"; then
  434. langs="`grep -v '^#' $srcdir/po/LINGUAS`"
  435. else
  436. langs="$LINGUAS"
  437. fi
  438. else
  439. langs=
  440. fi
  441. for h_lang in $ALL_DOC_LINGUAS; do
  442. for lang in $langs; do
  443. if test "$lang" = "$h_lang"; then
  444. DOC_LINGUAS="$DOC_LINGUAS $lang"
  445. break
  446. fi
  447. done
  448. done
  449. AC_SUBST(DOC_LINGUAS)
  450. DX_HTML_FEATURE(ON)
  451. DX_CHM_FEATURE(OFF)
  452. DX_CHI_FEATURE(OFF)
  453. DX_MAN_FEATURE(OFF)
  454. DX_RTF_FEATURE(OFF)
  455. DX_XML_FEATURE(OFF)
  456. DX_PDF_FEATURE(OFF)
  457. DX_PS_FEATURE(OFF)
  458. DX_INIT_DOXYGEN(mc,doxygen.cfg,devel)
  459. dnl ############################################################################
  460. dnl Configure results
  461. dnl ############################################################################
  462. CFLAGS="$mc_configured_cflags $CFLAGS_OPTS $CFLAGS"
  463. AC_SUBST(MCLIBS)
  464. AC_SUBST(CFLAGS)
  465. AC_SUBST(CPPFLAGS)
  466. AC_SUBST(LDFLAGS)
  467. AC_SUBST(LIBS)
  468. AM_CONDITIONAL(USE_NLS, [test x"$USE_NLS" = xyes])
  469. AM_CONDITIONAL(USE_MAINTAINER_MODE, [test x"$USE_MAINTAINER_MODE" = xyes])
  470. AM_CONDITIONAL(USE_SCREEN_SLANG, [test x"$with_screen" = xslang])
  471. AM_CONDITIONAL(USE_INTERNAL_EDIT, [test x"$use_internal_edit" = xyes ])
  472. AM_CONDITIONAL(USE_ASPELL, [test x"$enable_aspell" = xyes ])
  473. AM_CONDITIONAL(USE_DIFF, [test -n "$use_diff"])
  474. AM_CONDITIONAL(CHARSET, [test -n "$have_charset"])
  475. AM_CONDITIONAL(CONS_SAVER, [test -n "$cons_saver"])
  476. dnl Clarify do we really need GModule
  477. AM_CONDITIONAL([HAVE_GMODULE], [test -n "$g_module_supported" && \
  478. test x"$textmode_x11_support" = x"yes" -o x"$enable_aspell" = x"yes"])
  479. AC_ARG_ENABLE([configure-args],
  480. AS_HELP_STRING([--enable-configure-args], [Handle all compiler warnings as errors]))
  481. if test "x$enable_configure_args" != xno; then
  482. AC_DEFINE([ENABLE_CONFIGURE_ARGS], 1, [Define to enable showing configure arguments in help])
  483. AC_DEFINE_UNQUOTED([MC_CONFIGURE_ARGS], ["$ac_configure_args"], [MC configure arguments])
  484. fi
  485. AC_CONFIG_FILES(
  486. [
  487. src/man2hlp/man2hlp
  488. ],
  489. [
  490. chmod +x src/man2hlp/man2hlp
  491. ])
  492. AC_CONFIG_FILES([
  493. Makefile
  494. contrib/Makefile
  495. misc/Makefile
  496. misc/mc.charsets
  497. misc/mc.menu
  498. misc/mcedit.menu
  499. misc/skins/Makefile
  500. misc/ext.d/Makefile
  501. misc/ext.d/doc.sh
  502. misc/ext.d/misc.sh
  503. misc/ext.d/text.sh
  504. misc/ext.d/web.sh
  505. misc/macros.d/Makefile
  506. misc/mc.ext
  507. src/Makefile
  508. src/consaver/Makefile
  509. src/editor/Makefile
  510. src/man2hlp/Makefile
  511. src/subshell/Makefile
  512. src/viewer/Makefile
  513. src/diffviewer/Makefile
  514. src/filemanager/Makefile
  515. src/vfs/Makefile
  516. src/vfs/cpio/Makefile
  517. src/vfs/extfs/Makefile
  518. src/vfs/extfs/helpers/Makefile
  519. src/vfs/extfs/helpers/a+
  520. src/vfs/extfs/helpers/apt+
  521. src/vfs/extfs/helpers/audio
  522. src/vfs/extfs/helpers/deb
  523. src/vfs/extfs/helpers/deba
  524. src/vfs/extfs/helpers/debd
  525. src/vfs/extfs/helpers/dpkg+
  526. src/vfs/extfs/helpers/iso9660
  527. src/vfs/extfs/helpers/hp48+
  528. src/vfs/extfs/helpers/lslR
  529. src/vfs/extfs/helpers/mailfs
  530. src/vfs/extfs/helpers/patchfs
  531. src/vfs/extfs/helpers/rpms+
  532. src/vfs/extfs/helpers/s3+
  533. src/vfs/extfs/helpers/uace
  534. src/vfs/extfs/helpers/ualz
  535. src/vfs/extfs/helpers/uar
  536. src/vfs/extfs/helpers/uarc
  537. src/vfs/extfs/helpers/uarj
  538. src/vfs/extfs/helpers/ucab
  539. src/vfs/extfs/helpers/uha
  540. src/vfs/extfs/helpers/ulha
  541. src/vfs/extfs/helpers/ulib
  542. src/vfs/extfs/helpers/unar
  543. src/vfs/extfs/helpers/urar
  544. src/vfs/extfs/helpers/uwim
  545. src/vfs/extfs/helpers/uzip
  546. src/vfs/extfs/helpers/uzoo
  547. src/vfs/fish/Makefile
  548. src/vfs/fish/helpers/Makefile
  549. src/vfs/ftpfs/Makefile
  550. src/vfs/sftpfs/Makefile
  551. src/vfs/local/Makefile
  552. src/vfs/sfs/Makefile
  553. src/vfs/smbfs/Makefile
  554. src/vfs/tar/Makefile
  555. src/vfs/undelfs/Makefile
  556. lib/Makefile
  557. lib/event/Makefile
  558. lib/filehighlight/Makefile
  559. lib/mcconfig/Makefile
  560. lib/search/Makefile
  561. lib/skin/Makefile
  562. lib/strutil/Makefile
  563. lib/tty/Makefile
  564. lib/vfs/Makefile
  565. lib/widget/Makefile
  566. misc/syntax/Makefile
  567. misc/syntax/Syntax
  568. doc/Makefile
  569. doc/hints/Makefile
  570. doc/hints/l10n/Makefile
  571. doc/man/Makefile
  572. doc/man/es/Makefile
  573. doc/man/hu/Makefile
  574. doc/man/it/Makefile
  575. doc/man/pl/Makefile
  576. doc/man/ru/Makefile
  577. doc/man/sr/Makefile
  578. doc/hlp/Makefile
  579. doc/hlp/es/Makefile
  580. doc/hlp/hu/Makefile
  581. doc/hlp/it/Makefile
  582. doc/hlp/pl/Makefile
  583. doc/hlp/ru/Makefile
  584. doc/hlp/sr/Makefile
  585. po/Makefile.in
  586. ])
  587. AC_CONFIG_FILES([
  588. tests/Makefile
  589. tests/lib/Makefile
  590. tests/lib/mcconfig/Makefile
  591. tests/lib/search/Makefile
  592. tests/lib/strutil/Makefile
  593. tests/lib/vfs/Makefile
  594. tests/lib/widget/Makefile
  595. tests/src/Makefile
  596. tests/src/filemanager/Makefile
  597. tests/src/editor/Makefile
  598. tests/src/editor/test-data.txt
  599. tests/src/subshell/Makefile
  600. tests/src/vfs/Makefile
  601. tests/src/vfs/extfs/Makefile
  602. tests/src/vfs/extfs/helpers-list/Makefile
  603. tests/src/vfs/extfs/helpers-list/data/config.sh
  604. tests/src/vfs/extfs/helpers-list/misc/Makefile
  605. tests/src/vfs/ftpfs/Makefile
  606. ])
  607. AC_OUTPUT
  608. AC_MSG_NOTICE([
  609. Configuration:
  610. Source code location: ${srcdir}
  611. Compiler: ${CC}
  612. Compiler flags: ${CFLAGS}
  613. Assertions: ${enable_assert}
  614. Unit tests: ${tests_msg}
  615. File system: ${vfs_type}
  616. ${vfs_flags}
  617. Screen library: ${screen_msg}
  618. Mouse support: ${mouse_lib}
  619. X11 events support: ${textmode_x11_support}
  620. With subshell support: ${subshell}
  621. With background operations: ${enable_background}
  622. With ext2fs attributes support: ${ext2fs_attr_msg}
  623. Internal editor: ${edit_msg}
  624. Diff viewer: ${diff_msg}
  625. Support for charset: ${charset_msg}
  626. Search type: ${SEARCH_TYPE}
  627. ])
  628. dnl option checking is disable by default due to AC_CONFIG_SUBDIRS
  629. dnl we enable it back for top-level ./configure
  630. if test -n "$ac_unrecognized_opts"; then
  631. case $enable_option_checking in
  632. fatal) AC_MSG_ERROR([unrecognized options: $ac_unrecognized_opts]) ;;
  633. *) AC_MSG_WARN( [unrecognized options: $ac_unrecognized_opts]) ;;
  634. esac
  635. fi