configure.ac 44 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409
  1. dnl ############################# INITIALISATION ###############################
  2. AC_PREREQ([2.67])
  3. AC_INIT
  4. AC_CONFIG_SRCDIR([src])
  5. AC_CONFIG_AUX_DIR(builds/make.new/config)
  6. AC_CACHE_VAL(ac_cv_prog_make_set, [AC_PROG_MAKE_SET])
  7. AC_PREFIX_DEFAULT(/usr/local/firebird)
  8. m4_ifdef([AC_CONFIG_MACRO_DIR],
  9. [],
  10. [m4_define([AC_CONFIG_MACRO_DIR], [])])
  11. AC_CONFIG_MACRO_DIR(m4)
  12. AC_CONFIG_HEADER(src/include/gen/autoconfig.auto:builds/make.new/config/config.h.in)
  13. dnl XE_APPEND(value, varname)
  14. define([XE_APPEND],[[$2]="$[$2] [$1]"])
  15. dnl XE_PREPEND(value, varname)
  16. define([XE_PREPEND],[[$2]="[$1] $[$2]"])
  17. CHANGE_PATH_SUPPORT=yes
  18. dnl XE_CONF_DIR(param, help, variable, default)
  19. define([XE_CONF_DIR],[
  20. AC_ARG_WITH([$1],
  21. [AS_HELP_STRING([--with-$1],[$2])],
  22. [[$3]="$withval"
  23. CHANGE_PATH_SUPPORT=no
  24. AC_DEFINE_UNQUOTED([$3], "$[$3]", [$2])],
  25. [[$3]='${fb_install_prefix}[$4]'
  26. AC_DEFINE_UNQUOTED([$3], [""], [$2])]
  27. )
  28. AC_SUBST([$3])
  29. ])
  30. define([XE_CONF_FILE],[
  31. AC_ARG_WITH([$1],
  32. [AS_HELP_STRING([--with-$1],[$2])],
  33. [[$3]="$withval"
  34. AC_DEFINE_UNQUOTED([$3], "$[$3]", [$2])],
  35. [[$3]="$4"
  36. AC_DEFINE_UNQUOTED([$3], ["$4"], [$2])]
  37. )
  38. AC_SUBST([$3])
  39. ])
  40. define([XE_SAVE_ENV], [
  41. pre_save_restore_cflags=$CFLAGS
  42. pre_save_restore_cxxflags=$CXXFLAGS
  43. pre_save_restore_libs=$LIBS
  44. ])
  45. define([XE_RESTORE_ENV], [
  46. CFLAGS=$pre_save_restore_cflags
  47. CXXFLAGS=$pre_save_restore_cxxflags
  48. LIBS=$pre_save_restore_libs
  49. ])
  50. sinclude(acx_pthread.m4)
  51. sinclude(binreloc.m4)
  52. dnl ############################# ADD TESTS BELOW ##############################
  53. AC_CANONICAL_BUILD
  54. CPU_TYPE=$build_cpu
  55. AC_SUBST(CPU_TYPE)
  56. dnl EKU: set appropiate defaults for each platform
  57. dnl EDITLINE_FLG : support fancy command line editing in isql
  58. dnl SHRLIB_EXT : suffix of shared library files
  59. RAW_DEVICES_FLG=Y
  60. EXPORT_SYMBOLS_STYLE=linux
  61. INSTALL_PREFIX=""
  62. dnl Use /usr/lib for library links on most platforms except some 64-bit ones
  63. libdir=/usr/lib
  64. dnl Should system editline be used
  65. STD_EDITLINE=false
  66. dnl Test for special ar options?
  67. AR_OPT_CHECK=false
  68. case "$build" in
  69. x*64-*-darwin*)
  70. MAKEFILE_PREFIX=darwin_x86_64
  71. MAKEFILE_POSTFIX=darwin
  72. PLATFORM=DARWIN
  73. INSTALL_PREFIX=darwin
  74. AC_DEFINE(DARWIN, 1, [Define this if OS is DARWIN])
  75. XE_APPEND(-framework CoreFoundation,LIBS)
  76. EDITLINE_FLG=Y
  77. SHRLIB_EXT=dylib
  78. CPU_TYPE=x86_64
  79. EXPORT_SYMBOLS_STYLE=darwin
  80. RAW_DEVICES_FLG=N
  81. ;;
  82. i*86-*-darwin*)
  83. MAKEFILE_PREFIX=darwin_i386
  84. MAKEFILE_POSTFIX=darwin
  85. PLATFORM=DARWIN
  86. INSTALL_PREFIX=darwin
  87. AC_DEFINE(DARWIN, 1, [Define this if OS is DARWIN])
  88. XE_APPEND(-framework CoreFoundation,LIBS)
  89. EDITLINE_FLG=Y
  90. SHRLIB_EXT=dylib
  91. CPU_TYPE=i386
  92. EXPORT_SYMBOLS_STYLE=darwin
  93. RAW_DEVICES_FLG=N
  94. ;;
  95. powerpc-*-darwin*)
  96. MAKEFILE_PREFIX=darwin_powerpc
  97. dnl MAKEFILE_PREFIX=darwin_ppc64
  98. MAKEFILE_POSTFIX=darwin
  99. PLATFORM=DARWIN
  100. INSTALL_PREFIX=darwin
  101. AC_DEFINE(DARWIN, 1, [Define this if OS is DARWIN])
  102. XE_APPEND(-framework CoreFoundation,LIBS)
  103. EDITLINE_FLG=Y
  104. SHRLIB_EXT=dylib
  105. dnl CPU_TYPE=ppc64
  106. EXPORT_SYMBOLS_STYLE=darwin
  107. ;;
  108. powerpc-*-aix*)
  109. dnl ibm xlC has many invocations, like xlC, xlc++, or xlc_r7
  110. comp=`echo "$CXX" | cut -c1-3 | dd conv=lcase 2>/dev/null`
  111. if test "$comp" = "xlc"; then
  112. AR_OPT_CHECK=true
  113. TLS_OPTIONS="-qtls=default"
  114. MAKEFILE_PREFIX=aix_powerpc_xlc
  115. else
  116. MAKEFILE_PREFIX=aix_powerpc
  117. fi
  118. MAKEFILE_POSTFIX=aix
  119. PLATFORM=AIX
  120. INSTALL_PREFIX=aix
  121. AC_DEFINE(AIX, 1, [Define this if OS is AIX])
  122. EDITLINE_FLG=N
  123. SHRLIB_EXT=so
  124. EXPORT_SYMBOLS_STYLE=aix
  125. ;;
  126. amd64-*-freebsd* | x86_64*-*-freebsd* | x86_64*-*-k*bsd*-gnu)
  127. MAKEFILE_PREFIX=freebsd_amd64
  128. case "$build" in
  129. x86_64*-*-k*bsd-gnu) # Debian/kFreeBSD
  130. PLATFORM=GENTOOFREEBSD
  131. INSTALL_PREFIX=linux
  132. ;;
  133. *)
  134. PLATFORM=FREEBSD
  135. INSTALL_PREFIX=freebsd
  136. ;;
  137. esac
  138. AC_DEFINE(FREEBSD, 1, [Define this if OS is FreeBSD])
  139. AC_DEFINE(AMD64, 1, [Define this if CPU is amd64])
  140. EDITLINE_FLG=Y
  141. SHRLIB_EXT=so
  142. ;;
  143. *-gentoo-freebsd*)
  144. MAKEFILE_PREFIX=freebsd
  145. PLATFORM=GENTOOFREEBSD
  146. AC_DEFINE(FREEBSD, 1, [Define this if OS is FreeBSD])
  147. EDITLINE_FLG=Y
  148. SHRLIB_EXT=so
  149. ;;
  150. *-*-freebsd* | *-*-k*bsd*-gnu)
  151. MAKEFILE_PREFIX=freebsd
  152. case "$build" in
  153. *-*-k*bsd-gnu) # Debian/kFreeBSD
  154. PLATFORM=GENTOOFREEBSD
  155. INSTALL_PREFIX=linux
  156. ;;
  157. *)
  158. PLATFORM=FREEBSD
  159. ;;
  160. esac
  161. AC_DEFINE(FREEBSD, 1, [Define this if OS is FreeBSD])
  162. EDITLINE_FLG=Y
  163. SHRLIB_EXT=so
  164. ;;
  165. mips-*-linux*)
  166. MAKEFILE_PREFIX=linux_mips
  167. INSTALL_PREFIX=linux
  168. PLATFORM=LINUX
  169. AC_DEFINE(LINUX)
  170. EDITLINE_FLG=Y
  171. SHRLIB_EXT=so
  172. ;;
  173. mipsel-*-linux*)
  174. MAKEFILE_PREFIX=linux_mipsel
  175. INSTALL_PREFIX=linux
  176. PLATFORM=LINUX
  177. AC_DEFINE(LINUX)
  178. EDITLINE_FLG=Y
  179. SHRLIB_EXT=so
  180. ;;
  181. x86_64*-*-linux* | x86_64*-*-gnu*)
  182. MAKEFILE_PREFIX=linux_amd64
  183. INSTALL_PREFIX=linux
  184. PLATFORM=LINUX
  185. AC_DEFINE(LINUX, 1, [Define this if OS is Linux])
  186. EDITLINE_FLG=Y
  187. SHRLIB_EXT=so
  188. libdir=/usr/lib64
  189. CPU_TYPE=amd64
  190. ;;
  191. ia64*-*-linux*)
  192. MAKEFILE_PREFIX=linux_ia64
  193. INSTALL_PREFIX=linux
  194. PLATFORM=LINUX
  195. AC_DEFINE(LINUX, 1, [Define this if OS is Linux])
  196. EDITLINE_FLG=Y
  197. SHRLIB_EXT=so
  198. libdir=/usr/lib
  199. CPU_TYPE=ia64
  200. ;;
  201. arm*-*-linux*)
  202. MAKEFILE_PREFIX=linux_arm
  203. INSTALL_PREFIX=linux
  204. PLATFORM=LINUX
  205. AC_DEFINE(LINUX, 1, [Define this if OS is Linux])
  206. EDITLINE_FLG=Y
  207. SHRLIB_EXT=so
  208. STD_EDITLINE=true
  209. ;;
  210. aarch64*-*-linux*)
  211. MAKEFILE_PREFIX=linux_arm64
  212. INSTALL_PREFIX=linux
  213. PLATFORM=LINUX
  214. AC_DEFINE(LINUX, 1, [Define this if OS is Linux])
  215. EDITLINE_FLG=Y
  216. SHRLIB_EXT=so
  217. STD_EDITLINE=true
  218. STD_ICU=true
  219. libdir=/usr/lib64
  220. ;;
  221. powerpc64le-*-linux*)
  222. MAKEFILE_PREFIX=linux_powerpc64el
  223. INSTALL_PREFIX=linux
  224. PLATFORM=LINUX
  225. AC_DEFINE(LINUX, 1, [Define this if OS is Linux])
  226. EDITLINE_FLG=Y
  227. SHRLIB_EXT=so
  228. STD_EDITLINE=true
  229. STD_ICU=true
  230. libdir=/usr/lib64
  231. ;;
  232. powerpc64-*-linux*)
  233. MAKEFILE_PREFIX=linux_powerpc64
  234. INSTALL_PREFIX=linux
  235. PLATFORM=LINUX
  236. AC_DEFINE(LINUX, 1, [Define this if OS is Linux])
  237. EDITLINE_FLG=Y
  238. SHRLIB_EXT=so
  239. STD_EDITLINE=true
  240. STD_ICU=true
  241. libdir=/usr/lib64
  242. ;;
  243. sparc*-*-linux* | sparc*-*-gnu* | sparc*-*-k*bsd*-gnu)
  244. MAKEFILE_PREFIX=linux_sparc32
  245. INSTALL_PREFIX=linux
  246. PLATFORM=LINUX
  247. AC_DEFINE(LINUX, 1, [Define this if OS is Linux])
  248. EDITLINE_FLG=Y
  249. SHRLIB_EXT=so
  250. ;;
  251. powerpc*-*-linux*)
  252. MAKEFILE_PREFIX=linux_powerpc
  253. INSTALL_PREFIX=linux
  254. PLATFORM=LINUX
  255. AC_DEFINE(LINUX, 1, [Define this if OS is Linux])
  256. EDITLINE_FLG=Y
  257. SHRLIB_EXT=so
  258. ;;
  259. i*86*-*-linux*)
  260. MAKEFILE_PREFIX=linux
  261. PLATFORM=LINUX
  262. AC_DEFINE(LINUX)
  263. EDITLINE_FLG=Y
  264. SHRLIB_EXT=so
  265. ;;
  266. s390x-*-linux*)
  267. MAKEFILE_PREFIX=linux_s390x
  268. INSTALL_PREFIX=linux
  269. PLATFORM=LINUX
  270. AC_DEFINE(LINUX, 1, [Define this if OS is Linux])
  271. EDITLINE_FLG=Y
  272. SHRLIB_EXT=so
  273. libdir=/usr/lib64
  274. ;;
  275. s390*-*-linux*)
  276. MAKEFILE_PREFIX=linux_s390x
  277. INSTALL_PREFIX=linux
  278. PLATFORM=LINUX
  279. AC_DEFINE(LINUX, 1, [Define this if OS is Linux])
  280. EDITLINE_FLG=Y
  281. SHRLIB_EXT=so
  282. ;;
  283. sh*eb-*-linux*)
  284. MAKEFILE_PREFIX=linux_generic
  285. INSTALL_PREFIX=linux
  286. PLATFORM=LINUX
  287. AC_DEFINE(LINUX, 1, [Define this if OS is Linux])
  288. AC_DEFINE(SHEB, 1, [Architecture is big-edian sh4])
  289. LOCK_MANAGER_FLG=Y
  290. EDITLINE_FLG=Y
  291. SHRLIB_EXT=so
  292. ;;
  293. sh*-*-linux*)
  294. MAKEFILE_PREFIX=linux_generic
  295. INSTALL_PREFIX=linux
  296. PLATFORM=LINUX
  297. AC_DEFINE(LINUX, 1, [Define this if OS is Linux])
  298. AC_DEFINE(SH, 1, [Architecture is little-endian sh4])
  299. LOCK_MANAGER_FLG=Y
  300. EDITLINE_FLG=Y
  301. SHRLIB_EXT=so
  302. ;;
  303. hppa*-*-linux*)
  304. MAKEFILE_PREFIX=linux_generic
  305. INSTALL_PREFIX=linux
  306. PLATFORM=LINUX
  307. AC_DEFINE(LINUX, 1, [Define this if OS is Linux])
  308. AC_DEFINE(HPPA, 1, [Define this if CPU is HPPA])
  309. LOCK_MANAGER_FLG=Y
  310. EDITLINE_FLG=Y
  311. SHRLIB_EXT=so
  312. ;;
  313. alpha*-*-linux*)
  314. MAKEFILE_PREFIX=linux_generic
  315. INSTALL_PREFIX=linux
  316. PLATFORM=LINUX
  317. AC_DEFINE(LINUX, 1, [Define this if OS is Linux])
  318. AC_DEFINE(ALPHA, 1, [Define this if CPU is Alpha])
  319. LOCK_MANAGER_FLG=Y
  320. EDITLINE_FLG=Y
  321. SHRLIB_EXT=so
  322. ;;
  323. m68k*-*-linux*)
  324. MAKEFILE_PREFIX=linux_generic
  325. INSTALL_PREFIX=linux
  326. PLATFORM=LINUX
  327. AC_DEFINE(LINUX, 1, [Define this if OS is Linux])
  328. AC_DEFINE(M68K, 1, [Define this if CPU is M68k])
  329. LOCK_MANAGER_FLG=Y
  330. EDITLINE_FLG=Y
  331. SHRLIB_EXT=so
  332. ;;
  333. *-*-linux* | *-*-gnu*)
  334. MAKEFILE_PREFIX=linux_generic
  335. INSTALL_PREFIX=linux
  336. PLATFORM=LINUX
  337. AC_DEFINE(LINUX, 1, [Define this if OS is Linux])
  338. EDITLINE_FLG=Y
  339. SHRLIB_EXT=so
  340. ;;
  341. *-*-netbsd*)
  342. MAKEFILE_PREFIX=netbsd
  343. PLATFORM=NETBSD
  344. AC_DEFINE(NETBSD, 1, [Define this if OS is NetBSD])
  345. EDITLINE_FLG=Y
  346. SHRLIB_EXT=so
  347. ;;
  348. ia64-*-hpux*)
  349. comp=`echo "$CXX" | cut -c1-3`
  350. case $comp in
  351. aCC) MAKEFILE_PREFIX=hpux_aCC ;
  352. PTHREAD_CFLAGS=-mt
  353. ;;
  354. *) MAKEFILE_PREFIX=hpux_ia64 ;
  355. ;;
  356. esac
  357. INSTALL_PREFIX=hpux
  358. PLATFORM=HPUX
  359. AC_DEFINE(HPUX, 1, [Define this if OS is HP-UX])
  360. EDITLINE_FLG=Y
  361. SHRLIB_EXT=so
  362. libdir=/usr/lib/pa20_64
  363. EXPORT_SYMBOLS_STYLE=hpux
  364. ;;
  365. hppa*-*-hpux*)
  366. comp=`echo "$CXX" | cut -c1-3`
  367. case $comp in
  368. aCC) MAKEFILE_PREFIX=hpux_aCC ;
  369. PTHREAD_CFLAGS=-mt
  370. ;;
  371. *) MAKEFILE_PREFIX=hpux ;
  372. ;;
  373. esac
  374. INSTALL_PREFIX=hpux
  375. PLATFORM=HPUX
  376. AC_DEFINE(HPUX, 1, [Define this if OS is HP-UX])
  377. EDITLINE_FLG=Y
  378. SHRLIB_EXT=sl
  379. libdir=/usr/lib/pa20_64
  380. EXPORT_SYMBOLS_STYLE=hpux
  381. ;;
  382. i386-pc-solaris*)
  383. dnl detect native compiler, Sun Studio Pro
  384. comp=`echo "$CXX" | cut -c1-2`
  385. case $comp in
  386. CC) MAKEFILE_PREFIX=solaris
  387. PTHREAD_CFLAGS=-mt
  388. PTHREAD_LIBS=-lpthread
  389. ;;
  390. *) MAKEFILE_PREFIX=solx86gcc ;
  391. PTHREAD_CFLAGS=-pthreads ;;
  392. esac
  393. dnl if this is amd64 system, we should install our libraries in /usr/lib/amd64
  394. isa=`isainfo -k`
  395. if test "$isa" = "amd64"; then
  396. libdir=/usr/lib/amd64
  397. fi
  398. CAS_OPTIONS=`pwd`"/src/common/classes/fb_cas_sax.il";
  399. INSTALL_PREFIX=solaris
  400. PLATFORM=solx86
  401. AC_DEFINE(solx86, 1, [Define this if OS is Solarix x86])
  402. EDITLINE_FLG=Y
  403. SHRLIB_EXT=so
  404. ;;
  405. sparc-sun-solaris*)
  406. dnl detect native compiler, Sun Studio Pro
  407. comp=`echo "$CXX" | cut -c1-3`
  408. case $comp in
  409. CC) MAKEFILE_PREFIX=solaris ;
  410. dnl inline assembly for atomic operations on Solaris 9 w SSPRO
  411. PTHREAD_CFLAGS=-mt
  412. PTHREAD_LIBS=-lpthread
  413. if test "${build#*solaris}" = "2.9"; then
  414. ATOMIC_OPTIONS=`pwd`"/src/common/classes/fb_atomic.il";
  415. fi
  416. ;;
  417. *) MAKEFILE_PREFIX=solaris-64gcc ;
  418. esac
  419. CAS_OPTIONS=`pwd`"/src/common/classes/fb_cas.il";
  420. INSTALL_PREFIX=solaris
  421. PLATFORM=SOLARIS
  422. AC_DEFINE(SOLARIS, 1, [Define this if OS is Solaris Sparc])
  423. EDITLINE_FLG=Y
  424. SHRLIB_EXT=so
  425. ;;
  426. *-*-mingw*)
  427. MAKEFILE_PREFIX=mingw
  428. PLATFORM=win32
  429. AC_DEFINE(WIN_NT, 1, [Define this if OS is Windows NT])
  430. AC_DEFINE(HAVE_MULTI_THREAD, 1, [Define this if multi-threading should be supported])
  431. EDITLINE_FLG=N
  432. RAW_DEVICES_FLG=N
  433. SHRLIB_EXT=dll
  434. ;;
  435. *)
  436. AC_MSG_ERROR(unsupported platform ${build})
  437. ;;
  438. esac
  439. if test "$INSTALL_PREFIX" = ""; then
  440. INSTALL_PREFIX=$MAKEFILE_PREFIX
  441. fi
  442. AM_BINRELOC
  443. if test -z "$BINRELOC_CFLAGS"
  444. then
  445. CHANGE_PATH_SUPPORT=no
  446. fi
  447. AC_SUBST(MAKEFILE_PREFIX)
  448. AC_SUBST(AR_OPTIONS)
  449. AC_SUBST(PLATFORM)
  450. AC_SUBST(SHRLIB_EXT)
  451. AC_DEFINE_UNQUOTED(SHRLIB_EXT, "$SHRLIB_EXT", [Extension for shared libraries])
  452. AC_DEFINE(CASE_SENSITIVITY, true, [Define this if paths are case sensitive])
  453. dnl Some controllable options
  454. AC_ARG_ENABLE(developer,
  455. [ --enable-developer use developer mode rules (default=no)],
  456. [case "$enableval" in
  457. yes) DEVEL_FLG=Y;;
  458. no) DEVEL_FLG=N;;
  459. *) AC_MSG_ERROR(bad value '${enableval}' for --enable-developer);;
  460. esac])
  461. AC_SUBST(DEVEL_FLG)
  462. CROSS=
  463. IS_CROSS=N
  464. AC_ARG_WITH(cross-build,
  465. [ --with-cross-build build for platform different from current one],
  466. [CROSS=${withval}
  467. IS_CROSS=Y])
  468. AC_SUBST(IS_CROSS)
  469. TOMBUILD=N
  470. AC_ARG_WITH(builtin-tommath,
  471. [ --with-builtin-tommath build libtommath library from firebird tree],
  472. [TOMBUILD=Y])
  473. AC_SUBST(TOMBUILD)
  474. dnl Avoid dumb '-g -O2' autoconf's default
  475. dnl Debugging information and optimization flags should be set in prefix.$platform file
  476. dnl Should be replaced with AC_PROG_GCC_DEFAULT_FLAGS() when available
  477. if test "$CFLAGS" = "-g -O2" -o "$CFLAGS" = "-g" -o "$CFLAGS" = "-O2"; then
  478. CFLAGS=
  479. fi
  480. dnl Find out how to use threads on this platform
  481. XE_SAVE_ENV()
  482. ACX_PTHREAD([
  483. AC_DEFINE(HAVE_MULTI_THREAD, 1,
  484. [Define this if multi-threading should be supported])])
  485. XE_RESTORE_ENV()
  486. AC_SUBST(PTHREAD_LIBS)
  487. AC_SUBST(PTHREAD_CFLAGS)
  488. dnl Later we always build threaded binaries
  489. CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
  490. CXXFLAGS="$CXXFLAGS $PTHREAD_CFLAGS"
  491. LIBS="$LIBS $PTHREAD_LIBS"
  492. AC_ARG_ENABLE(raw-devices,
  493. [ --enable-raw-devices enable databases on raw devices (default on POSIX)],
  494. [case "$enableval" in
  495. yes) RAW_DEVICES_FLG=Y;;
  496. no) RAW_DEVICES_FLG=N;;
  497. *) AC_MSG_ERROR(bad value '${enableval}' for --enable-raw-devices);;
  498. esac])
  499. if test "$RAW_DEVICES_FLG" = "Y"; then
  500. AC_DEFINE(SUPPORT_RAW_DEVICES, 1,
  501. [Define this if databases on raw devices should be supported])
  502. fi
  503. AC_ARG_ENABLE(rpath,
  504. [ --enable-rpath enable linking with RPATH (default)],
  505. [],
  506. [enable_rpath=yes])
  507. if test "x$enable_rpath" != "xno" || test "x$enable_rpath" = "x" ; then
  508. AC_SUBST(USE_RPATH, 1)
  509. fi
  510. AC_ARG_WITH(editline,
  511. [ --with-editline support fancy command line editing],
  512. [case "$withval" in
  513. yes) EDITLINE_FLG=Y;;
  514. no) EDITLINE_FLG=N;;
  515. *) AC_MSG_ERROR(bad value '${withval}' for --with-editline);;
  516. esac])
  517. AC_ARG_WITH(system-editline,
  518. [ --with-system-editline use OS supplied libeditline],
  519. [case "$withval" in
  520. yes) STD_EDITLINE=true;;
  521. no) STD_EDITLINE=false;;
  522. *) AC_MSG_ERROR(bad value '${withval}' for --with-system-editline);;
  523. esac])
  524. # not need editline in default libs, but need to test for its presence
  525. READLINE=edit # builtin default
  526. XE_SAVE_ENV()
  527. if test "$STD_EDITLINE" = "true"; then
  528. AC_CHECK_LIB(edit, readline, [READLINE=edit EDITLINE_FLG=Y],
  529. AC_CHECK_LIB(editline, readline, [READLINE=editline EDITLINE_FLG=Y],
  530. AC_CHECK_LIB(readline, readline, [READLINE=readline EDITLINE_FLG=Y],
  531. [STD_EDITLINE=false
  532. if test "$EDITLINE_FLG" = "Y"; then
  533. AC_MSG_WARN([[[--with-system-editline specified, not found. Using bundled editline]]])])))
  534. fi
  535. fi
  536. XE_RESTORE_ENV()
  537. AC_SUBST(READLINE)
  538. AC_SUBST(STD_EDITLINE)
  539. AC_SUBST(EDITLINE_FLG)
  540. FB_SERVICE_NAME=gds_db
  541. FB_SERVICE_PORT=3050
  542. FB_IPC_NAME=FirebirdIPI
  543. AC_ARG_WITH(service-name,
  544. [ --with-service-name specify inet service name (default=gds_db)],
  545. [FB_SERVICE_NAME=${withval}])
  546. AC_ARG_WITH(service-port,
  547. [ --with-service-port specify inet service port (default=3050)],
  548. [FB_SERVICE_PORT=${withval}])
  549. AC_ARG_WITH(ipc-name,
  550. [ --with-ipc-name specify local IPC name (default=FirebirdIPI)],
  551. [FB_IPC_NAME=${withval}])
  552. AC_DEFINE_UNQUOTED(FB_SERVICE_NAME,"$FB_SERVICE_NAME", [Inet service name])
  553. AC_DEFINE_UNQUOTED(FB_SERVICE_PORT,$FB_SERVICE_PORT, [Inet service port])
  554. AC_DEFINE_UNQUOTED(FB_IPC_NAME,"$FB_IPC_NAME", [Local IPC name])
  555. AC_SUBST(FB_SERVICE_NAME)
  556. AC_SUBST(FB_SERVICE_PORT)
  557. AC_SUBST(FB_IPC_NAME)
  558. dnl Use non-standard directory placement control
  559. dnl Sorry - GNU standard is not Ok for us
  560. XE_CONF_DIR(fbbin, [executables DIR (PREFIX/bin)], FB_BINDIR, /bin)
  561. XE_CONF_DIR(fbsbin, [system admin executables DIR (PREFIX/bin)], FB_SBINDIR, /bin)
  562. XE_CONF_DIR(fbconf, [config files DIR (PREFIX)], FB_CONFDIR)
  563. XE_CONF_DIR(fblib, [object code libraries DIR (PREFIX/lib)], FB_LIBDIR, /lib)
  564. XE_CONF_DIR(fbinclude, [C/C++ header files DIR (PREFIX/include)], FB_INCDIR, /include)
  565. XE_CONF_DIR(fbdoc, [documentation root DIR (PREFIX/doc)], FB_DOCDIR, /doc)
  566. XE_CONF_DIR(fbudf, [UDF DIR (PREFIX/UDF)], FB_UDFDIR, /UDF)
  567. XE_CONF_DIR(fbsample, [examples DIR (PREFIX/examples)], FB_SAMPLEDIR, /examples)
  568. XE_CONF_DIR(fbsample-db, [examples database DIR (PREFIX/examples/empbuild)], FB_SAMPLEDBDIR, /examples/empbuild)
  569. XE_CONF_DIR(fbhelp, [QLI help DIR (PREFIX/help)], FB_HELPDIR, /help)
  570. XE_CONF_DIR(fbintl, [international DIR (PREFIX/intl)], FB_INTLDIR, /intl)
  571. XE_CONF_DIR(fbmisc, [misc DIR (PREFIX/misc)], FB_MISCDIR, /misc)
  572. XE_CONF_DIR(fbsecure-db, [security database DIR (PREFIX)], FB_SECDBDIR)
  573. XE_CONF_DIR(fbmsg, [message files DIR (PREFIX)], FB_MSGDIR)
  574. XE_CONF_DIR(fblog, [log files DIR (PREFIX)], FB_LOGDIR)
  575. XE_CONF_FILE(fblogfilename, [log file name within log dir (firebird.log)], FB_LOGFILENAME, firebird.log)
  576. XE_CONF_DIR(fbglock, [guardian lock DIR (PREFIX)], FB_GUARDDIR)
  577. XE_CONF_DIR(fbplugins, [plugins DIR (PREFIX)], FB_PLUGDIR, /plugins)
  578. AC_SUBST(CHANGE_PATH_SUPPORT)
  579. dnl gpre built-in language support (C/C++ are mandatory)
  580. GPRE_LANGUAGE_MODULES=""
  581. AC_ARG_WITH(gpre-ada,
  582. [ --with-gpre-ada support ADA in gpre (default=no)],
  583. [case "$withval" in
  584. yes) XE_APPEND(ada.cpp,GPRE_LANGUAGE_MODULES)
  585. AC_DEFINE(GPRE_ADA, 1, [Define this if GPRE should support ADA]);;
  586. no) ;;
  587. *) AC_MSG_ERROR(bad value '${withval}' for --with-gpre-ada);;
  588. esac])
  589. AC_ARG_WITH(gpre-cobol,
  590. [ --with-gpre-cobol support COBOL in gpre (default=no)],
  591. [case "$withval" in
  592. yes) XE_APPEND(cob.cpp rmc.cpp,GPRE_LANGUAGE_MODULES)
  593. AC_DEFINE(GPRE_COBOL, 1, [Define this if GPRE should support COBOL]);;
  594. no) ;;
  595. *) AC_MSG_ERROR(bad value '${withval}' for --with-gpre-cobol);;
  596. esac])
  597. AC_ARG_WITH(gpre-fortran,
  598. [ --with-gpre-fortran support FORTRAN in gpre (default=no)],
  599. [case "$withval" in
  600. yes) XE_APPEND(ftn.cpp,GPRE_LANGUAGE_MODULES)
  601. AC_DEFINE(GPRE_FORTRAN, 1, [Define this if GPRE should support FORTRAN]);;
  602. no) ;;
  603. *) AC_MSG_ERROR(bad value '${withval}' for --with-gpre-fortran);;
  604. esac])
  605. AC_ARG_WITH(gpre-pascal,
  606. [ --with-gpre-pascal support PASCAL in gpre (default=no)],
  607. [case "$withval" in
  608. yes) XE_APPEND(pas.cpp,GPRE_LANGUAGE_MODULES)
  609. AC_DEFINE(GPRE_PASCAL, 1, [Define this if GPRE should support PASCAL]);;
  610. no) ;;
  611. *) AC_MSG_ERROR(bad value '${withval}' for --with-gpre-pascal);;
  612. esac])
  613. AC_SUBST(GPRE_LANGUAGE_MODULES)
  614. dnl Compression switch
  615. COMPRESSION=Y
  616. AC_ARG_WITH(wire-compress,
  617. [ --with-wire-compress support compression of data, transfered over the wire (default=yes)],
  618. [case "$withval" in
  619. yes) ;;
  620. no) COMPRESSION=N;;
  621. *) AC_MSG_ERROR(bad value '${withval}' for --with-wire-compress);;
  622. esac])
  623. dnl Checks for programs.
  624. AC_PROG_AWK
  625. AC_PROG_CC_STDC
  626. AC_PROG_GCC_TRADITIONAL
  627. AC_PROG_CXX
  628. AC_PROG_CPP
  629. AC_PROG_INSTALL
  630. AC_PROG_LN_S
  631. AC_PROG_MAKE_SET
  632. LT_INIT([dlopen win32-dll])
  633. dnl Check for system header files
  634. AC_HEADER_DIRENT
  635. AC_HEADER_STDC
  636. AC_HEADER_SYS_WAIT
  637. AC_CHECK_HEADERS(assert.h)
  638. AC_CHECK_HEADERS(ctype.h)
  639. AC_CHECK_HEADERS(errno.h)
  640. AC_CHECK_HEADERS(fcntl.h)
  641. AC_CHECK_HEADERS(grp.h)
  642. AC_CHECK_HEADERS(pwd.h)
  643. AC_CHECK_HEADERS(locale.h)
  644. AC_CHECK_HEADERS(math.h)
  645. AC_CHECK_HEADERS(pthread.h)
  646. AC_CHECK_HEADERS(sys/types.h)
  647. AC_CHECK_HEADERS(sys/stat.h)
  648. AC_CHECK_HEADERS(sys/uio.h)
  649. AC_HEADER_SYS_WAIT
  650. AC_HEADER_TIME
  651. AC_CHECK_HEADERS(sys/time.h)
  652. AC_CHECK_HEADERS(sys/timeb.h)
  653. AC_CHECK_HEADERS(sys/param.h)
  654. AC_CHECK_HEADERS(sys/mount.h)
  655. AC_CHECK_HEADERS(sys/ioctl.h)
  656. AC_CHECK_HEADERS(sys/select.h)
  657. AC_CHECK_HEADERS(sys/syscall.h)
  658. AC_CHECK_HEADERS(sys/signal.h)
  659. AC_CHECK_HEADERS(limits.h)
  660. AC_CHECK_HEADERS(setjmp.h)
  661. AC_CHECK_HEADERS(stdarg.h)
  662. AC_CHECK_HEADERS(stdlib.h)
  663. AC_CHECK_HEADERS(string.h)
  664. AC_CHECK_HEADERS(signal.h sys/signal.h sys/siginfo.h)
  665. AC_CHECK_HEADERS(termio.h termios.h)
  666. if test "$EDITLINE_FLG" = "Y"; then
  667. AC_HEADER_DIRENT
  668. AC_DEFINE(HAVE_EDITLINE_H, 1, [Define this if editline is in use])
  669. fi
  670. AC_CHECK_HEADERS(unistd.h)
  671. AC_CHECK_HEADERS(varargs.h)
  672. AC_CHECK_HEADERS(crypt.h)
  673. AC_CHECK_HEADERS(netinet/in.h rpc/rpc.h netconfig.h)
  674. AC_CHECK_HEADERS(rpc/xdr.h,,,[#include <rpc/rpc.h>])
  675. AC_CHECK_HEADERS(aio.h)
  676. AC_CHECK_HEADERS(mntent.h mnttab.h sys/mntent.h sys/mnttab.h)
  677. AC_CHECK_HEADERS(sys/ipc.h sys/file.h)
  678. AC_CHECK_HEADERS(sys/resource.h)
  679. AC_CHECK_HEADERS(sys/sem.h)
  680. AC_CHECK_HEADERS(semaphore.h)
  681. AC_CHECK_HEADERS(float.h)
  682. AC_CHECK_HEADERS(atomic.h)
  683. AC_CHECK_HEADERS(atomic_ops.h)
  684. AC_CHECK_HEADERS(poll.h)
  685. AC_CHECK_HEADERS(langinfo.h)
  686. AC_CHECK_HEADERS(iconv.h)
  687. AC_CHECK_HEADERS(linux/falloc.h)
  688. AC_LANG_PUSH(C++)
  689. AC_CHECK_HEADERS(cmath)
  690. AC_LANG_POP(C++)
  691. AC_CHECK_HEADERS(socket.h sys/socket.h sys/sockio.h winsock2.h)
  692. AC_CHECK_DECLS(SOCK_CLOEXEC,,,[[
  693. #ifdef HAVE_SYS_SOCKET_H
  694. #include <sys/socket.h>
  695. #endif
  696. #ifdef HAVE_SOCKET_H
  697. #include <socket.h>
  698. #endif
  699. #ifdef HAVE_SYS_SOCKIO_H
  700. #include <sys/sockio.h>
  701. #endif
  702. #ifdef HAVE_WINSOCK2_H
  703. #include <winsock2.h>
  704. #endif
  705. ]])
  706. dnl check for compression
  707. if test "$COMPRESSION" = "Y"; then
  708. AC_CHECK_HEADERS(zlib.h,,AC_MSG_ERROR(zlib header not found - please install development zlib package))
  709. fi
  710. dnl check for ICU presence
  711. AC_CHECK_HEADER(unicode/ucnv.h,,AC_MSG_ERROR(ICU support not found - please install development ICU package))
  712. dnl setting ICU_OK here is done to only avoid default action
  713. AC_CHECK_LIB(icuuc, main, ICU_OK=yes, AC_MSG_ERROR(ICU support not found - please install development ICU package))
  714. dnl check for tommath presence
  715. if test "$TOMBUILD" = "Y"; then
  716. MATHLIB=-ltommath
  717. else
  718. AC_CHECK_HEADER(tommath.h,,
  719. AC_MSG_ERROR(Include file for tommath not found - please install development tommath package or use --with-builtin-tommath))
  720. XE_SAVE_ENV()
  721. LIBS=
  722. AC_CHECK_LIB(tommath, mp_init, MATHLIB=-ltommath,
  723. AC_MSG_ERROR(Library tommath not found - please install development tommath package or use --with-builtin-tommath))
  724. XE_RESTORE_ENV()
  725. fi
  726. AC_SUBST(MATHLIB)
  727. dnl Check for libraries
  728. AC_SEARCH_LIBS(dlopen, dl)
  729. AC_CHECK_LIB(m, main)
  730. if test "$EDITLINE_FLG" = "Y"; then
  731. AC_CHECK_LIB(curses, tgetent, TERMLIB=curses, \
  732. AC_CHECK_LIB(ncurses, tgetent, TERMLIB=ncurses, \
  733. AC_CHECK_LIB(termcap, tgetent, TERMLIB=termcap, \
  734. AC_CHECK_LIB(tinfo, tgetent, TERMLIB=tinfo, \
  735. AC_MSG_ERROR(termcap support not found)))))
  736. AC_SUBST(TERMLIB)
  737. XE_APPEND(-l$TERMLIB, LIBS)
  738. fi
  739. AC_SEARCH_LIBS(inet_aton, resolv)
  740. dnl HP-UX atomic routines are in atomic library, not standard C library.
  741. dnl If we can't find atomic routines in vendor library, look for atomic_ops.
  742. AC_SEARCH_LIBS(atomic_inc, atomic,,
  743. AC_CHECK_LIB(atomic_ops, main))
  744. AC_CHECK_HEADERS(utime.h)
  745. dnl Check for libraries for static C++ runtime linking
  746. AC_CHECK_LIB(supc++, main, XE_APPEND(-lsupc++, STATIC_CXXSUPPORT_LIB))
  747. AC_CHECK_LIB(gcc_eh, main, XE_APPEND(-lgcc_eh, STATIC_CXXSUPPORT_LIB))
  748. AC_SUBST(STATIC_CXXSUPPORT_LIB)
  749. AC_LANG_PUSH(C++)
  750. dnl check for INFINITY in math.h
  751. AC_COMPILE_IFELSE(
  752. [AC_LANG_PROGRAM([[#include <math.h>]], [[double x = INFINITY;]])],
  753. AC_DEFINE(HAVE_INFINITY, 1, [Define this if INFINITY is defined in math.h]))
  754. dnl check for va_copy() in stdarg.h
  755. AC_COMPILE_IFELSE(
  756. [AC_LANG_PROGRAM([[#include <stdarg.h>
  757. void vafun(const char* fmt, ...) {va_list par, par2; va_start(par, fmt); va_copy(par2, par); va_end(par2); va_end(par);}]],
  758. [[return 0;]])],
  759. AC_DEFINE(HAVE_VA_COPY, 1, [Define this if va_copy() is defined in stdarg.h]))
  760. if test "$AR_OPT_CHECK" = "true"; then
  761. dnl if 64-bit mode, then archive tool, ar, needs -X64 option
  762. AC_COMPILE_IFELSE(
  763. [AC_LANG_PROGRAM(,[[int lp64 = __64BIT__; ]])],
  764. [AR_OPTIONS=-X64],)
  765. fi
  766. AC_LANG_POP(C++)
  767. dnl Check for functions
  768. AC_CHECK_FUNCS(gettimeofday)
  769. if test "$ac_cv_func_gettimeofday" = "yes"; then
  770. AC_MSG_CHECKING(if gettimeofday accepts second (timezone) argument)
  771. AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/time.h>]], [[struct timeval tp; gettimeofday(&tp, (struct timezone *)0);]])],[AC_DEFINE(GETTIMEOFDAY_RETURNS_TIMEZONE, 1,
  772. [Define this if gettimeofday accepts second (timezone) argument])
  773. AC_MSG_RESULT(yes)],[AC_MSG_RESULT(no)])
  774. AH_BOTTOM([#ifdef GETTIMEOFDAY_RETURNS_TIMEZONE
  775. #define GETTIMEOFDAY(x) gettimeofday((x), (struct timezone *)0)
  776. #else
  777. #define GETTIMEOFDAY(x) gettimeofday((x))
  778. #endif])
  779. fi
  780. AC_CHECK_FUNCS(time times)
  781. AC_CHECK_FUNCS(nanosleep)
  782. AC_SEARCH_LIBS(gethostname,nsl)
  783. AC_SEARCH_LIBS(gethostbyname,nsl)
  784. AC_SEARCH_LIBS(connect,socket)
  785. AC_CHECK_FUNCS(strcasecmp stricmp)
  786. AC_CHECK_FUNCS(strncasecmp strnicmp)
  787. AC_SEARCH_LIBS(dirname, gen)
  788. AC_CHECK_FUNCS(dirname)
  789. AC_CHECK_FUNCS(sigaction setitimer)
  790. AC_CHECK_FUNCS(snprintf vsnprintf)
  791. AC_CHECK_FUNCS(swab _swab)
  792. AC_FUNC_MMAP
  793. AC_FUNC_FORK
  794. AC_FUNC_SETPGRP
  795. AC_CHECK_FUNCS(setpgid)
  796. AC_FUNC_GETPGRP
  797. AC_CHECK_FUNCS(flock)
  798. AC_CHECK_FUNCS(dladdr)
  799. AC_CHECK_FUNCS(initgroups)
  800. AC_CHECK_FUNCS(getpagesize)
  801. AC_CHECK_FUNCS(pread pwrite)
  802. AC_CHECK_FUNCS(getcwd getwd)
  803. AC_CHECK_FUNCS(setmntent getmntent)
  804. if test "$ac_cv_func_getmntent" = "yes"; then
  805. AC_MSG_CHECKING(if getmntent needs second argument)
  806. AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <stdio.h>
  807. #include <sys/mnttab.h>]], [[FILE *f; struct mntent *m; getmntent(f, m);]])],[AC_DEFINE(GETMNTENT_TAKES_TWO_ARGUMENTS, 1,
  808. [Define this if getmntent needs second argument])
  809. AC_MSG_RESULT(yes)],[AC_MSG_RESULT(no)])
  810. fi
  811. AC_CHECK_FUNCS(setrlimit getrlimit)
  812. AC_CHECK_FUNCS(tcgetattr strdup)
  813. AC_CHECK_FUNCS(mkstemp)
  814. AC_CHECK_FUNCS(pthread_keycreate pthread_key_create)
  815. AC_CHECK_FUNCS(llrint)
  816. AC_CHECK_FUNCS(localtime_r)
  817. AC_CHECK_FUNCS(gmtime_r)
  818. AC_CHECK_FUNCS(ctime_r)
  819. AC_CHECK_FUNCS(fchmod)
  820. AC_CHECK_FUNCS(semtimedop)
  821. AC_CHECK_FUNCS(fegetenv)
  822. AC_CHECK_FUNCS(strerror_r)
  823. AC_CHECK_FUNCS(qsort_r)
  824. case $host in
  825. *-darwin*)
  826. ac_cv_func_fdatasync=no
  827. ;;
  828. *)
  829. AC_CHECK_FUNCS(fdatasync fsync)
  830. ;;
  831. esac
  832. AC_CHECK_FUNCS(poll)
  833. dnl AC_CHECK_FUNCS(AO_compare_and_swap_full)
  834. AC_COMPILE_IFELSE(
  835. [AC_LANG_PROGRAM([[#include <atomic_ops.h>]], [[AO_T x; AO_compare_and_swap_full(&x, 0, 0); return 0;]])],
  836. AC_DEFINE(HAVE_AO_COMPARE_AND_SWAP_FULL, 1, [Define this if AO_compare_and_swap_full() is defined in atomic_ops.h]))
  837. dnl Check for time function
  838. case $host in
  839. *-darwin*)
  840. ac_cv_func_clock_gettime=no
  841. ;;
  842. *)
  843. AC_SEARCH_LIBS(clock_gettime, rt)
  844. AC_CHECK_FUNCS(clock_gettime)
  845. ;;
  846. esac
  847. dnl Checks for pthread functions
  848. AC_CHECK_FUNCS(pthread_mutexattr_setprotocol)
  849. AC_CHECK_FUNCS(pthread_mutexattr_setrobust_np)
  850. AC_CHECK_FUNCS(pthread_mutex_consistent_np)
  851. AC_CHECK_FUNCS(pthread_rwlockattr_setkind_np)
  852. AC_CHECK_FUNCS(pthread_cancel)
  853. AC_CHECK_FUNCS(pthread_atfork)
  854. AC_CHECK_FUNCS(sigset)
  855. dnl Check for fallocate() system call
  856. AC_CHECK_FUNCS(fallocate)
  857. dnl Check for close_on_exec support
  858. AC_CHECK_FUNCS(accept4)
  859. dnl Semaphores
  860. if test "$ac_cv_header_semaphore_h" = "yes"; then
  861. AC_SEARCH_LIBS(sem_init, rt pthread)
  862. AC_CHECK_FUNCS(sem_timedwait)
  863. AC_CHECK_FUNCS(sem_init)
  864. if test "$ac_cv_func_sem_init" = "yes"; then
  865. AC_MSG_CHECKING(for working sem_init())
  866. AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <semaphore.h>
  867. main () {
  868. sem_t s;
  869. exit(sem_init(&s,0,0));
  870. }
  871. ]])],[AC_DEFINE(WORKING_SEM_INIT,1,[Define this if sem_init() works on the platform])
  872. AC_MSG_RESULT(yes)],[AC_MSG_RESULT(no)
  873. AC_SEARCH_LIBS(sem_open, rt pthread)],[])
  874. fi
  875. fi
  876. dnl Some OS place iconv() support in separate library
  877. if test "$ac_cv_header_iconv_h" = "yes"; then
  878. AC_SEARCH_LIBS(iconv_open, iconv)
  879. AC_SEARCH_LIBS(libiconv_open, iconv)
  880. fi
  881. dnl HPUX has a bug in .h files. To detect it we need C++ here.
  882. AC_LANG_PUSH(C++)
  883. AC_LINK_IFELSE(
  884. [AC_LANG_PROGRAM([[#include <fcntl.h>]], [[posix_fadvise(0, 0, 0, 0);]])],
  885. AC_DEFINE(HAVE_POSIX_FADVISE, 1, [Define this if posix_fadvise() is present on the platform]))
  886. AC_LANG_POP(C++)
  887. dnl Checks for typedefs, structures, and compiler characteristics.
  888. AC_C_BIGENDIAN
  889. AC_C_VOLATILE
  890. AC_TYPE_OFF_T
  891. AC_TYPE_SIZE_T
  892. AC_TYPE_UID_T
  893. AC_SYS_LARGEFILE
  894. if test "$ac_cv_sys_file_offset_bits" = "no"; then
  895. AC_MSG_CHECKING(for native large file support)
  896. AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <unistd.h>
  897. main () {
  898. exit(!(sizeof(off_t) == 8));
  899. }]])],[ac_cv_sys_file_offset_bits=64; AC_DEFINE(_FILE_OFFSET_BITS,64)
  900. AC_MSG_RESULT(yes)],[AC_MSG_RESULT(no)],[])
  901. fi
  902. AC_CHECK_SIZEOF(void *)
  903. VOID_PTR_SIZE=$ac_cv_sizeof_void_p
  904. AC_SUBST(VOID_PTR_SIZE)
  905. AC_CHECK_SIZEOF(long)
  906. AC_CHECK_SIZEOF(size_t)
  907. AC_CHECK_TYPES([socklen_t],,,[#include <sys/socket.h>])
  908. AH_BOTTOM([#ifndef HAVE_SOCKLEN_T
  909. typedef int socklen_t;
  910. #endif])
  911. AC_CHECK_TYPES([semun])
  912. if test "$ac_cv_type_semun" = "no"; then
  913. AC_MSG_CHECKING(if sem.h defines semun)
  914. AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>
  915. #include <sys/ipc.h>
  916. #include <sys/sem.h>]], [[union semun s;]])],[ac_cv_type_semun=yes; AC_DEFINE(HAVE_SEMUN) AC_MSG_RESULT(yes)],[AC_MSG_RESULT(no)])
  917. fi
  918. AC_CHECK_TYPES([struct XDR::xdr_ops],,,[#include <rpc/rpc.h>
  919. #include <rpc/xdr.h>])
  920. AC_CHECK_TYPES([struct xdr_ops],,,[#include <rpc/rpc.h>
  921. #include <rpc/xdr.h>])
  922. dnl AC_STRUCT_DIRENT_D_TYPE
  923. AC_CHECK_MEMBER([struct dirent.d_type],
  924. AC_DEFINE(HAVE_STRUCT_DIRENT_D_TYPE,1,[Define this if struct dirent has d_type]),,
  925. [#include <dirent.h>])
  926. dnl EKU: try to determine the alignment of long and double
  927. dnl replaces FB_ALIGNMENT and FB_DOUBLE_ALIGN in src/jrd/common.h
  928. AC_MSG_CHECKING(alignment of long)
  929. AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <semaphore.h>
  930. main () {
  931. struct s {
  932. char a;
  933. union { long long x; sem_t y; } b;
  934. };
  935. exit((int)&((struct s*)0)->b);
  936. }]])],[ac_cv_c_alignment=$ac_status],[ac_cv_c_alignment=$ac_status],[])
  937. AC_MSG_RESULT($ac_cv_c_alignment)
  938. AC_DEFINE_UNQUOTED(FB_ALIGNMENT, $ac_cv_c_alignment, [Alignment of long])
  939. AC_MSG_CHECKING(alignment of double)
  940. AC_RUN_IFELSE([AC_LANG_SOURCE([[main () {
  941. struct s {
  942. char a;
  943. double b;
  944. };
  945. exit((int)&((struct s*)0)->b);
  946. }]])],[ac_cv_c_double_align=$ac_status],[ac_cv_c_double_align=$ac_status],[])
  947. AC_MSG_RESULT($ac_cv_c_double_align)
  948. AC_DEFINE_UNQUOTED(FB_DOUBLE_ALIGN, $ac_cv_c_double_align, [Alignment of double])
  949. dnl EKU: Add any platform specific tests below
  950. case "$PLATFORM" in
  951. LINUX)
  952. dnl MOD: Check for /proc/self/exe mainly used on linux systems
  953. dnl this is used to determine path to executable file.
  954. AC_CHECK_FILES(/proc/self/exe)
  955. ;;
  956. FREEBSD|GENTOOFREEBSD)
  957. dnl the AC_CHECK_TYPES for socklen_t doesn't include sys/socket.h
  958. dnl so test for socklen_t with sys/socket.h included
  959. AC_MSG_CHECKING(if sys/socket.h defines socklen_t)
  960. AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>
  961. #include <sys/socket.h>]], [[socklen_t s;]])],[AC_DEFINE(HAVE_SOCKLEN_T) AC_MSG_RESULT(yes)],[AC_MSG_RESULT(no)])
  962. ;;
  963. SOLARIS|solx86)
  964. if test "$EDITLINE_FLG" = "Y"; then
  965. AC_CHECK_LIB(termcap, main, XE_APPEND(-ltermcap,EDITLINE_A))
  966. fi
  967. AC_CHECK_TYPES([caddr_t])
  968. AC_ARG_WITH(sfio,
  969. AS_HELP_STRING([--with-sfio=PATH],[use sfio (replacement stdio on Solaris) (default=no)]),
  970. [ac_cv_use_sfio=$withval],[ac_cv_use_sfio=no])
  971. if test "$ac_cv_use_sfio" = "no"; then
  972. SFIO_DIR=""
  973. SFIO_FLAGS=""
  974. SFIO_LDFLAGS=""
  975. else
  976. AC_CHECK_LIB(sfio, main)
  977. dnl Kkuznetsov: using sfio-mt looks like double protecting of FILE*
  978. dnl and I avoid to use vthread based on posix threading
  979. #AC_CHECK_LIB(sfio-mt, main,,
  980. #AC_MSG_ERROR([sfio library not found]),-lvthread)
  981. #XE_PREPEND(-lvthread,LIBS)
  982. SFIO_DIR="$ac_cv_use_sfio"
  983. SFIO_FLAGS="-DSFIO -I$ac_cv_use_sfio/include"
  984. SFIO_LDFLAGS="-L$ac_cv_use_sfio/lib"
  985. SFIO_EXAMPLES="Y"
  986. fi
  987. ;;
  988. win32)
  989. FB_PIPE_NAME=interbas
  990. AC_ARG_WITH(pipe-name,
  991. [ --with-pipe-name specify wnet pipe name (default=interbas)],
  992. [FB_PIPE_NAME=${withval}])
  993. AH_VERBATIM(FB_PIPE_NAME,
  994. [/* Wnet pipe name */
  995. #define FB_PIPE_NAME "interbas"])
  996. AC_DEFINE_UNQUOTED(FB_PIPE_NAME,"$FB_PIPE_NAME")
  997. AC_SUBST(FB_PIPE_NAME)
  998. XE_PREPEND( -mthreads -lmpr -lversion -lws2_32 -lole32,LIBS)
  999. ;;
  1000. *)
  1001. ;;
  1002. esac
  1003. dnl Detect support for ISO syntax for thread-locals
  1004. XE_SAVE_ENV()
  1005. CXXFLAGS=$TLS_OPTIONS
  1006. AC_COMPILE_IFELSE(
  1007. [AC_LANG_PROGRAM([[__thread int a = 42;]],[[a = a + 1;]])],
  1008. AC_DEFINE(HAVE___THREAD, 1, [Define it if compiler supports ISO syntax for thread-local storage]),)
  1009. XE_RESTORE_ENV()
  1010. AC_SUBST(TLS_OPTIONS)
  1011. AC_SUBST(ATOMIC_OPTIONS)
  1012. AC_SUBST(CAS_OPTIONS)
  1013. dnl ##################### DO NOT ADD ANY TESTS BELOW ###########################
  1014. AC_SUBST(SFIO_DIR)
  1015. AC_SUBST(SFIO_FLAGS)
  1016. AC_SUBST(SFIO_LDFLAGS)
  1017. AC_SUBST(SFIO_EXAMPLES)
  1018. dnl The following file defines the version number strings. Specially for install/uninstall routines
  1019. . ./src/misc/writeBuildNum.sh
  1020. AC_SUBST(FIREBIRD_VERSION)
  1021. AC_SUBST(FIREBIRD_PACKAGE_VERSION)
  1022. AC_SUBST(FB_BUILD_NUM, $BuildNum)
  1023. BUILD_ROOT_DIR=`pwd`
  1024. SRC_ROOT=$BUILD_ROOT_DIR/src
  1025. GEN_ROOT=$BUILD_ROOT_DIR/gen
  1026. NEW_FIREBIRD_DIR=$GEN_ROOT/firebird
  1027. AC_SUBST(BUILD_ROOT_DIR)
  1028. AC_SUBST(NEW_FIREBIRD_DIR)
  1029. AC_SUBST(EXPORT_SYMBOLS_STYLE)
  1030. AC_DEFINE_UNQUOTED(FB_PREFIX, $(if test "x$prefix" = "xNONE" ; then echo \"$ac_default_prefix\"; else echo \"$prefix\"; fi), [Installation path prefix])
  1031. FB_TARGETS="Debug Release"
  1032. test "x$CROSS" = "x" || FB_TARGETS="$FB_TARGETS Native"
  1033. AC_CONFIG_COMMANDS(,,[
  1034. FB_TARGETS="$FB_TARGETS"
  1035. for fb_tgt in \$FB_TARGETS; do
  1036. echo "Creating \$fb_tgt directories"
  1037. dnl ### GEN ### directories for databases and misc
  1038. mkdir -p gen/\$fb_tgt/examples
  1039. mkdir -p gen/\$fb_tgt/refDatabases
  1040. dnl # output
  1041. mkdir -p gen/\$fb_tgt/include
  1042. mkdir -p gen/\$fb_tgt/intl
  1043. mkdir -p gen/\$fb_tgt/firebird/UDF
  1044. mkdir -p gen/\$fb_tgt/firebird/bin
  1045. mkdir -p gen/\$fb_tgt/firebird/plugins
  1046. mkdir -p gen/\$fb_tgt/firebird/examples/api
  1047. mkdir -p gen/\$fb_tgt/firebird/examples/dbcrypt
  1048. mkdir -p gen/\$fb_tgt/firebird/examples/empbuild
  1049. mkdir -p gen/\$fb_tgt/firebird/examples/include
  1050. mkdir -p gen/\$fb_tgt/firebird/examples/interfaces
  1051. mkdir -p gen/\$fb_tgt/firebird/examples/package
  1052. mkdir -p gen/\$fb_tgt/firebird/examples/stat
  1053. mkdir -p gen/\$fb_tgt/firebird/examples/udf
  1054. mkdir -p gen/\$fb_tgt/firebird/examples/udr
  1055. mkdir -p gen/\$fb_tgt/firebird/lib
  1056. mkdir -p gen/\$fb_tgt/firebird/misc
  1057. mkdir -p gen/\$fb_tgt/firebird/help
  1058. mkdir -p gen/\$fb_tgt/firebird/plugins/udr
  1059. dnl ### TEMP ### directories for generated .cpp, .o and .d by module name
  1060. for src_dir in `cd src; ls -R -1 * | grep : | tr -d : | tr "\n" " "; cd ..`; do
  1061. mkdir -p temp/\$fb_tgt/\$src_dir
  1062. done
  1063. for src_dir in `ls -R -1 examples | grep : | tr -d : | tr "\n" " "`; do
  1064. mkdir -p temp/\$fb_tgt/\$src_dir
  1065. done
  1066. src/misc/writeBuildNum.sh createMakeVersion gen/Make.Version
  1067. dnl # sql files for UDF declarations
  1068. for sql_file in ib_udf.sql fbudf/fbudf.sql ib_udf2.sql; do
  1069. cp src/extlib/\$sql_file gen/\$fb_tgt/firebird/UDF
  1070. done
  1071. done
  1072. dnl # rebuild version header if needed
  1073. ./src/misc/writeBuildNum.sh rebuildHeader
  1074. ])
  1075. MAKE_SRC_DIR=builds/posix
  1076. dnl common files for all posix hosts
  1077. dnl TODO: fix "arch-specific/linux/" paths for common posix scripts with SVN
  1078. for fb_tgt in $FB_TARGETS; do
  1079. AC_CONFIG_FILES([
  1080. gen/$fb_tgt/firebird/firebird.conf:builds/install/misc/firebird.conf.in
  1081. gen/$fb_tgt/firebird/databases.conf:builds/install/misc/databases.conf.in
  1082. gen/$fb_tgt/firebird/fbtrace.conf:src/utilities/ntrace/fbtrace.conf
  1083. gen/$fb_tgt/firebird/intl/fbintl.conf:builds/install/misc/fbintl.conf
  1084. gen/$fb_tgt/firebird/plugins.conf:builds/install/misc/plugins.conf
  1085. ])
  1086. done
  1087. if test "x$CROSS" != "x"; then
  1088. AC_CONFIG_FILES([gen/make.crossPlatform:builds/posix/make.$CROSS])
  1089. fi
  1090. AC_CONFIG_FILES([
  1091. gen/Release/firebird/bin/fb_config:builds/install/posix-common/fb_config.in
  1092. gen/Release/firebird/bin/posixLibrary.sh:builds/install/posix-common/posixLibrary.sh.in
  1093. gen/Release/firebird/bin/install.sh:builds/install/posix-common/install.sh.in
  1094. gen/Release/firebird/bin/FirebirdUninstall.sh:builds/install/posix-common/FirebirdUninstall.sh.in
  1095. gen/Release/firebird/bin/changeServerMode.sh:builds/install/posix-common/changeServerMode.sh.in
  1096. gen/Release/firebird/bin/registerDatabase.sh:builds/install/posix-common/registerDatabase.sh.in
  1097. gen/vers.sh:builds/posix/vers.sh.in
  1098. ])
  1099. dnl: Platform Specific Files
  1100. case "$PLATFORM" in
  1101. LINUX|GENTOOFREEBSD)
  1102. AC_CONFIG_COMMANDS(,,[
  1103. mkdir -p gen/install/misc])
  1104. INSTALL_SRC_DIR=builds/install/arch-specific/linux
  1105. AC_CONFIG_FILES([
  1106. gen/install/makeInstallImage.sh:builds/install/arch-specific/linux/makeInstallImage.sh.in
  1107. gen/install/misc/firebird.xinetd:builds/install/arch-specific/linux/firebird.xinetd.in
  1108. gen/install/misc/firebird.init.d.generic:builds/install/arch-specific/linux/firebird.init.d.generic.in
  1109. gen/install/misc/firebird.init.d.mandrake:builds/install/arch-specific/linux/firebird.init.d.mandrake.in
  1110. gen/install/misc/firebird.init.d.suse:builds/install/arch-specific/linux/firebird.init.d.suse.in
  1111. gen/install/misc/firebird.init.d.debian:builds/install/arch-specific/linux/firebird.init.d.debian.in
  1112. gen/install/misc/firebird.init.d.gentoo:builds/install/arch-specific/linux/firebird.init.d.gentoo.in
  1113. gen/install/misc/firebird.init.d.slackware:builds/install/arch-specific/linux/firebird.init.d.slackware.in
  1114. gen/install/misc/rc.config.firebird:builds/install/arch-specific/linux/rc.config.firebird.in
  1115. gen/Release/firebird/bin/linuxLibrary.sh:builds/install/arch-specific/linux/linuxLibrary.sh.in
  1116. gen/install/misc/[email protected]:builds/install/arch-specific/linux/firebird-classic.service.in
  1117. gen/install/misc/firebird-classic.socket:builds/install/arch-specific/linux/firebird-classic.socket.in
  1118. gen/install/misc/firebird-superserver.service:builds/install/arch-specific/linux/firebird-superserver.service.in
  1119. ],
  1120. [chmod a+x gen/install/*sh 2>/dev/null])
  1121. ;;
  1122. HPUX)
  1123. HP_INSTALL_SRC_DIR=builds/install/arch-specific/hpux
  1124. AC_CONFIG_FILES([gen/install/makeinstallImage.sh:${HP_INSTALL_SRC_DIR}/makeinstallImage.sh.in
  1125. gen/firebirdCS.psf:${HP_INSTALL_SRC_DIR}/firebirdCS.psf.in
  1126. gen/firebird/bin/preInstall.sh:${HP_INSTALL_SRC_DIR}/preInstall.sh.in
  1127. gen/firebird/bin/tarInstall.sh:${HP_INSTALL_SRC_DIR}/tarInstall.sh.in
  1128. gen/firebird/bin/tarmainInstall.sh:${HP_INSTALL_SRC_DIR}/tarmainInstall.sh.in
  1129. gen/firebird/bin/tarUninstall.sh:${HP_INSTALL_SRC_DIR}/tarUninstall.sh.in
  1130. gen/firebird/bin/tarmainUninstall.sh:${HP_INSTALL_SRC_DIR}/tarmainUninstall.sh.in
  1131. gen/firebird/bin/postInstall.sh:${HP_INSTALL_SRC_DIR}/postInstall.sh.in
  1132. gen/firebird/bin/preUninstall.sh:${HP_INSTALL_SRC_DIR}/preUninstall.sh.in
  1133. gen/firebird/bin/postUninstall.sh:${HP_INSTALL_SRC_DIR}/postUninstall.sh.in
  1134. gen/install/misc/firebird.init.d.hpux:builds/install/arch-specific/hpux/misc/firebird.init.d.hpux.in
  1135. gen/install/misc/rc.config.firebird.hpux:builds/install/arch-specific/hpux/misc/rc.config.firebird.hpux.in
  1136. gen/Release/firebird/bin/hpuxLibrary.sh:builds/install/arch-specific/hpux/misc/hpuxLibrary.sh.in],
  1137. [chmod a+x gen/install/*.sh 2>/dev/null])
  1138. ;;
  1139. AIX)
  1140. AIX_INSTALL_SRC_DIR=builds/install/arch-specific/aix
  1141. AC_CONFIG_FILES([gen/install/makeInstallImage.aix.sh:${AIX_INSTALL_SRC_DIR}/makeInstallImage.sh.in
  1142. gen/firebird/bin/preinstall.aix.sh:builds/install/arch-specific/aix/misc/preinstall.sh.in
  1143. gen/firebird/bin/tarinstall.aix.sh:builds/install/arch-specific/aix/misc/tarinstall.sh.in
  1144. gen/firebird/bin/tarmaininstall.aix.sh:builds/install/arch-specific/aix/misc/tarmaininstall.sh.in
  1145. gen/firebird/bin/taruninstall.aix.sh:builds/install/arch-specific/aix/misc/taruninstall.sh.in
  1146. gen/firebird/bin/tarmainuninstall.aix.sh:builds/install/arch-specific/aix/misc/tarmainuninstall.sh.in
  1147. gen/firebird/bin/postinstall.aix.sh:builds/install/arch-specific/aix/misc/postinstall.sh.in
  1148. gen/firebird/bin/preuninstall.aix.sh:builds/install/arch-specific/aix/misc/preuninstall.sh.in
  1149. gen/firebird/bin/postuninstall.aix.sh:builds/install/arch-specific/aix/misc/postuninstall.sh.in
  1150. gen/install/misc/firebird.init.d.aix:builds/install/arch-specific/aix/misc/firebird.init.d.aix.in
  1151. gen/install/misc/rc.config.firebird.aix:builds/install/arch-specific/aix/misc/rc.config.firebird.aix.in
  1152. gen/firebird/bin/changedbapassword.aix.sh:builds/install/misc/changeDBAPassword.sh.in
  1153. gen/firebird/bin/changemulticonnectmode.aix.sh:builds/install/misc/changeServerMode.sh.in
  1154. gen/firebird/bin/changegdslibrarycompatiblelink.aix.sh:builds/install/misc/changeGdsLibraryCompatibleLink.sh.in
  1155. gen/firebird/bin/createaliasdb.aix.sh:builds/install/misc/createAliasDB.sh.in
  1156. gen/firebird/bin/aixLibrary.sh:builds/install/arch-specific/aix/misc/aixLibrary.sh.in],
  1157. [chmod a+x gen/install/*.sh 2>/dev/null])
  1158. ;;
  1159. FREEBSD)
  1160. AC_CONFIG_FILES([gen/install/install.sh:builds/install/arch-specific/freebsd/install.sh.in
  1161. gen/firebird/bin/freebsdLibrary.sh:builds/install/arch-specific/freebsd/freebsdLibrary.sh.in]
  1162. ,[chmod a+x gen/install/*.sh gen/firebird/bin/*sh 2>/dev/null])
  1163. ;;
  1164. NETBSD)
  1165. AC_CONFIG_FILES([gen/install/install.netbsd.sh:builds/install/arch-specific/netbsd/install.sh.in]
  1166. ,[chmod a+x gen/install/install.netbsd.sh 2>/dev/null])
  1167. ;;
  1168. solx86|SOLARIS)
  1169. AC_CONFIG_FILES([gen/install/Pkginfo:builds/install/arch-specific/solaris/pkginfo.in
  1170. gen/install/prototype.main:builds/install/arch-specific/solaris/prototype.in
  1171. gen/install/Preinstall:builds/install/arch-specific/solaris/preinstall.in
  1172. gen/install/Postinstall:builds/install/arch-specific/solaris/postinstall.in
  1173. gen/install/Postremove:builds/install/arch-specific/solaris/postremove.in
  1174. gen/install/prototypelg:builds/install/arch-specific/solaris/libgcc/prototypelg.in
  1175. gen/install/pkginfolg:builds/install/arch-specific/solaris/libgcc/pkginfolg.in
  1176. ],[chmod a+x gen/install/Pre* gen/install/Post* 2>/dev/null])
  1177. ;;
  1178. DARWIN)
  1179. ;;
  1180. esac
  1181. if test -f ${MAKE_SRC_DIR}/postfix.${MAKEFILE_POSTFIX};then
  1182. POSTFIX_FILE=gen/make.platform.postfix:${MAKE_SRC_DIR}/postfix.${MAKEFILE_POSTFIX}
  1183. POSTFIX_INCLUDE='include $(ROOT)/gen/make.platform.postfix'
  1184. else
  1185. POSTFIX_FILE=
  1186. POSTFIX_INCLUDE=
  1187. fi
  1188. AC_SUBST(POSTFIX_INCLUDE)
  1189. UDF_COMMENT="#"
  1190. if test -n "${with_fbudf}"; then
  1191. UDF_COMMENT="#
  1192. # # For this build Restrict UDF means Restrict ${with_fbudf}
  1193. #"
  1194. fi
  1195. AC_SUBST(UDF_COMMENT)
  1196. AC_CONFIG_FILES(
  1197. gen/make.rules:${MAKE_SRC_DIR}/make.rules
  1198. gen/make.defaults:${MAKE_SRC_DIR}/make.defaults
  1199. gen/make.platform:${MAKE_SRC_DIR}/prefix.${MAKEFILE_PREFIX}
  1200. gen/darwin.defaults:${MAKE_SRC_DIR}/darwin.defaults
  1201. ${POSTFIX_FILE}
  1202. gen/make.shared.variables:${MAKE_SRC_DIR}/make.shared.variables
  1203. gen/make.shared.targets:${MAKE_SRC_DIR}/make.shared.targets
  1204. gen/Makefile:${MAKE_SRC_DIR}/Makefile.in
  1205. gen/examples/Makefile.examples:${MAKE_SRC_DIR}/Makefile.in.examples
  1206. gen/Makefile.plugins_examples:${MAKE_SRC_DIR}/Makefile.in.plugins_examples
  1207. gen/Makefile.install:builds/install/arch-specific/${INSTALL_PREFIX}/Makefile.in
  1208. Makefile:Makefile.in
  1209. )
  1210. if test "$STD_EDITLINE" = "false"; then
  1211. AC_CONFIG_FILES(gen/Makefile.extern.editline:${MAKE_SRC_DIR}/Makefile.in.extern.editline)
  1212. fi
  1213. case "$PLATFORM" in
  1214. SOLARIS | solx86 )
  1215. AC_CONFIG_FILES(
  1216. gen/make.platform.solaris.examples:${MAKE_SRC_DIR}/make.platform.solaris.examples
  1217. )
  1218. ;;
  1219. esac
  1220. AC_OUTPUT
  1221. dnl Print out the build configuration (the most interesting thing)
  1222. echo
  1223. echo
  1224. echo The Firebird3 package has been configured with the following options:
  1225. echo
  1226. case $DEVEL_FLG in
  1227. Y) echo " Developer mode : enabled";;
  1228. N) echo " Developer mode : disabled";;
  1229. esac
  1230. if test $ac_cv_sizeof_void_p -lt 8; then
  1231. case $ac_cv_sys_file_offset_bits in
  1232. no) echo "64 bit I/O for 32-bit platforms : disabled";;
  1233. 64) echo "64 bit I/O for 32-bit platforms : enabled";;
  1234. esac
  1235. fi
  1236. case $RAW_DEVICES_FLG in
  1237. Y) echo " Raw devices : enabled";;
  1238. N) echo " Raw devices : disabled";;
  1239. esac
  1240. echo " Service name : $FB_SERVICE_NAME"
  1241. echo " Service port : $FB_SERVICE_PORT"
  1242. case "$PLATFORM" in
  1243. win32) echo " Pipe name : $FB_PIPE_NAME";;
  1244. esac
  1245. echo " GPRE modules : c_cxx.cpp$GPRE_LANGUAGE_MODULES"
  1246. echo
  1247. echo " Install Dir : $prefix"
  1248. echo
  1249. dnl EOF