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