configure.ac 66 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275
  1. # Process this file with autoconf to produce a configure script
  2. AC_PREREQ(2.61)
  3. dnl ===========================================================================
  4. dnl Set Graphviz version information
  5. # set:
  6. # graphviz_version_major
  7. # graphviz_version_minor
  8. # graphviz_version_micro
  9. # graphviz_version_date
  10. # graphviz_change_date
  11. # graphviz_author_name
  12. # graphviz_author_email
  13. m4_include(./version.m4)
  14. AC_INIT([graphviz],[graphviz_version_major().graphviz_version_minor().graphviz_version_micro()],
  15. [https://gitlab.com/graphviz/graphviz/-/issues])
  16. GRAPHVIZ_VERSION_MAJOR=graphviz_version_major()
  17. GRAPHVIZ_VERSION_MINOR=graphviz_version_minor()
  18. GRAPHVIZ_VERSION_MICRO=graphviz_version_micro()
  19. # NB: date/time of last commit - or "0"
  20. GRAPHVIZ_VERSION_DATE=graphviz_version_date()
  21. GRAPHVIZ_AUTHOR_NAME=graphviz_author_name()
  22. GRAPHVIZ_AUTHOR_EMAIL=graphviz_author_email()
  23. GRAPHVIZ_CHANGE_DATE=graphviz_change_date()
  24. AC_SUBST([GRAPHVIZ_VERSION_MAJOR])
  25. AC_SUBST([GRAPHVIZ_VERSION_MINOR])
  26. AC_SUBST([GRAPHVIZ_VERSION_MICRO])
  27. AC_SUBST([GRAPHVIZ_VERSION_DATE])
  28. AC_SUBST([GRAPHVIZ_AUTHOR_NAME])
  29. AC_SUBST([GRAPHVIZ_AUTHOR_EMAIL])
  30. AC_SUBST([GRAPHVIZ_CHANGE_DATE])
  31. dnl ===========================================================================
  32. # libtool shared library version for plugins
  33. # Increment if the interface has additions, changes, removals.
  34. GVPLUGIN_CURRENT=6
  35. # Increment any time the source changes; set to
  36. # 0 if you increment CURRENT
  37. GVPLUGIN_REVISION=0
  38. # Increment if any interfaces have been added; set to 0
  39. # if any interfaces have been removed. removal has
  40. # precedence over adding, so set to 0 if both happened.
  41. GVPLUGIN_AGE=0
  42. GVPLUGIN_CONFIG_FILE="config$GVPLUGIN_CURRENT"
  43. AC_DEFINE_UNQUOTED(GVPLUGIN_CONFIG_FILE,"$GVPLUGIN_CONFIG_FILE",[Filename for plugin configuration file.])
  44. AC_SUBST([GVPLUGIN_CONFIG_FILE])
  45. GVPLUGIN_VERSION_INFO="$GVPLUGIN_CURRENT:$GVPLUGIN_REVISION:$GVPLUGIN_AGE"
  46. AC_SUBST([GVPLUGIN_VERSION_INFO])
  47. dnl ===========================================================================
  48. AC_CONFIG_SRCDIR([configure.ac])
  49. AC_CONFIG_AUX_DIR([config])
  50. AC_CONFIG_MACRO_DIR([m4])
  51. dnl -----------------------------------
  52. dnl Checks for system type
  53. AC_CANONICAL_HOST
  54. # This nonsense drives me crazy!!
  55. case "${host_os}" in
  56. *irix* | *nonstopux* )
  57. GVPLUGIN_VERSION=`expr $GVPLUGIN_CURRENT + 1`
  58. ;;
  59. * )
  60. GVPLUGIN_VERSION=$GVPLUGIN_CURRENT
  61. ;;
  62. esac
  63. AC_DEFINE_UNQUOTED(GVPLUGIN_VERSION,$GVPLUGIN_VERSION,[Compatibility version number for plugins.])
  64. AC_SUBST([GVPLUGIN_VERSION])
  65. AC_ARG_VAR(LIBPOSTFIX, [subscript to lib, e.g. "/64" for "/usr/lib/64" on Solaris])
  66. AC_ARG_VAR(INTGOSIZE, [integer size for go, 32 or 64])
  67. AC_ARG_VAR(RUBY_VER, [version number of the ruby package])
  68. INTGOSIZE=32
  69. if test -z "${LIBPOSTFIX++}"; then
  70. case "${host_os}" in
  71. *linux* )
  72. case "${host_cpu}" in
  73. aarch64 | powerpc64 | powerpc64le | s390x | x86_64 | sparc64 | mips64* | riscv64 | e2k )
  74. LIBPOSTFIX="64"
  75. INTGOSIZE=64
  76. ;;
  77. esac
  78. ;;
  79. *solaris* )
  80. case "${host_cpu}" in
  81. x86_64 | sparc64 )
  82. LIBPOSTFIX="/64"
  83. INTGOSIZE=64
  84. ;;
  85. esac
  86. ;;
  87. esac
  88. fi
  89. UWIN=no
  90. CYGWIN=no
  91. MINGW32=no
  92. case "${host_os}" in
  93. *uwin* )
  94. UWIN=yes
  95. BROWSER="xdg-open"
  96. JSHEXT=so
  97. SHARED_LIBRARY_SUFFIX=.so
  98. ;;
  99. *cygwin* )
  100. CYGWIN=yes
  101. BROWSER="xdg-open"
  102. JSHEXT=so
  103. SHARED_LIBRARY_SUFFIX=.dll
  104. ;;
  105. *mingw32* )
  106. MINGW32=yes
  107. BROWSER="xdg-open"
  108. JSHEXT=so
  109. SHARED_LIBRARY_SUFFIX=.so
  110. ;;
  111. *darwin* )
  112. DARWIN=yes
  113. AC_DEFINE_UNQUOTED(DARWIN,1,[Define for any Darwin-based OS.])
  114. BROWSER="open"
  115. JSHEXT=jnilib
  116. SHARED_LIBRARY_SUFFIX=.dylib
  117. AC_DEFINE_UNQUOTED(DARWIN_DYLIB,"$DARWIN_DYLIB",[Define for Darwin-style shared library names.])
  118. ;;
  119. hpux* )
  120. BROWSER="xdg-open"
  121. JSHEXT=so
  122. SHARED_LIBRARY_SUFFIX=.sl
  123. ;;
  124. * )
  125. BROWSER="xdg-open"
  126. JSHEXT=so
  127. SHARED_LIBRARY_SUFFIX=.so
  128. ;;
  129. esac
  130. AC_SUBST([CYGWIN])
  131. AC_SUBST([MINGW32])
  132. AC_SUBST([DARWIN])
  133. JNI_EXTRA_LDFLAGS="-shrext .$JSHEXT"
  134. AC_SUBST([JNI_EXTRA_LDFLAGS])
  135. AC_SUBST([JSHEXT])
  136. AC_SUBST([SHARED_LIBRARY_SUFFIX])
  137. AM_CONDITIONAL(WITH_WIN32, [test "$UWIN" = "yes" -o "$CYGWIN" = "yes" -o "$MINGW32" = "yes"])
  138. AM_CONDITIONAL(WITH_CYGWIN, [test "$CYGWIN" = "yes"])
  139. AM_CONDITIONAL(WITH_MINGW, [test "$MINGW32" = "yes"])
  140. DEFAULT_DPI=96
  141. AC_DEFINE_UNQUOTED(DEFAULT_DPI,$DEFAULT_DPI,Default DPI.)
  142. AC_DEFINE_UNQUOTED(BROWSER,"$BROWSER",[Command to open a browser on a URL])
  143. AM_INIT_AUTOMAKE([no-define subdir-objects tar-ustar])
  144. # Suppress verbose compile lines
  145. m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
  146. AC_CONFIG_HEADERS([config.h])
  147. # put BUILDDATE in its own file so that only targets that use it get rebuilt
  148. echo "#define BUILDDATE \"$GRAPHVIZ_VERSION_DATE\"" > builddate.h
  149. AC_PREFIX_DEFAULT([/usr/local])
  150. if test "${prefix}" = "NONE"; then
  151. prefix=${ac_default_prefix}
  152. AC_SUBST([prefix])
  153. fi
  154. dnl -----------------------------------
  155. # Static/Shared binaries
  156. AC_ARG_ENABLE(static,
  157. [AS_HELP_STRING([--enable-static],[build static executable])])
  158. if test "$enable_static" = "yes"; then
  159. AC_ENABLE_STATIC
  160. use_static="Yes"
  161. else
  162. AC_DISABLE_STATIC
  163. use_static="No (disabled by default)"
  164. fi
  165. AM_CONDITIONAL(ENABLE_STATIC, [test "$enable_static" = "yes"])
  166. AC_ARG_ENABLE(shared,
  167. [AS_HELP_STRING([--enable-shared],[build shared executable])])
  168. if test "$enable_shared" != "no"; then
  169. AC_ENABLE_SHARED
  170. use_shared="Yes"
  171. case "${host_os}" in
  172. *uwin* | *cygwin* | *mingw32* )
  173. AC_DEFINE_UNQUOTED(GVDLL,1, [Define for DLLs on Windows.])
  174. ;;
  175. esac
  176. else
  177. use_shared="No (disabled)"
  178. AC_DISABLE_SHARED
  179. fi
  180. AM_CONDITIONAL(ENABLE_SHARED, [test "$enable_shared" = "yes"])
  181. dnl -----------------------------------
  182. dnl checks for various programs
  183. AM_PROG_LEX
  184. AC_PROG_YACC
  185. AC_PROG_EGREP
  186. AC_PROG_INSTALL
  187. AC_PROG_LN_S
  188. LT_INIT
  189. AC_ARG_ENABLE([man-pdfs],
  190. [AS_HELP_STRING([--enable-man-pdfs], [Generate PDFs of man pages (default: auto)])])
  191. AS_IF([test "$enable_man_pdfs" != "no"], [
  192. AC_CHECK_PROGS([GROFF], [groff])
  193. AS_IF([test "$enable_man_pdfs" = "yes" && test -z "$GROFF"], [
  194. AC_MSG_ERROR([You requested PDF generation from man pages, but 'groff' could not be found])
  195. ])
  196. AC_CHECK_PROGS([PS2PDF], [ps2pdf pstopdf])
  197. AS_IF([test "$enable_man_pdfs" = "yes" && test -z "$PS2PDF"], [
  198. AC_MSG_ERROR([You requested PDF generation from man pages, but neither 'ps2pdf' nor 'pstopdf' could be found])
  199. ])
  200. ])
  201. AM_CONDITIONAL([ENABLE_MAN_PDFS], [test "$enable_man_pdfs" != "no" && test -n "$GROFF" && test -n "$PS2PDF"])
  202. # allow disabling of demos installation
  203. AC_ARG_WITH([demos],
  204. [AS_HELP_STRING([--with-demos=DIR], [Install demos (default: $(pkgdatadir)/demo)])])
  205. demodir='$(pkgdatadir)/demo'
  206. AS_IF([test "$with_demos" != "yes" && test -n "$with_demos"], [
  207. dnl user provided --with-demos=/my/demo/dir
  208. demodir="$with_demos"
  209. ])
  210. AM_CONDITIONAL([INSTALL_DEMOS], [test "$with_demos" != "no"])
  211. AC_SUBST([demodir])
  212. PKG_INSTALLDIR
  213. PKG_PROG_PKG_CONFIG
  214. AC_ARG_WITH(tclsh,
  215. [AS_HELP_STRING([--with-tclsh=PROG],[use a specific tclsh])],
  216. TCLSH=$withval,)
  217. if test "$TCLSH" = ""; then
  218. AC_PATH_PROGS(TCLSH,[tclsh8.6 tclsh8.5 tclsh8.4 tclsh8.3 tclsh],[],[/usr/bin])
  219. fi
  220. dnl -----------------------------------
  221. dnl checks for compilers
  222. AM_PROG_CC_C_O
  223. AC_PROG_CC_C99
  224. if test "$ac_cv_prog_cc_c99" = "no"; then
  225. AC_MSG_ERROR([C compiler does not support C99])
  226. fi
  227. AC_PROG_CXX
  228. AX_CXX_COMPILE_STDCXX_17(noext,mandatory)
  229. AC_PROG_OBJC
  230. AC_C_INLINE
  231. dnl ===========================================================================
  232. dnl Set GCC compiler flags
  233. if [ test "${GCC}" = "yes" ]
  234. then
  235. # Enable common warnings flags
  236. CFLAGS="${CFLAGS} -Wall"
  237. # Enable common extra flags
  238. CFLAGS="${CFLAGS} -Wextra"
  239. # Enable specific warning flags not included by -Wall or -Wextra
  240. CFLAGS="${CFLAGS} -Wmissing-include-dirs -Wswitch-default -Wfloat-equal -Wundef -Wshadow -Wpointer-arith -Wbad-function-cast -Wcast-qual -Wconversion -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs"
  241. # Enable additional C99 warnings
  242. save_CFLAGS="${CFLAGS}"
  243. CFLAGS=""
  244. AX_CHECK_COMPILE_FLAG([-Wtrampolines],
  245. [save_CFLAGS="${save_CFLAGS} -Wtrampolines"],[],[-Werror])
  246. AX_CHECK_COMPILE_FLAG([-Wlogical-op],
  247. [save_CFLAGS="${save_CFLAGS} -Wlogical-op"],[],[-Werror])
  248. CFLAGS="${save_CFLAGS}"
  249. fi
  250. # Workaround for native compilers
  251. # HP : http://bugs.gnome.org/db/31/3163.html
  252. # DEC : Enable NaN/Inf
  253. if test "${GCC}" != "yes" ; then
  254. case "${build}" in
  255. *-*-hpux* )
  256. CFLAGS="${CFLAGS} -Wp,-H30000"
  257. ;;
  258. *-dec-osf* )
  259. CFLAGS="${CFLAGS} -ieee"
  260. ;;
  261. *-apple-darwin* )
  262. CFLAGS="${CFLAGS} -fno-common"
  263. LDFLAGS="${LDFLAGS} -Wl,-headerpad_max_install_names"
  264. ;;
  265. *-sgi-irix* )
  266. ;;
  267. esac
  268. else
  269. case "${build}" in
  270. *-dec-osf* )
  271. CFLAGS="${CFLAGS} -mieee -Wall"
  272. ;;
  273. *alpha*-*-linux* )
  274. CFLAGS="${CFLAGS} -mieee -Wall"
  275. ;;
  276. *-apple-darwin* )
  277. CFLAGS="${CFLAGS} -fno-common -Wall"
  278. LDFLAGS="${LDFLAGS} -Wl,-headerpad_max_install_names"
  279. ;;
  280. *-freebsd* )
  281. CFLAGS="${CFLAGS} -Wstrict-prototypes -Wpointer-arith -Wall"
  282. ;;
  283. * )
  284. CFLAGS="${CFLAGS} -Wno-unknown-pragmas -Wstrict-prototypes -Wpointer-arith -Wall"
  285. ;;
  286. esac
  287. fi
  288. # debug
  289. AC_ARG_ENABLE([debug],
  290. AS_HELP_STRING([--enable-debug],[Compile the debug version (default: disabled)]),
  291. [enable_debug=$enableval],
  292. [enable_debug=no])
  293. AM_CONDITIONAL([DEBUG], [test $enable_debug = "yes"])
  294. if test "$enable_debug" = "yes"; then
  295. dnl add -O0 only if GCC is used
  296. if test "$GCC" = "yes"; then
  297. CFLAGS="$CFLAGS -g -O0"
  298. CXXFLAGS="$CXXFLAGS -g -O0"
  299. fi
  300. fi
  301. dnl -----------------------------------
  302. dnl Check for various typedefs and provide substitutes if they do not exist.
  303. AC_TYPE_PID_T
  304. AC_TYPE_SSIZE_T
  305. dnl -----------------------------------
  306. dnl Checks for header files
  307. # AC_HEADER_STDC
  308. AC_CHECK_HEADERS( \
  309. sys/time.h sys/select.h \
  310. sys/mman.h \
  311. sys/ioctl.h sys/inotify.h)
  312. dnl -----------------------------------
  313. dnl Checks for -lm library
  314. AC_CHECK_LIB(m, main, [MATH_LIBS="-lm"])
  315. AC_SUBST([MATH_LIBS])
  316. # -----------------------------------
  317. # Checks for library functions
  318. AC_CHECK_FUNCS([lrand48 drand48 srand48 setmode setenv \
  319. memrchr select dl_iterate_phdr inotify_init1])
  320. AC_REPLACE_FUNCS([strcasestr])
  321. dnl -----------------------------------
  322. dnl libtool ltdl on-demand plugin loading
  323. save_LIBS="$LIBS"
  324. LT_INIT([dlopen])
  325. LT_CONFIG_LTDL_DIR([libltdl])
  326. LTDL_INIT
  327. AC_ARG_ENABLE(ltdl,
  328. [AS_HELP_STRING([--enable-ltdl],[support on-demand plugin loading])])
  329. if test "$enable_ltdl" != "no"; then
  330. AC_DEFINE(ENABLE_LTDL,1,[Define if you want on-demand plugin loading])
  331. use_ltdl="Yes"
  332. # The lt_dladvise_init symbol was added with libtool-2.2
  333. if test "$with_included_ltdl" != "yes"; then
  334. save_CFLAGS="$CFLAGS"
  335. save_LDFLAGS="$LDFLAGS"
  336. CFLAGS="$CFLAGS $LTDLINCL"
  337. LDFLAGS="$LDFLAGS $LIBLTDL"
  338. AC_CHECK_LIB([ltdl], [lt_dladvise_init], [],
  339. [AC_MSG_ERROR([installed libltdl is too old])])
  340. LDFLAGS="$save_LDFLAGS"
  341. CFLAGS="$save_CFLAGS"
  342. fi
  343. else
  344. use_ltdl="No (disabled)"
  345. fi
  346. AM_CONDITIONAL(ENABLE_LTDL, [test "$enable_ltdl" != "no"])
  347. AC_SUBST([INCLTDL])
  348. AC_SUBST([LIBLTDL])
  349. LIBS="$save_LIBS"
  350. dnl -----------------------------------
  351. dnl Checks for X header files.
  352. AC_PATH_XTRA
  353. if test "$no_x" = "yes"; then
  354. use_xlib="No (disabled or unavailable)"
  355. AC_MSG_WARN([X11 not available.])
  356. X_SUBDIRS=""
  357. else
  358. use_xlib="Yes"
  359. PKG_CHECK_MODULES(XRENDER, [xrender],HAVE_XRENDER="yes" ,HAVE_XRENDER="no")
  360. fi
  361. AM_CONDITIONAL(WITH_X, [test "$use_xlib" = "Yes"])
  362. dnl -----------------------------------
  363. dnl check for SWIG - needed for script-language bindings
  364. AC_ARG_ENABLE(swig,
  365. [AS_HELP_STRING([--enable-swig=yes],[swig-generated language bindings])],
  366. [],[enable_swig=yes])
  367. if test "$enable_swig" != "yes"; then
  368. use_swig="No (disabled)"
  369. else
  370. AC_CHECK_PROG(SWIG,swig,swig)
  371. if test "$SWIG" = ""; then
  372. use_swig="No (swig not available)"
  373. else
  374. SWIG_VERSION=`$SWIG -version 2>&1 | $EGREP Version | cut -d ' ' -f 3`
  375. AC_SUBST([SWIG_VERSION])
  376. AX_COMPARE_VERSION([$SWIG_VERSION], [lt], [1.3.0], [SWIG=])
  377. AX_COMPARE_VERSION([$SWIG_VERSION], [lt], [1.3.40], [
  378. # EL5 has swig-1.3.29 which does not define SWIGJAVA
  379. SWIGJAVA_CPPFLAGS=-DSWIGJAVA
  380. AC_SUBST([SWIGJAVA_CPPFLAGS])
  381. ])
  382. AX_COMPARE_VERSION([$SWIG_VERSION], [lt], [4.1.0], [
  383. SWIG_PHP_DATA=gv.php
  384. SWIG_PHP_DATA_TO_PACKAGE=usr/share/php/gv.php
  385. ], [
  386. # SWIG ≥ 4.1.0 no longer generates any PHP code for the bindings
  387. SWIG_PHP_DATA=
  388. SWIG_PHP_DATA_TO_PACKAGE=
  389. ])
  390. AC_SUBST([SWIG_PHP_DATA])
  391. AC_SUBST([SWIG_PHP_DATA_TO_PACKAGE])
  392. if test "$SWIG" = ""; then
  393. AC_MSG_WARN([The version of swig is too old.])
  394. use_swig="No (swig too old)"
  395. else
  396. use_swig="Yes"
  397. fi
  398. fi
  399. fi
  400. AM_CONDITIONAL(WITH_SWIG, [test "$SWIG" != ""])
  401. AM_CONDITIONAL(WITH_SWIG_PHP_DATA,
  402. [test "$SWIG" != "" -a "$SWIG_PHP_DATA" != ""])
  403. dnl -----------------------------------
  404. dnl INCLUDES and LIBS for C#
  405. AC_ARG_ENABLE(sharp,
  406. [AS_HELP_STRING([--enable-sharp=yes],[C# language bindings])],
  407. [],[enable_sharp=yes])
  408. if test "$enable_sharp" != "yes"; then
  409. use_sharp="No (disabled)"
  410. else
  411. if test "$use_swig" != "Yes"; then
  412. use_sharp="No (swig not available)"
  413. else
  414. if test `$SWIG -help 2>&1 | $EGREP -c '\-csharp *- Generate'` = 0; then
  415. use_sharp="No (swig does not support -csharp option)"
  416. else
  417. AC_CHECK_PROG(MCS,mcs,mcs)
  418. if test "$MCS" = ""; then
  419. use_sharp="No (mcs not available)"
  420. else
  421. use_sharp="Yes"
  422. fi
  423. fi
  424. fi
  425. fi
  426. AM_CONDITIONAL(WITH_SHARP, [test "$use_sharp" = "Yes"])
  427. dnl -----------------------------------
  428. dnl INCLUDES and LIBS for D (disabled by default - incomplete)
  429. AC_ARG_ENABLE(d,
  430. [AS_HELP_STRING([--enable-d=no],[d language bindings])],
  431. [], [enable_d=no])
  432. if test "$enable_d" != "yes"; then
  433. use_d="No (disabled by default - incomplete)"
  434. else
  435. if test "$use_swig" != "Yes"; then
  436. use_d="No (swig not available)"
  437. else
  438. if test `$SWIG -help 2>&1 | $EGREP -c '\-d* *- Generate'` = 0 ; then
  439. use_d="No (swig does not support -d option)"
  440. else
  441. use_d="Yes"
  442. fi
  443. fi
  444. fi
  445. AM_CONDITIONAL(WITH_D, [test "$use_d" = "Yes"])
  446. dnl -----------------------------------
  447. dnl INCLUDES and LIBS for GO
  448. AC_ARG_ENABLE(go,
  449. [AS_HELP_STRING([--enable-go=yes],[go language bindings])],
  450. [], [enable_go=yes])
  451. if test "$enable_go" != "yes"; then
  452. use_go="No (disabled)"
  453. else
  454. if test "$use_swig" != "Yes"; then
  455. use_go="No (swig not available)"
  456. else
  457. if test `$SWIG -help 2>&1 | $EGREP -c '\-go* *- Generate'` = 0 ; then
  458. use_go="No (swig does not support -go option)"
  459. else
  460. AC_CHECK_PROG(GO,go,go)
  461. if test "$GO" = ""; then
  462. use_go="No (GO compiler not available)"
  463. else
  464. GO_INCLUDES=
  465. GO_LIBS=
  466. if test "$GO" != ""; then
  467. use_go="Yes"
  468. AC_SUBST([GO_INCLUDES])
  469. AC_SUBST([GO_LIBS])
  470. AC_SUBST([INTGOSIZE])
  471. fi
  472. fi
  473. fi
  474. fi
  475. fi
  476. AM_CONDITIONAL(WITH_GO, [test "$use_go" = "Yes"])
  477. dnl -----------------------------------
  478. dnl INCLUDES and LIBS for GUILE
  479. AC_ARG_ENABLE(guile,
  480. [AS_HELP_STRING([--enable-guile=yes],[guile language bindings])],
  481. [],[enable_guile=yes])
  482. if test "$enable_guile" != "yes"; then
  483. use_guile="No (disabled)"
  484. else
  485. if test "$use_swig" != "Yes"; then
  486. use_guile="No (swig not available)"
  487. else
  488. if test `$SWIG -help 2>&1 | $EGREP -c '\-guile *- Generate'` = 0; then
  489. use_guile="No (swig does not support -guile option)"
  490. else
  491. PKG_CHECK_MODULES([GUILE], [guile-3.0], [
  492. use_guile="Yes"
  493. AC_SUBST([GUILE_CFLAGS])
  494. AC_SUBST([GUILE_LIBS])
  495. ], [
  496. PKG_CHECK_MODULES([GUILE], [guile-2.0], [
  497. use_guile="Yes"
  498. AC_SUBST([GUILE_CFLAGS])
  499. AC_SUBST([GUILE_LIBS])
  500. ], [
  501. PKG_CHECK_MODULES([GUILE], [guile-1.8], [
  502. use_guile="Yes"
  503. AC_SUBST([GUILE_CFLAGS])
  504. AC_SUBST([GUILE_LIBS])
  505. ], [
  506. use_guile="No (Guile not available)"
  507. ])
  508. ])
  509. ])
  510. fi
  511. fi
  512. fi
  513. AM_CONDITIONAL(WITH_GUILE, [test "$use_guile" = "Yes"])
  514. dnl -----------------------------------
  515. dnl INCLUDES and LIBS for JAVA
  516. AC_ARG_ENABLE(java,
  517. [AS_HELP_STRING([--enable-java=yes],[java language bindings])],
  518. [], [enable_java=yes])
  519. if test "$enable_java" != "yes"; then
  520. use_java="No (disabled)"
  521. else
  522. if test "$use_swig" != "Yes"; then
  523. use_java="No (swig not available)"
  524. else
  525. if test `$SWIG -help 2>&1 | $EGREP -c '\-java *- Generate'` = 0; then
  526. use_java="No (swig does not support -java option)"
  527. else
  528. AC_CHECK_PROG(JAVA,java,java)
  529. if test "$JAVA" = ""; then
  530. use_java="No (java not available)"
  531. else
  532. for try_java_include in \
  533. /System/Library/Frameworks/JavaVM.framework/Headers \
  534. /usr/lib${LIBPOSTFIX}/jvm/java/include \
  535. /usr/lib${LIBPOSTFIX}/jvm/java/include/linux \
  536. /usr/lib${LIBPOSTFIX}/jvm/default-java/include \
  537. /usr/lib${LIBPOSTFIX}/jvm/default-java/include/linux \
  538. /usr/lib/jvm/java/include \
  539. /usr/lib/jvm/java/include/linux \
  540. /usr/lib/jvm/default-java/include \
  541. /usr/lib/jvm/default-java/include/linux \
  542. /etc/java-config-2/current-system-vm/include \
  543. /etc/java-config-2/current-system-vm/include/linux \
  544. /etc/java-config-2/current-system-vm/include/freebsd
  545. do
  546. if test -d "$try_java_include" ; then
  547. JAVA_INCLUDES="$JAVA_INCLUDES -I${try_java_include}"
  548. fi
  549. done
  550. JAVA_LIBS=
  551. AC_ARG_WITH(javaincludedir,
  552. [AS_HELP_STRING([--with-javaincludedir=DIR],[use JAVA includes from DIR])],
  553. [JAVA_INCLUDES="-I$withval"])
  554. AC_ARG_WITH(javalibdir,
  555. [AS_HELP_STRING([--with-javalibdir=DIR],[use JAVA libraries from DIR])],
  556. [JAVA_LIBS="$withval"])
  557. save_CPPFLAGS=$CPPFLAGS
  558. CPPFLAGS="$CPPFLAGS $JAVA_INCLUDES"
  559. AC_CHECK_HEADER(jni.h,,[
  560. use_java="No (missing header)"
  561. JAVA=
  562. ])
  563. CPPFLAGS="$save_CPPFLAGS"
  564. if test "$JAVA" != ""; then
  565. use_java="Yes"
  566. AC_SUBST([JAVA_INCLUDES])
  567. AC_SUBST([JAVA_LIBS])
  568. fi
  569. fi
  570. fi
  571. fi
  572. fi
  573. AM_CONDITIONAL(WITH_JAVA, [test "$use_java" = "Yes"])
  574. dnl -----------------------------------
  575. dnl INCLUDES and LIBS for JAVASCRIPT (disabled by default - incomplete)
  576. AC_ARG_ENABLE(javascript,
  577. [AS_HELP_STRING([--enable-javascript=no],[Javascript language bindings])],
  578. [], [enable_javascript=no])
  579. if test "$enable_javascript" != "yes"; then
  580. use_javascript="No (disabled by default - incomplete)"
  581. else
  582. if test "$use_swig" != "Yes"; then
  583. use_javascript="No (swig not available)"
  584. else
  585. if test `$SWIG -help 2>&1 | $EGREP -c '\-javascript* *- Generate'` = 0 ; then
  586. use_javascript="No (swig does not support -javascript option)"
  587. else
  588. AC_CHECK_PROG(JAVASCRIPT,js,js)
  589. if test "$JAVASCRIPT" = ""; then
  590. use_javascript="No (JAVASCRIPT compiler not available)"
  591. else
  592. use_javascript="Yes"
  593. fi
  594. fi
  595. fi
  596. fi
  597. AM_CONDITIONAL(WITH_JAVASCRIPT, [test "$use_javascript" = "Yes"])
  598. dnl -----------------------------------
  599. dnl INCLUDES and LIBS for LUA
  600. AC_ARG_ENABLE(lua,
  601. [AS_HELP_STRING([--enable-lua=yes],[lua language bindings])],
  602. [], [enable_lua=yes])
  603. if test "$enable_lua" != "yes"; then
  604. use_lua="No (disabled)"
  605. else
  606. if test "$use_swig" != "Yes"; then
  607. use_lua="No (swig not available)"
  608. else
  609. if test `$SWIG -help 2>&1 | $EGREP -c '\-lua *- Generate'` = 0; then
  610. use_lua="No (swig does not support -lua option)"
  611. else
  612. AC_CHECK_PROG(LUA,lua,lua)
  613. if test "$LUA" = ""; then
  614. use_lua="No (lua not available)"
  615. else
  616. ac_save_CPPFLAGS="$CPPFLAGS"
  617. ac_save_CFLAGS="$CFLAGS"
  618. ac_save_LDFLAGS="$LDFLAGS"
  619. AC_CHECK_PROG(LUA,lua,lua)
  620. LUA_INCLUDES=""
  621. LUA_LIBS=""
  622. LUA_INSTALL_DIR=""
  623. if test -n "$lua_inc"; then
  624. CFLAGS="$CFLAGS -I$lua_inc"
  625. CPPFLAGS="$CPPFLAGS -I$lua_inc"
  626. fi
  627. if test -n "$lua_lib"; then
  628. LDFLAGS="$LDFLAGS -L$lua_lib"
  629. fi
  630. if test "$LUA_INCLUDES" = "" -a "$LUA_LIBS" = "" ; then
  631. if test "$PKG_CONFIG" != ""; then
  632. AC_MSG_CHECKING(for Lua headers and libraries with pkg-config)
  633. echo
  634. for l in "$lua_suffix" "" "54" "5.4" "53" "5.3" "52" "5.2" "51" "5.1" ; do
  635. pkgconfig_lua_found=`$PKG_CONFIG --exists lua$l 2>/dev/null`
  636. if test "$?" = "0" ; then
  637. LUA_INCLUDES="$LUA_CFLAGS "`$PKG_CONFIG --cflags lua$l`
  638. LUA_LIBS="$LUA_LFLAGS "`$PKG_CONFIG --libs lua$l`
  639. LUA_INSTALL_DIR="`$PKG_CONFIG --variable=libdir lua$l`/lua"
  640. pkgconfig_lualib_found=`$PKG_CONFIG --exists lualib$l 2>/dev/null`
  641. if test "$?" = "0"; then
  642. LUA_INCLUDES="$LUA_CFLAGS "`$PKG_CONFIG --cflags lualib$l`
  643. LUA_LIBS="$LUA_LFLAGS "`$PKG_CONFIG --libs lualib$l`
  644. fi
  645. break
  646. fi
  647. done
  648. fi
  649. fi
  650. if test "$LUA_INCLUDES" = "" -o "$LUA_LIBS" = "" ; then
  651. AC_MSG_CHECKING(for Lua headers and libraries)
  652. echo
  653. AC_CHECK_HEADER(lua.h,ac_found_lua_header="yes",ac_found_lua_header="no")
  654. AC_CHECK_HEADER(lualib.h,ac_found_liblua_header="yes",ac_found_liblua_header="no")
  655. if test "$ac_found_lua_header" = "yes" -a "$ac_found_liblua_header" = "yes"; then
  656. LUA_INCLUDES="$CFLAGS"
  657. fi
  658. for l in "$lua_suffix" "" "52" "5.2" "51" "5.1" ; do
  659. AC_CHECK_LIB(lua$l,lua_call,ac_found_lua_lib="yes",ac_found_lua_lib="no")
  660. if test "$ac_found_lua_lib" = "yes" ; then
  661. LUA_LIBS="$LDFLAGS -llua$l -lm"
  662. ac2_save_LDFLAGS="$LDFLAGS"
  663. LDFLAGS="$LDFLAGS -llua$l -lm"
  664. if echo "$host_os" | grep "^linux" 1>/dev/null 2>&1 ; then
  665. LDFLAGS="$LDFLAGS -ldl"
  666. fi
  667. AC_CHECK_LIB(lualib$l,luaL_openlib,ac_found_liblua_lib="yes",ac_found_liblua_lib="no")
  668. if test "$ac_found_liblua_lib" = "yes" ; then
  669. LUA_LIBS="$LUA_LFLAGS -llualib$l"
  670. if echo "$host_os" | grep "^linux" 1>/dev/null 2>&1 ; then
  671. LUA_LIBS="$LUA_LFLAGS -ldl"
  672. fi
  673. fi
  674. LDFLAGS="$ac2_save_LDFLAGS"
  675. break
  676. fi
  677. done
  678. fi
  679. AC_MSG_CHECKING(for Lua compiling and linking)
  680. LUA_TEST=`LT=luatest.c ; echo "#include <lua.h>" > $LT; echo "#include <lualib.h>" >> $LT; echo "int main() { return 0; }" >> $LT ; $CC -Wall $LT -o $LT.out $LUA_INCLUDES $LUA_LIBS $CFLAGS $LDFLAGS 1>/dev/null 2>&1 ; echo $?; rm -f $LT $LT.out 1>/dev/null 2>&1`
  681. if test "$LUA_TEST" != "0" ; then
  682. AC_MSG_RESULT(no)
  683. AC_MSG_WARN([
  684. *** Lua (>=5.1) headers and/or libraries could not be found in your system.
  685. *** Try to install liblua, liblualib and liblua-dev with your software package manager.
  686. *** Graphviz will be built without Lua support.])
  687. use_lua="No (lua compiling/linking failed)"
  688. else
  689. use_lua="Yes"
  690. AC_SUBST([LUA_INCLUDES])
  691. AC_SUBST([LUA_LIBS])
  692. AC_SUBST([LUA_INSTALL_DIR])
  693. # Not needed for Graphviz: AC_DEFINE(PLUGIN_LUA)
  694. fi
  695. CFLAGS="$ac_save_CFLAGS"
  696. CPPFLAGS="$ac_save_CPPFLAGS"
  697. LDFLAGS="$ac_save_LDFLAGS"
  698. fi
  699. fi
  700. fi
  701. fi
  702. AM_CONDITIONAL(WITH_LUA, [test "$use_lua" = "Yes"])
  703. dnl -----------------------------------
  704. dnl INCLUDES and LIBS for PERL
  705. AC_ARG_ENABLE(perl,
  706. [AS_HELP_STRING([--enable-perl=yes],[perl language bindings])],
  707. [], [enable_perl=yes])
  708. if test "$enable_perl" != "yes"; then
  709. use_perl="No (disabled)"
  710. else
  711. if test "$use_swig" != "Yes"; then
  712. use_perl="No (swig not available)"
  713. else
  714. if test `$SWIG -perl5 2>&1 | $EGREP -c '(Unable|No target)'` -eq 1; then
  715. use_perl="No (swig does not support -perl5 option)"
  716. else
  717. AC_CHECK_PROG(PERL,perl,perl)
  718. if test "$PERL" = ""; then
  719. use_perl="No (perl not available)"
  720. else
  721. PERL_INCLUDES="`$PERL $srcdir/config/config_perl.pl PERL_INCLUDES`"
  722. PERL_LIBS="`$PERL $srcdir/config/config_perl.pl PERL_LIBS`"
  723. PERL_INSTALL_DIR="`$PERL $srcdir/config/config_perl.pl PERL_INSTALL_DIR`"
  724. save_CPPFLAGS=$CPPFLAGS
  725. CPPFLAGS="$CPPFLAGS $PERL_INCLUDES"
  726. AC_CHECK_HEADER(EXTERN.h,,[
  727. use_perl="No (missing header)"
  728. PERL=
  729. ])
  730. CPPFLAGS=$save_CPPFLAGS
  731. if test "$PERL" != ""; then
  732. use_perl="Yes"
  733. AC_SUBST([PERL_INCLUDES])
  734. AC_SUBST([PERL_LIBS])
  735. AC_SUBST([PERL_INSTALL_DIR])
  736. fi
  737. fi
  738. fi
  739. fi
  740. fi
  741. AM_CONDITIONAL(WITH_PERL, [test "$use_perl" = "Yes"])
  742. dnl -----------------------------------
  743. dnl INCLUDES and LIBS for PHP
  744. AC_ARG_ENABLE(php,
  745. [AS_HELP_STRING([--enable-php=yes],[php language bindings])],
  746. [], [enable_php=yes])
  747. if test "$enable_php" != "yes"; then
  748. use_php="No (disabled)"
  749. else
  750. if test "$use_swig" != "Yes"; then
  751. use_php="No (swig not available)"
  752. else
  753. if test `$SWIG -php7 2>&1 | $EGREP -c '(Unable|No target)'` -eq 1; then
  754. SWIG_PHP_OPT='-php'
  755. else
  756. SWIG_PHP_OPT='-php7'
  757. fi
  758. if test `$SWIG -help 2>&1 | $EGREP -c "(-php|-php7) *- Generate"` = 0 ; then
  759. use_php="No (swig does not support -php or -php7 option)"
  760. else
  761. AC_CHECK_PROG(PHP,php,php)
  762. if test "$PHP" = ""; then
  763. use_php="No (php not available)"
  764. else
  765. AC_CHECK_PROG(PHPCONFIG,php-config,php-config)
  766. if test "$PHPCONFIG" = ""; then
  767. use_php="No (php-config not available)"
  768. else
  769. PHP_INCLUDES="`$PHPCONFIG --includes`"
  770. PHP_INSTALL_DIR="`$PHPCONFIG --extension-dir`"
  771. PHP_INSTALL_DATADIR="/usr/share/php"
  772. PHP_LIBS="`$PHPCONFIG --ldflags` `$PHPCONFIG --libs`"
  773. fi
  774. fi
  775. if test "$PHP" != ""; then
  776. use_php="Yes"
  777. AC_SUBST([PHP_INCLUDES])
  778. AC_SUBST([PHP_INSTALL_DIR])
  779. AC_SUBST([PHP_INSTALL_DATADIR])
  780. AC_SUBST([PHP_LIBS])
  781. AC_SUBST([SWIG_PHP_OPT])
  782. fi
  783. fi
  784. fi
  785. fi
  786. AM_CONDITIONAL(WITH_PHP, [test "$use_php" = "Yes"])
  787. dnl -----------------------------------
  788. dnl INCLUDES and LIBS for PYTHON
  789. # alias for `--enable-python3`
  790. AC_ARG_ENABLE(python,
  791. [AS_HELP_STRING([--enable-python=yes],[python language bindings])],
  792. [], [enable_python3=yes])
  793. AC_ARG_ENABLE(python3,
  794. [AS_HELP_STRING([--enable-python3=yes],[python3 language bindings])],
  795. [], [enable_python3=yes])
  796. if test "$enable_python3" != "yes"; then
  797. use_python3="No (disabled)"
  798. else
  799. if test "$use_swig" != "Yes"; then
  800. use_python3="No (swig not available)"
  801. else
  802. if test `$SWIG -help 2>&1 | $EGREP -c '\-python *- Generate'` = 0; then
  803. use_python="No (swig does not support -python option)"
  804. else
  805. AC_CHECK_PROG(PYTHON3,python3,python3)
  806. if test "$PYTHON3" = ""; then
  807. use_python3="No (python3 not available)"
  808. else
  809. PYTHON3_VERSION=`$PYTHON3 -c "import sys; print('%d.%d' % sys.version_info[[0:2]])"`
  810. if test "$PYTHON3_VERSION" = ""; then
  811. PYTHON3=
  812. fi
  813. fi
  814. if test "$PYTHON3" = ""; then
  815. use_python3="No (python3 is too old)"
  816. PYTHON3=
  817. else
  818. if test "$PKG_CONFIG" != ""; then
  819. AC_MSG_CHECKING(for Python3 headers and libraries with pkg-config)
  820. echo
  821. pkgconfig_python3_found=`$PKG_CONFIG --exists python-$PYTHON3_VERSION 2>/dev/null`
  822. if test "$?" = "0" ; then
  823. PYTHON3_INCLUDES="$PYTHON3_CFLAGS "`$PKG_CONFIG --cflags python-$PYTHON3_VERSION`
  824. PYTHON3_LIBS="$PYTHON3_LFLAGS "`$PKG_CONFIG --libs python-$PYTHON3_VERSION`
  825. else
  826. use_python3="No (python-$PYTHON3_VERSION.pc not found)"
  827. fi
  828. fi
  829. PYTHON3_INSTALL_DIR="`$PYTHON3 -c 'import sysconfig; print(sysconfig.get_path("platlib"))'`"
  830. save_CPPFLAGS=$CPPFLAGS
  831. CPPFLAGS="$CPPFLAGS $PYTHON3_INCLUDES"
  832. AC_CHECK_HEADER(Python.h,,[
  833. use_python3="No (missing header)"
  834. PYTHON3=
  835. ])
  836. CPPFLAGS=$save_CPPFLAGS
  837. if test "$PYTHON3" != ""; then
  838. use_python3="Yes"
  839. AC_SUBST([PYTHON3_INSTALL_DIR])
  840. AC_SUBST([PYTHON3_INCLUDES])
  841. AC_SUBST([PYTHON3_LIBS])
  842. fi
  843. fi
  844. fi
  845. fi
  846. fi
  847. AM_CONDITIONAL(WITH_PYTHON3, [test "$use_python3" = "Yes"])
  848. dnl -----------------------------------
  849. dnl INCLUDES and LIBS for R
  850. AC_ARG_ENABLE(r,
  851. [AS_HELP_STRING([--enable-r=yes],[R language bindings])],
  852. [], [enable_r=yes])
  853. if test "$enable_r" != "yes"; then
  854. use_r="No (disabled)"
  855. else
  856. if test "$use_swig" != "Yes"; then
  857. use_r="No (swig not available)"
  858. else
  859. if test `$SWIG -help 2>&1 | $EGREP -c '\-r *- Generate'` = 0; then
  860. use_r="No (swig does not support -r option)"
  861. else
  862. PKG_CHECK_MODULES(R, [libR],[
  863. use_r="Yes"
  864. AC_SUBST([R_CFLAGS])
  865. AC_SUBST([R_LIBS])
  866. ],[
  867. use_r="No (R not available)"
  868. ])
  869. fi
  870. fi
  871. fi
  872. AM_CONDITIONAL(WITH_R, [test "$use_r" = "Yes"])
  873. dnl -----------------------------------
  874. dnl INCLUDES and LIBS for RUBY
  875. AC_ARG_ENABLE(ruby,
  876. [AS_HELP_STRING([--enable-ruby=yes],[ruby language bindings])],
  877. [], [enable_ruby=yes])
  878. if test "$enable_ruby" != "yes"; then
  879. use_ruby="No (disabled)"
  880. else
  881. if test "$use_swig" != "Yes"; then
  882. use_ruby="No (swig not available)"
  883. else
  884. if test `$SWIG -help 2>&1 | $EGREP -c '\-ruby *- Generate'` = 0; then
  885. use_ruby="No (swig does not support -ruby option)"
  886. else
  887. PKG_CHECK_MODULES([RUBY], [ruby],[
  888. AC_CHECK_PROG(RUBY,ruby,ruby)
  889. if test "$RUBY" = ""; then
  890. use_ruby="No (ruby not available)"
  891. else
  892. RUBY_INSTALL_DIR="`$RUBY $srcdir/config/config_ruby.rb vendorarchdir`"
  893. fi
  894. ],[
  895. PKG_CHECK_MODULES([RUBY], [ruby-${RUBY_VER}],[
  896. AC_CHECK_PROG(RUBY,ruby,ruby)
  897. if test "$RUBY" = ""; then
  898. use_ruby="No (ruby not available)"
  899. else
  900. RUBY_INSTALL_DIR="`$RUBY $srcdir/config/config_ruby.rb vendorarchdir`"
  901. fi
  902. ],[
  903. AC_CHECK_PROG(RUBY,ruby,ruby)
  904. if test "$RUBY" = ""; then
  905. use_ruby="No (ruby not available)"
  906. else
  907. RUBY_CFLAGS="-I`$RUBY $srcdir/config/config_ruby.rb rubyarchhdrdir`"
  908. RUBY_CFLAGS="$RUBY_CFLAGS -I`$RUBY $srcdir/config/config_ruby.rb vendorhdrdir`"
  909. RUBY_CFLAGS="$RUBY_CFLAGS -I`$RUBY $srcdir/config/config_ruby.rb sitehdrdir`"
  910. RUBY_CFLAGS="$RUBY_CFLAGS -I`$RUBY $srcdir/config/config_ruby.rb rubyhdrdir`"
  911. RUBY_LIBS="-L`$RUBY $srcdir/config/config_ruby.rb libdir` `$RUBY -rrbconfig -e \"puts RbConfig::CONFIG[['LIBRUBYARG_SHARED']]\"`"
  912. RUBY_INSTALL_DIR="`$RUBY $srcdir/config/config_ruby.rb vendorarchdir`"
  913. if test "$RUBY_INSTALL_DIR" = ""; then
  914. RUBY_INSTALL_DIR="`$RUBY $srcdir/config/config_ruby.rb sitearchdir`"
  915. fi
  916. save_CPPFLAGS=$CPPFLAGS
  917. CPPFLAGS="$CPPFLAGS $RUBY_CFLAGS"
  918. AC_CHECK_HEADER(ruby.h,,[
  919. use_ruby="No (missing header)"
  920. RUBY=
  921. ])
  922. CPPFLAGS=$save_CPPFLAGS
  923. fi
  924. ])
  925. ])
  926. if test "$RUBY" != ""; then
  927. use_ruby="Yes"
  928. AC_SUBST([RUBY_CFLAGS])
  929. AC_SUBST([RUBY_LIBS])
  930. AC_SUBST([RUBY_INSTALL_DIR])
  931. fi
  932. fi
  933. fi
  934. fi
  935. AM_CONDITIONAL(WITH_RUBY, [test "$use_ruby" = "Yes"])
  936. dnl -----------------------------------
  937. dnl INCLUDES and LIBS for TCL
  938. AC_ARG_ENABLE(tcl,
  939. [AS_HELP_STRING([--enable-tcl=yes],[tcl language bindings])],
  940. [], [enable_tcl=yes])
  941. if test "$enable_tcl" != "yes"; then
  942. use_tcl="No (disabled)"
  943. fi
  944. if test "$use_tcl" = ""; then
  945. TCL_VERSION_FOUND=`echo 'puts [[info tclversion]]' | $TCLSH`
  946. # can't assume ksh on all architectures
  947. # TCLSH_EXEC_PREFIX=${TCLSH%%/bin/tclsh.*}
  948. # so use sed instead
  949. TCLSH_EXEC_PREFIX=`echo $TCLSH|sed -e 's%/bin/.*tclsh.*$%%'`
  950. if test -f ${TCLSH_EXEC_PREFIX}/include/tcl${TCL_VERSION_FOUND}/tcl.h; then
  951. TCL_INCLUDES="-I${TCLSH_EXEC_PREFIX}/include/tcl${TCL_VERSION_FOUND}"
  952. if test -d ${TCLSH_EXEC_PREFIX}/include/tcl${TCL_VERSION_FOUND}/generic; then
  953. TCL_INCLUDES="${TCL_INCLUDES} -I${TCLSH_EXEC_PREFIX}/include/tcl${TCL_VERSION_FOUND}/generic"
  954. fi
  955. else
  956. if test "${TCLSH_EXEC_PREFIX}" != "/usr" -a -f ${TCLSH_EXEC_PREFIX}/include/tcl.h; then
  957. TCL_INCLUDES=-I${TCLSH_EXEC_PREFIX}/include
  958. fi
  959. fi
  960. if test "$TCL_INCLUDES" != "" ; then
  961. AC_MSG_RESULT([using tcl headers from $TCL_INCLUDES])
  962. fi
  963. AC_SUBST([TCL_INCLUDES])
  964. save_CPPFLAGS=$CPPFLAGS
  965. CPPFLAGS="$CPPFLAGS $TCL_INCLUDES"
  966. AC_CHECK_HEADER(tcl.h,,[
  967. AC_MSG_WARN([Unable to find header tcl.h. The Tcl packages will not be built])
  968. use_tcl="No (missing header)"
  969. ])
  970. CPPFLAGS=$save_CPPFLAGS
  971. fi
  972. AC_SUBST([TCLSH_EXEC_PREFIX])
  973. if test "$use_tcl" = ""; then
  974. # Some systems don't have Tcl. Don't build
  975. # the Tcl products if we don't have the library.
  976. if test -f ${TCLSH_EXEC_PREFIX}/lib${LIBPOSTFIX}/tcl${TCL_VERSION_FOUND}/tclConfig.sh; then
  977. TCLCONFIG=${TCLSH_EXEC_PREFIX}/lib${LIBPOSTFIX}/tcl${TCL_VERSION_FOUND}/tclConfig.sh
  978. else
  979. if test -f ${TCLSH_EXEC_PREFIX}/lib${LIBPOSTFIX}/tclConfig.sh; then
  980. TCLCONFIG=${TCLSH_EXEC_PREFIX}/lib${LIBPOSTFIX}/tclConfig.sh
  981. else
  982. if test -f ${TCLSH_EXEC_PREFIX}/lib/tclConfig.sh; then
  983. TCLCONFIG=${TCLSH_EXEC_PREFIX}/lib/tclConfig.sh
  984. fi
  985. fi
  986. fi
  987. if test "$TCLCONFIG" != ""; then
  988. AC_MSG_RESULT([using $TCLCONFIG])
  989. file=${TCLCONFIG}
  990. . $file
  991. else
  992. AC_MSG_WARN([Unable to find tclConfig.sh. The Tcl packages will not be built])
  993. use_tcl="No (missing tclConfig.sh)"
  994. fi
  995. TCL_INSTALL_DIR=${TCLSH_EXEC_PREFIX}/lib${LIBPOSTFIX}/tcl${TCL_VERSION_FOUND}
  996. fi
  997. if test "$use_tcl" = ""; then
  998. # TCL STUBS support is required
  999. if test "${TCL_SUPPORTS_STUBS}" = "1"; then
  1000. use_tcl="Yes"
  1001. TCL_CFLAGS="${TCL_CFLAGS} -DUSE_TCL_STUBS"
  1002. AC_DEFINE_UNQUOTED(HAVE_TCL,1,
  1003. [Define if you have the tcl library])
  1004. else
  1005. AC_MSG_WARN([Tcl does not have STUBs support, perhaps it is too old? The Tcl packages will not be built])
  1006. use_tcl="No (no STUBs support)"
  1007. fi
  1008. fi
  1009. AC_SUBST([TCLCONFIG])
  1010. AC_SUBST([TCL_INSTALL_DIR])
  1011. AM_CONDITIONAL(WITH_TCL, [test "$use_tcl" = "Yes"])
  1012. AC_SUBST([TCL_VERSION])
  1013. AC_SUBST([TCL_MAJOR_VERSION])
  1014. AC_SUBST([TCL_MINOR_VERSION])
  1015. AC_SUBST([TCL_PATCH_LEVEL])
  1016. AC_SUBST([TCL_CFLAGS])
  1017. AC_SUBST([TCL_DEFS])
  1018. # TCL modules use stubs and don't need any other tcl libraries
  1019. TCL_LIBS=
  1020. AC_SUBST([TCL_LIBS])
  1021. AC_SUBST([TCL_SHLIB_SUFFIX])
  1022. AC_SUBST([TCL_SRC_DIR])
  1023. AC_SUBST([TCL_STUB_LIB_SPEC])
  1024. dnl -----------------------------------
  1025. dnl Support for generic "extra" search paths for includes and libraries
  1026. AC_ARG_WITH(extraincludedir,
  1027. [AS_HELP_STRING([--with-extraincludedir=DIR],[use extra includes from DIR])],
  1028. [CPPFLAGS="$CPPFLAGS -I$withval"])
  1029. AC_ARG_WITH(extralibdir,
  1030. [AS_HELP_STRING([--with-extralibdir=DIR],[use extra libraries from DIR])],
  1031. [LDFLAGS="$LDFLAGS -L$withval"])
  1032. dnl -----------------------------------
  1033. dnl INCLUDES and LIBS for EXPAT
  1034. AC_ARG_WITH(expat,
  1035. [AS_HELP_STRING([--with-expat=yes],[use expat])],
  1036. [],[with_expat=yes])
  1037. if test "$with_expat" != "yes"; then
  1038. use_expat="No (disabled)"
  1039. else
  1040. use_expat="Yes"
  1041. PKG_CHECK_MODULES([EXPAT],[expat],[],[
  1042. AC_CHECK_HEADERS([expat.h],[
  1043. AC_CHECK_LIB([expat],[main],[
  1044. EXPAT_LIBS="$EXPAT_LIBS -lexpat"
  1045. ],[
  1046. use_expat="No (expat library not available)"
  1047. ],[])
  1048. ],[
  1049. use_expat="No (expat.h missing header)"
  1050. AC_MSG_WARN(expat.h missing header)
  1051. ],[])
  1052. ],[])
  1053. if test "$use_expat" = "Yes"; then
  1054. AC_DEFINE_UNQUOTED([HAVE_EXPAT],[1],[Define if you have the expat library])
  1055. fi
  1056. fi
  1057. dnl -----------------------------------
  1058. dnl INCLUDES and LIBS for DEVIL
  1059. AC_ARG_WITH(devil,
  1060. [AS_HELP_STRING([--with-devil=yes],[DevIL plugin])],
  1061. [],[with_devil=yes])
  1062. if test "$with_devil" != "yes"; then
  1063. use_devil="No (disabled)"
  1064. else
  1065. AC_ARG_WITH(devilincludedir,
  1066. [AS_HELP_STRING([--with-devilincludedir=DIR],[use DevIL includes from DIR])],
  1067. [DEVIL_INCLUDES="-I$withval"])
  1068. AC_ARG_WITH(devillibdir,
  1069. [AS_HELP_STRING([--with-devillibdir=DIR],[use DevIL libraries from DIR])],
  1070. [DEVIL_LIBS="-L$withval"])
  1071. save_CPPFLAGS=$CPPFLAGS
  1072. save_LDFLAGS=$LDFLAGS
  1073. CPPFLAGS="$CPPFLAGS $DEVIL_INCLUDES"
  1074. LDFLAGS="$LDFLAGS $DEVIL_LIBS"
  1075. AC_CHECK_HEADERS([IL/il.h],
  1076. [],
  1077. [use_devil="No (missing header)"
  1078. AC_MSG_WARN(Optional DevIL library not available - missing headers)],
  1079. [])
  1080. AC_CHECK_LIB(IL,main,
  1081. [DEVIL_LIBS="$DEVIL_LIBS -lIL -lILU"],
  1082. [use_devil="No (missing library)"
  1083. AC_MSG_WARN(Optional DevIL library not available)],
  1084. [])
  1085. LDFLAGS=$save_LDFLAGS
  1086. CPPFLAGS=$save_CPPFLAGS
  1087. fi
  1088. if test "$use_devil" = ""; then
  1089. use_devil="Yes"
  1090. AC_DEFINE_UNQUOTED(HAVE_DEVIL,1,
  1091. [Define if you have the DevIL library])
  1092. AC_SUBST([DEVIL_INCLUDES])
  1093. AC_SUBST([DEVIL_LIBS])
  1094. fi
  1095. AM_CONDITIONAL(WITH_DEVIL, [test "$use_devil" = "Yes"])
  1096. dnl -----------------------------------
  1097. dnl INCLUDES and LIBS for Z
  1098. AC_ARG_WITH(zincludedir,
  1099. [AS_HELP_STRING([--with-zincludedir=DIR],[use Z includes from DIR])],
  1100. [Z_INCLUDES="-I$withval"])
  1101. AC_ARG_WITH(zlibdir,
  1102. [AS_HELP_STRING([--with-zlibdir=DIR],[use Z libraries from DIR])],
  1103. [Z_LIBS="-L$withval"])
  1104. save_CPPFLAGS=$CPPFLAGS
  1105. save_LDFLAGS=$LDFLAGS
  1106. CPPFLAGS="$CPPFLAGS $Z_INCLUDES"
  1107. LDFLAGS="$LDFLAGS $Z_LIBS"
  1108. AC_CHECK_HEADER(zlib.h,
  1109. [AC_CHECK_LIB(z,main,
  1110. [Z_LIBS="$Z_LIBS -lz"
  1111. AC_DEFINE_UNQUOTED(HAVE_LIBZ,1,[Define if you have the Z library])],
  1112. AC_MSG_WARN(Optional z library not available))],
  1113. AC_MSG_WARN(Optional z library not available - no zlib.h))
  1114. LDFLAGS="$LDFLAGS $Z_LIBS"
  1115. LDFLAGS=$save_LDFLAGS
  1116. CPPFLAGS=$save_CPPFLAGS
  1117. AC_SUBST([Z_INCLUDES])
  1118. AC_SUBST([Z_LIBS])
  1119. dnl -----------------------------------
  1120. dnl INCLUDES and LIBS for WEBP
  1121. AC_ARG_WITH(webp,
  1122. [AS_HELP_STRING([--with-webp=yes],[webp library])],
  1123. [], [with_webp=yes])
  1124. if test "$with_webp" != "yes"; then
  1125. use_webp="No (disabled)"
  1126. else
  1127. PKG_CHECK_MODULES(WEBP, [libwebp],[
  1128. use_webp="Yes"
  1129. AC_DEFINE_UNQUOTED(HAVE_WEBP,1,
  1130. [Define if you have the webp library])
  1131. AC_SUBST([WEBP_CFLAGS])
  1132. AC_SUBST([WEBP_LIBS])
  1133. ],[
  1134. use_webp="No (webp library not available)"
  1135. ])
  1136. fi
  1137. AM_CONDITIONAL(WITH_WEBP, [test "$use_webp" = "Yes"])
  1138. dnl -----------------------------------
  1139. dnl INCLUDES and LIBS for POPPLER
  1140. AC_ARG_WITH(poppler,
  1141. [AS_HELP_STRING([--with-poppler=yes],[poppler library])],
  1142. [], [with_poppler=yes])
  1143. if test "$with_poppler" != "yes"; then
  1144. use_poppler="No (disabled)"
  1145. else
  1146. PKG_CHECK_MODULES(POPPLER, [poppler-glib],[
  1147. use_poppler="Yes"
  1148. AC_DEFINE_UNQUOTED(HAVE_POPPLER,1,
  1149. [Define if you have the poppler library])
  1150. AC_SUBST([POPPLER_CFLAGS])
  1151. AC_SUBST([POPPLER_LIBS])
  1152. ],[
  1153. use_poppler="No (poppler library not available)"
  1154. ])
  1155. fi
  1156. AM_CONDITIONAL(WITH_POPPLER, [test "$use_poppler" = "Yes"])
  1157. dnl -----------------------------------
  1158. dnl INCLUDES and LIBS for RSVG
  1159. AC_ARG_WITH(rsvg,
  1160. [AS_HELP_STRING([--with-rsvg=yes],[rsvg library])],
  1161. [], [with_rsvg=yes])
  1162. if test "$with_rsvg" != "yes"; then
  1163. use_rsvg="No (disabled)"
  1164. else
  1165. PKG_CHECK_MODULES(RSVG, [librsvg-2.0],[
  1166. use_rsvg="Yes"
  1167. AC_SUBST([RSVG_CFLAGS])
  1168. AC_SUBST([RSVG_LIBS])
  1169. ],[
  1170. use_rsvg="No (rsvg library not available)"
  1171. ])
  1172. fi
  1173. AM_CONDITIONAL(WITH_RSVG, [test "$use_rsvg" = "Yes"])
  1174. dnl -----------------------------------
  1175. dnl INCLUDES and LIBS for GHOSTSCRIPT
  1176. AC_ARG_WITH(ghostscript,
  1177. [AS_HELP_STRING([--with-ghostscript=yes],[ghostscript library])],
  1178. [], [with_ghostscript=yes])
  1179. if test "$with_ghostscript" != "yes"; then
  1180. use_ghostscript="No (disabled)"
  1181. else
  1182. if test "$HAVE_XRENDER" != "yes" -a "$MINGW32" != "yes"; then
  1183. use_ghostscript="No (missing Xrender)"
  1184. else
  1185. AC_CHECK_HEADER(ghostscript/iapi.h, GS_CFLAGS="",use_ghostscript="No (missing headers)")
  1186. if test "$use_ghostscript" = ""; then
  1187. AC_CHECK_LIB(gs, main, GS_LIBS="-lgs", use_ghostscript="No (missing lib)")
  1188. if test "$use_ghostscript" = ""; then
  1189. use_ghostscript="Yes"
  1190. AC_DEFINE_UNQUOTED(HAVE_GS,1,
  1191. [Define if you have the gs library])
  1192. AC_SUBST([GS_CFLAGS])
  1193. AC_SUBST([GS_LIBS])
  1194. fi
  1195. fi
  1196. fi
  1197. fi
  1198. AM_CONDITIONAL(WITH_GS, [test "$use_ghostscript" = "Yes"])
  1199. dnl -----------------------------------
  1200. dnl INCLUDES and LIBS for PANGOCAIRO
  1201. AC_ARG_WITH(pangocairo,
  1202. [AS_HELP_STRING([--with-pangocairo=yes],[pangocairo library])],
  1203. [], [with_pangocairo=yes])
  1204. if test "$with_pangocairo" != "yes"; then
  1205. use_pangocairo="No (disabled)"
  1206. else
  1207. PKG_CHECK_MODULES(PANGOCAIRO, [pangocairo >= 1.22.0],[
  1208. use_pangocairo="Yes"
  1209. AC_DEFINE_UNQUOTED(HAVE_PANGOCAIRO,1,
  1210. [Define if you have the pangocairo library])
  1211. AC_SUBST([PANGOCAIRO_CFLAGS])
  1212. AC_SUBST([PANGOCAIRO_LIBS])
  1213. ],[
  1214. use_pangocairo="No (pangocairo library not available)"
  1215. ])
  1216. fi
  1217. AM_CONDITIONAL(WITH_PANGOCAIRO, [test "$use_pangocairo" = "Yes"])
  1218. # see if pango uses a fontconfig/freetype2 backend
  1219. if test "$use_pangocairo" = "Yes"; then
  1220. save_LIBS=$LIBS
  1221. PKG_CHECK_MODULES(PANGOFT2, [pangoft2])
  1222. LIBS="$LIBS $PANGOCAIRO_LIBS $PANGOFT2_LIBS"
  1223. AC_CHECK_FUNCS([pango_fc_font_lock_face])
  1224. LIBS=$save_LIBS
  1225. fi
  1226. dnl -----------------------------------
  1227. dnl INCLUDES and LIBS for LASI
  1228. AC_ARG_WITH(lasi,
  1229. [AS_HELP_STRING([--with-lasi=yes],[lasi library])],
  1230. [], [with_lasi=yes])
  1231. if test "$with_lasi" != "yes"; then
  1232. use_lasi="No (disabled)"
  1233. else
  1234. if test "$use_pangocairo" != "Yes"; then
  1235. use_lasi="No (missing pangocairo support)"
  1236. else
  1237. PKG_CHECK_MODULES(LASI, [lasi],[
  1238. use_lasi="Yes"
  1239. AC_DEFINE_UNQUOTED(HAVE_LASI,1,
  1240. [Define if you have the lasi library])
  1241. AC_SUBST([LASI_CFLAGS])
  1242. AC_SUBST([LASI_LIBS])
  1243. ],[
  1244. use_lasi="No (lasi library not available)"
  1245. ])
  1246. fi
  1247. fi
  1248. AM_CONDITIONAL(WITH_LASI, [test "$use_lasi" = "Yes"])
  1249. dnl -----------------------------------
  1250. dnl INCLUDES and LIBS for FREETYPE2
  1251. AC_ARG_WITH(freetype2,
  1252. [AS_HELP_STRING([--with-freetype2=yes],[freetype2 library])],
  1253. [], [with_freetype2=yes])
  1254. if test "$with_freetype2" != "yes"; then
  1255. use_freetype="No (disabled)"
  1256. else
  1257. PKG_CHECK_MODULES(FREETYPE2, [freetype2],[
  1258. use_freetype="Yes"
  1259. AC_SUBST([FREETYPE2_CFLAGS])
  1260. AC_SUBST([FREETYPE2_LIBS])
  1261. ],[
  1262. use_freetype="No (missing freetype-config)"
  1263. ])
  1264. fi
  1265. dnl -----------------------------------
  1266. dnl INCLUDES and LIBS for GDK
  1267. AC_ARG_WITH(gdk,
  1268. [AS_HELP_STRING([--with-gdk=yes],[gdklibrary])],
  1269. [], [with_gdk=yes])
  1270. if test "$with_gdk" != "yes"; then
  1271. use_gdk="No (disabled)"
  1272. else
  1273. PKG_CHECK_MODULES(GDK, [gdk-3.0],[
  1274. use_gdk="Yes"
  1275. AC_SUBST([GDK_CFLAGS])
  1276. AC_SUBST([GDK_LIBS])
  1277. ],[
  1278. use_gdk="No (gdk library not available)"
  1279. ])
  1280. fi
  1281. AM_CONDITIONAL(WITH_GDK, [test "$use_gdk" = "Yes"])
  1282. dnl -----------------------------------
  1283. dnl INCLUDES and LIBS for GDK_PIXBUF.
  1284. AC_ARG_WITH(gdk-pixbuf,
  1285. [AS_HELP_STRING([--with-gdk-pixbuf=yes],[gdk-pixbuf library])],
  1286. [], [with_gdk_pixbuf=yes])
  1287. if test "$with_gdk_pixbuf" != "yes"; then
  1288. use_gdk_pixbuf="No (disabled)"
  1289. else
  1290. PKG_CHECK_MODULES(GDK_PIXBUF, [gdk-pixbuf-2.0],[
  1291. use_gdk_pixbuf="Yes"
  1292. AC_SUBST([GDK_PIXBUF_CFLAGS])
  1293. AC_SUBST([GDK_PIXBUF_LIBS])
  1294. ],[
  1295. use_gdk_pixbuf="No (gdk_pixbuf library not available)"
  1296. ])
  1297. fi
  1298. AM_CONDITIONAL(WITH_GDK_PIXBUF, [test "$use_gdk_pixbuf" = "Yes"])
  1299. dnl -----------------------------------
  1300. dnl INCLUDES and LIBS for GTK.
  1301. AC_ARG_WITH(gtk,
  1302. [AS_HELP_STRING([--with-gtk=yes],[gtk+ library])],
  1303. [], [with_gtk=yes])
  1304. if test "$with_gtk" != "yes"; then
  1305. use_gtk="No (disabled)"
  1306. else
  1307. PKG_CHECK_MODULES(GTK, [gtk+-2.0 >= 2.7.0],[
  1308. use_gtk="Yes"
  1309. AC_DEFINE_UNQUOTED(HAVE_GTK,1,
  1310. [Define if you have the gtk library])
  1311. AC_SUBST([GTK_CFLAGS])
  1312. AC_SUBST([GTK_LIBS])
  1313. ],[
  1314. use_gtk="No (gtk library not available)"
  1315. ])
  1316. fi
  1317. AM_CONDITIONAL(WITH_GTK, [test "$use_gtk" = "Yes"])
  1318. dnl -----------------------------------
  1319. dnl INCLUDES and LIBS for GTKGL.
  1320. AC_ARG_WITH(gtkgl,
  1321. [AS_HELP_STRING([--with-gtkgl=yes],[gtkgl library])],
  1322. [], [with_gtkgl=yes])
  1323. if test "$with_gtkgl" != "yes"; then
  1324. use_gtkgl="No (disabled)"
  1325. else
  1326. PKG_CHECK_MODULES(GTKGL, [gtkgl-2.0],[
  1327. use_gtkgl="Yes"
  1328. AC_DEFINE_UNQUOTED(HAVE_GTKGL,1,
  1329. [Define if you have the gtkgl library])
  1330. AC_SUBST([GTKGL_CFLAGS])
  1331. AC_SUBST([GTKGL_LIBS])
  1332. ],[
  1333. use_gtkgl="No (gtkgl library not available)"
  1334. ])
  1335. fi
  1336. AM_CONDITIONAL(WITH_GTKGL, [test "$use_gtkgl" = "Yes"])
  1337. dnl -----------------------------------
  1338. dnl INCLUDES and LIBS for GTKGLEXT.
  1339. AC_ARG_WITH(gtkglext,
  1340. [AS_HELP_STRING([--with-gtkglext=yes],[gtkglext library])],
  1341. [], [with_gtkglext=yes])
  1342. if test "$with_gtkglext" != "yes"; then
  1343. use_gtkglext="No (disabled)"
  1344. else
  1345. PKG_CHECK_MODULES(GTKGLEXT, [gtkglext-1.0],[
  1346. use_gtkglext="Yes"
  1347. AC_SUBST([GTKGLEXT_CFLAGS])
  1348. AC_SUBST([GTKGLEXT_LIBS])
  1349. ],[
  1350. use_gtkglext="No (gtkglext library not available)"
  1351. ])
  1352. fi
  1353. AM_CONDITIONAL(WITH_GTKGLEXT, [test "$use_gtkglext" = "Yes"])
  1354. dnl -----------------------------------
  1355. dnl INCLUDES and LIBS for GTS.
  1356. AC_ARG_WITH(gts,
  1357. [AS_HELP_STRING([--with-gts=yes],[gts library])],
  1358. [], [with_gts=yes])
  1359. if test "$with_gts" != "yes"; then
  1360. use_gts="No (disabled)"
  1361. else
  1362. PKG_CHECK_MODULES(GTS, [gts],[
  1363. use_gts="Yes"
  1364. AC_DEFINE_UNQUOTED(HAVE_GTS,1,
  1365. [Define if you have the gts library])
  1366. AC_SUBST([GTS_CFLAGS])
  1367. AC_SUBST([GTS_LIBS])
  1368. ],[
  1369. use_gts="No (gts library not available)"
  1370. ])
  1371. fi
  1372. AM_CONDITIONAL(WITH_GTS, [test "$use_gts" = "Yes"])
  1373. dnl -----------------------------------
  1374. dnl INCLUDES and LIBS for ANN.
  1375. AC_ARG_WITH(ann,
  1376. [AS_HELP_STRING([--with-ann=yes],[ANN library])],
  1377. [], [with_ann=yes])
  1378. if test "$with_ann" != "yes"; then
  1379. use_ann="No (disabled)"
  1380. else
  1381. PKG_CHECK_MODULES(ANN, [ann],[
  1382. use_ann="Yes"
  1383. AC_SUBST([ANN_CFLAGS])
  1384. AC_SUBST([ANN_LIBS])
  1385. ],[
  1386. # fall back discovery for the Debian ecosystem which does not ship an ann.pc
  1387. AS_IF([test -f /usr/include/ANN/ANN.h], [
  1388. ANN_CFLAGS= # nothing required
  1389. AC_CHECK_LIB(ann, ann_visit_pts, [
  1390. ANN_LIBS=-lann
  1391. use_ann="Yes"
  1392. ], [
  1393. use_ann="No (no ann.pc or libANN found)"
  1394. ])
  1395. ], [
  1396. # fall back discovery for Macports
  1397. AS_IF([test -f /opt/local/include/ANN/ANN.h], [
  1398. use_ann="Yes"
  1399. ANN_CFLAGS="-I/opt/local/include"
  1400. ANN_LIBS="-L/opt/local/lib -lann"
  1401. ], [
  1402. use_ann="No (no ann.pc or ANN.h found)"
  1403. ])
  1404. ])
  1405. ])
  1406. fi
  1407. AM_CONDITIONAL(WITH_ANN, [test "${use_ann%% *}" = "Yes"])
  1408. dnl -----------------------------------
  1409. dnl INCLUDES and LIBS for GLADE.
  1410. AC_ARG_WITH(glade,
  1411. [AS_HELP_STRING([--with-glade=yes],[glade library])],
  1412. [], [with_glade=yes])
  1413. if test "$with_glade" != "yes"; then
  1414. use_glade="No (disabled)"
  1415. else
  1416. PKG_CHECK_MODULES(GLADE, [libglade-2.0],[
  1417. use_glade="Yes"
  1418. AC_SUBST([GLADE_CFLAGS])
  1419. AC_SUBST([GLADE_LIBS])
  1420. ],[
  1421. use_glade="No (glade library not available)"
  1422. ])
  1423. fi
  1424. AM_CONDITIONAL(WITH_GLADE, [test "$use_glade" = "Yes"])
  1425. dnl -----------------------------------
  1426. dnl INCLUDES and LIBS for QT
  1427. AC_ARG_WITH([qt],
  1428. [AS_HELP_STRING([--with-qt=yes], [Qt features])])
  1429. AS_IF([test "$with_qt" != "no"], [
  1430. # required for linking with QT
  1431. CXXFLAGS="${CXXFLAGS} -fPIE -fPIC"
  1432. AC_CHECK_PROGS([QMAKE], [qmake6 qmake-qt5 qmake5 qmake], [false])
  1433. AS_IF([test "$QMAKE" = "qmake6"], [
  1434. # Qt6
  1435. AC_CHECK_FILE($(${QMAKE} -query QT_INSTALL_HEADERS)/QtCore/QtCore, [
  1436. QTCORE_CFLAGS="-I$(${QMAKE} -query QT_INSTALL_HEADERS) -I$(${QMAKE} -query QT_INSTALL_HEADERS)/QtCore"
  1437. AC_CHECK_FILE($(${QMAKE} -query QT_INSTALL_LIBS)/libQt6Core.so, [
  1438. QTCORE_LIBS="-L$(${QMAKE} -query QT_INSTALL_LIBS) -lQt6Core"
  1439. AC_CHECK_FILE($(${QMAKE} -query QT_INSTALL_HEADERS)/QtWidgets/QtWidgets, [
  1440. AC_CHECK_FILE($(${QMAKE} -query QT_INSTALL_HEADERS)/QtPrintSupport/QtPrintSupport, [
  1441. QTGUI_CFLAGS="-I$(${QMAKE} -query QT_INSTALL_HEADERS) -I$(${QMAKE} -query QT_INSTALL_HEADERS)/QtWidgets -I$(${QMAKE} -query QT_INSTALL_HEADERS)/QtPrintSupport -I$(${QMAKE} -query QT_INSTALL_HEADERS)/QtGui"
  1442. AC_CHECK_FILE($(${QMAKE} -query QT_INSTALL_LIBS)/libQt6Widgets.so, [
  1443. AC_CHECK_FILE($(${QMAKE} -query QT_INSTALL_LIBS)/libQt6PrintSupport.so, [
  1444. QTGUI_LIBS="-L$(${QMAKE} -query QT_INSTALL_LIBS) -lQt6Widgets -lQt6PrintSupport -lQt6Gui -lQt6Core"
  1445. use_qt="Yes"
  1446. ], [
  1447. use_qt="No (Qt6PrintSupport library not available)"
  1448. ])
  1449. ], [
  1450. use_qt="No (Qt6Widgets library not available)"
  1451. ])
  1452. ], [
  1453. use_qt="No (Qt6PrintSupport header not available)"
  1454. ])
  1455. ], [
  1456. use_qt="No (Qt6Widgets header not available)"
  1457. ])
  1458. ], [
  1459. use_qt="No (Qt6Core library not available)"
  1460. ])
  1461. ], [
  1462. use_qt="No (Qt6Core header not available)"
  1463. ])
  1464. ], [
  1465. # Qt5
  1466. AS_IF([test "$QMAKE" != "false"], [
  1467. PKG_CHECK_MODULES([QTCORE], [Qt5Core], [
  1468. PKG_CHECK_MODULES([QTGUI], [Qt5Widgets Qt5PrintSupport], [
  1469. use_qt="Yes"
  1470. ], [
  1471. use_qt="No (QtGui not available)"
  1472. ])
  1473. ], [
  1474. use_qt="No (QtCore not available)"
  1475. ])
  1476. ], [
  1477. use_qt="No (qmake not found)"
  1478. ])
  1479. ])
  1480. AS_IF([test "$with_qt" = "yes" && test "$use_qt" != "Yes"], [
  1481. AC_MSG_ERROR([You requested Qt, but dependencies could not be found: ${use_qt}])
  1482. ])
  1483. ], [
  1484. use_qt="No (disabled)"
  1485. ])
  1486. AM_CONDITIONAL([WITH_QT], [test "$use_qt" = "Yes"])
  1487. dnl -----------------------------------
  1488. dnl INCLUDES and LIBS for QUARTZ
  1489. AC_ARG_WITH(quartz,
  1490. [AS_HELP_STRING([--with-quartz=no],[Quartz framework (Mac OS X)])],
  1491. [], [with_quartz=no])
  1492. if test "$with_quartz" != "yes"; then
  1493. use_quartz="No (disabled by default - Mac only)"
  1494. else
  1495. if test -d "/System/Library/Frameworks/ApplicationServices.framework"; then
  1496. use_quartz="Yes"
  1497. QUARTZ_CFLAGS=''
  1498. QUARTZ_LIBS='-framework ApplicationServices'
  1499. AC_SUBST([QUARTZ_CFLAGS])
  1500. AC_SUBST([QUARTZ_LIBS])
  1501. else
  1502. use_quartz="No (missing ApplicationServices.framework)"
  1503. fi
  1504. fi
  1505. AM_CONDITIONAL(WITH_QUARTZ, [test "$use_quartz" = "Yes"])
  1506. dnl -----------------------------------
  1507. dnl INCLUDES and LIBS for PLATFORMSDK
  1508. AC_ARG_WITH(platformsdkincludedir,
  1509. [AS_HELP_STRING([--with-platformsdkincludedir=DIR],[use Platform SDK (Windows) includes from DIR])],
  1510. [PLATFORMSDKINCLUDE=$withval])
  1511. AC_ARG_WITH(platformsdklibdir,
  1512. [AS_HELP_STRING([--with-platformsdklibdir=DIR],[use Platform SDK (Windows) libraries from DIR])],
  1513. [PLATFORMSDKLIB=$withval])
  1514. AC_SUBST([PLATFORMSDKINCLUDE])
  1515. AC_SUBST([PLATFORMSDKLIB])
  1516. dnl -----------------------------------
  1517. dnl INCLUDES and LIBS for GDI+
  1518. AC_ARG_WITH(gdiplus,
  1519. [AS_HELP_STRING([--with-gdiplus=no],[GDI+ framework (Windows)])],
  1520. [], [with_gdiplus=no])
  1521. if test "$with_gdiplus" != "yes"; then
  1522. use_gdiplus="No (disabled by default - Windows only)"
  1523. else
  1524. if test -f "$PLATFORMSDKINCLUDE\GdiPlus.h" -a -f "$PLATFORMSDKLIB\GdiPlus.lib"; then
  1525. use_gdiplus="Yes"
  1526. AC_DEFINE_UNQUOTED(HAVE_GDIPLUS,1,[Define if you have the GDI+ framework for Windows])
  1527. GDIPLUS_HEADS=`cd "$PLATFORMSDKINCLUDE" && echo GdiPlus*.h`
  1528. GDIPLUS_CFLAGS=''
  1529. GDIPLUS_LIBS=''
  1530. AC_SUBST([GDIPLUS_HEADS])
  1531. AC_SUBST([GDIPLUS_CFLAGS])
  1532. AC_SUBST([GDIPLUS_LIBS])
  1533. else
  1534. use_gdiplus="No (missing headers)"
  1535. AC_MSG_WARN(--with-gdiplus requires valid --with-platformsdkincludedir and --with-platformsdklibdir.)
  1536. fi
  1537. fi
  1538. AM_CONDITIONAL(WITH_GDIPLUS, [test "$use_gdiplus" = "Yes"])
  1539. dnl -----------------------------------
  1540. dnl INCLUDES and LIBS for GD
  1541. AC_ARG_WITH(libgd,
  1542. [AS_HELP_STRING([--with-libgd=yes],[use gd library])],
  1543. [], [with_libgd=yes])
  1544. if test "$with_libgd" != "yes"; then
  1545. use_gd="No (disabled)"
  1546. fi
  1547. if test "$use_gd" = ""; then
  1548. PKG_CHECK_MODULES([GDLIB], [gdlib >= 2.0.33],[
  1549. have_gdlib=1
  1550. # FIXME - why no features in the gdlib.pc?
  1551. GD_FEATURES="GD_PNG GD_JPEG GD_XPM GD_FONTCONFIG GD_FREETYPE GD_GIF"
  1552. ],[
  1553. AC_PATH_PROG(GDLIB_CONFIG,gdlib-config)
  1554. if test -n "$GDLIB_CONFIG"; then
  1555. have_gdlib=1
  1556. GDLIB_CFLAGS=`$GDLIB_CONFIG --includes`
  1557. GDLIB_LIBS=`$GDLIB_CONFIG --libs`
  1558. GDLIB_VERSION=`$GDLIB_CONFIG --version 2>/dev/null`
  1559. GD_LDFLAGS=`$GDLIB_CONFIG --ldflags | sed 's/-xarch=[^ ]* //'`
  1560. GD_FEATURES=`$GDLIB_CONFIG --features`
  1561. # GD version check >= 2.0.33 -- centos-5.8 has gd-2.0.33
  1562. AX_COMPARE_VERSION([$GDLIB_VERSION], [lt], [2.0.33], [
  1563. use_gd="No (version too old)"
  1564. ])
  1565. if test "$use_gd" != ""; then
  1566. AC_MSG_WARN(GD library version $GDLIB_VERSION < 2.0.33)
  1567. fi
  1568. else
  1569. AC_MSG_WARN(GD neither gdlib pkgconfig nor gdlib-config was found)
  1570. fi
  1571. ])
  1572. if test "$have_gdlib" != ""; then
  1573. AC_DEFINE_UNQUOTED(HAVE_GDLIB,1,[Define if you have the gdlib library])
  1574. for f in $GD_FEATURES ; do
  1575. if test "$f" = "GD_PNG"; then
  1576. AC_DEFINE_UNQUOTED(HAVE_GD_PNG,1,[Define if the GD library supports PNG])
  1577. fi
  1578. if test "$f" = "GD_JPEG"; then
  1579. AC_DEFINE_UNQUOTED(HAVE_GD_JPEG,1,[Define if the GD library supports JPEG])
  1580. fi
  1581. if test "$f" = "GD_XPM"; then
  1582. AC_DEFINE_UNQUOTED(HAVE_GD_XPM,1,[Define if the GD library supports XPM])
  1583. fi
  1584. if test "$f" = "GD_FONTCONFIG"; then
  1585. AC_DEFINE_UNQUOTED(HAVE_GD_FONTCONFIG,1,[Define if the GD library supports FONTCONFIG])
  1586. have_gd_fontconfig=1
  1587. fi
  1588. if test "$f" = "GD_FREETYPE"; then
  1589. AC_DEFINE_UNQUOTED(HAVE_GD_FREETYPE,1,[Define if the GD library supports FREETYPE])
  1590. have_gd_freetype=1
  1591. fi
  1592. if test "$f" = "GD_GIF"; then
  1593. AC_DEFINE_UNQUOTED(HAVE_GD_GIF,1,[Define if the GD library supports GIF])
  1594. fi
  1595. done
  1596. if test "$have_gd_fontconfig" = ""; then
  1597. AC_MSG_WARN(Your libgd was not built with fontconfig support. This may result in problems displaying fonts.)
  1598. fi
  1599. if test "$have_gd_freetype" = ""; then
  1600. AC_MSG_WARN(Your libgd was not built with freetype support. This may result in problems resolving fonts.)
  1601. fi
  1602. fi
  1603. # prevent explicit use of -I/usr/include as it breaks mingw cross-compiles
  1604. if test "$GDLIB_CFLAGS" = "-I/usr/include"; then
  1605. GDLIB_CFLAGS="";
  1606. fi
  1607. # prevent explicit use of -L/usr/lib or -L/usr/lib64, unnecessary clutter
  1608. if test "$GD_LDFLAGS" = "-L/usr/lib"; then
  1609. GD_LDFLAGS="";
  1610. fi
  1611. if test "$GD_LDFLAGS" = "-L/usr/lib64"; then
  1612. GD_LDFLAGS="";
  1613. fi
  1614. if test "$use_gd" = ""; then
  1615. # see if we can use the external gd lib
  1616. save_CPPFLAGS=$CPPFLAGS
  1617. save_LDFLAGS=$LDFLAGS
  1618. AC_ARG_WITH(gdincludedir,
  1619. [AS_HELP_STRING([--with-gdincludedir=DIR],[use GD includes from DIR])],
  1620. GDLIB_CFLAGS="-I$withval")
  1621. CPPFLAGS="$CPPFLAGS $GDLIB_CFLAGS"
  1622. AC_ARG_WITH(gdlibdir,
  1623. [AS_HELP_STRING([--with-gdlibdir=DIR],[use GD libraries from DIR])],
  1624. [GD_LDFLAGS="-L$withval"])
  1625. GDLIB_LIBS="$GD_LDFLAGS -lgd $GDLIB_LIBS"
  1626. LDFLAGS="$LDFLAGS $GDLIB_LIBS"
  1627. AC_CHECK_HEADER(gd.h,,[
  1628. AC_MSG_WARN(Optional GD library not available - no gd.h)
  1629. use_gd="No (gd headers not found)"
  1630. ])
  1631. if test "$use_gd" = ""; then
  1632. AC_CHECK_LIB(gd,main,[
  1633. AC_DEFINE_UNQUOTED(HAVE_LIBGD,1,[Define if you have the GD library])
  1634. use_gd="Yes"
  1635. ],[
  1636. AC_MSG_WARN(Optional GD library not available)
  1637. use_gd="No (library not found)"
  1638. ])
  1639. fi
  1640. LDFLAGS=$save_LDFLAGS
  1641. CPPFLAGS=$save_CPPFLAGS
  1642. fi
  1643. AC_SUBST([GDLIB_CFLAGS])
  1644. AC_SUBST([GDLIB_LIBS])
  1645. fi
  1646. if test "$use_gd" != "Yes"; then
  1647. with_libgd="no"
  1648. fi
  1649. AM_CONDITIONAL(WITH_LIBGD, [test "$with_libgd" = "yes"])
  1650. dnl -----------------------------------
  1651. dnl INCLUDES and LIBS for GLUT
  1652. AC_ARG_WITH(glut,
  1653. [AS_HELP_STRING([--with-glut=yes],[GLUT library])],
  1654. [], [with_glut=yes])
  1655. if test "$with_glut" != "yes"; then
  1656. use_glut="No (disabled)"
  1657. else
  1658. save_CPPFLAGS=$CPPFLAGS
  1659. save_LDFLAGS=$LDFLAGS
  1660. AC_ARG_WITH(glutincludedir,
  1661. [AS_HELP_STRING([--with-glutincludedir=DIR],[use GLUT includes from DIR])],
  1662. [GLUT_CFLAGS="-I$withval"])
  1663. CPPFLAGS="$CPPFLAGS $GLUT_CFLAGS"
  1664. AC_ARG_WITH(glutlibdir,
  1665. [AS_HELP_STRING([--with-glutlibdir=DIR],[use GLUT libraries from DIR])],
  1666. [GLUT_LIBS="-L$withval"])
  1667. LDFLAGS="$LDFLAGS $GLUT_LIBS"
  1668. AC_CHECK_HEADER(GL/glut.h,
  1669. AC_CHECK_LIB(glut,main,
  1670. [GLUT_LIBS="$GLUT_LIBS -lglut"
  1671. use_glut="Yes"
  1672. AC_DEFINE_UNQUOTED(HAVE_GLUT,1,[Define if you have the GLUT library])],
  1673. use_glut="No (missing libglut)"
  1674. AC_MSG_WARN(Optional glut library not available),
  1675. []),
  1676. use_glut="No (missing GL/glut.h)"
  1677. AC_MSG_WARN(Optional glut library not available - no GL/glut.h))
  1678. fi
  1679. LDFLAGS=$save_LDFLAGS
  1680. CPPFLAGS=$save_CPPFLAGS
  1681. AC_SUBST([GLUT_CFLAGS])
  1682. AC_SUBST([GLUT_LIBS])
  1683. # -----------------------------------
  1684. # tclInt.h
  1685. if test -f "$TCL_SRC_DIR/generic/tclInt.h"; then
  1686. TCLINT_INCLUDES="-I$TCL_SRC_DIR/generic"
  1687. else
  1688. if test -f "/usr/include/tclInt.h"; then
  1689. TCLINT_INCLUDES=""
  1690. else
  1691. if test -f "/usr/local/include/tclInt.h"; then
  1692. TCLINT_INCLUDES="-I/usr/local/include"
  1693. fi
  1694. fi
  1695. fi
  1696. AC_SUBST([TCLINT_INCLUDES])
  1697. # ------------------------------------
  1698. # triangle.[ch]
  1699. if test -f "lib/sfdpgen/triangle.c"; then
  1700. if test -f "lib/sfdpgen/triangle.h"; then
  1701. AC_DEFINE_UNQUOTED(HAVE_TRIANGLE,1,[Define if triangle.[ch] are available.])
  1702. fi
  1703. fi
  1704. # ----------------------------------
  1705. # tcl/tk pkgIndex.tcl generation
  1706. TCL_PKGINDEX=""
  1707. TCL_PKGINDEX_GD=""
  1708. TCL_PKGINDEX_SWIG=""
  1709. #TK_PKGINDEX=""
  1710. if test "$use_tcl" = "Yes"; then
  1711. TCL_PKGINDEX="tcldot/pkgIndex.tcl tclpathplan/pkgIndex.tcl"
  1712. if test "$with_libgd" = "yes"; then
  1713. TCL_PKGINDEX_GD="gdtclft/pkgIndex.tcl"
  1714. fi
  1715. if test "$SWIG" != ""; then
  1716. TCL_PKGINDEX_SWIG="gv/pkgIndex.tcl"
  1717. fi
  1718. fi
  1719. AC_SUBST([TCL_PKGINDEX])
  1720. AC_SUBST([TCL_PKGINDEX_GD])
  1721. AC_SUBST([TCL_PKGINDEX_SWIG])
  1722. dnl -----------------------------------
  1723. dnl SFDP
  1724. AC_ARG_WITH(sfdp,
  1725. [AS_HELP_STRING([--with-sfdp=yes],[sfdp layout engine])],
  1726. [], [with_sfdp=yes])
  1727. if test "$with_sfdp" != "yes"; then
  1728. use_sfdp="No (disabled)"
  1729. else
  1730. use_sfdp="Yes"
  1731. AC_DEFINE_UNQUOTED(SFDP,1,[Define if you want SFDP])
  1732. fi
  1733. AM_CONDITIONAL(WITH_SFDP, [test "$use_sfdp" = "Yes"])
  1734. dnl -----------------------------------
  1735. dnl SMYRNA
  1736. AC_ARG_WITH(smyrna,
  1737. [AS_HELP_STRING([--with-smyrna=yes],[SMYRNA large graph viewer])],
  1738. [], [with_smyrna=yes])
  1739. if test "$with_smyrna" != "yes"; then
  1740. use_smyrna="No (disabled)"
  1741. else
  1742. if test "$use_gtk" != "Yes"; then
  1743. AC_MSG_WARN(SMYRNA requires GTK)
  1744. requires=" gtk+"
  1745. fi
  1746. if test "$use_gtkglext" != "Yes"; then
  1747. AC_MSG_WARN(SMYRNA requires GTKGLEXT)
  1748. requires="$requires gtkglext"
  1749. fi
  1750. if test "$use_glade" != "Yes"; then
  1751. AC_MSG_WARN(SMYRNA requires GLADE)
  1752. requires="$requires glade"
  1753. fi
  1754. if test "$use_gts" != "Yes"; then
  1755. AC_MSG_WARN(SMYRNA requires GTS)
  1756. requires="$requires gts"
  1757. fi
  1758. if test "$use_glut" != "Yes"; then
  1759. AC_MSG_WARN(SMYRNA requires GLUT)
  1760. requires="$requires glut"
  1761. fi
  1762. if test "$requires" != ""; then
  1763. use_smyrna="No (requires:$requires)"
  1764. else
  1765. use_smyrna="Yes"
  1766. fi
  1767. fi
  1768. AM_CONDITIONAL(WITH_SMYRNA, [test "$use_smyrna" = "Yes"])
  1769. dnl -----------------------------------
  1770. dnl ORTHO
  1771. AC_ARG_WITH(ortho,
  1772. [AS_HELP_STRING([--with-ortho=yes],[ORTHO features in neato layout engine])],
  1773. [], [with_ortho=yes])
  1774. if test "$with_ortho" != "yes"; then
  1775. use_ortho="No (disabled)"
  1776. else
  1777. use_ortho="Yes"
  1778. AC_DEFINE_UNQUOTED(ORTHO,1,[Define if you want ORTHO])
  1779. fi
  1780. AM_CONDITIONAL(WITH_ORTHO, [test "$use_ortho" = "Yes"])
  1781. dnl -----------------------------------
  1782. dnl DIGCOLA
  1783. AC_ARG_WITH(digcola,
  1784. [AS_HELP_STRING([--with-digcola=yes],[DIGCOLA features in neato layout engine])],
  1785. [], [with_digcola=yes])
  1786. if test "$with_digcola" != "yes"; then
  1787. use_digcola="No (disabled)"
  1788. else
  1789. use_digcola="Yes"
  1790. AC_DEFINE_UNQUOTED(DIGCOLA,1,[Define if you want DIGCOLA])
  1791. fi
  1792. dnl -----------------------------------
  1793. dnl IPSEPCOLA /* enabled by default. C++ issues on some platforms should be resolved by now */
  1794. AC_ARG_WITH(ipsepcola,
  1795. [AS_HELP_STRING([--with-ipsepcola=yes],[IPSEPCOLA features in neato layout engine])],
  1796. [], [with_ipsepcola=yes])
  1797. if test "$with_ipsepcola" != "yes"; then
  1798. use_ipsepcola="No (disabled)"
  1799. else
  1800. if test "$use_digcola" != "Yes"; then
  1801. use_ipsepcola="No (requires: digcola)"
  1802. else
  1803. use_ipsepcola="Yes"
  1804. AC_DEFINE_UNQUOTED(IPSEPCOLA,1,[Define if you want IPSEPCOLA])
  1805. IPSEPCOLA_INCLUDES='-I$(top_srcdir)/lib/vpsc'
  1806. IPSEPCOLA_LIBS='$(top_builddir)/lib/vpsc/libvpsc_C.la'
  1807. AC_SUBST([IPSEPCOLA_INCLUDES])
  1808. AC_SUBST([IPSEPCOLA_LIBS])
  1809. fi
  1810. fi
  1811. AM_CONDITIONAL(WITH_IPSEPCOLA, [test "$use_ipsepcola" = "Yes"])
  1812. # -----------------------------------------------------------------------
  1813. # This is a historical artifact ... there are no other choices these days
  1814. # This #define is never used in our sources,
  1815. # but apparently may still be in use by others
  1816. AC_DEFINE_UNQUOTED(WITH_CGRAPH,1,[Historical artifact - always true])
  1817. AM_CONDITIONAL(WITH_CGRAPH, [true])
  1818. # -----------------------------------------------------------------------
  1819. # Generate Makefiles
  1820. # tests/regression_tests/vuln/Makefile was removed
  1821. AC_CONFIG_FILES(Makefile
  1822. debian/changelog
  1823. debian/libgv-php5.install
  1824. doc/Makefile
  1825. doc/info/Makefile
  1826. doc/schema/Makefile
  1827. contrib/Makefile
  1828. contrib/prune/Makefile
  1829. contrib/diffimg/Makefile
  1830. graphs/Makefile
  1831. graphs/directed/Makefile
  1832. graphs/undirected/Makefile
  1833. lib/Makefile
  1834. lib/util/Makefile
  1835. lib/cdt/Makefile
  1836. lib/cdt/libcdt.pc
  1837. lib/cgraph/Makefile
  1838. lib/cgraph/libcgraph.pc
  1839. lib/rbtree/Makefile
  1840. lib/pathplan/Makefile
  1841. lib/pathplan/libpathplan.pc
  1842. lib/ast/Makefile
  1843. lib/sfio/Makefile
  1844. lib/sfio/Sfio_f/Makefile
  1845. lib/vmalloc/Makefile
  1846. lib/dotgen/Makefile
  1847. lib/neatogen/Makefile
  1848. lib/fdpgen/Makefile
  1849. lib/sparse/Makefile
  1850. lib/mingle/Makefile
  1851. lib/label/Makefile
  1852. lib/sfdpgen/Makefile
  1853. lib/sfdpgen/libsfdp.pc
  1854. lib/osage/Makefile
  1855. lib/edgepaint/Makefile
  1856. lib/gvpr/Makefile
  1857. lib/gvpr/libgvpr.pc
  1858. lib/circogen/Makefile
  1859. lib/twopigen/Makefile
  1860. lib/patchwork/Makefile
  1861. lib/pack/Makefile
  1862. lib/ortho/Makefile
  1863. lib/expr/Makefile
  1864. lib/expr/libexpr.pc
  1865. lib/common/Makefile
  1866. lib/vpsc/Makefile
  1867. lib/gvc/Makefile
  1868. lib/gvc/libgvc.pc
  1869. lib/xdot/Makefile
  1870. lib/xdot/libxdot.pc
  1871. lib/topfish/Makefile
  1872. lib/glcomp/Makefile
  1873. macosx/Info.plist
  1874. macosx/build/graphviz.pmdoc/01local.xml
  1875. macosx/build/graphviz.pmdoc/02graphviz.xml
  1876. plugin/Makefile
  1877. plugin/core/Makefile
  1878. plugin/devil/Makefile
  1879. plugin/gd/Makefile
  1880. plugin/gdk/Makefile
  1881. plugin/gdiplus/Makefile
  1882. plugin/gs/Makefile
  1883. plugin/kitty/Makefile
  1884. plugin/lasi/Makefile
  1885. plugin/pango/Makefile
  1886. plugin/poppler/Makefile
  1887. plugin/quartz/Makefile
  1888. plugin/rsvg/Makefile
  1889. plugin/webp/Makefile
  1890. plugin/xlib/Makefile
  1891. plugin/dot_layout/Makefile
  1892. plugin/neato_layout/Makefile
  1893. plugin/vt/Makefile
  1894. cmd/Makefile
  1895. cmd/dot/Makefile
  1896. cmd/tools/Makefile
  1897. cmd/gvpr/Makefile
  1898. cmd/gvpr/lib/Makefile
  1899. cmd/smyrna/Makefile
  1900. cmd/gvmap/Makefile
  1901. cmd/mingle/Makefile
  1902. cmd/edgepaint/Makefile
  1903. cmd/gvedit/Makefile
  1904. cmd/gvedit/gvedit.pro
  1905. cmd/gvedit/ui/Makefile
  1906. cmd/gvedit/images/Makefile
  1907. tclpkg/Makefile
  1908. tclpkg/tclstubs/Makefile
  1909. tclpkg/gdtclft/Makefile
  1910. tclpkg/gdtclft/demo/Makefile
  1911. tclpkg/tcldot/Makefile
  1912. tclpkg/tcldot/demo/Makefile
  1913. tclpkg/tclpathplan/Makefile
  1914. tclpkg/tclpathplan/demo/Makefile
  1915. tclpkg/tclpathplan/demo/pathplan_data/Makefile
  1916. tclpkg/gv/Makefile
  1917. tclpkg/gv/demo/Makefile
  1918. tclpkg/gv/META.gv
  1919. tests/graphs/Makefile
  1920. tests/linux.x86/Makefile
  1921. tests/Makefile
  1922. tests/regression_tests/Makefile
  1923. tests/regression_tests/shapes/Makefile
  1924. tests/regression_tests/shapes/reference/Makefile
  1925. tests/regression_tests/vuln/Makefile
  1926. tests/regression_tests/vuln/input/Makefile
  1927. tests/regression_tests/vuln/reference/Makefile
  1928. share/Makefile
  1929. share/examples/Makefile
  1930. share/gui/Makefile
  1931. redhat/graphviz.spec.fedora
  1932. redhat/graphviz.spec.rhel
  1933. Doxyfile
  1934. )
  1935. AC_OUTPUT
  1936. dnl ===========================================================================
  1937. if test "$use_tcl" != "Yes"; then
  1938. use_tcldot="No (tcl not available)"
  1939. use_gdtclft="No (tcl not available)"
  1940. use_tclpathplan="No (tcl not available)"
  1941. use_gv_tcl="No (tcl not available)"
  1942. else
  1943. use_tcldot="Yes"
  1944. use_tclpathplan="Yes"
  1945. if test "$use_swig" != "Yes"; then
  1946. use_gv_tcl="No (swig not available)"
  1947. else
  1948. use_gv_tcl="Yes"
  1949. fi
  1950. if test "$use_gd" != "Yes"; then
  1951. use_gdtclft="No (gd not available)"
  1952. else
  1953. use_gdtclft="Yes"
  1954. fi
  1955. fi
  1956. echo ""
  1957. echo "----------------------------------------------------------------"
  1958. echo ""
  1959. echo "graphviz-$VERSION will be compiled with the following:"
  1960. echo ""
  1961. echo "options:"
  1962. echo " cgraph: Yes (always enabled)"
  1963. echo " digcola: $use_digcola"
  1964. echo " expat: $use_expat"
  1965. echo " freetype: $use_freetype"
  1966. echo " glut: $use_glut"
  1967. echo " ann: $use_ann"
  1968. echo " gts: $use_gts"
  1969. echo " ipsepcola: $use_ipsepcola"
  1970. echo " ltdl: $use_ltdl"
  1971. echo " ortho: $use_ortho"
  1972. echo " sfdp: $use_sfdp"
  1973. echo " swig: $use_swig ( $SWIG_VERSION )"
  1974. echo " shared: $use_shared"
  1975. echo " static: $use_static"
  1976. echo " qt: $use_qt"
  1977. echo " x: $use_xlib"
  1978. echo ""
  1979. echo "commands:"
  1980. echo " dot: Yes (always enabled)"
  1981. echo " neato: Yes (always enabled)"
  1982. echo " fdp: Yes (always enabled)"
  1983. echo " circo: Yes (always enabled)"
  1984. echo " twopi: Yes (always enabled)"
  1985. echo " gvpr: Yes (always enabled)"
  1986. echo " gvmap: Yes (always enabled)"
  1987. echo " smyrna: $use_smyrna"
  1988. echo " gvedit: $use_qt"
  1989. echo ""
  1990. echo "plugin libraries:"
  1991. echo " dot_layout: Yes (always enabled)"
  1992. echo " neato_layout: Yes (always enabled)"
  1993. echo " core: Yes (always enabled)"
  1994. echo " devil: $use_devil"
  1995. echo " gd: $use_gd"
  1996. echo " gdiplus: $use_gdiplus"
  1997. echo " gdk: $use_gdk"
  1998. echo " gdk_pixbuf: $use_gdk_pixbuf"
  1999. echo " ghostscript: $use_ghostscript"
  2000. echo " gtk: $use_gtk"
  2001. echo " lasi: $use_lasi"
  2002. echo " pangocairo: $use_pangocairo"
  2003. echo " poppler: $use_poppler"
  2004. echo " quartz: $use_quartz"
  2005. echo " rsvg: $use_rsvg"
  2006. echo " webp: $use_webp"
  2007. echo " xlib: $use_xlib"
  2008. echo ""
  2009. echo "language extensions:"
  2010. echo " gv_sharp: $use_sharp"
  2011. echo " gv_d: $use_d"
  2012. echo " gv_go: $use_go"
  2013. echo " gv_guile: $use_guile"
  2014. echo " gv_java: $use_java"
  2015. echo " gv_javascript: $use_javascript"
  2016. echo " gv_lua: $use_lua"
  2017. echo " gv_perl: $use_perl"
  2018. echo " gv_php: $use_php"
  2019. echo " gv_python3: $use_python3"
  2020. echo " gv_R: $use_r"
  2021. echo " gv_ruby: $use_ruby"
  2022. echo " gv_tcl: $use_gv_tcl"
  2023. echo ""
  2024. echo " tcldot: $use_tcldot"
  2025. echo " tclpathplan: $use_tclpathplan"
  2026. echo " gdtclft: $use_gdtclft"