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. AX_GCC_FUNC_ATTRIBUTE([unused])
  53. _AC_LANG_PREFIX[]FLAGS=$ax_gcc_func_attribute_save_flags
  54. unset ax_gcc_func_attribute_save_flags
  55. LT_INIT
  56. dnl ############################################################################
  57. dnl Check for programs
  58. dnl ############################################################################
  59. AC_PROG_SED
  60. PKG_PROG_PKG_CONFIG
  61. AC_PROG_INSTALL
  62. AC_PROG_LN_S
  63. dnl See also the "OS specific stuff" section below.
  64. dnl Check nroff and the options it supports
  65. AC_CHECK_PROG(HAVE_nroff, nroff, true, false)
  66. dnl Default values
  67. MANDOC=-man
  68. MAN_FLAGS=
  69. if $HAVE_nroff; then
  70. AC_MSG_CHECKING([for manual formatting macros])
  71. AC_CACHE_VAL(mc_cv_mandoc, [
  72. nroff -mandoc < /dev/null > /dev/null 2>&1
  73. if test $? = 0; then
  74. mc_cv_mandoc=-mandoc
  75. else
  76. mc_cv_mandoc=-man
  77. fi
  78. ])
  79. MANDOC=$mc_cv_mandoc
  80. AC_MSG_RESULT([$MANDOC])
  81. AC_MSG_CHECKING([for option to disable ANSI color in manuals])
  82. AC_CACHE_VAL(mc_cv_man_nocolor, [
  83. nroff -c < /dev/null > /dev/null 2>&1
  84. if test $? = 0; then
  85. mc_cv_man_nocolor=-c
  86. else
  87. mc_cv_man_nocolor=
  88. fi
  89. ])
  90. MAN_FLAGS=$mc_cv_man_nocolor
  91. AC_MSG_RESULT([${MAN_NOCOLOR-none}])
  92. AC_MSG_CHECKING([if nroff accepts -Tlatin1 or -Tascii])
  93. AC_CACHE_VAL(mc_cv_nroff_tascii, [
  94. mc_cv_nroff_tascii=
  95. nroff -Tlatin1 < /dev/null > /dev/null 2>&1 /dev/null
  96. if test $? = 0; then
  97. mc_cv_nroff_tascii=-Tlatin1
  98. else
  99. nroff -Tascii < /dev/null > /dev/null 2>&1 /dev/null
  100. if test $? = 0; then
  101. mc_cv_nroff_tascii=-Tascii
  102. fi
  103. fi
  104. ])
  105. AC_MSG_RESULT([${mc_cv_nroff_tascii-no}])
  106. MAN_FLAGS="$MAN_FLAGS $mc_cv_nroff_tascii"
  107. fi
  108. AC_SUBST(MANDOC)
  109. AC_SUBST(MAN_FLAGS)
  110. dnl Check for -z, -b, -L, and -S options to file
  111. AC_CHECK_PROG(HAVE_FILECMD, file, true, false)
  112. if $HAVE_FILECMD; then
  113. dnl Don't use the file command if it doesn't accept the -z option
  114. AC_MSG_CHECKING([for -z option to file command])
  115. AC_CACHE_VAL(mc_cv_file_z, [
  116. file -z . > /dev/null 2>&1
  117. if test $? = 0; then
  118. mc_cv_file_z=yes
  119. else
  120. mc_cv_file_z=no
  121. fi
  122. ])
  123. AC_MSG_RESULT([$mc_cv_file_z])
  124. if test x$mc_cv_file_z = xyes; then
  125. AC_DEFINE(USE_FILE_CMD, 1, [Define if the file command accepts the -z option])
  126. else
  127. AC_MSG_WARN([The file command doesn't accept the -z option and will not be used])
  128. fi
  129. if test x$mc_cv_file_z = xyes; then
  130. dnl file is used; check -b, -L and -S options
  131. AC_MSG_CHECKING([for -b option to file command])
  132. AC_CACHE_VAL(mc_cv_file_b, [
  133. file -b . > /dev/null 2>&1
  134. if test $? = 0; then
  135. mc_cv_file_b=yes
  136. else
  137. mc_cv_file_b=no
  138. fi
  139. ])
  140. AC_MSG_RESULT([$mc_cv_file_b])
  141. if test x$mc_cv_file_b = xyes; then
  142. AC_DEFINE(FILE_B, "-b ", [Define if the file command accepts the -b option])
  143. fi
  144. AC_MSG_CHECKING([for -L option to file command])
  145. AC_CACHE_VAL(mc_cv_file_L, [
  146. file -L . > /dev/null 2>&1
  147. if test $? = 0; then
  148. mc_cv_file_L=yes
  149. else
  150. mc_cv_file_L=no
  151. fi
  152. ])
  153. AC_MSG_RESULT([$mc_cv_file_L])
  154. if test x$mc_cv_file_L = xyes; then
  155. AC_DEFINE(FILE_L, "-L ", [Define if the file command accepts the -L option])
  156. else
  157. AC_DEFINE(FILE_L, "", [Define if the file command accepts the -L option])
  158. fi
  159. dnl The file command accepts the -S option since 5.33
  160. AC_MSG_CHECKING([for -S option to file command])
  161. AC_CACHE_VAL(mc_cv_file_S, [
  162. file -S . > /dev/null 2>&1
  163. if test $? = 0; then
  164. mc_cv_file_S=yes
  165. else
  166. mc_cv_file_S=no
  167. fi
  168. ])
  169. AC_MSG_RESULT([$mc_cv_file_S])
  170. if test x$mc_cv_file_S = xyes; then
  171. AC_DEFINE(FILE_S, "-S ", [Define if file command accepts the -S option])
  172. else
  173. AC_DEFINE(FILE_S, "", [Define if file command accepts the -S option])
  174. fi
  175. fi
  176. fi
  177. dnl Only list browsers here that can be run in background (i.e. with `&')
  178. AC_CHECK_PROGS(X11_WWW, [gnome-moz-remote mozilla firefox konqueror opera])
  179. dnl ############################################################################
  180. dnl Check for other tools
  181. dnl ############################################################################
  182. AC_CHECK_TOOLS([INDENT], [gindent indent])
  183. mc_UNIT_TESTS
  184. dnl ############################################################################
  185. dnl Check for main libraries
  186. dnl ############################################################################
  187. mc_CHECK_GLIB
  188. mc_G_MODULE_SUPPORTED
  189. mc_WITH_SCREEN
  190. mc_CHECK_SEARCH_TYPE
  191. dnl X11 support. Used to read keyboard modifiers when running under X11.
  192. mc_WITH_X
  193. dnl ############################################################################
  194. dnl Check for header files
  195. dnl ############################################################################
  196. AC_CHECK_HEADERS([string.h memory.h limits.h malloc.h \
  197. utime.h sys/statfs.h sys/vfs.h \
  198. sys/select.h sys/ioctl.h stropts.h arpa/inet.h \
  199. sys/socket.h])
  200. dnl This macro is redefined in m4.include/gnulib/sys_types_h.m4
  201. dnl to work around a buggy version in autoconf <= 2.69.
  202. AC_HEADER_MAJOR
  203. mc_CHECK_HEADER_STDCKDINT
  204. dnl ############################################################################
  205. dnl Check for types
  206. dnl ############################################################################
  207. dnl Check largefile before type sizeof checks
  208. AC_SYS_LARGEFILE
  209. AC_CHECK_SIZEOF(long)
  210. AC_TYPE_UINTMAX_T
  211. AC_CHECK_SIZEOF(uintmax_t)
  212. AC_TYPE_OFF_T
  213. AC_CHECK_SIZEOF(off_t)
  214. AC_TYPE_MODE_T
  215. gl_PROMOTED_TYPE_MODE_T
  216. AC_TYPE_PID_T
  217. AC_TYPE_UID_T
  218. dnl Taken from GNU/Linux, and should be good enough on platforms lacking these types.
  219. AC_CHECK_TYPE([dev_t], [unsigned long long int])
  220. AC_CHECK_TYPE([ino_t], [unsigned long long int])
  221. dnl Taken from GNU/Linux, and should be good enough on platforms lacking these types.
  222. AC_CHECK_TYPE([major_t], [unsigned int])
  223. AC_CHECK_TYPE([minor_t], [unsigned int])
  224. AC_STRUCT_ST_BLOCKS
  225. AC_CHECK_MEMBERS([struct stat.st_blksize, struct stat.st_rdev, struct stat.st_mtim, struct stat.st_mtimespec, struct stat.st_mtimensec])
  226. gl_STAT_SIZE
  227. AH_TEMPLATE([sig_atomic_t],
  228. [/* Define to `int' if <signal.h> doesn't define.])
  229. AH_TEMPLATE([SIG_ATOMIC_VOLATILE_T],
  230. [Some systems declare sig_atomic_t as volatile, some others -- no.
  231. This define will have value `sig_atomic_t' or
  232. `volatile sig_atomic_t' accordingly.])
  233. AC_MSG_CHECKING(for sig_atomic_t in signal.h)
  234. AC_EGREP_HEADER(sig_atomic_t,signal.h,
  235. [
  236. ac_cv_type_sig_atomic_t=yes;
  237. AC_EGREP_HEADER(volatile.*sig_atomic_t,
  238. signal.h,
  239. [
  240. is_sig_atomic_t_volatile=yes;
  241. AC_MSG_RESULT([yes, volatile])
  242. ],
  243. [
  244. is_sig_atomic_t_volatile=no;
  245. AC_MSG_RESULT([yes, non volatile])
  246. ])
  247. ],
  248. [
  249. AC_MSG_RESULT(no)
  250. AC_CHECK_TYPE(sig_atomic_t, int)
  251. is_sig_atomic_t_volatile=no
  252. ])
  253. if test $is_sig_atomic_t_volatile = 'yes'
  254. then
  255. AC_DEFINE(SIG_ATOMIC_VOLATILE_T, sig_atomic_t)
  256. else
  257. AC_DEFINE(SIG_ATOMIC_VOLATILE_T, [volatile sig_atomic_t])
  258. fi
  259. dnl ############################################################################
  260. dnl Check for functions
  261. dnl ############################################################################
  262. AC_CHECK_FUNCS([\
  263. strverscmp \
  264. strncasecmp \
  265. realpath
  266. ])
  267. dnl getpt is a GNU Extension (glibc 2.1.x)
  268. AC_CHECK_FUNCS(posix_openpt, , [AC_CHECK_FUNCS(getpt)])
  269. AC_CHECK_FUNCS(grantpt, , [AC_CHECK_LIB(pt, grantpt)])
  270. dnl replacing lstat with statlstat on sco makes it more portable between
  271. dnl sco clones
  272. AC_CHECK_FUNCS(statlstat)
  273. mc_GET_FS_INFO
  274. dnl ############################################################################
  275. dnl Internationalization
  276. dnl ############################################################################
  277. AC_CHECK_FUNCS([setlocale])
  278. AM_GNU_GETTEXT([external], [need-ngettext])
  279. AM_GNU_GETTEXT_VERSION([0.18.2])
  280. mc_I18N
  281. dnl ############################################################################
  282. dnl OS specific stuff
  283. dnl ############################################################################
  284. AC_CHECK_DECLS([environ], , ,
  285. [ #include <unistd.h>
  286. #include <stdlib.h> ])
  287. case $host_os in
  288. *os400)
  289. AC_PATH_PROG([PERL], [perl], [/QOpenSys/pkgs/bin/perl])
  290. AC_PATH_PROG([PERL_FOR_BUILD], [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([PERL_FOR_BUILD], [perl], [/usr/bin/perl])
  297. AC_PATH_PROG([PYTHON], [python], [/usr/bin/python])
  298. AC_PATH_PROG([RUBY], [ruby], [/usr/bin/ruby])
  299. esac
  300. case $host_os in
  301. aux*)
  302. # A/UX
  303. LIBS="$LIBS -lposix"
  304. AC_DEFINE(_POSIX_SOURCE)
  305. ;;
  306. esac
  307. dnl If running under AIX, AC_AIX does not tell us that
  308. AC_MSG_CHECKING([for AIX defines])
  309. AC_EGREP_CPP([yes],
  310. [
  311. #if defined(AIX) || defined(_AIX) || defined(__aix__) || defined(aix)
  312. yes
  313. #endif
  314. ],
  315. [
  316. AC_DEFINE(IS_AIX, 1, [Define if compiling for AIX])
  317. AC_MSG_RESULT(yes)
  318. ],
  319. [
  320. AC_MSG_RESULT(no)
  321. ])
  322. dnl utimensat is supported since glibc 2.6 and specified in POSIX.1-2008
  323. AC_CHECK_FUNCS([utimensat])
  324. case $host_os in
  325. *os400)
  326. AC_DEFINE([PTY_ZEROREAD], [1], [read(1) can return 0 for a non-closed fd])
  327. esac
  328. dnl Check linux/fs.h for FICLONE to support BTRFS's file clone operation
  329. case $host_os in
  330. linux*)
  331. AC_CHECK_HEADERS([linux/fs.h])
  332. esac
  333. dnl Check if the OS is supported by the console saver.
  334. cons_saver=""
  335. case $host_os in
  336. linux*)
  337. cons_saver=yes
  338. esac
  339. dnl Check for gpm mouse support (Linux only)
  340. mouse_lib="xterm only"
  341. AC_ARG_WITH([gpm-mouse],
  342. AS_HELP_STRING([--with-gpm-mouse], [Compile with gpm mouse support (Linux only) @<:@yes if found@:>@]))
  343. case $host_os in
  344. linux*)
  345. if test x$with_gpm_mouse != xno; then
  346. AC_CHECK_LIB(gpm, Gpm_Repeat,
  347. [AC_DEFINE(HAVE_LIBGPM, 1, [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