configure.in 32 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467
  1. dnl
  2. dnl Configure.in file for the Midnight Commander
  3. dnl
  4. AC_INIT(create_vcs)
  5. AC_CONFIG_HEADER(config.h)
  6. PACKAGE=mc
  7. VERSION=dummy
  8. AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE")
  9. AC_DEFINE_UNQUOTED(VERSION, "dummy")
  10. ALL_LINGUAS="es"
  11. dnl This is path where we're looking for headers in addition to /usr/include
  12. dnl and whatever cpp defaults to.
  13. include_additional_path="/usr/local/include /opt/gnu/include"
  14. dnl This sets/resets compiling with -g by default. It should be set to yes for
  15. dnl development versions and set to no for release versions.
  16. use_cc_g_flag=yes
  17. dnl We want autoconf to check whether -g is available
  18. dnl We reset it back soon.
  19. CCOPTS="$CFLAGS"
  20. unset CFLAGS
  21. dnl Find out, if we should default to /usr/local or /usr
  22. AC_PREFIX_PROGRAM(mc)
  23. AC_PROG_MAKE_SET
  24. AC_PROG_CC
  25. AC_PROG_CPP
  26. AC_PROG_RANLIB
  27. AC_PROG_LN_S
  28. AC_PROG_AWK
  29. if test x"$AWK" = x; then
  30. AWK=":"
  31. AWK_VAR_OPTION=""
  32. dep=slowdep
  33. else
  34. dep=fastdep
  35. # test whether awk needs -v for variables (e.g. Solaris) or not (e.g. SunOs 4)
  36. if test x"`echo | $AWK 'BEGIN { print variable; exit }' variable=123`" = x123; then
  37. AWK_VAR_OPTION=""
  38. else
  39. AWK_VAR_OPTION="-v"
  40. fi
  41. fi
  42. AC_SUBST(AWK_VAR_OPTION)
  43. AC_SUBST(dep)
  44. AC_PROG_GNU_MAKE
  45. AC_AIX
  46. AC_MINIX
  47. AC_ISC_POSIX
  48. fp_PROG_CC_STDC
  49. AC_HEADER_MAJOR
  50. AC_C_CONST
  51. AC_PATH_PROG(MV, mv, mv)
  52. AC_PATH_PROG(CP, cp, cp)
  53. AC_PATH_PROG(RM, rm, rm)
  54. AC_PATH_PROG(CHMOD, chmod, :)
  55. AC_PATH_PROG(AR, ar, ar)
  56. AC_CHECK_PROG(system,uname,`uname`,unknown)
  57. AC_CHECK_PROGS(X11_WWW,netscape arena Mosaic chimera)
  58. if test x"$X11_WWW" = x; then
  59. X11_WWW=lynx
  60. fi
  61. AM_GNU_GETTEXT
  62. AC_LINK_FILES($nls_cv_header_libgt, $nls_cv_header_intl)
  63. dnl
  64. dnl This part supplies reasonable defaults for CFLAGS, if they weren't
  65. dnl specified by ''CFLAGS=flags ./configure''
  66. dnl
  67. cc_uses_g=yes
  68. if test x$GCC = xyes; then
  69. if test x$ac_cv_prog_gcc_g = xyes; then
  70. :
  71. else
  72. cc_uses_g=no
  73. fi
  74. fi
  75. if test "x$CCOPTS" = x; then
  76. if test x$GCC = xyes; then
  77. if test x$system = xLinux; then
  78. CCOPTS='-O2 -fno-strength-reduce'
  79. if test x$use_cc_g_flag = xyes; then
  80. if test $cc_uses_g = yes; then
  81. CCOPTS='-g -O'
  82. fi
  83. fi
  84. else
  85. CCOPTS='-O'
  86. if test x$use_cc_g_flag = xyes; then
  87. if test $cc_uses_g = yes; then
  88. CCOPTS='-g -O'
  89. fi
  90. fi
  91. fi
  92. else
  93. if test x$use_cc_g_flag = xyes; then
  94. CCOPTS="$CFLAGS"
  95. else
  96. CCOPTS=
  97. fi
  98. fi
  99. fi
  100. CFLAGS="$CCOPTS"
  101. dnl
  102. dnl For A/UX. Do not move
  103. dnl
  104. posix_libs=""
  105. if test $system = A/UX
  106. then
  107. posix_libs="-lposix"
  108. AC_DEFINE(_POSIX_SOURCE)
  109. fi
  110. AC_PROG_INSTALL
  111. AC_CHECK_HEADERS(unistd.h string.h memory.h crypt.h grp.h limits.h malloc.h)
  112. AC_CHECK_HEADERS(stdlib.h termios.h)
  113. if test x$ac_cv_header_malloc_h = xno; then
  114. echo '/* NeXTStep malloc.h stub */' > $srcdir/malloc.h
  115. fi
  116. dnl (rx.h)
  117. AC_HEADER_SYS_WAIT
  118. AC_HEADER_DIRENT
  119. AC_SHORT_D_NAME_LEN
  120. AC_HEADER_STDC
  121. dnl
  122. dnl Let me check for an incompatible regcomp in HP-UX before making this
  123. dnl the default
  124. dnl
  125. dnl if test x$ac_cv_header_rx_h = xyes; then
  126. dnl AC_CHECK_FUNCS(regcomp)
  127. dnl if test x$ac_cv_func_regcomp = xyes; then
  128. dnl REGEX_O=""
  129. dnl fi
  130. dnl fi
  131. REGEX_O="regex.o"
  132. AC_SUBST(REGEX_O)
  133. dnl Missing structure components
  134. AC_STRUCT_ST_BLKSIZE
  135. AC_STRUCT_ST_BLOCKS
  136. AC_STRUCT_ST_RDEV
  137. dnl
  138. dnl Check availability of some functions
  139. dnl
  140. AC_CHECK_FUNCS(strerror statfs getwd strcasecmp strncasecmp)
  141. AC_CHECK_FUNCS(strdup memmove pwdauth truncate initgroups putenv)
  142. AC_CHECK_FUNCS(memset memcpy tcsetattr tcgetattr cfgetospeed)
  143. AC_CHECK_FUNCS(sigaction sigemptyset sigprocmask sigaddset)
  144. SHADOWLIB=
  145. if test x$system = xLinux; then
  146. AC_CHECK_LIB(shadow,pw_encrypt,[
  147. shadow_header=no
  148. AC_CHECK_HEADERS(shadow.h)
  149. if test x$ac_cv_header_shadow_h = xyes; then
  150. shadow_header=yes
  151. else
  152. AC_CHECK_HEADERS(shadow/shadow.h)
  153. if test x$ac_cv_shadow_shadow_h = xyes; then
  154. shadow_header=yes
  155. fi
  156. fi
  157. if test $shadow_header = yes; then
  158. AC_DEFINE(LINUX_SHADOW)
  159. SHADOWLIB=-lshadow
  160. fi
  161. ])
  162. fi
  163. AC_SUBST(SHADOWLIB)
  164. NEED_CRYPT_PROTOTYPE=yes
  165. if test x$ac_cv_header_crypt_h = xyes; then
  166. AC_TRY_WARNINGS([#include <crypt.h>], [char *p = crypt("xxx", "yyy");],[
  167. NEED_CRYPT_PROTOTYPE=no])
  168. else
  169. if test x$ac_cv_header_unistd_h = xyes; then
  170. AC_TRY_WARNINGS([#include <unistd.h>], [char *p = crypt("xxx", "yyy");],[
  171. NEED_CRYPT_PROTOTYPE=no])
  172. fi
  173. fi
  174. if test x$NEED_CRYPT_PROTOTYPE=xyes; then
  175. AC_DEFINE(NEED_CRYPT_PROTOTYPE)
  176. fi
  177. dnl
  178. dnl AIX and Sequent need <sys/select.h> for fd_set
  179. dnl
  180. AC_CHECK_HEADERS(sys/select.h)
  181. dnl
  182. dnl On SCO, crypt is on libcrypt.a
  183. dnl grantpt in libpt.a
  184. dnl
  185. AC_CHECK_FUNCS(crypt, , [
  186. AC_CHECK_LIB(crypt, crypt, LIBS="$LIBS -lcrypt",[
  187. AC_CHECK_LIB(crypt_i, crypt, LIBS="$LIBS -lcrypt_i")])])
  188. dnl This is the correct version
  189. dnl AC_CHECK_FUNCS(grantpt, , AC_CHECK_LIB(pt, grantpt))
  190. dnl
  191. dnl And workaround for a Autoconf 2.4 bug:
  192. AC_CHECK_FUNCS(grantpt)
  193. if test x$ac_cv_func_grantpt = xyes; then
  194. :
  195. else
  196. AC_CHECK_LIB(pt, grantpt)
  197. fi
  198. dnl
  199. dnl libintl.a required on SCO to provide proper NLS support
  200. dnl (using native cc links it by default)
  201. dnl
  202. if test x$GCC = xyes; then
  203. AC_CHECK_LIB(intl, tolower)
  204. fi
  205. dnl replacing lstat with statlstat on sco makes it more portable between
  206. dnl sco clones
  207. AC_CHECK_FUNCS(statlstat)
  208. dnl
  209. dnl If running under AIX, AC_AIX does not tell us that
  210. dnl
  211. AC_MSG_CHECKING(for AIX defines)
  212. AC_EGREP_CPP(yes,
  213. [#if defined(AIX) || defined(_AIX) || defined(__aix__) || defined(aix)
  214. yes
  215. #endif
  216. ], [
  217. AC_DEFINE(IS_AIX)
  218. AC_MSG_RESULT(yes)
  219. ], AC_MSG_RESULT(no))
  220. dnl
  221. dnl This hack is here until autoconf adds it
  222. dnl Needed for Unixware: getmntent is on libgen.a
  223. dnl
  224. AC_CHECK_LIB(gen, getmntent, [LIBS="-lgen $LIBS"])
  225. dnl
  226. dnl This is from GNU fileutils, check aclocal.m4 for more information
  227. dnl
  228. AC_GET_FS_INFO
  229. dnl
  230. dnl Missing typedefs and replacements
  231. dnl
  232. AC_TYPE_MODE_T
  233. AC_CHECK_TYPE(umode_t, int)
  234. AC_CHECK_TYPE(off_t, long)
  235. AC_TYPE_PID_T
  236. AC_TYPE_UID_T
  237. AC_CHECK_TYPE(nlink_t, unsigned int)
  238. AC_FUNC_MMAP
  239. AC_FUNC_ALLOCA
  240. dnl
  241. dnl Cool hack, but we don't use it currently
  242. dnl
  243. dnl AC_MSG_CHECKING(for token pasting method)
  244. dnl AC_EGREP_CPP(portable,[
  245. dnl #define tken(a, b) a##b
  246. dnl tken(port, able)
  247. dnl ], [AC_DEFINE(HAVE_PORTABLE_TOKEN_PASTING)
  248. dnl AC_MSG_RESULT(portable)
  249. dnl ], [
  250. dnl AC_MSG_RESULT(non-portable)
  251. dnl ])
  252. AC_PATH_XTRA
  253. insticons=
  254. xvers="none"
  255. mxc=""
  256. AC_PATH_XVIEW_XTRA
  257. if test "x$no_xview" != "xyes"; then
  258. mxc="mxc"
  259. xvers="XView"
  260. xvdep="xvdep"
  261. insticons=install_icons
  262. AC_SUBST(insticons)
  263. else
  264. mxc=""
  265. xvdep=""
  266. fi
  267. AC_SUBST(mxc)
  268. AC_SUBST(xvdep)
  269. xv_bindir=
  270. if test -n "$mxc"; then
  271. AC_ARG_WITH(xv-bindir,
  272. [--with-xv-bindir=dir Specifies directory where to install XView version],[
  273. if test x$withval = xyes; then
  274. AC_MSG_WARN(Usage is: --with-xv-bindir=basedir)
  275. else
  276. if test x$withval = xno; then
  277. AC_MSG_WARN(Usage is: --with-xv-bindir=basedir)
  278. else
  279. xv_bindir=$withval
  280. fi
  281. fi
  282. ])
  283. if test x$xv_bindir = x; then
  284. xv_bindir=`echo $xv_includes | sed s/include/bin/`
  285. if test ! -x $xv_bindir/openwin; then
  286. if test ! -x $xv_bindir/olwm; then
  287. if test ! -x $xv_bindir/olvwm; then
  288. xv_bindir=
  289. fi
  290. fi
  291. fi
  292. fi
  293. if test x$xv_bindir = x; then
  294. if test "$OPENWINHOME"; then
  295. xv_bindir=$OPENWINHOME/bin
  296. else
  297. AC_PATH_PROG(ac_my_xp, openwin)
  298. if test x$ac_my_xp = x; then
  299. AC_PATH_PROG(ac_my_xp, X)
  300. if test x$ac_my_xp = x; then
  301. xv_bindir=""
  302. else
  303. xv_bindir=`basename $ac_my_xp`
  304. fi
  305. else
  306. xv_bindir=`basename $ac_my_xp`
  307. fi
  308. fi
  309. if test ! -x $xv_bindir/openwin; then
  310. if test ! -x $xv_bindir/olwm; then
  311. if test ! -x $xv_bindir/olvwm; then
  312. if test ! -x $xv_bindir/X; then
  313. xv_bindir=
  314. fi
  315. fi
  316. fi
  317. fi
  318. fi
  319. if test x$xv_bindir = x; then
  320. xv_bindir=$prefix/bin
  321. fi
  322. fi
  323. if test x$xv_bindir = xNONE/bin; then
  324. xv_bindir=
  325. fi
  326. AC_SUBST(xv_bindir)
  327. dnl
  328. dnl Network related functions
  329. dnl
  330. AC_CHECK_LIB(nsl, t_accept)
  331. AC_CHECK_LIB(socket, socket)
  332. have_socket=no
  333. AC_CHECK_FUNCS(socket, have_socket=yes)
  334. if test $have_socket = no; then
  335. # socket is not in the default libraries. See if it's in some other.
  336. for lib in bsd socket inet; do
  337. AC_CHECK_LIB($lib, socket, [
  338. LIBS="$LIBS -l$lib"
  339. have_socket=yes
  340. AC_DEFINE(HAVE_SOCKET)
  341. break])
  342. done
  343. fi
  344. have_gethostbyname=no
  345. AC_CHECK_FUNC(gethostbyname, have_gethostbyname=yes)
  346. if test $have_gethostbyname = no; then
  347. # gethostbyname is not in the default libraries. See if it's in some other.
  348. for lib in bsd socket inet; do
  349. AC_CHECK_LIB($lib, gethostbyname, [LIBS="$LIBS -l$lib"; have_gethostbyname=yes; break])
  350. done
  351. fi
  352. AC_CHECK_FUNCS(socketpair)
  353. dnl
  354. dnl Sequent wants getprocessstats
  355. dnl
  356. AC_CHECK_LIB(seq, get_process_stats, [
  357. LIBS="$LIBS -lseq"
  358. AC_DEFINE(HAVE_GET_PROCESS_STATS)])
  359. NETFILES=""
  360. vfs_flags="tarfs"
  361. use_net_code=false
  362. if test $have_socket = yes; then
  363. AC_STRUCT_LINGER
  364. AC_CHECK_FUNCS(pmap_set, , [
  365. AC_CHECK_LIB(rpc, pmap_set, [
  366. LIBS="-lrpc $LIBS"
  367. AC_DEFINE(HAVE_PMAP_SET)
  368. ])])
  369. AC_CHECK_FUNCS(pmap_getport pmap_getmaps rresvport)
  370. dnl add for source routing support setsockopt
  371. AC_CHECK_HEADERS(rpc/pmap_clnt.h)
  372. vfs_flags="$vfs_flags, mcfs, ftpfs"
  373. NETFILES="\$(NETFILES)"
  374. use_net_code=true
  375. fi
  376. AC_SUBST(NETFILES)
  377. screen_manager=unknown
  378. search_ncurses=false
  379. CFLAGS=${CFLAGS--O}
  380. LDFLAGS=${LDFLAGS--O}
  381. AC_DEFUN(AC_USE_SUNOS_CURSES, [
  382. search_ncurses=false
  383. screen_manager="SunOS 4.x /usr/5include curses"
  384. AC_MSG_RESULT(Using SunOS 4.x /usr/5include curses)
  385. AC_DEFINE(SUNOS_CURSES)
  386. AC_DEFINE(NO_COLOR_SUPPORT)
  387. AC_DEFINE(USE_SYSV_CURSES)
  388. CPPFLAGS="$CPPFLAGS -I/usr/5include"
  389. XCURSES="xcurses.o /usr/5lib/libcurses.a /usr/5lib/libtermcap.a"
  390. AC_MSG_RESULT(Please note that some screen refreshs may fail)
  391. AC_WARN(Reconsider using Slang)
  392. ])
  393. AC_DEFUN(AC_USE_OSF1_CURSES, [
  394. AC_MSG_RESULT(Using OSF1 curses)
  395. search_ncurses=false
  396. screen_manager="OSF1 curses"
  397. AC_DEFINE(NO_COLOR_SUPPORT)
  398. AC_DEFINE(USE_SYSV_CURSES)
  399. XCURSES="xcurses.o"
  400. LIBS="$LIBS -lcurses"
  401. ])
  402. AC_DEFUN(AC_USE_SYSV_CURSES, [
  403. AC_MSG_RESULT(Using SysV curses)
  404. AC_DEFINE(USE_SYSV_CURSES)
  405. XCURSES=""
  406. search_ncurses=false
  407. screen_manager="SysV/curses"
  408. LIBS="$LIBS -lcurses"
  409. ])
  410. XCURSES=""
  411. AC_SUBST(XCURSES)
  412. dnl AC_ARG_WITH(bsd-curses,
  413. dnl [--with-bsd-curses Used to compile with bsd curses, not very fancy],
  414. dnl search_ncurses=false
  415. dnl screen_manager="Ultrix/cursesX"
  416. dnl if test $system = ULTRIX
  417. dnl then
  418. dnl THIS_CURSES=cursesX
  419. dnl else
  420. dnl THIS_CURSES=curses
  421. dnl fi
  422. dnl
  423. dnl LIBS="$LIBS -l$THIS_CURSES -ltermcap"
  424. dnl AC_DEFINE(USE_BSD_CURSES)
  425. dnl XCURSES="xcurses.o"
  426. dnl AC_MSG_RESULT(Please note that some screen refreshs may fail)
  427. dnl AC_WARN(Use of the bsdcurses extension has some)
  428. dnl AC_WARN(display/input problems.)
  429. dnl AC_WARN(Reconsider using xcurses)
  430. dnl)
  431. AC_ARG_WITH(sco,
  432. [--with-sco Use this to turn on SCO-specific code],[
  433. if test x$withval = xyes; then
  434. AC_DEFINE(SCO_FLAVOR)
  435. CFLAGS="$CFLAGS -D_SVID3"
  436. fi
  437. ])
  438. AC_ARG_WITH(sunos-curses,
  439. [--with-sunos-curses Used to force SunOS 4.x curses],[
  440. if test x$withval = xyes; then
  441. AC_USE_SUNOS_CURSES
  442. fi
  443. ])
  444. AC_ARG_WITH(osf1-curses,
  445. [--with-osf1-curses Used to force OSF/1 curses],[
  446. if test x$withval = xyes; then
  447. AC_USE_OSF1_CURSES
  448. fi
  449. ])
  450. AC_ARG_WITH(vcurses,
  451. [--with-vcurses[=incdir] Used to force SysV curses],
  452. if test x$withval = xyes; then
  453. CPPFLAGS="$CPPFLAGS"
  454. else
  455. CPPFLAGS="$CPPFLAGS -I$withval"
  456. fi
  457. AC_USE_SYSV_CURSES
  458. )
  459. mouse_lib="xterm only"
  460. AC_ARG_WITH(gpm-mouse,
  461. [--with-gpm-mouse[=base-dir] Compile with gpm mouse support],[
  462. if test x$withval != xno
  463. then
  464. if test x$withval != xyes
  465. then
  466. LIBS="$LIBS -L$withval/lib"
  467. CPPFLAGS="$CPPFLAGS -I$withval/include"
  468. fi
  469. AC_DEFINE(HAVE_LIBGPM)
  470. mouse_lib="GPM and xterm"
  471. LIBS="$LIBS -lgpm"
  472. fi
  473. ],[
  474. AC_CHECK_LIB(gpm, Gpm_Repeat,[
  475. AC_DEFINE(HAVE_LIBGPM)
  476. mouse_lib="GPM and xterm"
  477. LIBS="$LIBS -lgpm"],[
  478. if test $system = Linux
  479. then
  480. AC_MSG_WARN("libgpm.a is missing or older than 0.18")
  481. fi
  482. ], $LIBS)
  483. ]
  484. )
  485. AC_ARG_WITH(ncurses,
  486. [--with-ncurses[=base-dir] Compile with ncurses/locate base dir],
  487. if test x$withval = xyes
  488. then
  489. search_ncurses=true
  490. else
  491. LIBS="$LIBS -L$withval/lib -lncurses"
  492. CPPFLAGS="$CPPFLAGS -I$withval/include"
  493. search_ncurses=false
  494. screen_manager="ncurses"
  495. AC_DEFINE(USE_NCURSES)
  496. fi
  497. )
  498. AC_ARG_WITH(hsc,
  499. [--with-hsc Compile with support for the HSC firewall],
  500. if test x$withval = xyes; then
  501. AC_DEFINE(HSC_PROXY)
  502. fi
  503. )
  504. AC_DEFUN(TK_MSG,[
  505. if test x$xvers = xnone; then
  506. xvers="Tk"
  507. else
  508. xvers="XView+Tk"
  509. fi
  510. ])
  511. dnl
  512. dnl Check for Tcl/Tk, should switch to Guile/Tk soon :-)
  513. dnl
  514. tkmc=""
  515. tk_includes=""
  516. tk_libs=""
  517. if test x$no_x != xyes; then
  518. AC_ARG_WITH(tk,
  519. [--with-tk Use the Tk toolkit],[
  520. if test x$withval = xyes; then
  521. tkmc="tkmc"
  522. fi])
  523. AC_ARG_WITH(tk-includes,
  524. [--with-tk-includes=dir Specifies the Tcl/Tk header directory],[
  525. if test x$withval = xyes; then
  526. AC_MSG_WARN(Usage is: --with-tk-includes=dir)
  527. else
  528. if test x$withval = xno; then
  529. AC_MSG_WARN(Usage is: --with-tk-includes=dir)
  530. else
  531. tk_includes="-I$withval"
  532. tkmc="tkmc"
  533. fi
  534. fi])
  535. AC_ARG_WITH(tk-libraries,
  536. [--with-tk-libraries=dir Specifies the Tcl/Tk library directory],[
  537. if test x$withval = xyes; then
  538. AC_MSG_WARN(Usage is: --with-tk-libraries=dir)
  539. else
  540. if test x$withval = xno; then
  541. AC_MSG_WARN(Usage is: --with-tk-libraries=dir)
  542. else
  543. tk_libs="-L$withval"
  544. tkmc="tkmc"
  545. fi
  546. fi])
  547. if test -n "$tkmc"; then
  548. AC_CHECKING(for Tcl/Tk)
  549. AC_CHECK_LIB(dl, dlopen, LIBS="$LIBS -ldl")
  550. tk_headers_found=no
  551. if test ! -n "$tk_includes"; then
  552. AC_CHECK_HEADER_IN_PATH(tcl.h, $include_additional_path, [
  553. AC_CHECK_HEADER_IN_PATH(tk.h, $include_additional_path, [
  554. tk_headers_found=yes
  555. if test -n "$ac_cv_header_in_path_tcl_h"; then
  556. tk_includes="-I$ac_cv_header_in_path_tcl_h";
  557. fi
  558. if test -n "$ac_cv_header_in_path_tk_h"; then
  559. if test "$ac_cv_header_in_path_tk_h" != "$ac_cv_header_in_path_tcl_h"; then
  560. tk_includes="$tk_includes -I$ac_cv_header_in_path_tk_h"
  561. fi
  562. fi
  563. ])
  564. ])
  565. else
  566. tk_headers_found=yes
  567. fi
  568. if test $tk_headers_found = no; then
  569. tkmc=""
  570. else
  571. tk_libs_found=no
  572. ac_save_tk_LIBS="$LIBS"
  573. ac_save_tk_LDFLAGS="$LDFLAGS"
  574. LIBS="$X_EXTRA_LIBS -lX11 $X_PRE_LIBS $LIBS"
  575. LDFLAGS="$LDFLAGS $X_LIBS"
  576. if test ! -n "$tk_libs"; then
  577. AC_CHECK_LIB(tcl, Tcl_Eval, [
  578. AC_CHECK_LIB(tk, Tk_CreateWindow, [
  579. tk_libs_found=yes
  580. ], , -ltcl -lm)
  581. ], , -lm)
  582. else
  583. tk_libs_found=yes
  584. fi
  585. LDFLAGS="$ac_save_tk_LDFLAGS"
  586. LIBS="$ac_save_tk_LIBS"
  587. if test $tk_libs_found = no; then
  588. tkmc=""
  589. fi
  590. fi
  591. fi
  592. fi
  593. if test -n "$tkmc"; then
  594. TK_MSG
  595. tkdep="tkdep"
  596. else
  597. tkdep=""
  598. fi
  599. AC_SUBST(tkmc)
  600. AC_SUBST(tkdep)
  601. AC_SUBST(tk_includes)
  602. AC_SUBST(tk_libs)
  603. dnl
  604. dnl Check for Gnome
  605. dnl
  606. gmc=""
  607. gmcdep=""
  608. AC_SUBST(insticons)
  609. GNOME_INIT_HOOK([
  610. gmc=gmc
  611. gmcdep=gmcdep
  612. insticons=install_icons
  613. if test x"$xvers" = xnone; then
  614. xvers="Gnome"
  615. else
  616. xvers="Gnome+$xvers"
  617. fi
  618. ])
  619. AC_SUBST(gmc)
  620. AC_SUBST(gmcdep)
  621. dnl
  622. dnl Check for the -mandoc package
  623. dnl
  624. AC_CHECK_PROG(HAVE_nroff, nroff, true, false)
  625. if $HAVE_nroff; then
  626. AC_MSG_CHECKING(for manual formatting macros)
  627. AC_CACHE_VAL(ac_cv_mandoc, [
  628. nroff -mandoc < /dev/null > /dev/null 2>&1 /dev/null
  629. if test $? = 0
  630. then
  631. ac_cv_mandoc=-mandoc
  632. else
  633. ac_cv_mandoc=-man
  634. fi
  635. ])
  636. MANDOC=$ac_cv_mandoc
  637. AC_MSG_RESULT($MANDOC)
  638. else
  639. MANDOC=-man
  640. fi
  641. AC_SUBST(MANDOC)
  642. dnl
  643. dnl Check if nroff accepts -Tascii
  644. dnl
  645. if $HAVE_nroff; then
  646. AC_MSG_CHECKING(If nroff accepts -Tascii)
  647. AC_CACHE_VAL(ac_cv_nroff_tascii, [
  648. nroff -Tascii < /dev/null > /dev/null 2>&1 /dev/null
  649. if test $? = 0
  650. then
  651. ac_cv_nroff_tascii=" -Tascii"
  652. AC_MSG_RESULT(yes)
  653. else
  654. ac_cv_nroff_tascii=""
  655. AC_MSG_RESULT(no)
  656. fi
  657. ])
  658. fi
  659. TROFFASCII="$ac_cv_nroff_tascii"
  660. AC_SUBST(TROFFASCII)
  661. dnl
  662. dnl Check for - option to file
  663. dnl
  664. AC_CHECK_PROG(HAVE_FILECMD, file, true, false)
  665. if $HAVE_FILECMD; then
  666. AC_MSG_CHECKING(for - option to file command)
  667. AC_CACHE_VAL(ac_cv_filestdin, [
  668. cat > conftest.c <<EOF
  669. /* A comment */
  670. #if 0
  671. #endif
  672. void main(void)
  673. { return; }
  674. EOF
  675. changequote(, )
  676. cat > conftest.sed <<EOF
  677. s/^[^:]*:[\ \ ]*//
  678. s/[\ \ ]*$//
  679. EOF
  680. filehyphen_1=`file conftest.c 2>/dev/null | sed -f conftest.sed`
  681. filehyphen_2=`cat conftest.c | file - 2>/dev/null | sed -f conftest.sed`
  682. if test "$filehyphen_1" = "$filehyphen_2"; then
  683. ac_cv_filestdin=yes
  684. else
  685. ac_cv_filestdin=no
  686. fi
  687. changequote([, ])
  688. rm conftest.c conftest.sed
  689. unset filehyphen_1
  690. unset filehyphen_2
  691. ])
  692. if test x$ac_cv_filestdin = xyes; then
  693. AC_DEFINE(FILE_STDIN)
  694. fi
  695. filestdin=$ac_cv_filestdin
  696. AC_MSG_RESULT($filestdin)
  697. dnl
  698. dnl Check for -L option to file
  699. dnl
  700. AC_MSG_CHECKING(for -L option to file command)
  701. AC_CACHE_VAL(ac_cv_filel, [
  702. file -L . > /dev/null 2>&1
  703. if test $? = 0
  704. then
  705. ac_cv_filel=yes
  706. else
  707. ac_cv_filel=no
  708. fi
  709. ])
  710. if test x$ac_cv_filel = xyes; then
  711. AC_DEFINE(FILE_L)
  712. fi
  713. filel=$ac_cv_filel
  714. AC_MSG_RESULT($filel)
  715. fi
  716. dnl
  717. dnl Check to see if grep program allowes dash to denote stdin
  718. dnl
  719. AC_MSG_CHECKING(for - option to grep command)
  720. AC_CACHE_VAL(ac_cv_grep_stdin, [
  721. grep ac_cv_grep_stdin - > /dev/null 2>&1 < ./configure
  722. if test $? = 0; then
  723. ac_cv_grep_stdin=yes
  724. else
  725. ac_cv_grep_stdin=no
  726. fi
  727. ])
  728. if test x$ac_cv_grep_stdin = xyes; then
  729. AC_DEFINE(GREP_STDIN)
  730. fi
  731. AC_MSG_RESULT($ac_cv_grep_stdin)
  732. dnl
  733. dnl HAVE_DUSUM is on by default, only if you have a strange du, you can
  734. dnl turn it off by --without-dusum
  735. dnl
  736. have_dusum=yes
  737. AC_MSG_CHECKING(for du arguments)
  738. AC_ARG_WITH(dusum,
  739. [--with-dusum Support the du -s summaries],[
  740. if test x$withval = xno; then
  741. have_dusum=no
  742. fi
  743. ])
  744. if test x$have_dusum = xyes; then
  745. AC_DEFINE(HAVE_DUSUM)
  746. AC_CACHE_VAL(ac_cv_dusum, [
  747. du -s -b $srcdir/configure >/dev/null 2>&1
  748. if test $? = 0; then
  749. ac_cv_dusum='dusum_useb=yes; dusum_factor=1'
  750. else
  751. ac_cv_dusum='dusum_useb=; dusum_factor=512'
  752. fi
  753. ])
  754. eval "$ac_cv_dusum"
  755. if test x$dusum_useb = xyes; then
  756. AC_DEFINE(DUSUM_USEB)
  757. AC_MSG_RESULT(-b)
  758. else
  759. AC_MSG_RESULT(block size $dusum_factor)
  760. fi
  761. AC_DEFINE_UNQUOTED(DUSUM_FACTOR, $dusum_factor)
  762. fi
  763. dnl
  764. dnl The termnet support
  765. dnl
  766. termnet=false
  767. AC_ARG_WITH(termnet,
  768. [--with-termnet If you want a termified net support],[
  769. if test x$withval = xyes; then
  770. AC_DEFINE(USE_TERMNET)
  771. termnet=true
  772. fi
  773. ])
  774. dnl
  775. dnl The subshell support
  776. dnl
  777. AC_MSG_CHECKING(for subshell support)
  778. AC_ARG_WITH(subshell,
  779. [--with-subshell If you want to use a concurrent shell],
  780. result=no
  781. if test x$withval = xoptional
  782. then
  783. AC_DEFINE(SUBSHELL_OPTIONAL)
  784. AC_DEFINE(HAVE_SUBSHELL_SUPPORT)
  785. result="optional"
  786. fi
  787. if test x$withval = xyes
  788. then
  789. AC_DEFINE(HAVE_SUBSHELL_SUPPORT)
  790. result="yes"
  791. fi,
  792. dnl Default: provide the subshell support on non-ultrix machines
  793. if test $system = ULTRIX
  794. then
  795. result=no
  796. else
  797. AC_DEFINE(HAVE_SUBSHELL_SUPPORT)
  798. result=yes
  799. fi
  800. )
  801. AC_MSG_RESULT($result)
  802. subshell="$result"
  803. dnl
  804. dnl Check for GCC
  805. dnl
  806. if test x$GCC = x
  807. then
  808. AC_DEFINE(OLD_TOOLS)
  809. CPPFLAGS="$CPPFLAGS -Dinline="
  810. fi
  811. dnl
  812. dnl This option is only inteded for being used by me :-)
  813. dnl It has some nasty hacks built in.
  814. dnl
  815. mem_debug="none"
  816. AC_ARG_WITH(debug,
  817. [--with-debug For use by developers only: activates -Wall and MAD],
  818. [if test x$withval = xyes; then
  819. CFLAGS="$CFLAGS -Wall"
  820. mem_debug="Janne's MAD library"
  821. AC_DEFINE(HAVE_MAD)
  822. AC_DEFINE(MCDEBUG)
  823. if [ echo `uname -s -r` | grep -q 'SunOS 4.1' ]
  824. then
  825. CFLAGS="$CFLAGS -Wno-implicit"
  826. fi
  827. if echo "$CFLAGS" | grep -e -g >/dev/null 2>&1; then
  828. :
  829. else
  830. if test $cc_uses_g = yes; then
  831. CFLAGS="$CFLAGS -g"
  832. fi
  833. fi
  834. AC_MSG_RESULT(compiling with -Wall and the memory leak detector)
  835. fi])
  836. dnl
  837. dnl This option is only inteded for being used by me :-)
  838. dnl It has some nasty hacks built in.
  839. dnl
  840. AC_ARG_WITH(efence,
  841. [--with-efence Developers only: activates -Wall and efence],
  842. [if test x$withval = xyes; then
  843. CFLAGS="$CFLAGS -Wall"
  844. AC_DEFINE(MCDEBUG)
  845. LIBS="$LIBS -lefence"
  846. if [ echo `uname -s -r` | grep -q 'SunOS 4.1' ]
  847. then
  848. CFLAGS="$CFLAGS -Wno-implicit"
  849. fi
  850. if echo "$CFLAGS" | grep -e -g >/dev/null 2>&1; then
  851. :
  852. else
  853. if test $cc_uses_g = yes; then
  854. CFLAGS="$CFLAGS -g"
  855. fi
  856. fi
  857. AC_MSG_RESULT(compiling with -Wall and Electric fence)
  858. mem_debug="Electric Fence"
  859. fi])
  860. dnl
  861. dnl To force mmap support
  862. dnl We use only part of the functionality of mmap, so on AIX,
  863. dnl it's possible to use mmap, even if it doesn't pass the autoconf test.
  864. dnl
  865. AC_ARG_WITH(mmap,
  866. [--with-mmap To force using the mmap call (AIX)],
  867. [if test x$withval = xyes; then
  868. AC_DEFINE(HAVE_MMAP)
  869. AC_MSG_RESULT(forcing MMAP support)
  870. fi])
  871. AC_DEFUN(AC_USE_TERMINFO,
  872. AC_DEFINE(SLANG_TERMINFO)
  873. AC_MSG_RESULT(Using SLang screen manager/terminfo)
  874. slang_term=" with terminfo"
  875. )
  876. AC_DEFUN(AC_USE_TERMCAP,
  877. AC_MSG_RESULT(Using SLang screen manager/termcap)
  878. AC_DEFINE(USE_TERMCAP)
  879. dnl Check with $LIBS at the end so that it works with ELF libs.
  880. AC_CHECK_LIB(termcap, tgoto, LIBS="$LIBS -ltermcap", , $LIBS)
  881. slang_term=" with termcap"
  882. )
  883. slang_check_lib=true
  884. slang_term=""
  885. slang_use_system_installed_lib=false
  886. AC_CHECK_LIB(slang,SLang_init_tty,
  887. AC_CHECK_HEADERS(slang.h)
  888. if test x$ac_cv_header_slang_h = xyes
  889. then
  890. slang_use_system_installed_lib=true
  891. slang_check_lib=false
  892. else
  893. AC_CHECK_HEADERS(slang/slang.h)
  894. if test x$ac_cv_header_slang_slang_h = xyes
  895. then
  896. slang_use_system_installed_lib=true
  897. slang_check_lib=false
  898. AC_DEFINE(SLANG_H_INSIDE_SLANG_DIR)
  899. fi
  900. fi
  901. )
  902. AC_ARG_WITH(terminfo,
  903. [--with-terminfo SLANG: Force usage of terminfo],[
  904. AC_USE_TERMINFO
  905. slang_check_lib=false
  906. slang_use_system_installed_lib=false
  907. ]
  908. )
  909. AC_ARG_WITH(termcap,
  910. [--with-termcap SLANG: Force usage of termcap],[
  911. AC_USE_TERMCAP
  912. slang_check_lib=false
  913. slang_use_system_installed_lib=false
  914. ]
  915. )
  916. AC_ARG_WITH(our-slang,
  917. [--with-our-slang SLANG: Don't use system-installed SLang],[
  918. slang_use_system_installed_lib=false
  919. slang_check_lib=true
  920. ]
  921. )
  922. AC_DEFUN(AC_WITH_SLANG,
  923. AC_DEFINE(HAVE_SLANG)
  924. search_ncurses=false
  925. if $slang_use_system_installed_lib
  926. then
  927. AC_DEFINE(HAVE_SYSTEM_SLANG)
  928. LIBS="$LIBS -lslang"
  929. screen_manager="SLang (using system-installed library)"
  930. AC_MSG_RESULT(Using system installed SLang library)
  931. else
  932. CPPFLAGS="$CPPFLAGS -I\$(slangdir)"
  933. LIBSLANG="libmcslang.a"
  934. screen_manager="SLang"
  935. LSLANG="-lmcslang"
  936. fastdepslang=fastdepslang
  937. fi
  938. if $slang_check_lib
  939. then
  940. use_terminfo=false
  941. if test -d /usr/lib/terminfo; then
  942. use_terminfo=true;
  943. fi
  944. if test -d /usr/share/lib/terminfo; then
  945. use_terminfo=true;
  946. fi
  947. if test -d /usr/local/lib/terminfo; then
  948. use_terminfo=true;
  949. fi
  950. if test -d /lib/terminfo; then
  951. use_terminfo=true;
  952. fi
  953. if test -d /usr/local/share/terminfo; then
  954. use_terminfo=true;
  955. fi
  956. if test -d /usr/share/terminfo; then
  957. use_terminfo=true;
  958. fi
  959. if $use_terminfo; then
  960. AC_USE_TERMINFO
  961. else
  962. AC_USE_TERMCAP
  963. fi
  964. fi
  965. )
  966. LIBSLANG=""
  967. LSLANG=""
  968. fastdepslang=""
  969. AC_ARG_WITH(slang,
  970. [--with-slang Compile with the slang screen manager],[
  971. if test x$withval = xyes; then
  972. AC_WITH_SLANG
  973. fi
  974. ])
  975. AC_SUBST(LIBSLANG)
  976. AC_SUBST(LSLANG)
  977. AC_SUBST(fastdepslang)
  978. TERMNET=""
  979. AC_DEFUN(AC_WITH_VFS, [
  980. AC_DEFINE(USE_VFS)
  981. if $use_net_code; then
  982. AC_DEFINE(USE_NETCODE)
  983. fi
  984. LIBVFS="libvfs.a"
  985. LVFS="-lvfs"
  986. fastdepvfs=fastdepvfs
  987. if test $have_socket = yes; then
  988. mcserv="mcserv"
  989. if $termnet; then
  990. TERMNET="-ltermnet"
  991. fi
  992. fi
  993. CPPFLAGS="$CPPFLAGS -I\$(vfsdir)"
  994. AC_MSG_RESULT(Using the VFS switch code)
  995. vfs_type="Midnight Commander Virtual File System"
  996. ])
  997. AC_SUBST(TERMNET)
  998. LIBVFS=""
  999. LVFS=""
  1000. fastdepvfs=""
  1001. mcserv=""
  1002. vfs_type="normal"
  1003. AC_ARG_WITH(vfs,
  1004. [--with-vfs Compile with the VFS code],
  1005. if test x$withval = xyes
  1006. then
  1007. AC_WITH_VFS
  1008. else
  1009. vfs_flags=""
  1010. fi,
  1011. dnl Default: provide the VFS code
  1012. AC_WITH_VFS
  1013. )
  1014. AC_SUBST(LIBVFS)
  1015. AC_SUBST(LVFS)
  1016. AC_SUBST(fastdepvfs)
  1017. AC_SUBST(mcserv)
  1018. AC_DEFUN(AC_WITH_EDIT, [
  1019. AC_DEFINE(USE_INTERNAL_EDIT)
  1020. LIBEDIT_A="libedit.a"
  1021. MCEDIT="mcedit"
  1022. LEDIT="-ledit"
  1023. CPPFLAGS="$CPPFLAGS -I\$(rootdir)"
  1024. EDIT_msg="yes"
  1025. AC_MSG_RESULT(will call internal editor)
  1026. ])
  1027. LIBEDIT_A=""
  1028. MCEDIT=""
  1029. LEDIT=""
  1030. EDIT_msg=""
  1031. AC_ARG_WITH(edit,
  1032. [--with-edit Define INTERNAL_EDIT],
  1033. if test x$withval = xyes
  1034. then
  1035. AC_WITH_EDIT
  1036. else
  1037. EDIT_msg="no"
  1038. fi,
  1039. dnl Default: provide the internal editor
  1040. AC_WITH_EDIT
  1041. )
  1042. AC_SUBST(LIBEDIT_A)
  1043. AC_SUBST(MCEDIT)
  1044. AC_SUBST(LEDIT)
  1045. AC_ARG_WITH(netrc,
  1046. [--with-netrc Compile with ftp .netrc support],[
  1047. AC_DEFINE(USE_NETRC)
  1048. AC_MSG_RESULT(ftpfs will have .netrc parsing code)
  1049. ])
  1050. undelfs_o=""
  1051. AC_DEFUN(AC_EXT2_UNDEL, [
  1052. AC_CHECK_HEADERS(ext2fs/ext2fs.h linux/ext2_fs.h)
  1053. if test x$ac_cv_header_ext2fs_ext2fs_h = xyes
  1054. then
  1055. if test x$ac_cv_header_linux_ext2_fs_h = xyes
  1056. then
  1057. AC_DEFINE(USE_EXT2FSLIB)
  1058. AC_MSG_RESULT(With ext2fs file recovery code)
  1059. vfs_flags="${vfs_flags} undelfs"
  1060. undelfs_o="undelfs.o"
  1061. LIBS="$LIBS -lext2fs -lcom_err"
  1062. else
  1063. AC_MSG_WARN(No ext2fs file recovery code: linux/ext2_fs.h is missing)
  1064. fi
  1065. else
  1066. AC_MSG_WARN(No ext2fs file recovery code: ext2fs/ext2fs.h is missing)
  1067. fi
  1068. ])
  1069. AC_ARG_WITH(ext2undel,
  1070. [--with-ext2undel Compile with ext2 undelete code],[
  1071. if test x$withval = xyes;
  1072. then
  1073. AC_EXT2_UNDEL
  1074. fi],
  1075. dnl Default: detect
  1076. AC_CHECK_LIB(ext2fs, ext2fs_close, AC_EXT2_UNDEL,,-lcom_err)
  1077. )
  1078. AC_SUBST(undelfs_o)
  1079. dnl
  1080. dnl Parameters: directory filename LIBS_append CPPFLAGS_append nicename
  1081. dnl
  1082. AC_DEFUN(AC_NCURSES, [
  1083. if $search_ncurses
  1084. then
  1085. if test -f $1/$2
  1086. then
  1087. AC_MSG_RESULT(Found ncurses on $1/$2)
  1088. LIBS="$LIBS $3"
  1089. CPPFLAGS="$CPPFLAGS $4"
  1090. search_ncurses=false
  1091. screen_manager=$5
  1092. AC_DEFINE(USE_NCURSES)
  1093. fi
  1094. fi
  1095. ])
  1096. if $search_ncurses
  1097. then
  1098. AC_CHECKING("location of ncurses.h file")
  1099. AC_NCURSES(/usr/include, ncurses.h, -lncurses,, "ncurses on /usr/include")
  1100. AC_NCURSES(/usr/include/ncurses, ncurses.h, -lncurses, -I/usr/include/ncurses, "ncurses on /usr/include/ncurses")
  1101. AC_NCURSES(/usr/local/include, ncurses.h, -lncurses -L/usr/local/lib, -I/usr/local/include, "ncurses on /usr/local")
  1102. AC_NCURSES(/usr/local/include/ncurses, ncurses.h, -lncurses -L/usr/local/lib -L/usr/local/lib/ncurses, -I/usr/local/include/ncurses, "ncurses on /usr/local/include/ncurses")
  1103. AC_NCURSES(/usr/local/include/ncurses, curses.h, -lncurses -L/usr/local/lib, -I/usr/local/include/ncurses -DRENAMED_NCURSES, "renamed ncurses on /usr/local/.../ncurses")
  1104. AC_NCURSES(/usr/include/ncurses, curses.h, -lncurses, -I/usr/include/ncurses -DRENAMED_NCURSES, "renamed ncurses on /usr/include/ncurses")
  1105. dnl
  1106. dnl We couldn't find ncurses, try SysV curses
  1107. dnl
  1108. if $search_ncurses
  1109. then
  1110. AC_EGREP_HEADER(init_color, /usr/include/curses.h,
  1111. AC_USE_SYSV_CURSES)
  1112. AC_EGREP_CPP(USE_NCURSES,[
  1113. #include <curses.h>
  1114. #ifdef __NCURSES_H
  1115. #undef USE_NCURSES
  1116. USE_NCURSES
  1117. #endif
  1118. ],[
  1119. CPPFLAGS="$CPPFLAGS -DRENAMED_NCURSES"
  1120. AC_DEFINE(USE_NCURSES)
  1121. search_ncurses=false
  1122. screen_manager="ncurses installed as curses"
  1123. ])
  1124. fi
  1125. dnl
  1126. dnl Try SunOS 4.x /usr/5{lib,include} ncurses
  1127. dnl The flags SUNOS_CURSES, USE_BSD_CURSES and BUGGY_CURSES
  1128. dnl should be replaced by a more fine grained selection routine
  1129. dnl
  1130. if $search_ncurses
  1131. then
  1132. if test -f /usr/5include/curses.h
  1133. then
  1134. AC_USE_SUNOS_CURSES
  1135. fi
  1136. else
  1137. # check for ncurses version, to properly ifdef mouse-fix
  1138. AC_MSG_CHECKING(for ncurses version)
  1139. ncurses_version=unknown
  1140. cat > conftest.$ac_ext <<EOF
  1141. [#]line __oline__ "configure"
  1142. #include "confdefs.h"
  1143. #ifdef RENAMED_NCURSES
  1144. #include <curses.h>
  1145. #else
  1146. #include <ncurses.h>
  1147. #endif
  1148. #undef VERSION
  1149. VERSION:NCURSES_VERSION
  1150. EOF
  1151. if (eval "$ac_cpp conftest.$ac_ext") 2>&AC_FD_CC |
  1152. egrep "VERSION:" >conftest.out 2>&1; then
  1153. changequote(,)dnl
  1154. ncurses_version=`cat conftest.out|sed -e 's/^[^"]*"//' -e 's/".*//'`
  1155. changequote([,])dnl
  1156. fi
  1157. rm -rf conftext*
  1158. AC_MSG_RESULT($ncurses_version)
  1159. case "$ncurses_version" in
  1160. changequote(,)dnl
  1161. 4.[01])
  1162. changequote([,])dnl
  1163. AC_DEFINE(NCURSES_970530,2)
  1164. ;;
  1165. 1.9.9g)
  1166. AC_DEFINE(NCURSES_970530,1)
  1167. ;;
  1168. 1*)
  1169. AC_DEFINE(NCURSES_970530,0)
  1170. ;;
  1171. esac
  1172. fi
  1173. fi
  1174. AC_CHECK_FUNCS(resizeterm keyok)
  1175. if test "x$screen_manager" = "xunknown"; then
  1176. AC_WITH_SLANG
  1177. fi
  1178. dnl
  1179. dnl The variables used for expanding the auto saver.
  1180. dnl
  1181. saver=""
  1182. saver_target=""
  1183. vcs=""
  1184. install_saver="no"
  1185. PAMLIBS=""
  1186. if test $system = Linux
  1187. then
  1188. saver="install.saver"
  1189. saver_target="cons.saver"
  1190. vcs="install.create_vcs"
  1191. install_saver="yes"
  1192. dnl
  1193. dnl On Linux, check for PAM authentication available
  1194. dnl
  1195. AC_CHECK_LIB(pam, pam_start, [
  1196. AC_DEFINE(HAVE_PAM)
  1197. PAMLIBS="-lpam -ldl"
  1198. ],[],[-ldl])
  1199. fi
  1200. AC_SUBST(saver_target)
  1201. AC_SUBST(saver)
  1202. AC_SUBST(vcs)
  1203. AC_SUBST(PAMLIBS)
  1204. dnl
  1205. dnl We need sed in order to fix the library files
  1206. dnl
  1207. SEDCMD="sed 's/-man/$MANDOC/'"
  1208. SEDCMD2="sed 's%@prefix@%\$(prefix)%'"
  1209. AC_SUBST(SEDCMD)
  1210. AC_SUBST(SEDCMD2)
  1211. if test x$no_xview = xyes; then
  1212. :
  1213. else
  1214. AC_LIB_XPM
  1215. if test x$ac_cv_has_xpm = xyes; then
  1216. XPM_LIB=-lXpm
  1217. AC_SUBST(XPM_LIB)
  1218. AC_X_SHAPE_EXTENSION
  1219. if test x$ac_cv_has_shape = xyes; then
  1220. AC_DEFINE(HAVE_XPM_SHAPE)
  1221. XEXT_LIB=-lXext
  1222. AC_SUBST(XEXT_LIB)
  1223. fi
  1224. fi
  1225. fi
  1226. dnl
  1227. dnl This code should be moved to the ac_WITH_SLANG
  1228. dnl
  1229. dnl We check for the existance of setupterm on curses library
  1230. dnl this is required to load certain definitions on some termcaps
  1231. dnl editions (AIX and OSF/1 I seem to remember).
  1232. dnl Note that we avoid using setupterm
  1233. case $screen_manager in
  1234. changequote(,)dnl
  1235. [Ss][Ll][Aa][Nn][Gg]*)
  1236. changequote([, ])dnl
  1237. if test $system = Linux
  1238. then
  1239. echo
  1240. else
  1241. AC_CHECK_LIB(curses,setupterm,[
  1242. AC_TRY_COMPILE([
  1243. #include <curses.h>
  1244. #include <term.h>],[
  1245. if (key_end == parm_insert_line)
  1246. return 1;
  1247. return 0;
  1248. ],[
  1249. LIBS="$LIBS -lcurses"
  1250. AC_DEFINE(USE_SETUPTERM)])])
  1251. fi
  1252. ;;
  1253. esac
  1254. LIBS="$LIBS $posix_libs"
  1255. CPPFLAGS="-I.. $CPPFLAGS"
  1256. AC_SUBST(CFLAGS)
  1257. AC_SUBST(CPPFLAGS)
  1258. AC_SUBST(LDFLAGS)
  1259. AC_SUBST(LIBS)
  1260. ac_cv_make_with_percent_rules=no
  1261. if test x$ac_cv_prog_gnu_make = xyes; then
  1262. MCFG='include ../Make.common'
  1263. MCFGR='include ./Make.common'
  1264. MCF=/dev/null
  1265. PHONY='.PHONY:'
  1266. DOTDEPEND='ifeq (.depend,$(wildcard .depend)) \
  1267. include .depend \
  1268. endif'
  1269. WRITEDEP=":"
  1270. ac_cv_make_with_percent_rules=yes
  1271. else
  1272. MCFG=""
  1273. MCFGR=""
  1274. MCF=./Make.common
  1275. PHONY='#'
  1276. DOTDEPEND=""
  1277. WRITEDEP='sed "/^. \*\*\*Dependencies\*\*\*/,/^. \*\*\*End of dependencies\*\*\*/d" < Makefile > Makefile.conf; { cat Makefile.conf; echo "# ***Dependencies***Do not edit***"; cat .depend; echo "# ***End of dependencies***" } > Makefile; $(RMF) Makefile.conf .depend'
  1278. fi
  1279. AC_SUBST(PHONY)
  1280. AC_SUBST(WRITEDEP)
  1281. AC_SUBST(MCFG)
  1282. AC_SUBST(MCFGR)
  1283. AC_SUBST(DOTDEPEND)
  1284. AC_SUBST_FILE(MCF)
  1285. if test x$ac_cv_make_with_percent_rules = xyes; then
  1286. PCENTRULE=""
  1287. else
  1288. PCENTRULE="#"
  1289. fi
  1290. AC_SUBST(PCENTRULE)
  1291. dnl
  1292. dnl Output configuration filesn
  1293. dnl
  1294. AC_OUTPUT([
  1295. Make.common
  1296. Makefile
  1297. doc/Makefile
  1298. vfs/Makefile
  1299. lib/Makefile
  1300. tk/Makefile
  1301. gnome/Makefile
  1302. xv/Makefile
  1303. src/Makefile
  1304. slang/Makefile
  1305. edit/Makefile
  1306. icons/Makefile
  1307. lib/mc.ext
  1308. mcfn_install
  1309. vfs/extfs/ftplist vfs/extfs/zip vfs/extfs/zoo vfs/extfs/lslR
  1310. vfs/extfs/lha vfs/extfs/cpio vfs/extfs/deb vfs/extfs/rar
  1311. doc/mc.1 doc/mcedit.1 doc/mcserv.8
  1312. intl/Makefile po/Makefile.in
  1313. ],[sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile])
  1314. if test x$srcdir != x; then
  1315. if test $srcdir != .; then
  1316. cp $srcdir/VERSION VERSION
  1317. mkdir nt
  1318. mkdir os2
  1319. cp $srcdir/nt/Makefile nt/Makefile
  1320. cp $srcdir/os2/Makefile os2/Makefile
  1321. fi
  1322. fi
  1323. if test "x$screen_manager" = xSLang; then
  1324. screen_manager="${screen_manager}${slang_term}"
  1325. fi
  1326. echo "
  1327. Configuration:
  1328. Source code location: ${srcdir}
  1329. Compiler: ${CC}
  1330. Compiler flags: ${CFLAGS}
  1331. File system: ${vfs_type}
  1332. ${vfs_flags}
  1333. Text mode screen manager: ${screen_manager}
  1334. Install console saver: ${install_saver}
  1335. Text mode mouse library: ${mouse_lib}
  1336. Debugger code: ${mem_debug}
  1337. With subshell support: ${subshell}
  1338. X11 versions: ${xvers}
  1339. Internal editor: ${EDIT_msg}
  1340. Install path: ${prefix}/bin, ${prefix}/lib/mc"
  1341. if test -n "$xv_bindir"; then
  1342. echo " XView version install path: ${xv_bindir}"
  1343. fi
  1344. echo ""