configure.ac 21 KB

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