configure.in 44 KB

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