configure.in 40 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816
  1. #############################################################################
  2. #
  3. # MODULE: Grass Compilation
  4. # AUTHOR(S): Original author unknown - probably CERL
  5. # Eric G. Miller - egm2 jps.net
  6. # Justin Hickey - Thailand - jhickey hpcc.nectec.or.th
  7. # Markus Neteler - Germany/Italy - neteler itc.it
  8. # PURPOSE: This configure runs all the tests to determine what components
  9. # are installed on the current system. It also defines certain
  10. # configuration variables for compilation and installation.
  11. # COPYRIGHT: (C) 2000-2009 by the GRASS Development Team
  12. #
  13. # This program is free software under the GNU General Public
  14. # License (>=v2). Read the file COPYING that comes with GRASS
  15. # for details.
  16. #
  17. # MANUAL: http://www.gnu.org/software/autoconf/manual/autoconf.html
  18. # Website for config.guess, config.sub:
  19. # http://savannah.gnu.org/cgi-bin/viewcvs/config/config/
  20. # Note: use autoconf-2.13
  21. #############################################################################
  22. define([AC_CACHE_LOAD], )
  23. define([AC_CACHE_SAVE], )
  24. define([AC_CACHE_VAL], [
  25. $2
  26. ])
  27. AC_INIT(configure.in)
  28. AC_PREREQ(2.13)
  29. AC_PREFIX_DEFAULT(/usr/local)
  30. AC_CONFIG_HEADER(include/config.h)
  31. AC_CANONICAL_HOST
  32. AC_PROG_CC
  33. LOC_EXEEXT
  34. AC_SUBST(MINGW32)
  35. # Check for full floating-point support, including Infinity and NaN
  36. IEEEFLAG=
  37. LOC_CHECK_FP_INF_NAN([],
  38. [],
  39. [ ac_save_cflags=${CFLAGS}
  40. CFLAGS=-mieee
  41. LOC_CHECK_FP_INF_NAN([ with -mieee],
  42. [IEEEFLAG="-mieee"],
  43. [AC_MSG_WARN([*** Incomplete floating-point support.])],
  44. [AC_MSG_ERROR([*** INTERNAL CONFIGURE ERROR])])
  45. CFLAGS=${ac_save_cflags}],
  46. [ LOC_CHECK_CC_MIEEE ])
  47. CFLAGS="$CFLAGS $IEEEFLAG"
  48. # Set BINDIR
  49. if test -n "${bindir}"; then
  50. BINDIR="${bindir}"
  51. else
  52. BINDIR=/usr/local/bin
  53. fi
  54. AC_SUBST(BINDIR)
  55. # Set SRCDIR and DSTDIR
  56. AC_PATH_PROG(pwd, pwd, pwd)
  57. if test "$MINGW32" = yes ; then
  58. winpwd="$pwd -W"
  59. else
  60. winpwd="$pwd"
  61. fi
  62. AC_MSG_CHECKING(for source directory)
  63. if test -z "$srcdir" ; then
  64. SRCDIR=`$pwd`
  65. else
  66. SRCDIR=`(cd "$srcdir" ; $pwd)`
  67. fi
  68. AC_MSG_RESULT("$SRCDIR")
  69. AC_MSG_CHECKING(for build directory)
  70. DSTDIR=`$pwd`
  71. WINDSTDIR=`$winpwd`
  72. AC_MSG_RESULT("$DSTDIR")
  73. AC_SUBST(SRCDIR)
  74. AC_SUBST(DSTDIR)
  75. # Set ARCH
  76. ARCH=
  77. if test -z "${host}"; then
  78. ARCH="unknown"
  79. else
  80. ARCH="${host}"
  81. fi
  82. AC_SUBST(ARCH)
  83. # Use absolute path for aux directory so that install-sh works
  84. AC_CONFIG_AUX_DIR($SRCDIR)
  85. # Set GISBASE and GRASS_BIN
  86. GISBASE=${WINDSTDIR}/dist.${ARCH}
  87. GRASS_BIN=${DSTDIR}/bin.${ARCH}
  88. AC_SUBST(GISBASE)
  89. AC_SUBST(GRASS_BIN)
  90. # Set GRASS_VERSION_*
  91. GRASS_VERSION_FILE=include/VERSION
  92. GRASS_VERSION_MAJOR=`sed -n 1p ${GRASS_VERSION_FILE}`
  93. GRASS_VERSION_MINOR=`sed -n 2p ${GRASS_VERSION_FILE}`
  94. GRASS_VERSION_RELEASE=`sed -n 3p ${GRASS_VERSION_FILE}`
  95. GRASS_VERSION_DATE=`sed -n 4p ${GRASS_VERSION_FILE}`
  96. GRASS_VERSION_NUMBER=`echo ${GRASS_VERSION_MAJOR}.${GRASS_VERSION_MINOR}.${GRASS_VERSION_RELEASE}`
  97. NAME_VER=`echo ${GRASS_VERSION_NUMBER} | sed 's/\..*//'`
  98. changequote(,)
  99. LIB_VER=`echo ${GRASS_VERSION_NUMBER} | sed 's/^\([0-9.]*\).*$/\1/'`
  100. changequote([,])
  101. AC_SUBST(GRASS_VERSION_FILE)
  102. AC_SUBST(GRASS_VERSION_MAJOR)
  103. AC_SUBST(GRASS_VERSION_MINOR)
  104. AC_SUBST(GRASS_VERSION_RELEASE)
  105. AC_SUBST(GRASS_VERSION_NUMBER)
  106. AC_SUBST(GRASS_VERSION_DATE)
  107. AC_SUBST(NAME_VER)
  108. AC_SUBST(LIB_VER)
  109. # Check for MacOSX App
  110. AC_ARG_ENABLE(macosx-app,
  111. [ --enable-macosx-app create a MacOSX application],,
  112. [enable_macosx_app=no])
  113. AC_MSG_CHECKING(for MacOSX App)
  114. case "$enable_macosx_app" in
  115. yes) MACOSX_APP=1 ;;
  116. no) MACOSX_APP= ;;
  117. *) AC_MSG_ERROR([*** You must answer yes or no.]) ;;
  118. esac
  119. AC_MSG_RESULT("$enable_macosx_app")
  120. AC_SUBST(MACOSX_APP)
  121. # Set INST_DIR
  122. if test -n "$MACOSX_APP" ; then
  123. INSTDIR='${prefix}'"/GRASS-${GRASS_VERSION_MAJOR}.${GRASS_VERSION_MINOR}.app/Contents/MacOS"
  124. else
  125. INSTDIR='${prefix}'"/grass-${GRASS_VERSION_MAJOR}.${GRASS_VERSION_MINOR}.${GRASS_VERSION_RELEASE}"
  126. fi
  127. AC_SUBST(INSTDIR)
  128. # Get flags for building shared libraries
  129. SC_ENABLE_SHARED
  130. ac_save_ldflags="$LDFLAGS"
  131. SC_CONFIG_CFLAGS
  132. LDFLAGS="${ac_save_ldflags} $LDFLAGS"
  133. # Enable options
  134. AC_ARG_ENABLE(w11,
  135. [ --enable-w11 use W11 library for Windows X11 emulation],,
  136. [enable_w11=no])
  137. # With options
  138. LOC_ARG_WITH(cxx, C++, no)
  139. #LOC_ARG_WITH(g77, GNU Fortran 77, no)
  140. LOC_ARG_WITH(jpeg, JPEG)
  141. LOC_ARG_WITH(tiff, TIFF)
  142. LOC_ARG_WITH(png, PNG)
  143. LOC_ARG_WITH(tcltk, Tcl/Tk)
  144. LOC_ARG_WITH(postgres, PostgreSQL, no)
  145. LOC_ARG_WITH(mysql, MySQL, no)
  146. LOC_ARG_WITH(sqlite, SQLite, no)
  147. LOC_ARG_WITH(ffmpeg, FFMPEG, no)
  148. LOC_ARG_WITH(opengl, OpenGL)
  149. LOC_ARG_WITH(odbc, ODBC, no)
  150. LOC_ARG_WITH(fftw, FFTW)
  151. LOC_ARG_WITH(blas, BLAS, no)
  152. LOC_ARG_WITH(lapack, LAPACK, no)
  153. LOC_ARG_WITH(cairo, Cairo)
  154. LOC_ARG_WITH(freetype, FreeType)
  155. LOC_ARG_WITH(nls, NLS, no)
  156. LOC_ARG_WITH(readline, Readline, no)
  157. LOC_ARG_WITH(opendwg, openDWG, no)
  158. LOC_ARG_WITH(regex, regex)
  159. LOC_ARG_WITH(pthread, POSIX threads, no)
  160. AC_ARG_WITH(gdal,
  161. [ --with-gdal[=path/gdal-config] enable GDAL/OGR support (gdal-config with path, \
  162. e.g. '--with-gdal=/usr/local/bin/gdal-config')])
  163. AC_ARG_WITH(python,
  164. [ --with-python[=path/python-config] enable support for Python SWIG bindings and wxGUI Python extensions \
  165. (python-config with path, e.g. '--with-python=/usr/bin/python2.5-config', \
  166. default: no)],, with_python="no")
  167. AC_ARG_WITH(wxwidgets,
  168. [ --with-wxwidgets[=path/wx-config] enable wxWidgets support (wx-config with path, \
  169. e.g. '--with-wxwidgets=/usr/local/bin/wx-config', default: no)],, with_wxwidgets="no")
  170. # With includes and libs options
  171. AC_ARG_WITH(geos,
  172. [ --with-geos[=path/geos-config] enable GEOS support (geos-config with path, \
  173. e.g. '--with-geos=/usr/local/bin/geos-config', default: no)],, with_geos="no")
  174. AC_ARG_WITH(includes,
  175. [ --with-includes=DIRS site include files are in DIRS])
  176. AC_ARG_WITH(libs,
  177. [ --with-libs=DIRS site library files are in DIRS])
  178. LOC_ARG_WITH_INC(zlib, zlib)
  179. LOC_ARG_WITH_LIB(zlib, zlib)
  180. LOC_ARG_WITH_INC(readline, Readline)
  181. LOC_ARG_WITH_LIB(readline, Readline)
  182. LOC_ARG_WITH_INC(jpeg, JPEG)
  183. LOC_ARG_WITH_LIB(jpeg, JPEG)
  184. LOC_ARG_WITH_INC(tiff, TIFF)
  185. LOC_ARG_WITH_LIB(tiff, TIFF)
  186. LOC_ARG_WITH_INC(png, PNG)
  187. LOC_ARG_WITH_LIB(png, PNG)
  188. LOC_ARG_WITH_INC(tcltk, Tcl/Tk)
  189. LOC_ARG_WITH_LIB(tcltk, Tcl/Tk)
  190. LOC_ARG_WITH_INC(postgres, PostgreSQL)
  191. LOC_ARG_WITH_LIB(postgres, PostgreSQL)
  192. LOC_ARG_WITH_INC(mysql, MySQL)
  193. LOC_ARG_WITH_LIB(mysql, MySQL)
  194. LOC_ARG_WITH_INC(sqlite, SQLite)
  195. LOC_ARG_WITH_LIB(sqlite, SQLite)
  196. LOC_ARG_WITH_INC(ffmpeg, FFMPEG)
  197. LOC_ARG_WITH_LIB(ffmpeg, FFMPEG)
  198. LOC_ARG_WITH_INC(opengl, OpenGL)
  199. LOC_ARG_WITH_LIB(opengl, OpenGL)
  200. LOC_ARG_WITH_FRAMEWORK(opengl, OpenGL)
  201. LOC_ARG_WITH_INC(odbc, ODBC)
  202. LOC_ARG_WITH_LIB(odbc, ODBC)
  203. LOC_ARG_WITH_INC(fftw, FFTW)
  204. LOC_ARG_WITH_LIB(fftw, FFTW)
  205. LOC_ARG_WITH_INC(blas, BLAS)
  206. LOC_ARG_WITH_LIB(blas, BLAS)
  207. LOC_ARG_WITH_INC(lapack, LAPACK)
  208. LOC_ARG_WITH_LIB(lapack, LAPACK)
  209. LOC_ARG_WITH_INC(cairo, cairo)
  210. LOC_ARG_WITH_LIB(cairo, cairo)
  211. LOC_ARG_WITH_LDFLAGS(cairo, cairo)
  212. LOC_ARG_WITH_INC(freetype, FreeType)
  213. LOC_ARG_WITH_LIB(freetype, FreeType)
  214. LOC_ARG_WITH_INC(proj, External PROJ.4)
  215. LOC_ARG_WITH_LIB(proj, External PROJ.4)
  216. LOC_ARG_WITH_SHARE(proj, External PROJ.4)
  217. LOC_ARG_WITH_INC(opendwg, openDWG)
  218. LOC_ARG_WITH_LIB(opendwg, openDWG)
  219. LOC_ARG_WITH_INC(regex, regex)
  220. LOC_ARG_WITH_LIB(regex, regex)
  221. LOC_ARG_WITH_INC(pthread, POSIX threads)
  222. LOC_ARG_WITH_LIB(pthread, POSIX threads)
  223. # Put this early on so CPPFLAGS and LDFLAGS have any additional dirs
  224. # With includes option
  225. # Handle Fortran compiler choice
  226. #LOC_CHECK_USE(g77, GNU Fortran 77, USE_G77)
  227. # Done checking fortran
  228. AC_MSG_CHECKING(for additional include dirs)
  229. case "$with_includes" in
  230. y | ye | yes | n | no)
  231. AC_MSG_ERROR([*** You must supply a directory to list --with-includes.])
  232. ;;
  233. esac
  234. AC_MSG_RESULT($with_includes)
  235. if test -n "$with_includes"; then
  236. for dir in $with_includes; do
  237. if test -d "$dir"; then
  238. INCLUDE_DIRS="$INCLUDE_DIRS -I$dir"
  239. else
  240. AC_MSG_ERROR([*** Include directory $dir does not exist.])
  241. fi
  242. done
  243. CPPFLAGS="$CPPFLAGS $INCLUDE_DIRS"
  244. fi
  245. AC_SUBST(INCLUDE_DIRS)
  246. # With libs option
  247. AC_MSG_CHECKING(for additional library dirs)
  248. case "$with_libs" in
  249. y | ye | yes | n | no)
  250. AC_MSG_ERROR([*** You must supply a directory list to --with-libs.])
  251. ;;
  252. esac
  253. AC_MSG_RESULT($with_libs)
  254. if test -n "$with_libs"; then
  255. for dir in $with_libs; do
  256. if test -d "$dir"; then
  257. LIBRARY_DIRS="$LIBRARY_DIRS -L$dir"
  258. else
  259. AC_MSG_ERROR([*** Library directory $dir does not exist.])
  260. fi
  261. done
  262. LDFLAGS="$LDFLAGS $LIBRARY_DIRS"
  263. fi
  264. AC_SUBST(LIBRARY_DIRS)
  265. # Programs and standard headers, libraries, functions
  266. AC_PROG_INSTALL
  267. AC_PROG_LEX
  268. if test "$LEX" = "lex"; then
  269. AC_PATH_PROG(LEXPATH, lex, no)
  270. if test "$LEXPATH" = "no"; then
  271. AC_MSG_ERROR([*** Unable to locate lex.])
  272. fi
  273. fi
  274. AC_PROG_YACC
  275. if test "$YACC" = "yacc"; then
  276. AC_PATH_PROG(YACCPATH, yacc, no)
  277. if test "$YACCPATH" = "no"; then
  278. AC_MSG_ERROR([*** Unable to locate yacc.])
  279. fi
  280. fi
  281. AC_PROG_RANLIB
  282. AC_CHECK_PROGS(AR, ar)
  283. AC_CHECK_PROGS(ENV, env)
  284. AC_PATH_PROG(PERL, perl, no)
  285. AC_HEADER_STDC
  286. #AC_CHECK_HEADERS(curses.h limits.h termio.h termios.h unistd.h values.h)
  287. AC_CHECK_HEADERS(limits.h termio.h termios.h unistd.h values.h f2c.h g2c.h)
  288. AC_CHECK_HEADERS(sys/ioctl.h sys/mtio.h sys/resource.h sys/time.h)
  289. AC_CHECK_HEADERS(sys/timeb.h sys/types.h sys/utsname.h)
  290. AC_CHECK_HEADERS(libintl.h iconv.h)
  291. AC_CHECK_HEADERS(langinfo.h)
  292. AC_HEADER_TIME
  293. AC_TYPE_OFF_T
  294. AC_TYPE_UID_T
  295. AC_TYPE_SIGNAL
  296. AC_CYGWIN
  297. AC_CHECK_FUNCS(ftime gethostname gettimeofday lseek nice time uname)
  298. AC_CHECK_FUNCS(seteuid setpriority setreuid setruid)
  299. AC_CHECK_FUNCS(drand48)
  300. AC_CHECK_FUNCS(putenv setenv)
  301. AC_CHECK_FUNCS(nanosleep)
  302. if test "$cross_compiling" != "yes" ; then
  303. AC_FUNC_SETPGRP
  304. else
  305. CROSS_COMPILING=1
  306. AC_SUBST(CROSS_COMPILING)
  307. fi
  308. AC_MSG_CHECKING(for long long int)
  309. AC_TRY_COMPILE(,[long long int x;],[
  310. AC_MSG_RESULT(yes)
  311. AC_DEFINE(HAVE_LONG_LONG_INT)
  312. ],[
  313. AC_MSG_RESULT(no)
  314. ])
  315. AC_MSG_CHECKING(for W11)
  316. case "$enable_w11" in
  317. yes|no) AC_MSG_RESULT("$enable_w11") ;;
  318. *) AC_MSG_ERROR([*** You must answer yes or no.]) ;;
  319. esac
  320. USE_X11=
  321. USE_W11=
  322. XLIB=
  323. XTLIB=
  324. if test "$enable_w11" = "yes" ; then
  325. X_CFLAGS=-I${SRCDIR}/display/drivers/windows/libW11
  326. X_LIBS='-L$(LIBDIR)'
  327. AC_SUBST(X_CFLAGS)
  328. AC_SUBST(X_LIBS)
  329. USE_W11="1"
  330. USE_X11="1"
  331. XLIB=-lX11
  332. CFLAGS="$CFLAGS -D__W98__"
  333. else
  334. AC_PATH_XTRA
  335. if test "$no_x" != "yes"; then
  336. USE_X11="1"
  337. XLIB=-lX11
  338. XTLIB=-lXt
  339. fi
  340. fi
  341. AC_SUBST(XLIB)
  342. AC_SUBST(XTLIB)
  343. AC_SUBST(USE_X11)
  344. # Note that some systems (FreeBSD for example) need an extra library for
  345. # cuserid
  346. ac_save_libs="$LIBS"
  347. LIBS=""
  348. AC_SEARCH_LIBS(cuserid,[compat])
  349. DBMIEXTRALIB=$LIBS
  350. LIBS=$ac_save_libs
  351. AC_SUBST(DBMIEXTRALIB)
  352. # Note: -lxdr -liberty -lws2_32 is for MinGW
  353. AC_CHECK_FUNC(xdrmem_create, XDRLIB=, [
  354. AC_CHECK_LIB(sun, xdrmem_create, XDRLIB=-lsun, [
  355. AC_CHECK_LIB(nsl, xdrmem_create, XDRLIB=-lnsl, [
  356. AC_CHECK_LIB(rpclib, xdrmem_create, XDRLIB=-lrpclib, [
  357. AC_CHECK_LIB(xdr, xdrmem_create, XDRLIB="-lxdr -liberty -lws2_32" ,
  358. [ AC_MSG_ERROR([*** Unable to locate XDR functions.]) ], -liberty -lws2_32 )
  359. ])])])])
  360. AC_SUBST(XDRLIB)
  361. AC_CHECK_FUNCS(asprintf)
  362. AC_SUBST(HAVE_ASPRINTF)
  363. # Test if mathlib needs -lm flag or is included with libc
  364. AC_CHECK_FUNC(atan, MATHLIB=, [
  365. AC_CHECK_LIB(m, atan, MATHLIB=-lm, [
  366. AC_MSG_ERROR([*** Failed check for math library.])
  367. ])])
  368. AC_SUBST(MATHLIB)
  369. AC_CHECK_FUNC(dlsym, DLLIB=, [
  370. AC_CHECK_LIB(dl, dlsym, DLLIB=-ldl, [
  371. DLLIB=
  372. ])])
  373. AC_SUBST(DLLIB)
  374. AC_CHECK_FUNC(iconv, ICONVLIB=, [
  375. AC_CHECK_LIB(iconv, iconv, ICONVLIB=-liconv, [
  376. AC_CHECK_LIB(giconv, iconv, ICONVLIB=-lgiconv, [
  377. AC_CHECK_FUNC(libiconv, ICONVLIB=, [
  378. AC_CHECK_LIB(iconv, libiconv, ICONVLIB=-liconv, [
  379. AC_CHECK_LIB(giconv, libiconv, ICONVLIB=-lgiconv, [
  380. AC_MSG_WARN([*** Unable to locate iconv() function.])
  381. ICONVLIB=
  382. ])])])])])])
  383. AC_SUBST(ICONVLIB)
  384. have_socket=1
  385. AC_CHECK_FUNC(socket, SOCKLIB=, [
  386. AC_CHECK_LIB(socket, socket, SOCKLIB=-lsocket, [
  387. have_socket=0
  388. AC_MSG_WARN([*** Unable to locate socket() function.])
  389. ])])
  390. AC_SUBST(SOCKLIB)
  391. if test "$have_socket" = 1 ; then
  392. HAVE_SOCKET=1
  393. AC_DEFINE(HAVE_SOCKET)
  394. else
  395. HAVE_SOCKET=
  396. fi
  397. AC_SUBST(HAVE_SOCKET)
  398. # Mandatory zlib dependency
  399. ZLIBLIBPATH=
  400. ZLIBINCPATH=
  401. ZLIB=
  402. # With zlib includes directory
  403. LOC_CHECK_INC_PATH(zlib,zlib,ZLIBINCPATH)
  404. LOC_CHECK_INCLUDES(zlib.h,zlib,$ZLIBINCPATH)
  405. # With zlib library directory
  406. LOC_CHECK_LIB_PATH(zlib,zlib,ZLIBLIBPATH)
  407. LOC_CHECK_LIBS(z,deflate,zlib,$ZLIBLIBPATH,ZLIB,,,)
  408. #
  409. AC_SUBST(ZLIBINCPATH)
  410. AC_SUBST(ZLIBLIBPATH)
  411. AC_SUBST(ZLIB)
  412. # Done checking zlib
  413. # Mandatory PROJ dependency
  414. PROJINC=
  415. PROJLIB=
  416. PROJSHARE=
  417. # With PROJ includes directory
  418. LOC_CHECK_INC_PATH(proj,External PROJ.4,PROJINC)
  419. LOC_CHECK_INCLUDES(proj_api.h,External PROJ.4,$PROJINC)
  420. # PROJ version check
  421. if test "$cross_compiling" = yes; then
  422. AC_MSG_WARN([*** Cannot check PROJ.4 version (cross-compiling).])
  423. else
  424. LOC_CHECK_VERSION_INT(proj_api.h,PJ_VERSION,External PROJ.4,proj_ver,$PROJINC,0)
  425. if test `expr "$proj_ver" \< 446` = 1 ; then
  426. AC_MSG_ERROR([*** PROJ.4.4.6 or later is required.])
  427. fi
  428. fi
  429. # With PROJ library directory
  430. LOC_CHECK_LIB_PATH(proj,External PROJ.4,PROJLIB)
  431. LOC_CHECK_LIBS(proj,pj_get_def,External PROJ.4,$PROJLIB,PROJLIB,,,)
  432. # With PROJ share directory
  433. LOC_CHECK_SHARE_PATH(proj,External PROJ.4,PROJSHARE)
  434. if test -z "$PROJSHARE" ; then
  435. AC_MSG_WARN([*** External PROJ.4 directory not specified; default will be used])
  436. PROJSHARE=/usr/local/share/proj
  437. fi
  438. # LOC_CHECK_SHARE does not work when cross compiling
  439. if test "$cross_compiling" = "yes" ; then
  440. AC_MSG_CHECKING([for epsg])
  441. AC_MSG_RESULT([unknown (cross-compiling)])
  442. else
  443. LOC_CHECK_SHARE(epsg,External PROJ.4,$PROJSHARE,[
  444. AC_MSG_WARN([*** Unable to locate PROJ data files.])
  445. ])
  446. fi
  447. AC_SUBST(PROJINC)
  448. AC_SUBST(PROJLIB)
  449. AC_SUBST(PROJSHARE)
  450. # nad2bin needs to be in path for installing datum gridshift files
  451. AC_PATH_PROG(NAD2BIN, nad2bin, no)
  452. if test "$NAD2BIN" = "no"; then
  453. AC_MSG_ERROR([*** Unable to locate nad2bin (needs to be in PATH).])
  454. fi
  455. # Done checking PROJ
  456. # Enable regex option
  457. LOC_CHECK_USE(regex,regex,USE_REGEX)
  458. REGEXINCPATH=
  459. REGEXLIBPATH=
  460. REGEXLIB=
  461. if test -n "$USE_REGEX"; then
  462. # With regex includes directory
  463. LOC_CHECK_INC_PATH(regex,regex,REGEXINCPATH)
  464. LOC_CHECK_INCLUDES(regex.h,regex,$REGEXINCPATH)
  465. # With regex library directory
  466. LOC_CHECK_LIB_PATH(regex,regex,REGEXLIBPATH)
  467. LOC_CHECK_FUNC(regcomp,regex functions,REGEXLIB,,,,,[
  468. LOC_CHECK_LIBS(regex,regcomp,regex,$REGEXLIBPATH,REGEXLIB,,,)
  469. ])
  470. fi # $USE_REGEX
  471. AC_SUBST(REGEXINCPATH)
  472. AC_SUBST(REGEXLIBPATH)
  473. AC_SUBST(REGEXLIB)
  474. AC_SUBST(USE_REGEX)
  475. # Done checking regex
  476. # Enable Readline option
  477. LOC_CHECK_USE(readline,Readline,USE_READLINE)
  478. READLINEINCPATH=
  479. READLINELIBPATH=
  480. READLINELIB=
  481. HISTORYLIB=
  482. if test -n "$USE_READLINE"; then
  483. # With Readline includes directory
  484. LOC_CHECK_INC_PATH(readline,Readline,READLINEINCPATH)
  485. LOC_CHECK_INCLUDES(readline/readline.h,Readline,$READLINEINCPATH)
  486. LOC_CHECK_INCLUDES(readline/history.h,Readline,$READLINEINCPATH)
  487. # With Readline library directory
  488. LOC_CHECK_LIB_PATH(readline,Readline,READLINELIBPATH)
  489. LOC_CHECK_LIBS(readline,readline,Readline,$READLINELIBPATH,READLINELIB,,,)
  490. LOC_CHECK_LIBS(history,add_history,History,$READLINELIBPATH,HISTORYLIB,,,)
  491. fi # $USE_READLINE
  492. AC_SUBST(READLINEINCPATH)
  493. AC_SUBST(READLINELIBPATH)
  494. AC_SUBST(READLINELIB)
  495. AC_SUBST(HISTORYLIB)
  496. # Done checking Readline
  497. # Enable JPEG option
  498. LOC_CHECK_USE(jpeg,JPEG,USE_JPEG)
  499. JPEGINCPATH=
  500. JPEGLIBPATH=
  501. JPEGLIB=
  502. if test -n "$USE_JPEG"; then
  503. # With JPEG includes directory
  504. LOC_CHECK_INC_PATH(jpeg,JPEG,JPEGINCPATH)
  505. LOC_CHECK_INCLUDES(jpeglib.h,JPEG,$JPEGINCPATH)
  506. # With JPEG library directory
  507. LOC_CHECK_LIB_PATH(jpeg,JPEG,JPEGLIBPATH)
  508. LOC_CHECK_LIBS(jpeg,jpeg_start_compress,JPEG,$JPEGLIBPATH,JPEGLIB,,,,$ZLIB)
  509. fi # $USE_JPEG
  510. AC_SUBST(JPEGINCPATH)
  511. AC_SUBST(JPEGLIBPATH)
  512. AC_SUBST(JPEGLIB)
  513. # Done checking JPEG
  514. # GDAL option
  515. AC_MSG_CHECKING(whether to use GDAL)
  516. GDAL_LIBS=
  517. GDAL_CFLAGS=
  518. USE_GDAL=
  519. USE_OGR=
  520. if test "`basename xx/$with_gdal`" = "gdal-config" ; then
  521. GDAL_CONFIG="$with_gdal"
  522. fi
  523. if test "$with_gdal" = "no" ; then
  524. AC_MSG_RESULT(no)
  525. else
  526. AC_MSG_RESULT(yes)
  527. AC_PATH_PROG(GDAL_CONFIG, gdal-config, no)
  528. if test "$GDAL_CONFIG" = "no" ; then
  529. AC_MSG_ERROR([*** couldn't find gdal-config])
  530. fi
  531. if test "$GDAL_CONFIG" != "" ; then
  532. GDAL_LIBS=`"$GDAL_CONFIG" --libs`
  533. GDAL_DEP_LIBS=`"$GDAL_CONFIG" --dep-libs`
  534. GDAL_CFLAGS=`"$GDAL_CONFIG" --cflags`
  535. USE_GDAL=1
  536. if test `"$GDAL_CONFIG" --ogr-enabled` = "yes" ; then
  537. AC_DEFINE(HAVE_OGR)
  538. USE_OGR=1
  539. fi
  540. fi
  541. GDAL=
  542. ac_save_libs="$LIBS"
  543. ac_save_cflags="$CFLAGS"
  544. LIBS="$LIBS $GDAL_LIBS"
  545. CFLAGS="$CFLAGS $GDAL_CFLAGS"
  546. AC_TRY_LINK([#include <gdal.h>],[GDALOpen("foo", GA_ReadOnly);],,[
  547. LIBS="$LIBS $GDAL_DEP_LIBS"
  548. AC_TRY_LINK([#include <gdal.h>],[GDALOpen("foo", GA_ReadOnly);],GDAL_LIBS="$GDAL_LIBS $GDAL_DEP_LIBS",[
  549. AC_MSG_ERROR([*** Unable to locate GDAL library.])
  550. ])
  551. ])
  552. LIBS=${ac_save_libs}
  553. CFLAGS=${ac_save_cflags}
  554. AC_DEFINE(HAVE_GDAL)
  555. fi
  556. AC_SUBST(GDAL_LIBS)
  557. AC_SUBST(GDAL_CFLAGS)
  558. AC_SUBST(USE_GDAL)
  559. AC_SUBST(USE_OGR)
  560. # GEOS option
  561. AC_MSG_CHECKING(whether to use GEOS)
  562. GEOS_LIBS=
  563. GGEOS_CFLAGS=
  564. USE_GEOS=
  565. if test "`basename xx/$with_geos`" = "geos-config" ; then
  566. GEOS_CONFIG="$with_geos"
  567. fi
  568. if test "$with_geos" = "no" ; then
  569. AC_MSG_RESULT(no)
  570. else
  571. AC_MSG_RESULT(yes)
  572. AC_PATH_PROG(GEOS_CONFIG, geos-config, no)
  573. if test "$GEOS_CONFIG" = "no" ; then
  574. AC_MSG_ERROR([*** couldn't find geos-config])
  575. fi
  576. if test "$GEOS_CONFIG" != "" ; then
  577. GEOS_LIBS=`"$GEOS_CONFIG" --libs`
  578. GEOS_CFLAGS=`"$GEOS_CONFIG" --cflags`
  579. USE_GEOS=1
  580. fi
  581. LOC_CHECK_INCLUDES(geos_c.h,GEOS,$GEOS_CFLAGS)
  582. AC_DEFINE(HAVE_GEOS)
  583. fi
  584. AC_SUBST(GEOS_LIBS)
  585. AC_SUBST(GEOS_CFLAGS)
  586. AC_SUBST(USE_GEOS)
  587. # Enable TIFF option
  588. LOC_CHECK_USE(tiff,TIFF,USE_TIFF)
  589. TIFF_INCLUDE_DIRS=
  590. TIFF_LIBRARY_DIRS=
  591. TIFFLIB=
  592. if test -n "$USE_TIFF"; then
  593. # With TIFF includes directory
  594. LOC_CHECK_INC_PATH(tiff,TIFF,TIFF_INCLUDE_DIRS)
  595. LOC_CHECK_INCLUDES(tiffio.h,TIFF,$TIFF_INCLUDE_DIRS)
  596. # With TIFF library directory
  597. LOC_CHECK_LIB_PATH(tiff,TIFF,TIFF_LIBRARY_DIRS)
  598. LOC_CHECK_LIBS(tiff,TIFFOpen,TIFF,$TIFF_LIBRARY_DIRS,TIFFLIB,,,,$JPEGLIBPATH $JPEGLIB,$ZLIB,$MATHLIB)
  599. fi # $USE_TIFF
  600. AC_SUBST(TIFF_INCLUDE_DIRS)
  601. AC_SUBST(TIFF_LIBRARY_DIRS)
  602. AC_SUBST(TIFFLIB)
  603. # Done checking TIFF
  604. # Enable PNG option
  605. LOC_CHECK_USE(png,PNG,USE_PNG)
  606. PNGINC=
  607. PNGLIB=
  608. if test -n "$USE_PNG"; then
  609. # With PNG includes directory
  610. LOC_CHECK_INC_PATH(png,PNG,PNGINC)
  611. LOC_CHECK_INCLUDES(png.h,PNG,$PNGINC)
  612. # With PNG library directory
  613. LOC_CHECK_LIB_PATH(png,PNG,PNGLIB)
  614. LOC_CHECK_LIBS(png,png_read_image,PNG,$PNGLIB,PNGLIB,,$ZLIB $MATHLIB,)
  615. fi # $USE_PNG
  616. AC_SUBST(PNGINC)
  617. AC_SUBST(PNGLIB)
  618. AC_SUBST(USE_PNG)
  619. # Done checking PNG
  620. # Enable TCLTK option
  621. LOC_CHECK_USE(tcltk,Tcl/Tk,USE_TCLTK)
  622. TCLINCDIR=
  623. TCLTKLIBPATH=
  624. TCLTKLIBS=
  625. if test -n "$USE_TCLTK"; then
  626. # With Tcl/Tk includes directory
  627. LOC_CHECK_INC_PATH(tcltk,Tcl/Tk,TCLINCDIR)
  628. LOC_CHECK_INCLUDES(tcl.h,Tcl,$TCLINCDIR)
  629. LOC_CHECK_INCLUDES(tk.h,Tk,$TCLINCDIR $X_CFLAGS)
  630. # Tcl/Tk version checks
  631. LOC_CHECK_VERSION_STRING(tcl.h,TCL_VERSION,Tcl,tcl_ver,$TCLINCDIR,UNKNOWN)
  632. LOC_CHECK_VERSION_STRING(tk.h,TK_VERSION,Tk,tk_ver,$TCLINCDIR $X_CFLAGS,UNKNOWN)
  633. if test "$tcl_ver" = "$tk_ver" ; then
  634. tcltk_ver=$tcl_ver
  635. else
  636. AC_MSG_ERROR([*** Tcl/Tk version mismatch.])
  637. fi
  638. # FreeBSD and CygWin don't have a "dot" between major/minor version number
  639. tcltk_ver2=`echo $tcltk_ver | sed 's/\.//g'`
  640. # With Tcl/Tk library directory
  641. LOC_CHECK_LIB_PATH(tcltk,Tcl/Tk,TCLTKLIBPATH)
  642. TCLLIB=
  643. TKLIB=
  644. LOC_CHECK_LIBS(tcl, Tcl_Init,Tcl,$TCLTKLIBPATH,TCLLIB,,$MATHLIB,[
  645. LOC_CHECK_LIBS(tcl$tcltk_ver, Tcl_Init,Tcl,$TCLTKLIBPATH,TCLLIB,,$MATHLIB,[
  646. LOC_CHECK_LIBS(tcl$tcltk_ver2,Tcl_Init,Tcl,$TCLTKLIBPATH,TCLLIB,,$MATHLIB,[
  647. ],$DLLIB)
  648. ],$DLLIB)
  649. ],$DLLIB)
  650. LOC_CHECK_LIBS(tk, Tk_MainWindow,Tk,$TCLTKLIBPATH,TKLIB,$TCLLIB,$MATHLIB,[
  651. LOC_CHECK_LIBS(tk$tcltk_ver, Tk_MainWindow,Tk,$TCLTKLIBPATH,TKLIB,$TCLLIB,$MATHLIB,[
  652. LOC_CHECK_LIBS(tk$tcltk_ver2,Tk_MainWindow,Tk,$TCLTKLIBPATH,TKLIB,$TCLLIB,$MATHLIB,[
  653. ],$X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS)
  654. ],$X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS)
  655. ],$X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS)
  656. TCLTKLIBS="$TKLIB $TCLLIB"
  657. AC_DEFINE(HAVE_TCLTK)
  658. fi # $USE_TCLTK
  659. TKINCDIR=$TCLINCDIR
  660. AC_SUBST(TCLINCDIR)
  661. AC_SUBST(TKINCDIR)
  662. AC_SUBST(TCLTKLIBPATH)
  663. AC_SUBST(TCLTKLIBS)
  664. # Done checking Tcl/Tk
  665. # Enable PostgreSQL option
  666. LOC_CHECK_USE(postgres,PostgreSQL,USE_POSTGRES)
  667. if test -n "$USE_POSTGRES"; then
  668. AC_DEFINE(HAVE_POSTGRES)
  669. fi # $USE_POSTGRES
  670. PQINCPATH=
  671. PQLIBPATH=
  672. PQLIB=
  673. if test -n "$USE_POSTGRES"; then
  674. # With PostgreSQL includes directory
  675. LOC_CHECK_INC_PATH(postgres,PostgreSQL,PQINCPATH)
  676. LOC_CHECK_INCLUDES(libpq-fe.h,PostgreSQL,$PQINCPATH)
  677. fi # $USE_POSTGRES
  678. if test -n "$USE_POSTGRES"; then
  679. # With PostgreSQL library directory
  680. LOC_CHECK_LIB_PATH(postgres,PostgreSQL,PQLIBPATH)
  681. LOC_CHECK_LIBS(pq,PQsetdbLogin,PostgreSQL,$PQLIBPATH,PQLIB,,,,-lcrypt,-lssl -lcrypto)
  682. ac_save_ldflags="$LDFLAGS"
  683. LDFLAGS="$LDFLAGS $PQLIBPATH"
  684. AC_CHECK_LIB(pq,PQcmdTuples, [AC_DEFINE(HAVE_PQCMDTUPLES)], [
  685. AC_CHECK_LIB(pq,PQcmdTuples, [AC_DEFINE(HAVE_PQCMDTUPLES)], [
  686. ], -lcrypt)
  687. ])
  688. LDFLAGS=${ac_save_ldflags}
  689. fi # $USE_POSTGRES
  690. AC_SUBST(USE_POSTGRES)
  691. AC_SUBST(PQINCPATH)
  692. AC_SUBST(PQLIBPATH)
  693. AC_SUBST(PQLIB)
  694. # Done checking PostgreSQL
  695. # Enable MySQL option
  696. LOC_CHECK_USE(mysql,MySQL,USE_MYSQL)
  697. MYSQLINCPATH=
  698. MYSQLLIBPATH=
  699. MYSQLLIB=
  700. if test -n "$USE_MYSQL"; then
  701. # With MySQL includes directory
  702. LOC_CHECK_INC_PATH(mysql,MySQL,MYSQLINCPATH)
  703. LOC_CHECK_INCLUDES(mysql.h,MySQL,$MYSQLINCPATH)
  704. fi # $USE_MYSQL
  705. if test -n "$USE_MYSQL"; then
  706. # With MySQL library directory
  707. LOC_CHECK_LIB_PATH(mysql,MySQL,MYSQLLIBPATH)
  708. LOC_CHECK_LIBS(mysqlclient,mysql_query,MySQL,$MYSQLLIBPATH,MYSQLLIB,,,,$ZLIB,$SOCKLIB,$MATHLIB)
  709. # Check for libmysqld (for embeded version of the driver)
  710. AC_PATH_PROG(MYSQLD_CONFIG, mysql_config, no)
  711. if test "$MYSQLD_CONFIG" = "no" ; then
  712. AC_MSG_ERROR([*** couldn't find mysql_config])
  713. fi
  714. if test "$MYSQLD_CONFIG" != "" ; then
  715. AC_LANG_SAVE
  716. AC_LANG_CPLUSPLUS
  717. ac_save_libs="$LIBS"
  718. MYSQLDLIB=`"$MYSQLD_CONFIG" --libmysqld-libs`
  719. LIBS="$MYSQLDLIB $LIBS"
  720. AC_CHECK_FUNC(mysql_server_init,,[MYSQLDLIB="";
  721. AC_MSG_WARN([libmysqld not found])] )
  722. LIBS=$ac_save_libs
  723. AC_LANG_C
  724. AC_LANG_RESTORE
  725. fi
  726. fi # $USE_MYSQL
  727. AC_SUBST(USE_MYSQL)
  728. AC_SUBST(MYSQLINCPATH)
  729. AC_SUBST(MYSQLLIBPATH)
  730. AC_SUBST(MYSQLLIB)
  731. AC_SUBST(MYSQLDLIB)
  732. # Done checking MySQL
  733. # Enable SQLite option
  734. LOC_CHECK_USE(sqlite,SQLite,USE_SQLITE)
  735. SQLITEINCPATH=
  736. SQLITELIBPATH=
  737. SQLITELIB=
  738. if test -n "$USE_SQLITE"; then
  739. # With SQLite includes directory
  740. LOC_CHECK_INC_PATH(sqlite,SQLite,SQLITEINCPATH)
  741. LOC_CHECK_INCLUDES(sqlite3.h,SQLite,$SQLITEINCPATH)
  742. AC_DEFINE(HAVE_SQLITE)
  743. fi # $USE_SQLITE
  744. if test -n "$USE_SQLITE"; then
  745. # With SQLite library directory
  746. LOC_CHECK_LIB_PATH(sqlite,SQLite,SQLITELIBPATH)
  747. LOC_CHECK_LIBS(sqlite3,sqlite3_open,SQLite,$SQLITELIBPATH,SQLITELIB,,,,$MATHLIB)
  748. fi # $USE_SQLITE
  749. AC_SUBST(USE_SQLITE)
  750. AC_SUBST(SQLITEINCPATH)
  751. AC_SUBST(SQLITELIBPATH)
  752. AC_SUBST(SQLITELIB)
  753. # Done checking SQLite
  754. # Enable FFMPEG option
  755. LOC_CHECK_USE(ffmpeg, FFMPEG, USE_FFMPEG)
  756. FFMPEGINCPATH=
  757. FFMPEGLIBPATH=
  758. FFMPEGLIB=
  759. if test -n "$USE_FFMPEG"; then
  760. # With FFMPEG includes directory
  761. LOC_CHECK_INC_PATH(ffmpeg, FFMPEG, FFMPEGINCPATH)
  762. LOC_CHECK_INCLUDES(avcodec.h,FFMPEG,$FFMPEGINCPATH)
  763. LOC_CHECK_INCLUDES(avformat.h,FFMPEG,$FFMPEGINCPATH)
  764. LOC_CHECK_INCLUDES(swscale.h,FFMPEG,$FFMPEGINCPATH)
  765. AC_DEFINE(HAVE_FFMPEG)
  766. fi # $USE_FFMPEG
  767. if test -n "$USE_FFMPEG"; then
  768. # With FFMPEG library directory
  769. LOC_CHECK_LIB_PATH(ffmpeg, FFMPEG, FFMPEGLIBPATH)
  770. LOC_CHECK_LIBS(avutil, av_free, FFMPEG, $FFMPEGLIBPATH, FFMPEGLIB,,,,$MATHLIB)
  771. LOC_CHECK_LIBS(avcodec, avcodec_init, FFMPEG, $FFMPEGLIBPATH, FFMPEGLIB, $FFMPEGLIB,,,$MATHLIB)
  772. LOC_CHECK_LIBS(avformat, av_set_parameters, FFMPEG, $FFMPEGLIBPATH, FFMPEGLIB, $FFMPEGLIB,,,$MATHLIB)
  773. fi # $USE_FFMPEG
  774. AC_SUBST(USE_FFMPEG)
  775. AC_SUBST(FFMPEGINCPATH)
  776. AC_SUBST(FFMPEGLIBPATH)
  777. AC_SUBST(FFMPEGLIB)
  778. # Done checking FFMPEG
  779. # Enable OpenGL option
  780. OPENGLINC=
  781. OPENGLLIB=
  782. OPENGLULIB=
  783. USE_OPENGL=
  784. OPENGL_X11=
  785. OPENGL_AQUA=
  786. OPENGL_WINDOWS=
  787. AC_MSG_CHECKING(whether to use OpenGL)
  788. AC_MSG_RESULT("$with_opengl")
  789. case "$with_opengl" in
  790. n|no)
  791. OPENGL_TYPE=none
  792. ;;
  793. y|yes|x|x11|glx)
  794. OPENGL_TYPE=X11
  795. USE_OPENGL=1
  796. OPENGL_X11=1
  797. ;;
  798. aqua|mac|osx|macosx|agl)
  799. OPENGL_TYPE=Aqua
  800. USE_OPENGL=1
  801. OPENGL_AQUA=1
  802. ;;
  803. win|windows|mswin|wgl)
  804. OPENGL_TYPE=Windows
  805. USE_OPENGL=1
  806. OPENGL_WINDOWS=1
  807. ;;
  808. *)
  809. AC_MSG_ERROR([*** Valid arguments for --with-opengl= are yes,no,x11,aqua,windows.])
  810. ;;
  811. esac
  812. if test -n "$USE_OPENGL" ; then
  813. if test "$OPENGL_X11" = 1 ; then
  814. # With OpenGL includes directory
  815. LOC_CHECK_INC_PATH(opengl,OpenGL,OPENGLINC)
  816. LOC_CHECK_INCLUDES(GL/gl.h GL/glu.h,OpenGL,$OPENGLINC $X_CFLAGS)
  817. # With OpenGL library directory
  818. LOC_CHECK_LIB_PATH(opengl,OpenGL,OPENGL_LIB_PATH)
  819. LOC_CHECK_LIBS(GL,glBegin,OpenGL,$OPENGL_LIB_PATH,OPENGLLIB,$X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS $MATHLIB,,,-lpthread,-lXext)
  820. LOC_CHECK_LIBS(GLU,gluBeginCurve,GLU,$OPENGL_LIB_PATH,OPENGLULIB,$OPENGLLIB $X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS $MATHLIB,,,-lstdc++)
  821. OPENGLLIB="$OPENGL_LIB_PATH $OPENGLLIB"
  822. OPENGLULIB="$OPENGL_LIB_PATH $OPENGLULIB"
  823. LOC_CHECK_FUNC(glXCreatePbuffer,,,,,$OPENGLLIB,[AC_DEFINE(HAVE_PBUFFERS)])
  824. LOC_CHECK_FUNC(glXCreateGLXPixmap,,,,,$OPENGLLIB,[AC_DEFINE(HAVE_PIXMAPS)])
  825. AC_DEFINE(OPENGL_X11)
  826. fi # $OPENGL_X11
  827. if test "$OPENGL_AQUA" = 1 ; then
  828. LOC_CHECK_FRAMEWORK_PATH(opengl,OpenGL,OPENGLPATH)
  829. LOC_CHECK_INCLUDES(OpenGL/gl.h OpenGL/glu.h,OpenGL,$OPENGLPATH)
  830. LOC_CHECK_FUNC(glBegin,OpenGL library,OPENGLLIB,-framework OpenGL -framework AGL -framework ApplicationServices,$OPENGLPATH)
  831. LOC_CHECK_FUNC(gluBeginCurve,GLU library,OPENGLLIB,,$OPENGLPATH,$OPENGLLIB)
  832. OPENGLINC="$OPENGLPATH"
  833. OPENGLLIBPATH="$OPENGLPATH"
  834. AC_DEFINE(OPENGL_AQUA)
  835. fi # $OPENGL_AQUA
  836. if test "$OPENGL_WINDOWS" = 1 ; then
  837. # With OpenGL includes directory
  838. LOC_CHECK_INC_PATH(opengl,OpenGL,OPENGLINC)
  839. LOC_CHECK_INCLUDES(GL/gl.h GL/glu.h,OpenGL,$OPENGLINC)
  840. # With OpenGL library directory
  841. LOC_CHECK_LIB_PATH(opengl,OpenGL,OPENGL_LIB_PATH)
  842. ac_save_cflags="$CFLAGS"
  843. CFLAGS="$CFLAGS $OPENGLINC"
  844. LOC_CHECK_LINK(opengl32,[#include <GL/gl.h>],[glEnd();],OpenGL,$OPENGL_LIB_PATH,OPENGLLIB)
  845. LOC_CHECK_LINK(glu32,[#include <GL/glu.h>],[gluNewQuadric();],GLU,$OPENGL_LIB_PATH,OPENGLULIB,$OPENGLLIB)
  846. CFLAGS=${ac_save_cflags}
  847. OPENGLLIB="$OPENGL_LIB_PATH $OPENGLLIB"
  848. OPENGLULIB="$OPENGL_LIB_PATH $OPENGLULIB"
  849. AC_DEFINE(OPENGL_WINDOWS)
  850. fi # $OPENGL_WINDOWS
  851. fi # $USE_OPENGL
  852. AC_SUBST(USE_OPENGL)
  853. AC_SUBST(OPENGL_X11)
  854. AC_SUBST(OPENGL_AQUA)
  855. AC_SUBST(OPENGL_WINDOWS)
  856. AC_SUBST(OPENGLINC)
  857. AC_SUBST(OPENGLLIB)
  858. AC_SUBST(OPENGLULIB)
  859. # Done checking OpenGL
  860. # Enable ODBC option
  861. LOC_CHECK_USE(odbc,ODBC,USE_ODBC)
  862. ODBCINC=
  863. ODBCLIB=
  864. if test -n "$USE_ODBC"; then
  865. # With ODBC includes directory
  866. LOC_CHECK_INC_PATH(odbc,ODBC,ODBCINC)
  867. LOC_CHECK_INCLUDES(sql.h,ODBC,$ODBCINC)
  868. # With ODBC library directory
  869. LOC_CHECK_LIB_PATH(odbc,ODBC,ODBCLIB)
  870. LOC_CHECK_LIBS(odbc,SQLConnect,ODBC,$ODBCLIB,ODBCLIB,$ICONVLIB,,[
  871. LOC_CHECK_LIBS(iodbc,SQLConnect,ODBC,$ODBCLIB,ODBCLIB,,,[
  872. ac_save_cflags="$CFLAGS"
  873. CFLAGS="$CFLAGS $ODBCINC"
  874. LOC_CHECK_LINK(odbc32,[#include <windows.h>
  875. #include <sql.h>],[SQLAllocEnv((SQLHENV *)0);],ODBC,$ODBCLIB,ODBCLIB)
  876. CFLAGS=${ac_save_cflags}
  877. ])
  878. ])
  879. fi # $USE_ODBC
  880. AC_SUBST(ODBCINC)
  881. AC_SUBST(ODBCLIB)
  882. # Done checking ODBC
  883. # Enable FFTW option
  884. LOC_CHECK_USE(fftw,FFTW,USE_FFTW)
  885. FFTWINC=
  886. FFTWLIB=
  887. if test -n "$USE_FFTW"; then
  888. # With FFTW includes directory
  889. LOC_CHECK_INC_PATH(fftw,FFTW,FFTWINC)
  890. LOC_CHECK_INCLUDES(fftw3.h,FFTW,$FFTWINC,[
  891. LOC_CHECK_INCLUDES(fftw.h,FFTW,,[
  892. LOC_CHECK_INCLUDES(dfftw.h,FFTW,,)
  893. ])
  894. ])
  895. # With FFTW library directory
  896. LOC_CHECK_LIB_PATH(fftw,FFTW,FFTWLIB)
  897. LOC_CHECK_LIBS(fftw3, fftw_execute,FFTW,$FFTWLIB,FFTWLIB,,$MATHLIB,[
  898. LOC_CHECK_LIBS(fftw, fftwnd_one,FFTW,$FFTWLIB,FFTWLIB,,$MATHLIB,[
  899. LOC_CHECK_LIBS(dfftw,fftwnd_one,FFTW,$FFTWLIB,FFTWLIB,,$MATHLIB,)
  900. ])
  901. ])
  902. fi # $USE_FFTW
  903. AC_SUBST(FFTWINC)
  904. AC_SUBST(FFTWLIB)
  905. # Done checking FFTW
  906. # Enable BLAS option
  907. LOC_CHECK_USE(blas,BLAS,USE_BLAS)
  908. BLASLIB=
  909. BLASINC=
  910. if test -n "$USE_BLAS"; then
  911. # With BLAS includes directory
  912. # BLAS doesn't have includes (FORTRAN library)
  913. # With BLAS library directory
  914. LOC_CHECK_INC_PATH(blas, BLAS, BLASINC)
  915. LOC_CHECK_LIB_PATH(blas, BLAS, BLASLIB)
  916. # See if cblas.h exists (CBLAS,ATLAS,others)
  917. save_CPPFLAGS="$CPPFLAGS"
  918. CPPFLAGS="$BLASINC $CPPFLAGS"
  919. AC_CHECK_HEADERS(cblas.h)
  920. CPPFLAGS=$save_CPPFLAGS
  921. LOC_CHECK_LIBS(blas,dnrm2_,BLAS,$BLASLIB,BLASLIB,$MATHLIB,,,-lg2c)
  922. blas_ok=no
  923. # Check for ATLAS
  924. save_LDFLAGS="$LDFLAGS"
  925. LDFLAGS="$BLASLIB $LDFLAGS"
  926. AC_CHECK_LIB(atlas, ATL_xerbla,
  927. [AC_CHECK_LIB(f77blas, sgemm_,
  928. [AC_CHECK_LIB(cblas, cblas_dgemm,
  929. [blas_ok=yes; BLASLIB="-lcblas -lf77blas -latlas"],
  930. [],[-lf77blas -latlas])],
  931. [],[-latlas])]
  932. )
  933. LDFLAGS="$save_LDFLAGS"
  934. # Do we have ATLAS?
  935. if test $blas_ok = yes; then
  936. AC_DEFINE(HAVE_LIBATLAS)
  937. fi
  938. # BLAS in Apple vecLib framework? (Mac OS-X)
  939. if test -n "$MACOSX_APP"; then
  940. if test $blas_ok = no; then
  941. vlib_flags="-framework vecLib"
  942. save_LIBS="$LIBS"
  943. LIBS="$vlib_flags $LIBS"
  944. AC_MSG_CHECKING([for sgemm in $vlib_flags])
  945. AC_TRY_LINK([], [sgemm], [blas_ok=yes; BLASLIB="$vlib_flags"], [BLASLIB=""])
  946. AC_MSG_RESULT($blas_ok)
  947. LIBS="$save_LIBS"
  948. fi
  949. fi # $MACOSX_APP
  950. # BLAS in PhiPACK libraries? (requires generic BLAS, too)
  951. if test $blas_ok = no; then
  952. AC_CHECK_LIB(blas, sgemm_,
  953. [AC_CHECK_LIB(dgemm, dgemm_,
  954. [AC_CHECK_LIB(sgemm, sgemm_,
  955. [blas_ok=yes; BLASLIB="-lsgemm -ldgemm -lblas"],
  956. [], [-lblas])],
  957. [], [-lblas])]
  958. )
  959. fi
  960. # BLAS in Sun Performance library?
  961. if test $blas_ok = no; then
  962. if test "x$GCC" != xyes; then # only works with Sun CC
  963. AC_CHECK_LIB(sunmath, acosp,
  964. [AC_CHECK_LIB(sunperf, sgemm_,
  965. [blas_ok=yes; BLASLIB="-xlic_lib=sunperf -lsunmath"],
  966. [], [-lsunmath])]
  967. )
  968. fi
  969. fi
  970. # Generic BLAS library
  971. if test $blas_ok = no; then
  972. AC_CHECK_LIB(blas, sgemm_, [blas_ok=yes; BLASLIB="-lblas"])
  973. fi
  974. if test $blas_ok = yes; then
  975. AC_DEFINE(HAVE_LIBBLAS)
  976. fi
  977. fi # $USE_BLAS
  978. AC_SUBST(BLASLIB)
  979. AC_SUBST(BLASINC)
  980. # Done checking BLAS
  981. # Enable LAPACK option
  982. LOC_CHECK_USE(lapack,LAPACK,USE_LAPACK)
  983. LAPACKLIB=
  984. LAPACKINC=
  985. # LAPACK is useless without BLAS
  986. if test -n "$USE_BLAS"; then
  987. if test -n "$USE_LAPACK"; then
  988. # With LAPACK includes directory
  989. # LAPACK doesn't have includes (FORTRAN library)
  990. # With LAPACK library directory
  991. lapack_ok=no
  992. LOC_CHECK_INC_PATH(lapack, LAPACK, LAPACKINC)
  993. LOC_CHECK_LIB_PATH(lapack, LAPACK, LAPACKLIB)
  994. # See if clapack.h exists (ATLAS)
  995. save_CPPFLAGS="$CPPFLAGS"
  996. CPPFLAGS="$LAPACKINC $CPPFLAGS"
  997. AC_CHECK_HEADERS(clapack.h)
  998. CPPFLAGS=$save_CPPFLAGS
  999. # LAPACK linked to by default?
  1000. if test lapack_ok=no; then
  1001. save_LIBS="$LIBS"; LIBS="$LIBS $BLASLIB $MATHLIB $FLIBS"
  1002. save_LDFLAGS="$LDFLAGS"; LDFLAGS="$LAPACKLIB $LDFLAGS"
  1003. AC_CHECK_FUNC(dsegv_, [lapack_ok=yes])
  1004. LIBS="$save_LIBS"
  1005. LDFLAGS="$save_LDFLAGS"
  1006. fi
  1007. # Generic LAPACK library?
  1008. if test $lapack_ok = no; then
  1009. save_libs="$LIBS"; LIBS="$BLASLIB $MATHLIB $LIBS"
  1010. save_LDFLAGS="$LDFLAGS"; LDFLAGS="$LAPACKLIB $LDFLAGS"
  1011. AC_CHECK_LIB(lapack, desgv_,
  1012. [lapack_ok=yes; LAPACKLIB="-llapack"], [], [$FLIBS])
  1013. LIBS="$save_LIBS"
  1014. LDFLAGS="$save_LDFLAGS"
  1015. fi
  1016. if test $lapack_ok = no; then
  1017. LOC_CHECK_LIBS(lapack,dgesv_,LAPACK,$LAPACKLIB,LAPACKLIB,$BLASLIB $MATHLIB,,,-lg2c)
  1018. fi
  1019. AC_DEFINE(HAVE_LIBLAPACK)
  1020. fi # $USE_LAPACK
  1021. fi # $USE_BLAS
  1022. AC_SUBST(LAPACKLIB)
  1023. AC_SUBST(LAPACKINC)
  1024. # Done checking LAPACK
  1025. # Enable Cairo display driver option
  1026. LOC_CHECK_USE(cairo,Cairo,USE_CAIRO)
  1027. CAIROINC=
  1028. CAIROLIB=
  1029. if test -n "$USE_CAIRO"; then
  1030. cairo="cairo cairo-ft"
  1031. if test -n "$USE_X11"; then
  1032. cairo="$cairo cairo-xlib-xrender"
  1033. fi
  1034. # With Cairo includes directory
  1035. CAIROINC=`pkg-config --cflags $cairo`
  1036. LOC_CHECK_INC_PATH(cairo,cairo,CAIROINC)
  1037. LOC_CHECK_INCLUDES(cairo.h,Cairo,$CAIROINC)
  1038. # With Cairo library directory
  1039. CAIROLIB=`pkg-config --libs $cairo`
  1040. LOC_CHECK_LIB_PATH(cairo,cairo,CAIROLIB)
  1041. LOC_CHECK_LDFLAGS(cairo,cairo,CAIROLIB)
  1042. LOC_CHECK_FUNC(cairo_create,,,,,$CAIROLIB,[:])
  1043. LOC_CHECK_FUNC(cairo_xlib_surface_create_with_xrender_format,,,,,$CAIROLIB,
  1044. [CAIRO_HAS_XRENDER=1],[CAIRO_HAS_XRENDER=])
  1045. AC_SUBST(CAIRO_HAS_XRENDER)
  1046. LOC_CHECK_FUNC(cairo_xlib_surface_get_xrender_format,,,,,$CAIROLIB,
  1047. [CAIRO_HAS_XRENDER_SURFACE=1],[CAIRO_HAS_XRENDER_SURFACE=])
  1048. AC_SUBST(CAIRO_HAS_XRENDER_SURFACE)
  1049. CAIROLIB="$CAIROLIB $CAIROLDFLAGS"
  1050. fi # $USE_CAIRO
  1051. AC_SUBST(CAIROINC)
  1052. AC_SUBST(CAIROLIB)
  1053. AC_SUBST(USE_CAIRO)
  1054. # Done checking Cairo
  1055. # Enable FreeType option
  1056. LOC_CHECK_USE(freetype,FreeType,USE_FREETYPE)
  1057. FTINC=
  1058. FTLIB=
  1059. if test -n "$USE_FREETYPE"; then
  1060. # With FreeType includes directory
  1061. LOC_CHECK_INC_PATH(freetype,FreeType,FTINC)
  1062. LOC_CHECK_INCLUDES(ft2build.h,FreeType,$FTINC)
  1063. # With FreeType library directory
  1064. LOC_CHECK_LIB_PATH(freetype,FreeType,FTLIB)
  1065. LOC_CHECK_LIBS(freetype,FT_Init_FreeType,FreeType,$FTLIB,FTLIB,,,)
  1066. fi # $USE_FREETYPE
  1067. AC_SUBST(FTINC)
  1068. AC_SUBST(FTLIB)
  1069. # Done checking FreeType
  1070. # Enable NLS option
  1071. LOC_CHECK_USE(nls,NLS,USE_NLS)
  1072. INTLLIB=
  1073. HAVE_NLS=
  1074. if test -n "${USE_NLS}" ; then
  1075. AC_DEFINE(USE_NLS)
  1076. AC_CHECK_FUNC(gettext, INTLLIB=, [
  1077. AC_CHECK_LIB(intl, gettext, INTLLIB=-lintl, [
  1078. AC_MSG_ERROR([*** Unable to locate gettext() function.])
  1079. ])])
  1080. HAVE_NLS=1
  1081. fi
  1082. AC_SUBST(INTLLIB)
  1083. AC_SUBST(HAVE_NLS)
  1084. # Enable C++ option
  1085. LOC_CHECK_USE(cxx,C++,USE_CXX)
  1086. if test -n "$USE_CXX"; then
  1087. AC_PROG_CXX
  1088. else
  1089. CXX=
  1090. CXXFLAGS=
  1091. AC_SUBST(CXX)
  1092. AC_SUBST(CXXFLAGS)
  1093. fi
  1094. # Done checking C++
  1095. # Enable openDWG option
  1096. LOC_CHECK_USE(opendwg,openDWG,USE_OPENDWG)
  1097. OPENDWGINCPATH=
  1098. OPENDWGLIBPATH=
  1099. OPENDWGLIB=
  1100. if test -n "${USE_OPENDWG}"; then
  1101. # With OPENDWG includes directory
  1102. LOC_CHECK_INC_PATH(opendwg,openDGW,OPENDWGINCPATH)
  1103. LOC_CHECK_INCLUDES(ad2.h,openDWG,$OPENDWGINCPATH)
  1104. # With OPENDWG library directory
  1105. LOC_CHECK_LIB_PATH(opendwg,openDWG,OPENDWGLIBPATH)
  1106. #search for ad2.a, ad3.a ... in openDWG toolkit directory:
  1107. #FIX ME how to program this test??
  1108. #LOC_CHECK_LIBS(ad?.a,adSeekLayer,openDWG,$OPENDWGLIBPATH,OPENDWGLIB,,)
  1109. #
  1110. #for now hack (but working):
  1111. TRUEOPENDWGLIBPATH=`echo $OPENDWGLIBPATH | cut -b3-`
  1112. adlib=`ls -1 $TRUEOPENDWGLIBPATH/ad?.a | tail -1`
  1113. OPENDWGLIB=$adlib
  1114. fi # $USE_OPENDWG
  1115. AC_SUBST(OPENDWGINCPATH)
  1116. AC_SUBST(OPENDWGLIBPATH)
  1117. AC_SUBST(OPENDWGLIB)
  1118. AC_SUBST(USE_OPENDWG)
  1119. # Done checking OPENDWG
  1120. # Enable pthread option
  1121. LOC_CHECK_USE(pthread,POSIX threads,USE_PTHREAD)
  1122. PTHREADINCPATH=
  1123. PTHREADLIBPATH=
  1124. PTHREADLIB=
  1125. if test -n "$USE_PTHREAD"; then
  1126. # With pthread includes directory
  1127. LOC_CHECK_INC_PATH(pthread,POSIX threads,PTHREADINCPATH)
  1128. LOC_CHECK_INCLUDES(pthread.h,POSIX threads,$PTHREADINCPATH)
  1129. # With pthread library directory
  1130. LOC_CHECK_LIB_PATH(pthread,POSIX threads,PTHREADLIBPATH)
  1131. LOC_CHECK_FUNC(pthread_create,POSIX threads functions,PTHREADLIB,,,,,[
  1132. LOC_CHECK_LIBS(pthread,pthread_create,POSIX threads,$PTHREADLIBPATH,PTHREADLIB,,,)
  1133. ])
  1134. fi # $USE_PTHREAD
  1135. AC_SUBST(PTHREADINCPATH)
  1136. AC_SUBST(PTHREADLIBPATH)
  1137. AC_SUBST(PTHREADLIB)
  1138. AC_SUBST(USE_PTHREAD)
  1139. # Done checking pthread
  1140. # Enable LFS (from cdr-tools)
  1141. dnl Check for large file support
  1142. dnl Do this last to make sure that no large file definition
  1143. dnl in confdefs.h will modify our results
  1144. AC_SYS_LARGEFILE
  1145. dnl Warning do not run this test. it interferes with the test
  1146. dnl AC_CHECK_FUNCS(fseeko ftello) from above.
  1147. dnl The test AC_HAVE_LARGEFILES will check whether ftello/fseeko
  1148. dnl are available in Large File mode
  1149. dnl AC_FUNC_FSEEKO
  1150. AC_HAVE_LARGEFILES
  1151. USE_LARGEFILES=
  1152. if test $ac_cv_largefiles = yes; then
  1153. USE_LARGEFILES=1
  1154. fi
  1155. AC_SUBST(USE_LARGEFILES)
  1156. # Done large file support
  1157. # Python check
  1158. AC_MSG_CHECKING(whether to use Python)
  1159. PYTHONINC=
  1160. PYTHONCFLAGS=
  1161. PYTHONLDFLAGS=
  1162. SWIG=
  1163. USE_PYTHON=
  1164. if test "$with_python" = "no" ; then
  1165. AC_MSG_RESULT(no)
  1166. else
  1167. AC_MSG_RESULT(yes)
  1168. USE_PYTHON="1"
  1169. if test "$with_python" != "yes" ; then
  1170. PY_CONFIG="$with_python"
  1171. fi
  1172. AC_PATH_PROG(PY_CONFIG, python-config, no)
  1173. if test "$PY_CONFIG" != "no" ; then
  1174. # With Python includes directory
  1175. PYTHONINC=`"$PY_CONFIG" --includes`
  1176. LOC_CHECK_INCLUDES(Python.h,Python,$PYTHONINC)
  1177. PYTHONCFLAGS=`"$PY_CONFIG" --cflags`
  1178. # With Python library directory
  1179. PYTHONLDFLAGS=`"$PY_CONFIG" --ldflags`
  1180. fi
  1181. # look for the swig program
  1182. AC_PATH_PROG(SWIG, swig, no)
  1183. if test "$SWIG" = "no" ; then
  1184. AC_MSG_ERROR([*** couldn't find swig])
  1185. fi
  1186. fi # Done checking Python
  1187. AC_SUBST(PYTHONINC)
  1188. AC_SUBST(PYTHONCFLAGS)
  1189. AC_SUBST(PYTHONLDFLAGS)
  1190. AC_SUBST(SWIG)
  1191. AC_SUBST(USE_PYTHON)
  1192. # Enable wxWidgets support (for wxGUI)
  1193. AC_MSG_CHECKING(whether to use wxWidgets)
  1194. WXVERSION=
  1195. WXWIDGETSCXXFLAGS=
  1196. WXWIDGETSCPPFLAGS=
  1197. WXWIDGETSLIB=
  1198. USE_WXWIDGETS=
  1199. if test "$with_wxwidgets" = "no" ; then
  1200. AC_MSG_RESULT(no)
  1201. else
  1202. AC_MSG_RESULT(yes)
  1203. USE_WXWIDGETS="1"
  1204. if test "$with_wxwidgets" != "yes" ; then
  1205. WX_CONFIG="$with_wxwidgets"
  1206. fi
  1207. AC_PATH_PROG(WX_CONFIG, wx-config, no)
  1208. if test "$WX_CONFIG" = "no" ; then
  1209. AC_MSG_ERROR([*** couldn't find wx-config
  1210. wxWidgets must be installed on your system.
  1211. Please check that wx-config is in path, the directory
  1212. where wxWidgets libraries are installed (returned by
  1213. 'wx-config --libs' or 'wx-config --static --libs' command)
  1214. is in LD_LIBRARY_PATH or equivalent variable and
  1215. wxWidgets version is 2.8.1 or above.])
  1216. fi
  1217. # Check wxWidgets version
  1218. REQWX="2.8.1"
  1219. AC_MSG_CHECKING([wxWidgets version])
  1220. if WXVERSION=`"$WX_CONFIG" --version`; then
  1221. AC_MSG_RESULT([$WXVERSION])
  1222. else
  1223. AC_MSG_RESULT([not found])
  1224. AC_MSG_ERROR([wxWidgets is required.])
  1225. fi
  1226. if test `expr "$WXVERSION" \< "$REQWX"` = 1 ; then
  1227. AC_MSG_ERROR([*** wxWidgets "$REQWX" or later is required.])
  1228. fi
  1229. # With wxWidgets includes directory
  1230. WXWIDGETSCXXFLAGS=`"$WX_CONFIG" --cxxflags`
  1231. WXWIDGETSCPPFLAGS=`"$WX_CONFIG" --cppflags`
  1232. LOC_CHECK_INCLUDES(wx/wxprec.h,wxWidgets,$WXWIDGETSCPPFLAGS)
  1233. # With wxWidgets library directory
  1234. WXWIDGETSLIB=`"$WX_CONFIG" --libs`
  1235. fi # $USE_WXWIDGETS
  1236. AC_SUBST(WXVERSION)
  1237. AC_SUBST(WXWIDGETSCXXFLAGS)
  1238. AC_SUBST(WXWIDGETSCPPFLAGS)
  1239. AC_SUBST(WXWIDGETSLIB)
  1240. AC_SUBST(USE_WXWIDGETS)
  1241. # Done checking wxWidgets
  1242. USE_TERMIO=
  1243. AC_SUBST(USE_TERMIO)
  1244. STRIPFLAG=
  1245. AC_SUBST(STRIPFLAG)
  1246. GRASS_HOME=${DSTDIR}
  1247. AC_SUBST(GRASS_HOME)
  1248. AC_OUTPUT(include/Make/Platform.make include/version.h swig/perl/Makefile.PL swig/perl2/make.pl grass.pc)
  1249. LOC_MSG([Copying config.status to config.status.${ARCH}])
  1250. cp -f config.status config.status.${ARCH}
  1251. # Display configuration status
  1252. USE_TOGL=
  1253. if test -n "${USE_TCLTK}" -a -n "${USE_OPENGL}" ; then
  1254. USE_TOGL="1"
  1255. fi
  1256. LOC_MSG()
  1257. LOC_MSG([GRASS is now configured for: ${host}])
  1258. LOC_MSG()
  1259. LOC_MSG([ Source directory: ${SRCDIR}])
  1260. LOC_MSG([ Build directory: ${DSTDIR}])
  1261. LOC_MSG([ Installation directory: ${INSTDIR}])
  1262. LOC_MSG([ Startup script in directory: ${bindir}])
  1263. LOC_MSG([ C compiler: ${CC} ${CFLAGS}])
  1264. LOC_MSG([ C++ compiler: ${CXX} ${CXXFLAGS}])
  1265. #LOC_MSG([ FORTRAN compiler: ${F77} ${FFLAGS}])
  1266. LOC_MSG([ Building shared libraries: ${shared_ok}])
  1267. LOC_MSG([ 64bit support: ${do64bit}])
  1268. LOC_MSG([ OpenGL platform: ${OPENGL_TYPE}])
  1269. LOC_MSG()
  1270. LOC_MSG_USE(MacOSX application,MACOSX_APP)
  1271. LOC_MSG()
  1272. LOC_MSG_USE(NVIZ,USE_TOGL)
  1273. LOC_MSG()
  1274. LOC_MSG_USE(BLAS support,USE_BLAS)
  1275. LOC_MSG_USE(C++ support,USE_CXX)
  1276. LOC_MSG_USE(Cairo support,USE_CAIRO)
  1277. LOC_MSG_USE(DWG support,USE_OPENDWG)
  1278. LOC_MSG_USE(FFMPEG support,USE_FFMPEG)
  1279. LOC_MSG_USE(FFTW support,USE_FFTW)
  1280. LOC_MSG_USE(FreeType support,USE_FREETYPE)
  1281. LOC_MSG_USE(GDAL support,USE_GDAL)
  1282. LOC_MSG_USE(GEOS support,USE_GEOS)
  1283. LOC_MSG_USE(JPEG support,USE_JPEG)
  1284. LOC_MSG_USE(LAPACK support,USE_LAPACK)
  1285. LOC_MSG_USE(Large File support (LFS), USE_LARGEFILES)
  1286. LOC_MSG_USE(MySQL support,USE_MYSQL)
  1287. LOC_MSG_USE(NLS support,USE_NLS)
  1288. LOC_MSG_USE(ODBC support,USE_ODBC)
  1289. LOC_MSG_USE(OGR support,USE_OGR)
  1290. LOC_MSG_USE(OpenGL support,USE_OPENGL)
  1291. LOC_MSG_USE(PNG support,USE_PNG)
  1292. LOC_MSG_USE(PostgreSQL support,USE_POSTGRES)
  1293. LOC_MSG_USE(Python support,USE_PYTHON)
  1294. LOC_MSG_USE(Readline support,USE_READLINE)
  1295. LOC_MSG_USE(SQLite support,USE_SQLITE)
  1296. LOC_MSG_USE(Tcl/Tk support,USE_TCLTK)
  1297. LOC_MSG_USE(wxWidgets support,USE_WXWIDGETS)
  1298. LOC_MSG_USE(TIFF support,USE_TIFF)
  1299. LOC_MSG_USE(X11 support,USE_X11)
  1300. LOC_MSG_USE(Regex support,USE_REGEX)
  1301. LOC_MSG_USE(POSIX thread support,USE_PTHREAD)
  1302. LOC_MSG()