configure.ac 45 KB

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