configure.ac 21 KB

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