configure.ac 49 KB

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