configure.in 43 KB

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